Posts Tagged ‘kurs’

Script PHP Mengambil Nilai Tukar Valuta Asing dari BI Bank Indonesia

This item was filled under [ Code Snippet, PHP ]

Dapet riquest dari temen lg nih.. hehe :wink:
Mirip seperti sebelumnya yg mengambil lewat BCA dan Beacukai, akan tetapi skrg mengambil dari sumber BI (Bank Indonesia).
Berikut adalah script php untuk menampilkan kondisi mata uang valuta asing mengambil data yang bersumber dari http://www.bi.go.id

Dengan menggunakan dua metode, menggunakan curl atau juga bisa menggunakan file_get_content().
Fungsi script PHP nya adalah sbb:

<?php
/*
Ambil Nilai Valuta Kurs Dari BI Versi 1.0
Tanggal: 2008-12-31 16:31
oleh: jinbatsu (http://www.nusansifor.com) 
*/
error_reporting (E_ALL);
//
// Ubah menjadi 3600 untuk cache 1 jam, ketika semuanya sudah berjalan normal.
// Menggunakan cache berarti tidak perlu membuka koneksi ke klikbca
// setiap kali halaman dibuka << ini PENTING! menghemat waktu, dan mengurangi proses server.
//
$nkurs['cachetime'] = 3600; /* ubah jadi 3600 atau lebih */
//
// menggunakan CURL, jika file_get_contents tidak bisa dihostingan Anda, baca manual PHP untuk selengkapnya
// Untuk Cara penggunaan file get content:
// file_get_contents($url, "r")
// Untuk Cara penggunaan CURL:
// curl_get_file_contents($url)
$url = "http://www.bi.go.id/web/id/Moneter/Kurs+Bank+Indonesia/Kurs+Transaksi";	
$handle_url_metod = file_get_contents($url, "r");
//$handle_url_metod = curl_get_file_contents($url);
$header = '
			<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
			<html xmlns="http://www.w3.org/1999/xhtml">
			<head>
			<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
			<title>Nilai Valuta Kurs Dari BI Versi 1.0</title>
			<script type="text/javascript">
				function win2() {
					window.open("http://www.bi.go.id/biweb/Templates/Moneter/kode2.aspx","Window1","menubar=no,scrollbars=no,status=no,width=200,height=325,toolbar=no");
				}
			</script>
			<style type="text/css">
			#kurs_bi {
				width: 350px;
				background: #FFFFFF;
				padding: 0;
				border: 0;
				font-size: 11px;
				font-family: Verdana, Arial, Helvetica, sans-serif;
			}
			#kurs_bi table {
				border: 0 solid #ccc;
				padding: 2px 2px;
			}
			#kurs_bi table tr td table {
				border: 1px solid #ccc;
				padding: 0;
			}
			#kurs_bi .style6 {
				font-size: 13px;
			}
			</style>
			</head>
 
			<body>
 
			<div id="kurs_bi">
';
 
$footer = '
			<br />
			Sumber: <a href="http://www.bi.go.id">Bank Indonesia (BI)</a>
			</div>
			</body>
			</html>
';	
 
 
 
 
// Dari sini kebawah, ubah kalau mengerti aja.
//$nkurs['curr'] = array ('USD', 'SGD', 'HKD', 'CHF', 'GBP', 'AUD', 'JPY', 'SEK', 'DKK', 'CAD', 'EUR', 'SAR', 'MYR', 'NZD', 'NOK', 'BUK', 'INR', 'KWD', 'PKR', 'PHP', 'LKR', 'THB', 'BND', 'CNY', 'KRW');
 
 
function curl_get_file_contents($URL) {
	$c = curl_init();
	curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($c, CURLOPT_URL, $URL);
	$contents = curl_exec($c);
	curl_close($c);
	if ($contents) return $contents;
	else return FALSE;
}
 
