• Tidak ada hasil yang ditemukan

PERBANDINGAN ALGORITMA FLOYD-WARSHALL DAN BELLMAN- FORD DALAM PENCARIAN JARAK TERPENDEK ANTAR ATM DI KOTA TEBING TINGGI SKRIPSI

N/A
N/A
Protected

Academic year: 2022

Membagikan "PERBANDINGAN ALGORITMA FLOYD-WARSHALL DAN BELLMAN- FORD DALAM PENCARIAN JARAK TERPENDEK ANTAR ATM DI KOTA TEBING TINGGI SKRIPSI"

Copied!
110
0
0

Teks penuh

(1)

PERBANDINGANALGORITMAFLOYD-WARSHALLDAN BELLMAN-FORDDALAMPENCARIANJARAK

TERPENDEK ANTARATMDIKOTA TEBINGTINGGI

SKRIPSI

SASTI LESTARI 131401044

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(2)

PERBANDINGAN ALGORITMA FLOYD-WARSHALL DAN BELLMAN-FORD DALAM PENCARIAN JARAK

TERPENDEK ANTAR ATM

DI KOTA TEBING TINGGI

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

SASTI LESTARI 131401044

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2018

Universitas Sumatera Utara

(3)

PERSETUJUAN

Judul : PERBANDINGAN ALGORITMA FLOYD- WARSHALL DAN BELLMAN-FORD DALAM PENCARIAN JARAK TERPENDEK ANTAR ATM DI KOTA TEBING TINGGI

Kategori : SKRIPSI

Nama : SASTI LESTARI

Nomor Induk Mahasiswa : 131401044

Program Studi : SARJANA(S1) ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Dosen Pembimbing II Dosen Pembimbing I

Herriyance,S.T.,M.Kom Dr. Poltak Sihombing, M.Kom

NIP. 198010242010121002 NIP. 196203171991031001

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001

(4)

iii

PERNYATAAN

PERBANDINGANALGORITMAFLOYD-WARSHALLDANBELLMAN-FORD

DALAMPENCARIANJARAKTERPENDEKANTARATM DIKOTATEBINGTINGGI

SKRIPSI

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

Medan, Januari 2018

Sasti Lestari 131401044

Universitas Sumatera Utara

(5)

PENGHARGAAN

Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah- Nya, sehingga Penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar–besarnya kepada :

1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Opim Salim Sitompul, M.Sc., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembimbing I yang telah memberikan saran, bimbingan serta masukan kepada penulis dalam pengerjaan skripsi ini.

4. Bapak Herriyance,S.T.,M.Kom selaku Dosen Pembimbing II yang telah memberikan memberikan saran, bimbingan serta masukan kepada penulis dalam pengerjaan skripsi ini.

5. Seluruh dosen dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi USU, terkhususnya di Program Studi S1 Ilmu Komputer.

6. Teristimewa kedua orang tua Mamak dan Bapak, abangku Lestio Hadi yang saat ini juga sedang menyusun skripsi, Wawak, serta saudara lainnya yang begitu memberikan semangat yang luar biasa kepada penulis dalam pengerjaan skripsi ini.

7. Kepada teman-teman masa kecil Nela, Kapti, Lisa, Sinta, Ulan yang selalu memberikan dukungan kepada penulis dan menjadi teman berbagi pengalaman suka dan duka.

(6)

v

8. Kepada sahabat SMA Ade Lihu dan Juliani terimakasih telah berbagi hal-hal menakjubkan selama kita SMA sampai sekarang.

9. Kepada teman-temanku tercinta Dessy Y, Resti, Ani, Fauza, Nikmah, Dian Dwi Prayoga, Hasna, Ika, Purnama yang telah menjadi teman diskusi penulis dan senantiasa memberikan semangat.

10. Kepada Kak Ika Chan yang memberikan dukungan luar biasa kepada penulis selama ini.

11. Kepada Anggota Kos Dadakan Kak Hani, Kak Siska, Jannah, dan Novi yang telah memberikan dukungan kepada penulis.

12. Kepada Semua Murobbi Penulis dan juga teman-teman Liqo yang memberikan dukungan moril yang luar biasa kepada penulis.

13. Teman-teman Kom B 2013, serta teman-teman stambuk 2013 atas doa dan dukunganya sehingga penulis dapat menyelesaikan skripsi ini.

14. Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan satu- persatu.

Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan berkat yang melimpah dari Allah SWT.

Medan, 24 Januari 2018 Penulis

Sasti Lestari

Universitas Sumatera Utara

(7)

ABSTRAK

Perkembangan teknologi yang semakin pesat memungkinkan segala aktivitas dalam kehidupan sehari- hari semakin dimudahkan. Penggunaan ATM sangat membantu dalam melaksanakan segala transaksi baik itu menabung, melakukan pembayaran dan sebagainya. Transaksi yang dilakukan terkadang menggunakan uang dalam jumlah yang besar. Dengan adanya ATM, transaksi tersebut pastilah semakin dimudahkan.

Pencarian jarak terpendek dimaksudkan untuk menghemat waktu pengguna, apalagi jika pengguna memerlukan ATM terdekat ketika ingin melakukan transaksi yang mendesak. Persoalan lintasan terpendek merupakan suatu persoalan untuk mencari lintasan antara dua buah titik pada graph berbobot yang memiliki gabungan nilai jumlah bobot pada sisi graph yang dilalui dengan jumlah yang paling minimum.

Pencarian jarak terpendek dapat dilakukan dengan menggunakan beberapa Algoritma seperti Algoritma Floyd-Warshall dan Algoritma Bellman-Ford. 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. Sedangkan Algoritma Bellman-Ford merupakan salah satu algoritma yang menangani kasus pencarian lintasan dengan bobot terkecil. Pada algoritma Bellman-Ford ketika tidak ditemukan lintasan yang menghubungkan antara titik awal ke titik tujuan, maka bobot yang dihasilkan berupa infinity. Impelementasi sistem menggunakan bahasa Pemograman C#, dan dari penelitian pada sistem yang dibangun Algoritma Floyd-Warshall dan Bellman-Ford menghasilkan total jarak yang sama, serta dari sisi running time algoritma Floyd- Warshall lebih cepat dari pada algoritma Bellman-Ford.

Kata kunci : ATM, Shortest path, Graph, Algoritma Floyd-Warshall, Algoritma Bellman-Ford

(8)

vii

THE ALGORITHM COMPARISIONS BETWEEN FLOYD-WARSHALL AND BELLMAN-FORD FOR SHORTEST DISTANCE SEARCHING

INTER-ATMs IN TEBING TINGGI

ABSTRACT

The rapid development of technology enables all daily activities facilitated well. The using of ATM helps people to carry out all transactions whether for saving, making payments and others. Sometimes, the transactions conducted big amounts of money and the presence of the ATM will surely make them easier. The shortest distance searching is intended to help the user for saving time, especially if they need the nearest ATM to make some urgent transactions. The shortest trajectory issue is for finding paths between two points on a weighted graph that have combined weighted value on the graph's side that passed by the minimum number. The shortest distance searching can be done by using several algorithms such as Floyd-Warshall and Bellman-Ford Algorithms. Floyd-Warshall algorithm is one of the variants of dynamic programming, a method that solves problems by looking at the solutions to be obtained as an interrelated decision. While the Bellman-Ford Algorithm handles the searching of trajectory case with the smallest quality. In the Bellman-Ford Algorithm If there is no trajectory that connects origin dot and target dot, the result is infinity.

The system implementation used C# as programming language, then the results of this research on Floyd-Warshall and Bellman-Ford Algorithms has produced the same total distance, and from the running time algorithm Floyd-Warshall was faster than the Bellman-Ford algorithm.

Keywords : ATM, Shortest path, Graph, Floyd-Warshall Algorithm, Bellman-Ford Algorithm.

Universitas Sumatera Utara

