PEMBUATAN DATABASE DENGAN PENDEKATAN EVENTBASED SPATIOTEMPORAL
MIRNA SITI MARYAM
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR 2009
PEMBUATAN DATABASE DENGAN PENDEKATAN EVENTBASED SPATIOTEMPORAL
MIRNA SITI MARYAM
Skripsi Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR 2009
ABSTRACT MIRNA SITI MARYAM. Database Design with an Event-based Spatiotemporal Approach. Under direction of ANNISA. The need of information about geographical changes is increasing. Therefore we need a concept for storing data to represent dynamic geographical phenomena especially the spatial object evolution. An Event-based Spatiotemporal approach is propose to overcome this problem (Wang 2005). The new definitions about version, process, and event allow us to describe how an object evolves during its evolution period. This research aims to implement an Event-based Spatiotemporal approach into Microsoft Access. As a result, we can get the information about an object evolution from spatiotemporal query such as show the location of Forest A at a given time and show the soil type of Forest A at a given time. These queries make analyze a spatial object easier. Keywords: object evolution, geographical changes, version, database design, event-based spatiotemporal
Judul Nama NIM
: Pembuatan Database dengan Pendekatan Event-based Spatiotemporal : Mirna Siti Maryam : G64052240
Menyetujui: Pembimbing
Annisa, S.Kom., M.Kom. NIP 197907312005012
Mengetahui, Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Dr. Drh. Hasim, DEA NIP 196103281986011002
Tanggal Lulus :
PRAKATA Puji dan syukur penulis panjatkan kepada Allah SWT atas segala rahmat dan hidayah-Nya sehingga tugas akhir dengan judul Pembuatan Database dengan Pendekatan Event-based Spatiotemporal dapat terselesaikan. Penelitian ini dilaksanakan mulai Maret 2009 sampai dengan Juli 2009, bertempat di Departemen Ilmu Komputer. Terima kasih penulis ucapkan kepada pihak-pihak yang telah membantu dalam penyelesaian tugas akhir ini, antara lain kepada Ibu Annisa, S.Kom., M.Kom. selaku pembimbing yang telah banyak memberi arahan selama penulis menjalankan penelitian. Ucapan terimakasih juga diberikan kepada mama, papa, teh Intan, teh Resti, aa Budhi, Luthfi serta seluruh keluarga atas doa, dukungan, dan kasih sayangnya. Terakhir, ungkapan terimakasih juga diberikan kepada teman-teman seperjuangan dan sahabat, Mega, Kurni, Karin, Agnes, Fuad, Lena, Medri, Fitri, Ovie, Adet, Prita, Huda, Nila, Indra, Ijun, dan Regi atas semangat dan dukungannya, serta pihak lain yang turut membantu baik secara langsung maupun tidak langsung dalam penyelesaian tugas akhir ini. Semoga karya ilmiah ini bermanfaat.
Bogor, Juli 2009
Mirna Siti Maryam
RIWAYAT HIDUP Penulis dilahirkan di Bogor pada tanggal 27 November 1986 dari ayah H.M Hasir Hardjawinata dan Ibu Tini Rukmini. Penulis merupakan anak ketiga dari tiga bersaudara. Tahun 2005, penulis lulus dari SMUN 1 Bogor dan pada tahun yang sama penulis diterima di Institut Pertanian Bogor (IPB) melalui jalur USMI. Tahun 2007, penulis diterima sebagai mahasiswa di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, IPB. Tahun 2008, penulis menjalankan kegiatan praktik lapangan di Lembaga Penerbangan dan Antariksa Nasional (Lapan).
DAFTAR ISI Halaman DAFTAR TABEL .................................................................................................................................. v DAFTAR GAMBAR.............................................................................................................................. v DAFTAR LAMPIRAN........................................................................................................................... v PENDAHULUAN Latar Belakang ................................................................................................................................... 1 Tujuan Penelitian................................................................................................................................ 1 Ruang Lingkup ................................................................................................................................... 1 Manfaat............................................................................................................................................... 1 TINJAUAN PUSTAKA Spatiotemporal Database .................................................................................................................. 1 Pendekatan Event-Based Spatiotemporal ........................................................................................... 2 METODE PENELITIAN Perancangan Konseptual .................................................................................................................... 5 Perancangan Logika ........................................................................................................................... 6 Perancangan Fisik atau Implementasi ................................................................................................ 6 Analisis dan Kueri .............................................................................................................................. 9 HASIL DAN PEMBAHASAN Model Data ......................................................................................................................................... 9 Proses Modifikasi ............................................................................................................................... 9 Analisis dan Kueri ............................................................................................................................ 10 KESIMPULAN DAN SARAN Kesimpulan....................................................................................................................................... 12 Saran................................................................................................................................................. 12 DAFTAR PUSTAKA ........................................................................................................................... 12 LAMPIRAN ......................................................................................................................................... 14
iv
DAFTAR TABEL Halaman 1 Contoh Data Tabel BaseMap .............................................................................................................. 8 2 Contoh Data Tabel SpatialInfo ........................................................................................................... 8 3 Contoh Data Tabel ThematicInfo ....................................................................................................... 8 4 Contoh Data Tabel Version ................................................................................................................ 8 5 Contoh Data Tabel Process................................................................................................................. 8 6 Contoh Data Tabel Event.................................................................................................................... 9 7 Modifikasi pada Event-based Spatiotemporal ..................................................................................... 9 8 Contoh Kesalahan Penulisan pada Tabel Version ............................................................................. 10 9 Hasil Kueri Evolusi Semak A ............................................................................................................ 11
DAFTAR GAMBAR Halaman 1 Proses-proses Spatiotemporal.............................................................................................................. 2 2 Proses Pendekatan Event-Based Spatiotemporal ................................................................................. 3 3 Proses Evolusi Objek ........................................................................................................................... 4 4 Skema Data Relasional untuk Memodelkan Evolusi Entitas ............................................................... 4 5 Diagram Alir........................................................................................................................................ 4 6 Entity Relationship Diagram (ERD) dengan Pendekatan Event-based Spatiotemporal...................... 6 7 Skema Data Relasional dengan Pendekatan Event-based Spatiotemporal.......................................... 6 8 Diagram Alir Proses Insert .................................................................................................................. 9 9 Diagram Alir Proses Delete ............................................................................................................... 10 10 Diagram Alir Proses Update............................................................................................................ 10
DAFTAR LAMPIRAN Halaman 1 Penjelasan Atribut dan Tipe Data ...................................................................................................... 15 2 Hasil Kueri......................................................................................................................................... 18
v
PENDAHULUAN Latar Belakang Kebutuhan informasi mengenai perubahan geografis saat ini sangatlah meningkat. Oleh karenanya dibutuhkan model penyimpanan data yang sesuai agar dapat menyimpan cukup informasi untuk merepresentasikan perubahan tersebut. Penelitian terdahulu umumnya fokus terhadap perubahan geografis yang bersifat seketika seperti perubahan batas wilayah dua negara akibat adanya suatu kesepakatan. Hal ini berbeda dengan perubahan geografis seperti evolusi objek. Contoh evolusi objek adalah hutan yang berubah menjadi padang pasir akibat adanya kebakaran hutan. Hutan tersebut melakukan berbagai proses yang membutuhkan waktu sebelum ia menjadi objek lain. Model pada penelitian terdahulu kurang tepat untuk menggambarkan evolusi objek karena hanya menyimpan keadaan objek sebelum dan sesudah evolusi sehingga informasi di antaranya hilang. Model tersebut tidak dapat menerangkan bagaimana suatu objek tersusun saat dia berevolusi. Evolusi objek dalam dunia nyata dapat disebabkan oleh berbagai kejadian. Penyimpanan berbagai kejadian tersebut juga diperlukan agar dapat menjawab pertanyaan tentang penyebab evolusi objek. Oleh karena itu dibuat model penyimpanan dengan pendekatan event-based spatiotemporal yang menyimpan kejadian penyebab evolusi. Selain itu model tersebut dapat menggambarkan bagaimana objek tersusun saat dia berevolusi dengan melihat berbagai proses yang menghubungkan objek sebelum berevolusi dan objek setelah berevolusi Tujuan Penelitian Tujuan dari penelitian ini adalah menerapkan konsep event-based spatiotemporal dalam pembuatan database sehingga dapat menyimpan cukup informasi untuk menggambarkan proses penyusunan evolusi objek akibat adanya suatu kejadian. Ruang Lingkup Ruang lingkup penelitian ini difokuskan pada penggunaan pendekatan event-based spatiotemporal untuk menggambarkan perubahan geografis dalam Microsoft Access.
Manfaat Penelitian Setelah menerapkan konsep event-based spatiotemporal pada database diharapkan konsep ini dapat diaplikasikan pada data sebenarnya untuk menjawab kebutuhan informasi mengenai evolusi objek yang merepresentasikan perubahan geografis. TINJAUAN PUSTAKA Spatiotemporal Database Suatu objek spasial mempunyai informasi spasial seperti titik koordinat, ataupun informasi luas dan informasi tematik yang dapat berubah sepanjang waktu. Hal inilah yang mendasari spatiotemporal database. Spatiotemporal database berasal dari spatial database. Spatial database adalah database yang menyimpan data yang berhubungan dengan ruang (Han & Kamber 2001). Jenis data ini sering disebut dengan data spasial. Fokus dalam suatu spatial database adalah merepresentasikan objek yang berada dalam suatu ruang dengan lokasi dan luas yang terdefinisi dengan jelas (Guting & Scheneider 2005). Spatiotemporal database juga berasal dari temporal database yang menyediakan dukungan khusus untuk dimensi waktu. Temporal database menyediakan fasilitas khusus untuk menyimpan, melakukan kueri, dan memperbaharui data lampau atau mendatang. Sistem database pada umumnya bersifat nontemporal yang hanya menyimpan data saat ini (current data) (Date et al. 2003). Terdapat dua dimensi waktu pada temporal database. Pertama adalah valid time yaitu waktu yang merujuk pada waktu saat suatu fakta terjadi sebenarnya dalam dunia nyata. Kedua adalah transaction time yang merujuk pada waktu saat data disimpan ke dalam database atau waktu saat perubahan disimpan dalam database. Database yang menggunakan valid time dan transaction time adalah database dengan tabel bitemporal (Guting & Scheneider 2005). Pada database temporal terdapat istilah NOW dan UC. NOW adalah waktu yang digunakan untuk valid time end jika data tersebut masih valid di dunia nyata sampai saat ini, sedangkan UC (Until Change) adalah nilai dari transaction time end yang menjadi tanda jika data pada tuple tersebut masih berlaku atau benar.
1
Pada temporal database dapat digambarkan perkembangan dari data sepanjang waktu. Oleh karena itu pada spatiotemporal database tidak hanya menyimpan keadaan saat ini dari data spasial tetapi menyimpan juga seluruh sejarah dari perkembangan data spasial tersebut (Guting & Scheneider 2005). Pendekatan Event-Based Spatiotemporal Perancangan database dengan pendekatan event-based spatiotemporal dilakukan dengan lebih menekankan pada tiga hal penting seperti version, proses dan event. Version atau versi sebelumnya digunakan untuk merepresentasikan objek yang menyusun suatu keadaan (state). Konsep terdahulu menganggap version sebagai representasi statis (static version) yang digunakan untuk merepresentasikan versi objek yang berbeda. Static version hanya menggambarkan keadaan stabil versi objek sebelum dan objek sesudah berevolusi (Wang et al. 2005)
Gambar 1 menjelaskan contoh prosesproses spatiotemporal. Pada Gambar 1 terdapat objek A dan objek B pada t1. Akibat sesuatu hal kedua objek tersebut menjadi bersatu pada t2. Pada gambar bagian atas waktu t2, objek B menyatu dengan A dan menjadi objek A dengan versi yang baru dan objek B hilang. Pada gambar di bawah, objek A dan B bersatu menjadi objek C pada t2. Objek A dan B hilang diganti dengan munculnya objek baru. Proses bersatunya kedua objek tersebut digambarkan dengan proses union yang melibatkan dua objek berbeda sedangkan untuk proses hilangnya objek A dan B juga munculnya objek C digambarkan dengan proses disappearance dan appearance yang hanya melibatkan objek itu sendiri.
Dynamic version merupakan konsep baru untuk version dimana version diartikan sebagai evolusi atau keadaan stabil (stability) dari suatu objek selama periode tertentu. Untuk membedakannya dengan static version, dynamic version tidak hanya merepresentasikan state stabil tetapi juga dapat merepresentasikan state saat objek berevolusi. Version baru muncul tepat ketika version sebelumnya hancur. Untuk selanjutnya istilah version yang digunakan merujuk pada istilah dynamic version (Wang et al. 2005). Suatu objek dalam periode version-nya digambarkan dengan proses. Proses adalah aksi yang dilakukan suatu objek selama atau setelah kejadian terjadi padanya. Suatu objek version dapat mempunyai beberapa proses untuk menggambarkannya. Terdapat dua kelas dari proses spatiotemporal dasar yaitu: •
Evolusi dari single objek yang merepresentasikan perubahan dasar seperti appearance, disappearance, contraction, expansion, dan perubahan tematik objek.
•
Evolusi antara multiple objek yang melibatkan interaksi proses spatiotemporal dari beberapa objek seperti union, split, dan replacement. Proses-proses ini dapat diikuti dengan appearance dan disapparance (Wang et al. 2004).
Gambar 1 Proses-proses Spatiotemporal (Sumber : Wang et al. 2005). Seperti yang telah disampaikan sebelumnya suatu perubahan dapat terjadi karena adanya suatu kejadian (event). Event menyebabkan objek berubah menjadi versi lain bahkan menjadi objek lain. Event menyebabkan satu atau beberapa proses kepada version (Wang et al. 2005). Pada Gambar 2 dapat dilihat gambaran umum dari proses perancangan database menggunakan pendekatan event-based spatiotemporal. Gambar tersebut menjelaskan hubungan event, proses, dan version.
2
Gambar 2 Proses Pendekatan Event-Based Spatiotemporal ( Sumber: Wang et al. 2005). Pada Gambar 2 dapat dilihat suatu event m terjadi dan menyebabkan dua buah objek yaitu objek A dan objek B berevolusi. Version awal (V0) dari kedua objek tersebut hancur sehingga muncul version baru (Vi). Proses merepresentasikan bagaimana kedua objek tersebut tersusun saat periode evolusi Vi. Gambar 3 dapat menjelaskan lebih detail bagaimana suatu proses digambarkan dengan pendekatan event-based spatiotemporal dengan suatu contoh kasus. Gambar tersebut menjelaskan suatu event gempa bumi yang menyebabkan dua objek yaitu objek A dan B berevolusi. Akibat gempa bumi tersebut munculah version baru yang menggambarkan periode evolusi pada objek A dan B. Pada periode version tersebut objek A mengalami proses perubahan yang digambarkan dengan split sedangkan objek B mengalami proses perubahan yang digambarkan dengan split dan appearance. Proses split menggambarkan bahwa event gempa bumi yang menimpa objek A menyebabkan objek A tersebut terbagi dengan munculnya objek B sedangkan proses appearance menjelaskan suatu objek B baru muncul dari ketiadaan(VNull). Objek B berasal dari objek A yang terkena gempa bumi.
Setelah proses perubahan pada kedua objek tersebut selesai, objek A dan B masuk ke dalam keadaan stabil yang digambarkan dengan proses stability dimana tidak terdapat event apapun. Selanjutnya event banjir terjadi dan menyebabkan tiga objek yaitu objek A, B, dan C masuk ke version baru. Dapat dilihat pada gambar, banjir mempengaruhi objek A dan menyebabkan objek tersebut hilang. Disini terlihat bahwa valid time dari objek A version ke-3 (V3) lebih pendek dibandingkan event banjir dan bukan event-lah yang mengidentifikasi suatu objek version tetapi aksi dari objek version itu sendiri yaitu proses. Proses, event, version inilah yang akan disimpan dalam database sehingga dapat menggambarkan suatu perubahan objek akibat terjadinya suatu event. Pada Gambar 4 terdapat model skema yang diajukan untuk pembuatan database dengan pendekatan event-based spatiotemporal. Pada model tersebut dijelaskan bahwa BaseMap dan Version masing-masing mempunyai SpatialInfo dan ThematicInfo. Version dapat terkena Event dan sebagai reaksi atas Event tersebut, Version melakukan beberapa Process.
3
Gambar 3 Proses Evolusi Objek (Sumber : Wang et al 2005).
Gambar 4 Skema Data Relasional untuk Memodelkan Evolusi Entitas (Sumber : Wang et al 2005). METODE PENELITIAN Tahapan-tahapan dalam pembuatan sistem database menggunakan pendekatan event-based spatiotemporal sama dengan pembuatan database pada umumnya. Tahapan-tahapan tersebut dapat dilihat pada Gambar 5 yang merupakan gambar diagram alir untuk pembuatan sistem database dengan pendekatan event-based spatiotemporal. Tahap pertama adalah studi pustaka. Tahap selanjutnya adalah merancang model konseptual, merancang model logika, fisik dan implementasi, juga melakukan analisis dengan menggunakan kueri. Gambar 5 Diagram Alir. 4
event tertentu. Proses menggambarkan bagaimana objek tersebut tersusun selama periode Version-nya sehingga periode Process dan Version sama.
Perancangan Konseptual Suatu objek mempunyai keadaan awal dan dapat berevolusi menjadi versi baru atau bahkan menjadi objek baru akibat terkena suatu event. Event menyebabkan objek tersebut melakukan berbagai proses saat ia berevolusi, seperti expansion, contraction, union, split dan sebagainya. Objek tersebut mempunyai informasi spasial dan juga tematik yang dapat berubah ketika ia berevolusi. Pada Gambar 6 digambarkan model konseptual berupa Entity Relationship Diagram (ERD). Gambar tersebut menjelaskan hubungan antara entitas. Berikut penjelasan mengenai definisi entitas-entitas tersebut: •
•
Event merupakan suatu kejadian. Kejadian tersebut dapat menyebabkan objek berevolusi. Entitas-entitas tersebut saling berhubungan. Hubungan antarentitas tersebut direpresentasikan dengan relasi-relasi. Berikut penjelasan mengenai relasi-relasi tersebut. •
BaseMap berhubungan dengan SpatialInfo. Setiap BaseMap pasti mempunyai satu SpatialInfo yang memberikan informasi spasial pada BaseMap sebagai informasi spasial awal objek sebelum berevolusi. BaseMap juga berhubungan dengan ThematicInfo. Setiap BaseMap mempunyai satu ThematicInfo yang memberikan informasi tematik awal.
•
Version berelasi dengan tabel SpatialInfo dan ThematicInfo. Setiap Version mempunyai satu SpatialInfo dan ThematicInfo yang memberikan informasi spasial dan luas, berikut tipe tanah dari Version tersebut. Tidak semua objek Version ada di dalam BaseMap. Hal ini dikarenakan mungkin saja muncul objek baru akibat evolusi objek lain sehingga objek tersebut tidak terdapat di peta awal. Version juga berelasi dengan Process, satu Version dapat melakukan satu atau beberapa Process dalam berevolusi.
•
Process berelasi dengan Version. Satu Version dapat dijelaskan oleh beberapa Process. Process juga berelasi dengan Event, satu Event dapat menyebabkan beberapa Process terjadi pada Version. Tetapi mungkin saja tidak ada Process yang disebabkan oleh suatu Event, yaitu ketika objek Version sudah dalam keadaan stabil.
BaseMap BaseMap merupakan objek dengan keadaan awal. Objek tersebut berada dalam peta awal. BaseMap adalah objek dengan versi ke-0 (V0) (Wang S et al. 2004). Objek tersebut belum mengalami evolusi.
•
SpatialInfo SpatialInfo merupakan informasi spasial dan luas dari setiap objek.
•
ThematicInfo ThematicInfo merupakan informasi tematik. Informasi tematik yang diberikan disini berupa informasi mengenai tipe tanah (soil type) dari objek.
•
Version Version merupakan versi dari suatu objek saat atau setelah berevolusi (Vi; i = 1,2,3…n). Setiap objek dapat mempunyai beberapa versi dikarenakan objek tersebut mengalami perubahan geografis akibat terkena event tertentu. VNull juga merupakan suatu Version yang merepresentasikan ketiadaan objek.
•
Process
Event
Procces merupakan aksi yang dilakukan suatu Version saat atau setelah terkena
5
Gambar 6 Entity Relationship Diagram (ERD) dengan Pendekatan Event-based Spatiotemporal.
Gambar 7 Skema Data Relasional dengan Pendekatan Event-based Spatiotemporal. Perancangan Logika Pada perancangan database ini, penulis menggunakan model database relasional. Pada Gambar 7 digambarkan skema data relasional yang menjelaskan hubungan antarrelasi dan juga atribut-atributnya. Perancangan Fisik atau Implementasi Perancangan fisik dilakukan dengan mengimplementasikan relasi-relasi yang telah dibuat di atas ke dalam DBMS relasional yaitu Microsoft Acces 2007, Windows XP sebagai sistem operasi, dan Microsoft Visual Basic 2005 sebagai development environment. Tabel-tabel yang dihasilkan dan penjelasan masing-masing atributnya beserta tipe datanya
dapat dilihat pada Lampiran 1. Berikut ini adalah penjelasan dari masing-masing tabel beserta beberapa hal penting yang harus diperhatikan. •
BaseMap
Pada tabel BaseMap terdapat Vs dan Ve yang merupakan nilai valid time awal dan akhir dengan satuan waktu yang digunakan adalah hari. Satuan waktu terkecil yang digunakan dalam hari dianggap cukup merepresentasikan keadaan objek pada waktu tertentu karena suatu keadaan stabil maupun masa perubahan objek umumnya mempunyai durasi yang cukup lama. Pada tabel BaseMap juga terdapat nilai Ts dan Te yang merupakan nilai transaction time awal dan akhir. Nilai-nilai tersebut dimasukkan 6
secara otomatis oleh sistem dengan satuan waktu terkecil berupa detik. Hal ini dikarenakan data terbaru bisa saja dimasukkan dengan selisih waktu beberapa detik saja dari data sebelumnya. Nilai transaction time berguna untuk penelusuran kesalahan (error querying) (Annisa 2002). Adapun beberapa hal penting dari tabel BaseMap yaitu: 1
BaseMap hanya menyimpan objek yang berada dalam peta awal area tertentu.
2
Objek yang disimpan dalam BaseMap hanya objek yang belum atau tidak terkena event. Hal ini yang menyebabkan objek dalam BaseMap tidak digambarkan dengan proses. Ini juga yang menjadi alasan mengapa tabel BaseMap dipisahkan dari tabel Version.
3
Tidak semua objek terdapat dalam tabel BaseMap dikarenakan adanya kemungkinan objek tersebut baru muncul ketika objek lain berevolusi.
•
SpatialInfo
Pada Tabel SpatialInfo terdapat nilai ((x1,y1), (x2,y2), (x3,y3), (x4,y4)) yang merupakan nilai titik-titik koordinat batas dari poligon untuk mewakili nilai lokasi. Selain lokasi, terdapat informasi mengenai luas wilayah dalam meter persegi. Informasi luas wilayah ini diperlukan karena evolusi objek dapat diihat dari perubahan ukurannya (Claramunt et al. 1998). Adapun beberapa hal penting dari tabel SpatialInfo yaitu: 1
SpatialInfo hanya menyediakan informasi spasial dan luas dari setiap objek yang berada dalam BaseMap atau Version atau keduanya.
2
Objek yang mempunyai satu SpatialInfo adalah objek yang tidak mengalami perubahan geografis atau mengalami perubahan tetapi perubahan tersebut menyangkut tematik saja. Sebaliknya objek yang mempunyai beberapa SpatialInfo adalah objek yang mengalami perubahan geografis yang menyebabkan luas dari objek tersebut berubah-ubah.
•
ThematicInfo
Pada tabel ThematicInfo terdapat atribut SoilType yang menyimpan informasi mengenai tipe tanah. Proses perubahan tipe tanah merupakan proses perubahan tematik yang membutuhkan waktu dalam proses perubahannya (Jin et al. 2007). Adapun hal
yang harus diperhatikan ThematicInfo yaitu:
dari
tabel
1
ThematicInfo hanya menyediakan informasi tematik BaseMap atau Version atau keduanya.
2
Objek yang mempunyai satu ThematicInfo adalah objek yang tidak mengalami perubahan geografis atau perubahan tersebut hanya menyangkut perubahan spasialnya saja. Sebaliknya objek yang mempunyai beberapa ThematicInfo adalah objek yang mengalami perubahan tipe tanahnya.
3
Satu tabel ThematicInfo hanya menyimpan satu jenis informasi tematik saja.
•
Version
Pada tabel Version juga disimpan Vs, Ve, Ts, Te dengan satuan waktu yang sama dengan tabel BaseMap. Ts dan Te disini juga berguna untuk error querying. Adapun hal-hal yang harus diperhatikan dari Version yaitu : 1
Version hanya menyimpan objek-objek yang mengalami perubahan geografis pada area tertentu.
2
Tabel ini tidak hanya menyimpan versi objek yang statis atau keadaan stabil setelah proses perubahan selesai tetapi juga menyimpan versi objek dimana objek tersebut tidak stabil atau sedang mengalami perubahan.
3
Version hanya menyimpan versi-versi dari objek saat dan setelah objek tersebut terkena event.
•
Process
Pada tabel Process terdapat atribut Parent agar kita dapat mengetahui asal mula Versionnya secara eksplisit. Atribut Parent dapat menjelaskan hubungan kebergantungan antarobjek. Pada tabel Process disimpan berbagai macam jenis proses yang dapat menggambarkan perubahan geografis dari Version-nya. Berikut adalah ruang lingkup proses-proses yang mungkin terjadi: 1
Expansion: Proses perubahan ukuran (luas) objek menjadi lebih besar.
2
Contraction: Proses perubahan (luas) objek menjadi lebih kecil.
3
Appearance : Proses kemunculan suatu objek baru dari objek version VNull menjadi V1. Proses ini juga menandakan
ukuran
7
Tabel Event merupakan tabel yang menyimpan kejadian yang dapat menyebabakan objek berevolusi. Pada Event disimpan waktu sampai satuan terkecil berupa menit hal ini dikarenakan suatu Event mungkin saja terjadi hanya dalam beberapa menit (kurang dari satu jam).
bahwa objek tersebut sebelumnya tidak terdapat dalam BaseMap. 4
Disappearance : Proses hilangnya suatu objek dimana suatu objek version Vi berubah menjadi VNull.
5
Split: Proses objek terbagi menjadi beberapa objek lagi. Proses ini diikuti dengan proses Appearance kerena proses ini selalu menghasilkan objek baru.
6
Untuk lebih jelasnya mengenai tabel-tabel di atas berikut diberikan contoh data dari masing-masing tabel untuk kasus berkurangnya area Hutan A akibat terjadi kebakaran yang digambarkan dengan proses contraction. Tabel 1 adalah tabel BaseMap, Tabel 2 adalah tabel SpatialInfo, Tabel 3 adalah tabel ThematicInfo, Tabel 4 adalah tabel Version, Tabel 5 adalah tabel Process, dan Tabel 6 adalah tabel Event.
Union: Proses dua atau lebih objek bersatu menjadi satu objek. Proses ini diikuti dengan proses Disappearance karena salah satu objek menghilang akibat bersatu dengan objek lainnya.
7 Stability: Objek berada dalam keadaan yang sudah stabil setelah terkena event tertentu. Pada saat ini juga tidak ada event apapun yang menyebabkan terjadinya suatu proses. 8
Thematic Changes : Proses perubahan tematik dalam hal ini adalah perubahan tipe tanah.
•
Event
Pada tabel yang yang mengandung aspek waktu berupa valid time dan transaction time terdapat beberapa modifikasi dalam proses insert, delete, dan update sedangkan pada relasi selainnya, proses insert, delete, dan update data dilakukan seperti biasa. Pada Tabel 7 terdapat keterangan mengenai modifikasi yang dilakukan pada tabel bitemporal.
Tabel 1 Contoh Data Tabel BaseMap ObjectId
SpatialInfoId
ThematicInfoId
Vs
Ve
Ts
Te
Hutan A
1
1
2/10/2008
11/1/2008
6/6/2009 10:12:11PM
UC
Tabel 2 Contoh Data Tabel SpatialInfo ObjectId
SpatialInfoId
x1
y1
x2
y2
Hutan A
1
11
7.5
12.4
7.5
Hutan A
2
11
7.6
12.4
7.7
x3
y3
12.5 12.4
x4
y4
Luas
7.8
12.2
7.9
822289
7.7
12.2
7.9
512234
Tabel 3 Contoh Data Tabel ThematicInfo ObjectId Hutan A
ThematicInfoId 1
SoilType Irigated meadow soil
Tabel 4 Contoh Data Tabel Version ObjectId Hutan A
VersionId V1
SpatialInfoId 1
ThematicInfoId 1
Vs 11/1/2008
Ve 12/11/2008
Hutan A
V2
2
1
12/11/2008
NOW
Ts 6/6/2009 10:34:24PM 6/6/2009 10:40:22PM
Te UC UC
Tabel 5 Contoh Data Tabel Process ObjectId
VersionId
ProcessId
ProcessInfo
EventId
Parent
Hutan A
V1
C
Contraction
1
Hutan A.V0
Hutan A
V2
St
Stability
Hutan A.V1
8
Tabel 6 Contoh Data Tabel Event EventId
EventInfo
StartDate
StartTime
EndDate
EndTime
1
Kebakaran
11/1/2008
11:22
12/11/2008
20:45
Tabel 7 Modifikasi Spatiotemporal
pada
Event-based
Tabe Bitemporal
Basemap, Version
Insert
Dilakukan jika primary key belum terdapat dalam tabel
Delete
Append only mendukung penghapusan secara fisik)
Update
(tidak data
Dilakukan jika terjadi kesalahan penulisan
Analisis dan Kueri Analisis objek dilakukan dengan menggunakan kueri. Berikut adalah contohcontoh kueri yang dapat digunakan: •
Mendaftar keadaan (luas wilayah dan tipe tanah) objek spasial tertentu pada waktu tertentu.
•
Mendaftar keadaan objek spasial tertentu dari waktu ke waktu.
•
Mendaftar penyebab evolusi objek spasial tertentu.
•
Mendaftar proses-proses yang dilakukan objek spasial tertentu saat ia berevolusi akibat terkena event tertentu.
•
Mendaftar objek apa saja yang belum pernah mengalami evolusi
Data tentang proses-proses yang terjadi pada wilayah tersebut saat atau setelah event terjadi juga disimpan. Waktu terjadi dan berakhirnya proses-proses pun harus dicatat sehingga dapat diidentifikasi lamanya periode suatu version. Dari data tersebut dapat dilihat evolusi objek spasial dengan melihat data spasial wilayah sebelum terjadi event dan sesudah terjadi event dilengkapi dengan proses-proses perubahannya. Proses Modifikasi Terdapat modifikasi pada perancangan relasi-relasi yang mengandung aspek waktu berupa valid time dan transaction time (tabel bitemporal). Modifikasi dilakukan pada saat insert, delete, dan update data. Gambar 8 menjelaskan tentang proses insert pada tabel bitemporal. Pada saat data baru dimasukkan, sistem otomatis memasukkan transaction time start (Ts) yaitu waktu pada saat data dimasukkan ke dalam database dan transaction time end (Te) yang bernilai UC.
HASIL DAN PEMBAHASAN Model Data Data yang dapat disimpan dalam database dengan pendekatan event-based spatiotemporal ini adalah data spasial dan tematik suatu wilayah dari waktu ke waktu sebelum dan setelah satu atau beberapa event terjadi pada wilayah tersebut. Data tersebut terdiri dari data titik-titik koordinat poligon wilayahnya, luas poligon wilayahnya, dan data tentang tipe tanahnya dari waktu ke waktu. Selain data spasial dan tematik suatu wilayah dari waktu ke waktu, disimpan pula data event yang terjadi pada wilayah tersebut beserta waktu terjadi dan berakhirnya event tersebut.
Gambar 8 Diagram Alir Proses Insert. Proses delete pada tabel bitemporal dilakukan dengan mengganti nilai Te pada record yang ingin dihapus menjadi nilai waktu yang bukan UC. Nilai Te diganti menjadi nilai waktu saat data dihapus. Gambar 9 menjelaskan proses delete tersebut. Proses update dilakukan jika terjadi kesalahan penulisan pada record yang sudah tersedia dalam database atau dengan kata lain update hanya bisa dilakukan pada saat kunci primer sudah ada dalam database. Kesalahan penulisan terjadi pada field yang bukan kunci
9
primer. Pada Gambar 10 dapat dilihat diagram alir proses update.
Gambar 9 Diagram Alir Proses Delete.
Pada Tabel 8 tersebut terdapat Sawah A pada periode V1 yang awalnya ditulis mempunyai ThematicInfoId 1 dengan tipe tanah X yang berarti diberi pupuk A, tetapi ternyata baru diketahui pada tanggal 10/6/2008 bahwa data tersebut salah dan dimasukkan data baru dengan nilai ThematicInfoId yang benar yaitu 2 dengan tipe tanah Y yang berarti diberi pupuk B. Jika terdapat suatu kasus saat ini dimana tanah di Sawah A menjadi tandus, dari tabel tersebut dapat dilihat bahwa pada Sawah A yang seharusnya diberi pupuk B telah diberi pupuk A selama periode waktu 6/6/2008 sampai 10/6/2008 karena pada periode tersebut data dianggap benar pada periode tersebut. Analisis dan Kueri Data objek yang berada dalam database ini dapat dianalisis sesuai kebutuhan dengan menggunakan kueri. Pada Tabel 9 dapat dilihat hasil kueri yang dapat digunakan untuk menganalis objek. Kueri untuk melihat evolusi yang dialami Semak A. Kueri SQL:
Gambar 10 Diagram Alir Proses Update. Pada implementasinya nilai UC ataupun NOW tidak terdapat pada tipe data date and time dalam database relasional. Oleh karena itu nilai UC ataupun NOW tadi dikonversi ke nilai 12/31/9999 11:59:59. Nilai tersebut dianggap mewakili nilai NOW dan UC karena sama-sama dapat mewakili nilai sekarang sampai batas waktu yang tidak ditentukan nilainya (Annisa 2002). Seperti telah dijelaskan sebelumnya, nilai transaction time berguna untuk penelusuran kesalahan (error querying) pada penulisan data. Contoh kesalahan tersebut dapat dilihat pada Tabel 8. Misal untuk kasus penentuan jenis pupuk yang bergantung pada tipe tanahnya.
Select v.ObjectId, v.VersionId, Luas, SoilType, ProcessInfo, Parent, v.Vs, v.Ve from Version v, Process p, SpatialInfo s, ThematicInfo t where v.ObjectId = p.ObjectId and v.VersionId = p.VersionId and v.ObjectId = s.ObjectId and v.ObjectId = t.ObjectId and v.SpatialInfoId = s.SpatialInfoId and v.ThematicInfoId = t.ThematicInfoId and v.ObjectId='Semak A' and v.Te = #12/31/9999 11:59:59 PM#
Pada tabel hasil tersebut dapat dilihat bahwa Semak A.V1 mengalami proses appearance dan split pada periode 1/3/2007 sampai 2/5/2007. Proses appearance dengan Parent Semak A.VNull ini menandakan bahwa Semak A baru muncul dan tidak terdapat dalam BaseMap sedangkan proses split dengan Parent Sawah A.V0 menandakan Semak A muncul dari Sawah A yang mengalami split akibat terkena suatu event.
Tabel 8 Contoh Kesalahan Penulisan pada Tabel Version ObjectId
Vs
Ve
Ts
Te
Sawah A
VersionId V1
SpatialInfoId 1
ThematicInfoId 1
11/1/2008
12/31/9999
Sawah A
V1
1
2
11/1/2008
12/31/9999
6/6/2008 10:34:24PM 10/6/2008 10:34:24PM
10/6/2008 10:34:24PM 12/31/9999 11:59:59PM
10
Tabel 9 Hasil Kueri Evolusi Semak A ObjectId
VersionId
Luas
SoilType
ProcessInfo
Parent
Vs
Ve
Semak A
V1
0
Nothing
Appearance
1/3/2007
2/5/2007
Semak A
V1
0
Nothing
Split
1/3/2007
2/5/2007
Semak A
V2
100986.35
Stability
2/5/2007
11/10/2007
Semak A
V3
100986.35
Contraction
Semak A.V2
11/10/2007
11/17/2007
Semak A
V4
100222.35
Stability
Semak A.V3
11/17/2007
1/18/2008
Semak A
V5
100222.35
Disappearance
Semak A.V4
1/18/2008
1/23/2008
Semak A
V5
100222.35
Irigatedmeadow soil Irigatedmeadow soil Irigatedmeadow soil Irigatedmeadow soil Irigatedmeadow soil
Semak A.VNull Sawah A.V0 Semak A.V1
Union
Semak A.V4, Rawa A.V0
1/18/2008
1/23/2008
Pada saat objek sedang berevolusi atau tidak dalam keadaan stabil (stability), informasi tematik maupun spasialnya mengacu pada version sebelumnya yang stabil. Hal ini dikarenakan pada saat objek berevolusi keadaannya masih berubah-ubah secara kontinyu dan untuk mendapatkan informasi pada keadaan tersebut sangatlah sulit. Oleh karena itu untuk mengetahui suatu keadaan version tertentu, perlu dilihat juga proses apa yang terjadi padanya. Sebagai contoh, luas Semak A.V2 dalam keadaan stabil adalah 100986.35 meter persegi, sama seperti luas Semak A.V3 yang sedang mengalami evolusi dengan proses contraction. Walaupun keduanya mempunyai luas yang sama tapi memiliki arti yang berbeda. Pada periode V2, Semak A mempunyai luas tepat 100986.35 meter persegi sedangkan pada periode V3, Semak A yang mempunyai 100986.35 meter persegi sedang mengalami proses penyusutan dan nantinya luas tersebut akan berkurang. Hasil dari proses contraction tersebut dapat dilihat pada version selanjutnya ketika keadaan sudah stabil yaitu Semak A.V4. Pada objek yang baru muncul dan version sebelumnya adalah VNull maka informasi spasial yang berupa nilai koordinat batas ( (x1, y1) , (x2, y2), (x3, y3), (x4, y4)) adalah ( (0,0), (0,0), (0,0), (0,0)) dan luasnya adalah 0 meter persegi sedangkan informasi tematiknya adalah SoilType yang bernilai nothing. Nilai-nilai tersebut dianggap telah mewakili ketiadaan suatu objek (VNull). Pada Semak A.V5 dapat dilihat bahwa objek tersebut mengalami proses union dengan Parent
Semak A.V4 dan Rawa A.V0 dan proses disappearance dengan Parent Semak A.V4. Proses-proses ini menandakan bahwa objek tersebut sedang dalam proses menghilang. Proses disappearance berakhir pada tanggal 1/23/2008, ini berarti objek tersebut hilang pada tanggal tersebut. Proses union menandakan bahwa objek Semak A hilang akibat Semak A bersatu dengan Rawa A karena suatu event. Berdasarkan hasil kueri di atas dapat dijelaskan bahwa Semak A mengalami beberapa evolusi. Semak A muncul melalui proses appearance akibat Sawah A terbagi wilayahnya melalui proses split. Semak A juga mengalami pengurangan luas melalui proses contraction. Akhirnya Semak A menghilang karena bersatu dengan Rawa A yang digambarkan dengan proses union dan disappearance. Berikut kueri-kueri lain yang dapat digunakan untuk analisis objek. Hasil dari kueri-kueri tersebut dapat dilihat pada Lampiran 2: •
Mendaftar keadaan (luas wilayah dan tipe tanah) objek spasial tertentu pada waktu tertentu. Kueri: Bagaimana keadaan Sawah A pada tanggal 7 Januari 2008.
•
Mendaftar penyebab evolusi objek spasial tertentu. Kueri : Kenapa Sawah B menghilang. 11
•
Mendaftar proses-proses yang dilakukan objek spasial tertentu saat ia berevolusi akibat terkena event tertentu. Kueri: Daftarkan evolusi apa saja yang sudah dialami Sawah B beserta penyebab dia berevolusi.
•
Mendaftar objek apa saja yang belum perah mengalami evolusi Kueri: Daftarkan objek dari BaseMap yang nilai Ve nya adalah NOW atau (12/31/9999)
•
Mendaftar keadaan objek setiap tahunnya
Penerapan konsep event-based spatiotemporal ini membutuhkan ukuran database yang lebih besar. Hal ini dikarenakan database menyimpan semua versi objek dari waktu ke waktu dan pada beberapa tabel menggunakan konsep tabel bitemporal yang tidak mengizinkan penghapusan data secara fisik. Saran Saran-saran yang dapat diberikan untuk pengembangan database dengan pendekatan event-based spatiotemporal ini agar lebih baik adalah sebagai berikut: •
Penggunaan data nyata dalam membuat database, sehingga dapat diketahui prosesproses yang sebenarnya terjadi ketika objek tersebut berevolusi akibat event tertentu.
•
Penggunaan database yang dapat menangani tipe data spasial dan mendukung aspek temporal.
•
Visualisasi keadaan objek sebelum, saat dan setelah berevolusi sehingga proses perubahan dapat digambarkan dengan lebih jelas.
Kueri: Daftarkan luas seluruh Hutan setiap tahun Selain menggunakan kueri untuk analisis objek, dapat juga menggunakan kueri untuk mengetahui informasi mengenai event yang terjadi. Berikut adalah contoh-contoh kuerinya: •
Mendaftar event yang terjadi selama tahun tertentu Kueri Daftarkan event apa saja yang terjadi selama tahun 2007.
•
Mendaftar event yang terjadi di tahun tertentu dan mengenai objek apa saja Kueri : Daftarkan event apa saja yang terjadi tahun 2008 dan objek apa saja yang dipengaruhinya.
Berdasarkan kueri-kueri diatas, informasi mengenai bagaimana objek berevolusi dan apa penyebab ia berevolusi bisa didapat. Informasiinformasi ini dapat membantu analisis objek spasial menjadi lebih mudah. KESIMPULAN DAN SARAN Kesimpulan Penggunaan konsep event-based spatiotemporal yang diimplementasikan pada database relasional dapat menjawab kebutuhan informasi akan perubahan geografis mengenai evolusi objek spasial. Tetapi penerapan konsep ini pada database relasional juga memiliki beberapa keterbatasan seperti pada database relasional tidak mendukung tipe data untuk data spasial sehingga tidak dapat menyimpan data untuk berbagai shape dari suatu wilayah objek.
DAFTAR PUSTAKA Annisa. 2002. Penerapan Konsep Basis Data Temporal pada Basis Data Relasional [skripsi]. Bogor: Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor. Claramunt C, Theriault, Parent C.1998. A Qualitative Representasion of evolving Spatial Entities in Two- dimensional Topological Spaces. Innovations in GIS:119-129. Date CJ, Darwen H, Lorentzos NA. 2003. Temporal Data and The Relational Model. Amsterdam : Morgan Kaufmann Publisher. Guting RH, Schneider M. 2005. Moving Objects Databases. San Fransisco: Morgan Kaufmann Publisher. Han J, Kamber M. 2001. Data Mining Concept and Design. San Fransisco: Morgan Kaufmann Publisher. Hoffer JA., Prescott, MB., and McFadden, FR. 2007. Modern Database Management. Upper Saddle River, NJ: Pearson Education. Jin P, Wan S, Yue L.2007.Semantic Framework for Spatiotemporal Data Representasion. 12
Third International IEEE Conference on Signal-Image Technologies and InternetBased System :10-17 Nugroho A. 2004. Konsep Pengembangan Sistem Basis Data. Bandung: Informatika. Shekhar S, Chawla S. 2003. Spatial Databases: A Tour. New Jersey: Prentice Hall. Wang S, Nakayama K, Kobayashi Y, Maekawa M. 2005. An Event-based Spatiotemporal Approach.. ECTI Transaction on Computer and Information Theory. 1: 15-23 Wang S, Nakayama K, Kobayashi Y, Maekawa M. 2004. Considering events and Process within GIS: An Event-based Spatiotemporal Data Model. International Symposium on Communication and Information Technologies 2004. 2: 770-773 Wang S, Nakayama K, Kobayashi Y, Maekawa M. 2005. A Data Schema and Its Query for Modeling Dynamic Geographical World. International Symposium on Communication and Information Technologies 2005. 1: 632-635.
13
LAMPIRAN
14
Lampiran 1 Penjelasan Atribut dan Tipe Data Tabel BaseMap Field
Keterangan
Tipe Data
ObjectId
Primary Key sekaligus Foreign key dari tabel SpatialInfo dan Thematic Info
Text (50)
SpatialInfoId
Foreign key dari relasi SpatialInfo
Text(7)
ThematicInfo
Foreign key ThematicInfo
Text(7)
Vs
ValidTime start, atau waktu objek tersebut mulai berada di dunia nyata.
dari
relasi
Date (MM/dd/yyy)
Satuan waktu terkecil berupa hari. Ve
ValidTime end, atau waktu objek tersebut berakhir di dunia nyata.
Date (MM/dd/yyy)
Satuan waktu terkecil berupa hari. Ts
Transaction Time start adalah waktu data tersebut disimpan dalam database.
Date HH:mm:ss )
(MM/dd/yyyy
Date HH:mm:ss )
(MM/dd/yyyy
Satuan waktu terkecil berupa detik. Te
Transaction Time end adalah waktu saat data yang disimpan dalam database tersebut tidak berlaku lagi. Satuan waktu terkecil berupa detik.
Tabel ThematicInfo Field
Keterangan
Tipe Data
Objectid
Primary key dari relasi ini
Text (50)
Thematicinfoid
Primary key untuk relasi ini
Text(7)
SoilType
Memberikan informasi tipe tanah
Text (100)
Tabel Event Field
Keterangan
Tipe Data
EventId
Primary Key untuk relasi ini
Text (5)
EvetInfo
Memberikan informasi event
Text (100)
StartDate
Waktu hari event dimulai
Date (MM/dd/yyyy)
StartTime
Waktu event dimulai.
Date (HH/mm)
Satuan waktu terkecil berupa menit EndDate
Waktu hari event berakhir.
Date (MM/dd/yyyy)
15
Tabel Event (Lanjutan) Field
Keterangan
Tipe Data
EndTime
Waktu event berakhir.
Date (HH/mm)
Satuan waktu terkecil berupa menit
Tabel SpatialInfo Field
Keterangan
Tipe Data
ObjectId
Primary key untuk tabel ini
Text (50)
SpatialInfoId
Primary key untuk tabel ini, Id ini juga bisa mmeberikan informasi berapa kali objek mengalami perubahan spasial
Text(7)
x1
Memberikan keterangan absis batas dari masing-masing wilayah objek
Double
y1
Memberikan keterangan ordinat batas dari masing-masing wilayah objek
Double
x2
Memberikan keterangan absis batas dari masing-masing wilayah objek
Double
y2
Memberikan keterangan ordinat batas dari masing-masing wilayah objek
Double
x3
Memberikan keterangan absis batas dari masing-masing wilayah objek
Double
y3
Memberikan keterangan ordinat batas dari masing-masing wilayah objek
Double
x4
Memberikan keterangan absis batas dari masing-masing wilayah objek
Double
y4
Memberikan keterangan ordinat batas dari masing-masing wilayah objek
Double
Luas
Memberikan keterangan luas masingmasing wilayah objek
Double
Table Process Field
Keterangan
Tipe Data
ObjectId
Primary Key sekaligus Foreign key dari relasi Version
Text (50)
VersionId
Primary Key sekaligus Foreign key dari relasi Version
Text (7)
ProcessId
Primary Key untuk relasi ini
Text (5)
ProcessInfo
Memberikan Informasi mengenai proses apa yang sedang dijalankan suatu objek
Text (100)
EventId
Foreign Key dari relasi Event
Text (5)
Parent
Memberikan informasi dari objek Version manakah objek Version tertentu berasal.
Text (100)
16
Tabel Version Field
Keterangan
Tipe Data
ObjectId
Primary Key sekaligus Foreign key dari relasi SpatialInfo dan Thematic Info
Text (50)
VersionId
Primary Key yang menandakan versi ke Vi dari suatu objek (i=1,2,3….)
Text (7)
SpatialInfoId
Foreign key dari relasi SpatialInfo
Text(7)
ThematicInfo
Foreign key ThematicInfo
Text(7)
Vs
ValidTime start, atau waktu objek tersebut mulai berada di dunia nyata.
dari
relasi
Date (MM/dd/yyyy)
Satuan waktu terkecil berupa hari. Ve
ValidTime end, atau waktu objek tersebut berakhir di dunia nyata.
Date (MM/dd/yyyy)
Satuan waktu terkecil berupa hari. Ts
Transaction Time start adalah waktu data tersebut disimpan dalam database.
Date (MM/dd/yyyy HH:mm:ss )
Satuan waktu terkecil berupa detik. Te
Transaction Time end adalah waktu saat data yang disimpan dalam database tersebut tidak berlaku lagi.
Date (MM/dd/yyyy HH:mm:ss )
Satuan waktu terkecil berupa detik.
17
Lampiran 2 Hasil Kueri Hasil Kueri 1
Bagaimana keadaan Sawah A pada tanggal 7 Januari 2008.
select v.ObjectId, v.VersionId, t.SoilType, s.Luas, p.ProcessInfo from Version v, ThematicInfo t, SpatialInfo s, Process p where v.ObjectId='Sawah A' and v.Vs <= #1/7/2008# and v.Ve >= #1/7/2008# and v.Te=#12/31/9999 11:59:59 PM# and v.ThematicInfoId = t.ThematicInfoId and v.SpatialInfoId = s.SpatialInfoId and v.ObjectId = p.ObjectId and v.VersionId = p.VersionId and v.ObjectId = t.ObjectId and v.ObjectId = s.ObjectId
Tabel Hasik Kueri 1
2
ObjectId
VersionId
SoilType
Luas
ProcessInfo
Sawah A
V4
Semi-desert automorf
100986.35
Stability
Kenapa Sawah B bisa hilang.
Select EventInfo from Event e where e.EventId in (select EventId from Process p where p.ObjectId='Semak A' and p.ProcessInfo='disappearance')
Tabel Hasik Kueri 2 EventInfo Banjir
3
Daftarkan evolusi apa saja yang sudah dialami Hutan B beserta penyebab dia berevolusi.
select p.ObjectId, p.VersionId,p.ProcessInfo, p.Parent, e.EventInfo Process p, Event e where p.ObjectId='Hutan B' and e.EventId=p.EventId
from
Tabel Hasik Kueri 3
4
ObjectId
VersionId
ProcessInfo
Parent
EventInfo
Hutan B
V1
Contraction
Hutan B.V0
Kebakaran
Hutan B
V3
Contraction
Hutan B.V2
Penebangan Liar
Hutan B
V4
Contraction
Hutan B.V3
Penebangan Liar
Hutan B
V5
Contraction
Hutan B.V4
Penebangan Liar
Hutan B
V4
Expansion
Hutan B.V3
Penanaman Pohon
Daftarkan objek yang belum pernah berevolusi
select * from BaseMap where Ve=#12/31/9999#
Tabel Hasik Kueri 4
5
ObjectId
SpatialInfo
ThematicInfo
Vs
Ve
Ts
Te
Hutan A
1
1
1/1/2007
12/31/9999
6/22/2009 12:15:50PM
12/31/9999 11:59:59 PM
Daftarkan event apa saja yang terjadi selama tahun 2007 (selesai dan berakhir di tahun 2007)
select * from Event where StartDate>=# 1/1/2007# and EndDate<=# 31/12/2007#
18
Tabel Hasik Kueri 5
6
EventId
EventInfo
StartDate
StartTime
EndDate
EndTime
1
Gempa bumi
1/3/2007
11:00
1/3/2007
11:49
2
Banjir
11/10/2007
05:00
11/17/2007
05:45
Daftarkan event apa saja yang terjadi tahun 2008 dan objek apa saja yang dipengaruhinya.
select EventInfo, ProcessInfo, StartDate,StartTime, EndDate,EndTime, ObjectId, VersionId from Event e, Process p where e.EndDate>=#1/1/2008# and e.StartDate<=#31/12/2008# and e.EventId=p.EventId
Tabel Hasik Kueri 6 EventInfo
ProcessInfo
StartDate
StartTime
EndDate
EndTime
ObjectId
VersionI d
Banjir
Union
1/18/2008
01:00
1/23/2008
04:45
Semak A
V5
Banjir
Union
1/18/2008
01:00
1/23/2008
04:45
Rawa A
V1
Banjir
Disappeareance
1/18/2008
01:00
1/23/2008
04:45
Semak A
V5
kebakaran
Contraction
6/18/2008
09:00
6/20/2008
22:45
Hutan B
V1
Penebangan liar
Contraction
12/3/2008
12:00
12/31/9999
23:45
Hutan B
V3
penebangan liar
Contraction
12/3/2008
12:00
12/31/9999
23:59
Hutan B
V4
penebangan liar
Contraction
12/3/2008
12:00
12/31/9999
23:59
Hutan B
V5
Kueri untuk contoh kasus proses perubahan split dan perubahan tematik yang dialami Sawah A 7
Bagaimana keadaan awal Sawah A
Select b.ObjectId,Luas,SoilType, b.Vs, b.Ve from BaseMap b, SpatialInfo s, ThematicInfo t where b.ObjectId=s.ObjectId and b.ObjectId=t.ObjectId and b.SpatialInfoId=s.SpatialInfoId and b.ThematicInfoId=t.ThematicInfoId and b.ObjectId='Sawah A' and b.Te=#12/31/9999 11:59:59 PM#
Tabel Hasik Kueri 7
8
ObjectId
Luas
SoilType
Vs
Ve
Sawah A
201972.71
Irigated meadow soil
1/1/2007
1/3/2007
Bagaimana keadaan Sawah A setelah berevolusi
Select v.ObjectId, v.VersionId, Luas, SoilType, ProcessInfo, Parent, v.Vs, v.Ve from Version v, Process p, SpatialInfo s, ThematicInfo t where v.ObjectId = p.ObjectId and v.VersionId= p.VersionId and v.ObjectId=s.ObjectId and v.ObjectId= t.ObjectId and v.SpatialInfoId= s.SpatialInfoId and v.ThematicInfoId= t.ThematicInfoId #12/31/9999 11:59:59 PM#
and
v.ObjectId='Sawah
A'
and
v.Te=
19
Tabel Hasik Kueri 8
9
ObjectId
VersonId
Luas
SoilType
ProscessInfo
Parent
Ve
Ve
Sawah A
V1
201972.71
Irigated meadow soil
Split
Sawah A.V0
1/3/2007
2/5/2007
Sawah A
V2
100986.35
Irigated meadow soil
Stability
Sawah A.V1
2/5/2007
11/10/2007
Sawah A
V3
100986.35
Irigated meadow soil
Thematic Changes
Sawah A.V2
11/10/2007
22/17/2007
Sawah A
V4
100986.35
Semidesert automorf
Stability
Sawah A.V3
11/17/2007
12/31/9999
Daftarkan luas hutan tiap tahunnya
select * from (select sum(Luas) as 2007 from ( Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal)) as 2007, (select sum(Luas) as 2008 from (Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# ) as T,
20
(SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal )) as 2008, (select sum(Luas) as 2009 from ( Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal)) as 2009
Tabel Hasil Kueri 9 2007
2008
2009
8231514.39
8201514.39
7861514.39
10 Daftarkan luas setiap objek tiap tahunnya select * from (select sum(Luas) as 2007 from ( Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Rawa%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# order by b.Vs desc
21
union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Rawa%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Rawa%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Rawa%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal)) as 2007,
(select sum(Luas) as 2008 from (Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Rawa%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Rawa%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Rawa%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal )) as 2008,
(select sum(Luas) as 2009 from ( Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Rawa%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Rawa%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal
22
FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Rawa%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Rawa%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal)) as 2009 union select * from (select sum(Luas) as 2007 from ( Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal)) as 2007,
(select sum(Luas) as 2008 from (Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# order by b.Vs desc
23
union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal )) as 2008,
(select sum(Luas) as 2009 from ( Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Hutan%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal)) as 2009 union select * from (select sum(Luas) as 2007 from ( Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Sawah%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Sawah%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Sawah%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Sawah%' and
24
s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal)) as 2007,
(select sum(Luas) as 2008 from (Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Sawah%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Sawah%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Sawah%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Sawah%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal )) as 2008,
(select sum(Luas) as 2009 from ( Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Sawah%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Sawah%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Sawah%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Sawah%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal)) as 2009 union
25
select * from (select sum(Luas) as 2007 from ( Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Semak%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Semak%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Semak%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Semak%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2007# and Vs<=#31/12/2007#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal)) as 2007,
(select sum(Luas) as 2008 from (Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Semak%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Semak%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Semak%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Semak%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2008# and Vs<=#31/12/2008#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal )) as 2008,
(select sum(Luas) as 2009 from ( Select Luas from ( select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Semak%' and
26
s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Semak%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# ) as T, (SELECT ObjectId, Max(Vs) AS tanggal FROM (select b.ObjectId, b.Vs ,b.Ve,Luas from Version b, SpatialInfo s where b.ObjectId like 'Semak%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and b.Te= #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009# order by b.Vs desc union select b.ObjectId, b.Vs ,b.Ve,Luas from BaseMap b, SpatialInfo s where b.ObjectId like 'Semak%' and s.ObjectId=b.ObjectId and s.SpatialInfoId=b.SpatialInfoId and #12/31/9999 11:59:59 PM# and Ve>=#1/1/2009# and Vs<=#31/12/2009#)
b.Te=
GROUP BY ObjectId) as P where T.ObjectId=P.ObjectId and T.Vs=P.tanggal)) as 2009
Tabel Hasil Kueri 10 Object
2007
2008
Semak
100222.35
100222.35
2009
Sawah
100986.35
100986.35
100986.35
Rawa
636156.25
736378.55
736378.55
Hutan
8231514.39
8201514.39
7861514.39
27