1 Bab 4 Hasil dan Pembahasan Pada bab ini memuat hasil yang berupa web peramalan yang berisi peta ramalan, grafik curah hujan dan tabel ramalan dan pe...
Bab 4 Hasil dan Pembahasan Pada bab ini memuat hasil yang berupa web peramalan yang berisi peta ramalan, grafik curah hujan dan tabel ramalan dan pembahasan yang meliputi implementasi dan hasil analisis. Dalam hal pembahasan, akan dilakukan sesuai dengan yang tertulis dalam bab 3 (tiga). Sedangkan analisis pada penelitian ini berupa perbandingan hasil perhitungan manual dengan sistem dan hasil ramalan dengan data aktual serta tingkat kesalahan ramalan berupa tabel mean galat ramalan pada masing-masing koefisien alpha.
4.1
Implementasi Dalam aplikasi Integrasi Peramalan Pola Iklim Menggunakan
Metode Pemulusan Eksponensial Ganda Pada Model Pranatamangsa Terbaharukan, user dapat melakukan navigasi pada peta seperti memperbesar, memperkecil, melihat daerah-daerah berdasarkan curah hujan dan melihat prediksi ramalan curah hujan pada tahun tertentu serta grafik prediksi curah hujan perbulannya. Untuk memperbesar dan memperkecil peta user perlu untuk memilih menu radio button perbesar atau menu Zoom in atau Zoom out kemudian melakukan klik pada map sehingga map akan membesar dan mengecil pada area yang dipilih. Untuk melihat ramalan jumlah curah hujan untuk kecamatan tertentu maka user perlu untuk memasukkan tahun ramal yaitu tahun yang akan diramalkan dan mengklik checkbox ramalan by klik map kemudian klik pada map kecamatan yang akan diramal seperti pada Gambar 4.1. 28
29
Gambar 4.1 Peramalan Curah Hujan
Gambar 4.1 merupakan halaman peramalan dan warna biru pada map menunjukkan lokasi kecamatan yang diramalkan. Setiap kotak pada Gambar 4.1 menunjukkan batas desa pada Kabupaten Boyolali sehingga jumlah kotak sama dengan jumlah desa pada Kabupaten Boyolali. Hasil ramalan ditunjukkan dengan tabel ramalan dan grafik ramalan yang menggambarkan ramalan tiap bulan pada tahun itu dibandingkan dengan pranatamangsa seperti terlihat pada Gambar 4.2.
30
Gambar 4.2 Hasil Ramalan
Gambar 4.2 merupakan hasil dari proses ramalan dengan menggunakan metode pemulusan eksponensial ganda yang disajikan dalam bentuk tabel ramalan beserta galat ramalannya. Berdasarkan data pada tabel ramalan maka dapat digambarkan berupa grafik peramalan sehingga lebih mudah dimengerti dan terlihat jelas perbedaan antara ramalan dengan pranatamangsa.
4.2
Pembuatan Aplikasi Pada bagian ini dilakukan pembuatan aplikasi menggunakan
PHP
dan
POSTGRESQL.
Pengujian
dilakukan
dengan
menggunakan data curah hujan pada Kabupaten Boyolali. Dalam penerapan aplikasi menggunakan metode MVC program yang dibuat dibagi-bagi menjadi kelas-kelas tertentu.
31
4.2.1 Home Pada halaman home berisi tentang profil singkat Kabupaten Boyolali dan link klasifikasi serta link forecasting seperti terlihat pada Gambar 4.3.
Gambar 4.3 Halaman Home
Gambar 4.3 merupakan halaman home yaitu halaman utama saat web dipanggil yang berisi tentang profil singkat boyolali sebagai perkenalan dan menu-menu link untuk klasifikasi wilayah, klasifikasi hujan dan peramalan. Kode
Kode Program 4.1 adalah kode program untuk membuat tampilan halaman home yang berisi perintah-perintah html. Baris ke 13-17 merupakan perintah javascript
untuk membuat gambar
menjadi berganti-ganti secara fade yaitu dengan memanggil fungsi cycle yang disediakan oleh file jquery.cycle.all.js.
4.2.2 Klasifikasi Wilayah Pada halaman klasifikasi wilayah berisi tentang klasifikasi tiap kecamatan
pada
Kabupaten
Boyolali
yang
berdasarkan warna seperti terlihat pada Gambar 4.4.
diklasifikasikan
33
Gambar 4.4 Halaman Klasifikasi Wilayah
Gambar
4.4
merupakan
halaman
klasifikasi
wilayah
Kabupaten Boyolali berdasarkan kecamatan yang ditandai dengan warna. Kecamatan-kecamatan pada peta dapat dilihat dari legend peta. Untuk
membuat
halaman
klasifikasi
wilayah
ini
menggunakan kode-kode html yaitu seperti pada Kode Program 4.2.
Kode Program 4.2 adalah kode program untuk membuat tampilan halaman klasifikasi wilayah yang berisi perintah-perintah html. Baris ke 2-3 adalah perintah untuk membuat masukan yang berupa gambar yang akan diberikan atribut oleh javascript berupa peta. Baris 5-16 adalah perintah html untuk membuat navigasi yang di dalamnya terdapat radio button untuk memperbesar, memperkecil dan menggeser peta. Baris ke 20 adalah perintah html untuk membuat gambar yang akan diberikan atribut oleh javascript berupa gambar legend peta. Setelah tampilan terbentuk maka diperlukan javascript untuk mengontrol elemen-elemen dalam tampilan html dan memberikan
35
aksi-aksi pada html. Kode Program javascript untuk controller klasifikasi wilayah ditunjukkan pada Kode Program 4.3. Kode Program 4.3 Javascript Klasifikasi Wilayah
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
function setZoomFull() { $.post("klasifikasiProcess.php",{ generateMAP:"enc" }, function(data){ parseXmlForGenerateMAP(data); }); } function parseXmlForGenerateMAP(xml) { var timestamp = new Date().getTime(); $("#mapa").attr("src",$(xml).find('alamatMAP').text()+"?"+tim estamp); $("#imgLegend").attr("src",$(xml).find('alamatLegend').text() +"?"+timestamp); $("#extent").val($(xml).find('objRect').text()); }
Kode Pogram 4.3 adalah kode program javascript yang digunakan untuk mengontrol halaman klasifikasi wilayah. Baris 1baris 8 adalah syntax javascript untuk memberikan perintah pada klasifikasi proses untuk memproses data generate map yang akan dikembalikan dalam bentuk xml dan ditangkap oleh fungsi parseXmlForGenerateMap.
Baris
9-19
adalah
fungsi
untuk
memberikan value pada element-element html berdasarkan data yang diterima dari klasifikasi proses. Setelah javascript untuk controller halaman html terbentuk maka diperlukan servis dalam bentuk php untuk memproses setiap request dari user termasuk proses pemetaan dengan menggunakan phpmapscript
sebagai
interpreternya.
Kode
Program
klasifikasi proses ditunjukkan pada Kode Program 4.4. Kode Program 4.4 Proses Klasifikasi Wilayah
Kode Program 4.4 berisi tentang proses klasifikasi wilayah dimulai dari pemberian warna berupa array dan pengklasifikasian berdasarkan Kecamatan. Baris ke 7-11 adalah perintah phpmapscript untuk membuat sebuah layer baru dalam map kemudian layer tersebut dibuat class dan stylenya seperti pada baris ke 12-20. baris ke 22-29 adalah perintah phpmapscript untuk melakukan query
37
berdasarkan kriteria tertentu dalam hal ini adalah wilayah kecamatan yang kemudian akan dimasukkan ke dalam layer.
4.2.3 Klasifikasi Curah Hujan Pada halaman klasifikasi curah hujan berisi tentang klasifikasi tiap kecamatan berdasarkan curah hujan pada Kabupaten Boyolali yang diklasifikasikan berdasarkan warna seperti terlihat pada Gambar 4.5.
Gambar 4.5 Halaman Klasifikasi Hujan
Gambar
4.5
merupakan
halaman
klasifikasi
wilayah
Kabupaten Boyolali berdasarkan jumlah curah hujan dan hasilnya
38
adalah peta Boyolali dengan warna berbeda-beda sesuai dengan tingkat curah hujan. Kriteria curah hujan dapat dilihat pada gambar legend peta dan dapat dilihat pranatamangsa pada mangsa tertentu serta ciri-ciri mangsa tersebut. Untuk membuat halaman klasifikasi hujan ini digunakan kode-kode html seperti pada Kode Program 4.5. Kode Program 4.5 Halaman Klasifikasi Hujan
1 2 3 4 5 6 7 8 9 10 11 12
Bulan : <select id="selectBulan"> . . .
Kode Program 4.5 adalah kode program untuk membuat tampilan halaman klasifikasi curah hujan yang berisi perintahperintah html. Baris ke 3-4 adalah perintah html untuk membuat masukan berupa gambar yang akan diisi dengan peta oleh javascript. Baris ke 5 adalah perintah html untuk membuat gambar yang akan diisi dengan gambar legend peta oleh javascript. Baris ke 7-8 adalah halaman html untuk membuat select box yang berisi bulan sebagai masukan kriteria bulan. Setelah tampilan klasifikasi hujan terbentuk maka diperlukan controller berupa javascript untuk mengontrol elemen-elemen pada halaman klasifikasi hujan dan memberikan aksi-aksi pada halaman
39
tersebut. Kode Program javascript untuk controller klasifikasi wilayah ditunjukkan pada Kode Program 4.6. Kode Program 4.6 Javascript Klasifikasi Hujan
function getQueryByAttribut() { var extent = $("#extent").val(); var bulan= $("#selectBulan").val(); var tahun= $("#selectTahun").val(); $.post("klasifikasiHujanProcess.php",{ getQueryByAttribut:"enc", extent:extent, bulan:bulan, tahun:tahun }, function(data){ parseXmlForGetQueryByAttribut(data); }); } function parseXmlForGetQueryByAttribut(xml) { var timestamp = new Date().getTime(); $("#mapa").attr("src",$(xml).find('alamatMAP').text()+"?"+tim estamp); $("#imgLegend").attr("src",$(xml).find('alamatLegend').text() +"?"+timestamp); $("#extent").val($(xml).find('objRect').text()); }
Kode Pogram 4.6 adalah kode program javascript yang digunakan untuk mengontrol halaman klasifikasi wilayah. Baris 1baris 15 adalah syntax javascript untuk memberikan perintah pada klasifikasi hujan proses untuk memproses data klasifikasi hujan yang akan dikembalikan dalam bentuk xml dan ditangkap oleh fungsi parseXmlForGetQueryByAttribut. Baris 16-24 adalah fungsi untuk memberikan value pada element-element html berdasarkan data yang diterima dari klasifikasi hujan proses. Kode Program untuk klasifikasi hujan proses ditunjukkan pada Kode Program 4.7.
if(isset($_POST["getQueryByAttribut"])) { $objLayerQuery[$i] = ms_newLayerObj($objMap); $objLayerQuery[$i]>set("name",$kriteriaHujan[$i]['min']."".$kriteriaHujan[$i]['max']." mm"); $objLayerQuery[$i]->set("type",MS_LAYER_POLYGON); $objLayerQuery[$i]->set("status",MS_DEFAULT); $objClassQuery[$i] = ms_newClassObj($objLayerQuery[$i]); $objClassQuery[$i]>set("name",$kriteriaHujan[$i]['min']."".$kriteriaHujan[$i]['max']." mm"); $objStyleQuery[$i] = ms_newStyleObj($objClassQuery[$i]); $objStyleQuery[$i]->color>setRGB($color[$i]['red'],$color[$i]['green'],$colo r[$i]['blue']); $objStyleQuery[$i]->outlinecolor->setRGB(0,0,0); //query $objLayerQuery[$i]>set("connectiontype",MS_POSTGIS); $objLayerQuery[$i]->set("connection", "host=localhost port=5432 dbname=dbBoyo user=pinx password=xiaopinx"); $strSqlJoin="the_geom FROM (select gid,the_geom from tbatasdesa left join t_curah_hujan on tbatasdesa.kec=t_curah_hujan.kec where t_curah_hujan.bulan_hujan='".$bulanHujan."' and t_curah_hujan.tahun_hujan='".$tahunHujan."' and t_curah_hujan.jumlah_curah_hujan>=".$kriteriaHujan[ $i]['min']." and t_curah_hujan.jumlah_curah_hujan<".$kriteriaHujan[$ i]['max'].") as subquery USING UNIQUE gid"; $objLayerQuery[$i]->set("data",$strSqlJoin); . . . }
Kode Program 4.7 berisi tentang proses klasifikasi hujan dimulai dari pemberian warna berupa array dan pengklasifikasian berdasarkan curah hujan. Baris ke 2-7 adalah perintah phpmapscript untuk membuat sebuah layer baru dalam map kemudian layer tersebut dibuat class dan stylenya seperti pada baris ke 8-18. baris ke
41
20-34 adalah perintah phpmapscript untuk melakukan query berdasarkan kriteria tertentu dalam hal ini adalah curah hujan pada bulan dan tahun tertentu yang kemudian akan dimasukkan ke dalam layer. 4.2.4 Peramalan Pada halaman peramalan curah hujan berisi tentang peramalan curah hujan tiap kecamatan berdasarkan tahun yang akan diramalkan dengan metode pemulusan eksponensial ganda satu parameter dari brown seperti terlihat pada Gambar 4.6.
Gambar 4.6 Halaman Peramalan
Gambar 4.6 merupakan halaman peramalan curah hujan tiap kecamatan pada Kabupaten Boyolali berdasarkan tahun yang dimasukkan dan hasilnya adalah grafik dan tabel ramalan seperti pada Gambar 4.2.
42
Kode Program untuk halaman peramalan ditunjukkan pada Kode Program 4.8. Kode Program 4.8 Halaman Peramalan
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="../tools/jquery.js"> <script type="text/javascript" src="../js/klasifikasi.js"> Peramalan Pola Iklim
Tahun Ramal : ramalan by klik map
. . .
Kode Program 4.8 adalah kode program untuk membuat tampilan halaman peramalan curah hujan yang berisi perintahperintah html. Baris ke 23-25 merupakan perintah html untuk membuat textfield yang berisi tahun ramalan dan baris ke 26-28 merupakan perintah html untuk membuat checkbox yang berisi
43
tentang status query yang berguna sebagai penanda klik map berarti ramalan jika checkbox on atau navigasi jika checkbox off. Setelah halaman peramalan terbentuk maka diperlukan javascript sebagai pengontrol elemen-elemen html dan pengatur aksi-aksi html seperti pada Kode Program 4.9. Kode Program 4.9 Javascript Peramalan
Kode Pogram 4.10 adalah kode program javascript yang digunakan untuk mengontrol halaman peramalan. Baris 1-baris 24 adalah syntax javascript untuk memberikan perintah pada peramalan proses untuk memproses data peramalan yang akan dikembalikan
44
dalam
bentuk
xml
dan
ditangkap
oleh
fungsi
parseXmlGetCurahHujanByBulan. Baris 25-31 adalah fungsi untuk memberikan value pada element-element html berdasarkan data yang diterima dari peramalan proses. Setelah javascript peramalan terbentuk maka diperlukan servis dari php yang berfungsi untuk memproses request dari javascript seperti pada Kode Program 4.10. Kode Program 4.10 Proses Peramalan
Kode Program 4.10 berisi tentang proses peramalan curah hujan berdasarkan tahun masukan dengan metode pemulusan
45
eksponensial ganda satu parameter dari brown. Baris ke 3-5 merupakan perintah php untuk mengambil data dari DAO yaitu mengambil data dari database dalam hal ini data curah hujan. Baris ke 22-26 merupakan perintah php untuk memanggil kelas doubleExponentialSmoothingClass untuk meramalkan curah hujan.
4.3
Hasil Analisis
4.3.1 Analisis
Sistem
Menggunakan
Metode
Pemulusan
Eksponensial Ganda Satu Parameter Dari Brown. Analisis sistem ini dilakukan dengan menggunakan data curah hujan tiap kecamatan pada Kabupaten Boyolali. Data curah hujan kemudian dianalisis menggunakan aplikasi pada penelitian ini untuk melihat apakah ramalan curah hujan sesuai dengan peramalan manual dengan metode pemulusan eksponensial ganda satu parameter dari brown dan tingkat kesalahan atau galat ramalan pada peramalan ini. Data dari tahun 2001 sampai tahun 2010 pada bulan Januari yang datanya di antaranya adalah seperti digambarkan pada Tabel 4.1. Tabel 4.1 Curah Hujan Musuk
CH 247
KEC Musuk
BULAN Januari
TAHUN 2001
470
Musuk
Januari
2002
299
Musuk
Januari
2003
356
Musuk
Januari
2004
424
Musuk
Januari
2005
615
Musuk
Januari
2006
46
167
Musuk
Januari
2007
246
Musuk
Januari
2008
860
Musuk
Januari
2009
412
Musuk
Januari
2010
Tabel 4.1 menunjukkan data curah hujan pada daerah Musuk pada bulan Januari dari tahun 2001 sampai tahun 2010. Uji coba dilakukan menggunakan data curah hujan pada daerah
Musuk
dengan
menggunakan
metode
pemulusan
eksponensial ganda satu parameter dari brown dari tahun 2001-2005 untuk meramalkan curah hujan dari tahun 2006-2010 dengan membandingkan hasil ramalan dengan data actual sehingga diperoleh mean galat ramalan. Tahun ke-2 (jan-02), ܺଶ = 470 Perhitungan pemulusan eksponensial tunggal ᇱ ܵ௧ᇱ = ߙ ܺ௧ + (1 – ߙ) ܵ௧ିଵ
ܵଶᇱᇱ = 0.1(269.3) + 0.9(247) ܵଶᇱᇱ = 249.23 b. Perhitungan nilai a ܽ௧ = 2 ܵ௧ᇱ – ܵ௧ᇱᇱ ܽଶ = 2 (269.3)– 249.23 ܽଶ = 289.37
47
c. Perhitungan nilai b ܾ௧ = ߙ / (1 – ߙ ) (ܵ௧ᇱ – ܵ௧ᇱᇱ ) ܾଶ = (0.1/0.9)( 269.3 – 249.23) ܾଶ = 2.23 d. Peramalan untuk tahun ketiga jan-03, ݉=1 ܨ௧ା = ܽ௧ + ܾ௧ m ܨଶାଵ = 289.37+(2.23)1 ܨଷ = 291.6 Peramalan untuk periode tahun 2010 jan-10,݉=5 ܨ௧ା = ܽ௧ + ܾ௧ m ܨହାହ = 331.4591+( 4.05338)*5 ܨଵ = 351.726 Galat absolut ramalan adalah selisih antara ramalan dengan data aktual yang bersifat absolut atau positif dan mean galat ramalan adalah rata-rata dari galat absolut ramalan. Mean absolut galat ramalan pada Kecamatan Musuk dengan alpha 0.1 pada periode 2006-2010 ditunjukkan pada Tabel 4.2 Tabel 4.2 Galat Absolut Ramalan alpha 0.1
Tahun
Data
Hasil
Galat
Mean Galat
Actual
Ramalan
Absolut
Ramalan
Ramalan 2006
615
335.5125
279.4875
2007
167
339.5659
172.5659
2008
246
343.6192
97.61924
2009
860
347.6726
512.3274
2010
412
351.726
60.274
224.4548
48
Metode pemulusan eksponensial ganda bergantung pada pemberian dumping factor atau sering disebut dengan alpha. Untuk mendapatkan hasil ramalan yang mendekati akurat maka harus dilakukan uji coba dengan alpha yang berbeda-beda dan alpha yang menghasilkan mean galat ramalan terendahlah yang dipakai. Mean absolut galat ramalan pada Kecamatan Musuk dengan alpha 0.1 sampai dengan 0.9 pada periode 2006-2010 ditunjukkan pada Tabel 4.3 Tabel 4.3 Mean Galat Absolut
Alpha
Mean Galat Ramalan 0.1
262.2754
0.2
216.571
0.3
227.4311
0.4
234.1766
0.5
239.1125
0.6
244.7351
0.7
252.8768
0.8
263.8498
0.9
275.5899
Berdasarkan hasil Tabel 4.3 dapat disimpulkan bahwa untuk peramalan jangka panjang alpha yang baik digunakan adalah alpha di bawah 0.5 dalam peramalan ini alpha 0.2 yang akan digunakan karena memiliki mean galat absolut ramalan yang terendah yaitu pada nilai 216.571. Peramalan menggunakan metode eksponensial ganda pada Kecamatan Musuk memiliki mean galat ramalan yang
49
cukup besar yaitu 216.571 yang membuktikan bahwa peramalan menggunakan metode pemulusan eksponensial ganda kurang cocok untuk peramalan yang datanya memiliki perbedaan yang cukup besar antara data satu dengan data selanjutnya. 4.3.2 Hasil Analisis Uji Coba Sistem Uji coba dilakukan menggunakan data sampel dengan menggunakan metode pemulusan eksponensial ganda satu parameter dari brown yang dapat dilihat pada Gambar 4.7.
Gambar 4.7 Ramalan Kecamatan Musuk
Gambar 4.7 merupakan hasil tabel ramalan untuk Kecamatan Musuk dengan alpha 0.1. Berdasarkan Gambar 4.7 dapat dilihat bahwa hasil ramalan sama dengan Tabel 4.2 dengan perhitungan manual. Uji coba data yang dilakukan sistem dalam perhitungan pemulusan eksponensial ganda satu parameter dari brown adalah sama
dengan
perhitungan
manual
sehingga
kelas
50
doubleExponentialSmoothingClass menghitung
peramalan
dapat
menggunakan
digunakan metode
untuk
pemulusan
eksponensial satu parameter dari brown Berdasarkan
hasil
ramalan
dibandingkan
dengan
pranatamangsa yang terdahulu maka dapat dibentuk suatu grafik yang dapat dilihat pada Gambar 4.8.
Gambar 4.8 Grafik Ramalan Kecamatan Musuk
Gambar 4.8 menggambarkan grafik perbedaan peramalan tahun 2010 pada Kecamatan Musuk dengan pranatamangsa. Berdasarkan Gambar 4.8 dapat dilihat bahwa pola curah hujan sekarang berbeda dengan pola curah hujan pranatamangsa terdahulu.