Menampilkan Prakiraan Cuaca dari BMKG ke Website Menggunakan Parse XML php

Share on facebook
Facebook
Share on twitter
Twitter
Share on pinterest
Pinterest
Share on tumblr
Tumblr
Share on reddit
Reddit
Share on linkedin
LinkedIn
Share on telegram
Telegram
Share on whatsapp
WhatsApp

Kali ini sedikit orat oret untuk masalah membuat widget atau script guna menampilkan informasi cuaca yang bersumber dari situs resmi bmkg.go.id ke dalam website Anda. Sebenarnya pada situs bmkg sudah menyediakan data yang bersifat open yang bisa disingkronkan dengan website lain dalam beberapa klasifikasi, bisa dilihat di url ini http://data.bmkg.go.id/ yang didalamnya berupa kumpulan data xml. Kali ini hanya mengambil informasi cuaca saja dan lebih detailnya informasi cuaca pada sebuah 1 kota saja. Agar file xml tadi bisa ditampilkan diwebsite Anda, ada beberapa metode untuk mengaplikasikannya dan saya memilih untuk menggunakan metode parse xml.

cuaca-bmkg

Mungkin Anda juga pernah menjumpai metode lain untuk mengaplikasikanya menggunakan php curl, namun saya lebih cenderung untuk menggunakan metode parse xml, dan berikut dibawah merupakan contoh script pengambilan data prakiraan cuaca dari bmkg, lebih tepatnya informasi cuaca untuk propinsi jawa timur dengan kota Blitar:

<?php
$url = "http://data.bmkg.go.id/propinsi_16_1.xml"; // from http://data.bmkg.go.id/ sesuaikan dengan lokasi yang diinginkan
$sUrl = file_get_contents($url, False);
$xml = simplexml_load_string($sUrl);
for ($i=0; $i<sizeof($xml->Isi->Row); $i++) {
    $row = $xml->Isi->Row[$i];
    if(strtolower($row->Kota) == "blitar") {// blitar merupakan contoh kota yang diambil data cuacanya dari bmkg
        echo "<b>" . strtoupper($row->Kota) . "</b><br/>";
        echo "<img src='http://www.bmkg.go.id/ImagesStatus/" . $row->Cuaca . ".gif' alt='" . $row->Cuaca . "'><br/>";
	echo "Cuaca : " . $row->Cuaca . "<br/>";
        echo "Suhu : " . $row->SuhuMin . " - ".$row->SuhuMax . " &deg;C<br/>";
        echo "Kelembapan : " . $row->KelembapanMin . " - " . $row->KelembapanMax . " %<br/>";
	echo "Kecepatan Angin : " . $row->KecepatanAngin . " (km/jam)<br/>";
	echo "Arah Angin : " . $row->ArahAngin . "<br/>";
        break;
    }
}
?>

dan berikut hasil priview dari scipt diatas;

blitar

Apabila ingin menggunakan lewat metode php curl berikut contohnya dibawah:

<?php
function fungsiCurl($url){
  $data = curl_init();
  curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($data, CURLOPT_URL, $url);
  curl_setopt($data, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
  $hasil = curl_exec($data);
  curl_close($data);
  return $hasil;
}
$url = fungsiCurl('http://www.bmkg.go.id/BMKG_Pusat/Informasi_Cuaca/Prakiraan_Cuaca/Prakiraan_Cuaca_Indonesia.bmkg');
$pecah = explode('<h1>Prakiraan Cuaca Indonesia</h1>',$url);
$pecah2 = explode('<h3>Cuaca Propinsi Lainnya :</h3>',$pecah[1]);
$result = $pecah2[0];
$result = preg_replace("/<img[^>]+\>/i", "", $result);
print_r($result);
?>

Tidak seperti metode parse xml php, untuk metode diatas yang menggunakan curl php akan menampikan informasi yang diambil dari link

http://www.bmkg.go.id/BMKG_Pusat/Informasi_Cuaca/Prakiraan_Cuaca/Prakiraan_Cuaca_Indonesia.bmkg

ditampilkan berupa tabel, dan berikut tampilannya:

cuaca-bmkg-curl

Untuk lebih lanjutnya mengenai metode php curl Anda bisa langsung menuju ke link ini karena sumber dari metode dari php curl saya ambil dari ruang sebelah teman, 🙂

Scroll to Top