Anda di halaman 1dari 18

Handout M at a Kuliah Artifi cial Intelligence

BAB IV

ALGORITMA GENETIK (AG)

Tujuan : Setelah mempelajari Bab ini Mahasiswa d iharapkan dapat memahami

1. a. Apakah Algortima Genetik?

b. Bagaimana sejarah Algortima Genetik?

c. Apakah kelebihan Algortima Genetik?

2. a. Apa sajakah dasar Algortima Genetik?

b. Apakah pengertian populasi Algortima Genetik?

c. Apakah pengertian individu Algortima Genetik?

d. Apakah pengertian nilai fitness Algortima Genetik?

3.a. Bagaimanakah operasional Algortima Genetik?

b. Apakah populasi awal Algortima Genetik?

c. Apakah evaluasi fitness Algortima Genetik?

d. Apakah seleksi individu Algortima Genetik?

e. Apakah Pindah silang Algortima Genetik?

f. Apakah Mutasi Gen Algortima Genetik?

Materi : Bab ini berisi pengertian AG, dasar-dasar AG dan operasional AG. Bagian

penutupan bab ini diisi dengan contoh dan latihan-latihan soal.

Hal. 1
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

Struktur Bab

4.1 Pendahuluan
4.1.1 Pengertian AG
4.1.2 Sejarah AG
4.1.3 kelebihan AG

4.2 Dasar AG
4.2.1 Pengertian populasi AG
4.2.2 Pengertian individu AG
4.2.3 Pengertian nilai fitness AG

4.3 Operasioanl AG
4.3.1 Populasi awal AG
4.3.2 Evaluasi fitness AG
4.3.3 Seleksi individu AG
4.3.4 Pindah silang AG
4.3.4 Mutasi gen AG

4.4 Contoh dan Latihan

Hal. 2
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

4.1 Pendahuluan

4.1.1 Pengertian AG

Algoritma genetik adalah algoritma yang d ikembangkan dari proses pencarian

solusi optimasi menggunakan pencarian acak, ini terlihat pada proses pembangkitan

populasi awal yang menyatakan sekumpulan solusi yang d ipilih secara acak.

Algoritma ini memanfaatkan proses seleksi alamiah yang dikenal dengan proses

evolusi.

Dalam proses evo lusi, individu secara terus-menerus mengalami perubahan gen

untuk menyesuaikan dengan lingkungan hidupnya. Hanya ind ividu yang kuat yang

mampu bertahan, sehingga dalam proses evolusi dapat diharapkan diperoleh

individu yang terbaik. Proses seleksi alamiah ini melib atkan perubahan gen yang

terjad i pada individu melalui proses perkembang-biakanuntuk mendapatkan

keturunan yang lebih baik.

Algoritma genetik pada dasarnya adalah program komputer yang mensimulasikan

proses evolusi. Dalam hal ini populasi dari kromosom dihasilkan secara random

dan memungkinkan untuk berkembang b iak sesuai dengan hukum-hukum evolusi

dengan harapan akan menghasilkan individu kromosom yang prima. Kromosom ini

pada kenyataannya adalah kandidat penyelesaian dari masalah, sehingga bila

kromosom yang baik berkembang, solusi yang baik terhadap masalah d iharapkan

akan dihasilkan.

Algoritma genetik ini banyak dipakai pada ap likasi bisnis, teknik maupun pada

bidang keilmuan. Algoritma ini dapat dipakai untuk mendapatkan solusi yang tepat

untuk masalah optimal dari satu variabel atau multi variabel.

Hal. 3
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

4.1.2 Sejarah AG

Algoritma Genetik merupakan metode pencarian yang d isesuaikan dengan proses


genetika dari organisme-organisme b iologi yang berdasar pada teori evolusi Charles
Drawin. Landasan teoritis untuk Algoritma genetik ini diajukan oleh John Holland
yang dalam bukunya yang berjudul "Adaption in Natural and Artific ial Systems"
pada tahun 1975, yang kemudian dikembangkan lebih lanjut oleh muridnya David
Goldberg. Algoritma genetik terinspirasi dari mekanisme seleksi alam, d imana
individu yang leb ih kuat kemungkinan akan menjadi pemenang dalam lingkungan
yang kompetitif dan solusi yang optimal dapat diperoleh dan diwakilkan oleh
pemenang akhir dari permainan genetika. Di dalam algoritma genetik tersedia
solusi yang d iterapkan pada sebuah populasi individu-ind ividu yang masing-masing
mewakili so lusi yang mungkin. Setiap solusi yang mungkin disebut dengan
“kromosom”. Yang ditunjukkan dengan sekumpulan simbol dalam bentuk string
dengan panjang tertentu dan biasanya dari alfabet biner (0,1). Penggambaran
sebuah string kromosom bit biner ditunjukkan sebagai berikut:

