• Tidak ada hasil yang ditemukan

PROGRAM STUDI S2 TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015

N/A
N/A
Protected

Academic year: 2021

Membagikan "PROGRAM STUDI S2 TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015"

Copied!
164
0
0

Teks penuh

(1)

INISIALISASI POPULASI PADA ALGORITMA

GENETIKA MENGGUNAKAN SIMPLE HILL CLIMBING (SHC) UNTUK TRAVELING SALESMAN PROBLEM (TSP)

TESIS

DELIMA SITANGGANG 137038061

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2015

(2)

INISIALISASI POPULASI PADA ALGORITMA

GENETIKA MENGGUNAKAN SIMPLE HILL CLIMBING (SHC) UNTUK TRAVELING SALESMAN PROBLEM (TSP)

TESIS

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika

DELIMA SITANGGANG 137038061

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2015

(3)

PERSETUJUAN

Judul : INISIALISASI POPULASI PADA ALGORITMAGENETIKA

MENGGUNAKAN SIMPLE HILL CLIMBING(SHC)UNTUK TRAVELING SALESMAN PROBLEM (TSP)

Kategori : TESIS

Nama : DELIMA SITANGGANG

Nim : 137038061

Program Studi : MAGISTER (S2) TEKNIK INFORMATIKA

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dr. Zakarias Situmorang Prof. Dr. Opim Salim Sitompul

Diketahui/disetujui oleh

Program StudiS2 Teknik Informatika Ketua,

Prof. Dr. Muhammad Zarlis NIP. 19570701 198601 1 003

(4)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini:

Nama : Delima Sitanggang

NIM : 137038061

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-Ekslusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul:

INISIALISASI POPULASI PADA ALGORITMA GENETIKA MENGGUNAKAN SIMPLE HILL CLIMBING (SHC) UNTUK TRAVELING

SALESMAN PROBLEM (TSP)

Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Ekslusif 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,30 Oktober 2015

DelimaSitanggang 137038061

(5)

PERNYATAAN

INISIALISASI POPULASI PADA ALGORITMA GENETIKA MENGGUNAKAN SIMPLE HILL CLIMBING (SHC)UNTUK TRAVELING

SALESMAN PROBLEM (TSP)

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 30 Oktober 2015

Delima Sitanggang 137038061

(6)

ABSTRAK

Pada algoritma genetika klasik, penentuan populasi awal dibangkitkan dengan metode acak (random). Pada penelitian dengan menggunakan jumlah populasi yang besar, metode ini sering menimbulkan efek yang tidak baik berupa konvergensi prematur dalam menemukan solusi optimal. Pada penelitian ini,Algoritma Simple Hill Climbing (SHC) sebagai algoritma yang bersifat lokal optimal dianalisis penerapannya untuk memperbaiki kinerja dari algoritma genetika dalam rangka menghindari algoritma genetika pada masalah konvergensi prematur sehingga diharapkan dicapai solusi yang optimal dalam penyelesaian masalah Traveling Salesman Problem(TSP). Pada penelitian ini dilakukan tiga jenis percobaan dengan menerapkan parameter Algoritma Genetika yang berbeda. Masing-masing parameter terdiri dari 10, 20 dan 50 populasi, jumlah iterasi 100, Probabilitascrossover0,1 dan Probabilitas Mutasi 0,75. Pada percobaan pertama diperoleh nilai inisial solusi untuk SHC sebesar 3596.6, solusi terbaik untuk SHC sebesar 31618.0 dan solusi terbaik untuk AlgoritmaGenetika 2725.5.

Pada percobaan kedua diperoleh nilai inisial solusi untuk SHC sebesar 3494.1,solusi terbaik untuk SHC sebesar 3060.9dansolusi terbaik untuk Algoritma Genetika 2722.1. Pada percobaan ketiga diperoleh nilai inisial solusi untuk SHC sebesar3330.9,solusi terbaik untuk SHC sebesar 3202.3dan solusi terbaikuntuk Algoritma Genetika 2695.7.Pada penelitian ini semakin besar jumlah populasi yang diterapkan pada algoritma genetika maka diperoleh nilai solusi yang semakin baik pula. Pada penelitian ini penulis membandingkan hasil yang diperoleh dengan penelitian sejenis yang menggunakan metode EA, GA, dan ACO-GA. Hasil yang diperoleh dengan metode EA adalah sebesar 2678, dengan GA sebesar 3218 dan dengan ACO-GA sebesar 3092 sedangkan dengan penelitian penulis diperoleh dengan hasil 2667

Kata Kunci : Simple Hill Climbing, Algoritma Genetika, Travelling Salesman Problem

(7)

POPULATION INITIALIZATIONIN GENETIC ALGORITHM USING SIMPLE HILL CLIMBING (SHC) FOR TRAVELING

SALESMAN PROBLEM

(TSP)

ABSTRACT

In classical genetic algorithm, the determination of the initial population generated by random methods. In the study using a large population, these methods often cause undesirable effects such as premature convergence in finding the optimal solution. In this study, algorithm Simple Hill Climbing (SHC) as the algorithm locally optimal analyzed its application to improve the performance of the genetic algorithm in order to avoid the genetic algorithm to the problem of convergence premature so expect to achieve optimal solutions in solving the Traveling Salesman Problem (TSP), In this research, three types of experiments by applying different parameters of Genetic Algorithm. Each of these parameters consist of 10, 20 and 50 of the population, number of iterations 100, crossover probability 0.1 and mutation probability of 0.75. In the first experiment, initial values obtained for the solution is 3596.6, SHC amounted to 31618.0 best solution and the best solution Genetic Algorithm 2725.5. In the second experimental values obtained initial solution to SHC at 3494.1, 2722.1 and the best SHC for the best solution Genetic Algorithm 2722.1. In the third experiment obtained the initial value of 3330.9 solutions for SHC, SHC best solution and the best solution for 3202.3 Genetic Algorithm 2695.7. In this study population the greater the number of genetic algorithm applied to the obtained value the better solution.In this study, the authors compare the results obtained with similar studies that use methods of EA, GA and ACO-GA. The results obtained by the method of EA is equal to 2678, the GA of 3218 and with the ACO-GA by 3092 while with the research results obtained by the author in 2667

Keywords: Simple Hill Climbing, Genetic Algorithms, Travelling Salesman Problem

(8)

DAFTAR ISI

Halaman

HALAMAN JUDUL i

PENGESEHAN ii

PERNYATAAN ORISINALITAS iii

PERSETUJUAN PUBLIKASI iv

PANITIA PENGUJI v

RIWAYAT HIDUP vi

UCAPAN TERIMA KASIH vii

ABSTRAK ix

ABSTRACK x

DAFTAR ISI xi

DAFTAR GAMBAR xiv

DAFTAR TABEL xv

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang Masalah 1

1.2 Perumusan Masalah 3

1.3 Batasan Masalah 4

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 4

BAB 2 TINJAUAN PUSTAKA 5

2.1. Algoritma Genetika 5

2.1.1. Pengantar 5

2.1.2. Struktur Umum Algoritma Genetika 6

(9)

2.2 Teknik Encoding 8

2.3 Operator Genetika 10

2.3.1.Seleksi 10

2.3.2. Crossover 11

2.3.3. Mutasi 12

2.4 Parameter Genetika 13

2.4.1. Probabilitas Persilangan (Crossover Probability) 13 2.4.2. Probabilitas Mutasi (Mutation Probabality) 14

2.4.3. Jumlah Individu 14

2.4.4. Jumlah Populasi 14

2.5 Simple Hill Climbing(SHC) 14

2.5.1. Pengantar 14

2.5.2. Prosedur Simple Hill Climbing 15

2.6 Traveling Salesman Probelem (TSP) 15

2.7 Riset- Riset Terkait 18

BAB 3 METODOLOGI PENELITIAN 19

3.1 Pengantar 19

3.2 Data Source 21

3.3 Prosedur Penyelesaian Masalah 22

3.4 Algoritma Sistem 26

3.4.1.Penjelasan Algoritma Sistem 27

3.4.2. Proses Evaluasi 28

3.4.3. Proses Seleksi 29

3.4.4. Crossover 30

3.4.5. Proses Mutasi 30

3.4.6. Kondisi Selesai 31

(10)

BAB 4 HASIL DAN PEMBAHASAN 32

4.1 Pengantar 32

4.2 Inisialisasi Solusi Menggunakan SHC 33

4.2.1. Perhitungan Total Jarak 36

4.3 Algoritma Genetika 38

4.3.1. Parameter 38

4.3.2. Individu Awal 39

4.3.3. Best Individu 41

4.3.4. Global Best 47

