Tutorial Python Currency | Cara Convert Mata Uang Asing Menggunakan Python - Cara Convert Mata Uang Asing Menggunakan Python,
Pada tutorial kali ini kita akan mencoba mempelajari tentang bagaimana cara convert mata uang asing dengan menggunakan CurrencyConverter
.
CurrencyConverter
adalah sebuah package / paket yang dimiliki oleh python berdasarkan (European Central Bank) yang dapat kita gunakan untuk mengetahui nilai mata uang asing dengan mata uang yang kita miliki (Rupiah).
Sebelum kita memulainya lebih lanjut, pastikan jika kita telah memiliki Virtual Environment dan berada di dalamnya.
Untuk langkah-langkahnya mari kita coba satu persatu command yang dimiliki CurrencyConverter
dengan perintah di bawah ini:
$ pip install CurrencyConverter
Sekarang mari kita jalankan langsung via terminal / cmd dengan perintah di bawah ini:
$ currency_converter 1 USD --to IDR
1.000 USD = 14079.003 IDR on 2019-01-10
Pada terminal di atas, kita coba mengonversikan nilai 100 USD (US Dollar) ke dalam sebuah nilai IDR (Indonesian Rupiah).
Dan nilai dari 1 USD ($ 1.00) adalah setara Rp. 14.000,- lebih.
Kegunaan API pada CurrencyConverter adalah untuk mendapatkan last availabe rate / nilai saat ini.
Selanjutnya kita akan mencoba menggunakan API yang dimiliki oleh CurrencyConverter seperti contoh di bawah ini:
>>> from currency_converter import CurrencyConverter
>>> cc = CurrencyConverter()
>>> cc
<currency_converter.currency_converter.CurrencyConverter object at 0x7ffb140d8a90>
>>> type(cc)
<class 'currency_converter.currency_converter.CurrencyConverter'>
Pada teriminal di atas kita membuat object untuk mendefinisikan CurrencyConverter
yang kita miliki kedalam sebuah variable yang bernama cc
dan mencoba mengetahui function / type yang dimiliki oleh cc
tersebut menggunakan type(cc)
.
Selanjutnya mari kita coba untuk mengkonversikan mata uang melalui python shell tersebut dengan command seperti berikut:
>>> cc.convert(1, 'USD', 'IDR')
14079.003034243606
>>> # abaikan nilai dibelakang . (003034243606)
>>> cc.convert(1, 'EUR', 'IDR')
16240.13
Pada shell di atas, kita mendapatkan nilai berdasarkan last availabe rate atau nilai sekarang ini.
Kita juga dapat melakukan pengecekan nilai dari mata uang tersebut pada tanggal yang ditentukan.
Contoh:
>>> from datetime import date
>>> cc.convert(1, 'USD', 'IDR', date=date(2010, 6, 28))
9030.391441769998
Pada table di atas kita ingin melakukan pencarian nilai 1 USD pada tahun 2010, bulan Juni, tanggal 28. See? rupiah ternyata turun sangat jauh guys!.
Apabila kita ingin memeriksa nilai dari beberapa negara lain pada tahun sebelum-sebelumnya mungkin sebagian akan muncul error seperti di bawah ini:
>>> cc.convert(100, 'BGN', date=date(2010, 11, 21))
Traceback (most recent call last):
currency_converter.currency_converter.RateNotFoundError: BGN has no rate for 2010-11-21
Untuk mengatasi bug / error tersebut kita bisa menggunakan perintah seperti di bawah ini:
>>> ccv = CurrencyConverter(fallback_on_missing_rate=True)
>>> ccv.convert(100, 'BGN', date=date(2010, 11, 21))
51.12997238981491
Mungkin kita akan mengalami error seperti di bawah ini saat ingin melihat nilai mata uang pada tahun atau tanggal tertentu yang lebih tua.
Contoh:
>>> cc.convert(200, 'IDR', 'EUR', date=date(1960, 2, 10))
Traceback (most recent call last):
currency_converter.currency_converter.RateNotFoundError: 1960-02-10 not in IDR bounds 2005-04-01/2019-01-10
Untuk mengatasinya kita bisa menggunakan command berikut:
>>> ccv = CurrencyConverter(fallback_on_wrong_date=True)
>>> ccv.convert(200, 'IDR', 'EUR', date=date(1960, 2, 10))
0.016297036302463215
Pada error di atas, CurrencyConverter
tidak dapat menemukan tanggal yang kita minta, oleh karena itu kita mencoba menggunakan perintah fallback_on_wrong_date=True
untuk memaksanya mencari nilai mata uang pada tanggal tersebut.
Kita dapat mengecek status atau mata uang mana sajakah yang bisa kita convert menggunakan CurrencyConverter
tersebut dengan menggunakan command seperti di bawah ini:
>>> cc.currencies
{'MXN', 'CHF', 'ROL', 'SEK', 'MTL', 'SGD', 'INR', 'HRK', 'LVL', 'CAD', 'HKD', 'THB', 'BGN', 'RON', 'LTL', 'ILS', 'HUF', 'CYP', 'ISK', 'USD', 'SIT', 'TRL', 'JPY', 'PHP', 'KRW', 'NOK', 'CNY', 'BRL', 'PLN', 'GBP', 'MYR', 'NZD', 'DKK', 'ZAR', 'IDR', 'AUD', 'EUR', 'TRY', 'EEK', 'SKK', 'RUB', 'CZK'}
karena type data pada table di atas adalah dict()
kita dapat melihat detail currencies
yang akan kita convert dengan metode:
>>> 'IDR' in cc.currencies
True
>>> 'ABC' in cc.currencies
False
>>> cc.convert(200, 'ABC')
Traceback (most recent call last):
ValueError: ABC is not a supported currency
>>> # ValueError akan muncul apabila data tidak ada / NotExist
>>> # load package dari hasil import yang kemungkinan sudah kurang update
>>> cc = CurrencyConverter()
>>> # load full history dari ECB
>>> cc = CurrencyConverter('http://www.ecb.int/stats/eurofxref/eurofxref-hist.zip')
>>> # load hanya dari rates yang terakhir kali update
>>> cc = CurrencyConverter('http://www.ecb.europa.eu/stats/eurofxref/eurofxref.zip')
>>> # load dari file yang sudah kita download
>>> cc = CurrencyConverter('./path/ke/folder/currency/nama-file.csv')
Untuk download source file currency Converter bisa klik link berikut ini:
Apabila ada hal yang kurang jelas atau keliru mohon untuk tinggalkan komentar di bawah.
And that’s it!, thank’s for reading guys 👋 😁.