• Tidak ada hasil yang ditemukan

Tabel Data Pasien

LANDASAN TEOR

2.4. Algoritma Genetika (Genetic Algorithm)

Algoritma Genetika ditemukan oleh John Holland pada tahun 1975 di Universitas Michigan melalui sebuah penelitian dan kemudian metode ini dipopulerkan oleh muridnya yang bernama David Goldberg pada tahun 1989. Algoritma genetika terinspirasi dari teori evolusi Darwin. Algoritma Genetika adalah sebuah algoritma di bidang kecerdasan buatan mengenai teknik pencarian dan optimasi yang didasarkan pada seleksi atau evolusi yang terjadi di alam (Davis, 1991).

Algoritma genetika bekerja dengan seb uah populasi yang terdiri dari individu- individu. Individu- individu tersebut merepresentasikan sebuah solusi terbaik yang

dihasilkan untuk menyelesaikan persoalan yang ada. Individu yang memiliki pertahanan yang tinggi akan memiliki kesempatan untuk melakukan reproduksi melalui perkawinan silang dengan individu yang lain di dalam populasi tersebut. Hasil dari perkawinan ini akan menghasilkan beberapa individu baru yang masih mewarisi beberapa sifat dari induknya. Individu yang tidak terpilih dalam reproduksi akan mati dengan sendirinya. Dengan cara seperti ini, maka akan dihasilkan generasi dengan karakteristik yang baik dalam populasi tersebut. Semakin banyak individu yang dikawinkan, maka akan semakin banyak kemungkin terbaik yang akan diperoleh.

Algoritma ini berusaha menerapkan pemahaman mengenai evolusi pada pencarian penyelesaian masalah (problem solving). Algoritma Genetika akan mencari solusi yang terbaik dari suatu kondisi dengan menggabungkan secara acak berbagai pilihan solusi terbaik. Keuntungan algoritma genetika adalah algoritma ini mudah diimplementasi dan mampu untuk menemukan solusi yang baik dan dapat diterima secara cepat untuk masalah- masalah berdimensi tinggi. Algoritma genetika sangat berguna dan efisien untuk masalah dengan karakteristik sebagai berikut (Suyanto, 2005) :

1. Ruang masalah yang sangat besar, kompleks, dan sulit dipahami

2. Ilmu pengetahuan yang kurang atau bahkan tidak ada yang memadai untuk merepresentasikan masalah ke dalam ruang pencarian yang lebih sempit.

3. Tidak ada tersedia analisis matematika yang memadai

4. Ketika terdapat metode- metode konvensional yang sudah tidak mampu untuk menyelesaikan masalah yang dihadapi.

5. Solusi yang diharapkan tidak harus yang paling optimal namun sudah cukup baik atau dapat diterima

6. Terdapat batasan waktu, misalnya dalam real time system.

2.4.1. Proses Algoritma Genetika

Secara umum proses dari suatu algoritma genetika dapat didefenisikan dengan diagram alir sebagai berikut :

sumber : (Firmansyah et al, 2012)

Gambar 2.1. Diagram Alir Proses Algoritma Genetika

1. Representasi kromosom

Proses algoritma genetika dimulai dengan membangun sebuah populsai random sebanyak n kromosom.

2. Identifikasi individu/populasi awal

Untuk mendapatkan solusi awal, maka diperlukan proses pembangkitan individu awal secara random. Individu tersebut terdiri dari sejumlah kromosom yang merepresentasikan solusi awal yang diinginkan.

3. Evaluasi fitness

Pada setiap generasi kromosom akan dilakukan evaluasi berdasarkan tingkat keberhasilan dari nilai solusinya terhadap masalah yang akan diselesaikan dengan menggunakan evaluasi fitness. Proses dari evaluasi fitness tersebut adalah proses untuk melakukan evaluasi terhadap fitnessf(x) dari setiap kromosom x yang berada pada individu.

4. Pembentukan generasi baru

