18
5. Bila kurang dari probabilitas mutasi Pm maka gen tersebut yang akan
dipilih untuk dimutasi. 6.
Gen yang terpilih kemudian dihitung sehingga dapat diketahui gen tersebut berada pada chromosome nomor berapa dan pada gen yang nomor berapa.
2.3 Algoritma Umum pada Algoritma Genetika
Berikut ini algoritma yang umum pada algoritma genetika yaitu dengan memberikan tahapan mulai dari pembentukan kromosom sampai pada solusi yang
terbaik : 2.3.1
Membentuk Model Kromosom. Kromosom pada algoritma genetika merupakan suatu solusi yang mungkin yang
dibentuk oleh gen-gen. Atau dapat disebutkan bahwa kromsom merupakan string yang terbentuk oleh gen-gen yang merupakan bit 0 dan 1.
Contoh kromosom : 01101010110101101 Model kromosom yang dibentuk tergantung dari kasuspermasalahan yang
dihadapi. Sebagai contoh, diberikan persamaan :
a + b c - d e = 100
Pada persamaan tersebut dicari nilai variabel a, b, c, d, dan e agar mendapatkan 100. Diandaikan nilai maksimum untuk setiap variabel adalah 15, berarti dalam
representasi biner terdapat empat bit untuk setiap variabel. Karena terdapat lima variabel, maka panjang kromosom adalah 20 bit. Misalkan pada suatu
solusikromosom nilai variabel a adalah 101010
2
, variabel b adalah 50101
2
, variabel c adalah 141110
2
, variabel d adalah 20010
2
, dan variabel e adalah 91001
2
, maka kromosom pada solusi tersebut adalah :
10100101111000101001
Universitas Sumatera Utara
19
2.3.2 Membentuk Populasi Awal Secara Acak.
Populasi merupakan kumpulan dari kromosom atau solusi. Agar dapat berevolusi dan menghasilkan solusi yang tepat pada suatu generasi, maka harus memiliki
nenek moyang. Nenek moyang tersebutlah yang merupakan populasi awal yang dibentuk secara acak.Jumlah populasi awal tersebut tidak memiliki patokan,
sesuai dengan permasalahan yang ada dan kemampuan komputer. Contoh populasi awal untuk kasus di atas :
01101101101010010111 a=6, b=13, c=10, d=9, e=7 01011010110101101010 a=5, b=10, c=13, d=6, e=10
11011011110010100100 a=13, b=11, c=12, d=10, e=4 01011010001010100110 a=5, b=10, c=2, d=10, e=6
11011011110110101111 a=13, b=11, c=13, d=10, e=15
2.3.3 Mengevaluasi Fitness Untuk Setiap Kromosom.
Tujuan dari tahap ini adalah untuk mendapatkan nilai fitness yang akan berguna dalam seleksi kromosom untuk generasi berikutnya. Sebagai contoh, dalam
kehidupan di alam tertutup gua, bawah tanah, makhluk yang mengandalkan penglihatan contoh: singa, kuda, gajah, dll. akan memiliki nilai ketahanan yang
rendah, karena kesulitan navigasi dalam lingkungan yang gelap. Maka, akan kecil kemungkinan makhluk tersebut dapat bertahan dan memiliki generasi berikutnya.
Akan tetapi, untuk makhluk lainnya seperti kelelawar akan memiliki nilai ketahanan yang tinggi karena kelelawar memiliki kemampuan pancaran
supersonik sehingga dapat melakukan navigasi dalam lingkungan yang gelap. Evaluasi fitness tergantung pada kasus ataupun permasalahan yang
dihadapi. Untuk contoh di atas, worst case scenario ataupun hasil yang paling melenceng jauh dari nilai yang diharapkan100 adalah jika a=0, b=0, c=0, d=15,
e=15 dengan hasil –325. Nilai fitness merupakan selisih dari 325 dengan jarak
antara 100 nilai yang diharapkan dengan nilai yang didapatkan dengan mensubstitusikan nilai dari kromosom pada variabel pada persamaan tersebut.
Maka, nilai fitness terburuk adalah 325 - | 100 – -225 | = 325 – 325 = 0.
Sedangkan nilai fitness terbaik adalah 325 - | 100 – 0 | = 325. Perhitungan nilai
fitness untuk contoh populasi sebelumnya dapat dilihat pada tabel 2.1.berikut :
Universitas Sumatera Utara
20
Tabel 2.1. Perhitungan nilai fitness
2.3.4 Penentuan Populasi Generasi Berikutnya.
Penentuan populasi pada generasi berikutnya didasarkan pada nilai fitnessketahanan. Kromosom yang memiliki nilai ketahanan yang lebih
tinggidalam analogi biologis, yaitu lebih mampu bertahan dalam lingkungan akan memiliki kemungkinan yang lebih tinggi untuk memiliki kopiannya pada
generasi berikutnya, sedangkan yang memiliki nilai ketahanan yang lebih rendah dalam analogi biologis, yaitu kurang mampu bertahan dalam lingkungan akan
memiliki kemungkinan yang lebih rendah untuk memiliki kopiannya pada generasi berikutnya. Penentuan tersebut biasanya dikenal dengan istilah seleksi.
Biasanya, jumlah populasi pada generasi berikutnya adalah sama dengan jumlah populasi pada generasi sebelumnya, yaitu populasi dari sebelumnya telah hilang
dan sepenuhnya digantikan dengan populasi yang baru. Dengan kata lain, jumlah populasi untuk setiap generasi adalah sama.
Terdapat banyak cara seleksi, salah satunya adalah dengan metode roda rolet. Metode ini merupakan suatu cara seleksi kromosom yang proporsional pada
nilai fitness tersebut. Cara ini tidak menjamin bahwa kromosom yang memiliki nilai fitness tertinggi dapat bertahan ke generasi berikutnya, melainkan memiliki
kemungkinan yang tinggi. Pada cara ini, diandaikan nilai fitness total direpresentasikan oleh diagram
lingkaran ataupun roda rolet. Kemudian, dipasangkan setiap potongan pada roda tersebut pada setiap anggota populasikromosom. Ukuran dari potongan tersebut
Kromosom Nilai Variabel
Hasil Persamaan Nilai
Fitness
A 01101101101010010111
a=6, b=13, c=10, d=9, e=7 6 + 13 10
– 9 7 = 73
325 - |100-73| = 298 B
01011010110101101010 a=5, b=10, c=13, d=6, e=10
5 + 10 13 – 6 10 =
75 325 - |100
– 75| = 300
C 11011011110010100100
a=13, b=11, c=12, d=10, e=4 13 + 11 12
– 10 4 = 105
325 - |100 –105 |=
320 D
01011010001010100110 a=5, b=10, c=2, d=10, e=6
5 + 10 2 – 10 6 = -
35 325 - |100
–-35 | = 190
E 11011011110110101111
a=13, b=11, c=13, d=10, e=15 13 + 11 13
– 10 15 = 6
325 - |100 – 6 | =
231
Universitas Sumatera Utara
21
proporsional pada nilai fitness dari kromosom, yaitu semakin tinggi nilai fitness maka memiliki potongan yang semakin besar pada rodalingkaran tersebut.
Kemudian, untuk memilih kromosom pada generasi berikutnya dilakukan dengan melemparkan bolaatau mengambil nilai acak pada lingkaranrolet tersebut.
Potongan lingkaran tempat bola tersebut berhentiatau nilai acak yang didapat diambil untuk generasi berikutnya. Hal ini dilakukan beberapa kali sebanyak
jumlah populasi yang diharapkan. Pada contoh sebelumnya, nilai fitness total adalah : 298 + 300 + 320 + 190 + 231
= 1339. Maka, besarnya potongan untuk masing-masing kromosom adalah :
2981339 100 = 22
3001339 100 = 22
3201339 100 = 25
1901339 100 = 14
2311339 100 = 17 Jika diberikan penomoran pada lingkaran tersebut : 0 sd 22 adalah untuk
kromosom A, 22.1 sd 44 22+22 untuk kromosom B, 44.1 sd 69 44+25 untuk kromosom C, 69.1 sd 83 69+14 untuk kromosom D, 83.1 sd 100 83+17.
Kemudian dilakukan pengambilan nilai acak dengan jangkauan 0 sd 100 sebanyak 5 kali, maka :
42 : berada pada wilayah B
83 : berada pada wilayah D
33 : berada pada wilayah B
11 : berada pada wilayah A
60 : berada pada wilayah C Maka, populasi pada generasi berikutnya adalah :
01011010110101101010 kromosom B
01011010001010100110 kromosom D
01011010110101101010 kromosom B
01101101101010010111 kromosom A
11011011110010100100 kromosom C
Universitas Sumatera Utara
22
2.3.5 Melakukan Crossover dan Mutasi.
Crossover berarti melakukan pertukaran gen-gen di antara kromosom.Pada biologis, crossover adalah hibridasi antara jenis yang berbeda.Mutasi adalah
perubahan gen-gen pada kromosom, yaitu perubahan bit-bit dari 0 ke 1 ataupun sebaliknya dari 1 ke 0. Untuk melakukan crossover, perlu ditentukan konstanta p
c
, yaitu konstanta yang menyatakan besarnya peluang untuk melakukan
crossover.Nilai p
c
tersebut biasanya adalah sebesar 0.7.Iterasi dilakukan pada tiap kromosom dan dilakukan pengambilan nilai acak di antara 0 sd 1 pada tiap
kromosom. Jika nilai acak yang dihasilkan adalah = p
c
, maka kromosom tersebut terpilih untuk dilakukan crossover, sedangkan jika p
c
, maka tidak dilakukan crossover pada kromosom tersebut.
Pada saat dilakukan crossover, dilakukan pengambilan nilai acak posisi gen pada kromosom untuk menentukan gen-gen mana saja yang ditukar.Dalam hal ini,
terdapat dua teknik, yaitu 1-point crossover dan 2-point crossover. Pada 1-point crossover, nilai acak posisi gen yang diambilmisalkan n hanya
satu saja. Kemudian dilakukan pertukaran gen dari kromosom pertama dengan kromosom kedua, yaitu dari gen ke-1 hingga gen ke-n. Sebagai contoh, jika
terdapat dua kromosom : 01101101010110101101
11011011010100100101
Kemudian nilai acakn yang dihasilkan adalah 7, maka kromsom-kromosom hasil crossover adalah sebagai berikut :
1101101 1010110101101
01101101010100100101
Pada 2-pointcrossover, nilai acak posisi gen yang diambil adalah dua buah m dan n. Pertukaran gen dari kedua buah kromosom adalah dengan menukarkan gen ke-
m hingga gen ke-n pada kedua buah kromosom tersebut. Sebagai contoh, jika terdapat dua kromosom :
01101101010110101101
11011011010100100101
Dan nilai acak yang dihasilkan adalah 6 dan 15, maka kromosom-kromosom hasil crossover adalah sebagai berikut :
Universitas Sumatera Utara
23
01101011010100101101 11011
101010110100101
Pada mutasi, dilakukan inversi nilai bit, yaitu bit 0 ke bit 1 ataupun bit 1 ke bit 0. Untuk melakukan mutasi, perlu ditentukan konstanta p
m
, yaitu konstanta yang menyatakan peluang terjadinya mutasi.Nilai p
m
biasanya diset pada sangat rendah, misalnya 0.01, sesuai pada kehidupan biologis nyata di mana sangat kecil
kemungkinan terjadinya mutasi pada keadaan standar.Iterasi dilakukan pada setiap gen pada setiap kromosom dan mengambil nilai acak 0 sd 1. Jika nilai acak yang
dihasilkan adalah = p
m
, maka pada genbit tersebut dilakukan inversi, dan sebaliknya jika p
m
, tidak dilakukan apa-apa. Misalkan terdapat suatu kromosom :
01101101010110101101 Dilakukan iterasi pada tiap bit dan dilakukan pengambilan nilai acak 0 sd
1 : Bit ke-1 : 0.180979788303375
Bit ke-2 : 0.64313793182373 Bit ke-3 : 0.517344653606415
Bit ke-4 : 0.0501810312271118 Bit ke-5 : 0.172802269458771
Bit ke-6 : 0.0090474414825439 Bit ke-7 : 0.225485235254974
Bit ke-8 : 0.128151774406433 Bit ke-9 : 0.581712305545807
Bit ke-10 : 0.173850536346436 Bit ke-11 : 0.2264763712883
Bit ke-12 : 0.518977284431458 Bit ke-13 : 0.477839291095734
Bit ke-14 : 0.529659032821655 Bit ke-15 : 0.27648252248764
Bit ke-16 : 0.266663908958435 Bit ke-17 : 0.791664183139801
Universitas Sumatera Utara
24
Bit ke-18 : 0.167530059814453 o
Bit ke-19 : 0.874832332134247 o
Bit ke-20 : 0.0878018701157
Maka kromosom hasil mutasi adalah sebagai berikut :
0110111101011010110
2.3.6 Evaluasi Generasi Berikutnya.
Pada tahap ini, dilakukan evaluasi pada keseluruhan populasi generasi yang baru, apakah sudah mencapai solusi yang diharapkan atau belum. Jika belum, maka
kembali ke langkah c dan dilakukan berulang-ulang hingga didapatkan solusi yang diharapkan.Teknik evaluasi pada tahap ini tergantung pada kasus yang
dihadapi. Untuk contoh yang diberikan sebelumnya, algoritma ini akan berhenti jika
pada salah satu kromosom pada populasi yang baru dapat menghasilkan nilai 100 pada persamaan tersebut. Sebagai contoh, jika pada generasi yang baru salah satu
kromosom adalah 10001010110001000111 a=8, b=10, c=12, d=4, e=7. Jika dimasukkan pada persaman tersebut : 8 + 10 12
– 4 7 = 100. Maka kromosom ini adalah solusi yang diharapkan, dan algoritma genetika berhenti pada tahap ini.
2.4 Fungsi Cosine Similarity