Nilai fitness nilai kelayakan dan fungsi objektif fungsi tujuan Update generasi Langkah algoritma genetika

adalah TSP traveling salesman problem. Traveling salesman problem merupakan cara bagaimana menentukan rute minimal untuk mengunjungi beberapa tempat atau kota. Jika ada 10 kota yang akan dikunjungi, maka satu kromosom akan mempunyai 10 gen, dimana tiap-tiap gen mewakili satu kota. Posisi atau urutan gen dalam kromosom menentukan urutan kota yang harus dilalui. Contoh kromosomnya dapat dilihat pada gambar 2.3. Kromosom 1 2 6 7 5 1 3 4 9 8 10 Kromosom 2 10 5 4 9 7 1 3 2 6 8 Gambar 2.3 Kromosom dengan pengkodean permutasi Pada kromosom 1 berarti kota yang pertama dikunjungi adalah kota 1, kemudian kota 2 demikian seterusnya sampai kota 10.

2.4.2 Nilai fitness nilai kelayakan dan fungsi objektif fungsi tujuan

Dalam proses evolusi individu yang survive bertahan hidup dari proses seleksi alam akan mempunyai kesempatan untuk bereproduksi kembali. Dengan demikian, kemampuan individu untuk dapat beradaptasi dan bertahan hidup untuk selamat sangat penting. Dalam terminologi algoritma genetika kemampuan suatu individu kromosom untuk bertahan hidup dapat diukur berdasarkan nilai fitness-nya. Semakin baik nilai fitness nilai kelayakan suatu kromosom maka akan semakin baik peluang kromosom tersebut untuk bertahan hidup dan ikut dalam proses reproduksi. Nilai fitness suatu kromosom dapat dihitung dengan menggunakan fungsi objektif.

2.4.3 Seleksi

Universitas Sumatera Utara Proses seleksi bertujuan untuk memilih kromosom yang akan dijadikan sebagai parent kromosom induk pada proses crossover pindah silang. Ada beberapa metode yang dapat dipilih pada proses seleksi, antara lain Roulette Wheel Selection, Rank Selection dan Tournament Selection.

2.4.3.1 Roulette wheel selection

Pada roulette wheel selection, kromosom akan dipilih secara acak ditentukan dengan memperhitungkan nilai kelayakan masing-masing kromosom. Semakin besar nilai kelayakan suatu kromosom, semakin besar pula peluang kromosom tersebut untuk terpilih sebagai parent kromosom induk. Pengkodean roulette wheel dapat dianalogikan seperti permainan roda putar. Pada permainan roda putar, lingkaran roda dibagi menjadi beberapa wilayah. Pada roulette wheel selection, lebar suatu wilayah kromosom ditentukan menurut nilai fitness-nya, semakin besar nilai fitness-nya maka akan semakin besar wilayahnya, dan semakin besar pula peluang kromosom tersebut untuk terpilih. Ilustrasi dari roulette wheel selection dapat dilihat pada gambar 2.4. Gambar 2.4 Roulette wheel selection Proses roulette wheel selection dijelaskan pada algoritma sebagai berikut: 1. [Sum] Jumlahkan semua nilai fitness nilai kelayakan tiap-tiap kromosom pada populasi S. 2. [Select] Generate bilangan random pada interval 0,S-r. Universitas Sumatera Utara 3. [Loop] secara sekuensial dari kromosom pertama, jumlahkan nilai fitness kromosom-s. apabila pada kromosom ke-i sr maka berhenti, maka kromosom i terpilih sebagai kandidat parent. Contoh dari roulett whell selection dapat dilihat pada tabel 2.1. Tabel 2.1 Contoh roulett wheel selection Kromosom Fitness Si Bil.Random r 0, 110 Kromosom Terpilih Kromosom 1 20 20 35 Kromosom 3 Kromosom 2 10 30 90 Kromosom 5 Kromosom 3 30 60 45 Kromosom 3 Kromosom 4 10 70 10 Kromosom 1 Kromosom 5 40 110 70 Kromosom 4 Jumlah S = 110 Pada tabel di atas dapat disimpulkan bahwa ukuran pupulasi adalah 5. Nilai Si merupakan nilai akumulasi dari nilai fitness kromosom ke 1 sampai kromosom ke i. Untuk memilih kromosom yang akan menjadi calon parent maka dibangkitkan bilangan random 0, S. Bilangan random yang dibangkitkan sebanyak 5 buah sesuai dengan ukuran populasinya. Apabila ri Si dan ri Si-1 maka kromosom yang terpilih adalah kromosom ke i. Pada tabel di atas r1 = 35, karena 35 S3 60 dan 35 S2 30 maka kromosom yang terpilih adalah kromosom 3.

