Analisis Performance Atas Metode Arithmetic Crossover Dalam Algoritma Genetika

(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


(2)

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 Universitas Sumatera Utara

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


(3)

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


(4)

PERNYATAAN PERSETUJUAN PUBLIKASI

KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, 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 Universitas Sumatera Utara 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, Universitas Sumatera Utara 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


(5)

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


(6)

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


(7)

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 Universitas Sumatera Utara 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.


(8)

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


(9)

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.


(10)

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  


(11)

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


(12)

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


(13)

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


(14)

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


(15)

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


(16)

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.


(17)

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  


(18)

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Pada tahun 1975, John Holland, dalam bukunya yang berjudul “Adaption in Natural

and Artificial Systems”, mengemukakan komputasi berbasis evolusi. Tujuannya

membuat komputer dapat melakukan apa yang terdapat di alam. Sebagai seorang pakar komputer, Holland memfokuskan diri memanipulasi string dalam bentuk binary

bit. Holland mengemukakan algoritma tersebut sebagai suatu konsep abstrak dari evolusi alam. Tahapan algoritma genetika yang dikemukakan oleh Holland dapat direpresentasikan sebagai suatu tahapan berurutan sebagai suatu bentuk populasi dari kromosom buatan menjadi sebuah populasi baru (Negnevitsky, 2005).

Algoritma genetika adalah algoritma pencarian heuristik yang didasari pada pemikiran mengenai seleksi alam yang terjadi pada proses evolusi dan operasi genetika (Picek et al., 2013). Hal lain yang membuat algoritma genetika unggul adalah kemampuannya mendapatkan hasil pencarian global optima ketimbang terjebak dalam local optima (Russel & Norvig, 2009).

Dalam algoritma genetika ada sejumlah operasi yang mendukung keberhasilan algoritma genetika seperti pembangkitan populasi awal, perhitungan fitness tiap kromosom, seleksi kromosom, crossover, dan mutasi kromosom. Proses crossover

merupakan proses pembentukan kromosom anak (offspring). Crossover bertujuan menambah keanekaragaman string dalam satu populasi dengan penyilangan antar

string yang diperoleh dari reproduksi sebelumnya. Terdapat beberapa jenis crossover

di antaranya adalah crossover 1 titik (single point crossover), 2 titik (two point crossover), dan arithmetic crossover (Konar, 2005). Metode arithmetic crossover


(19)

crossover ini dalam menghasilkan kromosom terbaik akan memengaruhi kinerja algoritma genetika. Algoritma genetika akan berhenti jika sejumlah generasi maksimum tercapai atau level fitness yang ditentukan telah terpenuhi.

Salah satu permasalahan yang dapat diselesaikan dengan menggunakan algoritma genetika adalah permasalahan Traveling Salesman Problem (TSP). TSP merupakan persoalan yang mempunyai konsep sederhana dan mudah dipahami. Pada TSP, optimasi yang diinginkan agar ditemukan rute perjalanan terpendek untuk melewati sejumlah kota dengan jalur tertentu sehingga setiap kota hanya terlewati satu kali dan perjalanan diakhiri dengan kembali ke kota semula.

Lin et al. (2009), menggunakan algoritma genetika untuk mencari jarak terpendek pada sistem ITS (Intelligent Transportation System) di Taiwan dengan menggunakan variasi jumlah gen dan kromosom. Dari penelitian tersebut diketahui bahwa semakin banyak gen dan kromosom, maka solusi optima akan lebih cepat diperoleh.

Ada beberapa penelitian lain yang telah dilakukan berkenaan dengan algoritma genetika. Samuel et al. (2005) membahas bagaimana algoritma genetik menyelesaikan TSP dengan menggunakan metode order crossover sebagai teknik rekombinasi dan metode insertion mutation sebagai teknik mutasi yang digunakan pada algoritma genetik.

Annies et al. (2002) menunjukkan bahwa algoritma genetika dapat digunakan untuk menyelesaikan masalah optimasi yang kompleks seperti mencari rute optimum, menggunakan beberapa metode seleksi yaitu roulette wheel, elitism, dan gabungan antara metode roulette wheel dan elitism. Ada dua jenis crossover yang digunakan yaitu one cut point crossover dan two cut point crossover.

Nasution (2012) membahas analisis penyelesaian TSP menggunakan partially mapped crossover dengan menentukan nilai probabilitas crossover 20%, 40%, 60%, 80% dan 99%. Deep & Mebrahtu (2012) membuat variasi pada partially mapped crossover dengan menentukan letak kromosom dalam posisi acak. Kemudian, Al Kasasbeh, et al. (2012) menambahkan sebuah prosedur baru pada algoritma genetika untuk menyelesaikan TSP yaitu dengan metode shared neighbour.

Penelitian terbaru yang dilakukan oleh Picek et al. (2013) yang membandingkan beberapa metode crossover di dalam menyelesaikan 24 permasalahan dengan menggunakan 16 metode crossover, yang menarik dari hasil


(20)

penelitian adalah bahwa metode whole arithmetic crossover memiliki performance

yang lebih baik daripada metode simple arithmetic crossover, simple arithmetic crossover memiliki performance yang lebih baik daripada single arithmetic crossover. Penelitian yang dilakukan oleh Picek et al. (2013) cukup menarik, karena secara luas membandingkan beberapa metode crossover yang ada sehingga memberikan sumbangsih yang cukup berarti di dalam perkembangan konsep algoritma genetika. Namun, yang belum dibahas di dalam penelitian tersebut adalah keterkaitan langsung antara jumlah gen yang mengalami crossover dan performance

algoritma genetika. Hal ini mengingat terdapatnya peningkatan performance bila dikaitkan dengan jumlah gen yang mengalami crossover. Performance yang merupakan hasil penelitian adalah whole arithmetic crossover memiliki performance

yang lebih baik dari simple arithmetic crossover dan simple arithmetic crossover

memiliki performance yang lebih baik daripada single arithmetic crossover.

Pada metode whole arithmetic crossover, seluruh gen pada kromosom parent

mengalami arithmetic crossover, pada metode simple arithmetic crossover ditentukan sebuah bilangan acak, kemudian gen pada kromosom parent mulai dari titik bilangan acak sampai sepanjang jumlah kromosom akan mengalami arithmetic crossover, sedangkan pada metode single arithmetic crossover ditentukan sebuah bilangan acak dan hanya gen pada kromosom parent yang berada pada titik acak tersebut yang mengalami mutasi (Eiben, 2007).

Peneliti akan menganalisis keterkatian jumlah gen yang mengalami crossover

terhadap perfomance algorima genetika.

1.2. Perumusan Masalah

Semakin banyak gen yang terlibat dalam proses crossover akan meningkatkan keanekaragaman gen dalam populasi dan dapat meningkatkan kinerja algoritma genetika. Penelitian dilakukan untuk meneliti keterkaitan jumlah gen yang mengalami


(21)

1.3. Batasan Masalah

Sehubungan dengan luasnya permasalahan dan adanya keterbatasan waktu dan pengetahuan peneliti, maka peneliti membatasi masalah yang dibahas dalam penelitian ini sebagai berikut.

1. Penelitian ini membahas performance dari pindah silang (crossover) dengan asumsi bilangan random yang digunakan sama.

2. Analisis performance dilakukan dengan cara membandingkan performance

dari tiap metode arithmetic crossover yang terdiri-dari whole arithmetic crossover, simple arithmetic crossover, dan single arithmetic crossover.

3. Pengukuran performance bukan dengan big O melainkan kecepatan dalam mencapai nilai fitness tertinggi dalam generasi hingga ditemukan solusi yang mendekati optimal.

1.4. Tujuan Penelitian

Penelitian ini bertujuan menganalisis keterkaitan jumlah gen yang mengalami

crossover terhadap perfomance algoritma genetika menggunakan metode arithmetic crossover.

1.5. Manfaat Penelitian

Manfaat penelitian ini diuraikan sebagai berikut:

1. Melalui penelitian ini peneliti memperoleh hasil analisis mengenai keterkaitan jumlah gen yang mengalami crossover dan performance atas metode

arithmetic crossover dalam algoritma genetika.

2. Mengetahui lebih mendalam pengaruh metode crossover dalam mendapatkan hasil yang mendekati optimal.


(22)

BAB 2

TINJAUAN PUSTAKA

2.1. Algoritma Genetika

Pada tahun 1975, John Holland, di dalam bukunya yang berjudul “Adaption in Natural

and Artificial Systems”, mengemukakan komputasi berbasis evolusi. Tujuannya

adalah untuk membuat komputer dapat melakukan apa yang terdapat di alam. Sebagai seorang pakar komputer, Holland memfokuskan diri pada manipulasi dari string

dalam bentuk binary bit. Holland mengemukakan algoritma tersebut sebagai suatu konsep abstrak dari evolusi alam. Tahapan algoritma genetika yang dikemukakan oleh Holland dapat direpresentasikan sebagai suatu tahapan berurutan sebagai suatu bentuk populasi dari kromosom buatan menjadi sebuah populasi baru (Negnevitsky, 2005).

Algoritma genetika adalah suatu algoritma stokastik yang memodelkan proses evolusi dari spesies biologi melalui seleksi alam (Konar, 2005). Secara umum, populasi ini dibangkitkan secara random dan solusi yang adalah dibangkitkan sesudah tahapan konsekutif dari proses crossover dan mutasi. Setiap individu dari populasi memiliki nilai yang diasosiasikan ke dalam suatu nilai fitness, di dalam kaitannya untuk menyelesaikan suatu permasalahan (Rabunal, 2006).

Algoritma genetika yang dikemukakan oleh John Holland menggunakan konsep kromosom yang digunakan untuk menyatakan alternatif solusi dari suatu permasalahan. Tiap kromosom terdiri dari deretan bit string yang berupa bit 0 atau 1 yang disebut sebagai gen. Setiap kromosom dapat mengalami pertukaran materi genetis antara kromosom. Sedangkan proses mutasi akan mengganti secara acak nilai gen di beberapa lokasi pada kromosom. Selain itu dikenal pula istilah invertion yang akan membalikkan urutan beberapa gen yang berurutan di dalam kromosom. (Mitchel, 1999).


(23)

Hal-hal yang harus dilakukan dalam menggunakan algoritma genetika adalah:

1. Mendefinisikan individu, di mana individu menyatakan salah satu solusi (penyelesaian) yang mungkin dari permasalahan yang diangkat.

2. Mendefinisikan nilai fitness, yang merupakan ukuran baik-tidaknya sebuah individu atau baik-tidaknya solusi yang didapatkan.

3. Menentukan proses pembangkitan populasi awal. Hal ini biasanya dilakukan dengan menggunakan pembangkitan acak.

4. Menentukan proses seleksi yang akan digunakan. 5. Menentukan proses perkawinan silang (crossover). 6. Mutasi gen yang akan digunakan.

Adapun proses dari algroritma genetika secara umum dapat dilihat pada Gambar 2.1.

Gambar 2.1. Siklus Algoritma Genetika (Konar, 2005)

Fase awal dari algoritma genetika adalah inisialisasi populasi yang menyatakan alternatif solusi. Elemen dari populasi adalah dideskripsikan dalam bentuk deretan bit string yang berisi bit 0 atau 1 yang disebut sebagai kromosom. Kemudian langkah selanjutnya adalah menghitung nilai fitness berdasarkan gen yang ada pada kromosom dalam tiap populasi. Berdasarkan nilai fitness dari tiap koromosom, maka tahapan selanjutnya adalah tahapan seleksi yang berfungsi untuk memilih kromosom yang terpilih sebagai parent yang akan menjalani crossover.


(24)

Proses crossover yang berjalan dengan beberapa variasi operator crossover berperan penting dalam membentuk kromosom anak (offspring) yang juga berperan penting untuk menambah keanekaragaman string di dalam suatu populasi. Kromosom selanjutnya akan masuk ke dalam tahap mutasi yang berfungsi untuk memastikan bahwa keanekaragaman (diversity) dari kromosom dalam suatu populasi tetap terjaga, untuk menghindari terjadinya konvergensi prematur yang berujung pada terjadinya solusi yang local optima.

2.2. Struktur Umum Algoritma Genetika

Algoritma genetik memberikan suatu pilihan bagi penentuan nilai parameter dengan meniru cara reproduksi genetik, membentuk kromosom baru serta seleksi alam seperti yang terjadi pada makhluk hidup. Algoritma genetik secara umum dapat diilustrasikan dalam diagram pada Gambar 2.2.


(25)

Goldberg (1989) mengemukakan bahwa algoritma genetik mempunyai karakteristik-karakteristik yang perlu diketahui sehingga dapat dibedakan dari prosedur pencarian atau optimasi yang lain, yaitu:

1. Algoritma genetika dengan pengkodean dari himpunan solusi permasalahan berdasarkan parameter yang telah ditetapkan dan bukan parameter itu sendiri. 2. Algoritma genetika mencari solusi dari sejumlah individu-individu yang

merupakan solusi permasalahan, bukan hanya dari satu individu.

3. Algoritma genetika berpatokan pada objektif (fitness), sebagai cara untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari suatu fungsi.

4. Algoritma genetik menggunakan aturan transisi peluang, bukan aturan-aturan deterministik.

Variabel dan parameter yang digunakan pada algoritma genetik adalah: (Kuhn

et al., 2013)

1. Inisialisasi populasi yang digunakan. Pada bagian ini ditentukan jumlah individu (kromosom) dan gen yang dilibatkan pada setiap generasi.

2. Evaluasi nilai fitness dari setiap individu.

3. Seleksi kromosom yang akan dijadikan kromosom parent untuk dilibatkan di dalam proses crossover berdasarkan nilai fitness.

4. Penentuan nilai PC (Probability Crossover) yang menentukan peluang terjadinya crossover pada setiap individu.

5. Mutation rate yang menentukan sejumlah gen yang dillibatkan dalam proses mutasi.

Secara umum struktur dari suatu algoritma genetika dapat didefenisikan dengan langkah-langkah sebagai berikut: (Negnevitsky, 2005)

1. Membangkitkan populasi awal

Populasi awal dibangkitkan secara acak sehingga didapatkan solusi awal. Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan solusi yang diinginkan.


(26)

2. Menghitung Fitness dari Tiap Generasi.

Pada tiap generasi, kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang dinamakan fitness. Nilai fitness suatu kromosom menggambarkan kualitas kromosom dalam populasi tersebut. Fungsi fitness

tersebut dapat dilihat pada Persamaan 2.1.

�������

=

!

(!!!"#$%& !"#$%&'() ... (2.1) Dari persamaan 2.1, nilai fitness ditentukan oleh nilai fungsi objektif. Fungsi objektif tersebut menunjukkan hasil penjumlahan jarak pada tiap kromosom. Semakin tinggi nilai fitness akan semakin besar kemungkinan kromosom tersebut terpilih ke generasi berikutnya. Jadi nilai fungsi objektif berbanding terbalik dengan nilai fitness, semakin kecil nilai fungsi objektif semakin besar nilai fitness-nya.

3. Evaluasi Solusi

Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness

setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dilanjutkan dengan proses perkawinan. Beberapa kriteria berhenti sering digunakan antara lain: berhenti pada generasi tertentu, berhenti setelah beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah, berhenti pada n generasi yang tidak didapatkan nilai fitness yang lebih tinggi.

4. Proses Crossover

Menentukan nilai PC (Probability Crossover) dan kemudian menentukan pasangan kromosom yang akan terlibat di dalam proses crossover berdasarkan nilai PC yang dibangkitkan tersebut dengan menggunakan salah satu metode

crossover. 5. Proses Mutasi

Menentukan nilai mutation rate, dan kemudian berdasarkan nilai bilangan

random yang dibangkitkan akan dapat ditentukan gen-gen yang terlibat di dalam proses mutasi tersebut.


(27)

6. Menjadikan Kromosom Anak hasil dari Proses Crossover dan Mutasi sebagai Populasi Baru.

2.3. Teknik Encoding

Proses encoding adalah salah satu proses yang sulit di dalam algoritma genetika. Hal ini disebabkan karena proses encoding untuk setiap permasalahan berbeda karena tidak semua teknik encoding cocok untuk tiap permasalahan. Proses encoding

menghasilkan string yang kemudian disebut kromosom. String terdiri dari sekumpulan bit yang dikenal sebagai gen. Jadi satu kromosom terdiri dari sejumlah gen (Lukas, 2005).

Ada bermacam-macam teknik encoding yang dapat dilakukan dalam algoritma genetika. Beberapa teknik encoding itu antara lain adalah binary encoding,

permutation encoding, value encoding, dan tree encoding. Teknik encoding yang digunakan pada Traveling Salesman Problem adalah Permutation Encoding. (Lukas, 2005). Pada Permutation Encoding, kromosom-kromosom adalah kumpulan angka yang mewakili posisi di dalam sebuah rangkaian. Dalam permutatiom encoding, setiap kromosom adalah sebuah string dari nomor-nomor seperti diilustrasikan pada Tabel 2,1,

Tabel 2.1. Teknik Permutation Encoding

Kromosom (Rute Kota) A B C D E F G H I Gen (Jarak) 1 5 3 2 6 4 7 9 8

Pada TSP, kromosom menggambarkan rute kota yang dikunjungi salesman, sedangkan jarak antar kota menggambarkan gen. Pada Tabel 2.1, kromosom (rute kota) A-B-C-D-E-F-G-H-I dengan jarak 1, 5, 3, 2, 6, 4, 7, 9, 8.

2.4. Operator Genetik

Algoritma genetik merupakan proses pencarian yang heuristik dan acak sehingga penekanan pemilihan operator yang digunakan sangat menentukan keberhasilan algoritma genetik dalam menemukan solusi optimum suatu masalah yang diberikan. Hal yang harus diperhatikan adalah menghindari terjadinya konvergensi prematur,


(28)

yaitu mencapai solusi optimum yang belum waktunya, dalam arti bahwa solusi yang diperoleh adalah hasil local optima.

Operator pada algoritma genetika terdiri atas sejumlah parameter kontrol yang terdiri-dari: (Taiwo et al., 2013)

1. Ukuran populasi: mendefinisikan berapa banyak kromosom dan berapa banyak gen di dalam satu kromosom yang terlibat selama proses pencarian.

2. Probabilitas crossover: menspesifikasikan probabilitas crossover di antara dua kromosom.

3. Probabilitas mutasi: menspesifikasikan probabilitas dari dilakukannya mutasi bit-wise.

4. Kriteria terminasi: menspesifikasikan kondisi berakhirnya pencarian solusi pada algoritma genetika.

2.4.1. Proses Seleksi

Proses seleksi berhubungan erat dengan nilai fitness yang diperoleh oleh setiap individu. (Reeves, 2003). Proses seleksi dilakukan dengan cara membuat individu yang mempunyai fungsi objektif kecil mempunyai kemungkinan terpilih yang lebih besar atau mempunyai nilai probabilitas yang tinggi (Hermawanto, 2007).

Dalam proses seleksi parent, ada banyak metode yang dapat diterapkan. Dua metode umum yang sering digunakan yaitu (Chipperfield. et.al, 2005):

1. Seleksi Roda Roulette (Roulette Wheel Selection)

Roulette wheel selection adalah metode seleksi yang paling sederhana. Pada metode ini semua kromosom (individu) di dalam suatu populasi adalah ditempatkan pada roulette wheel sesuai dengan nilai fitness mereka. Besarnya ukuran tiap segmen di dalam roulette adalah sebanding dengan nilai fitness

dari tiap individu. Semakin besar nilai fitness maka semakin besar pula ukuran segmen di dalam roulette wheel, kemudian roulette wheel diputar. Individu yang sesuai dengan segmen pada roulette wheel ketika berhenti yang akan dipilih. (Kumar, 2012). Metode roulette wheel selection dapat dilihat pada Gambar 2.3.


(29)

K1

K2 K3

K4

Kromosom Fitness

K1 1 K2 2 K3 0.5 K4 0.5 Jumlah 4

Gambar 2.3 Metode Roulette Wheel Selection (Hassoun, 1995) 2. Stochastic Universal Sampling

Karakteristik metode ini adalah memiliki nilai bias nol dan penyebaran yang minimum. Individu-individu dipetakan dalam suatu segmen garis secara berurutan sedemikian hingga tiap-tiap segmen individu memiliki ukuran yang sama dengan ukuran fitness-nya. Kemudian diberikan sejumlah pointer

sebanyak individu yang ingin diseleksi pada garis tersebut (Pencheva et.al, 2009). Misal N adalah jumlah individu yang akan diseleksi, maka jarak antar pointer adalah 1/N dan posisi pointer pertama diberikan secara acak pada

range [1 , 1/N]. Metode stochastic universal sampling dapat dilihat pada Gambar 2.4.

Gambar 2.4 Metode Stochastic Universal Sampling (Pencheva, 2009)

2.4.2. Pindah Silang (Crossover)

Operator crossover memainkan peran penting di dalam menghasilkan generasi baru. Operator crossover adalah operator genetika yang mengombinasikan dua kromosom

parents untuk menghasilkan kromosom offspring. Tujuan utama dari adanya


(30)

karena mengambil karakteristik terbaik dari tiap parent. Proses crossover yang terjadi selama proses evolusi sesuai dengan nilai crossover probability yang didefinisikan oleh pengguna (Abuiziah, 2013).

Kromosom yang terpilih untuk mengalami crossover ditentukan melalui nilai

probability crossover (Pc). Suatu kromosom terpilih untuk mengalami crossover jika nilai random kromosom (Rc) < Pc. Besarnya nilai Pc adalah diantara 0.4 sampai dengan 0.9 (Coley, 1999). Crossover bertujuan menambah keanekaragaman string

dalam satu populasi dengan penyilangan antara gen-gen dari induk (Robandi, 2006). Beberapa jenis crossover sebagai berikut:

1) Crossover Pengkodean Biner

Ada beberapa metode crossover dengan pengkodean biner, yaitu sebagai berikut:

a. One Point Crossover

Pada one point crossover, sebuah bilangan acak mendefinisikan segmen yang membagi kromosom ke dalam dua bagian. Kromosom offspring dihasilkan melalui kombinasi kromosom yang dihasilkan pada segmen point berdasarkan bilangan acak tersebut. Bagian pertama adalah sebelum segmen point

mengambil kromosom parent yang pertama dan bagian kedua setelah bilangan

random adalah mengambil kromosom parent yang kedua. (Andrade, 2008). Illustasi dari proses one point crossover dapat dilihat pada Tabel 2.2.

Tabel 2.2. One Point Crossover

Kromosom Parent 1 11001011 Kromosom Parent 2 11011111

Offspring 11001111

b. Two Point Crossover

Two point crossover hampir sama dengan one point crossover. Perbedaannya adalah bahwa pada two point crossover, cut point yang digunakan adalah sebanyak 2, dan dibangkitkan secara acak (Mendes, 2013). Illustrasi dari proes


(31)

Tabel 2.3. Two Point Crossover

Kromosom Parent 1 11001011

Kromosom Parent 2 11011111

Offspring 11011111

2) Uniform Crossover

