Anda di halaman 1dari 76

IMPLEMENTASIALGORITMAFLOYD WARSHALL

DALAM MENENTUKAN JARAK TERPENDEK


(MEDAN - BANDARA KUALA NAMU)

SKRIPSI

RINI CHAIRANI HARAHAP


121421090

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER


FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2015

Universitas Sumatera Utara

IMPLEMENTASI ALGORITMA FLOYD WARSHALL


DALAM MENENTUKAN JARAK TERPENDEK
(MEDAN - BANDARA KUALA NAMU)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer

RINI CHAIRANI HARAHAP


121421090

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER


FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2015

Universitas Sumatera Utara

ii
PERSETUJUAN

Judul

Kategori

: IMPLEMENTASI ALGORITMA FLOYDWARSHALL


DALAM MENENTUKAN JARAK TERPENDEK
(MEDAN - BANDARA KUALA NAMU)
: SKRIPSI

Nama

: RINI CHAIRANI HARAHAP

Nomor Induk Mahasiswa : 121421090


Program Studi

: EKSTENSI S1 ILMU KOMPUTER

Fakultas

: ILMU KOMPUTER DAN TEKNOLOGI INFORMASI


UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing

Pembimbing II

Pembimbing I

Dr. Syahril Efendi, SSi, MIT.


NIP.196711101996021001

Dian Rachmawati, S.Si, M.Kom


NIP. 198307232009122004

Diketahui/disetujui oleh
Program Studi Ekstensi S1 Ilmu Komputer
Ketua,

Dr. Poltak Sihombing, M.Kom


NIP. 19620217 199103 1 001

Universitas Sumatera Utara

iii
PERNYATAAN

IMPLEMENTASI ALGORITMA FLOYD WARSHALL


DALAM MENENTUKAN JARAK TERPENDEK
(MEDAN - BANDARA KUALA NAMU)

SKRIPSI

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

Medan,

September 2015

Rini Chairani Harahap


NIM. 121421090

Universitas Sumatera Utara

iv
PENGHARGAAN

Bismillahirrohmanirrohim

Segala puji dan syukur penulis ucapkan kehadirat Allah SWT yang telah memberikan
rahmat dan hidayah-Nya kepada penulis sehingga dapat menyelesaikan skripsi ini
tepat waktu sesuai dengan instruksi dan peraturan yang berlaku di Fakultas Ilmu
Komputer dan Teknologi Informasi serta shalawat dan salam penulis hadiahkan
kepada Nabi Besar Muhammad SAW.

Dalam penyusunan dan penulisan skripsi ini, penulis banyak mendapat


bantuan, dukungan, dan bimbingan dari berbagai pihak. Pada kesempatan ini penulis
ingin mengucapkan rasa terima kasih dan penghargaan kepada :

1.

Ayahanda M.O Harahap, S.Sos I, Ibunda Dahlia dan Abang saya Ridwan Fahlevi
Harahap atas doa restunya da kasih sayangnya yang tiada habisnya diberikan pada
penulis serta dukungan moril dan materil yang tanpa jasanya tak mungkin penulis
sampai pada saat sekarang.

2.

Bapak Prof. Drs. Subhilhar, M.A, Ph.Dselaku Rektor Universitas Sumatera Utara.

3.

Bapak Prof. Dr. Muhammad Zarlis, M.Kom selaku Dekan Fakultas Ilmu
Komputer dan Teknologi Informasi.

4.

Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu
Komputer.

5.

Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi Ilmu
Komputer.

6.

BapakDr. Syahril Efendi, SSi, M.IT.selaku Dosen Pembimbing I dan Ibu Dian
Rachmawati, S.Si, M.Komselaku Dosen Pembimbing II yang telah meluangkan
waktu, tenaga, dan pikiran dalam membimbing, mengarahkan, menasehati,
memotivasi, dan menyemangati penulis agar dapat menyelesaikan skripsi ini.

7.

Bapak Drs. Marihat Situmorang, M.Kom selaku dosen Pembanding I dan Bapak
Amer Sharif, S.Si, M.Kom selaku dosen Pembanding II yang telah memberikan
kritik dan saran terhadap skripsi penulis.

Universitas Sumatera Utara

v
8.

Seluruh staf pengajar dan pegawai Fakultas Ilmu Komputer dan Teknologi
Informasi.

9.

Sahabat-sahabat luar biasa Chasika Rani Purba, Fitria Andhika, Tengku Zikri
Rachman, Nugra Atsaury Saragih dan Rudi Setiawan selalu menemani dan
memberi motivasi kepada penulis.

10. Teman teman seperjuangan mahasiswa/i S1 Ekstensi Ilmu Komputer stambuk


2012 yang selalu memberi dukungan.
11. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat
penulis ucapkan satu per satu yang telah membantu menyelesaikan skripsi ini.

Penulis menyadari bahwa skripsi ini masih memiliki banyak kekurangan, baik
dari segi teknik, tata penyajian ataupun dari segi tata bahasa. Oleh karena itu
penulis bersedia menerima kritik dan saran dari pembaca dalam upaya perbaikan
skripsi ini. Semoga skripsi ini dapat bermanfaat bagi penulis dan pembaca,
khususnya rekan-rekan mahasiswa lainnya yang mengikuti perkuliahan di
Universitas Sumatera Utara.

Medan,
Penulis

September 2015

Rini Chairani Harahap

Universitas Sumatera Utara

vi
ABSTRAK
Bandara internasional Kuala Namu merupakan Bandar udara Internasional yang
melayani kota medan dan sekitarnya. Komputer banyak digunakan untuk melakukan
pencarian lintasan terpendek (shortest path), yang ditampilkan dalam model
simulasi.Ide dari penelitian ini berawal dari masalah jarak tempuh untuk menuju
Bandara Kuala Namu.Faktor ketepatan dalam memilih jarak terpendek untuk sampai
pada bandara sangat penting untuk mencegah ketinggalan pesawat.Pencarian jarak
terpendek ini memfokuskan hanya untuk mencari jalur terdekat menuju Bandara
Kuala Namu yang disimbolkan dengan sebuah titik (vertex).Algoritma yang
digunakan untuk pencarian jarak terpendek adalah Floyd Warshall.Hasil yang
diperoleh dalam pencarian jarak terpendek antar verteks adalah rute-rute yang dilalui.

Kata kunci:Algoritma Floyd Warshall, Shortest Path, Bandara Internasional Kuala


Namu.

Universitas Sumatera Utara

vii

Floyd Warshall Algorithme Implementation


For DetermineThe Shortest Path
(Medan- KNIA)
ABSTRACT
Kuala Namu International Airport is an international airport serving Medan and
surrounding areas. Computers are widely used to search the shortest path, which is
shown in the simulation model. The idea of this study originated from mileage
problem to get to the Kuala Namu Airport. Accuracy factor in choosing the shortest
path to arrive at the airport is very important to prevent miss the plane. The shortest
path focused only to find the nearest path towards Kuala Namu Airport that is
symbolized by a point(vertex). The algorithm used to search the shortest path is Floyd
Warshall. The results obtained in the search for the shortest path between vertex are
the passed routes.
Keywords:Floyd Warshall algorithm, Shortest Path, Kuala Namu International
Airport.

Universitas Sumatera Utara

viii
DAFTAR ISI

Halaman
Persetujuan
Pernyataan
Penghargaan
Abstrak
Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar

ii
iii
iv
vi
vii
viii
x
xi

Bab 1 Pendahuluan
1.1 Latar Belakang
1.2 Rumusan Masalah
1.3 Batasan Masalah
1.4 Tujuan Penelitian
1.5 Manfaat Penelitian
1.6 Metode Penelitian
1.7 Sistematika Penulisan

1
1
2
2
3
4
4
5

Bab 2 Landasan Teori


2.1 Graph
2.1.1 Macam macam Graph Menurut Arah dan Bobotnya
2.2 Lintasan Terpendek (Shortest Path)
2.3 Algoritma
2.3.1 Pegertian Algoritma
2.3.2 Algoritma Floyd Warshall
2.3.3 Analisis Algoritma Floyd Warshall

7
7
8
11
11
11
13
15

Bab 3 Analisis dan Perancangan Sistem


3.1 Analisis Sistem
3.1.1 Analisis Masalah
3.1.2 Analisis Persyaratan
3.2 Pemodelan Aplikasi
3.2.1 Use-Case Diagram
3.2.2 Activity Diagram
3.2.3 Sequence Diagram
3.3 Flowchart
3.4 Perancangan Interface
3.5 Database
3.6 Entity Relationship Diagram (ERD)

17
17
17
19
20
20
21
23
24
25
26
28

Bab 4 Implementasi Dan Pengujian Sistem


4.1 Implementasi Sistem
4.1.1 Tampilan Halaman Utama
4.1.2 Tampilan Menu Floyd
4.1.3 Tampilan Login Admin Pengelola Data

29
29
29
30
30

Universitas Sumatera Utara

ix
4.1.4 Tampilan Data Lokasi
4.2 Graph Yang Digunakan Untuk Menentukan Rute Terpendek
4.3 Perhitungan Algoritma Floyd Warshall
4.3.1 Iterasi Pertama
4.3.2 Iterasi Ke Dua
4.3.3 Iterasi Ke Tiga
4.3.4 Iterasi Ke Empat
4.3.5 Iterasi Ke Lima
4.3.6 Iterasi Ke Enam
4.3.7 Iterasi Ke Tujuh
4.3.8 Iterasi Ke Delapan
4.3.9 Iterasi Ke Sembilan
4.3.10 Iterasi Ke Sepuluh
4.3.11 Iterasi Ke Sebelas
4.3.12 Iterasi Ke Dua Belas
4.4 Tampilan Rute
4.4.1 Focal Point KNIA
4.4.2 Pinang Baris KNIA
4.4.3 Medan Plaza KNIA
4.4.4 Sun Plaza KNIA
4.4.5 Hermes Place KNIA
4.4.6 Amplas KNIA
4.4.7 Paladium KNIA
4.4.8 Centre Point KNIA
4.4.9 Thamrin Plaza KNIA
4.4.10 Medan Mall KNIA
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan
5.2 Saran

31
31
33
33
34
34
35
36
37
38
39
40
41
42
43
44
44
44
45
45
46
46
47
47
48
48

49
50

DAFTAR PUSTAKA
LAMPIRAN A [KODE PROGRAM]
LAMPIRAN B [DAFTAR RIWAYAT HIDUP]

Universitas Sumatera Utara

x
DAFTAR TABEL
Tabel 3.1
Tabel 3.2
Tabel 3.3
Tabel 3.4
Tabel 3.5
Tabel 4.1
Tabel 4.2
Tabel 4.3
Tabel 4.4
Tabel 4.5
Tabel 4.6
Tabel 4.7
Tabel 4.8
Tabel 4.9
Tabel 4.10
Tabel 4.11
Tabel 4.12

