Konversi angka ke text di PHP atau fungsi terbilang PHP sering digunakan untuk keperluan pembuatan aplikasi keuangan atau yang berkaitan dengan nominal uang
Konversi angka ke text di PHP atau biasa disebut juga dengan fungsi terbilang PHP sering digunakan untuk keperluan pembuatan aplikasi keuangan atau yang berkaitan dengan nominal uang. Pada dasarnya konversi dari angka kehuruf tidak hanya bisa dilakukan menggunakan bahasa pemrograman client-server tetapi bisa juga dibuat pada sisi client misalnya di Javascript.
Pada kesempatan ini kita akan bahas cara konversi angka ke text menggunakan bahasa pemrograman PHP. Pertama kita akan buat sebuah fungsi yang kita beri nama terbilang, fungsi tersebut nantinya akan mempunyai satu buah parameter, parameter ini nanti akan kita isi dengan angka. Pada saat fungsi ini dijalankan atau dipanggil maka akan mengembalikan huruf.
Misalnya parameternya kita isi dengan angka 50000 (tanpa koma atau titik) maka fungsi tersebut akan mengembalikan kata-kata "Lima Puluh Ribu".
Baik berikut adalah script PHP untuk fungsi yang kita bicarakan.
<?php function terbilang($bilangan) { $angka = array('0','0','0','0','0','0','0','0','0','0', '0','0','0','0','0','0'); $kata = array('','satu','dua','tiga','empat','lima', 'enam','tujuh','delapan','sembilan'); $tingkat = array('','ribu','juta','milyar','triliun'); $panjang_bilangan = strlen($bilangan); /* pengujian panjang bilangan */ if ($panjang_bilangan > 15) { $kalimat = "Diluar Batas"; return $kalimat; } /* mengambil angka-angka yang ada dalam bilangan, dimasukkan ke dalam array */ for ($i = 1; $i <= $panjang_bilangan; $i++) { $angka[$i] = substr($bilangan,-($i),1); } $i = 1; $j = 0; $kalimat = ""; /* mulai proses iterasi terhadap array angka */ while ($i <= $panjang_bilangan) { $subkalimat = ""; $kata1 = ""; $kata2 = ""; $kata3 = ""; /* untuk ratusan */ if ($angka[$i+2] != "0") { if ($angka[$i+2] == "1") { $kata1 = "seratus"; } else { $kata1 = $kata[$angka[$i+2]] . " ratus"; } } /* untuk puluhan atau belasan */ if ($angka[$i+1] != "0") { if ($angka[$i+1] == "1") { if ($angka[$i] == "0") { $kata2 = "sepuluh"; } elseif ($angka[$i] == "1") { $kata2 = "sebelas"; } else { $kata2 = $kata[$angka[$i]] . " belas"; } } else { $kata2 = $kata[$angka[$i+1]] . " puluh"; } } /* untuk satuan */ if ($angka[$i] != "0") { if ($angka[$i+1] != "1") { $kata3 = $kata[$angka[$i]]; } } /* pengujian angka apakah tidak nol semua, lalu ditambahkan tingkat */ if (($angka[$i] != "0") OR ($angka[$i+1] != "0") OR ($angka[$i+2] != "0")) { $subkalimat = "$kata1 $kata2 $kata3 " . $tingkat[$j] . " "; } /* gabungkan variabe sub kalimat (untuk satu blok 3 angka) ke variabel kalimat */ $kalimat = $subkalimat . $kalimat; $i = $i + 3; $j = $j + 1; } /* mengganti satu ribu jadi seribu jika diperlukan */ if (($angka[5] == "0") AND ($angka[6] == "0")) { $kalimat = str_replace("satu ribu","seribu",$kalimat); } return trim($kalimat); } ?>Fungsi ini hanya mampu menangani bilangan maksimal sepanjang lima belas angka bilangan bulat. Tidak bisa menggunakan bilangan negatif. Tidak ada pengecekan angka yang dimasukkan hanya ada batasan panjang angka saja. Angka yang bisa digunakan terhadap fungsi ini berupa angka bulat sederhana, tanpa menggunakan format apapun.
Silahkan jalankan fungsi tersebut seperti contoh dibawah ini
<?php echo terbilang(50000);?>Semoga membantu!
sumber: http://daunsalam.samsul.web.id/artikel/terbilang.htm
Terima kasih gan, sangat membantu
BalasHapus