• Tidak ada hasil yang ditemukan

SISTEM INFORMASI GEOGRAFIS BERBASIS WEB

N/A
N/A
Protected

Academic year: 2018

Membagikan "SISTEM INFORMASI GEOGRAFIS BERBASIS WEB"

Copied!
68
0
0

Teks penuh

(1)

SISTEM INFORMASI GEOGRAFIS BERBASIS WEB SEBAGAI PENENTU SHORTEST PATH DENGAN MENGGUNAKAN ALGORITMA DIJKSTRA

SKRIPSI

ICHSAN KURNIAWAN 041401027

DEPARTEMEN S-1 ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(2)

PERSETUJUAN

Judul : SISTEM INFORMASI GEOGRAFIS BERBASIS WEB SEBAGAI PENENTU SHORTEST PATH DENGAN MENGGUNAKAN ALGORITMA DIJKSTRA

Kategori : SKRIPSI

Nama : ICHSAN KURNIAWAN

Nomor Induk Mahasiswa : 041401027

Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 9 Maret 2010

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M. Andri Budiman, ST, M.Comp.Sc, MEM Drs. James Piter Marbun, M.Kom NIP 197510082008011011 NIP 195806111986031002

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(3)

PERNYATAAN

SISTEM INFORMASI GEOGRAFIS BERBASIS WEB SEBAGAI PENENTU SHORTEST PATH DENGAN MENGGUNAKAN

ALGORITMA DIJKSTRA SKRIPSI

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

Medan, 9 Maret 2010

(4)

PENGHARGAAN

Alhamdulillah, puji syukur penulis panjatkan kehadirat Allah SWT, yang telah memberikan rahmat dan ridho-Nya, sehingga saya dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Universitas Sumatera Utara. Shalawat dan Salam saya hadiahkan kepada Nabi Besar Muhammad SAW.

Ucapan terima kasih yang sebesar-besarnya penulis sampaikan kepada Bapak Drs. James Piter Marbun, M.Kom sebagai Dosen Pembimbing I dan Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM sebagai Dosen Pembimbing II atas bimbingan, saran, masukan kepada penulis untuk menyempurnakan skripsi ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syariol Sitorus, S.Si., MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen, pegawai/staf di Program Studi Ilmu Komputer S-1 USU.

Seluruh proses pengerjaan skripsi ini tidak akan dapat dilalui tanpa dukungan orangtua dan seluruh keluarga saya. Terima kasih sebesar-besarnya atas segala dukungannya baik materil dan spiritual. Semoga Allah SWT akan membalasnya. Terima kasih juga kepada tika melayu, seluruh sahabat-sahabat RCS yang sangat saya hormati, serta seluruh teman-teman yang tidak dapat saya sebutkan semuanya. Terima kasih pula kepada semua pihak-pihak yang tidak dapat saya sebutkan satu persatu, terima kasih atas ide, saran, dan kerjasama yang baik.

(5)

ABSTRAK

(6)

WEB BASED GEOGRAPHIC INFORMATION SYSTEM TO DETERMINE A SHORTEST PATH USING DIJKSTRA ALGORITHM

ABSTRACT

(7)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v 2.1.6 Matriks Bersisian (Incidency Matrix) 10 2.1.7 Senarai Ketetanggaan (Adjacency List) 11 2.2 Lintasan Terpendek (Shortest Path) 12

2.3 Algoritma Dijkstra 12

2.4 Sistem Informasi Geografis 13

2.4.1 Komponen Sistem Informasi Geografis 14 2.5 Matriks Asal-Tujuan (Origin Des tination Matrix) 16

2.6 Mapserver 17

2.9.1.2 Pengujian Struktural 25

2.9.1.3 Pengujian Jalur 25

(8)

Bab 3 Analisis dan Desain Sistem 27

3.1 Analisis Masalah Umum 27

3.2 Deskripsi Sistem 33

3.3 Spesifikasi Keperluan Sistem 33

3.3.1 Fungsi Sistem 34

3.3.2 Tujuan Sistem 34

3.3.3 Masukan dan Keluaran Sistem 34

3.3.4 Batasan Sistem 34

3.4 Data Flow Diagram (DFD) 35

3.5 Desain Database 39

3.6 Perancangan Antarmuka Sistem (Interface) 40 Bab 4 Implementasi dan Pengujian Sistem 42

4.1 Implementasi 42

4.1.1 Lingkungan Implementasi 43

4.2 Pengujian Sistem 44

4.2.1 Pengujian Shortest Path antara Node Terkecil dan Node

Terbesar 44

4.2.2 Pengujian dengan Shortest Path dengan Jalur Satu Arah 44 4.2.3 Pengujian Kesesuaian Pemilihan Jalur Shortest Path dengan

Nilai Total Jalur yang Ditempuh 45 4.3 Tampilan Aplikasi Sistem 46 .

Bab 5 Kesimpulan Dan Saran 51

5.1 Kesimpulan 51

5.2 Saran 51

Daftar Pustaka 53

(9)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Graf Tak Berarah 6

Gambar 2.2 Graf Berarah 7

Gambar 2.3 Graf Ketetanggaan 7

Gambar 2.4 Graf Berbobot 9

Gambar 2.5 Graf Matriks Ketetanggaan 10

Gambar 2.6 Graf Matriks Bersisian 11

Gambar 2.7 Representasi Jalur Beberapa Kota 16 Gambar 2.8 Arsitektur Dasar Aplikasi MapServer 18

Gambar 2.9 Aplikasi DetikMap 20

Gambar 2.10 Aplikasi Minnesota DNR 21

Gambar 2.11 Aplikasi Visualitation of Resource Map 21

Gambar 2.12 Pengujian Kotak Hitam 24

Gambar 3.1 Flowchart Algoritma Dijkstra 29

Gambar 3.2 Graf Analisis Dijkstra 30

Gambar 3.3 Diagram Konteks 35

Gambar 3.4 DFD Level 1 36

Gambar 3.5 DFD Level 2 37

Gambar 3.6 Flowchart Sistem 38

Gambar 3.7 Rancangan Antarmuka Sistem 41

Gambar 4.1 Tampilan Awal Aplikasi 46

Gambar 4.2 Tampilan Zoom In 1 x 47

Gambar 4.3 Pemilihan Node Awal 48

Gambar 4.4 Pemilihan Node Akhir 48

Gambar 4.5 Tampilan Query 49

(10)

DAFTAR TABEL

Halaman

Tabel 3.1 Tahap 1 Analisis Dijsktra 30

Tabel 3.2 Tahap 2 Analisis Dijkstra 31

Tabel 3.3 Tahap 3 Analisis Dijkstra 31

Tabel 3.4 Tahap 4 Analisis Dijkstra 32

Tabel 3.5 Tahap 5 Analisis Dijkstra 32

(11)

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Transportasi adalah persoalan penting bagi masyarakat kota yang dinamis. Banyaknya jalan terkadang menyulitkan seseorang untuk mencapai tempat tujuannya. Terbatasnya waktu yang dimiliki dan pengaruh ekonomi mempengaruhi masyarakat untuk mencapai tempat tujuannya secepat mungkin dengan lintasan terpendek (shortest path). Untuk membantu dalam menentukan lintasan terpendek dapat menggunakan peta konvensional dan memilih jalur yang terpendek dari tempat asal ke tujuan. Namun hal ini sering kali tidak dapat membantu secara maksimal karena banyaknya jalan yang harus dipilih dan tidak dapat diperkirakan jarak tempuh pada jalur itu.

Untuk itu diperlukan suatu sistem yang dapat membantu dalam menentukan lintasan terpendek yang dapat merepresentasikan data yang ada. Data tersebut dapat disimpan, diolah, dan disajikan dalam bentuk yang lebih sederhana serta terkomputerisasi sehingga memudahkan dalam penentuan lintasan terpendek.

(12)

Aplikasi ini akan dibuat berbasis web karena aplikasi berbasis web dianggap lebih memiliki beberapa keunggulan dibandingkan aplikasi berbasis desktop, diantaranya adalah sebagai berikut:

1. Tidak mengharuskan hardware atau software tertentu. Aplikasi web based dapat dijalankan selama komputer memiliki browser.

2. Instalasi relatif lebih mudah, karena hanya melakukan instalasi pada server saja.

3. Lebih murah, karena banyak aplikasi berbasis web yang open source.

4. Pengembangan lebih mudah. Aplikasi berbasis web menggunakan script, sehingga tidak perlu melakukan compile. Hanya melakukan perubahan script pada server maka client akan mengikuti perubahan.

1.2 Tujuan Penelitian

Tujuan dari penulisan tugas akhir ini adalah untuk membangun suatu prototipe sistem informasi geografis dengan mengimplementasikan algoritma Dijkstra sehingga dapat menentukan lintasan terpendek.

1.3 Rumusan Masalah

Bagaimana mengimplementasikan algoritma Dijkstra ke dalam sebuah sistem informasi geografis sehingga dapat digunakan untuk mencari lintasan terpendek pada suatu rute.

1.4 Batasan Masalah

Batasan masalah pada tugas akhir ini adalah sebagai berikut:

(13)

2. Jalanan yang dilalui tidak mengalami kerusakan ataupun gangguan lainnya. 3. Konflik pergerakan seperti merging, crossing, dan diverging pada

persimpangan dianggap tidak ada.

4. Kendaraan lain yang melintasi pada jalur pencarian dianggap tidak pernah menghalangi.

5. Lampu lalu lintas dianggap tidak ada.

6. Jarak lintasan dianggap merupakan jarak pergerakan kendaraan dari centroid tempat asal ke centroid tempat tujuan.

7. Jalan yang menjadi edge pada graf hanya jalan protokol.

8. Menggunakan algoritma Dijkstra untuk mencari lintasan terpendek.

9. Kendaraan yang digunakan tidak melalui rute khusus yang telah ditentukan. 10. Tidak membahas mengenai pembuatan dan pengolahan data spasial.

11. Vertex berupa fasilitas umum berupa bank, instansi pemerintahan, rumah sakit, hotel, tempat ibadah, pusat perbelanjaan, terminal transportasi, dan lainnya yang dilalui jalan protokol ataupun persimpangan jalan protokol.

1.5 Metode Penelitian

Langkah-langkah yang akan diambil dalam pengerjaan tugas akhir ini adalah sebagai berikut:

1. Studi Literatur. Pengerjaan tugas akhir ini dimulai dengan mengumpulkan bahan-bahan sebagai referensi baik dari buku, paper, jurnal, makalah, forum, milis, dan sumber-sumber lain yang berkaitan dan beberapa referensi lainnya untuk menunjang pencapaian tujuan tugas akhir.

2. Observasi. Metode ini dilakukan dengan melakukan pengamatan dan pengujian terhadap beberapa sistem informasi geografis dan aplikasi untuk mencari lintasan terpendek dengan melakukan penelusuran di internet. Dengan pengamatan secara langsung tersebut akan diperoleh pengetahuan bagaimana bentuk sistem yang ada dan telah diimplementasikan.

3. Analisis. Pada tahap ini dilakukan analisis permasalahan yang ada, batasan

(14)

4. Perancangan dan Implementasi Algoritma. Metode ini akan dilaksanakan

dengan melakukan perancangan sistem informasi geografis dan mengimplementasikan algoritma Dijkstra dalam membangun sistem ini.

5. Pengujian. Pada tahap ini dilakukan pengujian terhadap sistem informasi geografis yang telah dibangun serta menguji kebenaran dari algoritma Dijkstra untuk mencari lintasan terpendek.

6. Penyusunan Laporan dan Kesimpulan Akhir. Metode ini akan dilaksanakan dengan melakukan pendokumentasian hasil analisis dan implementasi secara tertulis dalam bentuk laporan skripsi.

1.6 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai berikut:

BAB 1: PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang pemilihan judul skripsi “Sistem Informasi Geografis Berbasis Web sebagai Penentu Shortest Path dengan Menggunakan Algoritma Dijkstra”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.

BAB 2: LANDASAN TEORI

Bab ini akan membahas teori-teori yang berkaitan dengan sistem, graf, algoritma Dijkstra, dan sistem informasi geografis.

BAB 3: ANALISIS DAN DESAIN SISTEM

Bab ini berisikan langkah-langkah penelitian yang dilakukan, serta analisis terhadap fokus permasalahan penelitian.

BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM

(15)

BAB 5: KESIMPULAN DAN SARAN

(16)

BAB II

LANDASAN TEORI

2.1 Graf

Menurut Rinaldi Munir (2003), “Graf adalah struktur diskrit yang terdiri dari simpul (vertex) dan sisi (edge), atau dengan kata lain, graf adalah pasangan himpunan (V, E) dimana V adalah himpunan tidak kosong dari vertex dan E adalah himpunan sisi yang menghubungkan sepasang simpul dalam graf tersebut”.

Berdasarkan orientasi arah pada sisi, secara umum graf dibedakan atas dua jenis, yaitu sebagai berikut:

1. Graf tak berarah.

Graf tak berarah adalah graf yang sisinya tidak mempunyai orientasi arah. Pada graf tak berarah, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. Jadi, (vj, vk) = (vk, vj) adalah sisi yang sama.

Gambar 2.1 Graf tak berarah

2. Graf berarah.

Graf berarah adalah graf yang sisinya diberikan orientasi arah. Pada umumnya, sisi yang berarah disebut dengan busur (arc). Pada graf berarah, (vj, vk) dan

(17)

(vk, vj). Untuk busur (vj, vk), simpul vj dinamakan simpul asal (initial vertex)

dan simpul vk dinamakan simpul terminal (terminal vertex).

Gambar 2.2 Graf berarah

Pada tugas akhir ini, yang digunakan adalah graf berarah, karena graf berarah dapat merepresentasikan jalan yang ada. Dimana tidak semua jalan memiliki dua arah yang saling berlawanan, namun ada juga jalan yang hanya memiliki satu arah saja.

2.1.1 Ketetanggaan

Dua buah vertex pada graf tak berarah G dikatakan bertetangga bila keduanya terhubung langsung dengan sebuah sisi. Dengan kata lain, vj bertetangga dengan vk

jika (vj, vk) adalah sebuah sisi pada graf G.

Gambar 2.3 Graf Ketetanggaan

(18)

2.1.2 Lintasan

Rinaldi Munir (2003, hal: 306) mengatakan, “Lintasan yang panjangnya n dari simpul awal v0 ke simpul tujuan vn di dalam graf G ialah barisan berselang-seling

simpul-simpul dan sisi-sisi yang berbentuk v0, e1, v1, e2, v2, … , vn-1, en, vn sedemikian

sehingga e1 = (v0, v1), e2 = (v1, v2), … , en = (vn-1, vn) adalah sisi – sisi dari graf G”.

Jika graf yang ditinjau merupakan graf sederhana, maka lintasan cukup dituliskan sebagai barisan simpul: v0, v1, v2, …, vn-1, vn, karena antara dua buah

simpul yang berurutan dalam lintasan tersebut hanya terdapat satu sisi.

Jika graf yang ditinjau memiliki sisi ganda, maka, lintasan ditulis sebagai barisan berselang-seling antara simpul dan sisi: v0, e1, v1, e2, v2, e3, …, vn-1, en, vn.

Simpul dan sisi yang dilalui di dalam lintasan boleh berulang. Sebuah lintasan yang semua simpulnya berbeda (setiap sisinya dilalui hanya sekali) dikatakan lintasan sederhana.

2.1.3 Graf Berbobot

Graf berbobot adalah graf yang setiap sisinya diberikan sebuah harga (bobot). Bobot pada setiap sisi dapat menyatakan jarak antara dua buah kota, biaya perjalanan, waktu tempuh, ongkos produksi, dan sebagainya.

(19)

2.1.4 Representasi Graf

Menurut Rinaldi Munir (2003), “Agar graf dapat diproses dalam program komputer, graf harus direpresentasikan ke dalam memori. Terdapat beberapa representasi untuk graf, antara lain matriks ketetanggaan, matriks bersisian dan senarai ketetanggaan”.

2.1.5 Matriks Ketetanggaan (Adjacency Matrix)

