Anda di halaman 1dari 26

KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI

UNIVERSITAS NEGERI SEMARANG (UNNES)


Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

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

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 2dari 26 27 Februari 2017

VERIFIKASI BAHAN AJAR

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

Mashuri Endang Sugiharti


NIP 196708101992031003 NIP. 197401071999032001

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

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.

Semarang, Agustus 2018


Penyusun

Endang Sugiharti

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

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).

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

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

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 6dari 26 27 Februari 2017

BAB V APLIKASI ALGORITMA GENETIKA PADA BERBAGAI BIDANG


A. Deskripsi Singkat
B. Capaian pembelajaran pertemuan
C. Aplikasi Algoritma Genetika pada Berbagai Bidang
D. Rangkuman
E. Pertanyaan/Diskusi
BAB VI PEMROGRAMAN ALGORITMA GENETIKA
A. Deskripsi Singkat
B. Capaian pembelajaran pertemuan
C. Pemrograman Algoritma Genetika
D. Rangkuman
E. Pertanyaan/Diskusi

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

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.

B. Capaian Pembelajaran Mata Kuliah


Mahasiswa menguasai dengan cerdas dan bertanggung jawab materi
tentang pengantar optimasi yang meliputi pengertian masalah optimasi dan
metode-metode untuk menyelesaikannya serta kedudukan algoritma genetika di
antara metode-metode untuk menyelesaikan masalah optimasi..

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.

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 8dari 26 27 Februari 2017

b. Persoalan transportasi yang mencakup pendistribusian suatu komoditas


atau produk dari sejumlah sumber kepada sejumlah tujuan dengan tujuan
meminimumkan ongkos pengangkutan yang terjadi.
c. Pemilihan rute terpendek (biaya terkecil) untuk mengunjungi sejumlah kota.
d. Penentuan komposisi makanan ternak dengan biaya minimum yang harus
memenuhi batasan minimal untuk setiap komponen nutrisi.

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.

Untuk menyelesaikan kasus khusus seperti di atas dapat digunakan metode


heuristik, yaitu suatu metode pencarian yang didasarkan atas intuisi atau aturan-
aturan empiris untuk memperoleh solusi yang lebih baik daripada solusi yang
telah dicapai sebelumnya. Metode ini tidak selalu menghasilkan solusi
optimum tetapi jika dirancang dengan baik akan menghasilkan solusi yang
mendekati optimum dalam waktu yang relatif cepat. Metode heuristis yang bisa
diterapkan pada masalah optimasi misalnya algoritma koloni semut, algoritma
hill-climbing, tabu search, algoritma simulated annealing dan algoritma evolusi
(Mahmudy & Rahman 2011).

Klasifikasi Optimasi dan Teknik Optimasi


Proses optimasi dapat diklasifikasi menjadi beberapa kategori. Salah satunya
yang dilakukan oleh Haupt dan Haupt (dalam Zukhri) membagi optimasi dala

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 9dari 26 27 Februari 2017

enam kategori sebagai berikut.


a. Optimasi dengan cara trial and error berhubungan dengan proses untuk
menyesuaikan nilai variabel masukan yang membuat perubahan keluaran
tanpa pengetahuan yang banyak mengenai prosesnya. Contoh sederhanya
adalah ketika mengatur kedudukan antena supaya menghasilkan eluaran
suara dan gambat televisi yang optimum.
b. Optimasi satu dimensi adalah optimasi yang melibatkan sebuah variabel
sedangkan optimasi yang melibatkan banyak variabel disebut dengan
optimasi multidimensi.
c. Optimasi dinamis mempunyai keluaran yang merupakan fungsi waktu,
sedangkan optimasi statis mempunyai keluaran yang independen
terhadapwaktu. Contoh sederhananya adalah optimasi rute yang harus
ditempuh seorang karyawan saat berangkat bekerja. Jika dilihat jaraknya
saja, maka optimasi masalah ini merupakan optimasi statis.
d. Optimasi diskret adalah optimasi yang melibatkan variabel yang mempunyai
sejumlah variasi nilai terbatas.Sedangkan optimasi malar adalah optimasi
yang banyaknya variasi nilai variabelnya tidak berhingga. Optimasi diskret
dikenal juga sebagai optimasi kombinatorial, karena penyelesaiannya terdiri
atas sejumlah kombinasi variabel tertentu di antara semua variabel yang
mungkin. Adapun pencarian nilai minimum dari suatu fungsi f(x) dalam
interval x tertentu merupakan optimasi malar.
e. Optimasi dengan kendala menggabungkan kesamaan variabel dan
ketidaksamaan variabel ke dalam fungsiobjektif. Sedangkan optimasi tanpa
kendala mengizinkan variabel mempunyai nilai berapapun juga.
f. Optimasi yang penyelesaiannya dicari secara acak disebut optimasi acak.
Optimasi yang penyelesaiannya dicari dari sebuah nilai variabel awal
tertentu disebut pencarian nilaioptimum. Terdapat beberapa algoritma
konvensional yang menggunakan proses pencarian nilai optimum ini. Cara
ini memang lebih cepat daripada cara acak, tetapi sangat mudah untuk

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 10dari 26 27 Februari 2017

