Perancangan Sig Berbasis Web Objek Wisata Kota Binjai Dengan Algoritma A*

(1)

DENGAN ALGORITMA A*

SKRIPSI

ZAINUDDIN SIREGAR 081401018

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2013


(2)

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer

ZAINUDDIN SIREGAR 081401018

PROGRAM STUDI S1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2013


(3)

PERSETUJUAN

Judul : PERANCANGAN SIG BERBASIS WEB OBJEK

WISATA KOTA BINJAI DENGAN ALGORITMA A* Kategori : SKRIPSI

Nama : ZAINUDDDIN SIREGAR

Nomor Induk Mahasiswa : 081401018

Program Studi : SARJANA (S1) ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOM-TI) Diluluskan di

Medan, 27 Agustus 2013 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Ade Candra, ST, M.Kom Dr. Poltak Sihombing, M.Kom NIP. 197909042009121002 NIP. 196203171991021001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 196203171991021001


(4)

PERNYATAAN

PERANCANGAN SIG BERBASIS WEB OBJEK WISATA KOTA BINJAI DENGAN ALGORITMA A*

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 27 Agustus 2013

Zainuddin Siregar 081401018


(5)

PENGHARGAAN

Alhamdulillahirrabbil’alamin, penulis ucapkan rasa syukur yang tiada hentinya kehadirat Allah SWT yang telah memberikan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini. Shalawat beriring salam penulis persembahkan kepada Nabi Besar Muhammad SAW.

Dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan terima kasih kepada semua pihak yang telah membantu penyelesaian skripsi ini. Penulis mengucapkan terima kasih kepada:

1. Bapak Prof. Dr. Syahril Pasaribu, DTMH, MSc(CTM), SpA(K) sebagai Rektor Universitas Sumatera Utara (USU)

2. Bapak Dr. Muhammad Zarlis sebagai Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara

3. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer dan sekaligus sebagai Dosen Pembimbing I.

4. Ibu Maya Silvi Lydia, BSc. MSc sebagai Sekretaris Program Studi S1 Ilmu Komputer dan sekaligus sebagai Dosen Pembanding II.

5. Bapak Muhammad Firdaus, M.Si sebagai Dosen Pembanding I dan sekaligus sebagai Dosen di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

6. Bapak Ade Candra, ST, M.Kom sebagai Pembimbing II dan sekaligus sebagai Dosen di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

 

7. Seluruh Dosen serta staf Pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

8. Kedua Orangtua penulis tercinta Ibunda Tiasro Harahap dan Ayahanda Abdul Somad Siregar, Kak Nurjanah Siregar, Kak Nely Siregar, Abanganda Bilamuddin Siregar, Kak Jernih Siregar, Abang Mukmin Harahap, Abang Jonri Siregar, Kakak Nurhalimah Hasibuan, Ali Hasan Harahap, Keponakan Riswan Siregar, Bere Indra Mahyudin Harahap, Irsan Saleh Harahap, Tetty Faudiah Harahap, Aisyah, Kurnia, Juwita, Johan Perwira Siregar, dan Fajri Syahnan Siregar.

9. Kepada Sahabat Eko Verdianto,S.Kom, Tengku Surya Pramana, dan Ahmad Royhan Putra Siregar yang selalu memberikan semangat dan dorongan tekat yang kuat sehingga penulis selesai mengerjakan Skripsi ini.

10.Kepada teman-teman satu kost, Bang Kabul Warsito, S.Si. M.Si dan Bang Ono Suharsono, S.Kom yang selalu memberikan kobaran api semangat kepada


(6)

penulis. Serta Anton Gumala Putra, Muhammad Syukur, ST, Mhd. Arisandy Pratama, Basrah Nasution, S.Kom, Irfan Antoni Siregar, S.Kom, Suyono, Hendriadi Siregar, yang selalu memberikan dukungan penuh kepada penulis. 11.Kepada Akhi/Ukhti di UKMI Al-Khuwarizmi Fasilkom-TI USU yang telah

memberikan keteguhan dan keistiqomahan Islam kepada penulis.

12.Kepada Abangda Ridho Affandi Simanungkalit, ST yang telah menancapkan azam tentang islam dihati penulis serta telah bersusah payah untuk membimbing penulis agar lebih baik kedepannya.

13.Kepada Adek-adek IC Kepo (Dika, Yogi, Ivan, Andi, Huda, Furqon, Nadzri, Wanda, Fitra, Ibnu, dan Heru ) dan Amiirah (Hasbih, Dina, Dwi dan Fitri) yang selalu memberikan semangat dan dukungan kepada penulis serta kepada adek-adek yang lainnya yang tidak bisa penulis sebutkan satu persatu namanya.

14.Teman-teman ABC (Asrama Badminton Club), Muhammad Syukur, ST, Iman Saleh, Ahmad Tongku Daulay, Abdul Rahman Simbolon, Putra Hulu, Andrean, dll yang telah memberikan semangat dan dukungan kepada penulis. 15.Dan juga kepada teman-teman seperjuangan stambuk 2008 serta abang-abang

dan kakak-kakak senior yang ada di Program Studi S1 Ilmu Komputer yang telah memberikan dukungan moril maupun materil kepada penulis dalam penyusunan skripsi ini.

Sekali lagi penulis mengucapkan terima kasih kepada semua pihak yang membantu dalam penyelesaian skripsi ini yang tidak dapat disebutkan satu persatu, terima kasih atas ide, saran dan motivasi yang diberikan. Semoga Allah SWT memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian, kasih sayang serta dukungan kepada penulis dalam menyelesaikan skripsi ini.

Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan karena kesempurnaan hanyalah milik Allah SWT semata. Oleh karena itu penulis menerima kritik dan saran dari semua pihak yang bersifat membangun dan menyempurnakan skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya dan pembaca pada umumnya.

Medan, 27 Agustus 2013


(7)

ABSTRAK

Kota Binjai merupakan salah satu daerah yang berada dalam wilayah yang strategis, karena terletak di jalur lintas Sumatera. Kondisi ini menyebabkan kota Binjai setiap harinya menjadi tempat persinggahan bagi wisatawan yang ingin melakukan perjalanan baik keluar maupun kedalam kota Binjai itu sendiri. Penentuan rute terpendek merupakan aspek penting yang dibutuhkan para wisatawan dalam menentukan jarak optimal untuk tujuan perjalanan di kota Binjai. Sistem Informasi Geografis (SIG) dapat dijadikan solusi untuk masalah ini. Dalam SIG dapat diterapkan algoritma pencarian rute terpendek. Pada penelitian ini digunakan algoritma A* untuk pencarian rute terpendek. Hasil yang diperoleh dari pengujian sistem ini adalah panjang lintasan terpendek dari titik asal menuju titik tujuan dari beberapa lintasan terpilih yang akan dilalui oleh wisatawan. Sistem dapat menggambarkan rute yang mendekati rute sesungguhnya seperti objek wisata, persimpangan yang di lalui dan panjang jalan tersebut. Sistem ini dapat dimanfaatkan wisatawan untuk menentukan perjalanan optimal di kota Binjai.

Katakunci: Algoritma A* (a star), Kota Binjai, Rute Terpendek, Sistem Informasi Geografis, Objek Wisata


(8)

WEB BASED GIS DESIGN OF BINJAI TOURISM USING A* ALGORITHM

ABSTRACT

Binjai is one of area inside strategic region, because it located in Sumatera traffic lane. This condition causes Binjai city be a haven for tourists who want to travel either out or in to the Binjai city it self every day. Determination of the shortest path is an important aspect for tourists to determine which one is the optimal distance for traveling in Binjai city. Geographic Information Systems (GIS) can be used as a solution for this problem. GIS can be applied in the shortest path searching algorithm. In this study, the A* algorithm is used to search the shortest path. Results from this system is the shortest path from origin to destination point from selected path to be passed by tourists. The system can describe routes approaching the actual routes such as attractions, intersection of road and its length. This system can be used by tourists to determine the optimal way in Binjai city.

Keywords: A* Algorithm, Binjai City, Shortest Path, Geographic Information