2.4.3.2 Rank selection

Pada pengkodean ranking, kromosom pada populasi diranking sesuai dengan nilai fitness-nya, kemudian kromosom diberi nilai fitness nilai kelayakan yang baru sesuai dengan rankingnya. Kromosom dengan ranking terbawah akan mendapat nilai fitness 1, ranking terbawah kedua mendapat nilai fitness 2, demikian seterusnya. Kromosom dengan ranking terbaik akan mendapat nilai fitness N. Gambar 2.5 dan gambar 2.6 Universitas Sumatera Utara masing-masing mengilustrasikan kondisi dari nilai fitness sebelum dan sesudah proses ranking. Gambar 2.5 Nilai fitness sebelum diranking Gambar 2.6 Nilai fitness sesudah diranking Dari gambar 2.6 dapat diketahui setelah diranking, semua kromosom mempunyai kesempatan terpilih karena kromosom dengan nilai terbaik tidak mempunyai perbedaan yang besar dengan kromosom yang lain. Contoh dari rank selection dapat dilihat pada tabel 2.2. Tabel 2.2 Contoh rank selection Kromosom Fitness Awal Ranking Fitness setelah ranking Si Bil.Random r 0, 15 Kromosom Terpilih Kromosom 1 20 3 3 3 5 Kromosom 2 Kromosom 2 10 4 2 5 3 Kromosom 1 Kromosom 3 30 2 4 9 7 Kromosom 3 Kromosom 4 40 1 5 14 8 Kromosom Universitas Sumatera Utara 3 Kromosom 5 5 5 1 15 13 Kromosom 4 Jumlah S = 15 Pada tabel di atas dapat dilihat bahwa rank selection hampir sama dengan roulett whell selection. Hanya saja sebelum kromosom dipilih nilai fitness tiap kromosom diganti sesuai dengan rankingnya. Nilai fitness hasil dari pemeringkatan ini yang kemudian dijadikan acuan pada saat pemilihan kromosom.

2.4.3.3 Tournament selection

Pada tournament selection, setiap satu kromosom kandidat parent dipilih dari proses tournament. Untuk memilih satu calon parent, dipilih dua buah kromosom secara acak. Kemudian nilai fitness kedua kromosom tersebut dibandingkan, kromosom dengan nilai fitness terbaik dipilih sebagai calon parent. Demikian juga untuk memilih calon parent yang lain. Ilustrasi dari tournament selection ditunjukkan pada gambar 2.7. Kromosom 1 Fitness : 10 Kromosom 2 Fitness : 15 Kromosom 3 Fitness : 20 Kromosom 4 Fitness : 40 Kromosom 5 Fitness : 35 Kromosom 6 Fitness : 25 Kromosom 7 Fitness : 30 Kromosom 8 Fitness : 45 Kromosom 2 Kromosom 6 Kromosom 8 Kromosom 5 Kromosom 5 Kromosom 3 Kromosom 8 Kromosom 4 Gambar 2.7 Tournament selection Universitas Sumatera Utara Pada gambar di atas dapat disimpulkan ukuran populasinya adalah 8. Untuk memilih sebuah kromosom mula-mula dipilih sepasang kromosom. Selanjutnya sepasang kromosom yang terpilih dibandingkan nilai fitness-nya. Kromosom dengan nilai fitness yang lebih besar adalah kromosom yang dipilih. Pada contoh di atas kromosom 2 yang dipilih dari proses turnamen antara kromosom 2 dan kromosom 1.

2.4.4 Crossover

Crossover atau pindah silang adalah proses pembentukan kromosom anak offspring. Crossover bertujuan menambah keanekaragaman string dalam satu populasi dengan penyilangan antar-string yang diperoleh dari reproduksi sebelumnya Arhami, 2005, hal:196. Beberapa jenis crossover sebagai berikut:

2.4.4.1 Crossover pengkodean biner

Ada beberapa metode crossover pindah silang dengan pengkodean biner, yaitu sebagai berikut:

2.4.4.1.1 Crossover 1 titik

Proses crossover dilakukan dengan memisahkan suatu 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. Kromosom orangtua 1 11001011 Kromosom orangtua 2 11011111 Keturunan 11001111 Gambar 2.8 Contoh crossover 1 titik Universitas Sumatera Utara

2.4.4.1.2 Crossover 2 titik

