Fungsi terbilang digunakan untuk mengubah angka menjadi kalimat dalam bahasa Indonesia. Fungsi ini sangat umum digunakan untuk mengubah nominal uang ke dalam bentuk kalimat bahasa Indonesia yang mudah dipahami manusia.
Contoh kasus penggunaannya adalah pada aplikasi Point of Sales(POS) atau aplikasi untuk kasir. Pada aplikasi tersebut, nominal total pembelian biasanya diterjemahkan ke dalam kalimat bahasa Indonesia yang mudah dipahami. Misal: Rp15.500 diubah menjadi lima belas ribu lima ratus rupiah.
Contoh kodingan fungsi terbilang pada php adalah sebagai berikut:
function terbilang($angka) {
// Validasi input
if (!is_numeric($angka)) {
return "Masukan harus berupa angka!";
}
if ($angka < 0 || $angka > 999999999999999) {
return "Angka harus di antara 0 dan 999.999.999.999.999!";
}
// Sanitasi input
$angka = abs($angka); //mengubah angka agar menjadi bernilai positif
$angka = floor($angka); //mengubah angka agar menjadi bilangan bulat
$angka_huruf = [
"", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas"
];
if ($angka < 12) {
return $angka_huruf[$angka];
} elseif ($angka < 20) {
return terbilang($angka - 10) . " belas";
} elseif ($angka < 100) {
return terbilang($angka / 10) . " puluh " . terbilang($angka % 10);
} elseif ($angka < 200) {
return "seratus " . terbilang($angka - 100);
} elseif ($angka < 1000) {
return terbilang($angka / 100) . " ratus " . terbilang($angka % 100);
} elseif ($angka < 2000) {
return "seribu " . terbilang($angka - 1000);
} elseif ($angka < 1000000) {
return terbilang($angka / 1000) . " ribu " . terbilang($angka % 1000);
} elseif ($angka < 1000000000) {
return terbilang($angka / 1000000) . " juta " . terbilang($angka % 1000000);
} elseif ($angka < 1000000000000) {
return terbilang($angka / 1000000000) . " miliar " . terbilang($angka % 1000000000);
} else {
return terbilang($angka / 1000000000000) . " triliun " . terbilang($angka % 1000000000000);
}
}
Contoh penggunaannya adalah sebagai berikut:
echo terbilang(15500);
//output: lima belas ribu lima ratus rupiah