Misalkan G = (V, E) graf sederhana dimana |V| = n, 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.

(20)

Bentuk matriks ketetanggaan dari graf pada gambar 2.5 adalah

1 2 3 4 1 0 0 1 0 2 0 0 1 1 3 1 1 0 1 4 0 1 1 0

2.1.6 Matriks Bersisian (Incidency Matrix)

Matriks bersisian menyatakan kebersisian simpul dengan sisi. Misalkan G = (V, E) adalah graf dengan n simpul dan m sisi, maka matriks kebersisian A dari G adalah matriks berukuran m x n dimana

A = [aij],

[aij] menjadi 1 bila simpul i dan sisi j bersisian [aij] menjadi 0 bila simpul i dan sisi j tidak bersisian

Gambar 2.6 Graf Matriks Bersisian

Bentuk matriks bersisian dari graf pada gambar 2.6 adalah

e1 e2 e3 e4

(21)

2.1.7 Senarai Ketetanggaan (Adjacency List)

Matriks ketetanggaan memiliki kelemahan apabila graf memiliki jumlah sisi yang relatif sedikit sehingga graf sebagian besar berisi bilangan 0. Hal ini merupakan pemborosan terhadap memori, karena banyak menyimpan bilangan 0 yang seharusnya tidak perlu disimpan. Untuk kepentingan efisiensi ruang, maka tiap baris matriks tersebut digantikan senarai yang hanya berisikan vertex-vertex dalam adjacency set Vx dari setiap vertex x.

Bentuk senarai ketetanggan berdasarkan graf pada gambar 2.5 adalah 1: 3

2: 3,4 3: 1,2,4 4: 2,3

2.2 Lintasan Terpendek (Shortest Path)

Lintasan terpendek merupakan lintasan paling minimum yang ditempuh dari suatu tempat untuk mencapai tempat tujuan tertentu. Graf yang digunakan merupakan graf berbobot, yaitu graf yang setiap edge-nya memiliki nilai. Nilai pada sisi graf dapat berupa jarak, waktu, biaya, ataupun yang lainnya.

Ada beberapa macam persoalan lintasan terpendek, antara lain adalah sebagai berikut:

1. Lintasan terpendek antara dua buah simpul tertentu. 2. Lintasan terpendek antara semua pasangan simpul.

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

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

(22)

2.3 Algoritma Dijsktra

Algoritma Dijkstra merupakan algoritma untuk menentukan jarak terpendek dari satu vertex ke vertex yang lainnya pada suatu graf berbobot, dimana jarak antar vertex

adalah nilai bobot dari setiap edge pada graf tersebut. Dan bobot harus bernilai posisif (bobot >= 0). Algoritma Dijkstra ditemukan oleh Edger Wybe Dijkstra. Algoritma Dijkstra mencari jarak terpendek dari vertex asal ke vertex terdekatnya, kemudian ke vertex yang kedua, dan seterusnya. Dalam setiap iterasinya, algoritma akan

menambahkan vertex lain ke lintasan terpendek spanning tree.

Algoritma ini menggunakan strategi greedy dalam menentukan lintasan terpendek. Dalam strategi greedy pada setiap langkahnya akan memilih sisi yang berbobot minimum dan memasukkannya ke dalam himpunan solusi. Diharapkan pada setiap langkah dapat memilih solusi optimum lokal sehingga mencapai solusi optimum global.

2.4 Sistem Informasi Geografis

Menurut Purwadhi (1994), “Sistem Informasi Geografis merupakan suatu sistem yang mengorganisasi perangkat keras (hardware), perangkat lunak (software), dan data, serta dapat mendayagunakan sistem penyimpanan, pengolahan maupun analisis data secara simultan, sehingga dapat diperoleh informasi yang berkaitan dengan aspek keruangan”.

Sedangkan menurut Cowen (1998), “Sistem Informasi Geografis juga dapat dikatakan sebagai sistem pendukung keputusan (decision support system) yang computerized, yang melibatkan integrasi data spasial dalam memecahkan masalah

lingkungan”

(23)

Hasil integrasi tersebut membuat Sistem Informasi Geografis memiliki berbagai fungsionalitas, antara lain adalah sebagai berikut:

1. Kemampuan dasarnya sebagai mapping system dengan kemampuan kartografisnya.

2. Melakukan query terhadap data spasial ataupun data atribut yang terkait. 3. Menampilkan dan mengolah data permukaan tiga dimensi sebagai alat Bantu

pemodelan dengan aspek dimensi ketiga.

2.4.1 Komponen Sistem Informasi Geografis

Sistem Informasi Geografis merupakan hasil dari beberapa komponen. Menurut Robinson et al (1995), komponen Sistem Informasi Geografis terbagi menjadi empat, yaitu sebagai berikut:

1. Perangkat Keras (Hardware)

Sistem Informasi Geografis membutuhkan komputer untuk menyimpan data dan dalam melakukan pengolahan data. Semakin kompleks data yang ingin diolah, maka semakin besar juga kebutuhan memori dan kecepatan pengolah datanya.

2. Perangkat Lunak (Software)

Perangkat lunak dibutuhkan untuk memasukkan, menyimpan dan mengeluarkan data bila diperlukan. Perangkat lunak Sistem Informasi Geografis 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 Graphical 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.

(24)

yang berada di bawah, pada atau di atas permukaan bumi dengan posisi keberadaannya mengacu pada sistem koordinat nasional”.

b. Menurut Denny Charter (2008), “Data atribut adalah gambaran data yang terdiri dari informasi yang relevan terhadap suatu lokasi seperti kedalaman, ketinggian, lokasi penjualan, dan lain-lain dan bisa dihubungkan dengan lokasi tertentu dengan maksud untuk memberikan identifikasi seperti alamat, kode pos, dan lain-lain”.

4. Manusia

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.

Sistem Informasi Geografis merupakan manajemen data spasial dan non-spasial yang berbasis komputer dengan tiga karakteristik dasar, yaitu sebagai berikut:

1. Mempunyai fenomena aktual (variabel data non-lokasi) yang berhubungan dengan topik permasalahan di lokasi yang bersangkutan.

2. Merupakan suatu kejadian di suatu lokasi. 3. Mempunyai dimensi waktu.

Dalam Sistem Informasi Geografis, ada dua jenis model peta yang digunakan, yaitu sebagai berikut:

1. Peta vektor

Peta vektor merupakan peta yang dibangun dari penggabungan berbagai titik acuan yang kemudian melalui perhitungan khusus, titik-titik tersebut akan saling dihubungkan membentuk suatu garis atau pola tertentu.

2. Peta raster

Peta raster adalah peta dalam bentuk citra gambar yang merupakan hasil fotografi dari satelit ataupun hasil scan dari peta konvensional.

(25)

menghasilkan file dalam ukuran yang lebih kecil dari raster, sehingga dapat lebih menghemat memori.

2.5 Matriks Asal-Tujuan (Origin Destination Matrix)

Transportasi yang baik sangatlah menunjang dalam perkembangan suatu daerah. Pada tingkatan tertentu, transportasi dapat mengalami masalah-masalah. Untuk mengatasi masalah tersebut adalah dengan memahami pola pergerakan orang atau barang yang ada. Salah satu metode untuk memahami pola tersebut adalah dengan menggunakan matriks asal-tujuan (Origin Destination Matrix).

Matriks asal-tujuan dapat digunakan untuk membentuk tabel jarak antar vertex yang akan memudahkan dalam merepresentasikan graf.

Gambar 2.7 Representasi jalur beberapa kota

Misalkan terdapat sebuah graf yang merepresentasikan jalur dari beberapa kota seperti gambar 2.7, maka bentuk dari matriks asal-tujuannya adalah:

A B C D E Ti

(26)

2.6 MapServer

MapServer merupakan proyek open source yang dikenal yang ditujukan untuk menampilkan peta spasial dinamis melalui internet. Beberapa keistimewaan utama dari MapServer adalah sebagai berikut:

1. Mendukung untuk menampilkan dan melakukan query peta raster, vektor, dan format database.

2. Mampu berjalan pada berbagai jenis sistem operasi (windows, linux, Mac OS X, dan lainnya).