(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel x

Daftar Gambar xii

Daftar Lampiran xiii

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Ruang Lingkup Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 3

1.7 Sistematika Penulisan 5

Bab 2 Landasan Teori

2.1 Algoritma 7

2.2 Pengertian Shortest Path (Jarak Terpendek) 8

2.3 Teori Dasar Graph 9

2.3.1 Jenis- Jenis Graph 9

2.3.2 Graph Berbobot (Weighted Graph) 11

2.4 Algoritma Floyd-Warshall 12

2.5 Algoritma Bellman-Ford 13

Bab 3 Analisis dan Perancangan Sistem

3.1 Analisis Sistem 14

3.1.1 Analisis Masalah 14

3.1.2 Analisis Kebutuhan Sistem 15

3.1.2.1 Kebutuhan Fungsional 15

3.1.2.2 Kebutuhan Non-Fungsional 16

3.1.3 Flowchart 16

3.1.3.1 Flowchart Sistem 17

3.1.3.2 Flowchart Algoritma Floyd-Warshall 18 3.1.3.3 Flowchart Algoritma Bellman-Ford 19

(10)

ix

3.2 Pemodelan 20

3.2.1 Use Case Diagram 20

3.2.2 Activity Diagram 21

3.2.2.1 Activity Diagram Algoritma Floyd-Warshall 21

3.2.2.2 Activity Diagram Algoritma Bellman-Ford 22

3.2.3 Sequence Diagram 23

3.3 Perancangan Antarmuka (Interface) 23

3.3.1 Halaman Menu Beranda 24

3.3.2 Halaman Menu Pencarian ATM 25

3.3.3 Halaman Menu Bantuan 27

3.3.4 Halaman Sub Menu Sekilas Info 28

3.3.5 Halaman Menu Profil Perancang 29

Bab 4 Implementasi dan Pengujian

4.1 Implementasi 31

4.1.1 Menu Beranda 31

4.1.2 Menu Pencarian ATM 32

4.1.3 Sub Menu Sekilas Info 33

4.1.4 Sub Menu Petunjuk Penggunaan Sistem 34

4.1.5 Sub Menu Profil Perancang 34

4.2 Pengujian 35

4.2.1 Pengujian Proses Implementasi 35

4.2.2 Pengujian Proses Algoritma Floyd-Warshall 36 4.2.2.1 Perhitungan Manual Algortima Floyd-Warshall 36 4.2.3 Pengujian Proses Algoritma Bellman-Ford 67 4.2.3.1 Perhitungan Manual Bellman-Ford 67

4.3 Kompleksitas 82

4.3.1 Kompleksitas Algoritma Floyd-Warshall 82 4.3.2 Kompleksitas Algoritma Bellman-Ford 83

4.4 Real Running-Time 85

4.4.1 Real Running Algoritma Floyd-Warshall 85 4.4.2 Real Running Algoritma Bellman-Ford 87 Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 89

5.2. Saran 89

Daftar Pustaka 90

Lampiran

Universitas Sumatera Utara

(11)

DAFTAR TABEL

Halaman Tabel 3.1 Keterangan Gambar Rancangan Antarmuka Halaman Menu Beranda 25 Tabel 3.2 Keterangan Gambar Rancangan Antarmuka Halaman Menu Pencarian

ATM 26

Tabel 3.3 Keterangan Gambar Rancangan Antarmuka Halaman Menu Bantuan

dan Sub Menu Petunjuk Penggunaan Sistem 28 Tabel 3.4 Keterangan Gambar Rancangan Antarmuka Halaman Menu Sekilas Info 29 Tabel 3.5 Keterangan Gambar Rancangan Antarmuka Halaman Menu Profil

Perancang 30

Tabel 4.1 Kode Node ATM 37

Tabel 4.2 Inisialisasi Matriks 38

Tabel 4.3 Proses Perhitungan Matriks R0 39

Tabel 4.4 Matriks R0 43

Tabel 4.5 Proses Perhitungan Matriks R1 43

Tabel 4.6 Matriks R1 47

Tabel 4.7 Proses Perhitungan Matriks R2 47

Tabel 4.8 Matriks R2 51

Tabel 4.9 Proses Perhitungan Matriks R3 51

Tabel 4.10 Matriks R3 55

Tabel 4.11 Matriks R4 55

Tabel 4.12 Matriks R5 56

Tabel 4.13 Matriks R6 56

Tabel 4.14 Matriks R7 57

Tabel 4.15 Matriks R8 57

Tabel 4.16 Matriks R9 58

Tabel 4.17 Matriks R10 58

Tabel 4.18 Matriks R11 59

Tabel 4.19 Matriks R12 59

Tabel 4.20 Matriks R13 60

Tabel 4.21 Matriks R14 60

Tabel 4.22 Matriks R15 61

Tabel 4.23 Matriks R16 61

Tabel 4.24 Matriks R17 62

Tabel 4.25 Matriks R18 62

Tabel 4.26 Matriks R19 63

Tabel 4.27 Matriks R20 63

Tabel 4.28 Matriks R21 64

Tabel 4.29 Matriks R22 64

Tabel 4.30 Matriks R23 65

Tabel 4.31 Matriks R24 65

Tabel 4.32 Jarak dari vertex awal ke vertex tujuan 67

Tabel 4.33 Kompleksitas Algoritma Floyd-Warshall 82

Tabel 4.34 Kompleksitas Algoritma Bellman-Ford 83

(12)

xi

Tabel 4.35 Hasil Pengujian Running Time Algoritma Floyd-Warshall 85 Tabel 4.36 Hasil Pengujian Running Time Algoritma Bellman-Ford 87 Tabel 4.37 Hasil Execution Time Algoritma Floyd-Warshall dan Bellman-Ford 88

Universitas Sumatera Utara

(13)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Shortest Path 8

Gambar 2.2 Graph Sederhana 9

Gambar 2.3 (a) Multigraph, dan (b) Graph Semu 10

Gambar 2.4 Gambar Tidak Berarah 10

Gambar 2.5 Graph Berarah 11

Gambar 2.6 Graph Berbobot 11

Gambar 3.1 Diagram Ishikawa 15

Gambar 3.2 Flowchart Sistem 17

Gambar 3.3 Flowchart Algoritma Floyd-Warshall 18

Gambar 3.4 Flowchart Algoritma Bellman-Ford 19

Gambar 3.5 Use Case Diagram 20

Gambar 3.6 Acitivity Diagram Cara Kerja Sistem dengan Algoritma

Floyd-Warshall 21

Gambar 3.7 Activity Diagram Cara Kerja Sistem dengan Algoritma Bellman-Ford 22

Gambar 3.8 Sequence Diagram Sistem 23

Gambar 3.9 Rancangan Antarmuka Halaman Menu Beranda 24 Gambar 3.10 Rancangan Antarmuka Halaman Menu Pencarian ATM 26 Gambar 3.11 Rancangan Antarmuka Halaman Menu Bantuan dan Sub Menu

Petunjuk Penggunaan Sistem 27

Gambar 3.12 Rancangan Antarmuka Halaman Menu Sekilas Info 28 Gambar 3.13 Rancangan Antarmuka Halaman Sub Menu Profil Perancang 29

Gambar 4.1 Menu Beranda 31

Gambar 4.2 Menu Pencarian ATM 32

Gambar 4.3 Graph 33

Gambar 4.4 Sub Menu Sekilas Info 33

Gambar 4.5 Sub Menu Petunjuk Penggunaan Sistem 34

Gambar 4.6 Sub Menu Profil Perancang 34

Gambar 4.7 Proses Pengujian Implementasi 35

Gambar 4.8 Hasil Pengujian Menggunakan Algoritma Floyd-Warshall 36

Gambar 4.9 Graph ATM Algoritma Floyd-Warshall 37

Gambar 4.10 Hasil Pengujian Menggunakan Algoritma Bellman-Ford 66 Gambar 4.11 Graph perhitungan Algoritma Bellman-Ford 67

Gambar 4.12 Graph Penentuan vertex Asal 71

Gambar 4.13 Perhitungan Graph dari vertex BNI 1 72

Gambar 4.14 Perhitungan Graph dari vertex BRI 4 73

Gambar 4.15 Perhitungan Graph dari vertex BRI 1 75

Gambar 4.16 Perhitungan Graph dari vertex BNI 6 76

Gambar 4.17 Perhitungan Graph dari vertex BNI 4 77

Gambar 4.18 Perhitungan Graph dari vertex BNI 3 78

Gambar 4.19 Perhitungan Graph dari vertex MANDIRI 2 79

Gambar 4.20 Perhitungan Graph dari vertex BNI 11 80

Gambar 4.21 Perhitungan Graph dari vertex BTN 1 81

(14)

xiii

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Listing Program A-1

Lampiran 2 Curriculum Vitae B-1

Universitas Sumatera Utara

(15)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi yang semakin pesat memungkinkan segala aktivitas dalam kehidupan sehari - hari semakin dimudahkan. Berbagai aplikasi semakin terus dikembangkan mengingat kebutuhan masyarakat yang ingin dimudahkan dalam berbagai kegiatan. Contohnya adalah pengambilan uang yang dimudahkan dengan menggunakan kartu ATM menjadi daya tarik tersendiri bagi nasabah. Kualitas pelayanan tercermin dari kepuasan konsumen untuk melakukan pengguanaan ulang jasa (Hidayat, 2009).

Di sisi lain penggunaan ATM membantu dalam melaksanakan segala transaksi baik itu menabung, melakukan pembayaran dan sebagainya. Transaksi yang dilakukan terkadang menggunakan uang dalam jumlah yang besar. Dengan adanya ATM transaksi tersebut pastilah semakin dimudahkan. Pencarian jarak terpendek dimaksudkan untuk menghemat waktu pengguna, apalagi jika pengguna memerlukan ATM terdekat ketika ingin melakukan transaksi yang mendesak.

Persoalan lintasan terpendek (the shortest path problem) merupakan suatu persoalan untuk mencari lintasan antara dua buah node berbobot yang memiliki total jumlah bobot pada sisi graph yang dilalui dengan total jumlah yang paling minimum.(

Kriswanto, et al. 2014). Pencarian jarak terpendek dapat dilakukan dengan menggunakan beberapa Algoritma seperti Algoritma Floyd-Warshall dan Algoritma Bellman-Ford. Algoritma Floyd-Warshall merupakan salah satu contoh dari pemograman dinamis (Popa & Popescu, 2016). Pada algoritma Floyd-Warshall solusi yang terbentuk merupakan hasil dari tahap sebelumnya dan memungkinkan solusi lebih dari satu (Kriswanto, et al. 2014).

(16)

2

Sedangkan Algoritma Bellman-Ford merupakan salah satu algoritma yang menangani kasus pencarian lintasan dengan bobot terkecil. Pada algoritma Bellman- Ford ketika tidak ditemukan lintasan yang menghubungkan antara titik awal ke titik tujuan, maka bobot yang dihasilkan berupa infinity (Utami, 2009). Berdasarkan Latar Belakang tersebut penulis tertarik untuk merancang suatu sistem penentuan rute terpendek antar ATM di Kota Tebing Tinggi.

1.2 Rumusan Masalah

Berdasarkan latar belakang diatas, maka rumusan masalah yang akan diteliti adalah : 1. Bagaimana cara kerja pencarian jarak terpendek menggunakan algoritma Floyd-

Warshall dan algoritma Bellman-Ford ?

2. Bagaimana perbandingan efisiensi algoritma Floyd-Warshall dan algoritma Bellman -Ford dalam lintasan terpendek (shortest path) dari sisi running time dan total jarak minimum yang dihasilkan ?

1.3 Ruang Lingkup Masalah

Ruang Lingkup Masalah dalam skripsi ini sebagai berikut:

1. Objek pada penelitian ini adalah : ATM BUMN, yaitu ATM Mandiri ,BNI, BRI dan BTN dengan jumlah sebanyak 25 ATM.

2. Variable yang digunakan adalah U (sumber), V ( tujuan), dan bobot jarak.

3. Jalur yang ditempuh hanya jalan utama Kota Tebing Tinggi.

4. Perhitungan dilakukan dengan membandingkan Running time dan kompleksitas Big Ɵ (theta) dengan satuan waktu yang digunakan adalah Milisekon serta dibandingkan hasil (Result) masing-masing algoritma Floyd Warshall dan algoritma Bellman-Ford.

5. Tidak membahas waktu dan kecepatan kendaraan serta keadaan lalu lintas dari tempat asal ketempat tujuan.

6. Yang diteliti ialah sebuah graph berarah terhubung (directed connected graph) dengan menggunakan vertex yang telah ditentukan.

7. Aplikasi ini menggunakan data titik awal yang diinginkan dan posisi ATM yang sudah ditentukan.

Universitas Sumatera Utara

(17)

8. Pengambilan data bobot jarak antara vertex dan edge pada graph yang merepresentasikan jarak antar ATM BUMN menggunakan bantuan dari Google Maps versi 2017

9. Aplikasi ini offline dan dirancang dengan menggunakan bahasa pemrograman C#

1.4 Tujuan Penelitian Tujuan Penelitian ini adalah:

1. Menerapkan algoritma Floyd-Warshall dan algoritma Bellman-Ford dalam pencarian jarak terpendek antar ATM di Kota Tebing Tinggi.

2. Membandingkan algoritma Floyd-Warshall dan algoritma Bellman-Ford untuk mendapatkan jalur terpendek yang paling efektif antar ATM di Kota Tebing Tinggi.

1.5 Manfaat Penelitian

Manfaat yang dihasilkan dari penelitian ini yaitu :

 Membantu masyarakat dalam pencarian ATM terdekat.

 Sebagai bahan rujukan atau refrensi bagi penulis lain.

 Mengehemat waktu pengguna yang ingin menemukan ATM terdekat.

1.6 Metode Penelitian

Tahapan yang dilakukan dalam penelitian ini adalah:

1. Studi Literatur

Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang diperlukan untuk penulisan skripsi ini. Referensi yang digunakan dapat berupa buku, jurnal, artikel, situs internet yang berkaitan dengan penelitian ini dengan beberapa topik seperti pengertian graf, jenis- jenis graf, pengertian algoritma, shortest path, algoritma Floyd-Warshall dan algoritma Bellman-Ford.

(18)

4

2. Pengumpulan dan Analisis Data

Pada tahap ini dilakukan pengumpulan dan analisa data yang berhubungan dengan penelitian ini seperti fungsi algoritma Floyd-Warshall dan algoritma Bellman-Ford dalam pencarian jarak terpdendek antar ATM di Kota Tebing Tinggi.

3. Perancangan Sistem

Merancang sistem sesuai dengan rencana yang telah ditentukan, yaitu meliputi perancangan desain awal seperti perancangan tampilan GUI (Graphic User Interface). Proses perancangan ini berdasarkan pada batasan masalah dari penelitian ini.

4. Implementasi Sistem

Pada tahap ini sistem telah selesai dikembangkan dengan algoritma Floyd Warshall dan algoritma Bellman-Ford dalam pencarian jarak terpendek antar ATM di Kota Tebing Tinggi ke dalam bentuk program.

5. Pengujian Sistem

Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah dikembangkan.

6. Dokumentasi Sistem

Melakukan pembuatan dokumentasi sistem mulai dari tahap awal hingga pengujian sistem, untuk selanjutnya dibuat dalam bentuk laporan penelitian (skripsi).

Universitas Sumatera Utara

(19)

1.7 Sistematika Penulisan

Agar pembahasan lebih sistematis, maka tulisan inidibuat dalam lima bab, yaitu:

BAB 1 PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang penelitian judul skripsi

“Perbandingan Algoritma Floyd-Warshall dan Bellman-Ford Dalam Pencarian Jarak Terpendek Antar ATM Di Kota Tebing Tinggi”. Rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, tinjauan pustaka dan sistematika penulisan skripsi.

BAB 2 LANDASAN TEORI

Bab ini membahas tentang teori-teori yang berhubungan dengan lintasan terpendek, teori graf, algoritma lintasan terpendek,running time dan sebagainya.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Berisi tentang uraian analisis mengenai proses kerja dari algoritma Floyd Warshall dan algoritma Bellman-Ford dalam pencarian jarak terpendek antar ATM di Kota Tebing Tinggi dan perbandingan dari kedua algoritma tersebut yang terdiri dari flowchart, Unified Modeling Language( UML) serta perancangan antarmuka pengguna.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Pada tahap ini dilakukan pembuatan sistem dan coding sesuai dengan analisis dan perancangan, kemudian melakukan pengujian sistem.

(20)

6

BAB 5 KESIMPULAN DAN SARAN

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

Universitas Sumatera Utara

(21)

BAB 2

LANDASAN TEORI

2.1 Algoritma

Abu Ja‟far Muhammad Ibnu Musa al-Khuwarizmi yang terkenal dengan bukunya yang berjudul kitab al jabar wal-muqabala, yang artinya “Buku Pemugaran dan pengurangan”(the book of restoration and reduction), merupakan nama yang menjadi asal dari kata algorism. Kata algorism mengalami perubahan menjadi algorithm dikarenakan kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma (Munir, 2007).

Terdapat beberapa definisi mengenai Algoritma diantaranya yaitu:

1. Menurut Kamus Besar Bahasa Indonesia (KBBI) terbitan Balai Pustaka (1988):

Algortima adalah urutan logis pengambilan putusan untuk pemecahan suatu masalah .

2. Algoritma adalah langkah-langkah dalam menyelesaikan masalah yang disusun secara logis dan sistematis (Munir, 2007).

Sedangkan Menurut Donal E. Knuth, sebuah algoritma harus memiliki lima ciri penting yaitu :

1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.

2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti dua (ambiguous).

3. Algoritma boleh memiliki input-an (masukan) atau tidak sama sekali. Masukan ialah besaran yang diberikan kepada algoritma untuk diproses.

(22)

8

4. Algoritma boleh memiliki output-an (keluaran) atau tidak sama sekali). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan.

