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 :
[email protected]
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 tentunya akan meningkatkan mutu dan pelayanan pendidikan karena mampu menjadwalkan sumber daya yang ada, yaitu tenaga pengajar dalam hal ini dosen dan kelas secara maksimal, sehingga mahasiswa dapat mengikuti perkuliahan dan menyerap ilmu dengan baik. Suatu penjadwalan perkuliahan tentunya akan melibatkan banyak pihak dalam dunia pendidikan, disamping mahasiswa tentunya para pengajar yang terlibat langsung dalam aktifitas pengajaran. Para dosen harus menyediakan waktu serta menyesuaikannya dengan aktifitas mereka. Karena itu, penjadwalan perkuliahan yang baik dan optimal sangat diperlukan. Penjadwalan perkuliahan yang diimplementasikan oleh AMIK Mitra Gama saat ini dilakukan masih secara manual. Dimulai dengan menyediakan
daftar mata kuliah yang diselenggarakan dalam semester tersebut dan juga diperlukannya sebuah daftar yang berisi jadwal kosong dosen, dimana jadwal kosong tersebut digunakan untuk mengajar mata kuliah yang diselenggarakan. Dari data yang ada, kemudian secara manual dan satu persatu jadwal perkuliahan tersebut diisikan nama dosen pengajarnya pada Microsoft Excel, dan apabila ketidakcocokan proses pergantian dan pertukaran secara manual terjadi, dan sering terjadi kesalahan manusia (human error). Proses tersebut sangatlah tidak maksimal karena banyak memakan banyak resource baik waktu maupun sumber daya manusia. Sejalan dengan perkembangan teknologi komputasi, terdapat beberapa jenis algoritma penjadwalan, namun diantara algoritma yang sering
1
Jaringan Sistem Informasi Robotik Vol. 1, No. 01, Maret 2017
dikembangkan dan dipergunakan adalah algoritma genetika (Genetic Algoritm), karena algoritma ini dapat 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. Perumusan Masalah Berdasarkan latar belakang masalah diatas, maka dapat dirumuskan permasalahan sebagai berikut : a. Bagaimana membuat aplikasi penjadwalan perkuliahan dengan menerapkan algoritma genetika untuk memberikan hasil yang terbaik ? b. Bagaimana membuat aplikasi penjadwalan yang mampu mendukung pengambilan keputusan jadwal dosen berdasarkan batasan (konstrain) ? Batasan Masalah Adapun batasan masalah dalam penulisan skripsi ini adalah sebagai berikut : a. Sistem yang akan dibangun menggunakan metode algoritma genetika. b. Dosen yang mengajar mata kuliah telah ditentukan sebelumnya sesuai dengan kompetensi masing-masing. c. Studi kasus yang diambil adalah penjadwalan di AMIK Mitra Gama. d. Sistem ini dirancang menggunakan bahasa pemrograman Microsoft Visual Basic 6.0 dan aplikasi database MySQL. 2. Landasan Teori Algoritma Genetika 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]. 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 fitness. Dalam AG, operasi-operasi yang dilakukan adalah reproduksi, crossover dan mutasi untuk mendapatkan sebuah solusi menurut nilai fitness-nya. 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 hukumhukum 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]. Komponen Penting Algoritma Genetika a. Gen merupakan nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. b. Kromosom / individu merupakan gabungan dari gen-gen yang membentuk nilai tertentu dan menyatakan solusi yang mungkin dari suatu permasalahan. c. Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu satuan siklus evolusi. d. Fitness menyatakan seberapa baik nilai dari suatu individu atau solusi yang didapatkan. e. Seleksi merupakan proses untuk mendapatkan calon induk yang baik. f. Crossover merupakan proses pertukaran atau kawin silang gen-gen dari dua induk tertentu.
2
Jaringan Sistem Informasi Robotik Vol. 1, No. 01, Maret 2017
Mutasi merupakan proses pergantian salah satu gen yang terpilih dengan nilai tertentu. h. Generasi merupakan urutan iterasi dimana beberapa kromosom bergabung. i. Offspring merupakan kromosom baru yang dihasilkan setelah melewati suatu generasi.
g.
Penjadwalan Penjadwalan merupakan proses untuk menyusun suatu jadwal atau urutan proses yang diperlukan dalam sebuah persoalan. Persoalan penjadwalan biasanya berhubungan dengan penjadwalan kelas dalam sekolah atau perkuliahan dan juga dalam lingkup yang tidak jauh berbeda seperti penjadwalan pelajaran sekolah, penjadwalan ujian, atau bisa juga penjadwalan karyawan, baik dalam suatu perusahaan ataupun dalam rumah sakit[3]. Dalam penjadwalan kuliah, akan dibahas tentang pembagian jadwal untuk tiap mahasiswa pada kuliah tertentu sekaligus dosen pengajarnya, dalam penjadwalan pelajaran sekolah akan dibahas tentang pembagian jadwal pelajaran untuk tiap-tiap kelas yang ada beserta guru pengajar pelajaran tersebut, dalam penjadwalan ujian akan dibahas pengaturan dosen yang menjaga ujian dan mahasiswa atau murid yang menempati ruang ujian yang ada, sedangkan pada penjadwalan karyawan, dilakukan pengaturan karyawan yang akan bekerja pada waktu tertentu di bagian tertentu. 3. Metode Penelitian Analisa Input Analisa input merupakan analisa yang menjadi masukan (input) dalam pembuatan jadwal kuliah pada sistem yang sedang berjalan. Adapun Input yang berlaku pada sistem pembuatan jadwal kuliah meliputi : Kurikulum Mata Kuliah, Pengelompokan Bidang Keilmuan Dosen, Pendataan Kelas dan Ruangan Kuliah. Analisa Output Analisa output merupakan analisa yang menjadi keluaran (output) dalam pembuatan jadwal kuliah pada sistem yang
sedang berjalan. Adapun hasil keluaran pada sistem berjalan adalah Jadwal Kuliah per Semester. Alur Diagram Algoritma Genetika Berikut ini gambar alur diagram Algoritma Genetika :
Awal
JumGen, PopSize,
Inisialisasi Nilai Awal
Populasi Awal
Evaluasi Individu (fitness)
Elitisme
Linear Fitness Ranking
Tidak
Seleksi Induk
Proses Kawin Silang (crossover)
Proses Mutasi
Regenerasi
Selesai
Gambar 1 Alur Diagram Algoritma Genetika Inisialisasi Populasi Tahapan pertama dalam AG adalah inisialisasi populasi yakni melakukan penentuan nilai awal. Bagian penentuan nilai awal ini merupakan input yang dilakukan oleh pengguna sendiri. Inputinput yang diperlukan dalam AG pada skripsi ini meliputi[3]: a. Penentuan banyaknya data dalam setiap kromosom (JumGen).
3
Jaringan Sistem Informasi Robotik Vol. 1, No. 01, Maret 2017
b. Penentuan besar populasi dalam satu generasi (PopSize). c. Penentuan banyak generasi yang akan dilakukan (MaxG). d. Penentuan besar crossover probability, Pc (peluang terjadinya pindah silang). e. Penentuan besar mutation probability, Pm (peluang terjadinya mutasi).
Mulai
Kromosom (Populasi), JumGen
UkGen
UkGen
ke -1
UkPop UkGen ke-n dengan i + 1
Populasi Baru
Fitness 1/UPop
Fitness Kromosom
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 masingmasing 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
4
Jaringan Sistem Informasi Robotik Vol. 1, No. 01, Maret 2017
Penskalaan Nilai Fitness (Linear Fitness Ranking) Perbedaan nilai-nilai fitness yang terlalu kecil pada semua individu dalam populasi akan menyebabkan kencenderungan konvergen pada optimum lokal. Maka untuk menguranginya digunakan penskalaan nilai fitness[2].
Mulai
PopSize, LinearFitness (LFR)
JumFitness Sum(Fitness) KumulatifFitness 0
RNRandom sebuah bilangan i1(iterasi)
Iterasi i<=PopSize? Tidak
Ya
ii+1
PßLFR/JumFitness KumulatifFitness KumulatifFitness + P(i)
KumulatifFitness > RN?
Tidak
Ya Index Kromosom
Pindexi
Selesai
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]. Mulai
Bapak,Ibu, JUmGen
Tentukan titik potong TP1 dan TP2 secara random
TP1=TP2 ?
Tidak
Ya TP1
cpsTP2 cpdTP1
Ya
Gambar 5 Penskalaan Nilai Fitness Seleksi Metode seleksi yang digunakan pada proses seleksi ini adalah metode roulette wheel . Pada tahap ini akan dilakukan penyeleksian kromosom berdasarkan nilai fitness-nya untuk memilih kromosom mana yang akan megalami proses perkawinan atau pindah silang. Kromosom yang benilai fitness tinggi memiliki kesempatan terpilih lebih besar. Namun, tidak menutup kemungkinan kromosom yang bernilai fitness rendah akan terpilih juga[4].
Tidak
cpsTP1 cpdTP2
Sisagen Bapak Anak(2,cps+1xpd Bapak(cps+1xpd)
Anak(1,cps+1xpd Ibu(cps+1xpd) Anak(2,cps+1xpd Bapak(cps+1xpd)
Tidak
Iterasi i > JumGen ? Ya Anak[1] Sisagen Bapak Anak[2]Sisagen Ibu
Anak[1] Anak[2]
Selesai
Gambar 7 Pindah Silang (Cross Over)
5
Jaringan Sistem Informasi Robotik Vol. 1, No. 01, Maret 2017
Mutasi Mutasi dilakkan dengan cara menukarkan gen-gen yang dipilih secara acak dengan gen yang dipilih secarak acak juga. Jumlah kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh parameter probabilitas mutasi Pm. Diperkirakan total gen yang mengalami mutasi pada seluruh generasi adalah Pm x PopSize x MaxG[4].
berikutnya adalah kromosom bentukan baru hasil pindah silang dan mutasi serta ditambah kromosom hasil elitisme. Prosedur yang sama akan berlaku untuk populasi baru, yakni akan mengalami tahapan yang sama dengan populasi sebelumnya. Apabila perhitungan dilanjutkan sampai generasi ke MaxG maka akan didapatkan nilai fitness 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
Gambar 8 Mutasi Pergantian Populasi Untuk pergantian populasi dalam suatu generasi digunakan general replacement yaitu pergantian populasi secara keseluruhan. Populasi pada generasi sebelumnya yang merupakan parent diganti seluruhnya dengan populasi baru yang merupakan anak atau turunannya (offspring). Populasi pada generasi
5. Kesimpulan Ada beberapa kesimpulan yang diambil dari simulasi jadwal kuliah menggunakan metode algoritma genetika, yaitu : a. Dari hasil pembahasan masalah, maka dapat disimpulkan bahwa dengan memanfaatkan sistem dan aplikasi yang telah dibuat, maka ternyata sistem yang manual dapat diubah menjadi sistem yang terkomputerisasi dengan memanfaatkan infrastruktur yang ada.
6
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
7