$nkurs['scriptpath'] = dirname (__FILE__);
$nkurs['cachefile'] = $nkurs['scriptpath'] . '/cache.txt';
$output = "";
if (!file_exists ($nkurs['cachefile']) || !is_writable ($nkurs['cachefile'])){ die ('File cache.txt belum ada atau belum writable.<br />Buat file:
 
<div>::CODECOLORER_BLOCK_1::</div>
 
<br />Lalu CHMOD ke 666'); }
if (filemtime ($nkurs['cachefile']) <= ( time () - $nkurs['cachetime'] ) && $handle = $handle_url_metod)  {
	$output .= '<table cellspacing="1" cellpadding="0" border="0" bgcolor="#cccccc" align="center" width="100%">';
	function extract_unit($string, $start, $end) {
		$pos = stripos($string, $start);
		$str = substr($string, $pos);
		$str_two = substr($str, strlen($start));
		$second_pos = stripos($str_two, $end);
		$str_three = substr($str_two, 0, $second_pos);
		$unit = trim($str_three); // remove whitespaces
		return $unit;
	}
	$unit = extract_unit($handle, '<!---------------------- Kurs Transaksi Bank Indonesia ---------------------->', '<!----------------------End Kurs Transaksi Bank Indonesia ---------------------->');
	$hasil = explode("<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" align=\"center\">", $unit);
	$hasil = $hasil[0];
	$hasil = str_replace('/Biweb/', 'http://www.bi.go.id/Biweb/', $hasil);
	$hasil = str_replace('/biweb/', 'http://www.bi.go.id/biweb/', $hasil);
	//$hasil = str_replace('KodeSingkatan', '', $hasil);
	$output .= $hasil;
	$i = 0;
	/*
	foreach($hasil1 as $hasil) {
		if ($i == 30) {continue;}
		$output .= "<tr>";
		$hasil = str_replace('untuk setiap', '', $hasil);
		$hasil = str_replace('1,00', '', $hasil);
		$hasil = str_replace('100,00', '', $hasil);
		$hasil = str_replace('border="1"', 'border="0"', $hasil);
		foreach($nkurs['curr'] as $ilangan) {
			$hasil = str_replace($ilangan, '', $hasil);
		}
		$output .= $hasil;
		//$output .= "<br />" . $i;
		//$output .= "</tr>";
		$i++;
	}
	*/
	$output .= '</table>';
	$tocache = $output;
	$handle = fopen ($nkurs['cachefile'], 'w');
	fwrite ($handle, $tocache);
	fclose ($handle);
	//$output .= $hasil2;
} else {
	$handle = file ($nkurs['cachefile']);
	foreach($handle as $out) {
		$output .= $out;
	}
}
 
 
 
echo $header;
echo $output;
echo $footer;
?>

Demo: klik disini
Download file contoh script komplit nya:

  kurs_BI_v1.rar (3.3 KiB, 2,213 hits)

semoga bermanfaat :mrgreen:

1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 4.60 out of 5)
Loading ... Loading ...
Popularity: 7,147 views
Tagged with: [ , , , , ]

Script PHP Mengambil Nilai Tukar Valuta Asing dari Beacukai

This item was filled under [ Code Snippet, PHP ]

Mirip seperti sebelumnya yg mengambil lewat BCA, akan tetapi skrg mengambil dari sumber beacukai.
Berikut adalah script php untuk menampilkan kondisi mata uang valuta asing mengambil data yang bersumber dari http://www.beacukai.go.id

Dengan menggunakan dua metode, menggunakan curl atau juga bisa menggunakan file_get_content().
Fungsi script PHP nya adalah sbb:

<?php
/*
Ambil Nilai Valuta Kurs Dari Beacukai Versi 1.0
Tanggal: 2008-12-30 17:04
oleh: jinbatsu (http://www.nusansifor.com) 
*/
error_reporting (E_ALL);
//
// Ubah menjadi 3600 untuk cache 1 jam, ketika semuanya sudah berjalan normal.
// Menggunakan cache berarti tidak perlu membuka koneksi ke klikbca
// setiap kali halaman dibuka << ini PENTING! menghemat waktu, dan mengurangi proses server.
//
$nkurs['cachetime'] = 3600; /* ubah jadi 3600 atau lebih */
//
// menggunakan CURL, jika file_get_contents tidak bisa dihostingan Anda, baca manual PHP untuk selengkapnya
// Untuk Cara penggunaan file get content:
// file_get_contents($url, "r")
// Untuk Cara penggunaan CURL:
// curl_get_file_contents($url)
$url = "http://www.beacukai.go.id/rates/exchRateID.php";	
$handle_url_metod = file_get_contents($url, "r");
//$handle_url_metod = curl_get_file_contents($url);
$header = '
			<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
			<html xmlns="http://www.w3.org/1999/xhtml">
			<head>
			<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
			<title>Nilai Valuta Kurs Dari Beacukai Versi 1.0</title>
			<style>
			#kurs_beacukai {
				width: 350px;
				background: #FFFFFF;
				padding: 0;
				border: 0;
				font-size: 11px;
				font-family: Verdana, Arial, Helvetica, sans-serif;
			}
			#kurs_beacukai table {
				border: 0 solid #ccc;
				padding: 2px 2px;
			}
			#kurs_beacukai table tr td table {
				border: 1px solid #ccc;
				padding: 0;
			}
			#kurs_beacukai .style6 {
				font-size: 13px;
			}
			</style>
			</head>
 
			<body>
 
			<div id="kurs_beacukai">
