Abstract—This final task try to create a routing system that maka pemakai jalan akan mencari jalan alternatif yang
is applied to search off the roadway on a road network. The dapat dilalui, hal ini mengakibatkan pengalihan kemacetan,
roadway that used to this final task, come from a spatial data, dan sekali lagi akan menimbulkan masalah sama di tempat
where on this case we using Surabaya Map. The spatial data
change into sql format that support access capabilities as a lain. Metode yang kurang efektif ini sudah dilakukan
web GIS. After all of data has been prepared and convert to dalam 10 tahun terakhir, dan tidak dapat menyelesaikan
suitable format, let we try to design web interface. The utilization masalah. Beberapa metode manajemen lalu lintas sudah
MapServer engine as a map and web server as well, already berusaha di terapkan oleh Pemerintah Kota Surabaya dalam
widely used by web GIS creator. System on this final task has mengurangi tingkat kemacetan. Manajemen lalu lintas tersebut
applied in web GIS capabilities that support accessibility with a
variety of mobile devices that already internet network access. meliputi pembangunan alat transportasi massal Kereta Api
This system consists of a server as a provider of information Komuter, pemberlakuan “car free day” pada ruas jalan
required, and the client as a tester system. But on this final task, tertentu, kampanye “bike to work”,pelebaran ruas jalan (salah
the author have done the development of GIS web server only. satunya pada Jln. ahmad yani), dan beberapa metode lain
Kata Kunci—GIS, database spasial, MapServer, routing. yang kesemuanya hanya bersifat sementara dan kurang
mendapat respon yang berkelanjutan dari warga Surabaya.
Sekali lagi, langkah manajemen lalu lintas yang tidak di
I. P ENDAHULUAN barengi dengan kesadaran dari masyarakat setempat. Meskipun
OPULASI penduduk Surabaya pada tahun 2008, menurut
P data Badan Pusat Statistik Jawa Timur, mencapai angka
3,4 juta jiwa. Dengan luas wilayah 374,36 km2 , menempatkan
pada Undang Undang No 14 Tahun 1992 tentang Lalu
Lintas dan Angkutan Jalan sudah di atur pelaksanaannya,
namun keefektifan dan keefisienan dari UU tersebut masih
Surabaya sebagai salah satu kota terpadat di Indonesia. dipertanyakan. Beragam metode berusaha dimunculkan oleh
Data tersebut menunjukkan tingkat kepadatan penduduk tidak Pemerintah daerah maupun pusat untuk mengatasi masalah
merata di tiap kecamatan. Hal ini berpengaruh pada kepadatan ini, tetap saja kurang bisa menyelesaiakan dengan baik.
lalu lintas pada jalan penghubung antar kecamatan. Menurut Salah satu metode yang paling efektif dalam menyelesaikan
Drs. Juli Subianto MM., kepala dinas infokom kota Surabaya, permasalahan kemacetan lalu lintas adalah “Route guidance
tingkat perkembangan jumlah kendaraan roda dua kurang system and method” atau yang biasa disebut dengan sistem
lebih 700.000 buah per tahun, dan kendaraan roda empat routing.
sekitar 290 ribu kendaraan per tahun. Selain berakibat pada Sistem ini pertama kali diperkenalkan tahun 2004 oleh tim
kenaikan tingkat pencemaran udara kota, juga berdampak peneliti yang terdiri dari Ryujiro Fujita, Hiroto Inoue, Naohiko
pada kepadatan kondisi lalu lintas. Merupakan sebuah Ichihara, Takehiko Shioda. Penelitian yang melibatkan tim
hambatan besar bagi aparatur daerah untuk menyeimbangkan peneliti tersebut, di danai oleh Pemerintah Jepang, bertujuan
perkembangan jumlah penduduk dengan ketersediaan sarana untuk mengatasi kepadatan lalu lintas yang terjadi di beberapa
dan prasarana yang memadai, terutama sarana yang menunjang kota besar di Jepang[1]. Sistem ini berfungsi untuk mencari
transportasi dalam aktifitas sehari hari semua rute perjalanan yang dapat dilalui oleh seorang
Berdasarkan fakta tentang kepadatan jumlah penduduk pengendara kendaraan dalam mencapai tempat tujuan. Sistem
dan berkaitan dengan kepadatan lalu lintas, maka harus yang diperkenalkan oleh para peneliti ini menggunakan
segera dicari solusi untuk mengatas kemacetan di jalan – algoritma Dijkstra dalam pencarian rute. Namun seiring
jalan penghubung dalam kota, terutama jalan arteri sebagai dengan perkembangan ilmu pengetahuan, metode Dijkstra
penghubung utama di tiap wilayah. Pihak kepolisian dalam mempunyai kekurangan dalam waktu pencarian yang kurang
hal ini Satuan Lalu Lintas sebagai penanggung jawab untuk efektif dan dinilai lamban.
mengatur lalu lintas, selama ini hanya sebatas melakukan Untuk mengatasi permasalahan, pada penelitian yang
buka tutup jalan untuk mengurangi kemacetan. Namun hal dilakukan oleh penulis, dibahas penerapan sistem routing
ini tidak efektif, karena pada saat sebuah jalan di tutup, menggunakan algoritma A* sebagai alternatif untuk
mempercepat proses pencarian rute. Sistem routing yang
1 Mahasiswa Jurusan Teknik Elektro Bidang Studi Teknik Komputer dan
dikerjakan oleh penulis, di terapkan ke dalam aplikasi
Telematika
2 Dosen Pembimbing I web GIS dengan menggunakan Surabaya sebagai tempat
3 Dosen Pembimbing II implementasi penelitian.
PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 2
II. DASAR TEORI yang berbeda di lingkungan web maka dibutuhkan sebuah
A. GIS web server. Karena standart dari data geografis berbeda beda
dan sangat spesifik, maka pengembangan arsitektur sistem web
GIS atau yang lebih dikenal dengan Geographic Information
GIS mengikuti arsitektur “Client Server” (Gambar 2)
System atau Sistem Informasi Geografi (SIG) merupakan
sistem yang dirancang untuk bekerja dengan data yang
tereferensi secara spasial atau koordinat-koordinat geografi.
GIS memiliki kemampuan untuk melakukan pengolahan data
dan melakukan operasi-operasi tertentu dengan menampilkan
dan menganalisa data. Aplikasi GIS saat ini tumbuh
tidak hanya secara jumlah aplikasi namun juga bertambah
Gambar 2. Arsitektur GIS
dari jenis keragaman applikasinya. Pengembangan aplikasi
GIS kedepannya mengarah kepada aplikasi berbasis web
yang dikenal dengan web GIS. Hal ini disebabkan
karena pengembangan aplikasi di lingkungan jaringan telah Gambar 2 menunjukan arsitektur minimum sebuah sistem
menunjukan potensi yang besar dalam kaitannya dengan web GIS. Aplikasi berada disisi client yang berkomunikasi
geo informasi. Sebagai contoh adalah adanya peta online dengan server sebagai penyedia data melalui web Protokol
sebuah kota dimana pengguna dapat dengan mudah mencari seperti HTTP (Hyper Text Transfer Protocol). Aplikasi seperti
lokasi yang diinginkan secara online melalui jaringan ini bisa dikembangkan dengan web browser (Mozzila Firefox,
intranet/internet tanpa mengenal batas geografi penggunanya. Opera, Internet Explorer, dll). Untuk menampilkan dan
Secara umum Sistem Informasi Geografis dikembangkan berinteraksi dengan data GIS, sebuah browser membutuhkan
berdasarkan pada prinsip masukan data, manajemen, analisis, Plug-In atau Java Applet atau bahkan keduanya. Web
dan representasi data. Komponen utama GIS adalah sistem server bertanggung jawab terhadap proses permintaan dari
komputer, data geospasial dan pengguna, seperti diperlihatkan client dan mengirimkan tanggapan terhadap respon tersebut.
pada Gambar 1. Dalam arsitektur web, sebuah web server juga mengatur
komunikasi dengan server side GIS Komponen. Server side
GIS Komponen bertanggung jawab terhadap koneksi kepada
database spasial seperti menterjemahkan query kedalam SQL
dan membuat representasi yang diteruskan ke server. Dalam
kenyataannya Side Server GIS Komponen berupa software
libraries yang menawarkan layanan khusus untuk analisis
spasial pada data. Selain komponen hal lain yang juga sangat
penting adalah aspek fungsional yang terletak di sisi client atau
Gambar 1. Komponen Utama GIS di server. Gambar 3dapat diamati adanya dua pendekatan yang
menunjukan kemungkinan distribusi fungsional pada sistem
client / server berdasarkan konsep pipeline visualization [2].
Sistem GIS terdiri dari :
1) Perangkat keras (hardware), perangkat lunak (software)
dan prosedur untuk penyusunan pemasukkan data,
pengolahan, analisis, pemodelan (modelling), dan
penayangan data geospatial.
2) Sumber-sumber data geospasial adalah peta digital, foto
udara, citra satelit, tabel statistik dan dokumen lain yang
berhubungan. Data geospasial dibedakan menjadi data Gambar 3. Pendekatan Fungsional “Client Server”
grafis (stau disebut juga data geometris) dan data atribut
(data tematik). Data grafis mempunyai tiga elemen : titik
(node), garis (arc) dan luasan (poligon) dalam bentuk
vektor ataupun raster yang mewakili geometri topologi, Pendekatan-1 : Thin Client : Memfokuskan diri pada sisi
ukuran, bentuk, posisi dan arah. server. Hampir semua proses dan analisa data dilakukan
3) Pengguna merupakan spesifikasi pembeda dari berdasarkan request disisi server. Data hasil pemrosesan
fungsionalitas dari GIS itu sendiri. Beberapa contoh dikirimkan ke client dalam format HTML, yang didalamnya
fungsionalitas GIS antara lain : Desain web GIS, terdapat file gambar sehingga dapat dilihat dengan browser.
updating GIS, analisa spatial, dan lain sebagainya. Pada pendekatan ini interaksi pengguna terbatas dan tidak
1) Arsitektur GIS: GIS merupakan suatu sistem yang saling fleksibel.
terintegrasi satu sama lain, dan tidak dapat berdiri sendiri. Pada Pendekatan-2 : Thick / Fat Client : Pemrosesan data
penelitian ini, penulis menggabungkan sistem GIS dengan dilakukan disisi client, data dikirim dari server ke client
komponen dalam web untuk membangun sebuah web GIS. dalam bentuk data vektor yang disederhanakan. Pemrosesan
Untuk dapat melakukan komunikasi dengan komponen lain dan penggambaran kembali dilakukan disisi client. Cara ini
PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 3
menjadikan pengguna dapat berinteraksi lebih interaktif dan 1) Database Spasial: Yang dimaksud database spasial
fleksibel. disini adalah database yang mempunyai kemampuan untuk
Pada penelitian ini, sistem dibangunt dengan pendekatan menyimpan data spasial. Database spasial yang dinilai paling
thin client, dimana server bertanggung jawab penuh terhadap handal dan banyak dipakai saat ini adalah PostgreSQL
pengolahan data, dan pengguna sebagai client cukup dengan tambahan modul postGIS, namun akhir – akhir ini
menggunakan data dari server sesuai dengan maksud yang pengembang mySQL sudah meluncurkan produk mereka yaitu
diinginkan. mySQL spatial. PostGIS merupakan modul yang mendukung
kompatibilitas postgreSQL untuk menyimpan tipe data spasial.
B. Data Spasial PostGIS dikembangkan oleh Refractions Research Inc.
Data spasial adalah data yang memiliki referensi ruang PostGIS memberi dukungan terhadap semua fungsi dan
kebumian (georeference) dimana berbagai data atribut objek yang telah ditetapkan pada konferensi Open Geospatial
terletak dalam berbagai unit spasial. Saat ini data spasial Consortium dalam sebuah traktat “spesifikasi fitur tertentu
menjadi media penting untuk perencanaan pembangunan dan yang sederhana untuk SQL”. Penggunaan berbagai fungsi
pengelolaan sumber daya alam yang berkelanjutan pada spasial dalam postgre, dimungkinkan dilakukan melalui
cakupan wilayah continental, nasional, regional maupun lokal. library postgis yang telah ter - include di dalamnya, sehingga
Secara spasial, obyek (entities) dapat dibedakan menjadi dapat dilakukan proses pengolahan data spasial yang lebih
tiga yaitu titik (point), garis (line), dan area (polygon). Titik lanjut, dan dapat dilakukan query data sepenuhnya melalui
(point) merupakan representasi dari X,Y yang membentuk SQL command line [3].
satu koordinat. Garis (lines) merupakan kumpulan dari X,Y Bahasa pemrograman data spasial seperti Oracle,
koordinat yang membentuk sebuah garis. Sedangkan Area DB2 Spatial, SQL Server, dan Tata Ruang berbeda
(polygon) adalah kumpulan garis yang membentuk suatu area dengan kemampuan yang dimiliki oleh postGIS. PostGIS
tertentu. Stasiun curah hujan merupakan salah satu contoh titik memiliki tambahan kemampuan khusus yaitu sebagai mesin
(point). Garis kontur, daerah aliran sungai adalah contoh dari penghubung database, dalam hal ini PostgreSQL. Bahkan,
garis (line). Sedangkan unit penggunaan tanah (landuse) dan PostGIS dapat dinamakan sebagai "PostgreSQL Spatial",
unit geologi merupakan contoh area (polygon). karena memiliki fungsi yang sama seperti ekstensi database
Secara digital, titik, garis dan area tersebut di spasial. Fungsi - fungsi tersebut antara lain:
representasikan menjadi dua model data yaitu vektor dan 1) PostGIS menambahkan jenis data “geometri” ke jenis
raster. Dalam data vektor, posisi suatu obyek di definisikan data yang biasa (mis. "varchar", "char", "integer",
oleh koordinat (X,Y). Kenampakan spasial dalam data "tanggal", dll).
vektor dihadirkan dan disimpan dalam bentuk kode kode 2) PostGIS menambahkan fungsi baru yang berlangsung
tertentu atau label. Dalam data raster, data spasial disusun dalam jenis “geometri”, dan memberikan informasi
dan disimpan dalam bentuk piksel yang merupakan elemen ulang (misalnya ST_Distance (geometri, geometri),
terkecil suatu gambar. Pada gambar 4 dan 5 terdapat contoh ST_Area (geometri), ST_Length (geometri),
untuk membedakan data vektor dan raster. ST_Intersects (geometri, geometri), dll).
3) PostGIS menambahkan suatu mekanisme untuk
memungkinkan pengindeksian query spasial dengan
batasan (dengan kalimat “bounding dalam kotak”)
untuk mencatat kembali dengan cepat dari tabel data
yang sangat besar.
tuju. Dengan h(x) bagian dari fungsi f(x) yang harus dapat dan dimasukkan ke dalam closed list. Jika terdapat simpul
heuristis, yang mana tidak diperbolehkan untuk terlalu jauh lain yang bertetangga dengan A (yang sudah berpindah)
memperkirakan jarak ke arah tujuan. Oleh karena itu untuk namun belum termasuk kedalam anggota open list, maka
aplikasi seperti routing, h(x) mungkin mewakili garis lurus masukkan simpul-simpul tersebut ke dalam open list. Setelah
jarak ke titik tujuan, karena hal ini secara nyata dimungkinkan itu, bandingkan nilai G yang ada dengan nilai G sebelumnya
adanya jarak terpendek diantara dua titik. Jika keadaan (pada langkah awal, tidak perlu dilakukan perbandingan nilai
heuristis dari h(x) memenuhi kondisi h(x) ≤ d(x,y) + h(y) G). Jika nilai G sebelumnya lebih kecil maka A kembali ke
untuk setiap edge x,y dari graph (dengan d mempresentasikan posisi awal. Simpul yang pernah dicoba dimasukkan ke dalam
lebar dari edge tersebut), maka h tersebut dikatakan konsisten closed list. Hal terebut dilakukan berulang- ulang hingga
pada nilainya. pada kasus ini, A* dapat diimplementasikan terdapat solusi atau tidaka ada lagi simpul lain yang berada
lebih efisien, karena tidak ada titik / node yang diproses berkali pada open list. Deskripsi A* dalam sebuah graph dapat diamati
kali. Dan pada kenyataannya, hasil pencarian dari algoritma pada gambar 7. Berikut ini gambaran kerja dari algoritma A*
A* adalah sama dengan hasil dari pencarian menggunakan (gambar 6):
algoritma Dijkstra, dengan adanya tambahan pengkhususan
pada pengurangan biaya yang dikeluarkan d’(x,y):= d(x,y) −
h(x) + h(y)[7].
1) Deskripsi Algoritma: Seperti pada kebanyakan
algoritma pencarian informasi, terlebih dahulu dicari rute
yang tampaknya mempunyai kemungkinan besar untuk Gambar 6. Proses pelacakan jalur pada algoritma A*
menuju ke arah tujuan. Apa yang membuat A * algoritma
satu satunya pertama yang terbaik dalam proses pencarian
adalah algoritma ini mengambil jarak perjalanan ke arah
tujuan (dimana g (x) bagian dari heuristis adalah biaya dari
awal, dan tidak sekedar menjadi biaya lokal sebelum node
diperluas).
Beberapa terminologi dasar yang terdapat pada algoritma
ini adalah starting point, simpul (nodes), A, open list, closed
list, harga (cost), halangan (unwalkable).
• Starting point adalah sebuah terminologi untuk posisi
awal sebuah benda.
• A adalah simpul yang sedang dijalankan dalam algortima
pencarian jalan terpendek.
• Simpul adalah petak-petak kecil sebagai representasi
dari area pathfinding. Bentuknya dapat berupa persegi, Gambar 7. Proses pencarian jalur terpendek menggunakan A* pada sebuah
lingkaran, maupun segitiga. graph
• Open list adalah tempat menyimpan data simpul yang
mungkin diakses dari starting point maupun simpul yang
sedang dijalankan. Pada gambar 7, sebuah graph memiliki 7 buah simpul, yang
• Closed list adalah tempat menyimpan data simpul
masing - masing simpul mempunyai nilai G dan H, starting
sebelum A yang juga merupakan bagian dari jalur point berada pada simpul paling pojok kiri atas (simpul
terpendek yang telah berhasil didapatkan. berwarna hijau), dan simpul tujuan berada di pojok kanan
• Harga (F) adalah nilai yang diperoleh dari penjumlahan,
bawah (simpul berwarna biru). Hasil pelacakan jalur terpendek
nilai G merupakan jumlah nilai tiap simpul dalam jalur menggunakan A* menghasilkan garis tebal warna orange
terpendek dari starting point ke A, dan H adalah jumlah dengan simpul d, dan e dikunjungi, sehingga menghasilkan
nilai perkiraan dari sebuah simpul ke simpul tujuan. jalur terpendek yang menghubungkan starting point menuju
Sehingga dapat diformulasikan f(x) = g(x)+h(x). simpul tujuan.
• Simpul tujuan yaitu simpul yang dituju.
• Halangan adalah sebuah atribut yang menyatakan bahwa
sebuah simpul tidak dapat dilalui oleh A. D. MapServer
Prinsip algoritma ini adalah mencari jalur terpendek dari MapServer merupakan aplikasi freeware dan open source
sebuah simpul awal (starting point) menuju simpul tujuan yang memungkinkan seorang web GIS creator untuk
dengan memperhatikan harga (F) terkecil. Diawali dengan menampilkan data spasial (peta) di web. Aplikasi ini pertama
menempatkan A pada starting point, kemudian memasukkan kali dikembangkan di Universitas Minesotta, Amerika Serikat
seluruh simpul yang bertetangga dan tidak memilik atribut untuk projek ForNet (sebuah projek untuk manajemen sumber
rintangan dengan A ke dalam open list. Kemudian mencari daya alam) yang disponsori NASA (National Aeronautics and
nilai H terkecil dari simpul-simpul dalam open list tersebut. Space Administration). Support NASA dilanjutkan dengan
Kemudian memindahkan A ke simpul yang memiliki nilai H dikembangkan projek TerraSIP untuk manajemen data lahan.
terkecil. Simpul sebelum A disimpan sebagai parent dari A Saat ini, karena sifatnya yang terbuka (open source),
PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 5
pengembangan MapServer dilakukan oleh pengembang dari dari MapServer dalam pengembangan webserver. Dengan
berbagai negara. dukungan Javascript untuk bahasa pemrogramannya, dan
Pada bentuk paling dasar, MapServer berupa sebuah PHP sebagai pendukungnya, MapServer yang dibangun oleh
program CGI (Common Gateway Interface) yang terpasang penulis terasa lebih dinamis dan mudah untuk beradaptasi
dan berjalan tapi tidak aktif dalam server (aktif hanya saat dengan lingkungan interface apapun.
dipanggil). Saat rekues/permintaan dikirimkan ke mapserver, MapServer bekerja selain sebagai web server, juga sebagai
maka akan digunakan informasi yang dikirimkan lewat URL kontrol map file yang mengatur konfigurasi dari suatu peta dan
dan mapfile untuk membuat (generate) peta yang diinginkan. penampakannya di dalam interface web. Sebuah peta digital,
Permintaan ini bisa juga termasuk permintaan untuk membuat merupakan data spasial yang terdiri dari titik - titik, simbol,
legenda, peta referensi, batang skala, dan variabel lain yang atribut, dan poligon. Pada saat di tampilkan di komputer,
dikirimkan ke CGI tadi. Program tersebut akan mengeksekusi seorang pembuat peta menggunakan kombinasi dari beberapa
melalui web server, dan berdasarkan beberapa parameter komponen tersebut untuk menampakkan bentuk rupa sebuah
tertentu (terutama konfigurasi dalam bentuk file *.map) akan daerah di lihat dari udara.
menghasilkan data yang kemudian akan dikirim ke web Untuk dapat menggunakan engine MapServer, user terlebih
browser, baik dalam bentuk gambar peta ataupun bentuk lain. dahulu di haruskan untuk memenuhi beberapa requirement
1) Cara Kerja MapServer: MapServer bekerja secara yang di butuhkan, antara lain:
berdampingan dengan aplikasi web server. Web Server • Microsoft Visual Studio (atau program compiler C lain)
menerima request peta melalui MapServer. MapServer • Tidak ada service apache yang terinstall maupun sedang
mengenerate request terhadap peta dan mengirimkannya ke berjalan di dalam komputer user
web server seperti pada gambar 8. Seorang user yang bermaksud untuk membangun web
GIS, seharusnya membutuhkan database terdistribusi yang
mendukung kemampuan penyimpanan data spasial (dalam hal
ini adalah peta digital). Untuk database yang sesuai dengan
kemampuan penyimpanan data spasial, digunakan postGIS
yang merupakan modul tambahan dari PostgreSQL. Untuk
dapat mengakses data spasial yang tersimpan dalam postGIS,
maka harus dibentuk koneksi antara MapServer dengan
postgreSQL. Pada MapServer terdapat sebuah tools yang
diberi nama phpPgAdmin. Proses query database spasial yang
sudah berupa mapfile tersebut, membutuhkan otentifikasi user
untuk menjamin keamanan. Diagram proses query database
Gambar 8. Diagram kerja MapServer
hingga menampilkan peta melalui interface web, dapat di
ilustrasikan pada gambar 9.
Data yang digunakan pada penelitian ini adalah data peta berikut:
digital kota Surabaya yang mempunyai format shapefile. 1. Mendefinisikan file yang dapat di support oleh
File ekstensi dari shapefile yang terdiri dari shp, shx, aplikasi MapServer yang sedang dikerjakan.
dan dbf, berperan besar dalam pembuatan tampilan 2. Mengatur status dari layer yang di tampilkan.
peta dalam sistem. Data shapefile merupakan data 3. Mengatur ukuran dari peta
mentah yang harus di olah lagi untuk dapat digunakan 4. Menentukan aksi pada saat user mengaktifkan sebuah
dalam web GIS. Data shapefile peta Surabaya yang layer dalam peta.
penulis gunakan mempunyai beberapa layer penyusun, 5. Menyimpan sebuah fungsi yang di panggil ketika
namun untuk penelitian ini tidak semua layer di terjadi perubahan pada peta, misal saat dilakukan proses
gunakan. Layer – layer yang digunakan oleh penulis zooming.
antara lain layer wilayah, kecamatan, dan jalan_baru. 6. Menggambar ulang peta saat terjadi perubahan
Layer – layer tersebut tersusun mirip dengan stack tampilan peta yang dilakukan oleh user, misal mengaktif
untuk membentuk sebuah tampilan peta yang memiliki atau menon aktifkan layer, dan zooming.
komponen poligon, garis, dan titik. Komponen poligon Sebuah file phtml memiliki struktur yang mirip
di representasikan oleh layer kecamatan, komponen dengan file berformat HTML biasanya. Namun pada
garis di representasikan pada layer kelurahan, dan format phtml, hampir semua variabel yang digunakan,
komponen titik di representasikan oleh layer jalan_baru. merupakan variabel yang menyatakan penskalaan
Susunan layer tersebut kemudian di konversi ke ukuran peta. Isi file ini terdiri dari proses pemanggilan
dalam format sql yang nantinya akan disimpan dalam modul, yaitu file inc.php, dan file .map; serta
postGIS. Pada penelitian ini, penulis memberi nama pendefinisian tampilan peta dilengkapi dengan atribut
databasenya dengan “TUTORIAL”. Proses konversi pendukungnya.
shapefile menjadi database file melibatkan fungsi 3) Melakukan proses routing
shp2pgsql yang dimiliki oleh postgreSQL. Proses routing pada penelitian ini menggunakan engine
pgRouting, yang merupakan engine routing milik
database postgreSQL. Metode yang digunakan untuk
mendapatkan jalur terpendek adalah metode A*.
Proses routing menggunakan engine pgRouting,
didasarkan pada lokasi point awal (source_id), dan
lokasi point tujuan (target_id). Proses pencarian
rute bermula dengan pembuatan virtual graph pada
peta yang menghubungkan antara source_id dengan
target_id. Setelah graph terbentuk, dicari lintasan
Gambar 10. Alur Proses Pengolahan Data terpendek dari kedua titik tersebut. Pada saat lintasan
sudah di perolah, maka virtual graph secara otomatis
Pada gambar 10 terdapat suatu secure connection yang menghilang dari peta.
membutuhkan otentifikasi. Otentifikasi ini digunakan
untuk mengakses database file yang tersimpan dalam
database “TUTORIAL”. Proses otentifikasi ini di tandai
dengan pendefinisian fungsi “CONNECTION” pada
mapfile dengan menuliskan host, database, username,
password, dan port. Di dalam mapfile, seorang web GIS
creator harus meng – konfigurasi penampakan layer, dan
ukuran yang akan di tampilkan ke halaman HTML, serta
status default layer.
2) Mendesain tampilan web GIS
Terdapat dua file utama untuk desain web GIS, antara
lain file .inc.php, dan .phtml. Kedua file ini sangat
berpengaruh dalam menampilkan sebuah peta digital ke
dalam web. Web GIS menggunakan dasar pemrograman
Javascript yang berguna untuk menciptakan lingkungan Gambar 11. Virtual Graph yang dibentuk oleh sistem
web yang dinamis. Dengan bantuan MapServer,
pembuatan web GIS ini akan menjadi semakin mudah.
Selain itu, MapServer menyediakan layanan web server
dengan menggunakan apache. Serta kemudahan berkat IV. I MPLEMENTASI SISTEM
adanya dukungan pada mapscript yang menggunakan Pada bagian implementasi kali ini, di tampilkan hasil
bahasa pemrograman PHP, Java, C#, dan python. File desain sistem yang telah dibahas pada bagian 3 proceeding
ektensi inc.php merupakan modul untuk membantu ini. Implemetasi ini akan menjelaskan konektifitas yang
kinerja file phtml. Isi dari file ini antara lain sebagai menghubungkan antar tools, dan proses ketersediaan data di
PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 7
dalam sistem yang dibangun. Untuk lebih jelas, dapat kita sql yang telah dibuat. Namun dilihat dari fungsionalitas,
amati pada flowchart gambar 12. phpPgAdmin lebih tepat hanya sebatas modul untuk mengecek
ketersambungan antara MapServer dengan postgre. Jika kita
menggunakan phpPgAdmin untuk mengolah database, maka
masih di temukan banyak sekali bugs di dalam prosesnya.
Konektifitas yang dibangun antara MapServer dengan
postgre sebenarnya terletak tentang bagaimana cara sebuah
web server mengakses map server yang tersimpan di dalam
postgre. Hal inilah yang menentukan apakah database
terkoneksi atau tidak? Aksesibilitas MapServer untuk
mengakses postgre sebenarnya terletak pada script yang
mendefinisikan letak data didalam postgre dan atribut apa saja
yang akan di akses. Script ini di masukkan kedalam mapfile
yang menjadi jantung tampilan peta pada MapServer. Pada
kode 1akan di tuliskan bagaimana cara MapServer mengakses
database postgre.
Pada gambar 12, sistem di bagi menjadi tiga bagian Kode 1 memiliki pemanggilan database melalui fungsi
besar, yaitu database file, halaman HTML, dan proses CONNECTION. Jika kode 1 menghasilkan pesan error, berarti
routing. Meskipun fungsi utama sistem adalah routing, namun proses konektifitas MapServer dengan postgre mengalami
keberjalanan dari routing ini tidak akan lepas dari partisipasi kegagalan. Periksa bagian kode yang berusaha mengambil
dari dua proses sebelumnya. data dari tabel di database tersebut, apakah pengambilan
tersebut sudah sesuai dengan komponen tabel dari database
A. Database File file yang akan di koneksikan. Jika sudah merasa benar
Database file, merupakan konversi dari data spasial yang dengan pengambilan database file, langkah selanjutnya yang
berupa vektor dan raster, yang kemudian di konversi dapat ditempuh adalah dengan mengecek isi tabel pada sql
menjadi format sql agar dapat dipergunakan dalam database file. Biasanya isi tabel pada sql file yang akan di akses
server postgreSQL. Database file ini tersimpan dalam memiliki perbedaaan dengan isi shapefile yang sebenarnya.
database yang diberi nama “TUTORIAL” dan memiliki Dengan kata lain, proses konversi yang dilakukan mengalami
fungsi GeometryColoum1 . Untuk dapat menghubungkan kesalahan. Oleh karena itu, sebelum di konversi ke sql file,
MapServer dengan postgreSQL, pada MapServer terdapat shapefile seyogyanya di cek atribut - nya dengan menggunakan
modul tambahan untuk mengakses postgre, yaitu phpPgAdmin software pengolahan shapefile (seperti ArcView, Ilwis, atau
(gambar 13). MapWindow).
B. Halaman HTML
Halaman HTML menjadi user interface utama yang
menghubungkan sistem dengan pengguna sistem. Pada
halaman HTML, data spasial yang sudah berbentuk sql di
tampilkan. Pada halaman ini juga di tampilkan atribut dan
simbol pendukung yang terdapat dalam peta. Penghubung
Gambar 13. phpPgAdmin halaman HTML dengan data spasial, terdapat pada mapfile. Di
dalam mapfile di definisikan map apa yang akan di tampilkan
dan layer apa saja yang akan di gunakan untuk mendukung
Melalui phpPgAdmin, seorang web GIS creator dapat tampilan map, serta penjelasan bagaimana cara MapServer
secara langsung mengedit content dari database dan tabel mengakses database file.
Yang tidak kalah pentingnya juga yaitu proses desain dari
1 Fungsi penyimpan data spasial pada postGIS halaman HTML itu sendiri. Halaman HTML yang di buat
PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 8
untuk Tugas Akhir ini menyediakan fungsi untuk query layer Algorithm 3 Kode file phtml
yang mendukung peta tersebut, fungsi pan, fungsi zoom, serta <HTML>
fungsi information yang merupakan penghasil dari proses <?php
routing. Halaman HTML yang dibuat memiliki memiliki tiga if (PHP_OS == "WINNT" || PHP_OS == "WIN32")
komponen utama, yaitu .php, .phtml, .map. Untuk .php berisi {
script query - query halaman web untuk mengakses database $dlext = "dll";
file, dimana pada file ini terdapat status dari tiap layer yang }
akan di tampilkan pada halaman web, dan cara bagaimana else
layer tersebut ditampilkan. File .phtml merupakan file ekstensi {
untuk halaman web yang mendukung ketersediaan web GIS. $dlext = "so";
Pada file .phtml di konfigurasi tampilan dari halaman web, }
yang mana terdapat setting letak dari tiap komponen, simbol if (!extension_loaded("MapScript"))
yang di gunakan, bentuk font yang mendasari tampilan web, {
serta template yang digunakan. Sedangkan file ekstensi .map, dl("php_mapscript.$dlext");
mendefinisikan peta dan layer yang akan di tampilkan. Berikut }
algoritma halaman web yang sudah penulis buat. if (!extension_loaded("dbase"))
{
dl("php_dbase.$dlext");
Algorithm 2 Kode file php
}
function zulmapDrawMap()
include("zulmap.inc.php");
{
if ($HTTP_FORM_VARS["MAP_NAME"])
GLOBAL $gpoMap, $gbShowQueryResults;
$gpoMap =
GLOBAL $gbIsHtmlMode;
ms_newMapObj(strval($HTTP_FORM_VARS["MAP_NAME"]));
GLOBAL $gszCommand, $gszZoomBoxExt;
else
GLOBAL $gAppletImgFmt, $gImagesFmt;
$gpoMap = ms_newMapObj("zulmap.map");
if ($gbShowQueryResults)
{
$img = $gpoMap->drawQuery();
} Algorithm 4 Kode file map
else $img = $gpoMap->draw(); MAP NAME ’View1’
$url = $img->saveWebImage($gAppletImgFmt, 0, 0, -1); SIZE 550 400
echo "\n".$gszZoomBoxExt."\n"; EXTENT 112.61434931 -7.36576481 112.84500312
printf("<INPUT TYPE=HIDDEN NAME=minx -7.18872129
VALUE=\"%f\">", $gpoMap->extent->minx); UNITS dd
printf("<INPUT TYPE=HIDDEN NAME=miny RESOLUTION 72
VALUE=\"%f\">", $gpoMap->extent->miny); CONFIG PROJ_LIB ’C:/Proj/’ DATAPATTERN ”
printf("<INPUT TYPE=HIDDEN NAME=maxx TEMPLATEPATTERN ”
VALUE=\"%f\">", $gpoMap->extent->maxx); SHAPEPATH ’C:\ms4w\apps\zulmap\data’
printf("<INPUT TYPE=HIDDEN NAME=maxy SYMBOLSET ’C:\ms4w\apps\zulmap\etc\symbols.sym’
VALUE=\"%f\">", $gpoMap->extent->maxy); FONTSET ’C:\ms4w\apps\zulmap\etc\fonts.txt’
printf("<INPUT TYPE=HIDDEN NAME=imagewidth STATUS on
VALUE=\"%d\">", $gpoMap->width); IMAGECOLOR 255 255 255
printf("<INPUT TYPE=HIDDEN NAME=imageheight IMAGETYPE png24
VALUE=\"%d\">", $gpoMap->height); STATUS on
} DEBUG false
B. Saran
Dari kesimpulan dan hasil eksperimen yang telah di lakukan,
maka saran yang dapat penulis berikan:
1) Pemanfaatan web GIS harus dapat dirasakan oleh
masyarakat luas, dan salah satu caranya adalah dengan
kemampuan akses melalui jaringan internet.
2) Memperkuat kestabilan di server, mengingat sistem akan
sangat mengalami beban yang sangat berat, dikarenakan
Gambar 17. Permasalahan kesalahan query sistem kinerja dari MapServer yang sanggup menerima query
setiap saat, dan ketika sistem ini sudah di akses oleh
banyak client melalui internet.
3) Melengkapi database file, terutama database nama
Tabel I jalan. Hal ini akan sangat berpengaruh pada jangkauan
TABEL H ASIL ROUTING kemampuan routing pada sistem.
Lokasi awal Lokasi tujuan Hasil routing Jarak 4) Membuat fungsi yang terpisah, antara fungsi pengenalan
K A Karim Pandugo k a karim,pandugo 4km nama jalan dengan fungsi routing, sehingga proses
K A Karim Barata Jaya k a karim,pandugo, 7km pencarian bisa lebih cepat, dan dapat memberikan hasil
barata jaya
K A Karim Menur k a karim,barata jaya, 7km
yang tepat.
Pumpungan menur pumpungan 5) Penambahan parameter pemilihan jalur tercepat selain
K A Karim Raya k a karim,pandugo,barata jaya, 15km jarak tempuh, mungkin bisa di gunakan untuk
Mulyorejo menur pumpungan,raya mulyorejo menghitung biaya perjalanan, alternatif angkutan umum,
K A Karim Cumpat k a karim,pandugo, 17km
barata jaya, menur pumpungan, dan lain sebagainya.
raya mulyorejo,cumpat
K A Karim Kali k a karim,pandugo, 16km
Kedinding barata jaya, menur pumpungan, DAFTAR P USTAKA
raya mulyorejo,kali kedinding [1] Japanese Patent Application No. 2004-106186 filed on Mar. 31, 2004.
K A Karim Sarwajala k a karim,pandugo, 20km [2] Charter, Denny. 2004. Desain dan Applikasi GIS. Jakarta: PT. Elex Media
barata jaya,menur pumpungan, Komputindo
raya mulyorejo,sarwajala [3] Introduction to PostGIS by Refraction Inc RESEARCH, The Geospatial
K A Karim Banyu Urip k a karim,banyu urip 17km Experts
K A Karim Raya k a karim,pandugo, 12km [4] Ira Pohl, Bi-directional Search, in Machine Intelligence, vol. 6, eds.
Prada Indah raya prada indah Meltzer and Michie, Edinburgh University Press, 1971, pp. 127–140.
K A Karim Pagesangan k a karim,pagesangan 7km [5] MapServer Documentation
K A Karim Bangkingan kyai abdul karim, 9km [6] Hart, P. E.; Nilsson, N. J.; Raphael, B. (1968). "A Formal Basis
pagesangan,bangkingan for the Heuristic Determination of Minimum Cost Paths". IEEE
K A Karim Raya k a karim, 10km Transactions on Systems Science and Cybernetics SSC4 4 (2): 100–107.
Menganti pagesangan,raya menganti doi:10.1109/TSSC.1968.300136
K A Karim Alas k a karim,banyu urip,alas malang 19km [7] Pearl, Judea (1984). Heuristics: Intelligent Search Strategies for Computer
Malang Problem Solving. Addison-Wesley. ISBN 0-201-05594-5.
K A Karim Sememi k a karim,banyu urip,sememi 19km