perbandingan algoritma genetik dan tabu search …thesis.binus.ac.id/asli/cover/2008-2-00440-mtif...
TRANSCRIPT
PERBANDINGAN ALGORITMA GENETIK DAN TABU SEARCH
UNTUK PENYELESAIAN TRAVELING SALESMAN PROBLEM
SKRIPSI
Oleh
RAYMOND SUWANDI
0500604673
PROGRAM GANDA
TEKNIK INFORMATIKA DAN MATEMATIKA
UNIVERSITAS BINA NUSANTARA
JAKARTA
2008
ii
PERBANDINGAN ALGORITMA GENETIK DAN TABU SEARCH
UNTUK PENYELESAIAN TRAVELING SALESMAN PROBLEM
SKRIPSI
diajukan sebagai salah satu syarat untuk gelar kesarjanaan pada
Program Ganda Jenjang Pendidikan Strata 1
Oleh
RAYMOND SUWANDI
0500604673
PROGRAM GANDA
TEKNIK INFORMATIKA DAN MATEMATIKA
UNIVERSITAS BINA NUSANTARA
JAKARTA
2008
iii
PERBANDINGAN ALGORITMA GENETIK DAN TABU SEARCH
UNTUK PENYELESAIAN TRAVELING SALESMAN PROBLEM
SKRIPSI
Oleh
RAYMOND SUWANDI 0500604673
disetujui oleh Pembimbing
Ngarap Imanuel Manik, Drs., M.Kom. Djunaidy Santoso, Dipl.Ing., M.Kom.
D1103 D0533
PROGRAM GANDA
TEKNIK INFORMATIKA DAN MATEMATIKA
UNIVERSITAS BINA NUSANTARA
JAKARTA
2008
v
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa atas segala berkat, kekuatan, dan lindungan-Nya sehingga penulis dapat menyelesaikan penulisan dan pembuatan program skripsi ini tepat pada waktunya meskipun masih jauh dari kesempurnaan.
Penulis menyadari sepenuh hati bahwa tanpa bantuan dan dukungan dari berbagai pihak, skripsi ini tidak mungkin dapat terselesaikan. Oleh karena itu, pada kesempatan ini penulis menyampaikan terima kasih yang setulus-tulusnya kepada :
Bapak Prof. Dr. Gerardus Polla, M.App.Sc selaku Rektor Universitas Bina Nusantara.
Bapak Wikaria Gazali, SSi., MT., selaku Dekan Fakultas MIPA dan Bapak Ramir Santos Austria, MAEd., selaku Ketua Jurusan Fakultas MIPA yang telah memberikan kesempatan kepada penulis untuk menyelesaikan skripsi ini.
Bapak Ngarap I. Manik, Drs., M.Kom., dan Bapak Djunaidy Santoso, Dipl.Ing., M.Kom., selaku Dosen Pembimbing skripsi yang telah banyak membantu memberikan pengarahan, saran dan ide dalam penulisan skripsi ini dari awal sampai akhir.
Papa dan Mama yang senantiasa memberikan kasih sayang, pengharapan dan dukungan penuh kepada penulis.
Natassia Solivan yang selalu menyertai penulis dengan kesabaran dan cinta kasih.
Ronald Suwandi yang sudah banyak membantu dalam penulisan dan penyusunan program skripsi. Terima kasih untuk kesabaran dan waktu yang telah diluangkan untuk penulis.
Ryan Leonel yang telah memberikan bantuan dan banyak petunjuk kepada penulis selama penyusunan skripsi.
Seluruh anggota keluarga, sahabat serta semua pihak yang tidak dapat disebutkan satu-persatu yang telah memberikan masukan dan dorongan kepada penulis dan membantu penyusunan skripsi ini sehingga dapat diselesaikan tepat waktu. Penulis menyadari sepenuhnya bahwa dalam penyusunan skripsi ini masih
banyak terdapat kekurangan. Namun demikian, penulis berusaha semaksimal mungkin untuk menyajikan yang terbaik. Akhir kata, dengan segala kerendahan hati, penulis mengharapkan kritik dan saran yang membangun untuk perbaikan skripsi ini. Semoga skripsi ini bisa bermanfaat bagi semua pihak yang membacanya.
Jakarta, Juli 2008
Penulis.
Raymond Suwandi
0500604673
vi
DAFTAR ISI
Halaman ABSTRAK iv KATA PENGANTAR v DAFTAR ISI vi DAFTAR TABEL viii DAFTAR GAMBAR ix DAFTAR LAMPIRAN x BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1 1.2 Rumusan Rancangan 2 1.3 Spesifikasi Rancangan 2 1.4 Ruang Lingkup Masalah 2 1.5 Tujuan Rancangan 3 1.6 Manfaat Rancangan 3
BAB 2 LANDASAN TEORI 4 2.1 Traveling Salesman Problem 4 2.1.1 Definisi Traveling Salesman Problem 4 2.1.2 Kompleksitas Masalah 5 2.1.3 Metode Penyelesaian TSP 5
2.2 Algoritma Genetik 5 2.2.1 Representasi Genetik dari Domain Solusi 8 2.2.2 Inisialisasi 10 2.2.3 Fungsi Evaluasi dan Fungsi Fitness 10 2.2.4 Seleksi 11 2.2.5 Crossover 12 2.2.6 Mutasi 17 2.2.7 Elitisme 18 2.2.8 Parameter-parameter Algoritma Genetik 18 2.3 Algoritma Tabu Search 20 2.3.1 Cara Kerja Algoritma Tabu Search 21 2.3.2 Memori 21 2.3.3 Aspiration Criterion 23 2.4 Interaksi Manusia dan Komputer 24 2.4.1 Pengertian Interaksi Manusia dan Komputer 24 2.4.2 Eight Golden Rules of User Interface 24 2.5 Perangkat Lunak 26 2.5.1 Dasar Perancangan Perangkat Lunak 26 2.5.2 Fase Pengembangan Perangkat Lunak 26 2.4 Notasi Big O 28 BAB 3 ANALISIS DAN PERANCANGAN PROGRAM 30 3.1 Analisis Permasalahan 30
vii
3.2 Perancangan Kebutuhan Data 30 3.3 Perancangan Program 30 3.3.1 Algoritma Genetik 31 3.3.2 Tabu Search 33
3.4 Perancangan Layar 34 3.4.1 Layar Utama 34
3.4.2 Layar Hasil 35 3.4.3 Layar About 36
3.4.4 Layar Utama Program Pembuat TSP 37 3.5 Spesifikasi Proses 38 3.5.1 Algoritma Genetik 35
3.5.1.1 Spesifikasi Proses Inisialisasi Algoritma Genetik 35
3.5.1.2 Spesifikasi Proses Perhitungan Fitness dari Populasi 39
3.5.1.3 Spesifikasi Pemilihan Individu-Individu Elit dari Populasi 40
3.5.1.4 Spesifikasi Metode Seleksi 41 3.5.1.5 Spesifikasi Metode Persilangan 42 3.5.1.6 Spesifikasi Metode Mutasi 43
3.5.2 Tabu Search 44 3.5.2.1 Spesifikasi Proses Inisialisasi Tabu Search 44
3.5.2.2 Spesifikasi Proses Evaluasi dari Solusi 45 3.5.2.3 Spesifikasi Proses Pencarian Solusi Baru 45 3.5.2.4 Spesifikasi Proses Algoritma 2-opt 46
BAB 4 IMPLEMENTASI DAN EVALUASI 48 4.1 Implementasi 48
4.1.1 Spesifikasi Perangkat Keras 48 4.1.2 Spesifikasi Perangkat Lunak 48 4.1.3 Cara Penggunaan Aplikasi 49 4.1.3.1 Tombol Open File 50 4.1.3.2 Tombol TSP Maker 50 4.1.3.3 Tombol Run 55 4.1.3.4 Tombol About 56 4.1.3.5 Mode non-interaktif ( tanpa GUI ) 57
4.2 Analisis dan Evaluasi 58
BAB 5 KESIMPULAN DAN SARAN 66 5.1 Kesimpulan 66 5.2 Saran 66
DAFTAR PUSTAKA 68 RIWAYAT HIDUP 70 LAMPIRAN L1
viii
DAFTAR TABEL
Halaman Tabel 2.1 Contoh kromosom dengan representasi biner 8 Tabel 2.2 Contoh kromosom dengan representasi permutasi 9 Tabel 2.3 Contoh kromosom dengan representasi nilai 9 Tabel 2.4 Contoh kromosom dengan representasi pohon 10 Tabel 2.5 Daftar notasi Big O (Sumber:http://en.wikipedia.org/wiki/Big_Oh) 29 Tabel 4.1 Tabel parameter algoritma pada pengujian 58 Tabel 4.2 Tabel hasil penyelesaian dengan menggunakan algoritma genetik 59 Tabel 4.3 Tabel hasil penyelesaian dengan algoritma Tabu Search 59 Tabel 4.4 Tabel parameter Tabu Search pada pengujian 60 Tabel 4.5 Tabel hasil penyelesaian dengan algoritma Tabu Search 60 Tabel 4.6 Tabel parameter algoritma genetik 61 Tabel 4.7 Tabel hasil penyelesaian dengan algoritma genetic 61 Tabel 4.8 Tabel parameter algoritma genetik 61 Tabel 4.9 Tabel hasil penyelesaian dengan algoritma genetik 61
ix
DAFTAR GAMBAR
Halaman Gambar 2.1 Weighted graph 5 Gambar 2.2 Algoritma genetik divisualisasikan sebagai paralel hill climbing 6 Gambar 2.3 One-point crossover 13 Gambar 2.4 Two-point Crossover 14 Gambar 2.5 Keadaan memori pada solusi awal (kiri) dan solusi baru (kanan) 22 Gambar 2.6 Keadaan memori pada solusi awal (kiri) dan solusi baru (kanan) 23 Gambar 2.7 Waterfall Model 28 Gambar 3.1 Algoritma genetik dengan elitisme 32 Gambar 3.2 Perancangan layar utama program 35 Gambar 3.3 Layar hasil penyelesaian TSP 36 Gambar 3.4 Layar about 36 Gambar 3.5 Layar utama program pembuat TSP 37 Gambar 4.1 Tampilan layar menu utama 49 Gambar 4.2 Tampilan dialog Open File 50 Gambar 4.3 Tampilan layar TSP Maker 51 Gambar 4.4 Tampilan dialog untuk menanyakan jumlah kota yang dimasukkan 52 Gambar 4.5 Hasil dari pengacakan kota 52 Gambar 4.6 Tampilan dialog penyimpanan file 53 Gambar 4.7 Tampilan dialog sebagai informasi bahwa file telah disimpan 53 Gambar 4.8 Tampilan layar TSP Maker setelah semua kota dihapus 54 Gambar 4.9 Tampilan layar TSP Result 55 Gambar 4.10 Hasil akhir setelah menyelesaikan TSP 56 Gambar 4.11 Dialog About 56 Gambar 4.12 Gambar penyelesaian untuk 10 kota 62 Gambar 4.13 Gambar penyelesaian untuk 20 kota. 62 Gambar 4.14 Gambar penyelesaian untuk 50 kota 63
(konfigurasi tabel 4.4(I) dan 4.6) Gambar 4.15 Gambar penyelesaian untuk 150 kota 63
(konfigurasi tabel 4.8)