151
PENENTU RUTE TERPENDEK PARIWISATA KOTA MALANG MENGGUNAKAN GIS DENGAN FUNGSI SHORTEST PATH ASTAR SKRIPSI Oleh: MUHAMMAD MUTTAQIN NIM. 04550078 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI MALANG 2009

gis rute pendek.pdf

Embed Size (px)

DESCRIPTION

gis

Citation preview

Page 1: gis rute pendek.pdf

PENENTU RUTE TERPENDEK PARIWISATA KOTA

MALANG MENGGUNAKAN GIS DENGAN FUNGSI

SHORTEST PATH ASTAR

SKRIPSI

Oleh:

MUHAMMAD MUTTAQIN

NIM. 04550078

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI MALANG

2009

Page 2: gis rute pendek.pdf

i

PENENTU RUTE TERPENDEK PARIWISATA KOTA

MALANG MENGGUNAKAN GIS DENGAN FUNGSI

SHORTEST PATH ASTAR

SKRIPSI

Diajukan Kepada:

Jurusan Teknik Informatika Universitas Islam Negeri Malang

Sebagai Salah Satu Persyaratan Untuk Memperoleh

Gelar Sarjana Komputer (S.Kom)

Oleh:

Muhammad Muttaqin

NIM. 04550078

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI MALANG

2009

Page 3: gis rute pendek.pdf

ii

PENENTU RUTE TERPENDEK PARIWISATA KOTA

MALANG MENGGUNAKAN GIS DENGAN FUNGSI

SHORTEST PATH ASTAR

SKRIPSI

Oleh:

MUHAMMAD MUTTAQIN

NIM. 04550078

Telah Disetujui untuk Diuji

Malang, 17 April 2009

Pembimbing I

Syahiduzzaman, M.Kom

NIP. 150 368 777

Pembimbing II

M. Ainul Yaqin, M.Kom

NIP. 150 377 940

Mengetahui,

Ketua Jurusan Teknik Informatika

Suhartono, M.Kom

NIP. 150 327 241

Page 4: gis rute pendek.pdf

iii

PENENTU RUTE TERPENDEK PARIWISATA KOTA

MALANG MENGGUNAKAN GIS DENGAN FUNGSI

SHORTEST PATH ASTAR

SKRIPSI

Oleh:

MUHAMMAD MUTTAQIN

NIM. 04550078

Telah Dipertahankan di Depan Dewan Penguji Skripsi

dan Dinyatakan Diterima Sebagai Salah Satu Persyaratan

untuk Memperoleh Gelar Sarjana Komputer (S.Kom)

Tanggal: 17 April 2009

Susunan Dewan Penguji: Tanda Tangan

1. Penguji Utama : Totok Chamidy, M.Kom ( )

NIP. 150 381 177

2. Ketua : Ir. M. Amin Hariyadi, M.T ( )

NIP. 150 368 791

3. Sekretaris : Syahiduzzaman, M.Kom ( )

NIP. 150 368 777

4. Anggota : M. Ainul Yaqin, M.Kom ( )

NIP. 150 377 940

Mengetahui dan Mengesahkan,

Ketua Jurusan Teknik Informatika

Suhartono, S.Si, M.Kom

NIP. 150 327 241

Page 5: gis rute pendek.pdf

iv

MOTTO

‘Sesungguhnya sesudah kesulitan itu ada kemudahan’ (Qs. Al-Insyiroh: 6)

”Memelihara apa yang baik dari masa lampau, menggunakan hanya

yang lebih baik yang ada dalam hal yang baru dan menciptakan

sesuatu yang baru” (Gus Dur)

Page 6: gis rute pendek.pdf

v

PERSEMBAHAN

Saya persembahkan karya ini untuk:

Kedua Orang Tua tercinta yang mengabdikan hidup dan membimbing penulis untuk tahu tentang segalanya

Guru-guru saya yang telah banyak memberikan pengetahuan dan pengalamanya kepada penulis

Saudara-saudaraku yang telah memberikan motivasi agar cepat menyelesaikan skripsi. Khususnya buat mbak sun, mbak imah, mba Nur, kak Qodir, kak Uqis, adekQ iin cinut serta mas Nur Said, Muhtarom dan Aris. Terima kasih atas budi baiknya. Juga buat keponakan-keponakanku Ela,

Umam, Fajar, Meya, “cilik” Lia, Salma dan Nadia (onad). Terimakasih atas spirit yang kalian berikan lewat canda tawa

Serta buat seluruh pengabdi pengetahuan

Page 7: gis rute pendek.pdf

vi

LEMBAR PERNYATAAN

Saya yang bertanda tangan dibawah ini :

Nama : Muhammad Muttaqin

NIM : 04550078

Jurusan : Teknik Informatika

Judul Tugas Akhir : PENENTU RUTE TERPENDEK PARIWISATA

KOTA MALANG MENGGUNAKAN GIS DENGAN

FUNGSI SHORTEST PATH ASTAR

Dengan ini menyatakan bahwa :

1. Isi dari tugas Akhir yang saya buat adalah benar-benar karya sendiri dan

tidak menjiplak karya orang lain, selain nama-nama termaktub di isi dan

tertulis di daftar pustaka dalam Skripsi ini.

2. Apabila dikemudian hari ternyata Skripsi saya tulis terbukti hasil jiplakan,

maka saya akan bersedia menanggung segala resiko yang akan saya

terima.

Demikian pernyataan ini dibuat dengan segala kesadaran.

Malang, 17 April 2009

Yang menyatakan,

Muhammad Muttaqin

NIM. 04550078

Page 8: gis rute pendek.pdf

vii

KATA PENGANTAR

Puji syukur kehadirat Allah SWT yang telah memberikan iman, kekuatan,

kesehatan, semangat yang tinggi, serta semua kekayaan, nikmat dan karunia yang

telah dilimpahkan kepada penulis sehingga penulis dapat menyelesaikan karya

ilmiah dengan judul “PENENTU RUTE TERPENDEK PARIWISATA KOTA

MALANG MENGGUNAKAN GIS DENGAN FUNGSI SHORTEST PATH

ASTAR”. Penelitian ini dimaksudkan untuk memenuhi salah satu syarat dalam

meraih gelar Sarjana Komputer di Fakultas Sains dan Teknologi Universitas Islam

Negeri (UIN) Malang.

Sholawat dan salam penulis sampaikan kepada Nabi muhammad SAW,

lewat perjuangannya penulis bisa merasakan nikmatnya iman dan Islam.

Alhamdulillah penulis bisa menyelesaikan skripsi ini, meskipun penulis

menyadari masih banyak kekurangan. Sejak awal sampai dengan akhir penulisan

ini, tidak sedikit bantuan yang penulis terima sehingga dalam kesempatan ini

penulis ingin menyampaikan terima kasih kepada :

1. Allah SWT yang telah memberikan Berkah, Rahmat dan Hidayah-Nya

hingga terselesaikannya tugas akhir ini.

2. Bapak Prof. Dr. Imam Suprayoga, selaku rektor Universitas Islam Negeri

(UIN) Malang.

3. Bapak Dr. Sutiman, selaku dekan Fakultas Sains dan Teknologi

Universitas Islam Negeri (UIN) Malang.

Page 9: gis rute pendek.pdf

viii

4. Bapak Suhartono, M.Kom selaku ketua jurusan Teknik Informatika

Fakultas Sains Dan Teknologi Universitas Islam Negeri (UIN) Malang.

5. Bapak Syahiduzzaman, M.Kom. selaku dosen pembimbing dalam

pengerjaan tugas akhir ini yang telah memberikan kritik, saran,

kemudahan dan kepercayaan dalam pengerjaan tugas akhir ini.

6. Bapak M. Ainul Yaqin, M. Kom. selaku dosen pembimbing integrasi sains

dan Islam Universitas Islam Negeri (UIN) Malang, yang telah memberi

masukan, saran serta bimbingan dalam proses menyelesaikan skripsi ini.

7. Terimakasih kepada kedua orang tuaku yang telah memberikan segalanya,

demi untuk keberhasilan dan kebaikan penulis. Orang tuaku: inspirator dan

motivatorku.

8. Terimakasih buat ketiga mbakku (mabak coen, mbak imah, mbak nur)

sekeluarga, kedua kakakku (kak qodir n family, kak uqis), adikku (iin), lek

darso (alm) sekeluarga, afroyin, arum, fariz dan semua familyku yang

tidak bisa kusebutkan satu persatu.

9. Teman-teman Teknik Informatika, Zaenal Arifin, S.Kom, Tri Syawal,

S.Kom, Ivana Varita, S.Kom yang telah memberikan bantuan dalam

menyelesaikan tugas akhir ini.

10. Anak-anak Teknik Informatika yang juga teman bermain dan belajar,

brutus, bdmn arif, bledus, c4tour, cepung, jekri, kupret, figi, pardoyo,

pelor, puma, surmani, sontol, dan teman-teman yang lainnya, terimakasih

atas tambahan pengalamannya.

Page 10: gis rute pendek.pdf

ix

11. Tidak lupa juga semua teman-teman kosan KL-27 (dedy boun-dead, faiz

k-cong, mbah Rooney, Mir-I, baba Ucok, elvan) yang telah banyak

memberikan motivasi dan penyegaran di hati.

12. Dan semua pihak yang tidak dapat saya sebutkan satu-persatu, kami

ucapkan terimakasih banyak atas bantuan, dan motifasinya.

Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, oleh

karena itu kritik dan saran yang sifatnya membangun sangat diperlukan untuk

memperbaiki mutu penulisan selanjutnya dan juga kebaikan penulis secara

pribadi.

Malang, 17 April 2009

Page 11: gis rute pendek.pdf

x

DAFTAR ISI

Halaman

HALAMAN JUDUL ...................................................................................... i

HALAMAN PERSETUJUAN ......................................................................... ii

HALAMAN PENGESAHAN ......................................................................... iii

MOTTO ........................................................................................................... iv

LEMBAR PERSEMBAHAN .......................................................................... v

LEMBAR PERNYATAAN ............................................................................. vi

KATA PENGANTAR ..................................................................................... vii

DAFTAR ISI .................................................................................................... x

DAFTAR GAMBAR ....................................................................................... xii

DAFTAR TABEL ............................................................................................ xiii

DAFTAR LAMPIRAN .................................................................................... xiv

ABSTRAK ...................................................................................................... xv

BAB I PENDAHULUAN 1.1 Latar Belakang ......................................................................... 1

1.2 Rumusan Masalah .................................................................... 7

1.3 Batasan Masalah ...................................................................... 7

1.4 Tujuan Penelitian ..................................................................... 8

1.5 Manfaat Penelitian ................................................................... 8

1.6 Metode Penelitian .................................................................... 9

1.7 Sistematika Penulisan .............................................................. 10

BAB II LANDASAN TEORI 2.1 Profil Geografis Kota Malang .................................................. 12

2.1.1 Letak Geografis ............................................................. 12

2.1.2 Iklim .............................................................................. 12

2.1.3 Keadaan Geologi ........................................................... 13

2.1.4 Jenis Tanah .................................................................... 13

2.2 Sistem Informasi Geografis ..................................................... 13

2.3 Agoritma A Star ....................................................................... 18

2.3.1 Deskripsi Algoritma Astar ............................................. 21

2.3.2 Sifat Algoritma Astar .................................................... 22

2.3.3 Kompleksitas ................................................................. 23

2.3.4 Fungsi-fungsi heuristik .................................................. 23

2.4 ArcView ................................................................................... 24

2.5 Web Sistem Informasi Geografis ............................................. 29

2.6 MapServer ................................................................................ 33

2.7 Chameleon ............................................................................... 38

2.7.1 Pengenalan Chameleon ................................................... 38

2.7.2 Menggunakan Fungi Chameleon .................................... 39

2.8 MapScript ................................................................................. 40

2.8.1 MapScript Environment ................................................... 40

2.9.2 Map File ........................................................................... 41

2.9.3 MapScript Objek .............................................................. 43

2.9 PostgreSQL ............................................................................... 45

2.10 PostGIS .................................................................................. 51

Page 12: gis rute pendek.pdf

xi

2.11 PgRouting ............................................................................... 52

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 Analisis Sistem ......................................................................... 53

3.1.1 Analisis Kebutuhan Sistem ............................................. 53

3.1.2 Spesifikasi Aplikasi ........................................................ 55

3.1.3 Lingkungan operasi ......................................................... 55

3.2 Perancangan Sistem ................................................................. 57

3.3 Perancangan Aplikasi web Penentu Rute Terpendek .............. 58

3.3.1 Perancangan Modul Aplikasi .......................................... 58

3.3.1.1 Modul Aplikasi Peta ............................................ 58

3.3.1.2 Modul Aplikasi Web ............................................ 60

3.3.2 Perancangan Basis Data .................................................. 61

BAB IV HASIL DAN PEMBAHASAN 4.1 Implementasi ............................................................................ 75

4.1.1 Ruang lingkup Perangkat Keras ...................................... 75

4.1.2 Ruang lingkup Perangkat Lunak ..................................... 76

4.1.3 Implemantasi Database ................................................... 76

4.1.4 Implementasi Antarmuka ................................................ 79

4.2 Pembahasan .............................................................................. 85

4.2.1 Input Data ......................................................................... 85

4.2.2 Pencarian Rute Terpendek Menggunakan Fungsi Astar .. 88

4.2.3 Edit Data .......................................................................... 94

4.2.3 Tampilan Peta ................................................................. 98

BAB V PENUTUP 5.1 Kesimpulan .............................................................................. 107

5.2 Saran ........................................................................................ 108

DAFTAR PUSTAKA

LAMPIRAN

Page 13: gis rute pendek.pdf

xii

DAFTAR GAMBAR

Halaman

Gambar 2.1 Arsitektur WEB SIG ................................................................. 30

Gambar 2.2 perbandingan Thin dan

Thick Sistem Pada Sistem Clien Server .............................................. 31

Gambar 2.3 Arsitektur Peta Dalam Halaman Web ....................................... 35

Gambar 2.4 Arsitektur Mapserver ................................................................ 37

Gambar 2.5 Konfigurasi Chameleon

yang digunakan dengan MapServer ................................................... 38

Gambar 2.6 Proses Mapscript Pada Web Server .......................................... 40

Gambar 2.7 Cara kerja modul pgRouting ..................................................... 52

Gambar 3.1 Alur proses modul visualisasi data Peta .................................... 59

Gambar 3.2 Alur kerja modul query posisi ................................................... 60

Gambar 3.3 Blok Diagram Database ............................................................ 61

Gambar 3.4 Simbol Dalam DFD .................................................................. 62

Gambar 3.5 Konteks Diagram Penentu Rute Terpendek .............................. 62

Gambar 3.6 DFD Level 1 Penentu Rute Terpendek ..................................... 64

Gambar 3.7 DFD Level 2 Subproses peta .................................................... 65

Gambar 3.8 DFD Level 3 sub proses form_rute_terpendek ........................ 66

Gambar 3.9 DFD Level 3 Subproses web_GIS Penentu rute terpendek ...... 66

Gambar 3.10 DFD Level 2 Subproses Administrator ................................... 67

Gambar 3.11 DFD Level 2 sub proses Informasi ......................................... 68

Gambar 3.12 ERD Penentu Rute Terpendek Wisata Kota Malang .............. 69

Gambar 4.1 Diagram Konversi Data ............................................................ 77

Gambar 4.2 Menu Utama Admin ................................................................. 81

Gambar 4.3 Halaman Utama Untuk User ..................................................... 82

Gambar 4.4 Halaman Utama Untuk Pengunjung.......................................... 84

Gambar 4.5 Form Input Objek Wisata Kedalam Peta .................................. 85

Gambar 4.6 Form Input Informasi Objek Wisata ......................................... 86

Gambar 4.7 Form Tambah Modul ................................................................ 88

Gambar 4.8 Form Rute A star ....................................................................... 89

Gambar 4.9 Form Hasil Pencarian Rute Terpendek A Star .......................... 91

Gambar 4.10 Preview Rute Terpendek A Star ............................................. 94

Gambar 4.11 Form Edit Informasi Obyek Wisata ........................................ 95

Gambar 4.12 Form Edit Posisi Obyek Wisata .............................................. 97

Gambar 4.13 Form Edit Data Jalan ............................................................... 98

Gambar 4.14 Form Edit Modul ..................................................................... 98

Gambar 4.15 Form Edit Pengumuman ......................................................... 99

Gambar 4.16 Tampilan Halaman Peta .......................................................... 99

Gambar 4.17 Hasi Querry Pada Data Jalan .................................................. 101

Page 14: gis rute pendek.pdf

xiii

DAFTAR TABEL

Halaman

Table 2.1 Prinsi-prinsip Pengembangan SIG ...................................................... 30

Tabel 3.1 vertice_tmp ......................................................................................... 70

Tabel 3.2 geometry_columns .............................................................................. 71

Tabel 3.3 spatial_ref_sys .................................................................................... 71

Tabel 3.4 Users ................................................................................................... 71

Tabel 3.5 Agenda ................................................................................................ 71

Tabel 3.6 Benner ................................................................................................. 71

Table 3.7 Hubungi .............................................................................................. 72

Tabel 3.8 berita ................................................................................................... 72

Tabel 3.9 modul .................................................................................................. 72

Tabel 3.10 pengumuman ..................................................................................... 73

Tabel 3.11 lokasiwisata ....................................................................................... 73

Tabel 3.12 asjalan ............................................................................................... 73

Tabel 3.13 kecamatan ......................................................................................... 74

Tabel 3.14 wst ..................................................................................................... 74

Tabel 3.15 astar_result ........................................................................................ 74

Page 15: gis rute pendek.pdf

xiv

DAFTAR LAMPIRAN

1. Lampiran A Instalasi Program

Instalasi Mapserver dan PostgreSQL ................................................... 111

Eksport data jalan dengan shp2pgsql ................................................... 120

Skrip routing core (A Star) .................................................................. 121

Skrip routing core_wrapper (A Star) .................................................. 122

2. Lampiran B Perijinan Penelitian…………………………………………. 132

Page 16: gis rute pendek.pdf

xv

ABSTRAK

Muttaqin, Muhammad. 2009. 04550078. Penentu Rute Terpendek Pariwisata Kota

Malang Menggunakan GIS Dengan Fungsi Shortest Path Astar.

Pembimbing : (I) Syahiduzzaman, M.Kom, (II) M. Ainul Yaqin, M.Kom.

Kata Kunci : Sistem Informasi Geografis, Mapserver, PostgreSQL/PostGIS,

Shortest Path Astar, pgRouting.

Sistem informasi geografis sebagai salah satu bidang ilmu yang tergolong

baru, saat ini telah mampu menyelesaikan permasalahan routing, baik untuk

masalah pencarian rute terpendek (shortest path), maupun masalah TSP (travelling

salesman problem). Saat ini banyak dikembangkan aplikasi-aplikasi GIS baik

yang berbasis desktop maupun berbasis web dalam berbagai bidang, seperti GIS

untuk perencanaan tata ruang wilayah, GIS untuk pertanian, perdagangan, dan

lain-lain. Namun demikian masih sedikit sekali pengembangan aplikasi GIS yang

mampu menyelesaikan masalah perutean (routing) pada peta geografis, hal ini

dimungkinkan karena masih sedikitnya referensi mengenai masalah routing untuk

peta geografis.

Dalam skripsi ini akan dibangun aplikasi web-based GIS untuk

menentukan rute terpendek pariwisata di kota malang, sehingga nantinya sistem

aplikasi ini dapat membantu wisatawan untuk mengetahui jalan terpendek yang

harus dilewati dari satu obyek wisata menuju obyek wisata yang lainnya. Aplikasi

penentu rute terpendek ini dibuat menggunakan fungsi shortest path astar yang

dimiliki modul pgRouting, yang merupakan fungsi tambahan dari

PostgreSQL/PostGIS untuk menangani masalah routing pada peta geografis.

Aplikasi ini juga menggunakan mapscript sebagai modul yang digunakan untuk

membuat fungsi dan class MapServer agar dapat dijalankan di PHP. Sedangkan

MapServer sendiri adalah sebuah layanan untuk memproses dan menampilkan

data spasial yang berasal dari database. Untuk sistem manajemen basisdatanya,

digunakan DBMS PostgreSQL/PostGis yang sudah mendukung tipe data spasial.

Page 17: gis rute pendek.pdf

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

“Tidakkah kamu perhatikan Sesungguhnya Allah Telah menundukkan

untuk (kepentingan)mu apa yang di langit dan apa yang di bumi dan

menyempurnakan untukmu nikmat-Nya lahir dan batin. dan di antara manusia

ada yang membantah tentang (keesaan) Allah tanpa ilmu pengetahuan atau

petunjuk dan tanpa Kitab yang memberi penerangan”.(QS. Luqman, 31: 20)

Segala nikmat yang terhampar bersumber dari-Nya. Karena itu, seseorang

tidak boleh sombong, tidak juga menyebut-nyebut kelebihan yang diperolehnya,

karena Allah dapat saja mencabut darinya dan memberi kepada siapa yang Dia

hina dan lecehkan . Dari sini, ayat diatas berlanjut menyatakan: Tidakkah engkau

wahai Nabi Muhammad atau siapa saja melihat dan memperhatikan bahwa

sesungguhnya Allah telah menundukkan untuk kepentingan kamu apa yang ada

dilangit seperti udara, matahari, bulan, bintang-bintang, angin dan sebagainya dan

menundukkan juga untuk kemaslahatan kamu apa yang ada di bumi seperti

gunung-gunung, tumbuh-tumbuhan, laut dan sungai serta segala isinya. Dan

disamping itu, Dia menyempurnakan serta menganugerahkan secara luas bagi

kamu nikmat-Nya yang lahir seperti kesehatan dan kelengkapan anggota tubuh,

harta benda, kedudukan, dan keturunan dan, juga nikmat-Nya yang batin seperti

ketenangan batin dan kedamaian, optimisme, akal, emosi, dan lain-lain. Dia yang

Page 18: gis rute pendek.pdf

2

menundukkan dan menganugerahkan kepada kamu semua itu, berkuasa juga

mencabut semua atau sebagian dari nikmat-nikmat itu. Karena itu janganlah

angkuh, jangan juga berbangga melampaui batas, apalagi mempersekutukan Allah

dan menyembah selain-Nya.

Penundukan dan penganugerahan nikmat-nikmat itu demikian jelas,

namun manusia berbeda-beda dalam menyambutnya. Ada di antara kamu yang

patuh kepada Allah serta mengakui keEsaan-Nya, serta mensyukuri nikmat-

nikmat itu. Dan di antara manusia ada yang membantah tentang keEsaan, agama,

dan tuntunan Allah dengan bantahan tanpa dasar ilmu pengetahuan yang

diperolehnya dari siapapun yang memiliki otoritas, baik secara langsung maupun

tertulis. Bahkan dia membantah setelah ilmu membuktikan kebatilan

pandangannya, atau membantah tanpa berdasarkan petunjuk, yakni hasil

pengembangan nalar atau jiwanya yang suci dan objektif atau tanpa kitab yang

bercahaya yakni keterangan kitab suci yang dapat dijadikan pelita hidup serta

memberi penerangan kepada kebenaran.

Kata sakhkhara berarti menundukkan sesuatu sehingga melakukan apa

yang dikehendaki oleh yang menundukkannya. Sama seperti pena yang

ditundukkan oleh seorang penulis. Ia akan menulis sesuai kehendak penulisnya,

yang menundukkan alam raya adalah Allah SWT, penundukannya untuk manusia.

Allah menundukkan dengan menciptakan hukum-hukum alam, lalu manusia

diilhami-Nya pengetahuan sehingga mampu menggunakan hukum-hukum alam

itu untuk menjadikan alam dapat melakukan apa yang dikehendaki namusia atas

izin Allah SWT. Selanjutnya karena penundukan Allah itu dimaksudkan-Nya

untuk kepentingan manusia, maka Allah memberi kewenangan dan kemampuan

Page 19: gis rute pendek.pdf

3

untuk mengelola alam raya. Dia Yang Maha Kuasa itu memerintahkan manusia

untuk mengelola sesuai konsep yang dikehendaki-Nya. Namun dalam saat yang

sama, konsep itu merupakan ujian buat manusia. Dia dapat melaksanakannya dan

untuk itu dia mendapat ganjaran, atau mengabaikannya dan ini mengakibatkan

kesengsaraan paling tidak di akhir nanti. Jadi sekali lagi yang menundukkan

adalah Allah, bukan manusia. (M. Quraish Shihab, 2002).

Dari kutipan ayat dan tafsir diatas dapat diambil suatu penjelasan

bahwasannya dalam ayat tersebut Allah SWT telah menundukkan segala yang ada

di langit dan di bumi sebagai bukti dari sifat Rahman-Nya, dan sekaligus sebagai

penyempurna nikmat yang di berikan kepada semua umat manusia, baik yang

berupa nikmat lahir maupun batin. Untuk itu tugas manusia adalah menggunakan

dengan sebaik-baiknya nikmat yang dianugerahkan allah SWT untuk melakukan

hal-hal yang bermanfaat bagi kehidupan, dalam ayat tersebut allah SWT

memberikan nikmat kepada manusia berupa kewenangan dan kemampuan untuk

mengelola sumber daya alam raya dengan sebaik-baiknya, karena di alam raya ini

terdapat banyak sekali ilmu/pelajaran yang bisa diambil, selain juga terdapat

banyak potensi yang bisa bisa dimanfaatkan untuk kesejahteraan hidup orang

banyak, salah satu pemanfaatan potensi alam adalah pemanfaatan hutan sebagai

suatu sumber daya hayati yang menjadi paru-paru dunia, pemanfaatan alam

sebagai potensi pariwisata dan banyak lagi potensi alam yang bermanfaat bagi

kehidupan. Dalam ayat tersebut juga dijelaskan bahwa manusia dianugerahi allah

SWT akal fikiran, maka hendaknya manusia menggunakan akal fikiran tersebut

untuk menggali ilmu pengetahuan yang ada di alam semesta ini, karena

sesungguhnya semua ciptaan allah pasti memiliki manfaat, dan adalah tugas

