• Tidak ada hasil yang ditemukan

Analisis Performance Atas Metode Arithmetic Crossover Dalam Algoritma Genetika

N/A
N/A
Protected

Academic year: 2016

Membagikan "Analisis Performance Atas Metode Arithmetic Crossover Dalam Algoritma Genetika"

Copied!
89
0
0

Teks penuh

(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,

(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

(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

(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

(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.

(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

(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.

(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.

(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).

(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)

(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

(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

(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

(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

(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

(32)

Child =

α = Variabel pengali yang nilainya berkisar dari 0-1

Tabel 2.5. Single 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.

α = Variabel pengali yang nilainya berkisar dari 0-1

(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=

α = Variabel pengali yang nilainya berkisar dari 0-1

Tabel 2.7. Whole Arithmetic Crossover 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

(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)

(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)

(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.

(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.

(38)

No Nama Peneliti Persamaan Perbedaan

(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

(40)

Input:Data

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

(41)

Gambar 3.2. Dasar Algoritma Genetika

(42)

Gambar 3.3. Flowchart Whole Arithmetic Crossover

Keterangan:

(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:

(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

(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

(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

(49)

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

k: Integer

R[]: array of integer

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

Algoritma

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

(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)

(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)

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

(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 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:

(53)

Maka kromosom hasil mutasi adalah sebagai berikut:

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

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

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

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

Kromosom[5] = [01;05;03;09]

Kromosom[6] = [20;05;07;01]

(54)

BAB 4

HASIL DAN PEMBAHASAN

4.1. Pendahuluan

Pada penelitian ini akan ditampilkan hasil penilaian performansi untuk tiap metode

arithmetic crossover di dalam menyelesaikan permasalahan TSP. Pengukuran performansi akan dilakukan terhadap metode whole arithmetic crossover, simple arithmetic crossover, dan single arithmetic crossover. Nilai performansi akan dinyatakan di dalam bentuk nilai average best distance yang merupakan nilai rata-rata untuk jarak terpendek untuk tiap pengujian dan juga average best fitness yang merupakan nilai rata-rata untuk best fitness untuk tiap pengujian. Nilai best fitness

diperoleh dari hasil pembagian 1 dengan nilai best distance sehingga semakin kecil nilai best distance akan semakin besar pula nilai best fitness, dengan demikian semakin besar nilai average best fitness berarti semakin baik pula performansi dari suatu metode arithmetic crossover. Hasil pengujian yang dilakukan oleh peneliti akan disampaikan dalam bentuk tabel.

4.2. Hasil Pengujian untuk 100 Generasi

Pengujian pertama akan dilakukan dengan menggunakan percobaan pada 100 generasi pertama. Percobaan dilakukan pada nilai probability crossover (PC) sebesar 0.25 dan 0.5 dengan menggguakan nilai mutation rate sebesar 0.1 dan nilai α sebesar 0.5.

4.2.1 Pengujian dengan Probabilitas Crossover (PC=0.25)

(55)

rata-rata pada masing-masing metode arithmetic crossover. Pengujian dilakukan sebanyak 5 kali dan hasil pengujian dapat dilihat pada Tabel 4.1, 4.2, dan 4.3.

Tabel 4.1. Probabilitas Crossover (PC=0.25) untuk Whole Arithmetic Crossover

untuk 100 Generasi

No. Best Fitness Generasi Rute Optimal 1 0.00004207 10 23767.2335 2 0.00004059 35 24637.0145 3 0.00004494 74 22253.8977 4 0.00004281 24 23357.1088 5 0.00004871 52 20528.6788 6 0.00004216 89 23717.6965 7 0.00004547 10 21992.3361 8 0.00004562 87 21920.1716 9 0.00004521 44 22119.6238 10 0.00004594 70 21766.0195 Rata-rata Best Fitness = 0.00004435

Rata-rata Rute Optimal = 22605.9780

Dari Tabel 4.1. terlihat bahwa secara umum nilai best fitness dapat bervariasi untuk tiap kali pengujian. Pada Pengujian pertama nilai best fitness adalah sebesar 0.00004207 dan pada pengujian kedua sedikit mengalami penurunan best fitness

menjadi sebesar 0.00004059. Pada pengujian ketiga naik kembali menjadi sebesar 0.00004494 dan pada pengujian keempat kembali turun menjadi sebesar 0.00004281 dan mengalami kenaikan yang cukup signifikan pada pengujian kelima menjadi sebesar 0.00004871 dan variasi ini terus dilanjutkan sampai pada generasi ke 10 diperoleh nilai fitness sebesar 0.00004594. Variasi ini dapat dilihat sebagai pengaruh hasil pengacakan terhadap gen kota yang dibangkitkan dan juga nilai random pada tahapan crossover dan mutasi. Nilai best fitness yang terbaik berdasarkan 10 kali pengujian adalah sebesar 0.00004871 yang diperoleh pada pengujian keempat.

(56)

bahwa Rata-rata Best Fitness = 0.00004435 dan Rata-rata Rute Optimal = 22605.9780.

Tabel 4.2. Probabilitas Crossover (PC=0.25) untuk Simple Arithmetic Crossover

untuk 100 Generasi

No. Best Fitness Generasi Rute Optimal 1 0.00004193 39 23851.9534 2 0.00004154 30 24071.3064 3 0.00004114 1 24304.6375 4 0.00003810 63 26249.0426 5 0.00004514 99 22154.8349 6 0.00004151 6 24092.4659 7 0.00004066 95 24594.4014 8 0.00004481 76 22317.5826 9 0.00004239 33 23590.3310 10 0.00004219 96 23703.4978 Rata-rata Best Fitness = 0.00004194

Rata-rata Rute Optimal = 23893.0054

Dari Tabel 4.2. terlihat bahwa secara umum nilai best fitness dapat bervariasi untuk tiap kali pengujian. Pada Pengujian pertama nilai best fitness adalah sebesar 0.00004193 dan pada pengujian kedua sedikit mengalami penurunan best fitness

menjadi sebesar 0.00004154. Pada pengujian ketiga kembali terjadi penurunan sehingga nilai best fitness menjadi sebesar 0.00004114 dan pada pengujian keempat turun lagi sehingga nilai best fitness menjadi sebesar 0.00003810, tetapi pada pengujian kelima mengalami kenaikan yang cukup signifikan pada pengujian menjadi sebesar 0.00004514 dan sekaligus menjadikan nilai best fitness pada pengujian kelima ini menjadi best fitness terbaik paa pengujian metode simple arithmetic crossover

(57)

Dari Tabel 4.2 diperoleh bahwa pada pengujian untuk 100 generasi, dengan menggunakan metode simple arithmetic crossover dan nilai PC sebesar 0.25 diperoleh bahwa Rata-rata Best Fitness = 0.00004194 dan Rata-rata Rute Optimal = 23893.0054

Tabel 4.3. Probabilitas Crossover (PC=0.25) untuk Single Arithmetic Crossover untuk 100 Generasi

No. Best Fitness Generasi Rute Optimal 1 0.00003953 1 25294.4965 2 0.00003992 24 25047.1053 3 0.00004122 38 24262.1715 4 0.00003874 100 25811.9568 5 0.00004537 13 22041.7459 6 0.00004058 63 24643.9583 7 0.00004003 11 24984.2396 8 0.00004023 96 24856.0931 9 0.00004199 7 23816.7649 10 0.00004284 56 23342.8733 Rata-rata Best Fitness = 0.00004105

Rata-rata Rute Optimal = 24410.1405

Dari Tabel 4.3. terlihat bahwa secara umum nilai best fitness dapat bervariasi untuk tiap kali pengujian. Pada Pengujian pertama nilai best fitness yang diperoleh cukup kecil yaitu sebesar 0.00003953 dan pada pengujian kedua sedikit mengalami penurunan best fitness menjadi sebesar 0.00003992. Pada pengujian ketiga kembali terjadi peningkatan sehingga nilai best fitness menjadi sebesar 0.00004122 dan pada pengujian keempat kembali terjadi penurunan sehingga nilai best fitness menjadi sebesar 0.00003874 yang merupakan nilai best fitness terkecil pada penelitian ini, tetapi pada pengujian kelima mengalami kenaikan yang cukup signifikan menjadi sebesar 0.00004537 dan sekaligus menjadikan nilai best fitness pada pengujian kelima ini menjadi best fitness terbaik pada pengujian metode single arithmetic crossover

Gambar

Tabel 2.5. Single Arithmetic Crossover
Tabel 2.10. Perbedaan Penelitian
Gambar 3.2. Dasar Algoritma Genetika
Gambar 3.3. Flowchart Whole Arithmetic Crossover
+7

Referensi

Dokumen terkait

Dari uraian-uraian yang telah dipaparkan sebelumnya, maka dalam penelitian ini dapat diambil kesimpulan bahwa tingkat pengetahuan ibu terhadap penanganan diare di Kelurahan

Jika CPR atau rekaman elektronik menampakan visi masa depan pelayanan kesehatan, maka pencacatan elektronik adalah realita sekarang yang sudah ada difasilitas

Mahasiswa yang dinyatakan gugur dalam pelaksanaan kerja praktek wajib menyelesaikan kewajiban yang telah disepakati (jika ada) dengan pihak perusahaan. Mahasiswa yang gugur juga

Hal ini sesuai dengan penelitian hubungannya Ninik Murtiyani tentang hubungan antara pola asuh orang tua dengan kenakalan remaja di RW V Kelurahan Sidokare Kecamatan Sidoarjo

Berdasarkan analisa data dan pembahasan yang telah dilakukan dapat diambil kesimpulan bahwa bahaya yang paling besar pada keempat node boiler, terjadi pada level transmitter

Faktor predisposisi pada penelitian ini terkait dengan tinkat pengetahuan siswi terhadap tindakan SADARI, sikap siswi dalam melakukan SADARI, norma terhadap

Apabila melihat hasil penelitian yang menunjukkan bahwa pengaruh pembinaan ekstrakulikuler pecinta alam terhadap kepedulian lingkungan hidup memiliki pengaruh yang

Subyek penelitian adalah orang – orang yang dapat memberikan sebuah informasi tentang sesuatu yang sedang di teliti. Peneliti akan memfokuskan penelitiannya