Function untuk mendapatkan nilai terbilang
function TForm1.terbilang(x: Int64): string;
const abil : array[0..11] of string[10]=('','satu','dua','tiga', 'empat','lima','enam','tujuh','delapan','sembilan', 'sepuluh','sebelas');
begin
if (x < 12) then Result := ' ' + abil[x] else if (x < 20) then Result := Terbilang(x-10) + ' belas'
else
if (x < 100) then Result := Terbilang(x div 10) + ' puluh' + Terbilang(x mod 10)
else
if (x < 200) then Result := ' seratus' + Terbilang(x-100)
else
if (x < 1000) then Result := Terbilang(x div 100) + ' ratus' + Terbilang(x mod 100)
else
if (x < 2000) then Result := ' seribu' + Terbilang(x-1000)
else
if (x < 1000000) then Result := Terbilang(x div 1000) + ' ribu' + Terbilang(x mod 1000)
else
if (x < 1000000000) then Result := Terbilang(x div 1000000) + ' juta' + Terbilang(x mod 1000000)
else
if (x < 1000000000000) then Result := Terbilang(x div 1000000000) + ' milyar'+ Terbilang(x mod 1000000000);
end;
keterangan..:
untuk variabel diatas menggunakan int64 agar jumlah angka yang di konversi bisa mencapai milyar,, jika menggunakan integer biasa maka hanya bisa digunakan sampai level juta
const abil : array[0..11] of string[10]=('','satu','dua','tiga', 'empat','lima','enam','tujuh','delapan','sembilan', 'sepuluh','sebelas');
begin
if (x < 12) then Result := ' ' + abil[x] else if (x < 20) then Result := Terbilang(x-10) + ' belas'
else
if (x < 100) then Result := Terbilang(x div 10) + ' puluh' + Terbilang(x mod 10)
else
if (x < 200) then Result := ' seratus' + Terbilang(x-100)
else
if (x < 1000) then Result := Terbilang(x div 100) + ' ratus' + Terbilang(x mod 100)
else
if (x < 2000) then Result := ' seribu' + Terbilang(x-1000)
else
if (x < 1000000) then Result := Terbilang(x div 1000) + ' ribu' + Terbilang(x mod 1000)
else
if (x < 1000000000) then Result := Terbilang(x div 1000000) + ' juta' + Terbilang(x mod 1000000)
else
if (x < 1000000000000) then Result := Terbilang(x div 1000000000) + ' milyar'+ Terbilang(x mod 1000000000);
end;
keterangan..:
untuk variabel diatas menggunakan int64 agar jumlah angka yang di konversi bisa mencapai milyar,, jika menggunakan integer biasa maka hanya bisa digunakan sampai level juta
Comments