Penjadwalan Matakuliah Seleksi Roulete Wheel Seleksi Rangking One Point Crossover

BAB II LANDASAN TEORI

2.1. Penjadwalan Matakuliah

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 antara mata kuliah khusus Ross, P., dkk, 1994. Penjadwalan matakuliah merupakan permasalahan yang sangat penting dan dihadapi oleh prodi di tiap semesternya. Dalam penyusunan jadwal, terdapat dua batasan yang bersifat mutlak hard constraint dan batasan lunak soft constraint Oner,A., dkk, 2011.

2.2. Algoritma Genetika

Genetic Algorithms atau algoritma genetika adalah algoritma pencarian yang didasarkan pada proses seleksi alam proses evolusi. Proses evolusi berarti individu kromosom yang secara terus menerus mengalami perubahan gen sehingga dapat menyesuaikan lingkungan hidupnya. Hanya individu yang kuat yang mampu bertahan Setemen, K., 2010. Dalam algoritma genetika, proses seleksi individu dilakukan secara alamiah dengan melibatkan perubahan gen yang terjadi pada individu melalui proses perkembangbiakan. Proses perkembangbiakan menjadi proses dasar yang penting. “Tujuan yang akan dicapai dari perkembangbiakan adalah bagaimana mendapatkan keturunan yang lebih baik ” Basuki, A., 2003. Untuk dapat menemukan keturunan baru, dapat dilakukan dengan perkawinan silang crossover dan mutasi mutation. Perkawinan silang adalah proses pertukaran gen dari dua individu yang mempunyai karakteristik yang berbeda sehingga menghasilkan gen yang lebih baik dari induknya. Sedangkan Mutasi adalah proses perubahan gen dari satu individu karena individu tersebut melakukan adaptasi terhadap lingkungannya.

2.2.1. Alur Dasar Algoritma Genetika

Secara umum, alur dasar algoritma genetika dinyatakan sebagai berikut : Bambrick, L., 1997. 1. [Start], Generasi populasi pertama secara random sebanyak n individu. 2. [Fitness], Evaluasi nilai fitness fx dari setiap individu x didalam populasi. 3. [New Population], Bentuk populasi baru dengan melakukan pengulangan langkah – langkah dibawah ini sehingga didapatkan populasi baru. a. [Selection], Pilih 2 individu sebagai induk dari sebuah populasi sesuai dengan fitness Semakin baik fitness, maka semakin besar peluang untuk dipilih. b. [Crossover], Lakukan persilangan antara kedua induk sesuai dengan probabilitas crossover untuk membentuk sebuah keturunan baru. c. [Mutation], Mutasi setiap keturunan yang baru sesuai dengan probabilitas mutasi di setiap gen. d. [Accepting], tempatkan keturunan yang baru sesuai dengan populasi yang baru. 4. [Replace], Gunakan populasi yang baru dibentuk untuk menjalankan algoritma. 5. [Test], Jika kondisi akhir dipenuhi maka berhenti dan tampilkan solusi dari populasi. 6. [Loop], Lakukan lagi langkah 2.

2.2.2. Kromosom

Kromosom individu merupakan gabungan dari Gen yang membentuk nilai tertentu. Individu bisa dikatakan sama dengan kromosom, yang merupakan kumpulan gen. Gen ini bisa biner, float, dan kombinatorial. Beberapa definisi penting yang terdapat dalam kromosom adalah sebagai berikut Yulyantari, L.M., 2011  Genotype Gen, sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen ini bisa berupa nilai biner, float, integer maupun karakter, atau kombinatorial.  Allele, nilai dari gen.  Kromosom, gabungan gen-gen yang membentuk nilai tertentu.  Individu, menyatakan satu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat  Populasi, merupakan sekumpulan individu kromosom yang akan diproses bersama dalam satu siklus proses evolusi.  Generasi, menyatakan satu siklus proses evolusi atau satu iterasi di dalam algoritma genetika. Secara umum definisi Kromosom dapat diilustrasikan sebagai berikut : Gambar 1-1 Definisi Kromosom Untuk memetakan masalah ke dalam sebuah kromosom dapat dilakukan dengan berbagai cara.