Proses ini adalah proses untuk mendapatkan jumlah kromosom untuk membentuk generasi baru (offspring). Untuk mendapatkan jumlah kromosom tersebut, maka proses ini dilakukan secara berulang. Dan generasi baru (offspring) yang diperoleh merupakan representasi dari solusi yang baru.

5. Seleksi

Proses seleksi dilakukan untuk memilih kromosom yang akan tetap dipertahankan untuk generasi yang selanjutnya. Proses ini dilakukan dengan melalui 2 tahapan, yaitu memilih kromosom parent dari individu berdasarkan fitnessnya.

6. Crossover (Perkawinan Silang)

Proses ini dilakukan untuk membentuk anak (offspring) yang diperoleh dari hasil perkawinan silang sesuai dengan besarnya kemungkinan perkawinan silang, orang tua (parent) yang terpilih akan disilangkan untuk membentuk anak. Jika tidak ada proses crossover, maka anak merupakan salinan dari orang tuanya. Jumlah kromosom yang terdapat pada populasi yang mengalami perkawinan silang ditentukan oleh parameter yang disebut dengan probabilitas perkawinan silang (crossover probability).

7. Mutasi

Proses mutasi dilakukan berdasarkan besarnya kemungkinan mutasi yang tela h ditentukan, dimana anak akan dimutasi pada setiap lokus (posisi pada kromosom). Setelah beberapa generasi berhasil dibentuk, kromosom-kromosom yang nilai gennya konvergen ke suatu nilai tertentu merupakan solusi optimum yang dihasilkan oleh algoritma genetika terhadap permasalahan yang ingin diselesaikan. 8. Memenuhi syarat regenerasi

Jika generasi baru memenuhi syarat regenerasi, maka proses akan selesai. Namun, apabila generasi baru tidak memenuhi syarat, maka proses akan kembali kepada proses evaluasi fitness.

2.4.2. Komponen Utama Algoritma Genetika

Algoritma Genetika memiliki enam komponen utama (Satriyanto, 2009), yaitu : 1. Teknik penyandian (Encoding)

Teknik penyandian merupakan penyandian gen dari kromosom. Gen merupakan bagian dari kromosom, dimana gen biasanya mewakili satu variable. Gen dapat direpresentasikan dalam bentuk bit, bilangan real, elemen permutasi, elemen program, daftar aturan, atau representasi lainnya yang dapat diterapkan 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

 Elemen program : pemrograman genetika

 Struktur lainnya 2. Proses Inisialisasi

Setelah ukuran populasi telah ditentukan, kemudian akan dilakukan proses inisialisasi terhadap kromosom yang terdapat pada populasi tersebut. Ukuran populasi dapat ditentukan bergantung pada permasalahan yang akan dipecahkan dan jenis operator genetika yang diimplemenasikan. Proses dari inisialisasi kromosom dapat dilakukan secara acak dengan tetap memperhatikan domain solusi dan kendala permasalahan yang ada.

3. Fungsi Evaluasi

Dalam melakukan proses evaluasi kromosom perlu diperhatikan dua hal yaitu evaluasi fungsi objektif dan konversi fungsi objektif kedalam fungsi fitness.

4. Seleksi

Proses seleksi bertujuan untuk menentukan individu- individu yang akan dipilih untuk dilakukan rekombinasi dan bagaimana offspring terbentuk dari individu- individu terpilih tersebut. Langkah pertama yang dilakukan adalah mencari nilai

fitness. Setelah nilai fitness diperoleh maka langkah selanjutnya adalah

menggunakan nilai tersebut untuk tahap-tahap seleksi selanjutnya.

Ada beberapa defnisi yang digunakan untuk melakukan perbandingan terhadap metode yang akan digunakan, antara lain :

Selective Pressure, probabilitas dari individu terbaik yang terpilih dengan rata-

rata probabilitas dari semua individu yang diseleksi.

