Seluruh kromosom pada pengkodean ini terdiri dari barisan angka yang disusun dalam urutan tertentu seperti yang ditunjukkan pada Tabel 2.3.
Tabel 2.3. Kromosom dengan pengkodean permutasi
Kromosom 1 1 5 3 2 6 4 7 9 8
Kromosom 2
8 5 6 7 2 3 1 4 9
Proses kawin silang dan mutasi pada pengkodean ini menghasilkan kromosom yang memiliki konsistensi tertentu. Teknik pengkodean ini sering ditemui pada
masalah wiraniaga. Untuk dapat melalui sejumlah kota dengan jarak yang telah ditetapkan dalam satu kota, maka seorang wiraniaga tidak harus berkunjung ke
seluruh kota, melainkan hanya melakukan beberapa kunjungan dengan cara menyusun urutan kota yang akan dikunjungi dengan jumlah jarak seminimal
mungkin. Dengan demikian tiap kota diwakili dengan kromosom untuk setiap kota yang akan dikunjungi secara berurutan.
2.8. Inisialisasi Populasi
Inisialisasi populasi merupakan tahapan yang sangat penting dalam algoritma genetika untuk mendapatkan solusi yang optimal. Inisialisasi populasi memberikan
salinan individu yang lebih baik. Akan tetapi, proses ini tidak selamanya menghasilkan gen yang baik. Proses ini dimulai dengan membangkitkan sejumlah
individu secara acak. Untuk mendapatkan solusi, diperlukan suatu kriteria tertentu yang harus dipenuhi dengan membangkitkan individu [14].
Universitas Sumatera Utara
2.9. Operator dalam Algoritma Genetika
Algoritma genetika memiliki operator genetika yang sering digunakan, antara lain seleksi, crossover dan mutasi. Operator ini sangat berperan untuk mengubah
komposisi suatu kromosom.
2.9.1. Seleksi
Seleksi merupakan proses pemilihan calon induk. Proses seleksi merupakan teknik pemilihan kromosom yang akan dikawinsilangkan dari bakal induk yang baik
pada proses evolusi selanjutnya. Perubahan tiap individu dari satu generasi sangat ditentukan oleh nilai fitness. Tujuannya adalah menghasilkan keturunan yang terbaik
dari suatu popuasi untuk diproses melalui rekombinasi dan mutasi. Dengan dasar inilah seleksi dilakukan dengan menggunakan tiga teknik, yaitu seleksi roda roullete
fitness based selection, seleksi rangking rank selection dan seleksi turnamen tournament selection. [15] Sebagai contoh, diberikan individu a dipasangkan
dengan individu b seperti ditunjukkan pada Tabel 2.4. Tabel 2.4. Contoh proses seleksi
Individu Kromosom Fitness
a
1011 3
b
0101 2
2.9.1.1. Seleksi Roda Roullete
Pada proses seleksi Roullete, induk ditentukan menurut nilai fitness. Untuk fitness
yang tinggi, harapan untuk terpilih semakin besar. Untuk mendapatkan solusi
Universitas Sumatera Utara
yang terbaik, maka program sebaiknya melakukan seleksi dengan nilai fitness yang terendah [16]. Seleksi roda roulette merupakan metode seleksi yang paling disukai.
Prosesnya ditunjukkan pada Gambar 2.2.
Gambar 2.2 Seleksi roda roulette [16]
Cara kerja roda tersebut adalah sebagai berikut: pertama, individu-individu dipetakan pada segmen garis yang berdekatan, sehingga masing-masing individu
berukuran sama sesuai dengan fitness. Kedua, nomor acak dibangkitkan dan seluruh individu berada pada daerah nomor acak yang telah dipilih. Ketiga, proses kemudian
diulangi sampai ditemukan nomor individu yang sesuai keinginan. Kromosom dalam kelompok yang terpilih disusun dalam roda roulette berdasarkan pada nilai fitness.
Kemudian roda diputar ke sejumlah kromosom yang ada dalam populasi, kromosom dengan fitness tertinggi memiliki kesempatan terbesar untuk terpilih selama kawin
silang dan mutasi [10][16].
Universitas Sumatera Utara
2.9.1.2. Seleksi Ranking
Seleksi roda roullete ternyata memiliki kekurangan. Hal ini akan nampak bila selisih yang terjadi pada nilai fitness cukup jauh. Misalkan, bila fitness kromosom
terbaik menjadi 95 dari percobaan roda roullete, maka mengakibatkan kormosom lain memiliki kesempatan sangat kecil untuk dapat dipilih. Dengan dasar inilah lalu
diperkenalkan teknik seleksi lain yaitu seleksi ranking. Prinsip kerja dari seleksi ini adalah melakukan ranking terlebih dahulu seluruh kromosom yang akan diseleksi
berdasarkan nilai fitnes untuk mendapatkan nilai fitness baru. Seleksi ini memiliki prioritas tertentu mulai dari fitness terburuk yang bernilai 1, terburuk kedua bernilai
2, dan seterusnya sampai diperoleh fitness terbaik. Kromosom dengan nilai fitness terbaik akan memiliki nilai fitness ke N, dimana N merupakan jumlah kromosom di
dalam suatu populasi [13]. Proses sebelum di-ranking ditunjukkan pada Tabel 2.5.
Tabel 2.5. Seleksi ranking sebelum di-ranking
Kromosom Fitness
P 12
Q 5
R 15
S 3
T 9
Universitas Sumatera Utara
Proses seleksi setelah di-ranking ditunjukkan pada Tabel 2.6. Tabel 2.6. Seleksi ranking setelah di-ranking
Kromosom Fitness Fitnes Baru
S 3
1 Q
5 2
T 9
3 P
12 4
R 15
5
2.9.1.3. Seleksi Turnamen
Algoritma genetika menggunakan mekanisme seleksi untuk mendapatkan individu dari kumpulan populasi. Individu yang dikawinkan digunakan untuk
membangkitkan keturunan baru offspring dan menjadi dasar membentuk generasi selanjutnya. Jika individu dalam kelompok dikawinkan, maka seluruh sifat gen baru
akan diturunkan ke generasi selanjutnya. Hasil kawin ini diharapkan dapat menghasilkan individu yang baik. Mekanisme seleksi dalam algoritma genetika
merupakan proses sederhana yang membantu seleksi individu yang lebih baik dalam populasi pada kelompok pasangan [17].
Seleksi turnamen memberikan tekanan seleksi dengan mengatur turnamen selama saingan s menurut ukuran turnamennya. Tekanan seleksi dengan
meningkatkan individu yang lebih baik lagi disebut tekanan seleksi lanjutan. Tekanan seleksi ini mengatur algoritma genetika untuk memperbaiki hasil fitness dari suatu
populasi. Pemenang dari turnamen adalah individu dengan nilai fitness tertinggi kemudian dimasukkan ke dalam kumpulan kawin silang. Kumpulan pasangan yang
Universitas Sumatera Utara
terdiri dari pemenang turnamen, memiliki nilai rata-rata fitness yang lebih tinggi dibandingkan dengan rata-rata fitness populasinya. Perbedaan dari nilai fitness ini
memberikan tekanan seleksi, yang mengatur algoritma genetika untuk memperbaiki nilai fitness dari masing-masing generasi yang berhasil. Seleksi turnamen mirip
dengan seleksi kedudukan rank selection, tetapi perhitungannya lebih efisien dan lebih dapat dipertanggungjawabkan pada kasus yang lebih kompleks. Kedua individu
dipilih secara acak dari populasi [13].
2.9.2. Kawin Silang
Kawin silang crossover sering digunakan untuk menghasilkan keturunan baru berdasarkan induk yang terpilih. Aturan kawin silang dalam algoritma genetika
adalah mengkombinasikan bit dari solusi yang fit. Proses pengulangan banyak digunakan oleh operator crossover untuk mendapatkan gen populasi. Operator
crossover merupakan teknik yang sering digunakan dalam algoritma genetika dengan
harapan bahwa kromosom baru berubah menjadi kromosom yang lebih baik [18].
2.9.2.1. Kawin Silang 1 titik
Selama fase reproduksi, individu dipilih dari populasi dan rekombinasi, kemudian menghasilkan keturunan baru offspring. Induk diseleksi secara acak dari
populasi dengan menggunakan suatu skema pendukung individu. Individu yang baik harus dipilih beberapa kali dalam satu generasi, karena sekali seleksi saja tidak dapat
mewakili seluruhnya. Salah satu teknik yang diperkenalkan adalah crossover satu
Universitas Sumatera Utara
titik, dimana prinsip kerjanya adalah dengan mengambil dua induk, kemudian memotong kromosom string-nya beberapa posisi secara acak untuk menghasilkan
dua bagian utama dan pendukung. Bagian pendukung kemudian ditukar untuk menghasilkan dua kromosom baru lihat Gambar 2.3. Kedua induk yang
dihasilkannya masing-masing mewarisi beberapa gen dari induknya. Teknik ini disebut kawin silang satu titik [19][20].
induk 1 0 1 0 0 0 1 1 1 0
0 0 1 1 0 1 0 0 1 0 keturunan
1 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0
Gambar 2.3. Kawin silang 1 titik
2.9.2.2. Kawin Silang 2 Titik
Perkawinan silang 2 titik merupakan perkembangan dari cara sebelumnya dengan memilih secara acak untuk melakukan pertukaran bit kromosom. Dalam
kawin silang dua titik two point crossover, kromosom ditampilkan sebagai loop yang dibentuk berdasarkan penggabungan bersama. Untuk menukar bagian satu loop
dengan loop lain dibutuhkan seleksi dua titik potong, seperti yang ditunjukkan oleh
titik crossover titik crossover
Universitas Sumatera Utara
Gambar 2.4. Dalam hal ini, kawin silang satu titik ditampilkan sebagai kawin silang dua titik dengan satu titik potong pada string awal. Secara umum, kawin silang dua
titik menunjukkan fungsi yang sama seperti kawin silang satu titik. Selain itu cara lain adalah dengan menyalin barisan bit kromosom orang tua pertama dari bit
pertama sampai dengan titik perkawinan silang pertama dan dari titik perkawinan silang kedua sampai dengan bit terakhir. Perkawinan silang dengan dua titik lebih
disukai daripada kawin silang satu titik [11] [14].
Gambar 2.4. Kawin silang 2 titik [14]
2.9.2.3. Kawin Silang Seragam
Kawin silang seragam crossover uniform sangat berbeda dengan kawin silang satu titik. Tiap gen dalam keturunan dihasilkan dengan menyalin gen yang
bersesuaian dari satu atau lebih induk dan terpilihlah gen yang sesuai dengan kawin silang terlindung crossover mask yang dibangkitkan. Jika hasil yang didapat dari
Universitas Sumatera Utara
kawin silang tertutup bernilai 1, maka gen merupakan hasil salinan dari induk yang pertama, sebaliknya jika kawin silang terlindung bernilai 0, maka gen yang disalin
merupakan hasil dari induk kedua. Proses diulangi dengan induk yang bergantian untuk menghasilkan keturunan yang kedua. Hasil kawin silang terlindung yang baru
dibangkitkan secara acak pada pasangan dari tiap induk [18]. Untuk lebih jelasnya perhatikan Gambar 2.5.
crossover mask 1 0 0 1 0 1 1 1 0 0
induk 1 1 0 1 0 0 0 1 1 1 0
keturunan 1 1 1 0 0 0 0 1 1 1 1
induk 2 0 1 0 1 0 1 0 0 1 1
Gambar 2.5. Kawin silang seragam
2.9.2.4. Kawin Silang Rekombinasi
Kawin silang rekombinasi memilih secara acak dari semua gen yang ada pada induk untuk mendapatkan gen anak [11]. Contoh kawin silang rekombinasi
diperlihatkan Tabel 2.7. Tabel 2.7 Kawin silang rekombinasi
Kromosom
Kromosom induk 1 1 5 9 12 14
Kromosom induk 2 1 3 4 16 2
Keturunan 1 1 5 4 16 14
Keturunan 2 1 4 9 12 1
Universitas Sumatera Utara
2.9.3. Mutasi
Mutasi merupakan operator algoritma yang digunakan untuk menentukan perbedaan genetika dari satu generasi ke generasi lainnya. Setelah hasil kawin silang
terbentuk tetapi sebelum keturunan terbentuk, terlebih dahulu harus menjalani tahap mutasi. Peristiwa ini mengacu pada perhitungan mutasi. Mutasi tidak selamanya
menghasilkan gen baru, dan dapat merupakan hasil salinan gen induk. Tujuan dilaksanakannya mutasi adalah untuk menekan gangguan dan menghasilkan allele
baru dalam populasi [4]. Pemutaran mutasi ditetapkan jika dua allele diputar merubah susunan penjadwalan seperti pada Gambar 2.6. Jika perhitungan mutasi terlalu tinggi,
dapat mengakibatkan keturunan yang baik akan hilang dan mengurangi harapan nilai fitness
yang tinggi dari ruang solusi. Beberapa sistem tidak menggunakan operator mutasi. Sebagai gantinya, sistem mempercayakan gangguan noise untuk mengacak
populasi yang dihasilkan pada inisialisasi sehingga diperoleh gen yang dapat melakukan penggabungan ulang.
sebelum mutasi Allele
1 Allele
2 Allele
3 Allele
4 Allele
5 Allele
6 Allele
7 Allele
8 setelah mutasi
Allele 1
Allele 6
Allele 3
Allele 4
Allele 5
Allele 2
Allele 7
Allele 8
Gambar 2.6. Operasi mutasi dalam Algoritma Genetika
keturunan
mutasi
Universitas Sumatera Utara
Pada Gambar 2.6 terlihat bahwa ketika gen telah diseleksi melalui mutasi, lalu gen hasilnya diubah menjadi angka. Pada kasus representasi biner, mutasi sederhana
pada gen tunggal menyebabkan nilai gen menjadi komplit dari 1 menjadi 0 dan sebaliknya [14].
2.9.3.1. Mutasi Biner
Mutasi ini termasuk jenis yang paling sederhana. Cara kerjanya berdasarkan bit pada kromosom yang dipilih secara acak, lalu nilainya diinversi dan diubah menjadi
lawannya [11]. Untuk jelasnya perhatikan Tabel 2.8. Tabel 2.8. Mutasi pada pengkodean biner
Kromosom sebelum mutasi 1 1 1 0 0 0 1 1
Kromosom setelah mutasi 1 1 1 0 0 0 0 1
2.9.3.2. Mutasi Permutasi
Salah satu teknik yang dilakukan pada pengkodean permutasi adalah dengan memilih dua posisi pada kromosom lalu posisinya saling dipertukarkan. Tetapi perlu
diingat bahwa proses mutasi pada pengkodean permutasi harus konsisten dalam mengurutkannya [11]. Untuk lebih jelasnya, perhatikan Tabel 2.9.
Tabel 2. 9. Mutasi pada pengkodean permutasi
Kromosom sebelum mutasi 9 8 7 6 5 4 3 2
Kromosom setelah mutasi
9 3 7 6 5 4 8 2
Universitas Sumatera Utara
2.9.3.3. Mutasi Nilai
Mutasi pada pengkodean biner dapat diaplikasikan pada pengkodean nilai karena urutan kromosomnya tidak perlu dijaga. Dalam hal ini prosesnya tidak
menginversi bit. Sebagai contoh, nilai yang dinyatakan dalam bilangan nyata dimutasi dengan cara menukarkan nilai dari dua gen yang terdapat pada kromosom.
Cara ini kurang efektif untuk mendapatkan nilai yang sama. Oleh karena itu ada cara lain yang lebih efektif yaitu dengan memilih posisi gen secara acak pada kromosom,
kemudian menambah atau menguranginya dengan suatu nilai yang kecil secara acak [11]. Lebih jelasnya perhatikan Tabel 2.10.
Tabel 2.10 Contoh mutasi pada pengkodean nilai riil
Kromosom sebelum dimutasi 1,43 1,09 4,51 9,11 6,94
Kromosom setelah dimutasi
1,43 1,19 4,51 9,01 6,94
2.10. Elitisme