Implementasi Algoritma Genetika dalam Pembuatan Jadwal Kuliah

  Jaringan Sistem Informasi Robotik Vol. 1, No. 01, Maret 2017 Implementasi Algoritma Genetika dalam Pembuatan Jadwal Kuliah

  Leonard Tambunan AMIK Mitra Gama

  Jl. Kayangan No. 99, Duri-Riau e-mail :

  Abstrak Pada saat ini proses penjadwalan kuliah pada AMIK Mitra Gama masih

menggunakan cara manual. Dalam membuat jadwal kuliah Sekretaris Jurusan harus

mempertimbangkan prioritas-prioritas yang banyak sehingga proses penjadwalan

menghambat kerja Sekretaris Jurusan. Oleh karena itu, diperlukan penjadwalan yang

baik dengan melakukan pengaturan alokasi waktu dan ruang perkuliahan secara

optimal terhadap mahasiswa, dosen, mata kuliah, dan fasilitas perkuliahan. Untuk

menyelesaikan masalah penjadwalan mata kuliah diperlukan algoritma yang dapat

menyelesaikan masalah multi-kriteria dan multi-objektif karena ada beberapa kendala

yang harus diselesaikan dalam masalah ini seperti kendala pada mahasiswa, dosen,

matakuliah dan fasilitas perkuliahan. Sistem ini dirancang dengan menggunakan Algoritma

Genetika. Algoritma ini melakukan proses optimasi untuk mencari hasil yang terbaik. Yaitu

dengan cara kombinasi perkawinan yang didasari secara random. Penerapan Algoritma

Genetika dalam proses penjadwalan kuliah ini, dengan cara mengkodekan dosen, kelas

belajar, matakuliah, ruangan, jam dan hari belajar. Pengujian sistem ini dilakukan dengan

melakukan pengujian terhadap prioritas-prioritas yang ada. Berdasarkan nilai fitness yang

diperoleh dari setiap pengujian, maka membuktikan bahwa sistem ini mampu memenuhi

setiap prioritas yang ada.

  Keyword: penjadwalan, kuliah, algoritma genetika

1. Pendahaluan

  Penjadwalan perkuliahan yang baik daftar mata kuliah yang diselenggarakan tentunya akan meningkatkan mutu dan dalam semester tersebut dan juga pelayanan pendidikan karena mampu diperlukannya sebuah daftar yang berisi menjadwalkan sumber daya yang ada, jadwal kosong dosen, dimana jadwal yaitu tenaga pengajar dalam hal ini dosen kosong tersebut digunakan untuk mengajar dan kelas secara maksimal, sehingga mata kuliah yang diselenggarakan. Dari mahasiswa dapat mengikuti perkuliahan data yang ada, kemudian secara manual dan menyerap ilmu dengan baik. Suatu dan satu persatu jadwal perkuliahan penjadwalan perkuliahan tentunya akan tersebut diisikan nama dosen pengajarnya melibatkan banyak pihak dalam dunia pada , dan apabila

  Microsoft Excel

  pendidikan, disamping mahasiswa ketidakcocokan proses pergantian dan tentunya para pengajar yang terlibat pertukaran secara manual terjadi, dan langsung dalam aktifitas pengajaran. Para sering terjadi kesalahan manusia (human dosen harus menyediakan waktu serta error) . Proses tersebut sangatlah tidak menyesuaikannya dengan aktifitas mereka. maksimal karena banyak memakan banyak Karena itu, penjadwalan perkuliahan yang resource baik waktu maupun sumber daya baik dan optimal sangat diperlukan. manusia.

  Penjadwalan perkuliahan yang Sejalan dengan perkembangan diimplementasikan oleh AMIK Mitra teknologi komputasi, terdapat beberapa Gama saat ini dilakukan masih secara jenis algoritma penjadwalan, namun manual. Dimulai dengan menyediakan diantara algoritma yang sering dikembangkan dan dipergunakan adalah algoritma genetika (Genetic

  Algoritm) , karena algoritma ini dapat

  Pada dasarnya algoritma genetika adalah program komputer yang mensimulasikan proses evolusi, dengan menghasilkan kromosom-kromosom dari tiap populasi secara random dan memungkinkan kromosom tersebut berkembang biak sesuai dengan hukum- hukum evolusi yang nantinya diharapkan akan dapat menghasilkan kromosom prima atau yang lebih baik. Kromosom ini merepresentasikan solusi dari permasalahan yang diangkat, sehingga apabila kromosom yang baik tersebut dihasilkan, maka diharapkan solusi yang baik dari permasalahan tersebut juga didapatkan[2],[4].

  Jaringan Sistem Informasi Robotik Vol. 1, No. 01, Maret 2017

  atau kawin silang gen-gen dari dua induk tertentu.

  f. Crossover merupakan proses pertukaran

  e. Seleksi merupakan proses untuk mendapatkan calon induk yang baik.

  dari suatu individu atau solusi yang didapatkan.

  d. Fitness menyatakan seberapa baik nilai

  individu yang akan diproses bersama dalam satu satuan siklus evolusi.

  c. Populasi merupakan sekumpulan

  gabungan dari gen-gen yang membentuk nilai tertentu dan menyatakan solusi yang mungkin dari suatu permasalahan.

  b. Kromosom / individu merupakan

  satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom.

  a. Gen merupakan nilai yang menyatakan

  Komponen Penting Algoritma Genetika

  dilakukan adalah reproduksi, crossover dan mutasi untuk mendapatkan sebuah solusi menurut nilai fitness-nya.

  dipakai untuk mendapatkan solusi yang tepat untuk masalah sehingga, memberikan hasil akhir dari satu variabel atau multi variabel. Algoritma genetika merupakan algoritma pencarian yang berdasarkan pada mekanisme seleksi alami dan genetik.

  fitness . Dalam AG, operasi-operasi yang

  Algoritma ini dapat dipakai untuk mendapatkan solusi yang tepat untuk masalah optimal dari satu variabel atau multi variabel. Sebelum algoritma ini dijalankan, masalah yang ingin dioptimalkan harus dinyatakan dalam fungsi tujuan, yang dikenal dengan fungsi

  Algoritma Genetika (AG) adalah algoritma pencarian yang meniru mekanisme dari genetika alami yang didasarkan pada teori evolusi dan seleksi alam [1]. Pengertian lainnya tentang Algoritma Genetika menuliskan bahwa algoritma genetika merupakan algoritma pencarian yang didasarkan pada mekanisme seleksi alamiah dan genetika alamiah [2].

  d. Sistem ini dirancang menggunakan bahasa pemrograman Microsoft Visual Basic 6.0 dan aplikasi database MySQL.

  c. Studi kasus yang diambil adalah penjadwalan di AMIK Mitra Gama.

  b. Dosen yang mengajar mata kuliah telah ditentukan sebelumnya sesuai dengan kompetensi masing-masing.

  a. Sistem yang akan dibangun menggunakan metode algoritma genetika.

  Adapun batasan masalah dalam penulisan skripsi ini adalah sebagai berikut :

  Batasan Masalah

  b. Bagaimana membuat aplikasi penjadwalan yang mampu mendukung pengambilan keputusan jadwal dosen berdasarkan batasan (konstrain) ?

  a. Bagaimana membuat aplikasi penjadwalan perkuliahan dengan menerapkan algoritma genetika untuk memberikan hasil yang terbaik ?

  Berdasarkan latar belakang masalah diatas, maka dapat dirumuskan permasalahan sebagai berikut :

  Perumusan Masalah

2. Landasan Teori Algoritma Genetika

  Jaringan Sistem Informasi Robotik Vol. 1, No. 01, Maret 2017

g. Mutasi merupakan proses pergantian sedang berjalan. Adapun hasil keluaran

  salah satu gen yang terpilih dengan nilai pada sistem berjalan adalah Jadwal Kuliah tertentu. per Semester.

  h.

  Generasi merupakan urutan iterasi dimana beberapa kromosom bergabung.

  Alur Diagram Algoritma Genetika

i. Offspring merupakan kromosom baru Berikut ini gambar alur diagram

  yang dihasilkan setelah melewati suatu Algoritma Genetika : generasi. Awal JumGen, PopSize,

  Penjadwalan

  Penjadwalan merupakan proses untuk menyusun suatu jadwal atau urutan proses

  Inisialisasi Nilai Awal

  yang diperlukan dalam sebuah persoalan. Persoalan penjadwalan biasanya Populasi berhubungan dengan penjadwalan kelas Awal dalam sekolah atau perkuliahan dan juga dalam lingkup yang tidak jauh berbeda

  Evaluasi

  seperti penjadwalan pelajaran sekolah,

  Individu (fitness)

  penjadwalan ujian, atau bisa juga penjadwalan karyawan, baik dalam suatu perusahaan ataupun dalam rumah sakit[3].

  Elitisme

  Dalam penjadwalan kuliah, akan dibahas tentang pembagian jadwal untuk

  Linear Fitness

  tiap mahasiswa pada kuliah tertentu

  Ranking

  sekaligus dosen pengajarnya, dalam penjadwalan pelajaran sekolah akan

  Tidak Seleksi Induk

  dibahas tentang pembagian jadwal pelajaran untuk tiap-tiap kelas yang ada beserta guru pengajar pelajaran tersebut, Proses Kawin

  Silang

  dalam penjadwalan ujian akan dibahas

  (crossover)

  pengaturan dosen yang menjaga ujian dan mahasiswa atau murid yang menempati

  Proses Mutasi

  ruang ujian yang ada, sedangkan pada penjadwalan karyawan, dilakukan pengaturan karyawan yang akan bekerja Selesai

  Regenerasi pada waktu tertentu di bagian tertentu.

