Saturday, July 19, 2008

Fungsi Terbilang

*-----------------
FUNCTION Terbilang
*-----------------
Parameter Angka
Do Case
Case Angka = 0
Return ''
Case Angka = 1
Return 'Satu '
Case Angka = 2
Return 'Dua '
Case Angka = 3
Return 'Tiga '
Case Angka = 4
Return 'Empat '
Case Angka = 5
Return 'Lima '
Case Angka = 6
Return 'Enam '
Case Angka = 7
Return 'Tujuh '
Case Angka = 8
Return 'Delapan '
Case Angka = 9
Return 'Sembilan '
Case Angka = 10
Return 'Sepuluh '
Case Angka = 11
Return 'Sebelas '
Case Angka <>
Return Terbilang(Angka - 10) + 'Belas '
Case Angka >= 20 .And. Angka <= 99
Return Terbilang(Int(Angka / 10)) + 'Puluh ' + ;
Terbilang(Mod(Angka, 10))
Case Angka = 100
Return 'Seratus '
Case Angka > 100 .And. Angka <>
Return Terbilang(Angka - Mod(Angka, 100)) + ;
Terbilang(Mod(Angka, 100))
Case Angka >= 200 .And. Angka <>
Return Terbilang(Int(Angka/100)) + 'Ratus ' + ;
Terbilang(Mod(Angka, 100))
Case Angka = 1000
Return 'Seribu '
Case Angka > 1000 .And. Angka <>
Return Terbilang(Angka - Mod(Angka, 1000)) + ;
Terbilang(Mod(Angka, 1000))
Case Angka >= 2000 .And. Angka <>
Return Terbilang(Int(Angka / 1000)) + 'Ribu ' + ;
Terbilang(Mod(Angka, 1000))
Case Angka >= 1000000 .And. Angka <>
Return Terbilang(Int(Angka / 1000000)) + 'Juta ' + ;
Terbilang(Mod(Angka, 1000000))
Case Angka >= 1000000000 .And. Angka <>
Return Terbilang(Int(Angka / 1000000000)) + 'Milyar ' + ;
Terbilang(Mod(Angka, 1000000000))
EndCase