terjebak pada nilai optimum lokal.

Algoritma evolusi (evolutionary algorithms, EAs) merupakan sub-set dari


komputasi evolusi (evolutionary computation, EC) yang merupakan bentuk
generik dari algoritma optimasi meta-heuristic berbasis populasi.
optimization didefinisikan sebagai proses pemilihan sebuah solusi dari sejumlah
alternative solusi dengan memenuhi sejumlah batasan (contstraints). Misalkan
pada pencarian rute untuk mengunjungi sejumlah kota. Pada kasus ini tentu saja
terdapat banyak alternative pilihan rute (solusi). Solusi yang dipilih disesuaikan
dengan tujuan (objective) dari permasalahan ini, misalkan memilih rute
terpendek atau rute dengan waktu tempuh tercepat. Batasan yang ada
misalkan setiap kota harus dikunjungi tepat satu kali.

Stochastic optimization menggunakan bilangan acak (random) dalam


pencarian solusi. Sebagai konsekuensinya, sebuah algoritma dalam kelas ini
setiap dijalankan akan menghasilkan solusi akhir yang berbeda, meskipun
diterapkan dalam permasalahan yang sama.

Sebuah algoritma meta-heuristic bertindak sebagai ‘manajer’ dari beberapa


algoritma heuristic untuk secara terorganisir mencari solusi dari sebuah
permasalahan. Misalkan metode Variable Neighborhood Search (VNS) yang me-
manage sebuah teknik local search (LS). VNS secara sistematis meng-iterasi LS
untuk mencari solusi dari titik awal yang berbeda serta mencakup area pencarian
yang lebih luas. Contoh lainnya adalah algoritma genetika yang me-manage
beberapa genetic operator seperti crossover, mutation, dan selection. Materi
pada Bab 2 akan menjelaskan hal ini secara mendetail.

Evolutionary computing merujuk kepada berbagai teknik penyelesaian masalah


yang berbasis proses evolusi biologi seperti seleksi alam (natural selection) dan
penurunan sifat genetis (genetic inheritance). Berbagai teknik dalam kelas ini

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 11dari 26 27 Februari 2017

telah diaplikasikan pada berbagai permasalahan praktis. Salah satu sub-kelas


dari evolutionary computing adalah algoritma evolusi yang sedang anda pelajari.

Prinsip Kerja Algoritma Evolusi


Algoritma Evolusi (evolutionary algorithms, EAs) merupakan teknik optimasi yang
meniru proses evolusi biologi. Menurut teori evolusi terdapat sejumlah individu
dalam populasi. Dari generasi ke generasi, individu-individu ini berperan sebagai
induk (parent) yang melakukan reproduksi menghasilkan keturunan (offspring).
Individu-individu ini (beserta offspring) berevolusi dan individu-individu yang
lebih baik (mampu beradaptasi dengan lingkungannya) mempunyai peluang
lebih besar untuk melewati seleksi alam (natural selection) dan bertahan hidup.
Individu yang lebih baik juga cenderung (tidak selalu tapi mempunyai
kemungkinan lebih besar) menghasilkan keturunan yang lebih baik sehingga dari
generasi ke generasi akan terbentuk populasi yang lebih baik.
Individu-individu dalam populasi di EAs merepresentasikan solusi dari masalah
yang akan diselesaikan. Sebuah fungsi fitness digunakan untuk mengukur
seberapa baik suatu individu. Individu terbaik di akhir generasi bisa
didekodekan sebagai solusi terbaik yang bisa diperoleh.
Dari penjelasan di atas, EAs bisa dikelompokkan dalam algoritma ‘generate and
test’ yang berbasis populasi (population based). EA juga bersifat stochastic,
setiap kali dijalankan untuk masalah yang sama ada kemungkinan menghasilkan
solusi yang berbeda.
Berbagai tipe EAs telah dikembangkan sebagai berikut:
a. Algoritma genetika (Genetic Algorithms, GAs), merupakan tipe EAs yang
paling popular dan banyak diterapkan pada masalah-masalah kompleks.
Pada awalnya banyak menggunakan representasi string biner tapi
kemudian berkembang dengan menggunakan vektor bilangan integer dan
pecahan (real). Pembangkitkan solusi baru banyak mengandalkan proses
tukar silang (crossover). Mutasi biasanya dipakai sebagai operator

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 12dari 26 27 Februari 2017

