SISTEM INFORMASI GEOGRAFIS BERBASIS WEB

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 MEDAN 2010

Universitas Sumatera Utara

PERSETUJUAN

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

: ICHSAN KURNIAWAN

Nomor Induk Mahasiswa

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,

Prof. Dr. Muhammad Zarlis NIP 195707011986011003

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

Ichsan Kurniawan 041401027

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.

Saya menyadari bahwa skripsi ini masih jauh dari kesempurnaan, karena kesempurnaan hanya milik Allah dan kekurangan adalah milik saya. Oleh karena itu saya menerima saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini. Semoga skripsi ini dapat bermanfaat bagi kita semuanya.

ABSTRAK

Transportasi saat ini merupakan kebutuhan yang esensial dalam kehidupan manusia. Seiring dengan perkembangan suatu komunitas maka transportasi akan memiliki berbagai masalah yang terikat dengan jarak dan waktu. Di satu sisi pandang, permasalahan ini sangat erat kaitannya dengan rute (atau jalur) yang dipilih. Kajian ini bertujuan membangun sebuah sistem penentu jalur terpendek pada suatu daerah, dengan input berupa sebuah titik awal dan sebuah titik tujuan. Sistem ini diterapkan pada sebuah Sistem Informasi Geografis dengan menggunakan Algoritma Dijkstra untuk menentukan jalur terpendek. Daerah kajian dalam sistem ini adalah Kota Medan yang citranya telah diproses menjadi sebuah peta digital.

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

Nowadays, transportation is essential to human life. Along withvthe community growth, there has been various problems associated with transportation in terms of distance and time. In one view, these problems are closely related with the chosen route or path. This study is purposed to build a system to determine the shortest path in a certain area, given an origin node and a destination node. The system is applied to a Geographic Information System and it uses Dijkstra's Algorithm to determine the shortest path. The area employed in the system is the Medan City whose image has been processed into a digital map.

DAFTAR ISI

Halaman

Persetujuan ii Pernyataan

iii Penghargaan

iv Abstrak

v Abstract

vi Daftar Isi

vii Daftar Gambar

ix Daftar Tabel

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Tujuan Penelitian 2

1.3 Rumusan Masalah 2

1.4 Batasan Masalah 3

1.5 Metode Penelitian

1.6 Sistematika Penulisan

Bab 2 Landasan Teori

2.1.3 Graf Berbobot

2.1.4 Representasi Graf

2.1.5 Matriks Ketetanggaan (Adjacency Matrix)

2.1.6 Matriks Bersisian (Incidency Matrix)

2.1.7 Senarai Ketetanggaan (Adjacency List)

2.2 Lintasan Terpendek (Shortest Path)

2.3 Algoritma Dijkstra

2.4 Sistem Informasi Geografis

2.4.1 Komponen Sistem Informasi Geografis

2.5 Matriks Asal-Tujuan (Origin Des tination Matrix)

2.8 XML (eXtensible Markup Language)

2.9 Pengujian Perangkat Lunak

2.9.1 Pengujian Cacat

2.9.1.1 Pengujian Kotak Hitam

2.9.1.2 Pengujian Struktural

2.9.1.3 Pengujian Jalur

2.9.2 Pengujian Integrasi

27

Bab 3 Analisis dan Desain Sistem

27

3.1 Analisis Masalah Umum

33

3.2 Deskripsi Sistem

33

3.3 Spesifikasi Keperluan Sistem

34

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

35

3.4 Data Flow Diagram (DFD)

39

3.5 Desain Database

40

3.6 Perancangan Antarmuka Sistem (Interface)

42

Bab 4 Implementasi dan Pengujian Sistem

4.1.1 Lingkungan Implementasi

44

4.2 Pengujian Sistem

4.2.1 Pengujian Shortest Path antara Node Terkecil dan Node Terbesar

44

44

4.2.2 Pengujian dengan Shortest Path dengan Jalur Satu Arah

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

45

46 . Bab 5 Kesimpulan Dan Saran

4.3 Tampilan Aplikasi Sistem

Daftar Pustaka

53 Lampiran

55

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 Gambar 4.6 Tampilan Jalur Hasil Query

50

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 Tabel 3.5 Entitas Data Pada DFD Level 1

36

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.

Dalam tugas akhir ini akan digunakan sistem informasi geografis yang berfungsi sebagai peta digital yang dapat merepresentasikan daerah tertentu. Dan disini digunakan juga algoritma Dijkstra sebagai penentu lintasan terpendek dimana persimpangan dan fasilitas umum dari sistem informasi geografis tersebut yang menjadi vertex.

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:

1. Perhitungan dalam pencarian lintasan terpendek menggunakan satu kendaraan dengan jenis dan tipe yang sama, dan kecepatan laju kendaraan yang sama dan konstan.

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 yang dimiliki dan kebutuhan yang diperlukan.

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

Bab ini berisikan hasil desain sistem serta pembahasan terhadap desain tersebut.

