Optimasi Penjadwalan Kuliah Pengganti Menggunakan
Algoritme Genetika
Holiyanda Husada1, Imam Cholissodin2, Fitra A Bachtiar3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1holiyandahusada@student.ub.ac.id, 2imamcs@ub.ac.id, 3fitra.bachtiar@ub.ac.id
Abstrak
Penjadwalan ulang merupakan salah satu pilihan yang dapat dipilih ketika terdapat hari libur atau ketika dosen berhalangan hadir sesuai jadwal yang telah ditentukan oleh pihak akademik. Perubahan jadwal secara tiba-tiba ini menyebabkan dosen memerlukan penjadwalan ulang untuk melakukan perkuliahan pengganti dengan cepat dan tepat agar dapat memenuhi tugasnya dalam mengisi perkuliahan. Penelitian ini menggunakan algoritme genetika untuk melakukan penyusunan ulang jadwal kuliah sesuai dengan jadwal kesediaan dosen, mahasiswa, ruangan yang tersedia, mata kuliah, dan waktu perkuliahan. Kualitas solusi yang dihasilkan diukur menggunakan fungsi fitness. Berdasarkan hasil pengujian yang telah didapatkan nilai fitness yang optimal yaitu 0.667. Solusi yang dihasilkan tidak terdapat bentrok jadwal mahasiswa maupun dosen akan tetapi melanggar sebuah soft-constraint. Parameter dengan nilai fitness tertinggi dari percobaan yang dilakukan sebanyak 10 kali dan didapatkan jumlah generasi 30, ukuran populasi 50, crossover rate 0.7 dan mutation rate 0.3. Hasil akhir yang didapatkan proporsi jadwal yang optimal dimana dosen dan sebagian besar mahasiswa dari kelas yang bersangkutan dapat menghadiri perkuliahan pengganti.
Kata kunci: Optimasi, penjadwalan, Algoritme genetika, fitness
Abstract
Rescheduling is an option that can be chosen when lecturers are unable to attend on a schedule that has been determined by the academic or when there is a day off. This makes the lecturer need a rescheduling system to find another schedule quickly and appropriately to fulfill his duties as a lecturer. In this study use genetic algorithm for rescheduling based on lecturer schedule, student schedule, available room, course, and available time. The solution quality is measured using the fitness function. Based on the testing results that have obtained the optimal fitness value is 0.667. Result of Solution without clashed schedules but soft-constraint violated. The parameters with the highest fitness value from 10 experiments obtained the number of generation 30, population size 50, crossover rate 0.7 and mutation rate 0.3. The result is the optimal schedule available where the lecturers and most students of the class are reliable.
Keywords: Optimization, scheduling, genetic algorithm, fitness
1. PENDAHULUAN
Pengaturan waktu pada suatu kegiatan merupakan hal yang sangat penting dilakukan agar dapat berjalan lancar dan tanpa hambatan yang berarti. Penyusunan jadwal merupakan masalah yang sulit diselesaikan karena berbagai macam tipe permasalahan memiliki solusi yang berbeda-beda (Kadam, 2014). Begitu juga dengan penjadwalan akademik yang memiliki banyak batasan/kendala seperti ruangan, aktivitas dosen, dan waktu. Sehingga dibutuhkan banyak pertimbangan untuk mendukung kesesuaian antara dosen, mahasiswa, ruangan,
dan waktu. Jadi penentuan sebuah jadwal yang efisien menjadi masalah penting (Hariyadi, et al., 2017).
Perkuliahan pengganti merupakan salah satu pilihan yang dapat dipilih ketika dosen berhalangan hadir sesuai jadwal yang telah ditentukan oleh pihak akademik atau ketika terdapat hari libur. Perubahan jadwal secara tiba-tiba mengakibatkan dosen memerlukan
penjadwalan ulang untuk melakukan
Dalam melakukan penjadwalan sendiri terdapat banyak metode yang bisa digunakan dalam membangun sistem. Salah satunya adalah algoritme genetika, cukup banyak penelitian yang menggunakan algoritme genetika. Pada penelitian (Hariyadi, et al., 2017) menggunakan aloritme genetika untuk menyelesaikan penjadwalan perkuliahan. Hasil analisisnya menunjukkan bahwa algoritme genetika berhasil diterapkan. Pada tahun 2013 Marbun, et al. melakukan perbandingan metode antara Algoritme Genetika dan Particle Swarm Optimization dalam Optimasi Penjadwalan Matakuliah. Hasilnya didapatkan bahwa Algoritme Genetika mampu menyelesaikan permasalahan penjadwalan matakuliah dengan lebih baik dibanding Algoritme PSO.
Penelitian ini menggunakan algoritme genetika untuk penyusunan ulang jadwal kuliah sesuai dengan data dosen, mahasiswa, ruangan yang tersedia, mata kuliah, dan waktu perkuliahan. Penulis memilih algoritme ini karena hasil keluarannya yang berupa daftar variabel yang optimal, bukan hanya solusi tunggal dan hal tersebut dianggap tepat untuk menyelesaikan masalah pada penelitian ini. Di harapkan dengan menggunakan algoritme ini akan mendapatkan proporsi jadwal yang optimal dimana dosen dan sebagian besar atau bahkan semua mahasiswa dari kelas yang bersangkutan dapat menghadiri perkuliahan pengganti.
2. ALGORITME GENETIKA
Algoritme Genetika (AG) merupakan algoritme penelusuran yang menerapkan proses genetika dan seleksi alam. Algoritme genetika merupakan salah satu algoritme untuk mengatasi permasalahan optimasi yang rumit yang menyebabkan sulit dilakukan oleh metode konvensional. Algoritme genetika diperkenalkan oleh seseorang dari Universitas Michigan yaitu John Holland pada tahun 1975. Beliau menyatakan setiap masalah yang berbentuk adaptasi alami maupun adaptasi buatan dapat dirumuskan menjadi terminologi genetika.
Algoritme Genetika biasa digunakan dalam berbagai penyelesaian masalah yang kompleks pada bidang ekonomi, sosiologi, biologi, fisika (Mahmudy, 2013). Algoritme genetika kadang tidak dapat menemukan hasil yang paling baik, namun sering kali menyelesaikan masalah dengan cukup baik bahkan mendekati yang terbaik
.
Proses dalam algoritme genetika dimulai
dengan inisialisasi, reproduksi, evaluasi, dan seleksi (Mahmudy, 2013).
- Inisialisasi
Proses ini bertujuan untuk membangkitkan populasi awal secara acak untuk mendapatkan sebuah solusi awal. Kromosom dapat direpresentasikan ke dalam bentuk biner, integer, bilangan real atau permutasi (Imbar, 2011). Pada penelitian ini akan digunakan representasi kromosom dalam bentuk permutasi. Representasi permutasi
sendiri terbukti telah berhasil
diimplementasikan pada beberapa
permasalahan seperti penjadwalan, masalah kombinatorial seperti Travelling Salesperson Problem, serta perencanaan produksi (Mahmudy, 2013)
-
ReproduksiProses ini menghasilkan suatu solusi baru melalui solusi yang telah ada sebelumnya, atau dapat disebut sebagai keturunan dari tiap individu/kromosom pada satu populasi.
Reproduksi menggunakan operator
Algoritme Genetika yaitu crossover dan mutation. Proses crossover dilakukan dengan memecah individu menjadi dua bagian, kemudian salah satu bagian ditukarkan dengan salah satu bagian dari individu yang lain. Sedangkan mutasi menghasilkan individu baru dengan melakukan perubahan pada beberapa gen dalam individu yang sama
-
EvaluasiProses ini merupakan proses untuk mengevaluasi setiap populasi dengan menghitung nilai fitness setiap individu. Rumus fitness yang digunakan (Lee dkk, 2001) menurut (Suhartono, 2015) adalah sebagai berikut
:
𝑓𝑖𝑡𝑛𝑒𝑠𝑠 1 + (F𝐵1+ F𝐵2 1 + ⋯ + F𝐵 𝑛) (2) Keterangan:
Bi = Bobot pelanggaran ke-i Fi = Pelanggaran
i = 1 . . . n
-
Seleksiyang digunakan adalah Elitism. Eltism merupakan salah satu metode seleksi terpopuler dalam algoritme genetika karena implementasi yang sederhana dan cukup efisie. Dalam seleksi dengan metode elitism, sejumlah n individu dengan fitness paling baik dipilih. Individu – individu tersebut akan menjadi parent pada generasi berikutnya.
3. METODE
Dalam penelitian ini digunakan data berupa data ruangan, dalam permasalahan ini digunakan dari 3 ruang yaitu ruang A2.22, A2.23 dan A2.24 gedung Fakultas Ilmu Komputer Universitas Brawijaya serta jadwal mahasiswa dan dosen dari 3 mata kuliah pada semester ganjil 2017/2018 yaitu Swarm Intelligence, Algoritma Evolusi dan Big Data. Data ruangan dan jadwal dalam bentuk boolean selama 5 hari kerja, mulai dari hari senin hingga jumat. Adapun data jadwal mahasiswa dapat dilihat pada Tabel 3.
Tabel 1 Data Ruang bahwa pada hari senin jam ke 1 hingga jam ke 3 ruangan yang dapat digunakan adalah ruang A2.24 sedangkan ruang yang lain pada jam yang sama bernilai false artinya ruangan tersebut tidak dapat digunakan.
Tabel 2 Hasil Pemetaan Data Ruang
Ruang Slot Waktu
Sebelum diproses nantinya data ruangan yang tersedia akan dipetakan menjadi seperti yang terlihat pada Tabel 2. Banyak nya slot yang tersedia menunjukkan jumlah sks suatu mata kuliah. Jika mata kuliah 3 sks maka dibutuhkan 3 slot kosong pada ruangan.
Tabel 3 Data Jadwal Mahasiswa
Nim Senin ... Juma jadwal mahasiswa bernilai 1 dinyatakan sebagai true atau mahasiswa tersebut dapat menghadiri kuliah pengganti dan bernilai 0 dinyatakan false atau mahasiswa tersebut tidak dapat menghadiri kuliah pengganti. Hal yang serupa juga pada jadwal dosen yang dapat dilihat pada Tabel 4.
Tabel 4 Data Jadwal Mahasiswa
Dosen
Gambar 1 menunjukkan alur algoritme secara umum dari metode yang digunakan. Dari Gambar 1 dapat diambil penjelasan secara rinci dari tahapan penjadwalan kuliah pengganti dengan menggunakan algoritme genetika adalah sebagai berikut:
- Data ruangan, jadwal mahasiswa dan dosen serta matakuliah yang akan digunakan dimasukan melalui basis data MySQL. Daftar ruangan yang tersedia serta jumlah matakuliah yang akan dijadwalkan ulang didapat dari masukan pengguna.
(kromosom). Nilai gen disini adalah matakuliah.
- Reproduksi, menghasilkan keturunan (offspring) dari individu-individu yang ada di populasi dengan cara crossover dan mutasi. - Evaluasi, menghitung total pelanggaran dan
kebugaran (fitness) setiap kromosom.
Gambar 1 Diagram alir algoritme
4. HASIL PENGUJIAN
Pengujian terdiri dari 3 skenario yaitu pengujian ukuran populasi (popsize), pengujian jumlah generasi dan pengujian kombinasi Crossover rate(Cr) dan Mutation rate(Mr).
Tabel 5 Hasil Pengujian Populasi
Populas i
Percobaan ke
Rata-rata
fitnes s
1 2 3 ... 10
5 0,50
0
0,50 0
0,66 0
... 0,66
0 0,548
10 0,66 0
0,56 0
0,66 0
... 0,50
0 0,602
15 0,66 0
0,66 0
0,50 0
... 0,50
0 0,596
... ... ... ... ..
.
... ...
... ... ... ... ..
.
... ...
50 0,660 0,660 0,660 ... 0,660 0,660
Gambar 2 Grafik Hasil Pengujian Populasi
Dapat dilihat pada grafik Gambar 2, nilai fitness yang dihasilkan mulai dari ukuran populasi 5 hingga 35 terus mengalami kenaikan. Namun pada ukuran populasi 40 mengalami sedikit penurunan. Semakin besar jumlah populasi akan menghasilkan keberagaman individu yang lebih banyak, sehingga memberi peluang yang lebih besar dalam menghasilkan individu yang memiliki nilai fitness yang besar. Hasil pengujian pengaruh ukuran populasi terhadap algoritme genetika pada kasus ini, semakin banyaknya individu dalam satu populasi tidak dapat menjamin akan menghasilkan nilai fitness yang besar dan ukuran semakin kecil ukuran populasi tidak menjamin akan menghasilkan nilai fitness yang kecil. Hal itu disebabkan oleh konsep random yang digunakan pada algoritme genetika.
Tabel 6 Hasil Pengujian Generasi
Generas Percobaan ke
Rata-0,000 0,100 0,200 0,300 0,400 0,500 0,600 0,700
0 20 40 60
Rat
a
-ra
ta
Fi
tn
e
ss
Populasi
Pengujian Jumlah Populasi
MulaiRuang [ ]
Inisialisasi
Reproduksi
Evaluasi
Seleksi
Iterasi max?
Selesai Ya
Tidak
i
Gambar 3 Grafik Hasil Pengujian Generasi
Pada grafik Gambar 3 rata-rata nilai fitness mengalami kenaikan mulai dari generasi 10 hingga 30. Kemudian pada generasi 40 nilai fitness menurun namun nilai rata-rata nilai fitness kembali mengalami kenaikan pada generasi 50 hingga generasi 70. Besarnya jumlah generasi akan semakin meningkatkan kemampuan algoritme genetika dalam mencari solusi terbaik. Pada penelitian ini jumlah generasi tidak menjamin akan menghasilkan hasil yang optimal. Pada genreasi 30 merupakan titik paling optimum dikarenakan tidak terjadi perubahan nilai fitness untuk menjadi lebih baik setelah generasi diatas 30. Pada pengujian ini didapatkan nilai generasi yang optimum yaitu 30. Oleh karena itu pada pengujian berikutnya akan digunakan generasi sebanyak 30.
Tabel 7 Hasil Pengujian Crossover rate(Cr) dan Mutation rate(Mr
Generas i
Percobaan ke Rata-rata
Gambar 4 GrafikHasil Pengujian Crossover rate(Cr) dan Mutation rate(Mr
Pada grafik Gambar 4.3 dapat dilihat bahwa nilai rata-rata fitness terbaik pada pengujian ini adalah 0.628 yaitu pada kombinasi Cr)0.7 dan Mr 0.3. nilai kombinasi terburuk adalah pada kombinasi Cr 1.0 dan Mr 0.0. maka dari itu dapat ditarik kesimpulan bahwa nilai kombinasi Cr dan Mr adalah 0.7:0.3. Jika menggunakn nilai Cr yang kecil dan Nilai Mr yang besar, algoritme genetika akan melalukan penelusuran secara random dan tidak mampu untuk mengeksplorasi daerah pencarian secara efektif. Jika pada kondisi sebaliknya maka algoritme genetika tidak akan mampu memperluas ruang pencarian (Mahmudy, 2013).
5. KESIMPULAN DAN SARAN
1. Algoritme genetika dapat diimplementasikan dalam proses pembuatan jadwal kuliah pengganti pada Fakultas Ilmu Komputer Universitas Brawijaya. Pada kasus ini kromosom direpresentasikan dengan representasi permutasi dimana nilai gen adalah kode mata kuliah. Menggunakan metode one-cut-point crossove dan insertion mutation pada proses reproduksi serta metode elitism untuk proses sseleksi memberikan hasil yang cukup optimal. 2. Untuk mendapatkan nilai parameter
algoritme genetika yang digunakan pada optimasi penjadwalan kuliah pengganti
0,000
Kombinasi Cr dan Mr
dilakukan dengan pengujian parameter yang terdiri dari ukuran generasi, ukuran populasi dan kombinasi nilai Crossover rate dan Mutation rate. Hasil dari pengujian merupakan paramteter dengan nilai fitness terbaik dari percobaan yang dilakukan sebanyak 10 kali dan didapatkan jumlah generasi 30, ukuran populasi 50, crossover rate 0.7 dan mutation rate 0.3. Kualitas solusi yang dihasilkan diukur menggunakan fungsi fitness. Berdasarkan hasil pengujian yang telah didapatkan nilai fitness yang optimal yaitu 0.667. Solusi yang dihasilkan tidak terdapat bentrok jadwal mahasiswa maupun dosen namun soft-constraint kuliah malam hari dilanggar.
Meskipun implementasi algoritme genetika untuk optimasi penjadwalan kuliah pengganti menunjukkan hasil yang cukup optimal, saran yang penulis berikan untuk pengembangan metode, objek bahan penelitian, maupun aplikasi yang dibangun antara lain:
1. Algoritme genetika merupakan algoritme yang memiliki sifat stochastic dimana setiap kali dijalankan akan menghasilkan keluaran yang berbeda-beda, sehingga pada penelitian berikutnya dibutuhkan strategi untuk melakukan perbaikan terhadap kromosom ketika solusi yang daihasilkan jauh dari optimal.
2. Pada grafik hasil pengujian kombinasi nilai Cr dan Mr didapatkan hasil yang tidak stabil, sehingga dibutuhkan nilai Cr dan Mr yang lebih adaptif. Dimana nilai Cr dan Mr memiliki nilai yang berbeda pada setiap iterasinya.
6. DAFTAR PUSTAKA
Anamisa, D. R., 2014. Implementasi Alokasi
Jadwal Mata Pelajaran Smu
Menggunakan Algoritma Koloni Semut (AKS). Jurnal Ilmiah NERO, Volume 1. Ariani, D., 2011. Optimasi Penjadwalan Mata Kuliah di Jurusan Teknik Informatika Menggunakan Algoritma Particle Optimization(PSO).
FILKOM UB, 2016. Buku Pedoman FILKOM UB 2016. Malang: s.n.
Hariyadi, H. P., Widiyaningtyas, T., Arifin, M. Z. & Sendari, S., 2017. Implementation of Genetic Algorithm to academic
scheduling system. Singapore, Region 10 Conference (TENCON), 2016 IEEE. Hermawan, M. A., Hidayat, N. & Mahmudy, W. F., 2017. Sistem Optimasi Rute Tempat
Wisata Kuliner Di Malang
Menggunakan Algoritma Bee Colony. Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer, Volume 1, pp. 215-223.
Imbar, J., 2011. Implementasi Algoritma Genetika Pada Aplikasi Penjadwalan dengan Studi Kasus Pada SMP X. Bandung, s.n.
Indana Zulfa, 2015. Optimasi Jadwal Mengajar Laboratorium Menggunakan Algoritma Genetika. Volume 5.
Junaedi, D., 2010. Perancangan Penjadwalan Perkuliahan Dengan Menggunakan Pendekatan Constraint Satisfaction (CSP) dan Artificial Bee Colony Algorithm.
Kadam, S. U., 2014. Solving Resource-Constrained Project Scheduling Problem by Genetic Algorithm. India, International Conference on Business and Infonnation Management (lCBIM). Mahmudy, W. F., 2013. Algoritma Evolusi.
Malang: Program Teknologi Informasi dan Ilmu Komputer (PTIIK).
Marbun, Y., Nikentari, N. & Bettiza, M., 2013. Perbandingan Algoritma Genetika dan Particle Swarm Optimization dalam Optimasi Penjadwalan Matakuliah. Mawaddah, N. K., 2006. Optimasi penjadwalan
ujian menggunakan algoritma genetika. Volume 2.
Suhartono, E., 2015. Optimasi Penjadwalan Mata Kuliah Dengan Algoritma Genetika.
Suprayogi, D. A. & Mahmudy, W. F., 2014.
Penerapan Algoritma Genetika
Traveling Salesman Problem with Time. Jurnal Buana Informatika.
Wardhany, B. A. K. et al., 2016. Optimasi Penjadwalan Praktikum Menggunakan Modified Real Code Particle Swarm Optimization. Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK), Volume 3, pp. 265-272.