';
 
$footer = '
			<br />
			Sumber: <a href="http://www.beacukai.go.id">beacukai</a>
			</div>
			</body>
			</html>
';	
 
 
 
 
// Dari sini kebawah, ubah kalau mengerti aja.
$nkurs['curr'] = array ('USD', 'SGD', 'HKD', 'CHF', 'GBP', 'AUD', 'JPY', 'SEK', 'DKK', 'CAD', 'EUR', 'SAR', 'MYR', 'NZD', 'NOK', 'BUK', 'INR', 'KWD', 'PKR', 'PHP', 'LKR', 'THB', 'BND', 'CNY', 'KRW');
 
 
function curl_get_file_contents($URL) {
	$c = curl_init();
	curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($c, CURLOPT_URL, $URL);
	$contents = curl_exec($c);
	curl_close($c);
	if ($contents) return $contents;
	else return FALSE;
}
 
$nkurs['scriptpath'] = dirname (__FILE__);
$nkurs['cachefile'] = $nkurs['scriptpath'] . '/cache.txt';
$output = "";
if (!file_exists ($nkurs['cachefile']) || !is_writable ($nkurs['cachefile'])){ die ('File cache.txt belum ada atau belum writable.<br />Buat file:
 
<div>::CODECOLORER_BLOCK_2::</div>
 
<br />Lalu CHMOD ke 666'); }
if (filemtime ($nkurs['cachefile']) <= ( time () - $nkurs['cachetime'] ) && $handle = $handle_url_metod)  {
	$output .= '<table width="100%"  border="0" cellspacing="0" cellpadding="0">';
	$handle = explode ('<table width="100%"  border="0" cellspacing="0" cellpadding="0">', $handle);
	$hasil2 = $handle[3];
	$hasil1 = explode('<tr>', $handle[3]);
	$i = 0;
	foreach($hasil1 as $hasil) {
		if ($i == 30) {continue;}
		$output .= "<tr>";
		$hasil = str_replace('untuk setiap', '', $hasil);
		$hasil = str_replace('1,00', '', $hasil);
		$hasil = str_replace('100,00', '', $hasil);
		$hasil = str_replace('border="1"', 'border="0"', $hasil);
		foreach($nkurs['curr'] as $ilangan) {
			$hasil = str_replace($ilangan, '', $hasil);
		}
		$output .= $hasil;
		//$output .= "<br />" . $i;
		//$output .= "</tr>";
		$i++;
	}
	$output .= '</table>';
	$tocache = $output;
	$handle = fopen ($nkurs['cachefile'], 'w');
	fwrite ($handle, $tocache);
	fclose ($handle);
	//$output .= $hasil2;
} else {
	$handle = file ($nkurs['cachefile']);
	foreach($handle as $out) {
		$output .= $out;
	}
}
 
 
 
echo $header;
echo $output;
echo $footer;
?>

Demo: klik disini
Download file contoh script komplit nya:

  kurs_beacukaiV1.rar (1.8 KiB, 1,585 hits)

semoga bermanfaat :mrgreen:

1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 5.00 out of 5)
Loading ... Loading ...
Popularity: 30,575 views
Tagged with: [ , , , , ]

Script PHP Mengambil Nilai Tukar Valuta Asing BCA

This item was filled under [ Code Snippet, PHP ]

Berikut adalah script php untuk menampilkan kondisi mata uang valuta asing mengambil data yang bersumber dari http://www.klikBCA.com.

Dengan dua metode, menggunakan curl atau juga bisa menggunakan file_get_content().

Pertama-tama kita buat file fungsi_kurs_bca.php, yg isinya sbb.:

<?php
/*
Ambil Nilai Valuta Kurs Dari BCA Versi 1.0
Tanggal: 2008-11-19 22:17
Original dari azza (broadband.or.id/forum/)
dimodif oleh: jinbatsu (http://www.nusansifor.com) 
yg dimodif:
	- menggunakan CURL sebagai alternatif dari file_get_contents (hususnya buat yg gak bisa di hostingan2 tertentu)
	- penempatan output  titik koma dan tanda petik yg mengakibatkan fatal error dibeberapa hostingan
	- menambah number format, supaya terlihat ada titik pada ribuan nya
*/
error_reporting (E_ALL);
//
// Ubah menjadi 3600 untuk cache 1 jam, ketika semuanya sudah berjalan normal.
// Menggunakan cache berarti tidak perlu membuka koneksi ke klikbca
// setiap kali halaman dibuka << ini PENTING! menghemat waktu, dan mengurangi proses server.
//
$nkurs['cachetime'] = 3600; /* ubah jadi 3600 atau lebih */
//
// Hilangkan mata uang yang tidak mau ditampilkan.
//
$nkurs['curr'] = array ('USD', 'SGD', 'HKD', 'CHF', 'GBP', 'AUD', 'JPY', 'SEK', 'DKK', 'CAD', 'EUR', 'SAR');
//
// Dari sini kebawah, ubah kalau mengerti aja.
// Atau tanya dulu di: broadband.or.id/forum/viewforum.php?f=7 (database forumnya sekarang udah gak ada, silahkan dicek  lagi)
//
// menggunakan CURL, jika file_get_contents tidak bisa dihostingan Anda, baca manual PHP untuk selengkapnya
function curl_get_file_contents($URL) {
	$c = curl_init();
	curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($c, CURLOPT_URL, $URL);
	$contents = curl_exec($c);
	curl_close($c);
	if ($contents) return $contents;
	else return FALSE;
}
$nkurs['scriptpath'] = dirname (__FILE__);
$nkurs['cachefile'] = $nkurs['scriptpath'] . '/cache.txt';
if (!file_exists ($nkurs['cachefile']) || !is_writable ($nkurs['cachefile'])){ die ('File cache.txt belum ada atau belum writable.<br />Buat file:
 
<div>::CODECOLORER_BLOCK_3::</div>
 
<br />Lalu CHMOD ke 666'); }
if (filemtime ($nkurs['cachefile']) <= ( time () - $nkurs['cachetime'] ) && $handle = curl_get_file_contents("http://www.klikbca.com/individual/silver/ind/rates.html"))  {
	$handle = explode ('<table border="0" cellspacing="0" cellpadding="0" class="testL">', $handle);
	$handle = explode ('</table>', $handle[1]);
	$handle = explode ('<TR', $handle[0]);
	$nkurs['data'] = array ();
	foreach ($handle as $val) {
		if (!isset ($nkurs['remotelastupdate'])) {
			$nkurs['remotelastupdate'] = explode ('<font color="black" size="1" face="Arial">', $val);
			$nkurs['remotelastupdate'] = explode ('</font>', $nkurs['remotelastupdate'][1]);
			$nkurs['remotelastupdate'] = explode ('/', $nkurs['remotelastupdate'][0]);
			$nkurs['remotelastupdate'] = trim ($nkurs['remotelastupdate'][0]) . ' / ' . trim ($nkurs['remotelastupdate'][1]);
		} else {
			$val = explode ('<center>', $val);
			$val = explode ('</center>', $val[1]);
			$curr = trim (str_replace ('&nbsp;', '', $val[0]));
			$val = explode ('&nbsp;', $val[1]);
			$sell = explode ('align="right">', $val[0]);
			$sell = trim ($sell[1]);
			$buy = explode ('align="right">', $val[1]);
			$buy = trim ($buy[1]);
			$nkurs['data'][$curr] = array ($sell, $buy);
		}
	}
	$tocache = array ();
	foreach ($nkurs['data'] as $key => $val) {
		$tocache[] = $key . '|' . $val[0] . '|' . $val[1];
	}
	$tocache[] = 'remotelastupdate|' . $nkurs['remotelastupdate'];
	$tocache = implode ("\n", $tocache);
	$handle = fopen ($nkurs['cachefile'], 'w');
	fwrite ($handle, $tocache);
	fclose ($handle);
} else {
	$handle = file ($nkurs['cachefile']);
	$nkurs['data'] = array ();
	foreach ($handle as $val) {
		$val = explode ('|', $val);
		if ($val[0] != 'remotelastupdate') {
			$nkurs['data'][$val[0]] = array ($val[1], trim ($val[2]));
		}
		else
		{
			$nkurs['remotelastupdate'] = $val[1];
		}
	}
}
//
// Output
//
$output = "\n";
$margin = '';
$output .= $margin . '<div id="nKurs">' . "\n";
$output .= $margin . '	<table width="100%" border="0" cellspacing="1" cellpadding="0">' . "\n";
$output .= $margin . '		<tr><th>Mata Uang</th><th>Jual</th><th>Beli</th></tr>' . "\n";
$rowclass = 'row1';
foreach ($nkurs['data'] as $key => $val) {
	if (in_array ($key, $nkurs['curr'])) {
		if ($rowclass == 'row1'){ $rowclass = 'row2'; }else{ $rowclass = 'row1'; }
		$output .= $margin . '		<tr><td align="center" class="curr ' .$rowclass . '">' . $key . '</td><td align="right" class="' . $rowclass . '">' . number_format($val[0], 2) . '</td><td align="right" class="' . $rowclass . '">' . number_format($val[1], 2) . '</td></tr>' . "\n";
	}
}
$output .= $margin . '	</table>' . "\n";
$output .= $margin . '	<cite><a href="http://www.klikbca.com/" rel="external" title="Source: KlikBCA">' . $nkurs["remotelastupdate"] . '</a></cite>' . "\n";
$output .= $margin . '</div>' . "\n";
echo $output;
?>

Lalu kita siapkan file berikutnya kurs_bca.php, yaitu sbb.:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nilai Tukar Mata Uang Asing dari KlikBCA</title>
<link href="kurs_bca.css" rel="stylesheet" type="text/css" />
</head>
 
<body>
<?php
include_once("fungsi_kurs_bca.php");
?>
 
</body>
</html>

Dan untuk men-design tampilan lebar dan warna, kita buat file kurs_bca.css, yg isinya sbb.:

#nKurs {
	width: 170px;
	background: #FFFFFF;
	padding: 1px;
}
#nKurs table {
	border: 1px solid #333399;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}
#nKurs table th {
	color: #FFFFFF;
	background-color: #333399;
	font-size: 10px;
	padding: 2px 0px;
}
#nKurs table td {
	font-size: 10px;
	color: #333399;
	padding: 1px 2px;
}
#nKurs table td.curr {
	font-weight: bold;
}
#nKurs table td.row1 {
	background-color: #EEF1F6;
}
#nKurs table td.row2 {
	background-color: #EBF2FF;
}
#nKurs cite {
	display: block;
	color: #333399;
	font-style: normal;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	text-align: center;
}
#nKurs a:link, #nKurs a:visited {
	color: #333399;
	text-decoration: none;
}
#nKurs a:hover {
	color: #FF0000;
}

Demo: klik disini
Download file contoh script komplit nya:

  kurs_bcaV2.rar (2.6 KiB, 3,349 hits)

semoga bermanfaat :mrgreen:
oya tambahan, untuk menggunakan metode fungsi file_get_contents(), ubah code

curl_get_file_contents("alamat url nya")

menjadi:

file_get_contents("alamat url nya", "r")

thx to balaiweb atas suggest nya.
jika ada masukan lain, silahkan share…

UPDATE:
link url klik bca exchange rate berubah (file download sudah termasuk perubahan alamat url nya)

PERHATIAN!!
untuk mencoba script berjalan dgn baik, silahkan diubah variabel berikut:

$nkurs['cachetime'] = 3600;

menjadi:

$nkurs['cachetime'] = 0;

Setelah OK, ubah kembali menjadi 3600 atau lebih, untuk hemat resource.

1 Star2 Stars3 Stars4 Stars5 Stars (8 votes, average: 5.00 out of 5)
Loading ... Loading ...
Popularity: 12,267 views
Tagged with: [ , , , , , , ]

Halaman ini di eksekusi dalam waktu 2.589 detik! (mayan lah segini mah...)