Istilah dalam Algoritma Genetika Struktur Algoritma Genetika

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