Anda di halaman 1dari 24

MAKALAH

ALGORITMA GENETIK

Di Susun Oleh:

Patima Sahra Maiseng_2004411406

Arini_2004411289

Rina Angraeni_2004411296

Hanisah Gatri_2004411827

Arfiana_2004411579

Sukarsi_1804411218

Wana Lewapadang_2004411677

UNIVERSITAS COKROAMINOTO PALOPO


FAKULTAS TEKNIK INFORMATIKA/TEKNIK KOMPUTER
2022/2023

1
KATA PENGATAR
Puji dan syukur senantiasa kita panjatkan kehadirat Allah SWT, shalawat serta
salamsemoga senantiasa dilimpahkan kepada Nabi Muhammad SAW, juga untuk para
keluarga,sahabat dan pengikutnya sampai akhir zaman. Karena atas rahmat-Nya, kami dapat
menyelesaikan makalah ini yang berjudul “Algoritma Genetika”.

Makalah ini disusun untuk memenuhi tugas mata kuliah “Kecerdasan Buatan”. Kami
mengucapkan terimakasih kepada Bapak Fajar Novriansyah Yasir, S.Kom., M.Kom. selaku
dosen pengampu, teman-teman dan semua pihak yang membantu dalam penyelesaian
makalah ini.

Kami berharap makalah ini dapat menambah pengetahuan pembaca dan memberikan
gambaran mengenai materi terkait yaitu Algoritma Genetika. Sehingga pembaca dapat
menggunakan makalah ini sebagai literatur pendukung dalam pengembangan bidang ilmu
selanjutnya yang terkait dengan penggunaan algoritma genetika.

Kami menyadari bahwa makalah ini masih jauh dari kesempurnaan, maka kami
mengharapkan saran dan kritik yang membangun untuk perbaikan makalah ini.Besar harapan
kami makalah ini dapat berguna bagi siapapun yang menjadikan makalah ini sebagai bahan
literatur mengenai materi terkait.

Palopo, 28 mei 2022

Penyusun

DAFTAR ISI

2
KATA PENGATAR....................................................................................................................................2
DAFTAR ISI...............................................................................................................................................3
BAB I..........................................................................................................................................................4
PENDAHULUAN.......................................................................................................................................4
A. Latar Belakang.................................................................................................................................4
B. Rumusan Masalah............................................................................................................................4
C. Tujuan Penulisan.............................................................................................................................5
BAB II.........................................................................................................................................................6
PEMBAHASAN.........................................................................................................................................6
A. Pengertian Algoritma Genetik.........................................................................................................6
B. Sejarah Algoritma Genetik..............................................................................................................6
C. Tahapan Proses Algoritma Genetik.................................................................................................7
G. Karakteristik Algoritma Genetik....................................................................................................11
H. Contoh Pemakaian Algoritma Genetika.........................................................................................11
BAB III......................................................................................................................................................22
PENUTUP.................................................................................................................................................22
A. Kesimpulan....................................................................................................................................22
B. Saran..............................................................................................................................................23
DAFTAR PUSTAKA................................................................................................................................23

BAB I

PENDAHULUAN
A. Latar Belakang
Algoritma genetika adalah salah satu metode metaheuristik yang digunakan untuk
menyelesaikan permasalahan optimasi. Algoritma genetika diciptakan pada tahun 1975

3
oleh John Holland yang mengemukakan komputasi berbasis evolusi dalam bukunya yang
berjudul “Adaption in Natural and Artificial Intelligence”. Tujuannya adalah untuk
membuat mesin dapat melakukan apa yang alam lakukan. Holland mengemukakan
sebuah algoritma yang memfokuskan diri pada manipulasi string dalam bentuk binary bit
yang diambil dari konsep abstrak dari evolusi alam. Tahapan algoritma genetika yang
dikemukakan dapat direpresentasikan sebagai tahapan berurutan sebagai bentuk populasi
dari kromosom buatan menjadi sebuah populasi baru (Negnevitsky, 2005).
Algoritma genetika merupakan suatu mekanisme yang dapat melakukan pencarian
dengan meniru sistem seleksi alam dan genetika alamiah. Pengaplikasian algoritma
genetika biasanya menggambarkan proses evolusi, dengan menghasilkan kromosom-
kromosom dari tiap populasi secara acak dan memungkinkan kromosom tersebut
berkembang biak sesuai dengan hukum evolusi yang diharapkan akan dapat
menghasilkan suatu individu yang lebih baik lagi. Setelah didapat suatu individu yang
baru diharapkan individu tersebut dapat menjadi solusi yang baik dari permasalahan yang
dibahas.

