Anda di halaman 1dari 19

PAPER 14

ALGORITMA GENETIKA

Oleh :
I Wayan Pio Pratama
(1829101040)

ILMU KOMPUTER
PROGRAM PASCASARJANA
UNIVERSITAS PENDIDIKAN GANESHA
2020
BAB 1KATA PENGANTAR
Puji syukur kehadirat Tuhan Yang Maha Esa yang telah memberikan rahmat
dan hidayah-Nya sehingga saya dapat menyelesaikan tugas paper yang berjudul
“Algoritma Genetika” ini tepat pada waktunya.
Adapun tujuan dari penulisan dari makalah ini adalah untuk memenuhi tugas
dosen pada matakuliah kecerdasan buatan. Selain itu, paper ini juga bertujuan
untuk menambah wawasan tentang kecerdasan buatan bagi para pembaca dan juga
bagi penulis.

Saya mengucapkan terima kasih kepada bapak Dr. Dewa Gede Hendra
Divayana, S.Kom., M.Kom., selaku dosen matakuliah kecerdasan buatan yang
telah memberikan tugas ini sehingga dapat menambah pengetahuan dan wawasan
sesuai dengan bidang studi yang saya tekuni.

Saya juga mengucapkan terima kasih kepada semua pihak yang telah
membagi sebagian pengetahuannya sehingga saya dapat menyelesaikan makalah
ini.

Saya menyadari, makalah yang saya tulis ini masih jauh dari kata sempurna.
Oleh karena itu, kritik dan saran yang membangun akan saya nantikan demi
kesempurnaan makalah ini.

Mei, 2020

Penulis

ii
DAFTAR ISI
KATA PENGANTAR............................................................................................ii

DAFTAR ISI..........................................................................................................iii

BAB I PENDAHULUAN........................................................................................1

1.1 Latar Belakang.............................................................................................1

1.2 Rumusan Masalah........................................................................................1

1.3 Tujuan..........................................................................................................1

1.4 Batasan masalah...........................................................................................1

BAB II PEMBAHASAN........................................................................................2

2.1 Genetika.......................................................................................................2

2.2 Terminologi dalam algoritma genetika........................................................4

2.3 Struktur Algoritma Genetika........................................................................5

2.4 Studi Kasus..................................................................................................7

BAB III PENUTUP..............................................................................................15

3.5 Kesimpulan................................................................................................15

3.6 Saran...........................................................................................................15

DAFTAR PUSTAKA............................................................................................16

iii
BAB I
PENDAHULUAN
1.1 Latar Belakang
Metode dalam kecerdasan buatan tidak berhenti terinspirasi dari tingkah polah
sistem kerja dalam tubuh manusia. JST sebelumnya merupakan metode yang
terinspirasi dari sel otak manusia. Sedangkan genetika merupakan algoritma yang
terinspirasi dari evolusi makhluk hidup yang didasarkan pada perubahan gen-nya.
Algoritma genetika berperan dalam mengoptimasi pencarian dalam ruang
lingkup yang besar. Algoritma genetika merupakan suatu metode heuristik yang
dikembangkan berdasarkan prinsip genetika dan proses seleksi alamiah teori
evolusi Darwin. Proses pencarian penyelesaian atau proses terpilihnya sebuah
penyelesaian dalam algoritma genetika berlangsung sama seperti terpilihnya suatu
individu untuk bertahan hidup dalam proses evolusi. yang terbukti sukses dalam
banyak kasus seperti bin packing problem, penyelesaian knapsack problem,
segmentasi citra, serta berbagai macam penyelesaian untuk penjadwalan. Seperti
pembahasan paper-paper sebelumnya teknik pencarian yang berlandasakan blind
searching memiliki keterbatasan dalam hal peforma. Karena itu pencarian
heuristik lebih difavoritkan pada permasalahan yang relative kompleks.
Berdasarkan pemaparan diatas maka algoritma genetika cukup menarik untuk
dibahas. Maka dalam paper ini akan dijelaskan mengenai apa itu algoritma
genetika dan cara kerja masing-masing prosesnya.
1.2 Rumusan Masalah
Berdasarkan latar belakang makalah ini, diperoleh rumusan masalah sebagai
berikut,
1. Apa itu algoritma genetika ?
2. Bagaimana cara menghitung beberapa proses dalam algoritma genetika ?

