1. Pendahuluan Pada tahun 2009, Dewan Ketahanan Pangan (DKP) dan Badan Ketahanan Pangan (BPK) Provinsi bekerja sama dengan United Nations World Food Programme (WFP) meluncurkan Peta Ketahanan dan Kerawanan Pangan (Food Security and Vulnerability Atlas / FSVA) yang mencangkup 346 kabupaten dari 32 provinsi. Berdasarkan Peta Komposit Ketahanan dan Kerentanan Pangan Jawa Tengah Per Kabupaten Tahun 2010 menunjukan bahwa Kabupaten Brebes memiliki status Tahan Pangan. Berbeda dengan seluruh kabupaten maupun kota di provinsi Jawa Tengah yang memiliki status Sangat Tahan Pangan. Hal tersebut menjadi ide untuk melakukan penelitian dengan membuat aplikasi FSVA yang merujuk pada Kabupaten Brebes dengan mempersempit variabel dan meneliti setiap kecamatan agar pemetaan lebih rinci dan jelas. Pengembangan FSVA tingkat kecamatan dianggap hal yang penting, dimana kondisi ekologi dan kepulauan yang membentang dari timur ke barat. Kondisi iklim yang dinamis dan keragaman sumber penghidupan masyarakat menunjukkan adanya perbedaan situasi ketahanan pangan dan gizi di masing-masing wilayah [1]. 2. Tinjauan Pustaka Oracle Spatial Oracle Database 10G/11G menyediakan manajemen data berbasis geografis yang disebut dengan Oracle Spatial. Oracle Spatial merupakan bagian dari Oracle Database 10G/11G Enterprise Edition. Oracle Spatial digunakan untuk mengembangkan sistem informasi geografis berbasis web yang memerlukan manajemen data spasial yang komplek [2]. Oracle menyediakan objek SDO_GEOMETRY untuk menyimpan data spasial ke dalam database. Objek SDO_GEOMETRY, dapat digunakan untuk menyimpan berbagai jenis geometri yang sederhana maupun yang kompleks ke dalam database. Pada versi Oracle 10G, Oracle Spatial mendukung tipe data vektor dan georaster [3].
7
Mapviewer dan Mapbuilder Aspek
lain
yang
dimiliki
oleh
Oracle
Spatial
adalah
dapat
memvisualisasikan data spasial kedalam peta sebuah peta. Oracle menggunakan visualisasi berbasis peta pada data spasial dengan bantuan Oracle Mapviewer dan didukung oleh sebuah tool yang bernama Oracle Mapbuilder [2]. Oracle Mapviewer merupakan perangkat yang dapat digunakan untuk menampilkan data spasial yang dikelola oleh Oracle Spatial. Oracle Mapviewer bertindak sebagai map server yang menunggu permintaan peta oleh pengguna melalui HTTP dan mengirimkan kembali respon berupa peta. Data spasial yang berada dalam database diolah dan disusun menjadi sebuah peta. Oracle Mapviewer bekerja langsung pada Oracle Spatial melalui JDBC [3]. Oracle Mapbuilder merupakan aplikasi yang berdiri sendiri yang mana memungkinkan database untuk menyimpan dan mengelola metadata pemetaan seperti style, tema dan peta dasar. Selain menangani metadata, Oracle Mapbuilder menyediakan antarmuka untuk melihat metadata, salah satu contohnya adalah dapat melihat garis atau style yang muncul di peta dan juga informasi mengenai data spasial [4]. Clustering Proses failover akan berjalan ketika server-server bekerja menjadi satu kesatuan atau disebut juga sebagai clustering. Availibilitas yang tinggi adalah salah satu keuntungan dari clustering [5]. Untuk mencapai aspek availibiltas tinggi, penulis melakukan simulasi dengan melakukan cluster pada instance di dalam application server. Secara umum definisi Cluster adalah sejumlah komputer (PC ataupun workstation) yang digabungkan sebagai satu kesatuan dengan bantuan piranti lunak dan jaringan komputer [6]. Failover merupakan keadaan dimana terjadi proses pendistribusi data diantara server sehingga satu server dapat menggantikan server lainnya jika dalam keadaan down [7]. Dalam hal ini, jika salah satu instance yang melayani request dari klien mengalami down, maka instance yang lainnya bertugas melanjutkan proses request klien Managed server dapat bertindak sebagai proxy server yang digunakan sebgai ujung tombak penerima request user. Proxy server hanya menyediakan
8
jalur untuk menampung user. HttpClusterServlet merupakan aplikasi yang dipasang
pada
instance
yang
bertindak
HTTP
atau
proxy
server.
HttpClusterServlet menyediakan proses failover dan load balance untuk request yang melalui HTTP. Ketika melakukan konfigurasi pada Weblogic server untuk meneruskan atau memberi jalur tersendiri pada request user maka setiap request yang melalui proxy dialihkan ke sebuah URL atau alamat lain. Model failover yang digunakan adalah HTTP Sessions State Replicating dengan menggunakan metode in-memory replication. Weblogic Server menyalin sessions state dari satu instance ke instance yang lain. Instance utama membuat sessions state utama di instance yang pertama kali melayani request dan membuat secondary sessions state di instance yang lain [5]. Web Application Definisi Aplikasi Web adalah aplikasi yang diakses melalui jaringan seperti Internet atau Intranet yang dikodekan dalam bahasa yang didukung oleh browser (seperti Java Script, dikombinasikan dengan sebuah bahasa markup yang diberikan seperti browser- HTML) dan bergantung pada browser web umum untuk mengesekusi aplikasi. Application server WebLogic Server, menggunakan teknologi Servlet dan JSP (Java Server Page). Servlet merupakan bahasa pemrogaman Java yang didalamnya dimasukan kode HTML. Sedangkan JSP (Java Server Page) merupakan kode Java yang dimasukan ke halaman HTML. Java Server Pages (JSP) adalah bahasa scripting untuk web programming yang bersifat server side seperti halnya PHP dan ASP. JSP dapat berupa gabungan antara baris HTML dan fungsi-fungsi dari JSP itu sendiri [5]. Food Security and Vulnerability Atlas FSVA merupakan pemetaan ketersediaan dan kerawanan pangan pada suatu wilayah. Ketersediaan pangan adalah kemampuan penyediaan pangan secara fisik di suatu wilayah dari segala sumber, baik itu produksi pangan domestik, perdagangan pangan dan bantuan pangan. Ketersediaan pangan ditentukan oleh produksi pangan di wilayah tersebut, perdagangan pangan melalui mekanisme
9
pasar di wilayah tersebut, stok yang dimiliki oleh pedagang dan cadangan pemerintah dan bantuan pangan dari pemerintah atau oraganisasi lain [1]. Kerentanan terhadap kerawanan pangan kronis menghasilkan indeks ketahanan pangan komposit (IFI) yang digunakan sebagai hasil akhir atau keluaran untuk FSVA. Indikator kerentanan terhadap kerawanan pangan kronis terdiri dari 9 variabel. Ketersediaan Pangan 1. Rasio konsumsi normative per kapita terhadap ketersediaan bersih tanaman padi, jagung dan ubi. Akses Terhadap Pangan dan Penghidupan 2. Persentase penduduk hidup di bawah garis kemiskinan. 3. Persentase desa yang tidak memiliki akses penghubung yang memadai. 4. Persentase rumah tangga tanpa akses listrik. Pemanfaatan Pangan 5. Angka harapan hidup pada saat lahir. 6. Berat badan balita di bawah standar (Underweight). 7. Perempuan Buta Huruf. 8. Rumah tangga tanpa akses ke air bersih. 9. Persentase rumah tangga yang tinggal lebih dari 5 km dari fasilitas kesehatan. Rumus
Indeks
Ketahanan
Pangan
Komposit
didapat
dengan
menggabungkan 9 indikator Kerentanan Terhadap Kerawanan Pangan Kronis.
IFI merupakan rata-rata penjumlahan dari 9 indikator ketersediaan pangan, indikator akses terhadap pangan serta pemanfaatan pangan. Ranges yang digunakan untuk Indeks Ketahanan Pangan Komposit [1]: 1. Prioritas 1: >= 0,80
Sangat Rentan Pangan
2. Prioritas 2: 0,64 – < 0,80
Rentan Pangan
3. Prioritas 3: 0,48 – < 0,64
Cukup Rentan Pangan
4. Prioritas 4: 0,32 – < 0,48
Cukup Tahan Pangan
10
5. Prioritas 5: 0,16 – < 0,32
Tahan Pangan
6. Prioritas 6: < 0,16
Sangat Tahan Pangan
Gambar 2.1 FSVA Provinsi Jawa Tengah
Gambar 2.1 merupakan FSVA Provinsi Jawa Tengah yang dikeluarkan oleh Badan Ketahanan Pangan Provinsi Jawa Tengah pada tahun 2011. Kabupaten Brebes memiliki status tahan pangan, berbeda dengan daerah lain yang memiliki status sangat tahan pangan. Daerah dengan status Tahan Pangan memiliki 4 faktor penyebab yaitu tidak memadainya produksi pangan pokok, balita dengan berat badan dibawah normal, kemiskinan dan keluarga tanpa akses terhadap air bersih. Sedangkan daerah dengan status sangat tahan pangan memiliki 3 faktor penyebab yaitu kecuali keluarga tanpa akses terhadap air bersih [1]. FSVA yang dikeluarkan oleh BPK melakukan penghitungan indeks dari semua kecamatan dalam satu provinsi, dengan mempersempit variable yaitu melakukan penghitungan indeks dalam satu kabupaten akan semakin memperjelas pemetaan ketahanan dan kerentanan pangan. 3. Metode Penelitian Metode perancangan sistem yang digunakan untuk membangun aplikasi ini adalah metode prototyping. Prototyping adalah proses yang digunakan untuk 11
membantu pengembangan perangkat lunak dalam membentuk model dari perangkat lunak yang harus dibuat. Prototype merupakan bentuk dasar atau model awal dari suatu sistem atau subsistem [10].
Gambar 3.1 Metode Prototyping (Pressman, 2002)
Gambar 3.1 merupakan tahap-tahap di dalam prototyping model yang akan diimplementasikan di dalam perancangan aplikasi FSVA ini antara lain pengumpulan kebutuhan. Sistem yang akan dibangun memiliki dua aktor yaitu user dan admin. Beberapa proses yang akan berjalan antara lain proses melihat data, proses melihat peta dan proses manajemen data FSVA. Aplikasi FSVA berbasis spasial dibutuhkan untuk mempercepat proses identifikasi daerah yang rentan maupun rawan pangan. Aplikasi ini akan melakukan penghitungan dengan rumus indeks ketahanan pangan komposit sebagai dasar atau rumus. Admin hanya perlu memasukkan data yang termasuk dalam 9 indikator ketahanan pangan. Data yang ditampilkan merupakan data yang dimasukkan oleh admin. Sedangkan peta yang ditampilkan merupakan hasil penghitungan yang dilakukan aplikasi. Ketika data diinputkan, maka trigger berjalan dan melakukan kalkulasi berdasarkan rumus indeks ketahanan pangan komposit yang sudah dijabarkan didalam trigger. Sistem dirancang berbasis web menggunakan konsep arsitektur three-tiers, terdiri atas client-tier yang berjalan di browser, middle-tier. Middle-tier menjalankan program yang berisi aturan-aturan aplikasi. Dari sisi pandang klien, bussiness process server adalah berfungsi sebagai server dengan scripting
12
menggunakan JSP, servlet dan javascript [10]. Middle-tier dibangun pada BEA WebLogic dengan menggunakan teknologi clustering pada instance untuk memberikan proses failover didalamnya. Database-tier menggunakan Oracle Database 10G Release 2 yang didalamnya terdapat Oracle Spatial.
Gambar 3.2 Arsitektur Sistem
Database-tier berfungsi sebagai tempat penyimpanan data, baik data tabel maupun data spasial. Penghubung antara middle-tier dengan database-tier adalah JDBC. Pada middle-tier, BEA Weblogic bertugas sebagai application server yang didalamnya telah terpasang Mapviewer dan aplikasi FSVA yang diakses oleh client melalui LAN yang merujuk pada alamat dan port server. Sistem aplikasi dirancang dengan menggunakan Unified Modelling Language (UML). Use case diagram menggambarkan aktor yang yang terlibat di dalam aplikasi dan proses yang akan berjalan pada aplikasi yang akan dibangun. <<extend>>
Manage Data
Melihat Halaman About <<extend>> Data
Update
Pangan <<extend>>
<<extend>>
Melihat Data
user
<<extend>>Data
<<extend>>
admin
Akses
Data Pangan
Melihat Data
<<extend>>Data
Akses
Data Manfaat Melihat Peta <<extend>>
Melihat Peta
<<extend>> <<extend>>
<<extend>>
<<extend>>
Data Manfaat
<<extend>> <<extend>> <<extend>>
Peta Ketahanan Pangan Peta Akses Peta Pangan Peta Manfaat Peta Ketahanan Pangan Peta Akses Peta Pangan Peta Manfaat
Gambar 3.3 Diagram Use Case Sistem
13
Gambar 3.3 menjelaskan mengenai hak akses yang dimiliki oleh masingmasing aktor. User atau klien dapat melihat peta dan data. Sedangkan admin dapat melihat peta, data dan melakukan manajemen data dengan login terlebih dahulu. Diagram class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Gambar 3.4 merupakan class diagram dari aplikasi yang dibuat. Dalam sebuah kelas terdapat sebuah atribut yang mewakili indentitas kelas dan beberapa fungsi atau dalam pemrograman java lebih dikenal dengan method.
Gambar 3.4 Class Diagram
Proses pengujian berfokus pada logika internal software untuk memastikan bahwa semua pernyataan sudah diuji, dan pada fungsi eksternal, yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa dengan input yang terbatas akan didapatkan hasil aktual yang sesuai dengan yang dibutuhkan. 4. Hasil pembahasan dan implementasi Sistem yang berjalan selama ini adalah proses pengolahan data masih bersifat konvensional, sudah menggunakan bantuan komputer namun masih perlu dilakukan kalkulasi terlebih dahulu oleh admin, bukan sistem. Sehingga dalam
14
proses pengolahan data FSVA kurang efesien. Data FSVA yang diterbitkan berbentuk buku menimbulkan resiko akan kehilangan data dan penumpukan laporan serta dari aspek penyajian informasi FSVA yang kurang up to date secara tepat dan mendadak dimana membutuhkan ketelitian, kecepatan, dan keakuratan dalam penanganannya. Dengan adanya aplikasi FSVA, maka data akan terintegrasi karena setiap kecamatan dapat melakukan input data dan tersimpan ke database yang sama. Selain itu dengan menerapkan teknologi Three-tier akan memberikan ketersediaan tinggi pada aplikasi. Karena didalamnya server yang melayani user tidak hanya satu.
Ditahap pengkodean, ada kode yang terpasang pada halaman web, dalam kasus ini terpasang pada JSP dan Servlet dan terpasang pada tabel. Kode yang yang terpasang pada tabel berupa trigger yang berjalan ketika tabel yang terpasang trigger terjadi proses insert maupun update data.
Gambar 4.1 Potongan Perintah Menampilkan Peta Pangan
Fungsi showMap merupakan fungsi yang tertanam pada javascript oraclemap.js dipanggil dengan mengambil layer yang sudah dihasilkan oleh Mapbuilder. Layer digunakan sebagai dasar peta yang belum memiliki tema. Kemudian pada fungsi addThemeBasedFOI tema yang terdiri dari penggabungan data dengan style ditampilkan diatas peta dasar. Pada halaman lihat peta klien dapat melihat peta pangan, akses, manfaat dan peta ketahanan pangan. Data yang sudah dilakukan penghitungan 15
ditampilkan dengan perbedaan warna yang menunjukkan keadaan di masingmasing kecamatan. Halaman lihat peta merupakan halaman yang berfungsi untuk menampilkan peta berdasarkan jenis datanya. Gambar 4.2 memperlihatkan antarmuka lihat peta.
Gambar 4.2 Tampilan halaman lihat peta
Halaman lihat data merupakan halaman yang berisi tentang informasi data yang ditampilkan dengan cara melakukan query ke database dengan melakukan join tabel peta_brebes untuk menampilkan nama kecamatan dengan tabel pangan, manfaat maupun tabel akses.
Gambar 4.3 Potongan Perintah Menampilkan Data Pangan
Potongan perintah untuk melihat data dapat pangan dilihat pada gambar 4.3. Ketika pengguna memilih untuk melihat data maka server memberikan response
16
berupa hasil query dari database. Berbeda dengan two-tier, pada middle-tier aplikasi tidak merujuk langsung ke database. Tapi terhubung dengan datasource yang dikonfigurasi di application server. Ketika admin melakukan submit data, maka halaman JSP update data mengesekusi method POST yang merujuk pada halaman servlet updateTabel. Halaman JSP hanya digunakan untuk memilih tabel, kecamatan, kolom dan menerima input data untuk digunakan sebagai parameter ketika mengesekusi servlet updateTable.
Gambar 4.4 Potongan Perintah Update Data Pangan
Pada gambar 4.4, setelah halaman JSP update data diesekusi, maka akan dilakukan manipulasi data dengan menjalankan query mengubah data dengan data yang baru dengan kolom dan kecamatan yang diinputkan.
Gambar 4.5 Halaman Update Data
Gambar 4.5 menggambarkan halaman update data pangan.Setalah berhasil login, admin akan masuk ke halaman beranda admin. Ketika admin melakukan
17
submit data, maka halaman JSP update data mengesekusi method POST yang merujuk pada halaman servlet updateTabel. Halaman JSP hanya digunakan untuk memilih tabel, kecamatan, kolom dan menerima input data untuk digunakan sebagai parameter ketika mengesekusi servlet updateTable. Trigger merupakan PL/SQL yang tersimpan di database yang mana akan berjalan atau ‘fire’ ketika terjadi sesuatu. Salah satu event yang dapat menyebabkan trigger berjalan adalah proses DML (Data Manipulation Language). Perintah SQL yang termasuk dalam DML adalah insert, update dan delete. Proses bisnis atau kalkulasi berada pada database-tier karena kalkulasi berhubungan langsung dengan proses DML, selain itu untuk melakukan kalkulasi dibutuhkan proses melakukan select nilai maksimal dan minimal pada satu kolom data setiap indikator dan akan membutuhkan waktu yang lebih lama jika proses kalkulasi berada pada middle_tier. TGR_RAS_KON berfungsi untuk menghitung rasio ketersediaan pangan. Untuk mencari rasio ketersediaan pangan, maka data pangan harus dicari terlebih dahulu data netto. Setelah itu netto padi, jagung dan ubi dijumlahkan dan dibagi dengan jumlah dari populasi kali 365 hari. Setelah itu konsumsi normatif dibagi dengan hasil dari penghitungan diatas.
Gambar 4.6 Potongan trigger RAS_KON
Baris perintah pada gambar 4.6 digunakan untuk mencari rasio ketersediaan pangan dengan berdasarkan pada rumus komposit ketahanan pangan. TGR_IAV berfungsi untuk melakukan konversi rasio data ketersediaan pangan ke dalam suatu indeks, yang menggunakan skala 0 sampai 1.
18
Gambar 4.7 Potongan trigger IAV
Baris perintah pada gambar 4.7 mengambil data rasio_konsumsi tiap kecamatan dan memasukkannya ke dalam parameter kec1-17. Max dan min mencari nilai maksimal rasio_konsumsi dan min mencari nilai minimal dari rasio_konsumsi. Ketika data berubah akan dilakukan perubahan data tiap baris dengan rumus indeks.
Gambar 4.8 Potongan trigger TGR_AKSES
Baris perintah pada gambar 4.8 digunakan untuk mencari presentase penduduk yang berada dibawah garis kemiskinan. Data yang dimasukkan dibagi dengan populasi per kecamatan dikali 100%.
Gambar 4.9 Potongan trigger HTG_HRP
Untuk mencari ILEX, digunakan data angka harapan kebalikan dari harapan hidup. Maka digunakan trigger untuk mencari angka tersebut dengan menggunakan perhitungan 100% - harapan hidup. Proses pengujian dilakukan dengan melakukan fungsionalitas sistem dan proses failover maupun loadbalance. Selain itu mengukur tingkat kesuksesan
19
user ketika mengakses aplikasi. Disimulasikan user yang mengakses adalah 20 user dengan bantuan tool WAPT. Server
1 server 1 server 1 server 1 server 1 server cluster cluster cluster cluster cluster
Sesi user
114 111 111 113 105 117 125 116 124 120
Sesi Gagal
Successful pages
0 0 0 0 0 0 0 0 0 0
Failed pages Successful hits
3324 2031 2092 2098 2839 3057 3229 3024 3326 3101
0 0 0 0 0 0 0 0 0 0
6086 6195 6316 6302 6772 7314 7708 7138 7626 7309
Failed hits
436 354 362 361 346 207 335 299 133 213
Avg Response time, sec
0.01 0.02 0.01 0.02 0.02 0.01 0.01 0.01 0.01 0.02
Gambar 4.10 Hasil pengujian sistem
Gambar 4.10 menunjukan ketika sistem diakses oleh 20 user, sesi yang dapat ditangani oleh server dan akses terhadap link maupun halaman yang dapat ditangani. Terlihat bahwa server cluster memiliki performa yang lebih baik dari server tunggal ketika melayani basic sesi, halaman maupun akses link. 5. Kesimpulan Demikian pembahasan ini yang dibuat oleh penulis, yang secara umum dapat disimpulkan sebagai berikut: Terealisasinya suatu sistem informasi geografis ketahanan pangan yang dapat membantu dalam proses automatisasi pemetaan ketahanan dan kerentanan pangan kabupaten Brebes. Automatisasi disini, mempunyai maksud seorang admin tidak lagi melakukan penghitungan kepada 9 variable ketahanan dan kerentanan pangan, melainkan sistem yang melakukan. Dengan penerapan cluster instance yang memungkinkan terjadinya proses failover, proses request klien maupun aktifitas admin dalam memasukkan data akan mempunyai ketersediaan yang tinggi karena tidak hanya satu instance saja yang bertindak sebagai server.
20
6. Daftar Pustaka [1]
Badan Ketahanan Pangan Jawa Tengah, 2011, Peta Ketahanan Pangan dan Kerentanaa Pangan Jawa Tengah Tahun 2010, Jawa Tengah: BKP Jawa Tengah
[2] Sharma, Dipti And Bhatia, Parteek, 2011, Spatial Application Of City Using Oracle Spatial Database, Mapviewer, And Map Builder: International Journal Of Soft Computing And Engineering (IJSCE) [3] Oracle, 2004, Oracle Database 10g Developing Spatial Applications Using Oracle Spatial and Mapviewer An Oracle Technical White Paper, USA: Oracle [4] Oracle,2006, Oracle Spatial User’s Guide And Reference 10g Release 2 (10.2) , USA: Oracle [5] BEA System, Inc, 2007, Introduction to BEA Weblogic Server and BEA Weblogic Express: USA, BEA System, Inc [6] Jamal, Ade dan Sistha, Pandriya, 2006, Kinerja Komunikasi Data Kolektif Broadcast Pada PC Cluster, Jakarta: FT Universitas Al-Azhar Indonesia [7] Pradibta, Ario, 2011, Integrasi High Availability dan Load Balancing Application Server Berbasis Jboss, Bandung: Politeknik Telkom [8] Aribowo, Brima, Adidaya, Indra dan Suryani, Fajar, 2009, Aplikasi 3D Virtual Home Berbasiskan Web Yang Explorable, Yogyakarta: Universitas Islam Indonesia [9] Pressman, R.S. Rekayasa Perangkat Lunak Pendekatan Praktisi II.Yogyakarta: Andi, 2004. [10] Sutoko, Ridho, 2009, Sistem Informasi Geografis Berbasis Klimatologi Dengan Menerapkan Basisdata Arsitektur Three-Tiers Provinsi Jawa Tengah, Salatiga: Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
21