Wednesday, 9 November 2011

Menampilkan Kurs Mata Uang Dengan PHP


kurs mata uangBelakangan fetch kurs dari BCA sudah mulai agak ngadat, mungkin karena perbedaan lokasi server, KlikBCA lokasi servernya di Indonesia, dan web klien Saya rata – rata berada di luar negeri (USA kebanyakan). Oleh karena itu Saya memutuskan untuk mengambil data kurs dari Yahoo Finance.

Lokasi server Yahoo yang juga di USA mempercepat proses fetching update kurs tanpa perlu meyimpan cache data kurs.
Yang perlu kita perhatikan adalah kode untuk kurs – kurs tersebut, karena kita akan melakukan fetching dari data csv Yahoo Finance, misalnya IDR untuk Rupiah, USD untuk US Dollar, Eur untuk Euro dan lainnya dapat dilihat disini http://finance.yahoo.com/currency-investing
Berikut ini adalah contoh menampilkan kurs dari US Dollar ke Rupiah
<?php
// kode kurs, kalau ingin diubah mengacu ke finance.yahoo.com/currency-investing (misalnya GBP, dsb)
$usd = 'USD';
$rupiah  = 'IDR';

// ini adalah lokasi dimana data kurs yahoo finance berada, kurs yang ingin di konversi selalu berada dibelakang kurs patokan
$sumber = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $usd . $rupiah .'=X';

//kemudian kita mulai ambil data kursnya
$ambil = @fopen($sumber, 'r');
if ($ambil) {
//disini sudah didapat nilai dari kedua kurs, namun masih ada embel2 tanggal dan atribut lainnya, nanti kita akan hilangkan
$mentah = fgets($ambil, 4096);
    fclose($ambil);
}
$kolom = explode(',',$mentah);

// kini kita sudah mendapatkan nilai kurs rupiahnya
$rpdollar = $kolom[1];

// menampilkan hasil kurs rupiahnya
echo '1 USD = Rp.' .$rpdollar;

// akan tampil di web:  1 USD = Rp. 8900
?>
Jika ingin menambah daftar mata uang lainnya yang ingin di convert ke dollar, maka tinggal menambahkannya saja, jangan lupa untuk penamaan kode mata uang harus sesuai dengan yang ada disini:
http://finance.yahoo.com/currency-investing

1 comment: