Fungsi Terbilang ( Angka Menjadi Kata ) dengan PHP


Sebelumnya aku pernah bahas tentang hal ini ” Fungsi mengubah sejumlah Angka menjadi kata – kata ” memakai Pemrograman Java. Tapi yang sebelumnya itu lebih panjang scriptnya, ni aku mau share lagi dengan script yang lebih ringkas namun menggunakan PHP.  Berikut source codenya :

<?
class angkaTerbilang {
  function baca($n) {
    $this->dasar = array(1 => 'satu', 'dua', 'tiga', 'empat', 'lima', 'enam','tujuh', 'delapan', 'sembilan');
    $this->angka = array(1000000000, 1000000, 1000, 100, 10, 1);
    $this->satuan = array('milyar', 'juta', 'ribu', 'ratus', 'puluh', '');

    $i = 0;
    if($n==0){
       $str = "nol";
    }else{
       while ($n != 0) {
          $count = (int)($n/$this->angka[$i]);
	  if ($count >= 10) {
	      $str .= $this->baca($count). " ".$this->satuan[$i]." ";
	  }else if($count > 0 && $count < 10){
	      $str .= $this->dasar[$count] . " ".$this->satuan[$i]." ";
	  }
	  $n -= $this->angka[$i] * $count;
	  $i++;
       }
       $str = preg_replace("/satu puluh (\w+)/i", "\\1 belas", $str);
       $str = preg_replace("/satu (ribu|ratus|puluh|belas)/i", "se\\1", $str);
    }
    return $str;
  }
}

$terbilang = new angkaTerbilang();
print $terbilang->baca(123456789);
// outputnya adalah seratus dua puluh tiga juta empat ratus lima puluh enam ribu tujuh ratus delapan puluh sembilan
?>

Nah, sekian  script PHP nya, untuk penjelasan scriptnya, silahkan tanya aja yang ndak ngerti yang mana, atau bisa juga googling …😀 . Selamat Mencoba, terima kasih.

11 thoughts on “Fungsi Terbilang ( Angka Menjadi Kata ) dengan PHP

  1. mau nanya kal mau buat bilangan 11324 tpi di baca terbilang nya gmn ya?? pake array n integer…
    bilangan nya itu bebas tapi di baca terbilangnya nya.. dalam c++.. thx yaaa

Mari Berdiskusi Bersama

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s