Press "Enter" to skip to content

Membuat Konversi Mata Uang Otomatis Dengan PHP Secara Realtime

fadli 0

Cara Gampang Bikin Konversi Mata Uang Otomatis dengan PHP.. Haloo semua nya, kali ini aku mau share lagi pengalaman ku didalam dunia pemrograman..

Jadi kebetulan kemarin aku diminta untuk membuat fitur exchange rate / kurs mata uang pada salah satu modul di sistem kantor ku..

Fitur exchange rate ini harus bersifat realtime mengikuti mata uang dunia saat ini, jadi ketika hari ini nilai dollar terhadap rupiah adalah 1:15000, maka di sistem juga akan tertulis seperti itu..

Konversi Mata Uang Otomatis Dengan PHP Realtime

Untuk bisa mendapatkan nilai kurs mata uang secara realtime, kita bisa memanfaatkan salah satu penyedia API Exchange Rate yang diberikan secara gratis oleh ExchangeRateHost..

Fitur-fitur yang ada pada exchange rate host

Untuk fitur-fitur yang ada pada exchange rate host juga lumayan lengkap yaa,

  • kita bisa ngecek kurs mata uang terakhir secara update..
  • bisa melakukan konversi mata uang antara 2 nilai, misal IDR to USD..
  • Dapat mengecek kurs mata uang tertentu pada tahun atau tanggal tertentu..
  • Dapat melihat histori perubahan nilai kurs nya..

Persiapan Memulai Konversi Mata Uang

Sekarang kita akan mulai untuk melakukan konversi mata uang nya..

Hal-hal yang perlu dipersiapkan

Postman

Ada beberapa hal yang perlu kalian persiapkan, yaitu yang pertama adalah instalasi Postman..

Postman ini digunakan untuk men-testing setiap endpoint API nya sebelum kita terapkan kedalam bahasa pemrograman PHP..

Kalian bisa download Postman Disini..

Get Kurs Valuta Asing

Hal pertama yang akan kita coba yaitu kita akan mendapatkan nilai kurs valuta asing secara realtime..

Berdasarkan dokumentasi resmi nya, nilai ini akan diupdate dengan nilai yang terbaru pada setiap hari nya..

Kita hanya perlu menembakkan ke endpoint berikut pada postman nya:

https://api.exchangerate.host/latest

Method yang digunakan yaitu “GET”.. Silahkan kalian coba seperti pada gambar berikut:

Membuat Konversi Mata Uang Otomatis Dengan PHP

Kalian bisa cek hasil response diatas, terdapat property object dengan nama “base”: “EUR”, ini artinya kurs mata uang tersebut berdasarkan mata uang Euro..

Kemudian dibawah nya terdapat property object rates yang berisi list mata uang beserta nilai nya.. Nilai mata uang tersebut adalah hasil konversi dari mata uang euro..

Memfilter hasil kurs ke IDR saja

Biar lebih mudah dibaca kita coba tarik yang IDR saja dengan menambahkan parameter get symbols pada request nya.. Seperti contoh berikut:

Membuat Konversi Mata Uang Otomatis Dengan PHP

Kalian perhatikan gambar diatas, kalau kita hanya ingin menampilkan hasil konversi nya kedalam IDR saja, maka kita perlu menambahkan parameter symbols pada request nya, dan isi dengan symbol mata uang nya, kalau mau ke rupiah berarti kita isi dengan IDR..

Menambahkan hasil kurs ke 2 atau lebih mata uang

Kita juga bisa menambahkan symbol mata uang lain dengan memisahkan nya dengan koma, contoh nya seperti pada gambar berikut:

Membuat Konversi Mata Uang Otomatis Dengan PHP

Contoh diatas kita ingin menampilkan hasil konversi nya kedalam 2 mata uang, yaitu IDR dan MYR, maka pada inputan parameter nya, kita inputkan 2 symbol mata uang tersebut dengan memisahkan nya dengan koma(,)..

