IMPLEMENTASI ALGORITMA GENETIK UNTUK MENYELESAIKAN MASALAH TRAVELING SALESMAN PROBLEM (STUDI KASUS: SATUAN KERJA PERANGKAT DAERAH KOTA MEDAN) DRAFT SKRIPSI RAJO PANANGIAN HARAHAP 111421045
IMPLEMENTASI ALGORITMA GENETIK UNTUK MENYELESAIKAN MASALAH TRAVELING SALESMAN PROBLEM (STUDI KASUS: SATUAN KERJA
PERANGKAT DAERAH KOTA MEDAN SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer RAJO PANANGIAN HARAHAP
111421045 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN
2015
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA GENETIK UNTUK MENYELESAIKAN MASALAH TRAVELING SALESMAN PROBLEM (STUDI KASUS: SATUAN KERJA PERANGKAT DAERAH KOTA MEDAN)
Kategori : SKRIPSI Nama : RAJO PANANGIAN HARAHAP Nomor Induk Mahasiswa : 111421045 Program Studi : EKSTENSI S1 ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Juli 2015
Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Ade Candra, ST, M.Kom Dr. Poltak Sihombing, M.Kom NIP. 19790904 200912 1 002 NIP. 19620317 199103 1 001 Diketahui/disetujui oleh Program Studi Ekstensi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 19620317 199103 1 001
PERNYATAAN
IMPLEMENTASI ALGORITMA GENETIK UNTUK MENYELESAIKAN MASALAH TRAVELING SALESMAN PROBLEM (STUDI KASUS:
SATUAN KERJA PERANGKAT DAERAH KOTA MEDAN) SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Juli 2015 Rajo Panangian Harahap 111421045
PENGHARGAAN
Alhamdulillah, puji syukur penulis panjatkan kehadirat Allah SWT, yang telah memberikan rahmat dan hidayah-Nya serta segala sesuatunya dalam hidup. Sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada semua pihak yang telah membantu penulis selama pengerjaan skripsi ini, antara lain kepada:
1. Bapak Drs. Poltak Sihombing, M.Kom sebagai Dosen Pembimbing dan selaku Ketua Departemen Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara yang telah memberikan saran, dan masukan kepada penulis.
2. Bapak Ade Candra, ST, M.Kom sebagai Dosen Pembimbing yang telah memberikan bimbingan, saran, masukkan kepada penulis untuk menyempurnakan kajian ini.
3. Ibu Dian Rachmawati, S.Si, M.Kom dan Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM sebagai Dosen Pembanding.
4. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi serta seluruh dosen dan pegawai Program Studi Ekstensi S1 Ilmu Komputer Universitas Sumatera Utara.
5. Seluruh dosen Departemen Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara yang telah membimbing dan mencurahkan ilmunya selama masa perkuliahan.
6. Seluruh pegawai di lingkungan Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
7. Teristimewa kepada orang tua penulis, Alm. Guntur Harahap dan Ibunda Farida Iriani Siregar atas do’a dan kasih sayang yang tidak pernah putus, kepada adinda saya Elly Syafitri Harahap dan adinda Raisa Harahap atas dorongan semangat yang diberikan kepada penulis.
8. Teman-teman seangkatan Ekstensi S1 Ilmu Komputer tahun 2011 yang sama- sama berjuang meraih gelar Sarjana.
Semoga Allah SWT memberikan limpahan karunia semua pihak yang membantu penulis dalam menyelesaikan skripsi ini. Akhirnya penulis berharap bahwa skripsi ini bermanfaat terutama kepada penulis maupun para pembaca serta semua pihak akademisi yang tertarik mengembangkannya. Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, oleh karena itu penulis menerima saran dan kritik demi kesempurnaan skripsi ini sehingga bermanfaat bagi semua pihak.
Medan, Juli 2015 Penulis
Rajo Panangian Harahap
ABSTRAK
Persoalan pencarian rute terpendek dari sejumlah Satuan Kerja Perangkat Daerah (SKPD) pada penelitian ini termasuk pada persoalan optimasi Traveling Salesman
Problem . Pada penelitian ini terdapat 59 SKPD yang harus di tempuh oleh pegawai
kota medan bila kemudian menyinggahi setiap SKPD tepat satu kali. Salah satu Algoritma yang muncul untuk menyelesaikan persoalan ini adalah Algoritma Genetika. Pada peneletian ini akan dibuat program untuk mencari rute terpendek dari
59 SKPD yang terbagi atas 5 Tim. Program didesain menggunakan representasi kromosom dengan skema pengkodean menggunakan skema permutation encoding. Pengujian dilakukan dengan variasi probabilitas pindah silang dan mutasi, variasi jumlah kromosom dalam satu populasi dan jumlah generasi. Hasil percobaan dengan ukuran populasi dan generasi yang besar serta nilai probabilitas mutasi pada 0,01 dan 0,3 memberikan rata-rata keberhasilan yang paling baik.
Kata Kunci : Algoritma Genetika, Traveling Salesman Problem, SKPD (Satuan Kerja Perangkat Daerah).
IMPLEMENTATION OF GENETIC ALGORITHM TO SOLVE TRAVELING
SALESMAN PROBLEM (CASE STUDY: SATUAN KERJAPERANGKAT DAERAH KOTA MEDAN)
ABSTRACT
Finding the shortest route from a number of Local Government Work Units (LGWU) in this study is a matter of optimization of Travelling Salesman Problem. In this research, there are 59 LGWUs that must be passed by Medan city employee in case to set every LGWU visiting in one turn. One possible algorithm to solve this matter is Genetic Algorithm. In this research, a program is made to find the shortest route amongst 59 LGWUs that divided into 5 teams. The program is designed by using chromosome representation with coding scheme using permutation coding scheme. The test carried out with crossover probability variation and mutation, a number of chromosomes in one population and one generation variation. The test result in large scale of population and generation and in mutation probability between 0,01 and 0,3 gives the best average of success.
Keywords: Genetic Algorithm, Traveling Salesman Problem, LGWU (Local government work unit).
DAFTAR ISI Hal.
2.3.1 Pengerian Individu
2.1.3.3 Senarai Ketegangan
10
2.2 Traveling Salesman Problem
11
2.2.1 Sejarah Traveling Salesman Problem
11
2.2.2 Defenisi Traveling Salesman Problem
11
2.2.3 Kompleksitas Masalah
13
2.2.4 Algoritma Penyelesaian Traveling Salesman Problem
13
2.3 Algoritma Genetik
15
17
2.1.3.2 Matriks Berisian
2.3.3.3 Seleksi Induk
2.3.3.5 Mutasi
27
2.3.3.4 Pindah Silang (Crossover)
27
2.3.3.4 Proses Reproduksi
24
23
2.3.2 Struktur Umum Algoritma Genetika
2.3.3.2 Nilai Fitness
21
2.3.3.1 Skema Pengkodean
20
2.3.3 Komponen-komponen Algoritma Genetika
19
10
9
Persetujuan ii
Bab 1 Pendahuluan
1.3 Batasan Masalah
3
1.2 Rumusan Masalah
1
1.1 Latar Belakang
1
Daftar Gambar xii
1.4 Tujuan Penelitian
Daftar Tabel xi
Daftar Isi viii
Abtract vii
Abstrak vi
Penghargaan iv
Pernyataan iii
3
3
2.1.3.1 Matriks Ketegangan
6
8
2.1.3 Representasi Graf
7
2.1.2 Macam-macam Graf
7
2.1.1 Jenis-Jenis Graf
2.1 Definisi Graf
1.5 Manfaat Penelitian
6
5 Bab 2 Landasan Teori
1.7 Sistematika Penulisan
4
1.6 Metodologi Penelitian
4
28
2.3.3.6 Elitisme
28
2.3.3.7 Pergantian Populasi
29
2.3.4 Cara Kerja Algoritma Genetika
29
2.3.5 Traveling Salesman Problem dalam Algoritma Genetik
31 Bab 3 Analisis dan Perancangan
34
3.1 Analisis Sistem
34
3.1.1 Analisis Masalah (Problem Analysis)
34
3.1.2 Analisis Kebutuhan (Requirement Analysis)
36
3.1.2.1 Analisis Kebutuhan Fungsional
36
3.1.2.1 Analisis Kebutuhan Non-Fungsional
36
3.1.3 Pemodelan Sistem
37
3.1.3.1 Use Case Diagram
37
3.1.3.1.1 Use Case Penentuan Rute Terpendek dengan
38 Algoritma Genetik
3.1.3.2 Sequence Diagram
40
3.3 Perancangan Sistem
40
3.3.1 Penyelesaian TSP Kurva Terbuka Menggunakan Genetik
41
3.3.2 Flowchart Inisialisasi Populasi
42
3.3.3 Flowchart Evaluasi Individu
44
3.3.4 Flowchart Elitisme
46
3.3.5 Flowchart Penskalaan Nilai Fitness
47
3.3.6 Flowchart Seleksi
49
3.3.7 Flowchart Pindah Silang
51
3.3.8 Flowchart Mutasi
53
3.3.9 Pergantian Populasi
55
3.4 Perancangan Tampilan Antarmuka
56
3.4.1 Rancangan Jendela Utama
56
3.4.2 Rancangan Jendela Genetik Models
57
3.4.3 Rancangan Jendela Load Data
58
3.4.4 Rancangan Jendela Settings
59
3.4.5 Rancangan Jendela Simulation
60
3.4.6 Rancangan Jendela Tentang
61 Bab 4 Implementasi Dan Pengujian
62
4.1 Implementasi
62
4.1.1 Implementasi Algoritma Genetik Pada Sistem
62
4.1.1.1 Proses Pencarian Rute Terpendek
66
4.2 Tampilan Antarmuka
70
4.2.1 Tampilan Aplikasi Algoritma Genetik
70
- –TSP
4.2.2 Tampilan Jendela Utama
70
4.2.3 Tampilan Jendela Genetik Models
71
4.2.4 Tampilan Jendela Load Data
72
4.2.5 Tampilan Jendela Settings
72
4.2.6 Tampilan Simulation
73
4.2.7 Tampilan Tentang
73
4.3 Pengujian Sistem
74
4.3.1 Pengujian Sistem Pencarian Rute Terpendek SKPD Tim 1
74
4.3.2 Pengujian Sistem Pencarian Rute Terpendek SKPD Tim 2
74
4.3.3 Pengujian Sistem Pencarian Rute Terpendek SKPD Tim 3
75
4.3.3 Pengujian Sistem Pencarian Rute Terpendek SKPD Tim 4
76
4.3.3 Pengujian Sistem Pencarian Rute Terpendek SKPD Tim 5
76 Bab 5 Kesimpulan Dan Saran
79
5.1 Kesimpulan
79
5.2 Saran
80 Daftar Pustaka Lampiran A: Listing Program Lampiran B: Curriculum Vitae
DAFTAR TABEL
Hal.Tabel 2.1 Tur Parent Dengan Childnya30 Tabel 3.1 Dokumentasi naratif Use Case Penentuan rute terpendek
38 dengan Algoritma Genetik
Tabel 4.1 Koordinat SKPD63 Tabel 4.2 Beberapa hasil pengujian dengan variasi nilai Pc dan Pm
77
DAFTAR GAMBAR
Hal.54 Gambar 3.14 Rancangan Jendela Utama
42 Gambar 3.7 Flowchart inisialisasi populasi
43 Gambar 3.8 Flowchart evaluasi individu
45 Gambar 3.9 Flowchart elitisme
47 Gambar 3.10 Flowchart linear fitness ranking
48 Gambar 3.11 Flowchart seleksi
50 Gambar 3.12a Flowchart pindah silang
51 Gambar 3.12b Flowchart pindah silang
52 Gambar 3.13 Flowchart mutasi
56 Gambar 3.15 Rancangan Jendela Genetik Models
40 Gambar 3.5 Flowchart Algoritma Genetika
57 Gambar 3.16 Rancangan Jendela Load Data
58 Gambar 3.17 Rancangan Jendela Settings
59 Gambar 3.18 Rancangan Jendela Simulation
60 Gambar 3.19 Rancangan Jendela Tentang
61 Gambar 4.1 Graf SKPD
66 Gambar 4.2 Tampilan Jendela Utama
71 Gambar 4.3 Tampilan Jendela Genetik Models
71 Gambar 4.4 Tampilan Jendela Load Data
41 Gambar 3.6 Pseudo-code Algoritma Genetika
39 Gambar 3.4 Sequence Diagram
Gambar 2.1 Graf20 Gambar 2.10 Siklus algoritma genetik
6 Gambar 2.2 Graf berarah dan berbobot
7 Gambar 2.3 Graf tidak berarah dan berbobot
8 Gambar 2.4 Graf berarah dan tidak berbobot
8 Gambar 2.5 Graf tidak berarah dan tidak berbobot
8 Gambar 2.6 Ilustrasi Masalah TSP
13 Gambar 2.7 Diagram pengelompokan dalam teknik pencarian
16 Gambar 2.8 Ilustrasi definisi individu dalam algoritma genetik
18 Gambar 2.9 Struktur Umum Algoritma Genetika
21 Gambar 2.11 Skema pengkodean Binary Encoding
38 Gambar 3.3 Activity Diagram Penentuan rute terpendek dengan AG
22 Gambar 2.12 Skema pengkodean Discrete decimal encoding
22 Gambar 2.13 Skema pengkodean Real-number encoding
22 Gambar 2.14 Contoh penggunaan metode Roulette-wheel
25 Gambar 2.15 Ilustrasi prinsip kerja metode Roulette-wheel
26 Gambar 2.16 Contoh proses pindah silang
27 Gambar 2.17 Pindah silang menggunakan order crossover
33 Gambar 3.1 Iskhikawa Diagram
35 Gambar 3.2 Use Case Diagram
72
Gambar 4.5 Tampilan Jendela Settings72 Gambar 4.6 Tampilan Jendela Simulation
73 Gambar 4.7 Tampilan Jendela Tentang
73 Gambar 4.8 Hasil Pencarian Rute Terpendek SKPD Tim 1
74 Gambar 4.9 Hasil Pencarian Rute Terpendek SKPD Tim 2
75 Gambar 4.10 Hasil Pencarian Rute Terpendek SKPD Tim 3
75 Gambar 4.11 Hasil Pencarian Rute Terpendek SKPD Tim 4
76 Gambar 4.12 Hasil Pencarian Rute Terpendek SKPD Tim 5
77