BAB 5: KESIMPULAN DAN SARAN

Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.

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, (v j ,v k ) = (v k ,v j ) 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, (v j ,v k ) dan (v k ,v j ) menyatakan 2 buah busur yang berbeda, atau dengan kata lain (v j ,v k ) ≠

(v k ,v j ). Untuk busur (v j ,v k ), simpul v j dinamakan simpul asal (initial vertex) dan simpul v k 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, v j bertetangga dengan v k jika (v j ,v k ) adalah sebuah sisi pada graf G.

Gambar 2.3 Graf Ketetanggaan

Pada gambar 2.3, simpul 1 bertetanggaan dengan simpul 2 dan 3, tetapi simpul

1 tidak bertetanggaan dengan simpul 4.

2.1.2 Lintasan

Rinaldi Munir (2003, hal: 306) mengatakan, “Lintasan yang panjangnya n dari simpul awal v 0 ke simpul tujuan v n di dalam graf G ialah barisan berselang-seling simpul- simpul dan sisi-sisi yang berbentuk v 0 ,e 1 ,v 1 ,e 2 ,v 2 , …,v n-1 ,e n ,v n sedemikian sehingga e 1 = (v 0 ,v 1 ), e 2 = (v 1 ,v 2 ), … , e n = (v n-1 ,v n ) adalah sisi – sisi dari graf G”.

Jika graf yang ditinjau merupakan graf sederhana, maka lintasan cukup dituliskan sebagai barisan simpul: v 0 ,v 1 ,v 2 , …, v n-1 ,v n , 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: v 0 ,e 1 ,v 1 ,e 2 ,v 2 ,e 3 , …, v n-1 ,e n ,v n .

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.

Gambar 2.4 Graf Berbobot

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

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

diperlukan seluruhnya adalah pn 2 .

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, a ij 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, a ij diberi nilai tak berhingga.

Gambar 2.5 Graf Matriks Ketetanggaan

Bentuk matriks ketetanggaan dari graf pada gambar 2.5 adalah

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

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

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.

Dalam pencarian lintasan terpendek ada beberapa algoritma yang dapat dipergunakan namun, disini yang digunakan adalah algoritma Dijkstra dalam menentukan lintasan terpendek.

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”

Sistem Informasi Geografis merupakan suatu sistem yang menarik, sistem yang cenderung dibuat interaktif ini dapat mengintegrasikan data spasial (peta vektor dan citra digital), atribut (tabel sistem database), audio, video dan lain sebagainya.

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.

a. Menurut Perpres No.85 (2007), “Data spasial adalah data hasil pengukuran, pencatatan dan pencitraan terhadap suatu unsur keruangan a. Menurut Perpres No.85 (2007), “Data spasial adalah data hasil pengukuran, pencatatan dan pencitraan terhadap suatu unsur keruangan

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.

Dalam tugas akhir ini yang digunakan adalah peta vektor. Karena peta dalam bentuk vektor tidak terpengaruh oleh resolusi, karena itu apabila peta dibesarkan atau dkecilkan akan tidak mengalami pixelate. Di sisi lain, peta dalam bentuk vektor juga Dalam tugas akhir ini yang digunakan adalah peta vektor. Karena peta dalam bentuk vektor tidak terpengaruh oleh resolusi, karena itu apabila peta dibesarkan atau dkecilkan akan tidak mengalami pixelate. Di sisi lain, peta dalam bentuk vektor juga

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:

E 80 0 100 30 0 210 Tj 270 170 300 150 210 2100

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 MapServer dapat menggunakan banyak jenis data geografis. Format dasar MapServer adalah ESRI shapefile.

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:

Gambar 2.8 Arsitektur Dasar Aplikasi MapServer

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.

Beberapa contoh penggunaan aplikasi web-mapping dengan menggunakan ka- Map antara lain adalah sebagai berikut:

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) Aplikasi web-mapping pada daerah St. Croix Valley. Pada aplikasi ini dapat dilihat kontur daerah peta secara 3 dimensi.

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.

Gambar 2.11 Aplikasi Visualitation of Resource Maps

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:

a. Root node yaitu node yang melingkupi keseluruhan dokumen. Dalam satu dokumen XML hanya ada satu root node. Node-node yang lainnya berada di dalam root node.

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

Tujuan pengujian cacat (defect testing) adalah mengungkap cacat laten pada sistem perangkat lunak sebelum sistem diserahkan kepada user. Hal ini berlawanan dengan pengujian validasi yang ditujukan untuk mendemonstrasikan bahwa sistem telah memenuhi spesifikasinya. Pengujian validasi menuntut sistem berlaku dengan benar dengan menggunakan kasus uji penerimaan. Uji cacat yang berhasil merupakan uji yang menyebabkan sistem berlaku tidak benar dan dengan demikian mengungkap Tujuan pengujian cacat (defect testing) adalah mengungkap cacat laten pada sistem perangkat lunak sebelum sistem diserahkan kepada user. Hal ini berlawanan dengan pengujian validasi yang ditujukan untuk mendemonstrasikan bahwa sistem telah memenuhi spesifikasinya. Pengujian validasi menuntut sistem berlaku dengan benar dengan menggunakan kasus uji penerimaan. Uji cacat yang berhasil merupakan uji yang menyebabkan sistem berlaku tidak benar dan dengan demikian mengungkap

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