| 1 1 0 1 1 0 | string kromosom

gen

Gambar 4.1 Penggambaran String Kromosom

Selama evaluasi genetik, kromosom yang lebih sehat memiliki kecendrungan

menghasilkan off spring (keturunan) yang sehat pula. Dalam praktek penerapan

algoritma genetik kromosom dari populasi yang tersedia secara acak. Siklus

oprasional genetik akan berhasil apabila kromosom yang disebut “parents (orang

tua)” dip ilih melalui rutinitas penyeleksian yang spesifik. Gen dari parents

digabung untuk menghasilkan off spring yang merupakan generasi baru dari proses

evaluasi ini (manipulasi terhadap gen) diharapkan kromosom yang leb ih baik akan

Hal. 4
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

menghasilkan jumlah off spring yang lebih banyak dan mungkin berhasil bertahan

pada generasi berikutnya.

4.1.3 Kelebihan AG

Algoritma genetik sangat tepat digunakan untuk penyelesaian masalah optimasi

yang kompleks dan sukar diselesaikan dengan menggunakan metode yang

konvensional.

4.2 Dasar AG

4.2.1 Pengertian Populasi AG

Populasi adalah kumpulan kromosom (chromosome). Kromosom ini dibentuk dari

komponen-komponen penyusun yang d isebut sebagai gen dan nilainya dapat berupa

bilangan numerik, biner, simbol ataupun karakter tergantung dari permasalahan

yang ingin diselesaikan. Contoh susunan dari populasi digambarkan pada Gambar

4.1. Penggambaran tentang populasi dapat dilihat pada gambar berikut ini.

Hal. 5
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

Populasi

Gen Kromosom

Individu

Gen Kromosom

Gen Kromosom

Gambar 4.2. Susunan dari populasi

4.2.2 Pengertian individu AG

Individu merupakan kumpulan gen dalam sistem algoritma genetik bisa dikatakan

sama dengan kromosom. Gen ini bisa biner, flo at, dan kombinatorial. Individu

dalam algoritma genetik dapat juga menyatakan salah satu kemungkinan solusi

yang dicari. Misalkan dalam travel salesman problem individu dapat menyatakan

suatu jalur terpendek yang akan ditempuh.

Hal. 6
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

3 6

1
5

2
4
7

Individu: 1 2 3 6 7 5 4

Gambar 4.3. Susunan dari individu

4.2.3 Pengertian nilai fitness AG

Sebelum algoritma ini d ijalankan, masalah apa yang ingin d ioptimalkan itu harus

dinyatakan dalam fungsi tujuan, yang dikenal dengan fungsi fitness. Jika nilai

fitness semakin besar, maka sistem yang dihasilkan semakin baik. Walaupun pada

awalnya semua nilai fitness kemungkinan sangat kec il (karena algoritma ini

menghasilkannya secara random), sebagian akan lebih tinggi dari yang lain.

Kromosom dengan nilai fitness yang tinggi ini akan memberikan probabilitas yang

tinggi untuk bereproduksi pada generasi selanjutnya. Sehingga untuk setiap

generasi pada proses evolusi, fungsi fitness yang mensimulasikan seleksi alam,

akan menekan populasi kearah fitness yang meningkat.

4.3 Operasional AG

Sebagaimana halnya proses evolusi di alam, suatu algoritma genetik yang

sederhana umumnya terdiri dari tiga operator yaitu: operator reproduksi, operator

crossover (persilangan) dan operator mutasi.

Hal. 7
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

Struktur umum dari suatu sistem algoritma genetik dapat diselesaikan dengan langkah-

langkah sebagai berikut:

1. Membangkitkan populasi awal, Populasi awal ini dibangkitkan secara random

sehingga didapatkan solusi awal. Populasi itu sendiri terdiri dari sejumlah

