Cara membuat terbilang di YII Framework dan PHP
Cara membuat terbilang di YII Framework dan PHP

 

Terbilang ini biasanya digunakan dalam invoice untuk menyebutkan bilangan terutama uang, berikut contohnya :

Caranya adalah sebagai berikut :
1. buat file Terbilang.php , lalu simpan di folder Component .
<?php class Terbilang extends CApplicationComponent {
 
  public function rupiah($uang)
  {
    $rp = $this->spellNumberInIndonesian($uang);
    echo ( $rp.'  ' ) ;
  }

  public function spellNumberInIndonesian ($number) {
    $number = strval($number);
       if (!preg_match("/^[0-9]{1,15}$/", $number))
        return(false);
    $ones = array("", "Satu", "Dua", "Tiga", "Empat",
        "Lima", "Enam", "Tujuh", "Delapan", "Sembilan");
    $majorUnits = array("", "ribu", "Juta", "Milyar", "Trilyun");
    $minorUnits = array("", "puluh", "ratus");
    $result = "";
    $isAnyMajorUnit = false;
    $length = strlen($number);
    for ($i = 0, $pos = $length - 1; $i < $length; $i++, $pos--) {
        if ($number[$i] != '0') {
            if ($number[$i] != '1')
                $result .= $ones[$number[$i]].' '.$minorUnits[$pos % 3].' ';
            else if ($pos % 3 == 1 && $number[$i + 1] != '0') {
                if ($number[$i + 1] == '1')
                    $result .= "Sebelas ";
                else
                    $result .= $ones[$number[$i + 1]]." Belas ";
                $i++; $pos--;
            } else if ($pos % 3 != 0)
                $result .= "Se".$minorUnits[$pos % 3].' ';
            else if ($pos == 3 && !$isAnyMajorUnit)
                $result .= "Se";
            else
                $result .= "Satu ";
            $isAnyMajorUnit = true;
        }
        if ($pos % 3 == 0 && $isAnyMajorUnit) {
            $result .= $majorUnits[$pos / 3].' ';
            $isAnyMajorUnit = false;
        }
    }
    $result = trim($result);
    if ($result == "") $result = "nol";
    return($result);
   }
}
?>
2. Lalu di view tinggal di panggil saja.
<?php $bilang=$model->SubTotal;
    Yii::import("application.components.Terbilang"); // ini adalah kode pemanggilannya.
    $terbilang = new Terbilang();
  
 
    $terbilang->rupiah($bilang);
?> Rupiah
Sekian , semoga bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top