Fungsi Evaluasi Fungsi Fitnes Seleksi

15

1. Crossover satu titik

Sebuah titik potong crossover dipilih kemudian dari hasil titik potong dari salah satu kromosom saling tukar ke titik potong kromosom yang lainnya sehingga menghasilkan kromosom yang baru. Titik potong bias ditentukan di mana saja hanya saja yang harus dipertimbangkan adalah jumlah titik kromosom orang tua 1 dengan orang tua 2 harus sama. Pada gambar 2-3 dapat dilihat proses crossover satu titik di bawah ini : 1 1 1 1 1 2 3 4 5 6 7 8  Titik potong 1 1 1 1 1 a b c d e f g h 1 1 1 1 1 1 2 c d e f g h 1 1 1 1 a b 3 4 5 6 7 8 Gambar 0-3 Proses Crossover Satu Titik Orang tua 1 Orang tua 2 Anak 1 Anak 2 Gen ke-1 Kromosom Gen ke-1 Kromosom 16

2. Crossover banyak titik

Seperti crossover satu titik hanya saja titik potongnya lebih dari satu. Titik potong bisa ditentukan di mana saja hanya saja yang harus dipertimbangkan adalah jumlah titik kromosom orang tua 1 dengan orang tua 2 yang dipotong harus sama. Proses crossover banyak titik dapat dilihat pada gambar 2-4 di bawah ini : 1 1 1 1 1 2 3 4 5 6 7 8 1 1 1 1 1 a b c d e f g h 1 1 1 1 1 1 2 c d e 6 7 h 1 1 1 1 a b 3 4 5 f g 8 Gambar 0-4 Proses Crossover Satu Titik Orang tua 2 Anak 1 Anak 2 Titik potong 1  Titik potong 2   Titik potong 3 Kromosom Orang tua 1 Kromosom 17 b Mutasi Operator genetika selain crossover ini menghasilkan perubahan secara acak pada kromosom. Operator ini akan mengubah bit yang awalnya 0 menjadi 1 sedangkan bit awal yang awalnya bernilai 1 akan diganti menjadi 0 sehingga pada mutasi ini memungkinkan muncul kromosom baru yang sebelumnya tidak ada di populasi awal.

6. Penentuan Parameter

Nilai dari parameter ditentukan berdasarkan permasalahan yang akan dipecahkan yang digunakan sebagai parameter kontrol algoritma genetika. Parameter kontrol algoritma genetika adalah ukuran populasi popsize, peluang crossover p c dan peluang mutasi p m .

2.4. Algoritma Backtracking

Algoritma backtracking merupakan algoritma yang berbasis pada Depth First Search DFS, tetapi hanya pencarian yang mengarah ke solusi saja yang dipertimbangkan. Artinya, jika dalam pencarian menemui langkah yang tidak mengarah ke solusi, maka akan dicari langkah yang lain. Langkah-langkahnya adalah sebagai berikut [11] : a. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan pembentukan yang dipakai adalah aturan dalam metode DFS. Simpul- simpul yang sudah dilahirkan dinamakan simpul hidup live node. Simpul hidup yang sedang diperluas dinamakan simpul-E expand node. Simpul dinomori dari atas ke bawah sesuai dengan urutan kelahirannya. b. Tiap kali simpul-E diperluas, lintasan yang dibangun olehnya bertambah panjang. Jika lintasan yang sedang dibentuk tidak mengarah ke solusi, maka simpul- E tersebut “dibunuh” sehingga menjadi simpul mati dead node. Fungsi yang digunakan untuk membunuh simpul-E adalah dengan menerapkan fungsi pembatas bounding function. Simpul yang sudah mati tidak akan pernah diperluas lagi. 18 c. Jika pembentukan lintasan berakhir pada simpul mati, maka proses pencarian diteruskan dengan membangkitkan simpul anak yang lainnya. Bila tidak ada lagi simpul anak yang dapat dibangkitkan, maka pencarian solusi dilanjutkan dengan melakukan backtrack ke simpul hidup terdekat simpul orang tua. Selanjutnya simpul ini menjadi simpul-E yang baru. Lintasan baru dibangun kembali sampai lintasan tersebut membentuk solusi. d. Pencarian dihentikan bila solusi ditemukan atau tidak ada lagi simpul hidup untuk backtrack.

2.5. Big-O

Notasi Big O merupakan suatu notasi matematika untuk menjelaskan batas atas dari magnitude suatu fungsi dalam fungsi yang lebih sederhana. Dalam dunia ilmu komputer, notasi ini sering digunakan dalam analisis kompleksitas algoritma. Notasi Big O pertama kali diperkenalkan pakar teori bilangan Jerman, Paul Bachman tahun 1894, pada bukunya yang berjudul Analytische Zahlentheorie edisi kedua. Notasi tersebut kemudian dipopulerkan oleh pakar teori bilangan Jerman lainnya, Edmund Landau, dan oleh karena itu, terkadang disebut sebagai symbol Landau. Untuk membandingkan kompleksitas algoritma yang satu dengan yang lain, dapat digunakan tabel 2-1 jenis kompleksitas, yang diurutkan berdasarkan kompleksitas yang paling baik ke yang paling buruk. Sebuah masalah yang mempunyai algoritma dengan kompleksitas polinomial kasus-terburuk dianggap m empunyai algoritma yang “bagus” artinya masalah tersebut mempunyai algoritma yang mangkus, dengan catatan polinomial tersebut berderajat rendah. Jika polinomnya berderajat tinggi, waktu yang dibutuhkan untuk mengeksekusi algoritma tersebut panjang [1]. Tabel 0-3 Jenis Kompleksitas Notasi Nama O1 Konstan