Page 20: gis rute pendek.pdf

4

manusia sebagai makhluk yang dianugerahi akal fikiran untuk mencari tahu

manfaat yang ada pada ciptaan allah tersebut. Hal ini sesuai dengan firman allah

SWT pada surat Ar Ra‟d ayat 4 sebagai berikut:

“Dan di bumi ini terdapat bagian-bagian yang berdampingan, dan kebun-

kebun anggur, tanaman-tanaman dan pohon korma yang bercabang dan yang

tidak bercabang, disirami dengan air yang sama. Kami melebihkan sebahagian

tanam-tanaman itu atas sebahagian yang lain tentang rasanya. Sesungguhnya

pada yang demikian itu terdapat tanda-tanda (kebesaran Allah) bagi kaum yang

berfikir.” (QS. Ar Ra‟d, 13:4)

Routing atau perutean adalah kemampuan untuk menunjukkan jalur jalan yang

harus dipilih dari titik A menuju titik B (Riftadi, Muhammad, 2007). Routing pada

peta geografis mempunyai tujuan untuk menentukan jalur yang paling optimal,

yaitu jalur dengan rute terpendek dan biaya terkecil. Routing pada peta geografis

dilakukan karena terdapat beberapa pilihan rute (alternative route) yang bisa

dilalui dengan jarak dan waktu tempuh yang berbeda pada masing-masing rute.

Kota Malang yang merupakan salah satu tujuan wisata di jawa timur adalah kota

dengan kondisi jalan yang mempunyai banyak pilihan rute, kondisi ini

menyebabkan mengapa dilakukan routing terhadap obyek wisata di Kota Malang.

Algoritma dapat didefinisikan sebagai urutan langkah-langkah logis dan

sistematis dalam mencari suatu solusi dari suatu permasalahan yang ada.

Pemecahan suatu masalah pada hakekatnya adalah menemukan langkah-langkah

tertentu yang jika dijalankan akan bisa memecahkan masalah atau dengan kata

Page 21: gis rute pendek.pdf

5

lain bisa memberikan solusi terhadap permasalahan tersebut degan baik dan

benar. Langkah-langkah dalam memecahakan masalah bisa dilakukan dalam

berbagai cara dengan karakteristik yang berbeda-beda dari masing-masing

langkah. Pada program komputer, algoritma terdiri dari sekumpulan langkah-

langkah untuk mencapai suatu tujuan, seperti logika if-then-else maupun

pengulangan suatu tindakan atau langkah dengan loop. Hal ini juga berlaku untuk

mensimulasikan penyelesaian masalah Routing pada peta geografis. Ada banyak

algoritma untuk menetukan jalur optimal pada suatu peta geografis, diantaranya

adalah algoritma dijkstra, algoritma best-first, algoritma shooting-star dan juga

algoritma A Star (A*). Tiap-tiap algoritma tersebut memiliki cara kerja yang

berbeda-beda dalam menemukan solusi yang paling optimal, algoritma dijkstra

bekerja dengan menggunakan suatu fungsi biaya, setiap node yang ada pada peta

akan diperiksa dan dicatat biaya untuk sampai pada setiap node, mulai dari node

awal sampai node akhir sampai ditemukan jalur yang paling optimal, karena harus

memeriksa semua node kesegala arah yang ada, maka kinerja algoritma dijkstra

kurang efektif untuk mencari jalur optimal pada peta dengan banyak jalan (node).

Sedangkan pada algoritma best-search bekerja menggunakan fungsi perkiraan

heuristic yaitu memprioritaskan pemeriksaan node-node yang menurut berada

pada arah yang benar. Karena hanya menggunakan fungsi heuristic dengan tanpa

memperhitungkan biaya untuk menuju suatu node, jalur yang ditemukan dengan

algoritma ini mungkin adalah jalur terpendek, tetapi belum tentu jalur tersebut

memiliki biaya terkecil (Anonymous2, 2000).

Algoritma A Star adalah suatu algoritma pencarian untuk graf. algoritma yang

menggabungkan algoritma dijkstra dan algoritma best-search untuk

Page 22: gis rute pendek.pdf

6

mengkompensasikan kelemahan-kelemahan dari masing-masing algoritma

(Anonymous2, 2000). Selain menghitung biaya yang diperlukan untuk berjalan

dari satu node ke node lainnya, algoritma A Star juga menggunakan fungsi

heuristic untuk memprioritaskan node-node pada arah yang benar. Dengan

digunakannya fungsi heuristik (biasa disimbolkan dengan algoritma A Star dapat

memfokuskan pencarian pada node-node yang berada pada arah yang mendekati

node tujuan, kemudian pencarian dapat diterminasikan pada waktu node tujuan

diperiksa, hal ini dapat meminimalkan jumlah node yang harus diperiksa dan

karena waktu yang diperlukan untuk mendapatkan jalur berbanding lurus dengan

jumlah node yang harus diperiksa, maka waktu pencarianpun juga bisa

diminimalkan.

Sistem informasi geografis sebagai salah satu keilmuan yang bekerja dengan

data yang bereferensi spasial atau keruangan telah mampu mengakomodasi

kegiatan Routing pada peta geografis dengan berbagai program aplikasi berbasis

SIG yang ada. Mapserver dengan modul pgRouting yang dimiliki database

PostgreSQL adalah termasuk program aplikasi freeware untuk menyelesaikan

masalah routing geografis. PgRouting adalah sebuah tools open source yang

menyediakan fungsionalitas routing pada PostgreSQL. pgRouting dapat

digunakan untuk menyelesaikan masalah pencarian jalur terpendek (Shortest

Path) dan juga Travelling Salesman Problem (TSP). Saat ini fungsi bawaan yang

ada pada modul pgRouting adalah fungsi yang menggunakan algoritma dijkstra,

algoritma A Star, algoritma Shooting Star dan fungsi untuk menangani masalah

Travelling Salesman Problem (TSP).

Page 23: gis rute pendek.pdf

7

Aplikasi penentu rute terpendek pariwisata kota malang ini dibuat dengan

fungsi shortest_path_astar yang ada pada modul PgRouting untuk menyelesaikan

masalah pencarian rute terpendek, penggunaan fungsi shortest_path_astar ini,

karena dalam operasinya fungsi ini menggunakan fungsi heuristik sehingga akan

memberikan hasil pencarian rute yang paling efektif dan fungsi

shoertest_path_astar juga lebih efektif jika data yang digunakan adalah data

dengan jumlah yang besar (banyak node). Aplikasi penentu rute terpendek ini

adalah sebuah aplikasi GIS yang berbasis web (web-based GIS) sehingga

memudahkan pengguna dalam menemukan lokasi wisata yang ingin dituju dan

sekaligus menentukan rute perjalanan paling optimal untuk menuju lokasi

tersebut.

1.2 Rumusan Masalah

Melihat pada uraian latar belakang diatas, maka didapat suatu rumusan

masalah tentang bagaimana merancang dan membangun sebauah aplikasi web-

based GIS untuk menentukan rute terpendek pariwisata di kota malang dengan

menggunakan fungsi shortest path astar.

1.3 Batasan Masalah

Untuk menghindari meluasnya pemasalahan dan juga pembahasan mengenai

sistem, maka dalam pembuatan tugas akhir ini penulis memberikan batasan

permasalahan sebagai berikut:

Page 24: gis rute pendek.pdf

8

1. Obyek wisata yang digunakan pada sistem adalah obyek wisata yang ada di

area Kota Malang berdasarkan data dari Dinas Pariwisata, Informasi Dan

Komunikasi Pemerintah Kota Malang tahun 2008.

2. Peta geografis jalan yang digunakan adalah jalan besar (jalan-jalan utama)

saja, tidak termasuk jalan-jalan kecil atau gang.

3. Sistem ini belum memperhatikan kondisi jalan yang ada di kota malang secara

riil/nyata, semua kondisi jalan dianggap jalan satu arah dan tidak

memperhatikan aturan-aturan jalan.

1.4 Tujuan Penelitian

Tujuan dari penyusunan tugas akhir ini adalah merancang dan membangun

sebuah aplikasi SIG berbasis web (web-based GIS) untuk menentukan rute

terpendek pariwisata di kota malang dengan fungsi shortest_path_astar.

1.5 Manfaat Penelitian

Manfaat yang diperoleh dari penelitian ini adalah:

1. Membatu pengguna dalam mencari rute perjalanan paling pendek yang bisa

ditempuh diantara masing-masing obyek wisata di Kota Malang.

2. Sistem ini juga merupakan sistem informasi pariwisata di Kota Malang yang

bisa memberikan informasi tentang obyek-obyek wisata yang ada di Kota

Malang.

3. Memperdalam dan meningkatkan ketrampilan dan kreatifitas diri dalam

lingkungan yang sesuai dengan disiplin ilmu yang dimiliki.

Page 25: gis rute pendek.pdf

9

1.6 Metode Penelitian

Penyusunan laporan penelitian ini dilakukan dengan beberapa metode, yaitu :

a. Persiapan

Yang termasuk dalam persiapan ini adalah diawali dengan penyusunan

proposal, kemudian mengurus surat-surat perijinan untuk keperluan

penelitian.

b. Pengumpulan Data

Kegiatan dalam pengumpulan data meliputi kegiatan-kegiatan sebagai

berikut:

1. Melakukan interview dengan pihak-pihak yang terkait penelitian ini

guna mencari data pendukung.

2. Konsultasi dengan dosen pembimbing dan pihak lain yang mengerti

tentang permasalahan dalam tugas akhir yang penulis kerjakan.

3. Studi Literatur untuk mendapatkan literatur yang berkaitan dengan

masalah system informasi geografis dan juga perutean, baik yang

berupa buku, artikel, maupun jurnal ilmiah.

c. Analisis Data

Menganalisa data yang sudah diperoleh dari hasil interview dan juga data

hasil studi literatur.

d. Perancangan Sistem

Setelah data terkumpul dan dianalisis, tahap selanjutnya adalah melakukan

perancangan sistem yang terdiri dari perancangan database dan

perancangan tampilan program aplikasi (Interface).

Page 26: gis rute pendek.pdf

10

e. Evaluasi Sistem

Sebelum menuju proses pembuatan aplikasi, system yang telah disusun

terlebih dahulu dievaluasi guna mengetahui kekurangan-kekurangan

sementara dari sistem tersebut.

f. Pembuatan Aplikasi

Dalam proses ini dilakukan pembuatan tampilan sistem, pembuatan

basisdata, dan penyusunan coding program.

g. Pengujian Sistem

Dalam tahapan ini, sistem yang telah dibuat akan diuji dengan cara

memasukkan data yang sudah diperoleh. Jika masih terjadi kesalahan

maka akan diperiksa kembali mulai dari perancangan sistem sampai

didapat hasil yang maksimal.

h. Dokumentasi dan Penyusunan Laporan

Setelah dilakukan pengujian system, tahap selanjutnya dalam pembuatan

tugas akhir ini adalah penyusunan laporan penelitian, selain sebagai

dokumentasi, juga sebagai pelaporan kegiatan-kegiatan yang dikerjakan

selama penelitian.

1.7 Sistematika Penulisan

BAB I Pendahuluan

Bab ini berisi latar belakang, perumusan masalah, tujuan, batasan

masalah dan metodologi penelitian tugas akhir ini.

Page 27: gis rute pendek.pdf

11

BAB II Landasan Teori

Bab ini menjelaskan konsep dan teori dasar yang mendukung

penulisan tugas akhir ini seperti menjalankan modul pgRouting

menggunakan fungsi shortest_path_astar, Sistem Informasi

Geografis, PHP/MapScript, Mapserver, PostrgreSQL/PostGIS.

BAB III Analisis Dan Perancangan Aplikasi

Bab ini menjelaskan mengenai analisis dan perancangan Aplikasi

Penentu Rute Terpendek Pariwisata di Kota Malang Menggunakan

GIS dengan fungsi shortest_path_astar secara keseluruhan.

BAB IV Hasil Dan Pembahasan

Bab ini berisi pengujian terhadap hasil pengujian dari aplikasi yang

telah dibangun.

BAB V Penutup

Bab ini berisi kesimpulan dan saran terhadap seluruh kegiatan

tugas akhir yang telah dilakukan.

Page 28: gis rute pendek.pdf

12

BAB II

LANDASAN TEORI

2.1 Profil Geografis Kota Malang

2.1.1 Letak Geografis

Terletak pada ketinggian antara 440 - 667 Meter diatas permukaan air

laut. 112,06° - 112,07° Bujur Timur dan 7,06° - 8,02° Lintang Selatan, dengan

dikelilingi gunung-gunung :

a) Gunung Arjuno di sebelah Utara

b) Gunung Semeru di sebelah Timur

c) Gunung Kawi dan Panderman di sebelah Barat

d) Gunung Kelud di sebelah Selatan

2.1.2 Iklim

Kondisi iklim Kota Malang selama tahun 2006 tercatat rata-rata suhu

udara berkisar antara 22,2°C - 24,5°C. Sedangkan suhu maksimum mencapai

32,3°C dan suhu minimum 17,8°C . Rata-rata kelembaban udara berkisar

antara 74% - 82%. dengan kelembaban maksimum 97% dan minimum

mencapai 37%. Seperti umumnya daerah lain di Indonesia, Kota Malang

mengikuti perubahan putaran 2 iklim, musim hujan, dan musim kemarau. Dari

hasil pengamatan Stasiun Klimatologi Karangploso, curah hujan yang relatif

tinggi terjadi pada bulan Januari, Februari, Maret, April, dan Desember.

Sedangkan pada bulan Juni, Agustus, dan Nopember curah hujan relatif

rendah.

Page 29: gis rute pendek.pdf

13

2.1.3 Keadaan Geologi

Keadaan tanah di wilayah Kota Malang antara lain:

a) Bagian selatan termasuk dataran tinggi yang cukup luas, cocok untuk

industri.

b) Bagian utara termasuk dataran tinggi yang subur, cocok untuk pertanian

c) Bagian timur merupakan dataran tinggi dengan keadaan kurang kurang

subur

d) Bagian barat merupakan dataran tinggi yangf amat luas menjadi daerah

pendidikan

2.1.4 Jenis Tanah

Jenis tanah di wilayah Kota Malang ada 4 macam, antara lain:

a) Alluvial kelabu kehitaman dengan luas 6,930,267 Ha.

b) Mediteran coklat dengan luas 1.225.160 Ha.

c) Asosiasi latosol coklat kemerahan grey coklat dengan luas 1.942.160 Ha.

d) Asosiasi andosol coklat dan grey humus dengan luas 1.765,160 Ha.

Struktur tanah pada umumnya relatif baik, akan tetapi yang perlu

mendapatkan perhatian adalah penggunaan jenis tanah andosol yang memiliki

sifat peka erosi. Jenis tanah andosol ini terdapat di Kecamatan lowokwaru

dengan relatif kemiringan sekitar 15 %. (Anonymous6).

2.2 Sistem Informasi Geografis

Geografi adalah informasi mengenai permukaan bumi dan semua objek yang

berada diatasnya, yang menjadi kerangka bagi pengaturan dan pengorganisasian

Page 30: gis rute pendek.pdf

14

bagi semua tindakan selanjutnya. Menurut Richthhofen, Geographic adalah ilmu

yang mempelajari permukaan bumi sesuai dengan referensi, atau studi mengenai

area-area yang berbeda di permukaan bumi (Anonymous1). Dalam surat Yunus

ayat 5 allah menjelaskan tanda-tanda kebesarannya dengan diciptakannya

matahari dan bulan serta peredarannya pada garis lintang dan bujur bumi,

sehingga dengannya dapat ditentukan waktu siang dan malam, dan juga dapat

ditentukan perhitungan tahun.

“Dia-lah yang menjadikan matahari bersinar dan bulan bercahaya dan

ditetapkan-Nya manzilah-manzilah (tempat-tempat) bagi perjalanan bulan itu,

supaya kamu mengetahui bilangan tahun dan perhitungan (waktu). Allah tidak

menciptakan yang demikian itu melainkan dengan hak. dia menjelaskan tanda-

tanda (kebesaran-Nya) kepada orang-orang yang Mengetahui.” (QS. Yunus, 10:

5).

Kutipan ayat diatas menjelaskan bahwa semua yang diciptakan Allah adalah

bermanfaat dan mengandung hikmah, diantaranya adalah matahari dan bulan.

Selain merupakan sumber energi utama di bumi, matahari dan bulan juga bisa

dijadikan sebagai suatu penanda dalam mengetahui bilangan tahun dan bulan.

Pada zaman yunani kuno para ilmuan telah menggunakan matahari untuk

menghitung jarak antara dua buah tempat yang berjauhan. Dengan matahari pula

para ilmuan yunani kuno telah berhasil menghitung diameter bumi, walaupun

tingkat akurasi kebenarannya masih rendah. (Allamah Kamal Fiqih dan Tim

Ulama: 2006).

Page 31: gis rute pendek.pdf

15

Demikian kutipan ayat yang menerangkan tentang ilmu geografi atau

tentang bumi dan semua obyek yang ada diatasnya (matahari dan bulan).

Sementara itu SIG merupakan teknologi untuk mengelola, menganalisa dan

menyebarkan informsi geografis. Sistem Informasi Geografi yang selanjutnya

disebut dengan SIG, pertama kali dikenal pada awal tahun 1980 dan mulai

berkembang pesat sekitar tahun 1990, seiring dengan perkembangan perangkat

komputer, baik perangkat lunak (software) maupun perangkat keras (hardware).

Pengertian Sistem Informasi Geografis atau lebih dikenal dengan istilah

Geographical Information System jika ditinjau dari asal suku katanya dapat

diuraikan sebagai berikut:

1. Geography

Istilah ini digunakan karena SIG dibangun berdasarkan pada keadaan

geografis atau spasial. Obyek ini mengarah pada spesifikasi lokasi dalam

suatu daerah. Obyek dapat berupa fisik, budaya, ekonomi, dan alamiah.

Penampakan tersebut ditampilkan pada suatu peta untuk memberikan

gambaran yang representatif dari spasial suatu obyek sesuai dengan kenyataan

di bumi. Simbol, warna dan garis digunakan untuk mewakili setiap spasial

yang berada pada peta dua dimensi. Saat ini teknologi komputer telah mampu

membantu proses pemetaan mulai pengembangan dari pembuatan peta

Aoutomated Cartography dan Computer Aided Design (CAD).

2. Information

Informasi merupakan hasil pengolahan dari sejumlah data. Dalam SIG

informasi memiliki volume terbesar. Setiap obyek geografi memiliki

pengaturan data tersendiri karena tidak sepenuhnya data yang ada dapat

Page 32: gis rute pendek.pdf

16

terwakili dalam peta. Jadi, semua data harus diasosiasikan dengan obyek

spasial yang dapat membuat peta menjadi lebih informatif. Ketika data

tersebut diasosiasikan dengan permukaan geografi yang representatif, data

tersebut mampu memberikan informasi dengan hanya mengklik obyek. Dalam

SIG semua informasi adalah data, tetapi tidak semua data adalah informasi.

3. System

Pengertian system adalah kumpulan elemen-elemen yang saling

berintegrasi dan berinterdependensi dalam lingkungan yang dinamis untuk

mencapai tujuan tertentu. Istilah ini digunakan untuk mewakili pendekatan

sistem yang digunakan dalam SIG, dengan lingkungan yang kompleks dan

komponen yang terpisah-pisah, sistem digunakan untuk mempermudah

pemahaman dan penanganan yang terintegrasi. Teknologi komputer sangat

dibutuhkan dalam pendekatan ini, jadi hampir semua sistem informasi

berdasarkan pada komputer.

Definisi SIG selalu berubah karena SIG merupakan bidang kajian ilmu dan

teknologi yang tergolong baru. Dari uraian pengertian diatas dapat diambil

beberapa definisi SIG yaitu:

1. SIG adalah sistem komputer yang digunakan untuk memasukkan,

menyimpan, memeriksa, mengintegrasikan, memanipulasi, menganalisa,

dan menampilakan data yang berhubungan dengan posisi-posisi

permukaan bumi

2. Sistem yang dapat mendukung pengambilan keputusan spasial dan mampu

mengintegrasikan deskripsi-deskripsi lokasi dengan karakteristik yang

ditemukan di suatu lokasi

Page 33: gis rute pendek.pdf

17

3. SIG adalah kombinasi perangkat lunak dan perangkat keras komputer yang

memungkinkan untuk mengelola, memetakan informasi spasial berikut

data atributnya dengan akurasi kartografi. SIG adalah sistem yang terdiri

dari berbagai komponen yang tidak dapat berdiri sendiri, SIG hanyalah

sebuah „alat‟ yang mempunyai kemampuan khusus, kemampuan sumber

daya manusia untuk memformulasikan persoalan dan menganalisa hasil

akhir sangat berperan dalam keberhasilan sistem SIG.

SIG dapat diuraikan menjadi beberapa subsistem sebagai berikut:

1. Data Input: Subsistem ini bertugas untuk mengumpulkan dan

mempersiapkan data spasial dan atribut dari berbagai sumber. Subsistem

ini pula yang bertanggung jawab dalam mengkonversi atau

mentransformasikan format-format data aslinya kedalam format yang

dapat digunakan oleh SIG.

2. Data Output: subsistem ini menampilkan atau menghasilkan keluaran

seluruh atau sebagian basisdata baik dalam bentuk softcopy maupun

bentuk hardcopy seperti: tabel, grafik, peta, dan lain-lain.

3. Data Management: subsistem ini mengorganisasikan baik data spasial

maupun data atribut kedalam sebuah basisdata sedemikian rupa sehingga

mudah dipanggil, di-update, dan di-edit.

4. Analisis dan manipulasi data: subsistem ini menentukan informasi-

informasi yang dapat dihasilkan oleh SIG. Selain itu, subsistem ini juga

melakukan manipulasi dan pemodelan data untuk menghasilkan informasi

yang diharapkan.

Page 34: gis rute pendek.pdf

18

Cara kerja SIG adalah dengan mempresentasikan real world (dunia nyata)

diatas monitor komputer sebagaimana lembaran peta dapat mempresentasikan

dunia nyata diatas kertas. Tetapi SIG memiliki kekuatan dan fleksibilitas lebih

daripada lembaran Peta kertas. Peta merupakan representasi grafis dari dunia

nyata, obyek-obyek yang dipresentasikan diatas peta disebut unsur peta atau map

features (contoh: sungai, taman, kebun, jalan, dan lain-lain). Karena peta

mengorganisasikan unsur-unsur berdasarkan lokasi-lokasinya, maka peta sangat

baik dalam memperlihatkan hubungan atau relasi yang dimiliki oleh unsur-

unsurnya.

2.3 Algoritma AStar (A*)

Algoritma dapat dikatakan sebagai urutan langkah-langkah logis yang

sistematis dalam mencari suatu solusi dari suatu permasalahan yang ada (Wahid,

Fathul. 2004). Dari pengertian tersebut dapat pula dikatakan bahwa tujuan dari

penggunaan algoritma adalah untuk mendapatkan petunjuk dalam menyelesaikan

suatu permasalahan, hal ini sesuai dengan firman Allah dalam surat Thahaa ayat

50 berikut ini,

“Tuhan kami ialah (tuhan) yang telah memberikan kepada tiap-tiap sesuatu

bentuk kejadiannya, kemudian memberinya petunjuk”. (QS. Thahaa: 50).

Dalam ayat tersebut dijelaskan bahwa Allah memberikan petunjuk pada

tiap-tiap bentuk kejadian, jadi dapat dikatakan bahwa setiap perkara yang terjadi

pasti ada petunjuk atau hikmah yang terkandung didalamnya. Dan Allah akan

Page 35: gis rute pendek.pdf

19

senantiasa memberikan pertolongan dan petunjuk kepada hambanya yang taat.

Dalam ayat yang lain allah berfirman,

“Dan dialah yang menjadikan bintang-bintang bagimu, agar kamu

menjadikannya petunjuk dalam kegelapan di darat dan di laut. Sesungguhnya

kami Telah menjelaskan tanda-tanda kebesaran (kami) kepada orang-orang yang

