Prosiding Konfrensi Nasional Ilmu Komputer 2012
31
Optimasi Penjadwalan Mata Kuliah Menggunakan
Algoritma Genetika Berbasis Permintaan Mahasiswa
M a r w a n a
STIMED Nusa PalapaMakassar, Indonesia
[email protected]
Abstrak—Masalah penjadwalan mata kuliah dalam suatu kampus merupakan hal yang rumit. Pada penelitian ini dilakukan pemecahan masalah penjadwalan mata kuliah menggunakan algoritma genetika yang didasarkan atas permintaan mahasiswa yaitu waktu-waktu luang dimana mahasiswa bisa mengikuti perkulihaan. Proses penelitian menggunakan data input berupa mahasiswa dengan jumlah mata kuliah (teori/praktek) yang diambil, kode dan nama mata kuliah yang diambil serta hari dan sesi jadwal yang bisa, kemudian diolah menggunakan algoritma genetika sehingga diperoleh optimasi penjadwalan yaitu kondisi dimana terjadi kombinasi terbaik antara mata kuliah dan waktu luang mahasiswa, serta ketersediaan ruangan yang terbatas untuk seluruh mata kuliah yang ada.
Kata kunci : Penjadwalan; mata kuliah; algoritma genetika; permintaan mahasiswa
XVI. PENDAHULUAN
Masalah penjadwalan mata kuliah dalam suatu kampus, masih menjadi isu yang menarik dan secara luas masih diteliti oleh banyak peneliti di dunia. Pada banyak penelitian sebelumnya mengenai penjadwalan ini kebanyakan peneliti sebelumnya menitikberatkan pada waktu dosen yaitu jadwal-jadwal di mana dosen bersangkutan bisa mengajar namun pada penelitian ini yang terjadi justru sebaliknya yaitu waktu dosen tidak menjadi syarat atau tetapan dan waktu mahasiswa yang menjadi syarat atau tetapan. Waktu mahasiswa disini yaitu jadwal-jadwal dimana mahasiswa bersangkutan dapat mengikuti perkulihaan. Selain itu yang perlu diperhatian yaitu pembagian ruangan kuliah yaitu mata kuliah yang berhubungan dengan praktikum harus ditempatkan di laboratorium sedangkan mata kuliah teori di tempatkan di ruang kuliah biasa/teori.
Di samping aspek-aspek di atas, dalam penyusunan jadwal kuliah ini pun terdapat sangat banyak kemungkinan yang selayaknya dicoba untuk menemukan penjadwalan yang terbaik. Karena itu dibutuhkan metode optimasi yang dapat diterapkan untuk mengerjakan penjadwalan mata kuliah ini. Salah satu metode yang dapat digunakan untuk menyelesaikan permasalahan tersebut adalah dengan menggunakan pendekatan algoritma genetika.
Algoritma genetika merupakan pendekatan komputasional untukmenyelesaikan masalah yang
dimodelkan dengan proses biologi dari evolusi.Diharapkan dengan digunakannya algoritma genetika akan diperoleh optimasipenjadwalan yaitu kondisi dimana terjadi kombinasi terbaik untuk pasangan matakuliah dan waktu mahasiswa, serta ketersediaan ruangan yang terbatas untuk seluruh mata kuliah yang ada.
XVII. LANDASAN TEORI A. Penjadwalan
Penjadwalan memiliki pengertian secara khusus sebagai durasi dari waktukerja yang dibutuhkan untuk melakukan serangkaian aktivitas kerja yang ada dalamsuatu kegiatan [1].
Penjadwalan mata kuliah adalah
masalahmenempatkanwaktu dan ruangan kepada sejumlah kuliah, tutorial, dan kegiatanakademik sejenis, dengan memperhatikan sejumlah aturan yang berhubungandengan kapasitas dan lokasi dari ruangan yang tersedia, waktu bebas yangdiperlukan dan sejumlah aturan lain yang berkaitan [2].
Komponen-komponen utama dari penjadwalan mata kuliah adalah dosen,mahasiswa, mata kuliah yang ditawarkan, waktu dan ruangan kelas. Hasil dariproses penjadwalan mata kuliah merupakan pengelompokan komponen-komponen utama secara bersama-sama dengan memperhatikan aturan-aturan yangtelah ditetapkan dalam penjadwalan mata kuliah [3].
B. Algoritma Genetika
Algoritma genetika adalah algoritma pencarian yang didasarkan atas mekanisme dari seleksi alam yang lebih dikenal dengan proses evolusi. Dalam proses evolusi, individu secara terus-menerus mengalami perubahan gen untuk menyesuaikan dengan lingkungan hidupnya. Hanyaindividu-individu yang kuat yang mampu bertahan. Proses seleksi alamiah ini melibatkan perubahan gen yang terjadi pada individu melalui proses perkembang-biakan. Dalam algoritma genetika, proses perkembang-biakan ini menjadi proses dasar yang menjadi perhatian utama, dengan dasar berpikir : ―Bagaimana mendapatkan keturunan yang lebih baik‖ [4].
Prosiding Konfrensi Nasional Ilmu Komputer 2012
32 dilakukan proses crossover atau mutasi saja. Hal ini
dilakukan dengan asumsi bahwa dengan cara ini akan didapatkan keturunan yang lebih baik.
Algoritma genetika yang digunakan disini berfungsi untuk mendefinisikan permasalahan ke dalam suatu kumpulan solusi yang disebut dengan kromosom, kemudian melalui proses-proses yang ada dalam algoritma genetika, dilakukan pencarian solusi yang paling optimal yang didasarkan atas nilai fitness. Nilai fitness dihitung berdasarkan jumlah bentrokan yang terjadi pada jadwal yang dibuat. Semakin besar nilai fitness dalam proses evolusi, maka semakin banyak jumlah bentrokan yang terjadi dari solusi yang diberikan. Hal ini dapat dikatakan, bahwa dalam proses algoritma genetika untuk masalah penjadwalan adalah dicari nilai fitness sama dengan nol.
XVIII. PEMBAHASAN
Materi penelitian utama adalah sekumpulan data mata kuliah, data mahasiswa dan ruangan kuliah. Diasumsikan semua data tersebut sudah dimasukkan dalam database.
Keseluruhan dari tahapan proses dalam penelitian ini seperti pada Gambar 1.berikut :
Gambar 1. Blok Diagram Tahapan Proses Generate Jadwal
Berikut adalah hasil analisis data mentah untuk dimasukkan sebagai bahan implementasi dalam algoritma genetika :
1. Hari kuliah
Hari kuliah aktif adalah senin sampai dengan sabtu yang dibagi dengan 6 sesi jadwal sebagai berikut :
Sesi 1 jam 08.00 sampai dengan 09.40 Sesi 2 jam 10.00 sampai dengan 11.40 Sesi 3 jam 13.00 sampai dengan 14.40 Sesi 4 jam 15.00 sampai dengan 16.40 Sesi 5 jam 17.00 sampai dengan 18.40 Sesi 6 jam 19.00 sampai dengan 20.40
2. Ruangan Kuliah
Ruangan kuliah yang tersedia adalah ada 5 ruangan kuliah biasa/teori dan ada 2 ruangan laboratorium.
3. Lama kuliah
Diasumsikan bahwa setiap mata kuliah lamanya/berdurasi 100 menit tanpa memperhatikan berapa banyak sksnya ataupun karakteristik mata kuliahnya apakah praktikum atau teori.
4. Kapasitas kelas
Diasumsikan bahwa setiap jadwal sesi mata kuliah dapat menampung maksimal 25 orang mahasiswa, sehingga apabila melebihi 25 orang mahasiswa maka akan dibuka kelas baru untuk jadwal sesi mata kuliah yang sama tetapi menempati ruangan yang berbeda.
A. Penerapan Algoritma Genetika P ada OptimasiPenjadwalan
1. Flowchart Program
Flowchart program dapat dilihat pada Gambar 2. Flowchart ini terdiri dari delapan sub program yaitu input data, proses data input, pembuatan kromosom dan populasi, evaluasi fitness, seleksi, reproduksi kromosom baru, mutasi, serta kondisi selesai.
Gambar 2. Flowchart Program Input Data
Proses Data Input
Pembuatan Kromosom
dari
Evaluasi Fitness
Seleksi
Reproduksi Kromosom Baru
Mutasi
Cek Kondisi
Kondisi Selesai Data Masukan
Data Masukan
Database Komponen
Jadwal Data
Mahasiswa
Data Mata Kuliah
Data Ruangan
Pemetaan mahasiswa dan ruangan yang digunakan
Buat jadwal mata kuliah
Pengolahan Data DDData
Generate Jadwal Menggunakan Algoritma
Genetika ArtificialIntellege nce
Database Jadwal Hasil
Prosiding Konfrensi Nasional Ilmu Komputer 2012
33 Data Input
Terdapat beberapa kelompok data yang perlu diberikan, yaitu :
1.Tabel Mata Kuliah 2.Tabel Mahasiswa 3.Tabel Dosen 4.Tabel Ruangan 5.Bobot Fitness 6.Kondisi Selesai
Tabel mata kuliah berisikan daftar semua mata kuliah yang akan dilaksanakan pada semester berjalan.
Tabel mahasiswa berisikan informasi tentang mahasiswa termasuk jumlah mata kuliah (teori dan praktikum) yang diambil, kode dan nama mata kuliah yang diambil serta hari dan sesi jadwal yang bisa diikuti.
Tabel dosen berisi informasi tentang dosen
Tabel ruangan berisi informasi tentang ruangan yang dapat digunakan untuk proses perkuliahaan.
Proses data input
1. Input NIM dan nama mahasiswa
2. Input jumlah mata kuliah yang diambil, mata kuliah teori dan praktikum
3. Input kode mata kuliah dan nama mata kuliah yang diambil
4. Input hari dan jadwal sesi yang bisa diikuti
5. Jumlah jadwal sesi yang diinput harus lebih besar sama dengan batas sesi.
6. Rumus batas sesi = Banyaknya mata kuliah yang diambil * 1,5. Misalnya jumlah mata kuliah yang diambil = 10, maka jumlah jadwal sesi yang diinput harus lebih besar sama dengan 15 (10*1,5). Apabila yang diinput lebih kecil dari batas sesi maka akan muncul pesan untuk menginput kembali sampai sama dengan batas sesi. 7. Selanjutnya akan tersimpan informasi mengenai
masing-masing mahasiswa dengan jumlah mata kuliah yang diambil, kode dan nama mata kuliah yang diambil dan jadwal sesi yang mereka bisa.
8. Informasi tersebut disimpan pada tabel prioritas mata kuliah.
Pembuatan Kromosom dan Populasi
Berdasarkan urutan dari Tabel Prioritas Mata Kuliah, akan dikelompokkan mahasiswa berdasarkan mata kuliah yang mereka ambil setelah itu algoritma akan mengecek mahasiswa-mahasiswa yang mengambil matakuliah yang sama dan memilih sesi jadwal yang sama pula. Mereka yang mempunyai kecocokan akan dibagi kedalam sebuah jadwal kelas kuliah. Tapi perlu diingat kapasitas kelas yang hanya bisa menampung maksimal 25 mahasiswa maka jika terdapat suatu populasi yang melebihi dari itu yang dibentuk sebuah kelas baru.
Evaluasi Fitness
Nilai fitness merupakan nilai yangdigunakan sebagai acuan untuk prosesseleksi dan reproduksi. Nilai fitnesssetiap populasi dihitung berdasarkanjumlah bentrokan yang terjadi padapopulasi awal. Semakin besar nilaifitness dari setiap individu maka semakinbesar bentrokan yang terjadi, yangberarti bahwa individu tersebut tidak baikdigunakan sebagai induk untuk prosesreproduksi. Dan sebaliknya semakinkecil nilai fitness dari setiap individumaka semakin kecil terjadinya
bentrokan, yang berarti semakin baikindividu tersebut digunakan sebagaiinduk dalam proses reproduksi. Nilaifitness diurut ascending, kemudianseleksi untuk crossover diambil darikromosom dengan fitness terkecilsejumlah peluang crossover. Nilai fitnessdihitung menggunakan rumus berikut:
NF (nilai fitness) = ∑bentrokan mahasiswa +∑bentrokanruangan
Dimana masing-masing bentrokanmempunyai bobot yang sama. Setiap kaliterjadi bentrokan pada setiap individu,maka nilai fitness akan bertambah 1(satu).
Seleksi
Untuk mendapatkan solusi yang terbaik, makaprogram harus menyeleksi solusi yang memiliki nilaifitness yang tergolong rendah. Seleksi menggunakanmetode good fitness yaitu setengah dari jumlah populasiyang memiliki harga fitness yang terendah akandihilangkan sehingga akan hanya selalu tersisasekelompok solusi yang terbaik yang pernah diperoleholeh program. Solusi yang tersisa hasil seleksi ini dikenaldengan nama populasi induk.Agar jumlah populasi tetap, maka perlu dibangkitkansolusi baru sebanyak setengah dari jumlah populasi yangada. Kapasitas kelas
Reproduksi Kromosom Baru
Setengah dari jumlah populasi baru akan dibangkitkandengan cara reproduksi kromosom baru. Yaitupenyusunan alternatif solusi penjadwalan secara acakkembali untuk setiap mata kuliah. Proses ini sama denganlangkah ketiga yang telah dibahas.Dengan proses ini maka akan dihasilkan sekelompokpopulasi baru yang benar-benar berbeda dengan populasiinduknya.
Mutasi
Adapun setengah populasi baru lainnya akandibangkitkan dengan cara mutasi. Yaitu setengah daripopulasi induk akan dipilih untuk diduplikasi. Pemilihandapat dilakukan dengan metode good fitness dan random. Pada hasil duplikasi ini akandilakukan sedikit percobaan terhadap posisi penjadwalanbeberapa mata kuliah.
Prosiding Konfrensi Nasional Ilmu Komputer 2012
34 daripadasolusi induknya. Jika ternyata diperoleh solusi
yangmemiliki fitness yang lebih tinggi maka hal itulah yangdiharapkan. Tetapi jika diperoleh solusi dengan nilaifitness yang lebih rendah maka bisa jadi pada iterasiberikutnya diperoleh solusi hasil mutasi yang lebih baiknilai fitnessnya daripada solusi induknya. Maksudnyaadalah tidak menjadi masalah jika solusi hasil mutasi inimengalami penurunan nilai fitness daripada solusiinduknya. Kita hanya perlu untuk mengacuhkannya sajadan tetap memberikan perhatian pada solusi terbaik yangtelah dicapai.
Kondisi Selesai
Terdapat tiga kondisi selesai yang dapat menghentikanproses algoritma pemrograman ini, yaitu: 1.Jika setelah beberapa generasi berturut-turut
nilaifitnessterbaik dari populasi tidak mengalamiperubahan kembali
2. Jika jumlah generasi atau iterasi maksimum telahtercapai. 3. Jika nilai fitness terbaik minimal telah tercapai.Jika salah satu kondisi di atas telah diperoleh makaiterasi akan dihentikan.dan jika salah satu kondisi selesaiini belum tercapai maka program akan mengulangkembali proses ini / iterasi dari langkah keempat yaituevaluasi fitness terhadap populasi baru tadi.
XIX. KESIMPULAN
Dengan bantuan Algoritma Genetika penyusunan penjadwalan mata kuliah dapat dioptimalkan. Program dapat mencari solusi penjadwalan pada waktu yang dapat digunakan baik oleh mahasiswa dan ruangan yang terlibat dalam suatu mata kuliah. Dengan ini kita dapat menghasilkan sebuah solusi untuk mahasiswa yang mempunyai waktu terbatas dan memanfaatkan jumlah ruangan yang terbatas. Dengan menggunakan metode best fitness, maka Algoritma Genetika akan selalu menunjukkan kenaikan fitness atau dengan kata lain generasi selanjutnya lebih baik atau minimal sama dengan generasi sebelumnya
REFERENSI
[21] Bennatan, E.M., 1995, one time within budget : software project management practise technigue. New york : john wiley and sons, Inc.
[22] Ross, P., Corne, D., Fang, H.L., 1994,Successful Lecture Timetabling with Evolutionary Algorithm, Departement of Artificial Intelligence, Universityof Edinburgh, U.K
[23] Lee, H.S.C., 2000,Timetabling Highly Constrained System Via Genetic Algorithm (tesis), Department of Mathematics, College of Science,University of thePhilippines, Diliman, Quezon City