HASIL DAN PEMBAHASAN
4.2. Implementasi Algoritma Genetika
4.2.1. Implementasi Algoritma Genetika Konvensional
Implementasi algoritma genetika secara konvensional terdiri atas langkah-langkah berikut ini:
a. Pembentukan populasi
Pada penerapannya populasi dibentuk dari jumlah kotak kosong pada puzzle dan di isi dengan angka yang mungkin secara acak. Dari data yang digunakan pada gambar 4.1 puzzle sudoku dapat dilihat bahwa kotak yang kosong ada 45, dengan demikian panjang kromosom adalah 45. Pada penelitian ini dalam 1 populasi terdiri dari 9 kromosom, sehingga populasi yang dapat di bentuk adalah sebagai berikut:
k1
1 2 4 5 7 9 4 8 2 4 4 3 5 8 7 9 5 2 4 1 6 9 1 4 2 7 2 4 9 6 3 5 1 9 4 2 8 3 6 7 8 3 7 4 2k2
3 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1k3
3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2k4
4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3k5
5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4k6
6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5k7
7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7k8
8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6k9
9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8Gambar 4.2. Populasi awal
Bentuk kromosom diatas secara acak telah mewakili seluruh kemungkinan angka pada puzzle sudoku yaitu kombinasi angka 1 s/d 9. Langkah selanjutnya adalah memasukkan setiap angka dalam kromosom kedalam puzzle sudoku yang kosong satu persatu. Langkah ini bertujuan untuk mendapatkan nilai fitness setiap kromosom.
Nilai fitness akan menetukan kelayakan kromosom untuk dapat di pertahankan atau justru dibuang. Penyelesaian akan berhenti jika nilai fitness mencapai nilai sempurna yaitu 45.
Walaupun populasi pada penelitian ini dibuat dengan jumlah kromosom 9, nantinya hanya ada 1 kromosom yang akan di ambil sebagai solusi dari puzzle sudoku, yaitu yang mencapai nilai fitness terbaik.
b. Menghitung Nilai Fitness
Menghitung nilai fitness diperoleh dengan cara mengambil nilai dari gen-gen atau allele setiap kromosom untuk dimasukkan kedalam puzzle kosong, lalu akan dihitung berapa banyak angka yang berulang pada setiap baris, kolom dan blok. Untuk lebih jelasnya proses menghitung nilai fitness dijelaskan pada gambar berikut ini:
29
Nilai dari kromosom dimasukkan kedalam puzzle yang kosong pada gambar 4.3, sehingga menjadi seperti gambar berikut ini:
1 6 3 2 3 4 5 6 8 selanjutnya adalah mencari dan menghitung angka yang berulang pada setiap baris, kolom dan blok puzzle. Untuk lebih jelasnya ditampilkan pada gambar berikut ini:
1 6 3 2 3 4 5 6 8
Pada gambar 4.5 diatas terlihat angka yang diberi tanda merah artinya angka tersebut berulang dan tidak unik, karena memiliki pasangan yang sama disalah satu baris, kolom atau pun blok. Selanjutnya yang dilakukan adalah menghitung angka yang berwarna merah tersebut, sehingga dari kromosom 1 didapat:
Angka yang berulang = 33
Nilai fitness = jumlah panjang kromosom - angka yang berulang
= 45 – 33
= 12
Jadi nilai fitness untuk kromosom 1 adalah 12.
Untuk seluruh kromosom dalam populasi tersebut nilai fitness nya disajikan dalam tabel berikut:
Tabel 4.1. Nilai fitness
Kromosom Angka Yang Berulang Nilai Fitness
k1 33 12
31
c. Seleksi
Proses seleksi akan mempertahankan individu yaitu kromosom yang baik dan membuang individu yang buruk dengan melihat nilai fitness masing-masing.
Dari tabel 4.1 nilai fitness yang disajikan, maka dapat dilihat bahwa kromosom 9 adalah nilai terendah. Pada penelitian ini aturan melakukan seleksi adalah 1 individu yang dapat dibuang. Sehingga kromosom 9 akan di buang dan sebagai gantinya salah satu kromosom dengan nilai fitness yang baik akan di ekstrak sebanyak 2 kali menggantikan kromosom 9. Kromosom yang dipilih adalah kromosom 2. Sehingga bentuk populasi yang baru menjadi seperti gambar berikut ini:
k1
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9k2
2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1k3
3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2k4
4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3k5
5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4k6
6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5k7
7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6k8
8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7k9
2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1Gambar 4.6. Populasi baru
Setelah populasi berubah, otomatis nilai fitness juga berubah, sehingga nilai fitness baru menjadi:
Tabel 4.2. Nilai fitness yang baru
Kromosom Angka Yang Berulang Nilai Fitness
k1 33 12
k2 32 13
k3 32 13
k4 33 12
k5 35 10
k6 32 13
k7 37 8
k8 37 8
k9 32 13
Menghitung nilai fitness adalah langkah mencari apakah solusi puzzle sudah ditemukan atau belum, jika sudah ditemukan kromosom dengan nilai sempurna maka proses akan berhenti karena fitness tujuan sudah dicapai. Karena nilai fitness belum ada yang mencapai nilai tujuan, maka proses akan berlanjut ke langkah berikutnya yaitu crossover.
d. Crossover
Serangkaian proses yang dilalui dalam algoritma genetika adalah untuk mencapai nilai fitness terbaik, demikian pula dengan crossover. Setelah melakukan crossover diharapkan kromosom-kromosom yang berpindah silang akan semakin baik nilai fitness nya.
Aturan dalam crossover pada penelitian ini adalah menggunakan one point crossover, probability crossover (pc) sebesar 25% dari jumlah kromosom, artinya ada 2 kromosom yang akan di crossover. Kromosom yang di pilih untuk crossover pada tahap ini adalah kromosom 7 dan kromosom 8. Lebih jelasnya dapat dilihat pada gambar berikut ini:
33
k1
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9k2
2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1k3
3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2k4
4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3k5
5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4k6
6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5k7
7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6k8
8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7k9
2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1Gambar 4.7. Crossover Point
Dari gambir 4.7 dapat dilihat pada kromosom 7 dan 8 ada sebuah garis potong yang sama, garis ini menjadi penanda atau biasa disebut sebagai crossover point. Nilai gen/ allele pertama pada kromosom 7 sampai dengan crossover point akan di pindah silang dengan nilai gen/ allele setelah crossover point sampai dengan seterusnya pada kromosom 8.
Untuk lebih jelasnya hasil dari proses pindah silang di tampilkan pada gambar berikut ini:
k1
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9k2
2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1k3
3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2k4
4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3k5
5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4k6
6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5k7
7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7k8
8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6k9
2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1Gambar 4.8. Hasil crossover
Dari hasil crossover diatas maka nilai fitness sebenarnya juga telah berubah, namun nilai fitness tidak perlu dihitung pada tahap ini karena masih harus melalui langkah selanjutnya yaitu mutasi.
e. Mutasi
Tahap terakhir adalah mengganti nilai-nilai gen/ allele secara acak, tahap ini disebut dengan proses mutasi. Aturan pada mutasi yaitu probability mutation sebesar 10% dari seluruh jumlah gen. Karena jumlah seluruh ada 405, artinya ada sebanyak 40 gen-gen yang akan di ganti nilai nya untuk mencapai nilai fitness tujuan.
Proses mutasi ditampilkan pada gambar berikut ini.
35
k1
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9k2
2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1k3
3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2k4
4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3k5
5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4k6
6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5k7
7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7k8
8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6k9
2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1Gambar 4.9. Proses mutasi
Dari gambar 4.9 diatas dapat dilihat bahwa ada 40 gen pada populasi yang akan diganti, gen-gen yang akan diganti tersebut diberi tanda merah muda. Dan hasil dari mutasi gen-gen tersebut ditampilkan oleh gambar berikut ini:
k1
1 2 4 5 7 9 4 8 2 4 4 3 5 8 7 9 5 2 4 1 6 9 1 4 2 7 2 4 9 6 3 5 1 9 4 2 8 3 6 7 8 3 7 4 2k2
3 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1k3
3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2k4
4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3k5
5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4k6
6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5k7
7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7k8
8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6k9
2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1Gambar 4.10. Hasil mutasi
Dari gambar 4.10 diatas terlihat bahwa angka pada gen-gen yang ditandai dengan warna merah muda sudah berubah, dengan demikian nilai fitness pada setiap kromosom dalam populasi ini sudah berubah.
Langkah selanjutnya adalah menghitung nilai fitness, dan didapatkan hasil sebagai berikut:
Tabel 4.3. Nilai fitness akhir
Kromosom Angka Yang Berulang Nilai Fitness
k1 0 45
k2 32 13
k3 32 13
k4 33 12
k5 35 10
k6 32 13
k7 39 6
k8 38 7
k9 32 13
Pada tabel 4.3 memperlihatkan nilai fitness seluruh kromosom setelah menjalani proses mutasi. Pada data diatas terlihat nilai fitness kromosom 1 telah mencapai nilai sempurna, sehingga proses akan berakhir sampai disini. Langkah selanjutnya adalah memasukkan nilai dari kromosom 1 yang memiliki nilai fitness sempurna kedalam puzzle-puzzle yang kosong sudoku.
Lebih jelas nya bentuk puzzle yang telah diisi dengan nilai dari kromosom 1 ditampilkan oleh gambar berikut ini:
37
k1
1 2 4 5 7 9 4 8 2 4 4 3 5 8 7 9 5 2 4 1 6 9 1 4 2 7 2 4 9 6 3 5 1 9 4 2 8 3 6 7 8 3 7 4 21 6 3 2 4 4 5 6 8
2 7 7 6 8 9 1 3 5
5 8 9 7 3 1 6 9 1
2 1 2 3 5 6 5 6 7
3 7 8 8 9 9 1 2 3
6 4 8 5 7 4 7 5 3
8 9 1 2 3 4 5 8 1
7 5 1 8 9 1 2 3 4
5 6 6 5 1 7 9 8 2
Gambar 4.11. Puzzle yang terisi kromosom dengan fitness tertinggi
Puzzle sudoku pada gambar 4.11 terlihat tidak lagi memiliki angka yang berulang. Hal ini membuktikan jika algoritma genetika telah berhasil melakukan pencarian untuk kromosom tujuan.
Namun demikian jika dilihat proses dan banyak data yang digunakan untuk mencapai hasil ini, diperolah kesimpulan bahwa proses yang dilalui memakan waktu yang cukup lama dan data yang relatif banyak.
Data pengujian algoritma genetika secara konvensional diperlihatkan pada gambar dan grafik berikut ini:
Tabel 4.4. Data pengujian algoritma genetika konvensional Atribut Gen Kromosom Populasi Generasi
Jumlah 405 9 1 34
Dari data pada tabel diatas didapat grafik berikut:
Gambar 4.12. Grafik data pengujian genetika konvensional
Grafik data pengujian pada gambar 4.12 diatas memperlihatkan data yang diperlukan algoritma genetika sampai menemukan tujuan. Sedangkan data waktu pengujian disajikan pada tabel berikut ini.
Tabel 4.5. Pengujian waktu komputasi Pengujian Waktu (detik)
1 4.09
2 4.03
3 4.06
4 3.90
5 5.06
6 4.01
7 4.61
8 4.71
9 4.80
10 4.44
Dari tabel pengujian waktu diatas terlihat dengan 10 kali pengujian yang dilakukan waktu komputasi tidak terlalu baik, karena hanya mendapatkan waktu terbaik yaitu 3,90 detik pada pengujian ke-4.
Dari hasil ini maka dibutuhkan suatu strategi untuk mengoptimasi algoritma genetika agar berjalan lebih baik dari segi komputasi maupun data uji, yaitu dengan menerapkan batasan/ optimasi.
39