## PEMODELAN ALGORITMA GENETIKA PADA SISTEM PENJADWALAN PERKULIAHAN PRODI ILMU KOMPUTER UNIVERSITAS LAMBUNGMANGKURAT
Muliadi Prodi Ilmu Komputer FMIPA Universitas Lambung Mangkurat Banjarmasin
Email : Muliadiaziz@yahoo.com

## Abstrak
Membuat  jadwal  kegiatan  proses  belajar  mengajar  pada  kegiatan  akademik merupakan  pekerjaan  rutin  setiap  semester  disebuah  perguruan  tinggi,  banyak  hal yang  sering  terjadi  saat  membuat  jadwal  perkuliahan  diantaranya  ada  bebarapa dosen  yang  tidak  bisa  menajar  pada  hari  tertentu,  keterbatasan  ketersediaan ruangan  belajar,  terdapat  beberapa  mahasiswa  yang  mengambil  matakuliah  yang berbeda  dalam  waktu  yang  sama,  pada  waktu  dan  hari  tertentu  merupakan  waktu untuk  peribadahan  secara  rutin  setiap  minggunya.  Salah  satu  metode  yang  dapat digunakan  untuk  meyelesakan  masalah  tersebut  menggunakan  Algoritma  Genetika (AG),  beberapa  tingkatan  yang  perlu  diterapkan  untuk  menyelesaikan  masalah penjadwalan  menggunakan  AG,  dimulai  dari  pengkodean,  menentukan  nilai  populasi awal,  menentukan  nilai  kromosom  secara  acak,  menentukan  nilai  fitness  untuk meminimalisir    jadwal  yang  tabrakan,  kemudian  melakukan  seleksi  roulettewheel, melakukan  pindah  silang  satu  titik  potong  (one-point  crossever),  kemudian melakukan mutasi pengkodean nilai, elitism. Hasil yang diperoleh dari pemodelan AG pada  sistem  pendukung  keputusan  ini  merupakan  jadwal  perkuliahan  pada  Prodi Ilmu Komputer FMIPA Universitas Lambung Mangkurat Banjarmasin. Dari beberapa tahapan pengujian yang telah dilakukan didapatkan hasil terbaik dengan semua nilai fitness  tiap  generasi  bernilai  1  dan,  pemodelan  AG  ini  dapat  diterapkan  pada  sistem pendukung  keputusan  penjadwalan  perkuliahan  pada  prodi  Ilmu  Komputer  FMIPA UNLAM
Kata  Kunci  : Sistem  Pendukung  Keputusan,  Penjadwalan  Perkuliahan,  Algoritma Genetika

## Abstract
Creating a schedule learning activities in academic activities  a routine work in colleges, many case that often happens when making a schedule of lectures, there are few lecturers could not be on a particular day, imited availability of study rooms, There are  some  student  who  take  a  different  course  in  the  same  time,  on  the  time  and  a particular  day  is  the  time  to  worship  regularly  every  week.  One  method  that  can  be
used  to  complete  its  the  problem  using  Genetic  Algorithms  (GA),  multiple  levels  that need  to  be  applied  to  solve  the  scheduling  problem  using  the  GA,  start  of  coding, determine the value of the initial population, determine the value of chromosomes at random, determine the fitness value to minimize the collision schedule, then selecting roulettewheel, perform a cut point crossover, then perform mutation encoding values, elitism.  The  results  obtained  from  genetic  algorithm  modeling  in  decision  support systems a schedule of lectures in Computer Science, State University of Hull Mangkurat Banjarmasin.  Of  the  some  stages  of  testing  that  has  been  performed  to  get  the  best results with all the fitness value of each generation is 1 (one) and, GA modeling can be applied  to  decision  support  systems  scheduling  department  of  Computer  Science FMIPA UNLAM
Keyword : Decision Support System, Course Scheduling, Genetic Algorithms