Bias, perbedaan absolute antara fitness ternormalisasi dari suatu individu

dengan probabilitas reproduksi yang diharapkan

Spread, rentang nilai probabilitas untuk sejumlah offspring dari suatu individu.

Loss of diversity, proposi dari individu-individu yang tidak terseleksi dari suatu

individu selama dalam tahapan seleksi

Selection intensity, nilai fitness rata-rata yang diharapkan dalam suatu populasi

setelah dilakukan proses seleksi dengan menggunakan distribusi Gauss ternormalisasi.

Selection variance, variansi yang diharapkan dari distribusi fitness dalam suatu

populasi setelah dilakukan tahap seleksi dengan menggunakan distribusi Gauss ternormalisasi.

Ada beberapa metode seleksi dari induk yang dilakukan (Kusumadewi et al, 2005), yaitu :

Rank-based fitness assignment

Pengurutan populasi dilakukan berdasarkan nilai objektifnya. Nilai fitness dari tiap individu hanya tergantung dari posisi individu tersebut dalam urutan dan tidak dipengaruhi oleh nilai objektifnya.

Roullete wheel selection

Individu- individu akan dipetakan dalam suatu segmen garis secara berurutan sedemikian hingga tiap segmen individu memiliki ukuran yang sama dengan ukuran fitness. Sebuah bilangan random akan dibangun dan individu yang memiliki segmen dalam kawasan bilangan random akan terseleksi. Proses ini dilakukan berulang-ulang hingga diperoleh sejumlah individu yang diinginkan.

Stochastic universal sampling

Metode ini memiliki nilai bias nol dan penyebaran yang minimum. Individu- individu akan dipetakan dalam suatu segmen garis secara berurut hingga tiap segmen individu memiliki ukuran yang sama dengan ukuran fitness. Kemudian akan diberikan sejumlah pointer sebanyak individu yang akan diseleksi. Misalkan jumlah individu yang akan diseleksi adalah N, maka jarak antar

pointer adalah 1/N, dan posisi pointer pertama diberikan secara acak pada

rentang [1,1/N].

Local selection

Setiap individu yang berada dalam suatu konstrain terte ntu disebut dengan lingkungan lokal dan interaksi antar individu hanya dilakukan dalam wilayah tersebut. Langkah pertama yang dilakukan adalah melakukan seleksi sebagian populasi yang berpasangan secara random. Kemudian lingkungna baru tersebut akan diberikan pada setipa individu yang terseleksi. Struktur lingkungan dari seleksi lokal berbentuk : linear (full ring dan half rng), 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. Individu yang terdapat dalam lingkundan dengan ukuran yang lebih kecil akan lebih terisolaso dibandingkan dengan individu yang terletak pada lingkungan dengan ukuran yang lebih besar.

Truncation selection

Metode ini merupakan seleksi buatan yang digunakan oleh populasi yang jumlahnya sangat besar. Individu- individu diurutkan berdasarkan nilai fitness- nya. Individu yang terbaik yang akan diseleksi menjadi induk. Parameter yang digunakan adalah suatu nilai ambang trunk yang mengindikasian ukuran populasi yang akan diseleksi sebagai induk yang berkisar antara 50-10%. Untuk individu yang berada dibawah nilai ambang tidak akan menghasilkan keturunan atau individu baru.

Tournament selection

Pada metode ini ditetapkan sebuah nilai tour untuk nilai dari individu- individu yang dipilih secara acak dari suatu populasi. Individu-individu yang terbaik dari kelompok ini akan dipilih menjadi induk. Parameter yang digunakan adalah

ukuran tour yang bernilai antara 2 hingga N, yang merupakan individu dalam populasi.

5. Operator dalam algoritma genetika

Dalam algoritma genetika, terdapat dua operator genetika yaitu : a. Operator untuk melakukan proses rekombinasi, yang terdiri dari :

i. Rekombinasi bernilai real, yaitu :