5. Algoritma harus efektif. Artinya setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang logis(Munir,2007).

2.2 Pengertian Shortest Path (Jarak Terpendek )

Persoalan lintasan terpendek (the shortest path problem) merupakan suatu persoalan untuk mencari lintasan antara dua buah node berbobot yang memiliki total jumlah bobot pada sisi graph yang dilalui dengan total jumlah yang paling minimum.

(Kriswanto, et al. 2014).

Lintasan terpendek merupakan salah satu masalah yang dapat diselesaikan dengan menggunakan graph. Adapun graph yang digunakan dalam pencarian jarak terpendek adalah graph berbobot (weighted graph), yaitu graph yang setiap sisinya diberikan suatu nilai atau bobot.

Gambar 2.1 Shortest Path

Universitas Sumatera Utara

(23)

2.3 Teori Dasar Graph

Graph merupakan struktur diskrit yang terdiri dari himpunan objek-objek yang disebut simpul (vertices, vertex) dan himpunan sisi (edges) yang menghubungkan simpul-simpul tersebut. Subgraph adalah suatu graph yang merupakan bagian (subset) dari graph itu sendiri (Wirawan,2004). Dalam kehidupan sehari-hari graph digunakan untuk menggambarkan berbagai macam struktur yang ada. Tujuan dari visualisasi graph adalah agar penggambaran terhadap objek-objek dapat lebih mudah dimengerti (Siang,2004). Contoh dari graph sendiri dalam kehidupan sehari-hari antara lain:

