Anda di halaman 1dari 14

UAS KECERDASAN BUATAN

Evolutionary Computing : GA

Dosen Pengampu:
ALDA CENDEKIA SIREGAR ,S.Kom., M.Cs
Di susun oleh :
Mustopa : 181220060
Faizal Amir : 181220074
Novianti : 181220009
Yusrril Mahendra J : 181220064
M Fiqri Ababil Kw : 181220083
Sahril Arsyad

FAKULTAS TEKNIK& ILMU KOMPUTER


PROGRAM STUDI TEKNIK INFORMATIKA
UNIVERSITAS MUHAMMADIYAH PONTIANAK
2020/2021
ABSTRAK

KELOMPOK 4, KELAS 07 PAGI


KECERDASAN BUATAN
Artikel Evolutionary Computing, Universitas Muhammadiyah Pontianak, 2021
Kata Kunci : Algoritma Genetika, Evolusi Computing

Pokok pembahasan dalam artikel ini adalah evolutionary computing. Perkembang evolutionary
computing sangat berpengaruh dalam kehidupan kita sekarang. Algoritma genetika yang merupakan
salah satu bagian dari evolutionary computing merupakan salah satu metode untuk membantu dalam
berbagai masalah dengan mencari solusi melalui pendekatan optimum. Dengan artikel ini,
diharapkan memperbanyak pengetahuan tentang algoritma genetika
BAB I

PENDAHULUAN

1. Latar Belakang

Pada awal diciptakan, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring
dengan perkembangan zaman, maka peran komputer semakin mendominasi kehidupan. Lebih
dari itu, komputer diharapkan dapat digunakan untuk mengerjakan segala sesuatu yang bisa
dikerjakan oleh manusia baik dalam bidang pendidikan, kesehatan, industri, dan kehidupan
sehari-hari sehingga peran komputer dan manusia akan saling melengkapi. Beberapa hal yang
menjadi kekurangan manusia diharapkan dapat digantikan oleh komputer. Begitu juga dengan
komputer yang tak akan berguna tanpa sentuhan manusia.
Dalam dunia komputer dan informatika adanya suatu ilmu dengan ide-ide untuk dapat
membuat komputer menjadi lebih cerdas, ilmu tersebut dinamakan kecerdasan buatan (Artificial
Intelligence). Pengertian dari Artificial Intelligence ini sendiri adalah bagian dari ilmu komputer
yang mempelajari bagaimana membuat mesin (komputer) dapat melakukan pekerjaan seperti
dan sebaik yang dilakukan oleh manusia bahkan bisa lebih baik daripada yang dilakukan
manusia, dengan mengimplementasikannya dalam sebuah program.
Dalam Artificial Intelligence adanya istilah soft computing yaitu inovasi baru dalam
membangun sistem cerdas dimana sistem ini memiliki keahlian seperti manusia pada domain
tertentu, mampu beradaptasi dan belajar agar dapat bekerja lebih baik jika terjadi perubahan
lingkungan. Untuk mengoperasikan soft computing perlu diketahui metodologi-metodologinya
dimana salah satunya adalah Evolutionary Computing (optimasi) yang menggunakan Algoritma
Genetika. Jadi dengan kata lain dapat dikatakan bahwa Algoritma Genetika merupakan
evolusi/perkembangan dunia komputer dalam bidang kecerdasan buatan (Artificial
Intelligence). 
Algoritma Genetika terinspirasi dari teori evolusi Darwin yang menyatakan bahwa
kelangsungan hidup suatu makhluk dipengaruhi aturan bahwa yang kuat adalah yang menang.
Algoritma Genetika merupakan algoritma pencarian hasil terbaik yang berdasarkan atas
perkawinan dan seleksi gen secara alami. Untuk lebih memahami tentang Algoritma Genetika,
terlebih dahulu harus memahami konsep genetika (rekayasa genetika). Pengertian dari rekayasa
genetika adalah penerapan genetikauntuk kepentingan manusia, kegiatannya melalui seleksi
dalam populasi, penerapan mutasi buatan dan perkawinan silang antara individu yang satu
dengan yang lainnya untuk menghasilkan individu baru.
Algoritma Genetika menggunakan istilah gen dalam menyimpan informasi, dimana gen
merupakan struktur paling sederhana pada Algoritma Genetika. Solusi optimal direpresentasikan
sebagai untaian gen yang disimpan dalam stukutur data yaitu kromosom. Kromosom merupakan
material yang membawa bahan terwariskan dari gen. 
Proses pencarian solusi dilakukan dengan cara melakukan operasi terhadap kromosom yaitu
rekombinasi kromosom yang dilakukan dengan persilangan dan mutasi dengan tujuan untuk
memperoleh kromosom anak. Hal ini juga telah menjelaskan tentang konsep genetika.
Algoritma Genetika pertama kali dikembagkan oleh John Holland dari Michigan University
pada tahun 1975 dengan tujuan untuk meneliti proses adaptasi dari sistem alam serta mendesain
perangkat lunak yang memiliki kecerdasan buatan dengan mencontoh mekanisme sistem alam.
Algoritma Genetika banyak digunakan untuk proses optimasi. 

