Terbilang
Berikut adalah sebuah fungsi PHP yang menerima suatu angka dan memberikan bentuk terbilang dalam bahasa Indonesia dari angka tersebut:
<?php
/**
* Indonesian number speller (PHP 4 or greater)
*
* @param string $number a string representing a positive, integral number with 15 digits or less
* @return string|false the spelled out number in Indonesian, or false if the number is invalid
* @author {@link http://www.lesantoso.com Lucky E. Santoso} <lesantoso@yahoo.com>
* @copyright Copyright (c) 2006 Lucky E. Santoso
* @license http://opensource.org/licenses/gpl-license.php The GNU General Public License (GPL)
*/
function spellNumberInIndonesian ($number) {
$number = strval($number);
if (!ereg("^[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);
}
?>
See also: Indonesian Numbers (memakai fungsi ini)
December 5, 2006 at 1:27 pm
cool, usefull function, sepintas adaptasi dari english, but there’s big different between do it and not do it. Sekali lagi top deh buat Mr. Luke ini
May 14, 2007 at 8:23 pm
Toooppppp abiiisssss!!!!
Toppppppp tenaaaannn !!!!
Pokokeeee Top !!!!!!
Salut buat Koh Lucky . . . . atas sharing ilmunya . .
Kapan kita maen “Duke Nukem” online lageeee ????????