tambahan untuk menjaga keragaman populasi.


b. Evolution Strategies (ES), representasi solusi biasanya menggunakan
vektor bilangan pecahan. Mutasi merupakan operator reproduksi utama.
Mekanisme self-adaptation digunakan untuk mengontrol perubahan nilai
parameter pencarian.

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?.

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

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.

B. Capaian Pembelajaran Mata Kuliah


Mahasiswa menguasai dengan cerdas dan tangguh materi tentang dasar-
dasar algoritma genetika yang meliputi langkah-langkah algoritma genetika dan
operator algorita genetika.

C. Dasar-dasar Algoritma Genetika


Algoritma genetika merupakan teknik pencarian yang diadopsi dari proses
evolusi alam. Proses komputasi yang terjadi dalam algoritma ini analog dengan
proses seleksi makhluk hidup dalam sebuah populasi. Oleh karena itu, proses
pencarian dalam algoritma genetika dilakukan sekaligus atas sejumlah
penyelesaian masalah yang mungkin.
Seperti halnya proses alamiah yang mengilhami proses komputasi,
sejumlah penyelesaian yang mungkin, dikenal sebagai populasi. Sama halnya

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

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).

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 15dari 26 27 Februari 2017

Dalam algoritma genetika, tidak semua proses evolusi dimodelkan apa


adanya, namun terdapat beberapa batasan sebagai parameter algoritma. Salah
satunya adalah ukuran populasi. Dalam algoritma genetika, ukuran populasi
setiap generasi adalah tetap. Populasi generasi selanjutnya dibentuk dengan
cara menyeleksi kromosom induk dan kromosom anak berdasarkan nilai
fitnessnya.
Algoritma genetika diilhami oleh ilmu genetika, karena itu istilah yang
digunakan dalam algoritma genetika banyak diadopsi dari ilmu tersebut. Apabila
dibandingkan dengan prosedur pencarian dan optimasi biasa, algoritma genetika
berbeda dalam beberapa hal sebagai berikut (Michalewicz 1996):
- Manipulasi dilakukan terhadap kode dari himpunan parameter (biasa
disebut chromosome), 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.

Struktur Algoritma Genetika


Bagaimana menggunakan algoritma genetika untuk memecahkan suatu
masalah ditunjukkan pada Gambar 2.1. Solusi dari suatu masalah harus
dipetakan (encoding) menjadi string chromosome. String chromosome ini
tersusun atas sejumlah gen yang menggambarkan variabel-variabel keputusan
yang digunakan dalam solusi. Representasi string chromosome beserta fungsi
fitness untuk menilai seberapa bagus sebuah chromosome (untuk menjadi
solusi yang layak) dimasukkan ke algoritma genetika. Dalam banyak kasus,
bagaimana merepresentasikan sebuah solusi menjadi chromosome sangat
menentukan kualitas dari solusi yang dihasilkan.
Dengan menirukan proses genetika dan seleksi alami maka algoritma

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 16dari 26 27 Februari 2017

genetika akan menghasilkan chromosome ‘terbaik’ setelah melewati sekian


generasi. Chromosome ‘terbaik’ ini harus diuraikan (decoding) menjadi
sebuah solusi yang diharapkan mendekati optimum.

Encoding
Decoding
Solusi
(chromosome) Algoritma
Masalah Solusi
Genetika
mendekati
Fungsi optimum
Fitness

Gambar 2.1. Mencari solusi dengan algoritma genetika

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

Proses dalam algoritma genetika diawali dengan inisialisasi, yaitu menciptakan


individu- individu secara acak yang memiliki susunan gen (chromosome)
tertentu. Chromosome ini mewakili solusi dari permasalahan yang akan

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 17dari 26 27 Februari 2017

