Implementasi Algoritma Genetika dalam
Pembuatan Jadwal Kuliah
Leonard Tambunan AMIK Mitra Gama Jl. Kayangan No. 99, Duri-Riau
e-mail : leo.itcom@gmail.com
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
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 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].
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
Awal JumGen,
g. 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.
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 :
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.
Input-input yang diperlukan dalam AG pada
skripsi ini meliputi[3]:
a. Penentuan banyaknya data dalam
Mulai
Kromosom (Populasi),
JumGen
UkGen UkGen ke -1
UkPop UkGen ke-n
dengan i + 1
Populasi Baru
Fitness 1/UPop
Fitness Kromosom
Selesai
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).
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 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].
Mulai KumulatifFitness 0
RNRandom sebuah
Pindexi KromosomIndex Selesai ii+1 potong TP1 dan
TP2 secara Sisagen Bapak
Anak(2,cps+1xpd Anak[2]Sisagen
Ibu
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].
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].
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].
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].
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
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
5. Kesimpulan
Ada beberapa kesimpulan yang diambil dari simulasi jadwal kuliah menggunakan metode algoritma genetika, yaitu :
a. Dari hasil pembahasan masalah, maka
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