4.4 Pengaruh Jumlah Individu Terhadap Pencapaian Total Jarak 49 4.4.1. Perbandingan Nilai Total Jarak Pada Awal Individu 49 4.4.2. Perbandingan Nilai Total Jarak Pada Indvidu Akhir 50 4.5 Perbandingan Hasil Penelitian dengan penelitian Terkait 51

BAB 5 KESIMPULAN DAN SARAN 54

5.1 Kesimpulan 54

5.2 Saran 55

DAFTAR PUSTAKA 56

LAMPIRAN 58

(11)

BAB 1 PENDAHULUAN

1.1. Latar Belakang

Algoritma genetika adalah salah satu metode heuristik adaptif yang merupakan cabang dari evolutionary algorithm, yaitu suatu teknik untuk memecahkan masalah-masalah optimasi yang rumit dengan menirukan proses evolusi makhluk hidup. Algoritma genetika merupakan salah satu algoritma optimasi berbasis pencarian (search) yang didasarkan seleksi natural dan genetika natural (Golberg & Richardson, 1997).

Penyelesaian masalah optimasi menggunakan algoritma genetika tergolong sulit karena kualitas keputusan yang diselesaikan menggunakan algoritma genetika berhubungan dengan banyak karakteristik misalnya populasi awal, crossover, mutasi, probabilitas, fungsi fitness, faktor seleksi dan faktor yang lainnya. Keseluruhan faktor tersebut saling mempengaruhi satu sama lain sebagai sebuah sistem (Pedro & Gomez, 2007).

Algoritma genetika diawali dengan sebuah himpunan populasi awal (initial population).

Hill (1999) menyatakan bahwa kualitas populasi awal sangat mempengaruhi hasil akhir yang dicapai oleh algoritma genetika. Populasi awal yang baik tentunya akan memfasilitasi algoritma genetika dalam mencapai konvergensi yang optimal dan sebaliknya populasi awal yang tidak baik (poor) akan menuntun kepada penemuan solusi yang tidak optimal.

Pada algoritma genetika klasik, penentuan populasi awal dibangkitkan dengan metode acak (random). Pada penelitian dengan menggunakan jumlah populasi yang besar, metode ini sering menimbulkan efek yang tidak baik berupa waktu eksekusi yang sangat lama dalam menemukan solusi optimal (Kumar et al. 2013). Penelitian serupa juga dikemukakan olehRaja

&Bhaskaran (2013) bahwa populasi awal yang tidak baik atau terlalu besar dapat mereduksi kecepatan konvergensi. Pedro et al. (2009) mengemukakan bahwa populasi yang terlalu besar dapat mengakibatkan.

(12)

konvergensi prematur. Melalui serangkaian proses yang iteratif, algoritma genetika akan membangkitkan populasi baru dan selanjutnya akan melakukan pencarian solusi terbaik. Algoritma akan berhenti ketika menemukan solusi yang optimal (Kumar, 2012).

Penelitian terhadap metode pembangkitan populasi awal algoritma genetika merupakan bidang kajian riset yang tidak luput dari perhatian para peneliti akhir-akhir ini. Pendekatan ini dilakukan dalam rangka menghindari algoritma genetika mencapai konvergensi prematur.

(Kuczapski et al. 2010) menerapkan metode Weighted Sum of Priority Rules (WSPR) untuk menentukan inisial populasi yang baik bagi Genetic Algorithm pada kasus Job Shop Scheduling (JSS), hasil penelitian menemukakan bahwa dengan metode WSPR diperoleh waktu yang lebih singkat sebesar 50 % dalam menyelesaikan JSS tersebut. Peneliti lain yaitu Deb et al.(2005) menerapkan metode Non-dominate Sorting (NS) dalam menghasilkan inisial populasi yang baik pada algoritma genetika. Hasil penelitian menunjukkan bahwa dengan metode tersebut diperoleh konvergensi yang mendekati tingkat pareto-optimal yaitu suatu kondisi dengan tingkat efisiensi yang paling tinggi.

Algoritma Simple Hill Climbing (SHC) merupakan salah satu algoritma heuristik yang bersifat optimum lokal (local optimal) dimana hasil pencarian yang ditemukan dengan metode tersebut bukan yang paling baik (optimum) dari semua solusi yang ada (Vaughan, 2000).

Algoritma ini tergolong sederhana dan memerlukan waktu komputasi yang cepat. Algoritma Simple Hill Climbing (SHC) banyak diterapkan dalam penyelesaian masalah yang berkaitan dengan pencarian rute terpendek (shortest path). Diantaranya adalah Thiang & Shih (2012) meyelesaikan pencarian rute terpendek pada aplikasi mobile robot, Novitasari et al. (2013) menyelesaikan masalah TSP (Traveling Salesman Problem) menggunakan metode SHC.

Aawar & Bakri (2014) meneliti sekaligus mengimplementasikan Simple Hill Climbing (SHC) pada bidang robotic automation control 2D dan 3D. Pada penelitian tersebut Simple Hill Climbing (SHC) mampu memberikan pemetaan (mapping) yang baik bagi robot sehingga diperoleh jarak terpendek dan kemampuan yang lebih baik dalam menghindari tabrakan terhadap penghalang. Dalam perkembangan penelitian selanjutnya Simple Hill Climbing (SHC) banyak dikombinasikan dengan algoritma yang lain untuk meningkatkan kinerja dari algoritma

(13)

yang bersangkutan. Lim et al. (2006) mengkombinasikan Simple Hill Climbing (SHC) dengan Ant Colony Optimization (ACO) dalam meningkatkan bandwidth jaringan pada aplikasi GPS (Global Positioning System). Koschra &Joshi (2012) menerapkan Simple Hill Climbing (SHC) pada segmentasi citra, hasilnya di peroleh segmentasi yang baik. Pada penelitian ini algoritma Simple Hill Climbing (SHC) diterapkan untuk memperbaiki kinerja dari algoritma genetika yait u mempercepat konvergensi algoritma genetika dalam hal optimasi berdasarkan populasi awal.

Berdasarkan penelitian di atas penulis tertarik untuk meneliti metode atau algoritma yang lain untuk mencari solusi yang lebih variatif dalam rangka membangkitkan inisial populasi awal yang baik bagi algoritma genetika. Penulis meneliti penerapan algoritma Simple Hill Climbing (SHC) sebagai metode alternatif dalam rangka membangkitkan inisial populasi yang baik bagi algoritma genetika.

1.2. Rumusan Masalah

Pada algoritma genetika klasik, penentuan populasi awal dibangkitkan dengan metode acak (random). Pada kasus dengan jumlah populasi yang besar, metode ini sering menimbulkan efek yang tidak baik berupa konvergensi prematur dalam menemukan solusi optimal. Algoritma Simple Hill Climbing (SHC) sebagai algoritma yang bersifat lokal optimal akan dianalisis penerapannya untuk memperbaiki kinerja dari algoritma genetika dalam rangka menghindari masalah konvergensi prematur sehingga diharapkan dicapai solusi yang optimal dalam penyelesaian masalah Traveling Salesman Problem (TSP)

1.3. Batasan Masalah

Luasnya ruang lingkup yang berkaitan dengan algoritma Simple Hill Climbing (SHC) dan algoritma genetika, maka untuk menyajikan hasil penelitian yang efektif dan efisien perlu dilakukan pembatasan masalah penelitian.

1. Algoritma genetika yang diterapkan adalah algoritma genetika dengan cross over satu titik karena lebih sederhana dan mudah diterapkan

(14)

2. Metode seleksi yang digunakan adalah Roulette Wheel selection karena lebih sederhana dan mudah diterapkan.

3. Data source yang digunakan untuk studi kasus penelitian ini adalah data source Hasler Whithney TSPLIB95 A280.

1.4. Tujuan Penelitian

Tujuan dari penulisan penelitian ini adalah untuk memperbaiki kinerja dari algoritma genetika menggunakan algoritma Simple Hill Climbing (SHC), dengan menganalisis perbedaan hasil pencarian dengan algoritma Simple Hill Climbing (SHC) dan tanpa algoritma Simple Hill Climbing (SHC)

1.5. Manfaat Penelitian

Manfaat yang diharapkan dari penelitian ini adalah sebagai berikut :

1. Dapat mengetahui sejauh mana tingkat perbaikan optimasi yang dapat dicapai dengan menggunakan algoritma Simple Hill Climbing (SHC).

2. Hasil penelitian ini dapat menjadi rujukan para pembaca dalam memahami pembangkitan populasi awal pada algoritma genetika menggunakan algoritma Simple Hill Climbing (SHC).

(15)

BAB 2

TINJAUAN PUSTAKA

2.1. Algoritma Genetika 2.1.1. Pengantar

