dipantry / rupiah
All-in-one Indonesian Rupiah library
Fund package maintenance!
Rigsto
saweria.co/rigsto
Requires
- php: ^8.0
- ext-dom: *
- ext-fileinfo: *
- ext-libxml: *
- illuminate/support: ^9.0.0 | ^10.0.0
Requires (Dev)
- ext-openssl: *
- orchestra/testbench: ^7.0
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^9.5.0
This package is auto-updated.
Last update: 2024-11-07 08:41:45 UTC
README
Package Laravel atau Lumen untuk mengkonversi kurs rupiah dengan nilai tukar negara asing berdasarkan data dari Bank Indonesia. Package ini akan membantu Anda untuk mengambil informasi dari API Bank Indonesia. Selain itu, package ini mampu mengambil data bank terbaru berdasarkan website Flip.id.
Fitur
Konversi
- Mengkonversi nilai tukar rupiah terhadap mata uang asing
- Mengkonversi nilai tukar mata uang asing terhadap rupiah
- Mendapatkan data nilai tukar rupiah saat ini
Bank
- Mengambil data terbaru menggunakan command dan disimpan ke dalam database
Lainnya
- Mengubah angka rupiah menjadi tulisan Bahasa Indonesia
Instalasi
composer require dipantry/rupiah
Petunjuk Penggunaan
Lumen
Dalam file bootstrap/app.php
, uncomment baris berikut
$app->withFacades(); $app->withEloquent();
dan daftarkan service provider dan alias/facade dengan menambahkan kode berikut
$app->register(Dipantry\Rupiah\ServiceProvider::class); // class_aliases class_alias(Dipantry\Rupiah\Facade::class, 'Rupiah');
Laravel
Dalam file config/app.php
, masukkan baris berikut pada bagian providers
'providers' => [ ... Dipantry\Rupiah\ServiceProvider::class, ],
dan tambahkan baris berikut pada bagian aliases
'aliases' => [ 'Rajaongkir' => Dipantry\Rupiah\Facade::class, ],
Konfigurasi
php artisan vendor:publish --provider="Dipantry\Rupiah\ServiceProvider"
File konfigurasi terletak pada config/rupiah.php
return [ 'table_prefix' => 'Untuk migrasi dan seeding data', 'timeout' => 'Waktu timeout untuk setiap pemanggilan API', 'max_retry' => 'Jumlah perulangan yang dilakukan jika terjadi error', ]
Jalankan migrasi
php artisan migrate
Jalankan seeder untuk mengisi data bank
php artisan rupiah:bank
Data Bank
Pengambilan data bank dapat menggunakan command rupiah:bank
dan mengakses database dapat menggunakan model Bank
yang telah disediakan.
use Dipantry\Rupiah\Models\Bank; Bank::all();
Data Kurs
Inisiasi Rupiah
\Rupiah::of(10000); \Rupiah::of(10000)->getValue(); // 10000
Class Rupiah menerima parameter float sebagai value untuk diproses selanjutnya
Nilai Tukar Rupiah
Terdapat 3 macam function untuk mendapatkan nilai tukar
exchangeRate()
untuk mendapatkan nilai tukar rupiah terhadap mata uang asing pada hari ini atau waktu yang ditentukan sendiri (Tidak bisa digunakan saat bank tutup). Menerima parameter code currency dan tanggal.
use Dipantry\Rupiah\Enums\CurrencyCode; \Rupiah::exchangeRate('USD'); // Mendapatkan nilai tukar rupiah terhadap USD pada hari ini // ['buy' => 14000, 'sell' => 14200] \Rupiah::exchangeRate('USD', '2021-01-01'); // Mendapatkan nilai tukar rupiah terhadap USD pada tanggal 1 Januari 2021 // ['buy' => 14000, 'sell' => 14200] // atau \Rupiah::exchangeRate(CurrencyCode::USD);
buy()
untuk mengubah nilai rupiah menjadi mata uang asing. Menerima parameter code currency. Method ini langsung mengembalikan nilai perkalian dengan value yang telah diinisiasi.
use Dipantry\Rupiah\Enums\CurrencyCode; $rupiah = \Rupiah::of(10000); $rupiah->buy(CurrencyCode::USD); // 0.71
sell()
untuk mengubah mata uang asing menjadi nilai rupiah. Menerima parameter code currency. Method ini langsung mengembalikan nilai perkalian dengan value yang telah diinisiasi.
use Dipantry\Rupiah\Enums\CurrencyCode; $rupiah = \Rupiah::of(10000); $rupiah->sell(CurrencyCode::USD); // 14200
Terbilang
Method ini mengubah angka menjadi tulisan Bahasa Indonesia. Method ini langsung mengembalikan nilai string.
\Rupiah::of(10000)->toWords(); // Sepuluh Ribu Rupiah
Currency Code
Package ini menyediakan model CurrencyCode
yang berisi kode mata uang asing yang dapat digunakan untuk mempermudah penggunaan.
Disarankan untuk menggunakan model ini untuk menghindari kesalahan penulisan kode mata uang asing.
Exception
HttpRequestException
Exception ini didapat apabila terjadi error saat melakukan request ke API Bank Indonesia.InvalidCurrencyCodeException
Exception ini didapat apabila kode mata uang asing yang dimasukkan tidak valid.
Testing
Jalankan testing dengan menjalankan perintah berikut ini
vendor/bin/phpunit