Terbilang ejaan angka kedalam bentuk kalimat

This item was filled under [ Code Snippet, PHP ]

Berikut adalah script php konversi dari angka kedalam bentuk kalimat.

<?php
/*
*
* Class : Terbilang
* Spell quantity numbers in Indonesian or Malay Language
*
*
* author: huda m elmatsani
* 21 September 2004
* freeware
*
* example:
* $bilangan = new Terbilang;
* echo $bilangan -> eja(137);
* result: seratus tiga puluh tujuh
*
*
*/
Class Terbilang {
	function terbilang() {
		$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','');
	}
	function eja($n) {
		$i=0;
		while($n!=0){
			$count = (int)($n/$this->angka[$i]);
			if($count>=10) $str .= $this->eja($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;
	}
}
?>

Penggunaan:

$bilangan = new Terbilang;
echo $bilangan -> eja(137); //akan menghasilkan: seratus tiga puluh tujuh

Alternatif lain, yg fungsinya sama:
http://www.nusansifor.com/2008/11/fungsi-angka-menjadi-tulisan-huruf/

sumber: http://www.phpclasses.org/browse/package/1915.html

semoga bermanfaat :mrgreen:

Rate this topic:
1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5 out of 5)
Loading ... Loading ...
Popularity: 1,802 views
Tagged with: [ , ]
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Artikel Sejenis

9 Comments on “Terbilang ejaan angka kedalam bentuk kalimat”

  • 13 April, 2009, 0:41

    wah sangat bermanfaat nih ilmu nya,,
    mas eddy mau nanyak gimana sih cara bikin vote seperti yang ada di web mas ini,??

    apakah menggunakan php juga??

    dan apakah menggunakan databases juga mas??

    tolong ya mas eddy butuh kali untuk referensi tugas akhir,,

    klu bisa eddy minta dong scrip nya yg bahsa php dan konek ke databases:D

    Like or Dislike: Thumb up 0 Thumb down 0
  • 13 April, 2009, 20:44

    untuk yg vote seperti di web ini menggunakan Plugin Wordpress.
    Dan bisa di download di http://lesterchan.net/wordpress/downloads/
    Nama Plugin nya Wp-Polls.
    Dan menggunakan Wordpress, bisa di download di http://www.wordpress.org/
    Dan jg menggunakan database.

    Like or Dislike: Thumb up 1 Thumb down 0
  • 14 April, 2009, 17:03

    klu buat ditanam di sebuah web yang sedang garap gimana mas caranya, tolong ya mas, :D eddy lagi buat proyek akhir menggunakan bahasa PHP

    Like or Dislike: Thumb up 0 Thumb down 0
  • 26 June, 2009, 12:50

    kapan mau dinaikin ke trilyun mas? soalnya kan gak ada seribu milyar :)
    any way,,, sangat bermanfaat,,, salut.

    hatur nuhun

    Like or Dislike: Thumb up 0 Thumb down 0
  • 26 June, 2009, 22:36

    @Adi, kalau mau ditambahkan sampai trilyun, silahkan dimodif class nya.
    Dibagian ini:

    		$this->angka = array(1000000000000,1000000000,1000000,1000,100,10,1);
    		$this->satuan = array('triliun','milyar','juta','ribu','ratus','puluh','');

    terimakasih atas komentarnya :mrgreen:

    Like or Dislike: Thumb up 1 Thumb down 0
  • Andi
    1 September, 2009, 15:03

    kalo mau ditambahkan separator koma gimana?
    misal: 45,67 = EMPAT PULUH LIMA KOMA EMAM PULUH TUJUH
    thanks

    Like or Dislike: Thumb up 0 Thumb down 1
  • 1 September, 2009, 17:04

    Andi,
    Kalau mau pakai koma bisa saja dengan logika explode, spt ini:

    $angka = "45,67";
    $angka_arr = explode("," $angka);
    $bilangan = new Terbilang;
    echo $bilangan -> eja($angka_arr[0]);
    echo " KOMA ";
    echo $bilangan -> eja($angka_arr[1]);

    blm dicoba, tapi logikaya spt itu.. silahkan dicoba.

    Like or Dislike: Thumb up 1 Thumb down 0
  • Adi Suwarso
    5 November, 2009, 19:32

    Mas, sebetulnya lebih efektif dan lebih bagus yang mana antara penggunaan class dengan function biasa?
    soalnya dengan class saya berkesan ‘oon’ :) sedangkan dengan function tinggal panggil “echo terbilang(’1000′)”…
    maaf pertanyaannya aneh
    terima kasih

    Like or Dislike: Thumb up 0 Thumb down 0

Trackbacks

  1. Fungsi angka menjadi tulisan huruf | NSI

Leave a Comment

Halaman ini di eksekusi dalam waktu 1.064 detik! (koneksi mayan bagus nih...)