Tabel tbljarak
Tabel tbljlhpengguna
Tabel tblpengunjung
Tabel tblmap
Tabel tblnode
Perhitungan algoritma Floyd Iterasi Pertama
Perhitungan Algoritma Floyd Iterasi Ke Dua
Perhitungan Algoritma Floyd Iterasi Ke Tiga
Perhitungan Algoritma Floyd Iterasi Ke Empat
Perhitungan Algoritma Floyd Iterasi Ke Lima
Perhitungan Algoritma Floyd Iterasi Ke Enam
Perhitungan Algoritma Floyd Iterasi Ke Tujuh
Perhitungan Algoritma Floyd Iterasi Ke Delapan
Perhitungan Algoritma Floyd Iterasi Ke Sembilan
Perhitungan Algoritma Floyd Iterasi Ke Sepuluh
Perhitungan Algoritma Floyd Iterasi Ke Sebelas
Perhitungan Algoritma Floyd Iterasi Ke Dua Belas

Halaman
26
26
27
27
27
33
34
34
35
36
37
38
39
40
41
42
43

Universitas Sumatera Utara

xi
DAFTAR GAMBAR

Gambar 2.1
Gambar 2.2
Gambar 2.3
Gambar 2.4
Gambar 2.5
Gambar 2.6
Gambar 2.7
Gambar 3.1
Gambar 3.2
Gambar 3.3
Gambar 3.4
Gambar 3.5
Gambar 3.6
Gambar 3.7
Gambar 4.1
Gambar 4.2
Gambar 4.3
Gambar 4.4
Gambar 4.5
Gambar 4.6
Gambar 4.7
Gambar 4.8
Gambar 4.9
Gambar 4.10
Gambar 4.11
Gambar 4.12
Gambar 4.13
Gambar 4.14
Gambar 4.15

Halaman
Graph dengan 4 Vertex dan 5 Edge
8
Graph Berarah dan Berbobot
8
Graph Tidak Berarah dan Berbobot
9
Graph Berarah dan Tidak Berbobot
9
Graph Tidak Berarah dan Tidak Berbobot
10
Graph Sederhana
10
Graph Tidak Sederhana
10
Ishikawa Diagram
18
Use Case Sistem Penentuan Jalur Terpendek Menuju KNIA
20
Activity Diagram Algoritma Floyd Warshall
22
Sequence Diagram
23
Diagram Alur Algoritma Floyd Warshall
24
Perancangan Interface
25
Entity Relationship Diagram (ERD)
28
Tampilan Halaman Utama
29
Tampilan Menu Floyd
30
Tampilan Login Admin
30
Tampilan Data Lokasi
31
Graph Yang Digunakan Untuk Menghitung Jarak Terpendek
31
Menuju KNIA
Tampilan Rute Focal Point KNIA
44
Tampilan Rute Pinang Baris KNIA
44
45
Tampilan Rute Medan Plaza KNIA
Tampilan Rute SUN Plaza KNIA
45
Tampilan Rute Hermes Polonia KNIA
46
46
Tampilan Rute Amplas KNIA
Tampilan Rute Paladium KNI
47
Tampilan Rute Centre Point KNIA
47
Tampilan Rute Thamrin Plaza KNIA
48
Tampilan Rute Medan Mall KNIA
48

Universitas Sumatera Utara

vi
ABSTRAK
Bandara internasional Kuala Namu merupakan Bandar udara Internasional yang
melayani kota medan dan sekitarnya. Komputer banyak digunakan untuk melakukan
pencarian lintasan terpendek (shortest path), yang ditampilkan dalam model
simulasi.Ide dari penelitian ini berawal dari masalah jarak tempuh untuk menuju
Bandara Kuala Namu.Faktor ketepatan dalam memilih jarak terpendek untuk sampai
pada bandara sangat penting untuk mencegah ketinggalan pesawat.Pencarian jarak
terpendek ini memfokuskan hanya untuk mencari jalur terdekat menuju Bandara
Kuala Namu yang disimbolkan dengan sebuah titik (vertex).Algoritma yang
digunakan untuk pencarian jarak terpendek adalah Floyd Warshall.Hasil yang
diperoleh dalam pencarian jarak terpendek antar verteks adalah rute-rute yang dilalui.

Kata kunci:Algoritma Floyd Warshall, Shortest Path, Bandara Internasional Kuala


Namu.

Universitas Sumatera Utara

vii

Floyd Warshall Algorithme Implementation


For DetermineThe Shortest Path
(Medan- KNIA)
ABSTRACT
Kuala Namu International Airport is an international airport serving Medan and
surrounding areas. Computers are widely used to search the shortest path, which is
shown in the simulation model. The idea of this study originated from mileage
problem to get to the Kuala Namu Airport. Accuracy factor in choosing the shortest
path to arrive at the airport is very important to prevent miss the plane. The shortest
path focused only to find the nearest path towards Kuala Namu Airport that is
symbolized by a point(vertex). The algorithm used to search the shortest path is Floyd
Warshall. The results obtained in the search for the shortest path between vertex are
the passed routes.
Keywords:Floyd Warshall algorithm, Shortest Path, Kuala Namu International
Airport.

Universitas Sumatera Utara

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Bandara internasional Kuala Namu merupakan Bandar udara Internasional yang


melayani kota medan dan sekitarnya. Bandara ini terletak 39 KM dari kota medan.
Bandar udara Intenasional Kuala Namu termasuk bandara terbesar ke dua di Indonesia
Setelah Bandar Udara Internasional Soekarno-Hatta.

Komputer banyak digunakan untuk melakukan pencarian lintasan terpendek


(shortest path), yang ditampilkan dalam model simulasi. Pencarian lintasan terpendek
merupakan suatu masalah yang paling banyak dibahas dan dipelajari sejak akhir tahun
1950. Pencarian lintasan terpendek ini telah diterapkan di berbagai bidang untuk
mengoptimasi kinerja suatu sistem, baik untuk meminimalkan biaya atau
mempercepat jalannya suatu proses (Purwananto, 2005).

Pada penelitian ini dilakukan studi kasus pencarian rute terpendek untuk
menuju Bandara Kuala Namu.Ide dari penelitian ini berawal dari masalah jarak
tempuh untuk menuju Bandara Kuala Namu.Faktor ketepatan dalam memilih jarak
terpendek untuk sampai pada bandara sangat penting untuk mencegah ketinggalan
pesawat.Pencarian jarak terpendek ini memfokuskan hanya untuk mencari jalur
terdekat menuju Bandara Kuala Namu yang disimbolkan dengan sebuah titik
(vertex).Algoritma yang digunakan untuk pencarian jarak terpendek adalah Floyd
Warshall.Hasil yang diperoleh dalam pencarian jarak terpendek antar verteks adalah
rute-rute yang dilalui.

Universitas Sumatera Utara

Untuk itu diperlukan suatu sistem yang dapat membantu dalam menemukan
rute 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 rute terpendek.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dipaparkan maka rumusan masalah yang akan
dibahas pada penelitian ini adalah pemanfaatan teknologi informasi sebagai solusi
penentuan jarak terpendek untuk menuju Bandara Kuala Namu.

1.3 Batasan Masalah

Adapun batasan masalah yang diangkat adalah sebagai berikut:


1. Setiap jalan yang dilalui dianggap satu arah
2. Posisi user yang akan menjadi titik awal harus berada di satu wilayah yang
ditentukan layanan yaitu kota medan
3. Tidak membahas keadaan lalu lintas, waktu tempuh dan keadaan jalan dari
tempat asal ke tempat tujuan.
4. Aplikasi yang dikembangkan membutuhkan koneksi internet untuk Google
MapsApi dan mengunduh data dari server.
5. Input pada sistem ini adalah titik asal dan titik tujuan dimana titik asal berupa
tempat-tempat penting di kota Medan (beberapa terminal dan beberapa pusat
perbelanjaan), dan titik tujuan adalah Bandara Kuala Namu.

Universitas Sumatera Utara

Output berupa rute perjalanan, jalur yang harus dilewati pada peta, dan
pewarnaan pada jalur yang ditempuh.
a. Terminal :
1. Terminal Amplas
2. Terminal Pinang Baris
b. Pusat perbelanjaan:
1. Paladium

5. Medan Fair

2. SUN

6. Medan Mall

3. Centre Point

7. Hermes

4. Focal Point

8. Thamrin Plaza

6. Moda yang digunakan adalah transportasi motor dan mobil.


7. Dari kota asal ke kota tujuan tidak ada hambatan seperti lampu merah atau
hambatan lain.
8.

Menggunakan bahasa pemrograman PHP dan MySQL sebagaiDataBase


Management System (DBMS).

9. Perhitungan yang dilakukan hanya berdasarkan jarak tempuh.

1.4 Tujuan Penelitian

1. Membangun suatu aplikasi yang dapat membantu menentukan jarak terpendek


(shortest part) dalam menuju bandar udara Kuala Namu.
2. Menerapkan algoritma Floyd warshall pada penentuan jalur terpendek menuju
Bandar udara Kuala Namu.

Universitas Sumatera Utara

1.5 Manfaat Penelitian

Manfaat penelitian ini adalah sebagai berikut:


1. Manfaat bagi penulis
a. Dapat menerapkan ilmu yang di dapat di Universitas Sumatera Utara

2. Manfaat bagi masyarakat


a. Dapat menggunakan aplikasi berbasis web untuk menentukan jarak
terpendek menuju titik Bandar udara Kuala Namu dari titik awal yaitu
kota medan.

1.6 Metode Penelitian

Metode peneltian yang digunakan dalam penulisan tugas akhir ini adalah sebagai
berikut:
a.

Studi Literatur
Pada tahap ini dilakukan dengan mempelajari bahan-bahan ataupun buku-buku
referensi, skripsi, jurnal dan sumber lain yang berkaitan dengan penulisan tugas
akhir ini. Topik yang di bahas dalam skripsi ini menyangkut dengan graph, dan
algoritma Floyd Warshall dalam menentukan rute terpendek.

b.

Observasi
Observasi dilakukan dengan melakukan menggunakan aplikasi google maps, dan
aplikasi here maps. Pada aplikasi here maps digunakan untuk mengambil
informasi jarak dan google maps digunakan untuk penerapan peta pada aplikasi.

c.

Analisis dan Perancangan


Pada metode ini dilakukan analisis sesuai dengan

kebutuhan seperti cara

membangun aplikasi yang mengimplementasikan Algoritma Floyd Warshall,


jenis perangkat yang digunakan, pembuatan desain interface, target pengguna,
dan hasil yang diinginkan.

Universitas Sumatera Utara

d.

Implementasi Sistem
Metode ini dilaksanakan dengan mengimplementasikan rancangan sistem yang
telah dibuat pada analisis dan perancangan sistem kedalam program komputer
dengan menggunakan bahasa pemrograman PHP dan MySQL.

e.

Penguji Sistem
Metode

ini

dilaksanakan

dengan

mengimplementasikanAlgoritma

Floyd

Warshhall dalam penentuan jalur kBandar Udara Kuala Namu. Hasil program
diuji kemudian dianalisis perbandingan kecepatan dan ketepatan pencarian
f.

