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