Indexing Spatio-Temporal Pada Data Hotspot

advertisement
 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 
Download