B. Rumusan Masalah
1. Apa pengertian algoritma genetik?
2. Bagaimana sejarah algoritma genetik?
3. Bagaimana tahapan proses algoritma genetik?
4. Apa kelebihan algoritma genetik?
5. Apa struktur umum algoritma genetik?
6. Komponen utama algoritma genetik?
7. Apa saja karakteristik algoritma genetik?

C. Tujuan Penulisan
Tujuan penulisan makalah ini adalah untuk menjelaskan tentang algoritma genetik
dari pengertian, sejarah, tahapan proses, kelebihan, struktur umum, komponen, serta apa
saja yang mejadi karakteristik algoritma genetik.

4
5
BAB II

PEMBAHASAN

A. Pengertian Algoritma Genetik


Algoritma Genetika adalah suatu algoritma pencarian yang bertujuan untuk
mencari solusi dari suatu masalah, baik dengan satu variable maupun multivariable.
Metode ini meniru mekanisme dari genetika alam yaitu untuk menemukan susunan-
susunan gen yang terbaik dalam tubuh makhluk hidup. Dasar Algoritma Genetika adalah
teori evolusi Darwin, yang menjelaskan prinsip dasar terciptanya banyak spesies makhluk
hidup yang ada di dunia sekarang ini. Makhluk hidup yang dapat beradaptasi dengan
lebih baik terhadap lingkungannya akan mempunyai kesempatan yang lebih besar untuk
bertahan hidup dan bereproduksi sehingga mempengaruhi jumlah populasi spesies yang
bersangkutan di waktu-waktu selanjutnya.

B. Sejarah Algoritma Genetik

Algoritma Genetika pertama kali ditemukan oleh John Holland pada tahun 1960-
an dan kemudian dikembangkan bersama murid-murid dan rekan kerjanya di Universitas
Michigan pada tahun 1970-an. Tujuan Holland mengembangkan Algoritma Genetika saat
itu bukan untuk mendesain suatu algoritma yang dapat memecahkan suatu masalah,
namun lebih mengarah ke study mengenai fenomena adaptasi yang terjadi di alam dan
mencoba menerapkan mekanisme adaptasi alam tersebut kedalam system computer.
Algoritma Genetika yang dibuat Holland merupakan sebuah metode untuk
memindahkan suatu populasi kromosom (terdiri dari bit-bit 1 dan 0 ) ke populasi baru
dengan menggunakan “ seleksi alam “ dan operator genetic seperti :
1. Crossover, menukar bagian kecil dari dua kromosom,
2. Mutasi, mengganti secara acak nilai gen beberapa lokasi pada kromosom,
3. Inversion, membalikkan urutan beberapa gen yang berurutan dalam kromosom.
Dasar teori inilah yang menjadi dasar kembanyakan program yang menggunakan
Algoritma Genetika.

6
C. Tahapan Proses Algoritma Genetik

Pada dasarnya, algoritma genetika dapat dilakukan melalui lima tahap  yaitu
sebagai berikut :
1. Membentuk Populasi Awal
Langkah pertama dalam algoritma genetika adalah membentuk sebuah populasi
untuk sejumlah gen. populasi itu sendiri merupakan sekumpulan solusi yang akan
digunakan dalam proses regenerasi selanjutnya untuk mencari solusi terbaik. Solusi-
solusi yang ada selanjutnya disebut sebagai individu.
2. Mencari Fitness Cost
Pada tahap ini setiap individu yang terbentuk dicari fitness cost-nya sebagai nilai
pembanding antara individu satu dengan yang lainnya.
3. Pengurutan (Sorting)
Pada tahap ini, individu yang terdapat pada populasi diurutkan berdasarkan fitness
costnya. Tujuan utamanya adalah untuk mencari individu terbaik pada populasi yang
ada, yang dapat dikatakan sebagai solusi sementara.
4. Proses Regenerasi
Proses ini terdapat dua metode yaitu :
 Elitism Method
