Bab V Analisis
Basis data spasial hasil perancangan yang telah diimplementasikan pada perangkat lunak SMBD Oracle, perlu dilakukan pengujian untuk mengetahui sejauh mana basis data tersebut dapat mengatasi kelemahan-kelemahan yang ada saat ini. Kegiatan
pengujian
diawali
dengan
melakukan
perencanaan
pengujian,
mempersiapkan hal-hal yang diperlukan dalam pengujian dan pelaksanaan pengujian serta analisis hasil pengujian.
V.1 Persiapan Pengujian V.1.1 Perencanaan Pengujian Pengujian terhadap basis data spasial perlu direncanakan sedemikian rupa sehingga pengujian dapat berjalan terarah dan sesuai tujuan. Ada dua hal yang direncanakan yaitu : 1. Materi pengujian. Materi yang diuji adalah integritas data pada basis data spasial PBB hasil peracangan penerapan enterprise rule. 2. Cara pengujian. Pengujian dilakukan dengan cara melakukan transaksi pemasukan (insert) dan pemutakhiran (update) data pada basis data hasil perancangan. Untuk itu diperlukan perangkat lunak yang dapat mengakses basis data spasial pada SMBD Oracle. Perangkat lunak yang digunakan dalam pengujian adalah MapInfo dan Oracle SQLPlus. V.1.2 Data yang Digunakan Data yang digunakan untuk keperluan pengujian adalah basis data spasial PBB eks KP PBB Depok hasil penelitian terdahulu (Sugiada, 2007, Peningkatan Keamanan Data Spasial PBB Melalui Rancang Ulang Basis Data Spasial). Alasan pemilihan data tersebut adalah karena datanya sudah dalam format SMBD Oracle, sehingga tidak diperlukan lagi proses migrasi data spasial dari MapInfo ke Oracle.
54
55
V.1.3 Pemasukan Data Terdapat beberapa tahapan yang harus dilakukan untuk memasukkan data hasil penelitian terdahulu ke basis data spasial hasil perancangan. Adapun tahapan– tahapannya adalah sebagai berikut: (1). Pemasukan data spasial penelitian terdahulu Data hasil penelitian terdahulu dalam bentuk file dump (file backup basis data oracle) diekstrak ke dalam SMBD oracle pada skema sementara untuk memperoleh struktur tabel dan datanya. (2). Penonaktifan batasan-batasan (constraints) dan trigger Dari data yang telah diekstrak, banyak ditemukan data yang melanggar enterprise rule yang telah diterapkan pada basis data spasial baru. Oleh karena itu perlu dilakukan penonaktifan batasan-batasan (constraints) dan trigger agar data-data tersebut dapat dimasukkan ke dalam skema SIGPBB. (3). Pemasukan data ke skema SIGPBB Sebelum dilakukan pemasukkan data dari skema sementara ke skema SIGPBB, terlebih dahulu dilakukan pemetaan (mapping) tabel dan kolom-kolomnya. Kemudian
data dari skema sementara tersebut
dipindahkan ke dalam tabel-tabel pada skema SIGPBB. V.2 Pelaksanaan Pengujian dan Analisisnya Pengujian dilaksanakan dengan cara menjalankan transaksi pemasukan (insert) dan atau pemutakhiran (update) pada basis data spasial hasil perancangan. Transaksi dilakukan dengan berbagai skenario kesalahan pemasukan dan pemutakhiran data spasial yang sering terjadi pada basis data spasial PBB. Berbagai macam skenario kesalahan data dapat dilihat pada tabel V.1.
56 Tabel V.1 Skenario kesalahan data untuk pengujian basis data spasial No
Skenario Kesalahan Data
1
Kesalahan ID data spasial
2
Data spasial yang IDnya ada tetapi objeknya tidak ada (null)
3
Kesalahan karena kondisi geometri dan topologi tertentu: a. Objek data spasial undershoot b. Objek data spasial overshoot c. Objek data spasial double line d. Objek data spasial missing segment e. Objek data spasial sliver tidak berpotongan f. Objek data spasial spike g. Objek data spasial unsmooth
4
Kesalahan penempatan objek data spasial pada layer
5
Kesalahan hubungan spasial objek data spasial: a. Objek data spasial overlap (berpotongan) pada satu tabel b. Objek data spasial yang berada diluar batas yang seharusnya c. Objek data spasial overlap antar tabel
6
Kesalahan pemilihan sistem proyeksi dan zona a. data spasial dengan sistem proyeksi selain UTM DGN 95 b. data spasial dengan kesalahan zona
Berikut ini akan dijelaskan skenario kesalahan data yang dilakukan dalam penggujian basis data spasial beserta analisis hasil pengujiannya. V.2.1 Kesalahan ID Data Spasial Terdapat beberapa macam kesalahan ID data spasial, diantaranya: ID yang kosong (null), ID yang tidak lengkap, ID yang format datanya salah. Pada basis data spasial hasil perancangan setiap ID data spasial menjadi kunci primer (primary key) atau bagian dari kunci primer (kunci primer komposit). Selain itu terdapat beberapa kolom kunci primer (primary key) yang juga merupakan kunci tamu (foreign key) dari tabel lainnya. Pengujian kesalahan ini dilakukan menggunakan perangkat lunak Oracle SQLPlus.
Adapun transakasi yang dilakukan adalah perubahan (insert dan
update) data pada tabel blok. Tabel blok mempunyai kunci primer kode blok
57 (KD_PROP, KD_KOTA, KD_KEC, KD_KEL, KD_BLOK) dan mempunyai kunci tamu kode kelurahan (KD_PROP, KD_KOTA, KD_KEC, KD_KEL) pada tabel kelurahan. Pertama dilakukan insert data dengan mengisi kode blok hanya sampai pada kode kelurahan (KD_PROP, KD_KOTA, KD_KEC, KD_KEL) sedangkan untuk kolom KD_BLOK dikosongkan. Transaksi gagal dan terdapat pesan error “ORA1400: cannot insert null into (SIGPBB.BLOK.KD_BLOK)”. Sedangkan pengujian kedua dilakukan dengan memutakhirkan kode blok menggunakan kode kelurahan yang tidak ada acuannya (kunci tamunya salah). Transaksi kedua juga gagal dan terdapat
pesan
error
“ORA-02291:
integrity
constraint
(SIGPBB.FK_BLOK_KEL) violated–parent key not found”. Contoh tampilan transaksi yang dilakukan dan pesan error-nya
dilihat pada gambar V.1.
Sedangkan contoh tampilan transaksi yang dilakukan dan pesan error-nya secara lengkap dapat dilihat pada lampiran I.
Gambar V.1 Transaksi insert tabel blok dimana primary key-nya tidak lengkap (KD_BLOK kosong) Kedua transaksi yang dijalankan tidak dapat masuk ke basis data spasial. Untuk ID yang tidak lengkap (KD_BLOK kosong) dapat dicegah masuk ke basis data karena adanya batasan kunci primer (primary key) yang secara otomatis nilai kolom atau kolom-kolomnya tidak boleh kosong (not null). Sedangkan ID (kundi priner) yang tidak mempunyai referensi dengan tabel acuannya dapat dicegah karena adanya batasan integritas referensi (referential integrity). V.2.2 Data Spasial yang ID-nya Ada Tetapi Objeknya Tidak Ada (Null) Pengujian dilakukan pada tabel kelurahan menggunakan perangkat Oracle SQLPlus dan MapInfo. Transaksi insert dilakukan menggunakan perangkat Oracle SQLPlus dengan cara mengentri ID wilayah kelurahan (kode kelurahan)
58 tanpa mengentri objek data spasial. Pada saat transaksi data terdapat pesan error “ ORA-04088: error during execution of trigger SIGPBB.TIUBS_KELURAHAN ”. Sedangkan untuk transasksi update dilakukan dengan menghapus objek data spasial area kelurahan menggunakan MapInfo, sedangkan kunci primernya tetap ada. Transaksi ini juga gagal dan muncul pesan error yang sama seperti pada transaksi pertama. Seharusnya objek data spasial tidak boleh kosong dan menjadi satu kesatuan dengan kunci primernya. Contoh tampilan data spasial dan pesan error adalam pengujian dapat dilihat pada gambar V.2 dan V.3. Sedangkan contoh tampilan data spasial dan pesan error saat transaksi dijalankan, secara lengkap dapat dilihat pada lampiran I.
Gambar V.2 Tampilan wilayah kelurahan yang objek data spasialnnya tidak ada
Gambar V.3 Tampilan error saat menghapus objek wilayah kelurahan Kedua jenis transaksi berhasil dicegah masuk ke dalam basis data spasial hasil perancangan karena adanya batasan domain untuk kolom-kolom yang mempunyai tipe data spasial (SDO_GEOMETRY), dimana nilai kolom-kolom tersebut tidak boleh kosong (not null).
59
V.2.3 Kesalahan Karena Kondisi Geometri dan Topologi Objek data spasial pada basis data spasial PBB mempunyai jenis representasi objek tertentu misalnya objek bidang dan bangunan direpresentasikan dengan area (polygon). Representasi objek data spasial bisa salah karena adanya kondisi geometri dan topologi tertentu dari objek tersebut. Pengujian kesalahan ini dilakukan dengan menjalankan transaksi insert dan update menggunakan perangkat lunak MapInfo pada tabel bidang. Pengujian pertama dilakukan perubahan objek bidang dengan beberapa macam kondisi geometri dan topologi objek data spasial dimana terdapat overshoot, udershoot, double line dan missing segmen. Data spasial dengan kondisi geometri tersebut tidak bisa disimpan pada basis data. Pada saat transaksi terdapat pesan error “ ORA-20003: Bentuk Geometri tidak valid ”.
Kemudian pengujian
dilanjutkan dengan memutakhirkan objek bidang dengan beberapa kondisi geometri dan topologi objek lainnya, yaitu sliver tidak berpotongan, unsmooth dan spike. Transaksi-transaksi tersebut berhasil berhasil disimpan pada basis data. Contoh tampilan objek bidang yang overshoot dan pesan error pada saat transaksi dijalankan dapat dilihat pada gambar V.4 dan V.5. Sedangkan tampilan data spasial dengan kondisi geometri dan topologi lainnya dan pesan error pada saat transaksi dijalankan, secara lengkap dapat dilihat pada lampiran I.
Gambar V.4 Overshoot pada objek bidang
60
Gambar V.5 Tampilan error saat melakukan perubahan objek bidang yang overshoot Empat macam kesalahan karena kondisi gemoetri dan topologi objek data spasial (undershoot, overshoot, double line dan missing segment) berhasil dicegah masuk ke dalam basis data karena adanya batasan terhadap representasi jenis objek untuk
tiap-tiap
objek
data
spasial
PBB.
Batasan-batasan
tersebut
ditransformasikan pada SMBD dalam bentuk trigger tabel saat insert dan update data. Sedangkan 3 (tiga) kondisi lainnya (sliver tidak berpotongan, unsmooth dan spike) tidak dapat dicegah masuk ke basis data karena kondis-kondisi tersebut terkait dengan kesalahan konsistensi logis. Dimana untuk mengetahui kebenaran data spasialnya harus mengetahui kondisi sebenarnya di lapangan. Konsistensi logis tidak bisa dibuat enterpris rule- nya karena kondisinya tidak bisa dipastikan. V.2.4 Kesalahan Penempatan Objek Data Spasial pada Layer Setiap objek data spasial harus ditempatkan sesuai dengan layernya masingmasing. Pengujian dilakukan pada tabel bidang, sungai dan jalan dengan menggunakan perangkat lunak Mapinfo. Pada pengujian dilakukan entri objek data spasial jalan pada layer bidang. Transaksi tersebut tidak bisa dijalankan karena saat memasukkan kunci primer objek jalan tidak ada kolom yang menampung ID_JALAN dan NM_JALAN. Kunci primer dari tabel jalan adalah KD_PROP, KD_KOTA, KD_KEC, KD_KEL, ID_JALAN, NM_JALAN) sedangkan kunci primer tabel bidang
(KD_PROP, KD_KOTA, KD_KEC,
KD_KEL, KD_BLOK, NO_URUT, KD_JNS_OP). Selain itu jenis representasi objeknya juga berbeda, jalan direpresentasikan dengan polyline sedangkan objek bidang direpresentasikan dengan polygon. Contoh tampilan data untuk kesalahan penempatan objek data spasial dapat dilihat pada gambar V.6.
61
Gambar V.6 Objek jalan pada layer bidang V.2.5 Kesalahan Hubungan Spasial Objek Data Spasial Pada basis data spasial hasil perancangan ditentukan hubungan-hubungan spasial objek data spasial yang diperbolehkan (lihat tabel IV.4). Dalam pengujian dilakukan perubahan data spasial dengan beberapa kondisi hubungan spasial yang seharusnya tidak diperbolehkan (lihat tabel V.1 nomor 5). Pengujian dilakukan pada tabel bidang, bangunan dan jalan menggunakan perangkat lunak MapInfo. Pelaksanaan pengujian masing-masing point skenario kesalahan data adalah sebagai berikut: a. Objek data spasial overlap (berpotongan) pada satu tabel Pengujian dilakukan pada tabel bidang dengan mengentri objek bidang yang berpotongan (overlap) dengan salah satu objek bidang yang berbatasan. Seharusnya antar objek bidang yang berbatasan tidak boleh saling berpotongan. Pada saat transaksi dijalankan terdapat pesan error
“ORA-
20005: Bidang tidak boleh berpotongan dengan bidang lainnya”. b. Objek data spasial yang berada diluar batas yang seharusnya Objek bangunan harus berada didalam (coveredby) atau sama dengan objek bidangnya (equal). Pengujian dilakukan pada tabel bangunan dengan mengubah objek bangunan hingga ada sebagian area bangunan berada diluar area bidang yang seharusnya. Pada saat transaksi dijalankan terdapat pesan error “ORA-20004: Objek bangunan tidak berada pada bidang yang benar”. c. Objek data spasial overlap antar tabel Pengujian dilakukan pada tabel bidang dan jalan. Pertama dilakukan entri bidang baru, dimana terdapat area bidang yang memotong objek jalan yang berbatasan dengan bidang tersebut. Pada saat transaksi dijalankan terdapat pesan error “ORA-20004: Bidang tidak boleh berpotongan (overlap) dengan
62 jalan”. Kemudian pengujian dilanjutkan dengan melakukan pemutakhiran jalan, dimana objek jalan tersebut memotong beberapa objek bidang. Saat data disimpan terdapat pesan error “ORA-20005: Objek jalan tidak boleh memotong objek bidang”. Seharusnya antara objek bidang dan jalan tidak boleh saling berpotongan. Contoh tampilan bidang berbatasan yang berpotongan dan pesan error saat transaksi dijalankan dapat dilihat pada gambar V.7 dan V.8. Sedangkan tampilan kesalahan hubungan spasial lainnya dan pesan error saat transaksi dijalankan, secara lengkap dapat dilihat pada lampiran I.
Gambar V.7 Terdapat perpotongan (overlap) pada bidang yang berbatasan
Gambar V.8 Tampilan error saat transaksi perubahan bidang yang berpotongan Transaksi dengan menggunakan 3 (tiga) macam hubungan spasial diatas tidak berhasil masuk ke dalam basis data spasial hasil perancangan. Hal ini terjadi karena adanya batasan-batasan hubungan spasial, dimana semua hubungan spasial yang diperbolehkan terjadi pada objek-objek data spasial PBB telah ditentukan (lihat tabel IV.4). Selanjutnya batasan-batasan tersebut ditransformasikan pada perangkat lunak SMBD dalam bentuk trigger pada tabel-tabel yang mengandung data spasial. Sehingga apabila ada data dengan hubungan spasial yang tidak diperbolehkan (tidak sesuai dengan yang telah ditetapkan) dapat dicegah masuk ke dalam basis data spasial.
63
V.2.6 Kesalahan Pemilihan Sistem Proyeksi dan Zona Data spasial PBB seharusnya menggunakan sistem proyeksi UTM DGN 95 dengan zona sesuai dengan wilayahnya. Dalam pengujian digunakan basis data spasial kota depok yang menggunakan sistem proyeksi UTM dengan zona 49 southern. Pengujian kesalahan ini dilakukan menggunakan perangkat lunak MapInfo pada tabel kelurahan dan bangunan. Kesalahan pemilihan sistem proyeksi diuji pada tabel kelurahan dengan melakukan insert data dimana sistem proyeksi yang dipilih adalah Non-Earth. Sedangkan untuk kesalahan zona, pengujian dilakukan terhadap tabel bangunan dengan melakukan perubahan data spasial yang menggunakan sistem proyeksi UTM DGN 95 zona 50 . Kedua transaksi yang dijalankan tersebut gagal dan muncul pesan error yang sama yaitu “ORA-20003: Sistem proyeksi dan atau zonanya salah”. Contoh tampilan pemilihan sistem proyeksi dan pesan error saat transaksi dijalankan dapat dilihat pada gambar V.9 dan V.10. Sedangkan tampilan pemilihan sistem proyeksi dan pesan error lainnya dapat dilihat pada lampiran I.
Gambar V.9 Contoh tampilan kesalahan pemilihan sistem proyeksi dan zona
Gambar V.10 Pesan error saat insert objek wilayah kelurahan dengan memilih sistem proyeksi yang salah (Non-Earth)
64 Kesalahan pemilihan sistem proyeksi dan zona berhasil dicegah masuk ke dalam basis data baru karena adanya batasan penggunaan sistem proyeksi dan zonanya. Batasan tersebut dibuat dalam bentuk trigger tabel saat insert dan update data. Trigger tersebut berfungsi untuk melakukan pengecekan kesuaian antara sistem proyeksi dan zona yang digunakan dalam data spasial dengan data referensi sistem proyeksi dan zona pada tabel zona_proyeksi. V.3 Hasil Analisis Hasil dari pengujian adalah status keberhasilan (sukses atau gagal) dari transaksi yang dilakukan pada basis data spasial untuk mencegah berbagai skenario kesalahan data. Status keberhasilan transaksi tersebut menunjukkan kemampuan basis data spasial hasil perancangan dalam menjaga integritas data spasial sesuai dengan enterprise rule-nya. Adapun hasil pengujian secara lengkap dapat dilihat pada tabel V.2. Tabel V.2 Hasil pengujian basis data spasial hasil perancangan No
Pencegahan Kesalahan
Status
1
Pencegahan kesalahan ID data spasial
Berhasil
2
Pencegahan data spasial yang IDnya ada tetapi objeknya tidak ada (null)
Berhasil
3
Pencegahan kesalahan penempatan objek data spasial
Berhasil
4
Pencegahan kesalahan karena kondisi geometri dan topologi tertentu: Objek data spasial undershoot
Berhasil
Objek data spasial overshoot
Berhasil
Objek data spasial double line
Berhasil
Objek data spasial missing segment
Berhasil
Objek data spasial sliver tidak berpotongan
Tidak Berhasil
Objek data spasial spike
Tidak Berhasil
Objek data spasial unsmooth
Tidak Berhasil
65 Tabel V.2 Hasil pengujian basis data spasial hasil perancangan (lanjutan) No 5
Pencegahan Kesalahan Pencegahan kesalahan hubungan spasial: Objek data spasial overlap (berpotongan) pada satu tabel Objek data spasial yang berada diluar batas yang seharusnya Objek data spasial overlap antar tabel
6
Status
Berhasil Berhasil Berhasil
Pencegahan kesalahan penggunaan sistem proyeksi dan zona Kesalahan penggunaan sistem proyeksi
Berhasil
Kesalahan penggunaan zona sistem proyeksi
Berhasil
Berdasarkan hasil pengujian, hampir semua kesalahan data spasial yang dicoba dalam pengujian berhasil dicegah masuk ke dalam basis data hasil perancangan. Hal ini dikarenakan adanya batasan-batasan pada basis data spasial hasil perancangan, dimana batasan-batasan tersebut ditransformasikan pada SMBD dalam bentuk batasan-batasan integritas dan trigger. Kemudian dari beberapa skenario kesalahan data, ada 3 poin dari skenario kesalahan karena kondisi geometri dan topologi tertentu yang tidak berhasil dicegah ke dalam basis data. Tiga poin tersebut adalah objek data spasial sliver tidak berpotongan, objek data spasial yang spike dan objek data spasial yang unsmooth. Hal ini dikarenakan kemungkinan adanya kesalahan konsistensi logis dari kondisi geometri dan topologi tersebut.