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