Pengembangan Sistem Pengembangan dan implementasi web GIS kampus IPB Darmaga

13 6 Zoom scale , pengguna dapat memasukkan nilai skala yang diinginkan. 7 Peta referensi, merupakan peta berukuran kecil yang merupakan representasi dari peta yang sebenarnya. 8 Search, pengguna dapat melakukan proses pencarian dari suatu tabel pada satu field. Tampilan perancangan antarrmuka halaman peta digambarkan pada Gambar 10. Gambar 10 Antarmuka Halaman Peta Default. Setelah dimodifikasi, tampilan perancangan antarmuka halaman peta digambarkan pada gambar 11. Gambar 11 Antarmuka Halaman Peta Setelah Modifikasi. Setelah dimodifikasi, sistem dinilai masih kurang efisien. Kemudian dilakukan modifikasi ulang, dan perancangan antarmuka halaman peta dibuat sama seperti tampilan default.

10. Pengembangan Sistem

GIS Kampus IPB Darmaga dikembangkan pada platform Linux-Ubuntu 10.10. Untuk membangun sistem ini dibutuhkan perangkat lunak untuk mengolah data spasial, perangkat lunak dengan pengembangan sistem berbasis web , dan perangkat lunak sebagai Sistem Manajemen Database. Pengolahan data spasial dilakukan pada paltform Microsoft Windows XP menggunakan AutoCAD 2005 dan ArcView 3.3 Aplikasi berbasis web yang digunakan untuk menegembangkan sistem ini adalah MapServer dengan framework Pmapper. Library yang dibutuhkan untuk menginstall MapServer di antaranya apache2, cgi- mapserver, mapserver-bin, php5-mapscript, dan php5 . Sementara itu library yang dibutuhkan untuk menginstall pmapper diantaranya : pmapper-4.0, pmapper-base, dan pmapper-demodata. Perangkat lunak yang digunakan untuk membangun Sistem Manajemen Database yaitu PostgreSQL dengan ekstensi PostGIS dan GUI PostgreSQL untuk mempermudah proses pengolahan data. Library yang dibutuhkan untuk menginstall aplikasi ini di antaranya: 1 PostgreSQL-8.4 : libpq5, postgresql, postgresql-8.4, postgresql-client-8.4, postgresql-client-common, postgresql- common 2 PostGIS 1.5 : postgresql-8.4-postgis, postgis, libpq5. 3 GUI PostgreSQL : pgadmin3, pgagent, pgadmin3-data Setelah proses instalasi berhasil, selanjutnya dilakukan beberapa konfigurasi, di antaranya mengubah password user postgres pada PostgreSQL dan membuat database template PostGIS. Semua konfigurasi ini dilakukan pada terminal ubuntu dengan syntax : 1 Mengubah password user postgres sudo -u postgres psql template1 ALTER USER postgres WITH PASSWORD [password]; 2 Membuat database template PostGIS sudo su postgres createdb [database] createlang plpgsql [database] psql -d [database] -f usrsharepostgresql8.4contr ibpostgis.sql psql -d postgistemplate -f usrsharepostgresql8.4cont ribspatial_ref_sys.sql H eader Navi- gasi Layer Legenda Referensi Peta Skala Link Tools Search for Zoom scale Text field button Filter query Kem bali 14 Aplikasi sistem ini menggunakan MapServer versi 5.6.5-1 dan framework Pmapper versi 4.0.0 yang merupakan hasil upgrade dari versi sebelumnya. Pembaharuan ini menyebabkan beberapa fitur tidak dapat berjalan dengan baik. Misalnya fitur searching tipe suggestion yang akan digunakan pada sistem ini sebagai fungsi pencarian. Untuk menangani masalah ini, maka dibutuhkan instalasi PEAR MDB2 package dan dbase function php. Selain itu ekstensi php_mapscript.so pada php.ini harus diaktifkan. Aplikasi sistem disimpan dalam folder Pmapper-4.0.0 pada direktori varwww. File- file penting yang mengatur konfigurasi mapfile dan fungsi searching disimpan di dalam direktori varwwwPmapper- 4.0.0config yaitu file config_.xml dan .map. Sementara itu, data yang dibutuhkan disimpan dalam PostgreSQL pada database gis. Setelah MapServer terinstal dan dapat menjalankan semua fiturnya dengan baik, dan semua data yang diperlukan dalam pengembangan sistem sudah lengkap, serta kebutuhan desain antarmuka sistem telah selesai, maka tahap penggabungan sistem dapat segera dilakukan. Halaman utama sistem yang dibangun dapat dilihat pada Lampiran 8. Menu yang tersedia di dalam sistem ini dibuat dengan tujuan untuk mendukung dan melengkapi fasilitas SIG yang ada di dalamnya. Bagian menu terdiri atas Home, Profil IPB, serta Buku Tamu. Pada halaman Home terdapat deskripsi sistem dan link peta kampus IPB Darmaga yang dapat diakses melalui gambar peta IPB. Halaman Buku Tamu berfungsi sebagai media komunikasi pengguna dengan administrator maupun komunikasi antar sesama pengguna sistem. Halaman Profil IPB memberikan informasi tentang sejarah dan profil IPB. Selain itu terdapat juga halaman admin yang dibuat untuk membantu administrator mengelola web . Tampilan halaman admin dapat dilihat pada Lampiran 9 dan Lampiran 10. Fungsi utama dari sistem ini adalah pemetaan ruangan kampus IPB Darmaga. Salah satu komponen penting yang membangun aplikasi pemetaan yaitu mapfile. Mapfile adalah file yang menyimpan berbagai konfigurasi untuk menggambarkan data spasial dan atribut dari shapefile ke dalam bentuk halaman web Mithcell 2005. Mapfile secara umum terdiri atas pendefinisian objek map yang umumnya berisi tentang extension peta, size, tipe image output, pendefinisian objek layer, pendefinisian objek class , pendefinisian objek style , dan pendefinisian objek label. Struktur umum ini dapat dilihat pada Gambar 12. Gambar 12 Struktur Umum Mapfile Kropla 2005. Terdapat dua cara pendefinisian objek layer pada mapfile yaitu pendefinisian objek layer yang terintegrasi database dan tidak terintegrasi database Salah satu contoh pendefinisian objek layer dalam mapfile dengan tipe data polygon pada sistem yang terintegrasi dengan database dapat dilihat pada Gambar 13. Gambar 13 Pendefinisian objek layer yang terintegrasi database. Perbedaan antara dua jenis pendefinisian objek layer ini terdapat pada penulisan script DATA serta penambahan script CONNECTIONTYPE dan konfigurasi CONNECTION pada objek layer yang terintegrasi database. MAP LAYER … CLASS … STYLE … END AKHIR DEFINISI OBJEK STYLE … LABEL … END AKHIR DEFINISI OBJEK LABEL … END AKHIR DEFINISI OBJEK CLASS … END AKHIR DEFINISI OBJEK LAYER END AKHIR DEFINISI OBJEK MAP 15 Pendefinisian objek layer dalam mapfile dengan tipe data polygon pada system yang tidak terintegrasi dengan database dapat dilihat pada Gambar 14. Gambar 14 Pendefinisian objek layer yang tidak terintegrasi database. Perbedaan lain yang harus diperhatikan yaitu penulisan script CLASSITEM dan RESULT_FIELDS. Pada objek layer yang terintegrasi database PostgreSQL, penulisan script ini harus sama dengan penulisan nama field tabelnya, biasanya ditulis menggunakan huruf kecil. Jika pada objek layer yang datanya di-load langsung dari data shapefile- nya, penulisan script ini harus sama dengan penulisan nama field tabel pada file .dbf yang digunakan, biasanya ditulis dengan huruf besar. Jika penulisan script CLASSITEM dan RESULT_FIELDS tidak sesuai dengan ketentuan, maka akan muncul permasalahan dalam proses visualisasi yang dilakukan oleh MapServer. Kesalahan penulisan script CLASSITEM akan menyebabkan MapServer tidak mampu menerjemahkan file image hasil konfigurasi mapfile ke web browser untuk disampaikan kepada pengguna, sehingga peta tidak berhasil muncul di web browser pengguna. Sementara itu, kesalahan penulisan script RESULT_FIELDS akan menyebabkan fitur Identify tidak dapat berjalan dengan baik. Identify hanya memunculkan Query Results dengan tabel-tabel kosong. Diagram hierarki antarmuka peta dapat dilihat pada Lampiran 11 dan antarmuka halaman peta dapat dilihat pada Lampiran 12. Terdapat dua kategori pada halaman peta GIS Kampus IPB Darmaga yaitu kategori IPB dan IPB Semua Level. Kategori IPB terdiri atas enam layer yaitu layer level1, level2, level3, level4, level5 dan level6. Sedangkan kategori IPB Semua Level hanya memiliki satu layer yaitu layer all level yang menampilkan seluruh level IPB pada satu tampilan peta. Legenda dengan simbol berbentuk polygon dapat dilihat pada Gambar 15. Gambar 15 Legenda tipe polygon. Pengembangan Framework Pmapper Pada penelitian ini akan ditampilkan fungsi pencarian lokasi peta kampus IPB Darmaga yang terdiri atas pencarian ruangan pada level 1, 2, 3, 4, 5, 6 dan ada juga pencarian ruangan pada seluruh level. Fungsi pencarian pada default tool Pmapper hanya dapat melakukan pencarian dari suatu tabel pada satu field. Untuk mengubah default tool nya, maka dilakukan modifikasi pada arsitektur pengembangan framework Pmapper. Modul-modul yang dimodifikasi berada pada direktori config dan direktori query. Modul-modul tersebuut adalah : • config_gis.xml : merupakan modul untuk konfigurasi fungsi-fungsi Pmapper, salah satunya yaitu fungsi pencarian. • search.php : modul ini merupakan fungsi yang diperlukan dalam aplikasi untuk proses pencarian. Modifikasi searching pertama Modifikasi pada modul search.xml yaitu menambah field pada antarmuka pencarian untuk pencarian layer level 1 s.d level 6. Hasil modifikasi berupa tampilan dua buah field pada menu pencarian. Field pertama berupa drop-down menu yang berisi tiga kategori pencarian yaitu fakultas, departemen, dan ruangan. Sementara itu, field kedua berupa 16 input text field dengan tipe pencarian suggestion . Modifikasi config_gis.xml untuk pencarian level 1 s.d 6 adalah sebagai berikut : -- Pilihan Level 1 -- searchitem name=Level1 description=Level 1 layer type=postgis name=Level1 field type=s name=facDepRo description=Level 1 wildcard=2 definition type=options connectiontype=rm sort=asc dsn encoding=UTF-8 pgsql:postgres:cloverlocalho stipb_gisdsn definition field field type=s name=qfield description= wildcard=2 definition type=suggest connectiontype=db sort=asc minlength=3 dependfld=facDepRo dsn encoding=UTF-8 pgsql:postgres:cloverlocalho stipb_gisdsn sqlSELECT DISTINCT [dependfldval] FROM ipb WHERE level=1 AND [dependfldval] ~ [search] ORDER BY [dependfldval]sql definition field layer searchitem Untuk pencarian seluruh level, antarmuka pencarian sama dengan antarmuka pencarian default . Modifikasi config_gis.xml untuk pencarian seluruh level adalah sebagai berikut : -- Pilihan Semua Level -- searchitem name=Semua Level description=Semua Level layer type=postgis name=Semua Level field type=s name=qfield_all description= wildcard=2 definition type=suggest connectiontype=db sort=asc minlength=3 dsn encoding=UTF-8 pgsql:postgres:cloverlocalho stipb_gisdsn sql SELECT DISTINCT fakultas FROM ipb WHERE fakultas ~ [search] UNION SELECT DISTINCT departemen FROM ipb WHERE departemen ~ [search] UNION SELECT DISTINCT nama_ruang FROM ipb WHERE nama_ruang ~ [search] sql definition field layer searchitem Modifikasi yang dilakukan pada modul search.php yaitu : • Menambahkan fungsi getIPBRoomCategories untuk membuat kategori pencarian. Berikut ini penambahan fungsinya : protected function getIPBRoomCategories { roomcats = {\fakultas\:\Fakultas\,\dep artemen\:\Departemen\, \nama_ruang\:\Ruangan\}; return roomcats; } • Menambahkan connectiontype “rm” yang berfungsi sebagai filter query berdasarkan kategori pencarian. Berikut ini penambahan kode programnya : elseif def_connectiontype == rm { encoding=stringdefinition- dsn [encoding]; optjson = this- getIPBRoomCategories; } • Mengubah nilai variabel qs dan menempatkannya pada suatu kondisi yang disesuaikan dengan syntax query yang diinginkan. Untuk pencarian level 1 s.d 6 ifvaloperator qs = val. = ; else qs = val; Untuk pencarian semua level iff === qfield_all qs = fakultas = val OR departemen = val OR nama_ruang = val; Keterangan : • Connectiontype “rm” ditambahkan pada fungsi getFieldDefinition dengan 17 kondisi jika variabel def_type bernilai option • Nilai dari variabel qs adalah nilai untuk kondisi pencarian syntax sql. Antarmuka pencarian modifikasi pertama dapat dilihat pada Lampiran 13 Modifikasi searching kedua Modifikasi pada modul search.xml hanya dilakukan pada syntax sql-nya saja. Antarmuka pencarian dibuat sama dengan default -nya. Berikut ini kode programnya : -- Pilihan Level 1-- searchitem name=Level 1 description=Level 1 layer type=postgis name=Level1 field type=s name=qfield_all description=Level 1 wildcard=2 definition type=suggest connectiontype=db sort=asc minlength=3 dsn encoding=UTF-8 pgsql:postgres:cloverlocalho stipb_gisdsn sql SELECT DISTINCT fakultas FROM ipb WHERE level=1 AND fakultas ~ [search] UNION SELECT DISTINCT departemen FROM ipb WHERE level=1 AND departemen ~ [search] UNION SELECT DISTINCT nama_ruang FROM ipb WHERE level=1 AND nama_ruang ~ [search] sql definition field layer searchitem Modifikasi yang dilakukan pada modul search.php hanya mengubah nilai variabel qs dan menempatkannya pada suatu kondisi yang disesuaikan dengan syntax query yang diinginkan. Berikut ini kode programnya : iff === qfield_all qs = fakultas = val OR departemen = val OR nama_ruang = val; Antarmuka pencarian modifikasi kedua dapat dilihat pada Lampiran 14

11. Pengujian Sistem