• Tidak ada hasil yang ditemukan

Implementasi Algoritma Floyd Warshall Dalam Menentukan Jarak Terpendek (Medan-Bandara Kuala Namu)

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi Algoritma Floyd Warshall Dalam Menentukan Jarak Terpendek (Medan-Bandara Kuala Namu)"

Copied!
76
0
0

Teks penuh

(1)

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

(2)

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

(3)

ii

PERSETUJUAN

Judul : IMPLEMENTASI ALGORITMA FLOYDWARSHALL

DALAM MENENTUKAN JARAK TERPENDEK (MEDAN - BANDARA KUALA NAMU)

Kategori : 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. Dian Rachmawati, S.Si, M.Kom

NIP.196711101996021001 NIP. 198307232009122004

Diketahui/disetujui oleh

Program Studi Ekstensi S1 Ilmu Komputer Ketua,

(4)

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

(5)

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

(6)

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, September 2015 Penulis

(7)

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.

(8)

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.

(9)

viii

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 4

1.6 Metode Penelitian 4

1.7 Sistematika Penulisan 5

Bab 2 Landasan Teori 7

2.1 Graph 7

2.1.1 Macam – macam Graph Menurut Arah dan Bobotnya 8

2.2 Lintasan Terpendek (Shortest Path) 11

2.3 Algoritma 11

2.3.1 Pegertian Algoritma 11

2.3.2 Algoritma Floyd Warshall 13

2.3.3 Analisis Algoritma Floyd Warshall 15

Bab 3 Analisis dan Perancangan Sistem 17

3.1 Analisis Sistem 17

3.1.1 Analisis Masalah 17

3.1.2 Analisis Persyaratan 19

3.2 Pemodelan Aplikasi 20

3.2.1 Use-Case Diagram 20

3.2.2 Activity Diagram 21

3.2.3 Sequence Diagram 23

3.3 Flowchart 24

3.4 Perancangan Interface 25

3.5 Database 26

3.6 Entity Relationship Diagram (ERD) 28

Bab 4 Implementasi Dan Pengujian Sistem 29

4.1 Implementasi Sistem 29

4.1.1 Tampilan Halaman Utama 29

4.1.2 Tampilan Menu Floyd 30

(10)

4.3.3 Iterasi Ke Tiga 34

Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 49

5.2 Saran 50

DAFTAR PUSTAKA

LAMPIRAN A [KODE PROGRAM]

(11)

x

DAFTAR TABEL

Halaman

Tabel 3.1 Tabel tbljarak 26

Tabel 3.2 Tabel tbljlhpengguna 26

Tabel 3.3 Tabel tblpengunjung 27

Tabel 3.4 Tabel tblmap 27

Tabel 3.5 Tabel tblnode 27

(12)

Gambar 2.2 Graph Berarah dan Berbobot 8

Gambar 2.3 Graph Tidak Berarah dan Berbobot 9

Gambar 2.4 Graph Berarah dan Tidak Berbobot 9

Gambar 2.5 Graph Tidak Berarah dan Tidak Berbobot 10

Gambar 2.6 Graph Sederhana 10

Gambar 2.7 Graph Tidak Sederhana 10

Gambar 3.1 Ishikawa Diagram 18

Gambar 3.2 Use Case Sistem Penentuan Jalur Terpendek Menuju KNIA 20 Gambar 3.3 Activity Diagram Algoritma Floyd Warshall 22

Gambar 3.4 Sequence Diagram 23

Gambar 3.5 Diagram Alur Algoritma Floyd Warshall 24

Gambar 3.6 Perancangan Interface 25

Gambar 3.7 Entity Relationship Diagram (ERD) 28

Gambar 4.1 Tampilan Halaman Utama 29

Gambar 4.2 Tampilan Menu Floyd 30

Gambar 4.3 Tampilan Login Admin 30

Gambar 4.4 Tampilan Data Lokasi 31

(13)

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.

(14)

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.

(15)

BAB 1

PENDAHULUAN

1.1Latar 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

(16)

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.2Rumusan 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.3Batasan 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.

(17)

3

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.4Tujuan Penelitian

1. Membangun suatu aplikasi yang dapat membantu menentukan jarak terpendek (shortest part) dalam menuju bandar udara Kuala Namu.

(18)

1.5Manfaat 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.6Metode 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

(19)

5

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

(20)

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

(21)

BAB 2

LANDASAN TEORI

2.1Graph

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.

(22)

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

e4 v2

v

e5 e

3

e1

e2

(23)

9

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.

(24)

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

(25)

11

2.2Lintasan 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.3Algoritma

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.

(26)

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

(27)

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.

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

(28)

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. adalah matriks ketetanggaan berbobot terpendek dengan sama dengan path terpendek dari titik ke (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.

(29)

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

(30)

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]).

(31)

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

(32)

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

Masalah pencarian rute terpendek untuk menuju

Bandara kuala Namu Masalah pencarian rute terpendek

untuk menuju

dari titik asal ke titik tujuan

Gambar 3.1 Ishikawa Diagram

(33)

19

3.1.2. Analisis persyaratan

