IMPLEMENTASI ALGORITMA GENETIK UNTUK MENYELESAIKAN MASALAH TRAVELING SALESMAN PROBLEM (STUDI KASUS: SATUAN KERJA PERANGKAT DAERAH KOTA MEDAN) DRAFT SKRIPSI RAJO PANANGIAN HARAHAP 111421045 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
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
ii 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
iii 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
iv 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, 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. 5. Seluruh dosen Departemen Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, yang telah membimbing dan mencurahkan ilmunya selama masa perkuliahan.
v 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
vi 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).
vii IMPLEMENTATION OF GENETIC ALGORITHM TO SOLVE TRAVELING SALESMAN PROBLEM (CASE STUDY: SATUAN KERJA PERANGKAT 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).
viii DAFTAR ISI Hal. Persetujuan Pernyataan Penghargaan Abstrak Abtract Daftar Isi Daftar Tabel Daftar Gambar ii iii iv vi vii viii xi xii Bab 1 Pendahuluan 1 1.1 Latar Belakang 1 1.2 Rumusan Masalah 3 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 4 1.6 Metodologi Penelitian 4 1.7 Sistematika Penulisan 5 Bab 2 Landasan Teori 6 2.1 Definisi Graf 6 2.1.1 Jenis-Jenis Graf 7 2.1.2 Macam-macam Graf 7 2.1.3 Representasi Graf 8 2.1.3.1 Matriks Ketegangan 9 2.1.3.2 Matriks Berisian 10 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 2.3.1 Pengerian Individu 17 2.3.2 Struktur Umum Algoritma Genetika 19 2.3.3 Komponen-komponen Algoritma Genetika 20 2.3.3.1 Skema Pengkodean 21 2.3.3.2 Nilai Fitness 23 2.3.3.3 Seleksi Induk 24 2.3.3.4 Proses Reproduksi 27 2.3.3.4 Pindah Silang (Crossover) 27 2.3.3.5 Mutasi 28
ix 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 TSP 70 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
x 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
xi DAFTAR TABEL Tabel 2.1 Tur Parent Dengan Childnya 30 Tabel 3.1 Dokumentasi naratif Use Case Penentuan rute terpendek 38 dengan Algoritma Genetik Tabel 4.1 Koordinat SKPD 63 Tabel 4.2 Beberapa hasil pengujian dengan variasi nilai Pc dan Pm 77 Hal.
xii DAFTAR GAMBAR Gambar 2.1 Graf 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 20 Gambar 2.10 Siklus algoritma genetik 21 Gambar 2.11 Skema pengkodean Binary Encoding 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 38 Gambar 3.3 Activity Diagram Penentuan rute terpendek dengan AG 39 Gambar 3.4 Sequence Diagram 40 Gambar 3.5 Flowchart Algoritma Genetika 41 Gambar 3.6 Pseudo-code Algoritma Genetika 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 54 Gambar 3.14 Rancangan Jendela Utama 56 Gambar 3.15 Rancangan Jendela Genetik Models 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 72 Hal.
xiii Gambar 4.5 Tampilan Jendela Settings 72 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