Hasil response diatas artinya adalah dalam 1 euro = 15186 rupiah, atau 1 euro = 4.5 Ringgit Malaysia..

Mengganti Base Rate nya dari Euro menjadi USD

Kita juga bisa mengganti base konversi nya dari euro menjadi nilai mata uang yang lain, misalkan kita ingin merubah base konversi nya dari euro menjadi USD, maka kita perlu menambahkan parameter baru dengan nama base pada request nya..

Contoh nya seperti pada gambar berikut:

Membuat Konversi Mata Uang Otomatis Dengan PHP

Diatas kita menambahkan sebuah request parameter baru dengan nama key nya yaitu base, dan value nya kita isi dengan USD..

Maka pada hasil response nya, untuk base konversi nya berdasarkan nilai USD..

Pada contoh diatas, 1 USD = 14868 Rupiah, atau 1 USD = 4.4 Ringgit Malaysia..

Integrasi kedalam Bahasa PHP dengan cURL

Sebelumnya kita sudah berhasil testing2 get kurs valuta asing menggunakan postman, nah sekarang akan kita terapkan kedalam bahasa pemgrograman PHP, bagaimana caranya?

Gampang banget, kita bisa menggunakan PHP – cURL, untuk contoh kode nya adalah seperti berikut:

....
public function getKursValutaAsing($symbols, $base)
{
    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_URL => 'https://api.exchangerate.host/latest?symbols=' . $symbols . '&base=' . $base,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'GET',
    ));

    $response = curl_exec($curl);

    curl_close($curl);

    $data = json_decode($response, true);
    return $data;
}
....

Pada contoh diatas kita membuat sebuah method dengan nama getKursValutaAsing..

Pada method tersebut memiliki 2 parameter, yaitu symbols dan base.. symbols kalian isi dengan nilai mata uang yang ingin dicari hasil kurs nya, dan base adalah nilai sumber dari kurs valuta asing nya..

Jika method tersebut dipanggil, maka contoh response nya adalah seperti berikut:

Membuat Konversi Mata Uang Otomatis Dengan PHP

Konversi diantara 2 mata uang

Sebelumnya kita sudah berhasil get kurs nilai mata uang dari mata uang tertentu ke beberapa mata uang..

Sekarang kita akan coba membandingkan atau melakukan konversi diantara 2 mata uang..

Cara nya kita perlu menembakkan ke endpoint berikut:

https://api.exchangerate.host/convert

Hanya saja nanti kita perlu menambahkan beberapa parameter saat request nya..

Beberapa parameter yang perlu ditambahkan yaitu:

  • from : digunakan untuk menentukan sumber mata uang yang ingin di konversikan
  • to : nilai mata uang hasil dari konversi nya
  • amount : nominal yang ingin dikonversikan

Jadi kalau misalkan kita ingin mengkonversi 10 USD menjadi IDR, maka from nya kita isi dengan USD, to nya kita isi dengan IDR, dan amount nya diisi dengan 10..

Untuk lebih jelas nya silahkan kalian lihat contoh berikut:

konversi mata uang otomatis dengan php

Kalau kalian coba menggunakan postman, maka seharusnya hasilnya sama seperti diatas..

Di response nya akan ada banyak property object, tapi jika kalian ingin mengambil hasil dari nilai konversi nya, bisa diambil dari property object result..

Property object result memberikan nilai 148585, ini artinya 10 USD sama dengan 148585 IDR..

Mengintegrasikan kedalam bahasa PHP

Kalo di konversikan kedalam bahasa PHP, maka hasilnya menjadi seperti berikut:

Baca Juga: Cara Kirim Notifikasi Whatsapp Pada Laravel Dengan Wablas Whatsapp Gateway

....
public function exchangeRate($from, $to, $amount)
{
    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_URL => 'https://api.exchangerate.host/convert?from=' . $from . '&to=' . $to . '&amount=' . $amount,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'GET',
    ));

    $response = curl_exec($curl);

    curl_close($curl);

    return json_decode($response, true);
}
....