## 1. PENDAHULUAN
Proses  pembuatan  jadwal  kegiatan  belajar  mengajar  pada  perguruan  tinggi merupakan  rutinitas  yang  sering  dilakukan  setiap  semesternya.  Terdapat  berbagai masalah  yang  timbul  ketika  proses  pembuatan  jadwal,  diataranya  ada  bebarapa dosen  yang  tidak  bisa  mengajar  pada  hari  tertentu,  keterbatasan  ketersediaan ruangan  belajar,  terdapat  beberapa  mahasiswa  yang  mengambil  matakuliah  yang berbeda dalam waktu yang sama, terdapat pada waktu dan hari tertentu merupakan waktu  peribadahan  secara  rutin  setiap  minggunya,  ini  merupakan  masalah  yang sering terjadi secara berulang dan akan menjadi beban pekerjaan yang berat ketika dalam  proses  pembuatan  jadwal.  Sejauh  ini  pihak  akademik  proses  pembuatan jadwal  masih  melakukan  secara  manual  dengan  mengurutkan  dosen  mana  yang tidak  bisa  menjagar  pada  harinya,  akan  tetapi  selalu  saja  terjadi  permasalahan berulang  setiap  semesternya.  Oleh  sebab  itu  diperlukan  suatu  metode  yang  tepat untuk mengerjakan penjadwalan perkuliahan tersebut yaitu menggunakan metode Algoritma  Genetika,  algoritma  ini  akan  dimodelkan  dan  diimplementasikan  dalam sistem  pembuatan  jadwal  perkuliahan  secara  terkomputerisasi  sehingga  dalam proses  pembuatan  jadwal  perkuliahan  diharapkan  tidak  akan  terjadi  kembali permasalah yang berulang disetiap semesternya.
Berdasarkan latar belakang yang telah disebutkan, maka rumusan masalah yang dikaji  yaitu  bagaimana  menyelesaikan  masalah  penjadwalan  perkuliahan  yang sering  tabrakan  dengan  memodelkan  algoritma  genetika  yang  diimplementasikan pada  sistem  penjadwalan  perkuliahan  di  prodi  Ilmu  Komputer  UNLAM Banjarmasin.

## 2. METODOLOGI PENELITIAN

## 2.1.  Metode Algoritma Genetika
Algoritma  genetika  (AG)  adalah  suatu  algoritma  pencarian  yang  berbasis  pada mekanisme  seleksi  alam  dan  genetika.  Algoritma  genetika  merupakan  salah  satu algoritma  yang  sangat  tepat  digunakan  dalam  menyelesaikan  masalah  optimasi kompleks,  yang  sulit  dilakukan  oleh  metode  konvensional.  Algoritma  genetika diperkenalkan  pertama  kali  oleh  John  Holland  (1975)  dari  Universitas  Michigan.
John  Holland  menyatakan  bahwa  setiap  masalah  yang  berbentuk  adaptasi  (alami maupun buatan) dapat diformulasikan ke dalam terminologi genetika.
Sifat  algoritma  genetika  adalah  mencari  kemungkinan  dari  calon  solusi  untuk mendapatkan solusi yang optimal dalam penyelesaian masalah. Ruang cakupan dari semua  solusi  yang  layak,  yaitu  berbagai  obyek  diantara  solusi  yang  sesuai,  yang dinamakan ruang pencarian. Tiap titik didalam ruang pencarian mempresentasikan satu solusi yang layak. Tiap solusi yang layak dapat ditandai dengan nilai fitnessnya. Solusi  yang  dicari  dalam  algoritma  genetika  adalah  titik  (satu  atau  lebih)  diantara solusi yang layak dalam ruang pencarian. Sifat pencarian inilah yang menyebabkan algoritma  genetika  baik  untuk  diterapkan  dalam  menyelesaikan  masalah  NP- complete.
Inisialisasi  populasi  merupakan  langkah  awal  dalam  penyelesaian  AG.    Dalam prosesnya  populasi  dilambangkan  sebagai  sebuah  deretan  bilangan  biner  0  dan  1, yang  tersusun  atas  kolom  dan  baris  sehingga  membentuk  suatu  matriks  berisi bilangan  biner.  Pada  satu    deret  baris  matriks  tersusun  atas  beberapa  kolom.    Satu deret baris matriks ini pada AG dikenal dengan istilah kromosom sedangkan jumlah kolom  tersebut  dikenal  dengan  istilah  jumlah  gen.  Nilai  jumlah  gen  tersebut merupakan  perkalian  nilai  Nvar(jumlah  variabel)  dan  nilai  Nbit  (jumlah  bit).  Nvar merupakan  jumlah  variabel  yang  mewakili  dari  sebuah  kromosom,  dan  Nbit  yaitu jumlah  bit  biner  yang  mewakili  sebuah  variabel.  Sedangkan  jumlah  baris  pada sebuah  matriks  tersebut  dikenal  dengan  istilah  UkPop  (Ukuran  Populasi).  Untuk lebih jelasnya dapat dilihat pada Gambar 1.