(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel x

Daftar Gambar xi

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 4

1.7 Sistematika Penulisan 5

Bab 2 Tinjauan Pustaka

2.1 Sistem Informasi Geografis (SIG) 6

2.1.1 Subsistem SIG 6

2.1.2 Komponen Pada SIG 8

2.1.3 Model Data SIG 9

2.2 Sistem Informasi Gografis (SIG) Berbasis WEB 10

2.3 Defenisi Graf 11

2.3.1 Jenis-jenis Graf 11

2.3.2 Resepresentasi Graf 14

2.3.2.1 Matriks Ketetanggaan 15

2.3.2.2 Matriks Barisan 16

2.4 Lintasan Terpendek (Shortest Path) 16

2.5 Algoritma A* (a star) 17

2.5.1 Cara Kerja Algoritma A* Mencari Rute Terpendek 18

2.5.2 Fungsi Heuristik untuk A* 19

2.6 Mapserver 20

2.6.1 Arsitektur Mapserver 21

2.7 Penelitian Sebelumnya yang Berkaitan 22

Bab 3 Analisis Dan Perancangan Sistem

3.1 Analisis Sistem 24

3.1.1 Analisis Masalah 24


(10)

3.1.2.1 Kebutuhan Fungsional Sistem 26 3.1.2.2 Kebutuhan Non-Fungsional Sistem 26

3.1.3 Pemodelan 26

3.1.3.1 Use Case Diagram 27

3.1.3.1.1 Use Case untuk melihat peta kota Binjai 28 3.1.3.1.2 Use Case untuk Pencarian Rute 30

3.1.3.2 Analisis Proses Sistem 32

3.1.3.2.1 Proses Melihat peta Kota Binjai 32

3.1.3.2.2 Proses Pencarian Rute 33

3.1.3.3 Flowchart Algoritma A* 34

3.2 Perancangan Sistem 35

3.2.1 Tampilan Informasi Kota Binjai 35

3.2.2 Antarmuka untuk melihat peta kota Binjai 37

3.2.3 Antarmuka Proses Pencarian Rute 38

Bab 4 Implementasi Dan Pengujian Sistem

4.1 Implementasi Sistem 40

4.1.1 Implementasi Algoritma A* pada Sistem 40 4.1.1.1 Proses Pencarian Rute Terpendek P3 43

4.2 Tampilan Antarmuka 45

4.2.1 Tampilan Menu Home 45

4.2.2 Tampilan Menu Pencarian Rute Terpendek 46

4.2.2.1 Tampilan Batas Kecamatan 47

4.2.2.2 Tampilan Kecamatan 48

4.2.2.3 Tampilan Jalan 49

4.2.2.4 Tampilan Titik Awal 50

4.2.2.5 Tampilan Persimpangan 51

4.2.2.6 Tampilan Objek Wisata 52

4.2.2.7 Tampilan Nama Kecamatan 53

4.2.2.8 Tampilan Panjang Jalan 54

4.2.2.9 Tampilan Id Titik Awal 55

4.2.2.10 Tampilan Id Objek Awal 56

4.2.2.11 Tampilan Semua Layar 57

4.2.2.12 Tampilan Map Control 58

4.2.2.13 Tampilan Hasil Pencarian Rute Terpendek 59

4.2.3 Tampilan Menu Profil 60

4.2.4 Tampilan Menu Visi dan Misi 61

4.2.5 Tampilan Menu Kecamatan 62

4.2.6 Tampilan Profil Owner 64

4.3 Pengujuan Sistem 64

4.3.1 Pengujian Sistem Pencarian Rute Terpendek Titik Awal P1

menuju OW1 65

4.3.2 Pengujian Sistem Pencarian Rute Terpendek Titik Awal P2

menuju OW1 65

4.3.3 Pengujian Sistem Pencarian Rute Terpendek Titik Awal P3

menuju OW1 67

4.3.4 Pengujian Sistem Pencarian Rute Terpendek Titik Awal P4


(11)

4.3.5 Pengujian Sistem Pencarian Rute Terpendek Titik Awal P5

menuju OW1 66

Bab 5 Kesimpulan Dan Saran

5.1 Kesimpulan 70

5.2 Saran 70

Daftar Pustaka 71


(12)

DAFTAR TABEL

Halaman Tabel 2.1 Penelitian sebelumnya yang berkaitan 22

Tabel 3.1 Usec Case Lihat Peta Kota Binjai 28

Tabel 3.2 Usec Case Proses Pencarian Rute 30

Tabel 4.1 Daftar Atribut Jalan pada kota Binjai 41


(13)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Ilustrasi Sub-Sistem SIG 7

Gambar 2.2 Contoh Model Data Raster dan Data Vektor 9 Gambar 2.3 Arsitektur Peta dalam Halaman Web 15

Gambar 2.4 Graph Sederhana 16

Gambar 2.5 Graph Ganda 17

Gambar 2.6 Graph Semu 17

Gambar 2.7 Graph Tak Berarah 18

Gambar 2.8 Graph Berarah 18

Gambar 2.9 Graph Tidak Berbobot 19

Gambar 2.10 Graph Berbobot 19

Gambar 2.11 Graph Matriks Ketetanggaan 20

Gambar 2.12 Graph Matriks Bersisian 21

Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem 25 Gambar 3.2 Case Diagram Sistem Pencarian Rute Terpendek Penentu

Objek wisata 28

Gambar 3.3 Activity Diagram lihat peta kota Binjai 29 Gambar 3.4 Activity Diagram untuk pencarian 29 Gambar 3.5 SequenceDiagram Lihat Peta Kota Binjai 32 Gambar 3.6 Sequence Diagram Proses Pencarian Rute 33

Gambar 3.7 Flowchart Algoritma A* 34

Gambar 3.8 Tampilan Awal Web GIS kota Binjai 36 Gambar 3.9 Tampilan Antarmuka Lihat Kota Binjai 37 Gambar 3.10 Tampilan Antarmuka Proses Pencarian Rute terpendek 39 Gambar 4.1 Tampilan Titik P3 pada peta Kota Binjai 41

Gambar 4.2 Tampilan Menu Home 46

Gambar 4.3 Tampilan Menu Awal Pencarian Rute Terpendek 47

Gambar 4.4 Batas Kecamatan 48


(14)

Gambar 4.6 Tampilan Jalan 50

Gambar 4.7 Tampilan Titik Awal 51

Gambar 4.8 Tampilan Persimpangan 52

Gambar 4.9 Tampilan Objek Wisata 53

Gambar 4.10 Tampilan Nama Kecamatan 54

Gambar 4.11 Tampilan Panjang Jalan 55

Gambar 4.12 Tampilan Id Titik Awal 56

Gambar 4.13 Tampilan Id Objek Wisata 57

Gambar 4.14 Tampilan Semua Layar 58

Gambar 4.15 Tampilan Zoom In 59

Gambar 4.16 Tampilan Zoom Out 60

Gambar 4.17 Tampilan Menu Profil Kota 61

Gambar 4.18 Tampilan Visi dan Misi 62

Gambar 4.19 Tampilan Menu Kecamatan 63

Gambar 4.20 Tampilan Profil Owner 64

Gambar 4.21 Hasil Pencarian Rute Terpendek Titik Awal P1 menuju OW1 65 Gambar 4.22 Hasil Pencarian Rute Terpendek Titik Awal P2 menuju OW1 66 Gambar 4.23 Hasil Pencarian Rute Terpendek Titik Awal P3 menuju OW1 67 Gambar 4.24 Hasil Pencarian Rute Terpendek Titik Awal P4 menuju OW1 68 Gambar 4.25 Hasil Pencarian Rute Terpendek Titik Awal P5 menuju OW1 69


(15)

ABSTRAK

Kota Binjai merupakan salah satu daerah yang berada dalam wilayah yang strategis, karena terletak di jalur lintas Sumatera. Kondisi ini menyebabkan kota Binjai setiap harinya menjadi tempat persinggahan bagi wisatawan yang ingin melakukan perjalanan baik keluar maupun kedalam kota Binjai itu sendiri. Penentuan rute terpendek merupakan aspek penting yang dibutuhkan para wisatawan dalam menentukan jarak optimal untuk tujuan perjalanan di kota Binjai. Sistem Informasi Geografis (SIG) dapat dijadikan solusi untuk masalah ini. Dalam SIG dapat diterapkan algoritma pencarian rute terpendek. Pada penelitian ini digunakan algoritma A* untuk pencarian rute terpendek. Hasil yang diperoleh dari pengujian sistem ini adalah panjang lintasan terpendek dari titik asal menuju titik tujuan dari beberapa lintasan terpilih yang akan dilalui oleh wisatawan. Sistem dapat menggambarkan rute yang mendekati rute sesungguhnya seperti objek wisata, persimpangan yang di lalui dan panjang jalan tersebut. Sistem ini dapat dimanfaatkan wisatawan untuk menentukan perjalanan optimal di kota Binjai.

Katakunci: Algoritma A* (a star), Kota Binjai, Rute Terpendek, Sistem Informasi Geografis, Objek Wisata


(16)

WEB BASED GIS DESIGN OF BINJAI TOURISM USING A* ALGORITHM

ABSTRACT

Binjai is one of area inside strategic region, because it located in Sumatera traffic lane. This condition causes Binjai city be a haven for tourists who want to travel either out or in to the Binjai city it self every day. Determination of the shortest path is an important aspect for tourists to determine which one is the optimal distance for traveling in Binjai city. Geographic Information Systems (GIS) can be used as a solution for this problem. GIS can be applied in the shortest path searching algorithm. In this study, the A* algorithm is used to search the shortest path. Results from this system is the shortest path from origin to destination point from selected path to be passed by tourists. The system can describe routes approaching the actual routes such as attractions, intersection of road and its length. This system can be used by tourists to determine the optimal way in Binjai city.

Keywords: A* Algorithm, Binjai City, Shortest Path, Geographic Information


(17)

1 BAB 1 PENDAHULUAN

1.1 Latar Belakang

Sistem Informasi Geografis (SIG) sebagai salah satu bidang ilmu yang tergolong baru, saat ini telah mampu menyelesaikan masalah routing, baik untuk masalah pencarian rute terpendek (shortest path), maupun masalah TSP (travelling salesman problem). Pencarian rute terpendek merupakan masalah dalam kehidupan sehari-hari, berbagai kalangan menemui masalah yang sama dalam pencarian rute terpendek (shortest path) dengan variasi yang berbeda, dimana untuk penentuan rute terpendek diperlukan ketepatan dalam penentuan jalur terpendek antar suatu titik atau lokasi yang di inginkan. Hasil penentuan jalur terpendek nantinya akan menjadi pertimbangan dalam menunjukkan jalur yang ditempuh oleh masyarakat dengan bantuan sistem informasi geografis.

Kota Binjai adalah salah satu daerah yang berada dalam wilayah yang strategis, karena terletak di jalur lintas Sumatera. Dikarenakan kota Binjai terletak di jalur lintas sumatera, hal ini menyebabkan kota ini setiap harinya menjadi tempat persinggahan bagi wisatawan yang ingin melakukan perjalanan ke luar dari kota Binjai maupun ke kota Binjai itu sendiri. Ketika para wisatawan singgah ataupun ingin berwisata ke kota Binjai. Kemungkinan besar para wisatawan belum mengetahui tentang objek wisata dan lokasi objek wisata yang ada di kota Binjai. Berhubungan dengan itu sudah selayaknyalah para wisatawan baik dalam kota maupun luar kota mengetahui lintasan terpendek objek wisata yang ada di kota Binjai.

Andre Asade (2011), telah melakukan penelitian tentang sistem pencarian rute terpendek dinamis menggunakan algoritma A* pada jalan protokol di kota medan


(18)

berbasis Web GIS [1]. Implementasi dari aplikasi tersebut yaitu user memasukkan kota asal dan kota tujuan. Hasilnya berupa rute terpendek yang harus dilalui, jarak yang ditempuh, dan gambar peta/graf dalam bentuk koordinat cartesius sehingga dapat menghemat waktu perjalanan user.

Jenita Heptani (2012), telah melakukan penelitian tentang pencarian rute terpendek fasiltas umum di kota Binjai dengan menggunakan algoritma semut. Adapun hasil penelitian tersebut adalah mempermudah user dalam pencarian lokasi fasilitas umum terdekat dan menentukan jalur terpendek sehingga dapat menghemat waktu, tenaga dan biaya [4]. Kalsum Mustika Nasution (2012) dalam penelitiannya telah membuat aplikasi SIG penentu rute terpendek pengantaran barang CV. BKL Express untuk wilayah kota Medan. Adapun hasil penelitian tersebut untuk menampilkan lintasan terpendek yang dapat dilalui kurir di kota Medan [11]. Inggou David Purba (2013), telah melakukan penelitian tentang sistem informasi geografis daerah objek wisata kabupaten Deli serdang berbasis web dengan pencarian rute terpendek menggunakan metode dijkstra [15].

Dalam skripsi ini akan dibangun aplikasi web-based GIS untuk menentukan rute terpendek pariwisata di kota Binjai, sehingga nantinya sistem aplikasi ini dapat membantu wisatawan untuk mengetahui lintasan terpendek yang harus dilewati dari satu objek wisata menuju objek wisata yang lainnya dan titik masuk kota menuju tempat wisata di kota Binjai.

1.2 Rumusan Masalah

Adapun masalah yang akan dibahas dalam penelitian ini adalah Bagaimana merancang dan membangun suatu aplikasi web-based SIG (Sistem Informasi Geografis) dalam menentukan rute terpendek menuju objek wisata di kota Binjai dengan menggunakan Algoritma A*.

1.3 Batasan Masalah


(19)

1. Rute pemetaan objek wisata hanya mencakup kota Binjai dan sekitarnya, meliputi Binjai Kota, Binjai Utara, Binjai Selatan, dan Binjai Timur.

2. Algoritma yang digunakan yaitu Algoritma A* dengan fungsi heuristik Jarak Euclidian. 3. Inputan pada sistem ini adalah titik asal dan titik tujuan berupa objek wisata dan

persimpangan. Output pada sistem ini berupa edge yang menunjukkan lintasan terpendek dan jarak yang harus ditempuh oleh user.

4. Peta geografis jalan yang digunakan adalah jalan besar (jalan-jalan utama) saja, tidak termasuk jalan-jalan kecil atau gang.

5. Sistem ini belum memperhatikan kondisi jalan yang ada di kota Binjai secara nyata, semua kondisi jalan dianggap jalan dua arah dan tidak memperhatikan aturan-aturan jalan. 6. Data objek wisata yang dipakai adalah objek tempat rekreasi, Perbelanjaan,

Perhotelan, Wisata kuliner, Kolam renang dan Tempat ibadah.

7. Perangkat yang digunakan dalam perancangan sistem adalah Arc view 3.3 dan Mapserver sebagai perangkat pengolahan peta.

1.4 Tujuan Penelitian

Adapun tujuan penelitian ini adalah untuk merancang dan membangun sebuah aplikasi SIG berbasis web (web-based GIS) dalam menentukan rute terpendek pariwisata di kota Binjai dengan algoritma A*.

1.5 Manfaat Penelitian

Adapun manfaat penelitian dalam penelitian ini adalah:

1. Membantu pengguna dalam mencari rute perjalanan terpendek yang bisa ditempuh diantara masing-masing objek wisata di Kota Binjai sehingga dapat menghemat waktu, tenaga dan biaya.


(20)

2. Sistem ini juga merupakan sistem informasi pariwisata di Kota Binjai yang bisa memberikan informasi tentang objek-objek wisata yang ada di Kota Binjai.

1.6 Metodologi Penelitian

Penelitian ini dilakukan dengan metodologi sebagai berikut: 1. Studi Literatur

Pada tahap ini penulisan dimulai dengan studi kepustakaan yaitu proses pengumpulan bahan referensi, mempelajari serta menggali informasi baik dari buku, artikel, paper, jurnal, makalah, maupun situs internet mengenai algoritma A* dan SIG untuk menunjang pencapaian tujuan Skripsi.

2. Pengumpulan Data

Tahapan selanjutnya yaitu pengumpulan data objek wisata Kota Binjai dalam penentuan lintasan terpendek.

3. Analisis Sistem dan Perancangan

Melakukan analisis permasalahan yang ada, batasan yang dimiliki dan kebutuhan yang diperlukan dalam membangun sistem informasi geografis berbasis web. Perancangan sistem menggunakan Model Unified Modelling Language (UML) yang digunakan antara lain use case diagram, activity diagram, dan sequence diagram, dan struktur program Sistem informasi geografis menentukan rute terpendek.

4. Implementasi Sistem

Pada tahap ini sistem diimplimentasikan dengan menggunakan Algoritma A* dan Web-Based GIS.

5. Melakukan pengujian sistem.

Melakukan pengujian terhadap sistem yang telah dibangun serta menguji kebenaran dari algoritma A* untuk mencari lintasan terpendek.

6. Dokumentasi.

Penulis mendokumentasikan hasil analisis dan implementasi secara tertulis dalam bentuk laporan skripsi.


(21)

1.7 Sistematika Penulisan

Sistematika dalam penulisan skripsi ini adalah sebagai berikut:

BAB 1 PENDAHULUAN

Pada bab ini menjelaskan latar belakang masalah dari penelitian yang akan dilakukan beserta batasannya, tujuan dan manfaat penelitian, metodologi penelitian dan sistematika penulisan skripsi ini.

BAB 2 TINJAUAN PUSTAKA

Bab ini akan menjelaskan tentang beberapa teori-teori dasar yang mendukung penelitian seperti Sistem Informasi Geografis (SIG), teori graph, Algoritma A*, Lintasan Terpendek (Shortest Path), dan Mapserver.

BAB 3 ANALISIS DAN PERANCANGAN

Bab ini menjelaskan mengenai analisis dan perancangan Sistem Informasi Geografis penentu rute terpendek dengan menggunakan Algoritma A*, model Unified Modelling Language (UML) yang digunakan antara lain use case diagram, activity diagram, dan sequence diagram dan perancangan tampilan antarmuka sistem.

BAB 4 IMPLEMENTASI DAN PENGUJIAN APLIKASI

Bab ini akan membahas mengenai hasil pengujian aplikasi dari penelitian berupa tampilan dari aplikasi SIG penentu rute terpendek objek wisata Kota Binjai dengan menggunakan Algoritma A*.

BAB 5 KESIMPULAN DAN SARAN

Pada bab ini menjelaskan mengenai hasil penelitian yang berisi kesimpulan dan saran yang nantinya akan dikembangkan atau melanjutkan penelitian yang berkaitan dengan masalah dalam penelitian ini.


(22)

BAB 2

TINJAUAN PUSTAKA

2.1. Sistem Informasi Geografis (SIG)

Sistem Informasi Geografis (SIG) merupakan suatu sistem berbasis komputer yang digunakan untuk mengumpulkan, menyimpan, menggabungkan, mengatur, mentransformasi, memanipulasi dan menganalisis data-data geografis [13]. Selain itu juga merupakan sistem yang mengorganisir perangkat keras (hardware), perangkat lunak (software) dan data serta dapat mendaya-gunakan sistem penyimpanan, pengolahan, maupun analisis data secara simultan, sehingga dapat diperoleh informasi yang berkaitan dengan aspek keruangan. SIG juga merupakan manajemen data spasial dan non-spasial yang berbasis komputer dengan tiga karakteristik dasar, yaitu mempunyai fenomena aktual (variabel data non-lokasi) yang berhubungan dengan topik permasalahan di lokasi bersangkutan, merupakan suatu kejadian di suatu lokasi dan mempunyai dimensi waktu.

Beberapa manfaat dari SIG adalah mengetahui jarak antara satu daerah dengan daerah lain, memberikan alternatif jalan dari satu daerah ke daerah lain, memberi informasi seputar daerah yang diinginkan, menemukan lokasi kecelakaan dengan cepat, dan masih banyak lagi informasi yang dapat diperoleh dengan menggunakan bantuan SIG tersebut.

2.1.1Subsistem SIG

Ditinjau dari sifat dan kemampuannya, SIG terdiri dari beberapa subsistem yang dapat diuraikan sebagai berikut [12]:


(23)

Subsistem ini bertugas untuk mengumpulkan, mempersiapkan, memasukkan dan menyiapkan data spasial dan atributnya dari berbagai sumber. Subsistem ini juga bertanggung jawab dalam mengonversikan atau mentrasformasikan format-format dan aslinya ke dalam format (native) yang dapat digunakan oleh perangkat SIG yang bersangkutan.

b. Subsistem Output

Subsistem ini bertugas untuk menampilkan atau menghasilkan keluaran (termasuk format yang dikehendaki) seluruh atau sebagian basis data (Spasial) baik dalam bentuk softcopy maupun hardcopy seperti halnya tabel, grafik, refort, peta dan lain sebagainya.

c. Subsistem Manajemen

Subsistem ini mengorganisasikan baik data spasial maupun tabel-tabel atribut terkait ke dalam sebuah sistem basis data sedemikian rupa hingga mudah dipanggil kembali atau retrieve (di-load ke memori), di-update dan di-edit.

d. Subsistem manipulasi dan analisis

Subsistem ini menentukan informasi-informasi yang dapat dihasilkan oleh SIG. Selain itu, subsistem ini juga melakukan manipulasi (evaluasi dan penggunaan fungsi-fungsi dan operator matematis dan logika) dan pemodelan data untuk menghasilkan informasi yang diharapkan.

Gambar 2.1 Ilustrasi Sub-Sistem SIG [13]

Data Output Data Manipulation

& Analysis

Data Input

Data Management


(24)

2.1.2 Komponen Pada SIG

SIG merupakan salah satu sistem yang kompleks dan pada umumnya juga terintegrasi dengan lingkungan sistem komputer lainnya di tingkat fungsional dan jaringan. Komponen SIG dapat diuraikan sebagai berikut.

1. Perangkat Keras (Hardware)

Perangkat keras pada SIG dalam penyimpanan data membutuhkan skala yang tergantung pada tipe SIG itu sendiri. SIG dengan skala yang kecil membutuhkan penyimpanan data yang kecil untuk menjalankanya. Dengan demikian, dibutuhkan pula komputer yang lebih besar serta host untuk clientmachine yang mendukung penggunaan multiple user.

2. Perangkat Lunak (Software)

Perangkat lunak dibutuhkan untuk memasukkan, menyimpan dan mengeluarkan data bila diperlukan. Perangkat lunak SIG harus memiliki beberapa elemen seperti mampu melakukan input dan transformasi data geografis, sistem manajemen basis data, mampu mendukung query geografis, analisis dan visualisasi, dan memiliki Grafical User Interface (GUI) untuk memudahkan akses.

3. Data

Dalam SIG semua data dasar geografis harus diubah terlebih dahulu ke dalam bentuk digital untuk memudahkan dalam pengolahan data. Data dalam SIG dibagi menjadi dua bentuk yakni geografical atau data spasial dan data atribut.

4. Manusia (Brainware)

Manusia dibutuhkan untuk mengendalikan seluruh Sistem Informasi Geografis. Adanya koordinasi dalam Sistem Informasi Geografis sangat diperlukan agar informasi yang diperoleh menjadi benar, tepat dan akurat.


(25)

2.1.3 Model Data SIG

Secara umum ada dua jenis data yang biasa digunakan untuk merancang suatu SIG, yaitu data spasial dan data non-spasial [2]. Berikut penjelasan dari model data SIG. 1. Data Spasial

Data spasial, merupakan jenis data yang merepresentasikan aspek-aspek keruangan dari fenomena yang bersangkutan, atau sering disebut sebagai data-data posisi, koordinat dan ruang. Data spasial terbagi dua macam yaitu sebagai berikut:

a. Data raster

Model data raster menampilkan, menempatkan dan menyimpan spasial dengan menggunakan struktur matriks atau pixel-pixel yang membentuk grid. Akurasi model data ini sangat bergantung pada resolusi atau ukuran pixel (sel grid) di permukaan bumi. Konsep model data ini adalah dengan memberikan nilai yang berbeda untuk tiap-tiap pixel atau grid dari kondisi yang berbeda.

b. Data Vektor

Model data vektor menampilkan, menempatkan dan menyimpan data spasial dengan menggunakan titik-titik, garis-garis, atau poligon beserta atribut-atributnya. Bentuk dasar representasi data spasial dua dimensi (x,y).

Gambar 2.2 Contoh Model Data Raster dan Data Vektor

2. Data Non-Spasial

Data Non-Spasial atau Data Atribut merupakan deskripsi dari suatu keruangan (spasial). Data ini digunakan oleh sistem-sistem manajemen basis data untuk

(b) (a)


(26)

melengkapi objek-objek yang terpetakan. Data ini pada umumnya dipresentasikan secara tekstual dalam bentuk tabel-tabel. Atribut adalah properti yang biasa digunakan sebagai pembeda antar objek dalam suatu kelas tertentu. Misal: Data Mahasiswa maka atributnya adalah nama mahasiswa, no_npm, alamat_mahasiswa, Data Jalan dengan atributnya adalah nama_jalan, panjang_jalan, kelas_jalan, dan lain-lain.

2.2 Sistem Informasi Geografis (SIG) Berbasis WEB

Seiring dengan kemajuan teknologi pendukung SIG dan teknologi informasi, membuat SIG mengalami ekspansi yang jauh hingga dapat dipublikasikan dan bisa dinikmati melalui jaringan internet (dengan menggunakan aplikasi browser internet). Dengan demikian, pada saat ini, manfaat aplikasi SIG tidak hanya dapat dibuktikan oleh orang-orang yang berkumpul di sekitar sistem komputer di mana aplikasi yang bersangkutan diaktifkan, tetapi juga dapat dilihat oleh komunitas yang berada di belahan bumi lainnya.

Sistem ini tidak merupakan aplikasi tunggal, tetapi antara lain terdiri dari aplikasi web-server, application-server, map-server, database-server (optional), dan aplikasi browser. Aplikasi-aplikasi ini bisa tersebar dalam beberapa sistem komputer yang terpisah untuk membentuk ”sistem” yang lebih luas, tidak sekedar sebuah aplikasi SIG yang hadir di dalam sebuah desktop. Aplikasi web-based SIG membantu para penggunanya dalam proses ”meng-internet-kan” (atau meng-web-kan) peta-peta digitalnya (baik format raster maupun vektor) sedemikian rupa hingga dapat diakses oleh berbagai komunitas yang memakai program aplikasi browser internet [14].

Untuk dapat melakukan komunikasi dengan komponen yang berbeda-beda di lingkungan web maka dibutuhkan sebuah web server. Karena standar dari geo-data berbeda beda dan sangat spesifik maka pengembangan arsitektur sistem mengikuti arsitektur Client Server [3].


(27)

2.3 Definisi Graf

Graf adalah pasangan himpunan (V, E) yang dinotasikan dengan G = (V, E), V adalah himpunan titik, simpul, verteks, atau nodes dari G yaitu V= {v

1, v2, v3,…, vn} dan E

adalah himpunan rusuk, edges, atau sisi dari G, yaitu E= {e

1, e2, e3,…, em}. Sebuah

graf dimungkinkan tidak mempunyai edge satu buah pun, tetapi verteksnya harus ada minimal satu. Graf yang hanya memiliki satu buah verteks tanpa sebuah edge pun dinamakan graf trivia [2].

2.3.1 Jenis-jenis Graf

Graf dikelompokkan menurut ada tidaknya edgesnya yang paralel atau loop, jumlah verteksnya, berdasarkan ada tidaknya arah pada edgesnya, atau ada tidaknya bobot pada edgesnya [9].

Berikut ini adalah jenis graf berdasarkan ada tidaknya edge yang paralel atau loop: 1. Graf Sederhana

Graf sederhana adalah graf yang tidak mempunyai paralel edges atau edges ganda dan atau loop. Loop adalah edge yang menghubungkan sebuah verteks dengan dirinya sendiri. Berikut adalah contoh graf sederhana:

Gambar 2.3 Contoh Graf Sederhana

2. Graf Tak-Sederhana

Graf tak-sederhana adalah graf yang memiliki edges ganda dan atau loops. Graf tak sederhana dapat dibagi dua yaitu:

a. Graf Ganda (multigraf) adalah graf yang mengandung edge ganda. Sisi ganda yang menghubungkan sepasang verteks bisa lebih dari dua buah.


(28)

Gambar 2.4 Contoh Graf Ganda

b. Graf semu (pseudograf) adalah graf yang mempunyi loop, termasuk juga graf yang mempunyai loop dan edge ganda karena itu graf semu lebih umum daripada graf ganda, karena graf semu edgenya dapat terhubung dengan dirinya sendiri.

A

B

C

D e1

e2

e3

e4 e5

e6

e7

e8

Gambar 2.5 Contoh Graf Semu

Selain berdasarkan ada tidaknya edge yang paralel atau loop, graf dapat juga dikelompokkan berdasarkan orientasi arah atau panah yaitu:


(29)

Graf tak berarah adalah graf yang edgenya tidak mempunyai orientasi arah atau panah [5]. Pada graf ini, urutan pasangan verteks yang dihubungkan oleh edge tidak diperhatikan. Jadi (vj, vk) = (vk, vj) adalah edge yang sama.

Gambar 2.6 Contoh Graf Tak Berarah

2. Graf Berarah (directed graf atau digraf)

Graf berarah adalah graf yang setiap edgenya memiliki orientasi arah atau panah [5]. Pada graf berarah (vj, vk) ≠ (vk, vj).

Gambar 2.7 Contoh Graf Berarah

Graf juga ada yang mempunyai bobot atau nilai. Berdasarkan bobotnya, graf dibagi menjadi dua jenis yaitu:


(30)

1. Graf tidak berbobot (unweighted graf) adalah graf yang tidak mempunyai bobot atau nilai.

C

A

B D

E

Gambar 2.8 Contoh Graf Tidak Berbobot

2. Graf berbobot (weighted graf) adalah graf yang masing-masing busurnya mempunyai bobot atau nilai tertentu.

Gambar 2.9 Contoh Graf Berbobot

2.3.2 Representasi Graf

Pemrosesan graf dengan program komputer memerlukan representasi graf dalam memori. Ada beberapa representasi untuk graf, antara lain matriks ketetanggaan dan matriks bersisian [9].


(31)

2.3.2.1 Matriks Ketetanggaan

Misalkan G = (V, E) merupakan suatu graf dengan n verteks, n > 1. Maka, matriks ketetanggaan A dari G adalah matriks n x n dimana

A = [aij],

[aij] menjadi 1 bila simpul i dan j bertetangga [aij] menjadi 0 bila simpul i dan j tidak bertetangga.

Jumlah elemen matriks bertetanggaan untuk graf dengan n simpul adalah n2. Jika tiap elemen membutuhkan ruang memori sebesar p, maka ruang memori yang diperlukan seluruhnya adalah pn2.

Keuntungan representasi dengan matriks ketetanggaan adalah kita dapat mengakses elemen matriksnya langsung dari indeks. Selain itu, kita juga dapat menentukan dengan langsung apakah simpul i dan simpul j bertetangga. Pada graf berbobot, aij menyatakan bobot tiap sisi yang menghubungkan simpul i dengan simpul j. Bila tidak ada sisi dari simpul i ke simpul j atau dari simpul j ke simpul i, maka, aij diberi nilai tak berhingga (∞).

Gambar 2.10 Graf Matriks Ketetanggaan

Bentuk matriks ketetanggaan dari graf pada gambar 2.10 adalah

V1 V2 V3 V4 V1 0 1 1 1 V2 1 0 1 0 V3 1 1 0 1 V4 1 0 1 0


(32)

2.3.2.2 Matriks Bersisian

Matriks insiden menyatakan kebersisian verteks dengan edge [5] . Misalkan G = (V, E) adalah graf dengan n verteks dan m edge , maka matriks kebersisian A dari G adalah matriks berukuran m x n dimana

A = [aij],

[aij] menjadi 1 bila verteks i dan edge j bersisian [aij] menjadi 0 bila verteks i dan edge j tidak bersisian.

Gambar 2.11 Graf Matriks Bersisian

Bentuk matriks bersisian dari graf pada gambar 2.12 adalah

e1 e2 e3 e4 e5 v1 1 0 0 1 1 v2 1 0 1 0 0 v3 0 1 1 0 1 v4 0 1 0 1 0

2.4 Lintasan Terpendek (Shortest Path)

Lintasan Terpendek (Shortest Path) merupakan lintasan minimum yang diperlukan untuk mencapai suatu titik dari titik tertentu. Dalam pencarian lintasan terpendek masalah yang dihadapi adalah mencari lintasan mana yang akan dilalui sehingga didapat lintasan yang paling pendek dari satu verteks ke verteks yang lain [12].


(33)

Ada beberapa macam persoalan lintasan terpendek antara lain: 1. Lintasan terpendek antara dua buah verteks.

2. Lintasan terpendek antara semua pasangan verteks.

3. Lintasan terpendek dari verteks tertentu ke semua verteks yang lain

4. Lintasan terpendek antara dua buah verteks yang melalui beberapa verteks tertentu.

Permasalahan yang akan diselesaikan pada penelitian ini adalah bagaimana menentukan lintasan terpendek antara dua buah verteks dimana bobot pada setiap edge graf digunakan untuk menyatakan jarak objek wisata di kota Binjai dengan persimpangan jalan dalam satuan meter (m). Algoritma yang digunakan adalah algoritma A* dalam menentukan lintasan terpendek.

2.5 Algoritma A* (a star)

Algoritma ini pertama kali diperkenalkan pada tahun 1968 oleh Peter Hart, Nils Nilsson, dan Bertram Raphael dalam tulisan mereka, algoritma ini dinamakan algoritma A. Dengan penggunaan fungsi heuristik yang tepat pada algoritma ini yang dapat memberikan hasil yang optimal, maka algoritma inipun disebut dengan A*. Algoritma A* adalah algoritma pencarian yang merupakan dari kelas algoritma Greedy. Seperti halnya pada Greedy, untuk menemukan solusi, A* juga dilakukan oleh fungsi heuristik [16].

Dalam notasi matematika dituliskan sebagai berikut [17]:

f(n) = g(n) + h(n) ……….(1)

keterangan:

g(n): total jarak yang didapat dari verteks awal ke verteks sekarang.

h(n): perkiraan jarak dari verteks sekarang (yang sedang dikunjungi) ke verteks tujuan. Sebuah fungsi heuristik digunakan untuk membuat perkiraan seberapa jauh lintasan yang akan diambil ke verteks tujuan.


(34)

Beberapa terminologi dasar yang terdapat pada algoritma ini yaitu [2]: 1. Starting point adalah sebuah terminologi untuk posisi awal sebuah benda.

2. A adalah simpul yang sedang dijalankan dalam algoritma pencarian jalan terpendek.

3. Simpul adalah petak-petak kecil sebagai representasi dari area pathfinding. Bentuknya dapat berupa persegi, lingkaran, maupun segitiga.

4. Open list adalah tempat menyimpan data simpul yang mungkin diakses dari starting point maupun simpul yang sedang dijalankan.

5. Closed list adalah tempat menyimpan data simpul sebelum A yang juga merupakan bagian dari jalur terpendek yang telah berhasil didapatkan.

6. Harga (F) adalah nilai yang diperoleh dari penjumlahan, nilai (G) merupakan jumlah nilai tiap simpul dalam jalur terpendek dari starting point ke A, dan (H) adalah jumlah nilai perkiraan dari sebuah simpul ke simpul tujuan.

7. Simpul tujuan yaitu simpul yang dituju.

8. Halangan adalah sebuah atribut yang menyatakan bahwa sebuah simpul tidak dapat dilalui oleh A.

2.5.1 Cara Kerja Algoritma A* Mencari Rute Terpendek

Prinsip algoritma ini adalah mencari jalur terpendek dari sebuah simpul awal (starting point) menuju simpul tujuan dengan memperhatikan harga (F) terkecil. Algoritma ini mempertimbangkan jarakyang telah ditempuh selama ini dari initial state ke current state. Jadi bila jalan yang telah ditempuh sudah terlalu panjang dan ada jalan lain yang lebih kecil jaraknya namun memberikan posisi yang sama dilihat dari goal, jalan baru yang lebih pendek itulah yang akan dipilih [2].

Dengan fungsi heuristik Algoritma ini membangkitkan verteks yang paling mendekati solusi. Verteks ini kemudian disimpan suksesornya ke dalam list sesuai dengan urutan yang paling mendekati solusi terbaik. Kemudian, verteks pertama pada list diambil, dibangkitkan suksesornya dan kemudian suksesor ini disimpan ke dalam list sesuai dengan urutan yang terbaik untuk solusi. List verteks ini disebut dengan verteksterbuka (opennode).


(35)

Verteks pada list bisa berasal dari kedalaman berapapun dari graf. Algoritma ini akan mengunjungi secara mendalam mirip Depth First Search (DFS) selama verteks tersebut merupakan verteks yang terbaik. Jika verteks yang sedang dikunjungi ternyata tidak mengarah kepada solusi yang diinginkan, maka akan melakukan runut balik ke arah verteks awal untuk mencari verteks lainnya yang lebih menjanjikandari pada verteks yang terakhir dikunjungi. Bila tidak ditemukan juga, maka akan terus mengulang mencari ke arah verteks awal sampai ditemukan verteks yanglebih baik untuk dibangkitkan suksesornya. Strategiini berkebalikan dengan algoritma DFS yang mencari sampai kedalaman yang terdalam sampai tidak ada lagi suksesor yang bisa dibangkitkan sebelum melakukan runut balik, dan BFS yang tidak akan melakukan pencarian secara mendalam sebelum pencarian secara melebar selesai. Algoritma A* baru berhenti ketika mendapatkan solusi yang dianggap solusi terbaik.

2.5.2 Fungsi Heuristik untuk A*

Dalam metode pencarian heuristik, digunakan suatu fungsi heuristik yang digunakan untuk mengevaluasi keadaan-keadaan masalah individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan. Suatu fungsi dapat diterima sebagai fungsi heuristik jika biaya perkiraan yang dihasilkan tidak melebihi dari biaya sebenarnya. Suatu fungsi heuristik dapat dikatakan sebagai fungsi heuristik yang baik, apabila dapat memberikan biaya perkiraan yang mendekati biaya sebenarnya. Semakin mendekati biaya sebenarnya, fungsi heuristik tersebut semakin baik.

Dalam masalah pencarian rute terpendek dengan graf planar, fungsi heuristik yang dapat digunakan adalah Jarak Euclidian. Fungsi heuristik ini akan menghitung jarak berdasarkan panjang garis yang dapat ditarik dari dua buah titik, yang bisa dihitung menggunakan rumus:


(36)

keterangan:

h(n): perkiraan jarak dari verteks sekarang (yang sedang dikunjungi) ke verteks tujuan.

x1 : koordinat x dari node n. x2 :koordinat x dari node tujuan. y1 : koordinat y dari node n.

y2 : koordinat y dari node tujuan.

Fungsi heuristik sangat berpengaruh terhadap kelakuan Algoritma A* [2]: 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 nilai 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 nilai perpindahan dari n ke tujuan, maka A* hanya akan mengikuti jalur terbaik dan tidak pernah memeriksa 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 nilai 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.

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 daya alam)