Metode dimana individu-individu yang akan mengalmi proses
regenerasi, yaitu proses mutasi dan crossover adalah individu-individu dengan
nilai fitness yang rendah, sedangkan individu dengan nilai fitness tertinggi atau
gen terbaik akan dipertahankan untuk dibandingkan lagi dengan individu hasil
proses regenerasi.
 Non Elitms
Suatu metode regenerasi yang melibatkan semua individu baik individu /
gen terbaik maupun gen yang kurang baik (individu dengan nilai fitness
rendah).

7
5. Tahapan Pengulangan
Setelah proses regenerasi selesai, maka dilakukan pengulangan proses ini sampai
sejumlah generasi yang dikehendaki.

D. Kelebihan Algoritma Genetik


Beberapa hal yang termasuk kelebihan dari Algoritma Genetika adalah sebagai
berikut (Haupt dan Haupt, 2004) :
1. Mengoptimalkan dengan variabel kontinu atau diskrit,
2. Tidak memerlukan informasi derivatif,
3. Bersamaan pencarian dari sebuah sampling yang luas pada permukaan biaya,
4. Berkaitan dengan sejumlah besar variabel,
5. Baik untuk komputer paralel,
6. Mengoptimalkan permukaan variabel dengan biaya yang sangat kompleks (GA bisa
melompat dari minimum lokal),
7. Memberikan daftar variabel yang optimal, bukan hanya solusi tunggal,
8. Dapat menyandikan variabel sehingga optimasi dilakukan dengan mengkodekan
variabel, dan
9. Bekerja dengan data numerik yang dihasilkan, data eksperimen, atau analitis fungsi.

E. Struktur Umum Algoritma Genetik


Inisialisasi populasi awal dilakukan untuk menghasilkan solusi awal dari suatu
permasalahan algoritma genetika. Inisialisasi ini dilakukan secara acak sebanyak jumlah
kromosom/populasi yang diinginkan. Selanjutnya dihitung nilai fitness dan seterusnya
dilakukan seleksi dengan menggunakan metode roda roullete, tournament atau ranking.
Kemudian dilakukan perkawinan silang (crossover) dan mutasi. Setelah melalui beberapa
generasi maka algoritma ini akan berhenti sebanyak generasi yang diinginkan.
Struktur umum algoritma genetik dapat diilustrasikan dalam diagram alir berikut
ini:

8
F. Komponen Utama Algoritma Genetik
1. Teknik pengkodean
Teknik pengkodean disini meliputi pengkodean gen dari kromosom. Gen
merupakan bagian dari kromosom. Satu gen biasanya akan mewakili satu variabel.
Algoritma genetika merepresentasikan gen sebagai bilangan real atau desimal, disini
digunakan discrete decimal encoding, yaitu setiap gen berupa deretan bilangan bulat
dalam interval [0,9].
2. Prosedur Inisialisasi
Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis
operator genetika yang akan diimplementasikan. Setelah ukuran populasi ditentukan,
kemudian harus dilakukan inisialisasi terhadap kromosom yang terdapat pada

9
populasi tersebut. Inisialisasi kromosom dilakukan secara acak, namun demikian
harus tetap memperhatikan domain solusi dan kendala permasalahan yang ada.
3. Fungsi Evaluasi
Ada 2 hal yang harus dilakukan dalam melakukan evaluasi kromosom, yaitu:
evaluasi fungsi objektif (fungsi tujuan) dan konversi fungsi objektif dengan nilai
yang tidak negatif. Apabila ternyata fungsi objektif memiliki nilai negatif, maka
perlu ditambahkan suatu konstanta C agar nilai fitness yang terbentuk menjadi tidak
negatif. 
4. Seleksi
Seleksi ini bertujuan untuk memberikan kesempatan reproduksi yang lebih besar
bagi anggota populasi yang paling fit. Seleksi akan menentukan individu-individu
mana saja yang akan dipilih untuk dilakukan rekombinasi dan bagaimana offspring
terbentuk dari individu-individu terpilih tersebut.
5. Operator Genetika
Ada 2 operator Genetika, yaitu:
a. Operator rekombinasi, rekombinasi yang digunakan adalah rekobinasi one-point
crossover
b. Operator untuk mutasi mutasi yang digunakan adalah swapping mutation

