2017 © Pedro Peláez
 

library terbilang

Sebuah pustaka untuk menterjemahkan angka ke dalam bilangan Bahasa Indonesia

image

rioastamal/terbilang

Sebuah pustaka untuk menterjemahkan angka ke dalam bilangan Bahasa Indonesia

  • Sunday, June 3, 2018
  • by rioastamal
  • Repository
  • 1 Watchers
  • 23 Stars
  • 1 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Build Status Latest Stable Version License codecov, (*1)

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., (*2)

Berikut contoh singkat penggunaan Terbilang., (*3)

<?php
use RioAstamal\AngkaTerbilang\Terbilang;

echo Terbilang::create()->terbilang('5678');
// lima ribu enam ratus tujuh puluh delapan

echo 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., (*4)

Composer

Pastikan composer sudah terinstal pada sistem anda. Lalu jalankan perintah berikut untuk menginstal Terbilang., (*5)

$ composer require rioastamal/terbilang -vvv

Instalasi Manual

Clone project Terbilang dari Github., (*6)

$ 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., (*7)

<?php

require '/path/ke/terbilang/src/Terbilang.php';

Instalasi bcmath

Extension bcmath secara default sudah terinstall dihampir semua sistem seperti pada MacOS X (via homebrew) dan Windows. Untuk mengeceknya jalankan perintah berikut pada terminal., (*8)

$ php -m|grep bcmath
bcmath

Jika bcmath muncul maka extension ini sudah terinstall di sistem. Jika belum terinstall gunakan perintah berikut untuk menginstall., (*9)

Instalasi pada Ubuntu:, (*10)

$ sudo apt-get install php-bcmath

Contoh

Berikut beberapa contoh penggunaan pustaka Terbilang dan outputnya. Argumen yang diberikan pada method terbilang() harus berupa string angka. Untuk contoh lebih banyak anda dapat melihat pada file tests/TerbilangTest.php., (*11)

<?php
use RioAstamal\AngkaTerbilang\Terbilang;

$terbilang = new Terbilang();
$terbilang->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., (*12)

$terbilang->terbilang('3,900');
// tiga ribu sembilan ratus

$terbilang->terbilang('1,011,000');
// satu juta sebelas ribu

Penggunaan desimal (pemisah titik) pada angka., (*13)

$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., (*14)

// 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()., (*15)

$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., (*16)

$ ./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' ended


Time: 174 ms, Memory: 4.00MB

Penulis

Pustaka Terbilang ditulis oleh Rio Astamal rio@rioastamal.net, (*17)

Lisensi

Pustaka ini menggunakan lisensi MIT http://opensource.org/licenses/MIT., (*18)

Alternatif

Terbilang menggunakan teknik bagi, modulus, dan rekursif. Terdapat beberapa pustaka sejenis dengan ini yang menggunakan teknik lain., (*19)

The Versions

03/06 2018

dev-master

9999999-dev

Sebuah pustaka untuk menterjemahkan angka ke dalam bilangan Bahasa Indonesia

  Sources   Download

MIT

The Requires

  • php ^5.5|^7.0
  • ext-bcmath *

 

The Development Requires

by Rio Astamal

03/06 2018

v1.0.1

1.0.1.0

Sebuah pustaka untuk menterjemahkan angka ke dalam bilangan Bahasa Indonesia

  Sources   Download

MIT

The Requires

  • php ^5.5|^7.0
  • ext-bcmath *

 

The Development Requires

by Rio Astamal

02/06 2018

v1.0

1.0.0.0

Sebuah pustaka untuk menterjemahkan angka ke dalam bilangan Bahasa Indonesia

  Sources   Download

MIT

The Requires

  • php ^5.5|^7.0
  • ext-bcmath *

 

The Development Requires

by Rio Astamal