(37)

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 vektor) yang memungkinkan penggunaan layanan web, sementara Imageview dipakai sebagai tools visualisai khusus untuk citra (dijital) satelit dan data-data tipe raster lainnya [10].

2.6.1 Arsitektur Mapserver

Bentuk umum arsitektur aplikasi berbasis peta dalam halaman web dapat dijelaskan sesuai dengan gambar berikut.

Gambar 2.12 Arsitektur Aplikasi Peta dalam Halaman Web [10]

Interaksi antara klien dengan Server berdasarkan 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 oleh server web ke server aplikasi dan Mapserver. Hasil pemrosesan akan dikembalikan lagi melalui serverweb, yang terbungkus dalam bentuk file HTML atau applet.


(38)

2.7 Penelitian Sebelumnya yang Berkaitan

Berikut ini merupakan penelitian sebelumnya yang pernah dilakukan:

NO. Peneliti Tahun Judul Hasil

1. Andre Asade [1]

2011 Sistem Pencarian Rute Terpendek Dinamis menggunakan Algoritma A* pada Jalan Protokol di Kota Medan Berbasis Web GIS

1. Memberikan alternatif lintasan terpendek bagi pengguna sistem agar dapat menghemat waktu perjalanan.

2. Memberikan Informasi wilayah dan jalan dikota Medan.