6. Penetuan parameter
Parameter di sini adalah parameter kontrol algoritma genetika, yaitu: ukuran
populasi (popsize), peluang crossover (Pc), dan peluang A B C D E mutasi (Pm).
Nilai parameter ini ditentukan juga berdasarkan permasalahan yang akan dipecahkan.
Ada beberapa rekomendasi yang bisa digunakan, antara lain (Kusumadewi, 2003:
283): Untuk permasalahan yang memiliki kawasan solusi cukup besar, De Jong
merekomendasikan untuk nilai parameter kontrol: (Popsize;Pc;Pm) = (50; 0,6; 0,001)
Bila rata-rata fitness setiap generasi digunakan sebagai indikator, maka Grefensette
merekomendasikan: (Popsize;Pc;Pm) = (30; 0,95; 0,01) Bila fitness dari individu
terbaik dipantau pada setiap generasi maka usulannya adalah: (Popsize;Pc;Pm) =
(80; 0,45;0,01)

10
G. Karakteristik Algoritma Genetik
Goldberg (1989) mengemukakan bahwa algoritma genetika mempunyai karakteristik
- karakteristik yang perlu diketahui sehingga dapat terbedakan dari prosedur pencarian
atau optimasi yang lain yaitu:
1. AG bekerja dengan pengkodean dari himpunan solusi permasalahan berdasarkan
parameter yang telah ditetapkan dan bukan parameter itu sendiri. Sebagai contoh
untuk mendapatkan minimum dari fungsi  f(x)=y=x4+2x3+5, AG tidak secara
langsung mencari nilai x atau y, tetapi terlebih dahulu merepresentasikan x dalam
bentuk string biner.
2. AG melakukan pencarian pada sebuah populasi dari sejumlah individu-individu yang
merupakan solusi permasalahan bukan hanya dari sebuah individu.
3. AG merupakan informasi fungsi objektif (fitness), sebagai cara untuk mengevaluasi
individu yang mempunyai solusi terbaik, bukan turunan dari suatu fungsi.
4. AG menggunakan aturan-aturan transisi peluang, bukan aturan-aturan deterministik

H. Contoh Pemakaian Algoritma Genetika

Kita akan membahas sebuah contoh aplikasi algoritma genetika yang digunakan untuk

menyelesaikan masalah kombinasi. Misalkan ada persamaan :

“a + 2b + 3c + 4d = 30”

Kita mencari nilai a, b, c, dan d yang memenuhi persamaan diatas. Kita mencoba

menggunakan algoritma genetika untuk menyelesaikan permasalahan diatas. Flowchart


dari algoritma genetika untuk menyelesaikan permasalahan diatas dapat dilihat dibawah
ini.

11
12
Penjelasan mengenai langkah-langkah penyelesaian permasalahan dari flowchart diatas
menggunakan algoritma genetika adalah sebagai berikut :

1. Pembentukan Kromosom
Karena yang dicari adalah nilai a, b, c, d maka variabel a, b, c, d dijadikan
sebagai gen-gen pembentuk kromosom. Batasan nilai variabel a adalah bilangan integer
0 sampai 30. Sedangkan batasan nilai variabel b, c, dan d adalah bilangan integer 0
sampai 10.

2. Inisialisasi
Proses inisialisasi dilakukan dengan cara memberikan nilai awal gen-gen dengan
nilai acak sesuai batasan yang telah ditentukan. Misalkan kita tentukan jumlah populasi
adalah 6, maka :

• Kromosom[1] = [a;b;c;d] = [12;05;03;08]


• Kromosom[2] = [a;b;c;d] = [02;01;08;03]
• Kromosom[3] = [a;b;c;d] = [10;04;03;04]
• Kromosom[4] = [a;b;c;d] = [20;01;10;06]
• Kromosom[5] = [a;b;c;d] = [01;04;03;09]
• Kromosom[6] = [a;b;c;d] = [20;05;07;01]

