BAB 2
LANDASAN TEORI
Pada bab ini akan membahas landasan atas teori-teori yang bersifat ilmiah untuk mendukung penulisan tugas akhir ini. Teori-teori yang dibahas mengenai pengertian penjadwalan, algoritma genetika, dan beberapa subpokok pembahasan lainnya yang menjadi landasan dalam penulisan tugas akhir ini.
2.1 Pengertian Penjadwalan
Penjadwalan adalah proses penyusunan menentukan jadwal yang tepat terhadap suatu pekerjaan untuk mencapai suatu tujuan tertentu terhadap sumber daya yang tersedia sesuai dengan constraint yang harus dipenuhi (Soraya, 2007). Penjadwalan mata kuliah (lecture timetabling) adalah masalah menempatkan waktu dan ruangan kepada sejumlah kuliah, tutorial, dan kegiatan akademik sejenis, dengan memperhatikan sejumlah aturan yang berhubungan dengan kapasitas dan lokasi dari ruangan yang tersedia, waktu bebas yang diperlukan dan sejumlah aturan lain yang berkaitan dengan toleransi untuk dosen, dan hubungan antarmata kuliah khusus.
2.2 Pengertian Algoritma Genetika
Algoritma genetika pertama kali dikembangkan oleh John Holland dari Universitas Michigan pada tahun 1975. John Holland menyatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan kedalam terminologi
Universitas Sumatera Utara
8
genetika. Algoritma genetika adalah simulasi dari proses evolusi darwin dan operasi genetika atas kromosom (Kusumadewi, 2003).
Algoritma genetika mengikuti prosedur atau tahap-tahap yang menyerupai proses evolusi, yaitu adanya proses seleksi, crossover dan mutasi. Pada setiap generasi, himpunan baru dari deretan individu dibuat berdasarkan kecocokan pada generasi sebelumnya (Goldberg, 1989). Keberagaman pada evolusi biologis adalah variasi dari kromosom dalam individu organisme. Variasi kromosom ini akan mempengaruhi laju reproduksi dan tingkat kemampuan organisme untuk tetap hidup (Kristanto, 2004).
Teknik pencarian yang dilakukan algoritma genetika dari himpunan solusi secara acak disebut dengan populasi. Sedangkan setiap individu dalam populasi disebut kromosom. Kromosom berevolusi dalam suatu proses iterasi yang berkelanjutan yang disebut generasi. Pada setiap generasi, kromosom akan dievaluasi berdasarkan fungsi fitness (Gen dan cheng, 1997). Setelah beberapa generasi, maka algoritma genetika akan konvergen pada kromosom terbaik yang diharapkan merupakan solusi optimal (Goldberg, 1989).
Pendekatan
yang
diambil
oleh
algoritma
genetika
adalah
dengan
menggabungkan secara acak berbagai pilihan solusi terbaik didalam suatu populasi untuk mendapatkan individu baru (offspring) yaitu pada suatu kondisi yang memaksimalkan kecocokan yang disebut fitness. Algoritma genetika adalah algoritma pencarian heuristik yang didasarkan atas mekanisme evolusi biologis (Kusumadewi, 2003).
Algoritma genetika sangat tepat digunakan untuk menyelesaikan permasalahan optimasi yang kompleks. Didalam algoritma genetika, solusi permasalahan direpresentasikan ke dalam bentuk kromosom. Tiga aspek yang penting untuk penggunaan algoritma genetika yaitu : 1. Fungsi fitness. 2. Implementasi representasi genetik berupa kromosom. 3. Implementasi operasi genetik berupa operator crossover dan mutasi.
Universitas Sumatera Utara
9
2.3 Struktur Umum Algoritma genetika
Secara umum struktur dari suatu algoritma genetika dapat didefenisikan dengan langkah-langkah sebagai berikut : 1. Mulai Proses algoritma genetika dimulai dengan membangun populasi random sebanyak n kromosom (sesuai dengan masalahnya). 2. Populasi Awal Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan solusi yang diinginkan. 3. Evaluasi fitness Pada setiap generasi kromosom-kromosom akan dievaluasi berdasarkan tingkat keberhasilan nilai solusinya terhadap masalah yang ingin diselesaikan dengan menggunakan evaluasi fitness. Proses evaluasi fitness adalah melakukan evaluasi setiap fitness f(x) dari setiap kromosom x pada populasi. 4. Pembentukan Generasi Baru Proses ini dilakukan secara berulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru (offspring) dimana generasi baru merupakan representasi dari solusi baru. 5. Seleksi Untuk memilih kromosom yang akan tetap dipertahankan untuk generasi selanjutnya maka dilakukan proses seleksi. Proses seleksi dilakukan dengan memilih 2 kromosom parent dari populasi berdasarkan fitnessnya (semakin besar fitnessnya, maka semakin besar kemungkinannya untuk terpilih). 6. Crossover Proses selanjutnya melakukan perkawinan silang sesuai dengan besarnya kemungkinan perkawinan silang, orang tua (parent) yang terpilih disilangkan untuk membentuk anak (offspring). Jika tidak ada crossover, maka anak merupakan salinan dari orang tuanya. Jumlah kromosom dalam populasi yang mengalami perkawinan silang (crossover) ditentukan oleh parameter yang disebut dengan probabilitas perkawinan silang (crossover probability, Pc).
Universitas Sumatera Utara
10
7. Mutasi Proses mutasi dilakukan sesuai dengan besarnya kemungkinan mutasi yang telah ditentukan, anak dimutasi pada setiap lokus (posisi pada kromosom). Jumlah gen dalam populasi yang mengalami mutasi ditentukan oleh parameter yang disebut dengan probabilitas mutasi (mutationr probabilit, Pm). Setelah beberapa generasi akan dihasilkan, 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 Apabila generasi baru memenuhi syarat regenerasi, maka proses akan selesai. Namun, apabila generasi baru tidak memenuhi syarat regenerasi, maka proses akan kembali ke evaluasi fitness.
Parameter yang digunakan dalam algoritma genetika adalah : 1. Fungsi fitness untuk menentukan tingkat kesesuaian individu tersebut. 2. Populasi jumlah individu pada setiap generasi. 3. Probabilitas terjadinya crossover pada setiap generasi. 4. Probabitas terjadinya mutasi pada setiap generasi. 5. Jumlah generasi yang akan dibentuk.
Golberg (1989) mengemukakan bahwa algoritma genetika mempunyai karakteristikkarakteristik yang perlu diketahui sehingga dapat dibedakan dari prosedur pencarian atau optimasi yang lain, yaitu: 1. Algoritma genetika dengan pengkodean dari himpunan solusi permasalahan berdasarkan parameter yang telah ditetapkan bukan parameter itu sendiri. 2. Algoritma genetika pencarian pada sebuah solusi dari sejumlah individuindividu yang merupakan solusi permasalahan bukan hanya dari sebuah individu. 3. Algoritma genetika informasi fungsi objektif (fitness), sebagai cara untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari suatu fungsi. 4. Algoritma genetika menggunakan aturan-aturan transisi peluang, bukan aturanaturan deterministik.
Universitas Sumatera Utara
11
Pada algoritma genetika ini terdapat beberapa definisi penting yang harus dipahami sebelumnya, yaitu : a. Gen Gen merupakan nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. b. Kromosom / Individu Kromosom merupakan gabungan dari gen-gen yang membentuk nilai tertentu dan menyatakan solusi yang mungkin dari suatu permasalahan. c. Populasi Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu satuan siklus evolusi. d. Fitness Fitness menyatakan seberapa baik nilai dari suatu individu yang didapatkan. e. Seleksi Seleksi merupakan proses untuk mendapatkan calon induk yang baik. f. Crossover Crossover merupakan proses pertukaran atau kawin silang gen-gen dari dua induk tertentu. g. Mutasi Mutasi merupakan proses pergantian salah satu gen yang terpilih dengan nilai tertentu. h. Generasi Generasi merupakan urutan iterasi dimana beberapa kromosom bergabung. i. Offspring Offspring merupakan kromosom baru yang dihasilkan.
Universitas Sumatera Utara
12
Gambar 2.1 Individu dalam Algoritma Genetika
2.4 Proses Algoritma Genetika
Dalam algoritma genetika, variabel dikodekan ke dalam struktur string yang merepresentasikan barisan gen. Himpunan solusi yang dihasilkan secara acak disebut populasi. Sedangkan setiap individu dalam populasi disebut kromosom. Kromosomkromosom akan melalui proses evolusi yaitu adanya proses seleksi, crossover dan mutasi dalam suatu proses iterasi yang berkelanjutan yang disebut generasi. Pada setiap generasi, kromosom dievaluasi dengan menggunakan alat ukur yang disebut dengan fungsi fitness. Nilai fitness dari suatu kromosom akan menunjukkan kualitas dari kromosom dalam pupolasi tersebut. Generasi berikutnya dikenal dengan istilah anak ( offspring ) terbentuk dari gabungan dua kromosom orang tuanya. Kromosom generasi sekarang bertindak sebagai induk dan dengan menggunakan operator
Universitas Sumatera Utara
13
crossover atau dengan operator mutasi akan menghasilkan keturunan baru lagi yang lebih unggul dari induknya. Setelah beberapa generasi maka algoritma genetika akan konvergen pada kromosom terbaik, yang diharapkan menghasilkan individu baru (offspring).
Algoritma genetika adalah algoritma pencarian hasil yang terbaik, yang didasarkan pada perkawinan silang (crossover) dan seleksi gen secara alami. Kombinasi crossover ini dilakukan dengan proses acak (random). Dimana struktur gen hasil proses crossover ini, akan menghasilkan gen inovatif untuk diseleksi. Dalam setiap generasi, offspring diperoleh dari bit-bit dan bagian-bagian gen induk yang terbaik. Diharapkan dengan mengambil dari gen induk yang terbaik ini diperoleh gen akan yang lebih baik lagi. Dalam menyusun suatu algoritma genetika, maka diperlukan beberapa tahapan proses yaitu proses seleksi, proses crossover, dan proses mutasi.
2.5 Komponen-Komponen algoritma Genetika
Secara umum sebuah penerapan Algoritma genetika akan melalui siklus sederhana yang terdiri dari 4 langkah, yaitu : 1. Membangun sebuah populasi yang terdiri dari beberapa string. 2. Evaluasi masing-masing string (fitness value). 3. Proses seleksi agar didapat string yang terbaik. 4. Manipulasi genetika untuk menciptakan populasi baru dari string.
Siklus 4 Langkah dari proses Algoritma genetika dapat dilihat pada gambar yang dibawah ini :
Universitas Sumatera Utara
14
Gambar 2.2 Siklus Algoritma Genetika
2.6 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.6.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 berikut ini :
Universitas Sumatera Utara
15
Tabel 2.1 Contoh Pengkodean Biner Kromosom A
1010101011
Kromosom B
1100001010
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.6.2
Pengkodean Nilai
Didalam pengkodean nilai setiap kromosom adalah string dari suatu nilai dimana nilai yang dikodekan langsung merupakan representasi dari masalah seperti bilangan bulat, desimal ataupun karakter. Contoh pengkodean ini dapat dilihat pada tabel dibawah ini
Tabel 2.2 Contoh Pengkodean Nilai
2.6.3
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, righ, left
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 pemograman 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
Universitas Sumatera Utara
16
dilakukan dengan lebih mudah. Contoh pengkodean pohon dapat dilihat pada gambar dibawah ini : (*(-(ab))(+(*(CD))(/(EF))))
* A
+ B
C
*
D
/
E
F
Gambar 2.3 Pengkodean Pohon
2.6.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 kromosom harus dilakukan untuk menjaga konsistensi representasi koromosom setelah proses crossover dan mutasi. Sebagai contoh, dapat dilihat pada tabel 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
Universitas Sumatera Utara
17
2.7 Operator dalam Algoritma Genetika
Operator yang sering digunakan pada algoritma genetika adalah seleksi, crossover dan mutasi. Pemilihan jenis operator yang digunakan tergantung dari masalah yang akan diselesaikan.
2.7.1 Seleksi
Proses seleksi dalam algoritma genetika bertujuan memberikan kesempatan reproduksi yang lebih besar bagi individu-individu yang terdapat dalam suatu populasi yang paling baik. Langkah awal dalam seleksi ini adalah pencarian nilai fitness. Nilai fitness inilah nantinya akan digunakan pada tahap seleksi berikutnya (Kusumadewi, 2003).
Ada beberapa metode yang dapat dipilih pada proses seleksi antara lain seleksi roda rolet (roulette wheel selection), seleksi ranking (rank selection) dan seleksi turnamen (tournament selection).
2.7.1.1 Seleksi Roullete Wheel
Calon induk yang akan dipilih berdasarkan nilai fitness yang dimilikinya, semakin baik individu tersebut yang ditunjukkan dengan semakin besar nilai fitnessnya akan mendapatkan kemungkinan yang lebih besar untuk terpilih sebagai induk. Misalkan saja roulette wheel merupakan tempat untuk menampung seluruh kromosom dari tiap populasi, maka besarnya tempat dari roulette wheel tersebut menunjukkan seberapa besar nilai fitness yang dimiliki oleh suatu kromosom, semakin besar nilai fitness tersebut, maka semakin besar pula tempat yang tersedia. Ilustrasinya dapat digambarkan sebagai berikut :
Universitas Sumatera Utara
18
Gambar 2.4 Seleksi Roda Roulette
2.7.1.2 Seleksi Ranking
Seleksi ranking merupakan metode seleksi dimana populasi diurutkan berdasarkan nilai fitnessnya sehingga nilai yang diharapkan dari tiap individu bergantung kepada urutannya bukan hanya kepada nilai fitnessnya. Metode seleksi akan memiliki masalah ketika terdapat perbedaan fitness yang jauh, maka oleh sebab itu metode seleksi ranking bertujuan untuk menghindari terjadinya hasil konvergen yang terlalu cepat dari proses seleksi orang tua. Dalam seleksi ranking, dilakukan perumpamaan sesuai dengan nilai fitnessnya, nilai fitness terkecil diberi nilai 1, yang terkecil kedua diberi nilai 2, dan begitu seterusnya sampai yang terbagus diberi nilai N (jumlah kromosom dalam populasi). Nilai tersebut yang akan diambil sebagai presentasi tepat yang tersedia. Ilustrasinya dapat dilihat seperti pada gambar berikut :
Gambar 2.5 Seleksi Rangking (situasi sebelum ranking)
Universitas Sumatera Utara
19
Gambar 2.6 Seleksi Rangking (situasi sesudah ranking)
2.7.1.3 Seleksi Tournament
Seleksi tournament merupakan variasi gabungan antara seleksi roulette wheel dan seleksi ranking. Pada metode seleksi turnamen ini, kromosom akan dipilih secara random. Untuk memilih satu calon parent, nilai fitness kedua kromosom dibandingkan. Kromosom dengan nilai fitness yang terbaik dipilih sebagai calon parent. Parameter yang digunakan pada metode ini adalah ukuran tour bernilai 2 sampai N (jumlah individu dalam suatu populasi).
2.7.1.4 Seleksi Steady State
Metode ini tidak banyak digunakan dalam proses seleksi karena dilakukan dengan mempertahankan individu yang terbaik. Pada setiap generasi, akan dipilih beberapa kromosom dengan nilai fitnessnya yang terbaik sebagai induk, sedangkan kromosomkromosom yang memiliki nilai fitness terburuk akan digantikan dengan offspring yang baru. Sehingga pada generasi selanjutnya akan terdapat beberapa populasi yang bertahan.
Universitas Sumatera Utara
20
2.7.2
Penyilangan (Crossover)
Crossover adalah proses untuk menyilangkan dua kromosom sehingga membentuk kromosom anak (offspring) yang diharapkan lebih baik dari pada induknya. Crossover bertujuan menambah keanekaragaman string dalam populasi dengan penyilangan antar-string yang diperoleh dari sebelumnya. Prinsip dari crossover adalah melakukan operasi (pertukaran, aritmatika) pada gen-gen yang bersesuaian dari dua induk untuk menghasilkan individu baru. Operator crossover ini bergantung pada representasi kromosom yang dilakukan.
Parameter yang terpenting dalam proses crossover adalah crossover rate yang merupakan nilai perbandingan jumlah kromosom yang diharapkan akan mengalami crossover terhadap jumlah kromosom dalam satu populasi. Dibawah ini beberapa jenis crossover tersebut.
2.7.2.1 Penyilangan (Crossover) Satu Titik
Pada crossover satu titik, pemilihan posisi crossover k (k=1,2,..., N-1) dengan N = panjang kromosom diseleksi secara random. Pada proses crossover dilakukan dengan memisahkan satu string menjadi dua bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan dengan cara yang sama. Sebagai contoh dapat dilihat pada gambar berikut ini :
Gambar 2.7 Contoh Crossover Satu Titik
Universitas Sumatera Utara
21
2.7.2.2 Penyilangan (Crossover) Banyak Titik
Proses ini dilakukan dengan memilih dua titik crossover. Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal kromosom sampai titik crossover pertama disalin dari orang tua pertama, bagian dari titik crossover pertama dan kedua disalin dari kedua disalin dari orang tua kedua, kemudian selebihnya disalin dari orang tua pertama lagi. Pada crossover banyak titik, m posisi penyilangan
(k=1,2,..., N-1,
i=2,...,m) dengan N = panjang kromosom diseleksi secara random dan tidak diperbolehkan ada posisi yang sama, serta diurutkan naik. Variabel-variabel ditukar antar kromosom pada titik tersebut untuk menghasilkan anak. Sebagai contoh dapat dilihat pada gambar berikut ini :
Gambar 2.8 Contoh Crossover Banyak Titik
2.7.2.3 Penyilangan (Crossover) Seragam
Crossover seragam menghasilkan kromosom keturunan dengan menyalin bit-bit secara acak dari kedua orangtuanya. Pada crossover seragam, setiap tempat memiliki peluang sebagai tempat penyilangan. Sebagai contoh dapat dilihat pada tabel berikut ini :
Universitas Sumatera Utara
22
Tabel 2.4 Contoh Crossover Seragam Parent 1
10110011
Parent 2
00011010
Mask
11010110
Child 1
10011010
Child 2
00110011
2.7.2.4 Penyilangan (Crossover) dengan permutasi 2.7.2.4.1 Partial-Mapped Crossover (PMX)
PMX merupakan rumusan modifikasi dari pindah silang dua-poin. Hal yang penting dari PMX adalah pindah silang 2-poin ditambah dengan beberapa prosedur tambahan. Langkah kerja PMX dapat dilihat pada gambar dibawah ini:
1. Pilih posisi untuk menentukan substring secara acak Induk 1
1
2
3
4
5
6
7
8
9
Induk 2
5
4
6
9
2
1
7
8
3
2. Tukar substring diantara induk Proto-child 1
1
2
6
9
2
1
7
8
9
Proto-child 2
5
4
3
4
5
6
7
8
3
3. Menetukan hubungan mapping
Universitas Sumatera Utara
23
4. Menentukan kromosom keturunan mengacu pada hubungan mapping
Keturunan 1
3
5
6
9
2
1
7
8
4
Keturunan 2
2
9
3
5
4
6
7
8
1
Gambar 2.9 Contoh Partial-Mapped Crossover (PMX)
2.7.2.4.2 Order Crossover (OX)
Metode ini merupakan variasi dari PMX dengan prosedur tambahan. Langkah kerja OX dapat dilihat pada gambar dibawah ini: 1. Memilih substring dari induk dengan cara acak Induk 1
1
2
3
4
5
6
7
8
9
Induk 2
5
4
6
9
2
1
7
8
3
2. Produksi proto-child dengan mengosongkan tempat substring induk2 pada induk1 Proto-child 1
3
Proto-child 2
4
5
6
7
8
9
2
1
7
8
3. SHR substring pada tempat yang bersesuaian
4.
Proto-child 1
7
8
3
4
5
Proto-child 2
7
8
9
2
1
Tukar posisi substring Keturunan 1
7
8
6
9
2
1
3
4
5
Keturunan 2
7
8
3
4
5
6
9
2
1
Gambar 2.10 Contoh Order Crossover (OX)
Universitas Sumatera Utara
24
2.7.2.4.3
Cycle Crossover (CX)
Metode ini mengkopi nilai dari satu induk dan memilih nilai yang lain dari induk yang lain, dengan mengingat pola cycle. Langkah kerja CX dapat dilihat pada gambar dibawah ini: 1. Tentukan pola cycle Induk 1
1
2
3
4
5
6
7
8
9
Induk 2
5
4
6
9
2
3
7
8
1
Pola cycle 1
5
2
4
9
1
2. Kopi nilai dalam cycle pada proto-child Proto-child
1
2
4
5
9
3. Tentukan nilai yang diingat dari induk yang lain Induk 2
5
4
Nilai yang tidak ada
6
9
6
2
3
3
7
7
8
1
8
9
8
4. Mengisi nilai yang diingat dalam keturunan Keturunan 1
1
2
6
4
5
3
7
Dengan cara yang sama memperoleh keturunan 2 Keturunan 2
5
4
3
9
2
6
7
8
1
Gambar 2.11 Contoh Cycle Crossover (CX)
Universitas Sumatera Utara
25
2.7.3 Mutasi
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom. Individu yang telah melewati proses seleksi dan crossover akan menghasilkan individu baru (offspring) yang akan dimutasi untuk membantu mempercepat terjadinya perbedaan individu pada populasi. Mutasi berperan untuk menggantikan gen yang hilang dari populasi akibat proses seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi.
2.7.3.1 Mutasi Pengkodean Biner
Mutasi pengkodean biner merupakan operasi yang sangat sederhana. Proses mutasi pengkodean biner dilakukan dengan cara menginversi nilai bit pada kromosom yang terpilih secara acak (atau menggunakan skema tertentu) dengan diubah nilainya menjadi nilai lawannya (0 ke 1, atau 1 ke 0). Sebagai contoh, dapat dilihat pada tabel berikut ini :
Tabel 2.5 Contoh Mutasi Pengkodean Biner Keadaan Kromosom
Proses Mutasi
Kromosom sebelum mutasi
1000 1111 1011 0110
Kromosom sesudah mutasi
10011 1011 0110
2.7.3.2 Mutasi Pengkodean Nilai
Mutasi pengkodean nilai adalah proses yang terjadi pada saat pengkodean nilai. Proses mutasi dalam pengkodean nilai dapat dilakukan dengan cara memilih sembarang posisi gen pada kromosom, dan nilai yang ada kemudian ditambahkan atau dikurangkan dengan suatu nilai kecil tertentu yang diambil secara acak. Sebagai contoh, dapat dilihat pada tabel berikut ini, yaitu nilai riil ditambahkan dan dikurangkan dengan nilai 0 dan 1.
Universitas Sumatera Utara
26
Tabel 2.6 Contoh Mutasi Pengkodean Nilai Keadaan Kromosom
Proses Mutasi
Kromosom sebelum mutasi
1,45 2,67 1,87 2,56
Kromosom sesudah mutasi
1,55 2,67 1,77 2,56
2.7.3.3 Mutasi Pengkodean Permutasi
Proses mutasi pengkodean permutasi tidak sama halnya dengan proses mutasi yang dilakukan pada pengkodean biner dengan mengubah langsung bit-bit pada kromosom. Salah satu cara yang dapat dilakukan adalah dengan memilih dua posisi (locus) dari kromosom dan kemudian nilainya saling dipertukarkan. Orangtua yang berada dibawah titik crossover dipertukarkan untuk menghasilkan anak baru. Contoh Mutasi pada pengkodean permutasi, dapat dilihat pada tabel di berikut ini :
Tabel 2.7 Contoh Mutasi Pengkodean Permutasi Keadaan Kromosom
Proses Mutasi
Kromosom sebelum mutasi
123456789
Kromosom sesudah mutasi
127465839
Beberapa operator mutasi telah diciptakan untuk representasi permutasi, seperti metode inversion, insertion, displacement, dan reciprocal exchange mutation. a. Inversion Mutation Inversion mutation dilakukan dengan cara memilih substring secara acak kemudian substring yang terpilih dibalik dan penempatan substring pada posisi yang sama. Penyisipan tersebut posisi acak. Contoh ilustrasi operasi mutasi ini, dapat dilihat pada gambar berikut ini:
Gambar 2.12 Contoh Inversion Mutation
Universitas Sumatera Utara
27
b. Insertion Mutation Insertion Mutation dilakukan dengan cara memilih salah satu gen secara acak kemudian gen yang terpilih disisipkan ke posisi yang lain. Penyisipan tersebut pada posisi acak. Contoh ilustrasi operasi mutasi ini, dapat dilihat pada gambar berikut ini:
Gambar 2.13 Contoh Insertion Mutation
c.
Exchange Mutation Exchange Mutation dilakukan dengan cara memilih dua gen secara acak kemudian posisi gen pertama ditukar dengan posisi gen kedua. Contoh ilustrasi proses mutasi ini, dapat dilihat pada gambar berikut ini:
Gambar 2.14 Contoh Exchange Mutation
2.7.3.4 Mutasi Pengkodean Pohon
Mutasi pada pengkodean pohon dilakukan dengan cara mengubah operator ( +, -, *, / ) atau nilai yang terkandung dalam suatu verteks pohon yang dipilih. Atau dapat juga dilakukan pemulihan dua verteks dari pohon dan saling mempertukarkan operator atau nilainya. Contoh mutasi dalam pengkodean pohon dapat dilihat pada tabel berikut ini :
Universitas Sumatera Utara
28
Tabel 2.8 Contoh Mutasi Pengkodean Pohon Sebelum Mutasi
Sesudah Mutasi
+
+
X
X
*
6
y
( + x ( * 6 y))
+
6
y
( + x ( + 6 y))
Parameter Genetik
2.8
Pengoperasian algoritma genetika dibutuhkan 3 parameter (Juniawati, 2003) yaitu: 1.
Probabilitas Persilangan (Crossover Probability) Menunjukkan kemungkinan crossover terjadi antara 2 kromosom. Jika tidak terjadi crossover maka keturunannya akan sama persis dengan kromosom orangtua, tetapi tidak berarti generasi yang baru akan sama persis dengan generasi yang lama. Jika probabilitas crossover 100% maka semua keturunannya dihasilkan dari crossover. Crossover dilakukan dengan harapan bahwa kromosom yang baru akan lebih baik.
2. Probabilitas Mutasi (Mutation Probability) Menunjukkan kemungkinan mutasi terjadi pada gen-gen yag menyusun sebuah kromosom. Jika tidak terjadi mutasi maka keturunan yang dihasilkan setelah crossover tidak berubah. Jika terjadi mutasi, bagian kromosom akan berubah. Jika probabilitas 100%, semua kromosom dimutasi. Jika probabilitasnya 0%, tidak ada yang mengalami mutasi.
Universitas Sumatera Utara
29
3. Ukuran Populasi Menunjukkan jumlah kromosom yang terdapat dalam populasi. Jika hanya sedikit kromosom dalam populasi maka algoritma genetika akan mempunyai sedikit variasi kemungkinan untuk melakukan crossover. Sebaliknya jika terlalu banyak maka algoritma genetika akan berjalan lambat dalam menemukan solusi.
Ada beberapa rekomendasi parameter yang bisa digunakan, yaitu: Untuk permasalahan yang memilki kawasan solusi cukup besar, De Jong merekomendasikan untuk nilai parameter kontrol : (popsize; pc; pm)
=
(50;0,6;0,001). Bila rata-rata fitness setiap generasi digunakan sebagai indikator, maka Grenfenstette merekomendasikan : (popsize;pc;pm) = (30;0,95;0,01) Bila fitness dari individu terbaik dipantau pada setiap generasi, maka usulannya adalah: (popsize;pc;pm) = (80;0,45;0.01). Ukuran populasi sebaiknya tidak lebih kecil dari 30, untuk sembarang jenis permasalahan.
Universitas Sumatera Utara