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 RNRandom sebuah bilangan lokal. Maka untuk menguranginya i1(iterasi) digunakan penskalaan nilai fitness[2]. ii+1 KumulatifFitness + P(i) KumulatifFitness PßLFR/JumFitness i<=PopSize? Iterasi Ya Tidak Tidak KumulatifFitness Pindexi 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 cpdTP1 cpsTP2
Gambar 5 Penskalaan Nilai Fitness cpdTP2 cpsTP1
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