2. Jenita Heptani

[4]

2012 Aplikasi Pemetaan Rute Terpendek Fasilitas Umum Dikota Binjai Dalam Sistem Informasi Geografis Menggunakan Algoritma Semut.

1. Mempermudah user dalam pencarian lokasi fasilitas umum terdekat yang dituju di kota Binjai.

2. Menentukan Jalur

terpendek sehingga dapat menghemat waktu, tenaga dan biaya.

3. Nur Apriani

[2]

2012 Perancangan Sistem Informasi Geografis Pencarian Rute Terpendek Fasilitas Umum dengan Algoritma A* (Studi Kasus: Kota Pekanbaru)

1. Membantu user mencari rute terpendek untuk mencapai tujuan lokasi fasilitas umum kota Pekanbaru

2. Mempermudah user

menentukan rute terpendek di Kota Pekanbaru sehingga menghemat waktu, tenaga dan biaya.


(39)

NO. Peneliti Tahun Judul Hasil 4. Kalsum

Mustika Nasution [11]

2012 Aplikasi Sistem Informasi Geografis Penentuan Lintasan Terpendek Pengantaran Barang Menggunakan Algoritma A* (studi kasus Pada CV. BKL Express untuk wilayah kota medan).

1. Aplikasi SIG penentuan rute terpendek dalam pengantaran barang di Kota Medan.

