Contoh Fungsi Terbilang Pada PHP

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
Photo of author

Ahmad Budairi

Ahmad Budairi, S.Pd. | Seorang Web Developer sekaligus kader Gerakan Pemuda Ansor yang sangat suka menulis artikel. Saya di sini akan lebih banyak menulis seputar Laravel, vue, vuetify, inertiajs, dan hal lain yang berhubungan dengan web development.Kontak: budairi.contact[et]gmail[dot]com