adalah TSP traveling salesman problem. Traveling salesman problem merupakan cara bagaimana menentukan rute minimal untuk mengunjungi beberapa tempat atau
kota. Jika ada 10 kota yang akan dikunjungi, maka satu kromosom akan mempunyai 10 gen, dimana tiap-tiap gen mewakili satu kota. Posisi atau urutan gen dalam
kromosom menentukan urutan kota yang harus dilalui. Contoh kromosomnya dapat dilihat pada gambar 2.3.
Kromosom 1 2 6 7 5 1 3 4 9 8 10
Kromosom 2 10 5 4 9 7 1 3 2 6 8
Gambar 2.3 Kromosom dengan pengkodean permutasi
Pada kromosom 1 berarti kota yang pertama dikunjungi adalah kota 1, kemudian kota 2 demikian seterusnya sampai kota 10.
2.4.2 Nilai fitness nilai kelayakan dan fungsi objektif fungsi tujuan
Dalam proses evolusi individu yang survive bertahan hidup dari proses seleksi alam akan mempunyai kesempatan untuk bereproduksi kembali. Dengan demikian,
kemampuan individu untuk dapat beradaptasi dan bertahan hidup untuk selamat sangat penting. Dalam terminologi algoritma genetika kemampuan suatu individu
kromosom untuk bertahan hidup dapat diukur berdasarkan nilai fitness-nya. Semakin baik nilai fitness nilai kelayakan suatu kromosom maka akan semakin baik peluang
kromosom tersebut untuk bertahan hidup dan ikut dalam proses reproduksi. Nilai fitness suatu kromosom dapat dihitung dengan menggunakan fungsi objektif.
2.4.3 Seleksi
Universitas Sumatera Utara
Proses seleksi bertujuan untuk memilih kromosom yang akan dijadikan sebagai parent kromosom induk pada proses crossover pindah silang. Ada beberapa metode yang
dapat dipilih pada proses seleksi, antara lain Roulette Wheel Selection, Rank Selection dan Tournament Selection.
2.4.3.1 Roulette wheel selection
Pada roulette wheel selection, kromosom akan dipilih secara acak ditentukan dengan memperhitungkan nilai kelayakan masing-masing kromosom. Semakin besar nilai
kelayakan suatu kromosom, semakin besar pula peluang kromosom tersebut untuk terpilih sebagai parent kromosom induk. Pengkodean roulette wheel dapat
dianalogikan seperti permainan roda putar. Pada permainan roda putar, lingkaran roda dibagi menjadi beberapa wilayah. Pada roulette wheel selection, lebar suatu wilayah
kromosom ditentukan menurut nilai fitness-nya, semakin besar nilai fitness-nya maka akan semakin besar wilayahnya, dan semakin besar pula peluang kromosom tersebut
untuk terpilih.
Ilustrasi dari roulette wheel selection dapat dilihat pada gambar 2.4.
Gambar 2.4 Roulette wheel selection
Proses roulette wheel selection dijelaskan pada algoritma sebagai berikut: 1.
[Sum] Jumlahkan semua nilai fitness nilai kelayakan tiap-tiap kromosom pada populasi S.
2. [Select] Generate bilangan random pada interval 0,S-r.
Universitas Sumatera Utara
3. [Loop] secara sekuensial dari kromosom pertama, jumlahkan nilai fitness
kromosom-s. apabila pada kromosom ke-i sr maka berhenti, maka kromosom i terpilih sebagai kandidat parent.
Contoh dari roulett whell selection dapat dilihat pada tabel 2.1.
Tabel 2.1 Contoh roulett wheel selection Kromosom
Fitness Si
Bil.Random r 0, 110
Kromosom Terpilih
Kromosom 1 20
20 35
Kromosom 3 Kromosom 2
10 30
90 Kromosom 5
Kromosom 3 30
60 45
Kromosom 3 Kromosom 4
10 70
10 Kromosom 1
Kromosom 5 40
110 70
Kromosom 4 Jumlah
S = 110
Pada tabel di atas dapat disimpulkan bahwa ukuran pupulasi adalah 5. Nilai Si merupakan nilai akumulasi dari nilai fitness kromosom ke 1 sampai kromosom ke i.
Untuk memilih kromosom yang akan menjadi calon parent maka dibangkitkan bilangan random 0, S. Bilangan random yang dibangkitkan sebanyak 5 buah sesuai
dengan ukuran populasinya. Apabila ri Si dan ri Si-1 maka kromosom yang terpilih adalah kromosom ke i. Pada tabel di atas r1 = 35, karena 35 S3 60 dan 35
S2 30 maka kromosom yang terpilih adalah kromosom 3.
2.4.3.2 Rank selection
Pada pengkodean ranking, kromosom pada populasi diranking sesuai dengan nilai fitness-nya, kemudian kromosom diberi nilai fitness nilai kelayakan yang baru sesuai
dengan rankingnya. Kromosom dengan ranking terbawah akan mendapat nilai fitness 1, ranking terbawah kedua mendapat nilai fitness 2, demikian seterusnya. Kromosom
dengan ranking terbaik akan mendapat nilai fitness N. Gambar 2.5 dan gambar 2.6
Universitas Sumatera Utara
masing-masing mengilustrasikan kondisi dari nilai fitness sebelum dan sesudah proses ranking.
Gambar 2.5 Nilai fitness sebelum diranking
Gambar 2.6 Nilai fitness sesudah diranking
Dari gambar 2.6 dapat diketahui setelah diranking, semua kromosom mempunyai kesempatan terpilih karena kromosom dengan nilai terbaik tidak
mempunyai perbedaan yang besar dengan kromosom yang lain. Contoh dari rank selection dapat dilihat pada tabel 2.2.
Tabel 2.2 Contoh rank selection Kromosom
Fitness Awal
Ranking Fitness setelah
ranking Si
Bil.Random r 0, 15
Kromosom Terpilih
Kromosom 1 20
3 3
3 5
Kromosom 2
Kromosom 2 10
4 2
5 3
Kromosom 1
Kromosom 3 30
2 4
9 7
Kromosom 3
Kromosom 4 40
1 5
14 8 Kromosom
Universitas Sumatera Utara
3 Kromosom 5
5 5
1 15 13
Kromosom 4
Jumlah S = 15
Pada tabel di atas dapat dilihat bahwa rank selection hampir sama dengan roulett whell selection. Hanya saja sebelum kromosom dipilih nilai fitness tiap
kromosom diganti sesuai dengan rankingnya. Nilai fitness hasil dari pemeringkatan ini yang kemudian dijadikan acuan pada saat pemilihan kromosom.
2.4.3.3 Tournament selection
Pada tournament selection, setiap satu kromosom kandidat parent dipilih dari proses tournament. Untuk memilih satu calon parent, dipilih dua buah kromosom secara
acak. Kemudian nilai fitness kedua kromosom tersebut dibandingkan, kromosom dengan nilai fitness terbaik dipilih sebagai calon parent. Demikian juga untuk memilih
calon parent yang lain. Ilustrasi dari tournament selection ditunjukkan pada gambar 2.7.
Kromosom 1 Fitness : 10
Kromosom 2 Fitness : 15
Kromosom 3 Fitness : 20
Kromosom 4 Fitness : 40
Kromosom 5 Fitness : 35
Kromosom 6 Fitness : 25
Kromosom 7 Fitness : 30
Kromosom 8 Fitness : 45
Kromosom 2
Kromosom 6
Kromosom 8 Kromosom 5
Kromosom 5 Kromosom 3
Kromosom 8 Kromosom 4
Gambar 2.7 Tournament selection
Universitas Sumatera Utara
Pada gambar di atas dapat disimpulkan ukuran populasinya adalah 8. Untuk memilih sebuah kromosom mula-mula dipilih sepasang kromosom. Selanjutnya
sepasang kromosom yang terpilih dibandingkan nilai fitness-nya. Kromosom dengan nilai fitness yang lebih besar adalah kromosom yang dipilih. Pada contoh di atas
kromosom 2 yang dipilih dari proses turnamen antara kromosom 2 dan kromosom 1.
2.4.4 Crossover
Crossover atau pindah silang adalah proses pembentukan kromosom anak offspring. Crossover bertujuan menambah keanekaragaman string dalam satu populasi dengan
penyilangan antar-string yang diperoleh dari reproduksi sebelumnya Arhami, 2005, hal:196. Beberapa jenis crossover sebagai berikut:
2.4.4.1 Crossover pengkodean biner
Ada beberapa metode crossover pindah silang dengan pengkodean biner, yaitu sebagai berikut:
2.4.4.1.1 Crossover 1 titik
Proses 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 sama.
Kromosom orangtua 1 11001011
Kromosom orangtua 2 11011111
Keturunan
11001111
Gambar 2.8 Contoh crossover 1 titik
Universitas Sumatera Utara
2.4.4.1.2 Crossover 2 titik
Proses crossover pindah silang 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 orang tua pertama lagi.
Kromosom orangtua 1 11001011
Kromosom orangtua 2 11011111
Keturunan 11011111
Gambar 2.9 Contoh crossover 2 titik
2.4.4.1.3 Crossover seragam
Crossover pindah silang seragam menghasilkan kromosom keturunan dengan menyalin bit-bit secara acak dari kedua orangtuanya.
Kromosom orangtua 1 11001011
Kromosom orangtua 2 11011111
Keturunan
11011111
Gambar 2.10 Contoh crossover seragam
2.4.4.1.4 Arithmatic crossover
Kromosom offspring kromosom anak diperoleh dengan melakukan operasi aritmatika terhadap parent induk. Operasi yang dapat dilakukan antara lain AND,
OR, XOR dan lain-lain. Contoh dari arithmatic crossover dapat dilihat pada gambar 2.11.
Universitas Sumatera Utara
Parent-1 10101001
AND
Parent-2 10111010
Offspring 10101000
Gambar 2.11 Contoh arithmatic crossover
2.4.4.1.5 Crossover pengkodean permutasi
Jenis crossover pindah silang untuk pengkodean permutasi hanyalah single point crossover. Metode ini dilakukan dengan memilih satu titik crossover p pada
kromosom parent kromosom induk secara acak. Gen ke-1 sampai gen ke-p pada parent 1 dikopikan menjadi gen offspring kromosom anak. Sisa gen yang belum
terpenuhi diambil dari parent 2 dengan cara sekuensial dari gen ke-1 parent 2 sampai gen terakhir, dengan syarat gen tersebut belum ada dalam kromosom offspring.
Contoh dari crossover pada pengkodean permutasi dapat dilihat pada gambar 2.12.
Parent 1 2 3 4 1 5 7 6 8
Parent 2 5 1 3 8 6 4 2 7
Offspring1 2 3 4 1 5 8 6 7
Offspring2 5 1 3 8 2 4 7 6
Gambar 2.12 Contoh single point crossover pengkodean permutasi
Titik crossover pada gen ke-4. Offspring pertama dihasilkan dari gen 1 sampai gen 4 parent 1, kemudian gen yang berikutnya pada offspring 1 diambil dari parent 2. Gen
parent 2 dicek secara sekuensial dari gen 1 sampai gen 8. Apabila gen yang dicek belum ada pada gen yang diambil dari parent 1 maka gen pada parent 2 tersebut
diambil untuk menjadi bagian pada offspring 1.
Universitas Sumatera Utara
2.4.5 Update generasi
Proses crossover akan menghasilkan kromosom-kromosom baru offspring yang akan menyebabkan ukuran populasi akan bertambah. Untuk menjaga agar ukuran populasi
tetap, maka harus ada kromosom yang dibuang. Proses ini dinamakan dengan update generasi. Proses update generasi dapat dilakukan dengan mengurutkan kromosom
dalam populasi berdasarkan nilai fitness-nya, selanjutnya diambil n kromosom dengan nilai kromosom terbaik. Kromosom yang terpilih kemudian akan menjadi populasi
yang baru.
2.4.6 Langkah algoritma genetika
Algoritma genetika dimulai dengan membuat himpunan solusi kromosom yang disebut dengan populasi. Populasi mula-mula dibuat secara acak. Selanjutnya populasi
yang sudah terbentuk akan digunakan untuk membentuk populasi yang baru dengan harapan populasi yang baru lebih baik dari populasi sebelumnya. Solusi-solusi yang
ada dalam populasi kemudian dipilih untuk membentuk solusi baru offspring, yang dipilih berdasarkan nilai fitness-nya. Proses ini diulang sampai kondisi yang
diinginkan. Berikut ini adalah urutan proses algoritma genetika:
1. Inisialisasi populasi, membuat populasi secara acak.
2. Evaluasi nilai fitness.
3. Membuat populasi baru dengan cara seleksi, crossover dan mutasi 4.
Update generasi, ganti populasi yang lama dengan populasi baru. 5.
Cek kondisi berhenti, apabila belum terpenuhi maka kembali ke proses 2.
Universitas Sumatera Utara
Gambar 2.13 Diagram alir algoritma genetika sederhana Mulai
Bangkitkan populasi awal
Evaluasi fungsi tujuan
Apakah kriteria optimasi
tercapai? Individu-
individu terbaik
Seleksi
Rekombinasi
Mutasi Hasil
Selesai Ya
Tidak
Universitas Sumatera Utara
2.4.7 Konsep algoritma genetika