21
dihasilkan, maka diharapkan solusi yang baik dari permasalahan tersebut juga didapatkan.
2.7.1 Istilah dalam Algoritma Genetika
Terdapat beberapa definisi penting dalam Algoritma Genetika yang perlu diperhatikan, yaitu:
1. 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 biner, float,
integer maupun karakter atau kombinatorial. 2.
Allele, merupakan nilai dari gen. 3.
KromosomIndividu, merupakan gabungan gen-gen yang membentuk nilai tertentu dan menyatakan solusi yang mungkin dari suatu permasalahan.
4. Populasi, merupakan sekumpulan individu yang akan diproses bersama
dalam satu siklus proses evolusi. 5.
Generasi, menyatakan satu siklus proses evolusi atau satu iterasi di dalam algoritma genetika.
6. Fitness, menyatakan seberapa baik nilai dari suatu individu yang
didapatkan.
2.7.2 Struktur 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. 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 seleksi, proses crossover, proses mutasi dan pengulangan proses sebelumnya.
22
1 Pendefinisian Individu
Pendefinisian individu merupakan proses pertama yang harus dilakukan dalam Algoritma Genetika yang menyatakan salah satu solusi yang
mungkin dari suatu permasalahan yang diangkat. Pendefinisian individu atau yang biasa disebut juga merepresentasikan kromosom yang akan
diproses nanti, dilakukan dengan mendefinisikan jumlah dan tipe dari gen yang digunakan dan tentunya dapat mewakili solusi permasalahan yang
diangkat. Gen dapat direpresentasikan dalam bentuk: bit, bilangan real, string, daftar
aturan, gabungan dari beberapa kode, elemen permutasi, elemen program atau representasi lainnya yang dapat diimplementasikan untuk operator
genetika. 2
Membangkitkan Populasi Awal dan Kromosom Membangkitkan populasi awal adalah proses membangkitkan sejumlah
individu atau kromosom 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.
Teknik yang digunakan dalam pembangkitan populasi awal adalah Random Generation. Dimana cara ini melibatkan pembangkitan bilangan
random untuk nilai setiap gen sesuai dengan representasi kromosom yang digunakan.
IPOP = round{randomNipop, Nbits} 2.8
Dimana IPOP adalah gen yang nantinya berisi pembulatan dari bilangan random yang dibangkitkan sebanyak Nipopjumlah populasi X Nbits
jumlah gen dalam tiap kromosom. 3
Nilai Fitness Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran
performansinya. Pada masalah optimasi, solusi yang akan dicari adalah memaksimumkan fungsi h dikenal sebagai masalah maksimasi sehingga
nilai fitness yang digunakan adalah nilai dari fungsi h tersebut, yakni f = h
23
di mana f adalah nilai fitness. Tetapi jika masalahnya adalah meminimalkan fungsi h masalah minimasi, maka fungsi h tidak bisa
digunakan secara langsung. Hal ini disebabkan adanya aturan bahwa individu yang memiliki nilai fitness tinggi lebih mampu bertahan hidup
pada generasi berikutnya. Oleh karena itu nilai fitness yang dapat digunakan adalah f = 1h, yang artinya semakin kecil nilai h, semakin
besar nilai f. Tetapi hal ini akan menjadi masalah jika h bisa bernilai 0, yang mengakibatkan f bisa bernilai tak hingga. Untuk mengatasinya, h
perlu ditambah sebuah bilangan yang dianggap kecil [0-1] sehingga nilai fitnessnya menjadi = 1h+1 dengan a adalah bilanga nyang kecil dan
bervariansi [0-1] sesuai dengan masalah yang akan diselesaikan. 4
Proses 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. Metode seleksi yang umumnya digunakan adalah roulette
wheel. Cara kerja metode ini adalah sebagai berikut: a.
Hitung total fitness semua individu fi dumana I adalah individu ke-1 sampak ke-n.
b. Hitung probabilitas seleksi masing-masing individu.
2.9 c.
Dari probabilitas tersebut, dihitung jatah interval masing-masing individu pada angka 0 sampai 1.
d. Bangkitkan bilangan random antara 0 sampai 1.
e. Dari bilangan random yang dihasilkan tentukan urutan untuk populasi
baru hasil proses seleksi, 2.10
24
Dimana C adalah nilai komulatif probabilitas, R adalah nilai random dari roulette-wheel dan K adalah iterasi kromosom.
5 Pindah Silang Crossover
Sebuah kromosom yang mengarah pada solusi yang baik dapat diperoleh dari proses memindah-silangkan dua buah kromosom. Pindah silang hanya
bisa dilakukan dengna suatu probabilitas crossover, artinya pindah silang bisa dilakukan hanya jika suatu bilangan random yang dibangkitkan
kurang dari probabilitas crossover yang ditentukan. Pada umumnya probabilitas tersebut diset mendekati 1.
Pindah silang yang paling sederhana adalah pindah silang satu titik potong one-point crossover. Suatu titik potong dipilih secara acak random,
kemudian bagian pertama dari parent 1 digabungkan dengan bagian kedua dari parent 2. Pada crossover satu titik, posisis crossover k k-1,2,..N-1
dengan N merupakan panjang kromosom yang diseleksi secara random. Contoh:
11001 011 + 11011111 = 11001111
Kromosom yang idjadikan induk dipilih secara acak dan jumlah kromosom yang mengalami crossover dipengaruhi oleh parameter
crossover_rate pc. Pseudo-code untuk proses crossover adalah: begin
k ← 0;
while kpopulasi do R[k] ← random0-1;
if R[k] pc then select Chromosome[k] as parent;
end; k = k + 1;
end; end;
6 Mutasi
25
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom. Mutasi ini berperan untuk menggantikan gen yang
hilang dari populasi akibat seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. Metode mutasi
yang digunakan adalah mutasi dalam pengkodean nilai. Proses mutasi dalam pengkodean nilai dapat dilakukan dengan berbagai cara, salah
satunya yaitu dengan memilih sembarang posisi gen pada kromosom, nilai yang ada tersebut kemudian dirubah dengan suatu nilai tertentu yang
diambil secara acak. Jumlah kromsom yang mengalami mutasi dalam satu populasi ditentukan
oleh parameter mutation_rate. Untuk memilih posisi gen yagn mengalami mutasi dilakukan dengan cara membangkitkan bilangan integer acak
antara 1 sampai total_gen. Kemudian tentukan berapa banyak mutasi yang terjadi dengan menentukan variable mutation_rate pm dari total gen yang
mengalami populasi. Maka nilai gen pada posisi tersebut diganti dengan bilangan acak.
7 Offspring
Offspring merupakan kromosom baru yang dihasilkan setelah melalui proses-proses sebelumnya. Kemudian pada offspring tersebut dihitung
nilai fitnessnya apakah sudah optimal atau belum, jika sudah optimal berarti offspring tersebut merupakan solusi optimal, tetapi jika belum
optimal maka akan diseleksi kembali, begitu seterusnya sampai terpenuhi kriteria berhenti. Beberapa kriteria berhenti yang sering digunakan antara
lain : 1.
Berhenti pada generasi tertentu. 2.
Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah.
3. Berhenti bila dalam n generasi berikut tidak didapatkan nilai fitness
yang lebih tinggi.
26
2.8 Model Pengembangan Waterfall