Membuat Format Rupiah dan Terbilang Dengan PHP

Membuat Format Rupiah dan Terbilang Dengan PHP

Pada artikel kali ini saya akan membahas tentang bagaimana cara membuat format Rupiah dan terbilang dengan PHP. Agar mudah dalam penggunaannya, saya menggabungkan fungsi tersebut dan menuangkannya kedalam Class.

Masih bingung?  begini, misal saya memiliki angka bernilai 150000, untuk sebuah kurs uang angka ini cukup membingungkan karna kita harus mengurut dulu berapa jumlah digitnya. Agar mudah dibaca maka angka tersebut di ubah kedalam format kurs uang menjadi 150.000. Sedangkan untuk format terbilang, maka angka tersebut seharusnya bisa dikonversikan menjadi “Seratus Lima Puluh Ribu”. 

Ok kalau begitu kita mulai dengan membuat sebuah class bernama moneyFormat, simpan dengan nama moneyFormat.php. Lalu kita deklarasikan class moneyFormat sebagai berikut

<?php 
class moneyFormat {
 
   
}
?>

Format Rupiah dan Terbilang Dengan PHP #Format Rupiah

Sekarang kita mulai dengan fungsi kurs rupiah, kita akan mengubah angka 10000 menjadi bentuk kurs rupiah yaitu Rp 10.000. Sekarang kita buat function tersebut di class yang sudah kita buat sebelumnya

<?php 
class moneyFormat {

    public function rupiah ($angka) {
        $rupiah = number_format($angka ,0, ',' , '.' );
        return $rupiah;
    }

}
?>

fungsi kode diatas yaitu pertama kita akan mengubah angka dari parameter  dengan menggunakan number_format. Nah, karena number_format menggunakan karakter ‘,’ sebagai separator, maka kita ganti karakter tersebut dengan menggunakan karakter ‘.’ sebagai separator. Lalu kita buat 2 angka dibelakang koma

Format Rupiah dan Terbilang Dengan PHP #Format Terbilang

Sekarang kita akan lanjut dengan fungsi terbilang dengan PHP, fungsi ini akan mengkonversi sebuah bilangan menjadi bentuk kalimat / string. Misalkan Rp 10.000 menjadi sebuah string yaitu Sepuluh Ribu Rupiah.

Pertama kita akan menambahkan sebuah function dengan nama terbilang() pada class moneyFormat yang sudah kita buat sebelumnya lalu kita tambahkan kode berikut :

<?php 
class moneyFormat {
 
    public function rupiah ($angka) {
        $rupiah = number_format($angka ,0, ',' , '.' );
        return $rupiah;
    }
 
    public function terbilang ($angka) {
        $angka = (float)$angka;
        $bilangan = array('','Satu','Dua','Tiga','Empat','Lima','Enam','Tujuh','Delapan','Sembilan','Sepuluh','Sebelas');
        if ($angka < 12) {
            return $bilangan[$angka];
        } else if ($angka < 20) {
            return $bilangan[$angka - 10] . ' Belas';
        } else if ($angka < 100) {
            $hasil_bagi = (int)($angka / 10);
            $hasil_mod = $angka % 10;
            return trim(sprintf('%s Puluh %s', $bilangan[$hasil_bagi], $bilangan[$hasil_mod]));
        } else if ($angka < 200) { return sprintf('Seratus %s', $this->terbilang($angka - 100));
        } else if ($angka < 1000) { $hasil_bagi = (int)($angka / 100); $hasil_mod = $angka % 100; return trim(sprintf('%s Ratus %s', $bilangan[$hasil_bagi], $this->terbilang($hasil_mod)));
        } else if ($angka < 2000) { return trim(sprintf('Seribu %s', $this->terbilang($angka - 1000)));
        } else if ($angka < 1000000) { $hasil_bagi = (int)($angka / 1000); $hasil_mod = $angka % 1000; return sprintf('%s Ribu %s', $this->terbilang($hasil_bagi), $this->terbilang($hasil_mod));
        } else if ($angka < 1000000000) { $hasil_bagi = (int)($angka / 1000000); $hasil_mod = $angka % 1000000; return trim(sprintf('%s Juta %s', $this->terbilang($hasil_bagi), $this->terbilang($hasil_mod)));
        } else if ($angka < 1000000000000) { $hasil_bagi = (int)($angka / 1000000000); $hasil_mod = fmod($angka, 1000000000); return trim(sprintf('%s Milyar %s', $this->terbilang($hasil_bagi), $this->terbilang($hasil_mod)));
        } else if ($angka < 1000000000000000) { $hasil_bagi = $angka / 1000000000000; $hasil_mod = fmod($angka, 1000000000000); return trim(sprintf('%s Triliun %s', $this->terbilang($hasil_bagi), $this->terbilang($hasil_mod)));
        } else {
            return 'Data Salah';
        }
    }
}
?>

Untuk contoh penggunaannya adalah sebagai berikut :

$money = new moneyFormat;
$rupiah = $money->rupiah(10000);
$terbilang = $money->terbilang(10000);

echo $rupiah;
echo PHP_EOL;
echo $terbilang;

Hasilnya adalah sebagai berikut :

Sekarang jalankan script tersebut dan lihat hasilnya. Cukup mudah kan? Selamat mencoba dan semoga bermanfaat 🙂

download button

 

 

 

3 pemikiran pada “Membuat Format Rupiah dan Terbilang Dengan PHP”

Tinggalkan komentar