Penjadwalan Mata Kuliah Menggunakan Algoritma Genetika
Penjadwalan mata kuliah merupakan kegiatan yang sangat penting untuk
proses belajar mengajar di Jurusan Sistem Informasi. Proses belajar
mengajar dilaksanakan oleh seluruh mahasiswa dan dosen yang mengajar,
sehingga jadwal mata kuliah yang disusun harus dapat memfasilitasi
kepentingan dosen dan mahasiswanya.Apabila beberapa batasan yang ada
dalam penjadwalan tidak diperhitungkan dengan baik, maka akan
menyebabkan sulitnya untuk melakukan penjadwalan mata kuliah.
Batasan-batasan tersebut, antara lain mata kuliah yang diselenggarakan,
jumlah kelas yang tersedia, jumlah waktu yang ada, dan ketersediaan
dosen yang mengajar. Masalah-masalah penjadwalan yang terjadi di Jurusan
Sistem Informasi tersebut dapat diminimalkan dengan perhitungan
penjadwalan yang tepat dan mempertimbangkan seluruh aspek yang berkaitan
dengan kegiatan belajar mengajar di Jurusan Sistem
Informasi.Permasalahan penjadwalan yang rumit di Jurusan Sistem
Informasi menjadikan alasan untuk membuat sebuah sistem penjadwalan
matakuliah yang terotomatisasi. Penjadwalan mata kuliah ini, dibuat
dengan menggunakan algoritma genetika
sebagai alat bantu untuk menyelesaikan masalah-masalah yang ada pada
penjadwalan di jurusan. Penjadwalan yang dibuat disesuaikan dengan
beberapa batasan yang ada di jurusan, seperti ketersediaan dosen,
mahasiswa yang mengambil mata kuliah, serta ketersediaan waktu dan ruang
kelas. Dashboard Penjadwalan mata kuliahBaca Juga
Masalah penjadwalan kuliah adalah salah satu kasus yang sulit jika
dipecahkan dengan metode konvensional seperti exhaust attack, brutus
algorithm, maupun teknik-teknik lain sejenis dalam penyelesaiannya,
sehingga sering ketika penjadwalan waktu perkuliahan diselesaikan secara
manual. Masalah dalam penjadwalan biasanya dikaitkan dengan
konstrain-konstrain berikut :
Satu mata kuliah bisa mempunyai beberapa kelas, misal kelas A, B, C.
Seorang dosen bisa mengampu lebih dari satu mata kuliah di beberapa kelas.
Gabungan konstrain 1 dan 2 akan bertemu dengan hari jam mengajar.
Konstrain 3 akan bertemu dengan ruangan yang digunakan.
Penyelesaian masalah tersebut akan menjadi rumit dan membingunkan
jika diselesaikan dengan cara konvensional maupun manual. Dengan cara
konvensional akan membutukan waktu yang lama karena julah iterasi yang
sangat tinggi. Cara manual akan membuat bingun dan perlu ketelitian yang
tinggi. Karena ada hal-hal yang harus diperhatikan diantaranya :
Satu ruangan hanya boleh digunakan oleh satu jadwal kuliah untuk 1
set jam kuliah, misal 3 SKS 1 mata kuliah di alokasikan jam 7.00 sampai
10.00 berarti untuk jam tersebut di sebuah ruang kuliah hanya boleh
digunakan 1 mata kuliah pda satu kelas.
Tidak sembarang jam kuliah bisa digunakan oleh dosen tersebut,
misalnya hari senin jam 7.00 sampai 10.00 dosen pengampu sebuah mata
kuliah tidak bisa hadir, hanya bisa dihari selain hari senin.
Satu dosen tidak mungkin berada di sebuah jadwal untuk dua mata kuliah atau satu mata kuliah 2 kelas.
Untuk menyederhankan struktur kromosom dalam algoritma genetika,
sebaiknya gen-gen pembentuk kromosom disusun sedemeikian rupa sebagai
berikut :
Setiap gen akan berisi komponen : dosen, jadwal. Misalnya (D,J) à D adalah dosen, J adalah jadwal.
Subgen dosen terdiri dari : dosen, mata kuliah, kelas.
Subgen jadwal terdiri dari komponen : hari, jam, ruangan. Setiap
korelasi dosen dengan jadwal diberikan derajat kehadiran dengan skala 1 –
9. Derajat 1 berarti dosen tidak bisa hadir, derajat 9 berarti dosen
bisa hadir dengan pasti pada jadwal tersebut.
Nilai derajat kehadiran dari korelasi dosen-jadwal berkontribuasi
pada nilai fitness kromosom. Misalnya jumlah gen dalam sebuah kromosom
ada 10, maka nilai nilai fitness yang diinginkan adalah 9*10 = 90, hal
ini berarti semua dosen bisa hadir dengan pasti pada setiap jadwal yang
diberikan. Nilai fitness terendah adalah 9*1 = 9, yang artinya semua
dosen tidak bisa hadir pada jadwal kuliah yang diberikan.
Berikut adalah hasil analisis data mentah untuk dimasukkan sebagai
bahan implementasi dalam algoritma genetika. Penyelesaian dibawah ini
mengambil sebuah kasus di sebuah universitas swasta tempat penulis
bertugas dengan konstrain-konstrain dibawah ini (seperti kasus yang
diceritakan diatas) :
Satu dosen bisa mengajar sembarang mata kuliah sembarang kelas (A,B,C).
Hari kuliah adalah senin sampai sabtu. Dengan jam kuliah mulai jam 7.00 sampai 16.00 (ada sedikit modifikasi pada jam kuliah).
1 SKS mata kuliah berdurasi 1 jam.
Ruangan yang tersedia ada 4
Satu dosen tidak boleh berada pada dua jadwal untuk waktu/jam yang sama.
Tidak dikaitkan dengan pengambilan mata kuliah oleh mahasiswa yang biasanya bervariasi.
Untuk sebuah jadwal kuliah, seorang dosen mungkin tidak bisa hadir
sehingga untuk jadwal tersebut harus dihindari, diprioritaskan pada
jadwal yang dosen tersebut bisa pasti hadir.