Jadi diatas kita membuat sebuah method dengan nama exchangeRate, yang mana pada method tersebut memiliki 3 parameter, yaitu from, to dan amount..

Jadi ketika nanti kalian memanggil method tersebut, maka perlu mem-passing 3 parameter tersebut..

Historical Rates – Melihat kurs mata uang di masa lalu

Kalau kalian ingin melihat perbandingan nilai mata uang di masa lalu, misalkan di tahun kemarin, atau 5 tahun yang lalu, kalian bisa menggunakan fitur historical rates..

Kalian perlu menembakkan nya ke endpoint berikut:

https://api.exchangerate.host/{tanggal}

Jadi kalo kita menggunakan endpoint ini, ada tambahan 1 path parameter untuk menuliskan tanggal nya, tanggal yang ditulis yaitu dengan format : yyyy-mm-dd..

Biar lebih mudah langsung kita praktekan aja seperti pada gambar berikut:

Membuat Konversi Mata Uang Otomatis Dengan PHP

Pada gambar diatas, kita ingin mengetahui perbandingan nilai antara Rupiah terhadap USD pada tanggal 17 agustus 2005..

Ternyata pada tanggal tersebut, 1 USD = 9887 Rupiah..

Kalian juga bisa memilih tanggal yang lain, tinggal tentukan aja nilai nya pada path parameter nya..

Integrasi historical rates kedalam bahasa PHP

Untuk kodingan PHP nya seperti berikut:

....
public function historicalRates($date, $base, $symbols)
{
    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_URL => 'https://api.exchangerate.host/' . $date . '?base=' . $base . '&symbols=' . $symbols,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'GET',
    ));

    $response = curl_exec($curl);

    curl_close($curl);
    $data = json_decode($response, true);

    return $data;
}
....

Pada method diatas kita membuat 3 parameter, yaitu tanggal, base, dan symbols yang wajib kalian passing ketika memanggil method tersebut..

Time Series

Keren nya lagi, kita juga bisa melihat time series / histori perubahan pada mata uang tertentu berdasarkan periode tanggal nya..

Misalkan kita ingin melihat histori perubahan IDR terhadap USD dari tanggal 2022-01-01 sampai dengan 2022-01-05..

Maka bentuk request nya adalah seperti berikut:

Endpoint request:

https://api.exchangerate.host/timeseries

 

Membuat Konversi Mata Uang Otomatis Dengan PHP

Pada request diatas kita membawa 4 parameter, yaitu:

  1. start_date : Untuk menentukan tanggal awal kurs nya (yyyy-mm-dd)..
  2. end_date : Untuk menentukan tanggal akhir kurs nya (yyyy-mm-dd)..
  3. symbols : Untuk memilih nilai mata uang apa saja yang ingin dilihat histori nya, jika lebih dari 1, pisah dengan koma (,)..
  4. base : Base konversi nya..

Maka untuk hasil response nya bisa kita lihat seperti pada gambar diatas..

Konversi Time Series kedalam bahasa PHP

Untuk integrasi kedalam bahasa PHP nya, seperti biasa kita akan menggunakan PHP cURL seperti pada contoh berikut:

....
public function timeSeries($start_date, $end_date, $symbols, $base)
{
    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_URL => 'https://api.exchangerate.host/timeseries?start_date=' . $start_date . '&end_date=' . $end_date . '&symbols=' . $symbols . '&base=' . $base,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'GET',
    ));

    $response = curl_exec($curl);

    curl_close($curl);
    $data = json_decode($response, true);

    return $data;
}
....

Diatas kita membuat sebuah method PHP dengan nama timeSeries, yang mana pada method tersebut kita mempassing 4 buah parameter..

Gimana, mudah kan???

Support Us

Jika artikel ini bermanfaat untuk kamu, membantu menyelesaikan masalah yang sedang kamu hadapi, kamu juga bisa dukung kami dengan mengunjungi halaman berikut: https://saweria.co/sangcahayaid

Terima kasih..

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: