Sistem Pencarian Rute Alternatif Dinamis Dengan Smart Routing System Menggunakan A* Algorithm Berbasiskan Web

M. Zulfikar Eka Prayoga1 , Dr. I Ketut Eddy Purnama, ST., MT.2 , Mochammad Hariadi ST., M.Sc, Ph.D.3

Abstract—This final task try to create a routing system that is applied to search off the roadway on a road network. The roadway that used to this final task, come from a spatial data, where on this case we using Surabaya Map. The spatial data change into sql format that support access capabilities as a web GIS. After all of data has been prepared and convert to suitable format, let we try to design web interface. The utilization MapServer engine as a map and web server as well, already widely used by web GIS creator. System on this final task has applied in web GIS capabilities that support accessibility with a variety of mobile devices that already internet network access. This system consists of a server as a provider of information required, and the client as a tester system. But on this final task, the author have done the development of GIS web server only. Kata Kunci—GIS, database spasial, MapServer, routing.

I. P ENDAHULUAN OPULASI penduduk Surabaya pada tahun 2008, menurut data Badan Pusat Statistik Jawa Timur, mencapai angka 3,4 juta jiwa. Dengan luas wilayah 374,36 km2 , menempatkan Surabaya sebagai salah satu kota terpadat di Indonesia. Data tersebut menunjukkan tingkat kepadatan penduduk tidak merata di tiap kecamatan. Hal ini berpengaruh pada kepadatan lalu lintas pada jalan penghubung antar kecamatan. Menurut Drs. Juli Subianto MM., kepala dinas infokom kota Surabaya, tingkat perkembangan jumlah kendaraan roda dua kurang lebih 700.000 buah per tahun, dan kendaraan roda empat sekitar 290 ribu kendaraan per tahun. Selain berakibat pada kenaikan tingkat pencemaran udara kota, juga berdampak pada kepadatan kondisi lalu lintas. Merupakan sebuah hambatan besar bagi aparatur daerah untuk menyeimbangkan perkembangan jumlah penduduk dengan ketersediaan sarana dan prasarana yang memadai, terutama sarana yang menunjang transportasi dalam aktifitas sehari hari Berdasarkan fakta tentang kepadatan jumlah penduduk dan berkaitan dengan kepadatan lalu lintas, maka harus segera dicari solusi untuk mengatas kemacetan di jalan – jalan penghubung dalam kota, terutama jalan arteri sebagai penghubung utama di tiap wilayah. Pihak kepolisian dalam hal ini Satuan Lalu Lintas sebagai penanggung jawab untuk mengatur lalu lintas, selama ini hanya sebatas melakukan buka tutup jalan untuk mengurangi kemacetan. Namun hal ini tidak efektif, karena pada saat sebuah jalan di tutup,

P

1 Mahasiswa Jurusan Teknik Elektro Bidang Studi Teknik Komputer dan Telematika 2 Dosen Pembimbing I 3 Dosen Pembimbing II

maka pemakai jalan akan mencari jalan alternatif yang dapat dilalui, hal ini mengakibatkan pengalihan kemacetan, dan sekali lagi akan menimbulkan masalah sama di tempat lain. Metode yang kurang efektif ini sudah dilakukan dalam 10 tahun terakhir, dan tidak dapat menyelesaikan masalah. Beberapa metode manajemen lalu lintas sudah berusaha di terapkan oleh Pemerintah Kota Surabaya dalam mengurangi tingkat kemacetan. Manajemen lalu lintas tersebut meliputi pembangunan alat transportasi massal Kereta Api Komuter, pemberlakuan “car free day” pada ruas jalan tertentu, kampanye “bike to work”,pelebaran ruas jalan (salah satunya pada Jln. ahmad yani), dan beberapa metode lain yang kesemuanya hanya bersifat sementara dan kurang mendapat respon yang berkelanjutan dari warga Surabaya. Sekali lagi, langkah manajemen lalu lintas yang tidak di barengi dengan kesadaran dari masyarakat setempat. Meskipun 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 dipertanyakan. Beragam metode berusaha dimunculkan oleh Pemerintah daerah maupun pusat untuk mengatasi masalah ini, tetap saja kurang bisa menyelesaiakan dengan baik. Salah satu metode yang paling efektif dalam menyelesaikan permasalahan kemacetan lalu lintas adalah “Route guidance system and method” atau yang biasa disebut dengan sistem routing. Sistem ini pertama kali diperkenalkan tahun 2004 oleh tim peneliti yang terdiri dari Ryujiro Fujita, Hiroto Inoue, Naohiko Ichihara, Takehiko Shioda. Penelitian yang melibatkan tim peneliti tersebut, di danai oleh Pemerintah Jepang, bertujuan untuk mengatasi kepadatan lalu lintas yang terjadi di beberapa kota besar di Jepang[1]. Sistem ini berfungsi untuk mencari semua rute perjalanan yang dapat dilalui oleh seorang pengendara kendaraan dalam mencapai tempat tujuan. Sistem yang diperkenalkan oleh para peneliti ini menggunakan algoritma Dijkstra dalam pencarian rute. Namun seiring dengan perkembangan ilmu pengetahuan, metode Dijkstra mempunyai kekurangan dalam waktu pencarian yang kurang efektif dan dinilai lamban. Untuk mengatasi permasalahan, pada penelitian yang dilakukan oleh penulis, dibahas penerapan sistem routing menggunakan algoritma A* sebagai alternatif untuk mempercepat proses pencarian rute. Sistem routing yang dikerjakan oleh penulis, di terapkan ke dalam aplikasi web GIS dengan menggunakan Surabaya sebagai tempat implementasi penelitian.

Pendekatan-2 : Thick / Fat Client : Pemrosesan data dilakukan disisi client.PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 2 II. DASAR TEORI A. Sebagai contoh adalah adanya peta online sebuah kota dimana pengguna dapat dengan mudah mencari lokasi yang diinginkan secara online melalui jaringan intranet/internet tanpa mengenal batas geografi penggunanya. Data grafis mempunyai tiga elemen : titik (node). GIS GIS atau yang lebih dikenal dengan Geographic Information System atau Sistem Informasi Geografi (SIG) merupakan sistem yang dirancang untuk bekerja dengan data yang tereferensi secara spasial atau koordinat-koordinat geografi. foto udara. Data hasil pemrosesan dikirimkan ke client dalam format HTML. seperti diperlihatkan pada Gambar 1. tabel statistik dan dokumen lain yang berhubungan. sebuah web server juga mengatur komunikasi dengan server side GIS Komponen. Gambar 3dapat diamati adanya dua pendekatan yang menunjukan kemungkinan distribusi fungsional pada sistem client / server berdasarkan konsep pipeline visualization [2]. ukuran. data geospasial dan pengguna. Beberapa contoh fungsionalitas GIS antara lain : Desain web GIS. penulis menggabungkan sistem GIS dengan komponen dalam web untuk membangun sebuah web GIS. pemodelan (modelling). dan representasi data. dan penayangan data geospatial. Karena standart dari data geografis berbeda beda dan sangat spesifik. analisis. Dalam kenyataannya Side Server GIS Komponen berupa software libraries yang menawarkan layanan khusus untuk analisis spasial pada data. Sistem GIS terdiri dari : 1) Perangkat keras (hardware). Server side GIS Komponen bertanggung jawab terhadap koneksi kepada database spasial seperti menterjemahkan query kedalam SQL dan membuat representasi yang diteruskan ke server. Web server bertanggung jawab terhadap proses permintaan dari client dan mengirimkan tanggapan terhadap respon tersebut. garis (arc) dan luasan (poligon) dalam bentuk vektor ataupun raster yang mewakili geometri topologi. sebuah browser membutuhkan Plug-In atau Java Applet atau bahkan keduanya. Pemrosesan dan penggambaran kembali dilakukan disisi client. Aplikasi GIS saat ini tumbuh tidak hanya secara jumlah aplikasi namun juga bertambah dari jenis keragaman applikasinya. Selain komponen hal lain yang juga sangat penting adalah aspek fungsional yang terletak di sisi client atau di server. pengolahan. bentuk. Pengembangan aplikasi GIS kedepannya mengarah kepada aplikasi berbasis web yang dikenal dengan web GIS. Internet Explorer. perangkat lunak (software) dan prosedur untuk penyusunan pemasukkan data. Komponen utama GIS adalah sistem komputer. data dikirim dari server ke client dalam bentuk data vektor yang disederhanakan. citra satelit. yang didalamnya terdapat file gambar sehingga dapat dilihat dengan browser. Untuk dapat melakukan komunikasi dengan komponen lain Gambar 3. Untuk menampilkan dan berinteraksi dengan data GIS. maka pengembangan arsitektur sistem web GIS mengikuti arsitektur “Client Server” (Gambar 2) Gambar 2. analisa spatial. Cara ini . posisi dan arah. Pada penelitian ini. Data geospasial dibedakan menjadi data grafis (stau disebut juga data geometris) dan data atribut (data tematik). 3) Pengguna merupakan spesifikasi pembeda dari fungsionalitas dari GIS itu sendiri. Aplikasi berada disisi client yang berkomunikasi dengan server sebagai penyedia data melalui web Protokol seperti HTTP (Hyper Text Transfer Protocol). updating GIS. Secara umum Sistem Informasi Geografis dikembangkan berdasarkan pada prinsip masukan data. 2) Sumber-sumber data geospasial adalah peta digital. Arsitektur GIS Gambar 1. 1) Arsitektur GIS: GIS merupakan suatu sistem yang saling terintegrasi satu sama lain. yang berbeda di lingkungan web maka dibutuhkan sebuah web server. Pendekatan Fungsional “Client Server” Pendekatan-1 : Thin Client : Memfokuskan diri pada sisi server. GIS memiliki kemampuan untuk melakukan pengolahan data dan melakukan operasi-operasi tertentu dengan menampilkan dan menganalisa data. Komponen Utama GIS Gambar 2 menunjukan arsitektur minimum sebuah sistem web GIS. Pada pendekatan ini interaksi pengguna terbatas dan tidak fleksibel. Dalam arsitektur web. analisis. dll). Opera. dan lain sebagainya. Aplikasi seperti ini bisa dikembangkan dengan web browser (Mozzila Firefox. dan tidak dapat berdiri sendiri. Hampir semua proses dan analisa data dilakukan berdasarkan request disisi server. Hal ini disebabkan karena pengembangan aplikasi di lingkungan jaringan telah menunjukan potensi yang besar dalam kaitannya dengan geo informasi. manajemen.

titik. dan Tata Ruang berbeda dengan kemampuan yang dimiliki oleh postGIS.PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 3 menjadikan pengguna dapat berinteraksi lebih interaktif dan fleksibel. "char".cost g(x) adalah jumlah biaya yang harus dikeluarkan dari node awal menuju node yang akan di Gambar 4.Y). dan memberikan informasi ulang (misalnya ST_Distance (geometri. dan pengguna sebagai client cukup menggunakan data dari server sesuai dengan maksud yang diinginkan. dimana server bertanggung jawab penuh terhadap pengolahan data. Sedangkan unit penggunaan tanah (landuse) dan unit geologi merupakan contoh area (polygon). dll).Y koordinat yang membentuk sebuah garis. "tanggal". Database spasial yang dinilai paling handal dan banyak dipakai saat ini adalah PostgreSQL dengan tambahan modul postGIS. geometri). dll). yaitu fungsi path cost (selalu dinotasikan dengan g(x). Garis kontur. obyek (entities) dapat dibedakan menjadi tiga yaitu titik (point). Titik (point) merupakan representasi dari X. geometri). ST_Intersects (geometri. Sedangkan Area (polygon) adalah kumpulan garis yang membentuk suatu area tertentu. DB2 Spatial. dan dapat dilakukan query data sepenuhnya melalui SQL command line [3]. Data Vektor Gambar 5. Fungsi . Secara spasial. Dalam data vektor. namun akhir – akhir ini pengembang mySQL sudah meluncurkan produk mereka yaitu mySQL spatial.plus . A*(yang diucapkan dengan “A star”) merupakan salah satu algoritma pencarian graph terbaik yang mampu menemukan jalur dengan biaya pengeluaran paling sedikit dari titik permulaan yang diberikan sampai ke titik tujuan yang diharapkan (dari satu atau lebih mungkin tujuan)[7].plus . ST_Length (geometri). PostGIS memberi dukungan terhadap semua fungsi dan objek yang telah ditetapkan pada konferensi Open Geospatial Consortium dalam sebuah traktat “spesifikasi fitur tertentu yang sederhana untuk SQL”. karena memiliki fungsi yang sama seperti ekstensi database spasial. posisi suatu obyek di definisikan oleh koordinat (X. 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. penulis menggunakan peta Surabaya sebagai peta dasar pengolahan. 2) PostGIS menambahkan fungsi baru yang berlangsung dalam jenis “geometri”. Secara digital. PostGIS memiliki tambahan kemampuan khusus yaitu sebagai mesin penghubung database. Data Spasial Data spasial adalah data yang memiliki referensi ruang kebumian (georeference) dimana berbagai data atribut terletak dalam berbagai unit spasial. sistem dibangunt dengan pendekatan thin client. garis dan area tersebut di representasikan menjadi dua model data yaitu vektor dan raster. dimungkinkan dilakukan melalui library postgis yang telah ter . penulis mempersiapkan data spasial yang mempunyai format shapefile dengan kombinasi vektor dan raster.Y yang membentuk satu koordinat. sehingga dapat dilakukan proses pengolahan data spasial yang lebih lanjut. SQL Server. data spasial disusun dan disimpan dalam bentuk piksel yang merupakan elemen terkecil suatu gambar. Data Raster Pada penelitian ini. Fungsi path . PostGIS merupakan modul yang mendukung kompatibilitas postgreSQL untuk menyimpan tipe data spasial.biaya merupakan penjumlahan dari dua fungsi. Algoritma A* Algoritma ini pertama kali diperkenalkan pada 1968 oleh Peter Hart. dan sebuah kemungkinan penerimaan atas “perkiraan heuristis” jarak ke titik tujuan (dinotasikan dengan h(x)). Bahasa pemrograman data spasial seperti Oracle.include di dalamnya. Algoritma ini menggunakan fungsi distance . Bahkan. garis (line). PostGIS dapat dinamakan sebagai "PostgreSQL Spatial". Gabungan jarak . C. dan area (polygon). ST_Area (geometri). Nils Nilsson. Pada gambar 4 dan 5 terdapat contoh untuk membedakan data vektor dan raster. . "integer". daerah aliran sungai adalah contoh dari garis (line). nasional. Pada penelitian ini. PostGIS dikembangkan oleh Refractions Research Inc. dimungkinkan bernilai heuristik ataupun tidak). dalam hal ini PostgreSQL. Dan untuk maksud tersebut. regional maupun lokal.fungsi tersebut antara lain: 1) PostGIS menambahkan jenis data “geometri” ke jenis data yang biasa (mis. dan Bertram Raphael[6]. Dalam ilmu komputer. 1) Database Spasial: Yang dimaksud database spasial disini adalah database yang mempunyai kemampuan untuk menyimpan data spasial. B. "varchar".cost (biasanya di notasikan dengan f(x)) untuk menentukan urutan kunjungan pencarian node di dalam tree. Penggunaan berbagai fungsi spasial dalam postgre. Kenampakan spasial dalam data vektor dihadirkan dan disimpan dalam bentuk kode kode tertentu atau label. Garis (lines) merupakan kumpulan dari X. Saat ini data spasial menjadi media penting untuk perencanaan pembangunan dan pengelolaan sumber daya alam yang berkelanjutan pada cakupan wilayah continental. Stasiun curah hujan merupakan salah satu contoh titik (point). Dalam data raster.

nilai G merupakan jumlah nilai tiap simpul dalam jalur terpendek dari starting point ke A. harga (cost). Amerika Serikat untuk projek ForNet (sebuah projek untuk manajemen sumber daya alam) yang disponsori NASA (National Aeronautics and Space Administration). Dengan h(x) bagian dari fungsi f(x) yang harus dapat heuristis. maupun segitiga. open list.y) + h(y) untuk setiap edge x. Simpul yang pernah dicoba dimasukkan ke dalam closed list. karena hal ini secara nyata dimungkinkan adanya jarak terpendek diantara dua titik. hasil pencarian dari algoritma A* adalah sama dengan hasil dari pencarian menggunakan algoritma Dijkstra. • Harga (F) adalah nilai yang diperoleh dari penjumlahan. Proses pelacakan jalur pada algoritma A* Gambar 7. • Starting point adalah sebuah terminologi untuk posisi awal sebuah benda. pada kasus ini. Saat ini. dan simpul tujuan berada di pojok kanan bawah (simpul berwarna biru). yang masing .masing simpul mempunyai nilai G dan H.PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 4 tuju. • Open list adalah tempat menyimpan data simpul yang mungkin diakses dari starting point maupun simpul yang sedang dijalankan. terlebih dahulu dicari rute yang tampaknya mempunyai kemungkinan besar untuk menuju ke arah tujuan. halangan (unwalkable). • Closed list adalah tempat menyimpan data simpul sebelum A yang juga merupakan bagian dari jalur terpendek yang telah berhasil didapatkan. sehingga menghasilkan jalur terpendek yang menghubungkan starting point menuju simpul tujuan. • Simpul tujuan yaitu simpul yang dituju.ulang hingga terdapat solusi atau tidaka ada lagi simpul lain yang berada pada open list. h(x) mungkin mewakili garis lurus jarak ke titik tujuan. MapServer MapServer merupakan aplikasi freeware dan open source yang memungkinkan seorang web GIS creator untuk menampilkan data spasial (peta) di web. Support NASA dilanjutkan dengan dikembangkan projek TerraSIP untuk manajemen data lahan. Hasil pelacakan jalur terpendek menggunakan A* menghasilkan garis tebal warna orange dengan simpul d. A* dapat diimplementasikan lebih efisien. Sehingga dapat diformulasikan f(x) = g(x)+h(x). Kemudian mencari nilai H terkecil dari simpul-simpul dalam open list tersebut. • A adalah simpul yang sedang dijalankan dalam algortima pencarian jalan terpendek. A. karena sifatnya yang terbuka (open source). Bentuknya dapat berupa persegi.y) − h(x) + h(y)[7]. closed list. lingkaran. Setelah itu. Aplikasi ini pertama kali dikembangkan di Universitas Minesotta. Hal terebut dilakukan berulang. Jika terdapat simpul lain yang bertetangga dengan A (yang sudah berpindah) namun belum termasuk kedalam anggota open list. Jika keadaan heuristis dari h(x) memenuhi kondisi h(x) ≤ d(x. Jika nilai G sebelumnya lebih kecil maka A kembali ke posisi awal. dan e dikunjungi. sebuah graph memiliki 7 buah simpul. D. kemudian memasukkan seluruh simpul yang bertetangga dan tidak memilik atribut rintangan dengan A ke dalam open list. dan tidak sekedar menjadi biaya lokal sebelum node diperluas). Kemudian memindahkan A ke simpul yang memiliki nilai H terkecil. Dan pada kenyataannya. maka masukkan simpul-simpul tersebut ke dalam open list. Beberapa terminologi dasar yang terdapat pada algoritma ini adalah starting point. Deskripsi A* dalam sebuah graph dapat diamati pada gambar 7. Prinsip algoritma ini adalah mencari jalur terpendek dari sebuah simpul awal (starting point) menuju simpul tujuan dengan memperhatikan harga (F) terkecil. Oleh karena itu untuk aplikasi seperti routing. starting point berada pada simpul paling pojok kiri atas (simpul berwarna hijau).y):= d(x. yang mana tidak diperbolehkan untuk terlalu jauh memperkirakan jarak ke arah tujuan. simpul (nodes). Simpul sebelum A disimpan sebagai parent dari A dan dimasukkan ke dalam closed list. dengan adanya tambahan pengkhususan pada pengurangan biaya yang dikeluarkan d’(x. bandingkan nilai G yang ada dengan nilai G sebelumnya (pada langkah awal. graph Proses pencarian jalur terpendek menggunakan A* pada sebuah Pada gambar 7. Berikut ini gambaran kerja dari algoritma A* (gambar 6): Gambar 6. karena tidak ada titik / node yang diproses berkali kali. . 1) Deskripsi Algoritma: Seperti pada kebanyakan algoritma pencarian informasi. Diawali dengan menempatkan A pada starting point.y dari graph (dengan d mempresentasikan lebar dari edge tersebut). dan H adalah jumlah nilai perkiraan dari sebuah simpul ke simpul tujuan. • Halangan adalah sebuah atribut yang menyatakan bahwa sebuah simpul tidak dapat dilalui oleh A. tidak perlu dilakukan perbandingan nilai G). 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. • Simpul adalah petak-petak kecil sebagai representasi dari area pathfinding. maka h tersebut dikatakan konsisten pada nilainya.

MapServer yang dibangun oleh penulis terasa lebih dinamis dan mudah untuk beradaptasi dengan lingkungan interface apapun.0 (CSharp. seorang pembuat peta menggunakan kombinasi dari beberapa komponen tersebut untuk menampakkan bentuk rupa sebuah daerah di lihat dari udara. kita bisa melihat sebuah foto satelit (diperoleh dari remote server). Untuk database yang sesuai dengan kemampuan penyimpanan data spasial.titik. garis-garis jalan. Gambar 8. Dari gambar yang kita peroleh tersebut.4. dilakukan beberapa langkah desain web GIS sebagai berikut : 1) Mempersiapkan dan mengolah data yang digunakan . penulis menggunakan engine MapServer for Windows (MS4W) 4 versi 1. Proses Query Data pada postGIS Dalam pembuatan web GIS.0. MapServer CGI 4. Dengan dukungan Javascript untuk bahasa pemrogramannya. digunakan postGIS yang merupakan modul tambahan dari PostgreSQL. dan MapServer yang sudah terinstal. simbol. Web Server menerima request peta melalui MapServer. penulis menggunakan peta Surabaya). maka akan digunakan informasi yang dikirimkan lewat URL dan mapfile untuk membuat (generate) peta yang diinginkan. atribut. MapServer mengenerate request terhadap peta dan mengirimkannya ke web server seperti pada gambar 8. Diagram proses query database hingga menampilkan peta melalui interface web. Pada bentuk paling dasar. Java. Pada saat di tampilkan di komputer. maka harus dibentuk koneksi antara MapServer dengan postgreSQL. Sebuah peta digital. Permintaan ini bisa juga termasuk permintaan untuk membuat legenda. postgreSQL dan postGIS yang sudah terinstal. III. PHP versi 4. 1) Cara Kerja MapServer: MapServer bekerja secara berdampingan dengan aplikasi web server. juga sebagai kontrol map file yang mengatur konfigurasi dari suatu peta dan penampakannya di dalam interface web. Package MS4W terdiri dari Apache server 2. dan label-label kota yang di tampilkan secara generic oleh MapServer. MapScript 4. MapServer bekerja selain sebagai web server.10. lokasi perkotaan. Setelah semua perlengkapan penunjang di penuhi. dan poligon. peta referensi. dan PHP sebagai pendukungnya. Setiap layer saling overlay satu dengan lainnya dan ditampilkan kedalam web browser. Saat rekues/permintaan dikirimkan ke mapserver. Pada MapServer terdapat sebuah tools yang diberi nama phpPgAdmin. dan berdasarkan beberapa parameter tertentu (terutama konfigurasi dalam bentuk file *. dan variabel lain yang dikirimkan ke CGI tadi. antara lain adalah file peta digital dari daerah yang digunakan (dalam Tugas Akhir kali ini. Program tersebut akan mengeksekusi melalui web server. MapServer berupa sebuah program CGI (Common Gateway Interface) yang terpasang dan berjalan tapi tidak aktif dalam server (aktif hanya saat dipanggil). baik dalam bentuk gambar peta ataupun bentuk lain. Proses query database spasial yang sudah berupa mapfile tersebut. Pra Desain Sistem Pada penelitian ini.PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 5 pengembangan MapServer dilakukan oleh pengembang dari berbagai negara. dan kelengkapan lain untuk membangun sebuah kombinasi mapserver dengan webserver. Proses pengambaran peta (rendering) muncul setiap kali permintaan terhadap peta baru yang dilakukan oleh MapServer termasuk ketika user melakukan level zoom terhadap tampilan peta 8. Python).2. Untuk dapat mengakses data spasial yang tersimpan dalam postGIS. antara lain: • Microsoft Visual Studio (atau program compiler C lain) • Tidak ada service apache yang terinstall maupun sedang berjalan di dalam komputer user Seorang user yang bermaksud untuk membangun web GIS.3. Diagram kerja MapServer dari MapServer dalam pengembangan webserver. terdapat beberapa hal yang harus dipersiapkan sebelum memulai desain interface. yang merupakan engine MapServer khusus untuk platform Microsoft Windows. seharusnya membutuhkan database terdistribusi yang mendukung kemampuan penyimpanan data spasial (dalam hal ini adalah peta digital). PHP. membutuhkan otentifikasi user untuk menjamin keamanan.map) akan menghasilkan data yang kemudian akan dikirim ke web browser. D ESAIN SISTEM A. Salah satu layernya bisa saja berupa gambar satelit. batang skala. Fungsi utama dari MapServer adalah melakukan pembacaan data dari banyak sumber dan menempatkannya kedalam layerlayer secara bersamaan menjadi file graphic. dapat di ilustrasikan pada gambar 9.4. Penulis memanfaatkan framework gmap yang merupakan bawaan Gambar 9.10. merupakan data spasial yang terdiri dari titik . user terlebih dahulu di haruskan untuk memenuhi beberapa requirement yang di butuhkan. Untuk dapat menggunakan engine MapServer.6.

Data shapefile merupakan data mentah yang harus di olah lagi untuk dapat digunakan dalam web GIS. dan lokasi point tujuan (target_id). dan python. shx. berperan besar dalam pembuatan tampilan peta dalam sistem. kecamatan. dicari lintasan terpendek dari kedua titik tersebut.php. dan ukuran yang akan di tampilkan ke halaman HTML. Proses otentifikasi ini di tandai dengan pendefinisian fungsi “CONNECTION” pada mapfile dengan menuliskan host. Serta kemudahan berkat adanya dukungan pada mapscript yang menggunakan bahasa pemrograman PHP. yang merupakan engine routing milik database postgreSQL. 6. serta status default layer. komponen garis di representasikan pada layer kelurahan. Susunan layer tersebut kemudian di konversi ke dalam format sql yang nantinya akan disimpan dalam postGIS.php. database. Di dalam mapfile.phtml. 2) Mendesain tampilan web GIS Terdapat dua file utama untuk desain web GIS. Proses pencarian rute bermula dengan pembuatan virtual graph pada peta yang menghubungkan antara source_id dengan target_id. Dengan bantuan MapServer. dan .map. 5. didasarkan pada lokasi point awal (source_id). merupakan variabel yang menyatakan penskalaan ukuran peta. Pada saat lintasan sudah di perolah. File ekstensi dari shapefile yang terdiri dari shp. Data shapefile peta Surabaya yang penulis gunakan mempunyai beberapa layer penyusun. hampir semua variabel yang digunakan. Komponen poligon di representasikan oleh layer kecamatan. Namun pada format phtml. Kedua file ini sangat berpengaruh dalam menampilkan sebuah peta digital ke dalam web. Selain itu. Mendefinisikan file yang dapat di support oleh aplikasi MapServer yang sedang dikerjakan. C#. maka virtual graph secara otomatis menghilang dari peta. seorang web GIS creator harus meng – konfigurasi penampakan layer. dan port. dan file . dan komponen titik di representasikan oleh layer jalan_baru. di tampilkan hasil desain sistem yang telah dibahas pada bagian 3 proceeding ini. misal mengaktif atau menon aktifkan layer. Isi file ini terdiri dari proses pemanggilan modul. Menyimpan sebuah fungsi yang di panggil ketika terjadi perubahan pada peta. namun untuk penelitian ini tidak semua layer di gunakan. Isi dari file ini antara lain sebagai berikut: 1. MapServer menyediakan layanan web server dengan menggunakan apache. Web GIS menggunakan dasar pemrograman Javascript yang berguna untuk menciptakan lingkungan web yang dinamis. Proses konversi shapefile menjadi database file melibatkan fungsi shp2pgsql yang dimiliki oleh postgreSQL. Mengatur ukuran dari peta 4. dan dbf. misal saat dilakukan proses zooming. Menggambar ulang peta saat terjadi perubahan tampilan peta yang dilakukan oleh user. File ektensi inc. yaitu file inc. Gambar 11. Implemetasi ini akan menjelaskan konektifitas yang menghubungkan antar tools. I MPLEMENTASI SISTEM Pada bagian implementasi kali ini. Proses routing menggunakan engine pgRouting. Otentifikasi ini digunakan untuk mengakses database file yang tersimpan dalam database “TUTORIAL”.inc. Setelah graph terbentuk. antara lain file . dan zooming. password. dan jalan_baru. Sebuah file phtml memiliki struktur yang mirip dengan file berformat HTML biasanya. dan proses ketersediaan data di . dan titik. serta pendefinisian tampilan peta dilengkapi dengan atribut pendukungnya. pembuatan web GIS ini akan menjadi semakin mudah.PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 6 Data yang digunakan pada penelitian ini adalah data peta digital kota Surabaya yang mempunyai format shapefile. Virtual Graph yang dibentuk oleh sistem IV. 3) Melakukan proses routing Proses routing pada penelitian ini menggunakan engine pgRouting. Mengatur status dari layer yang di tampilkan. Alur Proses Pengolahan Data Pada gambar 10 terdapat suatu secure connection yang membutuhkan otentifikasi. Gambar 10.php merupakan modul untuk membantu kinerja file phtml. Java. Layer – layer yang digunakan oleh penulis antara lain layer wilayah. Pada penelitian ini. 2. 3. garis. Layer – layer tersebut tersusun mirip dengan stack untuk membentuk sebuah tampilan peta yang memiliki komponen poligon. username. penulis memberi nama databasenya dengan “TUTORIAL”. Metode yang digunakan untuk mendapatkan jalur terpendek adalah metode A*. Menentukan aksi pada saat user mengaktifkan sebuah layer dalam peta.

Kode 1 memiliki pemanggilan database melalui fungsi CONNECTION. serta penjelasan bagaimana cara MapServer mengakses database file. sql yang telah dibuat. terdapat pada mapfile. 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. Konektifitas yang dibangun antara MapServer dengan postgre sebenarnya terletak tentang bagaimana cara sebuah web server mengakses map server yang tersimpan di dalam postgre. Ilwis. Dengan kata lain. langkah selanjutnya yang dapat ditempuh adalah dengan mengecek isi tabel pada sql file. Meskipun fungsi utama sistem adalah routing. Jika sudah merasa benar dengan pengambilan database file. phpPgAdmin lebih tepat hanya sebatas modul untuk mengecek ketersambungan antara MapServer dengan postgre. yang kemudian di konversi menjadi format sql agar dapat dipergunakan dalam database server postgreSQL. Pada halaman HTML. Pada halaman ini juga di tampilkan atribut dan simbol pendukung yang terdapat dalam peta. namun keberjalanan dari routing ini tidak akan lepas dari partisipasi dari dua proses sebelumnya. Algorithm 1 Kode akses PostgreSQL melalui mapfile CONNECTIONTYPE POSTGIS CONNECTION "user=[nama user] dbname=[nama database] host=[host database] port=[port database : 5432] password=[password anda]" DATA "[nama kolom geometry] FROM [nama table] USING UNIQUE [unique index / primary key]" FILTER "[kondisi / persyaratan]" Gambar 12. Script ini di masukkan kedalam mapfile yang menjadi jantung tampilan peta pada MapServer. dapat kita amati pada flowchart gambar 12. Namun dilihat dari fungsionalitas. Halaman HTML Halaman HTML menjadi user interface utama yang menghubungkan sistem dengan pengguna sistem. Diagram Alir Sistem Pada gambar 12. Untuk lebih jelas. seorang web GIS creator dapat secara langsung mengedit content dari database dan tabel 1 Fungsi penyimpan data spasial pada postGIS . Jika kode 1 menghasilkan pesan error.nya dengan menggunakan software pengolahan shapefile (seperti ArcView. apakah pengambilan tersebut sudah sesuai dengan komponen tabel dari database file yang akan di koneksikan. Jika kita menggunakan phpPgAdmin untuk mengolah database. Penghubung halaman HTML dengan data spasial. Oleh karena itu. proses konversi yang dilakukan mengalami kesalahan. B. shapefile seyogyanya di cek atribut . Periksa bagian kode yang berusaha mengambil data dari tabel di database tersebut. sistem di bagi menjadi tiga bagian besar. phpPgAdmin Melalui phpPgAdmin. yaitu phpPgAdmin (gambar 13). pada MapServer terdapat modul tambahan untuk mengakses postgre. yaitu database file. Yang tidak kalah pentingnya juga yaitu proses desain dari halaman HTML itu sendiri. Pada kode 1akan di tuliskan bagaimana cara MapServer mengakses database postgre. Di dalam mapfile di definisikan map apa yang akan di tampilkan dan layer apa saja yang akan di gunakan untuk mendukung tampilan map. Biasanya isi tabel pada sql file yang akan di akses memiliki perbedaaan dengan isi shapefile yang sebenarnya. Halaman HTML yang di buat Gambar 13. data spasial yang sudah berbentuk sql di tampilkan. Database File Database file. dan proses routing. merupakan konversi dari data spasial yang berupa vektor dan raster. halaman HTML. berarti proses konektifitas MapServer dengan postgre mengalami kegagalan. Database file ini tersimpan dalam database yang diberi nama “TUTORIAL” dan memiliki fungsi GeometryColoum1 .PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 7 dalam sistem yang dibangun. sebelum di konversi ke sql file. maka masih di temukan banyak sekali bugs di dalam prosesnya. atau MapWindow). Untuk dapat menghubungkan MapServer dengan postgreSQL. A.

fungsi pan. } include("zulmap. dimana ketiganya harus terdapat konektifitas antara satu dengan yang lain. $url = $img->saveWebImage($gAppletImgFmt. Berikut kode 5 proses routing yang di gunakan dalam Tugas Akhir. Algoritma tersebut menjelaskan fungsi routing yang di dasarkan pada koordinat titik nama jalan pada peta. $gpoMap->extent->minx).84500312 -7. .$dlext"). dimana pada file ini terdapat status dari tiap layer yang akan di tampilkan pada halaman web. . } else { $dlext = "so". -1). GLOBAL $gszCommand. if ($HTTP_FORM_VARS["MAP_NAME"]) $gpoMap = ms_newMapObj(strval($HTTP_FORM_VARS["MAP_NAME"])). Sedangkan file ekstensi . Pada file . echo "\n". bentuk font yang mendasari tampilan web.phtml di konfigurasi tampilan dari halaman web. GLOBAL $gbIsHtmlMode. Algorithm 4 Kode file map MAP NAME ’View1’ SIZE 550 400 EXTENT 112. printf("<INPUT TYPE=HIDDEN NAME=miny VALUE=\"%f\">". simbol yang di gunakan. 0. namun jika nama jalan tidak dikenali. printf("<INPUT TYPE=HIDDEN NAME=minx VALUE=\"%f\">". Proses Routing Proses routing tidak jauh berbeda dengan proses query pada database file. } if (!extension_loaded("dbase")) { dl("php_dbase.36576481 112.$gszZoomBoxExt. printf("<INPUT TYPE=HIDDEN NAME=imageheight VALUE=\"%d\">". Namun pada proses routing. mendefinisikan peta dan layer yang akan di tampilkan. printf("<INPUT TYPE=HIDDEN NAME=maxy VALUE=\"%f\">".inc. Halaman HTML yang dibuat memiliki memiliki tiga komponen utama. $gbShowQueryResults.php"). Berikut algoritma halaman web yang sudah penulis buat. 0. sistem akan mengirimkan query kepada database file yang berupa nama jalan untuk di cocokkan pada database nama jalan yang dikenali sistem."\n". .phtml merupakan file ekstensi untuk halaman web yang mendukung ketersediaan web GIS. } else $img = $gpoMap->draw().sym’ FONTSET ’C:\ms4w\apps\zulmap\etc\fonts. $gImagesFmt. serta fungsi information yang merupakan penghasil dari proses routing. $gpoMap->height). } if (!extension_loaded("MapScript")) { dl("php_mapscript. yaitu . $gszZoomBoxExt. GLOBAL $gAppletImgFmt. maka akan muncul pesan error. $gpoMap->extent->maxx). dan map.txt’ STATUS on IMAGECOLOR 255 255 255 IMAGETYPE png24 STATUS on DEBUG false terdapat tiga file komponen utama dalam pembuatan web GIS yang penulis kerjakan. Untuk . printf("<INPUT TYPE=HIDDEN NAME=maxx VALUE=\"%f\">". antara lain file php.map. else $gpoMap = ms_newMapObj("zulmap. $gpoMap->width). yang mana terdapat setting letak dari tiap komponen. Algorithm 2 Kode file php function zulmapDrawMap() { GLOBAL $gpoMap. File . if ($gbShowQueryResults) { $img = $gpoMap->drawQuery().map").query halaman web untuk mengakses database file.PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 8 untuk Tugas Akhir ini menyediakan fungsi untuk query layer yang mendukung peta tersebut. C. serta template yang digunakan. barulah proses routing dapat dijalankan.61434931 -7.phtml. printf("<INPUT TYPE=HIDDEN NAME=imagewidth VALUE=\"%d\">". fungsi zoom. } Algorithm 3 Kode file phtml <HTML> <?php if (PHP_OS == "WINNT" || PHP_OS == "WIN32") { $dlext = "dll".$dlext").php.php berisi script query . Jika jalan dikenali.map. dan cara bagaimana layer tersebut ditampilkan. $gpoMap->extent->miny). $gpoMap->extent->maxy).18872129 UNITS dd RESOLUTION 72 CONFIG PROJ_LIB ’C:/Proj/’ DATAPATTERN ” TEMPLATEPATTERN ” SHAPEPATH ’C:\ms4w\apps\zulmap\data’ SYMBOLSET ’C:\ms4w\apps\zulmap\etc\symbols. phtml.

1) Pengujian pengenalan nama jalan titik awal dan titik akhir Pengujian ini digunakan untuk mendeteksi apakah nama jalan yang di input user terdapat pada peta yang di tampilkan (baik pada field lokasi awal maupun pada lokasi tujuan). false. 2) Tidak semua nama jalan di kota Surabaya di tampilkan Kota Surabaya memiliki banyak sekali jalan penghubung. y2 FROM dourol’. dan pengujian kemampuan engine pgRouting. length::double precision AS cost. source::int4. cost. directed boolean. Dalam pembuatan sistem ini. has_reverse_cost boolean) RETURNS SET OF path_result SELECT id. namun tidak semua layer di gunakan dalam pembuatan sistem ini. mempunyai beberapa batasan. . dan jalan baru. Web GIS yang penulis kerjakan. Atau dengan kata lain. beserta perhitungan jarak tempuh yang di kalkulasi berdasarkan koordinat nama jalan pada peta. Oleh karena itu.tol yang hanya dapat dilewat oleh jenis kendaraan tertentu. Jika nama jalan tidak terdapat pada peta. Pada gambar 14 di jelaskan GUI2 dari web GIS yang di buat pada penelitian ini. source. x1. menampilkan peta Surabaya dan mendukung kemampuan routing untuk pencarian jalur tercepat yang dapat dilalui oleh user. x1. kecamatan. target::int4. Data shapefile kota Surabaya memiliki banyak sekali layer. Sistem memberikan nama – nama jalan yang harus dilalui pengguna agar dapat sampai dengan waktu yang lebih singkat. E KSPERIMEN DAN HASIL Hasil pengerjaan berupa tampilan web yang mendukung pemanfaatan GIS. menghasilkan rute yang dapat dilalui pengguna dengan pertimbangan parameter jarak tempuh terpendek dari lokasi awal menuju lokasi tujuan. length::double precision AS cost. Salah satu contoh hasil pengujian yang dilakukan penulis terdapat pada gambar 16. Sistem ini masih mempunyai kekurangan di bagian query data pada database TUTORIAL. 3) Pencarian rute ditujukan untuk semua jenis kendaraan Sistem routing ini ditujukan untuk semua jenis kendaraan. maka akan muncul pesan error seperti pada gambar 15. kyai abdul karim) ke semua lokasi jalan. Ketika pengguna mencoba untuk memasukkan lokasi awal dengan nama jalan lain (selain Jln. dan jalan baru di dasarkan pada fungsionalitas dari web GIS ini sendiri untuk menjalankan fungsi routing. nama jalan yang ditampilkan hanya jalan dengan letak atribut yang saling berjauhan. 2 Graphical User Interface 2) Pengujian kemampuan engine pgRouting Pengujian ini merupakan inti dari penelitian yang dikerjakan penulis. meliputi layer wilayah. Gambar 14. true. maka sistem secara otomatis melakukan fungsi routing (hasil pengujian pada kasus ini terdapat pada gambar 16). Hasil pengujian menghasilkan routing table (pada tabel I). yaitu pengujian pengenalan titik awal dan titik akhir. x1. atau disebut dengan web GIS.3. kecamatan. Pengujian awal dilakukan pada satu lokasi jalan tertentu (dalam hal ini jln. true). target_id integer. Jika nama jalan terdapat pada peta. x2. Kesalahan yang terjadi adalah sistem menampilkan keseluruhan hasil penjejakan rute pada peta.PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 9 Algorithm 5 Kode engine pgRouting dengan algoritma A* CREATE OR REPLACE FUNCTION shortest_path_astar (sql text. y1. false). penulis mengalami kesulitan dalam pengolahan data. target::int4. source_id integer. terdiri dua dua macam. karena atribut jalan yang saling berdempetan sehingga menyebabkan engine routing kesulitan dalam proses penjejakan. y1. 7. Pada pengujian ini. Pemilihan layer wilayah. y2 FROM dourol’. 7. Kyai Abdul Karim). SELECT * FROM shortest_path_astar (’SELECT gid AS id. Gambar 15. maka terjadi kesalahan pada sistem.length::double precision AS reverse_cost. Tampilan peta Surabaya dalam web ini. antara lain: 1) Menampilkan tiga layer. target. 3. sistem ini mengecualikan jln. GUI Sistem V. y1. x2. x2. y2 FROM edge_table SELECT * FROM shortest_path_astar (’SELECT gid AS id. 4) Parameter yang digunakan adalah jarak tempuh Penentuan jalur tercepat didasarkan pada jarak tempuh dari lokasi awal hingga lokasi tujuan. Hasil Error Pengujian Pengenalan Nama Jalan Pengujian yang dilakukan pada sistem. source::int4.

alternatif angkutan umum. menur pumpungan. Meltzer and Michie. Nilsson. pp. B.cumpat k a karim. 2004-106186 filed on Mar. P. doi:10. sehingga proses pencarian bisa lebih cepat. mengingat sistem akan sangat mengalami beban yang sangat berat. eds. dan ketika sistem ini sudah di akses oleh banyak client melalui internet. ISBN 0-201-05594-5. raya prada indah k a karim. Permasalahan kesalahan query sistem Tabel I TABEL H ASIL ROUTING Lokasi awal K A Karim K A Karim K A Karim K A Karim K A Karim Lokasi tujuan Pandugo Barata Jaya Menur Pumpungan Raya Mulyorejo Cumpat Hasil routing k a karim. Kesimpulan Setelah melalui tahapan implementasi dan melewati tahap pengujian sistem.banyu urip.. DAFTAR P USTAKA Gambar 16. barata jaya. Saran Dari kesimpulan dan hasil eksperimen yang telah di lakukan.raya mulyorejo k a karim. menur pumpungan k a karim. dapat diamati gambar 17.raya menganti k a karim. maka diperoleh beberapa kesimpulan antara lain : 1) Hasil pengujian mendapatkan hasil routing untuk satu lokasi awal menuju ke semua lokasi tujuan yang terdapat pada peta dan dilengkapi dengan jarak tempuh dari kedua lokasi tersebut. Denny. barata jaya. Bi-directional Search. 4) Membuat fungsi yang terpisah. mempunyai hasil query lebih tepat dibandingkan dengan parameter waktu. Hal ini akan sangat berpengaruh pada jangkauan kemampuan routing pada sistem. dikarenakan kinerja dari MapServer yang sanggup menerima query setiap saat.pandugo. 2) Hasil pengujian gagal dilakukan untuk lokasi awal lain (selain Jln. E. raya mulyorejo. 3) Routing yang didasarkan pada parameter jarak tempuh. 3) Melengkapi database file. Gambar 17. 31. antara fungsi pengenalan nama jalan dengan fungsi routing. 19km . "A Formal Basis for the Heuristic Determination of Minimum Cost Paths". J. barata jaya k a karim. dan salah satu caranya adalah dengan kemampuan akses melalui jaringan internet.kali kedinding k a karim.bangkingan k a karim. 2) Memperkuat kestabilan di server. menur pumpungan. 6.PROCEEDING PENELITIAN JURUSAN TEKNIK ELEKTRO ITS 10 VI. dan dapat memberikan hasil yang tepat.sememi Jarak 4km 7km 7km 15km 17km K A Karim Kali Kedinding Sarwajala 16km K A Karim K A Karim K A Karim K A Karim K A Karim K A Karim K A Karim K A Karim Banyu Urip Raya Prada Indah Pagesangan Bangkingan Raya Menganti Alas Malang Sememi [1] Japanese Patent Application No. Hasil Pengujian Proses Routing Untuk lebih mengetahui kesalahan yang terjadi pada sistem. pagesangan. Desain dan Applikasi GIS. Kyai Abdul Karim). in Machine Intelligence. karena pada data peta terdapat cross intersection sehingga engine pgRouting mengalami kegagalan pembentukan virtual graph.pandugo. IEEE 10km Transactions on Systems Science and Cybernetics SSC4 4 (2): 100–107. barata jaya. K ESIMPULAN DAN SARAN A.1968. terutama database nama jalan.barata jaya.banyu urip.menur pumpungan. Raphael. 5) Penambahan parameter pemilihan jalur tercepat selain jarak tempuh.. dan lain sebagainya. 1971. Addison-Wesley.sarwajala k a karim.banyu urip k a karim. 7km [5] MapServer Documentation 9km [6] Hart.pandugo. raya mulyorejo. Elex Media Komputindo [3] Introduction to PostGIS by Refraction Inc RESEARCH. N. 2004.1109/TSSC.pandugo. Judea (1984). 2004. dengan kondisi pengambilan data melalui database dan tidak dilakukan update data secara online. (1968). mungkin bisa di gunakan untuk menghitung biaya perjalanan. Heuristics: Intelligent Search Strategies for Computer Problem Solving. 20km [2] Charter. maka saran yang dapat penulis berikan: 1) Pemanfaatan web GIS harus dapat dirasakan oleh masyarakat luas.300136 19km [7] Pearl. menur pumpungan.pandugo. vol.alas malang k a karim.pandugo. raya mulyorejo. B. Jakarta: PT. Edinburgh University Press. 127–140.pagesangan kyai abdul karim. pagesangan. The Geospatial 17km Experts 12km [4] Ira Pohl.barata jaya.pandugo k a karim.

Sign up to vote on this title
UsefulNot useful