kromosom yang merepresentasikan solusi yang diinginkan.

2. Membentuk generasi baru, Dalam membentuk digunakan tiga operator yang

telah d isebut di atas yaitu operator reproduksi/seleksi, perkawinan silang dan

mutasi. Proses ini dilakukan berulang-ulang sehingga didapatkan jumlah

kromosom yang cukup untuk membentuk generasi baru dimana generasi baru

ini merupakan representasi dari solusi baru.

3. Evaluasi solusi, Proses ini akan mengevaluasi setiap populasi dengan

menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai

terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan

dibentuk lagi generasi baru dengan mengulangi langkah 2. Beberapa kriteria

berhenti yang sering d igunakan antara lain:

 Berhenti pada generasi tertentu.

 Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai

fitness tertinggi tid ak berubah.

Berhenti b ila dalam n generasi berikut tidak didapatkan nilai fitness yang lebih

tinggi.

Hal. 8
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

Blok diagram algoritma genetik Atau dapat dilihat pada gambar di bawah ini.

Popul
asi Eva l
uasi Sel eksi
Awal Fitness Individu

Rep r
oduksi:
Cross-Over
Da nM utasi

Popul
asi
Ba r
u

Gambar 4.4. Blok diagram operasional AG

4.3.1 Populasi Awal AG

Membangkitkan populasi awal adalah proses membangkitkan sejumlah ind ividu secara

acak atau melalui prosedur tertentu.

1 2 4 3 6 5 7
5 7 4 6 2 3 1
7 2 6 4 5 1 3
4 6 5 7 3 2 1

4.3.2 Evaluasi Fitness AG

Fungsi evaluasi merupakan dasar untuk proses seleksi.

Langkah-langkah dalam evaluasi fitness yaitu:

1. string dikonversi ke parameter fungsi.

2. fungsi objective-nya dievaluasi

Hal. 9
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

3. kemud ian mengkonvert fungsi objektif tersebut ke dalam fitness. Dimana untuk

maksimasi problem, fungsi fitness dapat disamakan dengan fungsi objective-

nya (Gen dan Cheng, 1997).

4. Output dari fungsi fitness dipergunakan sebagai dasar untuk menseleksi

individu pada generasi berikutnya. Sedangakan Invers dari makespan dapat

digunakan untuk menentukan fitness pada tiap kromosom.

4.3.3 Seleksi Individu AG

Penyeleksian ind ividu dilakukan untuk mendapatkan calon induk yang baik. Induk

yang baik akan menghasilkan keturunan yang baik.Semakin tinggi nilai fitness

suatu ind ividu semakin besar kemungkinannya untuk terpilih.Seleksi dapat

dilakukan diantaranya dengan menggunakan mesin roullete.

4.3.4 Perkawinan Silang AG

Perkawinan Silang (Cross Over) merupakan salah satu operator dalam Algoritma

Genetik yang melib atkan dua induk untuk menghasilkan keturunan yang baru.

Perkawinan silang d ilakukan dengan melakukan pertukaran gen dari dua induk

secara acak.

Macam-macam proses perkawinan silang yang banyak digunakan antara lain:

• pertukaran gen secara langsung

• pertukaran gen secara aritmatika.

Hal. 10
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

Pertukaran secara langsung

1 1 0 0 1 1 1 1 1 0 1 0 1 1
P=
1 1 0 1 0 1 1 0.70 1 1 0 0 1 1 1

1 1 0 1 1 0 0 1 1 0 1 1 0 0
P=
0 1 1 0 0 0 1 0.95 0 1 1 0 0 0 1

1 1 0 0 0 0 0 1 0 1 0 1 0 0
P=
1 0 1 0 1 0 1 0.35 1 1 0 0 0 0 1

1 0 1 1 1 1 1 1 0 1 0 0 1 1
P=
1 1 1 0 0 0 1 0.65 1 1 1 1 1 0 1

Ditentuk
anpr
oba
bil
itasCr
oss-Over= 0.9
Pertukaran Secara Aritmatika

1.2 0.2 1.5 1.2 0.2


r=
0.4
2.0 1.0 1.0 0.2 2.5

1.2 0.7 1.2 1.2 0.2

2.0 0.5 1.3 0.2 2.5


