6. Menjadikan Kromosom Anak hasil dari Proses Crossover dan Mutasi sebagai Populasi Baru.
2.3. Teknik Encoding
Proses encoding adalah salah satu proses yang sulit di dalam algoritma genetika. Hal ini disebabkan karena proses encoding untuk setiap permasalahan berbeda karena
tidak semua teknik encoding cocok untuk tiap permasalahan. Proses encoding menghasilkan string yang kemudian disebut kromosom. String terdiri dari sekumpulan
bit yang dikenal sebagai gen. Jadi satu kromosom terdiri dari sejumlah gen Lukas, 2005.
Ada bermacam-macam teknik encoding yang dapat dilakukan dalam algoritma genetika. Beberapa teknik encoding itu antara lain adalah binary encoding,
permutation encoding, value encoding, dan tree encoding. Teknik encoding yang digunakan pada Traveling Salesman Problem adalah Permutation Encoding. Lukas,
2005. Pada Permutation Encoding, kromosom-kromosom adalah kumpulan angka yang mewakili posisi di dalam sebuah rangkaian. Dalam permutatiom encoding, setiap
kromosom adalah sebuah string dari nomor-nomor seperti diilustrasikan pada Tabel 2,1,
Tabel 2.1. Teknik Permutation Encoding Kromosom Rute Kota
A B
C D
E F
G H
I Gen Jarak
1 5
3 2
6 4
7 9
8
Pada TSP, kromosom menggambarkan rute kota yang dikunjungi salesman, sedangkan jarak antar kota menggambarkan gen. Pada Tabel 2.1, kromosom rute
kota A-B-C-D-E-F-G-H-I dengan jarak 1, 5, 3, 2, 6, 4, 7, 9, 8.
2.4. Operator Genetik
Algoritma genetik merupakan proses pencarian yang heuristik dan acak sehingga penekanan pemilihan operator yang digunakan sangat menentukan keberhasilan
algoritma genetik dalam menemukan solusi optimum suatu masalah yang diberikan. Hal yang harus diperhatikan adalah menghindari terjadinya konvergensi prematur,
Universitas Sumatera Utara
yaitu mencapai solusi optimum yang belum waktunya, dalam arti bahwa solusi yang diperoleh adalah hasil local optima.
Operator pada algoritma genetika terdiri atas sejumlah parameter kontrol yang terdiri-dari: Taiwo et al., 2013
1. Ukuran populasi: mendefinisikan berapa banyak kromosom dan berapa banyak gen di dalam satu kromosom yang terlibat selama proses pencarian.
2. Probabilitas crossover: menspesifikasikan probabilitas crossover di antara dua kromosom.
3. Probabilitas mutasi: menspesifikasikan probabilitas dari dilakukannya mutasi bit-wise.
4. Kriteria terminasi: menspesifikasikan kondisi berakhirnya pencarian solusi pada algoritma genetika.
2.4.1. Proses Seleksi
Proses seleksi berhubungan erat dengan nilai fitness yang diperoleh oleh setiap individu. Reeves, 2003. Proses seleksi dilakukan dengan cara membuat individu
yang mempunyai fungsi objektif kecil mempunyai kemungkinan terpilih yang lebih besar atau mempunyai nilai probabilitas yang tinggi Hermawanto, 2007.
Dalam proses seleksi parent, ada banyak metode yang dapat diterapkan. Dua metode umum yang sering digunakan yaitu Chipperfield. et.al, 2005:
1. Seleksi Roda Roulette Roulette Wheel Selection Roulette wheel selection adalah metode seleksi yang paling sederhana. Pada
metode ini semua kromosom individu di dalam suatu populasi adalah ditempatkan pada roulette wheel sesuai dengan nilai fitness mereka. Besarnya
ukuran tiap segmen di dalam roulette adalah sebanding dengan nilai fitness dari tiap individu. Semakin besar nilai fitness maka semakin besar pula
ukuran segmen di dalam roulette wheel, kemudian roulette wheel diputar. Individu yang sesuai dengan segmen pada roulette wheel ketika berhenti
yang akan dipilih. Kumar, 2012. Metode roulette wheel selection dapat dilihat pada Gambar 2.3.
Universitas Sumatera Utara
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 1N dan posisi pointer pertama diberikan secara acak pada
range [1 , 1N]. 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 crossover adalah menghasilkan kromosom baru yang lebih baik daripada kedua parent
Universitas Sumatera Utara
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
two point crossover dapat dilihat pada Tabel 2.3.
Universitas Sumatera Utara
Tabel 2.3. Two Point Crossover Kromosom Parent 1
11001011
Kromosom Parent 2 11011111
Offspring 11011111
2 Uniform Crossover
Pada uniform crossover, sebuah vektor bit acak yang berukuran sama dengan kromosom yang digunakan. Di dalam proses untuk menghasilkan kromosom
offspring, akan dipilih bit-bit dalam mask vektor bit acak. Jika yang terpilih adalah bit 0, berarti kromosom offspring diperoleh dari parent 1 dan jika yang
terpilih adalah bit 1 berarti kromosom offspring diperoleh dari parent 2 Andrade, 2008. Illustrasi dari proses uniform crossover dapat dilihat pada
Tabel 2.4.
Tabel 2.4. Uniform Crossover Kromosom Parent 1
11001011 Kromosom Parent 2
11011111 Mask
01010101 Offspring
11011111
3 Arithmetic Crossover
Kromosom offspring diperoleh dengan melakukan operasi aritmatika terhadap parent induk. Terdapat 3 jenis arithmetic crossover, yaitu sebagai berikut. Picek et al.,
2013. 1. Single Arithmetic Crossover
Pada single arithmetic crossover, pindah silang terjadi pada salah satu gen yang posisinya ditentukan dengan cara membangkitkan suatu bilangan acak. Pada
posisi gen yang ditentukan, nilai gen akan ditentukan melalui operasi aritmatika terhadap nilai gen dari parent menurut persamaan 2.2 Eiben, 2014. Adapun
operasi aritmatika pada single arithmetic crossover dapat dilihat pada Persamaan 2.2 dan Tabel 2.5.
Universitas Sumatera Utara
Child =
n x
k x
k y
k x
x ,...,
. 1
. ,
,...., 1
α α
− +
........................................2.2
Ket: α = Variabel pengali yang nilainya berkisar dari 0-1
Tabel 2.5. Single Arithmetic Crossover Kromosom Parent 1
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Kromosom Parent 2
0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.2 0.3 Bilangan Acak
8 α
0.5 Kromosom Offspring 1
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.5 0.9
Kromosom Offspring 2 0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.5 0.3
2. Simple Arithmetic Crossover Pada simple arithmetic crossover, tentukan bilangan random sebagai titik potong
antara 0 sampai sepanjang kromosom pada masing-masing parent. Untuk gen pada kromosom offspring untuk batas sebelum titik potong disalin dari gen pada
kromosom parent. Untuk gen setelah titik potong, gen yang ada dibentuk dari operasi aritmatika pada gen dari kromosom parent dengan persamaan seperti pada
persamaan 2.3 Picek, 2013. Illustrasi dari proses simple arithmetic crossover dapat dilihat pada Tabel 2.6.
Child= n
x n
y k
x k
y k
x x
. 1
. ,...,
1 .
1 1
. ,
,..., 1
α α
α α
− +
+ −
+ +
....................2.3 Ket:
α = Variabel pengali yang nilainya berkisar dari 0-1
Tabel 2.6. Simple Arithmetic Crossover Kromosom Parent 1
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Kromosom Parent 2
0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.2 0.3 Bilangan Acak
6 α
0.5 Kromosom Offspring 1
0.1 0.2 0.3 0.4 0.5 0.6 0.5 0.5 0.6
Kromosom Offspring 2 0.3 0.2 0.3 0.2 0.3 0.2 0.5 0.5 0.6
Universitas Sumatera Utara
3. Whole Arithmetic Crossover Pada whole arithmetic crossover, gen pada kromosom offspring diperoleh dari
hasil operasi aritmatika gen pada kromosom parent, di mana proses aritmatika yang dilakukan sesuai dengan persamaan 2.4 Eiben, 2014. Illustrasi dari proses
whole arithmetic crossover dapat dilihat pada Tabel 2.7. Child=
− −
+ −
y x
. 1
. α
α ...........................................................................2.4
Ket: α = Variabel pengali yang nilainya berkisar dari 0-1
Tabel 2.7. Whole Arithmetic Crossover Kromosom Parent 1
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Kromosom Parent 2
0.3 0.2 0.3 0.2 0.3 0.2 0.3 0.2 0.3 α
0.5 Kromosom Offspring 1
0.2 0.2 0.3 0.3 0.4 0.4 0.5 0.5 0.6 Kromosom Offspring 2
0.2 0.2 0.3 0.3 0.4 0.4 0.5 0.5 0.6
2.4.3. Mutasi
Mutasi adalah proses untuk mengubah gen di dalam sebuah kromosom. Mutasi dilakukan setelah proses crossover dilakukan. Mutasi mengubah offspring baru
dengan mengubah 1 menjadi 0 atau 0 menjadi 1. Mutasi dapat terjadi pada setiap posisi di dalam string dengan beberapa probabilitas yang umumnya sangat kecil.
Mutasi adalah dimaksudkan untuk mencegah hasil pencarian mengarah pada keadaan local optima di dalam sebuah area pencarian Shaikh, 2012.
Operator mutasi merupakan operasi yang menyangkut satu kromosom tertentu. Beberapa cara operasi mutasi diterapkan dalam algoritma genetik menurut jenis
pengkodean terhadap phenotype, antara lain: 1.
Mutasi dalam Pengkodean Biner Mutasi pada pengkodean biner merupakan operasi yang sangat sederhana. Proses yang
dilakukan adalah menginversi nilai pada posisi tertentu yang terpilih secara acak atau menggunakan skema tertentu pada kromosom, yang disebut inverse.
Universitas Sumatera Utara
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, 2003yaitu: 1. Probabilitas Persilangan Crossover Probability
Menunjukkan kemungkinan crossover terjadi antara 2 kromosom. Jika tidak terjadi crossover maka keturunannya akan sama persis dengan kromosom
Universitas Sumatera Utara
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