Analisis dan Perbandingan Algoritma L-Queue dan Algoritma Floyd Dalam Penentuan Lintasan Terpendek Pada Graph

ANALISIS DAN PERBANDINGAN ALGORITMA L-QUEUE
DAN ALGORITMA FLOYD DALAM PENENTUAN
LINTASAN TERPENDEK PADA GRAPH

SKRIPSI

DHIKA HANDAYANI RANGKUTI
121401110

PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016

Universitas Sumatera Utara

2

PERSETUJUAN


Judul

Kategori
Nama
Nomor Induk Mahasiswa
Program Studi
Fakultas

: ANALISIS
DAN
PERBADINGAN
ALGORITMA L-QUEUE DAN ALGORITMA
FLOYD DALAM PENENTUAN LINTASAN
TERPENDEK PADA GRAPH
: SKRIPSI
: DHIKA HANDAYANI RANGKUTI
: 121401110
: SARJANA(S1) ILMU KOMPUTER
: ILMU
KOMPUTER

DAN
TEKNOLOGI
INFORMASI (Fasilkom-TI)
Diluluskan di
Medan, Mei 2016

Komisi Pembimbing:

Dosen Pembimbing II

Jos Timanta Tarigan, S.Kom, M.Sc
M.E.M
NIP. 19850126 201504 1 001

Dosen Pembimbing I

M.Andri Budiman, ST, M.Comp.Sc,
NIP. 19751008 200801 1 011

Diketahui/Disetujui oleh


Program Studi S1 IlmuKomputer
Ketua,

Dr. Poltak Sihombing, M.Kom
NIP. 1962 0317 1991 0310 01

Universitas Sumatera Utara

3

PERNYATAAN

ANALISIS DAN PERBANDINGAN ALGORITMA L-QUEUE
DAN ALGORITMA FLOYD DALAM PENENTUAN
LINTASAN TERPENDEK PADA GRAPH

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa

kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 25 Mei 2016

Dhika Handayani Rangkuti
121401110

Universitas Sumatera Utara

4

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 Pj Rektor
Universitas Sumatera Utara.
2. Bapak Prof. Dr. Opim Salim Sitompul, 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 yang telah memberikan
kritik dan saran dalam penyempurnaan skripsi ini.
4. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M selaku Dosen
Pembimbing II yang dengan sabar telah memberikan bimbingan,
saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.
5. Bapak Jos Timanta Tarigan, S.Kom, M.Sc selaku Dosen Pembimbing
II yang dengan sabar telah memberikan bimbingan, saran, dan
masukan kepada penulis dalam pengerjaan skripsi ini.
6. Bapak Ade Candra, ST, M.Kom selaku Dosen Pembanding I yang
memberikan kritik dan saran untuk penyempurnaan skripsi ini
7. Ibu Amalia, S.T, M.T selaku Dosen Pembanding II yang memberikan
kritik dan saran untuk penyempurnaan skripsi ini.
8. Seluruh dosen dan pegawai Program Studi S1 Ilmu Komputer
Fasilkom-TI USU .


Universitas Sumatera Utara

5

9. Ayahanda Ahmadi, M. Nur Chairi dan Ibunda Elida, Sulastri yang
selalu memberikan doa dan dukungan serta kasih sayang kepada
penulis, serta kakak tersayang Dhita Adriani Rangkuti, SE, M.M dan
Dhina Haderani Rangkuti yang terus memberikan dukungan dan
dorongan bagi penulis untuk menyelesaikan skripsi ini.
10. Teman-teman terdekat, terutama Dwi Rizki Ananda, Natasha
Maharani, Novita Chairunnisa, Zulaiha Yulandari, Ratu Mutiara,
Yohanes, Kevin Irfanda, Pinki Fadilah, Dwi Risti, Nopita Sari,
Ramadhani Istara, Dwiki Darmawan, Aulia Satria atas semangatnya
serta teman-teman stambuk 2012 atas dorongannya dan doanya
sehingga penulis dapat menyelesaikan skripsi ini
11. 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 pahala yang melimpah dari Allah SWT.


Medan, juni 2016

Penulis

Universitas Sumatera Utara

6

ABSTRAK

Pencarian shortest path (lintasan terpendek) adalah masalah umum dalam suatu weighted,
connected graph. Salah satu cabang ilmu matematika yang terkait dalam penyelesaian
lintasan terpendek adalah teori graph. Dalam menyelesaikan teori graph diperlukan pula
algoritma lintasan terpendek (shortest path algorithm). Penelitian ini menggunakan
algoritma L-Queue dan algoritma Floyd untuk menghitung jarak tependek dari titik awal
sampai titik tujuan dan melihat perbandingan dari cara kerja masing-masing algoritma.
Algoritma L-Queue beroperasi dengan cara FIFO (First In First Out), elemen pertama
masuk merupakan elemen pertama keluar dan juga beberapa operasi dasar seperti insert,
create, remove. Algoritma Floyd menggunakan prinsip dinamis yang melakukan

