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