Algoritma genetika merupakan teknik pencarian yang didasarkan atas mekanisme seleksi dan genetika natural. Algoritma genetika berbeda dengan teknik pencarian konvensional, dimana pada algoritma genetika kondisi diawali dengan setting awal solusi acak yang disebut populasi.

Tiap individu dalam populasi disebut kromosom, yang merepresentasikan suatu solusi atas permasalahan.

Kromosom adalah suatu string simbol, yang umumnya merupakan string bit biner.

Kromosom berevolusi melalui iterasi berkelanjutan, yang disebut generasi. Pada setiap generasi, kromosom dievaluasi berdasarkan suatu fungsi evaluasi (Golberg & Richarson, 1997). Untuk menghasilkan generasi berikutnya, kromosom baru yang disebut offspring, dibentuk baik melalui penyatuan dua kromosom dari generasi awal menggunakan operator per kawinan silang (crossover) atau memodifikasi kromosom menggunakan operator mutasi (mutation). Suatu generasi baru dibentuk melalui proses seleksi beberapa induk (parents) dan anak (offspring), sesuai dengan nilai fitness, dan melalui eliminasi kromosom lainnya agar ukuran populasi tetap konstan. Kromosom yang sesuai memiliki kemungkinan tertinggi untuk dipilih. Setelah beberapa generasi, algoritma menghasilkan kromosom-kromosom terbaik yang diharapkan mewakili solusi optimal atau suboptimal atas permasalahan.

Hal-hal yang harus dilakukan dalam menggunakan algoritma genetika adalah:Mendefinisikan individu, dimana individu menyatakan salah satu solusi (penyelesaian) yang mungkin dari permasalahan yang diangkat.

(16)

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

2. Menentukan proses pembangkitan populasi awal. Hal ini biasanya dilakukan dengan menggunakan pembangkitan acak seperti random-walk.

3. Menentukan proses seleksi yang akan digunakan.

4. Menentukan proses perkawinan silang (cross-over).

5. Mutasi gen yang akan digunakan

2.1.2. Struktur umum algoritma genetika.

Algoritma genetika memberikan suatu pilihan bagi penentuan nilai parameter dengan meniru cara reproduksi genetika, pembentukan kromosom baru serta seleksi alam seperti yang terjadi pada mahluk hidup. Algoritma genetika secara umum dapat diilustrasikan dalam diagram alir berikut ini (ebrahimzadeh, 2013).

(17)

Gambar 2.1. Struktur umum algoritma genetika

Menurut Kuhn et al. (2013), variabel dan parameter yang digunakan pada algoritma genetika adalah:

Seleksi

Crossover

Mutasi

Best Fitness

Selesai Kriteria optimal ?

Ya

Tidak

Mulai

Populasi awal

Hitung Fitness

(18)

1. Fungsi fitness (fungsi tujuan) yang dimiliki oleh masing-masing individu untuk menentukan tingkat kesesuaian individu tersebut dengan criteria yang ingin dicapai.

2. Jumlah individu yang dilibatkan pada setiap generasi.

3. Probabilitas terjadinya persilangan (crossover) pada suatu generasi.

4. Probabilitas terjadinya mutasi pada setiap individu.

5. Jumlah generasi yang akan dibentuk yang menentukan lama penerapan algoritma genetika.

Rexhepi et al. (2013) menyatakan bahwa secara umum struktur dari suatu algoritma genetika dapat didefenisikan dengan langkah-langkah sebagai berikut :

1. Membangkitkan populasi awal

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

2. Membentuk generasi baru

Untuk membentuk generasi baru, digunakan operator reproduksi/seleksi, crossover dan

mutasi. Proses ini dilakukan berulang-ulang sehingga

didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru.

generasi baru ini dikenal dengan istilah anak (offspring).

3. Evaluasi solusi

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.

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 dibentuk lagi generasi baru dengan mengulangi langkah 2.

(19)

2.2. Teknik Encoding

Proses pembentukan kromoson adalah salah satu proses yang sulit dalam algoritma genetika.

Hal ini disebabkan karena teknik pembentukan kromoson untuk setiap permasalahan berbeda, karena tidak semua teknik pembentukan kromoson cocok untuk setiap permasalahan.

Pembentukan kromoson menghasilkan string yang kemudian disebut kromosom. String terdiri dari sekumpulan bit yang dikenal sebagai gen. Jadi satu kromosom terdiri dari sejumlah gen.

Ada bermacam-macam teknik encoding yang dapat dilakukan dalam algoritma genetika.

Beberapa teknik encoding itu antara lain adalah binary encoding, permutation encoding, value encoding serta tree encoding (Kumar, 2012)

Untuk menyelesaikan suatu permasalahan menggunakan algoritma genetika, perlu diketahui beberapa macam encoding guna menentukan operator crossover dan mutasi yang akan digunakan. Encoding tersebut tergantung pada permasalahan apa yang diangkat.

Menurut Varnam khasti & Lee (2012), beberapa macam encoding pada algoritma genetika adalah :

1. Binary Encoding

Encoding jenis ini sering digunakan. Kromosom dari binary encoding ini berupa kumpulan dari nilai biner 0 dan 1.

Contohnya:

Chromosome1 1101100100110110 Chromosome2 1101011000011110

Dalam Binary Encoding memungkinkan didapatkan kromosom dengan nilai allele yang kecil, tetapi kekurangannya tidak dapat digunakan untuk beberapa permasalahan dan terkadang diperlukan adanya koreksi setelah proses crossover dan mutasi. Salah satu permasalahan yang menggunakanencoding adalah menghitung nilai maksimal dari suatu fungsi.

(20)

2. Permutation Encoding

Kromosom dari permutation encoding ini berupa kumpulan dari nilai integer yang mewakili suatu posisi dalam sebuah urutan. Biasanya digunakan pada permasalahan TSP.

Contohnya:

Chromosome 1 1 4 7 9 6 3 5 0 2 8 Chromosome 2 9 3 2 5 8 1 6 0 4 7 16 3 3. Value Encoding

Kromosom dari value encoding berupa kumpulan dari suatu nilai, yang bisa berupa macam-macam nilai sesuai dengan permasalahan yang dihadapi, seperti bilangan real, char atau objek yang lain. Encoding ini merupakan pilihan yang bagus untuk beberapa permasalahan khusus, biasanya diperlukan metode khusus untuk memproses crossover dan mutasinya sesuai dengan permasalahan yang dihadapi.

Contohnya:

Chromosome 1 A B E D B C A E D D Chromosome 2 N W W N E S S W N N 4. Tree Encoding

Tree Encoding biasanya digunakan pada genetic programming. Kromosom yang digunakan berupa sebuah tree dari beberapa objek, seperti fungsi atau command pada genetic programming.

Menurut Rani & Kumar (2014), Teknik encoding yang digunakan pada Traveling Salesman Problem adalah permutation encoding. Selain digunakan pada Traveling Salesman Problem, teknik ini juga dapat digunakan pada Task Ordering Problem. Pada permutation encoding, kromosom-kromosom adalah kumpulan angka yang mewakili posisi dalam sebuah rangkaian. Pada gambar 2.2. Kromoson yang terbentuk adalah : A, C, E, G, F, D, B, A

(21)

Gambar 2.2. Lintasan (Path) dalam TSP 2.3. Operator Genetika

Algoritma genetika merupakan proses pencarian yang heuristik dan acak sehingga penekanan pemilihan operator yang digunakan sangat menentukan keberhasilan algoritma genetika dalam menemukan solusi optimum suatu masalah yang diberikan. Hal yang harus diperhatikan adalah menghindari terjadinya konvergensi premature, yaitu mencapai solusi optimum yang belum waktunya, dalam arti bahwa solusi yang diperoleh adalah hasil optimum lokal.

Operator genetika yang digunakan setelah proses evaluasi tahap pertama membentuk populasi baru dari generasi sekarang. Operator-operator tersebut adalah operator seleksi, crossover dan mutasi (Malhotra, et al. 2011)

2.3.1 Seleksi

Seleksi bertujuan memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling fit. Langkah pertama dalam seleksi ini adalah pencarian nilai fitness. Masing-masing individu dalam suatu wadah seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai objektif dirinya

A

B

C

E

G

D F

(22)

sendiri terhadap nilai objektif dari semua individu dalam wadah seleksi tersebut.

Nilai fitness inilah yang nantinya akan digunakan pada tahap seleksi berikutnya.

Kemampuan algoritma genetika untuk memproduksi kromosom yang lebih baik secara progresif tergantung pada penekanan selektif (selective pressure) yang diterapkan ke populasi. Penekanan selektif dapat diterapkan dalam dua cara. Cara pertama adalah membuat lebih banyak kromosom anak yang dipelihara dalam populasi dan memilih hanya kromosom-kromosom terbaik bagi generasi berikut. Walaupun orang tua dipilih secara acak, metode ini akan terus menghasilkan kromosom yang lebih baik berhubungan dengan penekanan selektif yang diterapkan pada individu anak tersebut.

