https://github.com/rioastamal/terbilang
Sebuah pustaka untuk menterjemahkan angka ke dalam bilangan Bahasa Indonesia
https://github.com/rioastamal/terbilang
indonesia library number numeric php terbilang
Last synced: about 2 months ago
JSON representation
Sebuah pustaka untuk menterjemahkan angka ke dalam bilangan Bahasa Indonesia
- Host: GitHub
- URL: https://github.com/rioastamal/terbilang
- Owner: rioastamal
- Created: 2018-05-31T00:38:09.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-10-24T19:06:20.000Z (almost 3 years ago)
- Last Synced: 2025-05-08T01:37:27.225Z (6 months ago)
- Topics: indonesia, library, number, numeric, php, terbilang
- Language: PHP
- Size: 30.3 KB
- Stars: 46
- Watchers: 2
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://travis-ci.org/rioastamal/terbilang)
[](https://packagist.org/packages/rioastamal/terbilang)
[](https://packagist.org/packages/rioastamal/terbilang)
[](https://codecov.io/gh/rioastamal/terbilang)## Tentang
Terbilang merupakan sebuah pustaka sederhana untuk menterjemahkan angka kedalam bentuk bilangan dalam Bahasa Indonesia. Terbilang dapat menterjemahkan angka hingga satuan septiliun atau 1.0E+32 (32 nol). Terbilang menggunakan extension **bcmath** untuk memproses angka yang besar sehingga perhitungan dapat dilakukan melebihi maksimum `PHP_INT_MAX`.
Berikut contoh singkat penggunaan Terbilang.
```php
terbilang('5678');
// lima ribu enam ratus tujuh puluh delapanecho Terbilang::create()->terbilang('5000,000,000,000,000,000,000,000,000.0021');
// lima ribu septiliun koma nol nol dua satu
```## Kebutuhan
- PHP >= 5.5
- bcmath extension## Instalasi
Untuk instalasi Terbilang dapat digunakan composer atau melalui cara manual yaitu `require`.
### Composer
Pastikan `composer` sudah terinstal pada sistem anda. Lalu jalankan perintah berikut untuk menginstal Terbilang.
```
$ composer require rioastamal/terbilang -vvv
```### Instalasi Manual
Clone project Terbilang dari Github.
```
$ git clone git@github.com:rioastamal/terbilang.git
$ cd terbilang
```Pustaka Terbilang hanya terdiri dari sebuah file jadi cukup menggunakan `require` pada file Terbilang.php dan Terbilang sudah siap digunakan.
```php
terbilang('5');
// lima$terbilang->terbilang('15');
// lima belas$terbilang->terbilang('99');
// sembilan puluh sembilan$terbilang->terbilang('787654321');
// tujuh ratus delapan puluh tujuh juta enam ratus lima puluh empat ribu tiga ratus dua puluh satu$terbilang->terbilang('11000000001000222');
// sebelas ribu triliun satu juta dua ratus dua puluh dua$terbilang->terbilang('1,000,000,000,000,000,000,000,000.0001');
// satu septiliun koma nol nol nol satu```
Terbilang juga mendukung penggunakan pemisah ribuan.
```php
$terbilang->terbilang('3,900');
// tiga ribu sembilan ratus$terbilang->terbilang('1,011,000');
// satu juta sebelas ribu
```Penggunaan desimal (pemisah titik) pada angka.
```php
$terbilang->terbilang('0.005');
// nol koma nol nol lima$terbilang->terbilang('1,000,000.025');
// satu juta koma nol dua lima
```Penggunaan desimal (pemisah koma) pada angka. Ini adalah penulisan yang lazim digunakan di Indonesia.
```php
// Ubah pemisah desimal ke ','
$terbilang->pemisahDesimal = ',';$terbilang->terbilang('0,005');
// nol koma nol nol lima$terbilang->terbilang('1.000.000,025');
// satu juta koma nol dua lima
```Shortcut `t()` untuk method `terbilang()`.
```php
$terbilang->t('1,200,000');
// satu juta dua ratus
```## Unit Test
Untuk menjalankan unit test disarankan menggunakan phpunit yang berada pada vendor direktori. Ini adalah phpunit yang diinstall melalui composer.
```
$ ./vendor/bin/phpunit --debug
PHPUnit 6.5.8 by Sebastian Bergmann and contributors.Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testStaticInstance' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testStaticInstance' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangKurangDari12' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangKurangDari12' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangBelasan' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangBelasan' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangPuluhan' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangPuluhan' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangRatusan' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangRatusan' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangRibuan' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangRibuan' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangJutaan' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangJutaan' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangMilyaran' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangMilyaran' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangTriliunan' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangTriliunan' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangSeptiliun' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangSeptiliun' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangDenganKoma' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testTerbilangDenganKoma' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testAngkaKomaGanda' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testAngkaKomaGanda' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testPemisahRibuanDenganBeberapaPemisah' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testPemisahRibuanDenganBeberapaPemisah' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testPemisahDesimalBukanTitik' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testPemisahDesimalBukanTitik' ended
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testShortcutMethod' started
Test 'RioAstamal\AngkaTerbilang\Test\TerbilangTest::testShortcutMethod' endedTime: 174 ms, Memory: 4.00MB
```## Penulis
Pustaka Terbilang ditulis oleh Rio Astamal
## Lisensi
Pustaka ini menggunakan lisensi MIT [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT).
## Alternatif
Terbilang menggunakan teknik bagi, modulus, dan rekursif. Terdapat beberapa pustaka sejenis dengan ini yang menggunakan teknik lain.
* [https://github.com/mul14/terbilang-php](https://github.com/mul14/terbilang-php)
* [https://github.com/pebriana/Fungsi-Terbilang-Rupiah](https://github.com/pebriana/Fungsi-Terbilang-Rupiah)