Pernah lihat tabel kurs mata uang di BCA ? Kalau belum pernah, silakan dilihat dulu bagaimana kurs mata uang tersebut bekerja :) Nah, kurs itu setiap harinya akan selalu memberikan informasi yang selalu diperbaharui (update). Dan kebanyakan digunakan oleh pedagang di Indonesia, khusus-nya para pedagang komputer yang selalu menjual dengan kurs US Dollar.
Nah, kali ini saya akan memberikan tips dan source code dari hasil tersebut. Terima kasih buat beberapa rekan-rekan WWW Kaskus yang sudah pernah sharing sourcenya dan saya publish lagi di sini :D Ada tiga file di dalamnya yaitu : index.php; bca-fetch.php.
Menurut fungsi :
index.php berfungsi untuk menampilkan hasil kurs terbaru kepada public / Anda yang membuka halaman tersebut. Berikut contoh index.php yang digunakan (silakan dirubah sesuai kebutuhan) :
<table width="156" border="1" align="center" cellpadding="0" cellspacing="1" id="valas">
<!--DWLayoutTable-->
<tr>
<th><div align='center'>Kurs</div>
<th><div align='center'>Jual</div>
<th><div align='center'>Beli</div>
</tr>
<?php
include ("bca-fetch.php");
$er_array = grab_kurs();
$er_class = 'row2';
foreach ($er_array as $kurs)
{
if ($er_class == 'row2'){ $er_class = 'row1'; }else{ $er_class = 'row2'; }
?>
<tr>
<td class="<?php echo $er_class; ?>"><div align='left'><?php echo $kurs['mata_uang']; ?></div></td>
<td class="<?php echo $er_class; ?>"><div align='right'><?php echo $kurs['jual']; ?></div></td>
<td class="<?php echo $er_class; ?>"><div align='right'><?php echo $kurs['beli']; ?></div></td>
</tr>
<?php
}
?>
<tr>
<td height="18" colspan="5" align="center" valign="top" class="footer"><strong>BCA Last Update<br /><?php echo $er_last_update; ?></strong><br /><div align='center'>Nilai tukar <strong>1 satuan</strong> mata uang asing terhadap <strong>rupiah</div></td>
</tr>
</table>
bca-fetch.php berfungsi untuk mengambil $result dari KlikBCA yang akan diperbaharui setiap hari. :)
<?php
function grab_kurs(){
$url = 'http://www.klikbca.com/sme/Ind/rates.html';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
set_time_limit(0);
$handle = curl_exec($ch);
$handle = explode ('<table border="0" cellspacing="0" cellpadding="0" class="testL">', $handle);
$handle = explode ('</table>', $handle[1]);
$handle = explode ('<TR', $handle[0]);
$er = array ();
$out = array (' ', '</center>', '</td>', '<td valign="top" align="right">');
foreach ($handle as $rows)
{
if (!isset ($er_last_update))
{
$n = 0;
$last_update = explode ('<font color="black" size="1" face="Arial">', $rows);
$last_update = explode ('</font></div></td>', $last_update[1]);
$last_update = explode ("\n", $last_update[0]);
$er_last_update = trim ($last_update[0]) . ' ' . trim ($last_update[1]) . '</span>';
}
else
{
$line = explode ("\n", $rows);
$er[$n] = array (
'mata_uang' => trim (str_replace ($out, "", $line[2])),
'jual' => trim (str_replace ($out, "", $line[3])),
'beli' => trim (str_replace ($out, "", $line[4]))
);
$n = $n + 1;
}
}
$line = array ();
foreach ($er as $lines)
{
$line[] = implode ("|", $lines);
}
$line[] = $er_last_update;
$handle = implode ("\n", $line);
return $er;
}
?>
Berikut adalah contoh script Fetch Kurs yang sudah jadi
** Script ini dapat berjalan dengan baik apabila cURL pada WebHosting / Server yang Anda gunakan aktif, jika tidak maka script ini tidak akan bisa berjalan dengan sempurna :)
*** Thanks to IWW-ers, dan founder :)
Update1:
Terima kasih om sJ yang kapan hari mengingatkan kalau fetching BCA tidak bisa lagi digunakan, ada pemindahan lokasi ternyata :D Untunglah om DraCoola sudah membuat backupnya ^:)^ Berikut updatenya :
File bca-fetch.php :
<?php
function grab_kurs(){
$url = 'http://www.klikbca.com/individual/silver/ind/rates.html';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
set_time_limit(0);
$handle = curl_exec($ch);
$handle = explode ('<table border="0" cellspacing="0" cellpadding="0" class="testL">', $handle);
$handle = explode ('</table>', $handle[1]);
$handle = explode ('<TR', $handle[0]);
$er = array ();
$out = array (' ', '</center>', '</td>', '<td valign="top" align="right">');
foreach ($handle as $rows)
{
if (!isset ($er_last_update))
{
$n = 0;
$last_update = explode ('<font color="black" size="1" face="Arial">', $rows);
$last_update = explode ('</font></div></td>', $last_update[1]);
$last_update = explode ("\n", $last_update[0]);
$er_last_update = trim ($last_update[0]) . ' ' . trim ($last_update[1]) . '</span>';
}
else
{
$line = explode ("\n", $rows);
$er[$n] = array (
'mata_uang' => trim (str_replace ($out, "", $line[2])),
'jual' => trim (str_replace ($out, "", $line[3])),
'beli' => trim (str_replace ($out, "", $line[4]))
);
$n = $n + 1;
}
}
$line = array ();
foreach ($er as $lines)
{
$line[] = implode ("|", $lines);
}
$line[] = $er_last_update;
$handle = implode ("\n", $line);
return $er;
}
?>
Untuk demo tetap pada URL di atas :) Trims