Menurut Sharma et al. (2014), ada beberapa metode untuk memilih kromosom yang sering digunakan antara lain adalah seleksi roda rolet (roulette wheel selection), seleksi ranking (rank selection) dam seleksi turnamen (tournament selection). Dalam penelitian ini, metode yang digunakan adalah seleksi roda rolet(roulette wheel selection). Pada seleksi ini, orang tua dipilih berdasarkan fitness mereka. Lebih baik kualitas suatu kromosom, lebih besar peluangnya untuk terpilih. Probabilitas suatu individu terpilih untuk crossover sebanding dengan fitness-nya. Cara penyeleksian ini merupakan peniruan dari permainan rodarolet.

2.3.2. Crossover

Crossover (perkawinan silang) bertujuan menambah keanekaragaman string dalam populasi dengan penyilangan antar-string yang diperoleh dari sebelumnya. Beberapa jenis crossover tersebut adalah:

1. Crossover satu titik

Pada crossover dilakukan dengan memisahkan suatu string menjadi dua bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan dengan cara yang

(23)

sama. Proses yang demikian dinamakan operator crossover satu titik sebagaimana diperlihatkan pada gambar 2.1.

Tabel 2.1 Contoh Crossover satu titik Kromosom Orangtua 1 11001011

Kromosom Orangtua 2 11011111

Keturunan 11001111

2. Crossover dua titik

Proses crossover ini dilakukan dengan memilih dua titik crossover.

Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal kromosom sampai titik crossover pertama disalin dari orangtua pertama, bagian dari titik crossover pertama dan kedua disalin dari orangtua kedua, kemudian selebihnya disalin dari orangtua pertama lagi sebagaimana diperlihatkan pada gambar 2.2.

Tabel 2.2 Contoh Crossover dua titik Kromosom Orangtua 1 11001011

Kromosom Orangtua 2 11011111

Keturunan 11011111

3. Crossover seragam

Crossover seragam manghasilkan kromosom keturunan dengan menyalin bit-bit secara acak dari kedua orangtuanya sebagaimana diperlihatkan pada gambar 2.3.

(24)

Tabel 2.3 Contoh Crossover seragam Kromosom Orangtua 1 11001011

Kromosom Orangtua 2 11011111

Keturunan 11011111

2.3.3. Mutasi

Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom.Operasi crossover yang dilakukan pada kromosom dengan tujuan untuk memperoleh kromosom-kromosom baru sebagai kandidat solusi pada generasi mendatang dengan fitness yang lebih baik, dan lama-kelamaan menuju solusi optimum yang diinginkan. Akan tetapi, untuk mencapai hal ini, penekanan selektif juga memegang peranan yang penting. Jika dalam proses pemilihan kromosom-kromosom cenderung pada kromosom yang memiliki fitness yang tinggi saja, konvergensi premature, yaitu mencapai solusi yang optimal lokal sangat mudah terjadi Operator mutasi merupakan operasi yang menyangkut satu kromosom tertentu.

Beberapa cara operasi mutasi diterapkan dalam algoritma genetika 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 bit pada

posisi tertentu yang terpilih secara acak (atau menggunakan skema tertentu) pada kromosom, yang disebut inverse bit sebagaimana diperlihatkan pada gambar 2.4.

(25)

Tabel 2.4 Contoh Mutasi pada pengkodean biner Kromosom sebelum mutasi 1 0 0 1 0 1 1 1 Kromosom setelah mutasi 1 0 0 1 0 0 1 1

2. Mutasi dalam pengkodean permutasi

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

Tabel 2.5 Contoh Mutasi pada pengkodean permutasi Kromosom sebelum mutasi 1 2 3 4 6 5 8 7 9 Kromosom setelah mutasi 1 2 7 4 6 5 8 3 9

3. Mutasi dalam pengkodean nilai

Mutasi pada pengkodean nilai hampir sama dengan yang dilakukan pada pengkodean biner, tetapi yang dilakukan bukan menginversi nilai bit.Penerapannya

bergantung pada jenis nilai yang digunakan. Sebagai

contoh untuk nilai rill, 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

(26)

verteks pohon yang dipilih. Atau, dapat juga dilakukan dengan memilih dua verteks dari pohon dan saling mempertukarkan operator atau nilainya

2.4. Parameter Genetika

Pengoperasian algoritma genetika dibutuhkan 4 parameter : 2.4.1. Probabilitas persilangan (crossover probability)

Menunjukkan kemungkinan crossover terjadi antara dua kromosom. Jika tidak terjadi crossover maka keturunannya akan sama persis dengan kromosom 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.4.2. Probabilitas mutasi (mutation probability)

Menunjukkan kemungkinan mutasi terjadi pada gen-gen yag 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.

2.4.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 orangtua karena hanya sebagian kecil dari search space yang dipakai. Sebaliknya jika terlalu banyak maka algoritma genetika akan berjalan lambat.

(27)

2.4.4. Jumlah populasi

Menentukan jumlah populasi atau banyaknya generasi yang dihasilkan, digunakansebagai batas akhir proses seleksi, persilangan dan mutasi.

2.5. Simple Hill Climbing 2.5.1 Pengantar

Metode Simple Hill Climbing adalah salah satu metode dari sekian banyak metode kecerdasan buatan untuk menyelesaikan permasalahan optimasi. Karena algoritmanya yang cukup sederhana, metode Simple Hill Climbing telah banyak diterapkan dalam berbagai aplikasi.

Metode Simple Hill Climbing hampir sama dengan metode pembangkitan dan pengujian (Generate and Test), hanya saja proses pengujian dilakukan menggunakan fungsi heuristik.

Pembangkitan keadaan berikutnya (next state) sangat tergantung pada feedback dari prosedur pengujian, pengujian yang berupa fungsi heuristik ini akan menunjukkan seberapa besar nilai terkaan yang diambil terhadap keadaan lainnya yang mungkin.

Metode Simple Hill Climbing merupakan variasi dari Depth-First Search (DFS). Dengan metode ini, eksplorasi terhadap keputusan dilakukan dengan cara Depth-First Search yaitu dengan mencari langkah (path) yang bertujuan menurunkan cost untuk menuju kepada keputusan (goal), dengan selalu memilih nilai heuristik terkecil (Pothdar & Thool 2014)

2.5.2. Prosedur simple hill climbing

Menurut Shirazi et al. (2008), prosedur algoritma Simple Hill Climbing dapat dijelaskan dalam bentuk langkah-langkah berikut ini :

1. Mulai dari keadaan awal, lakukan pengujian:

1.1. Jika merupakan tujuan, maka berhenti

1.2. Jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.

(28)

2. Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai tidak ada rute kunjungan baru (successor) baru yang akan diaplikasikan pada keadaan sekarang.

3. Cari rute kunjungan baru (successor) yang belum pernah digunakan, gunakan rute kunjungan baru ini untuk mendapatkan keadaan yang baru.

4. Evaluasi keadaan baru tersebut:

4.1. Jika keadaan baru merupakan tujuan maka selesai.

4.2. Jika bukan tujuan, namun nilainya lebih baik dari pada keadaan

sekarang, maka jadikan keadaan baru tersebut menjadi keadaan sekarang.

4.3. Jika keadaan baru tidak lebih baik dari pada keadaan sekarang, maka lanjutkan iterasi.

2.6. Traveling Salesman Problem (TSP)

Traveling Salesman Problem (TSP) merupakan sebuah permasalahan optimasi yang dapat diterapkan pada berbagai kegiatan seperti routing. Masalah optimasi TSP terkenal dan telah menjadi standar untuk mencoba algoritma yang komputational. Pokok permasalahan dari TSP adalah seorang salesman harus mengunjungi sejumlah kota yang diketahui jaraknya satu dengan yang lainnya dan kembali ke kota asal.

Traveling salesman problem dapat didefenisikan sebagai berikut : ada satu set kota {C1, C2, C3,...Cn} dan d {Ci, Cj} adalah jarak antar kota ke-i dan ke-j. Tujuannya adalah menemukan urutan π dari rumus berikut untuk mendapatkan nilai yang paling minimal (Gupta & Panwar 2013).

∑ ( ( ) ( )) ( ( ) ( )) (2.1)

(29)

Hasil dari rumus tersebut disebut sebagai panjang dari perjalanan seorang salesman mengunjungi kota-kota sesuai urutan π dimana setelah mengujungi semua kota, salesman tersebut kembali lagi ke kota asalnya.