bagan alir pengambian mata kuliah, peta, rangkaian listrik, dan lain-lain.

2.3.1 Jenis- Jenis Graph

Graph memiliki banyak jenis, berdasarkan ada tidaknya edge yang loop atau ganda pada suatu graph, maka secara umum graph dikelompokkan menjadi dua jenis :

1. Graph Sederhana (simple graph) adalah graph yang tidak memiliki bobot dan arah (Munir,2007). Pada graph sederhana, sisi adalah pasangan tak berurut (unordered pairs). Contoh graph sederhana dapat dilihat pada gambar 2.2.

Gambar 2.2 Graph Sederhana(Munir,2007).

(24)

10

2. Graph Tidak Sederhana ( Unsimple Graph ) adalah graph yang memiliki gelang atau sisi ganda. Graph tidak sederhana terbagi menjadi dua yaitu graph ganda (multigraph) dan graph semu (pseudograph). Graph ganda adalah graph yang memiliki sisi ganda dan sisi yang menghubungkan sepasang simpul bisa lebih dari dua buah. Graph semu adalah graph yang mengandung perulangan (Munir, 2007).

Contoh graph tidak sederhana dapat dilihat pada gambar 2.3.

( a ) (b)

Gambar 2.3 (a) Multigraph , (b)Graph Semu(Munir,2007).

Berdasarkan orientasi pada sisi, maka secara umum graph dibedakan menjadi dua jenis yaitu :

1. Graph tidak berarah (undirected graph) adalah graph yang sisinya (edge) tidak mempunyai arah. Pada graph ini, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan (Munir, 2007). Contoh graph tidak berarah dapat dilihat pada gambar 2.4.

2.

Gambar 2.4 Graph Tidak Berarah

Universitas Sumatera Utara

(25)

3. Graph berarah (directed graph atau digraph) adalah graph yang setiap sisinya (edge) diberikan arah. Pada graph berarah (u,v) dan (v,u) menyatakan dua buah sisi berarah (arc) yang berbeda, dengan kata lain (u,v) ≠ (v,u). Untuk sisi berarah (u,v), simpul u dinamakan simpul asal (initial vertex) dan simpul v dinamakan simpul terminal (terminal vertex) (Munir, 2007). Contoh graph berarah dapat dilihat pada gambar 2.5.

Gambar 2.5 Graph Berarah

2.3.2 Graph Berbobot (Weighted Graph)

Graph berbobot adalah graph yang setiap sisinya (edge) diberi sebuah harga (bobot).

Pada tiap sisi (edge) bobot dapat berbeda-beda bergantung sesuai masalah yang dimodelkan dengan graph. Misalkan bobot menyatakan jarak antara dua buah kota, waktu tempuh pesan dari sebuah simpul komunikasi ke simpul komunikasi lain (dalam jaringan komputer), biaya produksi dan sebagainya (Munir, 2007). Contoh graph berbobot dapat dilihat ada Gambar 2.6.

Gambar 2.6 Graph Berbobot

(26)

12

2.4 Algortima Floyd-Warshall

Algoritma Floyd dan Warshall dapat juga disebut sebagai algoritma Floyd- warshall (Khan, et al. 2014). Algoritma Floyd-Warshall merupakan salah satu contoh dari pemograman dinamis (Popa & Popescu, 2016). Pada algoritma Floyd- Warshall solusi yang terbentuk merupakan hasil dari tahap sebelumnya dan memungkinkan solusi lebih dari satu (Kriswanto, et al. 2014).

Algoritma Floyd-Warshall dapat digunakan untuk mencari lintasan terpendek dalam graph sederhana yang terhubung namun algoritma ini tidak dapat digunakan untuk membuat lintasan terpendek (Rosen, 2011). Cara Kerja dari algoritma Floyd-Warshall yaitu membandingkan semua lintasan yang mungkin terjadi dalam graph pada setiap pasangan simpul dan melakukan pengujian dari setiap kombinasi yang diperoleh.

Cara Kerja dari algoritma Floyd-Warshall yaitu :

1. Representasikan suatu graph ke dalam sebuah matrix berbobot dimana untuk masing-masing edge adalah :

 W [i,j] = 0, jika i= j.

 W [i,j] = W [i,j] ; jika i ≠ j dan [i,j] ada edge yang mengubungkan kedua vertex tersebut.

 W [i,j] = ∞ jika i ≠ j dan [i,j] tidak ada edge yang mengubungkan kedua vertex tersebut.

