Tuesday, May 9, 2017

Konversi Angka Nilai Raport Menjadi Huruf Dengan Fungsi Terbilang Otomatis

Sahabat http://www.librarypendidikan.com. Mungkin rumus terbilang ini sudah tidak asing lagi bagi semua sahabat Library Pendidikan karena sudah banyak yang membahas masalah ini. Tetapi tidak ada salahnya apabila saya hanya mengingatkan dan sekaligus untuk berbagi, karena manusia kena lupa.
Silahkan simak saja pembahasannya di bawah ini. 
Pembahasan rumus terbilang pada excel menggunakan VBA saya kira sudah banyak yang menjelaskan, terutama rumus terbilang yang masih menyebutkan kata puluhan, ratusan, ribuan dan seterusnya. Namun masih sedikit yang membahas konversi terbilang jika tidak melibatkan kata puluh, ratus, ribu dan seterusnya. Padahal bagi seorang guru 2 konsep terbilang tersebut sama pentingnya.

Baiklah, langsung saja ke syntax VBA nya.
  1. Silakan pada aplikasi MS Excel kalian buka jendela MS VBA nya dengan cara menakan tombol Alt+F11
  2. Copy syntax VBA excel
  3. Klik menu Insert  dan klik sub menu Module
  4. Paste syntax yang barusan kamu Copy ke jendela module yang baru dibuat
Beikut ini sintak yang harus kalian CoPas di jendela module VBA Excel
Function huruf(ByVal MyNumber)
Dim Temp
Dim Number, Cents
Dim DecimalPlace, Count
ReDim Place(9) As String
MyNumber = Trim(Str(MyNumber))
DecimalPlace = InStr(MyNumber, ".")

If DecimalPlace > 0 Then

Temp = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2)
Cents = ConvertTens(Temp)

MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do While MyNumber <> ""
Temp = ConvertHundreds(Right(MyNumber, 3))
If Temp <> "" Then Number = Temp & Place(Count) & Number
If Len(MyNumber) > 3 Then

MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop

Select Case Number
Case ""
Number = "Nol"
Case "Satu"
Number = "Satu"
Case Else
Number = Number
End Select
huruf = Number
End Function
Private Function ConvertHundreds(ByVal MyNumber)
Dim Result As String

If Val(MyNumber) = 0 Then Exit Function

MyNumber = Right("000" & MyNumber, 3)

If Left(MyNumber, 1) <> "0" Then
Result = ConvertDigit(Left(MyNumber, 1)) & " "
End If
If Mid(MyNumber, 2, 1) <> "0" Then
Result = Result & ConvertTens(Mid(MyNumber, 2))
Else
Result = Result & ConvertDigit(Mid(MyNumber, 3))
End If
ConvertHundreds = Trim(Result)
End Function
Private Function ConvertTens(ByVal MyTens)
Dim Result As String

If Val(Left(MyTens, 1)) = 1 Then
Select Case Val(MyTens)
Case 10: Result = "Satu Nol"
Case 11: Result = "Satu Satu"
Case 12: Result = "Satu Dua"
Case 13: Result = "Satu Tiga"
Case 14: Result = "Satu Empat"
Case 15: Result = "Satu Lima"
Case 16: Result = "Satu Enam"
Case 17: Result = "Satu Tujuh"
Case 18: Result = "Satu Delapan"
Case 19: Result = "Satu Sembilan"
Case Else
End Select
Else

Select Case Val(Left(MyTens, 1))
Case 0: Result = "Nol "
Case 2: Result = "Dua "
Case 3: Result = "Tiga "
Case 4: Result = "Empat "
Case 5: Result = "Lima "
Case 6: Result = "Enam "
Case 7: Result = "Tujuh "
Case 8: Result = "Delapan "
Case 9: Result = "Sembilan "
Case Else
End Select

Result = Result & ConvertDigit(Right(MyTens, 1))
End If
ConvertTens = Result
End Function
Private Function ConvertDigit(ByVal MyDigit)
Select Case Val(MyDigit)
Case 0: ConvertDigit = "Nol"
Case 1: ConvertDigit = "Satu"
Case 2: ConvertDigit = "Dua"
Case 3: ConvertDigit = "Tiga"
Case 4: ConvertDigit = "Empat"
Case 5: ConvertDigit = "Lima"
Case 6: ConvertDigit = "Enam"
Case 7: ConvertDigit = "Tujuh"
Case 8: ConvertDigit = "Delapan"
Case 9: ConvertDigit = "Sembilan"
Case Else: ConvertDigit = ""
End Select
End Function

Setelah selesai silakan anda coba seperti gambar animasi berikut ini :


nilai rapot konversi angka ke huruf dengan VBA

Silahkan unduh / download saja file di bawah ini.
Seperti biasanya saya sertakan file contoh konversi Nilai/Angka Raport ke Huruf. atau nilai rapot angka ke nomor satuan. Semoga saja bermanfaat.

Salam http://www.librarypendidikan.com

0 comments:

Post a Comment