Permasalahan Traveling Salesman Problem ada dua macam, yaitu Symetric Salesman Problem yang biasa disebut dengan Traveling Salesman Problem dan Asymetric Salesman Problem. Pada Symetric Salesman Problem, d {Ci, Cj}=d {Cj, Ci} sedangkan jika Asymetric Salesman Problem maka d {Ci, Cj}≠d {Cj, Ci} untuk 1≤i dan j≥n.

Traveling Salesman Problem adalah salah satu masalah optimasi yang merupakan NP- complete problem (non deterministic polynomial complete), yaitu suatu permasalahan dimana dengan bertambahnya variabel secara linier maka waktu yang diperlukan untuk memecahkan masalah itu bertambah secara eksponensial. Hal ini sering juga disebut dengan combinatorial exponential.

TSP secara sederhana dapat didefinisikan sebagai proses pencarian lintasan terefisien dan terpendek dari beberapa kota yang dipresentasikan, melewati setiap kota tersebut dan kembali ke kota awal. Setiap kota hanya dapat dikunjungi sebayak satu kali saja. Persoalan yang dihadapi TSP ialah bagaimana merencanakan total jarak yang minimum. Untuk menyelesaikan persoalan tersebut, tidak mudah dilakukan karena terdapat ruang pencarian dari sekumpulan permutasi sejumlah kota, maka TSP kemudian dikenal dengan persoalan Non Polynomial.

Gambaran sederhana dari pengertian TSP dapat diperlihatkan pada gambar 2.3.

Kota-kota pada gambar 2.3 masing-masing mempunyai koordinat (x,y), sehingga jarak antar kedua kota dapat dihitung dengan rumus (2.2) (Gupta & Panwar 2013).

√( ) ( ) (2.2)

(30)

Keterangan :

x,y = Koordinat titik (Kota)

Setelah jarak-jarak yang menghubungkan tiap kota diketahui, maka dicari rute terpendek dari jalur yang akan dilewati untuk kembali ke kota awal diperlihatkan pada gambar 2.4.

Gambar 2.4. Lintasan (path) dalam TSP

2.7. Riset-Riset Terkait

Dalam melakukan penelitian, penulis menggunakan beberapa riset terkait yang akan di

jadikan acuan yang membuat penelitian berjalan lancar. Pada penelitian sebelumnya untuk judul traveling salesman problem inspired by Eurygasters movement. dengan Metode Eurygasters Algorithm (EA) (Rafe & Karimi, 2012) dan untuk judul penelitian berikutnya Menggunakan Algoritma Genetika (GA) dan ACO (Haroun et al.2015) serta penelitian penulis dengan SHC-GA untuk kasus TSP sama- sama menggunakan data source Hasler Whithney TSPLIB95 A280. Adapun riset-riset terkait tersebut adalah seperti tercantum pada tabel 2.6 berikut ini.

Start

A

B

C

E

G

D F

(31)

Tabel 2.6. Riset-riset terkait No Judul Riset Nama dan

Tahun Peneliti

Metode yang Digunakan

Hasil Penelitian

1 A Novel approach to solve traveling salesman

problem inspired by Eurygasters

movement.

International

Research Journal of Applied and Basic Sciences.

Rafe

Karimi (2012)

Eurygasters Algorithm (EA)

Penerapan Algoritma Eurygasters atau Eurygasters Algorithm (EA) dalam menemukan rute terpendek pada kasus TSP. Penelitian tersebut menemukan solusi terbaik dengan nilai 2678

2 A Performance Comparison of GA and ACO Applied to TSP. International Journal of Computer Applications

Haroun et al (2015)

Genetic

Algorithm(GA) dengan Ant Colony Optimization (ACO).

Menggunakan Algoritma Genetika (GA) dan ACO diperoleh hasil terbaik sebesar 3218

3 A Performance Comparison of GA and ACO Applied to TSP. International Journal of Computer Applications

Haroun et al (2015)

Ant Colony Optimization (ACO).

Diperoleh hasil terbaik sebesar 3092.

(32)

BAB 3

METODOLOGI PENELITIAN

3.1. Pengantar

Algoritma Simple Hill Climbing (SHC) sebagai algoritma yang bersifat lokal optimal diterapkan untuk memperbaiki kinerja dari algoritma genetika dalam rangka menghindari algoritma genetika pada masalah konvergensi prematur sehingga diharapkan dicapai solusi yang optimal dalam penyelesaian masalah Traveling Salesman Problem (TSP)

3.2. Data source

Data source untuk penelitian ini adalah data source Hasler Whithney TSPLIB95 A280. Data source tersebut dapat ditampilkan pada tabel 3.1. Data source tersebut terdapat 280 titik (node) yaitu dari C1 sampai C 280. Setiap titik (node) terdiri atas X (ordinat) dan Y (absis), misalnya kota 1 (C1) ada pada koordinat X = 288 dan Y=149.

Tabel 3.1 Data source TSP Hasler whithney TSPLIB95 A280

C X Y C X Y C X Y C X Y

1 288 149 71 8 89 141 180 77 211 236 61

2 288 129 72 8 81 142 180 69 212 228 61

3 270 133 73 8 73 143 180 61 213 228 53

4 256 141 74 8 65 144 180 53 214 236 53

5 256 157 75 8 57 145 172 53 215 236 45

6 246 157 76 16 57 146 172 61 216 228 45

7 236 169 77 8 49 147 172 69 217 228 37

8 228 169 78 8 41 148 164 77 218 236 37

9 228 161 79 24 45 149 148 81 219 236 29

10 220 169 80 32 41 150 124 85 220 228 29

11 212 169 81 32 49 151 124 85 221 228 21

(33)

12 204 169 82 32 57 152 124 93 222 236 21

13 196 169 83 32 65 153 124 109 223 252 21

14 188 169 84 32 73 154 124 125 224 260 29

15 196 161 85 32 81 155 124 117 225 260 37

16 188 145 86 40 83 156 124 101 226 260 45

17 172 145 87 40 73 157 104 89 227 260 53

18 164 145 88 40 63 158 104 81 228 260 61

19 156 145 89 40 51 159 104 73 229 260 69

20 148 145 90 44 43 160 104 65 230 260 77

21 140 145 91 44 35 161 104 49 231 276 77

22 148 169 92 44 27 162 104 41 232 276 69

23 164 169 93 32 25 163 104 33 233 276 61

24 172 169 94 24 25 164 104 25 234 276 53

25 156 169 95 16 25 165 104 17 235 284 53

26 140 169 96 16 17 166 9 29 236 284 61

27 132 169 97 24 17 167 80 9 237 284 69

28 124 169 98 32 17 168 72 9 238 284 77

29 116 161 99 44 11 169 64 21 239 284 85

30 104 153 100 56 9 170 72 25 240 284 93

31 104 161 101 56 17 171 80 25 241 284 101

32 104 169 102 56 25 172 80 25 242 288 109

33 90 165 103 56 33 173 80 41 243 280 109

34 80 157 104 56 41 174 88 49 244 276 101

35 64 157 105 64 41 175 104 57 245 276 93

36 64 165 106 72 41 176 124 69 246 276 85

37 56 169 107 72 49 177 124 77 247 268 97

38 56 161 108 56 49 178 132 81 248 260 109

39 56 153 109 48 51 179 140 65 249 252 101

40 56 145 110 56 57 180 132 61 250 260 93

41 56 137 111 56 65 181 124 61 251 260 85

42 56 129 112 48 63 182 124 53 252 236 85

43 56 121 113 48 73 183 124 45 253 228 85

44 40 121 114 56 73 184 124 37 254 228 93

45 40 129 115 56 81 185 124 29 255 236 93

46 40 137 116 56 83 186 132 21 256 236 101

47 40 145 117 56 89 187 124 21 257 228 101

(34)

48 40 153 118 56 97 188 12 9 258 228 109

49 40 161 119 104 97 189 12 89 259 228 117

50 40 169 120 104 105 190 13 69 260 228 125

51 32 169 121 104 113 191 14 89 261 220 125

52 32 161 122 104 121 192 16 29 262 212 117

53 32 153 123 104 129 193 156 25 263 204 109

54 32 145 124 104 137 194 172 21 264 196 101

55 32 137 125 104 145 195 180 21 265 188 93

56 32 129 126 116 145 196 180 29 266 180 93

57 32 121 127 124 145 197 172 29 267 180 101

58 32 113 128 132 145 198 172 37 268 180 109

59 40 113 129 132 137 199 172 45 269 180 117

60 56 113 130 140 137 200 180 45 270 180 125

61 56 105 131 148 137 201 180 37 271 196 145

62 48 99 132 156 137 202 188 41 272 204 145

63 40 99 133 164 137 203 196 49 273 212 145