3. Evaluasi Kromosom
Permasalahan yang ingin diselesaikan adalah nilai variabel a, b, c, dan d yang
memenuhi persamaan a + 2b + 3c + 4d = 30, maka fungsi_objektif yang dapat digunakan
untuk mendapatkan solusi adalah
“fungsi_objektif(kromosom) = | (a + 2b + 3c + 4d) – 30 |”

Kita hitung fungsi_objektif dari kromosom yang telah dibangkitkan :


i. fungsi_objektif(Kromosom[1]) = Abs(( 12 + 2*5 + 3*3 + 4*8 ) - 30)
= Abs((12 + 10 + 9 + 32 ) - 30)
= Abs(63 - 30)
= 33
ii. fungsi_objektif(Kromosom[2]) = Abs(( 2 + 2*1 + 3*8 + 4*3 ) - 30)
= Abs(( 2 + 2 + 24 + 12 ) - 30)

13
= Abs(40 - 30)
= 10

iii. fungsi_objektif(Kromosom[3]) = Abs(( 10 + 2*4 + 3*3 + 4*4 ) - 30)


= Abs(( 10 + 8 + 9 + 16 ) - 30)
= Abs(43 - 30)
= 13
iv. fungsi_objektif(Kromosom[4]) = Abs(( 20 + 2*1 + 3*10 + 4*6 ) - 30)
= Abs(( 20 + 2 + 30 + 24 ) - 30)
= Abs(76 - 30)
= 46
v. fungsi_objektif(Kromosom[5]) = Abs(( 1 + 2*4 + 3*3 + 4*9 ) - 30)
= Abs(( 1 + 8 + 9 + 36 ) - 30)
= Abs(54 - 30)
= 24
vi. fungsi_objektif(Kromosom[6]) = Abs(( 20 + 2*5 + 3*7 + 4*1 ) - 30)
= Abs(( 20 + 10 + 21 + 4) - 30)
= Abs(55 - 30)
= 25
Rata-rata dari fungsi objektif tersebut adalah = (33+10+13+46+24+25)/6
= 151 / 6
= 25.167

4. Seleksi Kromosom
Proses seleksi dilakukan dengan cara membuat kromosom yang mempunyai
fungsi objektif kecil mempunyai kemungkinan terpilih yang besar atau mempunyai nilai
probabilitas yang tinggi. Untuk itu dapat digunakan
“fungsi fitness = (1 / (1 + fungsi_objektif))”
Fungsi_objektif perlu ditambah 1 untuk menghindari kesalahan program yang
diakibatkan pembagian oleh 0.

i. fitness[1] = 1 / (fungsi_objektif[1]+1) = 1 / 34 = 0.0294


ii. fitness[2] = 1 / (fungsi_objektif[2]+1) = 1 / 11 = 0.0909

14
iii. fitness[3] = 1 / (fungsi_objektif[3]+1) = 1 / 14 = 0.0714
iv. fitness[4] = 1 / (fungsi_objektif[4]+1) = 1 / 47 = 0.0212
v. fitness[5] = 1 / (fungsi_objektif[5]+1) = 1 / 25 = 0.0400
vi. fitness[6] = 1 / (fungsi_objektif[6]+1) = 1 / 26 = 0.0385
total_fitness = 0.0294 + 0.0909 + 0.0714 + 0.0212 + 0.04
+ 0.0385 =0.2914

Rumus untuk mencari probabilitas : “P[i] = fitness[i] / total_fitness”

i. P[1] = 0.0294 / 0.2914 = 0.1009

ii. P[2] = 0. 0909 / 0.2914 = 0.3119

iii. P[3] = 0. 0714 / 0.2914 = 0.2450

iv. P[4] = 0. 0212 / 0.2914 = 0.0728

v. P[5] = 0.04 / 0.2914 = 0.1373

vi. P[6] = 0.0385 / 0.2914 = 0.1321

Dari probabilitas diatas dapat kita lihat kalau kromosom ke-2 yang mempunyai
fitness paling besar maka kromosom tersebut mempunyai probabilitas untuk terpilih
pada generasi selanjutnya lebih besar dari kromosom lainnya. Untuk proses seleksi kita
gunakan roulette wheel, untuk itu kita harus mencari dahulu nilai kumulatif
probabilitasnya :

i. C[1] = 0.1009

ii. C[2] = 0.1009 + 0.3119 = 0.4128