## Gambar 1. Proses Ukuran Populasi AG
Algoritma  genetika  bergerak  dari  suatu  populasi  kromosom  (bit  string  yang dipresentasikan  sebagai  calon  solusi  suatu  masalah)  ke  populasi  baru  dengan menggunakan  3  operator  yaitu  seleksi, crossover dan  mutasi.  Algoritma  genetika bekerja  dari  populasi  yang  merupakan  himpunan  solusi  yang  dihasilkan  secara acak.  Setiap  anggota  himpunan  yang  mempresentasikan  satu  solusi  masalah dinamakan  kromosom.  Kromosom  dalam  suatu  populasi  berevolusi  dalam  iterasi yang  dinamakan  generasi,  tiap  kromosom  dievaluasi  berdasarkan  fungsi  evaluasi ( fitness  function ).  Pada  algoritma  genetika, fitness biasanya  dapat  berupa  fungsi objektif  dari  masalah  yang  akan  dioptimasi.  Kemudian  kromosom-kromosom diseleksi  menurut  nilai  fitness  masing-masing,  kromosom  yang  kuat  mempunyai kemungkinan  tinggi  untuk  bertahan  hidup  pada  generasi  berikutnya,  tetapi  tidak menutup  kemungkinan  bagi  kromosom  yang  lemah  dapat  bertahan  hidup.  Proses seleksi  tersebut  kemudian  ditentukan  oleh  kromosom-kromosom  baru  melalui proses crossover dan mutasi dari kromosom yang terpilih. Dari dua proses tersebut di  atas  maka  terbentuk  suatu  generasi  baru  yang  akan  diulang  terus-menerus
hingga mencapai suatu konvergensi, yaitu sebanyak generasi yang diinginkan (Riza Aulia, 2011).
Pada  Gambar  1  diatas  dapat  dilihat  bahwa  matriks  populasi  satu  merupakan sebuah contoh inisialisasi populasi pada algoritma genetika, yang terdiri dari :
Kromosom ke-1          : [ 1 1 0 1 0 0 1 1 0]
Kromosom ke-2          : [ 0 1 1 0 0 1 1 0 1] Kromosom ke-3          : [ 0 0 1 1 0 0 1 1 1] Nvar                            = 3 Variabel Nbit                             = 3 Bit Jumlah Gen                 = Nvar x Nbit
Jumlah Gen                 = 9 buah Ukuran Populasi          = 3 buah
Setiap  kromosom  yang  dihasilkan  dari  inisialisasi  populasi  merepresentasikan sebuah satu solusi, kemudian kromosom ini nantinya akan diproses pada proses AG selanjutnya.