1.3 Tujuan
Adapun tujuan dari penulisan makalah ini adalah untuk menjelaskan apa itu
algoritma genetika dan cara kerjanya.
1.4 Batasan masalah
Untuk mencegah luasnya pembahasan, maka dalam makalah ini hanya akan
membahas mengenai beberapa langkah algoritma genetika secara umum.

1
BAB 2BAB II
PEMBAHASAN
1.1 Genetika
Algoritma genetika (Genetic Algorithms, GAs) merupakan tipe EA (Evolusi
Algorithm) yang paling popular. Algoritma genetika pertama kali diperkenalkan
oleh John Holland dari universitas Michigan pada tahun 1975. Dia melakukan
penelitian untuk meniru beberapa proses yang terjadi di seleksi natural. setiap
masalah yang berbentuk adaptasi dapat diformulasikan dalam terminologi
genetika. Algoritma genetika berkembang seiring dengan perkembangan teknologi
informasi yang sangat pesat. Karena kemampuannya untuk menyelesaikan
berbagai masalah kompleks, algoritma ini banyak digunakan dalam bidang fisika,
biologi, ekonomi, sosiologi dan lain-lain
Algoritma genetika diilhami oleh ilmu genetika, karena itu istilah yang
digunakan dalam algoritma genetika banyak diadopsi dari ilmu tersebut. Proses ini
sendiri merupakan proses seleksi alam dimana individu terkuat akan bertahan dan
menghasilkan keturunan yang lebih baik. Proses agar diperoleh keturunan yang
lebih baik didasarkan pada analogi struktur genetik dan perilaku kromosom dalam
populasi individu dengan menggunakan dasar:
 Tiap individu didalam suatu populasi bersaing untuk sumber daya alam
dan juga untuk mendapatkan pasangangannya.
 Mereka yang selalu menang didalam kompetisi akan mampu menghasilkan
keturunan yang terbaik, dan mereka yang kalah dalam kompetisi akan
menghasilkan keturunan yang sebaliknya.
 Gen yang berasal dari individu yang baik akan menyebar pada seluruh
populasi melalui proses perkembangbiakan, tidak menutup kemungkinan
akan menyebabkan adanya suatu gen yang lebih baik daripada generasi
yang lama.
 Setiap pergantian generasi maka biasanya generasi yang baru akan lebih
cocok dengan lingkungan mereka. Dengan kata lain generasi baru ini lebih
mudah beradaptasi dengan perubahan lingkungan yang terjadi.

Berikut adalah gambaran umum bagaimana algoritma genetika bekerja.


Gambar 2.1 Diagram Proses Evolusi Genetika

Apabila dibandingkan dengan prosedur pencarian dan optimasi biasa,


algoritma genetika berbeda dalam beberapa hal sebagai berikut :

 Manipulasi dilakukan terhadap kode dari himpunan parameter (biasa


disebut
kromosom), tidak secara langsung terhadap parameternya sendiri.
 Proses pencarian dilakukan dari beberapa titik dalam satu populasi, tidak
dari satu titik saja.
 Proses pencarian menggunakan informasi dari fungsi tujuan.
 Pencariannya menggunakan stochastic operators yang bersifat
probabilistik, tidak menggunakan aturan deterministik.
Kelebihan GAs sebagai metode optimasi adalah sebagai berikut:
 GAs merupakan algoritma yang berbasis populasi yang memungkinkan
digunakan pada optimasi masalah dengan ruang pencarian (search space)
yang sangat luas dan kompleks. Properti ini juga memungkinkan GAs
untuk melompat keluar dari daerah optimum lokal.
 Individu yang ada pada populasi bisa diletakkan pada beberapa sub-
populasi yang diproses pada sejumlah komputer secara paralel. Hal ini bisa
mengurangi waktu komputasi pada masalah yang sangat kompleks.
Penggunaan sub-populasi juga bisa dilakukan pada hanya satu komputer

3
untuk menjaga keragaman populasi dan meningkatkan kualitas hasil
pencarian.
 GAs menghasilkan himpunan solusi optimal yang sangat berguna pada
peyelesaian masalah dengan banyak obyektif .
 GAs dapat digunakan untuk menyelesaikan masalah yang kompleks