pemecahan masalah dengan memandang solusi yang akan diperoleh sebagai suatu
keputusan yang terkait. Implementasi sistem menggunakan Visual Studio dengan bahasa
pemogaraman C#. Berdasarkan dari hasil penelitian menunjukkan bahwa perangkat lunak
yang dibangun dapat menjalankan proses pencarian lintasan terpendek menggunakan
algoritma Floyd dan algoritma L-Queue dengan baik. Jarak terpendek yang dihasilkan
kedua algoritma adalah yang paling minimum sedangkan perbandingan hasil real running
time kedua algoritma dapat terlihat dalam jumlah node yang berbeda, pada algoritma
Floyd jumlah node diatas 20, maka hasil running time akan tertera, sedangkan pada
algoritma L-Queue dibutuhkan lebih dari 50 node untuk menampilkan hasil running time.

Kata kunci : Shortest Path, Graph, , Algoritma L-Queue, Algoritma
Floyd

Universitas Sumatera Utara

7

ANALYSIS AND COMPARISON L-QUEUE ALGORITHM
AND FLOYD ALGORITHM IN DETERMINING
SHORTEST PATH ON A GRAPH


ABSTRACT

Finding shortest path is a common problem in a weighted connected graph. One of
mathematics science that involved in solved the shortest path problem is graph theory.
In completing the graph theory there also needed the shortest path algorithm. This study
uses L-Queue algorithm and Floyd algorithm to determining the distance from the
starting point to the destination point on a graph and see comparison of the workings by
each algorithm. L-Queue algorithms operate with a FIFO (First In First Out), means the
first element in is the first element out, and other basic operation like insert, create adn
remove. Floyd algorithm using dynamic principle in problem solving by looking at a
solution that would be obtained as a related decisions. Implementation of the system
using Visual Studio with C # language. The software that has been built could run each
algorithms, this application also can be used to determine the shortest distance and shown
the comparison of the real running time of each algorithms. Based on the results of the
study indicate that the software built to run the search process using the shortest path
algorithm and Floyd algorithm L-Queue as well. The shortest distance produced by two
algorithms are the minimum while the comparison of real running time of both
algorithms can be seen in a number of different nodes, the Floyd Algorithm has to add 20
nodes above to get the result of running time, while L-Queue algorithm has to add 50

nodes above to get the result of running time.

Keywords :

Shortest Path, Graph, L-Queue Algorithm , Floyd
Algorithm

Universitas Sumatera Utara

8

DAFTAR ISI

Halaman

Persetujuan
Pernyataan
Penghargaan
Abstrak
Abstract

Daftar Isi
Daftar Tabel
Daftar Gambar
Daftar Lampiran

ii
iii
iv
vi
vii
viii
x
xii
xiv

Bab 1 Pendahuluan
1.1 Latar Belakang
1.2 Perumusan Masalah
1.3 Ruang Lingkup Masalah
1.4 Tujuan Penelitian
1.5 Manfaat Penelitian
1.6 Metode Penelitian
1.7 Sistematika Penulisan

1
2
2
3
3
3
4

Bab 2 Landasan Teori
2.1 Pengertian Algoritma
2.1.1 Syarat Algoritma
2.2 Shortest Path
2.3 Teori Dasar Graph
7
2.4 Algoritma L-Queue
2.5 Algoritma Floyd
2.5.1 Pseudocode
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem
3.1.1 Analisis Masalah
3.1.2 Analisis Kebutuhan Sistem
3.2 Pemodelan
3.2.1 Use Case Diagram
3.2.2 Activity Diagram
3.2.2.1 Activity Diagram Algoritma L-Queue

6
6
6
8
10
13
14
14
16
17
17
18
18

Universitas Sumatera Utara

9