2. Menampilkan Lintasan terpendek yang dapat dilalui ileh kurir.

5. Lira Meladya

[8]

2012 Perancangan Sistem Informasi Geografis Lokasi Wisata menggunakan metode

Tabu Search (Studi Kasus: Kota Pekanbaru)

1. Memudahkan user mengetahui lokasi wisata di Kota Pekanbaru

2. Menampilkan lintasan terpendek untuk mencapai lokasi yang

dituju.

6. Inggou David Purba [15]

2013 Sistem Informasi Geografis Daerah Objek Wisata Kabupaten Deli Serdang Berbasis Web dengan Pencarian Rute Terpendek menggunakan Metode Dijkstra.

1. Mempromosikan daerah objek wisata yang terdapat di Kabupaten Deli Serdang

2. Mempermudah user baik dari dalam maupun dari luar Kabupaten Deli

Serdang untuk mengunjungi daerah objek wisata yang terdapat di Kabupaten Deli Serdang.


(40)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem bertujuan untuk melakukan identifikasi persoalan-persoalan yang akan muncul dalam pembuatan sistem, hal ini dilakukan agar pada saat proses perancangan aplikasi tidak terjadi kesalahan-kesalahan yang berarti, sehingga sistem yang dirancang berjalan dengan baik, tepat guna dan ketahanan dari sistem tersebut akan lebih terjaga serta selesai tepat pada waktu yang telah ditentukan.

Sistem ini akan melakukan pencarian rute terpendek objek wisata yang ada di Kota Binjai. Sistem ini dirancang dengan menggunakan Algoritma A* (a star) dalam mencari rute terpendek objek wisata di kota Binjai.

3.1.1 Analisis Masalah

Sebuah hal yang sangat ironis, bahwa banyak objek-objek wisata yang ada di Indonesia belum terpublikasi,khususnya objek wisata yang ada di kota Binjai sendiri. Dimana banyak objek wisata di kota Binjai belum diketahui oleh wisatawan dan bahkan masyarakat Binjai itu sendiri belum mengetahui objek-objek wisata yang ada di kota Binjai. Karena pada dasarnya sebuah objek wisata yang sudah terpublikasi atau sudah dikenal oleh masyarakat umum atau wisatawan, bisa membantu meningkatkan pendapatan daerah atau bahkan pendapatan masyarakat yang ada di sekitar objek wista tersebut.

Untuk membuat objek wisata tersebut dapat diketahui atau di minati oleh wisatawan, maka diperlukan promosi yang gencar dan informasi yang jelas sehingga


(41)

dapat meningkatkan minat wisatawan yang ingin berkunjung ke kota Binjai. Dengan adanya Sistem Informasi Geografis (SIG) tersebut, objek-objek wisata yang ada di kota Binjai bisa dipromosikan kepada calon wisatawan yang ingin berkunjung ke kota Binjai. Untuk mempermudah calon wisatawan mengaksesnya, maka SIG tersebut bisa dirancang dengan berbasis web.

Untuk mengidentifikasi masalah tersebut digunakan diagram Ishikawa (fishbone diagram). Diagram Ishikawa adalah sebuah alat grafis yang digunakan untuk mengeksplorasi dan menampilkan pendapat tentang komponen inti suatu kondisi di dalam organisasi. Diagram ini juga dapat menyusuri sumber-sumber penyebab atas suatu masalah [15]. Oleh sebab itu, diagram Ishikawa sering disebut diagram sebab-akibat atau diagram tulang ikan (fishbone diagram), karena secara kasat mata digaram ini menyerupai tulang ikan. Identifikasi terhadap permasalahan melalui diagram ini akan membantu menganalisis kebutuhan sistem yang akan dikembangkan.  

Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem Tidak mengetahui

tempat wisata Memerlukan Rute

Informasi Objek wisata Belum adanya peta Digital

Penumpukan Data Kurang Publikasi

Perlu Proses digitasi, Pemodelan dan Perancangan Implementasi Algoritma A*

pencarian rute terpendek

Informasi objek wisata kota Binjai belum terkomputerisasi Pencarian Rute Terpendeknya belum ada

Wisatawan

Data Wisata

Metode

Sistem Informasi

Masalah dalam Pencarian Rute Terpendek untuk

mencapai lokasi wisata

Pengumpulan Informasi dan Analisis yang Akurat


(42)

3.1.2 Analisis Kebutuhan Sistem

Analisis Kebutuhan Sistem meliputi analisis kebutuhan fungsional sistem dan analisis kebutuhan non-fungsional sistem.

3.1.2.1 Kebutuhan Fungsional Sistem

Kebutuhan fungsional yang harus dimiliki oleh sistem pencarian rute terpendek sebagai penentu rute terpendek objek wisata kota Binjai adalah:

1. Sistem dapat membaca inputan berupa titik awal sebagai persimpangan dan titik akhir sebagai objek wisata pencarian rute.

2. Sistem dapat melakukan pencarian rute terpendek berdasarkan algoritma a star (A*)

3. Sistem dapat menampilkan hasil pencarian rute terpendek objek wisata kota Binjai yang akan di lalui oleh wisatawan yang berkunjung ke kota Binjai.

3.1.2.2 Kebutuhan Non-Fungsional Sistem

Untuk mendukung kinerja sistem, sistem sebaiknya dapat berfungsi sebagai berikut: 1. Sistem dapat melakukan pencarian rute terpendek dengan kecepatan komputasi

yang tinggi.

2. Sistem harus mudah digunakan sehingga wisatawan dapat mengoperasikannya dengan baik.

3. Sistem menampilkan peta objek wisata yang ada di kota Binjai.

3.1.3 Pemodelan

Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem, serta hal-hal apa saja yang harus dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi dengan baik sesuai dengan fungsionalitasnya.


(43)

Pada penelitian ini digunakan UML (Unifield Modelling Language) sebagai bahasa pemodelan untuk mendesain dan merancang sistem pencarian rute terpendek penentu objek wisata yang ada di kota Binjai. Model UML yang digunakan antara lain use case diagram, activity diagram, dan sequence diagram.

3.1.3.1 Use Case Diagram

Use case diagram akan menjelaskan apa saja fungsi-fungsi yang akan dikerjakan oleh sistem. Hal ini dikarenakan use case diagram akan merepresentasikan bagaimana interaksi antara aktor (user)dengan sistem. Untuk mengidentifikasikan apa saja aktor dan use case yang terlibat pada sistem ini, kita perlu menjawab beberapa pertanyaan berikut ini:

1. Siapa yang menggunakan sistem? Jawaban: Wisatawan

2. Siapa yang diperlukan untuk melaksanakan fungsi pada sistem? Jawaban: Wisatawan

3. Apa saja yang dapat dilakukan wisatawan pada sistem?

Jawaban: Melihat peta kota Binjai, Mengetahui Informasi Objek wisata yang ada di kota Binjai dan Melakukan proses pencarian rute terpendek penentu objek wisata yang ada di kota Binjai.


(44)

Gambar 3.2 Use Case Diagram Sistem Penentuan Rute Terpendek Penentu Objek wisata

3.1.3.1.1. Use Case Untuk melihat peta Kota Binjai

Name Melihat Peta Kota Binjai

Actors Wisatawan

Description Use case ini untuk mendeskripsikan proses menampilkan peta kota Binjai dalam penentu rute terpendek objek wisata beserta dengan legenda dari peta tersebut.

Basic Flow 1. Wisatawan melihat peta kota Binjai

2. Wisatawan memilih layer dan Anotasi untuk memudahkan melihat peta kota Binjai

Alternate Flow 1. Apabila tampilan peta kurang jelas, Wisatawan bisa memperbesar ukuran peta begitu juga sebaliknya.

2.Wisatawan bisa melihat peta lebih detil dengan bantuan mengakses query

Pre-Condition Sudah masuk kedalam WebGIS kota Binjai

Post-Condition Sistem menanmpilkan Peta secara detil sesuai layer dan anotasi yang dipilih oleh wisatawan

Tabel 3.1 Use Case Diagram lihat Peta Kota Binjai

Pencarian Rute Terpendek untuk lokasi wisata

Peta Kota Binjai

Pencarian Rute Wisatawan


(45)

Activity Diagram use case untuk peta kota Binjai dapat dilihat pada gambar sebagai berikut.

Gambar 3.3 Activity Diagram lihat peta kota Binjai