dengan banyak variabel. Variabel tersebut bisa kontinyu, diskrit atau
campuran keduanya
 GAs menggunakan kromosom untuk mengkodekan solusi sehingga bisa
melakukan pencarian tanpa memperhatikan informasi derivatif yang
spesifik dari masalah yang diselesaikan
 GAs bisa diimplementasikan pada berbagai macam data seperti data yang
dibangkitkan secara numerik atau menggunakan fungsi analitis
 GAs cukup fleksibel untuk dihibridisasikan dengan algoritma lainnya.
Beberapa penelitian membuktikan bahwa hybrid GAs (HGAs) sangat
efektif untuk menghasilkan solusi yang lebih baik.
 GAs bersifat ergodic, sembarang solusi bisa diperoleh dari solusi yang lain
dengan hanya beberapa langkah. Hal ini memungkinkan eksplorasi pada
daerah pencarian yang sangat luas dilakukan dengan lebih cepat dan
mudah.
2.1 Terminologi dalam algoritma genetika
Beberapa terminologi yang digunakan dalam algoritma genetika diantaranya
adalah:
 Populasi merupakan sebuah kumpulan dari satu atau lebih individual
(organisme). Populasi adalah istilah pada teknik pencarian yang dilakukan
sekaligus atas sejumlah solusi yang mungkin
 Generasi. Menyatakan satu-satuan siklus dari proses evolusi. Populasi awal
dibangun secara acak sedangkan populasi selanjutnya merupakan hasil
evolusi kromosom-kromosom melalui iterasi.
 Individu adalah satu anggota dari populasi yang merepresentasi sebuah
solusi dari suatu masalah yang sedang dipecahkan. Genome-nya
mengandung satu atau lebih kromosom.
 Genome adalah kumpulan gen dalam suatu individual.

4
 Kromosom merupakan sebuah struktur data yang merepresentasikan gen dari
suatu individual, biasanya berupa rangkaian biner.
 Gen merupakan bagian dari suatu kromosom yang mengkodekan (encode)
suatu parameter dari satu solusi. Satu gen biasanya akan mewakili satu
variabel. Gen dapat direpresentasikan dalam bentuk : string bit, pohon, array,
bilangan real, daftar aturan, elemen permutasi, elemen program dan lain-
lain.
 Allele adalah nilai dari gen.
 Fungsi fitness adalah alat ukur yang digunakan untuk proses evaluasi
kromosom. Nilai fitness dari suatu kromosom akan menunjukkan kualitas
dari suatu individual (solusi). Nilai fitness merupakan acuan dalam mencapai
nilai optimal dalam algoritma genetika dengan mencari individu dengan nilai
fitness yang paling tinggi.
 Mutasi, operator untuk memodifikasi kromosom.

2.2 Struktur Algoritma Genetika


Bagaimana menggunakan algoritma genetika untuk memecahkan suatu
masalah
ditunjukkan pada gambar dibawah.

Gambar 2.2 Mencari solusi dengan algoritma genetika

Solusi dari suatu masalah harus dipetakan (encoding) menjadi string kromosom.
String kromosom ini tersusun atas sejumlah gen yang menggambarkan variabel-
variabel keputusan yang digunakan dalam solusi. Representasi string kromosom
beserta fungsi fitness untuk menilai seberapa bagus sebuah kromosom (untuk
menjadi solusi yang layak) dimasukkan ke algoritma genetika. Dalam banyak
kasus, bagaimana merepresentasikan sebuah solusi menjadi kromosom sangat
menentukan kualitas dari solusi yang dihasilkan.

5
Dengan menirukan proses genetika dan seleksi alami maka algoritma genetika
akan menghasilkan kromosom ‘terbaik’ setelah melewati sekian generasi.
Kromosom ‘terbaik’ ini harus diuraikan (decoding) menjadi sebuah solusi yang
diharapkan mendekati optimum.
Apabila P(t ) dan C (t) merupakan populasi (parents) dan offspring pada
generasi ke-t, maka struktur umum algoritma genetika dapat dideskripsikan
sebagai berikut.
procedure AlgoritmaGenetika
begin
t=0
inisialisasi P(t)
while (bukan kondisi berhenti) do
reproduksi C(t) dari P(t)
evaluasi P(t) dan C(t)
seleksi P(t+1) dari P(t) dan C(t)
t=t+1
end while
end

