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