iii. C[3] = 0.1009 + 0.3119 + 0.2450 = 0.6578

iv. C[4] = 0.1009 + 0.3119 + 0.2450 + 0.0728 = 0.7306

v. C[5] = 0.1009 + 0.3119 + 0.2450 + 0.0728 + 0.1373 = 0.8679

vi. C[6] = 0.1009 + 0.3119 + 0.2450 + 0.0728 + 0.1373 + 0.1321 = 1

Setelah dihitung kumulatif probabilitasnya maka proses seleksi menggunakan


roulette-wheel dapat dilakukan. Prosesnya adalah dengan membangkitkan bilangan acak

15
R dalam range 0-1. Jika R[k] < C[1] maka pilih kromosom 1 sebagai induk, selain itu
pilih kromosom ke-k sebagai induk dengan syarat C[k-1] < R < C[k]. Kita putar roulete
wheel sebanyak jumlah populasi yaitu 6 kali (bangkitkan bilangan acak R) dan pada tiap
putaran, kita pilih satu kromosom untuk populasi baru. Misal :

i. R[1] = 0.201

ii. R[2] = 0.284

iii. R[3] = 0.009

iv. R[4] = 0.822

v. R[5] = 0.398

vi. R[6] = 0.501

Angka acak pertama R[1] adalah lebih besar dari C[1] dan lebih kecil daripada
C[2] maka pilih Kromosom[2] sebagai kromosom pada populasi baru, dari bilangan acak
yang telah dibangkitkan diatas maka populasi kromosom baru hasil proses seleksi adalah
:

i. Kromosom[1] = Kromosom[2]

ii. Kromosom[2] = Kromosom[2]

iii. Kromosom[3] = Kromosom[1]

iv. Kromosom[4] = Kromosom[5]

v. Kromosom[5] = Kromosom[2]

vi. Kromosom[6] = Kromosom[3]

Kromosom baru hasil proses seleksi :

i. Kromosom[1] = [02;01;08;03]

ii. Kromosom[2] = [02;01;08;03]

iii. Kromosom[3] = [12;05;03;08]

iv. Kromosom[4] = [01;04;03;09]


16
v. Kromosom[5] = [02;01;08;03]

vi. Kromosom[6] = [10;04;03;04]

5. Crossover
Setelah proses seleksi maka proses selanjutnya adalah proses crossover. Metode
yang digunakan salah satunya adalah one-cut point, yaitu memilih secara acak satu
posisi dalam kromosom induk kemudian saling menukar gen. Kromosom yang dijadikan
induk dipilih secara acak dan jumlah kromosom yang mengalami crossover dipengaruhi
oleh parameter crossover_rate (ρc). Pseudo-code untuk proses crossover adalah sebagai
berikut :
begin k← 0; while
(k<populasi) do
R[k] ← random(0-1);

if (R[k] < ρc ) then


select Chromosome[k] as parent;
end;
k = k + 1;
end;
end;
Misal kita tentukan crossover probability adalah sebesar 25%, maka diharapkan
dalam satu generasi ada 50% kromosom (3 kromosom) dari satu generasi mengalami
proses crossover. Prosesnya adalah sebagai berikut :

i. Pertama kita bangkitkan bilangan acak R sebanyak jumlah populasi

• R[1] = 0.191
• R[2] = 0.259
• R[3] = 0.760
• R[4] = 0.006
• R[5] = 0.159
• R[6] = 0.340

17
Maka kromosom ke-k akan dipilih sebagai induk jika R[k] < ρc, dari bilangan
acak R diatas maka yang dijadikan induk adalah Kromosom[1], Kromosom[4]
dan Kromosom[5].

ii. Setelah melakukan pemilihan induk proses selanjutnya adalah menentukan


posisi crossover. Ini dilakukan dengan cara membangkitkan bilangan acak
dengan batasan 1 sampai (panjang kromosom - 1), dalam kasus ini bilangan
acak yang dibangkitkan adalah 1 – 3. Misalkan didapatkan posisi crossover
adalah 1 maka kromosom induk akan dipotong mulai gen ke-1 kemudian
potongan gen tersebut saling ditukarkan antar induk.

• Kromosom[1] >< Kromosom[4]


