bab ix ag

9

Click here to load reader

Upload: bijieq

Post on 21-Dec-2015

221 views

Category:

Documents


5 download

DESCRIPTION

sistem pengambilan keputusan

TRANSCRIPT

Page 1: BAB IX AG

BAB IX

ALGORITMA GENETIKA

9.1 Pendahuluan

Menurut J Grenn Brookshear (2003 : 458) algoritma genetika adalah wilayah

penelitian yang berupa menerapkan pemahaman kita mengenai evolusi alamiah

pada tugas-tugas pemecahan masalah. Pendekatan yang diambil adalah

membaurkan beragam pilihan solusi terbaik di dalam suatu kumpulan untuk

mendapatkan generasi penerus solusi terbaik berikutnya yang merepresentasikan

perbaikan-perbaikan pada kumpulan awalnya.

Algoritma genetika nerupakan algoritma pencarian yang berdasarkan pada

seleksi alam dan genetika alam. Algoritma ini berguna untuk masalah yang

memerlukan pencarian yang efektif dan efisien, dan dapat digunakan secara

meluas untuk aplikasi bisnis, pengetahuan, dan dalam ruang lingkup teknik.

Algoritma genetika ini dapat digunakan untuk mendapatkan solusi yang tepat

untuk masalah satu atau banyak variabel.

Algoritma genetika berbeda dengan teknik pencarian yang lain, karena pada

algoritma genetika ini langkah pertama dimulai dengan membangkitkan secara

random solusi-solusi yang sering dikenal dengan initial population. Setiap

individu di dalam populasi dinamakan chromosome, dimana setiap chromosome

itu mewakili sebuah solusi untuk masalah yang akan dihadapi. Sebuah

chromosome biasanya simbolnya string hal ini diperuntukkan bagi bilangan biner

dan untuk floating point yang dipakai adalah bilangan real. Untuk masalah tiga

variabel maka chromosome akan tersusun atas tiga gen demikian pula kalau

permasalahannya melibatkan lima variabel, maka didalam satu chromosome juga

akan terdapat lima gen.

Page 2: BAB IX AG

Chromosome terbentuk setiap generasi dan kemudian dievaluasi

menggunakan beberapa ukuran fitness . Untuk generasi yang baru, chromosome

baru terbentuk oleh proses yang dinamakan proses seleksi . Setelah proses seleksi

itu berlangsung chromosome yang baru terbentuk itu akan mengalami proses

reproduksi dimana didalam proses reproduksi ini chromosome tadi akan daproses

dalam dua tahap yaitu crossover dan mutasi. Kedua tahap proses itu akan

membuat offspring. Untuk proses crossover, offspring yang terbentuk merupakan

penggabungan dari chromosome yang sebelumnya, sedangkan untuk mutasi

offspring yang terbentuk merupakan hasil perubahan mutasi dari gen atau mutasi

pada bit.

9.2 Sejarah Algoritma Genetika

Algoritma genetika pertama kali ditemukan oleh Jhon Holland dari

Universitas Michigan pada awal 1970-an di New York, Amerika Serikat. Jhon

Holland bersama muridmuridnya rekan kerjanya lalu menghasilkan buku yang

berjudul “Adaption in Natural and Artificial Systems” pada tahun 1975, yang cara

kerjanya berdasarkan pada seleksi dan genetika alam.

Konsep yang dipergunakan dalam algoritma genetika adalah mengikuti apa

yang dilakukan oleh alam. Algoritma genetik khususnya diterapkan sebagai

simulasi komputer dimana sebuah populasi representasi abstrak (kromosom) dari

solusi-solusi calon (individual) pada sebuah masalah optimisasi akan berkembang

menjadi solusi-solusi yang lebih baik. Secara tradisional solusi-solusi tersebut

dilambangkan dalam biner sebagai string '0' dan '1', walaupun dimungkinkan juga

penggunaan penyandian (encoding) yang berbeda. Evolusi dimulai dari sebuah

populasi individual acak yang lengkap dan terjadi dalam generasigenerasi.

Dalam tiap generasi kemampuan keseluruhan populasi dievaluasi, kemudian

multiple individuals dipilih dari populasi sekarang (current) secara stochastic

(berdasarkan kemampuan mereka) lalu dimodifikasi (dengan mutasi atau

Page 3: BAB IX AG

rekombinasi) menjadi bentuk populasi baru yang menjadi populasi sekarang

(current) pada iterasi berikutnya dari algoritma.

9.3 Komponen-Komponen Dasar Algoritma Genetika

Komponen-komponen dalam algoritma genetika ialah sebagai berikut:

a. Pengkodean

Terdapat tiga cara yang paling umum digunakan dalam pengkodean, yaitu:

1. Binary encoding, untuk pengkodean binary encoding setiap gen diberi

nilai 0 atau 1.

2. Real Number, pada pengkodean real number nilai gen berada dalam

interval (0,R) dengan R adalah bilangan real positif dan biasanya R=1.

3. Descreet decimal decoding. Setiap gen bernilai salah satu bilangan

bulat dalam interval (0,9).

b. Fungsi fitness