Analisis persyaratan dibagi menjadi dua yaitu persyaratan fungsional dan non-fungsional.

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

(34)

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.

Input daerah asal

Evaluasi node demi node

Bandingkan semua rute yang dilalui

Floyd Warshall <<depends (on)>> Jarak terpendek

<<

(35)

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

(36)

System User

Input daerah asal Evaluasi node demi node

Bandingkan semua rute yang dilalui

Proses pencarian rute dengan menggunakan algoritma floyd warshall menuju KNIA Tampilkan jarak terpendek yang di lalui

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

(37)

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.

Start

User Interface Floyd Warshall Proses Lintasan

Proses Perhitungan Floyd Warshall

Bandingkan semua vertex yang terhubung

Tampil jalur terpendek ditemukan oleh Algoritma Floyd Warshall

(38)

3.3 Flowchart

Pengertian dari flowchart atau digram alir adalah sebuah diagram dengan simbol-simbol 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

Gambar 3.5 Diagram Alur Algoritma Floyd-Warshall

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

(39)

25

3.4 Perancangan Interface

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

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 untuk

menunjukkan rute / jalan menuju bandara KNIA Jumlah Pengunjung&

pengguna

: Database yang menampilkan jumlah pengunjung dan pengguna aplikasi ini

HEADER

GAMBAR PETA

PENCARIAN RUTE TERPENDEK MENGGUNKAN ALGORITMA FLOYD

(40)

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 Type Width Description

Id Int 11 No. urut (auto_increment, primary key) Waktu Datetime Waktu dalam mengakses aplikasi

(41)

27

3. Tabel tbljlhpengunjung

Tabel 3.3 Tabel tbljlhpengunjung Field

Name Type Width Description

Id Int 11 No. urut (auto_increment, primary key) Waktu Datetime Waktu dalam mengakses aplikasi

Ip varchar 30 IP

4. Tabel tblmap

Tabel 3.4 Tabel tblmap Field

Name Type Width Description

Awal 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

(42)

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

(43)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1Implementasi 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.

(44)

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.

(45)

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.2GraphYang Digunakan Untuk Menentukan Rute Terpendek

(46)

Keterangan gambar 4.5

FP : Focal Point : Jalan Arteri Ringroad, Medan, Sumatera Utara

PB : Pinang Baris : Jl. Pinang Baris, Selalas, Medan, Sumatera Utara

MP : Medan Plaza : Jl. Medan Sumatera Utara Jend. Gatot Subroto No. 30

SUN : SUN Plaza : Jl. H. Zianul Arifin No. 7 Medan Sumatera Utara

Hermes : Hermes Polonia : Jl. Medan Sumatera Utara Wolter Monginsidi No.45

Amplas : Terminal Amplas : JL. Menteng, No. 7 Medan Sumatera Utara

Palad :

Paladium

: Jl. Kapten Maulana Lubis No. 8 Petisah Tengah Medan Petisah Medan Sumatera Utara

CP : Centre Point : Jl. Timor Blok H No. 1, Medan, Sumatera Utara

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 :

(47)

33

4.3Perhitungan 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 0 4.4 ∞ 8 6.6 ∞ ∞ ∞ ∞ 12.1 ∞

PB ∞ 0 7.1 9.1 ∞ ∞ ∞ ∞ ∞ ∞ ∞

MP ∞ ∞ 0 2 ∞ 2.2 ∞ ∞ ∞ ∞ ∞

SUN ∞ ∞ ∞ 0 1.9 ∞ ∞ ∞ ∞ ∞ 27.5

HERMES ∞ ∞ ∞ ∞ 0 ∞ ∞ ∞ ∞ 8.6 29.4

PALAD ∞ ∞ ∞ 1 ∞ 0 2.1 2.3 ∞ ∞ 26.6

CP ∞ ∞ ∞ ∞ ∞ ∞ 0 1 ∞ ∞ ∞

TP ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 0.15 ∞ 25.4

MM ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 25.4

AMPLAS ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 27.7

KNIA ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0

(48)

4.3.2 Iterasi ke dua

Tabel 4.2 Perhitungan Algoritma Floyd Iterasi Ke Dua

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

(49)

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]= ∞

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

Pada tabel 4.4Iterasi ke empat dilakukan dengan cara yang sama seperti iterasi ke tiga hanya saja perantaranya adalah titik MP.

(50)