64 32 97 134 172 125 204 204 57 274 220 145

65 32 89 135 172 117 205 212 65 275 228 145

66 24 89 136 172 109 206 220 73 276 236 145

67 16 97 137 172 101 207 228 69 277 246 141

68 16 109 138 172 93 208 228 77 278 252 125

69 8 109 139 172 85 209 236 77 279 260 129

70 8 97 140 180 85 210 236 69 280 280 133

Keterangan : C=Kota

X=Koordinat sumbu X Y=Koordinat sumbu Y

(35)

3.3. Prosedur Penyelesaian Masalah

Prosedur penyelesaian masalah dalam penelitian ini dapat ditampilkan pada gambar 3.1

Gambar 3.1 Prosedur Penyelesaian Masalah Input :

Data Source TSP

Simple Hill Climbing : 1. Penentuan initial state (kondisi awal) 2. Penentuan successor (kondisi berikut) 3. Penentua goal state (kondisi akhir)

Algoritma Genetika 1. Proses Reproduksi 2. Proses kawin silang 3. Proses Mutasi 4. Proses seleksi 5. Proses evaluasi

Output : Shortest Path

Mulai

Selesai

(36)

Pada gambar 3.1 proses penyelesaian masalah secara garis besar diselesaikan dalam dua tahap utama yakni Simple Hill Climbing dan algoritma genetika. Simple Hill Climbing diterapkan pada penentuan kondisi awal (initial state), kondisi berikut yang di bangkitkan dari initial state (succesor) dan kondisi akhir (goal state). Algoritma genetika diterapkan untuk proses lanjutan yaitu proses reproduksi, kawin silang (cross over), mutasi, seleksi dan evaluasi.

Algoritma di atas dapat dijelaskan pada gambar 3.2. C1, C2, C3, C4, C1 adalah representasi kota atau node yang diperoleh dari dataset penelitiaan.

1) Simple Hill Climbing 1.1.Initial state

Pada tahap ini ditentukan initial state atau rute kunjungan awal yaitu semua node pada dataset yang berjumlah 280 node, pada gambar hanya diwakili oleh empat node saja.

Initial state tentu saja memiliki total jarak keseluruhan node yang dikunjungi, misalnya 10.

1.2. Sucessor pertama

Kondisi berikutnya dari initial state dibangkitkan empat sucessor. Setiap sucessor memiliki total jarak masing masing. Rute pertama (C2, C1, C3, C4, C2) memiliki total jarak 8, karena nilai ini lebih baik dari nilai sebelumnya maka akan dijadikan sebagai kondisi sekarang (current state).

1.3. Sucessor kedua

Pada tahap ini juga dibangkitkan sebanyak empat sucessor memiliki total jarak masing masing. Rute pertama (C2, C1, C3, C4, C2) memiliki nilai 11, karena nilai ini tidak lebih baik dari sebelumnya maka rute yang lain akan dievaluasi.

1.4. Sucessor ketiga

Pada tahap ini diperoleh nilai local optimum yang dijadikan sebagai kromosom untuk algoritma genetika. Rute (C1, C4, C3, C2, C1) yang memiliki nilai 4, maka rute ini

(37)

yang terpilih menjadi rute terbaik diantara semua rute yang dievaluasi dengan SHC sehingga dijadikan sebagai kromosom bagi proses optimasi selanjutnya.

2) Algoritma genetika.

a. Kromosom

Rute C2, C1, C3, C4, C2 terpilih menjadi rute terbaik diantara semua rute yang dievaluasi dengan SHC sehingga dijadikan sebagai kromosom bagi proses optimasi selanjutnya.

b. Seleksi c. Crossover d. Mutasi

C1, C2, C3, C4,C1

C2, C1, C3, C4,C2 C1, C3, C4, C2,C1 C1, C2, C4, C3,C1 C4, C2, C3, C1,C4

C3, C2, C1, C4,C3 C3, C1, C4, C2,C3 C1, C4, C3, C2,C1 C4, C2, C3, C1,C4

Seleksi

Crossover

Mutasi

C2, C1, C3, C4,C2 C1, C3, C4, C2,C1 C1, C2, C4, C3,C1 C4, C2, C3, C1,C4 1) Simple Hill Climbing

2). Algoritma genetika

1.1 . 1.2

.

1.3 .

1.4 .

2.1 .

a.

b.

c.

(10) 1.

(8)

(11) (6)

(9) (7) (4) (11)

C2, C1, C3, C4,C2 C1, C3, C4, C2,C1 C1, C2, C4, C3,C1 C4, C2, C3, C1,C4

(38)

Pada gambar 3.2 terlihat bahwa, pada keadaan awal, lintasan terpilih adalah C1, C2, C3, C4, C1 dengan total jarak=10. Pada level (1.2), Simple Hill Climbing akan mengunjungi C2, C1, C3, C4,C2 dengan total jarak=8. C2, C1, C3 ,C4 ,C2 memiliki nilai heuristik lebih kecil dibandingkan C1, C2 , C3, C4, C1 (8<10), sehingga C2, C1, C3 ,C4, C2 menjadi pilihan selanjutnya.

Pada level (1.3) pilihan pertama yang di kunjungi adalah C2, C1, C3, C4, C2 dengan nilai heuristik=11. C2 ,C1 ,C3, C4 ,C1 memiliki nilai heuristik yang lebih besar atau lebih buruk jika dibandingkan dengan rute sebelumnya yaitu C2 , C1, C3 ,C4, C2 (11>8), sehingga rute ini tidak dipilih dan dilanjutkan dengan mengevaluasi solusi yang lain yang satu level yaitu C1, C3 ,C4 ,C2 ,C1 yang memiliki nilai heuristik=6. C1, C3, C4, C2, C1 Memiliki nilai heuristik yang lebih kecil dibandingkan dengan C2, C1, C3, C4, C2 (6<8), Sehingga C1, C3, C4, C2, C1 menjadi pilihan selajutnya.

Pada level (1.4) solusi pertama yang di evaluasi adalah C2, C1, C3, C4, C2 dengan nilai heuristik=9. Nilai heuristik ini lebih buruk dari solusi sebelumnya yaitu C1, C3, C4, C2, C1 (9>6). Demikian juga dengan solusi selanjutnya yaitu C3, C1,C4, C2, C3 dengan nilai heuristik=7 karena kedua solusi ini memiliki nilai heuristik yang lebih buruk dari C1, C3, C4 ,C2, C1 maka tidak dipilih dan dilanjutkan dengan mengevaluasi C1, C4 ,C3, C2, C1. C1, C4, C3, C2, C1 memiliki nilai heuristik=4 (4<6) maka C1, C4, C3, C2, C1 menjadi pilihan terbaik.

Pada proses menggunakan algortima genetika, kumpulan solusi pada level 1.4 yaitu (C2 ,C1, C3, C4, C2), (C3, C1, C4, C2, C3), (C1, C4, C3, C2, C1), (C4, C2, C3, C1, C4), dijadikan sebagai inisial populasi.Selanjutnya inisial populasi ini akan diproses dalam tahap seleksi, crossover dan mutasi sampai diperoleh solusi akhir.

3.4. Algoritma Sistem

Algoritma sistem yang dirancang pada penelitian ini ditampilkan pada gambar 3.3

(39)

Gambar 3.3 Algoritma Sistem Mulai

Tidak

Tampilkan kromosom (Rute) terbaik

Ya Proses crossover

Proses mutasi

Kriteria berhenti dicapai ? Proses seleksi Kriteria fitness

Evaluasi : Evaluasi nilai tujuan

Tidak

Ya

Selesai

Hitung jarak total terpendek SHC

Populasi Awal

(40)

3.4.1. Penjelasan algoritma sistem

Pada gambar 3.3 yaitu diagram alir algoritma sistem, inisialisasi populasi dengan menerapakan sebayak 280 individu berupa grup kota yang akan dikunjungi secara random. Pada tahap ini penentuan inisial populasi ditentukan dengan SHC untuk menghubungkan kota-kota yang berdekatan. Penentuan grup kota sebagai initial state pada SHC ditentukan secara acak. Jumlah kota atau node yang diacak ada sebanyak 280 node. Pada level terakhir prosedur simple hill climbing akan dihasilkan solusi terbaik yang di evaluasi berdasarkan nilai fitness yang dimilikinya.

Skema encoding yang akan digunakan adalah permutation encoding. Pada permutation encoding, setiap kromosom terdiri atas deretan angka yang menyatakan posisi kota tersebut.

Hasil proses encoding dapat di perlihatkan pada tabel 3.2.