Fungsi fitness bermanfaat untuk mengevaluasi kandidat solusi sistem yang

dimodelkan. Pada evolusi alam, individu yang memiliki nilai fitness

rendah akan mati.

c. Seleksi

Seleksi dilakukan untuk menentukan individu-individu mana saja yang

akan dipilih untuk melakukan rekombinasi dan bagaimana offspring yang

terbentuk dari individu-individu terpilih tersebut. Dalam algoritma genetik

terdapat dua macam seleksi, yaitu roda roulette (roulette whell selection)

dan rank based fitness.

Roda roulette digunakan untuk menentukan individu orang tua yang akan

dikenai operasi genetik. Sesuai dengan namanya, metode ini menirukan

permainan roulette whell dengan masing-masing kromosom menempati

potongan lingkaran pada roda roulette secara proposional sesuai dengan

nilai fitness-nya (Triswantoro Putro, 2007).

Page 4: BAB IX AG

Rank based fitness biasanya digunakan untuk menentukan generasi baru

setelah proses operasi genetik diterapkan dalam individu-individu orang

tua sehingga lahirlah individu-individu baru (D. Quagliarella, 1998). Pada

metode ini populasi diurutkan menurut ranking nilai fitness masing-

masing individu.

d. Pindah silang (crossover)

Salah satu komponen penting dalam algoritma genetik adalah crossover

atau pindah silang. Crossover dilakukan untuk menukarkan informasi

antar kromosom.

e. Mutasi

Mutasi adalah komponen dalam algoritma genetik yang bisa memodifikasi

satu gen atau lebih dalam kromosom yang sama sehingga dapat

menyebabkan terciptanya individu baru.

f. Elitisme

Pada penyeleksian kromosom dilakukan dengan random, sehingga tidak

ada jaminan bahwa suatu individu bernilai fitness tertinggi akan selalu

terpilih, mungkin saja individu tersebut akan rusak (nilai fitness-nya

menurun) karena proses pindah silang. Untuk menjaga agar individu

bernilai fitness tersebut tidak hilang selama evolusi, maka perlu dibuat satu

atau beberapa kopinya. Prosedur ini disebut dengan elitisme.

9.4 Proses Algoritma Genetika

Algoritma genetika adalah algoritma pencarian hasil yang terbaik, yang

didasarkan pada perkawinan dan seleksi gen secara alami. Kombinasi perkawinan

ini dilakukan dengan proses acak (random). Dimana struktur gen hasil proses

perkawinan ini, akan menghasilkan gen inovatif untuk diseleksi.

Dalam setiap generasi, ciptaan buatan yang baru (hasil perkawinan), diperoleh

dari bit-bit dan bagian-bagian gen induk yang terbaik. Diharapkan dengan

mengambil dari gen induk yang terbaik ini diperoleh gen akan yang lebih baik

lagi. Meskipun pada kenyataannya tidak selalu tercipta gen anak yang lebih baik

Page 5: BAB IX AG

dari induknya. Ada kemungkinan lebih baik, sama baiknya, atau bahkan mungkin

lebih buruk. Tujuan dari algoritma genetika ini adalah menghasilkan populasi

yang terbaik dari populasi awal. Sedangkan keuntungan dari algoritma genetika

adalah sifat metode pencariannya yang lebih optimal, tanpa terlalu memperbesar

ruang pencarian.

Dalam menyusun suatu algoritma genetika menjadi program, maka diperlukan

beberapa tahapan proses, yaitu proses pembuatan generasi awal, proses

genetika, proses seleksi, dan pengulangan proses sebelumnya.

Gambar 1. Proses Algoritma Genetika

9.5 Operasi Algoritma Genetika

Algoritma genetika terdiri dari dua operasi yaitu operasi genetika dan operasi

evolusi. Operasi genetika terdiri dari operator crossover dan operator mutasi. Pada

operasi evolusi terdapat operator seleksi. Populasi generasi yang baru dibentuk

dengan cara menyeleksi nilai fitness dari kromosom induk (parent) dan nilai tness

dari kromosom anak (o_spring), serta menolak kromosom-kromosom yang

lainnya sehingga ukuran populasi (jumlah kromosom dalam suatu populasi)

konstan [1].

Page 6: BAB IX AG

Crossover (pindah silang) adalah proses pemilihan posisi string secara

acak dan menukar karakter-karakter stringnya (Goldberg, 1989; Davis, 1991).

Ilustrasi proses pindah silang dapat dilihat pada Gambar 2. String 1 dan String 2

mengalami proses pindah silang, menghasilkan String 1 Baru dan String 2 Baru.

Operator mutasi dioperasikan sebagai cara untuk mengembalikan materi genetik

yang hilang. Melalui mutasi, individu baru dapat diciptakan dengan melakukan

modifikasi terhadap satu atau lebih nilai gen pada individu yang sama. Mutasi

mencegah kehilangan total materi genetika setelahreproduksi dan pindah silang.

Ilustrasi proses mutasi dapat dilihat pada Gambar 3.

Gambar 2. Ilustrasi Proses Pindah Silang

Gambar 3. Ilustrasi Proses Mutasi