[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

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

(51)

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

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

(52)

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

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 < ∞

(53)

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 tujuh hanya saja perantaranya adalah titik CP

Pada titik [FP, TP]= 16

[FP,TP] > [FP,CP]+ [CP, TP]

(54)

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

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 < ∞

(55)

41

4.3.10 Iterasi ke sepuluh

Tabel 4.10 Perhitungan Algoritma Floyd Iterasi Ke Sepuluh Ke

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.

(56)

4.3.11 Iterasi ke sebelas

Tabel 4.11 Perhitungan Algoritma Floyd Iterasi Ke Sebelas Ke

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.

(57)

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 0 4.4 11.5 8 6.6 13.7 15.8 16 16.15 12.1 35.5

PB ∞ 0 7.1 9.1 11 9.3 11.4 11.6 11.75 19.6 35.9

MP ∞ ∞ 0 2 3.9 2.2 4.3 4.5 4.65 12.5 28.8

SUN ∞ ∞ ∞ 0 1.9 ∞ ∞ ∞ ∞ 10.5 27.5

HERMES ∞ ∞ ∞ ∞ 0 ∞ ∞ ∞ ∞ 8.6 29.4

PALAD ∞ ∞ ∞ 1 2.9 0 2.1 2.3 2.45 11.5 26.6

CP ∞ ∞ ∞ ∞ ∞ ∞ 0 1 1.15 ∞ 26.4

TP ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 0.15 ∞ 25.4

MM ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 25.4

AMPLAS ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 27.7

KNIA ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0

(58)

4.4Pengujian Sistem 4.4.1 Focal Point – KNIA

Gambar 4.6 Tampilan Rute Focal Point – KNIA

4.4.2 Pinang Baris – KNIA

(59)

45

4.4.3 Medan Plaza – KNIA

Gambar 4.8 Tampilan Rute Medan Plaza – KNIA

4.4.4 SUN Plaza – KNIA

(60)

4.4.5 Hermes Place Polonia – KNIA

Gambar 4.10 Tampilan Rute Hermes Polonia – KNIA

4.4.6 Amplas – KNIA

(61)

47

4.4.7 Paladium – KNIA

Gambar 4.12 Tampilan Rute Padalium – KNIA

4.4.8 Centre Point - KNIA

(62)

4.4.9 Thamrin Plaza – KNIA

Gambar 4.14 Tampilan Rute Thamrin Plaza – KNIA 4.4.10 Medan Mall – KNIA

(63)

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.

(64)

5.2Saran

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

(65)

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), Bellman-Ford(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.

(66)

[11] Siang,Jungjenk. 2009. Matematika Diskrit Dan Aplikasinya Pada Ilmu Komputer. Yogykarta: Andi Offset.

[12] Sitanggang, Sondang. 2011. Perbandingan Algoritma Dijkstra dan Floyd-Warshall Dalam Mencari Rute Terpendek Jaringan Jalan.Skripsi: Universitas Sumatera Utara.

[13] Suarga., 2012. Algoitma Dan Pemrograman.Yogyakarta Penerbit Andi.

(67)

LISTING PROGRAM

$queryzx="select * from tbljarak where awal ='$zx' and jarak>0"; $query=mysql_query($queryzx);

(68)

$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']; $njalurterpendek = $nilaix; }

//echo "</br>(".$alokasix.") --->".$nilaix."Km</br>"; }

<!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]-->

(69)

55

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});

(70)

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++) {

directionsService.route(request, function(response, status) { if (status == google.maps.DirectionsStatus.OK) {

directionsDisplay.setDirections(response);

(71)

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

<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'");

$hps = mysql_query("delete from tblmap"); for ($i = 0; $i < $jlh; $i++) {

// echo "kode: $pecah[$i] <br>";

(72)

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

$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>";

$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)){

(73)

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)){

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

(74)

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()); ?>

<div id="background" ><div id="top-header">

<div id="bg-header" style="background-image: url(images/header-world-map.jpg)"><div id="header" align="center"><div class="digitcal"></div> </div></div>

(75)

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>

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

(76)

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

<td><input name="submit" type="submit" value="Login" /> <input name="reset" type="reset" value="Hapus" />

Gambar

Gambar 3.1 Ishikawa Diagram
Gambar 3.3 Activity  Diagram Algoritma Floyd Warshall
Gambar 3.4  Sequence Diagram
Gambar 3.5 Diagram Alur Algoritma Floyd-Warshall
+7

Referensi

Dokumen terkait

Di wilayah selatan Kabupaten Halmahera Utara, tepatnya pada lokasi izin usaha pertambangan mineral emas terdapat spesies endemik Burung Bidadari dan burung Kakatua Putih

Buatlah object Box, kita bisa memasukkan sembarang object karena parameter pada method add adalah Class Object, tapi pada saat mengambil object tersebut harus.. diubah sesuai

24 bulan untuk melakukan proses pengobatan. b) Perilaku mengabaikan perintah petugas kesehatan seperti. kebiasaan merokok dan memberhentikan

Deteks i api berbas is video ada banyak metode yang dipakai, namun dari metode-metode ters ebut yang memiliki akuras i yang baik dan kons is ten s ecara logis

Patient Monitor adalah alat yang digunakan untuk memantau kondisi berbagai kondisi sinyal tubuh pada pasien, di dalam Patient Monitor terdapat suatu parameter yaitu SPO2 dan BPM

yang memiliki anak dengan gangguan specific phobia terhadap nasi, agar dapat. menyadari dan memahami sedini mungkin gangguan yang

bahan) adalah untuk totap nonjanin rasa hornat, patuh dari anal; anckat itu kopada Janda sobagai salah oatu oranc tua aivjkatnya yanc nasih hidup; dan pada anhk anckat itu sondi­

Kesimpulan: Berdasarkan penelitian yang dilakukan oleh peneliti, maka dapat disimpulkan bahwa murid yang menggunakan pasta gigi yang mengandung deterjen dapat