1.1. Rumusan masalah

Permasalahan yang dibahas dalam tugas akhir ini adalah  penerapan Algoritma Genetika
untuk menyelesaikan masalah serta penjelasan teknik tentang Algoritma Genetika untuk
menghasilkan rute terbaik yang optimal.

1.2. Tujuan

Memapakarman penjelasan tentang Algoritma Genetika dalam menyelesaikan masalah dan


menjelaskan teknik-teknik dalam Algoritma Genetika.
BAB II

PEMBAHASAN

2. Algoritma Genetika

Evolutionary Algorithm merupakan terminologi umum yang menjadi paying bagiempat


istilah: algoritma genetika (geneticalgorithm), pemrogramangenetika (genetic programming),
strategi evolusi (evolution strategies), dan pemrograman evolusi (evolutionary
programming). Tetapi, jenis evolutionary algorithm yang paling populer dan banya digunakan
adalah algoritma genetika (genetic algorithm).
Algoritma genetika merupakan evolusi/perkembangan dunia komputer dalam bidang
kecerdasan buatan (artificial intelligence). Sebenarnya kemunculan algoritma genetika ini
terinspirasi oleh teori evolusi Darwin (walaupun pada kenyatanya teori tersebut terbukti
keliru) dan teori-teori dalam ilmu biologi, sehingga banyak istilah dan konsep biologi yang
digunakan. Karena itu sesuai dengan namanya, proses-proses yang terjadi dalam algoritma
genetika sama dengan apa yang terjadi pada evolusi biologi.
Algoritma genetika merupakan teknik pencarian nilai optimum secara stochastic berdasarkan
mekanisme seleksi alam. Algoritma genetika berbeda dengan teknik konvergensi
konvensional yang lebih bersifat deterministik. Metodenya sangat berbeda dengan
kebanyakan algoritma optimasi lainnya, yaitu mempunyai ciri-cirinya sebagai berikut:
a. Menggunakan  hasil  pengkodean  dari  parameter,  bukan  parameter  itu sendiri.
b. Bekerja pada populasi bukan pada sesuatu yang unik.
c. Menggunakan  nilai  satu-satunya  pada  fungsi  dalam  prosesnya.  Tidak mengunakan
fungsi luar atau pengetahuan luar lainnya.
d. Menggunakan fungsi transisi probabilitas, bukan sesuatuyang pasti.

3. Struktur Umum 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 genetika akan
menghasilkan chromosome ‘terbaik’ setelah melewati sekian generasi. Chromosome ‘terbaik’
ini harus diuraikan (decoding) menjadi sebuah solusi yang diharapkan mendekati optimum.
Encoding
Solusi
(chromoso
Algoritma Decodi Solusi
Masalah ng
me)
Genetika mendek
Fungsi ati
Fitness
optimu
m
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 inisialisasi 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 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).

4. Komponen Evolutionary Algorithm

Pada intinya, EA memproses suatu populasi dari individual dimana setiap individual
merupakan suatu kandidat solusi (candidate solution) untuk permasalahan yang ingin
dipecahkan. Pada setiap generasi, individual dievaluasi berdasarkan suatu fungsi kesesuaian
(fitness function). Individual terbaik akan terpilih untuk proses reproduksi dan melanjutkan
ke proses kawin silang (crossover) dan mutasi untuk memproduksi keturunan (offspring)
atau candidate solution baru yang mewarisi sebagian sifat dari induknya. Proses evolutionary
dilakukan secara iteratif sampai kriteria tertentu terpenuhi, misal jumlah iterasi tertentu
terpenuhi atau solusi optimal telah tercapai. Dalam prosesnya, evolutionary algorithm
melibatkan komponen-komponen antara lain: individual, fitness function, metode seleksi,
operator genetik, dan populasi

