Friday, June 16, 2006

Grabbing Informasi Cuaca dari Situs BMG
Sebuah aplikasi ramalan cuaca dapat dibuat dengan mengambil data dari situs lain, disini penulis mencoba mangambil lansung dari Situs BMG Indonesia.
Untuk mengakses data dari situs lain digunakan fungsi fopen().

Semoga dapat bermanfaat !.

<div align="center">
<center>
<table border="1" width="40%" bordercolorlight="#000000" cellpadding="2" bordercolordark="#000000">
<tr><td width="100%" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<p align="center"><font size="5"><b>Prakiraan Cuaca di Indonesia</b></font><br>
( Source: BMG <a href="http://www.bmg.go.id" target="_blank">www.bmg.go.id</a>)<hr>
<form method="get" action="<?=$php_self?>">
<p align="center">
<input type="hidden" name="BMG" size="1" value="Submit">
<select size="1" name="weather_bmg" onchange=javascript:this.form.submit();">
<option value="null">----SUMATRA----</option>
<option value="bandaaceh">Banda Aceh</option>
<option value="medan">Medan</option>
<option value="pekanbaru">Pakanbaru</option>
<option value="padang">Padang</option>
<option value="jambi">Jambi</option>
<option value="palembang">Palembang</option>
<option value="bengkulu">Bengkulu</option>
<option value="lampung">Lampung</option>

<option value="null">-----JAWA------</option>
<option value="jakarta">Jakarta</option>
<option value="bandung">Bandung</option>
<option value="semarang">Semarang</option>
<option value="yogjakarta">yogyakarta</option>
<option value="surabaya">Surabaya</option>

<option value="null">-NUSA TENGGARA-</option>
<option value="denpasar">Denpasar</option>
<option value="sumbawabesar">Sumbawa Besar</option>
<option value="mataram">Mataram</option>
<option value="kupang">Kupang</option>

<option value="null">---KALIMANTAN--</option>
<option value="pontianak">Pontianak</option>
<option value="samarinda">Samarinda</option>
<option value="palangkaraya">Palangkaraya</option>
<option value="banjarmasin">Banjarmasin</option>

<option value="null">----SULAWESI---</option>
<option value="manado">Manado</option>
<option value="palu">Palu</option>
<option value="makasar">Makasar</option>
<option value="kendari">Kendari</option>

<option value="null">-----MALUKU----</option>
<option value="ternate">Ternate</option>
<option value="ambon">Ambon</option>

<option value="null">---IRIAN JAYA--</option>
<option value="sorong">Sorong</option>
<option value="biak">Biak</option>
<option value="jayapura">Jayapura</option>
<option value="merauke">Merauke</option>
</select><br>
</form>

<?

// Baris ini adalah untuk pilihan default pertama kali adalah JAKARTA.
if (!isset($weather_bmg) || $weather_bmg=='null'){
$weather_bmg='jakarta';
}

// Mengambil page per nama nama kota
$fd= fread(fopen("http://meteo.bmg.go.id/aspfile/$weather_bmg.asp", "r"), 100000);


// Kondisi ini boleh tidak dipakai, karena hanya untuk mengambil baris intinya saja.
if ($fd) {
$start= strpos($fd, "<TABLE>");
$finish= strpos($fd, "</TABLE>");
$length= $finish-$start;
$code=Substr($fd, $start, $length);
}

//Baris ini adalah untuk mengganti direktory imagenya agar langsung mengambil ke situs BMG bukan kelokal.
$code = str_replace('../images/', 'http://meteo.bmg.go.id/images/', $code);

echo $code;
?>

</td></tr>
</table>
</center>
</div>