dipecahkan. Reproduksi dilakukan untuk menghasilkan keturunan (offspring)


dari individu-individu yang ada di populasi. Evaluasi digunakan untuk
menghitung kebugaran (fitness) setiap chromosome. Semakin besar fitness
maka semakin baik chromosome 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 (Gen & Cheng 1997).
Setelah melewati sekian iterasi (generasi) akan didapatkan individu terbaik.
Individu terbaik ini mempunyai susunan chromosome 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 probabilistic (Michalewicz 1996).

Beberapa hal yang harus dilakukan dalam Algoritma Genetika adalah:


a) Mendefinisikan individu, dimana individu menyatakan salah satu
solusi (penyelesaian) yang mungkin dari permasalahan yang diangkat.

b) Mendefinisikan nilai fitness, yang merupakan ukuran baik-tidaknya


sebuah individu atau baik-tidaknya solusi yang didapatkan.

c) Menentukan proses pembangkitan populasi awal. Hal ini biasanya


dilakukan dengan menggunakan pembangkitan acak seperti random-walk.

d) Menentukan proses seleksi yang akan digunakan.

e) Menentukan proses perkawinan silang (cross-over) dan mutasi gen yang


akan digunakan.

Pengertian Individu

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 18dari 26 27 Februari 2017

Individu menyatakan salah satu solusi yang mungkin. Individu bisa


dikatakan sama dengan kromosom, yang merupakan kumpulan gen. Gen ini
bisa biner, float, dan kombinatorial.

Beberapa definisi penting yang perlu diperhatikan di mendefinisikan individu


untuk membangun penyelesaian permasalahan dengan algoritma genetika
adalah sebagai berikut:
a) 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 berupa
nilai biner, float, integer maupun karakter, atau kombinatorial.
b) Allele, nilai dari gen.
c) Kromosom, gabungan gen-gen yang membentuk nilai tertentu.
d) lndividu, menyatakan satu nilai atau keadaan yang menyatakan salah satu
solusi yang mungkin dari permasalahan yang diangkat
e) Populasi, merupakan sekumpulan individu yang akan diproses
bersama dalam satu siklus proses evolusi.
f) Generasi, menyatakan satu siklus proses evolusi atau satu iterasi
di dalam algoritma genetika.
Misalnya di dalam TSP individu menyatakan jalur yang ditempuh, dalam
penentuan nilai maksimal dari F(x,y) individu menyatakan nilai (x,y). Pada
gambar 7.2 diilustrasikan 2 kemungkinan jalur yang ditempuh dalam TSP
dan bagaimana representasinya dalam individu.

3 6 3 6
1
1 5

4
5
4
2 2
7
7

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

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.

Siklus Algoritma Genetika


Siklus dari Algoritma Genetika pertama kali dikenalkan oleh David Goldberg,
dimana gambaran siklus tsb. dapat dilihat pada gambar 2.3.

Populasi Evaluasi Seleksi


Awal Fitness Individu

Reproduksi:
Cross-Over
Dan Mutasi

Populasi
Baru

Gambar 2.3 Siklus Algoritma Genetika oleh David Goldberg

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 20dari 26 27 Februari 2017

Siklus ini kemudian diperbaiki oleh beberapa ilmuwan yang mengembangkan


algoritma genetika, yaitu Zbigniew Michalewicz dengan menambahkan operator
elitism dan membalik proses seleksi setelah proses reproduksi.

Populasi Evaluasi Reproduksi:


Awal Fitness Cross-Over
Dan Mutasi

Seleksi
Individu

Populasi Elitism
Baru

Gambar 2.4 Siklus Algoritma Genetika yang diperbarui oleh Michalewicz

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.

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 21dari 26 27 Februari 2017

• Elemen program : pemrograman genetika


• Struktur lainnya.

Membangkitkan Populasi Awal


Membangkitkan populasi awal adalah proses membangkitkan sejumlah
individu secara acak atau melalui prosedur tertentu. Ukuran untuk
populasi tergantung pada masalah yang akan diselesaikan dan jenis
operator genetika yang akan diimplementasikan. Setelah ukuran populasi
ditentukan, kemudian dilakukan pembangkitan populasi awal. Syarat-syarat
yang harus dipenuhi untuk menunjukkan suatu solusi harus benar-benar
diperhatikan dalam pembangkitan setiap individunya.
Teknik dalam pembangkitan populasi awal ini ada beberapa cara,
diantaranya adalah sebagai berikut:
1. Random Generator