## 2.2. Dekode Kromosom
Dekode  Kromosom  merupakan  suatu  cara  pengkodean  isi  kromosom  menjadi suatu  nilai  tertentu  yang  mana  hasil  dekodenya  mewakili  tiap  variabel  dan  terdiri dari beberapa jumlah bit yang ada. Hal ini dilakukan guna untuk merepresentasikan sifat genotip dan fenotip yang ada dari suatu populasi. Sifat genotip dari populasi ini dilambangkan sebagai suatu deret biner yang ada pada kromosom, sedangkan sifat fenotipnya merupakan nilai hasil dekode dari kromosom yang ada. Sifat genotip ini dipakai  saat  pada  proses  pindah  silang,  mutasi,  maupun  tindakan  genetis  lainnya. Sedangkan  sifat  fenotip  digunakan  untuk  mengetahui  nilai  mutu  atau  kualitas  dari kromosom yang ada.
Pada  umumnya  dikenal  dengan  beberapa  contoh  skema  pendekodean kromosom, yaitu antara lain :
a. Real  number  encoding.  Pada  skema  ini  nilai  gen  berada  pada  {x  I  0<x<1, xER(+)}, yang mana berarti nilainya gen x terletak dimana x terletak diantara 0 sampai  dengan  1,  dimana  x  berupa  elemen  bilangan  real  positif,  dan  biasanya R=1.
b. Discrete decimal encoding. Pada skema pengkodean ini setiap gen bernilai salah satu bilangan bulat dalam interval 0 sampai dengan 9, {x I 0<x<9, xEB}.
c. Binary encoding. Pada skema pengkodean ini setiap gen bernilai 0 dan 1.
Untuk ilustrasi lebih jelasnya dapat dilihat pada Gambar 2.
Gambar 2. Ilustrasi Dekode Kromosom
Untuk prosedur pendekodean sendiri dapat dilihat sebagai berikut: a. Real number encoding
x = rb +(ra- rb)g                                                 (1)
Sebagai contoh misal rb= -1 dan ra= 2 maka kromosom dapat didekodekan menjadi : x1= -1 + (2 – (-1))x0,239   = - 0,2830 x2= -1 + (2 – (-1))x1,000   =  2,000 x3= -1 + (2 – (-1))x0.0131 = -0.9607
b. Discrete decimal encoding
x = rb + (ra-rb)(g1x 10-1 + g2x10-2 + . . . +gNx10-N)                    (2) Sebagai contoh misal rb= -1 dan ra= 2 maka kromosom dapat didekodekan menjadi : x1 = -1 + (2 – (-1))( 2x 10-1 + 3x10-2 + 9x10-3) = -0,2830 x2=  -1 + (2 – (-1))( 9x 10-1 + 9x10-2 + 9x10-3) = 1,9970 x3=  -1 + (2 – (-1))( 0x 10-1 + 1x10-2 + 3x10-3) = -0.9610

## c. Binary encoding
x= rb + (ra – rb)(g1x2-1 + g2x2-2 + . . . +gNx2-N)                         (3) Sebagai contoh misal rb= -1 dan ra= 2 maka kromosom dapat didekodekan menjadi : x1 = -1 + (2 – (-1))( 0x 2-1 + 1x2-2 + 0x2-3) = -0,25 x2 = -1 + (2 – (-1))( 0x 2-1 + 1x2-2 + 0x2-3) = 1,625 x3 = -1 + (2 – (-1))( 0x 0-1 + 0x2-2 + 0x2-3) = -1
Dari hasil pendekodean di atas terlihat bahwa untuk tipe pendekodean discrete encoding dan binary encoding tidak bisa merepresentasikan nilai sebenarnya sebab terbatas pada jumlah bit yang mewakilinya oleh karena perlu dilakukan pendekatan agar nilai hasil dekode mendekati nilai asli batasnya, yaitu dengan cara membagi nilai representasinya.Untuk lebih jelasnya maka diambil sampel hasil pendekodean pada kondisi x2 dimana nilai Ra = 2 dan Rb =-1.
Dari  hasil  nilai  pendekodean  kromosom  yang  ada,  maka  didapat  nilai  hasil dekode  seperti  penjelasan  di  atas,  dan  nantinya  nilai  tersebut  akan  digunakan sebagai  sifat  fenotip  dan  digunakan  untuk  analisis  nilai  mutu  dan  kualitas  hasil seleksi algoritma genetika. Untuk lebih jelasnya dapat dilihat pada Gambar 3.

## Gambar 3. Skema Pengkodean Binaray Encoding
Seperti  pada  proses  pencarian  solusi  biasanya,  nilai  hasil  pendekodean kromosom  tadi  akan  dimasukkan  ke  dalam  persamaan  yang  nantinya  digunakan untuk  menentukan  titik  global  optimal  dari  grafik  persamaan  yang  ada.  Sebagai contoh  untuk  permasalahan  fungsi  kuadrat  dengan  persamaan  y=x12  +  x22  +  x32 +4, dengan batas bawah= -1 dan batas atas =2,  maka nilai fungsi tujuan kromosom tersebut adalah sebagai berikut:
Kromosom : [ 0 1 0 1 1 1 0 0 0] dengan
Nvar =3 dan
Nbit
=3,
maka  hasil  pendekodean  secara  biner  dengan  cara  yang  sama  sesuai  dengan persamaan  binary  encoding,  maka  didapat  :  x1  =0,1428      x2=  2,000    x3  =  -1,000 sehingga apabila dimasukkan ke fungsi tujuan  y=x12 + x22 + x32 +4 maka didapat: y= x12 + x22 + x32 +4 y= 0.14282 + 2,0002 + -1,0002 + 4 y= 7,0204 Kemudian  nilai  y=7,0204  ini  yang  nantinya  akan  dimasukkan  ke  dalam  fungsi fitnessdan  akan  dilakukan  evaluasi  individu  pada  setiap  kromosom  dari  setiap populasi.

