Professional Documents
Culture Documents
Oleh :
Bismillahirrahmanirrahiim.
Puji dan syukur senantiasa kita panjatkan kehadirat Allah SWT, shalawat serta salam
semoga senantiasa dilimpahkan kepada Nabi Muhammad SAW, juga untuk para keluarga,
sahabat dan pengikutnya sampai akhir zaman. Karena atas rahmat-Nya, penyusun dapat
menyelesaikan penyusunan makalah ini yang berjudul “Algoritma Genetika”.
Makalah ini disusun untuk memenuhi tugas mata kuliah “Kecerdasan Buatan”.
Penyusun mengucapkan terimakasih kepada Bapak Victor Amrizal, MKom. selaku dosen
pengampu, teman-teman dan semua pihak yang membantu dalam penyelesaian karya tulis ini.
Penyusun menyadari bahwa makalah ini masih jauh dari kesempurnaan, maka
penyusun mengharapkan saran dan kritik yang membangun untuk perbaikan makalah ini. Besar
harapan penyusun agar penulisan makalah ini dapat berguna bagi siapapun yang menjadikan
makalah ini sebagai bahan literatur mengenai materi terkait.
Penyusun
1
DAFTAR ISI
BAB I PENDAHULUAN........................................................................................................... 4
III.4.3 Elitisme.................................................................................................................. 15
III.5 Hal-Hal Yang Harus Diperhatikan Dalam Pemakaian Algoritma Genetika ................ 15
2
III.6.3 Evaluasi Kromosom .............................................................................................. 17
IV.2 Saran.............................................................................................................................. 26
3
BAB I PENDAHULUAN
Seperti proses evolusi yang mutlak terjadi sebagai bentuk representasi kehidupan yang
mengharuskan siapapun menjadi lebih kebal secara genetika sehingga dapat melewatkan
proses seleksi alam yang terjadi. Dimana yang lebih kuatlah yang mampu bertahan, sehingga
yang kuat itulah yang merupakan suatu kualitas solusi optimal dari sebuah masalah.
Terinspirasi dari kehidupan dan seleksi alam yang terjadi di dalamnya, algoritma genetika
kemudian dikembangkan sebagai bentuk algoritma khusus yang digunakan dalam mencari
solusi optimal terhadap masalah yang diangkat dengan teknis yang disesuaikan dengan proses
evolusi. [1]
4
BAB II
LANDASAN TEORI
Algoritma genetika sudah banyak digunakan pada masalah praktis yang berfokus pada
pencarian parameter-parameter atau solusi yang optimal. Hal ini membuat banyak orang
mengira bahwa algoritma genetika hanya dapat digunakan untuk menyelesaikan masalah
optimasi saja. Namun, pada kenyataanya algoritma genetika juga memiliki kemampuan untuk
menyelesaikan masalah-masalah selain optimasi. Algoritma genetika banyak diaplikasikan
untuk berbagai macam permasalahan, yaitu :
1. Optimasi
5
Beberapa penggunaan algoritma genetika untuk optimasi antara lain untuk optimasi
numerik dan optimasi kombinatorial seperti Traveling Salesmen Problem (TSP),
Perancangan Integrated Circuit atau IC, Job Scheduling, dan Optimasi video dan suara.
2. Pemrograman Otomatis
Algoritma genetika untuk pemrograman otomatis antara lain untuk melakukan proses
evolusi terhadap program komputer dalam merancang struktur komputasional, seperti
cellular automata dan sorting networks.
3. Machine Learning
Algoritma genetika juga telah berhasil diaplikasikan untuk memprediksi struktur
protein. Algoritma genetika juga berhasil diaplikasikan dalam perancangan neural
networks (jaringan syaraf tiruan) untuk melakukan proses evolusi terhadap aturanaturan
pada learning classifier system atau symbolic production system dan dapat digunakan
untuk mengontrol robot.
4. Model Ekonomi
Dalam bidang ekonomi, algoritma genetika digunakan untuk memodelkan prosesproses
inovasi dan pembangunan bidding strategies.
5. Model Sistem Imunisasi
Contoh penggunaan algoritma genetika dalam bidang ini untuk memodelkan berbagai
aspek pada sistem imunisasi alamiah, termasuk somatic mutation selama kehidupan
individu dan menemukan keluarga dengan gen ganda (multi gen families) sepanjang
waktu evolusi.
6. Model Ekologis
Algoritma genetika juga dapat digunakan untuk memodelkan fenomena ekologis
seperti host-parasite co evolutions, simbiosis dan aliran sumber di dalam ekologi.
6
• Tidak tersedianya analisis matematika yang memadai,
• Ketika metode-metode konvensional sudah tidak mampu menyelesaikan masalah
yang dihadapi,
• Solusi yang diharapkan tidak harus paling optimal, tetapi cukup “bagus” atau bisa
diterima,
• Terdapat batasan waktu, misalnya dalam real time system atau sistem waktu nyata.
7
BAB III
PEMBAHASAN
8
III.2 Struktur Umum Algoritma Genetika
• Populasi, istilah pada teknik pencarian yang dilakukan sekaligus atas sejumlah
kemungkinan solusi.
• Kromosom, individu yang terdapat dalam satu populasi dan merupakan suatu solusi
yang masih berbentuk simbol.
• Generasi, populasi awal dibangun secara acak sedangkan populasi selanjutnya
merupakan hasil evolusi kromosom-kromosom melalui iterasi.
• Fungsi Fitness, alat ukur yang digunakan untuk proses evaluasi kromosom. Nilai fitness
dari suatu kromosom akan menunjukkan kualitas kromosom dalam populasi tersebut.
• Generasi berikutnya dikenal dengan anak (offspring) yang terbentuk dari gabungan dua
kromosom generasi sekarang yang bertindak sebagai induk (parent) dengan
menggunakan operator penyilang (crossover).
• Mutasi, operator untuk memodifikasi kromosom.
1. Teknik Penyandian
Teknik penyandian meliputi penyandian gen dari kromosom. Gen merupakan bagian
dari kromosom, satu gen biasanya mewakili satu variable. Gen dapat direpresentasikan
dalam bentuk : string bit, pohon, array bilangan real, daftar aturan, elemen permutasi,
elemen program dan lain-lain.
2. Prosedur Inisialisasi
Ukuran populasi tergantung pada permasalahan yang akan dipecahkan dan jenis
operator genetika yang akan diimplementasikan. Setelah ukuran populasi telah
ditentukan, kemudian harus dilakukan inisialisasi terhadap kromosom yang terdapat
pada populasi tersebut. Inisialisasi kromosom dapat dilakukan secara acak, namun
demikian harus tetap memperhatikan domain solusi dan kendala permasalahan yang
ada.
3. Fungsi Evaluasi
9
Ada dua hal yang harus dilakukan dalam melakukan evaluasi kromosom yaitu : evaluasi
fungsi objektif dan konversi fungsi objektif kedalam fungsi fitness
4. Seleksi
Memiliki tujuan 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. Langkah pertama yaitu pencarian nilai fitness.
Langkah kedua adalah nilai fitness yang diperolah digunakan pada tahaptahap seleksi
selanjutnya.
Ada beberapa definisi yang bisa digunakan untuk melakukan perbandingan terhadap
beberapa metode yang akan digunakan, antara lain :
• Selective Pressure : probabilitas dari individu terbaik yang akan diseleksi
dibandingkan dengan rata-rata probabilitas dari semua individu yang diseleksi.
• Bias : perbedaan absolut antara fitness ternormalisasi dari suatu individu dan
probabilitas reproduksi yang diharapkan.
• Spread : range nilai kemungkinan untuk sejumlah offspring dari suatu individu.
• Loss of diversity: proposi dari individu-individu dalam suatu populasi yang
tidak terseleksi selama fase seleksi.
• Selection intensity : nilai fitness rata-rata yang diharapkan dalam suatu populasi
setelah dilakukan seleksi (menggunakan distribusi Gauss ternormalisasi).
• Selection variance : variansi yang diharapkan dari distribusi fitness dalam
populasi setelah dilakukan seleksi (menggunakan distribusi Gauss
ternormalisasi).
Ada beberapa metode seleksi dari induk, yaitu :
Rank-based fitness assignment
Populasi diurutkan menurut nilai objektifnya. Nilai fitness dari tiap-tiap
individu hanya tergantung pada posisi individu tersebut dalam urutan, dan tidak
dipengaruhi oleh nilai objektifnya.
10
Sebuah bilangan random dibangkitkan dan individu yang memiliki segmen
dalam kawasan segmen dalam kawasan bilangan random tersebut akan
terseleksi. Proses ini berulang hingga didapatkan sejumlah individu yang
diharapkan.
Stochastic universal sampling
Memiliki nilai bias nol dan penyebaran yang minimum. Individu-individu
dipetakan dalam suatu segmen garis secara berurut sedemikian hingga tiaptiap
segmen individu memiliki ukuran yang sama dengan ukuran fitnessnya seperti
halnya pada seleksi roda roulette. Kemudian diberikan sejumlah pointer
sebanyak individu yang ingin diseleksi pada garis tersebut. Andaikan N adalah
jumlah individu yang akan diseleksi, maka jarak antar pointer adalah 1/N, dan
posisi pointer pertama diberikan secara acak pada range [1, 1/N].
Local selection
Setiap individu yang berada di dalam konstrain tertentu disebut dengan nama
lingkungan lokal. Interaksi antar individu hanya dilakukan di dalam wilayah
tersebut. Lingkungan tersebut ditetapkan sebagai struktur dimana populasi
tersebut terdistribusi. Lingkungan tersebut juda dapat dipandang sebagai
kelompok pasangan-pasangan yang potensial. Langkah pertama yang dilakukan
adalah menyeleksi separuh pertama dari populasi yang berpasangan secara
random. Kemudian lingkungan baru tersebut diberikan pada setiap individu
yang terseleksi.
Struktur lingkungan pada seleksi lokal dapat berbentuk : linear (full ring dan
half ring), dimensi-2 (full cross dan half cross, full star dan half star), dan
dimensi-3 dan struktur yang lebih kompleks yang merupakan kombinasi dari
kedua struktur diatas. Jarak antara individu dengan struktur tersebut akan sangat
menentukan ukuran lingkungan. Individu yang terdapat dalam lingkungan
dengan ukuran yang lebih kecil, akan lebih terisolasi dibandingkan dengan
individu yang terletak pada lingkungan dengan ukuran yang lebih besar.
Truncation selection
Merupakan seleksi buatan yang digunakan oleh populasi yang jumlahnya sangat
besar. Individu-individu diurutkan berdasarkan nilai fitnessnya. Hanya individu
yang terbaik saja yang akan diseleksi sebagai induk. Parameter yang digunakan
adalah suatu nilai ambang trunc yang mengindikasikan ukuran populasi yang
11
akan diseleksi sebagai induk yang berkisar antara 50% -10%. Individu-individu
yang ada dibawah nilai ambang tidak akan menghasilkan keturunan.
Tournament selection
Ditetapkan suatu nilai tour untuk individu-individu yang dipilih secara random
dari suatu populasi. Individu-individu yang terbaik dalam kelompok ini akan
diseleksi sebagai induk. Parameter yang digunakan adalah ukuran tour yang
bernilai antara 2 sampai N (jumlah individu dalam populasi).
5. Operator Genetika
Ada dua operator genetika dalam algoritma genetika, yaitu :
a. Operator untuk melakukan rekombinasi, yang terdiri dari :
i. Rekombinasi bernilai real, yaitu :
1. Rekombinasi diskrit : menukar nilai variabel antar kromosom induk.
2. Rekombinasi intermediate : metode rekombinasi yang hanya dapat
digunakan untuk variabel real. Nilai variabel anak dipilih di sekitar
dan antara nilai-nilai variable induk.
3. Rekombinasi garis : hamper sama dengan rekombinasi menengah,
hanya saja nilai alpha untuk semua variable sama.
4. Rekombinasi garis yang diperluas ii. Rekombinasi bernilai
biner (Crossover), yaitu :
1. Crossover satu titik
2. Crossover banyak titik
3. Crossover seragam
4. Crossover dengan permutasi
b. Mutasi, yang terdiri dari :
i. Mutasi bernilai real ii.
Mutasi bernilai biner
6. Penetuan Parameter
Parameter adalah parameter control algoritma genetika, yaitu ukuran populasi
(popsize), peluang crossover (pc) dan peluang mutasi (pm). Rekomendasi untuk
menentukan nilai parameter :
i. Untuk permasalahan yang memiliki kawasan solusi cukup besar, De Jong
merekomendasikan nilai parameter : (popsize; pc; pm) = (50;0,6;0,001)
ii. Bila rata-rata fitness setiap generasi digunakan sebagai indikator, maka
12
Grefenstette merekomendasikan : (popsize; pc; pm) = (30;0,95;0,01) iii. Bila
fitness dari individu terbaik dipantau pada setiap generasi, maka usulannya adalah :
(popsize; pc; pm) = (80;0,45;0,01)
iv. Ukuran populasi sebaiknya tidak lebih kecil dari 30, untuk sembarang jenis
permasalahan. [5]
• Genotype (gen), sebuah nilai yang menyatakan satuan dasar yang membentuk
suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam
algoritma genetika, gen ini bisa brupa nilai biner, float, integer maupun karakter,
atau kombinatorial.
• Allele, nilai dari gen.
• Kromosom, gabungan gen-gen yang membentuk nilai tertentu.
• Individu, menyatakan satu nilai atau keadaan yang menyatakan salah satu solusi
yang mungkin dari permasalahan yang diangkat.
13
• Generasi, menyatakan satu siklus proses evolusi atau satu iterasi di dalam
algoritma genetika. [7]
14
genetika. Algoritma genetika bertujuan mencari individu dengan nilai fitness yang
paling tinggi.
III.4.3 Elitisme
Proses seleksi yang dilakukan secara random sehingga tidak ada jaminan bahwa
suatu indvidu yang bernilai fitness tertinggi akan selalu terpilih. Walaupun individu
bernilai fitness tertinggi terpilih, mungkin saja individu tersebut akan rusak (nilai
fitnessnya menurun) karena proses pindah silang (crossover). Oleh karena itu, untuk
menjaga agar individu bernilaifitness tertinggi tersebut tidak hilang selama evolusi,
maka perlu dibuat satu atau beberapa copy-nya. Prosedure ini dikenal sebagai elitisme.
[8]
Beberapa hal yang perlu diperhatikan dalam pemakaian algoritma genetika adalah :
• Algoritma genetika adalah algoritma yang dikembangkan dari proses pencarian solusi
menggunakan pencarian acak, ini terlihat pada proses pembangkitan populasi awal yang
menyatakan sekumpulan solusi yang dipilih secara acak.
• Berikutnya pencarian dilakukan berdasarkan proses-proses teori genetika yang
memperhatikan pemikiran bagaimana memperoleh individu yang lebih baik, sehingga
dalam proses evolusi dapat diharapkan diproleh individu yang terbaik.
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. [9]
15
Gambar 3 - Flowchart contoh penggunaan algoritma genetika
16
Penjelasan mengenai langkah-langkah penyelesaian permasalahan dari flowchart diatas
menggunakan algoritma genetika adalah sebagai berikut :
III.6.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]
17
= 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
18
= 0.2914
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
i. R[1] = 0.201
ii. R[2] = 0.284
iii. R[3] = 0.009
iv. R[4] = 0.822
19
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]
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] v. Kromosom[5]
= [02;01;08;03] vi. Kromosom[6]
= [10;04;03;04]
III.6.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);
20
if (R[k] < ρc ) then select Chromosome[k] as parent;
end;
k = k + 1; end;
end;
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].
21
➢ 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]
• 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]
III.6.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 :
22
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]
• 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 :
23
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)
= 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
= ( 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
24
akan berulang sampai sejumlah generasi yang telah ditetapkan sebelumnya. Siklus ini
menurut beberapa ilmuwan Zbigniew Michalewiz digambarkan sebagai berikut :
1. Kromosom = [07;05;03;01]
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.
25
BAB IV
KESIMPULAN & SARAN
IV.1 Kesimpulan
Dari pembahasan yang telah diuraikan sebelumnya, dapat diambil suatu kesimpulan sebagai
berikut, yaitu :
1. Algoritma genetika menggunakan cara kerja berdasarkan pada seleksi dan genetika
alam, mengikuti prinsip seleksi alam yaitu “siapa yang kuat, dia yang bertahan
(survive)”.
2. Algoritma genetika memiliki komponen utama yaitu teknik pengkodean, prosedur
inisialisasi, fungsi evaluasi, seleksi, operator genetika dan penetuan parameter.
3. Algoritma genetika dapat memberikan solusi untuk pencarian nilai dalam sebuah
masalah optimasi. [10]
4. Pencarian solusi mendekati optimal dilakukan dengan melakukan beberapa kali proses
iterasi, yaitu evaluasi, seleksi, crossover dan mutasi secara berulang sampai didapatkan
solusi yang optimal.
IV.2 Saran
Penyusun menyarankan untuk pengembangan makalah selanjutnya agar disertai contoh
aplikasi algoritma genetika dalam bahasa pemrograman tertentu untuk mempermudah simulasi
serta juga menganalisis dan membandingkan semua algoritma optimasi, bukan hanya algoritma
genetika.
26
DAFTAR PUSTAKA
[1]
Basuki, Achmad. 2003. Algoritma Genetika : Suatu Alternatif Penyelesaian
Permasalahan Searching, Optimasi dan Machine Learning. Surabaya : Politeknik
Elektronika Negeri Surabaya PENS – ITS.
[2]
http://eprints.undip.ac.id/10528/1/BAB_I_DAN_II.pdf, diakses pada 21 September 2012
pukul 09.34 WIB.
[3]
http://hendrik.staff.gunadarma.ac.id/Downloads/files/23066/algoritma-genetika.pdf,
diakses pada 19 September 2012 pukul 08.12 WIB.
[4]
http://dhansipp.files.wordpress.com/2009/11/kecerdasan-buatan-chapter-11-12-
13algoritma-genetika.ppt, diakses pada 19 September 2012 pukul 08.13 WIB.
[5]
Kusumadewi, Sri. 2003. Artificial Intellegence – Teknik dan Aplikasinya. Yogyakarta :
Graha Ilmu.
[6]
http://lecturer.eepisits.edu/~entin/Kecerdasan%20Buatan/Buku/Bab%207%20Algoritma
%20Genetika.pdf, diakses pada 21 September 2012 pukul 09.41 WIB.
[7]
http://budi.blog.undip.ac.id/files/2009/06/algoritma_genetika.pdf, diakses pada 19
September 2012 pukul 08.22 WIB.
[8]
Sanjoyo. Juni 2006. Aplikasi Algoritma Genetika.
http://sanjoyo55.files.wordpress.com/2008/11/non-linier-gen-algol.pdf, diakses pada 19
September 2012 pukul 08.22 WIB.
[9]
http://dee83.files.wordpress.com/2011/12/algoritma_genetika_dan_contoh_aplikasinya_
27