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
Tabel 1 Contoh Data Geografis_info Lintang
Bujur
-7.574
110.777
1.55
101.567
-8.107
115.078
-8.115
112.911
Nama_kab
Nama_prop
The_geom
Surakarta (Kota)
Jawa Tengah
01010000007D3F355
Dumai (Kota)
Riau
01010000003F355EB
Buleleng
Bali
Malang
Jawa Timur
01000000A245B6F3F 0101000000FCA9F1D
Gambar 14 Hierarki Spasial Hotspot Indonesia Setelah hierarki dari data indexing dibuat maka semua objek polygon yang dibutuhkan dicari dan kemudian dimasukkan ke dalam suatu tabel yaitu tabel polygons. Karena indexing yang akan dilakukan adalah indexing spasial maka data yang dipakai adalah data semua provinsi dan kabupaten di Indonesia sampai tahun 2005 yang ada pada tabel Indonesia_kab seperti Tabel 2 di bawah ini. Data pada tabel Indonesia_kab yang dibutuhkan adalah nama_kab yang berisi seluruh kabupaten di Indonesia, nama_prop adalah daftar semua provinsi di Indonesia sesuai dengan
kabupaten, dan juga dimasukkan. Untuk mencari nilai geometry dari masing-masing provinsi digunakan fungsi potsgis “ST_UNION” dengan cara menggabungkan semua kabupaten dengan nama provinsi yang sama. Setelah provinsi dimasukkan maka polygon untuk pulau dimasukkan berdasarkan provinsi yang ada. Terdapat 5 pulau besar di Indonesia yaitu Sumatera, Jawa, Kalimantan, Sunda Kecil, Sulawesi, Maluku dan Irian Jaya. Untuk mendapatkan nilai geometry dari pulau akan dicari dengan fungsi postgis
Tabel 2 Contoh Tabel Indonesia_kab gid
kode_kab
nama_kab
kode_prop
nama_prop
the_geom
1
9401
MERAUKE
94
PAPUA
01060000EC0 ………..
40
8171
KOTA AMBON
81
MALUKU
106000000010………..
71
7403
KENDARI
74
SULAWESI TENGGARA
01060000000E………..
231
3529
SUMENEP
35
JAWA TIMUR
01060000004F………..
297
3101
KEPULAUAN SERIBU
31
DKI JAKARTA
01060000005F………..
the_geom yang berisi geometry dari kabupaten jika dilakukan mapping pada peta Indonesia. Dari tabel Indonesia_kab akan diambil semua kabupaten dan geometry untuk dimasukkan pada
tabel polygons, kemudian provinsi dari kabupaten “St_envelope” seperti pada geometry provinsi. Polygon terakhir adalah polygon Indonesia yang didapat dengan menggabungkan seluruh polygon provinsi yang sudah dicari sebelumnya. Setelah
11
semua polygon tersedia maka dimasukkan data polygon ke dalam tabel polygons. Tabel 3 di bawah ini merupakan contoh dari tabel polygons. Tabel 3 Contoh Tabel polygons Nama
Geom.
Keterangan
INDONESIA
0106000000D…….
Indonesia
JAWA
0106000000F…….
Pulau
BALI
01060000000…….
Provinsi
BENGKULU
10600000000…….
Provinsi
KAMPAR
10600000001….….
Kabupaten
SOLOK
10600000001….…
Kabupaten
DAIRI
10600000001…….
Kabupaten
Tabel polygons terdiri atas 3 kolom yaitu nama, geom, dan keterangan. Kolom nama berisi nama-nama polygon yang digunakan pada proses indexing yang terdiri atas kabupaten-kabupaten, provinsi-provinsi, pulau-pulau dan Indonesia. Kolom geom berisi geometry dari polygon sesuai dengan nama polygon yang digunakan dalam proses selanjutnya. Kolom keterangan berisi keterangan polygon sesuai dengan hierarki. Setelah data polygon yang digunakan didapat dilakukan pencarian Minimum Bounding Rectangle (MBR) dari masing-masing polygon dengan fungsi postgis “ST_ENVELOPE” dengan masukan geometry dari polygon. Hasil MBR masing-masing polygon disimpan pada tabel polygons_mbr seperti pada Tabel 4 di bawah. Tabel polygons terdiri atas 3 kolom yaitu nama, MBR dan keterangan. Kolom nama berisi nama polygon, kolom MBR berisi MBR dari polygon dengan tipe data geometry dan kolom keterangan berisi keterangan polygon sesuai dengan hierarki. Tabel 4 Contoh Tabel polygons_mbr Nama
MBR
Keterangan
INDONESIA
010300000001……
Indonesia
JAWA
010300000001……
Pulau
BALI
010300000001……
Provinsi
BENGKULU
010300000001……
Provinsi
KAMPAR
010300000001……
Kabupaten
SOLOK
010300000001……
Kabupaten
Setelah semua MBR dari polygon didapat dilakukan indexing spasial pada data hotspot
berdasarkan MBR dari masing-masing polygon sesuai dengan hierarki yang sudah dibuat sebelumnya. Hasil dari indexing spasial disimpan di dalam tabel polygons_rtree seperti Tabel 5 di bawah. Tabel 5 Contoh Tabel polygons_rtree child_id page_id page_lev INDONESIA
4
JAWA
3
BALI
2
BENGKULU KAMPAR SOLOK DAIRI
2 1 1 1
JAWA JAWA TENGAH BADUNG LAHAT KAMPAR SOLOK DAIRI
child_mbr 01030000 01030000 01030000 01030000 01030000 01030000 01030000
Tabel polygons_rtee terdiri atas 4 kolom yaitu page_id yang berisi node parent pada hierarki, page_lev berisi level node parent sesuai hierarki, child_id berisi node leaf sesuai dengan parent pada hierarki dan child_mbr berisi MBR dari child_id. Cara mencari parent dan child dari polygon dilihat berdasarkan hierarki spasialnya. Level teratas adalah node “INDONESIA” dengan child berisi polygon provinsi, maka page_id diisi dengan “INDONESIA” kemudian dicari polygon dengan dengan keterangan pulau pada tabel polygons_mbr yang termasuk ke dalam node INDONESIA. Cara untuk mengetahui child dari suatu node digunakan fungsi postgis “ST_WITHIN”. Fungsi ini akan membandingkan antara satu geometry dengan geometry lain, hasilnya merupakan nilai Boolean true atau false. Hasil true didapat jika geometry A berada di dalam geometry B, sedangkan nilai false jika geometry A tidak berada di dalam geometry B. Dengan MBR dari polygon yang sudah didapat dapat dicari polygon pulau mana saja yang termasuk ke dalam MBR polygon “INDONESIA”. Setelah parent dan semua child didapat dapat dimasukkan ke dalam tabel polygons_rtree. Jika suatu node parent memiliki banyak child maka data dimasukkan sesuai dengan banyaknya child, misalkan node “INDONESIA” memiliki 3 buah child maka dimasukkan 3 row ke dalam tabel dengan page_id “INDONESIA” dan child_id berisi masingmasing child yang didapat. Untuk page_lev dinamakan sesuai dengan level node parent pada hierarki dan child_mbr diisi sesuai dengan MBR
12
pada kolom child. Jika node pada suatu level pada hierarki sudah dicari semua child maka dilakukan pencarian parent dan child pada level berikutnya dengan cara yang sama. Hal ini dilakukan hingga semua node pada semua level dicari. SQL yang digunakan dalam pembangunan indexing spasial dapat dilihat pada Lampiran 1. Hasil dari indexing spasial yang disimpan di dalam tabel polygons_rtree akan digunakan dalam proses pencarian data berdasarkan kueri spasial yang diberikan oleh user. Adanya indexing spasial menyebabkan penambahan tabel baru untuk menyimpan hasil indexing pada database. Pada Gambar 15 di bawah menampilkan perbedaan struktur data dengan adanya indexing spasial.
tabel Polygons yang menyimpan semua objek yang digunakan pada proses indexing seperti pada Gambar 15b, Tabel polygons_mbr yang menyimpan semua MBR dari objek pada tabel polygons seperti pada Gambar 15c dan tabel polygons_rtree yang menyimpan hasil indexing spasial yang sudah dilakukan seperti Gambar 15d. Untuk mengakses database maka akan diakses tabel polygons_rtree dahulu sebelum mengakses tabel geografis info yang menyimpan data asli. Jika user akan mencari data hotspot sesuai dengan daerah tertentu maka kueri spasial akan mengakses tabel polygons_rtree terlebih dahulu kemudian baru mengakses data asli pada tabel geografis_info. Indexing temporal
Tanpa indexing tabel yang digunakan pada database hanya menggunakan tabel geografis_info seperti pada Gambar 15a, sedangkan dengan adanya indexing spasial maka ditambahkan 3 tabel baru ke dalam database yaitu
Data yang akan dilakukan proses indexing merupakan data hotspot di wilayah Indonesia setiap tahun dari tahun 2002 sampai 2005. Indexing data tersebut menggunakan model data yang dibuat oleh Kurniawan (2011) dengan
Gambar 15 Perbandingan Struktur Data dengan Indexing Spasial.
13
konsep event based spatiotemporal data model (ESTDM). Tabel 6 di bawah merupakan salah satu tabel hasil model data dari data asli hotspot. Kolom lintang dan bujur berisi koordinat dari hotspot. Kolom Vs dan Ve adalah valid time dari hotspot. Vs merupakan valid start yaitu waktu munculnya hotspot dengan waktu terkecil hari. Ve merupakan valid end yaitu waktu berakhir hotspot tersebut, Ve dengan nilai now berarti hotspot tersebut masih valid sampai hari ini. Indexing temporal menggunakan valid time dari masing-masing hotspot. Sebelum melakukan indexing akan dibuat dulu hierarki dari data yang digunakan. Gambar 16 di bawah merupakan hierarki dari data hotspot berdasarkan waktu valid start.
2003, 2004 dan 2005. Setiap leaf pada node di level 3 menampung semua data dengan tahun sesuai dengan nilai node tersebut. Node 2002 akan menampung data dengan Vs pada tahun 2002. Pada level 2 hierarki merupakan level bulan dari Januari sampai Desember. Node pada level 1 menyimpan semua Vs dari data dengan bulan yang sesuai dengan nilai node ini. Pada node Januari menyimpan data Vs dengan waktu di bulan Januari. Untuk leaf pada level 2 merupakan data Vs dengan nilai waktu harian. Setelah mendapat hierarki dari indexing maka akan dicari semua data dari Tabel hotspot sesuai dengan hierarki di atas. Semua data tersebut kemudian disimpan di dalam tabel temp_list seperti pada Tabel 7.
Gambar 16 Hierarki temporal. Tabel 6 Contoh Tabel hotspot
Tabel 7 Contoh tabel temp_list
Lintang
Bujur
Vs
Ve
-7.574
110.77
200501-01 200501-02 200501-02 200501-03
200501-02 200501-03
1.55
101.56
-8.107
115.07
-8.115
112.91
Keterangan
Time
Ket
31/12/9999
ROOT
01/01/2002
Tahun
Disappear
01/01/2004
Tahun
NOW
Appear
01/02/2002
Bulan
01/09/2005
Bulan
NOW
Appear
22/05/2002
Hari
10/07/2002
Hari
19/08/2004
Hari
Disappear
Gambar 16 di atas merupakan hierarki yang akan dipakai untuk membuat indexing temporal pada data hotspot. Level 4 dari hierarki merupakan ROOT yang mencakup semua data dari tahun 2002 sampai 2005. Untuk Level 3 berisi tahun dari semua data, terdiri dari 2002,
Tabel 7 di atas adalah tabel temp_list yang berisi Vs dari hotspot. Tabel temp_list terdiri atas 2 kolom yaitu waktu dan keterangan. Kolom
14
waktu memiliki tipe data date yang isinya Vs dari data-data hotspot yang ada. Kolom ket berisi keterangan dari waktu Vs sesuai dengan hierarki yang telah dibuat. Untuk row awal berisi ROOT yang merupakan node teratas dari hierarki dengan nilai “31/12/9999” yang berarti mencakup semua data dan dengan ket “ROOT”. Row selanjutnya berisi semua node pada level 2 sesuai data hotspot yaitu tahun 2002, 2003, 2004 dan 2005 dengan ket “tahun”. Selanjutnya dicari nilai bulan yang berlaku pada tahun tertentu, misalnya pada data dengan Vs tahun 2002 terdapat hanya 5 bulan yaitu Januari, Februari, Maret, April, dan Mei, maka pada tabel temp_list dimasukkan data 5 bulan pada tahun 2002 dengan ket “bulan”. Setelah mendapat semua Vs yang disimpan di dalam tabel temp_list dilakukan indexing terhadap data tersebut. Indexing dilakukan sesuai dengan hierarki temporal yang dibuat pada Gambar 13. Hasil dari indexing akan disimpan ke dalam suatu tabel bernama temp_tree seperti pada Tabel 8. Tabel 8 Contoh tabel temp_tree Parent
Child
Lev
31/12/9999
31/12/2002
3
31/12/9999
31/12/2003
3
31/12/2002
01/01/2002
2
31/12/2005
01/01/2005
2
31/12/2005
01/02/2005
2
01/01/2002
02/01/2002
1
01/01/2002
04/01/2002
1
01/02/2005
19/02/2005
1
Tabel 8 di atas adalah hasil dari indexing data dari tabel temp_list sesuai dengan hierarki yang dibuat. Tabel temp_tree terdiri atas 3 kolom yaitu parent dan child dengan tipe data date dan lev dengan tipe data int. Kolom parent berisi node atas yang memiliki leaf node sedangkan kolom child berisi leaf dari node parent, misalkan pada node “ROOT” memiliki child tahun 2002 dan 2003, maka hasil indexing di dalam temp_tree akan ditambah dua row yaitu parent “ROOT” dengan child “2002” dan parent “ROOT” dengan child “2003”. Karena kolom parent dan child bertipe date maka nilai “ROOT” diganti menjadi “31/12/9999” yang berarti mencakup semua data Vs Untuk node tahun maka diganti menjadi “31/12/2002” untuk tahun 2002 dan seterusnya. Kolom lev merupakan nilai dari level dari data sesuai dengan hierarkinya. Misalnya untuk node dengan parent “ROOT” berarada pada level 3 dalam hierarki temporal maka di dalam tabel temp_tree kolom parent yang bernilai “31/12/9999” memiliki lev 3 juga. SQL yang digunakan dalam pembangunan indexing temporal dapat dilihat pada Lampiran 2. Hasil dari indexing pada tabel temp_tree nanti akan digunakan dalam proses pencarian data hostpot. Kueri temporal dalam proses pencarian akan mengakses tabel temp_tree terlebih dahulu kemudian akan merujuk pada data asli di dalam Tabel Hotspot. Indexing temporal menambah tabel baru di dalam database. Pada Gambar 17 di bawah menampilkan perbedaan struktur data pada database dengan adanya indexing temporal.
15
Gambar 17 Perbandingan Struktur Data dengan Indexing Temporal. Tanpa indexing tabel yang digunakan pada database hanya menggunakan tabel hotspot seperti pada Gambar 17a, sedangkan dengan adanya indexing temporal maka ditambahkan 2 tabel baru ke dalam database yaitu tabel temp_list yang menyimpan semua Vs pada tabel hotspot yang digunakan pada proses indexing seperti pada Gambar 17b dan tabel temp_tree yang menyimpan hasil indexing temporal yang sudah dilakukan seperti Gambar 17c. Untuk mengakses database maka akan diakses tabel temp_tree dahulu sebelum mengakses tabel hotspot yang menyimpan data asli. Jika user akan mencari data hotspot sesuai dengan waktu tertentu maka kueri temporal akan mengakses tabel temp_tree terlebih dahulu kemudian baru mengakses data asli pada tabel Hotspot. Uji coba indexing spasial Untuk menganalisis kinerja indexing spasial. Akan diberikan kueri spasial kemudian dicatat waktu yang dibutuhkan untuk menjalankan kueri tersebut. Masing-masing kueri akan dijalankan sebanyak delapan kali dan kemudian akan dihitung rataan dari semua percobaan. Hasil dari percobaan akan dibandingankan antara waktu pencarian dengan indexing dengan yang tidak melakukan indexing.
Tabel 9 di bawah merupakan salah satu hasil perbandingan pencarian data berdasarkan kueri spasial antara indexing dan tanpa indexing. Kueri yang digunakan adalah mencari data hotspot pada pulau tertentu di Indonesia. Untuk kueri yang digunakan terdapat perbedaan penulisan pada kueri dengan indexing spasial dan tanpa indexing. Gambar 18 di bawah merupakan perbandingan kueri dengan indexing dan tanpa indexing. SELECT * FROM geografis_info WHERE nama_kab IN (SELECT son_id FROM polygons_rtree WHERE page_id IN (SELECT son_id FROM polygons_rtree WHERE page_id='SUMATERA'))
(a) Contoh kueri dengan indexing SELECT * FROM geografis_info WHERE (nama_kab = 'KAUR' or nama_kab = 'AGAM' or nama_kab = 'KARO' or …………… or nama_kab = 'TAPANULI TENGAH')
(b) Contoh kueri tanpa indexing Gambar 18 Perbandingan Kueri.
16
Tabel 9 Perbandingan waktu pencarian pada wilayah tertentu (dalam milidetik) SUNDA SUMATERA JAWA KALIMANTAN KECIL SULAWESI Perco nonnonnonnonnonbaan index index index index index index index index index index
MALUKU nonIndex index
IRIAN JAYA nonindex index
p1
1357
3531
265
2984
1266
1890
157
719
187
1531
102
484
157
625
p2
1407
3547
266
2985
1218
1875
141
719
172
1516
156
469
156
610
p3
1375
3531
281
3000
1218
1891
172
719
203
1516
156
468
141
625
p4
1435
3594
266
2985
1203
1890
157
703
187
1516
140
500
156
625
p5
1406
3563
265
3000
1234
1891
157
703
203
1547
156
469
140
609
p6
1421
3578
266
2985
1203
1890
156
719
187
1531
157
484
140
625
p7
1375
3562
266
3000
1265
1907
172
719
187
1532
156
484
141
625
p8
1437
3594
265
2985
1203
1906
157
922
172
1531
156
484
141
610
Rataan
1402
3563
268
2991
1226
1893
159
740
187
1528
147
480
147
619
Jika dilihat pada Tabel 9, untuk mencari data pada pulau Jawa, rataan waktu yang dibutuhkan jika menggunakan indexing adalah 268ms sedangkan jika tidak menggunakan indexing bisa mencapai 3000ms. Perbedaan waktu tersebut hampir 1:3 dengan waktu penggunaan indexing lebih cepat. Pada pencarian data di pulau MALUKU, waktu yang dibutuhkan jika menggunakan indexing adalah 147ms, sedangkan tanpa indexing adalah 480ms berbeda sekitar 200ms. Perbedaan selang waktu yang dibutuhkan tergantung pada banyaknya data yang diperoleh. Kueri di pulau JAWA menghasilkan data yang lebih banyak dibandingkan kueri pada pulau MALUKU. Semakin besar data yang dicari maka
perbedaan waktu yang dibutuhkan antara indexing dan tanpa indexing akan semakin besar. Dengan adanya indexing spasial pencarian dengan kueri spasial akan lebih cepat sekitar 300-2700ms atau 35-91% dibandingkan dengan tidak adanya indexing. Perbandingan waktu pencarian hotspot pada pulau di Indonesia antara yang menggunakan indexing spasial dan tanpa indexing bisa dilihat pada Gambar 19 di bawah. Indexing spasial menghasilkan waktu pencarian yang lebih cepat pada kueri spasial dibandingkan dengan tanpa indexing. Untuk pencarian pada level lain dapat dilihat pada Lampiran 3.
(ms)
4000 3500 3000 2500 2000 1500 1000 500 0
INDEX
NON‐INDEX
Gambar 19 Perbandingan Waktu Pencarian Hotspot pada pulau di Indonesia.
17
Uji coba indexing temporal Setelah indexing temporal pada data hotspot dilakukan maka dilakukan uji coba terhadap indexing yang dengan menggunakan kueri temporal. Kueri temporal untuk semua level dapat dilihat pada Lampiran 4. Analisis dilakukan dengan mencatat lamanya waktu yang dibutuhkan untuk mencari data jika dimasukkan kueri temporal antara penggunaan indexing dengan tidak adanya indexing. Hasil dari perbandingan pencarian data dapat dilihat pada Tabel 10 dan Tabel 11 di bawah.
Tabel 10 di bawah merupakan hasil pencarian data hotspot dengan kueri mencari data hotspot di seluruh Indonesia pada tahun tertentu. Tabel 10 menampilkan perbandingan waktu yang dibutuhkan untuk menjalankan kueri tersebut antara yang menggunakan indexing dan yang tidak, menggunakan data hotspot Indonesia dari tahun 2002 sampai 2005 dengan jumlah data sebanyak 201045 baris. Pada Tabel 10 di bawah dapat dilihat bahwa dengan adanya indexing temporal maka waktu pencarian data dengan kueri
Tabel 10 Perbandingan waktu pencarian data pada tahun tertentu (dalam milidetik) 2002
2003
2004
2005
percobaan
index
non-index
index
non-index
index
non-index
Index
non-index
p1
406
484
625
640
859
859
531
531
p2
484
469
625
640
875
875
531
500
p3
500
484
625
640
875
859
531
515
p4
500
485
625
625
875
844
516
515
p5
500
485
625
625
860
859
532
515
p6
485
500
640
610
875
875
516
516
p7
484
484
641
625
828
844
531
500
p8
500
500
625
640
875
843
531
500
RATAAN
482
486
629
631
865
857
527
512
Tabel 11 Perbandingan waktu pencarian data pada bulan tertentu di tahun tertentu (dalam milidetik) Agust-02 percobaan
index
Agust-03
non-index
index
Agust-04
non-index
index
Agust-05
non-index
Index
non-index
p1
312
344
313
313
344
360
266
250
p2
329
344
328
297
359
340
234
219
p3
328
328
312
313
344
328
250
235
p4
328
329
297
296
344
328
250
250
p5
344
328
312
313
359
328
250
250
p6
344
328
328
297
359
328
235
234
p7
328
344
313
312
344
328
266
250
p8
328
344
287
297
343
344
250
234
RATAAN
330
336
311
305
350
336
250
240
Banyaknya percobaan yang dilakukan dalam pencarian sebanyak delapan kali untuk masingmasing kueri. Dari delapan hasil pencarian yang dilakukan akan dihitung rataannya kemudian dilihat perbandingan waktu pencarian data antara penggunaan indexing dengan yang tidak menggunakan indexing.
temporal hampir sama dengan tanpa indexing. Selang waktu antara yang menggunakan indexing dan tidak rata-rata berkisar 1% lebih cepat. Pada pencarian di tahun 2005 pencarian dengan indexing membutuhkan waktu lebih lama 15ms atau 3% lebih lama dibandingkan tanpa indexing.
18
Perbandingan waktu pencarian pada kueri ini dapat dilihat pada Gambar 20 di bawah. (ms)
1000 800 600 400 200
(ms)
400 350 300 250 200 150 100 50 0 Agustus Agustus Agustus Agustus (2002) (2003) (2004) (2005)
0 2002
2003
INDEX
2004
2005
INDEX
NON-INDEX
NON-INDEX
Gambar 20 Perbandingan waktu pencarian hotspot pada tahun tertentu. Untuk analisis selanjutnya akan diberikan kueri mencari data hotspot seluruh Indonesia pada bulan tertentu di tahun tertentu. Tabel 11 di atas adalah hasil dari kueri tersebut dengan data yang dicari pada bulan Agustus pada tahun 2002, 2003, 2004 dan 2005. Pada Tabel 11dapat dilihat hasil perbandingan waktu pencarian data menunjukkan waktu pencarian pada bulan Agustus 2002 akan lebih cepat 6ms atau 2% dibandingkan dengan tidak adanya indexing, tetapi pada pencarian di bulan Agustus 2004 waktu yang dibutuhkan lebih lama 14ms atau 4%. Hal ini membuktikan bahwa dengan adanya indexing temporal maka proses pencarian data tidak begitu berubah. Perbandingan waktu pencarian dapat dilihat pada Gambar 21 di bawah.
Gambar 21 Perbandingan waktu pencarian hotspot pada tahun dan bulan tertentu. Uji coba indexing spatio-temporal Setelah indexing spasial dan indexing temporal dilakukan akan diuji dengan kueri spatio-temporal untuk melihat waktu pencarian data. Pada Tabel 12 dan Tabel 13 dapat dilihat perbandingan waktu pencarian data antara database dengan indexing dan tanpa indexing dengan kueri spatio-temporal. Tabel 12 menggunakan indexing spasial dan temporal sedangkan pada Tabel 13 hanya menggunakan indexing spasial saja. Dari Tabel 12 dapat dilihat bahwa indexing spasial dan temporal dapat meningkatkan waktu pencarian sampai 960ms atau 53% lebih cepat dibandingkan tanpa indexing. Hasil perbandingan pada Tabel 12 dapat dilihat pada Gambar 22 di bawah.
Tabel 12 Perbandingan waktu pencarian data pada wilayah tertentu di tahun 2004 dengan indexing spatiotemporal (dalam milidetik) SUNDA SUMATERA JAWA KALIMANTAN KECIL SULAWESI MALUKU IRIAN JAYA nonnonnonnonnonnonnonpercobaan Index index index index index index index index index index Index index index index p1
1391
2282
843
1750
1437
1688
781
828
719
1625
766
594
766
594
p2
1406
2266
828
1812
1422
1671
765
844
781
1625
750
578
750
594
p3
1422
2266
844
1813
1422
1656
765
796
797
1640
781
593
765
593
p4
1407
2281
828
1797
1421
1641
781
813
781
1625
781
593
766
578
p5
1406
2250
844
1797
1422
1672
782
813
797
1610
765
593
766
594
p6
1406
2250
844
1829
1406
1671
781
813
782
1609
766
594
765
594
p7
1422
2266
828
1781
1469
1656
766
813
796
1625
766
578
765
594
p8
1406
2250
828
1797
1359
1672
750
813
797
1640
750
609
766
593
RATAAN
1408
2264
836
1797
1420
1666
771
817
781
1625
766
592
764
592
19
(ms)
2500 2000 1500 1000
INDEX NON-INDEX
500 0
Gambar 22 Perbandingan waktu pencarian hotspot pada tahun dan pulau tertentu dengan indexing spatiotemporal. Tabel 13 di bawah menunjukkan perbandingan waktu pencarian antara indexing dan tanpa indexing pada kueri yang sama. Indexing yang digunakan adalah indexing spasial saja. Dari hasil yang ada dapat dilihat bahwa dengan indexing spasial saja pada kueri spatiotemporal dapat mempercepat waktu pencarian
sebesar 74ms-1000ms atau 9%-56% lebih cepat dibandingkan tanpa indexing. Hasil tersebut juga lebih cepat dibandingkan dengan indexing spatiotemporal. Perbandingan waktu pencarian dapat dilihat pada Gambar 23 di bawah ini. Untuk pencarian pada level lainnya dapat dilihat pada Lampiran 5.
Tabel 13 Perbandingan waktu pencarian data pada pulau tertentu di tahun 2004 dengan indexing spasial (dalam milidetik) SUNDA SUMATERA JAWA KALIMANTAN KECIL SULAWESI MALUKU inde nonnonnonnonnonnonpercobaan index index index index index index index index index index index
IRIAN JAYA nonindex index
p1
1156
2282
813
1750
1343
1688
750
828
750
1625
735
594
719
594
p2
1203
2266
797
1812
1328
1671
734
844
750
1625
734
578
734
594
p3
1235
2266
781
1813
1313
1656
750
796
766
1640
735
593
719
593
p4
1234
2281
797
1797
1344
1641
750
813
750
1625
750
593
734
578
p5
1235
2250
719
1797
1328
1672
735
813
750
1610
735
593
734
594
p6
1234
2250
781
1829
1329
1671
734
813
765
1609
734
594
718
594
p7
1265
2266
797
1781
1312
1656
734
813
734
1625
734
578
719
594
p8
1188
2250
797
1797
1328
1672
750
813
750
1640
734
609
734
593
RATAAN
1219
2264
785
1797
1328
1666
742
817
752
1625
736
592
726
592
20
(ms)
2500 2000 1500 1000 500 0
INDEX
NON-INDEX
Gambar 23 Perbandingan waktu pencarian hotspot pada tahun dan pulau tertentu dengan indexing spasial. Pada pencarian di pulau Maluku dan Irian Jaya dapat dilihat dengan adanya indexing, waktu pencarian yang dibutuhkan lebih lama dibandingkan dengan tanpa indexing. Hal ini disebabkan node pada level kabupaten yang berhubungan langsung terhadap node pulau tersebut terlalu sedikit. Tabel 14 di bawah akan
menunjukkan perbandingan waktu pencarian antara indexing dan tanpa indexing dengan kueri mencari hotspot pada provinsi tertentu di tahun tertentu. Provinsi yang diambil sesuai dengan node kabupaten di bawahnya. Hasil perbandingan waktu pencarian dapat dilihat pada Gambar 24.
Tabel 14 Perbandingan waktu pencarian hotspot pada provinsi tertentu berdasarkan nodechild SUMATERA SULAWESI SULAWESI JAWA TIMUR UTARA RIAU TENGGARA BARAT nonnonnonnonnonpercobaan index index index index index index index index index index p1
719
1141
812
844
921
734
703
438
796
218
p2
797
1156
813
843
922
782
781
437
781
157
p3
781
1141
781
859
906
765
765
438
766
157
p4
797
1188
813
859
906
781
781
437
781
218
p5
797
1141
812
844
906
766
781
468
703
218
p6
781
1094
813
859
906
781
781
437
765
219
p7
797
1125
813
844
828
766
765
421
781
218
p8
797
1187
812
844
922
782
765
437
703
218
RATAAN Node Child
783
1147
809
850
902
770
765
439
760
203
48
31
20
10
5
21
(ms)
1400 1200 1000 800 600 400 200 0 JAWA TIMUR
SUMATERA UTARA
RIAU
SULAWESI SULAWESI TENGGARA BARAT index non‐index
Gambar 24 Perbandingan waktu pencarian data pada provinsi tertentu berdasarkan node child. Pada Gambar 24 dapat dilihat bahwa semakin banyak node child yang ada maka waktu pencarian dengan indexing akan semakin cepat dibandingkan dengan tanpa indexing. Provinsi Jawa Timur adalah provinsi yang memiliki node child kabupaten terbanyak yaitu 48 node, sedangkan provinsi Sulawesi Barat adalah provinsi dengan node kabupaten paling sedikit yaitu 5 node. Waktu pencarian pada provinsi Jawa Timur lebih cepat 360ms atau 30% lebih cepat dibandingkan tanpa indexing. Pada provinsi Sulawesi Barat waktu pencarian lebih lama 500ms dibandingkan dengan tanpa indexing. Dapat disimpulkan bahwa banyaknya node child yang terhubung pada node parent yang dicari mempengaruhi kecepatan pencarian dengan indexing karena semakin banyak node yang terhubung maka semakin banyak data akan dilakukan indexing. KESIMPULAN DAN SARAN Kesimpulan Penggunaan struktur indexing di dalam database spatio-temporal pada data hotspot dapat meningkatkan waktu pencarian data. Dengan adanya indexing waktu pencarian dapat dilakukan sampai dua kali lebih cepat dibandingkan dengan tidak adanya indexing. Indexing spatio-temporal dibagi menjadi dua bagian yaitu indexing spasial dan indexing temporal. Masing-masing indexing digunakan sesuai dengan kueri yang dibutuhkan. Jika kueri yang diberikan adalah kueri temporal maka indexing yang digunakan adalah indexing temporal, sedangkan kueri yang diberikan adalah
kueri spasial maka yang digunakan adalah indexing spasial, dan kueri spatio-temporal digunakan kedua indexing tersebut. Indexing spasial menghasilkan waktu pencarian lebih cepat hingga 70% dibandingkan dengan tidak adanya indexing. Indexing temporal menghasilkan waktu pencarian 35% lebih cepat dibandingkan dengan tidak adanya indexing. Pada indexing spatiotemporal waktu pencarian yang dihasilkan lebih cepat sampai 50%. Hal di atas menunjukkan bahwa indexing spasial lebih berpengaruh terhadap pencarian dibandingkan indexing temporal. Hal ini disebabkan struktur tree yang digunakan pada indexing temporal kurang sesuai. Banyaknya node child yang terhubung juga mepengaruhi kecepatan waktu pencarian. Semakin banyak node child yang terhubung pada node parent maka waktu pencarian juga akan semakin cepat. Saran Saran-saran yang dapat diberikan untuk pengembangan indexing spatio-temporal pada database spatiotemporal dengan konsep eventbased spatiotemporal data model (ESTDM) ini agar lebih baik adalah sebagai berikut : • Penggunaan data dengan tipe lain seperti polygon dan line pada indexing sehingga dapat diketahui apakah indexing dapat menangani semua tipe data spasial. • Penggunaan struktur tree yang berbeda dalam indexing database untuk melihat struktur yang paling bagus dalam indexing spasial dan temporal untuk data hotspot.
22