Proses dalam algoritma genetika diawali dengan inisialisasi, yaitu


menciptakan individu-individu secara acak yang memiliki susunan gen
(kromosom) tertentu. Kromosom ini mewakili solusi dari permasalahan yang akan
dipecahkan. Reproduksi dilakukan untuk menghasilkan keturunan (offspring) dari
individu-individu yang ada di populasi. Evaluasi digunakan untuk menghitung
kebugaran (fitness) setiap kromosom. Semakin besar fitness maka semakin baik
kromosom tersebut untuk dijadikan calon solusi. Seleksi dilakukan untuk memilih
individu dari himpunan populasi dan offspring yang dipertahankan hidup pada
generasi berikutnya. Fungsi probabilistis digunakan untuk memilih individu yang
dipertahankan hidup. Individu yang lebih baik (mempunyai nilai kebugaran/fitness
lebih besar) mempunyai peluang lebih besar untuk terpilih.
Setelah melewati sekian iterasi (generasi) akan didapatkan individu terbaik.
Individu terbaik ini mempunyai susunan kromosom yang bisa dikonversi menjadi
solusi yang terbaik (paling tidak mendekati optimum). Dari sini bisa disimpulkan
bahwa algoritma genetika menghasilkan suatu solusi optimum dengan melakukan
pencarian di antara sejumlah alternatif titik optimum berdasarkan fungsi
probabilistik.

6
2.3 Studi Kasus
Untuk menjelaskan siklus GAs maka diberikan contoh masalah maksimasi
(mencari nilai maksimum) dari sebuah fungsi sebagai berikut:
max f ( x1 , x2 ) =19+ x 1 sin ( x 1 π ) + ( 10−x 2 ) sin ( x 2 π )−5
−5.0 ≤ x 1 ≤9.8
0.0 ≤ x2 ≤7.3
Jika fungsi tersebut di-plot akan menghasilkan plot 2D berikut.

Gambar 2.3 Plot Fungsi Permasalahan

SOLUSI
Inisialisasi
Dalam kasus ini variabel keputusan (x1 dan x2) dikodekan dalam string
kromosom biner. Panjang string kromosom tergantung pada presisi yang
dibutuhkan. Misalkan
domain variabel x j adalah [a j , b j ] dan presisi yang dibutuhkan adalah d angka di
belakang titik desimal, maka interval dari domain tiap variabel setidaknya
d
mempunyai lebar ( b j−a j ) x 10 . Banyaknya bit yang dibutuhkan (m j ) untuk
variabel x j adalah (Gen & Cheng 1997):
( b j−a j ) x 10 d ≤2m −1
j

Sehingga dalam kasus ini jumlah bit m j untuk batas −5.0 ≤ x 1 ≤9.8 diperoleh
sebgai berikut.
( 9.8−(−5 ) ) x 10 4 ≤2m −11

148000 ≤2m → log 2 148000 ≤ m1 log 2 2


1

7
m1=17.175 → m1=18
Untuk batas 0.0 ≤ x2 ≤7.3 diperoleh :

( 7.3−0 ) x 104 ≤ 2m −1
2

73000 ≤2m → log 2 73000 ≤ m2 log 2 2


2

m 2=16.156 → m2 =17
Maka panjang string kromosom adalah . Misalkan sebuah string kromosom yang
dibangkitkan secara random adalah sebagai berikut:
P j 01101010101011000100010010001001000
18 digit diawal adalah m 1 dan 17 sisanya adalah m 2
x1 011010101010110001 109233
x2 00010010001001000 9288

Nilai tersebut dapat dikonversi kembali kedalam bilangan real dengan persamaan
berikut.
b j−a j
x j=a j+ decimal ( substring )
2m −1
j

Sehingga,
9.8−(−5 )
x 1=−5+109233 =1.1670
218−1
7.3− ( 0 )
x 2=0+ 9288 =0.5173
217−1

Dibangkitkan 10 kromosom/individu yang ditampung dalam wadah dinamakan


populasi.
Kromosom
P1 [00110000010000001010010111111111010]
P2 [10011110111101111111110110100011111]
P3 [10101101000100010101010110010111001]
P4 [10000001100101010101010100011111001]
P5 [10010001001011001010110111000110010]
P6 [00011100000100010101010110001011101]
P7 [10101101000110011100011010001011101]
P8 [00011100000100010101010110001011101]
P9 [00110000011000001010010111111111010]