4.1. Individual

Dalam evolutionary algorithm, individual adalah kandidat solusi untuk permasalahan


yang ingin dicari solusinya. Karakteristik suatu individual diwakili oleh kromosom atau
genome, digambarkan dengan suatu pita gen, dimana setiap gen merupakan bagian kecil dari
kandidat solusi. Kromosom terdiri dari dua kelas, yaitu genotype dan phenotype. Individual
membentuk populasi. Individual merepresentasikan kemungkinan solusi untuk masalah yang
ditangani, dan biasanya juga disertakan informasi lainnya seperti parameter strategi (strategy
parameter) dan kesesuaian individual (individual’s fistnes)
Gbr2. Contoh Representasi individual

4.2. Fitness Function

Fitness Function merupakan komponen yang krusial dalam suatu evolutionary


algorithm. Tujuan Fitness Function adalah untuk memetakan representasi kromosom ke suatu
nilai skalar. Fitness Function digunakan untuk mengevaluasi seberapa baik suatu individual
bisa digunakan dalam memecahkan masalah yang dikehendaki, fitness function juga
berperan untuk menentukan individual mana yang akan bereproduksi dan sebagian materi
genetiknya (yaitu bagian dari candidate solutionnya) akan ‘diwariskan’ kepada
penerusnya/generasi berikutnya. Semakin besar kesesuaian (fitness) suatu individual,
semakin tinggi peluang individual tersebut terpilih untuk operasi reproduksi, kawin silang
(crossover), dan mutasi.

Idealnya, suatu fitness function bisa mengukur kualitas suatu individu (candidate
solution) seakurat mungkin, namun desain dari fitness function juga akan memiliki batasan
tentang processing power, latar belakang pengetahuan, dan persyaratan yang ditentukan user.

4.3. Metode Seleksi

Metode seleksi yang dimaksud mencakup mekanisme seleksi induk (parents) dan
mekanisme seleksi survivor. Peran pemilihan parents dalam EA adalah untuk membedakan
antara individual berdasarkan kualitasnya, dengan kata lain memberi kesempatan individual
yang lebih baik untuk menjadi parents bagi generasi berikutnya. Semakin baik tingkat
kesesuaian (dalam ukuran kualitas) suatu individual, semakin tinggi peluang individual
tersebut untuk terpilih.

Seperti pemilihan parents, pemilihan survivor juga berperan berperan untuk


membedakan individual berdasarkan kualitasnya, perbedaannya hanya pada proses keduanya
dilakukan pada tahap yang berbeda. Pemilihan survivor dilakukan setelah proses penciptaan
offspring dari parents terpilih.

4.4. Operator Genetik

Operator genetik berperan untuk menciptakan individual baru dari individual lama
(parents) atau tujuan akhirnya adalah membangkitkan candidate solutions baru. Operator
genetik terbagi menjadi dua, yaitu mutasi dan rekombinasi. Rekombinasi disebut juga
sebagai kawin silang atau crossover. Macam-macam crossover antara lain: one-point
crossover, two-points crossover, multi-point crossover, uniform crossover, three-parents
crossover, crossover dengan reduced surrogate, shuffle crossover, Precedence Preservative
Crossover (PPX), ordered crossover,Partially Matched Crossover (PMX).
one-point crossover two-point crossover

Uniform crossover Three-parents crossover

Parent 1 : 4 2 | 1 3 | 6 5

Parent 2 : 2 3 | 1 4 | 5 6

Child 1 : 4 2 | 3 1 | 6 5

Child 2 : 2 3 | 4 1 | 5 6

Precedence Preservative Crossover (PPX) Ordered crossover

String given:
Hasil Crossover:

Partially Matched Crossover (PMX)

Gbr 3. Contoh jenis-jenis crossover

Setelah operasi crossover, selanjutnya dilakukan operasi mutasi. Mutasi berperan untuk


mencegah algoritma terjebak dalam lokal minimum. Terdapat beragam cara mutasi untuk tiap
jenis representasi berbeda, yaitu Flipping, interchanging, dan Reversing.

4.5. Populasi
Populasi memiliki peran sebagai representasi dari segala kemungkinan solusi. Populasi
merupakan kumpulan individual atau populasi merupakan multiset dari genotypes.
Genotypes adalah sejumlah karakter yang diwariskan yang tetap terkandung dalam seluruh
proses reproduksi populasi.

