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
PERSETUJUAN
Judul : ANALISIS DAN PERBADINGAN ALGORITMA L-QUEUE DAN ALGORITMA FLOYD DALAM PENENTUAN LINTASAN TERPENDEK PADA GRAPH
Kategori : SKRIPSI
Nama : DHIKA HANDAYANI RANGKUTI Nomor Induk Mahasiswa : 121401110
Program Studi : SARJANA(S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (Fasilkom-TI)
Diluluskan di Medan, Mei 2016
Komisi Pembimbing:
Dosen Pembimbing II Dosen Pembimbing I
Jos Timanta Tarigan, S.Kom, M.Sc M.Andri Budiman, ST, M.Comp.Sc, M.E.M
NIP. 19850126 201504 1 001 NIP. 19751008 200801 1 011
Diketahui/Disetujui oleh
Program Studi S1 IlmuKomputer Ketua,
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
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.Tselaku Dosen Pembanding II yang memberikan kritik dan saran untuk penyempurnaan skripsi ini.
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
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 menggunakanVisual 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.
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.
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xii
Daftar Lampiran xiv
Bab 1 Pendahuluan
1.1Latar Belakang 1 1.2Perumusan Masalah 2 1.3Ruang Lingkup Masalah 2
1.4Tujuan Penelitian 3
1.5Manfaat Penelitian 3 1.6Metode Penelitian 3
1.7Sistematika Penulisan 4
Bab 2 Landasan Teori
2.1 Pengertian Algoritma 6
2.1.1 Syarat Algoritma 6
2.2 Shortest Path 6
2.3 Teori Dasar Graph 7
2.4 Algoritma L-Queue 8
2.5 Algoritma Floyd 10
2.5.1 Pseudocode 13
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 14
3.1.1 Analisis Masalah 14
3.1.2 Analisis Kebutuhan Sistem 16
3.2 Pemodelan 17
3.2.1 Use Case Diagram 17
3.2.2 Activity Diagram 18
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.1Implementasi 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
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1
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
Running Time Algoritma L-Queue
Running Time Algoritma L-Queue
Running Time Algoritma L-Queue dan Algoritma Floyd
DAFTAR GAMBAR
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 L-Queue
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
DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1