Pada uniform crossover, sebuah vektor bit acak yang berukuran sama dengan kromosom yang digunakan. Di dalam proses untuk menghasilkan kromosom

offspring, akan dipilih bit-bit dalam mask vektor bit acak. Jika yang terpilih adalah bit 0, berarti kromosom offspring diperoleh dari parent 1 dan jika yang terpilih adalah bit 1 berarti kromosom offspring diperoleh dari parent 2 (Andrade, 2008). Illustrasi dari proses uniform crossover dapat dilihat pada Tabel 2.4.

Tabel 2.4. Uniform Crossover

Kromosom Parent 1 11001011 Kromosom Parent 2 11011111

Mask 01010101

Offspring 11011111

3) Arithmetic Crossover

Kromosom offspring diperoleh dengan melakukan operasi aritmatika terhadap parent

(induk). Terdapat 3 jenis arithmetic crossover, yaitu sebagai berikut. (Picek et al., 2013).

1. Single Arithmetic Crossover

Pada single arithmetic crossover, pindah silang terjadi pada salah satu gen yang posisinya ditentukan dengan cara membangkitkan suatu bilangan acak. Pada posisi gen yang ditentukan, nilai gen akan ditentukan melalui operasi aritmatika terhadap nilai gen dari parent menurut persamaan 2.2 (Eiben, 2014). Adapun operasi aritmatika pada single arithmetic crossover dapat dilihat pada Persamaan 2.2 dan Tabel 2.5.