Pada tampilan Web GIS pariwisata Binjai, sistem akan menampilkan peta kota Binjai secara detail. Wisatawan bisa memlih pilih layar dan anotasi untuk melihat peta kota Binjai secara jelas. Wisatawan juga bisa memilih Map control untuk melakukan zoom-in dan zoom-out peta kota Binjai dan Mode untuk memberikan informasi lengkap tentang Kota Binjai. Untuk melakukan itu semua harus mengakses tombol refresh, agar tampilannya berubah.


(46)

3.1.3.1.2. Use Case Untuk proses pencarian rute

Name Proses pencarian rute

Actors Wisatawan

Description Use case ini untuk mendeskripsikan proses pencarian rute terpendek objek wisata kota Binjai beserta dengan legenda dari peta tersebut.

Basic Flow Wisatawan memilih lokasi asal dan tujuan wisata yang akan dicari.

Alternate Flow Wisatawan bisa kembali ke tampilan awal WebSIG Pre-Condition Wisatawan sudah melihat Peta Kota Binjai dan

memilih layars dan anotasi WebSIG kota Binjai Post-Condition Wisatawan menemukan rute terpendek objek

wisata yang dituju.


(47)

Adapun Activity Diagram use case untuk pencarian rute terpendek objek wisata kota Binjai dapat dilihat pada gambar berikut.

Gambar 3.4 Activity Diagram untuk pencarian rute

Pada pencarian rute terpendek, sistem akan menampilkan lokasi awal dan tujuan wisata. Wisatawan menentukan lokasi awal dan tujuan wisata yang dipilih, setelah itu sistem memproses pencarian rute dengan menggunakan algoritma A*. Hasil dari pencarian rute terpendek tersebut akan di tampilkan oleh sistem. Wisatawan juga bisa mencari rute terpendek wisata yang lainnya.


(48)

3.1.3.2. Analisis Proses Sistem

Berikut ini akan dijelaskan mengenai proses lihat data dan proses pencarian rute yang terjadi pada sistem penentuan rute terpendek objek wisata kota Binjai dengan menggunakan sequence diagram.

3.1.3.2.1. Proses Melihat Peta Kota Binjai

Pada proses lihat peta kota Binjai, sistem akan menampilkan peta kota Binjai beserta tampilan legenda. Sequence diagram untuk proses lihat peta kota Binjai diperlihatkan pada Gambar 3.5.

Wisatawan

:FungsiWEBGIS

:Fungsi SelectLayers

Select Anotasi :FungsiModedanMapControl

MenampilkanPeta PilihGISWisata

PilihLayerdanAnotasi MenampilkanLayardanAnotasi

PilihModedanMapControl MenampilkanPetaSecaraDetail

Gambar 3.5 SequenceDiagram Lihat Peta Kota Binjai

Pada sequencediagram diatas terlihat bahwa wisatawan akan mengakses kota Binjai, kemudian sistem akan menampilkan peta kota. Pada fungsi select layars dan Anotasi wisatawan bisa mengaksesnya untuk mengetahui tampilan peta kota Binjai secara mendetail. Selanjutnya pada fungsi Mode dan Map Control wisatawan juga bisa mengaksesnya, dimana pada fungsi mode ada 2 pilihan yaitu Browse dan Query.


(49)

Sedangkan untuk fungsi Map control bertugas untuk zoom-in dan zoom-out peta kota Binjai agar petanya lebih jelas dan akurat.

3.1.3.2.2. Proses Pencarian Rute

Proses Pencarian Rute akan menampilkan peta kota Binjai dan view kontrol pencarian rute terpendek. Sequence diagram yang dapat menggambarkan proses pencarian rute pada sistem dapat dilihat pada gambar 3.6.

Gambar 3.6 Sequence Diagram Proses Pencarian Rute

Pada Sequence diagram proses pencarian rute terpendek diatas, wisatawan melakukan proses pencarian objek wisata yang ada di kota Binjai dengan hanya menentukan lokasi awal dan tujuan wisata yang akan di tuju. Sistem akan melakukan proses pencarian rute terpendek dengan menggunakan Algoritma A*. Setelah itu, sistem akan menampilkan hasil pencarian rute terpendek yang ditentukan oleh wisatawan.


(50)

3.1.3.3 Flowchart Algoritma A*

Berdasarkan penjelasan sebelumnya, maka dapatlah digambarkan flowchart Algoritma A* seperti yang disajikan pada Gambar 3.7.


(51)

Dari flowchart pada Gambar 3.7 maka dapat dijelaskan sebagai berikut:

1. Buat graf pencari A, yang hanya berisi simpul awal, n0. Taruh n0 pada list bernama OPEN.

2. Buat sebuah list dengan nama CLOSED yang nilai awalnya kosong. 3. Jika OPEN tidak berisi, maka keluar dari program.

4. Ambil simpul pertama dari OPEN, hapus dari OPEN dan masukkan ke CLOSED. Anggap saja simpul n.

5. Jika n adalah simpul tujuan, keluar dari program dengan solusi yang diperoleh sepanjang pointer n ke n0 pada A.

6. Perlebar simpul n, buat sebuah set M, dari suksesor yang bukan pendahulu di A. 7. Buat pointer kepada n dari tiap anggota M yang tidak ada pada A. Tambahkan

anggota A pada OPEN. Untuk tiap anggota m, dari M yang sudah berada pada OPEN atau CLOSED, mengarahkan ulang pointer ke n jika jalur terbaik ke m yang ditemukan adalah melalui n. Untuk tiap anggota M yang telah berada pada CLOSED, arahkan ulang pointer dari tiap pendahulu di A sehingga mereka mengarahkan mundur sepanjang jalan terbaik yang telah ditemukan.

8. Susun ulang daftar OPEN dengan urutan nilai f yang menaik. 9. Kembali ke langkah nomor 3.

3.2. Perancangan Sistem

Merancang antarmuka merupakan bagian yang paling penting dari merancang sebuah sistem. Dalam merancang antarmuka, sebuah antarmuka harus dirancang dengan sesederhana mungkin, lengkap dan memiliki kinerja yang cepat agar wisatawan yang ingin menggunakan sistem tersebut lebih mudah dan ringan. Pada tahap ini akan dilakukan perancangan untuk kota Binjai.

3.2.1 Tampilan Informasi Kota Binjai

Informasi tentang kota Binjai merupakan tampilan paling awal bagi wisatawan untuk mengakses peta kota Binjai. Pada tampilan ini, wisatawan bisa melihat profil


(52)

kota Binjai, Visi dan Misi kota Binjai, Berapa jumlah Kecamatan yang ada di kota Binjai dan riwayat penulis.

Gambar 3.8 Tampilan Awal Web GIS kota Binjai keterangan:

1. Header

Kota Binjai, Binjai kotaku, kota kita semua merupakan header dari tampilan Kota Binjai.

2. Menu Bar Sistem

Tampilan dari menu bar sistem terdiri dari: Home, Profil kota, Visi dan Misi, Kecamatan, Founder yang menjelaskan tentang kota Binjai dan profil penulis. 3. Button

pariwisata kota Binjai merupakan sebuah fungsi untuk melihat peta Kota Binjai

WEB GIS Pariwisata Kota Binjai

WEB GIS KOTA BINJAI

BINJAI KOTAKU, KOTA KITA SEMUA

HOME PROFIL KOTA VISI DAN MISI KECAMATAN FOUNDER

SELAMAT DATANG DI WEB GIS KOTA BINJAI, SILAHKAN KLIK MENU DI ATAS UNTUK MENGETAHUI INFORMASI GEOGRAFIS KOTA BINJAI

SELAYANG PANDANG

Kota Binjai merupakan salah satu Kota dalam wilayah provinsi Sumatera Utara. Binjai terletak 22 Km di sebelah barat ibu kota provinsi Sumatera Utara yaitu Medan. Binjai adalah salah satu daerah yang berada dalam wilayah strateSIG dimana merupakan pintu gerbang Kota Medan ditinjau dari provinsi Aceh. Dikarenakan kota Binjai terletak di jalur lintas Sumatera, hal ini menyebabkan kota ini setiap harinya menjadi tempat persinggahan bagi wisatawan yang ingin melakukan perjalanan ke luar dari kota Binjai maupun ke kota Binjai itu sendiri. Ketika para wisatawan singgah ataupun ingin berwisata ke kota Binjai. Kemungkinan besar para wisatawan belum mengetahui tentang objek wisata dan lokasi objek wisata yang ada di kota Binjai. Berhubungan dengan itu sudah selayaknyalah para wisatawan baik dalam kota maupun luar kota mengetahui lintasan terpendek obyek wisata yang ada di kota Binjai.

Dengan di bangun Web GIS kota Binjai ini maka di harapkan dapat membantu user search objek wisata yang di inginkan. Berdasarkan pemikiran tersebut, perlu dilakukan penelitian untuk membuat sistem informasi geografis untuk merencanakan jalur optimal dengan memanfaatkan algoritma A*. Sehingga nantinya sistem aplikasi ini dapat membantu wisatawan untuk mengetahui lintasan terpendek yang harus dilewati dari satu obyek wisata menuju obyek wisata yang lainnya dan titik masuk kota menuju tempat wisata di kota Binjai.

COPYRIGHT 2013 Design By: Zainuddin Siregar

1 2 3 4 5 6


(53)

4. Tulisan

Pada bagian ini, disinilah dituliskan mengenai penjelasan tentang kota Binjai dan profil penulis.

5. Background

Tampilan dasar dari peta kota Binjai 6. Footer

Menampilkan kapan dan siapa yang membuat peta kota Binjai.

3.2.2 Antarmuka untuk melihat peta kota Binjai

Antarmuka lihat peta kota Binjai merupakan tampilan pertama sekali wisatawan untuk melihat peta kota Binjai. Antarmuka lihat peta kota Binjai menampilkan Select Layers, Anotasi, Mode dan Map Control. Pada fungsi ini, wisatawan bisa mengakses peta untuk melihat peta kota Binjai secara detail.

Gambar 3.9 Tampilan Antarmuka Lihat Kota Binjai

Refresh

WEB GIS Pariwisata Binjai

Kecamatan Jalan Raya Titik Awal

Pilih Layar:

Persimpangan Objek Objek Wisata Batas Kecamatan

Anotasi:

Nama Kecamatan Panjang Jalan

Lintasan: Mode:

Browse Map Control:

Recenter

Skala 1

2

3

4

5

7


(54)

keterangan:

1. Pilih layar dan Anotasi

Tampilan Pilih Layar untuk menampilkan peta dan sedangkan anotasi menampilkan atribut dari peta.

2. Button Refresh

Button refresh berupa tombol yang berfungsi untuk merefresh tampilan peta setelah melakukan pengaksesan pada pilih layar dan Anotasi.

3. Tools Mode

a. Browse: untuk melihat peta kota Binjai

b. Query: ntuk mengakses alamat yang ingin di cari pada Pariwisata Kota Binjai

4. Map Control

Map Control berfungsi untuk zoom-in dan zoom-out peta kota Binjai. 5. View Lintasan

Tampilan View Lintasan untuk menampilkan jalan yang di lintasi dan total lintasan yang akan ditempuh wisatawan.

6. View Peta

Tampilan View untuk menampilkan peta kota Binjai yang dipilih. 7. Skala

Tampilan view skala peta, untuk mengatahui berapa besar skala peta.

3.2.3 Antarmuka Proses Pencarian Rute

Pada antarmuka proses pencarian rute terpendek kota Binjai, wisatawan akan menentukan lokasi asal dan tujuan wisata yang akan dikunjungi, lalu mengakses tombol Temuakan Rute untuk pencarian rute. Wisatawan bebas memilih lokasi asal yang telah tersedia dan memilih tujuan wisata yang ingin dituju. Setelah penentuan lokasi asal dan tujuan wisata selesai maka, tinggal mengakses tombol Temukan Rute agar rute yang ingin di cari berhasil ditemukan.


(55)

Gambar 3.10 Tampilan Antarmuka Proses Pencarian Rute terpendek