3.2.2.2 Activity Diagram Algoritma Floyd
19
3.2.3 Sequence Diagram
20
3.3 Perancangan Sistem
20
3.3.1 Flowchart Perancangan Sistem Menggunakan Algoritma
L-Queue
20
3.3.2 Flowchart Perancangan Sistem Menggunakan Algoritma
Floyd
21
3.4 Perancangan Antarmuka Sistem (Interface)
23
3.4.1 Halaman Menu Title
23
3.4.2 Halaman Menu Home
24
3.4.3 Halaman Menu Manage Verteks
25
3.4.4 Halaman Menu About
27
Bab 4 Implementasi dan Pengujian
4.1 Implementasi
28
4.1.1 Tampilan Halaman Menu Title
28
4.1.2 Tampilan Halaman Menu Home
29
4.1.3 Tampilan Halaman Menu Manage Verteks
29
4.1.4 Tampilan Halaman Menu About
30
4.2 Pegujian
31
4.2.1 Pengujian Proses Implementasi
31
4.2.2 Pengujian Proses Algoritma L-Queue
34
4.2.2.1 Perhitungan Manual
34
4.2.3 Pengujian Proses Algoritma Floyd
38
4.2.3.1 perhitungan Manual
39
4.3 Kompleksitas
86
4.3.1 Kompleksitas Algoritma L-Queue
86
4.3.2 Kompleksitas Algoritma Floyd
87
4.4 Real Running Time
89
4.4.1 Algoritma L-Queue
89
4.490
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan
91
5.2. Saran
92
Daftar Pustaka
93

Universitas Sumatera Utara

10

DAFTAR TABEL

Nomor
Tabel
2.1
3.1
3.2
3.3
3.4
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28

Nama Tabel

Halaman

Inisialisasi Matriks
Keterangan Gambar Rancangan Interface Menu Title
Keterangan Gambar Rancangan Interface Menu Home
Keterangan Gambar Rancangan Interface Menu Manage
Verteks
Keterangan Gambar Rancangan Interface Menu About
Inisialisasi Matriks
Matriks R0
Matriks R1
Matriks R2
Matriks R3
Matriks R4
Matriks R5
Matriks R6
Matriks R7
Matriks R8
Matriks R9
Matriks R10
Matriks R11
Matriks R12
Matriks R13
Matriks R14
Matriks R15
Matriks R16
Matriks R17
Matriks R18
Matriks R19
Matriks R20
Matriks R21
Kompleksitas Algoritma L-Queue
Kompleksitas Algoritma Floyd
Running Time Algoritma L-Queue
Running Time Algoritma L-Queue
Running Time Algoritma L-Queue dan Algoritma Floyd

10
23
24
25
27
40
41
43
45
48
50
52
54
56
58
60
62
64
66
68
70
72
74
76
78
80
82
84
86
87
89
90
91

Universitas Sumatera Utara

11

DAFTAR GAMBAR

Nomor
Gambar
2.1
2.2
2.3
2.4
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19

Nama Gambar

Halaman

Graph Tidak Berarah
Graph Berarah
Graph Berbobot Untuk Algoritma Floyd
Matriks Hasil Proses Algoritma Floyd
Diagram Ishikawa
Use Case Diagram
Activity Diagram Pencarian Lintasan Terpendek dengan Algoritma
L-Queue
Activity Diagram Pencarian Lintasan Terpendek dengan Algoritma
Floyd
Sequence Diagram
Flowchart Perancangan Sistem Menggunakan Algoritma L-Queue
Flowchart Perancangan Sistem Menggunakan Algoritma Floyd
Rancangan Antarmuka Halaman Menu Title
Rancangan Antarmuka Halaman Menu Home
Rancangan Antarmuka Halaman Menu Manage Vertex
Rancangan Antarmuka Halaman Menu About
Tampilan Menu Title
Tampilan Halaman Menu Home
Tampilan Halaman Menu Manage Vertex
Tampilan Halaman Menu About
Tampilan Load Graph
Tampilan Graph Yang Dimasukkan Dalam Sistem
Tampilan, Penambahan Tetangga pada Sebuah Node
Tampilan Proses Penambahan Tetangga dan Memperbaharui Jarak
Tampilan Graph Dengan Penambahan Node dan Jarak
Tampilan Pengujian Pencarian Shortest Path dengan Algoritma LQueue
Contoh Graph L-Queue
Graph L-Queue Setelah Update Jarak
Graph Floyd Setelah Update Jarak
Tampilan Pemilihan Graph
Tampilan Pengujian Pencarian Shortest Path Dengan Algoritma
Floyd
Graph Floyd
Grafik Running Time Algoritma L-Queue
Grafik Running Time Algoritma Floyd
Grafik Running Time Algoritma L-Queue dan Floyd

8
8
11
12
15
17
18
19
20
21
21
23
24
25
27
28
29
30
30
31
32
32
33
33
34
35
36
37
38
39
39
89
90
91

Universitas Sumatera Utara

12

DAFTAR LAMPIRAN

Halaman
A. Listing Program
B. Curriculum Vitae

A-1
B-1

Universitas Sumatera Utara