• Kromosom[4] >< Kromosom[5]
• Kromosom[5] >< Kromosom[1]
iii. Posisi cut-point crossover dipilih menggunakan bilangan acak 1-3 sebanyak
jumlah crossover yang terjadi, misal :

• C[1] = 1
• C[2] = 1
• C[3] = 2
 offspring[1] = Kromosom[1] >< Kromosom[4]
= [02;01;08;03] >< [01;04;03;09]
= [02;04;03;09]

 offspring[4] = Kromosom[4] >< Kromosom[5]


= [01;04;03;09] >< [02;01;08;03]
= [01;01;08;03]
 offspring[5] = Kromosom[5] >< Kromosom[1]
= [02;01;08;03] >< [02;01;08;03]
= [02;01;08;03]
Dengan demikian populasi kromosom setelah mengalami proses crossover
menjadi :

• Kromosom[1] = [02;04;03;09]

18
• Kromosom[2] = [02;01;08;03]
• Kromosom[3] = [12;05;03;08]
• Kromosom[4] = [01;01;08;03]
• Kromosom[5] = [02;01;08;03]
• Kromosom[6] = [10;04;03;04]

6. Mutasi
Jumlah kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh
parameter mutation_rate. Proses mutasi dilakukan dengan cara mengganti satu gen yang
terpilih secara acak dengan suatu nilai baru yang didapat secara acak.
Prosesnya adalah sebagai berikut :

i. Pertama kita hitung dahulu panjang total gen yang ada dalam satu populasi.
Dalam kasus ini panjang total gen adalah :
total_gen= = (jumlah gen dalam kromosom) * jumlah populasi
=4*6
= 24

ii. Untuk memilih posisi gen yang mengalami mutasi dilakukan dengan cara
membangkitkan bilangan integer acak antara 1 sampai total_gen, yaitu 1 sampai
24. Jika bilangan acak yang kita bangkitkan lebih kecil daripada variabel
mutation_rate (ρm) maka pilih posisi tersebut sebagai sub-kromosom

yang mengalami mutasi. Misal ρm kita tentukan 10% maka diharapkan ada
10% dari total_gen yang mengalami populasi :
jumlah mutasi = 0.1 * 24
= 2.4 = 2

iii. Misalkan setelah kita bangkitkan bilangan acak terpilih posisi gen 12 dan 18
yang mengalami mutasi. Dengan demikian yang akan mengalami mutasi adalah
kromosom ke-3 gen nomor 4 dan kromosom ke-5 gen nomor 2. Maka nilai gen
pada posisi tersebut kita ganti dengan bilangan acak 0-30. Misalkan bilangan
acak yang terbangkitkan adalah 2 dan 5. Maka populasi kromosom setelah
mengalami proses mutasi adalah :  Kromosom[1] = [02;04;03;09]

19
• Kromosom[2] = [02;01;08;03]
• Kromosom[3] = [12;05;03;02]
• Kromosom[4] = [01;01;08;03]
• Kromosom[5] = [02;05;08;03]
• Kromosom[6] = [10;04;03;04]

Setelah proses mutasi maka kita telah menyelesaikan satu iterasi dalam algoritma
genetika atau disebut dengan satu generasi. Maka fungsi_objective setelah satu generasi
adalah :

i. Kromosom[1] = [02;04;03;09] fungsi_objektif[1] = Abs(( 2


+ 2*4 + 3*3 + 4*9 ) - 30)
= Abs(( 2 + 8 + 9 + 36 ) - 30)
= Abs( 55 - 30) =
25

ii. Kromosom[2] = [02;01;08;03] fungsi_objektif[2] = Abs(( 2


+ 2*1 + 3*8 + 4*3 ) - 30)
= Abs(( 2 + 2 + 24 + 12 ) - 30)
= Abs(40 - 30) =
10

iii. Kromosom[3] = [12;05;03;02] fungsi_objektif[3] =


Abs(( 12 + 2*5 + 3*3 + 4*2 ) - 30)

= Abs(( 12 + 10 + 9 + 8 ) - 30)
= Abs(39 - 30) = 9

