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.