(32)

Child =

n x k x k y k x

x ,...., , . (1 ). ,...,

1 α + −α

...(2.2)

Ket:

α = Variabel pengali yang nilainya berkisar dari 0-1 Tabel 2.5. Single Arithmetic Crossover

Kromosom Parent 1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Kromosom Parent 2 0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.2 0.3

Bilangan Acak 8

α 0.5

Kromosom Offspring 1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.5 0.9 Kromosom Offspring 2 0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.5 0.3 2. Simple Arithmetic Crossover

Pada simple arithmetic crossover, tentukan bilangan random sebagai titik potong antara 0 sampai sepanjang kromosom pada masing-masing parent. Untuk gen pada kromosom offspring untuk batas sebelum titik potong disalin dari gen pada kromosom parent. Untuk gen setelah titik potong, gen yang ada dibentuk dari operasi aritmatika pada gen dari kromosom parent dengan persamaan seperti pada persamaan 2.3 (Picek, 2013). Illustrasi dari proses simple arithmetic crossover

dapat dilihat pada Tabel 2.6. Child= n x n y k x k y k x

x ,..., . (1 ).

1 ). 1 ( 1 . , ,...,

1 α + + −α + α + −α ...(2.3) Ket:

α = Variabel pengali yang nilainya berkisar dari 0-1 Tabel 2.6. Simple Arithmetic Crossover

Kromosom Parent 1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Kromosom Parent 2 0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.2 0.3

Bilangan Acak 6

α 0.5


(33)

3. Whole Arithmetic Crossover

Pada whole arithmetic crossover, gen pada kromosom offspring diperoleh dari hasil operasi aritmatika gen pada kromosom parent, di mana proses aritmatika yang dilakukan sesuai dengan persamaan 2.4 (Eiben, 2014). Illustrasi dari proses

whole arithmetic crossover dapat dilihat pada Tabel 2.7. Child=

− −

+

y

x (1 ).

. α

α ...(2.4) Ket:

α = Variabel pengali yang nilainya berkisar dari 0-1 Tabel 2.7. Whole Arithmetic Crossover

Kromosom Parent 1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Kromosom Parent 2 0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.2 0.3

α 0.5

Kromosom Offspring 1 0.2 0.2 0.3 0.3 0.4 0.4 0.5 0.5 0.6

Kromosom Offspring 2 0.2 0.2 0.3 0.3 0.4 0.4 0.5 0.5 0.6

2.4.3. Mutasi

Mutasi adalah proses untuk mengubah gen di dalam sebuah kromosom. Mutasi dilakukan setelah proses crossover dilakukan. Mutasi mengubah offspring baru dengan mengubah 1 menjadi 0 atau 0 menjadi 1. Mutasi dapat terjadi pada setiap posisi di dalam string dengan beberapa probabilitas yang umumnya sangat kecil. Mutasi adalah dimaksudkan untuk mencegah hasil pencarian mengarah pada keadaan

local optima di dalam sebuah area pencarian (Shaikh, 2012).

Operator mutasi merupakan operasi yang menyangkut satu kromosom tertentu. Beberapa cara operasi mutasi diterapkan dalam algoritma genetik menurut jenis pengkodean terhadap phenotype, antara lain:

1. Mutasi dalam Pengkodean Biner

Mutasi pada pengkodean biner merupakan operasi yang sangat sederhana. Proses yang dilakukan adalah menginversi nilai pada posisi tertentu yang terpilih secara acak (atau menggunakan skema tertentu) pada kromosom, yang disebut inverse.


(34)

Tabel 2.8. Contoh Mutasi pada Pengkodean Biner Kromosom sebelum mutasi 10010111 Kromosom setelah mutasi 10010011

2. Mutasi dalam Pengkodean Permutasi

Proses mutasi yang dilakukan dalam pengkodean biner dengan mengubah langsung - pada kromosom tidak dapat dilakukan pada pengkodean permutasi karena konsistensi urutan permutasi haru diperhatikan. Salah satu cara yang dapat dilakukan adalah dengan memilih dua posisi (locus) dari kromosom dan kemudian nilainya saling dipertukarkan.

Tabel 2.9. Contoh Mutasi pada Pengkodean Permutasi Kromosom sebelum mutasi 10010111 Kromosom setelah mutasi 10010011

3. Mutasi dalam Pengkodean Nilai

Mutasi pada pengkodean nilai hampir sama dengan yang dilakukan pada pengkodean biner, tetapi yang dilakukan bukan menginversi nilai . Penerapannya bergantung pada jenis nilai yang digunakan. Sebagai contoh untuk nilai riil, proses mutasi dapat dilakukan seperti yang dilakukan pada pengkodean permutasi, dengan saling mempertukarkan nilai dua gen pada kromosom.

4. Mutasi dalam Pengkodean Pohon

Mutasi dalam pengkodean pohon dapat dilakukan antara lain dengan cara mengubah operator (+, -, *, /) atau nilai yang terkandung pada suatu verteks pohon yang dipilih. Atau, dapat juga dilakukan dengan memilih dua verteks dari pohon dan saling mempertukarkan operator atau nilainya.

2.5. Parameter Genetik

Pengoperasian algoritma genetik dibutuhkan 4 parameter (Juniawati, 2003)yaitu: 1. Probabilitas Persilangan (Crossover Probability)

Menunjukkan kemungkinan crossover terjadi antara 2 kromosom. Jika tidak terjadi crossover maka keturunannya akan sama persis dengan kromosom


(35)

orangtua, tetapi tidak berarti generasi yang baru akan sama persis dengan generasi yang lama. Jika probabilitas crossover 100% maka semua keturunannya dihasilkan dari crossover. Crossover dilakukan dengan harapan bahwa kromosom yang baru akan lebih baik.

2. Probabilitas Mutasi (Mutation Probability)

Menunjukkan kemungkinan mutasi terjadi pada gen-gen yang menyusun sebuah kromosom. Jika tidak terjadi mutasi maka keturunan yang dihasilkan setelah crossover tidak berubah. Jika terjadi mutasi bagian kromosom akan berubah. Jika probabilitas 100%, semua kromosom dimutasi. Jika probabilitasnya 0%, tidak ada yang mengalami mutasi.

3. Jumlah Individu

Menunjukkan jumlah kromosom yang terdapat dalam populasi (dalam satu generasi). Jika hanya sedikit kromosom dalam populasi maka algoritma genetika akan mempunyai sedikit variasi kemungkinan untuk melakukan

crossover antara orang tua karena hanya sebagian kecil dari search space yang dipakai. Sebaliknya jika terlalu banyak maka algoritma genetika akan berjalan lambat.

4. Jumlah Populasi

Menetukan jumlah populasi atau banyaknya generasi yang dihasilkan, digunakan sebagai batas akhir proses seleksi, persilangan, dan mutasi.

2.6. Traveling Salesman Problem (TSP)

Permasalahan matematika tentang Traveling Salesman Problem dikemukakan pada tahun 1800 oleh matematikawan Irlandia William Rowan Hamilton dan matematikawan Inggris Thomas Penyngton. Permasalahan TSP ini merupakan permasalahan di mana seorang salesman harus mengunjungi semua kota di mana tiap kota hanya dikunjungi sekali, dan dia harus mulai dan kembali ke kota asal. Tujuan yang ingin dicapai pada permasalahan TSP adalah mencari rute terpendek bagi seorang salesman. (Biggs et.al, 1976).


(36)

2.7. Penelitian-Penelitian Terkait 2.7.1. Penelitian Terdahulu

Lin et al. (2009), menggunakan algoritma genetika untuk mencari jarak terpendek pada sistem ITS (Intelligent Transportation System) di Taiwan dengan menggunakan variasi jumlah gen dan kromosom. Hasil penelitian Lin et.al (2009) memberikan hasil bahwa semakin banyak gen dan kromosom maka solusi optima akan lebih cepat diperoleh. Ada beberapa penelitian lain yang telah dilakukan berkenaan dengan algoritma genetika. Samuel, et al. (2005) membahas bagaimana algoritma genetik menyelesaikan TSP dengan menggunakan metode order crossover sebagai teknik rekombinasi dan metode insertion mutation sebagai teknik mutasi yang digunakan pada algoritma genetik. (Annies,et al, 2002) menunjukkan bahwa algoritma genetika dapat digunakan untuk menyelesaikan masalah optimasi yang kompleks seperti mencari rute paling optimum, menggunakan beberapa metode seleksi yaitu roulette wheel, elitism, dan gabungan antara metode roulette wheel dan elitism. Ada dua jenis

crossover yang digunakan yaitu one cut point crossover dan two cut point crossover. Nasution (2012) membahas analisis penyelesaian TSP menggunakan partially mapped crossover dengan menentukan nilai probabilitas crossover 20%, 40%, 60%, 80%, dan 99%. Deep & Mebrahtu (2012) membuat variasi pada partially mapped crossover dengan menentukan letak kromosom dalam posisi acak. Kemudian, Al kasasbeh, et al. (2012) menambahkan sebuah procedure baru pada algoritma genetika untuk menyelesaikan TSP yaitu dengan metode shared neighbour. Penelitian terbaru yang dilakukan oleh Picek et.al (2013) yang membandingkan beberapa metode

crossover di dalam menyelesaikan 24 permasalahan dengan menggunakan 16 metode

crossover, yang menarik dari hasil penelitian adalah bahwa metode whole arithmetic crossover memiliki performance yang lebih baik daripada metode simple arithmetic crossover dan simple arithmetic crossover memiliki performance yang lebih baik daripada single arithmetic crossover.

Penelitian yang dilakukan oleh Picek et al. (2013) cukup menarik, karena secara luas membandingkan beberapa metode crossover yang ada sehingga memberikan sumbangsih yang cukup berarti di dalam perkembangan konsep algoritma genetika. Namun, yang belum dibahas di dalam penelitian ini adalah apakah terdapat keterkaitan langsung antara jumlah gen yang mengalami crossover di dalam


(37)

crossover. Hal ini mengingat terdapatnya peningkatan performance bila dikaitkan dengan jumlah gen yang mengalami crossover. Mengingat performance yang merupakan hasil penelitian adalah whole arithmetic crossover memiliki performance

yang lebih baik dari simple arithmetic crossover dan Simple arithmetic crossover

memiliki performance yang lebih baik daripada single arithmetic crossover.

2.7.2. Perbedaan Penelitian

Perbedaan penelitian yang pernah dilakukan dengan penelitian yang dilakukan oleh peneliti dapat dilihat pada Tabel 2.10.

Tabel 2.10. Perbedaan Penelitian No Nama Peneliti Persamaan Perbedaan 1. Lin Chu Hsing,

Jui Ling Yu, Jung Chun Liu, Wei Shen Lai, dan Chia Han Ho (2009)

Sama-sama menerapkan algoritma genetika untuk mencari rute terpendek pada ITS (Intelligent Transportation System) di Taiwan

Pembahasan dititikberatkan pada pengaruh jumlah gen dan

kromosom di dalam mendapatkan solusi optimal. Penelitian ini tidak membahas mengenai pengaruh gen yang mengalami crossover di dalam mendapatkan solusi optimal.

2. Lukas Samuel, Toni Anwar, dan Willi Yuliani (2005)

Sama-sama menerapkan algoritma genetika untuk menyelesaikan permasalahan Traveling Salesman Problem (TSP)

Pembahasan penelitian mengenai penggunaan metode order crossover digabungkan dengan teknik insertion mutation untuk menyelesaikan permasalahan TSP. Penelitian ini hanya membahas penyelesaian permasalahan TSP dan tidak membahas mengenai performance dari algoritma genetika.

3. Annies Hannawati, Thing, dan Eleazar (2002)

Menerapkan algoritma genetika untuk menyelesaikan masalah optimasi yang kompleks seperti mencari rute paling optimum

Penelitian ini menggunakan beberapa metode seleksi yaitu roulette wheel, elitism, dan gabungan antara metode roulette wheel dan elitism, selain itu juga menggunakan dua jenis crossover yaitu one cut point crossover dan two cut point crossover. Namun, penelitian tidak membahas mengenai performance Atas metode arithmetic crissover dalam kaitannya dengan jumlah gen yang mengalami crossover. 4. K. Nasution

(2012)

Sama-sama menerapkan algoritma genetika untuk menyelesaikan permasalahan Traveling Salesman Problem

Penelitian ini difokuskan pada pembahasan mengenai pengaruh dari nilai probabilitas crossover di dalam partially mapped crossover dan tidak membahas mengenai performance atas arithmetic crossover dalam kaitannya


(38)

No Nama Peneliti Persamaan Perbedaan

dengan jumlah gen yang mengalami crossover. 5. Kusum Deep dan

Hadush Mebrahtu (2012)

Penelitian ini sama seperti penelitian yang dilakukan oleh peneliti membahas mengenai penerapan algoritma genetika di dalam menyelesaikan permasalahan Traveling Salesman Problem

Penelitian ini membahas mengenai pembuatan variasi pada partially mapped crossover dengan menentukan letak kromosom dalam posisi acak dan tidak membahas mengenai kaitan antara jumlah gen yang

mengalami crossover dengan performance atas metode arithmetic crossover 6. Stjepan Picek,

Domagoj Jakobovic dan Marin Gloub (2013)

Penelitian ini membahas mengenai perbandingan performance atas metode arithmetic crossover dan beberapa metode crossover yang lain

Penelitian ini membandingkan beberapa metode crossover di dalam menyelesaikan 24 permasalahan dengan menggunakan 16 metode crossover, tetapi penelitian ini tidak membahas mengenai kaitan antara jumlah gen yang

mengalami crossover terhadap performance dari crossover khususnya arithmetic crossover 7. Sri Melvani Hardi

(2014)

Penelitian ini membahas mengenai pengaruh crossover di dalam performance algoritma genetika di dalam menyelesaikan permasalahan Traveling Salesman Problem (TSP)

Penelitian ini pengaruh dari variasi terhadap performance dari algoritma genetika dan tidak membahas mengenai kaitan antara jumlah gen yang mengalami crossover dengan performance dari algoritma genetika

2.7.3. Kontribusi yang Diberikan

Melalui penelitian ini diharapkan dapat diperoleh hasil analisis keterkaitan jumlah gen yang mengalami crossover dengan performance algoritma genetika dengan setiap metode arithmetic crossover yang ada.


(39)

BAB 3

METODOLOGI PENELITIAN

3.1. Pendahuluan

Traveling Salesman Problem termasuk ke dalam kelas permasalahan NP (Non Deterministic Polynomial) kategori sulit karena memiliki kompleksitas O (n!). Permasalahan utama dari TSP adalah bagaimana seorang salesman dapat mengatur rute perjalanannya untuk mengunjungi sejumlah kota yang diketahui jarak satu kota dengan kota lainnya sehingga jarak yang ditempuh merupakan jarak minimum di mana seorang salesman hanya dapat mengunjungi kota tersebut tepat satu kali. Salah satu metode yang dapat digunakan di dalam menyelesaikan permasalahan TSP yaitu algoritma genetika. Crossover merupakan salah satu aspek penting di dalam algoritma genetika untuk menghasilkan best fitness. Terdapat beberapa metode crossover yang dapat digunakan. Salah satu metode crossover yang dapat digunakan adalah metode

arithmetic crossover yang pada penelitian ini dibahas mengenai performance dari tiap metode arithmetic crossover yang ada, yang terdiri dari whole arithmetic crossover,

simple arithmetic crossover, dan single arithmetic crossover.

3.2. Data yang Digunakan

Data yang digunakan merupakan data benchmark yang diambil dari TSPLIB dimana TSPLIB merupakan library dari contoh data untuk permasalahan TSP dari berbagai sumber dan bermacam tipe permasalahan TSP. Jenis data file .tsp yang digunakan sebagai data uji adalah data TSP simetris di mana jarak antara titik I ke titik J sama dengan jarak titik J ke titik I. Adapun data yang digunakan yaitu data berlin52.tsp. Pada file berlin52.tsp terdapat sebanyak 52 kota yang tiap kota memiliki koordinat X dan Y sehingga jarak tiap kota dapat dihitung dengan menggunakan persamaan

euclidean 2 dimensi. Adapun persamaan dari euclidean 2 dimensi dapat dilihat pada persamaan 3.1.


(40)

Input:Data

Benchmark

Proses Algoritma Genetik:

• Pendefinisian kromosom • Pembentukan populasi awal • Perhitungan nilai fitness tiap

kromosom

• Lakukan seleksi kromosom • Lakukan arithmetic crossover • Lakukan mutasi kromosom

Output

Performance tiap metode pada arithmetic crossover

• Parameter penting dalam perbedaan performance d(i,j)= (xixj)2+(yiyj)2 ...(3.1) Keterangan:

xi = Koordinat x kota i  xj = Koordinat x kota j yi = Koordinat y kota i  yj = Koordinat y kota j

Nilai probabilitas crossover yang digunakan adalah 0.25, 0.5, dan 1. Di mana dipilih dari nilai PC yang berskala kecil, sedang, dan tinggi sebagai nilai untuk pengujian dari masing-masing data.

3.3. Algoritma Genetika terhadap Traveling Salesman Problem

Prosedur kerja yang dilakukan oleh peneliti dapat dilihat secara keseluruhan pada Gambar 3.1 di bawah ini:

Gambar 3.1. Metode Penelitian

3.3.1. Dasar Algoritma Genetika

Dalam algoritma genetika terdapat beberapa proses atau tahapan yang harus dilakukan. Pada Gambar 3.2. diperlihatkan proses yang terdapat pada algoritma genetika.


(41)

Gambar 3.2. Dasar Algoritma Genetika

Pada algoritma genetika terdapat perkawinan silang (crossover) di mana pada proses ini terjadi pertukaran gen antara kromosom parent. Untuk penelitian ini peneliti menganalisis performance atas arithmetic crossover yang terdiri-dari whole arithmetic crossover, simple arithmetic crossover, dan single arithmetic crossover.


(42)

Gambar 3.3. Flowchart Whole Arithmetic Crossover

Keterangan:

R(k) = Nilai random K pc = Crossover Rate


(43)

Proses kerja whole arithmetic crossover seperti terlihat pada Gambar 3.3. adalah kromosom yang dijadikan induk dipilih secara acak dan jumlah kromosom yang mengalami crossover dipengaruhi parameter crossover_rate (ρc). Langkah pertama yang dilakukan adalah menentukan nilai crossover_rate (ρc). Lalu bangkitkan bilangan acak R untuk tiap kromosom. Jika nilai R[k] < ρc maka kromosom k dipilih sebagai induk. Jika sudah terpilih kromosom parent maka langkah selanjutnya adalah melakukan proses arithmetic crossover terhadap setiap gen yang ada pada kromosom. Proses arithmetic crossover yang dilakukan berupa perkalian α (faktor pengali) dengan gen pada kromosom parent 1 dijumlahkan dengan perkalian perkalian α (faktor pengali) dengan gen pada kromosom parent 1 sehingga menghasilkan kromosom anak (offspring). Proses ini dilakukan terhadap setiap gen pada kromosom parent.

Proses kerja simple arithmetic crossover seperti terlihat pada Gambar 3.4. adalah kromosom yang dijadikan induk dipilih secara acak dan jumlah kromosom yang mengalami crossover dipengaruhi parameter crossover_rate (ρc). Langkah pertama yang dilakukan adalah menentukan nilai crossover_rate (ρc). Lalu bangkitkan bilangan acak R[k] untuk tiap kromosom. Jika nilai R[k] kromosom < ρc

maka kromosom k dipilih sebagai induk. Kemudian, bangkitkan bilangan acak R untuk menentukan gen yang mengalami crossover. Kemudian setiap gen yang berada pada kromosom parent dimulai dari posisi R akan mengalami arithmetic crossover. Proses

arithmetic crossover yang dilakukan berupa perkalian α (faktor pengali) dengan gen pada kromosom parent 1 dijumlahkan dengan perkalian perkalian α (faktor pengali) dengan gen pada kromosom parent 1 sehingga menghasilkan kromosom anak (offspring). Proses ini dilakukan terhadap setiap gen pada kromosom parent dimulai dari posisi R.

Proses kerja single arithmetic crossover seperti terlihat pada Gambar 3.4. adalah kromosom yang dijadikan induk dipilih secara acak dan jumlah kromosom yang mengalami crossover dipengaruhi parameter crossover_rate (ρc). Langkah pertama yang dilakukan adalah menentukan nilai crossover_rate (ρc). Lalu bangkitkan bilangan acak R[k] untuk tiap kromosom. Jika nilai R[k] kromosom < ρc

maka kromosom k dipilih sebagai induk. Kemudian, bangkitkan bilangan acak R untuk menentukan gen yang mengalami crossover. Kemudian gen pada kromosom parent


(44)

crossover yang dilakukan berupa perkalian α (faktor pengali) dengan gen pada kromosom parent 1 dijumlahkan dengan perkalian perkalian α (faktor pengali) dengan gen pada kromosom parent 1 sehingga menghasilkan kromosom anak (offspring).

Gambar 3.4. Flowchart Simple Arithmetic Crossover

Keterangan:


(45)

Gambar 3.5. Flowchart Single Arithmetic Crossover

Keterangan:

R(k) = Nilai random K pc = Crossover Rate


(46)

3.3.2. Mendefinisikan Individu

Pada pendefinisian individu yang akan dilakukan adalah teknik penyandian gen dan kromosom. Gen merupakan bagian dari kromosom. Satu gen diwakili dengan satu variabel. Kromosom-kromosom/individu-individu adalah kumpulan angka yang mewakili posisi kota dalam sebuah rangkaian (urutan). Dengan kata lain, sebuah kromosom/individu itu mewakili sebuah urutan kota yang dikunjungi salesman. Jadi apabila satu kromosom berbentuk: K1= (X1, X2, X3,..., Xn) artinya salesman bergerak

dari kota 1, 2, 3, dan seterusnya hingga kota ke-n.

3.3.3. Pembangkitan Populasi Awal

Proses inisialisasi populasi awal dilakukan dengan cara memberikan nilai awal gen-gen dengan nilai acak sesuai batasan yang telah ditentukan. Misalkan kita tentukan jumlah populasi adalah 6 di mana dalam 1 kromosom terdapat 4 gen yang mewakili urutan kota yang akan dikunjungi oleh seorang salesman. Di mana posisi dan jarak tiap kota akan diberikan pada ilustrasi pada Gambar 3.6.

Gambar 3.6. Jarak Tiap Kota yang Akan Dikunjungi Adapun keterangan dari Gambar 3.6. adalah sebagai berikut.

Jarak dari kota A ke kota B = 10 Jarak dari kota A ke kota C = 8 Jarak dari kota A ke kota D = 15 Jarak dari kota A ke kota E = 16 Jarak dari kota B ke kota C = 13

Jarak dari kota B ke kota D = 8 Jarak dari kota B ke kota E = 14 Jarak dari kota C ke kota D = 13 Jarak dari kota C ke kota E = 6 Jarak dari kota D ke kota E = 9


(47)

Tabel 3.1. Pembentukan Populasi Awal

Kromosom Gen Total Jarak Fitness Kromosom[1] [B;D;C;E] A-B-D-C-E = 37 0.027 Kromosom[2] [C;B;E;D] A-C-B-E-D = 44 0.022 Kromosom[3] [B;D;E;C] A-B-D-E-C = 33 0.03 Kromosom[4] [D;C;E;B] A-D-C-E-B = 48 0.02 Kromosom[5] [E;D;C;B] A-E-D-C-B = 51 0.019 Kromosom[6] [B;E;D;C] A-B-E-D-C = 46 0.021

3.3.4. Seleksi

Proses seleksi dilakukan dengan cara membuat kromosom yang mempunyai fungsi objektif kecil mempunyai kemungkinan terpilih yang besar atau mempunyai nilai probabilitas yang tinggi. Metode seleksi yang digunakan adalah roulette wheel selection. Persamaan untuk menghitung nilai fitness dapat dilihat pada Persamaan 3.2.

Fitness = !"#$%!

 !"#"$ ...(3.2)

Semakin besar jarak maka semakin kecil nilai fitness dan sebaliknya jika semakin kecil jarak maka semakin besar nilai fitness.

Seleksi Roulette Wheel

1. Hitung Total Fitness

Total fitness dihitung dengan menggunakan persamaan 3.3.

Total fitness= ∑ Fk ...(3.3) Dimana: k = 1, 2, 3, ...., ukuran populasi

Total fitness = 0.027+0.022+0.03+0.02+0.019+0.021 = 0.139


(48)

2. Hitung fitness relatif tiap individu

Untuk menghitung fitness tiap individu digunakan persamaan 3.4

Pk = !"

!"#$% !"#$%&&... (3.4)

Dimana:

Pk = Fitness relatif tiap-tiap kromosom Fk = Fitness tiap kromosom

Individu ke-1 = 0.027/ 0.139 = 0.194 Individu ke-2 = 0.022/ 0.139 = 0.158 Individu ke-3 = 0.03/ 0.139 = 0.215 Individu ke-4 = 0.02/ 0.139 = 0.144 Individu ke-5 = 0.019/ 0.139 = 0.137 Individu ke-6 = 0.021/ 0.139 = 0.151 3. Hitung fitness kumulatif

q1 = 0.194

q2 = 0.194 + 0.158 = 0.352

q3 = 0.194 + 0.158 + 0.215 = 0.567

q4 = 0.14 + 0.262 + 0.215 + 0.144 = 0.711

q5 = 0.14 + 0.262 + 0.215 + 0.144 + 0.137 = 0.848

q6 = 0.14 + 0.262 + 0.215 + 0.144 + 0.137 + 0.151 = 0.999

3.3.5. Crossover

Setelah proses seleksi maka proses selanjutnya adalah proses crossover. Adapun metode crossover yang digunakan di dalam penelitian ini sebagai dasar perbandingan

performance adalah metode arithmetic crossover yang terdiri dari whole arithmetic crossover, simple arithmetic crossover, dan single arithmetic crossover dengan nilai α yang telah ditentukan sebesar 0.5.


(49)

Procedure Crossover (inputpopulasi: integer, pc: real) Deklarasi

k: Integer

R[]: array of integer

Function random (input a-b: integer): integer Algoritma

begin k= 0;

while(k<=populasi) do R[k] = random(0-1) if (R[k] < pc ) then

pilih Chromosome[k] sebagai induk end if

k = k + 1; end while end.

Adapun keterangan dari pseudocode prosedur crossover di atas adalah kromosom yang dijadikan induk dipilih secara acak dan jumlah kromosom yang mengalami

crossover dipengaruhi oleh parameter crossover_rate (ρc). Langkah pertama yang dilakukan adalah menentukan nilai crossover_rate (ρc). Kemudian dibangkitkan bilangan acak R untuk tiap kromosom. Jika nilai R[k] kromosom lebih kecil dari ρc

maka kromosom k dipilih sebagai induk.

Procedure WholeArithmeticCrossover (inputpopulasi: integer, pc: real) begin

k= 0;

while(k<populasi) do R[k] = random(0-1) if (R[k] < pc ) then

pilih Chromosome[k] sebagai induk parent1=kromosom[k+1]

parent2=kromosom[k+2]

for i=1 to 51

offspring[k+1]=α*mid(parent1,i,1) + α*mid(parent2,i,1)

end if end while k = k + 1; end.

Adapun keterangan dari pseudocode prosedur whole arithmetic crossover di atas adalah kromosom yang dijadikan induk dipilih secara acak dan jumlah kromosom yang mengalami crossover dipengaruhi oleh parameter crossover_rate (ρc). Langkah pertama yang dilakukan adalah menentukan nilai crossover_rate (ρc). Kemudian dibangkitkan bilangan acak R untuk tiap kromosom. Jika nilai R[k] kromosom lebih kecil dari ρc maka kromosom k dipilih sebagai induk. Jika sudah terpilih kromosom


(50)

parent maka langkah selanjutnya adalah melakukan proses arithmetic crossover

terhadap setiap gen yang ada pada kromosom. Proses arithmetic crossover yang dilakukan adalah berupa perkalian α (faktor pengali) dengan gen pada kromosom

parent 1 dijumlahkan dengan perkalian perkalian α (faktor pengali) dengan gen pada kromosom parent 1 sehingga menghasilkan kromosom anak (offspring). Proses ini akan dilakukan terhadp setiap gen pada kromosom parent.

Procedure SimpleArithmeticCrossover (inputpopulasi: integer, pc:

real) begin k= 0;

while(k<populasi) do R[k] = random(0-1) if (R[k] < pc ) then

pilih Chromosome[k] sebagai induk parent1=kromosom[k+1]

parent2=kromosom[k+2]

for i=1 to 51

R = Random (0..1)

If i<= R then

Offspring[k+1]= mid(parent1,i,1) Offspring[k+2]= mid(parent2,i,1) Else

Offspring[k+1]=α*mid(parent1,i,1)+ α*mid(parent2,i,1)

Offspring[k+2]=α*mid(parent1,i,1)+ α*mid(parent2,i,1)

End if end if end while k = k + 1; end.

Adapun keterangan dari pseudocode prosedur simple arithmetic crossover di atas adalah kromosom yang dijadikan induk dipilih secara acak dan jumlah kromosom yang mengalami crossover dipengaruhi oleh parameter crossover_rate (ρc). Langkah pertama yang dilakukan adalah menentukan nilai crossover_rate (ρc). Kemudian membangkitkan bilangan acak R[k] untuk tiap kromosom. Jika nilai R[k] kromosom lebih kecil dari ρc maka kromosom k dipilih sebagai induk. Kemudian setelah itu, dibangkitkan bilangan acak R untuk menentukan gen yang mengalami crossover. Kemudian setiap gen yang berada pada kromosom parent dimulai dari posisi R akan mengalami arithmetic crossover. Proses arithmetic crossover yang dilakukan adalah


(51)

dengan perkalian perkalian α (faktor pengali) dengan gen pada kromosom parent 1

sehingga menghasilkan kromosom anak (offspring). Proses ini akan dilakukan terhadap setiap gen pada kromosom parent dimulai dari posisi R.

Procedure SingleArithmeticCrossover (inputpopulasi: integer, pc:

real) begin k= 0;

while(k<populasi) do R[k] = random(0-1) if (R[k] < pc ) then

pilih Chromosome[k] sebagai induk parent1=kromosom[k+1]

parent2=kromosom[k+2]

for i=1 to 51

R = Random (0..1)

If i<> R then

Offspring[k+1]= mid(parent1,i,1) Offspring[k+2]= mid(parent2,i,1) Else

Offspring[k+1]=α*mid(parent1,i,1)+ α*mid(parent2,i,1)

Offspring[k+2]=α*mid(parent1,i,1)+

α*mid(parent2,i,1)

End if end if end while k = k + 1; end.

Adapun keterangan dari pseudocode prosedur single arithmetic crossover di atas adalah kromosom yang dijadikan induk dipilih secara acak dan jumlah kromosom yang mengalami crossover dipengaruhi oleh parameter crossover_rate (ρc). Langkah pertama yang dilakukan adalah menentukan nilai crossover_rate (ρc). Kemudian dibangkitkan bilangan acak R[k] untuk tiap kromosom. Jika nilai R[k] kromosom lebih kecil dari ρc maka kromosom k dipilih sebagai induk. Kemudian setelah itu, bangkitkan bilangan acak R untuk menentukan gen yang mengalami crossover. Kemudian gen pada kromosom parent yang berada pada posisi R akan mengalami

arithmetic crossover. Proses arithmetic crossover yang dilakukan adalah berupa perkalian α (faktor pengali) dengan gen pada kromosom parent 1 dijumlahkan dengan perkalian perkalian α (faktor pengali) dengan gen pada kromosom parent 1 sehingga menghasilkan kromosom anak (offspring).


(52)

3.3.6. Mutasi

Mutasi yang akan dilakukan pada penelitian ini adalah swapping mutation. Swapping mutation adalah mutasi yang dilakukan dengan menukar satu atau beberapa nilai gen dalam kromosom.

Jumlah chromosome yang mengalami mutasi dalam satu populasi ditentukan oleh parameter mutation rate. Proses mutasi dilakukan dengan cara mengganti satu gen yang terpilih secara acak dengan suatu nilai baru yang didapat secara acak. Prosesnya adalah sebagai berikut.

Pertama kita hitung dahulu panjang total gen yang ada dalam satu populasi. Panjang total gen = jumlah total gen dalam kromosom * jumlah populasi...(3.4) Panjang total gen = 4 * 6 = 24

Untuk memilih posisi gen yang mengalami mutasi dilakukan dengan cara membangkitkan bilangan integer acak antara 1 sampai total gen, yaitu 1 sampai 24. Jika bilangan acak yang kita bangkitkan lebih kecil daripada variabel mutation rate

(ρm) maka pilih posisi tersebut sebagai sub-kromosom yang mengalami mutasi. Misal ρm kita tentukan 10% maka diharapkan ada 10% dari total gen yang mengalami populasi:

Jumlah mutasi = 0.1 * 24 = 2.4 = 2

Misalkan setelah kita bangkitkan bilangan acak terpilih posisi gen 12 dan 18 yang mengalami mutasi. Dengan demikian yang akan mengalami mutasi adalah

kromosom ke-3 gen nomor 4 dan kromosom ke-5 gen nomor 2. Maka nilai gen pada posisi tersebut kita ganti dengan bilangan acak 0-30.

Misalkan bilangan acak yang terbangkitkan adalah 2 dan 5. Maka populasi kromosom setelah mengalami proses mutasi adalah:

Misalkan Kromosom Awal Kromosom[1] = [12;05;03;08]

Kromosom[2] = [02;01;08;03]

Kromosom[3] = [10;04;03;04]

Kromosom[4] = [20;01;10;06]


(1)

   

 

Gambar 4.9. Hasil Pengujian dengan Menggunakan Metode Single Arithmetic Crossover dengan Menggunakan PC=0.5 untuk Pengujian dengan 500 Generasi


(2)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut.

1. Hasil penelitian menunjukkan bahwa semakin banyak gen yang terlibat dalam proses crossover akan meningkatkan keanekaragaman gen dalam populasi, yang dapat meningkatkan kinerja algoritma genetika. Peningkatan kinerja algoritma genetika dapat lihat dari nilai fitness untuk pengujian pada metode arithmatic crossover. Berdasarkan hasil pengujian whole arithmetic crossover memiliki nilai average best fitness yang lebih baik daripada simple arithmetic crossover dan simple arithmetic crossover yang memiliki nilai average best fitness yang lebih baik daripada single arithmetic crossover. Hal ini terjadi pada pengujian dengan menggunakan nilai probability crossover sebesar 0.25 dan 0.5 pada pengujian dengan menggunakan 100, 300, dan 500 generasi. 2. Nilai average best fitness pada masing-masing metode arithmetic crossover

semakin tinggi seiring dengan pertambahan jumlah generasi. Nilai average best fitness untuk 300 generasi akan lebih baik daripada nilai average best fitness untuk 100 generasi, demikian juga nilai average best fitness untuk 500 generasi akan lebih baik daripada nilai average best fitness untuk 300 generasi. Secara umum peningkatan nilai fitness seiring dengan pertambahan jumlah generasi terjadi karena dengan jumlah generasi yang semakin banyak maka peluang untuk menghasilkan generasi baru yang memiliki nilai fitness yang lebih baik juga akan menjadi semakin besar. Hasil pengujian menunjukkan bahwa meskipun nilai best fitness yang diambil dari pengujian sebanyak 10 kali untuk jumlah generasi sebanyak 100, 300, dan 500 tidak dicapai pada generasi maksimal (Generasi ke-n), seperti misalnya pengujian dengan nilai PC sebesar 0.5 dan jumlah generasi sebanyak 500 nilai best fitness


(3)

justru dicapai pada generasi ke-26. Namun, secara average best fitness diperoleh bahwa nilai average best fitness dari pengujian dengan 500 generasi akan lebih baik daripadai 300 generasi dan average best fitness dari pengujian dengan 300 generasi akan lebih baik daripada 100 generasi.

5.2. Saran

Adapun saran yang dapat diberikan pada penelitian ini adalah sebagai berikut.

1. Penelitian ini dapat dikembangkan dengan menambahkan banyaknya generasi sehingga dapat diperoleh perbandingan hasil yang lebih baik.

2. Penambahan data uji yang lebih bervariasi sehingga didapatkan hasil yang lebih bervariasi.

3. Melakukan pengujian terhadap variasi nilai α yang digunakan dalam arithmetic crossover sehingga diketahui dampak terhadap perfomance tiap metode.

4. Untuk penelitian di masa mendatang diharapkan dapat melakukan perbandingan dengan metode crossover yang lain, sehingga dapat diperoleh hasil penelitian yang semakin baik. 

 


(4)

   

DAFTAR PUSTAKA

Andrade, Alessandro Vivas, Errico, Luciano de, Aquino, Andre L. L., Assis, Luciana Pereira de and Barbosa, Carlos H.N.R. 2008, Analysis of Selection and Crossover Methods Used by Genetic Algorithm-Based Heuristic to Solve the LSP Allocation Problem in MPLS Networks under Capacity Contraints. International Conference on Engineering Optimization, pp. 1-9

Abuiziah, I & N. Shakarneh. 2013. A Review of Genetic Algorithm Optimization: Operations and Applications to Water Pipeline Systems. Internation Journal of Mathematical, Computational, Physical and Quantum Engineering7(12): 1289-1295

Al Kasassbeh, M., Alabadleh, A., & Al-Ramadeen, T. 2012. Shared Crossover Method for Solving Traveling Salesman Problem. International Journal of Intelligent Control and Systems(IJICS)1(6):153-158

Annies, Hannawati, Thing, Eleazar. 2002. Pencarian Rute Optimum menggunakan algoritma genetika. Jurnal Teknik Elektro Fakultas Teknologi Industri, Jurusan Teknik Elektro, Universitas Kristen Petra2(2): 78-83

Biggs, N.L., Lloyd, E.K. and Wilson, R.J. 1976. Graph Theory 1736-1936. Clarendon Press: Oxford

Chipperfield, A., Fleming, P., Pohlheim, H., dan Fonseca, C. 2005. Genetic Algorithm TOOLBOX For Use with MATLAB. User’s Guide Ver.1.2. Department of Automatic Control and Systems Engineering, University of Sheffield.

Coley, David A. 1999. An Introduction to Genetic Algorithms for Scientists and Engineers. World Scientific: London

Deep, Kusum & Mebrahtu, Hadush. 2012. Variant of partially mapped crossover for the Traveling Salesman problems. International Journal of Combinatorial Optimization Problems and Informatics3(1): 47-69

Eiben, A.E. & Smith, J.E. 2007. Introduction to Evolutionary Computing Genetic Algorithms. Springer: New York

Goldberg, David E. 1989. Genetic Algorithms. Pearson Education: London

Hassoun, Mohammad H. 1995. Fundamentals of Artificial Neural Networks. MIT Press: Massachusetts


(5)

   

Hardi, Sri Melvani. 2014. Analisis Mapping pada Partially Mapped Crossover dalam Algoritma Genetika pada Traveling Salesman Problem. Tesis. Universitas Sumatera Utara

Hermawanto, Denny. 2007. Algoritma Genetika dan Contoh Aplikasinya. (Online) http://www.ilmukomputer.org/03/denny-agoptimasi.doc (7 September 2014) Juniawati. 2003. Impelementasi Algoritma Genetika Untuk Mencari Volume Terbesar

Bangun Kotak Tanpa Tutup Dari Suatu Bidang Datar Segi Empat. Jurnal Ilmiah LPPM Universitas Surabaya.

Konar, Amit. 2005. Computational Intelligence Principles, Techniques, and Applications. Springer: Calcutta, India

Kuhn, Matthias, Thomas Severin and Horst Salzwedel. 2013. Variable Mutation Rate at Genetic Algorithms: Introduction of Chromosome Fitness in Connection with Multi-Chromosome Representation. International Journal of Computer Application (IJCA)72(1): 31-38

Kumar, Rakesh and Jyotishree. 2012. Blending Roulette Wheel Selection & Rank Selection in Genetic Algorithms, International Journal of Machine Learning and Computing2(4): 365-370

Lin, Chu Hsing, Yu, Jui Ling, Liu, Jung Chun, Lai, Wei Shen and Ho, Chia Han. 2009. Genetic Algorithm For Shortest Driving Time in Intelligent Transportation System. Internation Journal of Hybrid Information Technology2(1): 21-30

Mendes, Jorge Magalhaes. 2013. A Comparative Study of Crossover Operators for Genetic Algorithms to Solve the Job Shop Scheduling Problem. Journal of School of Engineering-Polytechnic of Porto7(7): 164-173

Mitchel, Mielanie. 1999. An Introduction to Genetic Algorithm. MIT Press: Massachusets

Nasution, K. 2012. Analisis Pemilihan Partially Mapped Crossover Algoritma Genetika pada Penyelelesaian Traveling Salesman Problem. Tesis. Universitas Sumatera Utara

Negnevitsky, Michael. 2005. Artificial Intteligence-A Guide to Intelligent Systems. Addison Wesley: Edinburg

Pencheva, Tania, Atanassov, Krassimir and Shannon, Anthony. 2009. Modelling of a Stochastic Universal Sampling Selection Operator in Genetic Algorithms Using Generalized Nets. Prosiding Tenth International Workshop on Generalized Nets 2009, pp. 1-7


(6)

   

Picek, Stjepan, Jakobovic, Domagoj and Gloub, Marin. 2013. On the Recombination Operator in The Real-Code Genetic Algorithms, 2013 IEEE Congress on Evolutionary Computation, pp. 3103-3110

Rabunal, Juan R. and Dorado, Julian. 2006. Artificial Neural Networks in Real-Life Applications, Ideal Group Publishing: Hershey, United States of America. Reeves, Colin R and Rowe, Jonathan E. 2003. Genetic Algorithms : Principles and

Perpectives - A Guide to GA Theory. Kluwer Academic Publishers: New York Robandi, Imam. 2006. Desain sistem tenaga modern: optimisasi, logika fuzzy,

algoritma genetika. Pener Andi: Yogyakarta

Russell, Stuart And Norvig, Peter. 2009. Artificial Intelligence: A Modern Approach. 3rd Edition. Pearson Education Limited: London

Samuel, Lukas, Toni, A. dan Willi, Y.. 2005. Penerapan Algoritma Genetika Untuk Salesman Problem Dengan Menggunakan Metode Order Crossover dan Insertion Mutation. Prosiding Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005), pp. I-1 – I-5

Shaikh, Misba and Panchal, Mahesh. 2012. Solving Asymmetric Traveling Salesman Problem Using Memetic Algorithm, International Journal of Emerging Technology and Advanced Engineering 2(11): 634-639

Taiwo, Oloruntoyin Sefiu, Olukehinde Olutosin Mayowa and Kolapo Bukola Ruka. 2013. Application of Genetic Algorithm to Solve Traveling Salesman Problem. International Journal of Advance Research (IJOAR)1(4): 27-46

Thakur, Pratibha and Singh, Amar Jeet. 2014. Study of Various Crossover Operators in Genetic Algorithms. Internation Journal of Advanced Research in Computer Science and Software Engineering 4(3): 320-323