Dokumentasi
Metode ini berisi laporan dan kesimpulan akhir dari hasil analisis dan pengujian
dalam bentuk penulisan tugas akhir beserta kesimpulannya dan menampilkan
data-data sebagai bukti dalam bentuk hard copy.

1.7 Sistematika Penulisan

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

BAB I: PENDAHULUAN
Bab ini akan menjelaskan mengenai latar belakang pemilihan judul skripsi
Implementasi Algoritma Floyd Warshall Untuk Menentukan Rute Terpendek (Studi
Kasus : Medan Bandara Kuala Namu), rumusan masalah, batasan masalah, tujuan
penelitian, manfaat penelitian, metode penelitian, serta sistematika penulisan.

BAB II: LANDASAN TEORI


Bab ini akan membahas teori-teori yang berkaitan dengan Lintasan Terpendek, Graph,
Algoritma Floyd Warshall, Database Management System (DBMS)MySQL dan
pemrograman PHP.

Universitas Sumatera Utara

BAB III: ANALISIS DAN PERANCANGAN SISTEM


Pada bab ini berisikan langkah-langkah penelitian yang dilakukan, serta analisis
terhadap fokus permasalahan penelitian. Pada bab ini juga akan dibahas perancangan
sistem yang merupakan tindak lanjut dari tahapan analisis, termasuk didalamnya
pemodelan proses dan pemodelan data yang dibangun berdasarkan pendekatan
terstruktur.

BAB IV: IMPLEMENTASI SISTEM


Bab ini berisi proses pembangunan perangkat lunak berdasarkan hasil perancangan
pada bab sebelumnya dan pengimplementasiannya ke sistem nyata.

BAB V: 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 untuk perbaikan di masa yang akan
datang.

Universitas Sumatera Utara

BAB 2

LANDASAN TEORI

2.1 Graph
Graf adalah struktur data yang terdiri dari atas kumpulan vertex (V) dan edge (E),
biasa ditulis sebagai G=(V,E), di mana vertex adalah node pada graf, dan edge adalah
rusuk / jaring yang menghubungkan dua node. Jaring terdefenisi melalui pasangan
node (v,w), di mana v disebut tail dan w disebut head dari jaring tersebut.
(Dr.Suarga,2012.)
Beberapa istilah yang sering digunakan dalam masalah graf antara lain :
1. Adjacent vertex: adalah dua node berdekatan, terhubung langsung oleh vertex.
2. Path: jalur melalui edge yang menghubungkan suatu vertex ke vertex yang
lain, panjang suatu jalur ditentukan oleh jumlah jaring (edge) yang
menghubungkan dua vertex.
3. Complete graph: adalah graf di mana semua vertex terhubung langsung satu
dengan yang lain.
4. Weighted graph: graf yang setiap edgenya memiliki bobot/ nilai.
5. Cycle: adalah jalur yang mulai dari suatu vertex dan berakhir pada vertex yang
sama.( Dr.Suarga,2012.)

Universitas Sumatera Utara

e4

v2

e1

e5

v4
e2

e3

v3

Gambar 2.1 Graph dengan 4 verteks dan 5 edge.


Pada gambar 2.1 diatas graph G = (V, E) dimana:
1. V adalah himpunan titik, simpul, verteks atau nodes dari G, yaitu
V = {v1, v2, v3, v4}
2. E adalah himpunan rusuk, edges, atau sisi dari G, yaitu
E = {e1, e2, e3, e4, e5}
2.1.1 Macam macam Graph Menurut Arah dan Bobotnya
Menurut arah dan bobotnya, graph dibagi menjadi enam bagian, yaitu :
1. Pada gambar 2.2 menjelaskan Graph berarah (digraph) dan berbobot: setiap edges
mempunyai arah (yang ditunjukkan dengan anak panah) dan bobot.

Gambar 2.2 Graph Berarah Dan Berbobot.

Universitas Sumatera Utara

2. Pada gambar 2.3 menjelaskan Graph tidak berarah dan berbobot: setiap edges
tidak mempunyai arah tetapi mempunyai bobot.

Gambar 2.3 Graph Tidak Berarah Dan Berbobot.

3. Pada gambar 2.4 menjelaskan Graph berarah (digraph) dan tidak berbobot: setiap
edges mempunyai arah tetapi tidak mempunyai bobot.

Gambar 2.4 Graph Berarah Dan Tidak Berbobot

Universitas Sumatera Utara

10

4. Pada gambar 2.5 menjelaskan Graph tidak berarah dan tidak berbobot: setiap
edges tidak mempunyai arah dan tidak mempunyai bobot

Gambar 2.5 Graph Tidak Berarah Dan Tidak Berbobot

5.

Pada gambar 2.6 menjelaskanGraph sederhana : Graph yang tidak memiliki garis
paralel ataupun loop. Titik-titik pada Graph sederhana dihubungkan tepat dengan
satu garis ke setiap titik yang lain dan tidak ada garis yang titik awal dan akhirnya
sama (Adelina, 2014).

Gambar 2.6 Graph Sederhana (Adelina,2014)


6.

Pada gambar 2.7 menjelaskanGraph tidak sederhana : Graph yang memiliki loop
atau garis paralel. Graph tidak sederhana kemudian terbagi lagi menjadi Graph
semu (pseudoGraph) dan multiple Graph (Adelina, 2014).

a. Graph Semu (pseudo Graph)

b. MultipleGraph

Gambar 2.7 Graph Tidak Sederhana(Adelina,2014)

Universitas Sumatera Utara

11

2.2 Lintasan Terpendek (Shortest Path)

Persoalan mencari lintasan terpendek di dalam Graph merupakan salah satu persoalan
optimasi.Graph yang digunakan dalam pencarian lintasan terpendek adalah Graph
suatu nilai atau bobot. Bobot pada sisi Graph dapat menyatakan jarak antar kota,
waktu pengiriman pesan, ongkos pembangunan, dan sebagainya. Asumsi yang
digunakan disini adalah bahwa semua bobot bernilai positif. Kata terpendek jangan
selalu diartikan secara fisik sebagai panjang minimum, sebab kata terpendek
berbeda-beda maknanya tergantung pada tipikal persoalan yang akan diseleseikan.
Namun secara umum terpendek berarti meminimisasi bobot pada suatu lintasan di
dalam Graph. (Anik Andriani, 2014)
Ada beberapa macam persoalan lintasan terpendek, antara lain :
a. Lintasan terpendek antara dua buah simpul tertentu.
b. Lintasan terpendek antara semua pasangan simpul.
c. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain.
d. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul
tertentu.

2.3 Algoritma
2.3.1

Pengertian Algoritma

Ahli sejarah matematika menemukan kata algoritma berasal dari nama penulis buku
Arab terkenal, yaitu Abu Abdullah Muhammad Ibnu Musa Al-Khuwarizmi seorang
ahli matematika, astrologi, astronomi, geoGraphi.

Algoritma adalah sekumpulan langkah (tahapan) logis untuk menyelesaikan


suatu pekerjaan ( permasalahan).

Universitas Sumatera Utara

12

Terdapat beberapa defenisi dari algoritma:


1. Algoritma adalah teknik penyusunan langkah-langkah penyelesaian masalah
dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun seccara logis
dan sitematis.
2. Algoritma adalah suatu proses yang jelas untuk menyelesaikan suatu persoalan
degan menggunakan langkah-langkah tertentu dan terbatas jumlahnya.
3. Algoritma adalah susunan langkah yang pasti, yang bila diikuti maka akan
mentrasformasikan data input menjadi output yang berupa informasi
(Indrawoko Kurniadi,2011).
Suatu Algoritma yang terbaik Suatu algoritma harus menghasilkan output
yang tepat guna (efektif) dalam waktu yang relative singkat dan penggunaan memori
yang relative sedikit (efesien) dengan langkah yang berhingga dan prosedurnya
berakhir baik dalam keadaan diperoleh suatu solusi ataupun tidak ada solusinya.

Algoritma yang baik harus mampu memberikan hasil yang optimal. Dalam
pemilihan algoritma ada beberapa hal yang perlu dipertimbangkan yaitu :
1. Algoritma haruslah benar. Algoritma harus bisa memberikan hasil sesuai
dengan yang dikehendaki dari sejumlah masukan yang diberikan
2. Seberapa baik hasil yang dicapai. Artinya algoritma yang baik harus mampu
memberikan hasil yang sedekat mungkin dengan nilai sebenarnya.
3. Efisiensi algoritma. Efisiensi algoritma ditinjau dari dua hal yaitu :
a. Efisiensi waktu. Mampu memberikan keluaran atau hasil yang cepat.
b. Efisiensi memori. Semakin banyak memori yang dibutuhkan sebuah
algoritma untuk memecahkan suatu masalah maka makin buruklah
algoritma itu (Siang, 2006).

Universitas Sumatera Utara

13

Harga perangkat keras saat ini cenderung menurun.Maka efisiensi waktu lebih
diutamakan daripada efisiensi memori. Hal-hal

yang berhubungan dengan

kompleksitas waktu yang digunakan oleh sebuah algoritma adalah :


1. Perancangan. Yang termasuk dalam bagian perancangan adalah :
a. Deskripsi algoritma pada suatu tingkatan yang memiliki arti bahasa
semu (pseudo)
b. Pembuktian kebenaran bahwa sebuah algoritma bisa menyelesaikan
masalah yang diberikan.
2. Analisis. Memberikan evaluasi kinerja algoritma terhadap permasalahan yang
diberikan (Purwanto, 2008)

2.3.2

Algoritma Floyd Warshall

Algoritma Floyd Warshall adalah salah satu varian dari pemrograman dinamis, yaitu
suatu metode yang melakukan pemecahan masalah dengan memandang solusi yang
akan diperoleh sebagai suatu keputusan yang saling terkait. (Thomas H.
Cormen,2003).
if k = 0 , if k 1
Keterangan :

menyatakan nilai jalur terpendek dari i ke j yang melalui titik ke 1


,...., k (Thomas H. Cormen,2003).

Algoritma ini bekerja dengan menghitung shortest path (i,j,k) untuk semua
pasangan (i,j), kemudian hasil tersebut akan digunakan untuk menghitung shortest
path (i,j,k) untuk semua pasangan (i,j), dst. Proses ini akan terus berlangsung hingga
k=n dan kita telah menemukan jalur terpedek untuk semua pasangan (i,j)
menggunakan simpul-simpul perantara. (Thomas H. Cormen,2003).

Salah satu algoritma Graph yaitu algoritma Floyd Warshall.Algoritma Floyd


Warshall menghitung jalur terpendek antara semua simpul dengan menghitung dari

Universitas Sumatera Utara

14

satu sumber simpul sampai simpul tujuan melalui beberapa jalur (Baras &
Theodorakopoulos, 2010).Algoritma Floyd Warshall dapat digunakan untuk mencari
panjang lintasan terpendek antara semua pasangan simpul dalam Graph sederhana
yang terhubung tetapi algoritma Floyd Warshall tidak dapat digunakan untuk
membuat lintasan terpendek (Rosen, 2011).