## 2.3. Persamaan Fungsi Fitness
Pada  umumnya  fungsi  fitness  ini  terbagi  atas  dua  tujuan  yaitu  fungsi  untuk mencari  maksimasi  (nilai  maksimum)  dan  untuk  mencari  nilai  minimasi  (nilai minimum). Dan rumusan secara umumnya sebagai berikut (Suyanto, 2010).
Masalah Maksimasi maka,
Fungsi fitness = fungsi tujuan (4) Masalah Minimasi maka, Fungsi fitness   = 1/(fungsi tujuan + Bilangan Kecil) (5)
Pada  fungsi  minimasi  perlu  ditambahkan  dengan  bilangan  kecil  guna  untuk mencegah terjadinya nilai tak hingga, saat nilai fungsi tujuan bernilai 0.

## 2.4. Evaluasi Individu
Pada evaluasi individu dilakukan proses seleksi atas hasil nilai fungsi fitness dari setiap  kromosom,  dari  proses  seleksi  inilah  dijaring  individu  terbaik  dari sekumpulan  populasi  yang  ada,  yang  nantinya  individu  terbaik  dari  kromosom terbaiklah  yang  mampu  bertahan,  dan  akan  menjadi  solusi  atas  permasalahan optimasi maupun minimasi dari suatu fungsi atau permasalahan yang ada.

## 2.5. Elitisme
Elitisme  merupakan  suatu  prosedur  untuk  melakukan  kopi  dari  kromosom terbaik,  ke  sebuah  temporary  populasi  yang  hal  ini  dimaksudkan  agar  individu terbaik tetap ada dan tidak hilang maupun rusak saat terjadi proses genetis berupa pindah  silang  dan  mutasi,  yang  nantinya  dari  temporary  populasi  tersebut  akan kembali dipindahkan ke populasi yang baru.

## 2.6. Linear Fitness Ranking
Linear Fitness Ranking (LFR)  merupakan metode penskalaan yang digunakan untuk menentukan batasan-batasan wilayah dari masing-masing fungsi fitness hasil solusi  dari  setiap  kromosom.  Batasan  ini  nantinya  digunakan  sebagai  dasar penentuan pada proses pemilihan orang tua. Sebagai contoh ilustrasi, dapat dilihat pada tabel yang menyimbolkan hasil evaluasi, seperti ditunjukkan oleh Tabel 1

## Tabel 1. Tabel Ilustrasi Liner Fitness Rangking
Kromosom Nilai Fitness K= 0 s/d 4 LFR (k+1)=LFR (k) + fitness(k+1) / sum (fitness) LFR(k) = 0 LFR(1) = 0+1/4 = 0.25
LFR(2) = 0.25 +2/4 = 0.75 LFR(3) = 0.75 +0,5/4 = 0.875
LFR(4) = 0.875+0.5/4=1.00
K1 1
K2 2 K3 0.5 K4 0.5 Jumlah 4
Sehingga Nilai LFR nya Kromosom LFR K1 0 – 0.25 K2 0.25-0.75 K3 0.75-0.875 K4 0.875-1