mas sy dah coba script yg diatas kok ngga kluar kurs dollar malahan yg kluar error smua,,,tolong bantuin sy gmn caranya!!!!please kirim ke mail sy jwbannya
apa ini?? anjrit.
ada tidak script menentukan nilai atau memberi nilai pada pembuatan soal pilihan ganda
Mas kok gak jalan sekripnya? :malu:
wah ternyata saya lupa nyalain komputer… :ngacir:
kalau saya coba tampilin US, SGD, dan HKD saja gemana ya ?
mas kok ga muncul tanggal updatenya.???bingun nih, kasih solusinya donk!!
Makasih info Scriptsnya. Sudah coba install dan berhasil. Cuma Kok Tanggal sama waktu LAST UPDATENYA ngga keluar yah ?
Iya Mas Nitro, Tanggal update ngga nongol
iya ga bisa di hitung nie gagal kayak nya perlu modivikasi lagi
saya punya skrip tapi tolong di benahin ya ini skrip nya
FORM PERHITUNGAN KURS DAN FOREX
function formCheck(){var passed=false;passed=false;with (document.kurs){
if (nilai.value==”"){alert(“Silahkan Masukkan Nilai Mata Uang.”);nilai.focus()}
else{passed=true}}
return passed}
HITUNG nilai mata uang senilai :
DARI mata uang ini
KE mata uang ini
Indonesia Rupiahs IDR
Euro EUR
United States Dollars USD
United Kingdom Pounds GBP
Canada Dollars CAD
Australia Dollars AUD
Japan Yen JPY
India Rupees INR
New Zealand Dollars NZD
Switzerland Francs CHF
South Africa Rand ZAR
— Mata Uang 85 Negara Lainnya : –
Afghanistan Afghanis AFA
Albania Leke ALL
Algeria Dinars DZD
America (United States) Dollars USD
Argentina Pesos ARS
Australia Dollars AUD
Austria Schillings ATS*
Bahamas Dollars BSD
Bahrain Dinars BHD
Bangladesh Taka BDT
Barbados Dollars BBD
Belgium Francs BEF*
Bermuda Dollars BMD
Brazil Reais BRL
Bulgaria Leva BGN
Canada Dollars CAD
CFA BCEAO Francs XOF
CFA BEAC Francs XAF
Chile Pesos CLP
China Yuan Renminbi CNY
Colombia Pesos COP
Comptoirs Français du Pacifique Francs
Costa Rica Colones CRC
Croatia Kuna HRK
Cyprus Pounds CYP
Czech Republic Koruny CZK
Denmark Kroner DKK
Deutsche (Germany) Marks DEM*
Dominican Republic Pesos DOP
Dutch (Netherlands) Guilders NLG*
Eastern Caribbean Dollars XCD
Egypt Pounds EGP
Estonia Krooni EEK
Euro EUR
Fiji Dollars FJD
Finland Markkaa FIM*
France Francs FRF*
Germany Deutsche Marks DEM*
Gold Ounces XAU
Greece Drachmae GRD*
Holland (Netherlands) Guilders NLG*
Hong Kong Dollars HKD
Hungary Forint HUF
Iceland Kronur ISK
IMF Special Drawing Right XDR
India Rupees INR
Indonesia Rupiahs IDR
Iran Rials IRR
Iraq Dinars IQD
Ireland Pounds IEP*
Israel New Shekels ILS
Italy Lire ITL*
Jamaica Dollars JMD
Japan Yen JPY
Jordan Dinars JOD
Kenya Shillings KES
Korea (South) Won KRW
Kuwait Dinars KWD
Lebanon Pounds LBP
Luxembourg Francs LUF*
Malaysia Ringgits MYR
Malta Liri MTL
Mauritius Rupees MUR
Mexico Pesos MXN
Morocco Dirhams MAD
Netherlands Guilders NLG*
New Zealand Dollars NZD
Norway Kroner NOK
Oman Rials OMR
Pakistan Rupees PKR
Palladium Ounces XPD
Peru Nuevos Soles PEN
Philippines Pesos PHP
Platinum Ounces XPT
Poland Zlotych PLN
Portugal Escudos PTE*
Qatar Riyals QAR
Romania Lei ROL
Russia Rubles RUB
Saudi Arabia Riyals SAR
Silver Ounces XAG
Singapore Dollars SGD
Slovakia Koruny SKK
Slovenia Tolars SIT
South Africa Rand ZAR
South Korea Won KRW
Spain Pesetas ESP*
Special Drawing Rights (IMF) XDR
Sri Lanka Rupees LKR
Sudan Dinars SDD
Sweden Kronor SEK
Switzerland Francs CHF
Taiwan New Dollars TWD
Thailand Baht THB
Trinidad and Tobago Dollars TTD
Tunisia Dinars TND
Turkey New Lira TRY
Turkey Lira TRL*
United Arab Emirates Dirhams AED
United Kingdom Pounds GBP
United States Dollars USD
Venezuela Bolivares VEB
Vietnam Dong VND
Zambia Kwacha ZMK
— Mata Uang Khusus : –
CFA BEAC Francs XAF
CFA BCEAO Francs XOF
Comptoirs Français du Pacifique Francs
Eastern Caribbean Dollars XCD
Euro EUR
IMF Special Drawing Rights XDR
— Logam Mulia : –
Silver Ounces XDR
Gold Ounces XAU
Platinum Ounces XPT
Palladium Ounces XPD
Indonesia Rupiahs IDR
United States Dollars USD
Euro EUR
United Kingdom Pounds GBP
Canada Dollars CAD
Australia Dollars AUD
Japan Yen JPY
India Rupees INR
New Zealand Dollars NZD
Switzerland Francs CHF
South Africa Rand ZAR
— Mata Uang 85 Negara Lainnya : –
Afghanistan Afghanis AFA
Albania Leke ALL
Algeria Dinars DZD
America (United States) Dollars USD
Argentina Pesos ARS
Australia Dollars AUD
Austria Schillings ATS*
Bahamas Dollars BSD
Bahrain Dinars BHD
Bangladesh Taka BDT
Barbados Dollars BBD
Belgium Francs BEF*
Bermuda Dollars BMD
Brazil Reais BRL
Bulgaria Leva BGN
Canada Dollars CAD
CFA BCEAO Francs XOF
CFA BEAC Francs XAF
Chile Pesos CLP
China Yuan Renminbi CNY
Colombia Pesos COP
Comptoirs Français du Pacifique Francs
Costa Rica Colones CRC
Croatia Kuna HRK
Cyprus Pounds CYP
Czech Republic Koruny CZK
Denmark Kroner DKK
Deutsche (Germany) Marks DEM*
Dominican Republic Pesos DOP
Dutch (Netherlands) Guilders NLG*
Eastern Caribbean Dollars XCD
Egypt Pounds EGP
Estonia Krooni EEK
Euro EUR
Fiji Dollars FJD
Finland Markkaa FIM*
France Francs FRF*
Germany Deutsche Marks DEM*
Gold Ounces XAU
Greece Drachmae GRD*
Holland (Netherlands) Guilders NLG*
Hong Kong Dollars HKD
Hungary Forint HUF
Iceland Kronur ISK
IMF Special Drawing Right XDR
India Rupees INR
Indonesia Rupiahs IDR
Iran Rials IRR
Iraq Dinars IQD
Ireland Pounds IEP*
Israel New Shekels ILS
Italy Lire ITL*
Jamaica Dollars JMD
Japan Yen JPY
Jordan Dinars JOD
Kenya Shillings KES
Korea (South) Won KRW
Kuwait Dinars KWD
Lebanon Pounds LBP
Luxembourg Francs LUF*
Malaysia Ringgits MYR
Malta Liri MTL
Mauritius Rupees MUR
Mexico Pesos MXN
Morocco Dirhams MAD
Netherlands Guilders NLG*
New Zealand Dollars NZD
Norway Kroner NOK
Oman Rials OMR
Pakistan Rupees PKR
Palladium Ounces XPD
Peru Nuevos Soles PEN
Philippines Pesos PHP
Platinum Ounces XPT
Poland Zlotych PLN
Portugal Escudos PTE*
Qatar Riyals QAR
Romania Lei ROL
Russia Rubles RUB
Saudi Arabia Riyals SAR
Silver Ounces XAG
Singapore Dollars SGD
Slovakia Koruny SKK
Slovenia Tolars SIT
South Africa Rand ZAR
South Korea Won KRW
Spain Pesetas ESP*
Special Drawing Rights (IMF) XDR
Sri Lanka Rupees LKR
Sudan Dinars SDD
Sweden Kronor SEK
Switzerland Francs CHF
Taiwan New Dollars TWD
Thailand Baht THB
Trinidad and Tobago Dollars TTD
Tunisia Dinars TND
Turkey New Lira TRY
Turkey Lira TRL*
United Arab Emirates Dirhams AED
United Kingdom Pounds GBP
United States Dollars USD
Venezuela Bolivares VEB
Vietnam Dong VND
Zambia Kwacha ZMK
— Mata Uang Khusus : –
CFA BEAC Francs XAF
CFA BCEAO Francs XOF
Comptoirs Français du Pacifique Francs
Eastern Caribbean Dollars XCD
Euro EUR
IMF Special Drawing Rights XDR
— Logam Mulia : –
Silver Ounces XDR
Gold Ounces XAU
Platinum Ounces XPT
Palladium Ounces XPD