Cara kerja dari algoritma Floyd Warshall adalah dengan membandingkan


semua lintasan yang mungkin terjadi dalam Graph untuk setiap pasang simpul dan
melakukan pengujian dari setiap kombinasi simpul yang diperoleh.Misalkan
adalah matriks ketetanggaan awal Graph berarah berbobot.
ketetanggaan berbobot terpendek dengan
ke

adalah matriks

sama dengan path terpendek dari titik

(Siang, 2009).

Beberapa karakteristik yang dimiliki oleh algoritma Floyd Warshall antara lain:
1. Persoalan dibagi atas beberapa tahap, yang setiap tahapnya hanya akan diambil
satu keputusan.
2. Masing-masing tahap terdiri atas sejumlah status yang saling berhubungan
dengan status tersebut. Status yang dimaksud disini adalah berbagai
kemungkinan masukan yang ada pada tahap tersebut.
3. Ketika masuk ke suatu tahap, hasil keputusan akan ditransformasi.
4. Bobot pada suatu tahap akan meningkat secara teratur seiring bertambahnya
jumlah tahapan.
5. Bobot yang ada pada suatu tahap tergantung dari bobot tahapan yang telah
berjalan dan bobot pada tahap itu sendiri.
6. Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan
pada tahap sebelumnya.
7. Terdapat hubungan rekursif yang menyatakan bahwa keputusan terbaik dalam
setiap status pada tahap k akan memberikan keputusan terbaik untuk setiap
status pada tahap k+1.
8. Prinsip optimalitas berlaku pada persoalan yang dimaksud.

Universitas Sumatera Utara

15

Kelebihan dari algoritma Floyd Warshall antara lain (Adams, 2012):


1. Algoritma Floyd Warshall dapat digunakan untuk mencari jarak terpendek
(shortest path) dari setiap pasangan node
2. Algoritma Floyd Warshall menggunakan matriks bobot n x n sebagai
masukan, dimana n merupakan jumlah node
3. Algoritma Floyd Warshall dapat mentolerir negative edge.

Dari beberapa penelitian tentang perbandingan algoritma Floyd Warshall dengan


algoritma Djikstra adalah pada algoritma Dijkstra hanya memikirkan solusi terbaik
yang akan diambil pada setiap langkah tanpa memikirkan konsekuensi ke depan. Dan
hasil yang diberikan tidak selalu memberikan hasil yang optimal.sedangkan algoritma
Floyd warshall memandang solusi yang akan diperoleh sebagai suatu keputusan yang
saling terkait sehingga lebih menjamin keberhasilan penemuan solusi optimum untuk
kasus penentuan lintasan terpendek (Sondang, 2011).

2.3.3 Analisis Algoritma Floyd Warshall

Dalam iterasinya untuk mencari lintasan terpendek, algoritma Floyd-Warshall


membentuk n matriks sesuai dengan iterasi-k. Algoritma Floyd-Warshall sering
dipergunakan

untuk

menghitung

lintasan

terpendek

karena

kesederhanaan

algoritmanya. Algoritma ini menghitung bobot terkecil dari semua jalur yang
menghubungkan sebuah pasangan titik, dan melakukannya sekaligus untuk semua
pasangan titik. Dengan kata lain pada saat perhitungan rute optimum yang akan dilalui
terlebih dahulu. Algoritma Floyd-Warshall bekerja berdasarkan formulasi dinamic
programming. Setiap langkahnya akan memeriksa lintasan antara vi dan vjapakah bisa
lebih pendek jika melalui vi-vk dan vk-vj.

Universitas Sumatera Utara

16

Proses Penentuan Nilai Minimum Algoritma Floyd-Warshalldapat dituliskan sebagai


berikut:
1. Pada iterasi ke-1, setiap sel matriks dilakukan pengecekan apakah jarak antar
dua titik mula mula lebih besar dari penjumlahan antar jarak titik asal ke titik
tujuan (titik tujuan=iterasi ke-1) dengan jarak titik asal (titik asal=iterasi ke-1)
ke titik tujuan. Dengan kata lain apakah W[i,j] > W[i,k] + W[k,j].
2. Jika iya maka jarak antar dua titik mula mula diganti dengan penjumlahan
antar jarak titik asal ke titik tujuan (titik tujuan=iterasi ke-1) dengan jarak titik
asal (titik asal=iterasi ke-1) ke titik tujuan (W[i,k] + W[k,j]).
3. Jika tidak, maka jarak yang digunakan yaitu jarak antar dua titik mula mula
(W[i,j]).
4. Proses iterasi dilakukan hingga pada iterasi terakhir (jumlah iterasi=jumlah
total titik).

Universitas Sumatera Utara

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem


Analisis sistem merupakan bagian dari proses pembuatan sistem yang memiliki
beberapa tahapan. Berikut merupakan tahapan - tahapan dari analisis sistem.

3.1.1. Analisis masalah


Masalah yang dibahas dalam penelitian ini adalah, sulitnya seseorang dalam memilih
informasi tentang jalur yang diinginkan dengan menggunakan algoritma Floyd
warshall.Maka dari itu, sebelum membangun program dilakukan analisis masalah
dengan menggunakan Ishikawa Diagram seperti yang ditunjukkan di gambar 3.1.

Ishikawa Diagram (diagram fishbone) berbentuk tulang ikan yang merupakan


buah pikiran dari Kaoru Ishikawa.Ishikawa Diagram adalah sebuah alat grafis yang
digunakan untuk mengidentifikasi, mengeksplorasi dan mengambarkan suatu masalah,
sebab dan akibat dari masalah itu. Sering disebut diagram sebab-akibat atau diagram
tulang ikan (Fishbone diagram) karena menyerupai tulang ikan.

Universitas Sumatera Utara

18

Konsep dasar dari diagram Ishikawa adalah nama masalah yang mendapat perhatian
dicantumkan di sebelah kanan diagram (atau pada kepala ikan) dan penyebab masalah
yang mugkin digambarkan sebagai tulang-tulang dari tulang utama. Secara khusus
tulang-tulang ini mendeskripsikan empat kategori dasar yaitu material, mesin
kekuatan, manusia, dan metode).Kategori alternative atau tambahan meliputi tempat
prosedur, kebijakan, dan orang atau lingkungan sekeliling, pemasok, system dan
keterampilan.(Jeffery, 2004).

Material
Material

Metode
Metode

Menggunakan
algoritma Floyd
Warshall

Rute yang dilalui


dari titik asal ke
titik tujuan

Masalah
Masalahpencarian
pencarianrute
ruteterpendek
terpendek
untuk
untukmenuju
menuju
Bandara
Bandarakuala
kualaNamu
Namu
Program
Shortest path

Machine
Machine

Hasil rute yang


dipilih berdasarkan
jarak

People
People

Gambar 3.1 Ishikawa Diagram

Berdasarkan gambar 3.1 , merupakan masalah pencarian rute terpendek menuju


bandara Kuala Namu. Dalam diagram perhatikan bahwa masalah yang dipecahkan
berada di kotak sebelah kanan. Empat area yang diidentifikasi sebagai kategori
penyebab (material, metode, machine dan people) dituliskan di kotak sebelah atas dan
bawah kerangka ikan dan dihubungkan dengan panah (tulang) menuju ke tulang
ikan.Sebab aktual dari masalah unntuk setiap kategori di gambarkan sebagai panah ke
panah kategori (bone).

Universitas Sumatera Utara

19

3.1.2. Analisis persyaratan


Analisis persyaratan dibagi menjadi dua yaitu persyaratan fungsional dan nonfungsional.

a.

Fungsional

Persyaratan fungsional merupakan persyaratan yang dimiliki oleh sistem dalam


menyelesaikan suatu masalah.Dalam hal ini persyaratan fungsional yang harus
dimiliki sistem yaitu:

1. Pada proses input, sistem ini menggunakan lintasan terpendek yang rutenya di
lihat dari jalan yang terbaca oleh google maps.
2. Metode yang diimplementasikan dalam sistem ini ialah proses pencarian
lintasan terpendek dengan menggunakan Algoritma Floyd-Warshall pada
lintasan terpendek yang akan dicari.

b. Non-fungsional

Kebutuhan non-fungsional yang harus dipenuhi aplikasi yang dirancang adalah


sebagai berikut:
a. User Friendly
Sistem yang dibangun harus User Friendly, artinya sistem ini dapat dengan
mudah digunakan dan dimengerti oleh user sehingga menjadi salah satu solusi
dalam mencari lintasan terpendek.
b. Software Pendukung
Sistem yang dibangun oleh penulis menggunakan semua Software Pendukung
bersifat freeware sehingga tidak memerlukan izin atau hal-hal yang dapat
merugikan pihak lain.

Universitas Sumatera Utara

20

c. Fitur Tambahan
Sistem ini menambah beberapa fitur tambahan yaitu menyediakan beberapa
fungsi yang akan menyimpan hasil dari pencarian lintasan terpendek.
d. Performa
Pencarian lintasan terpendek yang dilakukan oleh sistem akan mampu
menunjukkan hasil akhir dari proses, yaitu jarak terpendek

3.2 Pemodelan Aplikasi

Pemodelan aplikasi yang dirancang bertujuan untuk menggambarkan semua kondisi


dan bagian-bagian yang berperan dalam sistem yang dirancang.Pemodelan Aplikasi
dilakukan dengan membuat Use-Case Diagram, Activity Diagram, dan Sequence
Diagram.

3.2.1 Use-Case Diagram

Use case diagram akan menjelaskan apa saja fungsi-fungsi yang akan dikerjakan oleh
sistem. Hal ini dikarenakan use case diagram akan merepresentasikan bagaimana
interaksi antara actor (user)dengan sistem.

System
ex
<<

Floyd Warshall

>>

Evaluasi node demi


node

<<
i cl u

<<depends (on)>>

de
>>

Jarak terpendek

Input daerah asal

<<
ex
user

te

s
nd

ten

ds
>>

Bandingkan semua
rute yang dilalui

i cl u
<<

de

>>

Gambar 3.2 Use Case Diagram Sistem Penentuan Jalur Terpendek Menuju
Bandara Kuala Namu

Universitas Sumatera Utara

21

Use case diagram pada gambar 3.2 menjelaskan user melakukan pencarian
lintasan terpendek dengan menginputkan daerah asal dengan menggunakan Algoritma
Floyd Warshall kemudian melihat hasil dari lintasan terpendek yang telah dicari
setelah membandingkan node node yang telah di evaluasi.

3.2.2 Activity Diagram

UML menawarkan sebuah diagram tambahan yang disebut activity diagram atau
diagram aktivitas. Activity diagram adalah sebuah diagram yang dapat digunakan
untuk menggambarkan secara grafis aliran proses bsnis, langkah-langkah sebuah use
case atau logika behavior (metode) object. Diagram ini seupa dengan flowchart
dimana secara grafis diagram ini menggambarka diagram aliran sekuensial dari
kegiatan. Perbedaan diagram ini dengan flowchart dimana diagram ini menyediakan
sebuah mekanisme untuk menggambarkan kegiatan yang tampak secara pararel.
Diagram ini sangat berguna untuk memodelkan kegiatan yang akan dilakukan saat
sebuah operasi dieksekusi dan memodelkan hasil-hasil dari kegiatan-kegiatan ini.
(Jeffery , 2004)