Gambar 2.12 mengilustrasikan model sistem yang diasumsikan pada pengujian kotak hitam. Pendekatan ini dapat juga diterapkan pada sistem yang disusun sebagai fungsi atau objek. Jika output bukan merupakan yang diramalkan berarti uji tersebut telah berhasil mendeteksi masalah dengan perangkat lunak tersebut.

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

Begitu komponen telah teruji, dilanjutkan dengan integrasi untuk membentuk sistem parsial atau lengkap. Pengujian integrasi harus dikembangkan dari spesifikasi sitem. Pengujian integrasi memiliki beberapa strategi pengujian, diantaranya adalah pengujian top-down, pengujian bottom-up, pengujian interface dan pengujian stress.

Presman mengatakan validasi dapat ditentukan dengan berbagai cara, tetapi definisi yang sederhana adalah “bahwa validasi berhasil bila perangkat lunak berfungsi dengan cara yang dapat diharapkan secara bertanggung jawab oleh pelanggan. Validasi perangkat lunak dicapai melalui sederatan pengujian Black-Box yang memperlihatkan komformitas dengan persyaratan”.

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:

∈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.

3. Semua nilai pada vertex yang telah dikunjungi di-set menjadi false.

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:

START

AB

Apakah nilai awal state lebih

Tidak

besar dari nilai state yang baru

Ya

Perbarui nilai state dengan nilai yang baru

Nilai state tetap

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

Tidak

status fixed dan posisi saat ini tepat berada pada vertex yang dituju

Ya

Output Hasil

END

Gambar 3.1 Flowchart Algoritma Dijkstra

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. Berdasarkan kondisi tabel 3.1, dipilih vertex yang memiliki bobot yang paling kecil dengan status ‘0’. Dengan ketentuan itu didapat vertex B. Untuk itu 1. Berdasarkan kondisi tabel 3.1, dipilih vertex yang memiliki bobot yang paling kecil dengan status ‘0’. Dengan ketentuan itu didapat vertex B. Untuk itu

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. 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. 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’

2. Karena vertex D dipilih, maka nilai bobot pada vertex C berubah menjadi 6, dan predecessor vertex C menjadi D. Hasil ditunjukkan pada tabel 3.4 di bawah.

Tabel 3.4 Tahap 4 Analisis Dijkstra

Keterangan\Vertex

A B C D E Status

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

A B C D E Status

Keterangan\Vertex

1 1 1 1 1 Bobot

3 6 5 4 Predecessor

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

Tugas Akhir ini akan membangun sebuah prototype sistem yang menunjukkan jarak terpendek antara dua node, yang diimplementasikan kepada suatu sistem informasi geografis. Sistem ini dapat digunakan oleh siapa saja yang membutuhkan petunjuk terhadap jalan di Kotamadya Medan.

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

3. Menghitung jarak terpendek antara semua node

4. Menampilkan jalur terpendek pada peta

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 yang menggambarkan sistem sebagai jaringan kerja antara fungsi yang berhubungan Pada perancangan Perangkat Lunak Sistem Informasi Geografis dengan Shortest Path, Context diagram dapat dilihat pada Gambar 3.3. Sedangkan DFD rinci yang menggambarkan sistem sebagai jaringan kerja antara fungsi yang berhubungan

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:

Data Asal, Data Tujuan, Jarak

Data Asal DATABASE NODE

1.1 DAN JARAK USER

TENTUKAN SHORTEST PATH

Data Tujuan

Jalur Shortest Path

DATABASE JALUR SHORTEST PATH

Jalur Shortest Path

Gambar 3.4 DFD Level 1

Pada proses Tentukan Shortest Path membutuhkan data masukan berupa data asal dan data akhir, dan kemudian proses akan mengambil data dari database node dan jarak. Lalu sistem akan melakukan pemeriksaan pada database jalur shortest path, Pada proses Tentukan Shortest Path membutuhkan data masukan berupa data asal dan data akhir, dan kemudian proses akan mengambil data dari database node dan jarak. Lalu sistem akan melakukan pemeriksaan 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:

Gambar 3.5 DFD Level 2

Proses baca data (1.1.1) berfungsi membaca data dari database. Proses ini membaca data vertex dan edge dari database node dan jarak dan membaca data jalur Proses baca data (1.1.1) berfungsi membaca data dari database. Proses ini membaca data vertex dan edge dari database node dan jarak dan membaca data jalur

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

Gambar 3.6 Flowchart Sistem

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.