2.2.2.1. Pengkodean Biner

Pengkodean biner merupakan pengkodean kromosom yang paling banyak digunakan. Dalam hal ini, parameter dikodekan dalam bentuk 0 dan 1. Keuntungan dari pengkodean ini adalah sederhana dan mudah dimanipulasi. KROMOSOM KODE BINER A 10110010100 B 11001001101 Gambar 1-2 Contoh Pengkodean Biner

2.2.2.2. Pengkodean Bilangan Bulat.

Pengkodean bilangan bulat adalah metode yang mengkodekan bilangan ke dalam bentuk bilangan bulat. Pengkodean ini sangat baik digunakan untuk masalah optimasi kombinatorial. KROMOSOM KODE BULAT A 50310020400 B 35001002406 Gambar 1-3 Contoh Pengkodean Bulat

2.2.2.3. Pengkodean Struktur Data.

Pengkodean Struktur Data adalah model pengkodean yang menggunakan struktur data. Pengkodean ini digunakan untuk masalah yang lebih kompleks, seperti perwarnaan Graph.

2.2.3. Operator Algoritma Genetika

2.2.3.1. Seleksi

Seleksi bertujuan untuk memberikan kesempatan individu dalam reproduksi bagi anggota populasi yang lebih unggul. Langkah pertama yang dilakukan dalam tahap seleksi adalah pencarian nilai fitness. Masing-masing individu dalam seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai yang diperoleh dibandingkan dengan anggota individu lainnya. Nilai fitness inilah nantinya akan digunakan dalam tahap seleksi berikutnya Kusumadewi, S., 2003 Kemampuan algoritma genetika dalam menciptakan sebuah kromosom yang lebih unggul terganting dari penekanan selektif terhadap kromosom dalam populasi. Penekanan selektif diterapkan dengan dua cara. Cara pertama adalah menciptakan lebih banyak kromosom anak dalam populasi dan memilih hanya kromosom yang terbaik untuk generasi berikutnya. Metode ini menerapkan seleksi orangtua secara acak namun metode ini akan terus menghasilkan kromosom yang lebih baik. Cara lain menerapkan penekanan selektif adalah memilih orangtua yang lebih baik untuk proses regenerasi. Dengan metode ini hanya kromosom sebanyak jumlah tertentu dalam satu populasi yang dipelihara untuk generasi berikutnya. Walaupun penekanan selektif tidak diterapkan di level keturunan, metode ini juga akan menghasilkan kromosom yang lebih baik karena penekanan selektif diterapkan kepada orangtua dari calon kromosom terpilih.

a. Seleksi Roulete Wheel

Pada seleksi ini akan dipilih calon orang tua berdasarkan fitnessnya. Semakin baik fitnessnya, maka semakin besar kemungkinan kromosom dipilih untuk dijadikan orang tua. Probabilitas suatu individu terpilih untuk crossover sebanding dengan fitnessnya.

b. Seleksi Rangking

Pada seleksi ini akan dilakukan sistem ranking mengurutkan dari fitness terkecil hingga fitness terbesar. Bobot fitness semula akan dirubah dengan nomor urut dari 1 hingga n kromosom dimana kromosom dengan bobot fitness n merupakan kromosom dengan nilai fitness terbesar dalam populasi.

2.2.3.2. Perkawinan Silang Crossover

Perkawinan silang merupakan operator yang berfungsi untuk membentuk sebuah keturunan baru. Operator ini membutuhkan 2 kromosom sebagai induk parent hingga menghasilkan anak child. Perkawinan silang bertujuan untuk menciptakan kromosom baru yang memiliki bagian baik kromosom lama dan tidak menutup kemungkinan tercipta sebuah kromosom yang lebih baik. Ada beberapa jenis perkawinan silang :

a. One Point Crossover

Pada perkawinan silang ini akan memindahkan satu titik silang dari dua kromosom induk. Sehingga akan menghasilkan anak yang memiliki gen dari kedua induk tersebut. Contoh : Gambar 1-4 Contoh One Point Crossover

b. Two Point Crossover