Universitas Sumatera Utara

22

User

System

Input daerah asal

Evaluasi node demi node

Bandingkan semua rute yang dilalui

Tampilkan jarak terpendek yang di lalui

Proses pencarian rute dengan menggunakan algoritma floyd warshall menuju KNIA

Gambar 3.3 Activity Diagram Algoritma Floyd Warshall

Diagram activity pada gambar 3.3 ini menjelaskan tentang pencarian jarak
terpendek menggunakan alggoritma Floyd Warshall, yang mana user akan menginput
daerah asal dan sistem akan mulai mengevaluasi node demi node dan membandingkan
node terdekat menuju bandara Kuala Namu dengan menggunakan algoritma Floyd
Warshall. Setelah mendapat perhitungan jarak terpendek maka akan ditampilkan jarak
tersebut ke user dan sistem akan berhenti.

Universitas Sumatera Utara

23

3.2.3 Sequence Diagram

Sequence diagram adalah diagram UML yang memodelkan logika sebuah use case
dengan cara menggambarkan interaksi pesan di antara objek-objek dalam rangkaian
waktu. Pada gambar 3.4 akan dijelaskan sequence diagram.

User

Interface

Floyd Warshall

Proses Lintasan

Start

Proses Perhitungan Floyd Warshall

Bandingkan semua vertex yang terhubung

Tampil jalur terpendek ditemukan oleh Algoritma Floyd Warshall

Gambar 3.4 Sequence Diagram

Universitas Sumatera Utara

24

3.3 Flowchart

Pengertian dari flowchart atau digram alir adalah sebuah diagram dengan simbolsimbol grafis yang menyatakan aliran algoritma atau proses yang menampilkan
langkah-langkah yang disimbolkan dalam bentuk kotak, beserta urutannya dengan
menghubungkan

masing

masing

langkah

tersebut

menggunakan

tanda

panah. Flowchart Floyd Warshall digambarkan oleh gambar 3.5

Start

Input daerah asal

Evaluasi vertex demi vertex

Bandingkan semua rute yang


dilalui

Proses pencarian jarak terpendek


menggunakan Algoritma Floyd-warshall

Tampilkan rute jarak


terpendek

end

Gambar 3.5 Diagram Alur Algoritma Floyd-Warshall

Universitas Sumatera Utara

25

3.4 Perancangan Interface


Sistem ini dirancang dengan tampilan awal yang langsung bisa diakses tanpa melalui
login.

HEADER
HOME

FLOYD

DATA
LOKASI

1
2

CONTACT
US

PENCARIAN RUTE TERPENDEK


MENGGUNKAN ALGORITMA FLOYD
WARSHALL

JUMLAH PENGUNJUNG

GAMBAR PETA

PILIH DAERAH ASAL

JUMLAH PENGGUNA

DAERAH TUJUAN (KNIA)

3
3

PROSES

Gambar 3.6 Perancangan Interface


Keterangan gambar 3.6
Header

: bagian paling atas dar website yang biasanya berisi gambar


website, alamat, dan nama website.

Menu

: Untuk menyambungkan halaman yang satu dengan


halaman yang lainnya.

Peta

: Menampilkan gambar peta yang berfugsi


menunjukkan rute / jalan menuju bandara KNIA

untuk

Jumlah Pengunjung& : Database yang menampilkan jumlah pengunjung dan


pengguna
pengguna aplikasi ini

Universitas Sumatera Utara

26

Daerah asal

: Berupa combo box yang menampilkan titik-titik awal/ asal


untuk menuju bandara KNIA

Daerah tujuan

: KNIA

3.5 Database

Database adalah tempat media penyimpanan data dalam membuat sebuah program
yang berisikan tabel, field dan record, yang di selimuti namanya DBMS (DataBase
Managemet Systm).
Database terdiri dari tabel tabel yang dibuat menggunakan program MySQL.
Database yang dirancang penulis adalah database db_floyd yang terdiri dari 5 tabel.

1.

Tabel tbljarak
Tabel 3.1 Tabel tbljarak

Field Name

Type

Width

Description

awal

Varchar

10

Titik awal

akhir

Varchar

10

Titik akhir

arah

Varchar

30

Arah

jarak

Double

Jarak

2. Tabel tbljlhpengguna
Tabel 3.2 Tabel tbljlhpengguna
Field
Name
Id

Type

Width

Description

Int

11

No. urut (auto_increment, primary key)

Waktu

Datetime

Ip

varchar

Waktu dalam mengakses aplikasi


30

IP

Universitas Sumatera Utara

27

3. Tabel tbljlhpengunjung
Tabel 3.3 Tabel tbljlhpengunjung
Field
Name
Id

Type

Width

Description

Int

11

No. urut (auto_increment, primary key)

Waktu

Datetime

Ip

varchar

Waktu dalam mengakses aplikasi


30

IP

4. Tabel tblmap
Tabel 3.4 Tabel tblmap
Field
Name
Awal

Type

Width

Description

Varchar

30

Titik awal

Akhir

Varchar

30

Titik akhir

5. Tabel tblnode
Tabel 3.5 Tabel tblnode
Field Name

Type

Width

Description

kdnode

Varchar

30

Kode node

nama

Varchar

30

Nama singkatan

koor1

Varchar

30

Titik koordinat pertama

koor2

Varchar

30

Titik koordinat ke dua

ket

Varchar

150

Nama tempat

Universitas Sumatera Utara

28

3.6 Entity Relationship Diagram (ERD)

Entity Relationship Diagram (ERD) merupakan suatu teknik pemodelan data yang
menggambarkan entitas dan hubugan antar entitas dalam sebuah sistem informasi.

Tabel Node
Tabel Map

Kdnode
Nama
Koor1
Koor2
keterangan

ambil

Awal
akhir

Tabel Jarak
ambil

Tabel Pengunjung
Id
Waktu
ip

Awal
Akhir
Arah
jarak

Tabel Pengguna
Id
Waktu
ip

Gambar 3.7 Entity Relationship Diagram(ERD)

Universitas Sumatera Utara

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem


Web server merupakan sebuah perangkat lunak dalam server yang berfungsi
menerima permintaan (request) berupa halaman web melalui HTTP atau HTTPS dari
klien yang dikenal dengan browser web dan mengirimkan kembali (response)
hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk document
HTML.

4.1.1

Tampilan halaman utama

Tampilan ini merupakan tampilan yang pertama kali muncul pada saat aplikasi
dijalankan.

Gambar 4.1 Tampilan Halaman Utama

Universitas Sumatera Utara

30

4.1.2 Tampilan Menu Floyd


Tampilan ini hanya menampilkan cara proses perhitungan jarak dari algoritma
Floyd warshall

Gambar 4.2 Tampilan Menu Floyd

4.1.3

Tampilan Login Admin Pengelola Data


Tampilan ini akan muncul ketika si pengguna mengklik menu data lokasi. Dan
tampilan ini hanya bisa dikelola oleh admin.

Gambar 4.3 Tampilan Login Admin

Universitas Sumatera Utara

31

4.1.4 Tampilan data lokasi


Tampilan ini berisikan titik (node) yang dapat diinput , edit dan hapus oleh
admin

Gambar 4.4 Tampilan Data Lokasi

4.2 GraphYang Digunakan Untuk Menentukan Rute Terpendek

Gambar 4.5 Graph yang digunakan untuk menghitung jarak terpendek menuju
KNIA

Universitas Sumatera Utara

32

Keterangan gambar 4.5


FP

PB

MP

SUN

Hermes
Amplas

: Jalan Arteri Ringroad, Medan, Sumatera


Utara

Pinang Baris

: Jl. Pinang Baris, Selalas, Medan, Sumatera


Utara

Medan Plaza

: Jl. Jend. Gatot Subroto


Medan Sumatera Utara

SUN Plaza

: Jl. H. Zianul Arifin No. 7 Medan Sumatera


Utara

Hermes Polonia

: Jl.
Wolter
Monginsidi
Medan Sumatera Utara

No.

30

No.45

: Terminal Amplas

: JL. Menteng, No. 7 Medan Sumatera Utara

:
Paladium

: Jl. Kapten Maulana Lubis No. 8 Petisah


Tengah Medan Petisah Medan Sumatera
Utara

Centre Point

: Jl. Timor Blok H No. 1, Medan, Sumatera


Utara

Palad

CP

Focal Point

TP

: Thamrin Plaza

: Jl. Thamrin No. 75 R, Sumatera Utara

MM

: Medan Mall

: JL. MT Haryono No. 8 - 9, Sumatera Utara

KNIA

: Kuala

Namu :

Internasional Airport

Jl. Bandara Internasional


Medan, Sumatera Utara

Kualanamu,

Universitas Sumatera Utara

33

4.3 Perhitungan algoritma Floyd Warshall

4.3.1 Iterasi Pertama


Tabel 4.1 Perhitungan Algoritma Floyd iterasi pertama
Ke
Dari
FP
PB
MP
SUN
HERMES
PALAD
CP
TP
MM
AMPLAS
KNIA

FP PB MP SUN HERMES PALAD CP TP MM AMPLAS KNIA


0

4.4
0

7.1
0

8
9.1
2
0

6.6

1.9
0

2.2

2.1
0

2.3
1
0

0.15
0

12.1

8.6

27.5
29.4
26.6

25.4
25.4
27.7
0

Pada tabel 4.1 adalah tahapan pertama dalam menghitung algoritma Floyd Warshall.
Pada iterasi ini berupa perpindahan dari graph menjadi tabel matriks.

Universitas Sumatera Utara

34

4.3.2 Iterasi ke dua


Tabel 4.2 Perhitungan Algoritma Floyd Iterasi Ke Dua
Ke
Dari
FP
PB
MP
SUN
HERMES
PALAD
CP
TP
MM
AMPLAS
KNIA

FP

PB

MP

SUN

HERME
S

PALAD

CP

TP

MM

AMPLA
S

KNIA

4.4
0

7.1
0

8
9.1
2
0

6.6

1.9
0

2.2

2.1
0

2.3
1
0

0.15
0

12.1

8.6

27.5
29.4
26.6

25.4
25.4
27.7
0

Pada tabel 4.2 Pada iterasi ini Untuk setiap sel matrik w dicek apakah w[i, j]>
w[i,k]+w[k,j].Jika ya, maka w [i, j] diganti w[i,k]+w[k,j]

4.3.3 Iterasi Ke Tiga


Tabel 4.3 Perhitungan Algoritma Floyd Iterasi Ke Tiga
Ke
Dari
FP
PB
MP
SUN
HERMES
PALAD
CP
TP
MM
AMPLAS
KNIA

FP PB MP

SUN HERMES PALAD CP TP MM AMPLAS KNIA

8
9.1
2
0

4.4
0

11.5
7.1
0

6.6

1.9
0