## 2.7. Roulette Wheel
Pada  AG  dikenal  berbagai  macam  metode  tentang  bagaimana  cara  mencari kromosom  yang  akan  dijadikan  sebagai  parental  (orang  tua)  yaitu  salah  satu  dari metode  tersebut  yaitu roulette  wheel  selection .  Untuk  lebih  jelasnya  dapat  dilihat pada Gambar4.
Gambar 4. Ilustrasi Roulette Wheel
Ada beberapa metode untuk memilih kromosom yang sering digunakan antara lain  adalah  seleksi  roda  rolet  (roulette  wheel  selection),  seleksi  ranking  ( rank selection ) dan seleksi turnamen ( tournament selection ). Dalam penelitian ini, metode yang  digunakan  adalah  seleksi  roda  rolet  ( roulette  wheel  selection ).  Pada  seleksi  ini, orang tua dipilih berdasarkan fitness mereka. Lebih baik kualitas suatu kromosom, lebih  besar  peluangnya  untuk  terpilih.  Probabilitas  suatu  individu  terpilih  untuk crossover sebanding dengan fitness-nya. Cara penyeleksian ini merupakan peniruan dari permainan roda rolet
Prinsipnya  mirip  kita  memutar  sebuah  roda  dengan  adanya  sebuah  jarum penghenti,  roda  yang  berputar  tersebut  berisikan  nilai-nilai  yang  mewakili  dari indeks orang tua yang ada. Dan indeks orang tua dari kromosom dipilih dari rentan nilai  dimana  jarum  penunjuk  roda  itu  berhenti.  Begitulah  analogi  yang  digunakan dalam  menyusun  pemilihan  orang  tua  pada  AG.  Untuk  proses  detailnya,  yaitu  kita membangkitkan  suatu  nilai  random  antara  0  dan  1.  Kemudian  nilai  hasil  random tersebut  digunakan  untuk  mengetahui  indeks  orang  tua  yang  akan  dipakai  pada proses pindah silang, yang mana didapat berdasarkan nilai rentan yang sesuai pada LFR masing-masing kromosom. Sebagai contoh pada  kondisi LFR di atas saat nilai random berhenti pada angka 0,67 maka indeks K2 yang terpilih sebagai orang tua.

## 2.8.  Perkawinan Silang ( Crossover )
Proses  perkawinan  silang  merupakan  salah  satu  komponen  paling  penting dalam  AG.  Hal  ini  disebabkan  dengan  adanya  perkainan  silang,    solusi  yang dihasilkan  akan  menuju  konvergen  pada  suatu  titik  tertentu  secara  acak,  berbeda dengan metode iterasi konvensional yang sifatnya berupa hill climbing . Untuk lebih detailnya dapat dilihat pada Gambar 5
Gambar 5. Perkawinan Silang ( Crossover )
Oleh  karena  itu  sekarang  banyak  dikembangkan  metode  pencarian  berbasis pengetahuan biosains salah satunya adalah AG, karena dianggap mampu melakukan pencarian  lebih  baik  dalam  mendekati  global  optimal  apabila  dibandingkan  dengan metode pencarian biasa.

## 2.9. Mutasi
Proses mutasi pada AG disini juga mirip dengan proses genetis pada umumnya. Pada  AG  proses  mutasi  dinyatakan  dengan  cara  proses  mengganti  nilai  gen  yang terkena mutasi dengan nilai sebaliknya, seperti yang ditunjukkan pada Gambar 7.
Gambar 7. Mutasi Kromosom
Pada kromosom X pada gen ke 10 dan pada gen ke 15 terjadi mutasi, sehingga mulanya  indeks  biner  dari  kromosom  X  pada  gen-10  yang  bernilai  0  berubah menjadi  1,  dan  begitu  pula  pada  gen  ke  15  indeks  biner  yang  semula  bernilai  1 berubah menjadi 0.

## 2.10. Penggantian Generasi
Pada  proses  akhir  dari  satu  kali  generasi  AG  ialah  penggantian  generasi. Generasi yang digantikan ialah generasi yang digunakan  sebagai populasi pertama pada proses AG, kemudian digantikan dengan populasi baru yang merupakan hasil seleksi dari proses Elitisme,Roullette Wheel, Pindah Silang, dan Mutasi. Dan Generasi baru inilah yang nantinya kan dipakai untuk proses AG berikutnya sebagai populasi yang  baru.  Proses  ini  berlanjut  hingga  beberapa  generasi  sampai  didapat    fitness yang  dianggap  terbaik  dari  hasil  proses  AG  tersebut  atau  saat  generasi  yang dihasilkan telah mencapai batas maksimal generasi.

## 1. Hasil Dan Pembahasan