Keterangan: 1. Lokasi Awal

Berfungsi untuk menentukan lokasi asal wisatawan yang ingin berkunjung ke kota Binjai.

2. Tujuan wisata

Berfungsi untuk menentukan lokasi tujuan objek wisata kota Binjai yang ditentukan oleh wisatawan yang ingin berkunjung.

3. Button

Fungsi Temukan Rute untuk mencari rute terpendek setelah menentukan lokasi asal dan tujuan wisata.

4. Tombol Back

Berfungsi untuk mengembalikan pencarian rute ke Home Pariwisata Binjai Pencarian Rute Terpendek:

Lokasi Asal: - - Pilih Lokasi Awal - - Tujuan Wisata: - - Pilih Tujuan Wisata - -

3

2 1

4 << Back


(56)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem

Implementasi sistem merupakan salah satu tahap yang akan dilakukan dalam pembuatan perangkat lunak dari suatu sistem. Tahap ini dilakukan setelah melalui tahap analisis dan perancangan yang telah diuraikan pada bab sebelumnya.

4.1.1 Implementasi Algoritma A* Pada Sistem

Implementasi penerapan algoritma A* dalam sistem yang dibuat, terletak pada proses pencarian rute terpendek objek wisata kota Binjai. Pada jalan-jalan besar kota Binjai akan dijadikan edges untuk pencarian dan persimpangan antara jalan akan dijadikan verteks atau titik pertemuan jalan. Untuk verteks persimpangan atau titik awal disimbolkan dengan persegi empat warna biru, verteks untuk objek wisata sebagai titik tujuan disimbolkan dengan bulat warna ungu sedangkan simpang dengan warna hitam, ini semua dibuat dengan berbagai macam bentuk dan warna agar wisatawan bisa membedakan titik awal dan titik tujuan yang ingin ditempuh serta mengerti cara menjalankan WEB GIS kota Binjai dengan benar.

Adapun proses yang pertama kali yang di lakukan dalam menentukan rute terpendek objek wisata kota Binjai yaitu menentukan titik awal dan titik tujuan objek wisata yang ingin ditempuh. Kemudian algoritma A* pada peta bekerja mencari rute dengan akumulasi bobot terendah yang dilambangkan dengan (notasi g), setelah itu dijumlahkan dengan biaya perkiraan jalan yang memiliki bobot terendah dilambangkan dengan (notasi h). Rute yang memiliki node-node dengan nilai f =g+h yang paling kecil akan dikembangkan terlebih dahulu. Apabila node yang menjadi


(57)

titik tujuan telah ditemukan, maka program akan melakukan backtrack ke parent dari tiap node untuk mendapatkan rangkaian node yang membentuk rute yang paling optimum yang diinginkan. Rute terpendek dalam sistem yang diterapkan pada Algoritma A* di visualisasikan melalui garis merah yang melintasi titik awal dan titik tujuan sekaligus dinyatakan sebagai rute terpendek diantara kedua titik tersebut.

Berikut ini akan diberikan contoh hasil perhitungan manual rute terpendek dengan menggunakan algoritma A* pada peta kota Binjai. Dalam implementasi pencarian rute ini akan dicari rute terpendek dari titik awal verteks P3 menuju titik tujuan di verteks ow2. Titik P3 akan mencari rute terpendek untuk menuju objek wisata ow2 yang dapat dilihat pada gambar 4.1.

Gambar 4.1 Tampilan Titik P3 pada peta Kota Binjai

Tabel 4.1 Daftar Atribut Jalan pada Kota Binjai

No V1 V2 Nama_Jalan Panjang_Jalan (m)

1 t1 0 Jl. Gatot Subroto 5315


(58)

No V1 V2 Nama_Jalan Panjang_Jalan (m)

3 t20 t23 Jl.Gatot Subroto 980

4 t23 t24 Jl.Gatot Subroto 650

5 t24 t16 Jl.Sudirman 216

6 t16 t3 Jl.Sudirman 413

7 0 t26 Jl.Printis Kemerdekaan 4603

8 t26 t27 Jl.Printis Kemerdekaan 993 9 t27 t19 jl.Printis Kemerdekaan 2142

10 t19 t11 Jl.T.Amir Hamzah 1339

11 t11 t28 Jl.T.Amir Hamzah 1770

12 t22 t28 Jl.T.Amir Hamzah 612

13 0 t22 Jl.T.Amir Hamzah 2701

14 t27 t28 Jl. Gaharu 2720

15 t18 t22 Jl.Lingkar Luar Binjai 5696

16 0 t18 Jl.Soekarno Hatta 3342

17 t4 t18 Jl.Soekarno Hatta 833

18 t4 t10 Jl.Soekarno Hatta 2141

19 t8 t10 Jl.Soekarno Hatta 365

20 t6 t8 Jl.Soekarno Hatta 400

21 t6 t29 Jl.Soekarno Hatta 744

22 t29 t21 Jl.Juanda 1329

23 0 t21 Jl.Juanda 4081

24 0 t12 Jl. Pangeran Diponegoro 769 25 t12 t21 Jl. Pangeran Diponegoro 1793 26 t21 t31 Jl. Pangeran Diponegoro 1774

27 t5 t31 Jl.Jamin Ginting 3913

28 0 t31 Jl.Jamin Ginting 2240

29 t31 t30 Jl. Pangeran Diponegoro 1006

30 t24 t25 Jl.Samanhudi 1614

31 t25 t30 Jl.Samanhudi 1339

32 0 t30 Jl.Samanhudi 4712

33 0 t30 Jl.Marcapada 1684

34 0 t15 Jl.marcapada 2168

35 t15 t20 Jl.marcapada 850

36 t14 t20 Jl.Veteran 151

37 t14 t26 Jl.Umar Baki 6790

38 t17 t19 Jl.T.Amir Hamzah 1501

39 t9 t17 Jl.Soekarno Hatta 299

40 t9 t29 Jl.Juanda 266

41 t5 t17 Jl.Sudirman 209

42 t5 t7 Jl.Sudirman 195

43 t7 t13 Jl.Sudirman 260

44 t2 t13 Jl.Sudirman 239


(59)

4.1.1.1Proses Pencarian Rute Terpendek Titik P3

Tabel di bawah ini menunjukkan nilai heuristik yang telah dihitung secara manual dengan rumus:

Tabel 4.2 Tabel Perhitungan Nilai Heuristik Verteks Id_Titik h(n)

T19 P3 1691 T17 P1 1264

T5 4 1436

T9 14 1157

T29 S13 1126 T6 3 400 T8 2 0 T21 P5 3085

Di bawah ini penjelasan tentang langkah-langkah pencarian jalur terpendek secara rinci dimulai dari titik awal sampai titik tujuan dengan nilai jarak terkecil. Dimana titik awal Persimpangan Jl. Perintis Kemerdekaan (P3) dan titik tujuan Binjai Super Mall (ow2).

Langkah 1: Menentukan posisi awal yaitu di P3.


(60)

Langkah 3: a. Setelah itu mencari verteks yang terhubung dengan verteks P1, yaitu verteks OW4 dan OW14.

b. Mengambil cost terkecil dari hasil perhitungan. Verteks yang diambil adalah verteks OW14.

c. Karena OW14 memiliki perhitungan nilai terkecil maka langsung ke vertek S13.

OW4 3146 = 1710+1436

OW14 2957 = 1800+1157 P1

F=g+h 2765 = 1501+1264

Langkah 4: a. Mencari verteks yang terhubung dengan verteks OW14.

b. Menentukan cost untuk setiap verteks yang didapat dengan menggunakan fungsi Algoritma A*.

c. Mengambil cost terkecil dari hasil perhitungan. Verteks yang diambil adalah verteks S13.


(61)

Langkah 5: a. Mencari verteks yang terhubung dengan verteks S13, yaitu verteks OW3.

b. Menentukan cost untuk verteks yang didapat dengan menggunakan fungsi Algoritma A*.

c. Mengambil cost terkecil dari hasil perhitungan. Verteks yang diambil adalah verteks OW3.

d. Kaena goal sudah tercapai, langkah berhenti sampai di sini di verteks OW2.

P5

6480 = 3395 + 3085

OW3 3210 = 2810 + 400 S13

F=g+h 2192 = 2066+1126

 

4.2Tampilan Antarmuka

Sesuai dengan perancangan sistem, maka ada lima halaman utama tampilan atarmuka dari sistem yang dibangun yaitu:

1. Home 2. Profil Kota 3. Visi dan Misi 4. Kecamatan 5. Profil Owner

4.2.1 Tampilan Menu Home

Pada tampilan menu Home memberitahukan informasi seputar kota Binjai kepada pengguna. Menu Home adalah halaman pertama kali yang tampil ketika sistem dijalankan. Pada menu Home terdapat link menuju halaman pencarian rute terpendek


(62)

interest point kota Binjai. Link yang dimaksud diberi nama WEB SIG pariwisata kota Binjai.

Gambar 4.2 Tampilan menu Home

4.2.2 Tampilan Menu Pencarian Rute Terpendek

Gambar 4.3 menunjukkan tampilan menu awal dari menu pencarian rute terpendek. Pada tampilan ini terdapat beberapat checks box antara lain: Select Layers, Anotasi, disisi kanan terdapat beberapa komponen select box zoom in, zoom out, sedangkan disisi tengah terdapat zona untuk menampilkan peta, dan pada bagian bawah terdapat pilihan pencarian rute terpendek.


(63)

Gambar 4.3 Tampilan Menu Awal Pencarian Rute Terpendek

4.2.2.1Tampilan Batas Kecamatan

Apabila pengguna memberikan tanda check list pada checks box batas kecamatan, maka akan tampil seperti pada Gambar 4.4.


(64)

Gambar 4.4 Batas Kecamatan

4.2.2.2Tampilan Kecamatan

Untuk melihat tampilan kecamatan pengguna dapat memberi tanda check list checks box kecamatan. Adapun tampilan kecamatan dapat dilihat pada Gambar 4.5.


(1)

M-1

$nilaiF = $H + $GTotal; // echo("nilai F =".$nilaiF." - ");

$nilaiGdanF = array($GTotal, $nilaiF);

return $nilaiGdanF;

}

function dfs($anak, $titikTujuan, $titik){ $parent = $anak;

for($i=0; $i<count($titik); $i++){ if($titik[$i][3]==$parent){

$gOLD = $titik[$i][0];

$nilaiGdanF = mencariNilaiF($gOLD,$parent,$titikTujuan,$titik);

$titik[$i][1] = $nilaiGdanF[0];

$titik[$i][2] = $nilaiGdanF[1];

dfs($gOLD,$titikTujuan,$titik); }

} }

function tracking($akhir, $awal, $pilih, $titik){ array_push($pilih,$akhir);

for($i=0; $i<count($titik); $i++){

if($akhir === $awal){

break; }

elseif($titik[$i][0] === $akhir){ $nextnya = $titik[$i][3];

//echo("<br />masuk lo, nilai nextnya = ".$nextnya); tracking($nextnya, $awal, $pilih, $titik);

} } return $pilih; }

$titikAwal = $_POST['asal']; //"t20"; $titikTujuan = $_POST['tujuan']; //"t11"; $titikBerikutnya = $titikAwal;

$open = Array(); $closed = Array();

$titik = Array(Array(0,0,0,0)); $nodeTerpilih = array();

$pilih = array();

$pilihan = array();

array_push($open,$titikAwal);

array_push($titik,array($titikAwal,0,0,0)); $jumlahOpen = count($open);

//echo "1 - $titikBerikutnya <br />"; //menampung titik yang terpilih

array_push($nodeTerpilih,$titikBerikutnya);


(2)

N-1

