Iseng-iseng kemarin saya browsing di internet dan menemukan layanan konversi mata uang dari Yahoo Finance. Yang menarik pada layanan tersebut, kita bisa mendownload hasilnya secara gratis dalam format CSV. Dan menurut logika saya jika kita bisa mendownloadnya dalam format CSV maka kita bisa menampilkannya diwebsite. Dan setelah saya coba ternyata hal tersebut bisa dilakukan dengan menggunakan PHP.
Pertama-tama silahkan anda buka website Yahoo Finance terlebih dahulu untuk melihatnya. Kemudian cobalah anda pilih untuk mengkonversi mata uang dari Dollar Amerika (USD) ke Indonesia Rupiah (IDR). Dan klik tombol Convert. Setelah itu anda akan mendapatkan hasilnya dan dibawahnya anda dapat mendownload data dalam format CSV. Nah inilah yang akan kita manfaatkan untuk membuat website yang dapat menampilkan konversi mata uang.
Karena file CSV merupakan file text kita hany perlu memparsingnya saja agar tampilannya sesuai keinginan kita. Ketika kita mengklik tombol data, maka kita akan menuju ke link:
http://download.finance.yahoo.com/d/quotes.csv?s=USDIDR=X&f=sl1d1t1ba&e=.csv
Jika diperhatikan terdapat s=USDIDR, dan sepertinya ini konversinya jadi logikanya kalau kita ubah ke s=GBPIDR seharusnya kita mendapatkan koversi dari Poundsterling ke Rupiah. Dan hasil dari link diatas dalam bentuk CSV adalah seperti ini:
USDIDR=X,9370.50,"12/17/2007","10:04pm",9368.00,9373.00
Oke sepertinya kita dapat informasi seperti nilai jual, nilai beli dan tanggal. Hanya saja saya tidak tahu yang mana nilai jual dan nilai beli :)
Oke daripada pusing langsung saja kita coba kodenya. Pertama-tama ketiklah kode berikut ini dan simpan dengan nama konvert.php
<?
$matauang="USD";
$matauangkonversi="IDR";
$row = 1;
$handle = fopen("http://download.finance.yahoo.com/d/quotes.csv?s=$matauang$matauangkonversi=X&f=sl1d1t1ba&e=.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
?>
Silahkan anda coba dan jalankan. Anda akan mendapatkan hasil konversi dari USD ke IDR. Disini diasumsikan 1 USD dikonversi ke IDR. Oke akan saya jelaskan satu-satu. Pertama-tama anda memiliki 2 variabel yaitu $matauang dan $matauangkonversi dimana isinya merupakan 3 kode mata uang internasional yang akan dikonversikan. Kemudian kita menggunakan fungsi fopen() untuk memanggil file CSV dari Yahoo. Karena file yang kita terima dalam bentuk CSV maka kita perlu mengkonversinya. Untunglah PHP memiliki fungsi fgetcsv(). Kode konversi diatas saya ambil langsung dari website resmi PHP. Sekarang silahkan anda jalankan filenya.
Cobalah untuk mengubah mata uang yang diinginkan, seperti Poudsterling. Gantilah nilai $matauang dengan GBP, atau ubahlah dengan mata uang yang anda inginkan. Contoh diatas merupakan contoh sederhana dan tentu saja masih bisa dikembangkan sesuai kebutuhan anda. Yang jelas kita mengambil nilai mata uang dari Yahoo Finance langsung secara real time.