(0.4)(0.2)+(0.6)(1.0)=0.68
(0.4)(1.0)+(0.6)(0.2)=0.52
(0.4)(1.5)+(0.6)(1.0)=1.2
(0.4)(1.0)+(0.6)(1.5)=1.3

Hal. 11
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

4.3.5 Mutasi Gen AG

Mutasi Gen merupakan operator yang menukar nilai gen dengan nilai inversinya,

misal gennya bernilai 0 menjadi 1. Setiap ind ividu mengalami mutasi gen dengan

probabilitas mutasi yang ditentukan. Contoh dari proses mutasi gen adalah sebagai

berikut.

1 0 0 1 1 r= 1 1 0 1 1
2

1. 0. 1. 1. 0.
2 2 5 2 2
R= 2
=
0.1
1. 0. 1. 1. 0.
2 3 5 2 2

Hal. 12
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

4.4 Contoh dan Latihan

4.4.1 Contoh Soal

-2x
Algoritma Genetik Untuk Mencari Nilai Maksimal Fungsi F(x)=e .sin(3x)

Jawab:

Individu dinyatakan dalam nilai x sebagai individu, dapat berupa nilai biner atau nilai
float. Fungsi di atas bila digambarkan akan menjadi:

Dari gambar tersebut terlihat bahwa penyelesaian berada pada nilai 0<x<1. Jad i dengan
menggunakan 8 b it biner didefinisikan :

00000000 berarti 0
11111111 berarti 1

Individu dinyatakan dalam 8 gen biner, dengan batas 0 sampai dengan 1, berarti 1 bit
setara dengan 2-8.

Contoh:
10001001 = (128+8+1)/256 = 0.5352
00110100 = (4+16+32)/256 = 0.2031
Hal. 13
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

01010010 = (2+16+64)/256 = 0.3203


Fungsi fitness adalah fungsi f(x), karena yang dicari adalah nilai maksimum.
Membangkitkan sejumlah individu, misalkan satu populasi terdiri dari 10 individu,
maka d ibangkitkan 10 individu dengan 8 gen biner yang dibangkitkan secara acak.

Individu F
itness
10010000 -- 0.56250 -- 0.32244
01001110 -- 0.30469 -- 0.43060 Individumak
simum
01100110 -- 0.39844 -- 0.41933
10111101 -- 0.73828 -- 0.18266
11101000 -- 0.90625 -- 0.06699
11110010 -- 0.94531 -- 0.04543
00110011 -- 0.19922 -- 0.37778
11111100 -- 0.98438 -- 0.02616
10000111 -- 0.52734 -- 0.34828
10001011 -- 0.54297 -- 0.33702

Seleksi adalah proses pemilihan calon induk, dalam proses seleksi ini terdapat beberapa
metode yang bisa d igunakan antara lain: Mesin Roulette (Roulette Wheel), Competition
dan Tournament. Dalam contoh ini digunakan Mesin Roullete yang memang metode
paling dasar dan model acaknya uniform. Seleksi dilakukan dengan menggunakan
prosentasi fitness setiap individu, dimana setiap individu mendapatkan luas bagian
sesuai dengan prosentase nilai fitnessnya.

Hal. 14
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

Cross-Over (Perkawinan Silang) merupakan proses mengkombinasikan dua individu


untuk memperoleh ind ividu-ind ividu baru yang diharapkan mempunyai fitness lebih
baik. Tidak semua pasangan induk mengalami proses cross-over, banyaknya pasangan
induk yang mengalami cross-over ditentukan dengan nilai probabilitas cross-over.

F
itne
ss
0 0 1 1 1 0 0 1 -- 0.22266  induk 1
0.3968
1 0 0 1 1 0 1 0 -- 0.60156  induk 2
0.2921

0 0 1 1 1 0 1 1 -- 0.23050  anak 1 0.4022


1 0 0 1 1 0 0 0 -- 0.59382  anak 2 0.2982

Mutasi gen adalah proses penggantian gen dengan nilai inversinya, gen 0 menjadi 1 dan
gen 1 menjad i 0. Proses ini dilakukan secara acak pada posisi gen tertentu pada
individu-individu yang terpilih untuk dimutasikan. Banyaknya individu yang
mengalami mutasi d itentukan oleh besarnya probabilitas mutasi.

F
itness
0 0 1 1 1 0 0 1 -- 0.22266  induk 0.3968