3. Mendukung bahasa scripting yang umum (PHP, Python, Perl, Ruby, Java, .NET).

4. Render kualitas tinggi.

5. Output aplikasi yang dapat diubah sesuai keinginan.

Pada dasarnya, MapServer adalah program CGI (Common Gateway Interface) yang tidak aktif pada web server. Ketika suatu request dikirim ke MapServer, MapServer menggunakan informasi yang dikirimkan dalam URL yang diminta dan Mapfile untuk membuat gambar dari peta yang diminta. Request dapat menghasilkan

gambar untuk legenda, skala, peta referensi sesuai variabel CGI.

Aplikasi MapServer pada dasarnya mencakup beberapa bagian, yaitu: 1. Mapfile

Mapfile adalah sebuah file konfigurasi berbentuk tulisan yang terstruktur untuk aplikasi MapServer. Mapfile menentukan letak peta, dimana dan kemana harus menampilkannya. Mapfile juga menentukan lapisan peta, termasuk sumber data, proyeksi dan simbol. File ini harus berekstensi .map agar MapServer mengenali file ini.

2. Data Geografis

(27)

3. Halaman HTML

Halaman HTML merupakan antarmuka antara user dan MapServer. Ini merupakan bentuk paling sederhana, MapServer dapat digunakan untuk menempatkan gambar peta statis pada halaman HTML.

4. MapServer CGI

Binary atau file yang dapat dieksekusi yang menerima requests dan

mengembalikan gambar, data, dan lainnya. MapServer CGI berada pada direktori cgi-bin atau direktori scripts pada server HTTP.

5. Server HTTP

Menyajikan halaman HTML kepada user. Dibutuhkan server HTTP yang berfungsi, seperti Apache atau Microsoft IIS (Internet Information Server) untuk menjalankan MapServer.

Arsitektur dasar dari aplikasi MapServer dapat dilihat pada gambar 2.8 berikut ini:

(28)

2.7 ka-Map

ka-Map adalah API Javascript untuk mengembangkan aplikasi web-mapping dengan interface yang sangat interaktif menggunakan fitur-fitur yang tersedia pada browser

modern. ka-Map merupakan proyek berbasis open source.

ka-Map dapat digunakan untuk berbagai macam aplikasi. ka-Map memiliki banyak fitur yang menarik, antara lain sebagai berikut:

1. Interaktif, navigasi yang kontinu, tanpa harus reload halaman. 2. Navigasi melalui keyboard.

3. Mendukung skala, legenda dan peta referensi. 4. Pengaturan tampilan layer pada client.

5. Melakukan query dasar.

ka-Map didesain dengan menggunakan sistem caching sesering mungkin. Sistem caching ini akan menyimpan peta ke dalam file pada komputer user, sehingga saat user ingin menuju pada tampilan yang telah di-load sebelumnya sistem tidak akan me-load ulang, sistem akan mengambil file yang telah disimpan sebelumnya untuk ditampilkan. Hal ini dapat menghemat waktu load peta.

Pada ka-Map, setiap peta dibagi menjadi beberapa bagian kecil sehingga membentuk gambar persegi. Gambar-gambar itu kemudian disimpan ke dalam file cache. Setiap kali peta ditampilkan dengan ka-Map pada skala tertentu, ka-Map

mengatur area tertentu dan mengambil potongan gambar yang merepresentasikannya. Bila potongan gambar ini telah ada pada file cache, maka ka-Map tidak lagi mengakses data melalui MapServer.

ka-Map sangat baik untuk aplikasi web-mapping dengan data peta statis, skala yang tetap, peta yang sangat besar dan peta yang diubah ukurannya secara dinamis. Sebaliknya ka-Map tidak baik untuk data peta yang sangat dinamis.

(29)