2.2

2.1
0

2.3
1
0

0.15
0

12.1

8.6

27.5
29.4
26.6

25.4
25.4
27.7
0

Universitas Sumatera Utara

35

Pada tabel 4.3Iterasi ke tiga dilakukan dengan cara yang sama seperti iterasi ke dua
hanya saja perantaranya adalah titik PB.
Pada titik [FP,MP]=
[FP,MP] > [FP,PB]+ [PB,MP]
4.4+7.1= 11.5 maka nilai [FP,MP] akan diganti dengan nilai
11.5
Pada titik [FP,SUN]=8
[FP,SUN] > [FP,PB]+[PB,SUN]
4.4+9.1 = 13.5 maka nilai [FP,SUN] tidak diganti dikarenakan
hasil penjumlahan dari [FP,PB]+[PB,SUN] lebih besar dari
jarak sebenarnya.
Perhitungan dilakukan seteruskan dengan cara yang sama sampai semua node
memiliki jumlah node yang paling kecil dari titik perantara PB

4.3.4 Iterasi ke Empat


Tabel 4.4 Perhitungan Algoritma Floyd Iterasi Ke Empat
Ke
Dari
FP
PB
MP
SUN
HERMES
PALAD
CP
TP
MM
AMPLAS
KNIA

FP PB MP

SUN HERMES PALAD CP TP MM AMPLAS KNIA

8
9.1
2
0

4.4
0

11.5
7.1
0

6.6

1.9
0

13.7
9.3
2.2

2.1
0

2.3
1
0

0.15
0

12.1

8.6

Pada tabel 4.4Iterasi ke empat dilakukan dengan cara yang sama seperti iterasi ke tiga
hanya saja perantaranya adalah titik MP.
Pada titik [FP,PALAD]=

Universitas Sumatera Utara

27.5
29.4
26.6

25.4
25.4
27.7
0

36

[FP,PALAD] > [FP,MP]+ [MP,PALAD]


11.5+2.2= 13.7 maka nilai [FP,PALAD] akan diganti
dengan nilai 13.7 karena nilai [FP, PALAD] 13.7 <
Pada titik [PB,PALAD]=
[PB,PALAD] > [PB,MP]+ [MP,PALAD]
7.1+2.2= 9.3 maka nilai [PB,PALAD] akan diganti dengan
nilai 13.7, karena nilai [PB,PALAD] 9.3 <
Perhitungan dilakukan seteruskan dengan cara yang sama sampai semua
nodememiliki jumlah node yang paling kecil dari titik perantara MP.

4.3.5 Iterasi ke Lima


Tabel 4.5 Perhitungan Algoritma Floyd Iterasi Lima
Ke
Dari
FP
PB
MP
SUN
HERMES
PALAD
CP
TP
MM
AMPLAS
KNIA

FP PB MP

SUN HERMES PALAD CP TP MM AMPLAS KNIA

8
9.1
2
0

4.4
0

11.5
7.1
0

6.6
11
3.9
1.9
0
2.9

13.7
9.3
2.2

2.1
0

2.3
1
0

0.15
0

12.1

8.6

Pada tabel 4.5Iterasi ke lima dilakukan dengan cara yang sama seperti iterasi ke empat
hanya saja perantaranya adalah titik SUN

Pada titik [FP, Hermes]= 6


[FP,Hermes > [FP,SUN]+ [SUN,Hermes]

Universitas Sumatera Utara

35.5
36.6
29.5
27.5
29.4
26.6

25.4
25.4
27.7
0

37

8+1.9 = 9.9 maka nilai [FP,Hermes] tidak diganti


dikarenakan

hasil

penjumlahan

dari

[FP,SUN]+[SUN,Hermes] lebih besar dari jarak sebelumnya.


Pada titik [PB,Hermes]=
[PB,Hermes] > [PB,SUN]+ [SUN, Hermes]
9.1+ 1.9 = 11 maka nilai [PB,Hermes] akan diganti dengan
nilai 11, karena nilai [PB,Hermes] 11 <
Perhitungan dilakukan seteruskan dengan cara yang sama sampai semua node
memiliki jumlah node yang paling kecil dari titik perantara SUN.

4.3.6 Iterasi ke enam


Tabel 4.6 Perhitungan Algoritma Floyd Iterasi Ke Enam
Ke
Dari
FP
PB
MP
SUN
HERMES
PALAD
CP
TP
MM
AMPLAS
KNIA

FP PB MP

SUN HERMES PALAD CP TP MM AMPLAS KNIA

8
9.1
2
0

4.4
0

11.5
7.1
0

6.6
11
3.9
1.9
0
2.9

13.7
9.3
2.2

2.1
0

2.3
1
0

0.15
0

12.1
19.6
12.5
10.5
8.6
11.5

35.5
36.6
29.5
27.5
29.4
26.6

25.4
25.4
27.7
0

Pada tabel 4.6Iterasi ke enam dilakukan dengan cara yang sama seperti iterasi ke lima
hanya saja perantaranya adalah titik Hermes
Pada titik [FP, Amplas]=12.1
[FP, Amplas] > [FP,Hermes]+ [Hermes, Amplas]

Universitas Sumatera Utara

38

6.6 + 8.6 = 15.2 maka nilai [FP,Amplas] tidak diganti


dikarenakan hasil penjumlahan dari [FP,Hermes]+[Hermes,
Amplas] lebih besar dari jarak sebelumnya.
Pada titik [PB,Amplas]=
[PB,Amplas] > [PB,Hermes]+ [Hermes, Amplas]
11+ 8.6 = 19.6 maka nilai [PB,Amplas] akan diganti
dengan nilai 19.6, karena nilai [PB,Amplas] 19.6 <
Perhitungan dilakukan seteruskan dengan cara yang sama sampai semua node
memiliki jumlah node yang paling kecil dari titik perantara Hermes.

4.3.7 Iterasi ke tujuh


Tabel 4.7 Perhitungan Algoritma Floyd Iterasi Ke Tujuh
Ke
Dari
FP
PB
MP
SUN
HERMES
PALAD
CP
TP
MM
AMPLAS
KNIA

FP PB MP

SUN HERMES PALAD CP

TP

MM AMPLAS KNIA

8
9.1
2
0

16
11.6
4.5

2.3
1
0

0.15
0

4.4
0

11.5
7.1
0

6.6
11
3.9
1.9
0
2.9

13.7
9.3
2.2

15.8
11.4
4.3

2.1
0

12.1
19.6
12.5
10.5
8.6
11.5

35.5
35.9
28.8
27.5
29.4
26.6

25.4
25.4
27.7
0

Pada tabel 4.7Iterasi ke tujuh dilakukan dengan cara yang sama seperti iterasi ke enam
hanya saja perantaranya adalah titik Palad
Pada titik [FP, CP]=
[FP,CP] > [FP,Palad]+ [Palad, CP]
13.7+ 2.1 = 15.8 maka nilai [FB,CP] akan diganti dengan nilai
15.8 , karena nilai [FB,CP] 15.8 <
Pada titik [FB,TP]=

Universitas Sumatera Utara

39

[FB, TP] > [FP,Palad]+ [Palad, TP]


13.7+ 2.3 = 16 maka nilai [FB,TP] akan diganti dengan nilai 16
, karena nilai [FB,TP] 16 <
Perhitungan dilakukan seteruskan dengan cara yang sama sampai semua node
memiliki jumlah node yang paling kecil dari titik perantara Palad

4.3.8 Iterasi ke delapan


Tabel 4.8 Perhitungan Algoritma Floyd Iterasi Ke Delapan
Ke
Dari
FP
PB
MP
SUN
HERMES
PALAD
CP
TP
MM
AMPLAS
KNIA
Pada

FP PB MP
0

tabel

SUN HERMES PALAD CP

4.4 11.5 8
6.6
13.7
0
7.1 9.1
11
9.3
0
2
3.9
2.2

0
1.9


1
2.9
0

4.8Iterasi ke delapan dilakukan dengan

TP

MM AMPLAS KNIA

15.8 16

12.1
35.5
11.4 11.6
19.6
35.9
4.3 4.5
12.5
28.8

10.5
27.5

8.6
29.4
2.1 2.3
11.5
26.6
0
1

0
0.15
25.4

25.4

0
27.7

0
cara yang sama seperti iterasi ke

tujuh hanya saja perantaranya adalah titik CP


Pada titik [FP, TP]= 16
[FP,TP] > [FP,CP]+ [CP, TP]
15.8 + 1 = 16.8 maka nilai [FP,TP] tidak diganti dikarenakan
hasil penjumlahan dari [FP,CP]+ [CP, TP] lebih besar dari jarak
sebelumnya.
Pada titik [PB, TP]= 11.6
[PB, TP] > [PB,CP]+ [CP, TP]
11.6 + 1 = 12.1 maka nilai [PB,TP] tidak diganti dikarenakan
hasil penjumlahan dari [PB,CP]+ [CP, TP]lebih besar dari jarak
sebelumnya.

Universitas Sumatera Utara

40

Perhitungan dilakukan seteruskan dengan cara yang sama sampai semua node
memiliki jumlah node yang paling kecil dari titik perantara CP

4.3.9 Iterasi ke sembilan


Tabel 4.9 Perhitungan Algoritma Floyd Iterasi Ke Sembilan
Ke
Dari
FP
PB
MP
SUN
HERMES
PALAD
CP
TP
MM
AMPLAS
KNIA

FP PB MP

SUN HERMES PALAD CP

TP

MM

AMPLAS KNIA

8
9.1
2
0

16
11.6
4.5

2.3
1
0

16.15
11.75
4.65

2.45
1.15
0.15
0

12.1
19.6
12.5
10.5
8.6
11.5

4.4
0

11.5
7.1
0

6.6
11
3.9
1.9
0
2.9

13.7
9.3
2.2

15.8
11.4
4.3

2.1
0

Pada tabel 4.9Iterasi ke sembilan dilakukan dengan cara yang sama seperti iterasi ke
delapan hanya saja perantaranya adalah titik TP
Pada titik [FP, MM]=
[FP,MM] > [FP,TP]+ [TP, MM]
16 + 0.15 = 16.15 maka nilai [FB,MM] akan diganti dengan
nilai 16.15, karena nilai [FB,MM] 16.15 <
Pada titik [PB,MM]=
[PB, MM] > [PB,TP]+ [TP, MM]
11.6 + 0.15 = 11.75maka nilai [PB, MM)] akan diganti dengan
nilai 11.75 , karena nilai [PB, MM] 11.75 <
Perhitungan dilakukan seteruskan dengan cara yang sama sampai semua node
memiliki jumlah node yang paling kecil dari titik perantara TP.

Universitas Sumatera Utara

35.5
35.9
28.8
27.5
29.4
26.6
26.4
25.4
25.4
27.7
0

41

4.3.10 Iterasi ke sepuluh


Tabel 4.10 Perhitungan Algoritma Floyd Iterasi Ke Sepuluh
Ke
Dari
FP
PB
MP
SUN
HERMES
PALAD
CP
TP
MM
AMPLAS
KNIA