0 0 1 1 1 1 0 1 -- 0.22266  induk 0.4070

Dan hasilnya adalah:


Hal. 15
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

Generasi ke 1 : Generasi ke 2 :
10100111 -- 0.65234 -- 0.25127 10000000 -- 0.50000 -- 0.36696
01000110 -- 0.27344 -- 0.42328 10001010 -- 0.53906 -- 0.33987
01001110 -- 0.04297 -- 0.43060 01001110 -- 0.04297 -- 0.43060
01110110 -- 0.46094 -- 0.39076 10010111 -- 0.58984 -- 0.30132
10111001 -- 0.72266 -- 0.19488 10000011 -- 0.51172 -- 0.35913
10001111 -- 0.55859 -- 0.32540 10000011 -- 0.51172 -- 0.35913
10001000 -- 0.53125 -- 0.34550 01001110 -- 0.30469 -- 0.43060
10010011 -- 0.57422 -- 0.31348 10001000 -- 0.53125 -- 0.34550
00111011 -- 0.23047 -- 0.40214 10111101 -- 0.73828 -- 0.18266
10000011 -- 0.51172 -- 0.35913 01000010 -- 0.25781 -- 0.41715

....

Generasi ke 4 :
00001110 -- 0.05469 -- 0.14641
11001000 -- 0.78125 -- 0.15005
01001110 -- 0.30469 -- 0.43060
10000011 -- 0.51172 -- 0.35913
01001110 -- 0.30469 -- 0.43060
01001110 -- 0.30469 -- 0.43060
01000011 -- 0.26172 -- 0.41885
10001110 -- 0.55469 -- 0.32833
00001110 -- 0.05469 -- 0.14641
01001110 -- 0.78906 -- 0.43060

Jadi nilai maximal akan d ipero leh pada 0.43060.

Hal. 16
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

4.4.2 Latihan

1. a. Apakah AG?

Jawab :

Algoritma Genetik adalah algoritma yang dikembangkan dari proses pencarian

solusi optimasi menggunakan pencarian acak

b. Bagaimana sejarah AG?

Jawab :

Algoritma genetik ini diajukan oleh John Holland yang dalam bukunya yang

berjudul "Adaption in Natural and Artificial Systems" pada tahun 1975, yang

kemud ian dikembangkan leb ih lanjut oleh muridnya David Goldberg.

c. Apakah keleb ihan AG?

Jawab :

Kemampuan optimasi tanpa memerlukan persamaan obyek

2. a. Apa sajakah dasar AG?

Jawab :

Dasar AG:

- Populasi

- Individu

- Fitness

b. Apakah pengertian populasi AG?

Jawab :

Populasi didefinisikan kumpulan kromosom (chromosome). Kromosom ini

dibentuk dari komponen-komponen penyusun yang disebut sebagai gen dan

nilainya dapat berupa b ilangan numerik, biner, simbol ataupun karakter

tergantung dari permasalahan yang ingin diselesaikan

Hal. 17
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang
Handout M at a Kuliah Artifi cial Intelligence

c. Apakah pengertian ind ividu AG?

Jawab :

Individu merupakan kumpulan gen dalam sistem algoritma genetik bisa

dikatakan sama dengan kromosom. Gen ini b isa biner, flo at, dan kombinatorial

d. Apakah pengertian nilai fitness AG?

Jawab :

Optimalisasi masalah yang dinyatakan dalam fungsi tujuan.

3. Bagaimanakah operasional AG?

a. Apakah populasi awal AG?

Jawab :

populasi awal adalah proses membangkitkan sejumlah ind ividu secara acak atau

melalui prosedur tertentu

b. Apakah seleksi ind ividu AG?

Jawab :

Penyeleksian ind ividu dilakukan untuk mendapatkan calon induk yang baik

c. Apakah Pindah silang AG?

Jawab :

Pindah Silang (Cross Over) merupakan salah satu operator dalam Algoritma

Genetik yang melib atkan dua induk untuk menghasilkan keturunan yang baru

d. Apakah Mutasi Gen AG?

Jawab :

Mutasi Gen merupakan operator yang menukar nilai gen dengan nilai inversinya,

misal gennya bernilai 0 menjadi 1.

Hal. 18
Teknik Elektro Fakultas Teknik Universitas Widyagama Malang

Anda mungkin juga menyukai