Tutorial php membuat aplikasi sederhana yaitu mengubah nilai uang (dollar) menjadi sebuah kalimat terbilang, misalnya dari suatu inputan bernilai angka 5000 maka setelah dikonversi menjadi sebuah kalimat “five thousand dollars”. bagaimana cara membuatnya?
Langkah 1. Membuat Form untuk memasukkan nilai yang akan dikonversi.
<html>
<body>
<form name="konversi" action="konversi.php" method="post">
Nominal : <input type="text" name="nominal" maxlength="16"><input type="submit" value="konversi">
</form>
</body>
</html>
Langkah 2. Membuat suatu fungsi untuk mengkonversi nilai menjadi kalimat.
<?php
/*
script originally from www.kopi-paste.com
jangan lupa untuk like fanpage kopi-paste di situs kopi-paste.com
thank's buat kunjungannya :D
*/
//for 1 - 19
function OneDigit($number){
$one_digit=array('0'=>'zero','1'=>'one','2'=>'two','3'=>"three",'4'=>"four",'5'=>"five",'6'=>'six','7'=>'seven',
'8'=>'eight','9'=>'nine','10'=>'ten','11'=>'eleven',"12"=>'twelve','13'=>'thirteen','14'=>'fourteen',
'15'=>'fifteen','16'=>'sixteen','17'=>'seventeen','18'=>'eighteen','19'=>'nineteen','-'=>'minus');
return $one_digit[$number];
}
function TenDigit($number){
$ten_digit=array('2'=>'twenty','3'=>'thirty','4'=>'forty','5'=>'fifty','6'=>'sixty',
'7'=>'seventy','8'=>'eighty','9'=>'ninty');
return $ten_digit[$number];
}
function NumberLong($number){
$number = strlen($number);
$numberlong=array('3'=>'hundred','4'=>'thousand','5'=>'thousand','6'=>'thousand','7'=>'million',
'8'=>'million','9'=>'million','10'=>'billion','11'=>'billion','12'=>'billion','13'=>'trillion','14'=>'trillion','15'=>'trillion');
return $numberlong[$number];
}
function EraseChar($number) {
$remove = array("'", "+", "*", "(", ")", " ", "%", ",");
$number = str_replace($remove, "", $number);
return $number;
}
function is_number($element) {
return preg_match ("/[^0-9]/", $element);
}
function str_rsplit($str, $sz)
{
if ( !$sz ) { return false; }
if ( $sz > 0 ) { return str_split($str,$sz); }
$l = strlen($str);
$sz = min(-$sz,$l);
$mod = $l % $sz;
if ( !$mod ) { return str_split($str,$sz); }
return array_merge(array(substr($str,0,$mod)), str_split(substr($str,$mod),$sz));
}
function TwoDigit($number) {
$number = intval($number);
$count1 = substr($number, -2, 1);
$count2 = substr($number, -1, 1);
$counter1 = TenDigit($count1);
$counter2 = OneDigit($count2);
if(($number>=0) && ($number<=19)) {
$number = OneDigit($number);
} else {
if ($count2 == 0) {
$number = $counter1;
} else {
$number = $counter1."-".$counter2;
}
}
return $number;
}
function ThreeDigit($number) {
$count1 = substr($number, -3, 1);
$count2 = substr($number, -2, 2);
$counter1 = OneDigit($count1);
$counter2 = TwoDigit($count2);
if ($count2 == 0) {
$number = $counter1." hundred";
} else if ($count1 == 0) {
$number = TwoDigit($number);;
} else {
$number = $counter1." hundred ".$counter2;
}
return $number;
}
function ThousandDigit($number) {
$NumberLong = NumberLong($number);
$splitnumb = str_rsplit($number,-3);
$ribuan = $splitnumb[0];
$ratusan = $splitnumb[1];
$nratusan = ThreeDigit($ratusan);
$nribuan = NumberSplit($ribuan);
if ($ratusan!=0) {
$and = " and ";
}
if ($ribuan==0) {
$number = $nratusan;
} else {
$number = $nribuan." ".$NumberLong.$and.$nratusan;
}
return $number;
}
function MillionDigit($number) {
$NumberLong = NumberLong($number);
$splitnumb = str_rsplit($number,-3);
$jutaan = $splitnumb[0];
$ribuan = $splitnumb[1];
$ratusan = $splitnumb[2];
$ribuan = $splitnumb[1].$splitnumb[2];
$nribuan = ThousandDigit($ribuan);
$njutaan = NumberSplit($jutaan);
if ($ribuan!=0) {
$and = " and ";
}
if ($jutaan==0) {
$number = $nribuan;
} else {
$number = $njutaan." ".$NumberLong.$and.$nribuan;
}
return $number;
}
function BillionDigit($number) {
$NumberLong = NumberLong($number);
$splitnumb = str_rsplit($number,-3);
$milyaran = $splitnumb[0];
$jutaan = $splitnumb[1];
$ribuan = $splitnumb[2];
$ratusan = $splitnumb[3];
$jutaan = $splitnumb[1].$splitnumb[2].$splitnumb[3];
$njutaan = MillionDigit($jutaan);
$nmilyaran = NumberSplit($milyaran);
if ($jutaan!=0) {
$and = " and ";
}
if($milyaran==0) {
$number = $njutaan;
} else {
$number = $nmilyaran." ".$NumberLong.$and.$njutaan;
}
return $number;
}
function TrillionDigit($number) {
$NumberLong = NumberLong($number);
$splitnumb = str_rsplit($number,-3);
$triliunan = $splitnumb[0];
$milyaran = $splitnumb[1];
$jutaan = $splitnumb[2];
$ribuan = $splitnumb[3];
$ratusan = $splitnumb[4];
$milyaran = $splitnumb[1].$splitnumb[2].$splitnumb[3].$splitnumb[4];
$nmilyaran = BillionDigit($milyaran);
$ntriliunan = NumberSplit($triliunan);
if ($milyaran!=0) {
$and = " and ";
}
if($triliunan==0) {
$number = $nmilyaran;
} else {
$number = $ntriliunan." ".$NumberLong.$and.$nmilyaran;
}
return $number;
}
function NumberSplit($number){
$number = EraseChar($number);
if (($number >= 0) && ($number < 100)) {
$number = TwoDigit($number);
} else if (($number >= 100) && ($number < 1000)) {
$number = ThreeDigit($number);
} else if (($number >= 1000) && ($number < 1000000)) {
$number = ThousandDigit($number);
} else if (($number >= 1000000) && ($number < 1000000000)) {
$number = MillionDigit($number);
} else if (($number >= 1000000000) && ($number < 1000000000000)) {
$number = BillionDigit($number);
} else if (($number >= 1000000000000) && ($number < 1000000000000000)) {
$number = TrillionDigit($number);
} else {
$number = "Not Valid";
}
return strtoupper($number);
}
function convert($number) {
$arraye = explode(".",$number);
$dollar = NumberSplit($arraye[0]);
$cent = NumberSplit($arraye[1]);
$cekcent = $arraye[1];
//if(is_number($dollar)) {
if ($cekcent==0) {
$number = $dollar." DOLLARS ";
} else {
$cent = " AND ".$cent." CENTS";
$number = $dollar." DOLLARS ".$cent;
}
//} else {
// $number = "Not Valid Number";
//}
return $number;
}
?>
Langkah 3. Membuat konversi.php output dari nilai tersebut yang sudah dikonversi menjadi kalimat
<?php
//include fungsi konversi di langkah ke 2
include "konversi.func.php";
//Mendapatkan nilai nominal dari form
$nominal = $_POST['nominal'];
//memanggil fungsi untuk konversi
$convert = convert($nominal);
//menampilan hasil
echo $convert;
?>
No comments:
Post a Comment