FP PB MP

SUN HERMES PALAD CP

TP

MM

AMPLAS KNIA

8
9.1
2
0

16
11.6
4.5

2.3
1
0

16.15
11.75
4.65

2.45
1.15
0.15
0

12.1
19.6
12.5
10.5
8.6
11.5

4.4
0

11.5
7.1
0

6.6
11
3.9
1.9
0
2.9

13.7
9.3
2.2

15.8
11.4
4.3

2.1
0

Pada tabel 4.10Iterasi ke Sepuluh dilakukan dengan cara yang sama seperti iterasi ke
Sembilan hanya saja perantaranya adalah titik MM
Pada titik [FP, Amplas]= 12.1
[FP,Amplas] > [FP,MM]+ [MM,Amplas]
+ 16.15 = maka nilai [FP,Amplas] tidak diganti
dikarenakan

hasil

penjumlahan

dari

[FP,MM]+

[MM,Amplas] lebih besar dari jarak sebelumnya.


Pada titik [PB, Amplas]= 19.6
[PB, Amplas] > [PB,MM]+ [MM, Amplas]
19.6 + = maka nilai [PB,Amplas] tidak diganti
dikarenakan hasil penjumlahan dari [PB,MM]+ [MM,
Amplas] lebih besar dari jarak sebelumnya.
Perhitungan dilakukan seteruskan dengan cara yang sama sampai semua node
memiliki jumlah node yang paling kecil dari titik perantara MM

Universitas Sumatera Utara

35.5
35.9
28.8
27.5
29.4
26.6
26.4
25.4
25.4
27.7
0

42

4.3.11 Iterasi ke sebelas


Tabel 4.11 Perhitungan Algoritma Floyd Iterasi Ke Sebelas
Ke
Dari
FP
PB
MP
SUN
HERMES
PALAD
CP
TP
MM
AMPLAS
KNIA

FP PB MP

SUN HERMES PALAD CP

TP

MM

AMPLAS KNIA

8
9.1
2
0

16
11.6
4.5

2.3
1
0

16.15
11.75
4.65

2.45
1.15
0.15
0

12.1
19.6
12.5
10.5
8.6
11.5

4.4
0

11.5
7.1
0

6.6
11
3.9
1.9
0
2.9

13.7
9.3
2.2

15.8
11.4
4.3

2.1
0

Pada tabel 4.11Iterasi ke Sebelas dilakukan dengan cara yang sama seperti iterasi ke
Sepuluh hanya saja perantaranya adalah titik Amplas
Pada titik [FP, KNIA]= 35.5
[FP,KNIA] > [FP,Amplas]+ [Amplas,KNIA]
12.1 + 27.7 = 39.8 maka nilai [FP,KNIA] tidak diganti
dikarenakan

hasil

penjumlahan

dari

[FP,Amplas]+

[Amplas,KNIA] lebih besar dari jarak sebelumnya.

Pada titik [PB,KNIA]= 35.9


[PB, KNIA] > [PB,Amplas]+ [Amplas, KNIA]
19.6 + 27.7 = 47.3 maka nilai [PB,KNIA] tidak diganti
dikarenakan hasil penjumlahan dari [PB,Amplas]+ [Amplas,
KNIA] lebih besar dari jarak sebelumnya.
Perhitungan dilakukan seteruskan dengan cara yang sama sampai semua node
memiliki jumlah node yang paling kecil dari titik perantara Amplas

Universitas Sumatera Utara

35.5
35.9
28.8
27.5
29.4
26.6
26.4
25.4
25.4
27.7
0

43

4.3.12 Iterasi Dua Belas


Tabel 4.12 Perhitungan Algoritma Floyd Iterasi Ke Dua belas
Ke
Dari
FP
PB
MP
SUN
HERMES
PALAD
CP
TP
MM
AMPLAS
KNIA

FP PB MP

SUN HERMES PALAD CP

TP

MM

AMPLAS KNIA

8
9.1
2
0

16
11.6
4.5

2.3
1
0

16.15
11.75
4.65

2.45
1.15
0.15
0

12.1
19.6
12.5
10.5
8.6
11.5

4.4
0

11.5
7.1
0

6.6
11
3.9
1.9
0
2.9

13.7
9.3
2.2

15.8
11.4
4.3

2.1
0

Pada tabel 4.12Iterasi ke Dua Belas dilakukan dengan cara yang sama seperti iterasi
ke Sebelas hanya saja perantaranya adalah titik KNIA.

Universitas Sumatera Utara

35.5
35.9
28.8
27.5
29.4
26.6
26.4
25.4
25.4
27.7
0

44

4.4 Pengujian Sistem


4.4.1

Focal Point KNIA

Gambar 4.6 Tampilan Rute Focal Point KNIA


4.4.2 Pinang Baris KNIA

Gambar 4.7 Tampilan Rute Pinang Baris KNIA

Universitas Sumatera Utara

45

4.4.3 Medan Plaza KNIA

Gambar 4.8 Tampilan Rute Medan Plaza KNIA

4.4.4

SUN Plaza KNIA

Gambar 4.9 Tampila Rute SUN Plaza KNIA

Universitas Sumatera Utara

46

4.4.5 Hermes Place Polonia KNIA

Gambar 4.10 Tampilan Rute Hermes Polonia KNIA

4.4.6

Amplas KNIA

Gambar 4.11 Tampilan Rute Amplas KNIA

Universitas Sumatera Utara

47

4.4.7 Paladium KNIA

Gambar 4.12 Tampilan Rute Padalium KNIA

4.4.8 Centre Point - KNIA

Gambar 4.13 Tampilan Rute Centre Point KNIA

Universitas Sumatera Utara

48

4.4.9 Thamrin Plaza KNIA

Gambar 4.14 Tampilan Rute Thamrin Plaza KNIA


4.4.10 Medan Mall KNIA

Gambar 4.15 Tampilan Rute Medan mall KNIA

Universitas Sumatera Utara

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil studi literatur, analisis perancangan, implementasi dan pengujian


sistem ini, maka didapatkanlah kesimpulan seperti berikut ini :

1. Lintasan Terpendek yang didapat adalah lintasan antar vertex dan hasilnya
digambarkan

dalam

bentuk

garis

lintasan

yang

berwarna

biru

yang

menghubungkan antara vertex yang satu dengan yang lainnya.


2.

Algoritma Floyd Warshall merupakan metode yang tepat untuk pencarian jalur
terpendek pada aplikasi ini.

3.

Algoritma Floyd Warshall mempunyai pemrograman dinamis, Prinsip yang


dipegang oleh pemrograman dinamis adalah prinsip optimalitas, yaitu jika solusi
total optimal, maka bagian solusi sampai suatu tahap (misalnya tahap ke-i) juga
optimal.

4.

Algoritma Floyd-Warshall membandingkan semua kemungkinan lintasan pada


graf untuk setiap sisi dari semua simpul. Hal tersebut bisa terjadi karena adanya
perkiraan pengambilan keputusan (pemilihan jalur terpendek) pada setiap tahap
antara dua simpul, hingga perkiraan tersebut diketahui sebagai nilai optimal.

Universitas Sumatera Utara

50

5.2 Saran

Adapun saran yang diberikan penulis untuk pengembangan dan perbaikan pada sistem
ini selanjutnya adalah sebagai berikut :

1.

Untuk penelitian selanjutnya sebaiknya dapat menghitung ketepatan waktu untuk


menuju KNIA.

2.

Pada penelitian selanjutnya diharapkan dapat menemukan jalur terpendek melalui


jalur mana saja yang lebih dekat dari si pengguna.

3.

Pada penelitian selanjutnya diharapkan dapat menentukan titik awal akses


menggunakan sistem Global Positioning System(GPS).

4.

Pada penelitian yang lebih lanjut sebaiknya aplikasi ini dapat diterapkan berbasis
android

Universitas Sumatera Utara

DAFTAR PUSTAKA

[1] Adams, E. D. 2012. Rancang Bangun Aplikasi Web Pencarian Rute Terpendek
Antar Gedung Di Kampus Menggunakan Algoritma Floyd Warshall.
Journal Basic Science And Technology Universitas Brawijaya Malang.
[2] Andriani, Anik. 2014 Rancangan Bangun Sistem Informasi Rute Wisata
Terpendek Berbasis Algoritma Floyd Warshall. Jakarta: Amik BSI
Jakarta.
[3] Baras, J., & Theodorakopoulos, G. 2010. Path Problems in Network.Morgan &
Claypool Publishers.
[4] Cormen, Thomas H 2003. Intrudoction To Algorithms

Edition. The MIT

Press.Cambridge London.
[5] Handaka, M.S. (2010). Perbandingan Algoritma Dijkstra (Greedy), BellmanFord(BFS-DFS), dan Floyd-Warshall (Dynamic Programming) dalam
Pengaplikasian

LintasanTerpendek

pada

Link-State

Routing

Protocol. Bandung: ITB


[6] Kurniadi, I,.2011. Logika Dan Algoritma Dasar Menggunakan C ++. Jakarta:
Mitra Wacana Media.
[7] Kusrini.2007.Konsep dan Aplikasi Sistem Pendukung Keputusan. Andi:
Yogyakarta.
[8] Purwananto, Yudhi; Purwitasari, Diana; Wibowo, Agung., 2005, Implementasi
dan Analisis Algoritma Pencarian Rute Terpendek di Kota Surabaya,
JurnalPenelitian dan Pengembangan Telekomunikasi, No. 2, Vol.10,
Desember 2005.
[9] Purwanto, E. B., 2008, Perancangan Dan Analisis Algoritma, Edisi 1, Graha
Ilmu, Yogyakarta.
[10] Rosen, K. H. 2011. Discrete Mathematics and Its Applications, Seventh Edition.
United Stated: Mc Graw Hill

Universitas Sumatera Utara

[11] Siang,Jungjenk. 2009. Matematika Diskrit Dan Aplikasinya Pada Ilmu Komputer.
Yogykarta: Andi Offset.
[12] Sitanggang, Sondang. 2011. Perbandingan Algoritma Dijkstra dan FloydWarshall Dalam Mencari Rute Terpendek Jaringan Jalan.Skripsi:
Universitas Sumatera Utara.
[13] Suarga., 2012. Algoitma Dan Pemrograman.Yogyakarta Penerbit Andi.
[14] Whiten, L.J., Bentley L.D. & Ditman K.C. 2004. Metode Desain dan Analisis
Sistem, Yogyakarta: Andi.

Universitas Sumatera Utara

LISTING PROGRAM
1. Index.php
<?
include "config.php";
$jalurterpendek = "";
$njalurterpendek = 500000;
$iterasi=0;
$fullpath = "";
$cawal="";
function get_client_ip() {
$ipaddress = '';
if($_SERVER['REMOTE_ADDR'])
$ipaddress = $_SERVER['REMOTE_ADDR'];
else
$ipaddress = 'UNKNOWN';
return $ipaddress;
}

