0% found this document useful (0 votes)
99 views3 pages

Kode Terbilang

This document defines two functions - Terbilang and AngkaKeHuruf - that convert numbers to words in Indonesian. Terbilang is the main function that converts a currency amount to words, optionally including sen. It handles values from 0 up to the trillions. AngkaKeHuruf is a supporting function that converts individual digits from 0-100 to their word equivalents in Indonesian.

Uploaded by

sukra wardi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
99 views3 pages

Kode Terbilang

This document defines two functions - Terbilang and AngkaKeHuruf - that convert numbers to words in Indonesian. Terbilang is the main function that converts a currency amount to words, optionally including sen. It handles values from 0 up to the trillions. AngkaKeHuruf is a supporting function that converts individual digits from 0-100 to their word equivalents in Indonesian.

Uploaded by

sukra wardi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

Function Terbilang(uang As Currency, Optional Sen As Boolean = True, Optional

MataUang As String = "Rupiah", Optional MataUangSen As String = "Sen", Optional


DuaDigitSen As Boolean = False, Optional SeparatorDesimal As String = "")

Dim Tingkat(0 To 4) As String


Dim sisa As Currency
Dim u As Currency
Dim ut As Currency
Dim puluhan_sen As Currency, satuan_sen As Currency
Dim st_sen As String, hasil As String

'inisialisasi variabel
Tingkat(0) = ""
Tingkat(1) = "Ribu"
Tingkat(2) = "Juta"
Tingkat(3) = "Milyar"
Tingkat(4) = "Trilyun"

If uang = 0 Then
Terbilang = "Nol " & MataUang
ElseIf uang < 0 Then
u = Abs(uang)
Terbilang = "Minus " & Terbilang(u, Sen, MataUang)
Else
st_sen = ""
u = Fix(uang)
If Sen Then
sisa = Round((uang - u) * 100)
If DuaDigitSen Then
puluhan_sen = Round(Int(sisa / 10))
satuan_sen = Round(sisa - puluhan_sen * 10)
st_sen = " " & Trim(SeparatorDesimal & " " &
Trim(AngkaKeHuruf(puluhan_sen, True) & " " & AngkaKeHuruf(satuan_sen, True)) & " "
& MataUangSen)
ElseIf sisa > 0 Then
st_sen = " " & Trim(SeparatorDesimal & " " & Terbilang(sisa, False,
MataUangSen))
End If
End If

MataUang = " " & MataUang


hasil = ""
t = 0
While u > 0
ut = Int(u / 1000)
sisa = u - (ut * 1000)
u = ut

If sisa > 0 Then


If (sisa = 1) And (t = 1) Then
hasil = Trim("Seribu " & hasil)
Else
hasil = Trim(AngkaKeHuruf(sisa) & " " & Tingkat(t) & " " & hasil)
End If
End If
t = (t + 1) Mod 5
Wend
Terbilang = hasil & MataUang & st_sen
End If

End Function

Function AngkaKeHuruf(angka As Currency, Optional CekNol As Boolean = False)

Dim p As Currency
Dim s As Currency
Dim r As Currency

r = Int(angka / 100)

Dim angka2 As Currency

angka2 = angka - (r * 100)

'untuk ratusan
If r = 0 Then
st_r = ""
ElseIf r = 1 Then
st_r = "Seratus"
Else
st_r = AngkaKeHuruf(r) & " Ratus"
End If

'untuk puluhan dan satuan


Select Case angka2
Case 0:
If CekNol = True Then
st_ps = "Nol"
Else
st_ps = ""
End If
Case 1: st_ps = "Satu"
Case 2: st_ps = "Dua "
Case 3: st_ps = "Tiga "
Case 4: st_ps = "Empat "
Case 5: st_ps = "Lima "
Case 6: st_ps = "Enam "
Case 7: st_ps = "Tujuh "
Case 8: st_ps = "Delapan "
Case 9: st_ps = "Sembilan "
Case 10: st_ps = "Sepuluh "
Case 11: st_ps = "Sebelas "
Case 12 To 19: st_ps = AngkaKeHuruf(angka2 - 10) & " Belas"
Case Else
p = Int(angka2 / 10)
s = (angka2 - (p * 10))

If p = 0 Then
st_ps = AngkaKeHuruf(s)
Else
st_ps = AngkaKeHuruf(p) & " Puluh" & " " & AngkaKeHuruf(s)
End If
End Select

AngkaKeHuruf = Trim(st_r & " " & st_ps)


End Function

You might also like