8
P10 [10101101000110011100011010001011101]

Reproduksi
Reproduksi dilakukan untuk menghasilkan keturunan dari individu-individu yang
ada di populasi. Himpunan keturunan ini ditempatkan dalam penampungan
offspring. Dua operator genetika yang digunakan dalam proses ini adalah tukar
silang (crossover) dan mutasi (mutation). Ada banyak metode crossover dan
mutation yang telah dikembangkan oleh para peneliti dan biasanya bersifat
spesifik terhadap masalah dan representasi kromosom yang digunakan. Dalam
tahap ini harus ditentukan tingkat crossover (crossover rate / pc). Nilai ini
menyatakan rasio offspring yang dihasilkan proses crossover terhadap ukuran
populasi sehingga akan dihasilkan offspring sebanyak pc x popSize. Nilai tingkat
mutasi (mutation rate / pm) juga harus ditentukan. Nilai ini menyatakan rasio
offspring yang dihasilkan dari proses mutasi terhadap ukuran populasi sehingga
akan dihasilkan offspring sebanyak pm x popSize.
Crossover dilakukan dengan memilih dua induk (parent) secara acak dari
populasi.
Metode crossover yang digunakan adalah metode one-cut-point, yang secara acak
memilih satu titik potong dan menukarkan bagian kanan dari tiap induk untuk
menghasilkan offspring. Misalkan yang terpilih sebagai induk adalah P6 dan P2.
Titik potong (cut point) adalah titik 2. Maka akan dihasilkan dua offspring (C1
dan C2) sebagai berikut:
P6 [00 011100000100010101010110001011101]
P2 [10 011110111101111111110110100011111]
C1 [00 011110111101111111110110100011111]
C2 [10 011100000100010101010110001011101]
Jika kita tentukan pc=0.4 maka ada 0.410=4 offspring yang dihasilkan. Karena
setiap crossover menghasilkan dua anak maka ada dua kali operasi crossover.
Misalkan yang terpilih sebagai induk pada crossover ke-2 adalah P9 dan P7. Titik
potong (cut point) adalah titik 11. Maka akan dihasilkan dua offspring (C3 dan C4)
sebagai berikut:
C3 [00110000011110011100011010001011101]
C4 [10101101000000001010010111111111010]

9
Mutasi dilakukan dengan memilih satu induk secara acak dari populasi. Metode
mutasi yang digunakan adalah dengan memilih satu titik acak kemudian
mengubah nilai gen pada titik tersebut. Misalkan yang terpilih sebagai induk
adalah P9. Titik acak yang terpilih adalah 18. Maka akan dihasilkan offspring (C5)
sebagai berikut:
P9 [00110000011000001010010111111111010]
C5 [00110000011000001110010111111111010]
Digit yang digaris bawah adalah yang terpilih untuk dimutasi. Anggap kita
tentukan pm=0.2 maka ada 0.2 x 10=2 offspring yang dihasilkan dari proses
mutasi. Misalkan yang terpilih sebagai induk pada mutasi ke-2 adalah P1 dan titik
acak yang terpilih adalah 19 maka akan dihasilkan offspring (C6) sebagai berikut:
C6 [00110000010000001000010111111111010]
Keseluruhan offspring yang dihasilkan dari proses reproduksi (crossover dan
mutasi) adalah sebagai berikut:
C1 [00011110111101111111110110100011111]
C2 [10011100000100010101010110001011101]
C3 [00110000011110011100011010001011101]
C4 [10101101000000001010010111111111010]
C5 [00110000011000001110010111111111010]
C6 [00110000010000001000010111111111010]
Perhatikan bahwa sekarang kita mempunyai 16 individu (10 dari populasi awal
ditambah 6 offspring).
Evaluasi
Evaluasi digunakan untuk menghitung kebugaran (fitness) setiap kromosom.
Semakin besar fitness maka semakin baik kromosom tersebut untuk dijadikan
calon solusi. Karena sebuah kromosom selalu memiliki nilai fitness dan beberapa
properti lain, maka dalam pembahasan berikutnya seringkali digunakan istilah
‘individu’. Hal ini bisa dianalogikan dengan seorang manusia sebagai individu.
Dia memiliki tubuh beserta susunan gen pembentuknya (kromosom), nama, umur,
alamat dan properti lainnya. Dalam kasus ini evaluasi dilakukan terhadap
keseluruhan 16 individu dengan cara:
 Mengubah/memetakan setiap string biner menjadi variabel x 1 dan x 2.