Mengetahui.”(QS. Al An'am, 6: 97).

Allah SWT telah menciptakan bintang-bintang untuk keperluan manusia

yang dengan itu bisa mengambil manfaat dari cahayanya, kemunculannya, dan

posisinya di kegelapan malam, ketika manusia berada di tengah padang pasir dan

lautan sehingga bisa menemukan jalan dalam pengembaraan. Sebagian berada di

depan kita dan sebagian lagi berada di belakang, di kiri dan di kanan. Bintang-

bintang itu menjadi petunjuk bagi orang-orang yang bepergian menuju kota-kota,

mencari arah Ka`bah, mengenali waktu di malam hari, dan menemukan arah jalan

di padang pasir dan lautan.

Al-Balkhi, seorang penafsir, menyatakan bahwa kalimat ... agar kamu

menjadikannya petunjuk dalam kegelapan… bukan berarti bintang-bintang

diciptakan hanya untuk memberi petunjuk kepada manusia, tetapi Allah telah

menciptakan bintang-bintang untuk banyak manfaat lainnya. Apabila seseorang

merenung dan memperhatikan bintang-bintang yang kecil dan besar, dimana

posisi mereka, orbit, hubungan dan gerakan mereka, dan juga memperhatikan

manfaat matahari dan bulan serta bagaiman amereka bermanfaat dalam

kehidupan, pertumbuhan, perkembangan hewan, tumbuhan, pernyataan suci ini

akan terbukti baginya. Dalam kitab tafsir Ali bin Ibrahim, disebutkan bahwa

Page 36: gis rute pendek.pdf

20

makna bintang di sini menyatakan, …Sesungguhnya kami Telah menjelaskan

tanda-tanda kebesaran (kami) kepada orang-orang yang Mengetahui.

Artinya, Allah SWT. telah menunjukkan dalam ayat-ayatNya dan

menjelaskan kepada manusia yang memperoleh (ilmu) pengetahuan malalui cara

perenungan. (Allamah Kamal Fiqih dan Tim Ulama: 2006).

Algoritma A* (Admissible Heuristic) adalah strategi best first search yang

menggunakan estimasi solusi biaya terkecil untuk mencapai suatu tujuan dengan

jarak tempuh terdekat dan memiliki nilai heuristik yang digunakan sebagai dasar

pertimbangan. Heuristik adalah kriteria, metoda, atau prinsip-prinsip untuk

menentukan pilihan sejumlah alternatif untuk mencapai sasaran dengan efektif.

Nilai heuristik dipergunakan untuk mempersempit ruang pencarian.

Metoda pencarian A* menghasilkan jalur optimal mulai dari tempat awal

kemudian melalui graph menuju tempat yang dituju. Metode ini berdasarkan

formula: f(n) = g(n) + h(n)

Keterangan :

h(n) = biaya estimasi dari node n ke tujuan.

g(n) = biaya path / perjalanan

f(n) = solusi biaya estimasi termurah node n untuk mencapai tujuan.

(Anonymous5, 2008)

Penggunaan algoritma A* dengan fungsi heuristik yang tepat dapat

memberikan hasil yang optimal. Sebenarnya, Depth-first search (DFS) dan

breadth-first-search (BFS) adalah dua kasus khusus dari algoritma A Star.

Algoritma Dijkstra, salah satu BFS, adalah kasus khusus dari A* dimana h(x) = 0

untuk semua nilai x. Untuk DFS, ciptakan suatu counter global C yang

Page 37: gis rute pendek.pdf

21

diinisialisasi dengan nilai yang sangat besar. Pada setiap langkahnya, periksa

sebuah titik, lalu berikan nilai C ke semua titik yang bertetangga dengan titik tadi.

Setelah tiap-tiap pemberian nilai, kurangi counter C dengan 1. Jadi semakin awal

sebuah titik diproses, semakin tinggi nilai h(x) yang dimilikinya.

2.3.1 Deskripsi algoritma A Star

A Star menyimpan sebuah himpunan solusi parsial, yaitu jalur yang

diambil yang berawal dari titik awal, disimpan dalam sebuah antrian berprioritas

(priority queue). Prioritas yang diberikan pada suatu jalur ditentukan oleh fungsi

f(x) = g(x) + h(x). Disini, g(x) adalah ongkos yang diperlukan sampai ke titik x

sejauh ini, h(x) adalah perkiraan heuristik dari ongkos minimal untuk meraih titik

tujuan dari titik x. Singkat kata, ongkos adalah jarak yang telah ditempuh sejauh

ini, dan panjang garis lurus antara titik x dengan titik akhir adalah perkiraan

heuristiknya. Semakin rendah nilai f(x), semakin tinggi prioritasnya. Berikut

diberikan pseudo-code dari algoritma A Star:

fungsi A*(awal,tujuan)

var himpunan_tertutup <- himpunan_kosong

var q <- buat_antrian(titk_awal)

while (q tidak kosong)

var p <- hapus_elemen_pertama(q)

var x <- titik_akhir_dari_p

if (x = tujuan)

return p

for (tiap y pada suksesor(p))

if (y bukan anggota himpunan_tertutup)

masuk_antrian(q, y)

tambahkan y ke himpunan_tertutup

endif

endfor

endwhile

return tidak_ada_jalur

Disini suksesor (p) mengembalikan sebuah himpunan titik yang

bertetangga dengan p.Diasumsikan bahwa antrian disini menjaga urutan

anggotanya dengan nilai f secara otomatis. Dalam himpunan himpunan_tertutup,

Page 38: gis rute pendek.pdf

22

semua titik akhir dari p (titik dimana masih terdapat jalur) disimpan, untuk

menghindari pengulangan dan pemutaran. Antrian yang digunakan disini juga

biasa disebut sebagai himpunan terbuka. Himpunan tertutup bisa saja dihilangkan

(yang akan menghasilkan algoritma pencarian pada pohon) apabila sebuah solusi

(jalur) telah dijamin keberadaannya, atau apabila fungsi suksesor telah

disesuaikan agar tidak menerima titik yang sudah pernah diperiksa.

2.3.2 Sifat Algoritma A Star

Seperti BFS, A* akan selalu menemukan sebuah solusi, jika memang ada.

Apabila fungsi heuristik h dapat diterima, yang berarti nilai h tidak akan pernah

melebihi ongkos minimal untuk meraih tujuan yang sebenarnya, maka A* sendiri

akan dapat diterima (atau dapat disebut optimal) apabila himpunan tertutup tidak

digunakan. Apabila digunakan sebuah himpunan tertutup, maka h harus monoton

(atau konsisten) agar A* dapat menjadi optimal. Ini berarti fungsi heuristik tidak

akan pernah berlebihan dalam menghitung ongkos dari sebuah titik ke titik

tetangganya. Secara formal, unutuk semua jalur x, y dimana y adalah suksesor

dari x: h(x) ≤ g(y) - g(x) + h(y)

A Star juga dapat dijamin keoptimalannya untuk sembarang heuristik,

yang berarti bahwa tidak ada satupun algoritma lain yang mempergunakan

heuristik yang sama akan mengecek lebih sedikit titik dari A*, kecuali ketika ada

beberapa solusi parsial dimana h dapat dengan tepat memprediksi ongkos jalur

minimal.

2.3.3 Kompleksitas Algortima A Star

Kompleksitas waktu dari A Star sangat bergantung dari heuristik yang

digunakannya. Pada kasus terburuk, jumlah titik yang diperiksa berjumlah

Page 39: gis rute pendek.pdf

23

eksponensial terhadap panjang solusi (jalur terpendek), tetapi A* akan memiliki

kompleksitas waktu polinomial apabila fungsi memenuhi kondisi berikut:

|h(x) - h*(x)| ≤ O(log h*(x)

dimana h* adalah heuristik optimal, yaitu ongkos sebenarnya dari jalur x ke

tujuan. Dengan kata lain, galat dari h tidak akan melaju lebih cepat dari logaritma

dari heuristik optimal h* yang memberikan jarak sebenarnya dari x ke tujuan.

Penggunaan memori dari A* bahkan lebih bermasalah dari kompleksitas

waktunya. Beberapa varian dari A* telah dikembangkan untuk mengatasi

masalah ini, termasuk diantaranya Iterative-Deepening-A*, Memory-Bounded-

A* (MA*) dan Simplified-Memory-Bounded-A* (SMA*) dan Recursive-Best-

First-Search (RBFS). RBFS juga akan memberikan hasil yang optimal apabila

heuristiknya dapat diterima.

2.3.4 Fungsi-fungsi Heuristik untuk Algoritma A Star

Seperti yang telah disebutkan diatas, fungsi heuristik sangat berpengaruh

terhadap kelakuan algoritma A Star:

1. Apabila h(n) selalu bernilai 0, maka hanya g(n) yang akan berperan, dan

A* berubah menjadi Algoritma Dijkstra, yang menjamin selalu akan

menemukan jalur terpendek.

2. Apabila h(n) selalu lebih rendah atau sama dengan ongkos perpindahan

dari titik n ke tujuan, maka A* dijamin akan selalu menemukan jalur

terpendek. Semakin rendah nilai h(n), semakin banyak titik-titik yang

diperiksa A*, membuatnya semakin lambat.

3. Apabila h(n) tepat sama dengan ongkos perpindahan dari n ke tujuan,

maka A* hanya akan mengikuti jalur terbaik dan tidak pernah memeriksa

Page 40: gis rute pendek.pdf

24

satupun titik lainnya, membuatnya sangat cepat. Walaupun hal ini belum

tentu bisa diaplikasikan ke semua kasus, ada beberapa kasus khusus yang

dapat menggunakannya.

4. Apabila h(n) kadangkala lebih besar dari ongkos perpindahan dari n ke

tujuan, maka A* tidak menjamin ditemukannya jalur terpendek, tapi

prosesnya cepat.

5. Apabila h(n) secara relatif jauh lebih besar dari g(n), maka hanya h(n)

yang memainkan peran, dan A* berubah menjadi BFS.

(Riftadi, Muhammad. 2007)

2.4 ArcView

Arcview merupakan salah satu perangkat lunak desktop Sistem Informasi

Geografis dan pemetaan yang telah dikembangkan oleh ESRI (Environmental

System Research Institute, Inc). ArcView memiliki kemampuan-kemampuan

untuk melakukan visualisasi, menjelajahi, menjawab query (baik basisdata spasial

maupun non spasial), menganalisis data secara geografis, dan sebagainya.

Secara umum kemampuan-kemampuan perangkat SIG ArcView dapat

dijabarkan sebagai berikut:

1. Pertukaran data: membaca dan menuliskan data dari dan kedalam format

perangkat lunak SIG lainnya,

a. ArcView dapat membaca data spasial raster yang dituliskan dalam

format-format perangkat lunak SIG dan penginderaan jauh; misalnya:

JPEG, BMP, TIFF, GeoTIFF, BSQ, BIL, BIP, ERDAS, (LAN & GIS),

ERDAS Imagine, GRID ArcInfo (data grid-cell), raster SUN, dan

sebagainya.

Page 41: gis rute pendek.pdf

25

b. ArcView dapat membaca data spasial vector yang dituliskan dalam

format-format perangkat lunak SIG lainnya (import); misalnya ArcInfo

(coverage), MapInfo (MIF), AutoCad (DWG dan DXF), dan

sebagainya.

c. ArcView dapat menuliskan basisdata spasial vektornya (coverage dan

shape files) baik ke dalam format shapes file sendiri maupun kedalam

perangkat lunak SIG lainnya, misalnya MapInfo.

2. Melakukan analisa statistik dan operasi-operasi matematis.

3. Menampilkan informasi (basisdata) spasial maupun atribut.

a. ArcView dapat menampilkan informasi (basisdata dengan format

sendiri) baik yang terdapat pada sistem komputer yang bersangkutan

maupun yang tersebar di jaringan komputer (network).

b. ArcView dapat mengakses dan menampilkan basisdata eksternal.

c. Menampilkan informasi atau data dalam bentuk view (tampilan untuk

dilayar monitor), layout (tata letak format siap cetak), table (tabel

data), chart (grafik).

4. Menjawab query spasial maupun atribut.

a. Menghubungkan informasi spasial dengan atribut-atributnya yang

terdapat (disimpan) didalam basis data atribut: (1) memilih fitur

(entitas) spasial, muncul informasi spasialnya, (2) memilih data atribut

dari basisdata atribut, muncul representasi spasial dari fitur yang

dipilih, (3) memilih data atribut, muncul data atribut-atribut lainnya

yang terdapat didalam basisdata atribut, (4) memilih suatu fitur spasial,

muncul fitur spasial lainnya yang terkait.

Page 42: gis rute pendek.pdf

26

b. Menggunakan SQL sebagai standard untuk melakukan query terhadap

basisdatanya.

5. Melakukan fungsi-fungsi dasar SIG yaitu menyediakan alat bantu analisis

spasial sederhana untuk menjawab pertanyaan-pertanyaan seperti berikut:

(1) berapa jumlah sumur bor yang terdapat disuatu area pertambangan? (2)

berapa jumlah rumah yang terdapat di dalam buffer (area) 50 meter dari

pinggir sungai.

6. Membuat peta tematik.

a. Menyediakan pustaka simbol dan warna (fiturs) untuk pembuatan peta

tematik.

b. Menggunakan pustaka simbol dan warna untuk merepresentasikan

fiturnya berdasarkan atribut-atributnya (membuat peta-peta tematik

turunan).

7. Memodifikasi aplikasi dengan menggunakan bahasa skrip.

Menyediakan bahasa pemrograman sederhana atau skrip (avenue) untuk

mengotomasikan pengoperasian rutin dan meng-customize apliksi-aplikasi

SIG yang dikembangkan dengan perangkat lunak ArcView.

8. Melakukan fungsi-fungsi SIG khusus lainnya (dengan menggunakan

extension yang ditujukan untuk mendukung penggunaan perangkat lunak

SIG ArcView). Adapun ekstensi-ekstensi SIG yang terdapat di ArView

adalah berikut diantaranya:

a. Network Analyst: modul perangkat lunak yang diguakan untuk

melakukan analisis-analisis yang berhubungan dengan jaringan

(Routing).

Page 43: gis rute pendek.pdf

27

b. Internet Map Server (IMS): modul perangkat lunak yang digunakan

untuk mempublikasikan peta (basisdata dijital) ke jaringan internet

(web-based GIS) hingga dapat diakses dengan menggunakan program

browser.

c. 3D Analyst: modul perangkat lunak yang digunakan untuk membuat,

menganalisa, dan menampilkan data spasial tiga dimensi (permukaan

dijital).

d. Tracking Analyst: modul perangkat lunak yang digunakan untuk

perekaman, tampilan, dan pemantauan data – baik secara langsung

(realtime) maupun tidak langsung (playback atau replay) yang

memiliki kecenderungan perubahan posisi geografis dari waktu ke

waktu.

e. Image Analyst: modul perangkat lunak yang dipergunakan untuk

melakukan analisis-analisis yang berhubungan dengan citra dijital

(penginderaan jauh).

ArcView secara default membaca, menggunakan, dan mengolah data spasial

dengan format yang disebut sebagai shapefile. Format yang dikembangkan dan

dipublikasikan oleh ESRI ini digunakan untuk menyimpan informasi-informasi

atribut dan geometri non-topologi fitur spasial di dalam sebuah kumpulan data.

Geometri fitur ini disimpan sebagai shape yang terdiri dari sekumpulan koordinat-

koordinat vektor. Shapefile dapat mendukung representasi bebagai fitur baik titik

(point), garis (line), maupun polygon (area). Setiap fitur polygon

direpresentasikan sebagai loop tertutup. Data atribut disimpan dalam format

Page 44: gis rute pendek.pdf

28

perangkat lunak DBMS Dbase. Setiap record, memiliki relasi one to one terhadap

fitur data spasial yang bersangkutan.

Shapefile ESRI terdiri dari beberapa file: file utama, file indeks, dan sebuah

tabel Dbase. File utama merupakan direct-access, file dengan panjang record

yang bervariasi dimana setiap record-nya mendeskripsikan sebuah shape (fitur)

dengan sebuah list (daftar) verteks-verteksnya. Pada file indeks, setiap record

mengandung offset record file utama yang bersesuaian dari awal ke file utama.

Tabel Dbase berisi atribut-atribut fitur, satu record per fitur. Relasi one to one

antara fitur (geometri) dengan atributnya didasarkan pada nomor record-nya.

Record atribut, urutannya, harus sama sebagaimana di dalam file utama.

Sesuai dengan konvensi penamaannya, file utama, file indeks, dan file

Dbase memiliki nama depan (suffix) yang sama, tetapi nama-nama belakangnya

(suffix atau extension) berbeda. Nama-nama belakangnya berturut-turut adalah

“SHP” (file utama), “SHX” (file indeks), dan “DBF” (file table atribut).

Shapefile ESRI dapat dibuat atau dihasilkan dengan menggunakan empat

metode/cara sebagai berikut:

a. Eksport: format data spasial ini dapat dihasilkan dari proses eksport

perangkat lunak SIG lainnya, misalnya dengan menggunakan ArcInfo,

SDE13, MapInfo.

b. Dijitasi: shapefile dapat secara lansung dibuat melalui proses dijitasi.

c. Semi pemrograman: shapefile dapat dapat secara langsung dibuat, dibaca,

atau dituliskan dengan menggunakan salah satu bahasa (semi)

pemrograman skrip/makro yang dimiliki oleh beberapa perangkat SIG

Page 45: gis rute pendek.pdf

29

serumpun (misalnya Aveneu-nya ArcView, MapObjects, ARC Macro

Language/AML ArcInfo, Simple macro Language/SML PC ArcInfo).

d. Bahasa pemprograman: dengan memahami spesifikasi teknisnya, shapefile

dapat secara langsung dibuat, dibaca, atau dituliskan dengan menggunakan

salah satu bahasa pemrogrman yang ada (misalnya C/C++, pascal/Delphi,

Basic).

Keuntungan-keuntungan jika bekerja dengan menggunakan data spasial

shapefile ArcView adalah sebagai berikut:

a. Proses pengambilan (draw) atau penggambaran kembali (redraw) dari fitur

petanya dapat dilakukan dengan relatif cepat, setidaknya lebih cepat dari

proses penggambaran coverage milik ArcInfo

b. Informasi atribut dan geometrinya dapat di atur

c. Dapat dirubah ke dalam format-format data spasial lainnya

d. Memungkinkan untuk proses on-screen digitizing.

(Prahasta, Eddy. 2007)

2.5 Web Sistem Informasi Geografis

Sistem Informasi Geografis 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 dari jenis

keragaman aplikasinya. Pengembangan aplikasi GIS kedepannya mengarah

kepada aplikasi berbasis Web yang dikenal dengan Web GIS. Hal ini disebabkan

karena pengembangan aplikasi di lingkungan jaringan telah menunjukan potensi

Page 46: gis rute pendek.pdf

30

yang besar dalam kaitannya dengan geo informasi. Sebagai contoh adalah adanya

peta online sebuah kota dimana pengguna dapat dengan mudah mencari lokasi

yang diinginkan secara online melalui jaringan intranet tanpa mengenal batas

geografi penggunanya. Secara umum Sistem Informasi Geografis dikembangkan

berdasarkan pada prinsip input/masukan data, manajemen, analisis dan

representasi data. Di lingkungan web prinsip-prinsip tersebut di gambarkan dan di

implementasikan seperti pada tabel berikut :

Tabel 2.1 Prinsi-prinsip Pengembangan SIG

Untuk dapat melakukan komunikasi dengan komponen yang berbeda-beda

di lingkungan web maka dibutuhkan sebuah web server. Karena standar dari

geografis data berbeda-beda dan sangat spesifik maka pengembangan arsitektur

sistem mengikuti arsitektur „Client Server‟.

Gambar 2.1 Arsitektur WEB SIG

(Sumber: Denny Charter, Ilmu Komputer.com)

Gambar diatas menunjukkan arsitektur minimum sebuah sistem web-based

GIS. Aplikasi berada disisi client yang berkomunikasi dengan Server sebagai

penyedia data melalui web Protokol seperti HTTP (Hyper Text Transfer

Protocol). Aplikasi seperti ini bisa dikembangkan dengan web browser (Mozzila

Page 47: gis rute pendek.pdf

31

Firefox, Opera, Internet Explorer). Untuk menampilkan dan berinteraksi dengan

data GIS, sebuah browser membutuhkan Plug-In atau Java Applet atau bahkan

keduanya. Web Server bertanggung jawab terhadap proses permintaan dari client

dan mengirimkan tanggapan terhadap respon tersebut. Dalam arsitektur web,

sebuah web server juga mengatur komunikasi dengan server side GIS component.

server side GIS component bertanggung jawab terhadap koneksi kepada basisdata

spasial seperti menterjemahkan query kedalam tag SQL dan membuat representasi

yang diteruskan ke server. Dalam kenyataannya server side GIS component

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 di server. Gambar berikut adalah dua

pendekatan yang menunjukan kemungkinan distribusi fungsional pada sistem

client/server berdasarkan konsep pipeline visualization.

Gambar 2.2 Perbandingan Thin dan Thick System Pada Sistem Clien Server

Pendekatan-1: Thin Client : Memfokuskan diri pada sisi server. Hampir

semua proses dan analisa data dilakukan berdasarkan permintaan disisi server.

Data hasil pemrosesan dikirimkan ke client dalam format HTML, yang

didalamnya terdapat file gambar sehingga dapat dilihat dengan browser. Pada

pendekatan ini interaksi pengguna terbatas dan tidak fleksibel

Page 48: gis rute pendek.pdf

32

Pendekatan-2: Thick/Fat Client : Pemrosesan data dilakukan disisi client,

data dikirim dari server ke client dalam bentuk data vektor yang disederhanakan.

Pemrosesan dan penggambaran kembali dilakukan oleh client. Cara ini

menjadikan pengguna dapat berinteraksi lebih interaktif dan fleksibel.

Internet merupakan kumpulan jaringan komputer yang tersebar secara

geografis dan terhubung dalam satu alat komunikasi dan protokol yang sama

sehingga memungkinkan untuk saling berhubungan. Web atau lebih dikenal

dengan world wide web (www) merupakan aplikasi jaringan yang mendukung

terlaksananya HTTP (hypertext transfer protocol) dalam suatu jaringan internet.

Sehingga dapat disimpulkan bahwa internet tidak sama dengan web. Internet

merujuk kepada infrastruktur jaringan, sedangkan web merujuk kepada salah satu

aplikasi yang berjalan dalam jaringan internet. Oleh karena itu, Internet GIS tidak

sama dengan web GIS. Internet GIS merujuk kepada penggunaan internet untuk

melakukan pertukaran data, melakukan analisis spasial, dan menyajikan hasil

analisis. Sedangkan web GIS menggunakan aplikasi web dalam melakukan

operasi GIS.

(Iwan Setiawan & Harris Noor Rabbasa)

2.6 Mapserver

Mapserver merupakan perangkat lunak open source dan sekaligus freeware

yang dapat digunakan untuk menampilkan data spasial (peta dijital) pada halaman

web. Mapserver dikembangkan di Universitas Minesotta (UMN), Amerika Serikat

untuk pengembangan proyek ForNet (sebuah proyek untuk manajemen sumber

Page 49: gis rute pendek.pdf

33

daya alam) yang didanai langsung oleh NASA. Dari proyek ForNet inilah

dihasilkan tools utama yaitu MapServer dan ImageView yang dapat diaplikasikan

ke berbagai tipe permasalahan yang terkait dengan data spasial. Selanjutnya

mapserver digunakan sebagai tools visualisasi data SIG (terutama data vector)

yang memungkinkan penggunaan layanan web, sementara Imageview dipakai

sebagai tools visualisai khusus untuk citra (dijital) satelit dan data-data tipe raster

lainnya.

Pada bentuk paling dasar MapServer merupakan sebuah program

CGI(Common Gateway Interface). Program tersebut akan dieksekusi di web

server, dan berdasarkan parameter tertentu terutama konfigurasi dalam bentuk file

*.MAP akan menghasilkan data yang kemudian akan dikirim ke web browser,

baik dalam bentuk peta atau dalam bentuk lain.

Fitur-fitur dari MapServer diantaranya adalah:

a. Menampilkan data spasial dalam format vektor seperti Shapefile (ESRI),

ArcSDE (ESRI), PostGIS dan berbagai format fektor lain dengan

menggunakan library OGR.

b. Menampilkan data spasial dalam bentuk format raster seperti

TIFF/GeoTIFF, APPL7 dan berbagai format data raster lain dengan

menggunakan library GDAL

c. Menggunakan quadtree dalam indexing data spatial, sehingga operasi-

operasi spasial dapat dilakukan dengan cepat.

d. Dapat dikembangkan dengan tampilan keluaran yang dapat diatur dengan

menggunakan file tamplate.

Page 50: gis rute pendek.pdf

34

e. Dapat melakukan seleksi objek berdasarkan nilai, titik, area, atau

berdasarkan sebuah objek spasial tertentu.

f. Mendukung rendering karakter berupa font TrueType.

g. Mendukung penggunaan data raster maupun vektor yang dibagi-bagi

menjadi sub bagian yang lebih kecil sehingga proses untuk mengambil dan

menampilkan gambar dapat dipercepat.

h. Dapat menggambarkan peta tematik yang dibangun menggunakan ekpresi

lojik atau ekspresi reguler.

i. Dapat menampilkan label dari objek spasial, dengan label dapat diatur

sedemikian rupa sehingga tidak salin tumpang tindih.

j. Konfigurasi dapat diatur secara on the fly melalui parameter yang

ditentukan pada URL.

k. Dapat menangani beragam sistem proyeksi secara on the fly

(Nuryadin, Ruslan. 2005)

Saat ini, selain dapat mengakses MapServer sebagai program CGI, kita

dapat mengakses MapServer sebagai modul MapScript, melalui berbagai bahasa

skrip: PHP, Perl, Python atau Java. Sehingga akses fungsi-fungsi MapServer

melalui skrip akan lebih memudahkan pengembangan aplikasi. Pengembang dapat

memilih bahasa yang paling familiar.

Arsitektur Mapserver

Bentuk umum arsitektur aplikasi berbasis peta dalam halam web dapat

jelaskan sesuai dengan gambar 2.3.

Page 51: gis rute pendek.pdf

35

Gambar 2.3

Arsitektur Peta Dalam Halaman Web

Pada gambar 2.3, interaksi antara klien dengan server berdasar

skenario request dan respon. Web browser di sisi klien mengirim request

ke server web. Karena server web tidak memiliki kemampuan pemrosesan

peta, maka permintaan yang berkaitan dengan pemrosesan peta akan

diteruskan eleh server web ke server aplikasi dan MapServer. Hasil

pemrosesan akan dikembalikan lagi melalui server web, yang terbungkus

dalam bentuk file HTML atau applet. Arsitektur aplikasi pemetaan di web

dibagi menjadi dua pendekatan sebagai berikut:

Pendekatan Thin Client

Pendekatan ini memfokuskan diri pada sisi server. Hampir semua

proses dan analisis data dilakukan berdasarkan permintaan di sisi

server. Data hasil pemrosesan kemudian dikirim ke klien dalam format

standar HTML, yang didalamnya terdapat file gambar dalam format

standar misalnya GIF, PNG, JPG, sehingga dapat dilihat dengan

menggunakan sembarang web browser. Kelemahan utama pendekatan

ini menyangkut keterbatasan opsi interaksi dengan user yang kurang

fleksibel.

Server Web Server Aplikasi

MapServer

Data

Server Data

Web Browser

Sisi Klien Sisi Server

Request

Tampilan Peta

Page 52: gis rute pendek.pdf

36

Pendekatan Thick Client

Pada pendekatan ini, pemprosesan data dilakukan di sisi klien

menggunakan beberpa kontrol seperti kontrol ActiveX atau applet.

Kontrol ActiveX atau applet akan di jalankan di klien untuk

memungkinkan web browser menangani format data yang tidak dapat

ditangani oleh web browser dengan kemampuan standard. Dengan

adanya pemprosesan di klien, maka tranfer data antra klien dengan

web server akan berkurang.

Tidak seperti pada pendekatan thin client, data dikirim ke klien

dalam bentuk data vektor yang disederhanakan. Pemprosesan dan

penggambaran kembali akan dilakukan di sisi klien. Dengan cara

demikian, pengembang aplikasi dapat lebih fleksibel dalam

menentukan prosedur interaksi aplikasi dengan pengguna (user).

Kelemahan dari pendekatan ini, harus ada tambahan aplikasi yang

dipasang di komputer klien (Kontrol ActiveX atau Applet).

Mapserver menggunakan pendekatan Thin Client. Sehingga

pemrosesan dilakukan di sisi server. Informasi peta dikirim ke web

browser di sisi klien dalam bentuk file gambar (JPG,PNG,GIF, atau

TIFF). Pada saat ini kelemahan pendekatan thin client sudah dapat

diatasi dengan adanya Framework aplikasi seperti Chameleon,

CartoWeb, Kmap.

Aplikasi yang di bangun dengan menggunakan MapServer

memiliki arsitektur sebagai berikut:

Page 53: gis rute pendek.pdf

37

Browser

CloudHTTP Server

(Apache,IIS,...)

MapServer

Mapserver CGI

or MapCsript+PHP

or MapScript+Perl

or ...

MapFile

HTML

Tamplate

Map Data

External Data

File HTML

MAP

x , y Click location, Layer

status on/off, etc

HTTP/CGI request

Gambar 2.4 Arsitektur Mapserver

Pada sistem aplikasi, browser (client) mengirimkan request ke web

server dalam bentuk request yang terkait dengan data spasial (lokasi

[X,Y]) klik kursor, status [on/off] layer yang akan dimunculkan, dan

lain sebagainya. Kemudian oleh web server request tersebut dikirim ke

server dan MapServer. Kemudian MapServer akan membaca mapfile,

dan data peta. Untuk membentuk sebuah gambar yang sesuai dengan

permintaan dari client. Setelah gambar tersebut di render, file gambar

yang bersangkutan akan dikirim ke web server kembali dan diteruskan

ke browser client sesuai dengan format tamplate tampilannya. Dilihat

dari tempat pengolahan data arsitektur tersebut cenderung bersifat thin-

client, sebab prosedur-prosedur yang terkait denga pengolahan data

dan analisis proses dilakukan di server, sementara browsernya hanya

menerima hasil request dalam bentuk file HTML.

Page 54: gis rute pendek.pdf

38

2.7 Chameleon

2.7.1 Pengenalan Chameleon

Chameleon merupakan salah satu framework atau tool yang dapat

digunakan untuk aplikasi pemetaan SIG berbasis layanan web (web-based GIS).

Chameleon dapat digunakan secara berdampingan atau full integrated dengan

dengan Mapserver berdasarkan spesifikasi yang ditentukan oleh Open Geospatial

Consortium (OGC). Gambar berikut mengilustrasikan konfigurasi framework

chameleon:

Gambar 2.5 Konfigurasi Chameleon yang digunkan dengan MapServer

(Sumber : Charter, Denny September 2008)

Framework Chameleon dikembangkan oleh DM Solution Group

(Kanada), framework ini dibentuk dari sekumpulan komponen-komponen

perangkat lunak yang berisi program atau skrip-skrip php (php scripts) yang

dapat digunakan kembali (reusable) oleh setiap client-nya, sehingga mudah

mengintegrasikan sebuah web-map-server dengan tampilan antarmuka (layout

interface) yang sederhana dan mudah digunakan.

Page 55: gis rute pendek.pdf

39

2.7.2 Menggunakan Fungsi Chameleon

Chameleon merupakan sebuah produk OpenSource yang dibangun dengan

menggunakan bahasa pemrograman PHP. Chameleon memberikan akses yang

sederhana ke beberapa fitur yang hanya bisa diakses dalam MapScript, dimana

dalam MapScript telah disediakan sebuah skrip sebagai komponen yang dapat

langsung digunakan. Dengan Chameleon seorang yang bukan programer

sekalipun bisa memodifikasi tampilan web dengan memasukan komponen yang

dibutuhkan pada aplikasi web-based-GIS.

Chameleon terdiri lebih dari 300 skrip PHP yang memberikan fungsi dan

akses “widgets” pada WebGIS. Kita tidak mesti mengetahui bagaimana skrip ini

bekerja karena dibangun dengan PHP MapScript jadi disini kita dapat dengan

mudah memberikan HTML tag. Sebagai contoh penggunaan HTML Tag seperti

melakukan desain untuk menambahkan peta, scalebar, legend, query tool,

printing tools dan aplikasi-aplikasi lainnya.

Pengembang aplikasi yang menggunakan Chameleon dapat melakukannya

hanya dengan menambahkan Tag pada halaman HTML. Cara seperti ini disebuat

dengan CWC2 tag sebuah konfigurasi untuk komponen klien WebGIS.

Penggunaan tag ini memberikan metode yang sederhana dalam menambahkan

sebuah halaman pada aplikasi web.

2.8 Mapscript

2.8.1 Mapscript Environment

Php/Mapscript, atau sering disebut Mapscript saja, adalah sebuah modul

yang digunakan untuk membuat fungsi-fungsi dan class-class MapServer agar

Page 56: gis rute pendek.pdf

40

dapat dijalankan pada PHP3/PHP4. Sedangkan MapServer sendiri adalah sebuah

service untuk memproses dan menampilkan data spatial beserta proyeksi dan

koordinatnya. MapServer dikembangkan oleh universitas Minnesota

(http://mapserver.gis.umn.edu) dan merupakan freeware sehingga dapat

digunakan secara gratis. MapScript dapat berjalan di sistem operasi windows

maupun linux serta dapat dijalankan pada beberapa Web Server. Secara garis

besar, peran dari mapscript dalam sebuah web-map-server dapat digambarkan

seperti gambar berikut:

Gambar 2.6 Proses Mapscript Pada Web Server

(Sumber: Prasetyo, Daniel Hary. 2004)

Proses diawali dengan request dari client ke server, Web Server akan

menjalankan fungsi-fungsi yang ada di library Mapscript. Data spatial yang akan

digunakan berupa data dengan tipe shapefile, yang merupakan file spasial standar

dari ESRI. Dengan perantara MapFile, sebagai pengatur setting dari data yang

akan ditampilkan, MapScript akan membaca data spatial di shapefile ini,

memprosesnya sesuai permintaan dari client, kemudian menyimpannya kedalam

bentuk file gambar (GIF,JPG, atau PNG). File gambar ini kemudian akan di-load

ke client dalam bentuk obyek gambar HTML. Karena bentuk peta yang

ditampilkan merupakan file gambar maka kerja client tidak berat, terutama jika

dibandingkan dengan cara lain yang menggunakan activeX.

Page 57: gis rute pendek.pdf

41

2.8.2 Map File

Mapscript memerlukan sebuah file text yang berisi setting layer-layer peta

yang akan ditampilkan. File ini disebut Mapfile dengan extensi .map. Susunan

dari Mapfile dengan dua layer peta adalah seperti berikut :

1 NAME Canada

2 SIZE 400 400

3 STATUS ON

4 SYMBOLSET ./symbols/symbols.sym

5 EXTENT -140 45 -53 80

6 UNITS METERS

7 SHAPEPATH "C:/Inetpub/wwwroot/Mapscript/peta/"

8 WEB

9 IMAGEPATH "C:\Inetpub\wwwroot\Mapscript\tmp\"

10 IMAGEURL "C:\Inetpub\wwwroot\Mapscript\tmp\"

11 END

12 LAYER

13 NAME Province

14 TYPE POLYGON

15 STATUS ON

16 DATA Province

17 CLASS

18 COLOR 20 150 10

19 OUTLINECOLOR 220 220 220

20 END

21 END

22 LAYER

23 NAME roads

24 TYPE LINE

25 STATUS ON

26 DATA Roads

27 CLASS

28 COLOR 250 20 20

29 END

30 END

31 END

Pada baris 1, Name adalah judul dari susunan peta yang akan ditampilkan.

Baris ke 2, Size adalah ukuran dari file gambar yang akan dihasilkan dan

ditampilkan pada halaman web. Baris ke 5, Extent adalah bingkai sebagai batas

Page 58: gis rute pendek.pdf

42

view peta. Secara berurutan angka-angka disampingnya adalah batas kiri, batas

bawah, batas kanan, dan batas atas. Batas batas tersebut disesuaikan dengan posisi

peta (proyeksi peta) sesuai dengan koordinat yang digunakan oleh peta tersebut.

Angka-angka ini dapat diketahui melalui program ArcView dengan melihat pada

menu view-properties-area of interset peta yang kita olah. Baris berikutnya, Units

adalah satuan panjang yang digunakan. ShapePath adalah direktori dimana data

peta (shapefile) berada.

Bagian berikutnya menyimpan alamat dimana file gambar yang dihasilkan

akan disimpan, dan alamat URLnya. Bagian berikutnya adalah susunan dari

Layer-layer peta yang akan ditampilkan. Layer dengan urutan lebih awal akan

menjadi layer dengan posisi bawah saat ditampilkan pada halaman web. Pada

baris 13 dan 23, Name adalah judul. Berikutnya Type adalah tipe dari shapefile.

Ada tiga tipe Shapefile yang digunakan yaitu tipe Polygon, Line, dan Point. Data,

pada baris 16 dan 26, adalah nama file peta yang akan ditampilkan. Pada baris 18

dan 28, Color adalah warna yang akan digunakan pada peta dan angka-angka

dibelakangnya adalah susunan warna berdasar RGB (red, green, blue), pada

bagian STYLE ini juga merupakan bagian untuk menentukan tebal garis atau

besarnya suatu titik yang akan ditampilkan nantinya, dan juga bentuk arsiran pada

garis maupun Polygon. Untuk menambah layer, bisa dilakukan dengan

menambahkan baris Layer (baris 22-30) dan untuk memodifikasi tampilannya

bisa dilakukan dengan pengaturan/setting dibagian color.

2.8.3 Map Script Objek

MapScript digunakan sebagai interface untuk class-class yang terdapat di

MapServer. Secara garis besar, peta tersusun dari beberapa layer. Layer tersusun

Page 59: gis rute pendek.pdf

43

dari bentuk-bentuk polygon, garis, dan atau titik yang disebut dengan Shape.

Class-class yang terdapat di MapServer melingkupi class manipulasi untuk Peta,

Layer, dan Shape ini. class-class didalam MapServer yang sering digunakan

untuk mengembangkan Web GIS anatara lain adalah :

a. MapObj Class

Class untuk berhubungan dengan MapFile, atau secara tidak langsung

berhubungan dengan data peta. Class ini juga sebagai class utama di MapScript

untuk memproses dan menyimpan data peta ke file gambar.

Beberapa fungsi dan class penting yang terdapat pada class ini, antara lain:

1. Mempunyai kumpulan class layerObj yang meyusun peta dan fungsi

untuk mengatur urutan peta.

2. Fungsi untuk menggambar peta, disimpan ke dalam class ImageObj.

3. Fungsi untuk menggambar legend, dan disimpan kedalam class

ImageObj

4. Fungsi untuk menggambar scalebar, dan disimpan kedalam class

ImageObj

5. Fungsi SetExtent untuk menentukan Extent dari Peta.

6. Fungsi ZoomPoint, ZoomRectangle, ZoomScale untuk melakukan

pembesaran (zoom in) atau pengecilan (Zoom out) peta.

7. Fungsi untuk mengatur proyeksi peta

8. Fungsi QueryByPoint, QueryByRect, QueryByShape, QueryByFeature

untuk mencari objek di peta yang ada di posisi tertentu dengan

Rectangle, Shape, dan dengan peta lain.

Page 60: gis rute pendek.pdf

44

b. LayerObj Class

Class yang mewakili satu layer yang menyusun peta. Fungsi-fungsi yang

penting pada class ini antara lain

1. Fungsi GetShape untuk mengambil sebuah shape yang ada pada layer.

Disimpan dalam shapeObj class.

2. Fungsi AddFeature, untuk menambah layer dengan sebuah shape baru.

c. ImageObj Class

Adalah class yang menyimpan gambar hasil pengolahan peta.

d. LabelObj Class

Class yang mengatur label-label yang akan ditampilkan pada peta.

e. WebObj Class

Class yang berhubungan dengan alamat-alamat internet.

f. PointObj, LineObj, RectObj Class, ShapeObj Class

Berturut-turut adalah Class yang digunakan untuk manipulasi Titik, Garis,

Kotak, dan Polygon

g. ScaleBar Class

Class untuk menggambar Scalebar.

h. LegendObj Class

Class untuk menggambar legenda.

(Prasetyo, Daniel Hary. 2004)

Page 61: gis rute pendek.pdf

45

2.9 PostgreSQL

Artinya: Allah berfirman: “inilah kitab (catatan) kami yang menuturkan

terhadapmu dengan benar, sesungguhnya kami telah menyuruh mencatat apa

yang telah kamu kerjakan”. (QS. Al- Jaatsiyah:29)

Kutipan ayat diatas menjelaskan bahwa semua amal perbuatan manusia

selama hidup di dunia mulai dilahirkan sampai dipanggil lagi oleh Allah SWT

telah dicatat/direkam oleh malaikat dalam sebuah kitab (catatan), Rekaman

(catatan) amal perbuatan manusia inilah yang nanti akan mengingatkan dan

mengadili manusia tentang apa yang telah dilakukannya selama hidup di dunia

saat hari kebangkitan, tiap-tiap manusia memiliki rekaman (catatan) amal

perbuatannya sendiri-sendiri yang harus dipertanggungjawabkan saat hari

penimbangan amal, barang siapa timbangan amal baiknya lebih banyak, maka dia

akan mendapatkan balasan baik (surga), sebaliknya jika timbangan amal buruknya

lebih banyak, maka dia akan mendapat balasan buruk (neraka). Maha suci Allah

SWT yang menciptakan manusia dan menganugerahinya dengan akal fikiran agar

manusia berfikir tentang mana yang baik dan mana yang buruk, agar manusia

menggunakan akal fikirannya untuk mengetahui apa yang ada di alam semesta ini

dengan ilmu pengetahuan sehingga manusia percaya (iman) dengan kebesaran

Allah SWT. Seperti halnya malaikat mencatat dan menyimpan seluruh catatan

amal perbuatan manusia selama hidup di dunia pada sebuah kitab (catatan),

manusia juga menyimpan apa yang mereka ketahui pada sebuah buku catatan.

Sejak manusia mulai mengenal tulisan, mereka meyimpan data dan informasi

Page 62: gis rute pendek.pdf

46

yang mereka dapat dalam bentuk tulisan (buku catatan). Seiring perkembangan

teknologi, saat ini data dan informasi tidak lagi hanya disimpan dalam bentuk

tulisan pada sebuah kertas (hard copy), akan tetapi data dan informasi saat ini juga

disimpan dalam bentuk data dijital (dara angka) pada sebuah media penyimpanan

di komputer dalam sebuah basisdata, dan salah satu jenis basisdata tersebut adalah

PostgreSQL.

PostgreSQL atau sering disebut Postgres merupakan server Object Relational

Database Management System (ORDBMS) yang bersifat open source.

PostgreSQL adalah DBMS yang memiliki skalabilitas, keluwesan dan kinerja

tinggi, karena selain mendukung standar SQL92 dan SQL99, Postgres juga sudah

mendukung bahasa pemrograman C, C++, Perl, java, Tcl, phyton dan juga php.

Awal perkembangan PostgreSQL dimulai dari penelitian yang dilakukan di

Univesity of California, Berkeley (1977-1985), Postgres berawal dari kode Ingres,

yang kemudian dikembangkan menjadi database server relational dan berhasil

dikomersilkan oleh Relational Technologies/Ingres Corporation. Pada periode

tahun 1986–1994 Postgres telah banyak digunakan untuk penelitian dan produksi

aplikasi. Postgres juga banyak digunakan sebagai bahan belajar diberbagai

Universitas. Pada periode ini perkembangan Postgres adalah sampai pada Postgres

versi 4.2. Kemudian pada tahun 1994-1995, dua orang mahasiswa lulusan

Berkeley melakukan penambahan kemampuan SQL pada Postgres dengan

menggunakan kode ANSI C, dan diberi nama Postgres95, kedua mahasiswa

tersebut adalah Jolly Chen dan Andrew Yu. Untuk meningkatakan kinerja dan

untuk kemudahan dalam pengembangan, berbagai perubahan internal juga

Page 63: gis rute pendek.pdf

47

dilakukan pada Postgres95, sehingga Postgres95 dapat berjalan lebih cepat jika

dibandingkan dengan Postgres versi 4.2.

Penambahan yang dilakukan pada Postgres95 diantaranya adalah:

a. Bahasa query PostQUEL diganti menjadi SQL (implementasi pada

server). subQuery belum didukung namun dapat dilakukan dengan

menggunakan fungsi-fungsi SQL yang didefinisikan. Dimasukkan

perintah klausa GROUP BY pada SQL.

b. Tersedianya program psql untuk interactif query dengan SQL. Program

psql ini menggunakan GNU readline.

c. Interface object besar ditinggalkan. Mekanisme yang digunakan untuk

menyimpan obyek besar yaitu menggunakan Inversion.

d. Penghapusan system instance-level.

e. Tutorial singkat penggunaan fitur SQL, disertakan dengan contoh

programnya.

f. GNU make digunakan untuk proses build. Postgres95 bisa dikompilasikan

dengan GCC.

awal tahun 1996 nama Database Server Postgres95 dihapus dan diganti menjadi

PostgreSQL. Relaease PostgreSQL dilakukan setiap tiga hingga lima bulan,

dimana pada tiap periode dilakukan pengembangan selama dua hingga tiga bulan.

Seperti halnya DBMS komersil lainnya, sebagai salah satu software

opensource, PostgreSQL juga telah didukung dengan fitur-fitur yang lengkap,

diantaranya:

Page 64: gis rute pendek.pdf

48

a. Dukungan tipe data yang banyak digunakan pada database komersial,

seperti floating point, integer, character string, money, date/time dan tipe

data binary.

b. Dukungan tipe data yang semakin beragam, seperti tipe data untuk

geometri (seperti Point, Polygon, Circle, dan Line) ,tipe data

jaringan(TCP/IP) untuk menyimpan data pada IP4, IP6 dan Mac Address

(Lnet,cidr,maddr).

c. Didukung tipe data array dan tipe data komposit serta konsep tipe data

Object Identifiers (OIDS), yang digunakan PostgreSQL sebagai primary

key pada beberapa table. Pada postgreSQL versi 8.x, OIDS digunakan

sebagai default pada pembuatan table pada database.

d. Dukungan penyimpanan binary large object(gambar, suara,vidio). Kinerja

PostgreSQL sebagai server database object-relational semkin

memudahkan user untuk mengimplementasikan system aplikasi yang

dibuat

e. Dukungan fitur Foreign Key dan referential integrity, membuat

PostgreSQL banyak dipilih sebagai database server dalam pengembangan

aplikasi.

f. PosgreSQL telah mengimplementasikan tipe join SQL99: inner join, left,

right, full outer join, natural join, yang mempermudah proses querry.

g. Dukungan fitur view dan trigger menyederhanakan proses query yang

kompleks pada sisi server. Fungsi trigger bisa ditulis dalam bahasa C,

Procedural Langguage.

h. Dukungan fungsi Full-text indexing.

Page 65: gis rute pendek.pdf

49

i. Tersedianya fungsi ODBC.

j. Fitur rule yang dapat digunakan untuk memanipulasi data pada operasi

SQL yang dilakukan, serta fungsi yang berkenaan dengan keamanan data,

seperti fungsi hash cryptographic(MD5, SHAI).

k. Dukungan standar regular expression (full POSIX) dan case-intensitive

regular expression matching.

l. Dukungan dari bahasa pemprograman pada sisi server, seperti: C, SQL,

PL/pgSQL, Tcl, PERL, Python, dan ruby.

m. Temporary table yang digunakan sebagai tabel temporer, dimana akan

dihapus pada saat koneksi database berakhir.

n. Dukungan fitur schema yang memungkinkan:

1. Banyak user menggunakan database yang sama tanpa mengganggu

yang lainnya.

2. Untuk memudahkan mengorganisasikan database dalam satu program

tertentu.

3. PostgreSQL 8.0 adalah PosgreSQL pertama yang bisa dioperasikan

pada Microsoft Windows sebagai server, dimana PostgreSQL berjalan

sebagai salah satu service windows server. Release PosgreSQL ini bisa

dijalankan pada form Windows XP, Windows 2000 maupun Windows

2003.

PosgreSQL memberikan fitur dan kinerja yang lengkap untuk Administrasi

server, seperti:

1. Model keamanan untuk setiap user dan group pada objek database

Page 66: gis rute pendek.pdf

50

2. Akses yang bisa dibatasi ke server berdasrkan host, nomor IP, user name,

dan database tertentu.

3. Dukungan tools dalam proses backup semua ojek database bukan hanya

tabel saja tetapi termasuk juga fungsi, triger, privillages, tipe, data custom.

4. Operasi backup data dan kebalikannya(restore) data dilakukan oleh user

database yang mempunyai privileges superuser.

5. Dukungan backup data yang menggunakan database cluster dengan

WAL archive

6. Dukungan kerberos untuk proses authentification.

7. Koneksi database yang terenkripsi dengan menggunakan SSL dan SSH.

8. Dukungan koneksi lewat TCP/IP atau local unix dimain socket.

9. Dukungan database replikasi dengan menggunakan aplikasi open source

DB MIRROR.

10. Dukungan Tablespace yang memungkinkan administrator server memilih

file sistem dan media penyimpanan untuk tabel tertentu dalam database.

PostgreSQL juga dapat berjalan di banyak platform Sistem Operasi, sehingga

Database Server ini banyak digunakan dalam pengembangan aplikasi,

diantaranya FreeBSD (x86,Alpha), BSD/OS (x86,Sparc), OpenBSD (x86,Sparc),

NetBSD (x86, Alpa, ARM, m68k, Power PC, Sparc, VAX), Digital Unix, Linux

(x86, Alpa, ARM, MIPS, Power PC, Sparc. s/390), SCO OponServer, SCO

UnixWare, SunOS 4, Sun Solaris (x86, Sparc), Compaq Tru64 Unix, AIX, BeOS,

Windows (XP, WIN 2000, WIN 2003).

Dukungan dari database pemrograman berupa library yang bisa digunakan

untuk koneksi ke server database PostgreSQL, menyebabkan pengguna database

Page 67: gis rute pendek.pdf

51

PostgreSQL berasal dari berbagai latarbelakang penguasaan bahasa

pemprograman, diantaranya adalah Python (lewat PyGreSql/PoPy), JDBC (Java

Database Connectivity), PHP Librar php-pgsql, Tcl, Standard SQL embeded C,

Perl (Standard DBI/DBD), Native C dan C++ API, ODBC.

(Sugiana, Owo. Munir, Sirojul. 2005)

2.10 PostGIS

PostGIS adalah sebuah perangkat lunak tambahan (geo-spatial extension)

untuk database PostgreSQL yang berfungsi untuk menyimpan obyek-obyek

sistem informasi geografis (data spasial) (Anonymous3. 2007). PostGIS

dikembangkan sebagai sebuah teknologi database spasial open source dibawah

lisensi GNU general public licence. fungsi PostGIS pada database PostgreSQL

adalah sebagai spatially enables (menambahkan tabel khusus untuk penyimpanan

data-data sapsial) untuk menyimpan obyek-obyek sistem informasi geografis (data

spasial) dalam database PostgreSQL. selain menambahkan tabel data spasial,

PostGIS juga akan menambahkan tabel geometry (geom_table) untuk menyimpan

informasi dan atribut geometri data spasial, sehingga dengan adanya informasi

geometri peta tersebut bisa dilakukan analisis dan pemrosesan data sig

menggunakan query sql.

Dalam PostGIS juga sudah terintegrasi dua konverter yaitu shp2pgsql dan

pgsql2shp. fungsi shp2pgsql adalah untuk mengkonversi data shapefile (format

yang dikembangkan ESRI untuk menyimpan informasi–informasi atribut dan

geometri data spasial) ke format databse (format .sql) sehingga memungkinkan

database postgres untuk membuat kolom geometri yang digunakan oleh

Page 68: gis rute pendek.pdf

52

PHPMapscript untuk menampilkan fitur geometri, sedangkan pgsql2shp

berfungsi mengkonversi database (format .sql) ke format shapefile.

2.11 PgRouting

PgRouting adalah sebuah tools open source yang menyediakan

fungsionalitas routing pada database PostgreSQL (Anonymous4.

. 2007).

PgRouting dapat digunakan untuk menyelesaikan masalah pencarian jalur

terpendek (Shortest Path) dan juga Travelling Salesman Problem (TSP)

(Patrushev, 2007). Saat ini fungsionalitas routing bawaan yang disediakan oleh

modul pgRouting adalah fungsionalitas routing dengan menggunakan algoritma

dijkstra (shortest_path_dijkstra), algoritma A* (shortest_path_astar), algoritma

Shooting Star dan fungsi untuk menangani masalah Travelling Salesman Problem

(TSP). Berikut ini adalah gambar cara kerja fungsi pada modul pgRouting,

Gambar 2.7 Cara Kerja Modul pgRouting

(sumber: (http://pgrouting.postlbs.org/wiki/)

Page 69: gis rute pendek.pdf

53

BAB III

ANALISIS DAN PERANCANGAN APLIKASI

3.1 Analisis Sistem

Analsis sistem bertujuan untuk melakukan identifikasi persoalan-persoalan

yang muncul dalam pembuatan sistem, hal ini dilakukan agar saat proses

perancangan aplikasi tidak terjadi kesalahan-kesalahan yang berarti sehingga

sistem dapat berjalan dengan baik dan selesai tepat pada waktu yang telah

ditentukan. Dalam analisis sistem ini, sistem yang akan dianalisa meliputi, analisis

kebutuhan system, spesifikasi aplikasi, dan lingkungan operasi.

3.1.1 Analisis Kebutuhan Sistem

Analisis kebutuhan system membahas secara garis besar kebutuhan sistem

aplikasi penentu rute terpendek pariwisata Kota Malang Menggunakan GIS

dengan Fungsi Shortest Path A Star. Dalam membangun sistem aplikasi penetu

rute terpendek pariwisata kota malang, parameter-parameter yang dibutuhkan

untuk data masukan sistem meliputi:

a. Fungsi shortest path astar, yang diperoleh dengan menambahkan tag .sql

routing core dan routing core wrapper dari modul pgRouting pada database

“malang”.

b. Data posisi obyek wisata hasil masukan (input) pengguna, yaitu data input

lokasi awal (source) dan lokasi tujuan/lokasi akhir (target),

c. Tabel “jalan” dengan struktur atau susunan kolom sebagai berikut:

1. Id (integer)

Adalah identitas atau id masing-masing garis/jalan.

2. Cost (double precision)

Page 70: gis rute pendek.pdf

54

Adalah besar biaya yang diperlukan untuk berjalan dari satu titik/garis

menujutitik lainnya.

3. Reverse_cost (double precision)

reverse_cost digunakan jika dalam melakukan routing diterapkan aturan-

aturan terperinci pada jalan, seperti aturan jalan satu arah atau aturan

dilarang belok pada jalan tertentu.

4. Source vertex (integer)

Id (integer)

x (double precision)

Adalah koordinat titik awal (start point) dari tabel asjalan

y (double precision)

Adalah koordinat titik akhir (end point) tabel asjalan

5. Target vertex (integer)

Id (integer)

x (double precision)

koordinat titik awal (start point) dari tabel asjalan

y (double precision)

adalah koordinat titik akhir (end point) tabel asjalan

Selain id jalan, fungsi astar juga membutuhkan koordinat x dan y dari

masing-masing jalan dalam proses mencari rute terpendek, hal ini dikarenakan

fungsi shortest path astar menggunakan fungsi heuristik untuk memprioritaskan

node-node pada arah yang benar. langkah-langkah dalam pembuatan tabel jalan

dan pembuatan kolom-kolom untuk routing disetakan dalam lampiran.

Page 71: gis rute pendek.pdf

55

3.1.2 Spesifikasi Aplikasi

Sistem penentu rute terpendek pariwisata kota malang menggunakan GIS

dengan fungsi shortest path astar akan memberikan data keluaran dan memiliki

kemampuan sebagai berikut:

1. Memberikan Informasi obyek-obyek wisata di Kota Malang

2. Memberikan informasi rute terpendek dari satu lokasi obyek ke lokasi yang

lain beserta informasi jarak tempuh antar lokasi.

3. Memberikan informasi nama-nama jalan yang merupakan jalur yang efektif

untuk dilewati.

4. Input objek wisata berdasarkan koordinat lintang bujur melalui halaman web.

5. Memiliki kemampuan navigasi peta seperti zoom in, zoom out, pan map,

scalebar, measure distance, recenter, identify feature,dan legenda.

3.1.3 Lingkungan Operasi

Untuk membangun aplikasi web sesuai dengan spesifikasi kebutuhan,

dibutuhkan lingkungan operasi sebagai berikut:

a. Sistem operasi Windows XP.

Sistem operasi windows XP digunakan karena perancang sistem sudah

terbiasa menggunakan sistem operasi ini sehingga lebih familiar dan

mudah dalam mengoperasikannya.

b. Web Server.

Web server digunakan untuk memberikan layanan web sehingga dapat

diakses oleh pengguna baik yang berada pada jaringan lokal maupun pada

jaringan internet. Web server yang digunakan adalah Apache. Perangkat

lunak ini digunakan karena Apache adalah freeware yang memiliki

Page 72: gis rute pendek.pdf

56

kemampuan kerja tinggi dibanding dengan perangkat lunak web server

lainnya.

c. MapServer

MapServer digunakan sebagai perangkat lunak visualisasi peta digital

jalan dan posisi kendaraan. Alasan dipilih perangkat lunak ini adalah:

1. Merupakan aplikasi open source untuk membangun aplikasi

internet-based (aplikasi berbasis internet) yang cukup handal.

2. Mendukung format peta digital SIG yang banyak digunakan yaitu

format Shapefile (.SHP).

3. Selain format .SHP, Map Server juga mendukung format data yang

berasal dari basis data PostgreSQL/PostGIS sehingga

memungkinkan peta digital disimpan dalam basisdata yang bisa

diintegrasikan dengan data-data atribut.

4. Memiliki API dalam bahasa pemograman PHP.

d. DBMS PostgreSQL/PostGIS

PostgreSQL adalah perangkat lunak database management system

(DBMS), sedangkan PostGIS adalah perangkat lunak tambahan (third

party) yang berfungsi untuk menambah kemampuan dari PostrgreSQL

dalam menangani basis data spasial. Alasan dipilihnya perangkat lunak ini

adalah karena bersifat gratis dan satu-satunya DBMS yang didukung oleh

Map Server.

e. PgRouting Module

PgRouting adalah sebuah tools open source yang menyediakan

fungsionalitas routing pada database PostgreSQL. PgRouting dapat

Page 73: gis rute pendek.pdf

57

digunakan untuk menyelesaikan masalah pencarian jalur terpendek

(Shortest Path) dan juga Travelling Salesman Problem (TSP). Alasan

penggunaan modul pgRouting ini karena pada modul ini terdapat sebuah

fungsi untuk menyelesaikan pencarian jalur terpendek (shortest path

problem) menggunakan Algoritma A Star.

f. Interpreter PHP

PHP adalah bahasa pemrograman server side yang bekerja pada sisi

server yang berfungsi untuk menangani request dari pengguna dan

berkomunikasi dengan Map Server serta DBMS PostgreSQL melalui API

(application program interpreter) yang disediakannya. Perangkat lunak ini

digunakan karena bersifat gratis dan open source.

3.2 Perancangan Sistem

Setelah dilakukan analisis sistem, tahap berikutnya adalah tahap perancangan

sistem aplikasi Penentu Rute Terpendek Pariwisata Kota Malang, tahap

perancangan sistem bertujuan untuk menghasilkan sebuah bentuk atau format

sistem aplikasi yang optimal dengan memperhatikan kebutuhan-kebutuhan sistem

yang telah ditentukan dalam tahapan analisis sistem. Langkah yang dilakukan

untuk menghasilkan sebuah bentuk sistem aplikasi yang optimal tersebut adalah

dengan mencari kombinasi penggunaan metode (teknologi), penggunaan

perangkat lunak (software), dan juga penggunaan perangkat keras (hardware)

yang tepat sehingga bisa dihasilkan sebuah sistem aplikasi yang dapat berjalan

secara optimal dan mudah diimplementasikan.

Page 74: gis rute pendek.pdf

58

3.3 Perancangan Aplikasi Web Penentu Rute Terpendek

Pada tahapan ini akan dibahas mengenai proses perancangan web untuk

aplikasi penentu rute terpendek pariwisata kota malang dengan

mempertimbangkan kebutuhan-kebutuhan dan spesifikasi yang telah ditetapkan

dalam tahap analisis system. Proses perancangan ini meliputi perancangan modul

aplikasi, perancangan basisdata, perancangan tampilan antarmuka (interface

layout).

3.3.1 Perancangan Modul Aplikasi

3.3.1.1 Modul Aplikasi Peta

Modul aplikasi Peta dibagi menjadi dua buah modul yaitu modul

visualisasi data, modul query peta.

a. Modul Visualisasi Data

Modul ini berfungsi untuk memvisualisasikan peta pencarian rute terpendek

kota malang yang didalamnya termuat peta jalan, Objek Wisata, hasil pencarian

rute terpendek yang disajikan dalam bentuk garis (line) pada jalan, area

kecamatan, dan juga atribut-atribut peta seperti peta referensi, legenda, dan

scalebar. Modul ini dibangun dengan menggunakan API PHP/MapScript yang

menggunakan bantuan aplikasi framework chameleon.

Dengan menggunakan MapScript dapat dibuat objek peta yang kemudian

dapat dirender menjadi gambar dengan format PNG sehingga dengan format

tersebut peta yang ditampilkan pada halaman web tidak terlalu berat. Sumber data

peta (data source) yang meliputi Informasi dan atribut-atribut peta disimpan pada

tabel basisdata PostgreSQL/PostGIS. Tabel data spasial informasi peta tersebut

diperoleh dengan cara mengkonversi data dengan format ESRI shapefile (.SHP)

Page 75: gis rute pendek.pdf

59

ke format SQL dengan menngunakan aplikasi shp2sql data loader yang sudah

terintegrasi pada aplikasi PostgreSQL/PostGIS, konversi data SHP ke tag SQL ini

bertujuan agar mudah dalam melakukan manipulasi dan modifikasi data tabel peta

dengan perintah-perintah Sql. Alur proses modul aplikasi peta dapat dilihat pada

gambar di bawah ini:

Gambar 3.1 Alur proses modul visualisasi data Peta

b. Modul query peta

Modul ini berfungsi untuk menangani proses query yang dilakukan pengguna

yang ingin mengetahui informasi tentang obyek yang ada di peta, seperti

informasi tentang obyek wisata, informasi jalan, ataupun informasi lainnya. Untuk

membuka informasi yang ada pada obyek peta pengguna hanya perlu melakukan

klik pada salah satu bagian obyek yang ada pada peta yang ingin dimunculkan

informasinya, setelah pengguna melakukan klik pada peta, maka hasil dari klik

(query) tersebut adalah informasi mengenai titik atau objek pada peta yang diklik

tadi. Modul ini dibangun dengan menggunakan API PHP/MapScript dengan

bantuan chameleon. Alur kerja modul ini dapat dilihat pada gambar.

PostgreSQL Database

MapServer

MapServer

CWC

Tag

Custom Chameleon Aplication

Page 76: gis rute pendek.pdf

60

Gambar 3.2 Alur kerja modul query posisi

3.3.1.2 Modul Aplikasi Web

Modul ini berfungsi sebagai acaun aliran data secara umum, dimana

terdapat tiga entitas yang terdiri dari pengunjung, user, dan admin. Database yang

digunakan adalah PostgreSQL/PostGIS.

Pengunjung

`

Web Browser

`

Web Browser

User

`

Web Browser

Admin

ServerInput data

Manegemen User dan Data

Informasi

Database

Koneksi Database

Gambar 3.3 Blok Diagram Database

3.3.2 Perancangan Basis Data

Aplikasi penentu rute terpendek Pariwisata Kota Malang ini dibangun

dengan menggunakan PostgreSQL/PostGIS sebagai system manajemen

databasenya, fungsi basisdata dalam aplikasi ini adalah untuk menyimpan data

Page 77: gis rute pendek.pdf

61

spasial dan data atribut beserta informasi yang terkait dengan obyek wisata dan

data jalan Kota Malang. Agar dalam implementasinya nanti basisdata dapat

berjalan dengan baik, maka sebelum proses perancangan basis data terlebih

dahulu perlu dilakukan pemodelan basis data yang akan dirancang. Untuk

pemodelan proses desain secara umum dilakukan dengan DFD (data flow

diagram).

Data Flow Diagram, menjelaskan secara logis bagaimana fungsi-fungsi

yang ada di sistem akan bekerja karena data flow diagram merupakan interpretasi

model logis (Logical Model) dari sebuah sistem.

Beberapa simbol yang digunakan dalam DFD antara lain:

Gambar 3.4 Simbol dalam DFD

(Teguh Wahyono:2004:83)

1. Diagram Konteks

Context diagram atau biasa disebut dengan diagram konteks adalah sebuah

gambaran kasar aliran data dan informasi yang akan dilakukan oleh sistem

basisdata yang akan dirancang. Berikut adalah diagram konteks sistem penentu

rute terpendek wisata kota malang.

0

Proses

Proses

1 Data Store

Penyimpanan Data

Sumber

Data

Sumber data / tujuan data

Aliran Data

Page 78: gis rute pendek.pdf

62

cek_pesa n

bal as_pe san

hak_akses_peng unjun g

inp ut_use r_dan _passwordinp ut_lokasi_awal

inp ut_lokasi_tuj uan

tam bah_o bjek_ wisata

info objek wisata

log in adm in

liha t agen da

log in use r

hak_akses_user

kon firmasi_login _user

pen gumu man

liha t_beri ta

rute _terefektif_a star

kon firmasi login admi n

inp ut_pen gumu man

data_keca mata n

data_obyek_wisata

inp ut_berita_user

tam bah_i nfo_o byek_wista

inp ut_age nda_ user

inp ut_pen gumu man_ user

inp ut_pesan

inp ut_age ndainp ut_berita

data_jala ninp ut_mo dul

1

web gis p enentu rute terefektif wisata ko ta mal ang

+

use r

adm in

pen gunju ng

Gambar 3.5 diagram konteks penentu rute terpendek

wisata kota malang

pada diagram konteks tersebut dapat dilihat bahwa proses aliran data dan

informasi Sistem Penentu rute terpendek wisata kota malang melibatkan tiga

sumber data, yaitu admin, user dan pengunjung. Admin memiliki peran

diantaranya untuk manajemen modul, input berita, input obyek wisata baru,

input pengumuman, input user dan password baru. Sementara user memiliki

peran yang hampir sama dengan admin dalam mengatur (manage) system,

akan tetapi hak akses user dalam mengatur informasi dan data pada system

adalah sebatas yang diberikan oleh admin.

2. DFD Terperinci

Data Flow Diagram atau biasa disebut DFD merupakan detil rancangan dari

diagram konteks yang telah dibuat yang didalamnya sudah memuat rancangan

Page 79: gis rute pendek.pdf

63

tabel basisdata yang akan diimplementasikan pada database yang akan dibuat.

Bentuk DFD level 1 dari Sistem Penentu Rute Terpendek Wisata Kota Malang

digambarkan sebagai berikut:

[ba las_pe san]

[cek_pesa n]

[ha k_akse s_pen gunjun g]

sim pan_p esan

[inp ut_use r_dan _password]

am bil_da ta_jal an

[inp ut_lokasi_awal]

[inp ut_lokasi_tu juan]

[tam bah_ objek_ wisata ]

am bil data loka siwisatasim pan da ta lokasiwisata

tam pilkan pesan

am bil data asta r

am bil data keca matan

sim pan da ta kecamata n

sim pan da ta jal an

am bil data info objek wisata

sim pan in fo obj ek wisa ta

[info obje k wisa ta]

sim pan ag enda

am bil data age ndaam bil data pen gumum an

sim pan pe ngum uman

am bil berita

sim pan be rita

baca data user

sim pan da ta use r

[log in adm in]

[da ta_jala n][da ta_kecamata n]

[kon firmasi login adm in]

[pe ngumu man][l ih at_berita]

[l ih at age nda]

[inp ut_pe san]

[rute_tere fektif_ astar]

[ha k_akse s_user]

[log in use r]

[kon firmasi_logi n_use r]

[da ta_obyek_wi sata]

[inp ut_pe ngum uman]

[tam bah_ info_o byek_ wista]

[inp ut_be rita_u ser]

[inp ut_pe ngum uman_ user]

[inp ut_ag enda_ user]

[inp ut_ag enda]

[inp ut_be rita]

[inp ut_mo dul]

adm in

pen gunju ng

use r

1.1

adm inistra tor

+

1.2

log in

1.3

peta

+

1.4

info rmasi

+

1 use rs

2 berita

3 pen gumu man

4 age nda

5 wst

6 asja lan

7 kecamata n

8 asta r_resu lt

10 hub ungi

11 loka siwisa ta

Gambar 3.6 DFD level 1 Sistem Penentu Rute Terpendek Wisata Kota

Malang

Pada level 1 terdapat empat proses yang teriri dari proses informasi, login,

administrator, dan peta rute.

a. Proses 4 menangani semua informasi dan data yang akan ditampilkan

diantaranya berita dan pengumuman, informasi objek wisata.

b. Proses 2 digunakan untuk mengecek login user dan admin untuk

mendpatkan hak akses data.

c. Proses 1 atau administrator digunakan sebagai tempat manajemen data

yang yang kemudian akan dipecah kembali menjadi beberapa sub sistem.

Page 80: gis rute pendek.pdf

64

d. Proses 3 di sini merupakan proses dalam manajemen informasi peta yang

nanti akan menampilkan hasil pencarian rute terpendek obyek wisata yang

diinputkan pengunjung. Berikut ini merupakan gambaran DFD level 2 dari

sub proses peta,

data_loka si_obj ek_wisata

[am bil_da ta_jal an]

sim pan_d ata_ru te_terpende k_asta r

[inp ut_lokasi_tu juan]

[inp ut_lokasi_awal]

[am bil da ta asta r]

[am bil da ta keca mata n]

[am bil da ta loka siwisa ta]

[tam bah_ objek_ wisata ]

[rute_tere fektif_ astar]

[da ta_jala n]

[da ta_kecamata n]

pen gunju ng

adm in

7 kecamata n

8 asta r_resu lt

11 loka siwisa ta

1.3 .1

We b GIS penen tu rute terefe ktif

+

1.3 .2

Lokasi_Ob jek_Wisata

1.3 .3

form _proses_rute_tere fektif

+

6 asja lan

Gambar 3.7 DFD level 2: subproses peta

Pada sub proses peta rute level 2 ini, sub proses peta rute di spesifikasikan

lagi dalam tiga sub proses yaitu sub proses Web GIS penentu rute terpendek,

form rute terpendek dan juga lokasi objek wisata. Sub proses web gis penentu

rute terpendek berfungsi menampilkan peta rute terpendek (menggunakan

fungsi astar) dengan mengambil data dari table astar_result hasil perhitungan

yang dilakukan di sub proses form proses rute terpendek, sementara sub

proses lokasi objek wisata menangani manajemen informasi oleh admin

berkaitan dengan posisi/lokasi objek wisata pada peta, meliputi manajemen

tambah objek wisata ataupun edit objek wisata.

Page 81: gis rute pendek.pdf

65

[am bil da ta asta r]

[am bil da ta kecamatan][da ta_kecamatan]

[rute_tere fektif_astar]

[da ta_jalan]

adm in

pengunjung

7 kecamatan

8 asta r_resu lt

1.3 .1.1

peta_rute_terefektif

Gambar 3.8 DFD level 3: subproses form_proses_rute_terpendek

Pada DFD level 3 diatas merupakan subproses yang menjelaskan proses

penampilan peta rute terpendek kepada pengunjung.

[da ta_loka si_ob jek_wi sata]

[am bil_da ta_ja lan]

[sim pan_d ata_rute_te rpend ek_astar]

[inp ut_lokasi_tu juan]

[inp ut_lokasi_awal]

pen gunju ng 8 asta r_resu lt

6 asja lan

Lokasi_Ob jek_Wisata

1.3 .3.1

apl ikasi_p enentu_rute _terefektif

Gambar 3.9 DFD level 3: subproses Web GIS penentu rute terpendek

Gambar diatas menunjukkan subproses WebGIS penentu rute terpendek,

terdapat subproses lagi yaitu subproses aplikasi penentu rute terpendek yang

menjelaskan proses penentuan rute terpendek objek wisata dari lokasi yang

diinputkan oleh pengunjung.

Page 82: gis rute pendek.pdf

66

Untuk subproses yang berkaitan dengan aliran data dan informasi

mengenai isi/konten web penentu rute terpendek wisata kota malang masing-

masing adalah sebagai berikut:

[ha k_akse s_pen gunju ng][da ta_obyek_wi sata]

[inp ut_pe ngum uman ]

[sim pan d ata lo kasiwi sata]

[sim pan d ata ke cama tan]

[sim pan d ata ja lan]

[sim pan i nfo ob jek wi sata]

[sim pan a genda ]

[sim pan p engum uma n]

[sim pan b erita]

[ha k_akse s_use r]

[sim pan d ata user]

[inp ut_user_dan _password][inp ut_be rita]

[inp ut_ag enda]

[inp ut_pe ngum uman _user]

[tam bah_ info_o byek_ wista]

[inp ut_be rita_u ser]

[inp ut_ag enda_ user]

[inp ut_mo dul]adm in

use r

1 use rs

2 berita

3 pen gumu man

4 age nda

5 wst

6 asja lan

7 kecamata n

11 loka siwisa ta

1.1 .1

info rmasi _wisata

1.1 .2

ma najem en_m odul

1.1 .3

data_use r pen gunju ng

Gambar 3.10 DFD level 2: subproses administrator

Pada level 2 proses administrator di pecah menjadi beberapa subproses yaitu

subproses data_user, manajemen_modul dan informasi wisata, subproses

manajemen_modul digunakan untuk mengatur menu yang akan di tampilkan pada

halaman web. Pada subproses informasi wisata terdapat beberapa aktifitas proses

data diantaranya adalah aktifitas penyimpanan data berita, agenda, pengumuman,

kemudian juga aktifitas untuk menambah dan menyimpan informasi objek wisata

yang akan ditampilkan pada halaman web.

Page 83: gis rute pendek.pdf

67

[ba las_pe san]

[cek_pesa n]

[sim pan_p esan]

[tam pilkan pesa n]

[am bil da ta info objek wisata ]

[am bil da ta pen gumu man]

[l ih at_berita]

[inp ut_pe san]

[info obje k wisata]

[pe ngumu man]

[l ih at age nda]

[am bil be rita]

[am bil da ta age nda]pen gunju ng

2 berita

3 pen gumu man

4 age nda

5 wst

10 hub ungi

4.1

berita

4.2

pen gumu man

4.3

age nda

4.4

tem pat_wisata

4.5

kon tak

adm in

Gambar 3.11 DFD level 2: subproses informasi

Pada level ini semua proses yang berhubungan dengan pengunjung di

kelompokkan ke dalam proses sendiri-sendiri, proses tersebut adalah:

1. Proses berita, digunakan untuk menampilkan berita kepada pengunjung

yang bersangkutan dengan pariwisata.

2. Proses pengumuman pengunjung yang merupakan proses yang digunakan

untuk menampilkan pengumuman kepada pengunjung situs.

3. Proses agenda, proses ini digunakan untuk menginformasikan segala

kegiatan yang akan diadakan di suatu objek wisata.

4. Proses tempat_wisata, proses ini digunakan untuk memberikan informasi

mengenai obyek wisata kota malang, meliputi foto objek wisata dan

keterangan yang berkaitan dengan objek wisata tersebut.

5. Proses kontak digunakan untuk memberikan layanan kepada pengunjung

yang membutuhkan informasi lebih lengkap dan proses ini akan langsung

ditangani oleh admin.

Page 84: gis rute pendek.pdf

68

3. Entity Relationship Diagram (ERD)

Entity Relationship Diagram (ERD) atau bisa disebut diagram E-R merupakan

model jaringan yang menggunakan susunan data yang disimpan dalam sistem

secara abstrak. Diagram E-R merupakan sebuah diagram yang menggambarkan

hubungan/relasi antar Entity, diagram E-R lebih menekankan pada struktur dan

hubungan antar data, berbeda dengan DFD yang merupakan model jaringan

fungsi yang akan dilaksanakan oleh sistem.

info_objek_wisata

input_posisi_objek

rute_astar

berita_user

peng umuman_user

agenda_user

age nda

id_ agend a

tem a

isi_ agend a

tem pat

tgl_ mula i

tgl_ selesa i

tgl_ postin g

id_ user1

pen gumu man

id_ pengu muma n

jud ul

isi

tan ggal

tgl_ postin g

id_ user2

use rs

id_ user

password

nam a_le ngkap

em ail

level

berita

id_ berita

id_ katego ri

jud ul

id_ user3

isi_ berita

gam bar

hari

tan ggal

jam

cou nter

hub ungi

id_ hubun gi

nam a

em ail

sub jek

pesan

tan ggal

mo dul

id_ modu l

nam a_m odul

link

stat ic_con tent

gam bar

pub lish

status

akti f

uru tan

loka siwisa ta

gid Lokasi

nam aloka si

the _geom

gam bar

asja lan

gid Jalan

nam a_ja lan

the _geom

sou rce

targ et

len gth

obj kwisata

x1

y1

x2

y2

reverse_cost

wst

id_ wst

nam awisa ta

kete ranga n

gam bar

asta r_resu lt

gid Astar

the _geomkecamata n

gid Kecam atan

batas_kec

are a

kecamata n

perimete r

hectares

the _geom

Gambar 3.12 ERD Penetu Rute Terpendek Wisata Kota Malang

Page 85: gis rute pendek.pdf

69

4. Tabel Data

Dari pemodelan dan perancangan system dengan menggunakan DFD dan juga

diagram ER dapat dibuat tabel-tabel yang akan digunakan dalam pembuatan

system aplikasi penentu rute terpendek pariwisata kota malang.

Dalam pembuatan Tugas Akhir ini, sistem manajemen basisdata (DBMS)

yang digunakan adalah PostgreSQL/PostGIS, nama file basisdata yang digunakan

adalah “malang” yang didalamnya sudah ditambahkan tabel geometry_columns,

Spatial_ref_sys, yang mana kedua tabel tersebut diperoleh dari template_postgis.

Data Shapefile kota malang yang akan dikonversi menjadi data tabel untuk

pembuatan aplikasi ini yaitu meliputi data Shapefile jalan (line), lokasi obyek

(point) dan area kecamatan (polygon) dibuat dengan menggunakan proyeksi

standar peta pada umumnya yaitu Projection of the world yang mana untuk

wilayah Indonesia umumnya menggunakan proyeksi UTM dengan datum WGS

84. Dan untuk peta malang sendiri memiliki extent (batas koordinat lintang dan

bujur) sebagai berikut:

Min X: 667009.588713 Max X: 692153.412599

Min Y:9107569.804038 Max Y: 9127676.976035

berikut adalah susunan masing-masing tabel:

1. Tabel vertice_tmp

Tabel 3.1 vertice_tmp

Name Data type Not Null? Primary key?

id Integer Yes Yes

the_geom geometry No No

Page 86: gis rute pendek.pdf

70

2. Tabel geometry_columns

Tabel 3.2 geometry_columns

Name Data type Not Null? Primary key?

f_table_catalog character varying(256) Yes Yes

f_table_schema character varying(256) Yes Yes

f_table_name character varying(256) Yes Yes

f_geometry_column character varying(256) Yes Yes

coord_dimension Integer Yes Yes

Type character varying(30) Yes No

Srid integer Yes No

3. Tabel Spatial_ref_sys

Tabel 3.3 Spatial_ref_sys

Name Data type Not Null? Primary key?

srid integer Yes Yes

Auth_name character varying(256) No No

auth_srid integer No No

srtext character varying(2048) No No

proj4text character varying(2048) No No

4. Tabel Users

Tabel 3.4 Users

Name Data type Not Null? Primary key?

id_user character varying(50) Yes Yes

password character varying(50) Yes No

nama_lengkap character varying(100) Yes No

email character varying(100) Yes No

level character varying(50) Yes No

5. Tabel Agenda

Tabel 3.5 Agenda

Name Data type Not Null? Primary key?

id_agenda integer Yes Yes

tema character varying(100) Yes No

isi_agenda text Yes No

Page 87: gis rute pendek.pdf

71

tempat character varying(100) Yes No

tgl_mulai date Yes No

tgl_selesai date Yes No

tgl_posting date Yes No

id_user character varying(50) Yes No

6. Tabel Hubungi

Tabel 3.6 Hubungi

Name Data type Not Null? Primary key?

id_hubungi Integer Yes Yes

nama character varying(50) Yes No

email character varying(100) Yes No

subjek character varying(100) Yes No

pesan Text Yes No

tanggal Date Yes No

7. Tabel Berita

Tabel 3.7 Berita

Name Data type Not Null? Primary key?

id_berita Integer Yes Yes

id_kategori Integer Yes No

id_user character varying(50) Yes No

judul Text Yes No

isi_berita Text Yes No

gambar character varying(100) Yes No

hari character varying(20) Yes No

tanggal Date Yes No

jam time without time zone Yes No

counter Integer Yes No

direktori character varying(100) Yes No

8. Tabel Modul

Tabel 3.8 Modul

Name Data type Not Null? Primary key?

id_modul Integer Yes Yes

nama_modul character varying(50) Yes No

Page 88: gis rute pendek.pdf

72

link character varying(100) Yes No

static_content Text No No

gambar character varying(100) No No

publish character varying(10) Yes No

status character varying(10) Yes No

aktif character varying(10) Yes No

urutan Integer Yes No

9. Tabel Pengumuman

Table 3.9 Pengumuman

Name Data type Not Null? Primary key?

id_pengumuman Integer Yes Yes

judul character varying(100) Yes No

isi Text Yes No

tanggal Date Yes No

tgl_posting Date Yes No

id_user character varying(50) Yes No

10. Tabel lokasiwisata

Table 3.10 lokasiwisata

Name Data type Not Null? Primary key?

gid Serial Yes Yes

id Integer No No

the_geom Geometry No No

namalokasi character varying(30) No No

gambar character varying(100) No No

11. Tabel asjalan

Table 3.11 asjalan

Name Data type Not Null? Primary key?

gid Serial Yes Yes

id Integer No No

the_geom Geometry No No

nama_jalan character varying(30) No No

source Integer No No

target Integer No No

length double precision No No

objkwisata character varying(40) No No

Page 89: gis rute pendek.pdf

73

x1 Double precision No No

y1 Double precision No No

x2 Double precision No No

y2 Double precision No No

reverse_cost Double precision No No

to_cost Double precision No No

rule Text No No

12. Tabel kecamatan

Table 3.12 kecamatan

Name Data type Not Null? Primary key?

gid Serial Yes Yes

batas_k_id small integer No No

area double precision No No

kecamatan character varying(30) No No

perimeter double precision No No

hectares double precision No No

the_geom Geometry No No

13. Tabel wst

Table 3.13 wst

Name Data type Not Null? Primary key?

Id_wst Integer Yes Yes

namawisata character varying(40) No No

keterangan Text No No

gambar character varying(100) No No

14. Tabel astar_result

Table 3.14 astar_result

Name Data type Not Null? Primary key?

Gid Integer Yes Yes

the_geom Geometry No No

Page 90: gis rute pendek.pdf

74

BAB IV

HASIL DAN PEMBAHASAN

4.1 Implementasi

Implementasi merupakan proses pembangunan komponen-komponen pokok

sebuah sistem informasi berdasarkan desain yang sudah di buat. Implementasi

sistem juga merupakan sebuah proses pembuatan dan penerapan system secara

utuh baik dari sisi perangkat keras maupun perangkat lunaknya. Pada tahap ini

juga dilakukan langkah persiapan sumber daya manusia dari yang menjalankan

sistem tersebut. Pada bab ini akan dibahas hal-hal yang berkaitan dengan web

Sistem Informasi Geografis untuk pencarian rute terpendek Pariwisata di kota

malang pada sebuah peta geografis beserta Sistem Informasi Pariwisata di kota

malang.

Implementasi yang akan dijelaskan disini meliputi lingkungan perangkat

keras dan lingkungan perangkat lunak.

4.1.1 Ruang Lingkup Perangkat Keras

Perangkat keras yang digunakan dalam pengembangan system informasi

geografis penentu kunjungan wisata jawa timur ini adalah sebagai berikut.

1. Prosesor AMD 2500+ 1.40 Ghz

2. RAM 512 MB

3. Kartu Grafis (VGA) NVIDIA GeForce FX 5200

4. Hardisk Seagate barracuda dengan Kapasistas 80 GB

5. Monitor 15” dengan resolusi 1024 x 768 pixels

6. Keyboard

7. Mouse PS2

Page 91: gis rute pendek.pdf

75

4.1.2 Ruanglingkup Perangkat Lunak

Perangkat lunak yang digunakan antara lain :

1. Sistem Operasi Windows XP

2. MapServer 5.2.1

PHP 5.2.6

Apache 2.2.10

3. PostgreSQL 8.2.11-1

4. PgRouting-1.02_pg-8.2.9

5. Framework Chameleon

6. Macromedia Dreamweaver MX 6.0

Cara penginstalan MapServer, PostgreSQL/PostGIS, Chameleon terlampir.

4.1.3 Implementasi Database

Sebelum menggunakan fungsi A Star yang ada pada modul pgRouting

terlebih dahulu harus dipersiapkan data tabel jalan yang akan dicari rutenya, data

tabel jalan tersebut bisa diperoleh dengan konversi data shapefile ke tag SQL

dengan menggunakan aplikasi tambahan dari PostgreSQL/PostGIS yaitu aplikasi

shp2pgsql. Data peta dari ArcView tersebut minimal terdiri dari tiga data peta

yaitu *.shp, *.shx, dan *.dbf. Sehingga data dari ArcView akan tersimpan dalam

bentuk tag SQL dan semua data peta yang bertipe titik, garis dan poligon akan

dirubah ke dalam format WKT (Well Known Text). Langkah-langkah dlam

proses konversi data disertakan dalam lampiran.

Page 92: gis rute pendek.pdf

76

Gambar 4.1 Diagram Konversi Data

Pada database „malang” data tabel jalan hasil konversi bernama “tabel asjalan”,

langkah berikutnya setelah data tabel jalan terbentuk adalah menambahkan

fungsionalitas routing pada database "malang" dengan cara memanggil dan

mengeksekusi routing_core.sql dan routing_core_wrapper.sql yang ada di folder

postgreSQL\8.2\share\contrib, setelah menambahkan fungsionalitas routing pada

database “malang”, langkah berikutnya adalah menambahkan kolom-kolom

tertentu pada “tabel asjalan” agar tabel tersebut mampu menjalankan

fungsionalitas routing, diantara kolom-kolom yang harus ditambahakan adalah

sebagai kolom source, terget, length dengan perintah berikut ini:

ALTER TABLE asjalan ADD COLUMN source integer;

ALTER TABLE asjalan ADD COLUMN target integer;

ALTER TABLE asjalan ADD COLUMN length double precision;

kemudian setelah menambahkan kolom-kolom tersebut tahap selanjutnya adalah

membuat topologi jaringan jalannya dengan perintah berikut:

SELECT assign_vertex_id ('asjalan', 0.001, 'the_geom',

'gid');

UPDATE asjalan SET length = length(the_geom);

perintah tersebut akan merubah setting kolom length yang semula berisi data

bertipe Double Precision menjadi data dengan tipe geometry, selanjutnya adalah

membuat index untuk masing-masing kolom source dan target dengan perintah:

Page 93: gis rute pendek.pdf

77

CREATE INDEX source_idx ON asjalan(source);

CREATE INDEX target_idx ON asjalan(target);

CREATE INDEX geom_idx ON asjalan USING GIST (the_geom

GIST_GEOMETRY_OPS);

untuk menjalankan fungsi routing menggunakan fungsi A Star, hal yang perlu

dilakuakn adalah menambahkan kolom x1, x2, y1, y2 pada “tabel asjalan” dengan

perintah berikut:

ALTER TABLE asjalan ADD COLUMN x1 double precision;

ALTER TABLE asjalan ADD COLUMN y1 double precision;

ALTER TABLE asjalan ADD COLUMN x2 double precision;

ALTER TABLE asjalan ADD COLUMN y2 double precision;

Penambahan kolom-kolom x dan y tersebut karena fungsi A Star

memperhatikan koordinat sumbu x dan y dalam operasinya, dimana:

x1: x koordinat titik awal(start point) tabel asjalan

y1: y koordinat titk awal(start point) tabel asjalan

x2: x koordinat titik akhir(end point) tabel asjalan

y2: y koordinat titik akhir(end point) tabel asjalan

setelah tabel dibuat maka langkah selanjutnya adalah meng-update dan mengatur

tabel data tabel tersebut yang semula bertipe Double Precision sebagai data

dengan tipe geometry dengan perintah:

UPDATE asjalan SET x1 = x(startpoint(the_geom));

UPDATE asjalan SET y1 = y(startpoint(the_geom));

UPDATE asjalan SET x2 = x(endpoint(the_geom));

UPDATE asjalan SET y2 = y(endpoint(the_geom));

setelah selesai menambahkan kolom-kolom yang dibutuhkan pada tabel “asjalan”,

tahap selanjutnya adalah menjalankan query A Star dengan ketentuan query

sebagai berikut:

SELECT * FROM shortest_path_astar('

Page 94: gis rute pendek.pdf

78

SELECT gid as id,source::integer,target::integer,

length::double precision as cost,

x1, y1, x2, y2

FROM asjalan',23, 12, false, false);

Query diatas akan memilih jalan/rute yang paling efektif untuk dilalui

antara jalan dengan source id “23” menuju jalan dengan target id “12” pada tabel

“asjalan” menggunakan fungsi shortest_path_astar. Hasil query pada PostgreSQL

menunjukkan waktu yang dibutuhkan untuk eksekusi adalah 16 ms (milisecond)

dan didapatkan 10 baris vertex_id/gid (berarti rute terpendek didapatkan dengan

melewati 10 garis jalan).

4.1.4 Implementasi Antarmuka

Implementasi antarmuka dibagi menjadi 3 bagian yaitu antar muka admin,

user, dan pengunjung.

a. Halaman Utama Admin

Halaman ini hanya bisa diakses oleh administrator yang mempunyai

kewenangan dalam menangani semua aliran data dan informasi. Menu-

menu yang disediakan dalam halaman ini antara lain:

1. Manajemen User

Disini admin berwenang dalam manajemen user yang meliputi

menambah, edit dan menghapus user.

2. Modul

Halaman dimana admin melakukan manajemen konten atau isi web,

seperti mengatur menu yang akan ditampilkan dan mengatur hak akses

di setiap menu.

Page 95: gis rute pendek.pdf

79

3. Berita

Di halaman ini admin dapat melihat semua berita yang di masukkan

oleh user, selain itu admin juga berhak dalam menambah, meng-edit,

serta menghapus semua berita.

4. Agenda dan pengumuman

Di halaman ini admin dapat melihat semua agenda dan atau berita di

setiap objek wisata yang di masukkan oleh user dan memiliki

wewenang penuh dalam menambah, mengedit, serta menghapus semua

agenda dan pengumuman.

5. Hubungi kami

Halaman untuk komunikasi antara pengunjung dengan pengelola

sistem, digunakan untuk menerima dan membalas pertanyaan dan

saran dari user dan pengunjung.

6. Objek Wisata Malang

Halaman yang digunakan admin dalam mengatur semua data dan

informasi yang berkaitan dengan objek wisata di kota malang.

7. Rute Astar

Halaman untuk menampilkan data angka hasil pencarian terpendek

menggunakan algoritma astar, data tersebut diambil dari data tabel

basisdata.

Page 96: gis rute pendek.pdf

80

Gambar 4.2 Menu Utama Admin

8. Posisi Objek Wisata

Halaman ini digunakan untuk menyimpan data spasial posisi objek

wisata yang ditampilkan pada peta, disini admin dapat melakukan

manajemen data (insert, edit, dan delete) obyek wisata.

9. Modul Jalan

Halaman dimana informasi terkait data spasial jalan yang digunakan

dalam pencarian rute erefektif ditampilkan dalam bentuk data angka-

angka (digital). Fungsi penampakan data jalan ini adalah agar admin

mudah dalam melakukan manajemen posisi obyek wisata pada peta.

b. Halaman Utama User

Menu yang terdapat pada halaman user antara lain:

1. Berita, Agenda, dan Pengumuman

Pada halaman ini user mempunyai hak akses penuh terhadapat berita

yang ditus dengan menggunakan usernya sendiri sehingga tidak

mempunyai akses terhadap berita yang dimasukkan oleh user lainnya.

Page 97: gis rute pendek.pdf

81

2. Posisi Obyek Wisata

Pada halaman ini user memiliki hak yang sama dengan admin dalam

melakukan manjemen data yang berkaitan dengan posisi obyek wisata

pada peta.

3. Obyek Wisata Malang

Pada halaman ini user juga memiliki kewenangan dalam manajemen

data dan informasi yang berkaitan dengan objek wisata di kota malang.

Gambar 4.3 Halaman Utama Untuk User

Kode Program dari form user dan admin

<?php

session_start();

if (empty($_SESSION[namauser]) AND empty($_SESSION[passuser])){

echo "<link href='../config/adminstyle.css' rel='stylesheet'

type='text/css'>

<center>Untuk mengakses modul, Anda harus login <br>";

echo "<a href=index.php><b>LOGIN</b></a></center>";

}

else{

?>

<html>

<head>

<title>=@= Administrator Kota Malang Routefinder =@=</title>

<link href="../config/adminstyle.css" rel="stylesheet"

type="text/css" />

Page 98: gis rute pendek.pdf

82

</head>

<body>

<div id="header">

<div id="content">

<?php include "content.php"; ?>

</div>

<div id="menu">

<ul>

<li><a href=?module=home>&#187; Home</a></li>

<?php include "menu.php"; ?>

<li><a href=signout.php>&#187; Logout</a></li>

</ul>

<p>&nbsp;</p>

</div>

<div id="footer"> Copyright &copy; 2009 by Administrator Of Kota

Malang RouteFinder

cReator</strong><br/>

</div></div>

</body>

</html>

<?

}

?>

c. Halaman Utama Pengunjung

Di halaman ini Pengunjung hanya dapat mengakses menu-menu

yang telah disediakan oleh admin, menu-menu tersebut diantaranya:

1. Home

2. Profil Kota Malang

3. Peta

4. Rute A Star

5. Berita

6. Agenda

7. Pengumuman

8. Hubugi Kami

Page 99: gis rute pendek.pdf

83

Gambar 4.4 Halaman Utama Untuk Pengunjung

Kode program untuk halaman utama pengunjung, diambil dari file index1.php

<? include "header.php"; ?>

<div id="content-wrap">

<div id="content">

<? include "sidebars.php"; ?>

<div id="main">

<div class="post">

<? include "kanan.php"; ?>

</div></div>

</div></div>

<? include "footers.php"; ?>

Page 100: gis rute pendek.pdf

84

4.2 Pembahasan

Setelah pada bagian sebelumnya dijelaskan tentang kebutuhan database

untuk menjalankan fungsi shortest_path_astar, maka pada bagian ini akan

dijelaskan mengenai implementasi dan cara kerja fungsi shorterst_path_astar yang

ada dlam modul PgRouting dalam menyelesaikan masalah routing geografis

untuk menentukan rute terpendek pariwisata kota malang. Selain itu juga akan

dibahas mengenai fungsi dari masing-masing form yang ada di sistem beserta

Kode Program proses.

4.2.1 Input Data

a. Form Input Objek Wisata Ke dalam Peta

Gambar 4.5 Form Input Objek Wisata Kedalam Peta

Form ini digunakan untuk menginputkan Objek Wisata kedalam peta,

parameter-parameter yang digunakan dalam input obyek wisata baru

kedalam peta adalah:

1. Textfield untuk input gid lokasi wisata

2. Kemudian, Textfield untuk mengisikan nama obyek wisata yang akan

diinput pada peta.

Page 101: gis rute pendek.pdf

85

3. Selanjutnya adalah Textfield untuk memasukkan koordinat bujur dan

lintang lokasi wisata, koordinat lokasi harus sesuai dengan data yang

ada di lapangan.

Kode program proses simpan input obyek wisata baru tersebut adalah

sebagai berikut:

//Input Objek Wisata

elseif ($module=='ObjekWst' AND $act=='inputObjk'){

include "../config/koneksi.php";

pg_query("INSERT INTO lokasiwisata(gid, namalokasi,

the_geom)

VALUES('$_POST[gid]','$_POST[namalokasi]',

GeomFromText('POINT($_POST[ltng] $_POST[bjr])'))");

header('location:media.php?module=Objek_wisata');

}

b. Form Tambah Informasi Obyek Wisata

Berbeda dengan form tambah obyek wisata pada peta, form ini

berfungsi menambah obyek wisata dari segi informasi tentang suatu

obyek, seperti profil obyek wisata, foto obyek, dan keterangan lain yang

berkaitan dengan obyek. Berikut adalah gambar form tambah informasi

obyek wista,

Gambar 4.6 Form Input Informasi Objek Wisata

Page 102: gis rute pendek.pdf

86

Kode program dari form input informasi obyek wisata diatas adalah

sebagai berikut:

// Form Tambah informasi

elseif ($_GET[act]=='tambahinformasi'){

echo "<h2>Tambah Informasi Obyek Wisata</h2>

<form method=POST

action='aksi.php?module=informasi&act=input'

enctype='multipart/form-data'>

<table>

<tr><td>ID Lokasi</td> <td> : <input type=text

name=id size=60></td></tr>

<tr><td>Nama Lokasi</td> <td> : <input type=text

name=nama size=60></td></tr>

<tr><td>Keterangan</td><td> : <textarea

name=keterangan cols=80 rows=18></textarea></td></tr>

<tr><td>Gambar</td> <td> : <input type=file

name=fupload size=40></td></tr>

<tr><td colspan=2><input type=submit value=Simpan>

<input type=button value=Batal

onclick=self.history.back()></td></tr>

</table>

</form>";

}

c. For m Tambah Modul

Form tambah modul digunakan administrator dalam mengatur konten

dari web/sistem, meliputi menambah dan menampilkan menu yang dapat

di akses oleh user dan pengunjung. Berikut adalah penjelasan dari form

tambah modul:

1. Nama modul merupakan nama atau label dari menu yang akan

ditampilkan pada halaman web.

2. Link, digunakan untuk memasukkan alamat modul yang akan

ditampilkan.

3. Publish, apabila dipilih radio button Y maka link akan di tampilkan

di menu pengunjung dan user jika N maka sebalikanya.

4. Aktif, menu akan aktif bila radio button Y di pilih, jika N maka

sebaliknya.

Page 103: gis rute pendek.pdf

87

5. Status, memberikan keterangan mengenai hak akses suatu modul,

apakah modul bisa diakses oleh user atau tidak.

Gambar 4.7 Form Tambah Modul

elseif ($module=='modul' AND $act=='input'){

pg_query("INSERT INTO modul(nama_modul,

link,

publish,

aktif,

status,

urutan)

VALUES('$_POST[nama_modul]',

'$_POST[link]',

'$_POST[publish]',

'$_POST[aktif]',

'$_POST[status]',

'$_POST[urutan]')");

header('location:media.php?module='.$module);}

4.2.2 Pencarian Rute Terpendek menggunakan Fungsi A Star

Pembahasan mengenai pencarian rute terpendek wisata kota malang

menggunakan fungsi A Star akan dijelaskan mulai dari proses input lokasi

obyek yang dilakukan pengunjung hingga penampakan hasil pencarian pada

peta. Berikut adalah urutan proses pencarian rute terpendek tersebut:

Page 104: gis rute pendek.pdf

88

1. Input lokasi

Tahap awal yang dilakukan pengunjung yang ingin mencari rute

terpendek Pariwisata Kota Malang adalah dengan melakukan input lokasi

awal dan lokasi tujuan, berikut ini adalah form input data awal pencarian

rute terpendek.

Gambar 4.8 Form Rute A Star

Berikut adalah kode program untuk form input lokasi pencarian rute

terpendek menggunakan fungsi A Star

<tr>

<td class=judul_head>&#187; Pencarian Rute Terpendek

dengan Algoritma A-Star</td></tr>

<form action= aksiAstar.php method="post"

enctype='multipart/form-data'> <table class="tb1"

border="0" cellspacing="1" cellpadding="5"width="68%">

<tr><td height="30" colspan="6"><div

align="center"><strong>&raquo; Find Your Location Here

&laquo; </strong></div></td></tr>

<tr> <td height="10" colspan="6" ></td>

</tr><tr>

<td width="30%" class="hr"><?php echo

htmlspecialchars("Lokasi Awal")."&nbsp;" ?></td>

<td width="70%" colspan="5" class="dr"><? echo"

Page 105: gis rute pendek.pdf

89

<select name=srcID>

<option value=0 selected>- Pilih Obyek Wisata -

</option>";

$tampil=pg_query("SELECT source, objkwisata FROM

asjalan ORDER BY objkwisata");

while($r=pg_fetch_array($tampil)){

echo "<option

value=$r[source]>$r[objkwisata]</option>";

} echo "</select>" ?></td>

</tr>

<tr> <td height="29" class="hr"><?php echo

htmlspecialchars("Lokasi Tujuan")."&nbsp;" ?></td>

<td width="70%" colspan="5" class="dr"> <? echo"

<select name=trgID>

<option value=0 selected>- Pilih Obyek Wisata -

</option>";

$tampil=pg_query("SELECT source, objkwisata FROM

asjalan ORDER BY objkwisata");

while($r=pg_fetch_array($tampil)){

echo "<option

value=$r[source]>$r[objkwisata]</option>";

}

echo "</select>" ?> </td> </tr>

<tr> <td colspan="6" class="hr">&nbsp; </td>

</tr></table>

<p> <input type="submit" name="action" value="<?php

echo "Find Route" ?>"> <input type=button

value=Batal onclick=self.history.back()>

</p>

</form>

<tr> <td class=kembali>&nbsp;</td>

<td class=kembali>&nbsp;</td>

<td class=kembali><br>

[ <a href=javascript:history.go(-1)>Kembali</a> ]</td>

</tr> </table>

2. Hasil pencarian rute terpendek

Setelah melakukan input lokasi awal dan lokasi tujuan kemudian

menekan tombol “find route”, maka system akan menampilkan form hasil

pencarian rute terpendek pariwisata Kota Malang. Adapun tampilan hasil

pencarian rute terpendek menggunakan fungsi shortest path astar

ditunjukkan seperti pada gambar berikut ini:

Page 106: gis rute pendek.pdf

90

Gambar 4.9 Form Hasil Pencarian Rute Terpendek Astar

Gambar diatas menunjukkan hasil pencarian rute terpendek dengan input

lokasi awal dari MOG dengan input lokasi tujuan MUSEUM MPU

PURWA, dan hasil yang ditampilkan dari pencarian rute terpendek

tersebut berupa jarak tempuh antara kedua obyek wisata sejauh

± 6.32821250421735 Km dengan nama-nama jalan (trayek) yang bisa

dilewati dari MOG menuju MUSEUM MPU PURWA adalah seperti yang

ditampilkan pada gambar diatas. Kemudian untuk melihat hasil pencarian

pada peta, dapat dilakukan dengan mengklik link “peta”.

Berikut ini adalah skrip program untuk mencari rute terpendek

pariwisata kota malang dengan menggunakan algoritma A Star pada

modul PgRouting:

<html xmlns="http://www.w3.org/1999/xhtml">

<head><style type="text/css">

#map {

margin:10px 15px; padding: 0;

border: 1px solid #f2f2f2;

Page 107: gis rute pendek.pdf

91

background-color: #FAFAFA;

font: normal 0.8em 'Trebuchet MS', Tahoma, Sans-

serif;

}

#result {

margin:10px 15px; padding: 0;

background-color: #FAFAFA;

font: normal 0.9em 'Trebuchet MS', Tahoma, Sans-

serif;

}

</style>

</head><body>

<?php

include "config/koneksi.php";

pg_query("DROP TABLE IF EXISTS astar_result;");

pg_query("CREATE TABLE astar_result(gid int4) with

oids;");

pg_query("SELECT AddGeometryColumn('astar_result',

'the_geom', '2276', 'MULTILINESTRING', 2);");

pg_query("INSERT INTO astar_result(the_geom)

SELECT the_geom FROM astar_sp('asjalan',

$_POST[srcID], $_POST[trgID]);");

pg_query("SELECT sum(length(the_geom))/1000 AS km_roads

FROM astar_result;");

?>

<form id="map" method="post" action="star1.php"

enctype='multipart/form-data'>

<table width="58%" border="0" cellspacing="0"

cellpadding="0">

<tr>

<td colspan="2" align="center">Hasil Pencarian Rute

Terpendek dengan Algoritma A*</td>

</tr> <tr><td colspan="2">&nbsp;</td> </tr>

<tr> <td width="33%">Lokasi Awal :</td>

<td width="65%"><? echo "<input type=text name=awal

size=40 value='$_POST[srcID]'>"; ?>

</td></tr>

<tr><td>Lokasi Akhir:</td>

<td><? echo "<input type=text name=awal size=40

value='$_POST[trgID]'>"; ?>

</td></tr>

<tr> <td>Total Jarak:</td>

<td>

<?

$tampil=pg_query("SELECT

sum(length(the_geom))/1000 AS km_roads FROM

astar_result");

while ($r=pg_fetch_array($tampil)){

echo "<input type=text name=jarak size=40

value='$r[km_roads]'>";

}

?>

</td></tr>

<tr><td valign="top">Trayek :</td>

<td> <?

$tampil=pg_query("select nama_jalan

Page 108: gis rute pendek.pdf

92

from asjalan,astar_result where asjalan.the_geom =

astar_result.the_geom;");

while($s=pg_fetch_array($tampil)){

echo "&lt;$s[nama_jalan]&gt;";

}

?>

</td> <tr> <td>&nbsp;</td><td>&nbsp; </td>

</tr></tr> <tr>

<td><input name="simpan" type="submit"

value="Simpan"></td> </tr> </table>

</form>

<form id="result">

<?

$buka=pg_query("SELECT source, objkwisata from asjalan

where source='$_POST[srcID]'");

while ($s=pg_fetch_array($buka)){

echo "Lokasi Keberangkatan anda adalah : <tr><td>

$s[objkwisata] </td></tr><br>";

$buka=pg_query("SELECT source, objkwisata from asjalan

where source='$_POST[trgID]'");

while ($s=pg_fetch_array($buka)){

echo "dan lokasi Tujuan anda adalah : $s[objkwisata]

<br>";

$buka=pg_query("SELECT sum(length(the_geom))/1000 AS

km_roads FROM astar_result");

while ($s=pg_fetch_array($buka)){

echo "Jarak Tempuh Antar Lokasi adalah :

&plusmn;&nbsp;$s[km_roads] Km <br><br><br>";

}}}

echo"Silahkan Lihat Rute perjalanan anda pada

[ <a

href=http://localhost:2000/Malang/chameleon/Rute/htdocs>P

eta</a> ]";

echo" <br> <tr><td class=kembali><br>

[ <a href=javascript:history.go(-1)>Kembali</a>

]</td></tr>";

?>

</form></body>

</html>

3. Preview hasil pencarian rute terpendek astar pada peta

Gambar berikut ini merupakan preview hasil pencarian rute terpendek

dengan lokasi awal dari MOG dan lokasi tujuan MUSEUM MPU

PURWA, rute terpendek antara kedua lokasi digambarkan dengan garis

dengan warna ungu yang menghubungkan obyek wisata (gambar kotak

berwarna merah).

Page 109: gis rute pendek.pdf

93

Gambar 4.10 Preview Rute Terpendek Astar pada halaman peta

Untuk bisa menampilkan hasil routing A Star pada peta seperti pada

gambar diatas dilakukan dengan menambahkan layer baru pada mapfile

yang dengan data berasal dari tabel astar_result yang merupakan tabel

yang berisi data-data hasil pencarian rute dengan menggunakan fungsi

astar, berikut adalah potongan skrip layer Astar pada mapfile :

LAYER

NAME "A-STAR"

GROUP "line"

STATUS ON

TYPE LINE

CONNECTIONTYPE POSTGIS

CONNECTION "user=postgres dbname=malang host=localhost

port=5432 password=root"

DATA "the_geom from astar_result using unique gid"

PROJECTION

"proj=latlong"

END

CLASS

NAME "astar"

#TEMPLATE "ttt_query.html"

Page 110: gis rute pendek.pdf

94

LABEL

TYPE TRUETYPE

FONT "sans-italic"

SIZE 8

POSITION AUTO

COLOR 0 0 0

PARTIALS FALSE

END

STYLE

SYMBOL "circle"

COLOR 155 0 145

ANTIALIAS TRUE

END

END

END

4.2.3 Edit Data

Fungsi dari form edit data pada masing-masing modul adalah untuk

merubah informasi dan juga data pada masing-masing modul tersebut jika ada

kekurangan maupun terjadi kesalahan input data, sehingga isi dari form edit

data pada setiap modul mempunyai fungsi yang sama dengan isi dari form

input datanya. Berikut adalah form edit data yang ada pada masing-masing

modul:

a. Form Edit Informasi Obyek Wisata

Gambar 4.11 Form Edit Informasi Obyek Wisata

Page 111: gis rute pendek.pdf

95

Berikut adalah potongan kode program untuk Form Edit informasi obyek

wisata:

//edit informasi wisata

elseif ($module=='informasi' AND $act=='input'){

$lokasi_file = $_FILES['fupload']['tmp_name'];

$nama_file = $_FILES['fupload']['name'];

if (!empty($lokasi_file)){

move_uploaded_file($lokasi_file,"foto_berita/$nama_file");

pg_query("INSERT INTO wst(id_wst,

namawisata,

keterangan,

gambar)

VALUES('$_POST[id]',

'$_POST[nama]',

'$_POST[keterangan]',

'$nama_file')");

}

else{

pg_query("INSERT INTO wst(id_wst,

namawisata,

keterangan)

VALUES('$_POST[id]',

'$_POST[nama]',

'$_POST[keterangan]'");

} header('location:media.php?module='.$module);

}

elseif ($module=='informasi' AND $act=='update'){

$lokasi_file = $_FILES['fupload']['tmp_name'];

$nama_file = $_FILES['fupload']['name'];

// Apabila gambar tidak diganti

if (empty($lokasi_file)){

pg_query("UPDATE wst SET id_wst = '$_POST[id]',

namawisata = '$_POST[nama]',

keterangan = '$_POST[keterangan]'

WHERE id_wst = '$_POST[id]'");

}

else{

move_uploaded_file($lokasi_file,"foto_berita/$nama_file");

pg_query("UPDATE wst SET id_wst = '$_POST[id]',

namawisata = '$_POST[nama]',

keterangan = '$_POST[keterangan]',

gambar = '$nama_file'

WHERE id_wst = '$_POST[id]'");

}

header('location:media.php?module='.$module);

}

Page 112: gis rute pendek.pdf

96

b. Form Edit Posisi Obyek Wisata

Gambar 4.12 Form Edit Posisi Obyek Wisata

Form edit posisi obyek wisata digunakan untuk mengatur posisi

obyek wisata pada peta berdasarkan kooordinat lintang bujur. Dan

yang mempunyai hak untuk melakukan edit posisi tersebut adalah

administrator saja.

Berikut ini adalah potongan kode program untuk form edit posisi

obyek wisata pada peta:

elseif ($module=='UpdateObjkWst' AND

$act=='updateobjkwst'){

pg_query("UPDATE lokasiwisata SET namalokasi =

'$_POST[obyek]', the_geom =

GeomFromText('$_POST[koordinatupdate]')

WHERE gid = '$_POST[id]'");

header('location:media.php?module=Objek_wisata');

}

c. Form Edit Data Jalan

Form edit data jalan digunakan untuk mengatur gid obyek wisata pada

jalan agar dapat diidentifikasi source dan target-nya sehingga bisa

dilakukan pencarian rute (routing) pada obyek wisata tersebut.

Page 113: gis rute pendek.pdf

97

Gambar 4.13 Form Edit Data Jalan

Berikut ini adalah potongan kode form edit data jalan:

elseif ($module=='updatejalan' AND $act=='updatejln'){

pg_query("UPDATE asjalan SET

objkwisata = '$_POST[objkwst]'

WHERE gid = '$_POST[id]'");

header('location:media.php?module=jalan');}

d. Form Edit Modul

Gambar 4.14 Form Edit Modul

Form edit modul berfungsi untuk mengatur konten atau isi web penetu

rute terpendek pariwisata kota malang.

Page 114: gis rute pendek.pdf

98

e. Form Edit Pengumuman

Gambar 4.15 Form Edit Pengumuman

4.2.4 Tampilan Peta

a. Tampilan Peta Standar

Gambar 4.16 Peta Standart

Page 115: gis rute pendek.pdf

99

Gambar diatas merupakan tampilan standar halaman peta pada aplikasi

penentu rute terpendek pariwisata kota malang, layer-layer yang ditampilkan

meliputi layer jalan (berwarna kelabu), obyek wisata (kotak warna merah), rute

astar (garis warna ungu), dan layer batas kecamatan di kota malang dengan

warna yang biru yang berbeda-beda pada masing-masing kecamatan.

Kode Program untuk menampilkan peta:

<?php

include( "../../htdocs/chameleon.php" );

$szTemplate = "./body.php";

$szMapFile = "../map/JalanMalang.map";

class SampleApp extends Chameleon

{

function SampleApp()

{

parent::Chameleon();

$this->moMapSession = new MapSession_RW;

$this->moMapSession->setTempDir(

getSessionSavePath());

}

}

$oApp = new SampleApp();

$oApp->registerSkin( 'skins/sample' );

$oApp->CWCInitialize( $szTemplate, $szMapFile );

$oApp->CWCExecute();

?>

b. Hasil query obyek Jalan pada peta

Gambar berikut merupakan hasil query pada peta, hasil query ini berisi

atribut yang merupakan informasi tentang layer-layer yang ada pada

peta. Gambar dibawah adalah contoh hasil query yang dilakukan pada

jalan dengan nama jalan: JL. SAXOFONE, gid 95, source: 103, target:

100 .

Page 116: gis rute pendek.pdf

100

Gambar 4.17 Hasil Query Pada data Jalan

c. File index.phtml

Dalam merancang sebuah aplikasi web-based GIS menggunakan

framework chameleon, perancang aplikasi memerlukan file-file

pendukung yang mencakup mapfile (.map), file template (.html), file

inisialisasi (.phtml). mapfile adalah file yang berisi setting layer-layer

peta, file template berisi template yang digunakan dalam membuat aplikasi

web, kemudian File index.phtml adalah file inisialisasi yang dalam

kodenya sudah mencakup file chameleon.php, file ini berfungsi

memanggil mapfile (file .map) dan juga file template yang digunakan,

kemudian melakukan parsing terhadap file template ke dalam aplikasi

yang sesuai dengan format HTML.

Page 117: gis rute pendek.pdf

101

File index.phtml

<?php

include( "../../htdocs/chameleon.php" );

$szTemplate = "./body.php";

$szMapFile = "../map/JalanMalang.map";

class SampleApp extends Chameleon

{

function SampleApp()

{

parent::Chameleon();

$this->moMapSession = new MapSession_RW;

$this->moMapSession->setTempDir(

getSessionSavePath());

}

}

$oApp = new SampleApp();

$oApp->registerSkin( 'skins/sample' );

$oApp->CWCInitialize( $szTemplate, $szMapFile );

$oApp->CWCExecute();

?>

d. File JalanMalang.map

MAP

NAME "MALANG"

STATUS ON

EXTENT 667009.588713 9107569.804038 692153.412599

9127676.976035

SIZE 500 400

SHAPEPATH "../data"

SYMBOLSET "../etc/symbols.sym"

FONTSET "../etc/fonts.txt"

IMAGETYPE PNG

IMAGECOLOR 255 255 255

REFERENCE

IMAGE "images/index.jpg"

EXTENT 667009.588713 9107569.804038 692153.412599

9127676.976035

STATUS ON

SIZE 110 130

COLOR -1 0 0

OUTLINECOLOR 255 0 0

END

QUERYMAP

COLOR 27 0 120

STYLE HILITE

END

PROJECTION

Page 118: gis rute pendek.pdf

102

"proj=latlong"

END

LEGEND

STATUS ON

KEYSIZE 18 12

LABEL

TYPE BITMAP

SIZE MEDIUM

COLOR 125 255 0

END

END

SCALEBAR

STATUS ON

COLOR 150 150 150

OUTLINECOLOR 0 0 0

BACKGROUNDCOLOR 255 250 255

IMAGECOLOR 50 50 50

UNITS KILOMETERS

INTERVALS 5

SIZE 150 5

LABEL

SIZE SMALL

COLOR 0 0 0

END

END

LAYER

NAME "Kecamatan"

GROUP "polygon"

#STATUS ON

TYPE POLYGON

DATA "the_geom FROM kecamatan USING UNIQUE gid"

CONNECTIONTYPE POSTGIS

CONNECTION "user=postgres dbname=malang

host=localhost port=5432 password=root"

CLASSITEM "gid"

LABELITEM "kecamatan"

METADATA

"DESCRIPTION" "Kecamatan"

"GROUP" "polygon"

"LAYER" "kecamatan"

END

PROJECTION

"proj=latlong"

END

CLASS

NAME "Kecamatan Kedungkandang"

EXPRESSION "1"

LABEL

TYPE TRUETYPE

FONT "sans"

SIZE MEDIUM

POSITION AUTO

END

LABEL

Page 119: gis rute pendek.pdf

103

TYPE TRUETYPE

FONT "sans"

SIZE 6

MINSIZE 6

MAXSIZE 8

POSITION AUTO

END

STYLE

COLOR 0 140 220

END

END

CLASS

NAME "Kecamatan Sukun"

EXPRESSION "5"

LABEL

TYPE TRUETYPE

FONT "sans"

SIZE 6

MINSIZE 6

MAXSIZE 8

POSITION AUTO

END

STYLE

COLOR 0 170 220

END

END

CLASS

NAME "Kecamatan Klojen"

EXPRESSION "3"

LABEL

TYPE TRUETYPE

FONT "sans"

SIZE 6

MINSIZE 6

MAXSIZE 8

POSITION AUTO

END

STYLE

COLOR 0 200 220

END

END

CLASS

NAME "Kecamatan Lowokwaru"

EXPRESSION "4"

LABEL

TYPE TRUETYPE

FONT "sans"

SIZE 6

MINSIZE 6

MAXSIZE 8

POSITION AUTO

END

STYLE

COLOR 0 155 220

END

END

CLASS

NAME "Kecamatan Blimbing"

EXPRESSION "2"

Page 120: gis rute pendek.pdf

104

LABEL

TYPE TRUETYPE

FONT "sans"

SIZE 6

MINSIZE 6

MAXSIZE 8

POSITION AUTO

END

STYLE

COLOR 0 185 220

END

END

END

LAYER

NAME "Jalan Utama"

GROUP "line"

STATUS ON

TYPE LINE

DATA "the_geom FROM asjalan USING UNIQUE gid"

CONNECTIONTYPE POSTGIS

CONNECTION "user=postgres dbname=malang

host=localhost port=5432 password=root"

CLASSITEM "gid"

PROJECTION

"proj=latlong"

END

CLASS

NAME "Jalan"

TEMPLATE "ttt_query.html"

LABEL

TYPE TRUETYPE

FONT "sans-italic"

SIZE 8

MINSIZE 8

MAXSIZE 9

POSITION AUTO

COLOR 0 0 0

PARTIALS FALSE

END

STYLE

COLOR 200 209 205

ANTIALIAS TRUE

END

END

END

LAYER

NAME "Jalan Lengkap"

GROUP "line"

#STATUS ON

TYPE LINE

DATA "the_geom FROM tbjalan USING UNIQUE gid"

CONNECTIONTYPE POSTGIS

CONNECTION "user=postgres dbname=malang

host=localhost port=5432 password=root"

Page 121: gis rute pendek.pdf

105

CLASSITEM "gid"

PROJECTION

"proj=latlong"

END

CLASS

NAME "Jalan"

TEMPLATE "ttt_query.html"

LABEL

TYPE TRUETYPE

FONT "sans-italic"

SIZE 8

MINSIZE 8

MAXSIZE 9

POSITION AUTO

COLOR 30 0 0

PARTIALS FALSE

END

STYLE

COLOR 200 209 205

ANTIALIAS TRUE

END

END

END

LAYER

NAME "Dijkstra"

GROUP "line"

#STATUS DEFAULT

TYPE LINE

CONNECTIONTYPE POSTGIS

CONNECTION "user=postgres dbname=malang host=localhost

port=5432 password=root"

DATA "the_geom from dijsktra_result using unique gid"

CLASSITEM "gid"

PROJECTION

"proj=latlong"

END

CLASS

NAME "ShortestPath"

TEMPLATE "ttt_query.html"

LABEL

TYPE TRUETYPE

FONT "sans-italic"

SIZE 8

MINSIZE 8

MAXSIZE 9

POSITION AUTO

COLOR 0 0 0

PARTIALS FALSE

END

STYLE

SYMBOL "circle"

COLOR 255 0 5

ANTIALIAS TRUE

END

END

Page 122: gis rute pendek.pdf

106

END

LAYER

NAME "A-Star"

GROUP "line"

STATUS ON

TYPE LINE

CONNECTIONTYPE POSTGIS

CONNECTION "user=postgres dbname=malang

host=localhost port=5432 password=root"

DATA "the_geom from astar_result using unique gid"

CLASSITEM "gid"

PROJECTION

"proj=latlong"

END

CLASS

NAME "astar"

TEMPLATE "ttt_query.html"

LABEL

TYPE TRUETYPE

FONT "sans-italic"

SIZE 8

MINSIZE 8

MAXSIZE 9

POSITION AUTO

COLOR 0 0 0

PARTIALS FALSE

END

STYLE

SYMBOL "circle"

COLOR 155 0 145

ANTIALIAS TRUE

END

END

END

LAYER

NAME "tsp"

GROUP "line"

#STATUS DEFAULT

TYPE LINE

CONNECTIONTYPE POSTGIS

CONNECTION "user=postgres dbname=malang

host=localhost port=5432 password=root"

DATA "the_geom from tsp_table using unique gid"

CLASSITEM "gid"

PROJECTION

"proj=latlong"

END

CLASS

NAME "tsp"

TEMPLATE "ttt_query.html"

LABEL

TYPE TRUETYPE

Page 123: gis rute pendek.pdf

107

FONT "sans-italic"

SIZE 8

MINSIZE 8

MAXSIZE 9

POSITION AUTO

COLOR 0 0 0

PARTIALS FALSE

END

STYLE

SYMBOL "circle"

COLOR 155 20 145

ANTIALIAS TRUE

END

END

END

LAYER

NAME "Obyek Wisata"

GROUP "point"

STATUS ON

TYPE POINT

DATA "the_geom FROM lokasiwisata USING UNIQUE gid"

CONNECTIONTYPE POSTGIS

CONNECTION "user=postgres dbname=malang

host=localhost port=5432 password=root"

CLASSITEM "gid"

LABELITEM "namalokasi"

PROJECTION

"proj=latlong"

END

CLASS

NAME "obyekwisata"

TEMPLATE "ttt_query.html"

LABEL

TYPE TRUETYPE

FONT "sans-italic"

SIZE 7

MINSIZE 7

MAXSIZE 9

POSITION AUTO

END

STYLE

SYMBOL 4

COLOR 255 266 277

SIZE 6

MINSIZE 5

MAXSIZE 7

END

END

END

END

Page 124: gis rute pendek.pdf

108

BAB V

PENUTUP

5.1 Kesimpulan

Dari hasil pembuatan dan pengujian sistem, dapat diambil beberapa

kesimpulan sebagai berikut:

1. Fungsi shortest_path_astar terbukti dapat menyelesaikan masalah routing

untuk pencarian rute terpendek (shortest path) pada peta geografis.

2. Akurasi dalam proses pembuatan atau dijitasi jalan akan mempengaruhi

akurasi hasil perutean, semakin akurat data jalan, maka semakin akurat pula

hasil perutean yang akan ditampilkan.

3. Proses loading dalam visualisasi (menampilkan) peta pada browser sedikit

lambat, terutama pada saat pertama kali megakses peta. Hal ini disebabkan

karena proses visualisasi posisi di web browser dibantu dengan menggunakan

applet java, dimana applet java sendiri membutuhkan waktu untuk

menginisialisasi dirinya dan mendownload gambar hasil rendering Map

Server dari server

Page 125: gis rute pendek.pdf

109

5.2 Saran

1. Untuk hasil routing yang lebih akurat sesuai dengan keadaan nyata,

sebaiknya pada tabel jalan diberikan aturan-aturan jalan sesuai dengan

kondisi jalan pada keadaan yang sebenarnya, seperti aturan dilarang belok,

aturan jalan buntu, ataupun aturan jalan satu arah.

2. Jika di komputer lokal sudah terdapat server lain seperti AppServ, maka

sebelum menginstall MapServer, terlebih dahulu dilakukan setting port

yang ada pada MapServer untuk menghindari crash pada kedua server.

3. Apabila ingin mengupload aplikasi ini di internet, sebaiknya carilah

webhosting yang menyediakan aplikasi MapServer dan

PostgreSQL/PostGIS, sebab tidak semua webhosting mendukung aplikasi

tersebut.

4. Perlu dilakukan penelitian atau pengembangan selanjutnya untuk kasus

percepatan akses peta dan manajemen informasi pada peta.

Page 126: gis rute pendek.pdf

DAFTAR PUSTAKA

Allamah Kamal Faqih dan Tim Ulama. 2004. Tafsir Nurul Quran: Sebuah Tafsir

Sederhana Menuju Cahaya Al-Quran. Jakarta: Al-Huda

Atie puntodewo, Sonya dewi, Jusupta Tariga. 2003. Sistem Informasi Goegrafis

Untuk Pengelolaan Sumberdaya Alam, (Online),

(http://www.cifor.cgiar.org/

publications/pdf_files/Books/SIGeografis/SIG-part-2.pdf diakses 12

Desember 2008)

Anonymous1. Geografi. (http://id.wikipedia.org/wiki/geografi, diakses pada 15

Maret 2009)

Anonymous2. 2000. Efisiensi Waktu Algoritma A* Untuk Penentuan Jalur

Optimal Pada Peta Geografis.

(http://repository.gunadarma.ac.id:8000/Kommit2000_komputasi_008_19

1.pdf, diakses 28 maret 2009)

Anonymous3. 2007. An Introduction to pgRouting with OpenLayers.

(http://www. pgrouting.postlbs.org/wiki/WorkshopFOSS4G2007, diakses

pada 31 januari 2009)

Anonymous4. 2007. Shortest Path Search In Real Road Networks With pgRouting.

(http://pgrouting.postlbs.org/wiki/, diakses pada 31 Januari 2009)

Anonymous5. 2008. Simulasi pencarian rute terpendek dengan Menggunakan

algoritma a* (a-star). (www. lemlit.unila.ac.id/, diakses pada 15 april

2009)

Anonymous6. Profil Kota Malang. (http://www.pemkot-malang.go.id/geografis,

diakses pada 20 Maret 2009)

Charter, Denny. Chameleon WebGIS Framework, (Online),

(http://dennycharter.wordpress.com/2008/06/11/chameleon-webgis-

framework/ diakses 7 September 2008)

Iwan Setiawan & Harris Noor Rabbasa. Aplikasi Open Source untuk Pemetaan

Online, (Online), (http://www.lapanrs.com/IGORS/WS_OS/PDF/

Pemetaan_Online_Iwan_S.pdf, diakses 23 Mei 2008)

Margiasih, Yohana Sekty. 2007. Penerapan Algoritma Djikstra Dalam Penentuan

Rute Perjalanan Wisata Dengan Dukungan SIG Berbasis Web. Malang:

Universitas Brawijaya.

Page 127: gis rute pendek.pdf

M. Quraish Shihab. 2002. Tafsir Al-Misbah: Pesan Kesan dan Keserasian Al-

Qur’an.

Jakarta: Lentera Hati.

Nuryadin, Ruslan. 2005. Panduan MapServer. Bandung: Informatika.

Prahasta, Eddy. 2002. Tutorial ArcView. Bandung: Informatika.

Prahasta, Eddy. 2006. Membangun Aplikasi Web-based GIS Dengan MapSever.

Bandung: Informatika.

Prasetyo, Daniel Hary. 2004. Pemanfaatan Mapscript Open Source Untuk

Menampilkan Peta Interaktif di Internet, (Online),

(http://ejournal.gunadarma.ac.id/files/C08.pdf, diakses 23 Mei 2008)

Riftadi, Muhammad. 2007. Variasi Penggunaan Algoritma Heuristik dalam

Pengaplikasian Algoritma A*. (online),

(http://www.informatika.org/~rinaldi/Stmik/2006-2007/Makalah_2007,

diakses pada 28 Maret 2009)

Sidik, Betha. 2001. Pemprograman Web Dengan PHP. Bandung:Informatika

Syafii, M, 2005. Aplikasi Database Dengan PHP 5 MySQL PostgreSQL Oracle.

Yogyakarta: Andi.

Sugiana, Owo. Munir, Sirojul. 2005. Apliksi Server Database Postgresql.

Jakarta:Dian Rakyat.

Utami, Ema. 2006. RDBMS dengan PostgreSQL di GNU/Linux. Yogyakarta:

Andi.

Wahid, Fathul. 2004. Dasar-Dasar Algoritma Dan Pemrograman. Yogyakarta:

Andi.

Wahyono, Teguh. 2004.Sistem Informasi (Konsep Dasar, Analisis Desain dan

Implementasi). Yogyakarta: Graha Ilmu.

Yulia, Kartika Gunadi dan Tanuhardja, Jeffrey . 2002. Perencanaan Rute

Perjalanan Di Jawa Timur Dengan Dukungan GIS Menggunakan Metode

Dijkstra‟s. Jurnal Informatika , 3( 2) : 68 – 73.

Page 128: gis rute pendek.pdf

112

LAMPIRAN

A

Proses Instalasi Program

Page 129: gis rute pendek.pdf

113

Instalasi MapServer

1. Siapkan aplikasi MapSever ms4w_2.3.1.zip yang bisa di download di

http://www.maptools.org/ms4w/index.phtml?page=downloads.html

2. Setelah itu esktrak file tersebut ke root direktori hardisk misal C:/ atau di

D:/

3. Apabila dlam komputer sudah terinstall aplikasi web server, maka perlu

dilakukan setting terlebih dahulu file httpd.conf yang berada di

C:\ms4w\Apache\conf\httpd.conf. Perubahan dilakukan pada baris

“Listen 80” menjadi “Listen 2000”, baris ini merupakan konfigurasi port

mana yang akan digunakan dalam installasi Mapserver, default Port adalah

80 dan dapat diganti dengan port yang nilainya lebih besar dari 1024

supaya tidak terjadi benturan diantara mapserver yang ada.

Menjadi

4. Kemudian eksekusi apache-install.bat untuk menginstal service Apache

5. Untuk mengecek apakah mapserver sudah terinsatal dengan baik atau

belom maka bukalah webbrowser dan ketikan alamat:

Page 130: gis rute pendek.pdf

114

http://localhost:2000/

Port Instalasi Mapserver

6. Apabila instalasi telah berhasil maka di webbroser akan ada tampilan

sebagai berikut:

7. Kemudian restart Apache dengan mengeksekusi apache-restart.bat.

(Yang ada di direktori “C:\ms4w”)

Kemudian buka kembali http://localhost:2000/ lewat webbroser

8. Copy atau ketikkan “extension=php_mapscript.dll” pada file “php.ini”

yang terletak di direktori “C:\ms4w\Apache\cgi-bin” tepatnya dibawah

“;windows extension”.

9. Untuk mengecek keberhasilan dari instalasi Mapscript, buat file

MsInfo.php pada folder D:\ms4w\Apache\htdocs yang berisi :

<?php

dl("php_mapscript.dll");

echo ms_getVersion();

?>

Periksa apakah file “php_mapscript.dll” sama dengan nama file yang

ada di direktori C:\ms4w\Apache\php\extensions, jika tidak maka

samakan terlebih dahulu.

10. Setelah itu buka http://localhost:2000/MsInfo.php jika telah berhasil

maka di halaman Webbrowser akan ada tapilan seperti berikut ini:

Page 131: gis rute pendek.pdf

115

11. Jika langkah ke delapan belum dilaksanakan maka akan muncul pesan

seperti tampilan dibawah ini jika langkah ke sepuluh dijalankan :

Jika semuanya telah sesuai maka instalasi MapServer telah berhasil.

Page 132: gis rute pendek.pdf

116

Instalasi PostgreSQL

Siapkan file postgresql-8.2.11-1.zip

Ekstraklah file tersebut di sembarang direktori, setelah berhasil akan ada

file installer dari PostgreSQL seperti gambar dibawah ini:

Gambar dari Icon Instaler PosgreSQL

Klick ganda icon untuk menjalankan aplikasi.sehingga akan tampil

window untuk mimilih bahasa

Instalasi tahap 1

Instalasi tahap 2

Page 133: gis rute pendek.pdf

117

Instalasi tahap 3

Instalasi tahap 4, Aktifkanlah PosGIS Spatian Extension

Tampilan sebelum diaktifkannya PostGIS Spatial Extension

Tampilan setelah diaktifkannya PostGIS Spatial Extension

Page 134: gis rute pendek.pdf

118

Dengan mengaktifkan PostGIS spatial extension, maka otomatis akan

terbentuk database baru dengan nama template_postgis yang berisi dua

tabel yaitu tabel “geometry_columns” dan “spatial_ref_sys”.

Instalasi Tahap 5, pada tahap ini text field yang masi kosong adalah

password saja, text field pada Account domain field ini akan diisi secara

otomatis dengan nama konputer tempat kita menginstal dan tidak perlu

dirubah, dan jika dirubah maka pada waktu proses instalasi akan ada pesan

kesalahan. Semua isian yang kita masukkan akan tesimpan di direkroti

C:\Documents and Settings, sehingga kita tidak bisa menngunakan nama

dan domain yang telah kita gunakan sebelumnya jika terjadi kesalahan

pada waktu saat proses instalasi.

Setelah semua field terisi maka tekan tombol Next> untuk melanjutkan

instalasi, dan akan muncul pesan sepeti gambar x.x, dan pilih tombol YES

Setelah itu biasanya muncul pesan lagi yang menyatakan bahwa password

yang kita gunakan terlalu lemah, dan pilih tombol No untuk melanjutkan

instalasi.

Jika pada pasan diatas ditekan tombol YES maka akan muncul pilihan

untuk menggunakan password acak.

Page 135: gis rute pendek.pdf

119

Instalasi tahap 6

Instalasi tahap 7

Page 136: gis rute pendek.pdf

120

Instalasi tahap 8

Instalasi tahap 9

Instalasi tahap 10, proses instalasi.

Page 137: gis rute pendek.pdf

121

Proses Eksport data Shapefile ke PostgreSQL menggunakan Aplikasi

shp2ppgsql.exe

Data Shapefile yang akan dieksport minimal terdiri dari tiga data peta yaitu *.shp,

*.shx, dan *.dbf. Sehingga data dari ArcView akan tersimpan dalam bentuk tag

SQL dan semua data peta yang bertipe titik, garis dan poligon akan dirubah ke

dalam format WKT (Well Known Text). Proses konversi data dilakukan melalui

command prompt dengan langkah-langkah sebagai berikut:

1. Masuk command prompt PostgreSQL melalui Start Program

PostgreSQL 8.2 Command Prompt sehingga muncul layar Command

Prompt PosgreSQL dengan tampilan default mengacu pada folder bin

(C:\Program Files\PostgreSQL\8.2\bin>)

2. Langkah selanjutnya adalah memanggil perintah shp2pgsql.exe, namun

terlebih dahulu data peta yang akan dikonversi dipindahkan dalam folder

bin, hal ini dilakukan agar mudah dalam mencari lokasi (path) data peta

tersebut dan juga mempersingkat dalam menuliskan skripnya.

3. Langkah terakhir adalah mengkonversi data peta dengan mengetikkan

perintah berikut pada command prompt:

C:\Program Files\PostgreSQL\8.2\bin> shp2pgsql.exe jalan tbjalan >

jalan.sql

Jika proses konversi berhasil, maka akan tampil pesan berikut:

Shapefile type: Arc

Postgis type: MULTILINESTRING[2]

Dengan demikian berarti data shapefile (.SHP) telah berhasil dikonversi

menjadi tag SQL.

Penjelasan printah:

> shp2pgsql.exe jalan tbjalan > jalan.sql

shp2pgsql.exe : Aplikasi PgSql yang digunakan untuk mengkonversi file *.shpsql,

yang letaknya berada di “PosgreSQL\8.2\bin >”

jalan : nama file *.shp, pada perintah diatas data *.shp dan pendukungnya

(*.dbf, *.shx) terletak pada folder \bin > sehingga penulisan perintah

tidak perlu menuliskan nama filenya, namun jika file *.shp berada di

Page 138: gis rute pendek.pdf

122

folder yang lain, path dari file harus ditulis dengan lengkap:

C:\Malang\Peta.shp.

tbjalan : nama tabel yang akan dibuat di database

jalan.sql : nama file hasil konversi dengan tipe .sql. secara default akan tersimpan

pada folder \bin>. Jika ingin merubah lokasi penyimpanan file .sql dari

lokasi asalnya (default), hal ni bisa dilakukan dengan menuliskan alamat

penyimpanan secara lengkap dan spesifik, seperti: C:\Malang\Peta.sql,

dengan demikian berarti file .sql akan disimpan pada folder Malang di

drive C.

Skrip Routing Core (A Star)

-- Copyright (c) 2005 Sylvain Pasche,

-- 2006-2007 Anton A. Patrushev, Orkney, Inc.

CREATE TYPE path_result AS (vertex_id integer, edge_id integer,

cost float8);

CREATE TYPE vertex_result AS (x float8, y float8);

CREATE OR REPLACE FUNCTION shortest_path(sql text, source_id

integer,

target_id integer, directed boolean, has_reverse_cost

boolean)

RETURNS SETOF path_result

AS '$libdir/librouting'

LANGUAGE 'C' IMMUTABLE STRICT;

------------------------------------------------------------------

--

-- Core function for shortest_path_astar computation

-- Simillar to shortest_path in usage but uses the A* algorithm

-- instead of Dijkstra's.

------------------------------------------------------------------

--

CREATE OR REPLACE FUNCTION shortest_path_astar(sql text, source_id

integer,

target_id integer,directed boolean, has_reverse_cost

boolean)

RETURNS SETOF path_result

AS '$libdir/librouting'

LANGUAGE 'C' IMMUTABLE STRICT;

------------------------------------------------------------------

--

-- Core function for shortest_path_astar computation

-- Simillar to shortest_path in usage but uses the Shooting*

algorithm

------------------------------------------------------------------

--

CREATE OR REPLACE FUNCTION shortest_path_shooting_star(sql text,

source_id integer,

Page 139: gis rute pendek.pdf

123

target_id integer,directed boolean, has_reverse_cost

boolean)

RETURNS SETOF path_result

AS '$libdir/librouting'

LANGUAGE 'C' IMMUTABLE STRICT;

CREATE OR REPLACE FUNCTION insert_vertex(vertices_table varchar,

geom_id anyelement)

RETURNS int AS

$$

DECLARE

vertex_id int;

myrec record;

BEGIN

LOOP

FOR myrec IN EXECUTE 'SELECT id FROM ' ||

quote_ident(vertices_table) ||

' WHERE geom_id = ' || quote_literal(geom_id)

LOOP

IF myrec.id IS NOT NULL THEN

RETURN myrec.id;

END IF;

END LOOP;

EXECUTE 'INSERT INTO ' || quote_ident(vertices_table) ||

' (geom_id) VALUES (' || quote_literal(geom_id)

|| ')';

END LOOP;

END;

$$

LANGUAGE 'plpgsql' VOLATILE STRICT;

Skrip Routing_core_wrapper (A Star)

-- BEGIN;

CREATE OR REPLACE FUNCTION text(boolean)

RETURNS text AS

$$

SELECT CASE WHEN $1 THEN 'true' ELSE 'false' END

$$

LANGUAGE 'sql';

------------------------------------------------------------------

--

-- For each vertex in the vertices table, set a point geometry

which is the corresponding line start or line end point

-- Last changes: 14.02.2008

------------------------------------------------------------------

--

CREATE OR REPLACE FUNCTION add_vertices_geometry(geom_table

varchar)

RETURNS VOID AS

$$

DECLARE

Page 140: gis rute pendek.pdf

124

vertices_table varchar := quote_ident(geom_table) ||

'_vertices';

BEGIN

BEGIN

EXECUTE 'SELECT addGeometryColumn(''' ||

quote_ident(vertices_table) ||

''', ''the_geom'', -1, ''POINT'', 2)';

EXCEPTION

WHEN DUPLICATE_COLUMN THEN

END;

EXECUTE 'UPDATE ' || quote_ident(vertices_table) ||

' SET the_geom = NULL';

EXECUTE 'UPDATE ' || quote_ident(vertices_table) ||

' SET the_geom = startPoint(geometryn(m.the_geom,

1)) FROM ' ||

quote_ident(geom_table) ||

' m where geom_id = m.source';

EXECUTE 'UPDATE ' || quote_ident(vertices_table) ||

' set the_geom = endPoint(geometryn(m.the_geom,

1)) FROM ' ||

quote_ident(geom_table) ||

' m where geom_id = m.target_id AND ' ||

quote_ident(vertices_table) ||

'.the_geom IS NULL';

RETURN;

END;

$$

LANGUAGE 'plpgsql' VOLATILE STRICT;

------------------------------------------------------------------

--

-- This function should not be used directly. Use assign_vertex_id

instead Inserts a point into a temporary vertices table, and

return an id of a new point or an existing point. Tolerance is the

minimal distance between existing points and the new point to

create a new point.

------------------------------------------------------------------

--

CREATE OR REPLACE FUNCTION point_to_id(point geometry,

tolerance double precision)

RETURNS INT AS

$$

DECLARE

row record;

point_id int;

BEGIN

LOOP

-- TODO: use && and index

SELECT INTO row id, the_geom FROM vertices_tmp WHERE

distance(the_geom, point) < tolerance;

point_id := row.id;

IF NOT FOUND THEN

Page 141: gis rute pendek.pdf

125

INSERT INTO vertices_tmp (the_geom) VALUES

(point);

ELSE

EXIT;

END IF;

END LOOP;

RETURN point_id;

END;

$$

LANGUAGE 'plpgsql' VOLATILE STRICT;

------------------------------------------------------------------

--

-- Fill the source and target_id column for all lines. All line

ends

-- with a distance less than tolerance, are assigned the same id

------------------------------------------------------------------

--

CREATE OR REPLACE FUNCTION assign_vertex_id(geom_table varchar,

tolerance double precision,

geo_cname varchar,

gid_cname varchar)

RETURNS VARCHAR AS

$$

DECLARE

points record;

i record;

source_id int;

target_id int;

pre varchar;

post varchar;

srid integer;

countids integer;

BEGIN

BEGIN

DROP TABLE vertices_tmp;

EXCEPTION

WHEN UNDEFINED_TABLE THEN

END;

EXECUTE 'CREATE TABLE vertices_tmp (id serial)';

FOR i IN EXECUTE 'SELECT srid FROM geometry_columns

WHERE f_table_name='''|| quote_ident(geom_table)||'''' LOOP

END LOOP;

srid := i.srid;

FOR i IN EXECUTE 'SELECT count(*) as countids FROM '||

quote_ident(geom_table) LOOP

END LOOP;

countids := i.countids;

Page 142: gis rute pendek.pdf

126

EXECUTE 'SELECT addGeometryColumn(''vertices_tmp'',

''the_geom'', '||srid||', ''POINT'', 2)';

CREATE INDEX vertices_tmp_idx ON vertices_tmp

USING GIST (the_geom);

pre = '';

post = '';

FOR i in EXECUTE 'SELECT count(*) as t from ' ||

quote_ident(geom_table) || ' WHERE NumGeometries(' ||

quote_ident(geo_cname) || ') is not null' loop

IF (i.t > 0) THEN

pre = 'geometryN(';

post = ' , 1)';

END IF;

END LOOP;

-- FOR points IN EXECUTE 'SELECT ' ||

quote_ident(gid_cname) || ' AS id,'

-- || ' startPoint(' || pre ||

quote_ident(geo_cname) || post || ') AS source,'

-- || ' endPoint(' || pre || quote_ident(geo_cname)

|| post || ') as target'

-- || ' FROM ' || quote_ident(geom_table) loop

--

FOR points IN EXECUTE 'SELECT ' ||

quote_ident(gid_cname) || ' AS id,'

|| ' PointN('|| quote_ident(geo_cname) ||', 1)

AS source,'

|| ' PointN('|| quote_ident(geo_cname) ||',

NumPoints('|| quote_ident(geo_cname) ||')) as target'

|| ' FROM ' || quote_ident(geom_table) || '

ORDER BY ' || quote_ident(gid_cname) loop

IF points.id%10=0 THEN

RAISE NOTICE '% out of % edges processed',

points.id, countids;

END IF;

source_id :=

point_to_id(setsrid(points.source, srid), tolerance);

target_id :=

point_to_id(setsrid(points.target, srid), tolerance);

EXECUTE 'update ' ||

quote_ident(geom_table) ||

' SET source = ' || source_id ||

', target = ' || target_id ||

' WHERE ' ||

quote_ident(gid_cname) || ' = ' || points.id;

END LOOP;

Page 143: gis rute pendek.pdf

127

RETURN 'OK';

END;

$$

LANGUAGE 'plpgsql' VOLATILE STRICT;

------------------------------------------------------------------

--

-- Update the cost column from the edges table, from the length of

-- all lines which belong to an edge.

------------------------------------------------------------------

--CREATE OR REPLACE FUNCTION update_cost_from_distance(geom_table

varchar)

RETURNS VOID AS

$$

DECLARE

BEGIN

BEGIN

EXECUTE 'CREATE INDEX ' || quote_ident(geom_table) ||

'_edge_id_idx ON ' || quote_ident(geom_table) ||

' (edge_id)';

EXCEPTION

WHEN DUPLICATE_TABLE THEN

RAISE NOTICE 'Not creating index, already there';

END;

EXECUTE 'UPDATE ' || quote_ident(geom_table) ||

'_edges SET cost = (SELECT sum( length( g.the_geom )

) FROM ' ||

quote_ident(geom_table) ||

' g WHERE g.edge_id = id GROUP BY id)';

RETURN;

END;

$$

LANGUAGE 'plpgsql' VOLATILE STRICT;

CREATE TYPE geoms AS

(

id integer,

gid integer,

the_geom geometry

);

------------------------------------------------------------------

--

-- A* function for undirected graphs.

-- Compute the shortest path using edges table, and return

-- the result as a set of (gid integer, the_geom geometry)

records.

-- Also data clipping added to improve function performance.

------------------------------------------------------------------

--

CREATE OR REPLACE FUNCTION astar_sp_delta(

varchar,int4, int4, float8)

RETURNS SETOF GEOMS AS

$$

Page 144: gis rute pendek.pdf

128

DECLARE

geom_table ALIAS FOR $1;

sourceid ALIAS FOR $2;

targetid ALIAS FOR $3;

delta ALIAS FOR $4;

rec record;

r record;

path_result record;

v_id integer;

e_id integer;

geom geoms;

id integer;

BEGIN

id :=0;

FOR path_result IN EXECUTE 'SELECT gid,the_geom FROM ' ||

'astar_sp_delta_directed(''' ||

quote_ident(geom_table) || ''', ' ||

quote_literal(sourceid) || ', ' ||

quote_literal(targetid) || ', ' || delta || ', false,

false)'

LOOP

geom.gid := path_result.gid;

geom.the_geom := path_result.the_geom;

id := id+1;

geom.id := id;

RETURN NEXT geom;

END LOOP;

RETURN;

END;

$$

LANGUAGE 'plpgsql' VOLATILE STRICT;

------------------------------------------------------------------

---- A* function for directed graphs.

------------------------------------------------------------------

--

CREATE OR REPLACE FUNCTION astar_sp_delta_directed(

varchar,int4, int4, float8, boolean, boolean)

RETURNS SETOF GEOMS AS

$$

DECLARE

geom_table ALIAS FOR $1;

sourceid ALIAS FOR $2;

targetid ALIAS FOR $3;

delta ALIAS FOR $4;

dir ALIAS FOR $5;

rc ALIAS FOR $6;

rec record;

r record;

path_result record;

v_id integer;

Page 145: gis rute pendek.pdf

129

e_id integer;

geom geoms;

srid integer;

source_x float8;

source_y float8;

target_x float8;

target_y float8;

ll_x float8;

ll_y float8;

ur_x float8;

ur_y float8;

query text;

id integer;

BEGIN

id :=0;

FOR rec IN EXECUTE

'select srid(the_geom) from ' ||

quote_ident(geom_table) || ' limit 1'

LOOP

END LOOP;

srid := rec.srid;

FOR rec IN EXECUTE

'select x(startpoint(the_geom)) as source_x from ' ||

quote_ident(geom_table) || ' where source = ' ||

sourceid || ' or target='||sourceid||' limit 1'

LOOP

END LOOP;

source_x := rec.source_x;

FOR rec IN EXECUTE

'select y(startpoint(the_geom)) as source_y from ' ||

quote_ident(geom_table) || ' where source = ' ||

sourceid || ' or target='||sourceid||' limit 1'

LOOP

END LOOP;

source_y := rec.source_y;

FOR rec IN EXECUTE

'select x(startpoint(the_geom)) as target_x from ' ||

quote_ident(geom_table) || ' where source = ' ||

targetid || ' or target='||targetid||' limit 1'

LOOP

END LOOP;

target_x := rec.target_x;

FOR rec IN EXECUTE

'select y(startpoint(the_geom)) as target_y from ' ||

quote_ident(geom_table) || ' where source = ' ||

targetid || ' or target='||targetid||' limit 1'

LOOP

Page 146: gis rute pendek.pdf

130

END LOOP;

target_y := rec.target_y;

FOR rec IN EXECUTE 'SELECT CASE WHEN

'||source_x||'<'||target_x||

' THEN '||source_x||' ELSE '||target_x||

' END as ll_x, CASE WHEN '||source_x||'>'||target_x||

' THEN '||source_x||' ELSE '||target_x||' END as ur_x'

LOOP

END LOOP;

ll_x := rec.ll_x;

ur_x := rec.ur_x;

FOR rec IN EXECUTE 'SELECT CASE WHEN '||source_y||'<'||

target_y||' THEN '||source_y||' ELSE '||

target_y||' END as ll_y, CASE WHEN '||

source_y||'>'||target_y||' THEN '||

source_y||' ELSE '||target_y||' END as ur_y'

LOOP

END LOOP;

ll_y := rec.ll_y;

ur_y := rec.ur_y;

query := 'SELECT gid,the_geom FROM ' ||

'shortest_path_astar(''SELECT gid as id,

source::integer, ' ||

'target::integer, length::double precision as cost, ' ||

'x1::double precision, y1::double precision, x2::double

' ||

'precision, y2::double precision ';

IF rc THEN query := query || ' , reverse_cost ';

END IF;

query := query || 'FROM ' || quote_ident(geom_table) || '

where setSRID(''''BOX3D('||

ll_x-delta||' '||ll_y-delta||','||ur_x+delta||' '||

ur_y+delta||')''''::BOX3D, ' || srid || ') &&

the_geom'', ' ||

quote_literal(sourceid) || ' , ' ||

quote_literal(targetid) || ' , '''||text(dir)||''',

'''||text(rc)||''' ),' ||

quote_ident(geom_table) || ' where edge_id = gid ';

FOR path_result IN EXECUTE query

LOOP

geom.gid := path_result.gid;

geom.the_geom := path_result.the_geom;

id := id+1;

geom.id := id;

RETURN NEXT geom;

--

-- v_id = path_result.vertex_id;

-- e_id = path_result.edge_id;

-- FOR r IN EXECUTE 'SELECT gid, the_geom FROM ' ||

Page 147: gis rute pendek.pdf

131

-- quote_ident(geom_table) || ' WHERE gid =

' ||

-- quote_literal(e_id) LOOP

-- geom.gid := r.gid;

-- geom.the_geom := r.the_geom;

-- RETURN NEXT geom;

-- END LOOP;

END LOOP;

RETURN;

END;

$$

LANGUAGE 'plpgsql' VOLATILE STRICT;

------------------------------------------------------------------

--

A* function for directed graphs. Compute the shortest path using

edges table, and return the result as a set of (gid integer,

The_geom geometry) records.

------------------------------------------------------------------

--

CREATE OR REPLACE FUNCTION astar_sp_directed(

geom_table varchar, source int4, target int4, dir boolean,

rc boolean)

RETURNS SETOF GEOMS AS

$$

DECLARE

r record;

path_result record;

v_id integer;

e_id integer;

geom geoms;

query text;

id integer;

BEGIN

id :=0;

query := 'SELECT gid,the_geom FROM ' ||

'shortest_path_astar(''SELECT gid as id,

source::integer, ' ||

'target::integer, length::double precision as cost, '

||

'x1::double precision, y1::double precision, ' ||

'x2::double precision, y2::double precision ';

IF rc THEN query := query || ' , reverse_cost ';

END IF;

query := query || 'FROM ' || quote_ident(geom_table) || '

'', ' ||

quote_literal(source) || ' , ' ||

quote_literal(target) || ' , '''||text(dir)||''',

'''||text(rc)||'''), ' ||

quote_ident(geom_table) || ' where edge_id = gid ';

FOR path_result IN EXECUTE query

Page 148: gis rute pendek.pdf

132

LOOP

geom.gid := path_result.gid;

geom.the_geom := path_result.the_geom;

id := id+1;

geom.id := id;

RETURN NEXT geom;

END LOOP;

RETURN;

END;

$$

LANGUAGE 'plpgsql' VOLATILE STRICT;

Page 149: gis rute pendek.pdf

133

LAMPIRAN

B

Perijinan Penelitian

Page 150: gis rute pendek.pdf

134

a. Surat pengantar Universitas

a. Surat Pengantar dari

BAKESBANGLINMAS Kota Malang

b. Data Obyek Wisata Kota Malang Tahun 2008

No. Obyek Wisata Lokasi Obyek

Pengelola Obyek Wisata

Institusi Dinas/Lembaga/Sponsor

yang Terlibat

1 Museum Brawijaya

Jl. Ijen 25 Malang

Kodim 0833 Kota Malang

2 Taman Rekreasi Kota (Tareko)

Jl. Simpang Majapahit Kota Malang

Dinas Pariwisata, Informasi dan Komunikasi Kota Malang

Dinas Pariwisata, Informasi dan Komunikasi Kota Malang

3 Taman Rekreasi Senaputra

Jl. Belakang Rumah Sakit Malang

Yayasan Senaputra

4 Taman Rekreasi Tlogomas

Jl. Baiduri Pandan Malang

Bapak Untung (PT. Tlogomas)

5 Club House Istana Dieng

Jl. Perum Istana Dieng Malang

Bapak Fajrul Islam (Manager Operasional)

Page 151: gis rute pendek.pdf

135

6 Club House Araya

Perum Araya Malang

PT. Araya Bumi Megah

7 Club House Permata Jingga

Perum Permata Jingga

Bapak Sugiono (Manager Operasional)

8 Wisata Religi Klenteng En Ang Kiong

Jl. Laks. Martadinata No. 1 Malang

Bapak Soetjipto Tanojo (Ketua)

9 Wisata Belanja Tugu Gajayana (Sabtu – Minggu)

Jl. Simpang Balapan Malang

Dinas Pariwisata, Informasi dan Komunikasi Kota Malang

Dinas Pariwisata, Informasi dan Komunikasi Kota Malang

10 Wisata Belanja Tugu Vellodrom (Sabtu – Minggu)

Vellodrom - Sawojajar Malang

Dinas Pariwisata, Informasi dan Komunikasi Kota Malang

Dinas Pariwisata, Informasi dan Komunikasi Kota Malang

11 Malang Olimpic Garden (MOG)

Jl. Kawi Malang

PT. Mustika Olimpic Garden

- Kimpraswil Kota Malang

- Bawasdanling Kota Malang

- Dinas Perijinan Kota Malang

12 Perpustakaan Umum & Arsip Kota Malang

Jl. Ijen Malang Pemerintah Kota Malang

Pemerintah Kota Malang

13 Balai Penyelamatan Benda Cagar Budaya (Mpu Purwa)

Jl. Sukarno Hatta (MIJS) Malang

Pemerintah Kota Malang

Pemerintah Kota Malang

14 Gedung Olah Raga “KEN AROK”

Jl. Mayjen. Sungkono Malang

Pemerintah Kota Malang

Pemerintah Kota Malang

15 CINEMAX CAFÉ Jl. Danau Toba Malang

Cinemax Café (Drs.H.Nurudin)

Sumber: DINAS PARIWISATA, INFORMASI DAN KOMUNIKASI KOTA

MALANG