FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 1dari 26 27 Februari 2017
BAHAN AJAR/DIKTAT
ALGORITMA GENETIKA
15P01630
3 SKS
MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS NEGERI SEMARANG
TAHUN 2018
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 2dari 26 27 Februari 2017
Pada hari ini Selasa tanggal 1 bulan Agustustahun 2018 Bahan Ajar Mata Kuliah
Algoritma Genetika Program Studi Matematika Fakultas Matematika dan ilmu
Pengetahuan Alam telah diverifikasi oleh Ketua Jurusan/ Ketua Program Studi
Teknik Informatika
Semarang, 1 Agustus 2018
Ketua Prodi Matematika Tim Penulis
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 3dari 26 27 Februari 2017
PRAKATA
Buku ini disusun sebagai bahan pendukung perkuliahan Algoritma
Genetika di program studi Matematika. Mata kuliah ini dimaksudkan untuk
memberikan bekal kepada mahasiswa untuk menguasai dengan cerdas dan
bertanggung jawab materi algoritma genetika dan mampu menerapkannya untuk
menyelesaikan masalah optimasi dengan memperhatikan nilai-nilai konservasi..
Materi yang dibahas meliputi pengantar optimasi, dasar-dasar algoritma
genetika, aplikasi sederhana algoritma genetika, algoritma genetika untuk
optimasi dengan kendala, aplikasi algoritma genetika pada berbagai bidang, dan
pemrograman algoritma genetika.
Semoga buku ini dapat memberikan manfaat bagi mahasiswa khususnya
mahasiswa prodi Matematika.
Endang Sugiharti
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 4dari 26 27 Februari 2017
DESKRIPSI MATAKULIAH
Mata kuliah ini membahas teknik pencarian 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).
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 5dari 26 27 Februari 2017
DAFTAR ISI
Verifikasi Bahan Ajar i
Prakata ii
Deskripsi Mata Kuliah vii
Daftar Isi viii
BAB I PENGANTAR OPTIMASI 1
A. Deskripsi Singkat 1
B. Capaian pembelajaran pertemuan 4
C. Pengantar Optimasi 4
D. Rangkuman 8
E. Pertanyaan/Diskusi 11
BAB II DASAR-DASAR ALGORITMA GENETIKA 14
A. Deskripsi Singkat 15
B. Capaian pembelajaran pertemuan 15
C. Dasar-dasar Algoritma Genetika 15
D. Rangkuman 15
E. Pertanyaan/Diskusi 16
BAB III APLIKASI SEDERHANA ALGORITMA GENETIKA 16
A. Deskripsi Singkat 17
B. Capaian pembelajaran pertemuan 17
C. Aplikasi Sederhana Algoritma Genetika 18
D. Rangkuman 21
E. Pertanyaan/Diskusi
BAB IV ALGORITMA GENETIKA UNTUK OPTIMASI 23
A. Deskripsi Singkat 94
B. Capaian pembelajaran pertemuan
C. Algoritma Genetika untuk Optimasi
D. Rangkuman
E. Pertanyaan/Diskusi
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 6dari 26 27 Februari 2017
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 7dari 26 27 Februari 2017
BAB I
PENGANTAR OPTIMASI
A. Deskripsi Singkat
Optimasi adalah proses menyelesaikan suatu masalah tertentu supaya
berada pada kondisi yang paling menguntungkan dari suatu sudut pandang.
Masalah yang harus diselesaikan berkaitan erat dengan data-data yang dapat
dinyatakan dalam satu atau beberapa variabel. Pengertian menguntungkan,
biasanya berhubungan engan pencarian nilai minimum atau pencarian nilai
maksium, bergantung pada sudut pandang yang digunakan.
C. Pengantar Optimasi
Dalam kehidupan sehari-hari seringkali kita menemukan suatu persoalan
penarian nilai maksimum atau nilai minimum dari suatu fungsi baik yang
memiliki satu peubah maupun yang memiliki beberapa peubah (variabel).
Persoalan yang demikian dikenal dengan istilah optimasi. Dalam dunia nyata
persoalan optimasi umumnya juga dibatasi oleh sejumlah pembatas (constraint)
yang harus dipenuhi. Karenanya persoalan optimasibiasanya sangat kompleks
dan sulit diselesaikan dengan metode-metode konvensional. Berikut adalah
contoh masalah optimasi dalam kehidupan sehari-hari:
a. Pembuatan jadwal kuliah yang mencakup ketersediaan dosen dan
ruangan. Jadwal harus dibuat tujuan untuk menghindari seorang
dosen/mahasiswa terjadwal di lebih dari satu kelas pada waktu yang sama.
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 8dari 26 27 Februari 2017
Penyelesaian masalah di atas akan mudah dilakukan jika ukuran data relatif
kecil. Masalah akan menjadi kompleks jika data berukuran besar atau
melibatkan sejumlah besar entitas. Pada masalah kompleks dibutuhkan juga
formulasi matematika yang kompleks yang bisa jadi sangat sulit dibangun atau
membutuhkan waktu yang lama. Berdasarkan model matematis yang dibangun
bisa dilakukan analisis untuk mencari solusi yang terbaik (optimum). Solusi
optimum mungkin dapat diperoleh tetapi memerlukan proses perhitungan yang
panjang.
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 9dari 26 27 Februari 2017
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 10dari 26 27 Februari 2017
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 11dari 26 27 Februari 2017
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 12dari 26 27 Februari 2017
D. Rangkuman
Pada bab ini telah dibahas tentang klasifikasi teknik optimasi dan
pentingnya algoritma evolusi untuk penyelesaian masalah kompleks yang sulit
dipecahkan secara analitis menggunakan model matematis.
E. Pertanyaan/Diskusi
Jawablah pertanyaan-pertanyaan berikut ini.
1. Pada jenis permasalahan apa algoritma heuristik seharusnya diterapkan?
2. Jelaskan apa yang dimaksud dengan individu dalam algoritma evolusi!
3. Apa yang dimaksud dengan fungsi fitness?
4. Apa yang dimaksud dengan pernyataan bahwa algoritma evolusi bersifat
stochastic?.
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 13dari 26 27 Februari 2017
BAB II
DASAR-DASAR ALGORITMA GENETIKA
A. Deskripsi Singkat
Algoritma genetika merupakan metode pencarian yang didasarkan pada
proses evolusi alamiah, yaitu terbentuknya populasi awal secara acak yang
terdiri dari individu-individu dengan sifat yang tergantung pada gen-gen dalam
kromosomnya. Sifat keturunan dibentuk dari kombinasi sifat kedua induknya atau
mewarisi sifat-sifat induknya. Dalam kondisi tertentu dapat muncul sifat-sifat baru
karena adanya mutasi genetik. Dalam proses evolusi alamiah, dikenaal adanya
seleksi alamiah yang akan memilih keturunan dengan kemampuan dengan
kemampuan lebih untuk mempertahankan diri dalam populasi. Nilai optimum
yang didapat dari algoritma genetika disamakan dengan keturunan yang
mempunyai kemampuan mempertahankan diri paling tinggi yang dicari dalam
seluruh populasi dari awal hingga akhir.
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 14dari 26 27 Februari 2017
dalam proses alamiah, populasi dalam algoritma genetika juga terdiri atas
sejumlah individu yang disebut kromosom. Jika dalam proses alamiah
kromosom mengandung ciri-ciri untuk suatu individu, maka dalamalgoritma
genetika kromosom merupakan representasi penyelesaian masalah yang masih
berbentuk simbol.
Populasi awal dalam algoritma genetika dibentuk secara acak, sedangkan
populasi berikutnya dibentuk oleh operator-operator algoritma genetika selama
beberapa generasi. Generasi berikutnya dibentuk melalui serangkaian proses
yang mirip dengan proses alamiah. Sebagian dari generasi berikutnya dibentuk
dari kromosom-kromosom yang bertahan dari generasi sebelumnya, dan
sebagian lainnya merupakan kromosom-kromosom yang dilahirkan dari
kromosom generasi sebelumnya.
Pada setiap generasi, kromosom-kromosom akan mengalami proses
evaluasi dengan menggunakan alat ukur yang disebut dengan fungsi fitness.
Bentuk fungsi fitness bergantung pada masalah yang akan dioptimasi. Nilai
fitness dari suatu kromosom akan menunjukkan kualitas dari suatu kromosom
dalam populasi. Semakin besar nilai fitness, semakin besar pula
kemungkinannya untuk dipertahankan dalam populasi selanjutnya.
Kromosom-kromosom yang dibentuk darikromosom generasi sebelumnya
disebut sebagai anak (offspring). Demikian juga dengan pasangan kromosom
generasi sebelumnya juga disebut sebagai induk (parents). Proses
pembentukan anak dari induknya mirip dengan proses reproduksi yang dikenal
dengan istilah penyilangan. Penyilangan memungkinkan anak mewarisi sifat
kedua induknya. Dalam algoritma genetika proses reproduksi ini dikenal sebagai
operator penyilangan (crossover).
Dalam proses alamiah terkadang suatu makhluk hidup dapat mengalami
proses mutasi yang akan mengubah sifat-sifat aslinya. Dalam algoritma genetika
juga dikenal operator yang dapat mengubah gen-gen dalam kromosom.
Operator ini disebut sebagai operator mutasi (mutation).
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 15dari 26 27 Februari 2017
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 16dari 26 27 Februari 2017
Encoding
Decoding
Solusi
(chromosome) Algoritma
Masalah Solusi
Genetika
mendekati
Fungsi optimum
Fitness
Apabila P(t) dan C(t) merupakan populasi (parents) dan offspring pada
generasi ke-t, maka struktur umum algoritma genetika dapat dideskripsikan
sebagai berikut (Gen & Cheng 1997):
procedure
AlgoritmaGenetika begin
t = 0
inisialis
asi 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
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 17dari 26 27 Februari 2017
Pengertian Individu
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 18dari 26 27 Februari 2017
3 6 3 6
1
1 5
4
5
4
2 2
7
7
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 19dari 26 27 Februari 2017
Individu : 1 3 5 7 6 4 2 Individu : 1 2 3 6 7 5 4
Gambar 2.2 Kemungkinan jalur dalam TSP dan Representasi dalam individu
Nilai Fitness
Nilai fitness adalah nilai yang menyatakan baik tidaknya suatu solusi
(individu). Nilai fitness ini yang dijadikan acuan dalam mencapai nilai
optimal dalam algoritma genetika. Algoritma genetika bertujuan mencari
individu dengan nilai fitness yang paling tinggi.
Dalam TSP, karena TSP bertujuan meminimalkan jarak, maka nilai fitnessnya
adalah inversi dari total jarak dari jalur yang didapatkan. Cara melakukan
inversi bisa menggunakan rumus 1/x atau 100000-x, di mana x adalah total
jarak dari jalur yang didapatkan.
Reproduksi:
Cross-Over
Dan Mutasi
Populasi
Baru
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 20dari 26 27 Februari 2017
Seleksi
Individu
Populasi Elitism
Baru
Teknik Pengkodean
Teknik pengkodean adalah bagaimana mengkodekan gen dari
kromosom, dimana gen merupakan bagian dari kromosom. Satu gen
biasanya akan mewakili satu variabel.
Gen dapat direpresentasikan dalam bentuk : bit, bilangan real, daftar
aturan, elemen permutasi, elemen program atau representasi lainnya yang
dapat diimplementasikan untuk operator genetika.
Dengan demikian kromosom dapat direpresentasikan dengan
menggunakan:
• String bit : 10011 dst.
• Array bilangan real : 65.65, -67.98, 77.34 dst.
• Elemen permutasi : E2, E10, E5 dst.
• Daftar aturan : R1, R2, R3 dst.
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 21dari 26 27 Februari 2017
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 22dari 26 27 Februari 2017
di mana posisi i dalam list menunjukkan kota i. Nilai acak dalam posisi i
menentukan urutan didatanginya kota i dalam lintasan TSP. Dengan
kunci-kunci random di atas, kita dapat menentukan bahwa nilai 0.11
adalah yang paling kecil, sehingga kota ke-6 menempati urutan
pertama, 0.23 adalah nilai terkecil kedua, sehingga kota ke-1
menempati urutan kedua dst. Sehingga dengan demikian, dari kunci-
kunci random di atas kita dapat menentukan lintasan:
6-1-3-7-8-4-9-2-5
2. Pendekatan Tertentu (Memasukkan Nilai Tertentu ke dalam Gen)
Cara ini adalah dengan memasukkan nilai tertentu ke dalam gen dari
populasi awal yang dibentuk.
3. Permutasi Gen
Salah satu cara permutasi gen dalam pembangkitan populasi awal
adalah penggunaan permutasi Josephus dalam permasalahan
kombinatorial seperti TSP. Misalkan ada kota dari 1 sampai 9. Permutasi
dari lintasan dapat dilakukan dengan menentukan titik awal dan selang.
Misalnya titik awal adalah 6 dan selang adalah 5. Maka lintasan berangkat
dari kota 6, selang 5 dari kota 6 adalah kota 2 (dengan asumsi kota 1
sampai 9 membentuk circular list). Kota 2 dihapus dari list. Selang 5
kemudian adalah kota 7. Proses ini diulang hingga ada satu lintasan
dalam list. Hasil dari permutasi ini adalah 2 - 7 - 3 - 8 - 4 - 9 - 5 - 1 - 6.
Seleksi
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 23dari 26 27 Februari 2017
keturunan yang baik". Semakin tinggi nilai fitness suatu individu semakin
besar kemungkinannya untuk terpilih.
Langkah pertama yang dilakukan dalam seleksi ini adalah pencarian
nilai fitness. Nilai fitness ini yang nantinya akan digunakan pada tahap-
tahap seleksi berikutnya. Masing-masing individu dalam wadah seleksi
akan menerima probabilitas reproduksi yang tergantung pada nilai obyektif
dirinya sendiri terhadap nilai obyektif dari semua individu dalam wadah
seleksi tersebut.
Terdapat beberapa metode seleksi, dalam buku ini hanya dibahas 2 metode yaitu
mesin roullete, dan turnamen.
a. Seleksi dengan Mesin Roulette
Metode seleksi dengan mesin roulette ini merupakan metode yang
paling sederhana dan sering dikenal dengan nama stochastic sampling with
replacement. Cara kerja metode ini adalah sebagai berikut:
1. Dihitung nilai fitness dari masing-masing individu (fi, dimana i adalah
individu ke-1 s/d ke-n)
2. Dihitung total fitness semua individu
3. Dihitung probabilitas masing-masing individu
4. Dari probabilitas tersebut, dihitung jatah masing-masing individu pada
angka 1 sampai 100
5. Dibangkitkan bilangan random antara 1 sampai 100
6. Dari bilangan random yang dihasilkan, ditentukan individu mana yang
terpilih dalam proses seleksi
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 24dari 26 27 Februari 2017
Individu Terpilih
Random 30 individu 2
Random 88 individu 4
Random 64 individu 3
Random 18 individu 2
Random 44 individu 3
Pada metode seleksi dengan turnamen, 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 pada metode ini adalah ukuran tour yang bernilai
antara 2 sampai N (jumlah individu dalam suatu populasi).
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 25dari 26 27 Februari 2017
crossing dengan Pc antara 0,6 s/d 0,95. Jika pindah silang tidak dilakukan,
maka nilai dari induk akan diturunkan kepada keturunan.
Prinsip dari pindah silang ini adalah melakukan operasi (pertukaran, aritmatika)
pada gen-gen yang bersesuaian dari dua induk untuk menghasilkan individu
baru. Proses crossover dilakukan pada setiap individu dengan probabilitas
crossover yang ditentukan. Pada Gambar 7.6 diilustrasikan diagram alir
penggunaan probabilitas crosssover pada proses crossover.
Operator crossover ini bergantung pada representasi kromosom yang dilakukan.
Berbagai model crossover sesuai dengan representasi kromosom akan diuraikan pada
sub bab selanjutnya.
Mutasi
Operator berikutnya pada algoritma genetika adalah mutasi gen. Operator ini
berperan untuk menggantikan gen yang hilang dari populasi akibat proses seleksi yang
memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi.
Kromosom anak dimutasi dengan menambahkan nilai random yang sangat kecil (ukuran
langkah mutasi), dengan probabilitas yang rendah. Peluang mutasi (pm) didefinisikan
sebagai persentasi dari jumlah total gen pada populasi yang mengalami mutasi. Peluang
mutasi mengendalikan banyaknya gen baru yang akan dimunculkan untuk dievaluasi.
Jika peluang mutasi terlalu kecil, banyak gen yang mungkin berguna tidak pernah
dievaluasi. Tetapi bila peluang mutasi ini terlalu besar, maka akan terlalu banyak
gangguan acak, sehingga anak akan kehilangan kemiripan dari induknya, dan juga
algoritma kehilangan kemampuan untuk beljar dari histori pencarian. Ada beberapa
pendapat mengenai laju mutasi ini. Ada yang berpendapat bahwa laju mutasi sebesar 1/n
akan memberikan hasil yang cukup baik. Ada juga yang beranggapan bahwa laju mutasi
tidak tergantung pada ukuran populasinya. Kromosom hasil mutasi harus diperiksa,
apakah masih berada pada domain solusi, dan bila perlu bisa dilakukan perbaikan.
FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 26dari 26 27 Februari 2017
Daftar Pustaka