Hak cipta dan penggunaan kembali:
Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis dan melisensikan ciptaan turunan dengan syarat yang serupa dengan ciptaan asli.
Copyright and reuse:
This license lets you remix, tweak, and build upon work
non-commercially, as long as you credit the origin creator
and license it on your new creations under the identical
terms.
SKRIPSI
PERBANDINGAN ALGORITMA FLOYD-WARSHALL DAN DIJKSTRA PADA PERMAINAN HUNT THE WUMPUS
Ignatius Daniel 08110110008
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INFORMASI DAN KOMUNIKASI UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG
PERBANDINGAN ALGORITMA FLOYD-WARSHALL DAN DIJKSTRA PADA PERMAINAN HUNT THE WUMPUS
SKRIPSI
Diajukan sebagai salah satu syarat
untuk memperoleh gelar Sarjana Komputer (S.Kom)
Ignatius Daniel 08110110008
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INFORMASI DAN KOMUNIKASI UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG
PENGESAHAN SKRIPSI
PERBANDINGAN ALGORITMA FLOYD-WARSHALL DAN DIJKSTRA PADA PERMAINAN HUNT THE WUMPUS
Oleh Ignatius Daniel
08110110008 Teknik Informatika
Teknologi Informasi dan Komunikasi
Gading Serpong, 2 Februari 2012
Dosen Pembimbing
Januar Wahjudi, S. Kom, M. Sc.
Ketua Program Studi
Januar Wahjudi, S. Kom, M. Sc.
PERNYATAAN
Dengan ini saya menyatakan bahwa skripsi ini adalah karya ilmiah saya sendiri, bukan plagiat dari karya ilmiah yang ditulis oleh orang lain atau lembaga lain, dan semua karya ilmiah orang lain atau lembaga lain yang dirujuk dalam skripsi ini telah disebutkan sumber kutipannya dan dicantumkan di Daftar Pustaka.
Gading Serpong, 2 Februari 2012
(………....) Tanda tangan dan nama terang
ABSTRAK
Mobilitas merupakan faktor penting di dalam kehidupan masyarakat. Seiring dengan tingginya mobilitas, hambatan-hambatan yang mempengaruhinya juga bertambah. Oleh karena itu, teknologi untuk mendukung mobilitas terus dikembangkan, salah satunya adalah Global Positioning System (GPS). Sekarang ini, GPS sudah memiliki fitur yang cukup lengkap dan disertai dengan informasi yang detail dan akurat. Judul skripsi ini adalah “Perbandingan Algoritma Floyd- Warshall dan Dijkstra pada Permainan Hunt The Wumpus “. Tujuan dari skripsi ini adalah untuk membandingkan algoritma Floyd-Warshall dan algoritma Dijkstra pada permainan “Hunt The Wumpus” untuk mencari jalur terpendek.
Hasil dari penelitian ini diharapkan dapat digunakan untuk meningkatkan kemampuan teknologi GPS agar dapat memberikan fitur shortest path dan fastest path yang dapat dijalankan secara real time. Penelitian dilakukan dengan merancang serta membuat program berdasarkan permainan “Hunt The Wumpus”
yang akan digunakan sebagai sarana untuk membandingan algoritma Dijkstra dan Floyd-Warshall. Kedua algoritma dibandingkan berdasarkan empat kriteria yakni completeness, optimality, time complexity, dan space complexity. Dari hasil penelitian diketahui bahwa algoritma Dijkstra dan Floyd-Warshall complete dan optimal. Selain itu, diketahui algoritma Floyd-Warshall lebih unggul dari sisi kecepatan namun algoritma Dijkstra lebih unggul dari sisi pemakaian space.
Kata kunci: wumpus, shortest path, Dijkstra, Floyd-Warshall
ABSTRACT
Nowadays, mobility is a crucial factor in society. Along with the increases in mobility, obstacles influencing it are increasing as well. Therefore, technology to support mobility continues to develope, one of which is Global Positioning System (GPS). Nowadays, GPS already has decent features and comes with accurate and comprehensive information. The title of this thesis is “Comparison of Floyd-Warshall and Dijkstra’s Algorithm on Hunt The Wumpus Game “. The goal is to compare Floyd-Warshall’s algorithm and Dijkstra‘s algorithm on “Hunt The Wumpus” game to find out the shortest path. This thesis is expected to be used to enhance the capabilities of GPS technology in order to deliver the shortest path and fastest path features that can be run in real time. Research is carried out by designing and implementing program based on “Hunt The Wumpus” game to compare both algorithms. They are compared on the basis of four criterias which are completeness, optimality, time complexity, and space complexity.The experiments revealed that Dijkstra’s and Floyd-Warshall’s algorithms are both complete and optimal. Also known that Floyd-Warshall’s algorithm is superior in term of speed, but Dijkstra’s Algorithm is superior in term of space usage.
Keyword: wumpus, shortest path, Dijkstra, Floyd-Warshall
HALAMAN PERSEMBAHAN
Do the difficult things while they are easy and do the great things while they are small. A journey of a thousand miles must begin with a single step. (Lao Tzu)
Berpegang pada semboyan di atas, penulis berhasil menyelesaikan skripsi ini. Skripsi ini penulis persembahkan kepada orangtua, kakak, adik, serta teman- teman di Universitas Multimedia Nusantara.
KATA PENGANTAR
Setiap hal yang diterima harus disyukuri, baik untuk hal yang kecil maupun yang besar. Begitu pula dengan keberhasilan penulis dalam menyelesaikan skripsi yang berjudul “Perbandingan Algoritma Floyd-Warshall dan Dijkstra pada Permainan Hunt The Wumpus” yang ditujukan kepada Fakultas Teknologi Informasi dan Komunikasi, Universitas Multimedia Nusantara, rasa syukur penulis panjatkan kepada Tuhan Sang Mahadaya Ilmu.
Selain untuk memenuhi persyaratan memperoleh gelar Sarjana Komputer (S.Kom), skripsi ini dihadirkan untuk pengembangan ilmu pengetahuan dalam bidang teknologi informasi. Skripsi ini juga dapat digunakan sebagai referensi untuk implementasi shortest path algorithm secara konseptual maupun faktual.
Penulis mengucapkan terima kasih kepada Dr. Ninok Leksono selaku Rektor Universitas Multimedia Nusantara, Januar Wahjudi, S.Kom, M.Sc. selaku Ketua Program Studi Teknik Informatika, tim reviewer proposal, sekaligus dosen pembimbing, serta Guson Prasamuarso Kuntarto, S.T., M.I.T. selaku tim reviewer proposal. Selain itu, saya mengucapkan terima kasih kepada teman-teman di Universitas Multimedia Nusantara atas bantuan dan dukungannya terhadap penulis.
Terakhir penulis ucapkan terima kasih juga kepada keluarga tercinta: Mama, Papa, dan saudara-saudara atas doa yang dipanjatkan pada Tuhan untuk penulis.
Semoga skripsi ini dapat bermanfaat bagi para pembaca, terutama para mahasiswa dalam mengembangkan ilmu pengetahuan dalam bidang teknologi informasi.
Tangerang, Februari 2012 Dengan hormat,
Penulis .
DAFTAR ISI
PENGESAHAN SKRIPSI ... ii
PERNYATAAN ... iii
ABSTRAK ... iv
ABSTRACT ... v
HALAMAN PERSEMBAHAN ... vi
KATA PENGANTAR ... vii
DAFTAR ISI ... ix
DAFTAR TABEL ... xi
DAFTAR GAMBAR ... xii
DAFTAR LAMPIRAN ... xiv
ARTI LAMBANG DAN SINGKATAN ... xv
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Permasalahan ... 1
1.2 Rumusan Masalah ... 5
1.3 Batasan Masalah ... 5
1.4 Tujuan Penelitian ... 6
1.5 Manfaat Penelitian ... 6
1.6 Metodologi Penelitian ... 6
1.7 Sistematika Penulisan ... 8
BAB II TELAAH LITERATUR ... 9
2.1 Algoritma ... 9
2.1.1 Big-O ... 11
2.2 Graph ... 12
2.2.1 Shortest Path ... 16
2.3 Dijkstra ... 18
2.4 Floyd-Warshall ... 22
2.6.1 Array ... 28
2.7 Perbandingan Algoritma ... 28
BAB III METODE PENELITIAN... 30
3.1 Struktur Data ... 31
3.2 Men-generate Peta ... 33
3.3 Merepresentasikan Peta ... 35
3.4 Pseudocode Algoritma Dijkstra dan Floyd-Warshall ... 36
3.5 Perbandingan Algoritma ... 38
BAB IV HASIL DAN PEMBAHASAN ... 40
4.1 Permainan “Hunt The Wumpus” ... 40
4.1.1 User Interface ... 40
4.1.2 Class ... 45
4.2 Proses Generate Peta ... 45
4.3 Modul Representasi Peta ... 48
4.4 Implementasi Algoritma ... 50
4.5 Uji Coba ... 55
4.5.1 Completeness ... 55
4.5.2 Optimality ... 59
4.5.3 Space Complexity ... 64
4.5.3.1 Mencari Batas Maksimum Dimensi ... 65
4.5.3.2 Menghitung Space Usage ... 65
4.5.4 Time Complexity ... 71
4.5.4.1 Membandingkan Waktu ... 71
4.5.4.2 Melihat Perkembangan Trend ... 73
BAB V SIMPULAN DAN SARAN ... 77
5.1Simpulan ... 77
5.2 Saran ... 78
DAFTAR PUSTAKA ... 79
LAMPIRAN ... 80
DAFTAR TABEL
Tabel 4.1 Perbandingan Completeness ... 59
Tabel 4.2 Perbandingan Optimality dengan Dimensi 5x5 ... 64
Tabel 4.3 Perbandingan Dimensi Maksimum ... 65
Tabel 4.4 Perbandingan Space ... 69
Tabel 4.5 Perbandingan Waktu ... 72
Tabel 4.6Percobaan Waktu Dijkstra ... 74
Tabel 4.7Percobaan Waktu Floyd-Warshall ... 74
Tabel 4.8 Perbandingan Dijkstra dan Floyd-Warshall ... 76
DAFTAR GAMBAR
Gambar 1.1 Gambaran Permainan “Hunt The Wumpus” ... 2
Gambar 1.2 Diagram Kerja ... 7
Gambar 2.1Pseudocode... 10
Gambar 2.2Flowchart ... 11
Gambar 2.3Graph ... 13
Gambar 2.4 Complete Graph ... 14
Gambar 2.5 Bipartite Graph ... 15
Gambar 2.6 Undirected Graph ... 15
Gambar 2.7 Directed Graph ... 16
Gambar 2.8 Weighted Graph ... 16
Gambar 2.9 Langkah Pertama Dijkstra ... 18
Gambar 2.10 Langkah Kedua Dijkstra... 19
Gambar 2.11 Langkah Ketiga Dijkstra ... 19
Gambar 2.12 Langkah Keempat Dijkstra... 20
Gambar 2.13 Langkah Kelima Dijkstra ... 20
Gambar 2.14Langkah Keenam Dijkstra ... 21
Gambar 2.15Pseudocode Dijkstra ... 21
Gambar 2.16Pseudocode Floyd-Warshall ... 23
Gambar 2.17 Tampilan “Hunt The Wumpus” Berbasis Teks ... 24
Gambar 2.18 Tampilan “Hunt The Wumpus” Berbasis Grafik ... 24
Gambar 2.19 Peta Permainan “Hunt The Wumpus” ... 26
Gambar 3.1 Flowchart Penempatan Obyek ... 34
Gambar 3.2PseudocodeModified Floyd-Warshall ... 37
Gambar 4.1 Interface Awal ... 40
Gambar 4.2 Dialog Box... 41
Gambar 4.3 Tampilan Peta untuk Dimensi 5 x 5 ... 41
Gambar 4.4 Tampilan Peta untuk Dimensi 30 x 30 ... 42
Gambar 4.5 Show Vertices View List ... 43
Gambar 4.6 Dialog Box untuk Menentukan Titik Awal ... 44
Gambar 4.7 Jalur Terpendek untuk Source Number = 0 ... 44
Gambar 4.8 Class Vertex... 45
Gambar 4.9 Algoritma Inisialisasi Peta ... 46
Gambar 4.10 Algoritma Penempatan Obyek ... 46
Gambar 4.11 Algoritma Penggambaran Peta ... 47
Gambar 4.14 Function minDistance ... 51
Gambar 4.15 Algoritma Implementasi Matrix Floyd-Warshall ... 52
Gambar 4.16 Algoritma Implementasi Floyd-Warshall... 53
Gambar 4.17 Function setPathDijkstra ... 54
Gambar 4.18 Function setPathFloyd ... 54
Gambar 4.19 Percobaan yang Complete ... 56
Gambar 4.20 Percobaan Incomplete Pertama ... 57
Gambar 4.21 Percobaan Incomplete Kedua ... 58
Gambar 4.22 Men-generate Peta ... 60
Gambar 4.23 Melihat Semua Kemungkinan Jalur ... 61
Gambar 4.24 Menentukan Jalur Terpendek ... 62
Gambar 4.25 Menjalankan Algoritma Dijkstra ... 63
Gambar 4.26 Menjalankan Algoritma Floyd-Warshall ... 63
Gambar 4.27 Grafik Perbandingan Space ... 70
Gambar 4.28 Grafik Perbandingan Waktu ... 72
Gambar 4.29 Grafik Trend Pertumbuhan Waktu ... 74
Gambar 4.30 Grafik Time Complexity ... 75
DAFTAR LAMPIRAN
DATA PERCOBAAN COMPLETENESS DAN OPTIMALITY ... 80 DATA PERCOBAAN TIME COMPLEXITY ... 87 FORMULIR KONSULTASI SKRIPSI ... 94
ARTI LAMBANG DAN SINGKATAN
E : edge
V : vertex