1. Detikmap (http://map.detik.com)

Aplikasi web-mapping beberapa kota di Pulau Jawa dengan fasilitas legenda, pencarian dan tempat lokasi kejadian berita pada situs detik.com

Gambar 2.9 Aplikasi DetikMap

2. Minnesota Department of Natural Resources (http://www.dnr.state.mn.us/ volunteer/julaug06/wildriver.html)

(30)

Gambar 2.10 Aplikasi Minnesota DNR

3. Visualitation of resource maps of Cheruvannur Gramma Panchayat (http://cheruvannur.web4all.in/resources/)

Aplikasi web-mapping dengan legenda hasil bumi. Pada aplikasi ini terdapat fitur untuk menampilkan atau meniadakan suatu layer pada peta.

(31)

2.8 XML (eXtensible Markup Language)

XML (eXtensible Markup Language) adalah sekumpulan aturan-aturan yang mendefinisikan suatu sintaks yang digunakan untuk menjelaskan, dan mendeskripsikan teks atau data dalam sebuah dokumen melalui penggunaan tag. XML merupakan sebuah bahasa markup yang digunakan untuk mengolah metadata (informasi tentang data) yang menggambarkan struktur dan maksud/ tujuan data yang terdapat dalam dokumen XML, namun bukan menggambarkan format tampilan data tersebut. XML juga dapat digunakan untuk mendefinisikan domain tertentu lainnya, seperti musik, matematika, keuangan dan lain-lain yang menggunakan bahasa markup terstruktur.

XML terletak pada inti web service, yang digunakan untuk mendeskripsikan data. Fungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi aplikasi eksternal dengan partner luaran. Dengan standarisasi XML, aplikasi-aplikasi yang berbeda dapat dengan mudah berkomunikasi antar satu dengan yang lain.

XML merupakan sebuah format yang dapat digunakan untuk pertukaran data (interchange) antar aplikasi dan platform yang berbeda. Metode deskripsi data XML (self-describing) membuatnya menjadi pilihan efektif untuk solusi antar jaringan, e-business, dan aplikasi terdistribusi. XML juga bersifat dapat diperluas (extensible),

dapat digunakan pada semua bahasa pemrograman, dan datanya dapat ditransfer dengan mudah melalui protokol standar internet seperti HTTP tanpa dibatasi oleh firewall.

Sebuah dokumen XML terdiri dari bagian bagian yang disebut dengan node. Node-node itu adalah sebagai berikut:

(32)

b. Element node yaitu bagian dari dokumen XML yang ditandai dengan tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen kosong seperti <anggota nama=”budi”/>. Root node biasa juga disebut root element. c. Attribute note termasuk nama dan nilai atribut ditulis pada tag awal sebuah

elemen atau pada tag tunggal.

d. Text node, adalah teks yang merupakan isi dari sebuah elemen, ditulis diantara tag pembuka dan tag penutup.

e. Comment node adalah baris yang tidak dieksekusi oleh parser.

f. Processing Instruction node, adalah perintah pengolahan dalam dokumen XML. Node ini ditandai awali dengan karakter <? Dan diakhiri dengan ?>. Namun perlu diingat bahwa header standard XML <?xml version=”1.0” encoding=”iso-8859-1”?> bukanlah processing instruction node. Header standard bukanlah bagian dari hirarki pohon dokumen XML.

7. NameSpace Node, node ini mewakili deklarasi namespace.

2.9 Pengujian Perangkat Lunak

Menurut Pressman, pengujian sistem adalah sederetan pengujian yang berbeda yang tujuan utamanya adalah sepenuhnya mempergunakan sistem berbasis komputer. Sedangkan menurut Kruse, uji coba atau testing adalah proses menjalankan suatu program dengan data yang telah dipilih untuk mencari kesalahan jika memang ada.

2.9.1 Pengujian Cacat

(33)

adanya cacat. Hal ini menekankan fakta penting mengenai pengujian. Pengujian menunjukkan keberadaan, bukan tidak adanya ataupun kesalahan program.

2.9.1.1 Pengujian Kotak Hitam

Pengujian fungsional atau pengujian kotak hitam (black-box testing) merupakan pendekatan pengujian yang ujinya diturunkan dari spesifikasi program atau komponen. Sistem merupakan kotak hitam yang perilakunya hanya dapat ditentukan dengan mempelajari input dan output yang berkaitan. Nama lain untuk cara ini adalah pengujian fungsional karena penguji hanya berkepentingan dengan fungsionalitas dan bukan implementasi perangkat lunak.

Gambar 2.12 Pengujian Kotak Hitam

(34)

2.9.1.2 Pengujian Struktural

Menurut Summerville (2003, hal: 91), ”Pengujian struktural merupakan pendekatan terhadap pengujian yang diturunkan dari pengetahuan struktur dan implementasi perangkat lunak. Pendekatan ini kadang-kadang disebut pengujian ‘kotak putih (white-box testing)’, pengujian kotak kaca atau pengujian kotak jernih untuk

membedakannya dari pengujian kotak hitam”.

Pengujian struktural biasanya diterapkan untuk unit program yang relatif kecil. Sebagaimana ditunjukkan oleh namanya, penguji dapat menganalisis kode dan menggunakan pengetahuan mengenai struktur komponen untuk menurunkan data uji. Analisis kode dapat digunakan untuk menemukan berapa kasus uji yang dibutuhkan untuk menjamin bahwa semua statement pada program paling tidak diuji satu kali pada proses pengujian.

2.9.1.3 Pengujian Jalur

Menurut Summerville (2003, hal: 93), “Pengujian jalur (path testing) adalah strategi pengujian struktural yang bertujuan untuk melatih setiap jalur eksekusi independent melalui komponen atau program. Jika setiap jalur independen dieksekusi, maka semua statement pada komponen harus dieksekusi paling tidak satu kali. Lebih jauh lagi,

semua statement kondisional diuji untuk kasus true dan false”.

2.9.2 Pengujian Integrasi

(35)
(36)

BAB III

ANALISIS DAN DESAIN SISTEM

3.1 Analisis Masalah Umum

Shortest path merupakan suatu persoalan untuk mencari lintasan antara dua buah

vertex pada graf berbobot yang memiliki gabungan nilai jumlah bobot pada edge graf

yang dilalui dengan jumlah yang paling minimum atau dapat dinyatakan juga sebagai berikut :

Diberikan sebuah graf berbobot (dengan himpunan vertex V, himpunan edge E, dan fungsi bobot bernilai bilangan real yang dapat ditulis dengan f : E R ), dan

diberikan elamen v’ dari V , sehingga dapat dicari sebuah lintasan P dari v ke setiap v dari V, sehingga:

pP

f

(

P

)

adalah nilai minimal dari semua lintasan yang menghubungkan v ke v’.

Algoritma Dijkstra merupakan salah satu algoritma yang umum digunakan untuk menyelesaikan masalah pencarian jalur terpendek. Secara umum langkah-langkah algoritma Dijkstra dapat dituliskan sebagai berikut:

1. Buat daftar jarak, daftar vertex sebelumnya, daftar vertex yang telah dikunjungi dan daftar vertex saat ini.

2. Semua nilai pada daftar jarak diberi nilai tidak terhingga kecuali vertex awal yang diberi nilai 0.

(37)

4. Semua nilai pada vertex sebelumnya diberikan nilai khusus yang menyatakan belum terdefinisi, seperti null.

5. Vertex saat ini di-set menjadi vertex awal. 6. Tandai vertex menjadi telah dikunjungi.

7. Perbarui daftar jarak dan daftar vertex sebelumnya berdasarkan vertex mana yang dapat segera dikunjungi dari vertex saat ini.

8. Perbarui vertex saat ini ke semua vertex yang belum dikunjungi yang dapat dicapai oleh shortest path dari vertex awal.

9. Ulangi dari langkah 6 sampai semua titik dikunjungi.

Sedangkan flowchart algoritma Dijkstra dapat digambarkan ke dalam gambar 3.1 berikut:

(38)

B

Bandingkan nilai state antar kolom vertex yang belum fixed

Berikan status fixed dan posisi saat ini pada state dengan nilai yang

terkecil

Apakah nilai terkecil serta status fixed dan posisi saat ini

tepat berada pada vertex yang dituju

END Ya

Tidak A

Apakah nilai awal state lebih besar dari nilai state yang baru

Nilai state tetap Perbarui nilai state dengan nilai yang

baru

Output Hasil Ya

Tidak

(39)

Misalkan dimiliki sebuah contoh graf dengan 5 vertex dan 7 edge sebagai berikut:

Gambar 3.2 Graf Analisis Dijkstra

Dalam contoh graf, dicari shortest path dari vertex A ke vertex C. Berikut analisis dari shortest path dari vertex A ke vertex C.

Tahap 1:

1. Inisialisasi nilai seluruh vertex dengan nilai ‘0’ dan nilai ‘1’ untuk vertex yang telah dikunjungi.

2. Seluruh nilai edge yang terhubung dengan vertex A dimasukkan ke dalam bobot. Dimana nilai edge A ke B = 3 dan A ke E = 4, untuk vertex C,D, dan E tidak diberi nilai karena tidak terhubung dengan vertex A.

3. Predecessor dari A, B dan E adalah A, karena jarak dihitung dari A, sedangkan untuk C, D dan E tidak ada karena tidak ada edge yang terhubung dengan vertex A. Hasil tahap 1 dapat dilihat pada tabel 3.1 di bawah ini.

Tabel 3.1 Tahap 1 Analisis Dijkstra

Keterangan\Vertex A B C D E

Status 1 0 0 0 0

Bobot - 3 - - 4

Predecessor A A - - A

Tahap 2:

(40)

vertex B dikunjungi dan status vertex B diubah menjadi 1. Dan predecessor

tetap A.

2. Karena vertex B telah dipilih, maka terjadi perubahan pada vertex C, dimana perubahan tersebut adalah bobot vertex C bernilai 7, dan predecessor dari C menjadi B. Karena vertex C didapat dengan melalui vertex B. Hasil dari tahap 2 dapat dilihat pada tabel 3.2.

Tabel 3.2 Tahap 2 Analisis Dijkstra

Keterangan\Vertex A B C D E

Status 1 1 0 0 0

Bobot - 3 7 - 4

Predecessor A A B - A

Tahap 3:

1. Berdasarkan hasil proses tahap 2, didapatkan vertex dengan state ‘0’ dan bobot terkecil adalah vertex E. Untuk itu status vertex E diberi nilai ‘1’

2. Karena vertex E telah dipilih, maka terjadi bobot pada vertex D berubah menjadi 5, dan predecessor vertex D menjadi E. Hasil dapat dilihat pada tabel 3.3 di bawah ini.

Tabel 3.3 Tahap 3 Analisis Dijsktra

Keterangan\Vertex A B C D E

Status 1 1 0 0 1

Bobot - 3 7 5 4

Predecessor A A B E A

Tahap 4:

1. Dari hasil proses tahap 3, maka vertex selanjutnya yang dikunjungi adalah vertex D, karena vertex D yang memiliki state ‘0’ dan memiliki bobot terkecil.

Untuk itu status vertex D diberi nilai ‘1’

(41)

Tabel 3.4 Tahap 4 Analisis Dijkstra

Keterangan\Vertex A B C D E

Status 1 1 0 1 1

Bobot - 3 6 5 4

Predecessor A A B E A

Tahap 5:

1. Karena hanya tinggal vertex C yang belum dikunjungi, maka status vertex C diberi nilai ‘1’. Dengan demikian seluruh vertex telah dikunjungi, dan berikut tabel hasil akhir analisis:

Tabel 3.5 Tahap 5 Analisis Dijkstra

Keterangan\Vertex A B C D E

Status 1 1 1 1 1

Bobot - 3 6 5 4

Predecessor A A B E A

Dengan demikian didapatkan jarak terpendek dari vertex A ke seluruh vertex yang ada. Dan jalur yang akan dilalui dapat dilihat berdasarkan predecessor-nya. Berikut adalah shortest path dari vertex A ke vertex lainnya:

1. A ke B, vertex yang dilalui adalah A-B, total jarak 3. 2. A ke C, vertex yang dilalui adalah A-E-D-C, total jarak 6. 3. A ke D, vertex yang dilalui adalah A-E-D, total jarak 5. 4. A ke E, vertex yang dilalui adalah A-E, total jarak 4.

3.2 Deskripsi Sistem

(42)

Pada sistem ini akan diberikan beberapa node-node tertentu dari peta Kotamadya Medan, yang umumnya berupa persimpangan dari jalan-jalan utama yang ada di Kotamadya Medan. User kemudian memilih data awal dan data akhir yang diinginkan, kemudian sistem akan melakukan perhitungan dan menentukan jalur terpendek yang harus dilalui di antara kedua node tersebut.

Dalam sistem informasi geografis dengan shortest path ini menggunakan file berformat XML sebagai database sistem untuk menyimpan data vertex dan bobot edge serta menyimpan data query hasil perhitungan shortest path.

3.3 Spesifikasi Keperluan Sistem

Dalam skripsi ini, dibangun sebuah sistem pencari jalur terpendek yang mengimplementasikan algoritma Dijkstra. Sistem ini dirancang menggunakan metode pendekatan atas-bawah (Top-Down Approach) sehingga perancangan dimulai dari bentuk yang paling umum, kemudian diturunkan secara bertahap menjadi bentuk yang lebih detail. Spesifikasi umum kebutuhan sistem menjelaskan dasar pembuatan rancangan sistem yang terdiri dari fungsi sistem, tujuan sistem, masukan dan keluaran sistem, dan batasan sistem.

3.3.1 Fungsi Sistem

Sistem yang akan dibuat memiliki fungsionalitas berikut: 1. Menampilkan peta Kotamadya Medan

2. Menunjukkan node-node yang merupakan beberapa persimpangan dan landmark di Kotamadya Medan

(43)

3.3.2 Tujuan Sistem

Sistem yang akan dibuat memiliki tujuan untuk menghitung dan menunjukkan jarak terpendek dari node awal ke node tujuan pada peta.

3.3.3 Masukan dan Keluaran Sistem

Masukan (input) sistem berupa data awal dan data akhir yang dipilih dari node-node yang telah ditentukan saat inisialisasi peta, sedangkan keluaran (output) sistem adalah jalur-jalur yang dilalui shortest path dari data awal ke data akhir pada peta.

3.3.4 Batasan Sistem

Sistem yang akan dibuat memiliki batasan-batasan berikut:

1. Node yang dapat dipilih sebagai data awal dan data akhir tertentu. 2. Peta yang ditampilkan hanya peta Kotamadya Medan.

3.4 Data Flow Diagram (DFD)

Untuk membantu perancangan sistem digunakan DFD (Data Flow Diagram), yaitu suatu model logika data atau proses yang dibuat untuk menggambarkan dari mana asal data dan kemana tujuan data yang keluar dari sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut dan interaksi antara data yang tersimpan dan proses yang dikenakan pada data tersebut. Model fungsional ini berfungsi membantu memahami cara kerja sistem dan hubungan setiap proses dalam sistem secara terstruktur dan logis.

Pada perancangan Perangkat Lunak Sistem Informasi Geografis dengan Shortest Path, Context diagram dapat dilihat pada Gambar 3.3. Sedangkan DFD rinci

(44)

satu sama lain dengan aliran dan penyimpanan data, model ini hanya memodelkan sistem dari sudut pandang fungsi.

DFD dari Sistem Informasi Geografis dengan Shortest Path dapat dilihat pada gambar 3.4 dan gambar 3.5.

SISTEM INFORMASI

Gambar 3.3 Diagram Konteks

Diagram konteks berfungsi menggambarkan hubungan antara entitas luar, berupa masukan dan keluaran sistem. Dari gambar 3.3 dapat dilihat bahwa hanya terdapat sebuah entitas luar, yaitu user. User disini bertindak sebagai source terminal yang memberikan masukan ke sistem dan juga sebagai sink terminal yang menerima keluaran dari sistem itu sendiri.

Berdasarkan diagram konteks pada gambar 3.3, DFD level 1 hanya memiliki satu proses yaitu proses untuk menentukan shortest path, maka DFD level 1 dapat digambarkan sebagai berikut:

1.1 Data Asal, Data

Tujuan, Jarak

Jalur Shortest Path

Gambar 3.4 DFD Level 1

(45)

bila data awal dan data akhir yang dipilih sudah pernah diproses sebelumnya, maka akan diambil hasil proses dari database jalur shortest path, apabila belum pernah, maka sistem akan memproses data tersebut, selanjutnya sistem akan menyimpan hasil perhitungan dan query jalur shortest path pada database jalur shortest path.

Masing-masing entitas data yang tercantum pada DFD level 1 ditampilkan pada tabel di bawah ini.

Tabel 3.6 Entitas Data Pada DFD Level 1

Nama Keterangan

Data Asal Node yang dipilih sebagai vertex asal shortest path Data Tujuan Node yang dipilih sebagai vertex akhir shortest path Jalur Shortest Path Hasil perhitungan shortest path

Proses tentukan shortest path terdiri dari tiga proses, yaitu proses baca data, proses hitung shortest path dan proses query jalur shortest path. DFD level 2 untuk proses tentukan shortest path dapat digambarkan sebagai berikut:

1

Gambar 3.5 DFD Level 2

(46)

shortest path hasil proses hitung shortest path (1.1.2) sebelumnya yang telah disimpan

ke dalam database jalur shortest path.

Bila data jalur shortest path yang dicari belum tersimpan, maka proses baca data akan melanjutkan ke proses hitung shortest path. Kemudian proses ini akan menyimpan hasil perhitungan ke dalam database jalur shortest path dan melanjutkan kepada proses query jalur shortest path (1.1.3) yang selanjutnya akan ditampilkan pada peta. Secara umum alur proses sistem dapat dilihat pada flowchart sebagai berikut:

START

(47)

Secara garis besar, algoritma Sistem Informasi Geografis dengan Shortest Path ini dapat dituliskan sebagai berikut:

1. Mulai.

2. Inisialisasi peta.

3. Membaca data seluruh node dan bobot edge pada database node dan jarak. 4. Input node awal dan node tujuan.

5. Memeriksa pada database jalur shortest path apakah query jalur dengan node awal dan node tujuan dari input langkah 3 telah tersimpan. Bila telah ada lanjut ke langkah 7.

6. Melakukan proses algoritma Dijkstra dengan input node dari langkah 3, simpan hasil proses pada database jalur shortest path.

7. Melakukan query data pada peta.

8. Menampilkan jalur terpendek pada peta. 9. Selesai.

3.5 Desain Database

Pada sistem ini tidak menggunakan aplikasi database seperti SQL, tetapi sistem ini menggunakan format file XML sebagai pengganti database sistem. File XML digunakan pada sistem ini karena data pada sistem tidak dinamis, dan file XML mudah untuk diakses dan dimanipulasi.

Pada sistem ini digunakan dua buah file XML, yaitu file SP.xml dan file path .xml. File SP.xml terdiri dari data node, koordinat node, label node, informasi node yang terhubung, dan jarak antar node. Sedangkan file path.xml yang merupakan data jalur untuk query hasil perhitungan shortest path. Berikut format penulisan pada file SP.xml:

1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <graph>

3 <v>

(48)

5 <label>Sp Selayang</label> 6 <x>457.68</x>

7 <y>389.075</y> 8 <e>

9 <con id="2">2.3886590</con> 10 <con id="4">4.6055284</con> 11 </e>

12 </v> 13 </graph>

Berikut penjelasan dari format penulisan file SP.xml:

1. Baris 1 menjelaskan pada file ini XML mengacu pada versi 1.0 dan menggunakan standar encoding karakter set ISO-8859-1 (Latin-1/West European).

2. Baris 2 merupakan tag pembuka dari element root. Disini menjelaskan bahwa file ini merupakan file yang berhubungan dengan graf.

3. Baris 3 merupakan tag pembuka dari element child. Baris ini menjelaskan bahwa data graf memiliki elemen v yang dimaksudkan sebagai vertex.

4. Baris 4 sampai baris 8 menjelaskan bahwa elemen v memiliki sub elemen sebagai berikut:

a. Id vertex dengan nilai 1.

b. Label vertex dengan nilai Simpang Selayang. c. Koordinat x dari vertex 1 dengan nilai 457.68. d. Koordinat y dari vertex 1 dengan nilai 389.075.

e. Tag pembuka sub elemen e sebagai edge yang memiliki sub sub elemen. 5. Baris 9 menjelaskan sub dari sub elemen e, yaitu con untuk menunjukkan

vertex yang terhubung dengan vertex 1, dan memiliki atribut id bernilai 2. con

(49)

3.6 Perancangan Antarmuka Sistem (Interface)

Rancangan antarmuka dari sistem ini hanya terdiri dari satu bagian, hasil query perhitungan shortest path juga akan ditampilkan pada bagian ini juga. Halaman akan di-reload dengan menunjukkan hasil dari query perhitungan shortest path.

Antarmuka sistem ini terdiri dari empat bagian, yaitu button zoom in/ zoom out untuk melakukan pembesaran dan pengecilan pada tampilan peta, button cari shortest path untuk mencari jalur shortest path dari node awal dan node akhir yang telah

dipilih, button reset untuk mengulangi pemilihan node, bila terjadi kesalahan dalam pemilihan dan tampilan peta yang memiliki node sebagai pilihan untuk node awal atau node akhir. Berikut adalah rancangan antarmuka sistem:

(50)

BAB IV

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi

Aplikasi ini dibangun berbasiskan web dan dapat digunakan pada jaringan internet. Namun pada penelitian ini, implementasi sistem tidak dilakukan sampai tahap implementasi pada jaringan internet secara nyata. Implementasi sistem ini hanya untuk untuk mengetahui kerja sistem dan analisis algoritma Dijkstra pada sistem informasi geografis.

Perangkat lunak yang digunakan dalam mendesain sistem ini adalah ka-Map 1.0. Dimana penggunaan ka-Map ini adalah sebagai framework untuk memudahkan dalam membangun sistem.

Aplikasi ini bertujuan untuk menunjukkan jalur terpendek pada sistem informasi geografis yang berupa peta Kotamadya Medan hasil citra dari foto pesawat tahun 2005. Sistem ini hanya menunjukkan jalur terpendek dari beberapa jalan protokol pada Kotamadya Medan.

(51)

Pada aplikasi ini menggunakan file XML sebagai pengganti database. File XML digunakan karena data pada aplikasi ini statis, dan file XML dianggap mudah untuk diakses dan dimanipulasi, file XML juga dapat digunakan dengan bahasa pemrograman apapun.

4.1.1 Lingkungan Implementasi

Lingkungan implementasi yang akan dijelaskan merupakan lingkungan perangkat keras (hardware) dan perangkat lunak (software) yang digunakan dalam penulisan skripsi ini.

Spesifikasi perangkat keras yang digunakan adalah sebagai berikut: 1. Processor Intel(R) Pentium 4 3.0 GHz.

2. Memory RAM 512 MB. 3. Harddisk Seagate 160 GB.

4. Perangkat output berupa monitor CRT 14”. 5. Perangkat input berupa mouse dan keyboard.

Spesifikasi perangkat lunak yang digunakan adalah sebagai berikut: 1. Operating system Microsoft Windows XP SP2.

2. Mozilla Firefox version 3.3.5.

3. Mapserver 4 Windows (MS4W) version 2.2.7. 4. HTML, CSS, Javascript, XML.

4.2 Pengujian Sistem

Pengujian sistem ini dilakukan untuk melihat apakah algoritma Dijkstra dapat menentukan shortest path pada sistem. Pengujian ini dilakukan dengan dua test case. 1. Pengujian shortest path antara node terkecil dan node terbesar.

(52)

3. Pengujian kesesuaian pemilihan jalur shortest path dengan nilai total jalur yang ditempuh.

4.2.1 Pengujian Shortest Path antara Node Terkecil dan Node Terbesar

Pada pengujian ini dipilih dua node sebagai data awal dan data akhir. Data awal merupakan node terkecil, yaitu dengan nilai 1 dan data akhir merupakan node terbesar, dengan nilai 125.

Pada pengujian ini, sistem dapat menentukan shortest path antara kedua node tersebut dengan melalui node-node berikut:

1-4-19-20-21-32-33-34-59-70-79-89-90-91-115-114-113-124-125

4.2.2 Pengujian dengan Shortest Path dengan Jalur Satu Arah

Pada pengujian ini dipilih node yang jalurnya menemui jalur satu arah. Tujuan pengujian ini diharapkan sistem dapat mengetahui jalur satu arah, sehingga dapat menemukan jalur lain untuk mencapai tujuan. Pengujian ini dilakukan dengan node awal dengan nilai 33 dan node akhir 78.

Pada pengujian ini, sistem dapat menentukan shortest path dengan jalur satu arah, dan sistem dapat menemukan jalur lain untuk mencapai tujuan. Berikut node-node yang dilalui oleh shortest path:

(53)

4.2.3 Pengujian Kesesuaian Pemilihan Jalur Shortest Path dengan Nilai Total Jalur yang Ditempuh

Pada pengujian ini, dipilih dua buah node dimana nantinya pada salah satu node akan ada pemilihan jalur dengan nilai yang lebih besar, namun dengan nilai total jalur yang ditempuh lebih kecil. Pengujian ini dilakukan pada node awal dengan nilai 22 dan node akhir dengan nilai 36. Pada pengujian ini, sistem nantinya harus memilih akan

melalui jalur dengan node 22-35-36 atau melalui jalur dengan node 22-23-24-25-36.

Berikut besar nilai masing-masing jalur: 1. Jalur dengan node 22-35-36

Jalur 22-35 : 0.76264509 Jalur 35-36 : 0.44068858 Total : 1.20333367

2. Jalur dengan node 22-23-24-25-36 Jalur 22-23 : 0.69939971 Jalur 23-24 : 0.28747265 Jalur 24-25 : 0.35873362 Jalur 25-26 : 0.37390443 Total : 1.71951041

Pada pengujian ini, sistem dapat menentukan jalur yang harus dipilihnya untuk mendapatkan nilai total jalur terkecil, meskipun pada node awal jalur melalui jarak yang lebih besar. Pada hasil pengujian ini, shostest path melalui node-node berikut:

22-35-36

4.3 Tampilan Aplikasi Sistem

(54)

awal dan node akhir yang diinginkannya dan menekan tombol Cari Jalur untuk mencari shortest path antara kedua node yang telah dipilih. Bila user salah memilih node, user dapat menekan tombol Reset untuk mengulangi pemilihan node. Berikut

adalah tampilan awal saat aplikasi dijalankan.

Gambar 4.1 Tampilan Awal Aplikasi

Pada tampilan awal ini, aplikasi akan menampilkan jalan-jalan yang menjadi jalur untuk shortest path. Jalan-jalan lain diabaikan pada saat ini. Untuk dapat melihat jalan-jalan yang lainnya user dapat melakukan zoom in dengan menggeser ke atas slider navigasi pada sisi kiri atas aplikasi. Berikut tampilan saat aplikasi pada posisi

(55)

Gambar 4.2 Tampilan Zoom in 1 x

(56)

Gambar 4.4 Pemilihan Node Akhir

Gambar 4.3 dan gambar 4.4 menunjukkan tampilan aplikasi saat pemilihan node awal dan node akhir dilakukan. Saat user memilih sebuah node, akan

ditampilkan sebuah alert box yang menampilkan nilai node yang dipilih.

(57)

Gambar 4.5 Tampilan Query

(58)
(59)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan pembahasan dan evaluasi dari bab-bab terdahulu dan teori yang ada, maka dapat ditarik kesimpulan sebagai berikut:

1. Aplikasi Sistem Informasi Geografis dengan Shortest Path ini dapat menunjukkan jalur-jalur terpendek antara dua node yang diinginkan

2. Ka-Map tidak efesien untuk penggunaan aplikasi web-mapping dengan data spasial yang dinamis, karena ka-Map menggunakan sistem caching. Setiap ada perubahan data spasial, harus dilakukan penghapusan file cache untuk mendapatkan perubahan.

5.2 Saran

Saran-saran yang dapat digunakan untuk pengembangan skripsi ini adalah:

1. Diharapkan data telah lengkap diterima dan detail sehingga dapat dimasukkan ke dalam aplikasi yang telah ada.

2. Diharapkan pada aplikasi memiliki lebih banyak fitur, seperti pencarian lokasi.

(60)

DAFTAR PUSTAKA

Aditya Pradhana, Bayu. 2007. Studi dan I mplementasi Persoalan Lintasan Terpendek

Suatu Graf Dengan Algoritma Dijkstra dan Algoritma Bellman-Ford.

Anindito iradat. 2000. Pengaruh Model Pemilihan Rute terhadap Matriks Asal-Tujuan

yang Diperoleh dari I nformasi Data Arus Lalu Lintas.

Budi Prasetyo Bambang. Pengembangan Model Alternatif Pada Analisis Asal-Tujuan

Transportasi Nasional.

Diakses pada tanggal 31 Oktober 2008.

Farizki Wicaksono, Alfan. 2008. Modifikasi Dijkstra dengan Metode Ford untuk

Mencari Shortest Path pada Graf yang Memiliki Bobot Negatif.

http: / / www.informatika.org/ ~ rinaldi/ Stmik/ 2007-2008/ Makalah2008/

MakalahI F2251-2008-0607.pdf. Diakses pada tanggal 19 Oktober 2008.

Ginanjar. 2008. Analisis Pencarian Jalur Jalan dalam Kampus I TB dengan

Menggunakan Basis Data Spasial 3 Dimensi.

http: / / digilib.itb.ac.id/ gdl.php?mod= browser& op= read&id=

jbptitbpp-gdl-ginanjarni-31037&q= Road. Diakses pada tanggal 14 Oktober 2008.

Husein, Rahmad. Konsep Dasar Sistem I nformasi Geografis.

19 Oktober 2008.

(61)

Diakses pada tanggal 19 Oktober 2008.

I ryanto. 2003. Pengantar Teori dan Aplikasi Graph. Medan: USU Press.

Munir, Rinaldi. 2003. Matematika Diskrit. Edisi ke-2. Bandung: I nformatika.

Peraturan Pesiden No 85 tahun 2007 Tentang Jaringan Data Spasial Nasional.

pada tanggal 20 Oktober 2008.

Ray Rizaldi, Mohammad. 2007. Pencarian Jalur Terpendek dalam GPS dengan

Menggunakan Teori Graf.

Reza Arianto, Taufiq, Anggoro, Siwi, dan Rakhmawati. 2006. Strategi Greedy pada

Kasus Pencarian Lintasan Terpendek. http: / / www.stttelkom.ac.id/ staf/ FAY/

kuliah/ DAA/ 20052/ Tugas1/ pdfs/ 11-DAA% 2020052% 20113030008%

20113030030% 20113030046% 20Strategi% 20Greedy% 20pada% 20Kasus% 20

Pencarian% 20Lintasan% 20Terpendek.pdf. Diakses pada tanggal 20 Oktober

2008.

Romenah. 2007. Sistem I nformasi Geografi. http: / / elcom.umy.ac.id/ elschool/ muallim

_muhammadiyah/ file.php/ 1/ materi/ Geografi/ SI STEM% I NFORMASI % GEOGRA

(62)

LAMPI RAN

Tabel jarak antar node

Node Koordinat x v10 458.4680 391.9560 Sp Ringroad Setia

Budi v12 466.0330 393.3680 Pertamina SM

Raja v14 458.4725 394.3900 Petronas Ringroad v11

(63)

Lanjutan tabel jarak antar node

Node Koordinat x

v16 460.2450 394.3400 Sp Setia Budi-Dr Mansyur v29 465.0800 394.8700 Ace Hardware Sp

(64)

Lanjutan tabel jarak antar node

Node Koordinat x

v31 458.5180 395.5210 Pertamina Jl Gagak Hitam v36 463.3450 395.1810 Rumah Gubernur v25

v35 v37

0.37390443 0.44068858 0.21442159 v37 463.5580 395.1830 Rumah Walikota v36

v38 v44 464.1510 395.3060 Yaspendhar v27

(65)

Lanjutan tabel jarak antar node

Node Koordinat x v54 463.6380 395.7880 Mesjid Agung v60 0.30775512 v55 458.5490 396.2370 v31

v67 463.7600 396.4630 Bank Mandiri Lap Benteng

v61 0.40607209

(66)

Lanjutan tabel jarak antar node

Node Koordinat x v73 459.2850 396.950 Pertamina Gatsu v72

v74 v76 462.3950 396.7770 Medan Plaza v71 0.29268329 v77 462.3990 396.8880 Sp Medan Plaza v75 v81 463.6970 396.7570 Palladium Plaza v82 0.11829848 v82 463.8150 396.7520 Pancuran Lap

Benteng

v68 v84

0.16203729 0.38756076 v83 464.2410 396.7050 Bank Mandiri

Lonsum

v84 0.11783341

v84 464.1970 396.8140 Lap Merdeka v85 0.10146276 v85 464.1650 396.9100 Hotel Deli v86 0.06596978 v86 464.1420 396.9720 Kantor Pos v87 0.20243307 v87 464.0690 397.1610 Telkom v92 0.03569612 v88 463.3330 397.0870 Pertamina

Maulana Lubis

v80 0.26587402

(67)

Lanjutan tabel jarak antar node

Node Koordinat x v97 465.4040 397.6230 RS Pirngadi v96 0.14600029 v98 465.7410 397.7530 Univ SMRaja v97 v102 464.6250 397.7030 Nomensen v101 0.29209456 v103 464.2670 397.5740 Sp Gaharu v94

v102

0.36581501 0.38025174 v104 463.7990 397.7490 RSTD v105 0.07348635 v105 463.7630 397.8130 RS Putri Hijau v106 0.37839815 v106 463.7060 398.1800 Pertamina Pusat v114 0.49695882 v107 460.5540 397.6820 RS Sari Mutiara v74

v108

0.79780065 0.12405220 v108 460.5660 397.8050 Pertamina Kapt

Muslim

v107 v109

0.12405220 0.16089687 v109 460.5830 397.9650 Millenium Plaza v108

(68)

Lanjutan tabel jarak antar node

Node Koordinat x v115 463.2770 398.6470 Bundaran Adipura v91

v114 v117 461.3130 398.7940 Pertamina Griya v110

v116 v121 463.2480 400.7810 Pertamina Bilal v114

Gambar

Gambar 2.1 Graf tak berarah
Gambar 2.2 Graf berarah
Gambar 2.5 Graf Matriks Ketetanggaan
Gambar 2.6 Graf Matriks Bersisian
+7

Referensi

Dokumen terkait

Kepala BNN Kota Malang yang sekaligus alumni ITN Malang ini juga memberikan apresiasi kepada ITN karena pada tahun ini menyelenggarakan tes urine bagi seluruh mahasiswa

Tujuan dari penelitian ini adalah untuk mengetahui: (1) Pengaruh biaya distribusi terhadap volume penjualan, (2) Pengaruh biaya promosi terhadap volume penjualan, (3) Pengaruh

Sumber daya manusia (tenaga ahli) juga merupakan faktor kendala yang perlu dipikirkan agar dapat bersaing dengan produk impor dengan diberikan pelatihan- pelatihan khusus

Merupakan aspek penilaian yang sangat berpengaruh atas tercapainya kompetensi tersebut yang terkait dalam menilai kebutuhan pengguna, menganalisis data, dan menyiapkan saran

Hasil penelitian dari pembahasan dalam penelitian Upaya Peningkatan Kemampuan Membilang melalui Penerapan Metode Demonstrasi Bersumber Pemanfaatan Lingkungan Sekitar

Pendapat diatas sesuai dengan hasil penelitian di Dusun Kedung Boto Desa Podoroto Kecamatan Kesamben Kabupaten Jombang karena sebagian besar yaitu 31 responden

Metode Simple Additive Weighting dalam sistem pendukung keputusan ini bertujuan untuk menentukan nilai dari hasil kriteria-kriteria yang sudah ditentukan dalam

Pengaruh konsentrasi enzim dan lama hidrolisis terhadap viskositas mendapatkan nilai terendah pada perlakuan konsentrasi enzim α-amilase 1,2 U/g dengan lama hidrolisis