SKRIPSI
ii
PERSETUJUAN
Judul
Kategori
Nama
Fakultas
Komisi Pembimbing
Pembimbing II
Pembimbing I
Diketahui/disetujui oleh
Program Studi Ekstensi S1 Ilmu Komputer
Ketua,
iii
PERNYATAAN
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan,
September 2015
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.
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.
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.
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
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.
vii
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
7
7
8
11
11
11
13
15
17
17
17
19
20
20
21
23
24
25
26
28
29
29
29
30
30
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]
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
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
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.
vii
BAB 1
PENDAHULUAN
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.
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.
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.
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
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.
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.
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 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.)
e4
v2
e1
e5
v4
e2
e3
v3
2. Pada gambar 2.3 menjelaskan Graph tidak berarah dan berbobot: setiap edges
tidak mempunyai arah tetapi mempunyai bobot.
3. Pada gambar 2.4 menjelaskan Graph berarah (digraph) dan tidak berbobot: setiap
edges mempunyai arah tetapi tidak mempunyai bobot.
10
4. Pada gambar 2.5 menjelaskan Graph tidak berarah dan tidak berbobot: setiap
edges tidak mempunyai arah dan tidak mempunyai bobot
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).
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).
b. MultipleGraph
11
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.
12
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).
13
Harga perangkat keras saat ini cenderung menurun.Maka efisiensi waktu lebih
diutamakan daripada efisiensi memori. Hal-hal
2.3.2
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 :
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).
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).
adalah matriks
(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.
15
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.
16
BAB 3
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
Masalah
Masalahpencarian
pencarianrute
ruteterpendek
terpendek
untuk
untukmenuju
menuju
Bandara
Bandarakuala
kualaNamu
Namu
Program
Shortest path
Machine
Machine
People
People
19
a.
Fungsional
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
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
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
>>
<<
i cl u
<<depends (on)>>
de
>>
Jarak terpendek
<<
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
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.
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)
22
User
System
Proses pencarian rute dengan menggunakan algoritma floyd warshall menuju KNIA
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.
23
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
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
Start
end
25
HEADER
HOME
FLOYD
DATA
LOKASI
1
2
CONTACT
US
JUMLAH PENGUNJUNG
GAMBAR PETA
JUMLAH PENGGUNA
3
3
PROSES
Menu
Peta
untuk
26
Daerah asal
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
Waktu
Datetime
Ip
varchar
IP
27
3. Tabel tbljlhpengunjung
Tabel 3.3 Tabel tbljlhpengunjung
Field
Name
Id
Type
Width
Description
Int
11
Waktu
Datetime
Ip
varchar
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
koor2
Varchar
30
ket
Varchar
150
Nama tempat
28
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
BAB 4
4.1.1
Tampilan ini merupakan tampilan yang pertama kali muncul pada saat aplikasi
dijalankan.
30
4.1.3
31
Gambar 4.5 Graph yang digunakan untuk menghitung jarak terpendek menuju
KNIA
32
PB
MP
SUN
Hermes
Amplas
Pinang Baris
Medan Plaza
SUN Plaza
Hermes Polonia
: Jl.
Wolter
Monginsidi
Medan Sumatera Utara
No.
30
No.45
: Terminal Amplas
:
Paladium
Centre Point
Palad
CP
Focal Point
TP
: Thamrin Plaza
MM
: Medan Mall
KNIA
: Kuala
Namu :
Internasional Airport
Kualanamu,
33
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.
34
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]
FP PB MP
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
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
FP PB MP
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]=
27.5
29.4
26.6
25.4
25.4
27.7
0
36
FP PB MP
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
35.5
36.6
29.5
27.5
29.4
26.6
25.4
25.4
27.7
0
37
hasil
penjumlahan
dari
FP PB MP
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]
38
FP PB MP
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]=
39
FP PB MP
0
tabel
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
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
40
Perhitungan dilakukan seteruskan dengan cara yang sama sampai semua node
memiliki jumlah node yang paling kecil dari titik perantara CP
FP PB MP
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.
35.5
35.9
28.8
27.5
29.4
26.6
26.4
25.4
25.4
27.7
0
41
FP PB MP
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]+
35.5
35.9
28.8
27.5
29.4
26.6
26.4
25.4
25.4
27.7
0
42
FP PB MP
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]+
35.5
35.9
28.8
27.5
29.4
26.6
26.4
25.4
25.4
27.7
0
43
FP PB MP
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.
35.5
35.9
28.8
27.5
29.4
26.6
26.4
25.4
25.4
27.7
0
44
45
4.4.4
46
4.4.6
Amplas KNIA
47
48
BAB 5
5.1 Kesimpulan
1. Lintasan Terpendek yang didapat adalah lintasan antar vertex dan hasilnya
digambarkan
dalam
bentuk
garis
lintasan
yang
berwarna
biru
yang
Algoritma Floyd Warshall merupakan metode yang tepat untuk pencarian jalur
terpendek pada aplikasi ini.
3.
4.
50
5.2 Saran
Adapun saran yang diberikan penulis untuk pengembangan dan perbaikan pada sistem
ini selanjutnya adalah sebagai berikut :
1.
2.
3.
4.
Pada penelitian yang lebih lanjut sebaiknya aplikasi ini dapat diterapkan berbasis
android
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
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
[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.
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);
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">
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});
function calcRoute() {
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>
57
58
</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>";
59
}
$query = mysql_query("select count(*) as jlh from
tbljlhpengguna");
while($lihat=mysql_fetch_array($query)){
echo "<h4>Jumlah Pengguna :
".$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>
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">
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">
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"> </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"> </td>
</tr>
<tr>
<td colspan="3"> </td>
<td><input name="submit" type="submit" value="Login" />
<input name="reset" type="reset" value="Hapus" />
</td>
</tr>
</table>
<p> </p>
</form>
</div>
</div>
</body>
</html>