Aplikasi Andoid Widget Gempa BMKG


BMKG (Badan Meteorologi, Klimatologi, dan Geofisika) menyediakan data terbuka Gempabumi M 5.0+ Terkini, berupa file XML yang saat tulisan ini ditulis, dapat diakses melalui link http://data.bmkg.go.id/autogempa.xml.

Contoh struktur data gempa tersebut dapat dilihat sebagaimana code berikut:
<Infogempa>
<gempa>
<Tanggal>19-Aug-19</Tanggal>
<Jam>12:53:49 WIB</Jam>
<point>
<coordinates>128.26,-0.78</coordinates>
</point>
<Lintang>0.78 LS</Lintang>
<Bujur>128.26 BT</Bujur>
<Magnitude>5.0 SR</Magnitude>
<Kedalaman>10 Km</Kedalaman>
<_symbol>imagesSWF/m2b.swf</_symbol>
<Wilayah1>86 km Tenggara LABUHA-MALUT</Wilayah1>
<Wilayah2>100 km TimurLaut HALMAHERASELATAN-MALUT</Wilayah2>
<Wilayah3>130 km Tenggara WEDA-MALUT</Wilayah3>
<Wilayah4>200 km Tenggara TERNATE-MALUT</Wilayah4>
<Wilayah5>2455 km TimurLaut JAKARTA-INDONESIA</Wilayah5>
<Potensi>tidak berpotensi TSUNAMI</Potensi>
</gempa>
</Infogempa>

Data gempa ini, adalah data gempa seluruh Indonesia dengan skala di atas sama dengan 5 SR (Skala Richter).

Tidak menggunakan HttpURLConnection, penulis lebih suka menggunakan Android Volley, untuk menggenerate response data dari suatu url. Menurut penulis, penggunaan Android Volley lebih mudah dan stabil.

Sama seperti HttpURLConnection, aplikasi widget gempa ini membutuhkan authentifikasi android:usesCleartextTraffic="true" di file AndroidManifest.xml-nya. Karena jika tidak, aplikasi tidak dapat mengakses halaman web apapun.

Aplikasi juga menggunakan class Service, untuk memanggil pembaharuan data, dengan estimasi waktu yang dilakukan tiap 5 menit. Data akan disimpan dalam format SharedPreferences dalam Android dan jika terdapat perbedaan data, maka aplikasi akan memperbaharui dan menampilkan notifikasi.

Tampilan contoh hasil aplikasi adalah sebagaimana gambar berikut:

 
 

Sedangkan kode Androidnya dapat di download pada link Google Drive penulis di bawah ini:
Di mana penulis menggunakan Android Studio 3.4.2 dalam pembuatannya.

Untuk versi jadinya, dapat dicoba aplikasi Widget Gempa diatas, yang penulis distribusikan menjadi salah satu app Computational Lab, dengan link berikut ini:


Referensi:

Komentar



Postingan populer dari blog ini

Apakah Kuliah untuk Bekerja

Menyikapi Ucapan AI Pejabat

Kaidah Baku untuk Konsistensi Data (PT, Tbk, Pty., & Ltd.)

Game TicTacToe dengan Greenfoot

Eliminasi Gauss-Jordan untuk Invers Matrix dengan Java

Kebodohan Karyawan Menyalahkan Sistem

Genetics Algorithm Method with Progressive Error Prediction

Algorithma Java Mencari KPK dan FPB

Ketika Pengelola Basis Data Terabaikan

Tidak ada Salahnya Belajar Bahasa Pemrograman