You are on page 1of 2

Function ekata(Bilangan as double) As String Dim angka as variant angka = Array("","satu","dua","tiga","empat","lima","enam",_ "tujuh","delapan","sembilan","sepuluh","sebelas") Bilangan = abs(Fix(Bilangan)) If Bilangan<12 Then ekata

= " " & angka(Bilangan) Elseif Bilangan<20 Then ekata = ekata(Bilangan - 10) & " belas" Elseif Bilangan<100 Then ekata = ekata(Fix(Bilangan/10)) & " puluh" & 10)

Elseif Bilangan<200 Then ekata = " seratus" & ekata(Bilangan mod 100) Elseif Bilangan<1000 Then ekata = ekata(Fix(Bilangan/100)) & " ratus" & ekata(Bilangan mo d 100) Elseif Bilangan<2000 Then ekata = " seribu" & ekata(Bilangan mod 1000) Elseif Bilangan<1000000 Then ekata = ekata(Fix(Bilangan/1000)) & " ribu" & ekata(Bilangan mo d 1000) Elseif Bilangan<1000000000 Then ekata = ekata(Fix(Bilangan/1000000)) & " juta" &_ ekata(Bilangan- (Fix(Bilangan/1000000)*1000000)) Elseif Bilangan<1000000000000 Then ekata = ekata(Fix(Bilangan/1000000000)) & " milyar" &_ ekata(Bilangan- (Fix(Bilangan/1000000000)*1000000000)) Elseif Bilangan<1000000000000000 Then ekata = ekata(Fix(Bilangan/1000000000000)) & " trilyun" &_ ekata(Bilangan- (Fix(Bilangan/1000000000000)*1000000000000)) Else ekata = "Error! Input Tidak Dapat Diproses." EndIf End Function Function Terbilang(Bilangan as Double, Optional Style as Integer) as Strin g Dim temp as String If Bilangan<0 Then temp = "minus " & trim(kekata(Bilangan)) Else temp = trim(kekata(Bilangan)) EndIf If Style=1 Then Terbilang = ucase(temp) ElseIf Style=2 Then Terbilang = lcase(temp) ElseIf Style=3 Then kata = split(temp) l = LBound(kata) u = UBound(kata) For i=l to u

ekata(Bilangan mod

kata(i) = ucase(mid(kata(i),1,1)) & mid(kata(i),2) Next i Terbilang = join(kata()) Else Terbilang = ucase(mid(temp,1,1)) & mid(temp,2) EndIf End Function

You might also like