Pada penelitian ini terdapat 280 individu, setiap individu merepresentasikan jalur yang mungkin dilalui. Pada kasus ini, jalur tersebut disimpan dalam sebuah tabel. Pada tabel tersebut, disimpan kota yang dituju dan kota yang telah dikunjungi. Hal ini dimaksudkan agar setiap kota dapat dikunjungi dan tidak ada kota yang tidak dikunjungi. Pada tabel 3.2, C1, C2, C3,C4,….,C280 adalah kota atau titik yang dikunjungi oleh salesman pada permasalahan Trav eling Salesman Problem. Kromosom tersebut dibangkitkan secara acak atau random.

Tabel 3.2 Tabel encoding

Kromosom Encoding

Kromosom 1

C1, C17, C21, C57, C95, C199, C202, C277, C51, C4, C73, C36, C27, C165, C63, C221, C58, C43, C66, C272, C133, C212, C223, C191, C266, C13, C124, C127, C96, C178, C225, C214, C183, C98, C8, C65, C3, C224, C172, C23, C142, C24, C40, C126, C53, C249, C87, C271, C101, C132, C134, C244, C104, C192, C64, C56, C167, C232, C181, C162, C35, C262, C256, C72, C113, C7, C89, C193, C161, C69, C136, C149, C254, C155, C30, C62, C71, C241, C166, C122, C153, C180, C61, C90, C110, C186, C20, C2, C16, C238, C68, C60, C154, C118, C11, C82, C279, C219, C177, C144, C226, C198, C79, C45, C205, C38, C171, C28, C245, C276, C117, C55, C263, C217, C264, C93, C111, C105, C108, C141, C67, C19,

(41)

C80, C33, C267, C227, C275, C255, C59, C47, C203, C168, C54, C251, C213, C211, C173, C280, C123, C99, C270, C94, C159, C229, C209, C190, C46, C150, C265, C120, C231, C48, C240, C175, C85, C242, C197, C151, C164, C236, C152, C109, C5, C77, C158, C49, C88, C269, C204, C130, C188, C12, C44, C18, C207, C260, C257, C157, C139, C114, C184, C125, C210, C50, C179, C246, C31, C91, C116, C129, C15, C222, C135, C75, C92, C100, C121, C208, C200, C250, C170, C206, C237, C52, C41, C81, C259, C42, C248, C86, C76, C187, C140, C194, C32, C239, C243, C102, C137, C160, C215, C230, C148, C268, C163, C25, C247, C235, C216, C138, C84, C119, C195, C147, C220, C278, C273, C131, C261, C22, C196, C182, C106, C112, C252, C115, C26, C14, C185, C258, C169, C83, C218, C174, C143, C37, C201, C9, C29, C70, C78, C189, C228, C10, C74, C6, C97, C156, C146, C176, C253, C39, C34, C234, C274, C128, C233, C107, C145, C103, C1]

Kromosom 2

C1, C35, C117, C156, C26, C190, C51, C48, C71, C21, C280, C28, C126, C261, C257, C189, C152, C14, C130, C50, C157, C9, C216, C206, C131, C31, C27, C209, C127, C268, C140, C185, C240, C121, C66, C213, C83, C139, C79, C18, C148, C227, C217, C254, C188, C184, C204, C122, C279, C92, C20, C165, C187, C210, C270, C129, C39, C264, C110, C120, C101, C3, C19, C81, C112, C103, C235, C166, C133, C176, C17, C104, C211, C230, C218, C109, C15, C234, C248, C271, C60, C123, C22, C99, C46, C25, C141, C125, C242, C108, C76, C8, C212, C258, C203, C49, C249, C238, C272, C95, C154, C221, C243, C193, C16, C158, C144, C164, C201, C241, C147, C74, C143, C145, C93, C90, C106, C96, C207, C260, C266, C64, C105, C12, C191, C55, C40, C42, C37, C198, C61, C274, C225, C98, C182, C171, C178, C62, C100, C170, C54, C63, C89, C36, C29, C142, C84, C169, C179, C220, C41, C168, C146, C2, C161, C138, C233, C4, C174, C181, C232, C7, C11, C149, C202, C34, C24, C177, C77, C94, C53, C118, C236, C114, C32, C151, C253, C69, C91, C132, C116, C124, C208, C13, C88, C70, C153, C192, C267, C43, C67, C180, C58, C226, C223, C47, C87, C57, C222, C134, C137, C167, C119, C163, C80, C159, C237, C97, C160, C196, C44, C107, C65, C150, C162, C30, C197, C265, C186, C52, C245, C115, C175, C250, C247, C135, C275, C244, C224, C277, C194, C256, C199, C229, C200, C219, C231, C172, C259, C255, C38, C128, C56, C45, C269, C6, C205, C10, C82, C73, C183, C59, C273, C85, C72, C262, C23, C251, C111, C136, C86, C214, C5, C263, C195, C113, C276, C246, C252, C215, C68, C75, C78, C278, C102, C173, C155, C33, C228, C239, C1]

(42)

3.4.2. Proses evaluasi.

Dalam masalah optimasi pada penelitian ini individu (kromosom) yang bernilai fitness yang tinggi yang akan bertahan hidup atau yang akan terpilih dan kromosom yang bernilai rendah akan mati atau tidak terpilih pada tahap selanjutnya. Karena solusi yang dicari adalah meminimalkan sebuah fungsi h, maka nilai fitness yang dicari adalah kromosom yang memiliki panjang jalur yang pendek, oleh karena itu, rumus untuk mencari nilai fitness pada masalah minimasi ini disajikan pada persamaan (3.1) (Rani & Kumar, 2014)

(3.1)

Keterangan : f = fungsi fitness h = Total jarak

Pada tahap ini koordinat node XY merupakan input. Mula-mula hitung jarak antara node asal (Xstart, Ystart ) dengan node pertama, kemudian jumlahkan dengan jarak-jarak dari setiap node berikutnya. Setelah itu jumlahkan dengan jarak dari node terakhir ke node tujuan (Xend, Yend).

Jarak kartesian dari node satu ke node selanjutnya dihitung dengan persamaan (3.2) (Rani &

Kumar, 2014)

| | (√( ) ( ) )

Keterangan :

C1, C2 = node1 dan node2

X,Y = koordinat node (absis, ordinat)

Setelah didapat total jarak atau panjang jalur satu kromosom, yang terakhir menghitung nilai fitness-nya dengan menggunakan rumus 3.3. Hasilnya disimpan pada variabel fitness yang

(3.2)

(43)

merupakan argumen output fungsi. Nilai fitness ini merupakan input bagi proses berikutnya pada program utama.

3.4.3. Proses seleksi

Metode seleksi yang digunakan pada proses seleksi ini adalah metode roulette wheel. Pada tahap ini akan dilakukan penyeleksian kromosom berdasarkan nilai fitness-nya untuk memilih kromosom mana yang akan mengalami proses perkawinan atau pindah silang. Kromosom yang benilai fitness tinggi memiliki kesempatan terpilih lebih besar. Namun, tidak menutup kemungkinan kromosom yang bernilai fitness rendah

(44)

akan terpilih juga. Pada proses roulette wheel ini akan dihitung nilai kumulatif dari probabilitas fitness masing-masing kromosom (Rani & Kumar, 2014)

P[i] = fitness[i] / jumlah fitness (3.3) (3.4)

Keterangan:

P[i] = probabilitas fitness[i]

C[i] = nilai kumulatif indeks ke-i i= indeks kromosom (1,2,3,…n) k= counter (1,2,3,…n)

3.4.4. Crossover

Prosedur pindah silang adalah prosedur untuk mengkawinkan dua induk yang telah dipilih pada proses roulette wheel, namun tidak semua induk akan mengalami pindah silang karena proses pindah silang ini banyak dikendalikan oleh beberapa bilangan random.Pindah silang pada TSP dapat diimplementasikan dengan skema order crossover. Pada skema ini, satu bagian kromosom dipertukarkan dengan tetap menjaga urutan kota yang bukan bagian dari kromosom tersebut. Pada skema order crossover digunakan teknik satu titik potong (one-point crossover), dimana titik potong ini menentukan gen mana saja yang akan dipertukarkan antar induk. Titik potong (TP) diperoleh secara random, gen-gen yang terletak diantara dua titik potong akan saling dipertukarkan antar induk.

3.4.5. Proses Mutasi

Pada kasus TSP ini skema mutasi yang digunakan adalah skema swap mutation. Dengan skema swap mutation ini mutasi dilakukan dengan cara menukarkan gen-gen yang dipilih secara acak

(45)

dengan gen yang dipilih secarak acak juga. Jumlah kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh parameter probabilitas mutasi.

3.4.6. Kondisi selesai

Kondisi selesai dicapai jika setelah beberapa generasi/iterasi berturut-turut nilai fitness terbaik tidak mengalami perubahan kembali.

