1 ANALISIS PERFORMANCE ATAS METODE ARITHMETIC CROSSOVER DALAM ALGORITMA GENETIKA TESIS ERIANTO ONGKO 127038063 PROGRAM STUDI S2 TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
ii PERSETUJUAN Judul Tesis : Analisis Performance Atas Metode Arithmetic Crossover Dalam Algoritma Genetika Kategori : Tesis Nama Mahasiswa : ERIANTO ONGKO Nomor Induk Mahasiswa : 127038063 Program Studi : Magister (S2) Teknik Informatika Fakultas : Ilmu Komputer dan Teknologi Informasi Komisi Pembimbing : Pembimbing 2, Pembimbing 1, Dr. Erna Budhiarti Nababan, M.IT Prof. Dr. Opim Salim Sitompul, M.Sc Diketahui/disetujui oleh Program Studi S2 Teknik Informatika Ketua, Prof. Dr. Muhammad Zarlis, M.Sc NIP: 19570701 198601 1 003
iii PERNYATAAN ANALISIS PERFORMANCE ATAS METODE ARITHMETIC CROSSOVER DALAM ALGORITMA GENETIKA TESIS Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, Januari 2015 Erianto Ongko 127038063
iv PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Sebagai sivitas akademika, saya yang bertanda tangan di bawah ini Nama : ERIANTO ONGKO NIM : 127038063 Program Studi : Magister S2 Teknik Informatika Jenis Karya Ilmiah : Tesis Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul: ANALISIS PERFORMANCE ATAS METODE ARITHMETIC CROSSOVER DALAM ALGORITMA GENETIKA Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non- Eksklusif ini, berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat, dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta. Demikian pernyataan ini dibuat dengan sebenarnya. Medan, Januari 2015 Erianto Ongko 127038063
v Telah diuji pada Tanggal : PANITIA PENGUJI TESIS Ketua : Prof. Dr. Opim Salim Sitompul, M.Sc. Anggota : 1. Dr. Erna Budhiarti Nababan, M.IT 2. Prof. Dr. Herman Mawengkang 3. Prof. Dr. Muhammad Zarlis, M.Sc. 4. Dr. Marwan Ramli, M.Si
vi RIWAYAT HIDUP DATA PRIBADI Nama Lengkap : ERIANTO ONGKO Tempat dan Tanggal Lahir : Medan, 25 Desember 1990 Alamat : Jalan Cahaya No. 48 Medan Telepon/ HP : -/085261589462 e-mail : erianto_ongko@yahoo.co.id DATA PENDIDIKAN SD : SD Gajah Mada Medan TAMAT tahun 2002 SMP : SMP Dharma Putra Tangerang TAMAT tahun 2005 SMA : SMA Methodist 2 Medan TAMAT tahun 2008 S-1 : Teknik Informatika STMIK IBBI TAMAT tahun 2012 S-2 : Teknik Informatika USU TAMAT tahun 2015
vii KATA PENGANTAR Sungguh suatu kesempatan yang berharga bagi peneliti untuk menyampaikan puji dan syukur kepada Tuhan Yang Maha Esa sehingga peneliti bisa menyelesaikan penulisan Tesis ini. Tesis ini adalah salah satu persyaratan wajib untuk menyelesaikan perkuliahan dengan konsentrasi bidang Magister Teknik Informatika pada Fasilkom TI USU Medan. Sebagai bahan penelitian, peneliti sendiri mengambil judul Analisis Performance atas Metode Arithmetic Crossover dalam Algoritma Genetika. Peneliti melakukan penelitian dengan mengambil data benchmark berlin52.tsp yang bersumber dari TSPLIB. Peneliti berharap agar tesis ini bermanfaat bagi banyak pihak. Dalam menyelesaikan Tesis ini, peneliti telah mendapat banyak bantuan serta masukan dari berbagai pihak. Oleh karena itu, melalui kesempatan yang berbahagia, peneliti ingin berterima kasih kepada: 1. Bapak Prof Dr Syahril Pasaribu, DTMH, MSc (CTM), SpA(K) selaku Rektor atas kesempatan yang telah diberikan kepada peneliti sehingga bisa mengikuti dan menyelesaikan pendidikan program Magister (S2)Teknik Informatika. 2. Bapak Prof. Dr. Muhammad Zarlis, M.Sc selaku Dekan Fasilkom TI dan sekaligus Ketua Program Studi Magister (S2) Teknik Informatika. 3. Bapak M. Andri Budiman, S.T., M.CompSc, M.EM selaku Sekretaris Program Studi Magister (S2) Teknik Informatika. 4. Terima kasih yang terhingga serta penghargaan setinggi-tingginya kepada Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Pembimbing Utama, dan Ibu Dr. Erna Budhiarti Nababan, M.IT selaku Pembimbing Anggota yang telah membimbing dan menuntun peneliti dengan penuh kesabaran hingga selesainya tesis ini. 5. Terima kasih yang terhingga serta penghargaan setinggi-tingginya kepada Bapak Prof. Dr. Muhammad Zarlis, M.Sc, Bapak Prof. Dr. Herman Mawengkang dan Bapak Dr. Marwan Ramli, M.Si selaku pembanding yang telah memberikan masukan dan arahan yang baik demi selesainya tesis ini.
viii 6. Teristimewa untuk Ibunda peneliti, Kesuma Dewi yang telah dengan penuh kasih sayang membesarkan dan mendidik peneliti serta memberikan dorongan moril maupun materil hingga selesainya perkuliahan peneliti. 7. Terima kasih juga peneliti sampaikan kepada Nenek, Abang, dan Adik peneliti atas doa yang tidak pernah padam untuk peneliti di dalam menjalani kegiatan perkuliahan hingga selesai. 8. Seluruh pegawai dan staf administrasi pada Program Studi Magister (S2) Teknik Informatika pada Fasilkom TI USU Medan yang telah memberikan bantuan dan pelayanan terbaik kepada peneliti selama mengikuti perkuliahan hingga selesai. 9. Kepada seluruh rekan peneliti, Mahasiswa/I KOM C angkatan tahun 2012, terima kasih atas suasana perkuliahan yang baik selama ini dan semoga kita dapat menjalin kerja sama yang baik di masa mendatang. 10. Semua pihak yang tidak dapat peneliti sebutkan namanya satu persatu, terima kasih atas bantuan yang telah diberikan kepada peneliti selama ini. Dengan segala kekurangan dan kerendahan hati, sekali lagi peneliti mengucapkan terima kasih. Semoga kiranya Tuhan Yang Maha Esa membalas segala bantuan dan kebaikan yang telah diberikan. Medan, Januari 2015 Peneliti Erianto Ongko NIM: 127038063
ix ABSTRAK Algoritma genetika sering digunakan pada masalah praktis yang berfokus pada pencarian parameter-parameter atau solusi yang optimal. Kelebihan algoritma genetika adalah kemampuannya untuk mendapatkan global optima dalam pencarian solusi sehingga sering digunakan dalam optimasi. Salah satu mekanisme yang turut berperan di dalam algoritma genetika adalah proses crossover sebagian dari kromosom induk pertama dengan sebagian kromosom induk kedua lalu menghasilkan kromosom baru. Metode crossover yang akan dianalisis dalam penelitian ini adalah arithmetic crossover dengan studi permasalahan yang digunakan adalah permasalahan Traveling Salesman Problem (TSP). Kromosom offspring (kromosom anak) diperoleh dengan melakukan operasi aritmatika terhadap parent (induk). Algoritma genetika akan berhenti jika sejumlah generasi maksimum tercapai atau level fitness yang ditentukan telah terpenuhi. Tujuan dari penelitian ini adalah mendapatkan hasil analisis performance dari metode arithmetic crossover dengan masalah utama adalah mendapatkan gambaran mengenai kaitan jumlah gen dalam suatu kromosom yang mengalami crossover dengan performance dari algoritma genetika. Kata Kunci: algoritma genetika, arithmetic crossover, fitness
x PERFORMANCE ANALYSIS OF THE METHOD ARITHMETIC CROSSOVER IN GENETIC ALGORITHM ABSTRACT Genetic algorithms are often used in practical problems that focuses on search parameters or the optimal solution. Excess genetic algorithm is its ability to obtain global optima in the search for a solution that is often used in the optimization. One of the mechanisms that play a role in the genetic algorithm is the crossover portion of the first parent chromosome with most second parent chromosome and produce new chromosomes. Crossover method which will be analyzed in this study is the arithmetic crossover used to study the problems is the problem of Traveling Salesman Problem (TSP). Offspring chromosome (child) is obtained by performing arithmetic operations of the parent. Genetic algorithm will stop when the maximum number of generations is reached or a specified level of fitness has been fulfilled. The purpose of this study is to get the performance analysis of the arithmetic crossover method with the main problem is to get an idea of the link between the number of genes in a chromosome that is experiencing a crossover with the performance of the genetic algorithm. Keyword: arithmetic crossover, genetic algorithm, fitness
xi DAFTAR ISI Hal. HALAMAN JUDUL i PERSETUJUAN ii PERNYATAAN ORISINALITAS iii PERSETUJUAN PUBLIKASI iv PANITIA PENGUJI v RIWAYAT HIDUP vi KATA PENGANTAR vii ABSTRAK ix ABSTRACT x DAFTAR ISI xi DAFTAR GAMBAR xiii DAFTAR TABEL xiv BAB I PENDAHULUAN 1 1.1 Latar Belakang 1 1.2 Perumusan Masalah 3 1.3 Batasan Masalah 4 1.4 Tujuan Penelitian 4 1.5 Manfaat Penelitian 4 BAB II TINJAUAN PUSTAKA 5 2.1 Algoritma Genetika 5 2.2 Struktur Umum Algoritma Genetika 7 2.3 Teknik Encoding 10 2.4 Operator Genetik 10 2.4.1 Proses Seleksi 11 2.4.2 Pindah Silang (Crossover) 12 2.4.3 Mutasi 16 2.5 Parameter Genetik 17 2.6 Traveling Salesman Problem (TSP) 18 2.7. Penelitian-Penelitian Terkait 19
xii 2.7.1 Penelitian Terdahulu 19 2.7.2 Perbedaan Penelitian 20 2.7.3 Kontribusi yang Diberikan 21 BAB III METODOLOGI PENELITIAN 22 3.1 Pendahuluan 22 3.2 Data yang Digunakan 22 3.3 Algoritma Genetika terhadap Traveling Salesman Problem 23 3.3.1 Dasar Algoritma Genetika 23 3.3.2 Mendefinisikan Individu 29 3.3.3 Pembangkitan Populasi Awal 29 3.3.4 Seleksi 30 3.3.5 Crossover 31 3.3.6 Mutasi 35 BAB IV HASIL DAN PEMBAHASAN 37 4.1 Pendahuluan 37 4.2 Hasil Pengujian untuk 100 Generasi 37 4.2.1 Pengujian dengan Probabilitas Crossover (PC=0.25) 37 4.2.2 Pengujian dengan Probabilitas Crossover (PC=0.5) 42 4.3 Hasil Pengujian untuk 300 Generasi 47 4.3.1 Pengujian dengan Probabilitas Crossover (PC=0.25) 47 4.3.2 Pengujian dengan Probabilitas Crossover (PC=0.5) 51 4.4 Hasil Pengujian untuk 500 Generasi 56 4.4.1 Pengujian dengan Probabilitas Crossover (PC=0.25) 56 4.4.2 Pengujian dengan Probabilitas Crossover (PC=0.5) 60 4.5 Pembahasan 65 BAB V KESIMPULAN DAN SARAN 68 5.1 Kesimpulan 68 5.2 Saran 69 DAFTAR PUSTAKA 70
xiii DAFTAR GAMBAR Halaman Gambar 2.1. Siklus Algoritma Genetika 6 Gambar 2.2. Gambar Diagram Alir Algoritma 7 Gambar 2.3. Metode Roulette Wheel Selection 12 Gambar 2.4. Metode Stochastic Universal Sampling 12 Gambar 3.1. Metode Penelitian 23 Gambar 3.2. Dasar Algoritma Genetika 24 Gambar 3.3. Flowchart Whole Arithmetic Crossover 25 Gambar 3.4. Flowchart Simple Arithmetic Crossover 27 Gambar 3.5. Flowchart Single Arithmetic Crossover 28 Gambar 3.6. Jarak Tiap Kota yang Akan Dikunjungi 29 Gambar 4.1. Hasil Pengujian dengan PC Sebesar 0.25 untuk 100 Generasi 42 Gambar 4.2. Hasil Pengujian dengan PC Sebesar 0.5 untuk 100 Generasi 46 Gambar 4.3. Hasil Pengujian dengan PC Sebesar 0.25 untuk 300 Generasi 51 Gambar 4.4. Hasil Pengujian dengan PC Sebesar 0.5 untuk 300 Generasi 55 Gambar 4.5. Hasil Pengujian dengan PC Sebesar 0.25 untuk 500 Generasi 60 Gambar 4.6. Hasil Pengujian dengan PC Sebesar 0.5 untuk 500 Generasi 64 Gambar 4.7. Hasil Pengujian dengan Menggunakan Metode Whole Arithmetic Crossover dengan Menggunakan PC=0.5 untuk Pengujian dengan 500 Generasi 66 Gambar 4.8. Hasil Pengujian dengan Menggunakan Metode Simple Arithmetic Crossover dengan Menggunakan PC=0.5 untuk Pengujian dengan 500 Generasi 66 Gambar 4.9. Hasil Pengujian dengan Menggunakan Metode Single Arithmetic Crossover dengan Menggunakan PC=0.5 untuk Pengujian dengan 500 Generasi 67
xiv DAFTAR TABEL Halaman Tabel 2.1. Teknik Permutation Encoding 10 Tabel 2.2. One Point Crossover 13 Tabel 2.3. Two Point Crossover 13 Tabel 2.4. Uniform Crossover 14 Tabel 2.5. Single Arithmetic Crossover 15 Tabel 2.6. Simple Arithmetic Crossover 15 Tabel 2.7. Whole Arithmetic Crossover 16 Tabel 2.8. Contoh Mutasi pada Pengkodean Biner 17 Tabel 2.9. Contoh Mutasi pada Pengkodean Permutasi 17 Tabel 2.10. Perbedaan Penelitian 20 Tabel 3.1. Pembentukan Populasi Awal 30 Tabel 4.1. Probabilitas Crossover (PC=0.25) untuk Whole Arithmetic Crossover untuk 100 Generasi 38 Tabel 4.2. Probabilitas Crossover (PC=0.25) untuk Simple Arithmetic Crossover untuk 100 Generasi 39 Tabel 4.3. Probabilitas Crossover (PC=0.25) untuk Single Arithmetic Crossover untuk 100 Generasi 40 Tabel 4.4. Hasil Pengujian PC=0.25 untuk 100 Generasi 41 Tabel 4.5. Probabilitas Crossover (PC=0.5) untuk Whole Arithmetic Crossover untuk 100 Generasi 43 Tabel 4.6. Probabilitas Crossover (PC=0.5) untuk Simple Arithmetic Crossover untuk 100 Generasi 44 Tabel 4.7. Probabilitas Crossover (PC=0.5) untuk Single Arithmetic Crossover untuk 100 Generasi 45 Tabel 4.8. Hasil Pengujian PC=0.5 untuk 100 Generasi 46 Tabel 4.9. Probabilitas Crossover (PC=0.25) untuk Whole Arithmetic Crossover untuk 300 Generasi 47
xv Tabel 4.10. Probabilitas Crossover (PC=0.25) untuk Simple Arithmetic Crossover untuk 300 Generasi 48 Tabel 4.11. Probabilitas Crossover (PC=0.25) untuk Single Arithmetic Crossover untuk 300 Generasi 49 Tabel 4.12. Hasil Pengujian PC=0.25 untuk 300 Generasi 50 Tabel 4.13. Probabilitas Crossover (PC=0.5) untuk Whole Arithmetic Crossover untuk 300 Generasi 52 Tabel 4.14. Probabilitas Crossover (PC=0.5) untuk Simple Arithmetic Crossover untuk 300 Generasi 53 Tabel 4.15. Probabilitas Crossover (PC=0.5) untuk Single Arithmetic Crossover untuk 300 Generasi 54 Tabel 4.16. Hasil Pengujian PC=0.5 untuk 300 Generasi 55 Tabel 4.17. Probabilitas Crossover (PC=0.25) untuk Whole Arithmetic Crossover untuk 500 Generasi 56 Tabel 4.18. Probabilitas Crossover (PC=0.25) untuk Simple Arithmetic Crossover untuk 500 Generasi 57 Tabel 4.19. Probabilitas Crossover (PC=0.25) untuk Single Arithmetic Crossover untuk 500 Generasi 58 Tabel 4.20. Hasil Pengujian PC=0.25 untuk 300 Generasi 59 Tabel 4.21. Probabilitas Crossover (PC=0.5) untuk Whole Arithmetic Crossover untuk 500 Generasi 61 Tabel 4.22. Probabilitas Crossover (PC=0.5) untuk Simple Arithmetic Crossover untuk 500 Generasi 62 Tabel 4.23. Probabilitas Crossover (PC=0.5) untuk Single Arithmetic Crossover untuk 500 Generasi 63 Tabel 4.24. Hasil Pengujian PC=0.5 untuk 500 Generasi 64