## 3.1. Gambaran Umum Sistem
Sistem  yang  akan  dikembangkan  untuk  penjadwalan  mata  kuliah  ini menggunakan algoritma genetika, dimana proses penjadwalannya dilakukan secara otomatis.  Bila  terjadi  tabrakan  jadwal,  program  yang  dikembangkan  akan  mencari secara otomatis dan terus-menerus jadwal yang paling optimal.
Penerapan  Algoritma  genetika  pada  sistem  penjadwalan  perkuliahan  ini  secara umum dapat diilustrasikan dalam diagram alir berikut ini :

## Gambar 8. Diagram alir algoritma genetika.
Kebutuhan proses bagi sistem penjadwalan ini yaitu pada proses pembentukan algoritma genetika pada tahapan pembentukan kromosom orang tua. contoh untuk proses ini jadwal mata kuliah disusun secara berurutan dipasangkan dengan ruang, hari  dan  jam  perkuliahan  secara  random  dengan  memakai  kode  sehingga  untuk memudahkan  membedakan  antara  satu  gen  dengan  gen  yang  lain.  Setelah  didapat kromosom  orang  tua,  dilakukan  proses  perkawinan  silang  dan  mutasi.  Untuk perkawinan silang, prosesnya adalah mengambil setengah dari kromosom pertama dan  setengah  dari  kromosom  yang  kedua  sehingga  terpotong  menjadi  dua  bagian. Tempat  terpotongnya  kromosom  itupun  dengan  memakai  random.  Setelah terpotong, lalu disatukan lagi sehingga didapat 2 kromosom lagi. Selanjutnya adalah proses  mutasi  yaitu  mengambil  secara  random  2  gen  dalam  1  kromosom  untuk ditukar tempatnya. Setelah itu  dilakukan pengecekan rule didasarkan  pada analisin keluaran  untuk  mendapatkan  penjadwalan  terstruktur,  rule-rule  tersebut  yaitu penalti  bentrok  jadwal,  bentrok  dosen,  kelebihan  kapasitas  mahasiswa  disbanding
kapasitas ruangan, apabila dosen mengajar lebih dari 2 mata pelajaran dalam 1 hari, apabila mahasiswa program studi farmasi mengadakan perkuliahan pada siang hari dan  apabila  muncul  mata  kuliah  dengan  3  sks  dalam  hari  dan  ruang  yang  sama. Setelah itu diambil 2 kromosom terbaik dan disimpan untuk dibandingkan  dengan kromosom yang baru dengan diulang terus menerus seperti yang disebutkan di atas dengan  syarat  akhir  perulangan  nilai  penalty  sama  dengan  0  atau  setelah  diulang beberapa  kali  nilai  terendah  yang  muncul  selalu  itu  saja.  Maka  hasil  penjadwalan yang dihasilkan dapat dilihat seperti pada gambar 9 :
Gambar 9. Hasil Penerapan AG pada Penjadwalan

## 4.  SIMPULAN
Simpulan yang dapat diambil dari penelitian ini bahwa metode algoritma genetika dapat diterapkan pada sistem penjadwalan perkuliahan.

## DAFTAR PUSTAKA
[1] Desiani, A. & Arhami, M., 2006. Konsep Kecerdasan Buatan. Yogyakarta: Andi.
[2] Harik,  G,  F.,  Goldberg,  D.  E.  &  Fernando,  G.,  1997. The  compact  Genetic Algorithm. Urbana: University of Illinois, USA.
[3] Kadir,  A.,  2005. Pemrograman  Database  dengan  Delphi  7  Menggunakan ACCESS dan ADO. Yogyakarta: Andi.
[4] Langdon,  W.  B.,  2000. Genetic  Programming  And  Data  Structures. s.l.:Kluwer Academic Publisher.
[5] Negnevitsky,  M.,  2005. Artifical  Intelligence:  A  Guide  to  Intelligent  Systems. s.l.:Addison Wesley.
[6] Rimcharoen,  S.,  Daricha,  S.  &  Prabhas,  C.,  2006. Real  option  approach  to finding  optimal  stopping  time  in  compact  genetic  algorithm. Bangkok: Chulalongkorn University.
[7] Suja,  I.,  2005. Pemrograman  SQL  dan  Database  Server  MySQl. Yogyakarta: Andi.