if($titikAwal==$titikTujuan){

//echo("titik Tujuan sama dengan titik awal"); }

else{

array_push($closed,$titikAwal); //unset($open[0]);

array_splice($open,0,1); //Mengahpus isi array

//nanti dihapus

//array_push($open,"t31");

while($titikBerikutnya != $titikTujuan || $jumlahOpen == 0){ //array penampung sementara dari Suksesor titikBerikutnya $suksesorSementara = Array();

//array penampung nilai F $nilaiFOpen = array();

//Membangkitkan Seluruh tetangga titikBerikutnya

//Membangkitkan Tetangga dari titikBerikutnya sebagai V1

$namaV2 = mysql_query("select V2 from rute where V1='$titikBerikutnya'", $koneksi) or die (mysql_error());

while($dataNamaV2 = mysql_fetch_array($namaV2)){

$V2 = $dataNamaV2[0]; //echo "2 - $V2 <br /> "; array_push($suksesorSementara, $V2);

}

//Membangkitkan Tetangga dari titikBerikutnya sebagai V2

$namaV1 = mysql_query("select V1 from rute where V2='$titikBerikutnya'", $koneksi) or die (mysql_error());

while($dataNamaV1 = mysql_fetch_array($namaV1)){ $V1 = $dataNamaV1[0]; //echo "3 - $V1 <br /> "; array_push($suksesorSementara, $V1);

}

$jumlahSuksesorSementara = count($suksesorSementara);

//echo("jumlah suksesor sementara = ".$jumlahSuksesorSementara);

//Mengecek Jumlah suksesor dari titik sementara, jika tidak ada suksesor maka goto cari F min if($jumlahSuksesorSementara==0){

goto pencarianNilaiFMIn;

}

//Mengecek Apakah sudah ada di OPEN, CLOSED for($j=0; $j<$jumlahSuksesorSementara; $j++){ $iterasi = $j+1;

//OPEN

$jumlahOpen = count($open); for($k=0; $k<$jumlahOpen; $k++){

if($suksesorSementara[$j] == $open[$k]){

//echo "<br /> suksesor yang telah berada di OPEN : $suksesorSementara[$j] ";


(3)

O-1

$suksesorSementara[$j] = "0"; //echo("nilai OLD = ".$OLD);

//Menngambil nilai G dari suksesor di OPEN dengan BestNode //Membangkitkan Tetangga dari titikBerikutnya sebagai V1

$kiri = mysql_query("select Panjang_Jalan from rute where V1='$titikBerikutnya' AND V2='$OLD'", $koneksi);

$dataKiri = mysql_fetch_array($kiri); $nilaiKiri= $dataKiri[0];

//Membangkitkan Tetangga dari titikBerikutnya sebagai V2

$kanan = mysql_query("select Panjang_Jalan from rute where V1='$OLD' AND V2='$titikBerikutnya'", $koneksi);

$dataKanan = mysql_fetch_array($kanan); nilaiKanan= $dataKanan[0];

$GSukDanBest = $nilaiKiri + $nilaiKanan; //Mengambil nilai H

$namaObjekWisata = mysql_query("select * from titik where nama_titik='$titikTujuan'", $koneksi) ;

$dataNamaObjekWisata = mysql_fetch_array($namaObjekWisata); $OW = $dataNamaObjekWisata[1];

$nilaiH = mysql_query("select $OW from titik where nama_titik='$OLD'", $koneksi)or die (mysql_error());

$dataNilaiH = mysql_fetch_array($nilaiH); $H = $dataNilaiH[0];

//Menggunakan fungsi Mencari Nilai F untuk mendapatkan nilai G dan F $nilaiGdanFOLD = mencariNilaiF($OLD, $titikBerikutnya, $titikTujuan, $titik);

$gOLD = $nilaiGdanFOLD[0]; $fOLD = $nilaiGdanFOLD[1]; echo("<br />OPEN-Nilai gOLD = ".$gOLD); $indeksTitik = 0;

//$gOLD = 0;

for($i=0;$i<count($titik);$i++){

if($titik[$i][0] === $OLD){

$gAwal = $titik[$i][1];

//echo("- $i - OPEN-Nilai gAwal = ".$gAwal."<br />");

$indeksTitik = $i;

}

// else if($titik[$i][0] == $titikBerikutnya){ //$gOLD = $titik[$i][1] + $GSukDanBest;

// } }

//echo("<br /> open = ".$OLD); if($gOLD < $gAwal) {

//echo("<br /> masuk");

$titik[$indeksTitik][3] = $titikBerikutnya; $titik[$indeksTitik][1] = $gOLD;

$titik[$indeksTitik][2] = $fOLD; }

} }


(4)

P-1

//CLOSED

$jumlahClosed = count($closed); for($l=0; $l<$jumlahClosed; $l++){

if($suksesorSementara[$j] == $closed[$l]){ $OLD = $suksesorSementara[$j];

$suksesorSementara[$j] = "0";

//echo "<br /> suksesor yang telah berada di CLOSED : $suksesorSementara[$j] ";

$nilaiGdanFOLD = mencariNilaiF($OLD, $titikBerikutnya, $titikTujuan, $titik);

$gOLD = $nilaiGdanFOLD[0]; $fOLD = $nilaiGdanFOLD[1]; $indeksTitik = 0;

//$gOLD = 0;

for($i=0;$i<count($titik);$i++){

if($titik[$i][0] == $OLD){

$gAwal = $titik[$i][1];

$indeksTitik = $i;

} }

if($gOLD < $gAwal) {

$titik[$indeksTitik][3] = $titikBerikutnya; $titik[$indeksTitik][1] = $gOLD;

$titik[$indeksTitik][2] = $fOLD;

dfs($gOLD,$titikTujuan,$titik); }

} }

//Tidak ada di Keduanya

if($suksesorSementara[$j] != "0"){

array_push($open,$suksesorSementara[$j]); $jumlahOpen = count($open);

//echo "<br /> suksesor yang tidak di OPEN maupun CLOSED: $suksesorSementara[$j] - iterasi: $iterasi ";

//Fungsi mencari nilai F setiap titik

//$nilaiF = mencariNilaiF($suksesorSementara[$j], $titikBerikutnya, $titikTujuan);

$nilaiGdanF = mencariNilaiF($suksesorSementara[$j], $titikBerikutnya, $titikTujuan, $titik);

//Memasukkan nilai F, nama titik dan Parent dari titik tersebut array_push($titik,array($suksesorSementara[$j],$nilaiGdanF[0],$nilaiG danF[1], $titikBerikutnya ));

//Untuk Mengambil nilai F yang mini

// array_push($nilaiFOpen,$nilaiF);

//echo $iterasi." Hasil = ".$nilaiF." - ".$titik[$iterasi][0]." costs ".$titik[$iterasi][1]." and you get ".$titik[$iterasi][2]."<br />";

} }

//echo $iterasi." Hasil = ".$nilaiF." - ".$titik[$iterasi][0]." costs ".$titik[$iterasi][1]." and you get ".$titik[$iterasi][2]."<br />"; $jumlahOpen = count($open);


(5)

Q-1

//echo("<br />");

//for($i=0;$i<$jumlahOpen;$i++){

// echo("Sebelum dapat BestNode titik yang ada di OPEN = ".$open[$i]."<br />");

//}

//for($i=0;$i<count($closed);$i++){

//echo("Sebelum dapat BestNode titik yang ada di CLOSED = ".$closed[$i]."<br />");

//}

//Memasukkan nilai F dari titi-titik yang ada di OPEN for($n=0; $n<$jumlahOpen; $n++){

for($o=1; $o<=$jumlahTitik; $o++){ if($open[$n] == $titik[$o][0]){

array_push($nilaiFOpen,$titik[$o][2]); }

} }

//for($i=0;$i<count($nilaiFOpen);$i++){

//echo("nilai F titik yang ada di F OPEN = ".$nilaiFOpen[$i]."<br />");

//}

//Mencari Nilai F minimum dari titik yang ada di Open pencarianNilaiFMIn:

$nilaiFMin = min($nilaiFOpen);

$jumlahNilaiFOpen = count($nilaiFOpen);

//Mencari titik pada open yang nilai F-nya min

for($m=0; $m<$jumlahNilaiFOpen; $m++){ //echo("<br /> nilai F Open".$nilaiFOpen[$m]);

if($nilaiFMin == $nilaiFOpen[$m]){

$indeksNilaiF = $m;

} }

//echo("<br /> indeks nilai F Open = ".$indeksNilaiF); //titik yang F min terpilih sebagai BestNode

$BestNode = $open[$indeksNilaiF];

//Memasukkan titik bestNode ke CLOSED

array_push($closed,$BestNode); //Menghapus titik dari OPEN

// unset($open[$indeksNilaiF]);

array_splice($open,$indeksNilaiF,1); //Menghapus niali Fmin dari array nilaiFOpen

// unset($nilaiFOpen[$indeksNilaiFOpen]);

array_splice($nilaiFOpen,$indeksNilaiF,1);

$titikBerikutnya = $BestNode;

//menampung titik yang terpilih

array_push($nodeTerpilih,$titikBerikutnya); //echo("<br />titik terpilih berikutnya = ".$titikBerikutnya); // echo("<br />");

// for($i=0;$i<$jumlahOpen;$i++){


(6)

R-1

// }

// for($i=0;$i<$jumlahNilaiFOpen;$i++){

// echo("nilai F titik yang ada di F OPEN = ".$nilaiFOpen[$i]."<br />");

// }

// for($i=0;$i<count($closed);$i++){

// echo("Setelah dapat BestNode titik yang ada di CLOSED = ".$closed[$i]."<br />");

// }

// echo("nilai f best node = ".$nilaiFMin); // echo("titik best Node =".$BestNode); //echo("jumlah titik = ".count($titik));

//echo("<br /> nilai F minimum = ".$nilaiFMin." titiknya adalah ".$open[$indeksNilaiF]);

//$nilaiF = Array(Array(0,0,0)); /*for($i=0; $i<$jumlahOpen; $i++){ $elementOpen = $open[$i];

$namaObjekWisata = mysql_query("select id_vertek from titik where nama_titik=$titikTujuan", $koneksi);

$dataNamaObjekWisata = mysql_fecth_array($namaObjekWisata); $OW = $dataNamaObjekWisata[0];

$nilaiH = mysql_query("select $dataNamaObjekWisata from titik where nama_titik=$elementOpen", $koneksi);

$dataNilaiH = mysql_fecth_array($nilaiH); $H = $dataNilaiH[0];

}*/

/*echo("<br /><br /> Hasil array <br />"); for($c=0;$c<10;$c++){

echo " Hasil = - ".$titik[$c][0]." nilai G ".$titik[$c][1]." and you get F ".$titik[$c][2]." Parent = ".$titik[$c][3]."<br />";

}*/ /*$jumlahOpen = count($open); for($c=0;$c<$jumlahOpen;$c++){

echo "<br /> Titik di Open antara lain : " .$open[$c]." <br />";

}"*/

} }

//echo("<br /><br /> Hasil array <br />"); for($c=0;$c<count($titik);$c++){

//echo " Hasil = - ".$titik[$c][0]." nilai G ".$titik[$c][1]." and you get F ".$titik[$c][2]." Parent = ".$titik[$c][3]."<br />";

}

$nodeTerpilihTerakhir = count($nodeTerpilih) - 1; //echo("<br /><br /> Hasil nodeTerpilih <br />");

for($c=0;$c<count($nodeTerpilih);$c++){ //echo("hasil node = ".$nodeTerpilih[$c]." <br />"); }

//echo("<br /><br />Tracking<br />");

//echo(" node terakhir ".$nodeTerpilih[$nodeTerpilihTerakhir]." awal = ".$titikAwal);

//$pilihan =

tracking($nodeTerpilih[$nodeTerpilihTerakhir],$titikAwal,$pilih,$titi k);