METODE PENELITIAN Metode penelitian terdiri atas analisis data kebakaran hutan, proses indexing, implementasi indexing pada database, pengujian, dan evaluasi. Gambar 7 merupakan proses penelitian yang dilakukan. Model Database
Analisis
Indexing
Daftar Kueri
Indexing dengan R-tree dipilih karena indexing ini mudah diimplementasikan pada database dan juga memiliki tingkat efisiensi pada proses pencarian data yang besar. Untuk indexing temporal memakai metode indexing CTI karena indexing ini sudah mendukung indexing dengan data temporal dan juga mudah untuk diimplementasikan. Indexing dengan CTI nantinya akan memakai tree dari R-tree. Indexing Spatial dengan R-Tree Untuk indexing spatial dilakukan indexing menggunakan R-tree. Gambar 8 menunjukkan tahapan yang dilakukan untuk membuat indexing spatial. Membuat list dari masingmasing polygon yang digunakan sesuai data yg ada
Implementasi
Uji Kueri
Evaluasi
Membuat list Minimum Bounding Rectangle (MBR) dari polygon
Membuat hierarki regional polygon
Gambar 7 Metodologi Penelitian. Analisis Analisis merupakan tahap untuk mencari teknik indexing apa yang cocok untuk diterapkan pada data kebakaran hutan. Teknik yang dicari harus disesuaikan dengan entitas yang didapat pada model database. Terdapat beberapa macam metode indexing yang sudah berkembang hingga saat ini. Salah satunya adalah indexing menggunakana R-tree untuk data spasial dan CTI untuk data temporal.
Membuat tabel relational index berdasarkan hierarki Gambar 8 Tahap Indexing Spatial. Untuk indexing spasial yang digunakan adalah data polygon. Selanjutnya di bawah ini akan dijelaskan tahapan dari indexing yang dilakukan secara rinci.
6
Gambar 9 Langkah-langkah Indexing Spatial. (Sumber Kriegel et al 2004) Berikut ini langkah-langkah yang dilakukan dalam melakukan indexing spasial : 1. Tentukan polygon atau area yang akan kita indexing sesuai dengan data yang ada. Polygon yang dibutuhkan dalam indexing hotspot adalah kabupaten, provinsi, pulau dan Indonesia. Data asli yang digunakan adalah kabupaten-kabupaten di Indonesia. Dari kabupaten yang ada dicari polygon untuk provinsi, pulau dan se-Indonesia yang dilakukan secara manual. Mencari polygon provinsi, pulau dan Indonesia menggunakan fungsi sql postgis “ST_UNION”. Gambar 10 di bawah merupakan fungsi ST_UNION yang ada di dalam postgis. Fungsi tersebut akan menggabungkan 2 atau lebih objek polygon menjadi satu polygon. Tipe data masukan dan yang dikembalikan fungsi tersebut adalah geometry. Polygon Setelah semua polygon didapat maka dimasukkan ke dalam satu tabel yaitu tabel polygons seperti pada Gambar 9a.
CREATE OR REPLACE FUNCTION st_union(geometry, geometry) RETURNS geometry AS '$libdir/postgis-1.5','geomunion' LANGUAGE 'c' IMMUTABLE STRICT COST 1; ALTER FUNCTION st_union(geometry, geometry) OWNER TO postgres;
Gambar 10 Fungsi ST_UNION potsgis. Fungsi SQL di atas akan menghasilkan polygon-polygon yang diperlukan. Objek dari polygon tersebut akan disimpan di dalam suatu tabel seperti Gambar 9a di atas. Kolom id berisi nama atau identifier objek dari polygon. Kolom geom berisi polygon dari objek, dengan tipe data geometry. 2. Setelah semua polygon dari area yang dibutuhkan didapat maka dicari MBR dari masing-masing polygon menggunakan fungsi sql postgis “ST_ENVELOPE” seperti Gambar
7
11. Fungsi ST_ENVELOPE akan mencari Minimum Bounding Rectangle dari suatu objek polygon dengan masukan geometry dari objek tersebut dan menghasilkan MBR dari objek dengan tipe data geometry. Hasil dari MBR akan disimpan ke dalam tabel polygon_mbr. CREATE OR REPLACE FUNCTION st_envelope(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_envelope' LANGUAGE 'c' IMMUTABLE STRICT COST 1; ALTER FUNCTION st_envelope(geometry) OWNER TO postgres;
Gambar 11 Fungsi ST_ENVELOPE Potsgis.
dan child_mbr. Atribut page_id merupakan objek dari polygon di dalam tree, sedangkan page_lev menunjukkan levelnya di dalam tree. Atribut child_id mengandung page_id dari objek yang terhubung pada entry dan child_id berisi MBR dari objek tersebut. Penentuan child dari masing-masing node dilakukan dengan fungsi “ST_WITHIN” di dalam postgis. Indexing Temporal dengan CTI Changes Temporal Index (CTI) adalah salah satu teknik indexing pada data temporal. CTI menggunakan valid time dari objek sebagai entitas yang akan dilakukan indexing. Gambar 12 di bawah ini merupakan tahap-tahap yang dilakukan dalam indexing temporal yaitu :
Contoh dari tabel polygons_mbr dapat dilihat pada Gambar 9b. Isi dari tabel tersebut adalah id dari objek sesuai dengan tabel polygon sebelumnya dan juga MBR dari objek yang didapat dengan menggunakan fungsi ST_ENVELOPE. 3. Hierarki dari regional polygon dibuat untuk menggambarkan indexing yang akan dibuat. Untuk data hotspot yang digunakan hierarki dari area dibagi menjadi 4 level sesuai dengan atributnya yaitu : 1. Area Indonesia 2. Area Pulau-pulau 3. Area Provinsi 4. Area Kabupaten Gambar 9c di atas merupakan contoh hierarki regional dari polygon sebelumnya. Polygon A dan B memiliki MBR 5 dan 6. Polygon A dan B menduduki hierarki terbawah, kemudian di atasnya merupakan MBR 5 dan 6. MBR 5 dan 6 tergabung menjadi satu region dengan MBR yaitu 2. MBR 2 tergabung dalam satu region dengan MBR 3 dan 4 menjadi MBR 1. MBR 1 adalah region terbesar dari semua polygon yang ada sehingga MBR 1 menduduki root dari hierarki regional. 4. Setelah mengetahui hierarki regional dari data maka dibuatlah indexing berdasarkan MBR masing-masing polygon yang ada di dalam tabel polygons_mbr. Hasil indexing akan disimpan di dalam tabel polygons_rtree seperti Gambar 9d di atas. Tabel tersebut terdiri atas 4 atribut yaitu page_id , page_lev , child_id ,
Gambar 12 Mekanisme Indexing Temporal. Tahap indexing spatio-temporal di atas dari segi temporal saja. Tahapan indexing yang dilakukan akan diilustrasikan di bawah. Jika diberikan data spatio-temporal seperti Gambar 13a. Diambil contoh data spatio-temporal pada tahun 2005 dan tahun 2006. Pada tahun 2005 terdapat 4 polygon yaitu G1, G2, G3, dan G4 dan 3 node yaitu N1, N2, dan N3. Kemudian pada tahun 2006 data tersebut berubah menjadi 4 polygon (G1, G2, G5, dan G6) dan 2 node (N2 dan N4). Dari data spatio-temporal pada Gambar 13a akan dilakukan indexing temporal sesuai dengan mekanisme pada Gambar 12. Berikut adalah langkah-langkah indexing temporal yang dilakukan :
8
Gambar 13 Langkah-langkah indexing temporal 1. Masukkan data versi 0 (awal) ke dalam current database. Set Valid Start (Vs) dengan waktu saat data masuk dan Valid End (Ve) dengan now. Data awal seperti pada Gambar 11.b1 di atas terdapat 7 record. Masukkan semua record ke dalam current database dengan waktu valid dari 2005 sampai sekarang. Berikan nilai Valid Start (Vs) pada setiap record dengan waktu pada saat itu yaitu 2005 dan nilai Valid End (Ve) dengan now, seperti pada Gambar 13.b2.
‐
2. Masukkan data baru, bandingkan dengan current data yang sudah ada. Pada data baru yang masuk terdapat 6 buah record yang masuk dalam database seperti pada Gambar 13.c1. Bandingkan record yang ada pada data baru dengan record pada current database pada Gambar 13.c2. Hasil perbandingan didapatkan :
3. Langkah selanjutnya adalah memindahkan objek yang tidak valid ke dalam old database (historical database). Saat objek tidak valid lagi maka Valid End (Ve) yang sebelumnya bernilai now diganti menjadi nilai tahun pada saat objek tidak valid, dalam kasus ini maka Ve diisikan dengan 2006. Hasil old database yang didapat seperti Gambar 13d dengan selang waktu 2005-2006 terdiri atas 2 buah polygon (G3 dan G4) dan 2 buah node (N1
‐
‐
Terdapat record yang sama yaitu objek O1, O2, dan O6, maka objek tersebut masih valid saat tahun 2006. Terdapat objek baru yang tidak ada pada current data yaitu O8, O9, dan O10, maka semua objek baru tersebut dianggap valid pada saat itu dengan Vs yaitu 2006. Terdapat objek pada current database yang tidak muncul pada data baru yaitu objek O3, O4, O5, dan O7, maka objek tersebut dianggap tidak valid lagi.
9
dan N3). Objek di atas akan diberikan index sesuai dengan tahun saat objek tersebut valid yaitu 2005-2006.
HASIL DAN PEMBAHASAN
4. Untuk objek yang masih valid akan dimasukkan ke dalam current database. Ganti current database diubah dari “2005–now” menjadi “2006–now”. Gambar 13e merupakan hasil dari current database yang didapat setelah memasukkan data tahun 2006. Isi dari current database merupakan objekobjek yang valid dari tahun 2006 sampai sekarang.
Indexing Spasial Indexing spasial akan memakai data hotspot dari tahun 2002 sampai tahun 2005 dengan model data yang dibangun oleh Kurniawan tahun 2011. Data spasial yang ada dipakai terdapat pada Tabel geografis_info seperti pada Tabel 1. Lintang dan bujur merupakan koordinat dari hotspot, sedangkan nama_kab dan nama_prop berisi informasi spasial dari hotspot. Atribut the_geom berisi geometry masing-masing hotspot yang digunakan untuk mapping ke dalam peta.
5. Jika ada data baru yang masuk maka lakukan lagi langkah 2 sampai 4. Untuk mengakses data yang masih valid kita hanya perlu mengakses current database sehingga waktu yang dibutuhkan lebih sedikit.
Indexing spasial data yang digunakan adalah data pada atribut nama_kab dan nama_prop. Langkah awal untuk melakukan indexing adalah membuat hierarki spasial dari data polygon berdasarkan nama kabupaten dan nama provinsi terjadinya hotspot.
Implementasi Pada tahap ini indexing akan diterapkan pada database yang digunakan dalam sistem. Database yang akan digunakan adalah postgist yaitu spatial PostgreSQL. • Processor : Intel Pentium Dual Core 1.86 Ghz • RAM : 2 GB • Sistem Operasi : Windows XP SP 2 • DBMS : PostgreSQL 8.4.4 Pengujian Pengujian teknik indexing akan dilihat dengan cara menghitung waktu komputasi yang dilakukan saat pencarian data. Dari daftar kueri yang diberikan akan dilihat seberapa baik teknik indexing yang telah dilakukan. Kueri yang digunakan terdiri atas 3 jenis yaitu kueri spasial, kueri temporal dan kueri spatio-temporal. Evaluasi Pada tahap evalusi akan dilakukan penilaian terhadap efisiensi teknik indexing yang diterapkan pada database spatio-temporal. Pada tahap ini akan dilakukan perbandingan kinerja sistem antara yang menggunakan teknik indexing dengan yang tidak menggunakan indexing. Kinerja dapat dihitung dari waktu yang dibutuhkan dalam menjalankan suatu kueri pada proses pencarian.
Hierarki spasial untuk indexing dapat dilihat pada Gambar 14 di bawah. Indexing spasial pada data hotspot hierarki dibagai menjadi 4 level. Level 4 adalah “INDONESIA” yang mencakup seluruh data polygon hotspot di Indonesia. Level di bawahnya yaitu level 3 adalah “pulau” yang terdiri atas 6 pulau besar di Indonesia yaitu SUMATERA, JAWA, KALIMANTAN, SUNDA KECIL (Bali dan Nusa Tenggara), SULAWESI dan IRIAN JAYA. Node pada level 3 hanya mencakup data hotspot sesuai dengan nilainya. Misalnya untuk node “SUMATERA” hanya akan mencakup pulau Sumatera saja sesuai dengan nama kabupaten pada kolom nama_kab. Untuk level 2 berisi provinsi-provinsi yang ada pada data hotspot. Seluruh node pada level ini adalah semua provinsi yang terdaftar pada kolom nama_prop di tabel geografis_info. Nilai pada node di level ini sesuai dengan nodeparent di atasnya, misalkan pada node “SUMATERA” di level 3 maka node yang berhubungan pada level 2 adalah provinsi-provinsi yang ada di pulau Sumatera yaitu Riau, Jambi, Lampung dan lain lain. Pada level 1 berisi kabupaten-kabupaten yang ada pada tabel geografis_info di kolom nama_kab. Nilai dari node sesuai dengan parent pada level di atasnya, contohnya untuk node “JAMBI” maka semua node yang terhubung pada level 1 adalah kabupaten-kabupaten yang ada pada provinsi Jambi seusai dengan letak geografisnya yaitu Tebo, Bungo, Jambi (Kota) dan lain lain.
10