iv. Kromosom[4] = [01;01;08;03] fungsi_objektif[4] = Abs(( 1


+ 2*1 + 3*8 + 4*3 ) - 30)
= Abs(( 1 + 2 + 24 + 12 ) - 30)
= Abs(39 - 30) = 9

v. Kromosom[5] = [02;05;08;03] fungsi_objektif[5] = Abs(( 2


+ 2*5 + 3*8 + 4*3 ) - 30)

20
= Abs(( 2 + 10 + 24 + 12 ) - 30)
= Abs(48 - 30) =
18

vi. Kromosom[6] = [10;04;03;04] fungsi_objektif[6] =


Abs(( 10 + 2*4 + 3*3 + 4*4 ) - 30)
= Abs(( 10 + 8 + 9 + 16 ) - 30)
= Abs(43 - 30)
= 13

Rata-rata fungsi objektif setelah satu generasi adalah : rata-rata =

( 25 + 10 + 9 + 9 + 18 + 13) / 6 = 84 / 6 = 14.0

Dapat dilihat dari hasil perhitungan fungsi objektif diatas bahwa setelah satu
generasi, nilai hasil rata-rata fungsi_objektif lebih menurun dibandingkan hasil
fungsi_objektif pada saat sebelum mengalami seleksi, crossover dan mutasi. Hal ini
menunjukkan bahwa kromosom atau solusi yang dihasilkan setelah satu generasi lebih
baik dibandingkan generasi sebelumnya. Maka pada generasi selanjutnya
kromosomkromosom yang baru adalah:

• Kromosom[1] = [02;04;03;09]
• Kromosom[2] = [02;01;08;03]
• Kromosom[3] = [12;05;03;02]
• Kromosom[4] = [01;01;08;03]
• Kromosom[5] = [02;05;08;03]
• Kromosom[6] = [10;04;03;04]
Kromosom-kromosom ini akan mengalami proses yang sama seperti generasi
sebelumnya yaitu proses evaluasi, seleksi, crossover dan mutasi yang kemudian akan
menghasilkan kromosom-kromosom baru untuk generasi yang selanjutnya. Proses ini
akan berulang sampai sejumlah generasi yang telah ditetapkan sebelumnya. Siklus ini
menurut beberapa ilmuwan Zbigniew Michalewiz digambarkan sebagai berikut :

21
Setelah 50 generasi didapatkan kromosom yang terbaik adalah :

1. Kromosom = [07;05;03;01]

Jika didekode maka :

2. A = 7 ; b = 5 ; c = 3 ; d = 1
Jika dihitung terhadap persamaan :

3. F = a + 2b + 3c + 4d
= 7 + (2*5) + (3*3) + (4*1) =
30.

22
BAB III

PENUTUP

A. Kesimpulan
Algoritma genetik adalah teknik pencarian yang di dalam ilmu komputer untuk
menemukan penyelesaian perkiraan untuk optimisasi dan masalah pencarian. Algoritma
genetik adalah kelas khusus dari algoritma evolusioner dengan menggunakan teknik yang
terinspirasi oleh biologi evolusioner seperti warisan, mutasi, seleksi alam dan
rekombinasi (atau crossover). Algoritma Genetik pertama kali dikembangkan oleh John
Holland pada tahun 1970-an di New York, Amerika Serikat.
Pencarian solusi mendekati optimal dilakukan dengan melakukan beberapa kali
proses iterasi, yaitu evaluasi, seleksi, crossover dan mutasi secara berulang sampai
didapatkan solusi yang optimal.

B. Saran
Penyusun menyarankan untuk mengembangkan makalah selanjutnya dan juga
diberikan contohya agar dapat mempermudah simulasi, menganalisis dan dan
membandingkan semua algoritma aptimasi, bukan hanya Algoritma Genetik.

23
DAFTAR PUSTAKA

https://www.academia.edu/19263821/
MAKALAH_Kecerdasan_Buatan_Algoritma_Genetika
http://hendrik.staff.gunadarma.ac.id/Downloads/files/23066/algoritma-genetika.pdf

http://dhansipp.files.wordpress.com/2009/11/kecerdasan-buatan-chapter-11-12-

http://lecturer.eepisits.edu/~entin/Kecerdasan%20Buatan/Buku/Bab%207%20Algoritma
%20Genetika.pdf,

24

Anda mungkin juga menyukai