kombinasi autoregressive integrated moving average (arima...
Post on 08-Mar-2019
227 Views
Preview:
TRANSCRIPT
Kombinasi Autoregressive Integrated Moving Average
(ARIMA) dan Standardized Precipitation Index (SPI)
untuk Penentuan Indeks Kekeringan
dengan Teknologi Android
(Studi kasus : Wilayah Kabupaten Boyolali)
Artikel Ilmiah
Peneliti :
Rosiana Kurniawan (672012213)
Dr. Sri Yulianto Joko Prasetyo, S.Si., M.Kom
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Juni 2016
i
ii
iii
iv
1
1. Pendahuluan
Kekeringan adalah kejadian klimatologis yang alami, ditandai dengan
berkurangnya curah hujan dari kondisi normalnya dalam kurun waktu yang lama,
bisa berbulan-bulan dan bahkan bertahun-tahun. Di bidang pertanian, kekeringan
selalu menjadi hal yang ditakuti oleh para petani karena mengganggu sistem
produksi yang kemudian mengakibatkan kerugian. Berbeda dengan fenomena
banjir, kekeringan cukup sulit diukur dan diprediksi karena terjadi sangat lambat.
Salah satu faktor yang berpengaruh terhadap kegagalan produksi pertanian di
Indonesia adalah kejadian ekstrim El-Nino dan La-Nina. El-Nino Southern
Oscillation (ENSO) adalah keadaan dimana musim kemarau menjadi panjang, dan
musim hujan menjadi pendek. Hal ini berlangsung setiap dua sampai tujuh tahun.
Sedangkan La-Nina adalah fenomena atmosfer yang mengakibatkan musim hujan
semakin panjang.[1]
Penentuan kekeringan selama ini dilakukan dengan pendekatan beberapa
metode, salah satunya adalah metode Thronthwaite Matter yang digunakan Jauhari
dalam penelitian Analisa Kekeringan di Daerah Aliran Sungai (DAS) Dodokan
Kabupaten Lombok dengan hasil penelitian berupa peta sebaran indeks kekeringan
menggunakan aplikasi ArcGIS [2]. Namun demikian di dalam prosesnya metode
ini selain memerlukan data curah hujan juga memerlukan data sifat fisik tanah serta
data karakteristik lahan, seperti temperatur udara, kandungan air dalam tanah
(lengas tanah), penggunaan lahan, dan tekstur tanah. Berdasarkan kompleksitas
metode tersebut maka diusulkan penelitian penggunaan metode Standardized
Precipitation Index (SPI). SPI adalah salah satu cara dalam menganalisis indeks
kekeringan pada suatu daerah dengan menggunakan data curah hujan. Penelitian
menggunakan metode SPI pernah dilakukan oleh Muliawan dengan hasil pemetaan
kekeringan menggunakan software ArcGIS dengan tools Kriging. [3]
Pentingnya informasi mengenai indeks kekeringan di masa mendatang
menjadi dasar dilakukannya peramalan curah hujan menggunakan metode
Autoregressive Integrated Moving Average (ARIMA). ARIMA dipilih pada
penelitian ini dikarenakan metode ARIMA memanfaatkan sepenuhnya data masa
lalu dan sekarang dari variabel dependen untuk melakukan peramalan jangka
pendek yang akurat.[12]
Untuk mempermudah penentuan indeks kekeringan maka dikembangkan
aplikasi penentuan indeks kekeringan menggunakan teknologi mobile berbasis
Android. Sistem operasi yang dipilih adalah Android dengan pertimbangan
keunggulan yang dimiliki, dimana platform Android bersifat terbuka, lengkap, dan
bebas serta jumlah pengguna Android yang mendominasi pengguna smartphone di
Indonesia.[4]
Penelitian ini mengambil studi kasus Kabupaten Boyolali. Kabupaten
Boyolali dipilih sebagai lokasi penelitian dengan alasan wilayah Kabupaten
Boyolali pada tahun 2014 mendapatkan penghargaan Adikarya Pangan Nusantara
(APN) tingkat nasional yang kemudian menjadikan Boyolali sebagai salah satu
2
daerah lumbung pangan nasional.[5] Iklim yang mengalami perubahan
mengakibatkan curah hujan tidak menentu dan lahan-lahan pertanian rawan
mengalami kekeringan.[6] Hasil pemetaan Pemerintah Kabupaten Boyolali di
bulan September 2013 menyatakan bahwa terdapat 10 kecamatan dari 19
kecamatan di wilayah Kabupaten Boyolali yang masuk daerah rawan krisis air
bersih.[7] Berdasarkan fakta-fakta yang ada dapat disimpulkan bahwa kondisi
wilayah Kabupaten Boyolali sebagai wilayah pertanian tadah hujan memiliki resiko
tinggi terkena dampak kekeringan terutama ketika musim kering tiba.
Berlandaskan latar belakang tersebut, maka ditetapkan rumusan masalah
pada penelitian ini adalah bagaimana menentukan indeks kekeringan dari data
curah hujan menggunakan metode Standardized Precipitation Index (SPI) dan
meramalkan curah hujan untuk masa mendatang menggunakan metode
Autoregressive Integrated Moving Average (ARIMA), kemudian merancang suatu
aplikasi mobile berbasis Android yang dapat digunakan oleh para Penyuluh
Pertanian Lapangan (PPL) di Kabupaten Boyolali untuk menyediakan informasi
hasil analisa dan peramalan kekeringan secara visual dan informatif. Fokus
penelitian ini terdapat pada pengembangan aplikasi mobile yang dibangun.
2. Kajian Pustaka
Analisis kekeringan pernah dilakukan oleh Nurjianto, menyatakan bahwa
parameter yang dapat dijadikan untuk pengukuran tingkat kekeringan adalah indeks
kekeringan. Analisa kekeringan yang dilakukan di Daerah Aliran Sungai (DAS)
Amprong dikerjakan dengan metode Standardized Precipication Index (SPI). Hasil
dari analisa kekeringan tersebut dapat dijadikan media monitoring dan peringatan
dini akan ancaman bahaya kekeringan dengan menampilkannya dalam bentuk
visual berupa peta isohyet surfer.[8]
Penelitian sejenis dilakukan oleh Putra, untuk peramalan curah hujan
dengan menggunakan metode Holt-Winters. Hasil perhitungan prediksi daerah
kekeringan ditampilkan melalui perangkat smartphone Android. [9]
Metode Autoregressive Integrated Moving Average (ARIMA) pernah
digunakan oleh Mardiatma untuk prediksi spasial dan pemetaan curah hujan di
wilayah Surakarta dengan bentuk luaran akhir berupa data visual spasial
choropleth. Hasil penelitian menunjukkan bahwa dengan menggunakan peta
choropleth dapat diketahui besaran prediksi curah hujan berdasarkan
kewilayahannya dalam hal ini besaran curah hujan tingkat kecamatan di wilayah
Laboratorium LPHP Surakarta.[10]
Adapun perbedaan antara penelitian terdahulu dengan penelitian yang
dilakukan sekarang adalah bahwa dengan metode ARIMA akan diramalkan curah
hujan di tahun 2013 berdasarkan data curah hujan bulanan di Kabupaten Boyolali
pada tahun 2001 – 2012, kemudian dianalisis indeks kekeringannya menggunakan
metode SPI sehingga dapat membantu petani untuk berjaga-jaga dari fenomena
kekeringan yang terjadi akibat adanya perubahan iklim. Hasil prediksi tersebut akan
divisualisasikan menggunakan teknologi Android dalam bentuk aplikasi mobile
3
sehingga pengaksesan informasi kekeringan ini dapat terbantu dengan adanya
teknologi-teknologi yang dimiliki Android, seperti pemetaan menggunakan
layanan Google Maps dan penggunaan grafik.
2.1 Autoregressive Integrated Moving Average (ARIMA)
ARIMA merupakan salah satu model yang populer dalam peramalan dengan
pendekatan time series. Model ini terdiri dari tiga bentuk utama yaitu model AR,
MA, dan ARMA. ARIMA menggunakan informasi yang ada pada data time series
itu sendiri untuk membuat peramalan periode selanjutnya. Model ARIMA yang
dibuat bergantung pada autokorelasi yang dimiliki data. Metodologi dalam
mengidentifikasi, fitting, dan pengecekan model ARIMA yang tepat dikembangkan
oleh statistikus George. E. P. Box dan Gwilyam. M. Jenkins. Maka dari itu,
pemodelan dan peramalan ARIMA sering disebut sebagai Metodologi Box-Jenkins.
Metodologi ini terdiri dari empat tahapan yang iteratif dalam pembentukan model
ARIMA pada suatu data runtun waktu, yaitu tahap identifikasi, estimasi, diagnostic
check, dan peramalan. Gambar 2.1 adalah diagram yang menggambarkan tahap‐tahap dalam prosedur Box‐Jenkins.
Catatan-catatan peneliti terdahulu mengatakan bahwa metode ARIMA dapat
menunjukkan suatu hasil yang cukup akurat dan persamaan peramalannya
memberikan hasil yang optimal untuk series tertentu dalam hal kecocokan pola dan
minimasi galat (error).[12]
Gambar 2.1 Prosedur Box‐Jenkins untuk pembentukan model ARIMA [12]
Dalam membangun model ARIMA dapat melalui tahap seperti pada gambar
2.1, tahap pertama adalah tahap identifikasi. Pada tahap identifikasi ini dilihat plot
4
Autocorrelation Function (ACF) dan Partial Autocorrelation Function (PACF)
secara grafis untuk mengetahui data sudah stasioner atau belum. Stasioneritas
berarti bahwa tidak terdapat pertumbuhan atau penurunan pada data. Data yang
belum stasioner harus didiferensikan terlebih dahulu. Plot ACF dan PACF juga
digunakan untuk menentukan model yang diperlukan, apakah Autoregressive (AR)
atau Moving Average (MA) atau keduanya Autoregressive Moving Average
(ARMA).
Jika sampel data pada grafik ACF turun menuju nol secara bertahap (die
out) dan sampel data pada grafik PACF turun secara langsung menuju nol (cut off)
maka model yang teridentifikasi adalah model Autoregressive (AR). Jika sampel
data pada grafik ACF turun menuju nol secara drastis (cut off) dan sampel data pada
grafik PACF turun secara bertahap menuju nol (die out) maka model yang
teridentifikasi adalah model Moving Average (MA). Jika kedua sampel ACF dan
PACF mengalami penurunan menuju nol secara bertahap (die out), maka model
yang teridentifikasi adalah model Autoregressive Moving Average (ARMA). Jika
data aktual mengalami diferensiasi karena nonstasioner, maka model
Autoregressive Integrated Moving Average (ARIMA) teridentifikasi (penambahan
huruf “I” pada “ARIMA” adalah ketika data mengalami diferensiasi).
Penentuan model pada tahap identifikasi masih dikatakan sementara, karena
dalam pembacaan grafik ACF dan PACF seringkali terjadi ambiguitas akibat pola
data yang tidak terduga. Penentuan tepat atau tidaknya analisis model yang sudah
diidentifikasi dapat dilakukan di tahap dua dan tiga pada metode ini.
Bentuk model umum Autoregressive Integrated Moving Average
ARIMA(p,d,q) dengan p = order Autoregressive, q = order Moving Average, dan d
= banyak diferensiasi data (bila data tidak stasioner). Contoh model ARIMA(p,1,q)
dapat dituliskan dalam bentuk persamaan 1[12].
Yt = (1-) Yt-1 + (- ) Yt-2 + (- ) Yt-3 + … +
(p- p-1) Yt-p - pYt-p-1 + εt – θ1εt-1 – θ2εt-2 – … – θqεt-q
(1)
Dimana:
Yt = Hasil Prediksi Y saat waktu t
p = Koefisien autoregressive
Yt-1,Yt-2,Yt-3,Yt-p = Nilai data aktual saat waktu t-1, t-2, …, t-p
εt = Nilai error saat waktu t
θ1,θ2,… ,θp = Koefisien Moving Average
Setelah diperoleh dugaan sementara, selanjutnya dilakukan tahap kedua
yaitu estimasi parameter dari model sementara dengan menentukan koefisien
autoregressive atau koefisien moving average. Tahap estimasi parameter
didapatkan melalui pemanggilan fungsi di editor R. Jika sudah didapatkan nilai
parameter, maka nilai hasil peramalan juga didapatkan.
Tahap ketiga dilakukan diagnostic checking untuk menguji kesesuaian
model tersebut. Diagnosis model dilakukan untuk mendeteksi adanya korelasi dan
kenormalan antar residual. Dalam runtun waktu ada asumsi bahwa residual
5
mengikuti proses white noise yang berarti residual harus independen (tidak
berkorelasi) dan berdistribusi normal dengan rata-rata mendekati nol (μ = 0) dan
standar deviasi (σ) tertentu.
Bila model teridentifikasi tidak tepat untuk digunakan pada data, maka
tahap identifikasi diulang dan dapat menggunakan model alternatif untuk mencari
model terbaik. Jika metode peramalan sudah ditetapkan, maka model ARIMA dapat
diterapkan pada data, dan dapat dilakukan perkiraan pada data tersebut untuk
beberapa periode ke depan.[12]
Tahap-tahap ini dapat dilakukan dengan bantuan software aplikasi seperti
R, EViews, Minitab, dan SPSS. Pada Aplikasi R, terdapat package ARIMA yang
secara otomatis menentukan model terbaik untuk digunakan terhadap data yang
tersedia.
2.2 Standarized Precipitation Index (SPI) SPI dikembangkan oleh McKee pada tahun 1993 untuk menghitung indeks
kekeringan. Kategori tingkat kekeringan dengan menggunakan metode SPI dapat
diklasifikasikan dalam skala nilai seperti pada tabel 2.1.
Tabel 2.1 Tabel Klasifikasi Kategori Kekeringan Berdasar Indeks SPI
Nilai SPI Kategori
≥ 2.00 Sangat Basah
1.50 ~ 1.99 Basah
1.00 ~ 1.49 Agak Basah
-0.99 ~ 0.99 Normal
-1.00 ~ -1.49 Agak Kering
-1.50 ~ -1.99 Kering
≤ -2.00 Sangat Kering
Indeks kekeringan dapat dihitung dengan menggunakan persamaan 2[9].
𝑍𝑖𝑗 =𝑋𝑖𝑗−𝑋𝑗̅̅ ̅
𝜎𝑗 (2)
Dimana :
𝑍𝑖𝑗 = Peubah Z tahun ke-i bulan ke-j.
𝑋𝑖𝑗 = Hujan bulanan tahun ke-i bulan ke-j.
𝑋𝑗 = Rata-rata hujan bulan j.
𝜎𝑗 = Simpangan baku bulan j.
Dengan simpangan baku :
𝜎 = √∑(𝑥−𝑥)2
𝑛−1 (3)
Keterangan Persamaan 3:
𝑥 = Data curah hujan.
𝑥 = Jumlah rata-rata curah hujan.
6
𝑛 = Jumlah data.
2.3 Mpandroidchart
Mpandroidchart adalah sebuah library yang sangat baik dan mudah
digunakan dalam pembuatan suatu grafik di Android. Library Mpandroidchart
dapat digunakan untuk API level 8 dan level-level di atasnya.
Fitur yang dimiliki library mpandroidchart adalah seperti: delapan tipe chart
(BarChart, BubbleChart, CandleStickChart, HorizontalBarChart, LineChart,
PieChart, RadarChart, ScatterChart), pembesaran grafik (scaling) pada kedua
sumbu, dragging/panning, sumbu yang terpisah, pengaturan sumbu yang fleksibel
(customizable axes), efek highlight pada nilai, penyimpanan grafik di SD-card
(sebagai file gambar atau .txt), keterangan grafik yang otomatis namun dapat diatur
secara custom, animasi, zooming dan scrolling yang halus dapat diaplikasikan pada
data hingga 30.000 data poin di grafik batang maupun grafik garis, serta gradle
support sehingga dapat digunakan untuk Android.[13]
2.4 Google Maps Android API
Penambahan peta di aplikasi Android menggunakan data peta Google Maps
dapat dilakukan menggunakan Google Maps Android API. API secara otomatis
mengatasi akses ke server Google Maps, mengunduh data, menampilkan peta, dan
memberikan respon terhadap gerakan-gerakan yang dilakukan terhadap peta. Fitur
yang dimiliki API juga memungkinkan untuk menambahkan penanda (marker),
poligon, polylines, dan overlays pada peta dasar. Fitur yang lebih lanjut dapat
ditambahkan pada peta dengan menggunakan Google Maps Android API Utility
Library. Google Maps Android API Utility Library adalah sebuah open-source
library yang terdiri dari kelas-kelas yang sangat bermanfaat untuk suatu aplikasi
peta, di antaranya seperti penggunaan GeoJSON, objek KML, penggunaan
heatmaps, kustomisasi marker, multiple marker, serta kalkulasi jarak dan luas.
Heatmaps sangat berguna untuk merepresentasikan distribusi dan populasi
dari suatu data poin pada sebuah peta. Google Maps Android API Utility Library
memiliki heatmap utility, dimana heatmaps dapat diaplikasikan pada Google Maps
yang dibangun dalam suatu aplikasi Android. Heatmaps digunakan sebagai
alternatif pengganti marker, saat data yang digunakan pada peta sangat banyak.
Penggunaan heatmaps pada data yang besar memiliki keunggulan, yaitu
pendistribusian data yang lebih mudah dimengerti dengan penggunaan warna,
dibandingkan dengan penggunaan marker di setiap lokasi pada peta. [14]
3. Metode Perancangan
Metode yang digunakan dalam pembuatan aplikasi ini adalah metode
perancangan sistem dengan menggunakan model Waterfall. Model Waterfall
melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem
lalu menuju ke tahap analisis, desain, pengkodean, pengujian, dan
maintenance.[15]
7
Gambar 3.1 Model Waterfall [15]
Proses dari perancangan sistem dengan menggunakan model Waterfall
dapat dijelaskan sebagai berikut:
3.1 Requirements Analysis and Definition
Analisa terhadap kebutuhan pengguna menyatakan bahwa pengguna
membutuhkan kemudahan dalam pengaksesan informasi ramalan curah hujan dan
prediksi akan tingkat kekeringan suatu daerah pada suatu waktu.
Kebutuhan yang harus dilengkapi perancang dalam perancangan program
untuk menjawab kebutuhan pengguna adalah pengumpulan data curah hujan
bulanan di kabupaten Boyolali dan menyiapkan tools (SQL Server, editor R,
Android Studio beserta SDK dan library yang dibutuhkan).
Kebutuhan yang harus dilengkapi pengguna adalah berupa perangkat
smartphone atau tablet dengan platform Android versi minimum Jelly Bean dan
jaringan internet.
3.2 System and Software Design
Desain arsitektur yang ditentukan adalah penggunaan bahasa R untuk
melakukan proses analisa kekeringan dengan metode SPI dan peramalan jumlah
curah hujan dengan metode ARIMA.
Penggunaan server diperlukan untuk menempatkan data aktual dan data
prediksi sehingga dapat diakses oleh perangkat Android bila terkoneksi dengan
internet. Bila tidak terdapat koneksi internet, program didesain dengan fitur
penyimpanan pada perangkat sehingga pemrosesan pemetaan kekeringan juga
dapat dilakukan secara offline.
Fitur program selain mengambil data dari server adalah proses pemetaan
kekeringan menggunakan library Google Maps Android dan visualisasi hasil
pemrosesan menggunakan widget-widget dan utility yang disediakan oleh Android,
serta penggunaan library Mpandroidchart untuk menampilkan grafik.
8
3.3 Implementation and Unit Testing
Proses analisa dan peramalan kekeringan yang dilakukan
diimplementasikan menggunakan bahasa R. Proses akses data di server
diimplementasikan menggunakan bahasa PHP. Aplikasi android dibangun
menggunakan bahasa Java dan XML di editor Android Studio dengan menggunakan
library-library yang sudah disiapkan. Pengujian terhadap hasil implementasi kode
program dilakukan per tahap.
3.4 Integration and System Testing
Unit-unit yang sudah tidak terdapat kesalahan disatukan dan dilakukan
pengujian apakah sistem dapat menghasilkan keluaran dengan baik, jelas, dan
benar.
3.5 Operation and Maintenance
Program yang sudah jadi dioperasikan oleh pengguna yang membutuhkan.
Bila ada perubahan data akan dilakukan penyesuaian.
3.6 Perancangan Sistem
Gambar 3.2 Arsitektur Sistem Aplikasi Prediksi Kekeringan
Sistem aplikasi yang dibangun dijelaskan seperti pada gambar 3.2. Data
curah hujan diproses di Server, dengan menjalankan script R yang memuat baris –
baris kode berisi package ARIMA untuk proses peramalan curah hujan periode
selanjutnya dan algoritma metode SPI untuk proses analisa kekeringan. Hasil
analisa kekeringan dan peramalan curah hujan kemudian diakses oleh perangkat
Android melalui kode PHP sehingga hasil keluaran proses dapat tersimpan di
perangkat bila perangkat dalam keadaan offline. Data yang diproses untuk
divisualisasikan di perangkat Android dapat berupa data yang sudah tersedia di
9
perangkat ataupun data baru (data yang tersimpan di server atau data pribadi
pengguna) secara online. Visualisasi pada perangkat berupa tampilan informasi
kekeringan per kecamatan di Kabupaten Boyolali, pemetaan kekeringan dengan
layanan Google Maps dan teknologi Android heatmaps, serta visualisasi grafik
curah hujan aktual dan peramalannya.
Perancangan sistem menggunakan UML (Unified Modelling Language)
dibuat ke dalam use case diagram dan activity diagram.
Gambar 3.3 Use Case Aplikasi Kekeringan
Gambar 3.3 merupakan Use Case Diagram yang menggambarkan interaksi
pengguna dengan sistem yang dirancang. Gambar 3.3 dapat dijelaskan sebagai
berikut: Pengguna dapat melihat informasi cara penggunaan aplikasi yang
menjelaskan jalannya semua fitur aplikasi. Pengguna dapat melihat data secara
online maupun offline. Bila pengguna mengaktifkan internet dan terhubung ke
server, maka data yang tersedia di server akan terlihat oleh pengguna dan dapat
diproses untuk dipetakan. Saat pengguna melakukan pemrosesan data,
pengunduhan data terjadi secara otomatis dan data tersimpan di perangkat. Jika
perangkat dalam keadaan tidak terhubung dengan server, maka pengguna bisa
melihat data yang sudah pernah diunduh atau pun memasukkan data baru untuk
dipetakan. Proses yang dilakukan aplikasi saat pengguna memilih data akan
memberikan hasil berupa pemetaan daerah kekeringan, kemudian pengguna bisa
melihat detail kekeringan dari suatu kecamatan, serta dapat melihat grafik curah
hujan.
Melihat Data yang Terdapat di Server
Melihat Data yang Terdapat di
Perangkat
Memproses Data untuk Dipetakan
<<extend>>
<<extend>>
Melihat Peta Kekeringan Aktual dan
Prediksi
<<include>>
Melihat Detail Informasi Kekeringan
Aktual
<<extend>>
Melihat Grafik Curah Hujan Aktual
dan Prediksi
<<extend>>
Melihat Data Siap Dipetakan
<<extend>>
Melihat Detail Informasi Kekeringan
Prediksi
<<extend>> <<extend>>
Memasukkan Data Ke Perangkat Memilih File Data untuk Diproses
<<include>>
Melihat Panduan Penggunaan
Aplikasi
Pengguna
Melihat informasi tentang aplikasi
Menyimpan (Mendownload) Data
yang sudah diproses di perangkat
<<include>>
<<extend>>
<<include>>
10
Gambar 3.4 Activity Diagram pemrosesan data yang ada di Server
Gambar 3.4 merupakan Activity Diagram pemrosesan data yang berada di
server, dimana diagram menggambarkan alur tindakan dalam sistem, percabangan
yang mungkin terjadi, bagaimana alur sistem dari mulai hingga berakhir.
Gambar 3.4 dapat dijelaskan sebagai berikut: Saat pengguna memulai
aplikasi dan memilih menu navigasi "Data Server", maka sistem akan mengecek
apakah perangkat sudah terhubung ke server atau belum. Jika tidak terhubung,
maka muncul pemberitahuan bahwa perangkat tidak terhubung ke server dan
sistem selesai. Jika perangkat terhubung, maka sistem melakukan pengecekan
apakah tersedia data di server. Jika tidak tersedia data, maka akan ada peringatan
bahwa tidak ada data di server, lalu sistem berhenti. Jika terdapat data, maka sistem
akan menampilkan data yang ada. Saat pengguna memilih salah satu dari data yang
ditampilkan, sistem secara otomatis akan melakukan proses pemetaan
menggunakan layanan Google Maps dan Google Maps Heat Maps utility yang
kemudian hasil akan tampil berupa peta beserta heat maps. Sistem akan
menampilkan kategori kekeringan yang ada saat pengguna menyentuh button Info.
Saat pengguna menyentuh button Detail, sistem akan menampilkan detail
kekeringan dari kecamatan yang dipilih. Pada detail kekeringan yang ditampilkan
sistem, terdapat button Lihat Grafik yang akan memunculkan grafik data curah
11
hujan dari tahun 2001 sampai tahun 2013 pada bulan yang diramalkan
kekeringannya.
Gambar 3.5 Activity Diagram Pemrosesan Data Baru
Gambar 3.5 menjelaskan alur sistem saat terjadi pemrosesan data baru. Saat
pengguna memilih menu navigasi “Data Baru”, maka sistem akan mengecek
apakah perangkat dalam keadaan terhubung ke server atau tidak. Jika perangkat
tidak terhubung, maka data baru tidak dapat diproses untuk dianalisa kekeringannya
dan sistem menampilkan peringatan bahwa perangkat tidak terhubung ke server.
Jika perangkat dalam keadaan terhubung, maka data baru dicek apakah sudah
berekstensi .csv. Jika data tidak berekstensi .csv, maka sistem menampilkan
peringatan. Data yang berekstensi .csv akan diunggah sistem ke server. Di bagian
server, script PHP dan script R memproses data baru tersebut sehingga data hasil
didapatkan. Sistem secara otomatis mengunduh data hasil yang siap dipetakan.
Pengguna dapat mempetakan data baru dengan membuka navigasi “Data
Perangkat” dan memilih file data baru yang sudah dimasukkan, kemudian sistem
akan merespon dengan alur pemrosesan seperti dijelaskan pada gambar 3.4, namun
tidak dilakukan pengecekan apakah terhubung ke server atau tidak, melainkan
dilakukan pengecekan apakah terdapat data di perangkat atau tidak.
12
4. Hasil dan Pembahasan
Hasil dari sistem yang dibangun adalah berupa aplikasi Android dengan
fitur utama pemetaan kekeringan dan peramalan curah hujan di tahun 2013 yang
didapatkan dari data curah hujan tahun 2001-2012.
Gambar 4.1 Tampilan Hasil
Pemetaan Kekeringan
Gambar 4.2 Tampilan Legenda
Pemetaan Kekeringan
Kode Program 1 Kode program Menampilkan Peta Boyolali dengan Layanan Google Maps
Pemetaan yang dilakukan pada aplikasi ini menggunakan layanan Google
Maps. Kode Program 1 merupakan potongan kode untuk menampilkan peta dasar
wilayah Boyolali. Objek ‘Boyolali’ pada baris kedua dibentuk untuk memanggil
kelas LatLng dengan melempar parameter berupa garis lintang dan garis bujur
wilayah Boyolali.
1 private void createMapView(GoogleMap googleMap) {
2 LatLng Boyolali = new LatLng(-7.382324, 110.61245);
3 googleMap.moveCamera(
4 CameraUpdateFactory.newLatLngZoom(Boyolali, 10.5f)
5 );
6 googleMap.setMapType(GoogleMap.MAP_TYPE_NONE);
7 googleMap.getUiSettings().setMapToolbarEnabled(false);
8 googleMap.getUiSettings().setCompassEnabled(true);
9 googleMap.getUiSettings().setRotateGesturesEnabled(false);
10 googleMap.getUiSettings().setScrollGesturesEnabled(true);
11 }
13
Hasil pemrosesan data dapat diakses secara online saat perangkat terhubung
dengan server. Bila perangkat tidak terhubung dengan server, pengguna dapat
mengakses data yang sebelumnya sudah terunduh dan tersimpan di perangkat.
Menu lihat data di aplikasi disajikan dengan pilihan menu berupa navigasi bar,
yaitu : Data Server, Data Perangkat, atau Data Baru. Tampilan data pada aplikasi
dapat dilihat pada Gambar 4.3 dan Gambar 4.4.
Gambar 4.3 Tampilan Lihat Data
yang Terdapat di Server
Gambar 4.4 Tampilan Lihat Data
yang Terdapat di Perangkat
Saat terhubung dengan server, aplikasi akan mengecek apakah terdapat data
di server. Pengecekan ini dilakukan dengan pemanggilan file PHP yang dapat
dilihat pada Kode Program 2. File PHP ini menampilkan hasil scan direktori berupa
data JSON yang memuat nama file dan tanggal file.
Kode Program 2 Kode pengecekan ketersediaan data di Server
1 $dir = 'RData/DataHasil'; $files = scandir($dir);
2 $count = 0; $response = array(); $tempResponse = array();
3 for($i = 2; $i < count($files); $i++){
4 $temp = array();
5 $temp['data'] = $files[$i];
6 $stat = stat($dir."/".$files[$i]);
7 $time = $stat['ctime'];
8 $temp['date'] = gmdate("Y-m-d", $time);
9 $tempResponse[$count] = $temp;
10 $count++;
11 }
12 $response['result'] = $tempResponse;
13 echo json_encode($response);
14
Data hasil analisa kekeringan yang diambil dari server masih berupa nilai,
oleh karena itu pada aplikasi dilakukan pengklasifikasian indeks kekeringan seperti
pada Kode Program 3 berdasarkan pada kategori tingkat kekeringan pada tabel 1.1.
Kode Program 3 Kode Program Pengkategorian Kekeringan Berdasar Indeks SPI
Kode Program 3 merupakan potongan kode untuk memberikan kategori
kekeringan pada titik-titik di dalam batas wilayah Boyolai berdasarkan nilai indeks
kekeringan. Kategori kekeringan tersebut berupa: sangat kering, kering, agak
kering, normal, agak basah, basah, dan sangat basah.
Setiap kategori kekeringan memiliki masing-masing warna yang kemudian
akan muncul saat terjadi proses pemetaan. Munculnya warna-warna tersebut
dinamakan sebagai Heat Maps yang dapat dilakukan dengan menggunakan layanan
Google Maps Android Utility Library. Penggunaan Heat Maps Utility dapat dilihat
pada Kode Program 4.
Kode Program 4 Kode Program Menampilkan Heat Maps
Kode Program 4 merupakan potongan kode untuk memberikan warna pada
titik-titik yang sudah dikategorikan kekeringannya. Pengguna dapat melihat detail
kekeringan setiap kecamatan dengan menyentuh daerah kecamatan pada peta.
Tampilan detail kekeringan akan tampak seperti pada Gambar 4.5. Pada tampilan
1 inputStream = new FileInputStream(new File(directory + "/" + source +
"/prediksi" + source + ".csv"));
2 List result = read();
3 if (resultHasil.get(resultHasil.size() - 1) <= -2.0) {
4 sangatKering2.add(new LatLng(
5 Double.parseDouble(temp[2]),
6 Double.parseDouble(temp[1])
7 ));
8 } else if (resultHasil.get(resultHasil.size() - 1) <= -1.5 &&
resultHasil.get(resultHasil.size() - 1) > -2.0) {
9 kering2.add(new LatLng(
10 Double.parseDouble(temp[2]),
11 Double.parseDouble(temp[1])
12 ));
13 }
1 int radius = 65;
2 if (!data1.isEmpty()) {
3 int[] colors1 = { //sangat kering merah
4 Color.rgb(238, 7, 7),
5 Color.rgb(238, 7, 7)
6 };
7 float[] startPoints1 = {
8 0.5f, 1f
9 };
10 Gradient gradient1 = new Gradient(colors1, startPoints1);
11 HeatmapTileProvider mProvider1 = new HeatmapTileProvider.Builder()
12 .data(data1)
13 .gradient(gradient1)
14 .build();
15 mProvider1.setRadius(radius);
16 mProvider1.setOpacity(0.5);
17 googleMap.addTileOverlay(new
TileOverlayOptions().tileProvider(mProvider1));
15
ini pengguna dapat melihat grafik curah hujan dari data kecamatan yang dipilih.
Tampilan grafik seperti pada Gambar 4.6. Kode Program 5 merupakan potongan
kode yang berfungsi untuk menampilkan grafik menggunakan Mpandroidchart
library.
Gambar 4.5 Tampilan Lihat Detail
Kekeringan
Gambar 4.6 Tampilan Grafik Curah
Hujan
Kode Program 5 Kode Program Menampilkan Grafik
Baris 2 adalah pemanggilan kelas LineDataSet dari library
Mpandroidchart. Baris 2 melemparkan parameter list berisi data curah hujan yang
akan ditampilkan pada grafik.
Pengolahan data yang dibangun pada aplikasi ini terjadi di server,
menggunakan script R dengan package ARIMA untuk peramalan dan SPI untuk
1 private void setLineComponent1() {
2 setComp1 = new LineDataSet(FragmentMapsGraph.valsComp1, "Data
Hujan");
3 setComp1.setAxisDependency(YAxis.AxisDependency.RIGHT);
4 setComp1.setColor(Color.RED);
5 setComp1.setCircleColor(Color.RED);
6 setComp1.setCircleSize(3);
7 setComp1.setCircleColorHole(Color.RED);
8 setComp1.setDrawValues(true);
9 setComp1.setDrawFilled(true);
10 setComp1.setHighlightEnabled(false);
11 }
16
analisa kategori kekeringan. Kode penggunaan package ARIMA ditunjukkan oleh
Kode Program 6. Kode Program 6 Potongan Kode R untuk Peramalan ARIMA
Kode program 6 merupakan potongan kode R untuk peramalan curah hujan
satu bulan dari data curah hujan terakhir. Auto.arima mengembalikan model
ARIMA dan order terbaik berdasarkan nilai AIC, AICc, dan BIC. Fungsi auto.arima
melakukan perintah untuk pencarian dari seluruh model yang memungkinkan untuk
digunakan pada data time series yang ada.
Package “forecast” adalah package yang memuat metode ARIMA di script
R. Data inputan berupa data curah hujan yang diatur dalam bentuk file csv. Pada
script R dilakukan pengubahan data menjadi bentuk time series dengan pola
bulanan. Inisialisasi model ARIMA dilakukan dengan menggunakan fungsi
"auto.arima(nama variabel penampung data series)". Peramalan dilakukan dengan
fungsi "forecast(auto.arima(nama variabel penampung data series), h=1)", h
bernilai satu karena akan meramalkan satu bulan ke depan. Pada penelitian ini
penggunaan auto.arima ini terbukti lebih baik daripada penggunaan metode manual
dengan menentukan model ARIMA. Hal ini dapat disimpulkan dari perbandingan
nilai error dimana nilai error auto.arima lebih kecil daripada model yang
disimpulkan sendiri dengan melihat grafik ACF dan PACF.
Hasil peramalan menunjukkan nilai Mean Absolute Error (MAE) terkecil
terdapat pada peramalan di kecamatan Juwangi, yaitu sebesar 57.92 pada bulan
Februari. Untuk mendapatkan perbandingan apakah prediksi dengan metode
ARIMA yang digunakan sudah menghasilkan peramalan yang baik maka dilakukan
uji perbandingan hasil kesalahan ramalan menggunakan metode Holt Winters[9].
Tabel 4.1 Tabel Uji Perbandingan Akurasi Peramalan Kecamatan Juwangi.
Metode RMSE MAE
Holt-Winters 141.4316 100.903
Arima 74.74883 57.92
Tabel 4.1 memuat besar galat RMSE (Root Mean Square Error) dan MAE
(Mean Absolute Error) yang didapatkan dari proses peramalan curah hujan
kecamatan Juwangi menggunakan editor R. Semakin kecil nilai galat maka semakin
baik hasil peramalan yang dilakukan. Hasil galat yang tertera pada Tabel 4.1
menjelaskan bahwa penggunaan package ARIMA menghasilkan prediksi yang lebih
baik dibandingkan package Holt-Winters karena nilai galat dengan metode ARIMA
1 #INISIALISASI MODEL ARIMA
arima <- auto.arima(temp)
#AUTO-ARIMA FORECAST MODEL SEBANYAK n PERIODE
2 cons.forecast <- forecast(arima, h = period)
3 cons.forecast<-append(cons.forecast$fitted, cons.forecast$mean)
4 cons.forecast <- ts(cons.forecast, frequency = 12)
5 #AUTO-ARIMA ERROR FORECAST
6 cons.error.me <- mean(arima$residuals)
7 hasilPrediksi <- rbind(hasilPrediksi, cons.forecast)
17
lebih kecil dibandingkan dengan galat jika menggunakan metode Holt-Winters.
Oleh karena itu dapat dinyatakan bahwa penggunaan metode ARIMA sebagai
metode peramalan curah hujan pada penelitian ini adalah baik.
Penggunaan metode Standardized Precipitation Index (SPI) dilakukan
untuk menghitung indeks kekeringan dari hasil peramalan curah hujan pada tahun
2013. Tabel 4.2 merupakan tabel hasil pengujian peramalan curah hujan
dibandingkan dengan curah hujan aktual dan pengujian hasil pengkategorian
kekeringan berdasar nilai indeks kekeringan SPI untuk masing-masing kecamatan
di Kabupaten Boyolali pada bulan Februari 2013.
Tabel 4.2 Tabel Hasil Peramalan Curah Hujan Menggunakan Metode ARIMA dan Kategori
Kekeringan Indeks Kekeringan SPI
Kecamatan Hujan Aktual
(mm)
Hujan
Prediksi
(mm)
SPI Aktual
Februari-2013
SPI Prediksi
Februari-2013
Selo 411 411.32 Normal Normal
Ampel 339 303.55 Normal Normal
Cepogo 477 436.48 Normal Normal
Musuk 402 322.70 Normal Normal
Boyolali 330 347.58 Normal Normal
Mojosongo 316 598.94 Normal Basah
Teras 316 340.11 Normal Agak Basah
Sawit 215 257.11 Normal Normal
Banyudono 288 290.20 Normal Normal
Sambi 391 425.95 Normal Agak Basah
Ngemplak 350 233.20 Normal Normal
Nogosari 316 323.21 Normal Normal
Simo 354 261.75 Normal Normal
Karanggede 367 262.08 Agak Basah Normal
Klego 282 298.73 Normal Normal
Andong 218 269.32 Normal Normal
Kemusu 217 282.89 Normal Normal
Wonosegoro 280 290.75 Normal Normal
Juwangi 277 312.81 Normal Agak Basah
Berdasarkan hasil peramalan menggunakan metode ARIMA didapati nilai
ramalan curah hujan bulan Februari 2013 pada beberapa kecamatan di Kabupaten
Boyolali memiliki nilai yang mendekati dengan data curah hujan aktualnya.
Kategori indeks kekeringan yang didapatkan dari metode SPI juga dapat
terprediksikan dengan baik dibuktikan dengan kecocokan nilai SPI prediksi dan
nilai SPI aktualnya dimana pada bulan Februari 2013 keadaan iklim di beberapa
kecamatan di Boyolali tidak mengalami kekeringan, namun beriklim normal.
18
Pengujian aplikasi dilakukan dengan pembagian kuesioner kepada 15 orang
Penyuluh Pertanian Lapangan (PPL) untuk melihat tanggapan pengguna mengenai
aplikasi. Perhitungan hasil kuesioner menggunakan metode skala Likert. Skala
Likert digunakan untuk mengukur sikap, pendapat, dan persepsi seseorang atau
sekelompok tentang kejadian atau gejala sosial.[16] Hasil pengujian ditampilkan
pada tabel 4.3.
Tabel 4.3 Tabel Pengujian Aplikasi Menggunakan Metode Skala Likert
No Pernyataan SS S N TS STS
1 Aplikasi perhitungan indeks kekeringan
bermanfaat 2 10 3 0 0
2 Cara penggunaan aplikasi mudah 0 7 5 3 0
3 Aplikasi memenuhi kebutuhan PPL 0 9 6 0 0
4 Fitur pada aplikasi berfungsi dengan baik 0 11 4 0 0
5 Tampilan aplikasi mudah dipahami 1 9 5 0 0
Hasil perhitungan dari skor pada tabel 4.2 menginterpretasikan pernyataan
pertama mendapat skor total sebesar 78,67% yang berarti pengguna menyatakan
aplikasi bermanfaat. Pernyataan kedua, walaupun masih terdapat 3 dari 15
pengguna yang menyatakan tidak setuju bahwa penggunaan aplikasi mudah karena
belum terbiasa menggunakan smartphone Android, namun hasil perhitungan
keseluruhan menyatakan nilai sebesar 65,30% yang berarti pengguna setuju bahwa
penggunaan aplikasi mudah. Pernyataan ketiga mendapat total nilai sebesar 72%
yang berarti pengguna setuju bahwa aplikasi memenuhi kebutuhan PPL.
Pernyataan keempat mendapat total nilai sebesar 74,67% yang menyatakan
pengguna setuju fitur-fitur aplikasi berfungsi dengan baik, dan pernyataan kelima
memiliki nilai total sebesar 74,67% yang berarti pengguna setuju bahwa tampilan
aplikasi mudah dipahami.
5. Simpulan
Aplikasi Android Penentuan Indeks Kekeringan dapat digunakan untuk
memvisualisasikan hasil analisa kekeringan dalam bentuk peta dengan heat maps
menggunakan layanan Google Maps, teks, dan juga grafik menggunakan library
Mpandroidchart. Aplikasi memungkinkan pengguna untuk mengakses data yang
terdapat di server secara online atau mengakses data yang sudah terunduh dan
tersimpan di memori perangkat Android secara offline. Penentuan indeks
kekeringan dilakukan menggunakan metode Standardized Precipitation Index
(SPI) yang mengkategorikan kekeringan berdasarkan nilai indeksnya. Pada
penelitian ini dilakukan peramalan curah hujan untuk satu bulan berikutnya dari
data yang diproses. Peramalan dihitung dengan menggunakan metode
Autoregressive Integrated Moving Average (ARIMA). Komputasi indeks
kekeringan SPI dan peramalan ARIMA dilakukan dengan menggunakan aplikasi R.
Package Arima di R dapat disimpulkan sebagai metode yang lebih baik
dibandingkan package Holt Winters di R.
19
6. Pustaka
[1] Hermawan, Juniarti, Trismidianto, Krismianto, dkk. 2010. Pengembangan ekspert
sistem berbasis indeks ENSO
[2] Jauhari, Harisuseno, Andawayanti. 2016. Penerapan Metode Thornthwaite
Mather dalam Analisa Kekeringan di DAS Dodokan Kabupaten Lombok Tengah
Nusa Tenggara Barat.
[3] Muliawan, Harisuseno, Suhartanto. 2014. Analisa Indeks Kekeringan dengan
Metode Standardized Precipitation Index (SPI) dan Sebaran Kekeringan Dengan
Geographic Information System (GIS) pada DAS Ngrowo.
[4] Gadi, Pical. 2015. Android Juara OS Smartphone di Asia Tenggara.
http://www.kompasiana.com/picalgadi/android-juara-os-smartphone-di-asia-
tenggara_5630dd7bb693734c0b59d54f/. Diakses tanggal 15 Februari 2015.
[5] Krjogja. 2014. Boyolali Jadi Lumbung Pangan Nasional.
http://www.krjogja.com/web/news/read/242276/boyolali_jadi_lumbung_pangan_
nasional/. Diakses tanggal 15 Februari 2016.
[6] Aisyah. 2016. Langka Turun Hujan, Lahan Padi Tadah Hujan Rawan
Kekeringan. http://birohumas.jatengprov.go.id/content/langka-turun-hujan-lahan-
padi-tadah-hujan-rawan-kekeringan/. Diakses tanggal 15 Februari 2016.
[7] Nugroho, S. Aji. 2013. Dilanda kekeringan, pemerintah dropping 5.000 liter air.
http://daerah.sindonews.com/read/786645/22/dilanda-kekeringan-pemerintah-
dropping-5-000-liter-air-1379996941/. Diakses tanggal 15 Februari 2016.
[8] Nurjianto, T. Bayu. 2012. Analisa Kekeringan DAS Amprong – Malang dengan
Metode SPI (Standardized Precipication Index)
[9] Putra, D. A. W. S. 2015. Model Prediksi Kekeringan Menggunakan Metode Holt-
Winters (Studi Kasus : Wilayah Kabupaten Boyolali)
[10] Mardiatma, B. Benny. 2012. Prediksi Spasial Curah Hujan di Wilayah Surakarta
Menggunakan Metode ARIMA (Autoregressive Integrated Moving Average) untuk
Menentukan Klasifikasi Zona Iklim.
[11] Dharmawan, Putu, Jayanegara. 1996. Pemodelan dan Peramalan Angka Curah
Hujan Bulanan Menggunakan Analisis Runtun Waktu.
[12] Hanke E. John dan Dean W. Wichern. 2005. Business Forecasting (Eight Edition).
Prentice Hall New Jersey: Pearson. Halaman 381-426.
[13] Jahoda, Philip. 2016. MPAndroidChart Library.
https://github.com/PhilJay/MPAndroidChart/. Diakses tanggal 18 April 2016.
[14] Creative Commons Attribution 3.0 License. 2016. Introduction to the Google
Maps Android API. https://developers.google.com/maps/documentation/android-
api/intro. Diakses tanggal 18 Mei 2016.
[15] Pressman. 2012. Rekayasa Perangkat Lunak. jilid I. Yogyakarta: Penerbit Andi.
[16] Riduwan. 2011. Dasar-Dasar Statistika. Bandung:Alfabeta. Halaman 38.
top related