2.4 Teknik Pengkodean
Pengkodean adalah suatu teknik untuk menyatakan populasi awal sebagai calon solusi suatu masalah ke dalam suatu kromosom sebagai suatu kunci pokok persoalan ketika
menggunakan algoritma genetika Desiani, 2005. Agar dapat diproses melalui algoritma genetika, maka harus dikodekan terlebih dahulu ke dalam bentuk
kromosom. Kromosom akan berisi informasi sejumlah gen yang mengkodekan informasi.
Ada beberapa jenis pengkodean yang dapat digunakan dalam algoritma genetika yaitu pengkodean biner binary encoding, pengkodean nilai value
encoding, pengkodean permutasi permutation enocding, pengkodean pohon tree encoding.
2.4.1 Pengkodean Biner
Pengkodean ini merupakan pengkodean yang sering digunakan dan paling sederhana. Pada pengkodean biner setiap kromosom direpresentasikan dalam barisan bit 0 atau 1,
seperti dapat dilihat pada tabel 2.1 berikut ini: Tabel 2.1 Contoh Pengkodean Biner
Kromosom A 10101011010
Kromosom B 11000010111
Pengkodean biner memberikan banyak kemungkinan untuk kromosom walaupun dengan jumlah nilai-nilai yang mungkin terjadi dalam suatu gen sedikit 0 atau 1.
Pengkodean ini sering tidak sesuai untuk beberapa masalah terkadang harus dilakukan pengkoreksian setelah operasi crossover dan mutasi.
2.4.2 Pengkodean Nilai
Didalam pengkodean nilai setiap kromosom adalah string dari suatu nilai di mana nilai yang dikodekan langsung merupakan representasi dari masalah seperti bilangan bulat,
desimal ataupun karakter. Contoh pengkodean ini dapat dilihat pada tabel 2.2 pada halaman 13.
Universitas Sumatera Utara
Tabel 2.2 Contoh Pengkodean Nilai Kromosom A
1.345, 4.534, 7.654, 8.789 Kromosom B
ABC, ADC, CBC, BCA Kromosom C
1, 3, 4, 7, 5 Kromosom D
Forward, backward, right, left
2.4.3 Pengkodean Pohon
Pengkodean pohon digunakan untuk menyusun program atau ekspresi didalam algoritma genetika. Dalam pengkodean pohon ini, setiap kromosom dinyatakan
sebagai sebuah pohon dari setiap objek, seperti fungsi atau perintah dalam bahasa pemograman. Pengkodean pohon sangat baik dalam pembangunan sebuah program.
Bahasa pemrograman LISP biasanya sering menggunakan pengkodean pohon, karena program didalamnya dapat direpresentasikan ke dalam bentuk ini, dan dapat dengan
mudah di parse menjadi sebuah pohon, sehingga crossover dan mutasi dapat dilakukan dengan lebih mudah. Contoh pengkodean pohon dapat dilihat pada gambar
dibawah ini: -ab+CDEF
Gambar 2.3 Pengkodean Pohon
2.4.4 Pengkodean Permutasi
Pengkodean permutasi adalah pengkodean yang digunakan dalam masalah pengurutan data ordering problem, seperti masalah wiraniaga travelling salessman problem,
atau masalah pengurutan tugas task ordering problem. Pada pengkodean ini setiap kromosom merupakan barisan angka yang merepresentasikan angka dalam urutan.
Pengkodean ini berguna untuk masalah ordering, bahkan beberapa korelasi terhadap
Universitas Sumatera Utara
kromosom harus dilakukan untuk menjaga konsistensi representasi kromosom setelah proses crossover dan mutasi. Sebagai contoh, dapat dilihat pada tabel 2.3 berikut ini:
Tabel 2.3 Contoh Pengkodean Permutasi Kromosom A
2 6 7 5 1 3 4 9 8 10 Kromosom B
10 5 4 9 7 1 3 2 6 8
2.5 Membangkitkan Populasi Awal dan Kromosom