Table of contents
Membuat Konversi Mata Uang Otomatis dengan PHP - Malam masbro-masbro yang budiman serta dermawan, tidak sombong dan rajin menabung. Pada artikel kali ini saya akan sharing bagaimana penggunaan PHP untuk meng-konversi mata uang misalnya dari IDR ke USD secara otomatis mengikuti kurs/rate terkini. Awal dari kisah ini, saya menemukan sedikit masalah pada sebuah project yang memiliki fitur pembayaran otomatis via PAYPAL. Dimana IDR seperti diketahui sebelumnya tidak menerima/belum menerima bentuk pembayaran dengan mata uang IDR atau Rupiah. Maka harus di konversi terlebih dahulu di sisi website/aplikasi yang sedang dikembangkan. Bagaimana caranya? Untuk mengerti alurnya, baca terlebih dahulu pengertian-pengertian secara umum dibawah ini:
Apa itu JSON?
Secara umum JSON adalah singkatan dari Javascript Object Notation. JSON merupakan tipe data object pada bahasa pemrograman javascript. Struktur datanya jelas dan sederhana, serta mudah dibaca baik oleh mesin mau pun manusia. Oleh karena itu, JSON merupakan cara standar untuk berkomunikasi antar dua bahasa pemrograman yang berbeda.
Apa itu Curl?
cURL adalah pustaka yang memungkinkan Anda membuat permintaan HTTP dalam PHP. Untuk menggunakan fungsi PHP CURL Anda harus menginstal paket »libcurl. PHP mengharuskan Anda menggunakan libcurl 7.0.2-beta atau lebih tinggi. Di PHP 5.0.0 membutuhkan libcurl versi 7.10.5 atau lebih tinggi. Anda dapat membuat permintaan HTTP tanpa cURL, meskipun allow_url_fopen harus diaktifkan di php.ini file Anda .
Apa itu API?
API atau Application Programming Interface adalah sebuah interface yang dapat menghubungkan aplikasi satu dengan aplikasi lainnya. Jadi, API berperan sebagai perantara antar berbagai aplikasi berbeda, baik dalam satu platform yang sama atau lintas platform. Saya sendiri banyak menggunakan teknik ini untuk men-develop beberapa project baik itu berbasis Website ataupun Aplikasi Handphone.
Mengapa saya cantumkan definisi Curl? karena tidak semua server/hosting sudah terinstall secara otomatis. Bagi anda yang masih awam dengan cara install PHP library Curl diserver masing-masing, Silahkan cari di Google, haha... Klik ini biar cepet.
Untuk membuat Konversi Mata Uang Otomatis dengan PHP, saya memanfaatkan API dari https://exchangerate-api.com. Ada versi gratisnya, ada juga berbayarnya sesuai dengan kebutuhan dan kemampuan masing-masing, karena pandemi Korona ini saya prefer yang gratis saja. Berikut Implementasinya di PHP, anda juga bisa melihat dokumentasinya yang super lengkap disini. Silahkan Daftar dulu, Just Click Try Katanya...
Baca Juga: EF Adults Kursus Bahasa Inggris Profesional
$req_url = "https://v6.exchangerate-api.com/v6/21619cb7e5ecf68b90c8982d/latest/IDR";
$response_json = file_get_contents($req_url);
if(false !== $response_json) {
try {
$response = json_decode($response_json);
if('success' === $response->result) {
$base_price = 123000;
?>
USD <?php echo round(($base_price * $response->conversion_rates->USD), 2); ?>
<?php
}
}
catch(Exception $e) {
}
}
Code diatas adalah penggunaan dengan Versi API terbaru, cukup mudah dimengerti dan silahkan anda "obrak-abrik" kode tersebut. Dan jangan lupa ganti API KEY 21619cb7e5ecf68b90c8982d dengan API key anda.
Jika tidak bisa menggunakan file_get_contents apa yang harus anda lakukan adalah dengan menggunakan CURL seperti kode dibawah:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://v6.exchangerate-api.com/v6/21619cb7e5ecf68b90c8982d/latest/IDR");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
if(false !== $output) {
try {
$response_curl = json_decode($output);
$curl_base_price = 123000; // dalam IDR
?>
USD <?php echo round(($curl_base_price * $response_curl->conversion_rates->USD), 2); ?>
<?php
}
catch(Exception $e) {
// Handle JSON parse error...
}
}
Silahkan lihat contoh penerapannya disini: Lihat DEMO
Membandingkan Hasil dengan Currency Converter Yang lain itu adalah langkah pertama yang harus dilakukan, seberapa akuratkah hasilnya? markico..
Contoh API dari Exchangerate-api dengan IDR 123000
Contoh Google Currency dengan IDR 123000
Contoh XE Currency dengan IDR 123000
Contoh MSN Currency dengan IDR 123000
Note: Screenshot diatas diambil pada hari selasa, tanggal 29 Desember 2020, Jam makan siang waktu Indonesia bagian Bali.
Dari keempat gambar diatas ada beberapa perbedaan, setidaknya hasil dari Exchangerate-api sama dengan Google Currency. Apakah bisa dipertanggung jawabkan? saya sendiri juga mempertanyakannya, silahkan anda yang menilai sendiri bagaimana keakuratan dari Exchangerate-api, Salam nabung.. cheers!!