Inti dari cara ini adalah melibatkan pembangkitan bilangan random


untuk nilai setiap gen sesuai dengan representasi kromosom yang
digunakan. Jika menggunakan representasi biner, salah satu contoh
penggunaan random generator adalah penggunaan rumus berikut
untuk pembangkitan populasi awal :
IPOP = round{random(Nipop, Nbits)}

di mana IPOP adalah gen yang nantinya berisi pembulatan dari


bilangan random yang dibangkitkan sebanyak N ipop (Jumlah populasi)
X N bits (Jumlah Gen dalam tiap kromosom).
Contoh lain penggunaan random generator dalam representasi permutasi
adalah pada saat dibangkitkan populasi awal untuk penyelesaian
permasalahan Traveling Salesman Problem. Sebagai contoh, sebuah
kromosom untuk 9 kota bisa direpresentasikan

[ 0.23 0.82 0.45 0.74 0.87 0.11 0.56 0.69 0.78 ]

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

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

Seleksi digunakan untuk memilih individu-individu mana saja yang akan


dipilih untuk proses kawin silang dan mutasi. Seleksi digunakan untuk
mendapatkan calon induk yang baik. "Induk yang baik akan menghasilkan

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

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

Individu 1: fitness = 10 % Jatah untuk individu 1: 1 - 10


Individu 2: fitness = 25 % Jatah untuk individu 2: 11 - 35
Individu 3: fitness = 40 % Jatah untuk individu 3: 36 - 75
Individu 4: fitness = 15% Jatah untuk individu 4: 76 - 90
Individu 5: fitness = 10% Jatah untuk individu 5: 91 – 100

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 24dari 26 27 Februari 2017

Dibangkitkan Bilangan Random antara 1-100


sebanyak 5 kali

Individu Terpilih

Random 30  individu 2
Random 88  individu 4
Random 64  individu 3
Random 18  individu 2
Random 44  individu 3

Gambar 2.5 Ilustrasi Seleksi dengan Mesin Roulette

b. Seleksi dengan Turnamen

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).

Pindah Silang (Crossover)

Pindah silang (crossover) adalah operator dari algoritma genetika yang


melibatkan dua induk untuk membentuk kromosom baru. Pindah silang
menghasilkan titik baru dalam ruang pencarian yang siap untuk diuji. Operasi
ini tidak selalu dilakukan pada semua individu yang ada. Individu dipilih
secara acak untuk dilakukan.

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

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.

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS NEGERI SEMARANG (UNNES)
Kantor: Komplek Simpang 5 Unnes Kampus Sekaran, Gunungpati, Semarang 50229
Rektor: (024)8508081 Fax (024)8508082, Purek I: (024) 8508001
Website: www.unnes.ac.id - E-mail: unnes@unnes.ac.id

FORMULIR MUTU
BAHAN AJAR/DIKTAT
No. Dokumen No. Revisi Hal Tanggal Terbit
FM-01-AKD-07 02 26dari 26 27 Februari 2017

Daftar Pustaka

1. Goldberg, D.E. 1989. Genetic Algorithms in Search, Optimization and


Machine Learning. Addison-Wesley Publishing Company, Inc.
2. Mahmudi, WF. 2013. Algoritma Evolusi. Malang: PTIIK Universitas
Brawijaya.
3. Mahmudy, WF & Rahman, MA 2011, 'Optimasi fungsi multi-obyektif
berkendala menggunakan algoritma genetika adaptif dengan
pengkodean real', Kursor, vol. 6, no. 1, pp. 19-26.
4. Michalewicz, Z.. 1996. Genetic Algorithms + Data Structure = Evolution
Program, Springer-Verlag Berlin Heidelberg.
5. Syarif, Admi. 2014. Algoritma Genetika Teori dan Aplikasi. Yogyakarta:
Graha Ilmu.
6. Zukhri, Zainudin. 2013. Metode Komputasi Evolusioner untuk
Menyelesaikan Masalah Optimasi. Yogyakarta: ANDI OFFSET.
7. Franggidae, A dan Lado, FR. 2015. Algoritma Genetika dan
Penerapannya. Yogyakarta: Teknosain.

Dibuat oleh : Diperiksa oleh :


Dilarang memperbanyak sebagian atau seluruh isi dokumen
tanpa ijin tertulis dari BPM UNNES

Anda mungkin juga menyukai