1. Rekombinasi diskrit, menukar nilai variabel antar kromosom induk. 2. Rekombinasi intermediate, yaitu metode rekombinasi yang hanya

dapat digunakan untuk variabel real. Nilai dari variabel anak dipilih disekitar dan antara nilai- nilai variabel induk.

3. Rekombinasi garis, yaitu operator yang hampir menyerupai operator rekombinasi intermediate, namun nilai alpha untuk seluruh variable bernilai sama.

4. Rekombinasi garis yang diperluas

ii. Metode Crossover, yaitu : 1. Crossover satu titik

Pada one point crossover, kromosom offspring dihasilkan melalui pengambilan kromosom parent yang pertama dan kromosom parent yang kedua yang ditentukan secara random (Andrade, 2008). Ilustrasi dari proses one point crossover dapat dilihat pada Tabel 2.3.

Tabel 2.3. One Point Crossover

Kromosom Nilai

Kromosom Parent 1 11001011

Kromosom Parent 2 11011111

2. Crossover banyak titik

Jenis crossover ini hampir sama dengan one point crossover, namun pada metode ini menggunakan 2 (dua) cut point yang dibangkitkan secara acak. (Mendes, 2013). Ilustrasi dari proses two point crossover dapat dilihat pada Tabel 2.4.

Tabel 2.4. Two Point Crossover

3. Crossover seragam

Metode ini menggunakan sebauh vektor bit acak yang berukuran sama dengan kromosom yang digunakan. Untuk menghasilkan offspring, maka akan dipilih bit-bit dalam mask vektor bit acak. Jika yang terpilih bit 0, berarti kromosom offspring diperoleh dari parent 1. Namun jika yang terpilih adalah bit 1, maka kromosom offspring diperoleh parent

2 (Andrade, 2008). Ilustrasi dari proses crossover seragam dapat

dilihat pada Tabel 2.5.

Tabel 2.5. Crossover Seragam

Kromosom Nilai Kromosom Parent 1 11001011 Kromosom Parent 2 11011111 Offspring 11011111 Kromosom Nilai Kromosom Parent 1 11001011 Kromosom Parent 2 11011111 Mask 01010101 Offspring 11011111

4. Arithmetic Crossover

Kromosom offspring diperoleh dengan melakukan operasi aritmatika terharap kromosom parent. Terdapat 3 jenis arithmetic crossover, yaitu sebagai berikut. (Picel et al, 2013).

a. Single Arithmetic Crossover

Pada metode ini, pindah silang terjadi pada salah satu gen yang posisinya ditentukan secara random. Pada posisi gen yang ditentukan, nilai gen akan ditentukan melalui proses aritmatika terhadap nilai gen dari parent seperti yang ditunjukkan pada persamaan 2.1 (Eiben, 2014).

2.1 Dimana :

α = Variabel pengali yang nilainya berkisar dari 0-1

b. Simple Arithmetic Crossover

Pada metode ini akan ditentukan bilangan random sebagai titik potong antara 0 sampai sepanjang kromosom pada masing- masing

parent. Untuk gen yang berada sebelum titik potong akan disalin

gen tersebut pada kromosom offspring. Sedangkan untuk gen yang berada setelah titik potong akan dibentuk dari proses aritmatikan dari kromosom parent dengan persamaan 2.2 (Picek, 2013).

Child = <x1,…,xk, α.yk+1 + (1- α).xk+1, …, α.yn + (1- α).xn> (2.2) Dimana :

α = Variabel pengali yang nilainya berkisar dari 0-1

c. Whole Arithmetic Crossover

Pada metode ini, gen pada kromosom offspring diperoleh dari hasil operasi aritmatika gen pada kromosom parent sesuai dengan persamaan 2.3 (Eiben, 2014).

(2.3) Dimana :

α = Variabel pengali yang nilainya berkisar dari 0-1 b. Mutasi