function arah($zx,$zy,$alokasi,$nilai)
{
global $jalurterpendek;
global $njalurterpendek;
global $iterasi;
global $fullpath;
$spasi=0;
if(empty($alokasi)){$alokasi=$zx;}
$spasi++;
$queryzx="select * from tbljarak where awal ='$zx' and jarak>0";
$query=mysql_query($queryzx);
while ($data = mysql_fetch_array($query))
{
$pecah=explode("|",$data['arah']);
if($pecah[0]==$zx){
$anak=$pecah[1];
}else{
$anak=$pecah[0];
}
$ubahcaritujuan=str_replace($zy,"xxxx",$alokasi);

Universitas Sumatera Utara

54

$ubahcariulangan=str_replace($anak,"xxxx",$alokasi);
if($ubahcaritujuan!=$alokasi){
/*tidak sama //tidak dapet dapet 1*/
}
elseif($ubahcariulangan!=$alokasi){
/* Tidak pernah diulangin*/
}
else{
/* tidak memenuhi dan berulang terus */
$nilaix=$nilai+$data['jarak'];
//echo $data['jarak']."|";
$alokasix=$alokasi."|".$anak;
arah($anak,$zy,$alokasix,$nilaix);
$ubahcaritujuanx=str_replace($zy,"xxxx",$alokasix);
if($ubahcaritujuanx!=$alokasix){
/*tidak sama //tidak dapet dapet 1*/
if ($nilaix<$njalurterpendek){
$jalurterpendek = $alokasix;
$njalurterpendek = $nilaix;
}
//echo "</br>(".$alokasix.") --->".$nilaix."Km</br>";
}
}
//echo $ubahcaritujuan."|".$ubahcariulangan."|".$alokasi;
//echo $spasi;
}
}?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>PENCARIAN JALUR TERPENDEK</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="" content="" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link href="css/layout.css" rel="stylesheet" type="text/css" />
<!--[if lt IE 7]>
<link href="style_ie.css" rel="stylesheet" type="text/css" />
<![endif]-->
<style type="text/css">

Universitas Sumatera Utara

55

</style>
<script type="text/javascript" src="scripts/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="scripts/jquery.nivo.slider.js"></script>
<script type="text/javascript" src="scripts/topmenu.js"></script>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="scripts/util.js"></script>
<script>
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
var myLatlng = new google.maps.LatLng(3.595444, 98.769372);
var myOptions = {
zoom: 11,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map"), myOptions);
downloadUrl("phpsqlajax_genxml.php", function(data) {
var infowindow = new google.maps.InfoWindow();
var markers = data.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var latlng = new
google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var marker = new google.maps.Marker({position: latlng, map: map});

google.maps.event.addListener(marker, 'click', (function(marker, i) {


return function() {
infowindow.setContent(markers[i].getAttribute("ket"));
infowindow.open(map, marker);
}
})(marker, i));
}
});
}

function calcRoute() {

Universitas Sumatera Utara

56

var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
directionsDisplay = new google.maps.DirectionsRenderer();
var cp = new google.maps.LatLng(3.591780, 98.680325);
var mapOptions = {
zoom: 11,
center: cp
}
map = new google.maps.Map(document.getElementById('map'), mapOptions);
directionsDisplay.setMap(map);
var pathkoordinat = document.getElementById('koordinat').textContent;
var pecah = pathkoordinat.split("|");
var start = pecah[0]; //PB
var end = pecah[pecah.length-1]; // KNIA
var waypts = [];
//var checkboxArray = document.getElementById('waypoints');
for (var i = 1; i < pecah.length-1; i++) {
waypts.push({location:pecah[i],stopover:true});
}
var request = {
origin: start,
destination: end,
waypoints: waypts,
optimizeWaypoints: true,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
//google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body id="page1" onload="" onunload="GUnload()">
<a name="top"></a>

Universitas Sumatera Utara

57

<? include "header.php" ?>

<!-- content -->


<div id="bg-content">
<div id="content">
<div class="colom-welcome">
<h3>
<p>PENCARIAN RUTE TERPENDEK MENGGUNKAN ALGORITMA FLOYD
WARSHALL
</h4>
</p>
<p><?php
include"time.php";
?></p>
<div id="map" style="width: 500px; height:300px"></div>
<?php
if (isset($_POST['awal'])) {
$ip = get_client_ip();
$updatepe = mysql_query("insert into tbljlhpengguna set
waktu=now(),ip='$ip'");
$awal=$_POST['awal'];
global $cawal;
$cawal=$_POST['awal'];
$tujuan=$_POST['tujuan'];
if(empty($awal)){$awal=0;}
if(empty($tujuan)){$tujuan=0;}
arah($awal,$tujuan,"",0);
$fullpath="";
$koorjalur="";
$pecah=explode("|",$jalurterpendek);
$jlh = count($pecah);
$hps = mysql_query("delete from tblmap");
for ($i = 0; $i < $jlh; $i++) {
// echo "kode: $pecah[$i] <br>";
$query="select ket,koor1,koor2 from tblnode where kdnode='$pecah[$i]'";
$q=mysql_query($query);

Universitas Sumatera Utara

58

while ($data = mysql_fetch_array($q)){


if ($i==0){
$fullpath=$fullpath.$data['ket'];
$koorjalur=$koorjalur.$data['koor1'].",".$data['koor2'];
}else{
$fullpath=$fullpath."|".$data['ket'];
$koorjalur=$koorjalur."|".$data['koor1'].",".$data['koor2'];
}
}
if ($i<($jlh-1)){
$aw = $pecah[$i];
$ak = $pecah[$i+1];
$inputmap = mysql_query("insert into tblmap set
awal='$aw',akhir='$ak'");
}
}
echo "<h4></br>HASIL : ";
if ($njalurterpendek == 500000){$njalurterpendek=0;}
echo "( ".$fullpath." ) --->".$njalurterpendek."Km</br>";
echo "<label id='koordinat'>".$koorjalur."</label></h4>";
}
?>
<div></div>
<p></p>
<br />
</br>

</div>
<div class="colom-product" style="margin-top:100px;">
<?php
if (isset($_POST['awal'])){}else{
$ip = get_client_ip();
$updatepe = mysql_query("insert into tbljlhpengunjung
set waktu=now(),ip='$ip'");}
$query = mysql_query("select count(*) as jlh from
tbljlhpengunjung");
while($lihat=mysql_fetch_array($query)){
echo "<h4>Jumlah Pengunjung : ".$lihat['jlh']."</h4>";

Universitas Sumatera Utara

59

}
$query = mysql_query("select count(*) as jlh from
tbljlhpengguna");
while($lihat=mysql_fetch_array($query)){
echo "<h4>Jumlah Pengguna &nbsp;&nbsp; :
".$lihat['jlh']."</h4>";
}
?>
<form method="POST" action="#" >
<table cellpadding="10px">
<tr><td><select name="awal">
<option value=""> -Pilih Daerah Asal- </option>
<?php $query=mysql_query("select * from tblnode");
while($lihat=mysql_fetch_array($query)){
//echo "<script type='text/javascript'>alert('".$cawal."');
if ($lihat['kdnode']==$cawal){
echo "<OPTION selected='selected'
VALUE='".$lihat['kdnode']."'>".$lihat['ket']."</OPTION>";
}else{
echo "<OPTION
VALUE='".$lihat['kdnode']."'>".$lihat['ket']."</OPTION>";
}
}
?>
</select></td>
</tr>
<tr bgcolor="#33FF99"><td>Daerah Tujuan (KNIA) <input type="hidden"
name="tujuan" value="T011"></td></tr>
<tr><td><input type="submit" value="RUTE" ></td></tr>
</table>
</form>

</div>
<? if (isset($_POST['awal'])) {echo '<script type="text/javascript">
calcRoute();</script>';
}else{echo '<script type="text/javascript"> initialize();</script>';}?>
<p></p>
</body>
</html>

Universitas Sumatera Utara

60

1. Config.php
<?php
//mysql_connect("localhost","root","");
//sesuaikan username dan password nya
sesuai dengan host teman-teman
//mysql_select_db("db_floyd");
//sesuai dengan nama database yang kita
buat dan yg akan kita gunakan
$koneksi=@mysql_connect("localhost","root","")
or die ("Koneksi Gagal : ".mysql_error());
$db=@mysql_select_db("db_floyd") or die
("Database tidak ditemukan karena : ".mysql_error());
?>

2. Time.php
<body>
<strong><font color="#000000" size="3">
<?php
//time.php
//menampilkan tanggal sekarang
$data=time();
$sekarang=date("d M Y",$data);
echo" $sekarang<br>"
?>
</font></strong><font color="#FFFFFF" size="3"></font>
</body>
</html>

3. Header.php
<div id="background" ><div id="top-header">
<div id="bg-header" style="background-image: url(images/header-worldmap.jpg)"><div id="header" align="center"><div class="digitcal"></div>
</div></div>

<div id="bg-nav">

Universitas Sumatera Utara

61

<div id="nav-menu">
<div id="nav">
<ul id="navigation">
<li style="border-left:1px solid rgba(0,0,0,0.2);"><a href="index.php"
style="padding: 2px 20px" ><img height="30px" src='images/home.png' alt='home'
style=" padding-bottom:0; margin:0"/></a></li>
<li><a href="index.php">K N I A</a></li>
<li><a href="floyd/index.php">FLOYD</a></li>
<li><a href="login.php">DATA LOKASI</a></li>
</ul>
</div>
</div>
</div>
<!-- end of button -->

4. Login.php
<html>
<head>
<title>PENCARIAN JALUR TERPENDEK</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="" content="" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link href="css/layout.css" rel="stylesheet" type="text/css" />
<?php
include 'config.php'; // hubungkan file php dengan file configurasi ke database
?>
</head>
<body>
<a name="top"></a>
<? include "header.php" ?>
<!-- content -->
<div id="bg-content">
<div id="content">

<h3>Admin Kelola Data</h3>


<p><?php
include"time.php";
?></p>
<table width="650">

Universitas Sumatera Utara

62

<tr>
<th colspan="2" scope="row"><div id="left">
<div class="post"></div>
<div class="post">
<div align="left">
<form id="form1" method="post" action="data%20lokasi/lihatnode.php">
<table width="400" align="center" cellpadding="5">
<tr>
<td colspan="4">&nbsp;</td>
</tr>
<tr>
<td width="10" rowspan="2"><img src="images/login-welcome.gif"
width="56" height="49" /></td>
<td width="78"><b>User</td>
<td width="6"><b>:</b></td>
<td width="144"><input type="text" name="user" maxlength="40" />
</td>
</tr>
<tr>
<td><b>Password</b></td>
<td><strong>:</strong></td>
<td><input type="password" name="password" maxlength="40" />
</td>
</tr>
<tr>
<td colspan="4">&nbsp;</td>
</tr>
<tr>
<td colspan="3">&nbsp;</td>
<td><input name="submit" type="submit" value="Login" />
<input name="reset" type="reset" value="Hapus" />
</td>
</tr>
</table>
<p>&nbsp;</p>
</form>
</div>
</div>
</body>
</html>

Universitas Sumatera Utara