2. Lakukan perhitungan iterasi untuk menentukan jarak titik pada graph.

3. Hitung iterasi ke -1 dengan cara :

 Lakukan pengecekan pada setiap sel matrix apakah W [i,j] > W [i,k] + W [k,j] dimana W [i,j] adalah jarak antara dua titik mula-mula dan W [i,k] + W [k,j] merupakan penjumlahan anatara jarak titik asal ke titik tujuan (titik tujuan = iterasi ke-1) dengan jarak titik asal (titik asal = iterasi ke –1) ke titik tujuan.

 Jika ya maka W [i,j] = W [i,k] + W [k,j]

 Jika tidak maka W [i,j] = W [i,j]

4. Lakukan cara seperti langkah 3 untuk menentukan iterasi ke-2 sampai iterasi terakhir.

Universitas Sumatera Utara

(27)

2.5 Algortima Bellman-Ford

Algoritma Bellman-Ford adalah salah satu algoritma pencarian jarak terpendek, dan merupakan algoritma yang efisien untuk menghitung jalur terpendek antara satu simpul ke simpul lain dalam sebuah grafik (Pandey, et al. 2016). Pada Algoritma Bellman-Ford konsep yang dimiliki seperti Algoritma djikstra, namun terdapat perbedaan dimana algoritma Bellman Ford dapat menghitung graph yang memiliki bobot bernilai negative. Algoritma Bellman-ford merupakan salah satu algoritma yang menangani kasus pencarian lintasan dengan bobot terkecil. Pada algoritma Bellman-Ford ketika tidak ditemukan lintasan yang menghubungkan antara titik awal ke titik tujuan, maka bobot yang dihasilkan berupa infinity (Utami, 2009). Pengaplikasian dari Algoritma Bellman-Ford diantaranya yaitu Routing Information Protocol (RIP) dan menghemat sumber daya jaringan (Sanan, et al.

2013).

Secara umum, langkah-langkah algoritmanya adalah sebagai berikut ( Cormen.2009):

1. Tentukan vertex asal dan daftar seluruh vertex tujuan.