10
 Menghitung nilai fungsi objektif f( x 1, x 2).
 Konversi nilai f( x 1, x 2) menjadi nilai fitness. Karena masalah ini adalah
pencarian nilai maksimum, maka nilai fitness untuk tiap individu bisa
dihitung secara langsung sebagai berikut:
fitness=f (x 1 , x 2)
Semakin tinggi nilai fitness menunjukan individu yang semakin kuat. Dalam kasus
berbeda seperti pencarian nilai minimum maka persamaan fitness dirubah menjadi
:
fitness=C−f ( X ) ,C adalah konstan
Atau
1
fitness= ,f (X)≠0
f (X)
Dalam kasus ini individu P4 memiliki nilai fitness tertinggi.
Kromosom x1 x2 f (x 1 , x 2)
P1 [00110000010000001010010111111111010] -2.2104 4.3341 25.2705
P2 [10011110111101111111110110100011111] 4.1904 7.0309 21.0716
P3 [10101101000100010101010110010111001] 5.0055 2.4627 26.3991
P4 [10000001100101010101010100011111001] 2.4915 2.4092 28.7747
P5 [10010001001011001010110111000110010] 3.3929 5.2212 12.7376
P6 [00011100000100010101010110001011101] -3.3773 2.4575 23.3457
P7 [10101101000110011100011010001011101] 5.0074 0.7466 25.4962
P8 [00011100000100010101010110001011101] -3.3773 2.4575 23.3457
P9 [00110000011000001010010111111111010] -2.2032 4.3341 25.2263
P10 [10101101000110011100011010001011101] 5.0074 0.7466 25.4962
C1 [00011110111101111111110110100011111] -3.2097 7.0309 16.7478
C2 [10011100000100010101010110001011101] 4.0227 2.4575 26.7618
C3 [00110000011110011100011010001011101] -2.1975 0.7466 26.8905
C4 [10101101000000001010010111111111010] 5.0017 4.3341 23.8865
C5 [00110000011000001110010111111111010] -2.2031 4.3341 25.2259
C6 [00110000010000001000010111111111010] -2.2104 0.684 28.1587

Seleksi
Seleksi dilakukan untuk memilih 10 dari 16 individu yang dipertahankan hidup
pada generasi berikutnya. Metode yang digunakan adalah roulette wheel.
Pendekatan ini dilakukan dengan menghitung nilai probabilitas seleksi (prob) tiap

11
individu berdasarkan nilai fitnessnya. Dari nilai prob ini bisa dihitung probabilitas
kumulatif (probCum) yang digunakan pada proses seleksi tiap individu.
Langkah-langkah membentuk roulette wheel berdasarkan probabilitas kumulatif
adalah:
 Misalkan fitness(Pk) adalah nilai fitness individu ke-k. Maka bisa dihitung
total fitness sebagai berikut:
ukuran populasi
totalFitness= ∑ fitness(P k )
k=1

Perhatikan bahwa nilai ukuran populasi sekarang adalah 16.


 Hitung nilai probabilitas seleksi (prob) tiap individu:
fitness(Pk )
prob k = , k=1,2 , … , ukuran populasi
totalFitness
 Hitung nilai probabilitas kumulatif (probCum) tiap individu:
k
probCumk =∑ prob j , k=1,2 , … , ukuran populasi
j=1

Dari proses evaluasi dan perhitungan probabilitas kumulatif, kita sekarang


mempunyai kumpulan individu sebagai berikut:

