Selasa, 07 April 2009

Membuat Konversi Angka menjadi huruf dengan PHP

Membuat Konversi Angka dengan PHP
huhhh.. belajar PHP lagi neh, kali ini saya mencoba membuat konversi angka menjadi huruf, misalnya seperti ini:

1500000
akan di ubah menjadi
"Satu Juta lima ratus ribu Rupiah"

Biasa nya di gunakan untuk membuat kwitansi pembayaran.
Saya membuat sebuah file dengan nama classConversi.php (belajar OOP terus hee..)
di file tersebut terdapat classConversi dan fungsi-fungsi.Untuk menggunakannya cukup seperti ini:

<?php
//panggil file class nya
require "classConversi.php";
// membuat objek
$oConver = new classConversi();

$data = $_POST['data'];
//menggunakan fungsi conversiAngka

$cAngka = $oConver->conversiAngka($data);
?>

adapun fungsi-fungsi PHP yang saya gunakan pada file classConversi.php antara lain :
number_format() = berguna untuk memberikan titik pada suatu string misalnya seperti ini:

$data = 1500000
$titik = number_format($data, 0,'','.');
akan menghasilkan 1.500.000

explode() = berguna untuk memecah suatu string berdasarkan parameternya,misalnya saya ingin memecahkan 1.500.000 berdasarkan titik yang terdapat pada variabel titik di atas,

$exTitik = explode(".",$titik);

fungsi explode ini akan menghasilkan nilai array, jadi jika ingin menggunakannya atau menampilkannya:

echo "$exTitik[0]";
echo "
$exTitik[1]";
akan menampilkan :
1
500

count() = berguna untuk menghitung jumlah array.
$jTitik = count($exTitik);
akan menghasilkan
3
karena explode membagi 1.500.000 menjadi 3 bagian yaitu 1 dan 500 dan 000.

untuk fungsi substr dan strlen silahkan lihat artikel saya disini.

fungsi ucfirst untuk memberikan huruf besar (kapital) pada awal string atau karakternya
dan strtolower menjadikan semua string hufuf kecil.

silahkan download file nya disini
tapi, seperti nya masih banyak yang kurang pada class serta fungsi yang saya buat tersebut, maklum masih pemula.

Nb: Script Konversi angka yang saya buat diatas hanya untuk angka 1 milyard ke bawah 1.000.000.000, kalo dipakai untuk lebih dari itu jadi nggak benar konversi nya, lagi mau nyoba buat yang lebih rapi lagi nih
selamat mencoba...

6 komentar:

  1. salut2 cepat banget ne bljrnya

    BalasHapus
  2. Thanks tutornya bro.... :)

    BalasHapus
  3. wahhh amantab boos...ijin download ya...mao ane insert ke salah satu fungsi buat Tugas Akhir ane..

    thanx a lot :D

    BalasHapus
  4. ne saya dapet logika yg jauh lebih sederhana, tp yg ini dapet dari internet :D
    function Terbilang($x)
    {
    $abil = array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas");
    if ($x < 12)
    return " " . $abil[$x];
    elseif ($x < 20)
    return $this->Terbilang($x - 10) . "belas";
    elseif ($x < 100)
    return $this->Terbilang($x / 10) . " puluh" . $this->Terbilang($x % 10);
    elseif ($x < 200)
    return " seratus" . $this->Terbilang($x - 100);
    elseif ($x < 1000)
    return $this->Terbilang($x / 100) . " ratus" . $this->Terbilang($x % 100);
    elseif ($x < 2000)
    return " seribu" . $this->Terbilang($x - 1000);
    elseif ($x < 1000000)
    return $this->Terbilang($x / 1000) . " ribu" . $this->Terbilang($x % 1000);
    elseif ($x < 1000000000)
    return $this->Terbilang($x / 1000000) . " juta" . $this->Terbilang($x % 1000000);
    }

    BalasHapus
  5. http://tutorialphp.web.id/index.php?title=Merubah_angka_ke_teks_bilangan

    BalasHapus
  6. iya, logikanya jauh lebih sederhana... :D

    BalasHapus