Operator selanjutnya dalam algoritma genetika adalah mutasi gen. Proses mutasi dilakukan untuk menggantikan nilai gen yang hilang dari populasi pada saat proses seleksi dilakukan. Dalam proses mutasi dikenal sebuah istilah peluang mutasi. Peluang mutasi didefenisikan sebagai persentasi dari jumlah total gen pada populasi yang mengalami mutasi. Peluang mutasi akan menentukan berapa jumlah gen baru yang dimunculkan untuk dievaluasi. Proses mutasi yang terdiri dari :

i. Mutasi bernilai real ii. Mutasi bernilai biner.

6. Penentuan Parameter

Parameter merupakan suatu ukuran populasi (popsize), peluang crossover (pc) dan peluang mutasi (pm). Rekomendasi untuk menentukan nilai parameter :

i. Untuk menyelesaikan permasalahan dengan kawasan solusi yang cuk up besar, De Jong merekomenasikan nilai parameter : (popsize;pc;pm) = (50;0,6;0,001)

ii. Jika rata-rata nilai fitness dari setiap generasi yang digunakan sebagai indikator, maka Grenfenstette merekomendasikan usulannya adalah : (popsize;pc;pm) = (30;0,95;0,01)

iii. Jika nilai fitness dari individu terbaik yang dipantau dari setiap generasi, maka direkomendasikan usulannya adalah (popsize;pc;pm) = (80;0,45;0,01) iv. Ukuran populasi sebaiknya tidak lebih kecil dari 30 untuk sembarang jenis

permasalahan.

2.4.3. Pengertian Individu

Individu dapat dikatakan sebagai kumpulan dari gen yang bersifat biner, float, dan kombinatorial. Beberapa defenisi penting yang perlu diperhatikan dalam

mendefenisikan individu untuk membangun penyelesaian permasalahan dengan algoritma genetika adalah sebagai berikut (Satriyanto, 2009) :

 Gen, merupakan sebuah nilai yang menyatakan satuan dasar yang dapat membentuk suatu arti tertentu dalam satu kesatuan gen yang d isebut dengan kromosom.

 Allele, merupakan nilai dari gen. Alelle dapat berupa bilangan biner, float, kombinatorial, atau karakter.

 Kromosom, merupakan gabungan dari gen- gen yang membentuk nilai tertentu.

 Individu, menyatakan satu nilai atau keadaan dari solusi yang mungkin dari persoalan yang ada.

 Generasi, merupakan satu siklus proses evolusi atau satu iterasi di dalam algoritma genetika.

 Populasi, sekumpulan individu yang akan diproses dalam satu siklus proses evolusi. Populasi terdiri dari sekumpulan kromosom.

Sumber : (Satriyanto, 2009)

Gambar 2.2. Ilustrasi representasi penyelesaian pe rmasalahan dalam algoritma genetika.

2.4.4.Nilai Fitness

Nilai fitness adalah inverse dari perbedaan antara nilai individu yang muncul dan target yang ditentukan. Nilai fitness diperlukan untuk menyatakan baik atau tidaknya suatu solusi dari permasalah yang diangkat. Nilai fitness dapat dijadikan sebuah acuan dalam mencapai nilai optimal dalam algoritma genetika. Hasil dari algoritma genetika adalah individu dengan nilai fitness yang paling tinggi. Semakin baik nilai

fitness maka akan semakin baik individu tersebut dijadikan calon solusi.

2.4.5.Elitisme

Karena pada tahapan seleksi dilakukan secara random, maka tidak ada jaminan bahwa proses tersebut akan selalu menghasilkan suatu individu yang bernilai fitness tertinggi. Jika terpilih individu dengan nilai fitness tertinggi, mungkin saja pada saat proses

crossover nilai fitness dapat menurun. Oleh karena itu, untuk menjaga agar individu

tersebut tidak hilang selama proses evolusi, maka perlu d ibuat sebuah copy-an yang disebut dengan elitisme.

Dokumen terkait