x1 x2 f (x 1 , x 2) prob probCum
P1 -2.2104 4.3341 25.2705 0.0657 0.0657
P2 4.1904 7.0309 21.0716 0.0548 0.1204
P3 5.0055 2.4627 26.3991 0.0686 0.1890
P4 2.4915 2.4092 28.7747 0.0748 0.2638
P5 3.3929 5.2212 12.7376 0.0331 0.2969
P6 -3.3773 2.4575 23.3457 0.0607 0.3576
P7 5.0074 0.7466 25.4962 0.0663 0.4238
P8 -3.3773 2.4575 23.3457 0.0607 0.4845
P9 -2.2032 4.3341 25.2263 0.0656 0.5500
P10 5.0074 0.7466 25.4962 0.0663 0.6163
C1 -3.2097 7.0309 16.7478 0.0435 0.6598
C2 4.0227 2.4575 26.7618 0.0695 0.7293
C3 -2.1975 0.7466 26.8905 0.0699 0.7992
C4 5.0017 4.3341 23.8865 0.0621 0.8613
C5 -2.2031 4.3341 25.2259 0.0655 0.9268
C6 -2.2104 0.684 28.1587 0.0732 1.0000

12
Dengan nilai probabilitas seleksi (prob) tiap individu maka kita mempunyai
roulette
wheel sebagai berikut:

Gambar 2.4 Roulette Wheel

Perhatikan ukuran tiap potongan pie pada gambar diatas adalah sesuai dengan
probabilitas (prob x 100%) terpilihnya setiap individu.
Sekarang waktunya memutar roulette wheel untuk memilih setiap individu dengan
langkah-langkah berikut:
 Bangkitkan r bilangan random pada range [0,1].
 Pilih/cek nilai k mulai dari 1 sampai popSize sehingga r ≤ probCumk .
 Misal r =0,5210 makak =9, artinya individu yang ke-9 terpilih. Hasil
selengkapnya bisa dilihat sebagai berikut:
Pt +1 random individu fitness
terpilih
Pt
P1 0.5210 P9 25.2263
P2 0.4307 P8 23.3457
P3 0.5297 P9 25.2263
P4 0.9050 C5 25.2259
P5 0.0745 P2 21.0716
P6 0.0900 P2 21.0716
P7 0.7803 C3 26.8905
P8 0.4032 P7 25.4962
P9 0.1680 P3 26.3991
P10 0.4594 P8 23.3457

13
Sekarang kita telah menyelesaikan satu iterasi (generasi) dengan individu terbaik
adalah P7 dengan fitness=26,8905 yang bisa diuraikan (decoding) sebagai berikut:
x 1=−2.1975
x 1=0.7466
x 1=26.8905
Perhatikan individu terbaik pada generasi ke-1 (fitness=26,8905) ini lebih buruk
dari pada individu terbaik pada populasi inisial (fitness=28,7747). Ingat dengan
mekanisme roulette wheel maka individu dengan fitness lebih besar akan
mempunyai peluang lebih besar untuk terpilih. Karena berupa peluang maka tidak
menjamin bahwa individu terbaik akan selalu terpilih untuk masuk pada generasi
berikutnya. Pada implementasi program komputer, individu terbaik ini disimpan
pada variabel tersendiri untuk menghindari kemungkinan tereliminasi pada proses
seleksi. Setelah 1000 generasi diperoleh fitness terbaik adalah 37.0059 ketika
x 1=8.5141 dan x 2=0.4789.

BAB 3BAB III


PENUTUP

3.1 Kesimpulan
Berdasarkan penjelasan dalam makalah ini, dapat ditarik kesimpulan sebagai
berikut:
1. Algoritma genetika merupakan salah satu teknik pencarian heuristik.
2. Terdapat beberapa terminologi dalam algoritma genetika seperti gen,
kromosom/individu, fitness, pupulasi dan sebagainya.
3. Algoritma genetika secara umum terdiri dari tahap inisialisasi, reproduksi,
evaluasi, dan seleksi.
4. Teknik dalam melakukan reproduksi secara umum adalah one cut point
5. Teknik seleksi yang biasa digunakan adalah roulette wheel
6. Algoritma genetika tidak selalu menjamin solusi absolute namun
pendekatan.

14
3.2 Saran
Diperlukan penambahan contoh-contoh kasus yang lebih banyak dalam
implementasi algoritma genetika.

15
DAFTAR PUSTAKA

Divayana, Hendra D.G. (2020). Algoritma Genetika.


Mahmudy, Firdaus Wayan. 2013. “Algoritma Evolusi”. Program Teknologi
Informasi dan Ilmu Komputer (PTIIK) Universitas Brawijaya.

16

Anda mungkin juga menyukai