ALGORITMA GENETIKA
I. Pengertian Algoritma
Dalam dunia komputasi, istilah algoritma menjadi dasar pemikiran
sebuah formulasi.Algoritma dapat didefinisikan sebagai teknik
penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat
dengan jumlah kata terbatas tetapi tersusun secara logis dan
sistematis.Kalimat-kalimat ini dapat diterjemahkan secara bertahap dari
awal hingga akhir.Algoritma harus berhenti setelah mengerjakan
serangkaian tugas atau langkahnya terbatas dan setiap langkah harus
didefinisikan dengan tepat sehingga tidak memiliki arti ganda [Suarga,
2006].
Algoritma sering mempunyai langkah pengulangan (iterasi) atau
memerlukan keputusan (logika Boolean dan perbandingan) sampai
tugasnya selesai.Desain dan analisis algoritma adalah suatu cabang
khusus dalam ilmu komputer yang mempelajari karakteristik dan
performansi dari suatu algoritma dalam menyelesaikan masalah.Algoritma
pun bersifat bebas, artinya tidak bergantung pada sistem komputer atau
bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat
diterapkan pada suatu masalah dengan kriteria yang sama. Dalam
penyelesaian masalah, ukuran banyak komputasi dari suatu algoritma
dinyatakan dalam kompleksitas.Jika sebuah permasalahan dalam
diselesaikan dalam waktu yang singkat dikatakan kompleksitas algoritma
Page 1
rendah, sementara algoritma yang membutuhkan waktu lama untuk
menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
Kata algoritma sendiri berasal dari latinisasi nama seorang ahli
matematika dari Uzbekistan yaitu Al Khawārizmi (hidup sekitar abad ke-
9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin
dari abad ke-12 "Algorithmi de numero Indorum". Pada abad ke-18, istilah
ini berkembang menjadi algoritma, yang mencakup semua prosedur atau
urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu
permasalahan. [Munir, 2007]
Terdapat beragam klasifikasi algoritma dan setiap klasifikasi
mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi
jenis-jenis algoritma adalah dengan memperhatikan paradigma dan
metode yang digunakan untuk mendesain algoritma tersebut.
II. Pengertian Algoritma Genetika
Algoritma Genetika (GA) adalah suatu metode optimasi dan
simulasi yang perkembangannya tidak bisa lepas dari paradigma evolusi
yang ditunjukkan pertama kali oleh Charles Darwin (1809-1882) yang
diteruskan dalam perkembangan teori genetika. Evolusi Darwin yang
berbasis pada konsep “survival of the fittest” menyatakan bahwa evolusi
jenis-jenis spesies makhluk hidup dan ekosistemnya terjadi karena seleksi
alam. Algoritma genetika juga merupakan algoritma pencarian heuristik
yang didasarkan atas mekanisme evolusi biologis. Keberagaman pada
evolusi biologis adalah variasi dari kromosom antar individu organisme.
Page 2
Variasi kromosom ini akan mempengaruhi laju reproduksi dan
tingkat kemampuan organisme untuk tetap hidup. Pada dasarnya ada
empat kondisi yang sangat mempengaruhi proses evolusi, yaitu:
a. Kemampuan organisme untuk melakukan reproduksi.
b. Keberadaan populasi organisme yang bisa melakukan reproduksi.
c. Keberagaman organisme dalam suatu populasi.
d. Perbedaan kemampuan untuk survive.
Individu yang lebih kuat (fit) akan memiliki tingkat kemampuan
survival dan tingkat reproduksi yang lebih tinggi jika dibandingkan dengan
individu yang kurang fit. Pada kurun waktu tertentu (sering dikenal dengan
istilah generasi), populasi secara keseluruhan akan lebih banyak memuat
organisme yang fit.
Algoritma genetika pertama kali dikembangkan oleh John Holland
dari Universitas Michigan (1975). John Holland mengatakan bahwa setiap
masalah yang berbentuk adaptasi (alami maupun buatan) dapat
diformulasikan dalam terminologi genetika. Algoritma genetika adalah
simulasi dari proses evolusi Darwin dan operasi genetika atas kromosom.
Gambar 1. Struktur Genetika
Page 3
Teori genetika memodelkan sifat-sifat bawaan makhluk hidup dari
gen-gen yang diwariskan dari suatu makhluk hidup kepada keturunannya.
Setiap makhluk hidup mempunyai kumpulan gen yang jumlahnya untuk
setiap spesies adalah sama. Sekumpulan gen atau kromosom
mengandung cetak biru dari sifat suatu makhluk hidup secara terdistribusi
(Gambar 1). Perubahan variasi dari kumpulan gen dalam kromosom, baik
melalui perkawinan atau mutasi adalah basis dari perubahan sifat dasar
spesies. Jadi Dengan teori evolusi dan teori gentika, maka penerapan GA
akan melibatkan beberapa operator, yaitu :
1. Operasi Evolusi yang melibatkan proses seleksi (selection).
2. Operasi Genetika yang melibatkan operator pindah silang (crossover)
dan mutasi (mutation).
Untuk memeriksa hasil optimasi, dibutuhkan fungsi fitness, untuk
menandakan hasil yang sudah dikodekan. Selama proses, induk harus
digunakan untuk reproduksi, pindah silang dan mutasi untuk menciptakan
keturunan. Jika GA didesain secara baik, maka populasi akan mengalami
konvergensi dan akan mendapatkan solusi yang optimum.
III.Struktur Umum Algoritma Genetika
Pada algoritma ini, teknik pencarian dilakukan sekaligus atas
sejumlah solusi, kumpulan solusi ini dikenal dengan istilah populasi.
Individu yang terdapat dalam satu populasi disebut dengan istilah
kromosom. Hubungan antara gen, populasi dan kromosom dapat dilihat
pada gambar 2.
Page 4
Gambar 2. Gen, kromosom dan populasi
Kromosom ini merupakan suatu solusi yang masih berbentuk
simbol. Populasi awal dibangun secara acak, sedangkan populasi
berikutnya merupakan hasil evolusi kromosom-kromosom melalui iterasi
yang disebut dengan istilah generasi. Generasi dapat diilustrasikan pada
gambar 3.
Gambar 3.Pembentukan Generasi
Pada setiap generasi, kromosom akan melalui proses evaluasi
dengan menggunakan alat ukur yang disebut dengan fungsi fitness atau
fungsi evaluasi. Nilai fitness dari suatu kromosom akan menunjukkan
kualitas kromosom dalam populasi tersebut. Generasi berikutnya dikenal
dengan istilah keturunan (offspring) terbentuk dari gabungan dua
Page 5
Populasi AwalEE
kromosom generasi sekarang yang bertindak sebagai induk (parent)
dengan menggunakan operator penyilangan (crossover). Selain operator
penyilangan, suatu kromosom dapat juga dimodifikasi dengan
menggunakan operator mutasi. Populasi generasi yang baru dibentuk
dengan cara menyeleksi nilai fitness dari kromosom induk (parent) dan
nilai fitness dari kromosom anak (offspring), serta menolak kromosom-
kromosom yang lainnya sehingga ukuran populasi (jumlah kromosom
dalam suatu populasi) konstan. Setelah melalui beberapa generasi, maka
algoritma ini akan konvergen ke individu terbaik.
Adapun siklus algoritma secara umum dapat dilihat pada gambar 4.
Gambar 4. Siklus Algoritma Genetika oleh David Goldberg
Algoritma Genetika ini meniru mekanisme dari genetika alam. Dari siklus
di atas dapat dijabarkan sebagai berikut :
a. Membuat Populasi Awal
Langkah pertama dalam algoritma ini adalah membentuk sejumlah
populasi awal yang digunakan untuk mencari penyelesaian optimal.
Populasi ini merupakan kumpulan dari alternatif solusi. Dengan adanya
Page 6
populasi ini, maka Algortima Genetika melakukan proses pencarian
dari berbagai titik uji. Pembuatan populasi awal ini dilakukan secara
random.
b. Representasi Individu
Agar dapat diproses melalui Algoritma Genetika, maka alternatif solusi
tersebut harus direpresentasikan terlebih dahulu ke dalam bentuk
kromosom. Representasi kromosom merupakan proses pengkodean
dari penyelesaian asli suatu masalah. Pengkodean tersebut meliputi
penyandian gen, dengan satu gen mewakili satu variabel.
c. Fungsi Fitness
Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai
ukuran performansinya. Fungsi tersebut disebut fungsi fitness,
(Hermanto 2003) yaitu Fungsi yang membedakan kualitas dari
kromosom yang diinginkan. kromosom yang memiliki fungsi fitness
yang tinggi akan dipertahankan sedangkan kromosom dengan harga
fungsi fitness yang rendah akan diganti.
Setelah menentukan parameter-parameter diatas, pada proses
inisialisasi populasi kemudian dibangkitkan sejumlah kromosom secara
random yang jumlahnya sesuai dengan population size. Hal ini dinamakan
dengan populasi awal.
d. Seleksi
Proses seleksi adalah proses pemilihan kromosom yang berguna
untuk menghasilkan kromosom pada generasi baru (seleksi orang
Page 7
tua/induk). Proses seleksi yang umum digunakan adalah dengan
menggunakan seleksi mesin roulette (roulette wheel selection). Pada
seleksi roulette wheel selection diamsumsikan dengan model pie-
shaped. Pada gambar 5 nomor 1,2,3 dan 4 dinyatakan kromosom.
Gambar 5. Seleksi roullete wheel
Pada gambar 5 ini mewakili empat kromosom, dimana setiap
kromosommemiliki luas daerah yang berbeda itu terjadi sebagai akibat
dari perbedaan fitness.
e. Crossover
Crossover terjadi ketika kedua parent berukar bagian kromosom-nya.
Dalam algoritma genetika crossover menggabungkan materi gentika
dari kedua kromosom parent menjadi 2 offspring. Prosedure untuk
memilih parent mana yang akan di crossover melalui 3 tahap :
1. Menetukan titik crossover secara random berdasarkan panjang
kromosom parent
2. Untuk dua kromosom parent yang sudah ditentukan titik potongnya
masing-masing dilakukan pertukaran gen atau penyilangan gen.
Page 8
Dalam algoritma genetika dikenal beberapa macam tipe dari
crossover yaitu :
1. One-point Crossover
2. Multi-point Crossover
3. Uniform Crossover
4. Order Crossover
One Point Crossover
Pada One Point Crossover hanya ada satu titik potong yang
ditentukan secara acak. kromosom offspring di peroleh dengan menukar
potongan kromosom sisi kanan dari parent pertama dengan parent kedua.
Untuk lebih jelasnya, dapat dilihat melalui tahapan-tahapan berikut ini :
a. Hitung panjang kromosom yaitu banyak gen yang ada dalam
kromosom.
b. Buat titik crossover dengan cara membangkitkan nilai random antara 1
sampai dengan panjang individu (1-, misalnya nilai randomnya n).
c. Pertukarkan gen yang ke n sampai ke total gen dari parent 1 dengan
yang ke n sampai ke total gen dari parent 2
Parent Offspring
13240 5 1325452364 152356
05125 4 05124 0 5321 4 5 6 3 2 1 4 6 4 1
Gambar 6. One Point Crossover
Page 9
f. Mutasi
Proses mutasi adalah proses yang bertujuan untuk mengubah
salah satu atau banyak bagian gen dalam kromosom. Pada mutasi juga
dikenal sebuah parameter mutasi yaitu mutation probability atau mutation
rate. Mutation probability adalah probabilitas dari banyaknya mutasi yang
terjadi pada kromosom. Biasanya mutation probility 0, berarti offspring
diambil langsung atau di- copy langsung dari parents tanpa ada
perubahan. Jika ada mutation probility. Berarti ada bagian dari offspring
diubah. Jika mutation probility 1, berarti semua bagian dari offspring
diubah. Langkah-langkah untuk menentukan gen mana yang akan di
mutasi adalah :
1. Tentukan probability mutasi ( pm ).
2. Bangkitkan bilangan random berdistribusi 0 – 1 untuk setiap gen pada
masing-masing kromosom.
3. Bandingkan tiap-tiap bilangan pada gen dengan probabilitas mutasi.
4. Bila bilangan random <= probabilitas mutasi ( pm ) maka gen itu yang
akan dipilih untuk dimutasi.
5. Setelah didapatkan posisinya maka gen itu dimutasi.
ParentOffspring
1324 0 5 2 4 2 4 0 5
5 2 3 6 4 1 6 3 2 6 4 5
Page 10
Gambar 7. Mutation
Jadi selengkapnya istilah-istilah penting dalam algoritma genetika
antara lain
Genotype (Gen), sebuah nilai yang menyatakan satuan dasar
yang membentuk arti tertentu dalam satu kesatuan yang disebut
kromoson. Gen ini dapat berupa nilai biner, float, integer maupun
karakter. Pada Algoritma Genetika digunakan nilai biner.
Allele, nilai dari Gen.
Kromoson, gabungan gen yang membentuk nilai tertentu.
Individu, menyatakan suatu nilai atau keadaan yang menyatakan
salah satu solusi yang mungkin dari permasalahan yang diangkat.
Populasi, sekumpulan individu yang akan diproses bersama dalam
satu siklus proses evolusi.
Generasi, menyatakan satu satuan siklus proses evolusi.
Nilai Fitness, menyatakan seberapa baik nilai dari suatu individu
atau solusi yang didapatkan.
g. Kondisi Berhenti
Kondisi berhenti tercapai ketika solusi optimum terpenuhi dan
Algoritma Genetika akan menghentikan proses pencariannya.
Page 11
IV. Flowchart Algoritma Genetika
Flowchart sistem digunakan untuk menggambarkan keseluruhan
langkah kerja dari sistem yang dibuat.
Gambar 8.Flowchart proses algoritma genetika
Page 12
Yes
Inisialisasi populasi
Evaluasi
Seleksi
Crossover
Mutation
Evaluasi PembentukanGenerasi Baru
(Replacement strategy)
END
START
No
Hasil Penyelesaian
Kriteria BerhentiGenerasi
V. Contoh Kasus
Contoh kasus ini diberikan untuk memperjelas bagaimana aplikasi
algoritma genetika dapat menyelesain persoalan optimasi.
Kasus : Tentukanlah nilai maksimum dari fungsi f(x) = e-2x (sin 3x)
dengan menggunakan algoritma genetika.
Solusi :
Nilai x dari persamaan dari persamaan di atas merepresentasikan suatu
individu.Individu yang terbentuk kemudian dinyatakan dengan bilangan
biner.Selanjutnya fungsi yang ingin dicari nilai maksimumnya terlebih dulu
harus diketahui bentuk atau pola dari fungsi tersebut. Sehingga jika
digambarkan dalam koordinat kartesian akan diperoleh gambar berikut :
Gambar 9. Grafik fungsi f(x) = e-2x (sin 3x )
Dari grafik di atas terlihat bahwa nilai maksimum dari fungsi tersebut
berada pada interval 0 < x < 1
Page 13
Langkah-langkah penyelesaian :
1. Membangkitkan Populasi Awal :
Sebagaimana yang telah dijelaskan sebelumnya, pembangkitan
populasi awal dilakukan secara random /acak. Namun sebelum itu perlu
diperhitungkan hal-hal sebagai berikut :
- Diasumsikan bahwa 1 kromosonterdiri atas 8 gen yang kemudian
dituliskan dalam bentuk 8 bit biner(asumsi ini bisa lebih atau kurang
dari 8karena semakin banyak gen maka proses komputasi juga akan
semakin lambat disebabkan semakin banyaknya iterasi yang
dilakukan).
- Dengan demikian berdasarkan interval yang telah ditentukan di atas
maka representasi kromoson terhadap nilai interval solusi nilai
maksimum adalah :
- Sesuai aturan bilangan biner maka kombinasi biner yang dapat terjadi
untuk 8 bit biner adalah : 28 = 256 kombinasi bit atau dalam istilah
genetika menjadi 8 gen adalah : 28 = 256 kombinasi gen. Jadi akan
diperoleh sebanyak 256 kromoson atau 256 individu.
Nilai tiap bit/gen (allele) = (1/256) = 0,0039
Misalkan kombinasi gen :
00000001 → Nilai aktual biner = 0+0+0+0+0+0+0+20 = 1
→ Nilai Individu = 1/256 = 0,00391
→ Nilai fitness = e-2 . 0,00391 [Sin 3 . 0,00391] = 0,0116
Page 14
00000010 → Nilai aktual biner = 0+0+0+0+0+0+21+0 = 2
→ Nilai Individu = 2/256 = 0,00781
→ Nilai fitness = e-2 . 0,00781 [Sin 3 . 0,00781] = 0,0231
Demikian seterusnya sampai pada kombinasi ke 256.
Secara rinci urutan kombinasi tersebut dapat dilihat pada tabel 1.
Tabel 1. Rincian kombinasi bit atau gen
KromosonKomb.
Bit / Gen
Nilai tiap
Bit/Gen(Allele)
Nilai AktualKombinasi Biner
NilaiIndividu
Nilai(Fitness)
1 00000000 0,0039 0 0 0
2 00000001 0,0039 20 = 1(1/256) = 0,00391
0,0116
3 00000010 0,0039 21 = 2(2/256) = 0,00781
0,0231
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
255 11111110 0,003927+26+25+24+23+22+21+0 =
127(127/256)=
0,496090,3695
256 11111111 0,003927+26+25+24+23+22+21+20=
255(255/256)=
0,996090,0208
Selanjutnya dibentuk populasi awal misalkan satu populasi terdiri atas
10 individu dengan 8 gen biner yang dibangkitkan secara acak, sebagai
berikut :
Gambar 10. Susunan individu pada populasi awal
Page 15
2. Seleksi orang tua / induk (parent) :
Seleksi merupakan proses pemilihan calon induk. Proses seleksi ini
menggunakan beberapa metode salah satunya adalah metode mesin
roulette (roulette wheel).Seleksi dilakukan dengan menggunakan
prosentase fitness setiap individu dimana setiap individu mendapatkan
luas bagian sesuai prosentase fitnessnya. Selengkapnya perhitungan
prosentase fitness, yaitu :
Tabel 2. Prosentase nilai fitness
10010000 0.5625 0.322401001100 0.30469 0.430601100110 0.39844 0.419310111101 0.73828 0.182711101000 0.90625 0.067011110010 0.94531 0.045400110011 0.19922 0.377811111100 0.98438 0.026210000111 0.52734 0.348310001011 0.54297 0.3370
2.5567
13.613.2100
Individu Nilai Individu Nilai Fitness Persen fitness (%)
Jumlah nilai fitness
12.616.816.47.12.61.8
14.81.0
Gambar 11. Seleksi individu menggunakan roulette wheel
Page 16
Jadi untuk kondisi di atas, dihitung jatah untuk masing-masing individu :Individu 1 : fitness = 12% jatah = 1 – 12Individu 2 : fitness = 17% jatah = 13 – 29Individu 3 : fitness = 16% jatah = 30 – 45Individu 4 : fitness = 7% jatah = 46 – 52Individu 5 : fitness = 3% jatah = 53 – 55Individu 6 : fitness = 2% jatah = 56 – 57Individu 7 : fitness = 15% jatah = 58 – 72Individu 8 : fitness = 1% jatah = 73Individu 9 : fitness = 14% jatah = 74 – 87Individu 10 : fitness = 13% jatah = 88 – 100
Berarti dibangkitkan bilangan random antara 1 – 100 sebanyak 10 kali.Nilai random 12 : individu 1Nilai random 20 : individu 2Nilai random 35 : individu 3Nilai random 60 : individu 7Nilai random 76 : individu 9Nilai random 99 : individu 10Nilai random 15 : individu 2Nilai random 40 : individu 3Nilai random 80 : individu 9Nilai random 30 : individu 2
Jadi individu terpilih menjadi :
Tabel 2.Individu terseleksi
10010000 0.5625 0.3224 Survive01001100 0.30469 0.4306 Survive01100110 0.39844 0.4193 Survive10111101 0.73828 0.1827 Gugur11101000 0.90625 0.0670 Gugur11110010 0.94531 0.0454 Gugur00110011 0.19922 0.3778 Survive11111100 0.98438 0.0262 Gugur10000111 0.52734 0.3483 Survive10001011 0.54297 0.3370 Survive
2.5567
Keterangan
14.81.0
13.613.2
Jumlah nilai fitness 100
16.816.47.12.61.8
Individu Nilai Individu Nilai Fitness Persen fitness (%)
12.6
Page 17
6 Individu Terpilih
3. Rekombinasi / perkawinan silang (Crossover)
Crossover merupakan proses mengkombinasikan dua individu atau
induk terpilih dari proses seleksi untuk memperoleh individu-individu baru
yang diharapkan mempunyai nilai fitness yang lebih baik.
Misalnya secara acak diambil inividu 2 dan 10 sebagai induk, diperoleh :
Kemudian dicari alternatif individu yang lain, misalnya induk 2 dan induk
3 :
Jadi terlihat diperoleh anak atau individu baru dengan nilai fitness yang
lebih baik dari induknya. Dengan demikian keturunan baru ini akan survive
untuk membentuk generasi baru.
Page 18
4. Mutasi
Mutasigenadalahprosespenggantiangendengannilaiinversinya,
gen0 menjadi1 dangen1 menjadi0.
Prosesinidilakukansecaraacakpadaposisigentertentupadaindividu-
individuyang terpilihuntukdimutasikan.
Banyaknyaindividuyangmengalamimutasiditentukanolehbesarnyaprobabilit
asmutasi.
Hasil penyelesaian dengan algoritma genetika terhadap masalah nilai
maksimum dari fungsi f(x) = e-2x (Sin 3x), yaitu ;
Page 19
Artinya ilai maksimum dari fungsi f(x) = e-2x (Sin 3x) yang berada pada
interval 0 < x < 1 adalah x = 0,43060.
Berikut ini adalah masalah yang diangkat :Penjadwalan Matakuliah
Andaikan terdapat n buah matakuliah M = {m1, m2, …, mn}. Setiap matakuliah mi memiliki waktu mulai kuliah si dan waktu akhir kuliah fi
yang dinyatakan dalam interval setengah-buka [si, fi). Matakuliah mi dan mj disebut saling berurutan jika interval [si, fi) dan [sj, fj) tidak overlap atau berhimpit (yakni, mi dan mj saling berurutan jika si fj atau sj fi).
Soal-2: Tentukan jumlah ruangan minimum yang dapat digunakan dalam mengatur jadwal matakuliah.
Sebagai contoh, diberikan matakuliah M = {m1, m2, …, m11} dengan waktu mulai dan waktu akhir matakuliah pada tabel berikut.
mi 1 2 3 4 5 6 7 8 9 10 11
si 1 3 0 5 3 5 6 8 8 2 12fi 4 5 6 7 8 9 10 11 12 13 14
Pasangan matakuliah {m1, m4, m8, m11} dan {m2, m4, m9, m11} adalah pasangan matakuliah yang saling berurutan dengan ukuran maksimum.
Jumlah ruangan minimum yang dibutuhkan adalah 5 dengan matakuliah yang saling berpasangan: {m1, m4, m8, m11}, {m2, m6}, {m3, m7}, {m5, m9}, {m10}
Jawaban :
Soal yang akan dibahas adalah soal nomor 2 dengan menggunakan
Algoritma Genetika dimana ditanyakan mengenai jumlah ruangan
minimum yang dapat digunakan. Oleh karena yang hendak kita cari
adalah jumlah ruangan minimum, maka kita harus menemukan mata
kuliah - mata kuliah apa saja yang overlap atau bertabrakan agar dapat
diperoleh jumlah ruangan minimumnya. Namun, selain syarat bahwa mata
kuliah tersebut harus bertabrakan, dalam pasangan mata kuliah – mata
kuliah tersebut juga tak boleh ada dua atau lebih mata kuliah yang saling
berurutan. Dari tabel di atas, dapat ditemukan pasangan mata kuliah yang
saling bertabrakan.
Page 20
Berikut adalah pasangan mata kuliah – mata kuliah tersebut :
1. {m1, m2, m3, m5, m10}
2. {m3, m4, m5, m6, m10}
3. {m4, m5, m6, m7, m10}
4. {m6, m7, m8, m9, m10}
5. {m10, m11}
Berikut beberapa individu yang dipilih sebagai populasi awal/generasi
pertama disesuaikan dengan mata kuliah – mata kuliah yang bertabrakan.
Dalam hal ini, nilai fitness suatu individu dihitung dari banyaknya mata
kuliah yang bertabrakan (banyaknya alel yang bernilai 1 dalam suatu
kromosom) :
Individu 11 2 3 4 5 6 7 8 9 10 11
1 1 1 0 1 0 0 0 0 1 0Nilai Fitness = 5
Individu 21 2 3 4 5 6 7 8 9 10 11
0 0 0 0 0 1 1 1 1 1 0Nilai Fitness = 5
Individu 31 2 3 4 5 6 7 8 9 10 11
0 0 1 1 1 1 0 0 0 1 0Nilai Fitness = 5
Individu 41 2 3 4 5 6 7 8 9 10 11
0 0 0 0 0 0 0 0 0 1 1Nilai Fitness = 2
Individu 51 2 3 4 5 6 7 8 9 10 11
0 0 0 1 1 1 1 0 0 1 0Nilai Fitness = 5
Individu – individu tersebut kemudian akan menjadi induk yang akan dipersilangkan dan dimutasikan.
Page 21
Persilangan ( Cross Over ) dan Mutasi GENERASI PERTAMA :
1. Individu 1 dan 2NB : Digit angka yang di-highlight kuning adalah gen-gen yang akan
disilangkanDilakukan Cross Over antara individu 1 dan 2 :
1 1 1 0 1 0 0 0 0 1 00 0 0 0 0 1 1 1 1 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
1 1 1 0 0 1 1 0 0 1 0 6 gagal0 0 0 0 1 0 0 1 1 1 0 4 gagal
NB : Digit angka yang di-highlight biru adalah gen-gen yang akan dimutasikan
Dan dari hasil mutasi, diperoleh lagi dua individu baru yaitu :
Nilai Fitness1 1 1 0 0 1 0 0 0 1 0 5 Gagal0 0 0 0 1 0 1 1 1 1 0 5 Gagal
2. Individu 1 dan 3Dilakukan Cross Over antara individu 1 dan 3 :
1 1 1 0 1 0 0 0 0 1 00 0 1 1 1 1 0 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness1 1 1 0 1 1 0 0 0 1 0 6 Gagal
0 0 1 1 1 0 0 0 0 1 0 4Berhasi
l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Page 22
Nilai Fitness1 1 1 0 1 1 0 0 0 1 0 6 Gagal
0 0 1 1 1 0 0 0 0 1 0 4Berhasi
l
3. Individu 1 dan 4Dilakukan Cross Over antara individu 1 dan 4 :
1 1 1 0 1 0 0 0 0 1 00 0 0 0 0 0 0 0 0 1 1
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
1 1 1 0 0 0 0 0 0 1 0 4Berhasi
l0 0 0 0 1 0 0 0 0 1 1 3 Gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
1 1 1 0 0 0 0 0 0 1 0 4Berhasi
l0 0 0 0 1 0 0 0 0 1 1 3 Gagal
4. Individu 1 dan 5Dilakukan Cross Over antara individu 1 dan 5 :
1 1 1 0 1 0 0 0 0 1 00 0 0 1 1 1 1 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness1 1 1 0 1 1 1 0 0 1 0 7 Gagal
0 0 0 1 1 0 0 0 0 1 0 3Berhasi
l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
Page 23
1 1 1 0 1 1 0 0 0 1 0 6 Gagal
0 0 0 1 1 0 1 0 0 1 0 4Berhasi
l
5. Individu 2 dan 3Dilakukan Cross Over antara individu 2 dan 3 :
0 0 0 0 0 1 1 1 1 1 00 0 1 1 1 1 0 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness0 0 0 0 1 1 0 1 1 1 0 4 Gagal0 0 1 1 0 1 1 0 0 1 0 5 Gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness0 0 0 0 1 1 1 1 1 1 0 6 Gagal
0 0 1 1 0 1 0 0 0 1 0 4Berhasi
l
6. Individu 2 dan 4Dilakukan Cross Over antara individu 2 dan 4 :
0 0 0 0 0 1 1 1 1 1 00 0 0 0 0 0 0 0 0 1 1
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
0 0 0 0 0 0 0 1 1 1 0 3Berhasi
l0 0 0 0 0 1 1 0 0 1 1 4 Gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness0 0 0 0 0 0 1 1 1 1 0 4 Berhasi
Page 24
l0 0 0 0 0 1 0 0 0 1 1 3 Gagal
7. Individu 2 dan 5Dilakukan Cross Over antara individu 2 dan 5 :
0 0 0 0 0 1 1 1 1 1 00 0 0 1 1 1 1 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness0 0 0 0 1 1 1 1 1 1 0 6 Gagal
0 0 0 1 0 1 1 0 0 1 0 4Berhasi
l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness0 0 0 0 1 1 1 1 1 1 0 6 Gagal
0 0 0 1 0 1 1 0 0 1 0 4Berhasi
l
8. Individu 3 dan 4Dilakukan Cross Over antara individu 3 dan 4 :
0 0 1 1 1 1 0 0 0 1 00 0 0 0 0 0 0 0 0 1 1
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
0 0 1 1 0 0 0 0 0 1 0 3berhasi
l0 0 0 0 1 1 0 0 0 1 1 4 gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
Page 25
0 0 1 1 0 0 0 0 0 1 0 3berhasi
l0 0 0 0 1 1 0 0 0 1 1 4 gagal
9. Individu 3 dan 5Dilakukan Cross Over antara individu 3 dan 5:
0 0 1 1 1 1 0 0 0 1 00 0 0 1 1 1 1 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness0 0 1 1 1 1 1 0 0 1 0 6 gagal
0 0 0 1 1 1 0 0 0 1 0 4berhasi
l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
0 0 1 1 1 1 0 0 0 1 0 5berhasi
l
0 0 0 1 1 1 1 0 0 1 0 5berhasi
l
10. Individu 4 dan 5Dilakukan Cross Over antara individu 4 dan 5 :
0 0 1 1 1 1 0 0 0 1 00 0 0 0 0 0 0 0 0 1 1
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
0 0 1 1 0 0 0 0 0 1 0 3berhasi
l0 0 0 0 1 1 0 0 0 1 1 4 gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
0 0 1 1 0 0 0 0 0 1 0 3berhasi
l
Page 26
0 0 0 0 1 1 0 0 0 1 1 4 gagal
Dilihat dari hasil cross over dan mutasi, terdapat beberapa anak yang gagal. Maksud gagal di sini adalah gen individu – individu tersebut tidak sesuai dengan pasangan mata – mata kuliah yang bertabrakan atau dengan kata lain, ada beberapa gen ( mata kuliah ) dari individu yang gagal tersebut yang tidak bertabrakan / berurutan. Sementara, untuk hasil persilangan yang sukses, memiliki kemungkinan untuk menjadi solusi (penyelesaian) karena alel dari gen – gen tersebut sesuai dengan pasangan mata kuliah yang bertabrakan. Maka, dari hasil reproduksi tersebut, diperoleh calon-calon individu generasi kedua yang berhasil :
Calon
Anak
Mata kuliah ke-I
1 2 3 4 5 6 7 8 9 10 11
Nilai Fitness Ket.
1 0 0 1 1 1 0 0 0 0 1 0 4 Sama2 0 0 1 1 1 0 0 0 0 1 0 43 1 1 1 0 0 0 0 0 0 1 0 4 Sama4 1 1 1 0 0 0 0 0 0 1 0 45 0 0 0 1 1 0 0 0 0 1 0 36 0 0 0 1 1 0 1 0 0 1 0 47 0 0 1 1 0 1 0 0 0 1 0 48 0 0 0 0 0 0 0 1 1 1 0 39 0 0 0 0 0 0 1 1 1 1 0 4
10 0 0 0 1 0 1 1 0 0 1 0 411 0 0 1 1 0 0 0 0 0 1 0 3 Sama12 0 0 1 1 0 0 0 0 0 1 0 313 0 0 0 1 1 1 0 0 0 1 0 414 0 0 1 1 1 1 0 0 0 1 0 515 0 0 0 1 1 1 1 0 0 1 0 516 0 0 1 1 0 0 0 0 0 1 0 3 Sama17 0 0 1 1 0 0 0 0 0 1 0 3
Tabel 1.1 : Tabel Calon Individu – Individu Generasi Kedua
Dari calon – calon anak dari hasil reproduksi di atas, ada beberapa individu yang memiliki untaian dengan gen yang sama, oleh karena itu individu – individu yang sama tersebut dapat digabungkan menjadi satu saja. Maka, individu – individu untuk generasi kedua, yaitu :
Page 27
Individu
Nilai Fitness
1 0 0 1 1 1 0 0 0 0 1 0 42 1 1 1 0 0 0 0 0 0 1 0 43 0 0 0 1 1 0 0 0 0 1 0 34 0 0 0 1 1 0 1 0 0 1 0 45 0 0 1 1 0 1 0 0 0 1 0 46 0 0 0 0 0 0 0 1 1 1 0 37 0 0 0 0 0 0 1 1 1 1 0 48 0 0 0 1 0 1 1 0 0 1 0 49 0 0 1 1 0 0 0 0 0 1 0 3
10 0 0 0 1 1 1 0 0 0 1 0 411 0 0 1 1 1 1 0 0 0 1 0 512 0 0 0 1 1 1 1 0 0 1 0 513 0 0 1 1 0 0 0 0 0 1 0 3
Tabel 1.2 : Tabel Individu – Individu Generasi Kedua
Setelah diperoleh beberapa calon individu generasi kedua, dilakukan seleksi berikutnya untuk menentukan individu mana saja yang cocok menjadi populasi generasi kedua. Seleksi didasarkan pada individu dengan nilai fitness tertinggi. Maka, dari penyeleksian dengan cara itu, diperoleh populasi generasi kedua dengan jumlah individu sama dengan jumlah induknya, yakni :
Individu
Nilai Fitness
1 0 0 1 1 1 1 0 0 0 1 0 52 0 0 0 1 1 1 1 0 0 1 0 53 0 0 1 1 1 0 0 0 0 1 0 44 1 1 1 0 0 0 0 0 0 1 0 45 0 0 0 1 1 0 1 0 0 1 0 4
Tabel 1.3 : Tabel Individu – Individu Generasi Kedua yang Unggul
Setelah diperoleh beberapa individu generasi kedua yang unggul, maka dilakukan lagi proses reproduksi yang meliputi, cross-over dan mutasi.
Page 28
Persilangan (Cross Over) dan Mutasi GENERASI KEDUA :
1. Individu 1 dan 2NB : Digit angka yang di-highlight kuning adalah gen-gen yang
akan disilangkanDilakukan Cross Over antara individu 1 dan 2 :
0 0 1 1 1 1 0 0 0 1 00 0 0 1 1 1 1 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
0 0 1 1 1 1 1 0 0 1 0 6 gagal0 0 0 1 1 1 0 0 0 1 0 4 berhasil
NB : Digit angka yang di-highlight biru adalah gen-gen yang akan dimutasikan
Dan dari hasil mutasi, diperoleh lagi dua individu baru yaitu :
Nilai Fitness0 0 1 1 1 1 0 0 0 1 0 5 berhasil0 0 0 1 1 1 1 0 0 1 0 5 berhasil
2. Individu 1 dan 3Dilakukan Cross Over antara individu 1 dan 3 :
0 0 1 1 1 1 0 0 0 1 00 0 1 1 1 0 0 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
0 0 1 1 1 0 0 0 0 1 0 4berhasi
l
0 0 1 1 1 1 0 0 0 1 0 5berhasi
l
Page 29
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
0 0 1 1 1 0 0 0 0 1 0 4berhasi
l
0 0 1 1 1 1 0 0 0 1 0 5berhasi
l
3. Individu 1 dan 4Dilakukan Cross Over antara individu 1 dan 4 :
0 0 1 1 1 1 0 0 0 1 01 1 1 0 0 0 0 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
0 0 1 1 0 0 0 0 0 1 0 3berhasi
l1 1 1 0 1 1 0 0 0 1 0 6 gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
0 0 1 1 0 0 0 0 0 1 0 3berhasi
l1 1 1 0 1 1 0 0 0 1 0 6 gagal
4. Individu 1 dan 5Dilakukan Cross Over antara individu 1 dan 5 :
0 0 1 1 1 1 0 0 0 1 00 0 0 1 1 0 1 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
0 0 1 1 1 0 1 0 0 1 0 5 gagal
0 0 0 1 1 1 0 0 0 1 0 4berhasi
l
Page 30
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
0 0 1 1 1 0 0 0 0 1 0 4berhasi
l
0 0 0 1 1 1 1 0 0 1 0 5berhasi
l
5. Individu 2 dan 3Dilakukan Cross Over antara individu 2 dan 3 :
0 0 0 1 1 1 1 0 0 1 00 0 1 1 1 0 0 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
0 0 0 1 1 0 0 0 0 1 0 3berhasi
l0 0 1 1 1 1 1 0 0 1 0 6 gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
0 0 0 1 1 0 1 0 0 1 0 4berhasi
l
0 0 1 1 1 1 0 0 0 1 0 5berhasi
l
6. Individu 2 dan 4Dilakukan Cross Over antara individu 2 dan 4 :
0 0 0 1 1 1 1 0 0 1 01 1 1 0 0 0 0 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
0 0 0 1 0 0 0 0 0 1 0 2berhasi
l
Page 31
1 1 1 0 1 1 1 0 0 1 0 7 gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
0 0 0 1 0 0 1 0 0 1 0 3berhasi
l1 1 1 0 1 1 0 0 0 1 0 6 gagal
7. Individu 2 dan 5Dilakukan Cross Over antara individu 2 dan 5 :
0 0 0 1 1 1 1 0 0 1 00 0 0 1 1 0 1 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
0 0 0 1 1 0 1 0 0 1 0 4berhasi
l
0 0 0 1 1 1 1 0 0 1 0 5berhasi
l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
0 0 0 1 1 0 1 0 0 1 0 4berhasi
l
0 0 0 1 1 1 1 0 0 1 0 5berhasi
l
8. Individu 3 dan 4Dilakukan Cross Over antara individu 3 dan 4 :
0 0 1 1 1 0 0 0 0 1 01 1 1 0 0 0 0 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness0 0 1 1 0 0 0 0 0 1 0 3 berhasi
Page 32
l
1 1 1 0 1 0 0 0 0 1 0 5berhasi
l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
0 0 1 1 0 0 0 0 0 1 0 3berhasi
l
1 1 1 0 1 0 0 0 0 1 0 5berhasi
l
9. Individu 3 dan 5Dilakukan Cross Over antara individu 3 dan 5 :
0 0 1 1 1 0 0 0 0 1 00 0 0 1 1 0 1 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness0 0 1 1 1 0 1 0 0 1 0 5 gagal
0 0 0 1 1 0 0 0 0 1 0 3berhasi
l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
0 0 1 1 1 0 0 0 0 1 0 4berhasi
l
0 0 0 1 1 0 1 0 0 1 0 4berhasi
l
10. Individu 4 dan 5Dilakukan Cross Over antara individu 4 dan 5 :
1 1 1 0 0 0 0 0 0 1 00 0 0 1 1 0 1 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Page 33
Nilai Fitness1 1 1 0 1 0 1 0 0 1 0 6 gagal
0 0 0 1 0 0 0 0 0 1 0 2berhasi
l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu baru, yaitu :
Nilai Fitness
1 1 1 0 1 0 0 0 0 1 0 5berhasi
l
0 0 0 1 0 0 1 0 0 1 0 3berhasi
l
Dilihat dari hasil cross over dan mutasi, terdapat beberapa anak yang gagal. Seperti pada hasil persilangan induk – induk pada generasi pertama, maksud gagal di sini ialah gen individu – individu tersebut tidak sesuai dengan pasangan mata – mata kuliah yang bertabrakan atau dengan kata lain, ada beberapa gen ( mata kuliah ) dari individu yang gagal tersebut yang tidak bertabrakan / berurutan. Sementara, untuk hasil persilangan yang sukses, memiliki kemungkinan untuk menjadi solusi (penyelesaian) karena alel dari gen – gen tersebut sesuai dengan pasangan mata kuliah yang bertabrakan. Maka, dari hasil reproduksi tersebut, diperoleh calon-calon individu generasi ketiga yang berhasil :
Calon
anak
Mata Kuliah ke - iNilai Fitness
1 2 3 4 5 6 7 8 9 10 11
1 0 0 1 1 1 1 0 0 0 1 0 52 0 0 1 1 1 1 0 0 0 1 0 53 0 0 1 1 1 1 0 0 0 1 0 54 0 0 1 1 1 1 0 0 0 1 0 55 0 0 0 1 1 1 1 0 0 1 0 56 0 0 0 1 1 1 1 0 0 1 0 57 0 0 0 1 1 1 1 0 0 1 0 58 0 0 0 1 1 1 1 0 0 1 0 59 1 1 1 0 1 0 0 0 0 1 0 5
10 1 1 1 0 1 0 0 0 0 1 0 511 1 1 1 0 1 0 0 0 0 1 0 512 0 0 1 1 1 0 0 0 0 1 0 4
Page 34
13 0 0 1 1 1 0 0 0 0 1 0 414 0 0 1 1 1 0 0 0 0 1 0 415 0 0 1 1 1 0 0 0 0 1 0 416 0 0 0 1 1 1 0 0 0 1 0 417 0 0 0 1 1 1 0 0 0 1 0 418 0 0 0 1 1 0 1 0 0 1 0 419 0 0 0 1 1 0 1 0 0 1 0 420 0 0 0 1 1 0 1 0 0 1 0 421 0 0 0 1 1 0 1 0 0 1 0 422 0 0 1 1 0 0 0 0 0 1 0 323 0 0 1 1 0 0 0 0 0 1 0 324 0 0 1 1 0 0 0 0 0 1 0 325 0 0 1 1 0 0 0 0 0 1 0 326 0 0 0 1 0 0 1 0 0 1 0 327 0 0 0 1 0 0 1 0 0 1 0 328 0 0 0 1 1 0 0 0 0 1 0 329 0 0 0 1 1 0 0 0 0 1 0 330 0 0 0 1 0 0 0 0 0 1 0 231 0 0 0 1 0 0 0 0 0 1 0 2
Tabel 1.4 : Tabel Calon Individu – Individu Generasi KetigaKet : individu dengan warna yang sama memiliki kromosom dengan nilai
yang sama
Dari calon – calon anak dari hasil reproduksi di atas, ada beberapa individu yang memiliki untaian dengan gen yang sama, oleh karena itu individu – individu yang sama tersebut dapat digabungkan menjadi satu saja. Maka, individu – individu untuk generasi kedua, yaitu :
Individu
Mata Kuliah ke - i Nilai Fitness1 2 3 4 5 6 7 8 9 10 11
1 0 0 1 1 1 1 0 0 0 1 0 52 0 0 0 1 1 1 1 0 0 1 0 53 1 1 1 0 1 0 0 0 0 1 0 54 0 0 1 1 1 0 0 0 0 1 0 45 0 0 0 1 1 1 0 0 0 1 0 46 0 0 0 1 1 0 1 0 0 1 0 47 0 0 0 1 1 0 1 0 0 1 0 48 0 0 1 1 0 0 0 0 0 1 0 39 0 0 0 1 0 0 1 0 0 1 0 3
10 0 0 0 1 1 0 0 0 0 1 0 311 0 0 0 1 0 0 0 0 0 1 0 2
Tabel 1.5 : Tabel Individu – Individu Generasi Ketiga
Page 35
Dari tabel 1.5, dapat dilihat bahwa nilai fitness tertinggi di antara individu – individu tersebut adalah 5, sehingga dapat disimpulkan bahwa jumlah ruangan minimum yang dapat digunakan untuk mengatur jadwal mata
kuliah adalah 5 ruangan.
VI. Summary
Algoritma merupakan sistem kecerdasan buatan yang meniru sel
pada tubuh manusia.
Algoritma genetika dapat digunakan untuk proses pencarian dan
proses optimasi.
Langkah-langkah dalam penyelesaian masalah dengan algoritma
genetika, yaitu ; pembangkitan populasi awal, menentukan proses
seleksi yang digunakan, menentukan perkawinan silang
(crossover) dan mutasi gen.
Algoritma ini dikembangkan dari proses pencarian solusi dengan
menggunakan pencarian acak, ini terlihat pada proses
pembangkitan populasi awal yang menyatakan sekelompok solusi
yang dipilih secara acak.
Selanjutnya pencarian dilakukan dengan proses genetika yang
memperhatikan pemikiran bagaimana memeproleh individu yang
lebih baik, sehingga dalam proses evolusi dapat diharapkan
diperoleh individu yang lebih baik.
Page 36
Top Related