Fungsi untuk menghitung Umur
Kemarin sempat bingung untuk menentukan umur dari semua semua data customer, cukup pusing untuk bermain-main dengan kondisi-kondisi tanggal. Tapi akhirnya ternyata mungkin karena kebodohan saya tidak sadar ternyata divisual basic telah disediakan sebuah class dari object Date.DateDiff
Ok, kita kembali kepokok masalah, bagaimana cara kita mencari jumlah tahun, bulan dan hari dari tanggal lahir seseorang. Untuk studi kasus pertama kita akan melihat code yang menghitung umur ( tahun, bulan dan hari) dibawah ini tanpa menggunakan perintah DateDiff
Public Function ExactAge(BirthDate As Variant) As String
Dim yer As Integer, mon As Integer, d As Integer
Dim dt As Date
Dim sAns As String
If Not IsDate(BirthDate) Then Exit Function
dt = CDate(BirthDate)
If dt > Now Then Exit Function
yer = Year(dt)
mon = Month(dt)
d = Day(dt)
yer = Year(Date) – yer
mon = Month(Date) – mon
d = Day(Date) – d
If Sgn(d) = -1 Then
d = 30 – Abs(d)
mon = mon – 1
End If
If Sgn(mon) = -1 Then
mon = 12 – Abs(mon)
yer = yer – 1
End If
sAns = yer & ” year(s) ” & mon & ” month(s) ” & d _
& ” day(s) old.”
ExactAge = sAns
End Function
Kode diatas bisa mencari jumlah tahun, bulan dan hari dari tanggal lahir customers, Yang jadi pertanyaan mana yang lebih praktis kode diatas atau kode dibawah ini yang menggunakan peritah DateDiff, Tapi sebelumnya mari kita perhatikan konsep-konsep dari DateDiff berikut ini :
DateDiff Function (Visual Basic)
Returns a Long value specifying the number of time intervals between two Date values.
Parameters
Interval
Required. DateInterval enumeration value or String expression representing the time interval you want to use as the unit of difference between Date1 and Date2.
Date1
Required. Date. The first date/time value you want to use in the calculation.
Date2
Required. Date. The second date/time value you want to use in the calculation.
DayOfWeek
Optional. A value chosen from the FirstDayOfWeek enumeration that specifies the first day of the week. If not specified, FirstDayOfWeek.Sunday is used.
WeekOfYear
Optional. A value chosen from the FirstWeekOfYear enumeration that specifies the first week of the year. If not specified, FirstWeekOfYear.Jan1 is used.
| Enumeration value | String value | Unit of time difference |
|---|---|---|
| DateInterval.Day | “d” | Day |
| DateInterval.DayOfYear | “y” | Day |
| DateInterval.Hour | “h” | Hour |
| DateInterval.Minute | “n” | Minute |
| DateInterval.Month | “m” | Month |
| DateInterval.Quarter | “q” | Quarter |
| DateInterval.Second | “s” | Second |
| DateInterval.Weekday | “w” | Week |
| DateInterval.WeekOfYear | “ww” | Calendar week |
| DateInterval.Year | “yyyy” | Year |
Aturan penulisan seperti contoh kode dibawah ini
' The following statements set datTim1 to a Thursday ' and datTim2 to the following Tuesday. Dim datTim1 As Date = #1/4/2001# Dim datTim2 As Date = #1/9/2001# ' Assume Sunday is specified as first day of the week. Dim wD As Long = DateDiff(DateInterval.Weekday, datTim1, datTim2) Dim wY As Long = DateDiff(DateInterval.WeekOfYear, datTim1, datTim2)
Atau pada sample seperti dibawah ini
Dim firstDate, msg As String Dim secondDate As Date firstDate = InputBox("Enter a date") secondDate = CDate(firstDate) msg = "Days from today: " & DateDiff(DateInterval.Day, Now, secondDa MsgBox(msg)
Dari contoh-contoh diatas kita aka mencoba membuat sebuah fungsi untuk menghitung umur menggunakan fungsi DateDiff. Kodenya seperti dibawah ini
Public Function SelisihTanggal(ByVal TanggalAwal As Date, _
ByVal TanggalAkhir As Date) As String
‘Untuk menghitung selisih tahun dan bulan dari
‘dua buah tanggal
Dim Tahun As Integer, Bulan As Integer
Dim SelisihBulan As Integer
Dim JumlahHari As Integer
Dim Hari As Integer
On Error GoTo Pesan
JumlahHari = DateDiff(“d”, TanggalAwal, TanggalAkhir)
SelisihBulan = DateDiff(“m”, TanggalAwal, TanggalAkhir)
Tahun = SelisihBulan \ 12
Bulan = SelisihBulan Mod 12
‘Bandingkan bulan * 30 + tahun * 360 dengan jumlah hari
Hari = Val(JumlahHari – 1) – (Val(Bulan * 30) + Val(Tahun * 360))
If Hari < 0 Then
Hari = 30 + Hari
Bulan = Bulan – 1
If Bulan < 0 Then
Bulan = 0
End If
End If
SelisihTanggal = Tahun & ” Tahun ” & Bulan & ” Bulan ” & Hari & ” Hari”
Exit Function
Pesan:
MsgBox “Tipe tanggal salah!”, vbCritical, “Error Tanggal”
End Function
Incoming search terms:
- menghitung umur dengan java
- hitung umur java
- menghitung umur dengan vb
- hitung umur dengan java
- mencari umur dengan java
- menghitung umur dengan vb net
- menghitung umur vb
- menghitung umur di vb
- menentukan umur tahun di vb6
- menghitung usia dengan java





stmikbg.com adalah web untuk komunitas bagi anak-anak stmik bumigora khususnya dan anak-anak IT umumnya, baek yang cupu maupun yang expert.
June 11th, 2008 at 9:40 pm
akan dicoba thank bro