(46)

BAB 4

HASIL DAN PEMBAHASAN

4.1 Pengantar

Penelitian ini menganalisis penerapan algoritma Simple Hill Climbing (SHC) dalam menentukan insial populasi untuk algoritma genetika. Inisial populasi yang baik diharapkan akan membantu algoritma genetika dalam pencarian solusi jarak terpendek dalam kasus TSP.

4.2 Inisialisasi solusi menggunakan SHC

Pada Tabel 4.1, 4.2 dan 4.3 ditampilkan solusi awal (initial solution) yang dicapai menggunakan SHC. Pada lintasan tersebut titik pertama (node 1) dibuat sebagai titik awal (start) sekaligus menjadi titik akhir (finish). Pada percobaan pertama diperoleh nilai total jarak sebesar3596.6, percobaan kedua diperoleh nilai solusi awal sebesar 3494.1 dan pada percobaan ketiga diperoleh nilai solusi awal sebesar3330.9.

(47)

4.2.1. Percobaan Pertama

Tabel 4.1. Tabel solusiawal percobaan pertama

Lintasan (Path) Total jarak

[1, 8, 267, 101, 70, 215, 195, 205, 264, 102, 158, 208, 54, 78, 251, 36, 148, 266, 183, 224, 75, 172, 202, 96, 210, 212, 255, 171, 64, 203, 185, 220, 81, 24, 128, 126, 89, 241, 234, 263, 231, 196, 106, 52, 49, 142, 160, 26, 88, 105, 35, 190, 94, 62, 252, 194, 179, 229, 273, 134, 93, 127, 165, 123, 67, 269, 254, 44, 222, 22, 277, 246, 156, 237, 268, 265, 95, 186, 211, 119, 207, 57, 18, 178, 3, 168, 145, 114, 191, 272, 116, 161, 117, 45, 140, 227, 66, 16, 61, 32, 253, 46, 92, 238, 249, 275, 98, 250, 91, 138, 4, 47, 242, 232, 34, 150, 139, 6, 174, 198, 53, 173, 244, 274, 76, 270, 77, 245, 68, 17, 233, 262, 112, 107, 180, 258, 80, 236, 9, 69, 110, 199, 149, 41, 137, 87, 176, 217, 103, 230, 256, 223, 146, 121, 280, 167, 147, 239, 56, 235, 118, 131, 79, 155, 260, 82, 271, 37, 115, 132, 38, 100, 124, 72, 85, 84, 159, 111, 218, 133, 187, 23, 19, 136, 216, 163, 143, 276, 71, 10, 55, 151, 164, 43, 226, 166, 5, 141, 99, 181, 248, 30, 104, 214, 204, 193, 240, 261, 125, 59, 25, 73, 213, 169, 14, 200, 130, 201, 31, 108, 2, 197, 257, 162, 259, 86, 247, 120, 221, 50, 29, 39, 83, 228, 184, 74, 152, 33, 243, 225, 27, 63, 153, 206, 189, 135, 279, 20, 97, 278, 122, 11, 177, 90, 109, 175, 15, 12, 219, 13, 113, 170, 157, 21, 209, 48, 154, 129, 40, 7, 192, 58, 182, 144, 60, 188, 65, 51, 42, 28, 1]

3596.6

Pada tabel 4.2 disajikan tabel pencarian solusi untuk SHC. Dengan menerapkan 20 iterasi maka diperoleh solusi SHC pada iterasi ke 10 dengan nilai total jarak31618.0

Tabel 4.2. Pencarian solusi dengan SHC

Iterasi Cost function operator Path minimum 1

2 3 4 5 6 7 8 9

34371.0 33380.0 33823.0 32794.0 33763.0 34045.0 34869.0 32748.0 34781.0

min(1,2) min(2,3) min(3,4)

min(4,5) min(5,6) min(6,7) min(7,8) min(8,9) min(9,10)

33380.0 33380.0 32794.0 32794.0 32794.0 32794.0 32794.0 32794.0 31618.0

(48)

10 11 12 13 14 15 16 17 18 19 20

31618.0 32332.0 33323.0 34668.0 32100.0 31798.0 34354.0 34030.0 33850.0 33792.0 32019.0

min(10,11) min(11, 12) min(12,13) min(13,14) min(14,15) min(15,16) min(16,17) min(17,18) min(18,19) min(19,20)

31618.0 31618.0 31618.0 31618.0 31618.0 31618.0 31618.0 31618.0 31618.0 31618.0

Pada tabel di atas, setiap iterasi memiliki cost function berupa total jarak yang ditempuh sesuai dengan dataset yang diterapkan. Iterasi pertama memiliki cost function sebesar 34371.0 dan iterasi ke dua sebesar 33380.0. Kedua cost function tersebut dievaluasi dengan operator fungsi untuk mencari nilai yang paling minimum. Operator yang digunakan adalah min (1,2)yang bertujuan untuk mengevaluasi nilai cost function iterasi pertama dengan iterasi ke dua. Path minimum adalah nilai current solution yang diperoleh selama evaluasi cost function.

Dari tabel 4.2 disajikan bahwa nilai cost function terbaik adalah 31618.0.Nilai ini akan dijadikan sebagai populasi awal untuk Algoritma genetika

4.2.2. Percobaan kedua

Tabel 4.3.Tabel solusiawal percobaan kedua

Lintasan (Path) Total Jarak

[1, 120, 44, 248, 189, 40, 103, 212, 35, 211, 19, 160, 223, 185, 232, 36, 100, 181, 55, 221, 132, 165, 59, 275, 169, 18, 49, 156, 149, 124, 131, 227, 17, 126, 150, 130, 262, 127, 148, 47, 201, 167, 98, 65, 57, 194, 164, 13, 260, 245, 83, 264, 111, 214, 8, 26, 85, 106, 62, 21, 271, 60, 256, 14, 141, 166, 243, 154, 15, 277, 66, 176, 224, 270, 258, 27, 88, 84, 196, 75, 219, 240, 76, 52, 182, 246, 222, 244, 20, 215, 168, 184, 50, 205, 99, 37, 89, 279, 259, 68, 250, 269, 230, 229, 170, 87, 144, 122, 56, 93, 46, 265, 117, 135, 152, 186, 23, 143, 118, 200, 109, 123, 67, 112, 272, 225, 121, 188, 274, 70, 280, 153, 190, 34, 237, 81, 110, 39, 10, 179, 140, 90, 136, 236, 92, 3, 267, 195, 203, 158, 162, 217, 4, 61, 261, 69, 146, 172, 142, 183, 38, 157, 138, 119, 48, 238, 77, 43, 151, 171, 79, 177, 95, 218, 63,

3494.1

Gambar

Gambar 2.1. Struktur umum algoritma genetika
Tabel 2.1 Contoh Crossover satu titik  Kromosom Orangtua 1  11001011
Tabel 2.3 Contoh Crossover seragam  Kromosom Orangtua 1  11001011
Tabel 2.4 Contoh Mutasi pada pengkodean biner  Kromosom sebelum mutasi   1 0 0 1 0 1 1 1  Kromosom setelah mutasi  1 0 0 1 0 0 1 1
+7

Referensi

Dokumen terkait

Tujuan penelitian ini adalah untuk menguji: (1) Apakah environmental performance dan environmental disclosure secara bersama-sama berpengaruh terhadap financial

Radiasi adalah kehilangan pnas yang terjadi saat bayi ditempatkan dekat berada yang mempunyai temperatur tubuh lebih rendah dari temperatur tubuh bayi, bayi

Berdasarkan tabel 4.9 dapat dilihat tidak ada hubungan yang signifikan antara pola asuh orang tua dengan perilaku agresivitas remaja.Tidak adanya hubungan antara pola asuh orang

Secara lebih khusus, penelitian ini bertujuan untuk memapar- kan gambaran (1) perjuangan ibu-ibu pedagang kaki lima Pasar Pagi, Padang dalam mempertahankan dan meningkatkan

Perkembangan emosi pada kelompok dewasa dini (sekitar 18-40 tahun) terutama pada orang-orang yang baru memasuki fase ini (18-25 tahunan) dimana mereka baru

Hal ini dilakukan untuk menambah informasi yang berhubungan dengan kakteristik perkembangan moral dan religi pada peserta

Berdasarkan analisis univariat dan bivariat dapat diperoleh informasi dari tabel 14 di atas bahwa pendidikan responden pernah berkunjung ke layanan kesehatan untuk

Studi ini dimaksudkan dengan menjawab permasalahan: ( 1) Adakah pengaruh antara kreatifitas guru terhadap hasil belajar aksara Jawa kelas IV MI Tarbiyatul Aulad Jombor