Cara Menghitung Usia secara Detil Mulai dari Tahun, Sisa Bulan dan Sisa Hari di VB6

Cara Menghitung Usia secara Detil Mulai dari Tahun, Sisa Bulan dan Sisa Hari di VB6 - Pada pertemuan kali ini Saya akan memberikan tip menghitung usia dengan menggunakan rumus di VB6 sehingga menghasilkan usia yang detil misalnya 36 tahun 9 bulan 9 hari.

Setiap manusia pasti mempunyai tanggal lahir, tapi tidak semua manusia merayakan kelahirannya dengan acara-acara tertentu.Untuk menghitung usia tentu menggunakan perhitungan mulai dari yang sederhana sampai menggunakan rumus. Untuk yang menggunakan rumus bisa di hitung dengan menggunakan komputer dengan program tertentu sehingga menghasilkan jumlah usia secara detil dan lengkap.Berbeda menghitung usia dengan secara sederhana hanya menggunakan pengurangan,misal 02 mei 2016 dikurang 02 juni 1980 maka hasilnya bisa langsung kita tebak yaitu 36 tahun padahal hasilnya bisa kurang dan bisa lebih (tidak detil).

Dalam artikel ini tip dan trik visual basic akan membuat sebuah fungsi atau function yang dapat menghitung usia secara detil dan akurat dengan bantuan sebuah fungsi yang bernama Date. Dengan fungsi ini kitapun bisa menghitung secara detil mungking usia Anda mulai dari jumlah jam, menit dan detik,tapi dalam tip ini tip dan trik visual basic mengabaikan fungsi jam tersebut.Misal hasil usianya 35 tahun 22 bulan 2 hari 1 jam 5 menit 22 detik,ini kita bisa buat programnya. Bagi Anda yang penasaran bagaimana cara membuatnya kita ikuti langkah-langkag berikut dibawah ini.


Berikut adalah jenis-jenis interval pada fungsi Date/Time :

- d                        Day (Hari)
- m                        Month (Bulan)
- yyyy                   Year (Tahun)

- h                         Hour (Jam)
- n                         Minute (Menit)
- s                         Second (Detik)
- ww                     Week (Minggu)
- q                         Quater (4 bulan)

Cara Menghitung Umur dengan VB6 secara Detil :

1. Buka Form VB6 Anda
2. Tanamkan beberapa Label pada Form dan 2 TextBox dan 1 CommandButton
3. Desainlah Form seperti gambar dibawah :

 
Catatan : Desain Form harus sama persis dengan diatas agar dapat berjalan

4. Ketik kode dibawah di jendela kode :



Option Explicit
'fungsi selisihHariJam
Function SelisihHariJam(ByVal awal As Date, ByVal akhir As Date) As String
Dim detik, hari, jam As Long
Dim JamLengkap As String

If awal > akhir Then
MsgBox "Tanggal dan Waktu Awal harus lebih kecil dari waku akhir", 32, "Peringatan"
Exit Function
End If
detik = DateDiff("s", awal, akhir)
jam = detik \ 3600
If jam > 23 Then
hari = jam \ 24
JamLengkap = Format((akhir - awal), "hh:mm:ss")
Else
hari = 0
JamLengkap = Format((akhir - awal), "hh:mm:ss")
End If
If hari = 0 Then
SelisihHariJam = JamLengkap
Else
SelisihHariJam = hari & " Hari, " & JamLengkap
End If
Exit Function
End Function

'fungsicalculateAge
Function calculateAge(dateOfBird As Date, fromData As Date) As String
Dim dateNow As Date
Dim tgl As Date
Dim tgl1 As Date
Dim years As Long
Dim months As Long
Dim days As Long
Dim yearWord As String
Dim monthWord As String
Dim dayWord As String
dateNow = fromData
tgl = dateOfBird
years = DateDiff("yyyy", tgl, dateNow)
If Month(tgl) > Month(dateNow) Then
years = years - 1
ElseIf Month(tgl) = Month(dateNow) And Day(tgl) > Day(dateNow) Then
years = years - 1
ElseIf Month(tgl) = Month(dateNow) And Day(tgl) = Day(dateNow) Then
GoTo finally
End If
tgl = DateAdd("yyyy", years, tgl)
months = DateDiff("m", tgl, dateNow)
If Day(tgl) > Day(dateNow) Then
months = months - 1
ElseIf Month(tgl) = Month(dateNow) And Day(tgl) >= Day(dateNow) Then
months = months - 1
End If
tgl = DateAdd("m", months, tgl)
days = DateDiff("d", tgl, dateNow)
finally:
yearWord = IIf(years = 0, "", years & " Tahun ")
monthWord = IIf(months = 0, "", months & " Bulan ")
dayWord = IIf(days = 0, "", days & " Hari ")
calculateAge = yearWord & monthWord & dayWord
calculateAge = Trim(calculateAge)
End Function

Private Sub Command1_Click()
If Text1.Text = "" Then
Else
'fungsi cari hari
Dim kodehari As Byte
Dim nmhari As String
kodehari = Weekday(Text1.Text)
Select Case kodehari
Case 1: nmhari = "Minggu"
Case 2: nmhari = "Senin"
Case 3: nmhari = "Selasa"
Case 4: nmhari = "Rabu"
Case 5: nmhari = "Kamis"
Case 6: nmhari = "Jum'at"
Case 7: nmhari = "Sabtu"
End Select

'fungsi calculateAge
Dim sisajam, sisadetik, sisamenit, hasil As String

sisajam = Mid((SelisihHariJam(CDate(Text1.Text), CDate(Text2.Text))), 13, 2)
sisamenit = Mid((SelisihHariJam(CDate(Text1.Text), CDate(Text2.Text))), 16, 2)
sisadetik = Mid((SelisihHariJam(CDate(Text1.Text), CDate(Text2.Text))), 19, 2)
hasil = calculateAge(Text1.Text, Text2.Text)
Label5.Caption = "Usia Anda Sekarang " + hasil + " " + sisajam + " Jam ," + " " + sisamenit + " Menit, " + " " + sisadetik + " Detik, " + " Anda Lahir Hari : " + nmhari + " "

'fungsi SelisiHhariJam
On Error GoTo pesan
Label3.Caption = "Atau " + (SelisihHariJam(CDate(Text1.Text), CDate(Text2.Text)))
Exit Sub
pesan:
MsgBox "Tanggal atau Formatnya salah", vbCritical, "Error Tanggal"
End If
End Sub

Private Sub Form_Activate()
Text1.SetFocus
End Sub

Private Sub Form_Load()
Text1.Text = "5/2/1980 07:18:00"
Text2.Text = Now
End Sub




4. Simpan  Form Anda dan jalankan program.

Setelah program Anda berhasil di jalankan tanpa error coba hitung usia Anda.

Catatan:
Format pengisian tanggal : bulan/tanggal/tahun

Demikian tip Cara Menghitung Usia secara Detil Mulai dari Tahun, Sisa Bulan dan Sisa Hari di VB6. Selamat mencoba semoga berhasil.

3 comments:

Unknown said...

pada bagian Day (tgl) gagal karena ada warning tidak dapat digunakan pada expretion

tutorial said...

Saya sudah perbaiki silahkan di coba lagi

NGANGSU KAWRUH said...

Luar biasa simpel tetapi manjur. Sekali nyoba langsir berhasil dengan mulus. Sekali lagi luar biasa. Seperti ini yang dicari - cari. Sukses untuk anda.