Proses crossover pindah silang ini dilakukan dengan memilih dua titik crossover. Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal kromosom sampai titik crossover pertama disalin dari orangtua pertama, bagian dari titik crossover pertama dan kedua disalin dari orangtua kedua, kemudian selebihnya disalin dari orang tua pertama lagi. Kromosom orangtua 1 11001011 Kromosom orangtua 2 11011111 Keturunan 11011111 Gambar 2.9 Contoh crossover 2 titik

2.4.4.1.3 Crossover seragam

Crossover pindah silang seragam menghasilkan kromosom keturunan dengan menyalin bit-bit secara acak dari kedua orangtuanya. Kromosom orangtua 1 11001011 Kromosom orangtua 2 11011111 Keturunan 11011111 Gambar 2.10 Contoh crossover seragam

2.4.4.1.4 Arithmatic crossover

Kromosom offspring kromosom anak diperoleh dengan melakukan operasi aritmatika terhadap parent induk. Operasi yang dapat dilakukan antara lain AND, OR, XOR dan lain-lain. Contoh dari arithmatic crossover dapat dilihat pada gambar 2.11. Universitas Sumatera Utara Parent-1 10101001 AND Parent-2 10111010 Offspring 10101000 Gambar 2.11 Contoh arithmatic crossover

2.4.4.1.5 Crossover pengkodean permutasi

Jenis crossover pindah silang untuk pengkodean permutasi hanyalah single point crossover. Metode ini dilakukan dengan memilih satu titik crossover p pada kromosom parent kromosom induk secara acak. Gen ke-1 sampai gen ke-p pada parent 1 dikopikan menjadi gen offspring kromosom anak. Sisa gen yang belum terpenuhi diambil dari parent 2 dengan cara sekuensial dari gen ke-1 parent 2 sampai gen terakhir, dengan syarat gen tersebut belum ada dalam kromosom offspring. Contoh dari crossover pada pengkodean permutasi dapat dilihat pada gambar 2.12. Parent 1 2 3 4 1 5 7 6 8 Parent 2 5 1 3 8 6 4 2 7 Offspring1 2 3 4 1 5 8 6 7 Offspring2 5 1 3 8 2 4 7 6 Gambar 2.12 Contoh single point crossover pengkodean permutasi Titik crossover pada gen ke-4. Offspring pertama dihasilkan dari gen 1 sampai gen 4 parent 1, kemudian gen yang berikutnya pada offspring 1 diambil dari parent 2. Gen parent 2 dicek secara sekuensial dari gen 1 sampai gen 8. Apabila gen yang dicek belum ada pada gen yang diambil dari parent 1 maka gen pada parent 2 tersebut diambil untuk menjadi bagian pada offspring 1. Universitas Sumatera Utara

2.4.5 Update generasi

Proses crossover akan menghasilkan kromosom-kromosom baru offspring yang akan menyebabkan ukuran populasi akan bertambah. Untuk menjaga agar ukuran populasi tetap, maka harus ada kromosom yang dibuang. Proses ini dinamakan dengan update generasi. Proses update generasi dapat dilakukan dengan mengurutkan kromosom dalam populasi berdasarkan nilai fitness-nya, selanjutnya diambil n kromosom dengan nilai kromosom terbaik. Kromosom yang terpilih kemudian akan menjadi populasi yang baru.

2.4.6 Langkah algoritma genetika

Algoritma genetika dimulai dengan membuat himpunan solusi kromosom yang disebut dengan populasi. Populasi mula-mula dibuat secara acak. Selanjutnya populasi yang sudah terbentuk akan digunakan untuk membentuk populasi yang baru dengan harapan populasi yang baru lebih baik dari populasi sebelumnya. Solusi-solusi yang ada dalam populasi kemudian dipilih untuk membentuk solusi baru offspring, yang dipilih berdasarkan nilai fitness-nya. Proses ini diulang sampai kondisi yang diinginkan. Berikut ini adalah urutan proses algoritma genetika: 1. Inisialisasi populasi, membuat populasi secara acak. 2. Evaluasi nilai fitness. 3. Membuat populasi baru dengan cara seleksi, crossover dan mutasi 4. Update generasi, ganti populasi yang lama dengan populasi baru. 5. Cek kondisi berhenti, apabila belum terpenuhi maka kembali ke proses 2. Universitas Sumatera Utara Gambar 2.13 Diagram alir algoritma genetika sederhana Mulai Bangkitkan populasi awal Evaluasi fungsi tujuan Apakah kriteria optimasi tercapai? Individu- individu terbaik Seleksi Rekombinasi Mutasi Hasil Selesai Ya Tidak Universitas Sumatera Utara

2.4.7 Konsep algoritma genetika