Pemrograman: Web Services & Application Programming Interface (API)
Data Cuaca & Gempa Bumi (API-XML Web Services BMKG Indonesia)
Beberapa waktu yang lalu saya sempat memposting artikel berjudul Info Gempa Terkini, dimana disana terdapat beberapa link ke situs yang menyediakan informasi tentang gempa bumi yang baru saja terjadi, baik di Indonesia maupun di dunia. Bagi para pengembang software dan aplikasi web, sebenarnya ada cara lain untuk bisa mendapatkan data ‘mentah’ dari informasi tersebut. Data tersebut bisa kita ambil, gunakan, dan tampilkan sesuai selera dan kebutuhan kita.
Bagi teman-teman yang sudah pernah bersentuhan dengan pemrograman lintas platform, sistem, dsb, yang membutuhkan pertukaran data yang terbuka, mudah, dan fleksibel, pastilah sudah berkawan akrab dengan yang namanya Application Programming Interface (API) dan Web Services. Tanpa itu, maka akan mengalami kesulitan seperti kasus saya ini.
Nah, ternyata Badan Meteorologi Klimatologi dan Geofisika BMKG Indonesia, juga menyediakan basis data yang bisa digunakan oleh para pengembang aplikasi desktop maupun berbasis web. Data tersebut tersedia dalam bentuk format XML (eXtensible Markup Language), sehingga dengan XML parser/decoder yang sudah banyak tersedia di berbagai bahasa pemrograman, data tersebut bisa diolah dengan mudah. FYI, sebenarnya saya sendiri lebih suka format JSON (JavaScript Object Notation). Data XML informasi gempa terkini, info tsunami, info ramalan cuaca, dsb yang ada di sana cukup update. Hanya saja kadang terlambat :D Beberapa data juga bukan dalam format XML, alias teks saja. Sehingga harus di-parsing secara manual. Hehehe.
Koleksi basis data XML tersebut ada di sini: http://data.bmkg.go.id
<Infogempa> <gempa> <Tanggal>19-Apr-11</Tanggal> <Jam>05:40:38 WIB</Jam> <point><coordinates>98.78,0.58</coordinates></point> <Lintang>0.58 LU</Lintang> <Bujur>98.78 BT</Bujur> <Magnitude>5.0 SR</Magnitude> <Kedalaman>35 Km</Kedalaman> <_symbol>imagesSWF/m2b.swf</_symbol> <Wilayah1>90 km TimurLaut TANAHMASA-SUMUT</Wilayah1> <Wilayah2>92 km BaratDaya PANYABUNGAN-SUMUT</Wilayah2> <Wilayah3>103 km BaratDaya PDGSIDEMPUAN-SUMUT</Wilayah3> <Wilayah4>120 km TimurLaut TANAHBALA-SUMUT</Wilayah4> <Wilayah5>1167 km BaratLaut JAKARTA-INDONESIA</Wilayah5> <Potensi>tidak berpotensi TSUNAMI</Potensi> </gempa> </Infogempa>
Di atas adalah contoh data gempa bumi terkini dalam format XML. Menurut saya, info parameter dalam data tersebut tidak cukup fleksibel dan belum cukup kaya. Misal parameter Tanggal dan Jam yang menggunakan format standard seperti itu. Mungkin bagi para pengembang aplikasi, akan lebih mudah jika data tersebut berupa UNIX Timestamps (microtime), sehingga bisa dengan mudah dikonversi ke format yang lain. Informasi koordinat lintang dan bujur juga tidak bisa langsung digunakan pada Google Maps karena format Latitude (LAT) dan Longitude (LNG) -nya harus valid (tanda plus-minus).
Ini adalah terobosan cukup bagus yang dilakukan BMKG Indonesia terkait berbagi data dan informasi. Contoh lain yang menarik lainnya adalah situs Balai Penyelidikan dan Pengembangan Teknologi Kegunungapian BPPTK Yogyakarta yang juga menyediakan akses data seismik, vulkanik, bahkan hingga kamera CCTV. Sehingga ketika Gunung Merapi meletus beberapa hari yang lalu, orang-orang dapat ikut memantau dari sana. Tapi jika dibandingkan dengan negara lain, mungkin data yang tersedia masih belum cukup ‘kaya’ (rich). Situs badan geologi milik Amerika Serikat U.S. Geological Survey (USGS) ini misalnya, menyediakan informasi detail tentang gempa bumi yang cukup lengkap. Situs-situs luar negeri yang menyediakan jasa prediksi cuaca (weather forecasting) juga menyediakan akses data web services yang cukup lengkap.
Ditunggu aplikasi-aplikasi yang bisa menggunakan data-data ini :D
Pada kesasar di sini mencari:
- Yagi Anggar
- A~H

