Menghitung umur seseorang tentunya tidaklah sulit, namun bagaimana jika kita diminta menghitung umur secara detail seperti berapa tahun, berapa bulan, dan berapa hari?. Ini tentu saja menyulitkan. Nah berikut disajikan program menghitung umur menggunakan VB.Net.
Pada VB.Net memang tidak memiliki fungsi yang langsung dapat menghitung umur secara detail, namun dengan akal-akalan kita dapat membuat fungsi sendiri memanfaatkan teknik-teknik programming.
Berikut adalah bagian utama program yang digunakan untuk menghitung umur.
Function calculateAge(dateOfBird As Date, fromDate As Date) As String Dim dateNow As Date Dim tgl 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 = fromDate tgl = dateOfBird ' menghitung tahun years = DateDiff("yyyy", tgl, dateNow) If Month(tgl) > Month(dateNow) Then years = years - 1 ElseIf Month(tgl) = Month(dateNow) And tgl.Day > dateNow.Day Then years = years - 1 ElseIf Month(tgl) = Month(dateNow) And tgl.Day = dateNow.Day Then GoTo Finish ' jika bulan dan tanggal sama maka perhitungan selesai End If ' menghitung bulan tgl = DateAdd("yyyy", years, tgl) months = DateDiff("m", tgl, dateNow) If tgl.Day > dateNow.Day Then months = months - 1 ElseIf Month(tgl) = Month(dateNow) And tgl.Day >= dateNow.Day Then months = months - 1 End If tgl = DateAdd("m", months, tgl) ' menghitung hari days = DateDiff("d", tgl, dateNow) Finish: 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 'Fungsi untuk memanggil fungsi CalculateAge Private Sub TestHitungUmur() Dim strMsg As String Dim tanggalLahir As Date = DateSerial(1980, 5, 20) Dim tanggalSekarang As Date = DateSerial(2021, 3, 17) strMsg = "Umur : " & calculateAge(tanggalLahir, tanggalSekarang) 'result = "Umur : 40 Tahun 9 Bulan 25 Hari" MsgBox(strMsg) End Sub
Pada program di atas, sub TestHitungUmur akan memanggil fungsi CalculateAge dan menampung ke variabel string.
Untuk mencoba langsung, saya telah menyiapkan aplikasi yang dibuat menggunakan Visual Studio 2019.
Untuk mencoba program, silahkan download disini.