2. Tentukan vertex yang akan menjadi vertex asal dan beri nilai 0 dan yang lainnya infinite ( .

3. Mulailah iterasi terhadap semua vertex yang dimulai dari vertex asal.

4. Untuk menentukan tujuan dari semua vertex yang berhubungan dengan vertex asal dengan formula seperti berikut ini :

 U = vertex asal

 V = vertex tujuan

 UV = edge yang menghubungkan U dan V

 d[v] < d[u] + edge [u][v] , dan lakukan sampai semua vertex terjelajahi.

(28)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Dalam merancang sebuah sistem, langkah pertama yang perlu dilakukan adalah menganalisis sistem yang akan dibuat. Hal ini bertujuan dalam menentukan dan memberikan gambaran tugas yang akan dikerjakan oleh sistem nantinya.

Sistem ini akan melakukan pencarian rute terpendek antar ATM di Kota Tebing Tinggi dan dirancang dengan menggunakan Algoritma Floyd-Warshall dan Bellman- Ford. Beberapa tahapan yang akan dilakukan adalah sebagai berikut :

3.1.1 Analisis Masalah

Perlunya pencarian ATM terdekat dilakukan agar masyarakat dapat dimudahkan sehingga bisa menghemat waktu dan biaya pengguna. Maka dari itu penulis ingin mencari suatu cara untuk menentukan jarak terpendek antar ATM dengan menggunakan dua buah algoritma yaitu algoritma Floyd-Warshall dan Bellman – Ford serta membandingkan efisiensi dari sisi running-time kedua algoritma tersebut dalam pencarian jarak terpendek antar ATM di Kota Tebing Tinggi.

Pada penelitian ini, penulis membatasi masalah dengan menggunakan 25 buah vertex. Graph yang digunakan merupakan graph berarah terhubung dan penentuan jarak terpendek disimulasikan kedalam model graph. Garph berarah terhubung disebut terhubung jika ada walk yang menghubungkan setiap dua titiknya. Kemudian sistem akan melakukan perbandingan dengan menggunakan graph yang sama terhadap kedua algoritma Floyd-Warshall dan Bellman-Ford serta sistem selanjutnya menunjukkan hasil perbandingan real running time dan jarak dari masing-masing algoritma yang telah disimulasikan pada graph. Analisis suatu masalah dapat diidentifikasi dengan menggunakan diagram ishikawa.

Universitas Sumatera Utara

(29)

Kegunaan dari diagram ishikawa adalah mengidentifikasi penyebab suatu masalah.

Diagram ini juga menggambarkan hubungan antara berbagai faktor yang mungkin mempengaruhi antara satu dengan yang lainnya.

Gambar 3.1 Diagram ishikawa

Algoritma Bellman-Ford dari sisi waktu lebih lambat

Gambar 3.1 Diagram Ishikawa Untuk Analisis Masalah

3.1.2 Analisis Kebutuhan Sistem

Untuk mempermudah sebuah sistem dibutuhkan dua jenis kebutuhan yaitu kebutuhan fungsional dan kebutuhan non-fungsional.

3.1.2.1 Kebutuhan Fungsional

Analisis kebutuhan fungsional berisi proses apa saja yang nantinya akan dilakukan oleh sistem. Analisis kebutuhan fugsional mendekripsikan tentang sistem yang disediakan. Sistem ini melakukan perhitungan, perbandingan jarak dan waktu dalam pencarian jarak terpendek antar ATM di Kota Tebing Tinggi. Terdapat beberapa persyaratan fungsional antara lain:

1. Sistem ini menggunakan graph ATM di Kota Tebing Tinggi yang telah ditentukan.

Belum adanya aplikasi untuk mencari rute terpendek antar ATM Jarak atau Rute terpendek

yang akan dilalui dari titik awal ke titik tujuan

Algoritma Floyd-Warshall

membandingakn kemungkinan semua lintasan didalam graph.

Sistem User

Penentuan Jarak Terpendek Antar ATM di Kota Tebing Tinggi menggunakan algoritma Floyd-Warshall dan Bellman-Ford Menampilkan Hasil Pencarian

dan Perbandingan Kedua Algoritma

Material Metode

User Membutuhkan informasi jarak terpendek antar

ATM

(30)

16

2. Sistem ini dapat mengunakan vertex awal yang sudah ditentukan sebagai vertex asal.

3. Algoritma yang digunakan pada sistem ini adalah Algoritma Floyd-Warshall dan Bellman-Ford.

4. Sistem ini akan memilih parameter yang digunakan untuk perbandingan yaitu kesesuaian kompleksitas Big Ө (theta) dari kedua algoritma dan waktu (running time ) yang diperlukan dalam menentukan jarak terpendek.

3.1.2.2 Kebutuhan Non-Fungsional

Kebutuhan non-fungsional adalah kebutuhan yang berisi kinerja operasional dan performance dari suatu sistem. Terdapat beberapa kebutuhan non-fungsional yang harus dipenuhi diantaranya:

1. User Friendly

Pada Sistem yang dibangun memiliki tampilan yang menarik dan mudah dimengerti oleh pengguna (user).

2. Performa

Perangkat lunak yang akan dibangun dapat menunjukkan hasil running time dan rute terpendek dari pencarian.

3. Hemat Biaya

Pada Sistem yang dibangun tidak diperlukan suatu perangkat tambahan sehingga tidak mengeluarkan biaya.

3.1.3 Flowchart

Flowchart adalah Bagan-bagan yang mempunyai arus yang menggambarkan langkah- langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma. Tujuan dari flowchart adalah menguraikan suatu tahapan penyelesaian masalah dengan rapi, sederhana, terurai dan jelas menggunakan simbol-simbol standart.

Universitas Sumatera Utara

(31)

3.1.3.1 Flowchart Sistem

Flowchart dari sistem yang dibangun dapat dilihat pada Gambar 3.2.

Gambar 3.2 Flowchart Sistem

Keterangan : Pada gambar 3.2. dapat dilihat alur ataupun flowchart sistem dimulai dari penginputan lokasi awal dan lokasi tujuan. Setelah proses penginputan maka dilakukan proses pencarian dan perhitungan dengan menggunakan algoritma Floyd- Warshall ataupun Bellman-Ford. Hasil perhitungan yang telah dilakukan selanjutnya akan ditampilkan yaitu berupa jarak yang didapat, rute serta execution time.

Mulai

Input LokasiAwal dan Lokasi Tujuan

Hitung Jarak Terpendek dengan Algoritma Floyd- Warshall atau Bellman-Ford

Hasil : Total Jarak, Rute dan Execution Time

Selesai Mencari Lokasi Awal dan

Lokasi Tujuan

Menampilkan dan mempresentasikan Graph Berbobot dan Nama ATM

Menampilkan Hasil Jarak Terpendek Antar ATM di Kota Tebing Tinggi

(32)

18

Tidak

Ya

3.1.3.2 Flowchart Algoritma Floyd-Warshall

Flowchart dari algoritma Floyd-Warshall dapat dilihat pada Gambar 3.3.

Gambar 3.3 Flowchart Algoritma Floyd-Warshall

Keterangan : Pada gambar 3.3 flowchart dari algoritma Floyd-Warshall dimulai dari penginputan lokasi awal dan lokasi tujuan. Setelah itu dilakukan perhitungan pada iterasi k ke n dan dilakukan perhitungan pada tiap W [i,j] hingga sel ke - n. lalu melakukan pengecekan apakah W [i,j] > W [i,k] + W [k,j] , jika ya maka pilih W [i,k]

+ W [k,j] jika tidak maka yang dipilih adalah W [i,j]. Kemudian simpan jarak yang dipilih.W [i,j] adalah jarak antara dua titik mula-mula dan W [i,k] + W [k,j]

merupakan penjumlahan anatara jarak titik asal ke titik tujuan (titik tujuan = iterasi ke- 1) dengan jarak titik asal (titik asal = iterasi ke –1) ke titik tujuan.

Mulai

Melakukan perhitungan pada iterasi k ke n

Melakukan perhitungan pada tiap W[i,j] hingga sel ke -n

Pilih W[i,k] + W[k,j]

Simpan jarak yang terpilih

Selesai Hitung apakah

W[i,j]>

W[i,k]+ W[k,j]?

Pilih W[i,j]

Input Lokasi Awal dan Lokasi Tujuan

Universitas Sumatera Utara

(33)

3.1.3.3 Flowchart Algoritma Bellman-Ford

Flowchart dari algoritma Bellman-Ford dapat dilihat pada Gambar 3.4.

Tidak

Gambar 3.4 Flowchart Algoritma Bellman-Ford

Keterangan : Pada gambar 3.4. dapat dilihat alur ataupun flowchart sistem dimulai dari penginputan lokasi awal dan lokasi tujuan. Setelah proses penginputan maka dilakukan proses pencarian dan perhitungan dengan menggunakan algoritma Bellman-Ford. Kemudian setelah dilakukan pencarian, maka dilakukan update terhadap vertex yang telah dicek. Jika vertex telah dicek semua, maka hasil dari jarak akan ditampilkan, jika belum tercek semua, maka dilakukan pencarian lagi.

Mencari nilai vertex tetangganya

Menghitung jarak vertex ke tujuan

Update nilai vertex yang telah dicek Mencari jarak terpendek

Ya

Selesai Tampilkan Lintasan Terpendek

Mulai

Asumsikan vertex awal 0 Dan vertex lainnya

dengan nilai ∞

Apakah semua vertex telah dicek Input LokasiAwal dan

Lokasi Tujuan

(34)

20

3.2 Pemodelan

Pada bagian ini digunakan Unified Modeling Languange (UML) yaitu suatu metode pemodelan secara visual untuk sarana dalam merancang sebuah sistem. Sistem ini dibangun dengan membuat use case diagram, sequence diagram dan activity diagram.

3.2.1 Use Case Diagram

Use case merupakan suatu gambaran fungsional sistem. Pada diagram ini himpunan dari use case dan aktor-aktor akan diperlihatkan. Dengan kata lain bahwa pada diagram ini biasanya proses suatu sistem akan digambarkan berdasarkan sudut pandang user. Berikut use case diagram dapat dilihat pada Gambar 3.5.

Gambar 3.5 Use Case Diagram

Universitas Sumatera Utara

(35)

3.2.2. Activity Diagram

Pada Activity diagram akan diperlihatkan alur dari suatu aktivitas ke aktivitas lainnya di dalam sistem.

3.2.2.1 Activity Diagram Algoritma Floyd-Warshall

Activity diagram pada Gambar 3.6 menjelaskan bagaimana proses kerja dari sistem ketika menentukan titik asal dan tujuan serta memilih algoritma Floyd-Warshall yang akan digunakan oleh user. Activity diagram sistem pada aplikasi yang dibuat dapat dilihat pada Gambar 3.6.

Gambar 3.6 Activity Diagram Cara Kerja Sistem dengan Algortima Floyd-Warshall

(36)

22

3.2.2.2 Activity Diagram Algoritma Bellman-Ford

Activity diagram pada Gambar 3.7 menjelaskan bagaimana proses kerja dari sistem ketika menentukan titik asal dan tujuan serta memilih algoritma Bellman-Ford yang akan digunakan oleh user. Activity diagram sistem pada aplikasi yang dibuat dapat dilihat pada Gambar 3.7.

Gambar 3.7 Activity Diagram Cara Kerja Sistem Dengan Algortima Bellman-Ford

Universitas Sumatera Utara

(37)

3.2.3 Sequence Diagram

Pada Sequence diagram akan dijelaskan interaksi objek berdasarkan urutan waktu dan penggambaran data yang masuk dan keluar sistem. Sequence diagram sistem ini dapat dilihat pada Gambar 3.8.

Gambar 3.8 Sequence Diagram Sistem

3.3 Perancangan Antarmuka (Interface)

Perancangan antarmuka (interface) merupakan mekanisme antar pengguna dan sistem.

Pada Antarmuka (interface) pengguna dapat menerima informasi dari sistem dan hal yang penting adalah kemudahan dalam memakai atau menjalankan sistem. Tujuan Antarmuka (interface) yaitu mengkomunikasikan fitu-fitur yang ada pada sistem agar pengguna mengerti ketika menjalankan sistem tersebut.Tampilan yang terdapat pada sistem ini adalah halaman menu Beranda, Sekilas Info,Pencarian ATM, Bantuan dan Tentang.

(38)

24

3.3.1 Halaman Menu Beranda

Halaman Beranda merupakan halaman utama yang ditampilkan ketika sistem dijalankan.Tampilan rancangan halaman menu Home dapat dilihat pada Gambar 3.9 dan keterangan gambar rancangan halaman pada Tabel 3.1.

Gambar 3.9 Rancangan Antarmuka Halaman Menu Beranda Beranda Pencarian

ATM

Bantuan

PERBANDINGAN ALGORITMA FLOYD-WARSHALL DAN BELLMAN-FORD DALAM PENCARIAN

JARAK TERPENDEK ANTAR ATM DI KOTA TEBING TINGGI

SKRIPSI SASTI LESTARI

131401044

Logo

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2017

2

3

4

5

1

Universitas Sumatera Utara

(39)

Tabel 3.1 Keterangan Gambar Rancangan Antarmuka Halaman Menu Beranda

3.3.2 Halaman Menu Pencarian ATM

Halaman Pencarian ATM merupakan halaman yang tampil saat pengguna memilih menu Pencarian ATM pada menu bar. Pada halaman ini pengguna dapat melihat jarak, waktu dan Algoritma yang digunakan. Selain itu di halaman ini terdapat tombol Tampilan graph yang jika di klik akan menampilakan halaman berupa Tampilan graph. Rancangan halaman menu Pencarian ATM dapat dilihat pada Gambar 3.10 dan keterangan gambar rancangan halaman pada Tabel 3.2.

No Keterangan

1 TabControl berfungsi untuk menunjukkan halaman-halaman yang tersedia pada sistem

2 Label untuk menampilkan judul skripsi 3 Label untuk menampilkan Nama, dan Nim

4 Picture Box untuk menampilkan logo Universitas Sumatera Utara 5 Label untuk menampilkan Program Studi

(40)

26

Gambar 3.10 Rancangan Antarmuka Halaman Menu Pencarian ATM Tabel 3.2 Keterangan Gambar Rancangan Antarmuka Halaman Menu

Pencarian ATM

No Keterangan

1 Tab Control untuk menunjukkan halaman yang tersedia pada sistem

2 Combo Box untuk menampilkan nama- nama Lokasi Awal ATM pada sistem

3 Combo Box untuk menampilkan nama- nama Lokasi Awal ATM pada sistem

4 Combo Box untuk menampilkan nama- nama Algoritma yang ingin digunakan pada system

5 Button untuk proses penentuan Hasil

6 Tab Control berfungsi untuk menunjukkan halaman-halaman yang tersedia pada system

7 Data Grid View berfungsi menampilkan data dalam bentuk grid

Nama ATM

Beranda Bantuan

1 Lokasi Awal

Lokasi Awal

Lokasi Tujuan

Lokasi Tujuan

Pilih Algoritma

Ok

Tampilan Proses OK

Bellman-Ford Floyd-Warshall

Lama Proses Lama Proses

Tampilan Graph Tampilan

Graph

Rute Jarak (Km)

2 3

4

5

7

8

9

10

11 12

Pencarian ATM

6

Nama ATM

Universitas Sumatera Utara

(41)

3.3.3 Halaman Menu Bantuan

Halaman Bantuan merupakan halaman yang berisi sub menu yaitu sekilas info, petunjuk penggunaan sistem, dan profil perancang. Rancangan halaman menu Bantuan beserta sub menu petunjuk penggunaan sistem dapat dilihat pada Gambar 3.11 dan keterangan gambar rancangan halaman pada Tabel 3.3.

Gambar 3.11 Rancangan Antarmuka Halaman Menu Bantuan dan Sub Menu Petunjuk Penggunaan Sistem

8 PictureBox berfungsi menampilkan icon jam 9 PictureBox berfungsi menampilkan icon ATM

10 TextBox untuk menampilkan hasil dari waktu proses pada system 11 PictureBox berfungsi menampilkan icon view

12 Button berfungsi sebagai tombol untuk menampilkan graph

Beranda Pencarian ATM

1 Bantuan

Sekilas Info

Petunjuk Penggunaan Sistem

Profil Perancang

PETUNJUK PENGGUNAAN SISTEM

1. Klik Beranda untuk kembali ke Tampilan Awal 2. Klik Sekilas Info untuk mengetahui informasi tentang sistem

3. Klik Pencarian ATM untuk melakukan pencarian jarak antar ATM

Caranya : - Klik Lokasi Awal - Klik Lokasi Tujuan

- Pilih Algoritma yang ingin digunakan - Klik Ok

Untuk melihat Tampilan Graph klik Tampilan Graph

4. Klik Tentang untuk melihat Profil 2

4 3

(42)

28

Tabel 3.3 Keterangan Gambar Rancangan Antarmuka Halaman Menu Bantuan dan Sub Menu Petunjuk Penggunaan Sistem

3.3.4 Halaman Sub Menu Sekilas Info

Halaman Sub Menu Sekilas Info merupakan halaman yang tampil saat pengguna memilih sub menu Sekilas Info pada menu Bantuan. Pada halaman ini pengguna dapat melihat informasi seputar Algoritma yang digunakan pada sistem ini. Rancangan halaman sub menu Sekilas Info dapat dilihat pada Gambar 3.12 dan keterangan gambar rancangan halaman pada Tabel 3.4.

Gambar 3.12 Rancangan Antarmuka Halaman Menu Sekilas Info

No Keterangan

1 Tab Control untuk menunjukkan halaman yang tersedia pada sistem 2 Label untuk menampilkan informasi penggunaan system

3 Picture Box untuk menampilkan icon petunjuk

4 Label untuk berisi informasi langkah-langkah dalam menggunakan system

Beranda Pencarian ATM

1

2

Algoritma Floyd-Warshall

Algoritma Floyd-Warshall merupakan salah satu varian dari pemograma dinamis.

Pada algoritma Floyd-Warshall pemecahan masalah dilakukan dengan memandang solusi sebagai suatu keputusan yang terkait yaitu solusi yang terbentuk merupakan hasil dari tahap sebelumnya dan memungkinkan solusi lebih dari satu(Kriswanto,et al.2014).

Algoritma Bellman-Ford

Algoritma Bellman-Ford adalah salah satu algoritma pencarian jarak terpendek. Pada Algoritma Bellman-Ford memiliki konsep seperti Algoritma djikstra, namun terdapat perbedaan dimana algoritma Bellman Ford dapat menghitung graph yang memiliki bobot bernilai negative. Algoritma bellman-ford merupakan salah satu algoritma yang menangani kasus pencarian lintasan dengan bobot terkecil. Algoritma ini memungkinkan apabila di dalam sistem yang dibangun terdapat pencilan. Seperti yang sudah dicobakan sebelumnya, apabila simpul yang dituju ataupun simpul asal merupakan sebuah pencilan maka hasil yang didapatkan adalah infinity. Tidak hanya itu bahkan apabila ternyata tidak ada lintasan yang menghubungkan antara simpul awal dan simpul tujuan, maka bobot yang dihasilkan juga berupa infinity (Utami, 2009). Pengaplikasian dari Algoritma Bellman-Ford diantaranya yaitu menghemat sumber daya jaringan dan penyelesaian masalah dua routing matrik (Sanan,et al.2013).

3

Bantuan

Bantuan

Sekilas Info

Petunjuk Penggunaan Sistem

Profil Perancang

Universitas Sumatera Utara

(43)

Tabel 3.4 Keterangan Gambar Rancangan Antarmuka Halaman Sub Menu Sekilas Info

No Keterangan

1 Tab Control untuk menunjukkan halaman yang tersedia pada sistem 2 Label untuk Informasi Tentang Algoritma Floyd-Warshall

3 Label untuk Informasi Tentang Algoritma Bellman-Ford 3.3.5 Halaman Sub Menu Profil Perancang

Halaman sub menu Profil Perancang merupakan halaman yang berisi biodata penulis.

rancangan halaman sub menu Profil Perancang dapat dilihat pada Gambar 3.13 dan keterangan gambar rancangan halaman pada Tabel 3.5.

Gambar 3.13 Rancangan Antarmuka Halaman Sub Menu Profil Perancang

Beranda Pencarian ATM

1

PROFIL PENULIS

Nama : Sasti Lestari

Nim : 131401044

Tempat Tanggal Lahir : Tebing Tinggi,21 November 1995

Email : Sastiidea21@gmail.com

No.Hp : 085923380154

Konsentrasi : Desain dan Analisis Algoritma Judul Skripsi : Perbandingan Algoritma Floyd- Warshall dan Bellman-Ford Dalam Pencarian Jarak Terpendek Antar ATM Di Kota Tebing Tinggi

Moto Hidup : Menjadi Orang yang Bermanfaat

2

3

Bantuan

Bantuan

Sekilas Info

Petunjuk Penggunaan Sistem

Profil Perancang

(44)

30

Tabel 3.5 Keterangan Gambar Rancangan Antarmuka Halaman Sub Menu Profil Perancang

No Keterangan

1 Tab Control untuk menunjukkan halaman yang tersedia pada sistem 2 Label untuk menampilkan informasi profil penulis

3 Picture Box untuk menampilkan logo Univeristas

Universitas Sumatera Utara

(45)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem.

Sistem ini dirancang dengan menggunakan bahasa pemrograman C#. Pada sistem ini terdapat 5 (lima) tampilan halaman, yaitu Halaman Menu Beranda, Halaman Menu Pencarian ATM, Halaman Sub Menu Sekilas Info, Halaman Sub Menu Petunjuk Penggunaan Sistem dan Halaman Sub Menu Profil Perancang.

4.1.1 Menu Beranda

Menu Beranda adalah halaman yang tampil pertama kali saat sistem dijalankan.

halaman menu Beranda dapat dilihat pada Gambar 4.1.

Gambar 4.1 Menu Beranda

(46)

32

4.1.2 Menu Pencarian ATM

Menu Pencarian ATM merupakan halaman yang berfungsi sebagai pencarian ATM, dimana user terlebih dahulu harus melakukan penginputan lokasi awal, dan tujuan, serta memilih algoritma yang ingin digunakan. Halaman menu Pencarian ATM dapat dilihat pada Gambar 4.2.

Gambar 4.2 Menu Pencarian ATM

Didalam menu pencarian ATM terdapat tombol Tampilan Graph, dimana ketika tombol ini ditekan maka akan memunculkan halaman graph. Halaman graph dapat dilihat pada Gambar 4.3.

Universitas Sumatera Utara

(47)

Gambar 4.3 Graph 4.1.3 Sub Menu Sekilas Info

Halaman Sub Menu Sekilas Info dapat dilihat pada Gambar 4.4.

Gambar 4.4 Sub Menu Sekilas Info

Sub Menu Sekilas Info merupakan bagian dari menu bantuan yang berisi mengenai informasi seputar algoritma yang digunakan dalam sistem.

(48)

34

4.1.4 Sub Menu Petunjuk Penggunaan Sistem

Sub Menu Petunjuk Penggunaan Sistem merupakan halaman yang berisi mengenai informasi petunjuk penggunaan sistem. Halaman menu Petunjuk Penggunaan Sistem dapat dilihat pada Gambar 4.5

Gambar 4.5 Sub Menu Petunjuk Penggunaan Sistem 4.1.5 Sub Menu Profil Perancang

Menu Profil Perancang merupakan halaman yang berisi mengenai data perancang didalam sistem. Halaman menu Profil Perancang dapat dilihat pada Gambar 4.6.

Gambar 4.6 Sub Menu Profil Perancang

Universitas Sumatera Utara

(49)

4.2 Pengujian

Pengujian sistem merupakan tahap lanjutan setelah implementasi sistem. Pengujian dilakukan untuk membuktikan apakah sistem yang telah dibangun berjalan dengan baik. Pengujian sistem ini dilakukan pada graph ATM yang telah ditentukan dengan menggunakan dua algoritma dan membandingkan real runnung time serta hasil jarak terpendek.

4.2.1 Pengujian Proses Implementasi

Untuk melakukan proses pengujian pertama kali yang harus dilakukan adalah memilih salah ATM sebagai titik asal, contohnya „ATM BNI 1‟ dan juga memilih ATM lainnya sebagai titik tujuan contohnya „ATM BNI 4‟. Selain itu pilihlah salah satu dari kedua algoritma, contohnya Algoritma „Floyd-Warshall‟. Maka akan muncul tampilan seperti Gambar 4.7.

Gambar 4.7 Proses Pengujian Implementasi

(50)

36

4.2.2 Pengujian Proses Algoritma Floyd-Warshall

Setelah pemilihan node awal dan tujuan serta salah satu algoritma seperti yang ditujukan pada gambar 4.7, maka selanjutnya adalah menekan tombol Ok. Tombol Ok nantinya akan melakukan pencarian jarak terpendek dan menampilkan hasil pencarian yaitu jarak pada tabel tampilan proses, serta waktu proses pada halaman pencarian ATM, tampilan dapat dilihat pada gambar 4.8.

Gambar 4.8 Hasil Pengujian Menggunakan Algoritma Floyd-Warshall

4.2.2.1 Perhitungan Manual Algoritma Floyd-Warshall

Algoritma Floyd-Warshall adalah algoritma pencarian jalur terpendek dengan mencari semua jarak pada tiap simpul. Algoritma Floyd-Warshall akan menghitung bobot terkecil dari semua jalur yang menghubungkan sebuah pasangan titik (vertex), dan melakukannya untuk semua pasangan titik. Pada Algoritma Floyd-Warshall proses pencarian jalur terpendek menggunakan inisialisasi matrix dan perhitungan manual.

Matrix yang digunakan adalah representasi dari graph pada pengujian. Dalam penelitian ini penulis menggunakan node sebanyak 25 node {a, b, c, d, e, f, g, h, I, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y}.

Universitas Sumatera Utara

(51)

Gambar 4.9 Graph ATM Algoritma Floyd-Warshall

Kode daftar ATM yang menjadi node dan diinisialisasikan dalam matriks dapat dilihat pada Tabel 4.1 berikut ini

Tabel 4.1 Kode node ATM

Kode Nama ATM

A BNI 1

B BNI 2

C BNI 3

D BNI 4

E BNI 5

F BNI 6

G BNI 7

H BNI 8

I BNI 9

J BNI 10

(52)

38

K BNI 11

L BNI 12

M BNI 13

N MANDIRI 1

O MANDIRI 2

P MANDIRI 3

Q BRI 1

R BRI 2

S BRI 3

T BRI 4

U BRI 5

V BRI 6

W BTN 1

X BTN 2

Y BTN 3

Tabel 4.1 merupakan tabel yang berisi Kode node ATM yang nantinya akan diinisialisasikan didalam matriks, dimana dimulai dari kode A sebagai kode node ATM BNI 1 sampai dengan kode Y sebagai kode node ATM BTN 3.

Langkah 1 adalah inisialisasikan graph ke dalam matriks Inisialisasi graph dapat dilihat pada Tabel 4.2.

Tabel 4.2 Inisialisasi Matriks

Tabel 4.2 merupakan tabel inisialisasi matriks yaitu didalam tabel ini jarak yang sebelumnya telah ditemukan, akan diinisialisasikan kedalam suatu matrix dan selanjutnya akan dilakukan perhitungan.

Universitas Sumatera Utara

Gambar

Diagram  ini  juga  menggambarkan  hubungan  antara  berbagai  faktor  yang  mungkin  mempengaruhi antara satu dengan yang lainnya
Gambar 3.3 Flowchart Algoritma Floyd-Warshall
Gambar 3.4 Flowchart Algoritma Bellman-Ford
Gambar 3.5 Use Case Diagram
+7

Referensi

Dokumen terkait

Namun algoritma Floyd Warshall tidak dapat menentukan jarak terpendek dari semua jenis graf, dimana graf yang dapat diselesaikan dengan menggunakan algoritma Floyd

1. Hasil perhitungan jarak tempuh antara algorithma Bellman Ford dan Dijkstra adalah sama dalam menentukan rute terpendeknya, begitu juga dengan pemilihan rute atau

algoritma Disjkstra dan algoritma Bellman-Ford ini mempunyai kelebihan dan kekurangan pada saat menjalankan atau mengeksekusi algoritmanya dimana untuk algoritma

Implementasi Algoritman Djikstra Dalam Aplikasi Untuk Menentukan Lintasan Terpendek Jalan Darat Antar Kota Di Sumatera Bagian Selatan.Jurnal Sistem Informasi.. Algoritma

Penelitian ini akan melakukan visualisasi pencarian lintasan terpendek pada beberapa buah graph menggunakan algoritma Floyd-Warshall dan algoritma Dijkstra1. Proses

Dalam pengertian lain Algoritma Floyd-Warshall adalah suatu metode yang melakukan pemecahan masalah dengan memandang solusi yang akan diperoleh sebagai suatu keputusan yang

Dengan kata lain elemen pada matriks hasil perhitungan dengan menggunakan Algoritma Floyd-Warshall adalah menunjukkan jarak yang paling optimal dari semua objek wisata ke semua objek

Aplikasi Pencarian Rute Terpendek Tempat Wisata Di Kota Pekanbaru menggunakan Algoritma Floyd Warshall ini dapat membantu wisatawan serta masyarakat memberikan