3. Metode Penelitian

  Analisa Input Gambar 1 Alur Diagram Algoritma

  Analisa input merupakan analisa Genetika yang menjadi masukan (input) dalam pembuatan jadwal kuliah pada sistem yang Inisialisasi Populasi sedang berjalan. Adapun Input yang Tahapan pertama dalam AG adalah berlaku pada sistem pembuatan jadwal inisialisasi populasi yakni melakukan kuliah meliputi : Kurikulum Mata Kuliah, penentuan nilai awal. Bagian penentuan Pengelompokan Bidang Keilmuan Dosen, nilai awal ini merupakan input yang Pendataan Kelas dan Ruangan Kuliah. dilakukan oleh pengguna sendiri. Input- input yang diperlukan dalam AG pada

  Analisa Output skripsi ini meliputi[3]:

  Analisa output merupakan analisa yang menjadi keluaran (output) dalam a. Penentuan banyaknya data dalam pembuatan jadwal kuliah pada sistem yang setiap kromosom (JumGen).

  Jaringan Sistem Informasi Robotik Vol. 1, No. 01, Maret 2017 Mulai

  b. Penentuan besar populasi dalam satu generasi (PopSize). (Populasi), Kromosom

  c. Penentuan banyak generasi yang JumGen akan dilakukan (MaxG). UkGen  UkGen ke -1

  d. Penentuan besar crossover

  probability, Pc (peluang terjadinya UkPop  UkGen ke-n pindah silang). dengan i + 1

  e. Penentuan besar mutation

  probability, Pm (peluang terjadinya Populasi Baru mutasi). Fitness 1/UPop Kromosom Fitness Selesai

  Gambar 3 Evaluasi Individu

  Elitisme

  Input pada prosedur ini adalah

  Populasi, indeks kromosm terbaik dan

  ukuran populasi PopSize. Apabila PopSize bernilai genap, maka variabel IterasiMulai diberi nilai 3 dan kromosom terbaik akan dikopi sebanyak 2 kali yang masing- masing disimpan pada variabel TempPopulasi. Namun jika PopSize bernilai ganjil maka variabel IterasiMulai diberi nilai 2 dan kromosom terbaik dikopi sebanyak 1 kali yag disimpan pada variabel TempPopulasi[3].

  Gambar 2 Inisiliasasi Populasi

  Evaluasi Individu

  Tahap kedua dari AG adalah evaluasi individu, dimana proses ini akan menghitung nilai fitness dari setiap kromosom yang telah dibangkitkan secara random pada tahap inisialisasi populasi di atas.

  Nilai fitness dari setiap koromosom dihitung berdasarkan nilai konflik dari masing-masing populasi gen.

  Gambar 4 Elitisme Jaringan Sistem Informasi Robotik Vol. 1, No. 01, Maret 2017 Mulai Penskalaan Nilai Fitness (Linear Fitness PopSize, Ranking) LinearFitness (LFR)

  Perbedaan nilai-nilai fitness yang terlalu kecil pada semua individu dalam JumFitness  Sum(Fitness) populasi akan menyebabkan KumulatifFitness 0 kencenderungan konvergen pada optimum RNRandom sebuah bilangan lokal. Maka untuk menguranginya i1(iterasi) digunakan penskalaan nilai fitness[2]. ii+1 KumulatifFitness + P(i) KumulatifFitness  PßLFR/JumFitness i<=PopSize? Iterasi Ya Tidak Tidak KumulatifFitness Pindexi Selesai > RN? Ya Kromosom Index

  Gambar 6 Seleksi

  Pindah Silang (Cross Over)

  Prosedur pindah silang adalah prosedur untuk mengkawinkan dua induk yang telah dipilih pada proses roulette

  wheel , namun tidak semua induk akan

  mengalami pindah silang karena proses pindah silang ini banyak dikendalikan oleh beberapa bilangan random[4]. Bapak,Ibu, JUmGen Mulai potong TP1 dan Tentukan titik TP2 secara TP1=TP2 ? Tidak random Acak TP2 Ya TP1<TP2 ? Ya Tidak cpdTP1 cpsTP2

  Gambar 5 Penskalaan Nilai Fitness cpdTP2 cpsTP1

  Seleksi Sisagen Bapak  Anak(1,cps+1xpd Ibu(cps+1xpd)

  Metode seleksi yang digunakan pada Anak(2,cps+1xpd  Bapak(cps+1xpd) Anak(2,cps+1xpd  Bapak(cps+1xpd) proses seleksi ini adalah metode roulette Tidak

  wheel . Pada tahap ini akan dilakukan Iterasi i >

  penyeleksian kromosom berdasarkan nilai JumGen ?

  • nya untuk memilih kromosom mana

  fitness Ya

  yang akan megalami proses perkawinan Anak[1]  Sisagen Bapak Anak[1] atau pindah silang. Kromosom yang Anak[2] Anak[2]Sisagen Ibu benilai fitness tinggi memiliki kesempatan Selesai terpilih lebih besar. Namun, tidak menutup kemungkinan kromosom yang bernilai fitness rendah akan terpilih juga[4].

  Gambar 7 Pindah Silang (Cross Over) Jaringan Sistem Informasi Robotik Vol. 1, No. 01, Maret 2017 Mutasi

  berikutnya adalah kromosom bentukan Mutasi dilakkan dengan cara baru hasil pindah silang dan mutasi serta menukarkan gen-gen yang dipilih secara ditambah kromosom hasil elitisme. acak dengan gen yang dipilih secarak acak Prosedur yang sama akan berlaku juga. Jumlah kromosom yang mengalami untuk populasi baru, yakni akan mutasi dalam satu populasi ditentukan oleh mengalami tahapan yang sama dengan parameter probabilitas mutasi Pm . populasi sebelumnya. Apabila perhitungan Diperkirakan total gen yang mengalami dilanjutkan sampai generasi ke MaxG mutasi pada seluruh generasi adalah Pm x maka akan didapatkan nilai fitness

  

PopSize x MaxG [4]. tertinggi dari seluruh genersi yang

  menunjukkan kromosom terbaik yang akan diambil sebagai solusi[4].

  4. Hasil

  Berdasarkan teori Algoritma Genetika maka dapat dibuktikan hasil komputasi dari pembuatan Jadwal Kuliah pada AMIK Mitra Gama menggunakan bahasa pemrograman Visual Basic dan basis datanya menggunakan aplikasi Database MySQL adalah sebagai berikut :

  Gambar 9 Hasil Komputasi

  5. Kesimpulan

  Ada beberapa kesimpulan yang diambil dari simulasi jadwal kuliah Gambar 8 Mutasi menggunakan metode algoritma genetika, yaitu :

  Pergantian Populasi

  a. Dari hasil pembahasan masalah, maka Untuk pergantian populasi dalam dapat disimpulkan bahwa dengan suatu generasi digunakan general memanfaatkan sistem dan aplikasi

  

replacement yaitu pergantian populasi yang telah dibuat, maka ternyata

  secara keseluruhan. Populasi pada generasi sistem yang manual dapat diubah sebelumnya yang merupakan parent menjadi sistem yang terkomputerisasi diganti seluruhnya dengan populasi baru dengan memanfaatkan infrastruktur yang merupakan anak atau turunannya yang ada. (offspring). Populasi pada generasi

  Jaringan Sistem Informasi Robotik Vol. 1, No. 01, Maret 2017

  b. Sistem yang dibangun dapat menghasilkan jadwal yang optimal, terbukti dengan tidak terdapat konflik jadwal dosen, kelas dan ruangan pada periode yang sama dan terbentuknya kombinasi jadwal dengan nilai konflik terkecil dari jadwal awal yang dibentuk secara random.

  c. Jadwal yang dihasilkan oleh sistem tidak selalu memiliki kombinasi yang sama dengan jadwal yang dibentuk secara manual.

  d. Dari hasil penelitian dapat dibuktikan, bahwa algoritma genetika dapat menyelesaikan suatu masalah yang kompleks dan rumit khususnya dalam pembuatan jadwal kuliah di perguruan tinggi.

  Daftar Pustaka

  [1] Nugaraha Iva, Aplikasi Algoritma

  Genetik untuk Optimasi Penjadwalan Kegiatan Belajar Mengajar , Jurnal

  Teknologi Informasi Volume (2008:1): 2

  [2] Made Darma Yunantara, I Gede Santi Astawa, Ngr. Agus Sanjaya ER,

  Analisis dan Implementasi Penjadwalan dengan Menggunakan Pengembangan Model Crossover Dalam Algoritma Genetika, ELIKU Vol (1 No. 2 Nopember 2012):16 [3] Anita Desiani, Muhammad Arhami. Konsep Kecerdasan Buatan. Andi

  Offset. Yogyakarta. 2006:10 [4] Suyanto. Artificial Intelligence, Informatika Bandung.Bandung. ,

  2007:25 [5] Chandra, Michael. Optimasi

   Penjadwalan Kuliah Dengan Algoritma Genetik . Media Jakarta.

  2005:33 [6] Suyanto. Algoritma Genetika Dalam MATLAB. Andi Offset. Yogyakarta.

  2007:7