Jika ukuran populasi kecil, agar tetap mencakup sebagian besar dari search space, maka
keragaman populasi (population diversity) harus diperhatikan. Jika diperlukan, dalam EA
populasi bisa memiliki struktur spasial tambahan, yaitu dengan ukuran jarak atau hubungan
antar tetangga (neighbourhood relations). Untuk menjaga keragaman populasi, operator
mutasi sering disarankan menjadi solusi.

Evolutionary computing memiliki kemampuan optimisasi yang powerful meski dengan


ukuran populasi yang relatif kecil (Glenn dan Payne, 1995). Dalam kasus populasi kecil, EA
bisa ‘dipaksa’ untuk mengeksplorasi search space yang lebih besar, yaitu dengan
meningkatkan tingkat mutasi (mutation rate). Mutation rate adalah peluang terjadinya mutasi
selama replikasi DNA.
5. Seleksi
Operasi seleksi dilakukan dengan memperhatikan fitness dari tiap individu, manakah
yang dapat dipergunakan untuk generasi selanjutnya. Seleksi ini digunakan untuk
mendapatkan calon induk yang baik, semakin tinggi nilai fitnessnya maka semakin besar
juga kemungkinan individu tersebut terpilih. Terdapat beberapa macam cara seleksi untuk
mendapatkan calon induk yang baik, diantaranya adalah seleksi roulette wheel, steady state,
tournament dan rank. Proses seleksi yang biasa digunakan adalah mesin roulette (roulette
wheel). 

Beberapa penjelasan tentang keempat metode seleksi di atas adalah sebagai berikut :
1. Roulette Wheel
Calon induk yang akan dipilih berdasarkan nilai fitness yang dimilikinya, semakin baik
individu tersebut yang ditunjukkan dengan semakin besar nilai fitnessnya akan mendapatkan
kemungkinan yang lebih besar untuk terpilih sebagai induk. Misalkan saja roulette wheel
merupakan tempat untuk menampung seluruh kromosom dari tiap populasi, maka besarnya
tempat dari roulette wheel tersebut menunjukkan seberapa besar nilai fitness yang dimiliki
oleh suatu kromosom, semakin besar nilai fitness tersebut, maka semakin besar pula tempat
yang tersedia. Ilustrasinya dapat digambarkan sebagai berikut :

2. Steady State
Metode ini tidak banyak digunakan dalam proses seleksi karena dilakukan dengan
mempertahankan individu yang terbaik. Pada setiap generasi, akan dipilih beberapa
kromosom dengan nilai fitnessnya yang terbaik sebagai induk, sedangkan kromosom-
kromosom yang memiliki nilai fitness terburuk akan digantikan dengan offspring yang baru.
Sehingga pada generasi selanjutnya akan terdapat beberapa populasi yang bertahan.
3. Tournament
Dalam metode seleksi tournament sejumlah n individu dipilih secara acak dan kemudian
menentukan fitnessnya. Kebanyakan metode seleksi ini digunakan pada binary, dimana
hanya dua individu yang dipilih.
4. Rank
Seleksi ini memperbaiki proses seleksi yang sebelumnya yaitu roulette wheel karena pada
seleksi tersebut kemungkinan salah satu kromosom mempunyai nilai fitness yang
mendominasi hingga 90% bisa terjadi, sehingga nilai fitness yang lain akan mempunyai
kemungkinan yang sangat kecil sekali untuk terpilih. Sehingga dalam seleksi rank, dilakukan
perumpamaan sesuai dengan nilai fitnessnya, nilai fitness terkecil diberi nilai 1, yang terkecil
kedua diberi nilai 2, dan begitu seterusnya sampai yang terbagus diberi nilai N (jumlah
kromosom dalam populasi). Nilai tersebut yang akan diambil sebagai presentasi tepat yang
tersedia. Ilustrasinya dapat dilihat seperti pada gambar berikut :
BAB III

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.
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..
Daftar Pustaka

http://syagifulfathayatih.blogspot.com/2016/12/evolutionary-computing-algoritma.html
https://statistikakomputasi.wordpress.com/2010/04/16/mengenal-evolutionary-computation-
komputasi-yang-meniru-evolusi-alam/
https://scholar.google.co.id/scholar?
q=artikel+Evolutionary+Computing+pdf&hl=id&as_sdt=0&as_vis=1&oi=scholart
https://www.researchgate.net/publication/2567266_Genetic_Algorithms_and_Evolutionary_Com
puting

Anda mungkin juga menyukai