PHPackages                             dipantry/rupiah - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. dipantry/rupiah

ActiveLibrary

dipantry/rupiah
===============

All-in-one Indonesian Rupiah library

v1.0.1(3y ago)235↓100%1MITPHPPHP ^8.0

Since Mar 3Pushed 3y agoCompare

[ Source](https://github.com/Dipantry/rupiah)[ Packagist](https://packagist.org/packages/dipantry/rupiah)[ Fund](https://saweria.co/rigsto)[ GitHub Sponsors](https://github.com/Rigsto)[ RSS](/packages/dipantry-rupiah/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (4)Versions (3)Used By (0)

All-in-one Indonesian Rupiah library
====================================

[](#all-in-one-indonesian-rupiah-library)

[![Latest Version](https://camo.githubusercontent.com/42a6fcde5858c48d63c04bb77b8b07fcab347b1d3b66b8a590e726f72f22feea/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f646970616e7472792f7275706961683f6c6162656c3d52656c6561736526736f72743d73656d766572267374796c653d666c61742d737175617265)](https://github.com/dipantry/rupiah/releases)[![Packagist Version](https://camo.githubusercontent.com/51e561456cfc92078484ae875b92a6b220bbd69f2a192ffbd89c838e734f6e46/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f646970616e7472792f7275706961683f6c6162656c3d5061636b6167697374)](https://packagist.org/packages/dipantry/rupiah)[![PHP Version](https://camo.githubusercontent.com/845127857e16acc02d44a43b71c0ffca62c434d8de76fcc2f6f7f5805d96712e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646970616e7472792f7275706961683f6c6162656c3d50485025323056657273696f6e)](https://camo.githubusercontent.com/845127857e16acc02d44a43b71c0ffca62c434d8de76fcc2f6f7f5805d96712e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646970616e7472792f7275706961683f6c6162656c3d50485025323056657273696f6e)[![MIT Licensed](https://camo.githubusercontent.com/d77001924b901819afb965e92aa818cc65a2e1e400d973f4689b0d02016c5371/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f646970616e7472792f72616a616f6e676b69723f6c6162656c3d4c6963656e7365267374796c653d666c61742d737175617265)](LICENSE)
[![run-tests](https://github.com/dipantry/rupiah/workflows/run-tests/badge.svg)](https://github.com/dipantry/rupiah/workflows/run-tests/badge.svg)[![StyleCI](https://camo.githubusercontent.com/1864b3f82c96ee67cc194c36ab827a59b5b6383d8b89d0bb1a22d02f3f6556dc/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3630323937313933362f736869656c643f6272616e63683d6d6173746572)](https://github.styleci.io/repos/602971936?branch=master)

Package Laravel atau Lumen untuk mengkonversi kurs rupiah dengan nilai tukar negara asing berdasarkan data dari [Bank Indonesia](https://www.bi.go.id/id/moneter/informasi-kurs/transaksi-bi/Default.aspx). 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](https://flip.id/blog/kode-bank).

Fitur
-----

[](#fitur)

### Konversi

[](#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

[](#bank)

- Mengambil data terbaru menggunakan command dan disimpan ke dalam database

### Lainnya

[](#lainnya)

- Mengubah angka rupiah menjadi tulisan Bahasa Indonesia

---

Instalasi
=========

[](#instalasi)

```
composer require dipantry/rupiah
```

Petunjuk Penggunaan
-------------------

[](#petunjuk-penggunaan)

### Lumen

[](#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

[](#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
-----------

[](#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

[](#jalankan-migrasi)

```
php artisan migrate
```

### Jalankan seeder untuk mengisi data bank

[](#jalankan-seeder-untuk-mengisi-data-bank)

```
php artisan rupiah:bank
```

---

Data 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
---------

[](#data-kurs)

### Inisiasi Rupiah

[](#inisiasi-rupiah)

```
\Rupiah::of(10000);

\Rupiah::of(10000)->getValue();
// 10000
```

Class Rupiah menerima parameter float sebagai value untuk diproses selanjutnya

### Nilai Tukar Rupiah

[](#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
---------

[](#terbilang)

Method ini mengubah angka menjadi tulisan Bahasa Indonesia. Method ini langsung mengembalikan nilai string.

```
\Rupiah::of(10000)->toWords();
// Sepuluh Ribu Rupiah
```

---

### Currency Code

[](#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

[](#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
=======

[](#testing)

Jalankan testing dengan menjalankan perintah berikut ini

```
vendor/bin/phpunit
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

2

Last Release

1159d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/393e6c79c4b287c579c14107697a52f54e9ad2f1529c1a162bc532266080d656?d=identicon)[Rigsto](/maintainers/Rigsto)

---

Top Contributors

[![Rigsto](https://avatars.githubusercontent.com/u/44047495?v=4)](https://github.com/Rigsto "Rigsto (18 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (1 commits)")

---

Tags

moneycurrencyBankindonesiarupiahkurs

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dipantry-rupiah/health.svg)

```
[![Health](https://phpackages.com/badges/dipantry-rupiah/health.svg)](https://phpackages.com/packages/dipantry-rupiah)
```

###  Alternatives

[cknow/laravel-money

Laravel Money

1.0k4.3M22](/packages/cknow-laravel-money)[akaunting/laravel-money

Currency formatting and conversion package for Laravel

7825.3M18](/packages/akaunting-laravel-money)[torann/currency

This provides Laravel with currency functions such as currency formatting and conversion using up-to-date exchange rates.

4081.1M6](/packages/torann-currency)[casinelli/currency

Handles currency for Laravel 5.

1911.8k](/packages/casinelli-currency)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
