Optimasi Penjadwalan Kuliah Pengganti Menggunakan Algoritme Genetika
Vol. 2, No. 9, September 2018, hlm. 2829-2834 http://j-ptiik.ub.ac.id
Optimasi Penjadwalan Kuliah Pengganti Menggunakan
Algoritme Genetika
1 2 3 Holiyanda Husada , Imam Cholissodin , Fitra A BachtiarProgram Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: holiyandahusada@student.ub.ac.id, imamcs@ub.ac.id, fitra.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
dan waktu. Jadi penentuan sebuah jadwal yang 1. efisien menjadi masalah penting (Hariyadi, et al.,
PENDAHULUAN 2017)
Pengaturan waktu pada suatu kegiatan Perkuliahan pengganti merupakan salah merupakan hal yang sangat penting dilakukan satu pilihan yang dapat dipilih ketika dosen agar dapat berjalan lancar dan tanpa hambatan berhalangan hadir sesuai jadwal yang telah yang berarti. Penyusunan jadwal merupakan ditentukan oleh pihak akademik atau ketika masalah yang sulit diselesaikan karena berbagai terdapat hari libur. Perubahan jadwal secara tiba- macam tipe permasalahan memiliki solusi yang tiba mengakibatkan dosen memerlukan berbeda-beda (Kadam, 2014). Begitu juga penjadwalan ulang untuk melakukan dengan penjadwalan akademik yang memiliki perkuliahan pengganti dengan cepat dan tepat banyak batasan/kendala seperti ruangan, agar dapat memenuhi tugasnya dalam mengisi aktivitas dosen, dan waktu. Sehingga dibutuhkan perkuliahan. banyak pertimbangan untuk mendukung kesesuaian antara dosen, mahasiswa, ruangan,
- 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
- Evaluasi
, serta perencanaan produksi (Mahmudy, 2013)
- Reproduksi Proses 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
- F
- ⋯ + F ) (2)
- Seleksi Tahap seleksi merupakan proses memilih individu yang akan bertahan untuk kembali menjadi parent dan dilakukan crossover ataupun mutasi. Proses ini bertujuan untuk mencari individu yang terbaik dalam satu generasi. parent yang baik biasanya akan menghasilkan keturunan yang baik walaupun tidak selalu seperti itu. Salah satu metode
- – individu tersebut akan
- terlihat pada Tabel 2. Banyak nya slot yang serta matakuliah yang akan digunakan tersedia menunjukkan jumlah sks suatu mata dimasukan melalui basis data MySQL. Daftar kuliah. Jika mata kuliah 3 sks maka dibutuhkan ruangan yang tersedia serta jumlah 3 slot kosong pada ruangan.
- Juma Nim Senin ...
- Tabel 5 Hasil Pengujian Populasi (offspring) dari individu-individu yang ada di
- i fitnes
- ra a
- ra ta Fi tn e ss
- ra ta fi tn e ss
Keterangan:
2
1
1 1 + (F
Proses 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 :
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 .
Problem
Proses dalam algoritme genetika dimulai dengan inisialisasi, reproduksi, evaluasi, dan seleksi (Mahmudy, 2013).
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.
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.
Matakuliah. Hasilnya didapatkan bahwa Algoritme Genetika mampu menyelesaikan permasalahan penjadwalan matakuliah dengan lebih baik dibanding Algoritme PSO.
Optimization dalam Optimasi Penjadwalan
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
Bi = Bobot pelanggaran ke-i Fi = Pelanggaran i = 1 . . . n
07.0
07.5
08.4
20.20
yang digunakan adalah Elitism. Eltism ... merupakan salah satu metode seleksi
07.5
08.4
09.3 … 21.10
terpopuler dalam algoritme genetika karena implementasi yang sederhana dan cukup 14515020011116
1
1 1 ...
1
8
efisie. Dalam seleksi dengan metode elitism,
14515020011117
1
1 1 ...
1
sejumlah n individu dengan fitness paling
3
baik dipilih. Individu
14515020011118
1
1 1 …
1 menjadi parent pada generasi berikutnya. 14515020111113
1
1 1 …
1
8 3.
METODE ... ... ... ... … ...
... ... ... ... … ...
Dalam penelitian ini digunakan data berupa
14515020711113 …
1
1
1
1
data ruangan, dalam permasalahan ini digunakan
4
dari 3 ruang yaitu ruang A2.22, A2.23 dan A2.24
14515020711115 …
1
1
1
1
gedung Fakultas Ilmu Komputer Universitas
16515020911100 …
1 Brawijaya serta jadwal mahasiswa dan dosen
1
1
1
3
dari 3 mata kuliah pada semester ganjil
16515020911100 …
1
1
1
1
2017/2018 yaitu Swarm Intelligence, Algoritma
4 Evolusi dan Big Data. Data ruangan dan jadwal
dalam bentuk boolean selama 5 hari kerja, mulai Data jadwal mahasiswa dapat dilihat pada dari hari senin hingga jumat. Adapun data jadwal
Tabel 3. Sama seperti pada data ruangan, data mahasiswa dapat dilihat pada Tabel 3. jadwal mahasiswa bernilai 1 dinyatakan sebagai true atau mahasiswa tersebut dapat menghadiri
Tabel 1 Data Ruang kuliah pengganti dan bernilai 0 dinyatakan false Senin ... Jumat atau mahasiswa tersebut tidak dapat menghadiri
Ruang 07.00 07.50 08.40 ... 20.20 kuliah pengganti. Hal yang serupa juga pada jadwal dosen yang dapat dilihat pada Tabel 4. 07.50 08.40 09.30
21.10
1 A2.22
1 Tabel 4 Data Jadwal Mahasiswa
A2.23
Senin ... Jumat
1
1
1
1 A2.24 Dosen
07.00
07.50 08.40 ...
20.20
07.50
08.40
09.30
21.10 …
Nilai boolean 0 dinyatakan sebagai false dan 1
Imam
sebagai true. Dari Tabel 1 diatas dapat dilihat
Cholissodin,
1
1
1
1 … S.Si, M.Kom
bahwa pada hari senin jam ke 1 hingga jam ke 3
Vivi Nur W,
ruangan yang dapat digunakan adalah ruang
S.Kom.,
1
1
1
1 …
A2.24 sedangkan ruang yang lain pada jam yang
M.Kom
sama bernilai false artinya ruangan tersebut tidak
Rizal Setya
dapat digunakan. Perdana,
1 … S.Kom, M.Kom
Tabel 2 Hasil Pemetaan Data Ruang Ruang Slot Waktu
Gambar 1 menunjukkan alur algoritme secara A2.24
3 Senin 07:00 - 09:30 umum dari metode yang digunakan. Dari A2.23
2 Selasa 16:10 - 17:50 Gambar 1 dapat diambil penjelasan secara rinci
A2.22
3 Jumat 18:40 - 21:10 dari tahapan penjadwalan kuliah pengganti dengan menggunakan algoritme genetika adalah
Sebelum diproses nantinya data ruangan yang sebagai berikut: tersedia akan dipetakan menjadi seperti yang
Data ruangan, jadwal mahasiswa dan dosen
matakuliah yang akan dijadwalkan ulang didapat dari masukan pengguna. Tabel 3 Data Jadwal Mahasiswa
Inisialisasi, menciptakan individu-individu
t
secara acak yang mempunyai susunan gen
(kromosom). Nilai gen disini adalah matakuliah. menghasilkan keturunan
Reproduksi,
Rata- Percobaan ke
populasi dengan cara crossover dan mutasi.
Populas rata
Evaluasi, menghitung total pelanggaran dan
1
2 3 ...
10 kebugaran (fitness) setiap kromosom. s
0,50 0,50 0,66 ... 0,66 5 0,548 0,66 0,56 0,66 ... 0,50 10 0,602
Mulai 0,66 0,66 0,50 ... 0,50 15 0,596
... ... ... .. ... ... ...
.
Ruang [ ] ... ... ... ... .. ... ...
.
50 0,660 0,660 0,660 ... 0,660 0,660 Inisialisasi
Pengujian Jumlah Populasi 0,700
Reproduksi 0,600 ss e
0,500 tn
0,400 Fi ta
Evaluasi 0,300
0,200 Rat
0,100 Seleksi
0,000
20
40
60 Populasi
Gambar 2 Grafik Hasil Pengujian Populasi
Ya Iterasi
Dapat dilihat pada grafik Gambar 2, nilai
max? fitness yang dihasilkan mulai dari ukuran populasi 5 hingga 35 terus mengalami kenaikan.
Tidak
Namun pada ukuran populasi 40 mengalami sedikit penurunan. Semakin besar jumlah
Kromosom
populasi akan menghasilkan keberagaman
terbaik
individu yang lebih banyak, sehingga memberi peluang yang lebih besar dalam menghasilkan individu yang memiliki nilai fitness yang besar.
Selesai
Hasil pengujian pengaruh ukuran populasi terhadap algoritme genetika pada kasus ini, Gambar 1 Diagram alir algoritme semakin banyaknya individu dalam satu populasi tidak dapat menjamin akan 4.
HASIL PENGUJIAN
menghasilkan nilai fitness yang besar dan ukuran Pengujian terdiri dari 3 skenario yaitu semakin kecil ukuran populasi tidak menjamin pengujian ukuran populasi (popsize), pengujian akan menghasilkan nilai fitness yang kecil. Hal jumlah generasi dan pengujian kombinasi itu disebabkan oleh konsep random yang
Crossover rate(Cr) dan Mutation rate(Mr). digunakan pada algoritme genetika.
Tabel 6 Hasil Pengujian Generasi
Generas Percobaan ke Rata-
Mr 0.3. nilai kombinasi terburuk adalah pada
30 0,66 0,66 0,66
... 0,660 0,628 ...
... ... ... ..
.
... ... ... ... ... ... ..
.
... ...
100 0,66 0,66 0,66 ...
0,66 0,612
Gambar 4 Grafik Hasil 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
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
20 0,66 0,66 0,50 ...
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 0,100 0,200 0,300 0,400 0,500 0,600 0,700
0 10 20 30 40 50 60 70 80 90 100110 Rat a
Generasi Pengujian Jumlah Generasi
0,45 0,5 0,55 0,6 0,65 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Rat aa
0,500 0,564
0,500 0,532
i
.
1
2 3 ...
10 rata fitnes s
10 0,50 0,50 0,50 ...
0,500 0,532
20 0,66 0,66 0,50 ...
0,500 0,564
30 0,66 0,66 0,66 ...
0,660 0,628 ...
... ... ... ..
.
... ... ... ... ... ... ..
... ...
10 0,50 0,50 0,50 ...
100 0,66 0,66 0,66 ...
0,66 0,612
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 fitnes s
1
2 3 ...
10
Kombinasi Cr dan Mr Pengujian Crossover rate dan Mutation rate
dilakukan dengan pengujian parameter yang terdiri dari ukuran generasi, ukuran populasi dan kombinasi nilai Crossover rate dan
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer, Volume 1, pp. 215-223.
Zeithaml, V. A. & Parasuraman, A., 2004.
Penjadwalan Praktikum Menggunakan Modified Real Code Particle Swarm Optimization. Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK), Volume 3, pp. 265-272.
Penerapan Algoritma Genetika Traveling Salesman Problem with Time. Jurnal Buana Informatika. Wardhany, B. A. K. et al., 2016. Optimasi
Mata Kuliah Dengan Algoritma Genetika. Suprayogi, D. A. & Mahmudy, W. F., 2014.
Volume 2. Suhartono, E., 2015. Optimasi Penjadwalan
Mawaddah, N. K., 2006. Optimasi penjadwalan ujian menggunakan algoritma genetika.
Perbandingan Algoritma Genetika dan Particle Swarm Optimization dalam Optimasi Penjadwalan Matakuliah.
Malang: Program Teknologi Informasi dan Ilmu Komputer (PTIIK). Marbun, Y., Nikentari, N. & Bettiza, M., 2013.
Mahmudy, W. F., 2013. Algoritma Evolusi.
Kadam, S. U., 2014. Solving Resource- Constrained Project Scheduling Problem by Genetic Algorithm. India, International Conference on Business and Infonnation Management (lCBIM).
Perkuliahan Dengan Menggunakan Pendekatan Constraint Satisfaction (CSP) dan Artificial Bee Colony Algorithm.
Laboratorium Menggunakan Algoritma Genetika. Volume 5. Junaedi, D., 2010. Perancangan Penjadwalan
Bandung, s.n. Indana Zulfa, 2015. Optimasi Jadwal Mengajar
Imbar, J., 2011. Implementasi Algoritma Genetika Pada Aplikasi Penjadwalan dengan Studi Kasus Pada SMP X.
F., 2017. Sistem Optimasi Rute Tempat Wisata Kuliner Di Malang Menggunakan Algoritma Bee Colony.
Mutation rate . Hasil dari pengujian
2. Pada grafik hasil pengujian kombinasi nilai
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.
Cr dan Mr didapatkan hasil yang tidak stabil,
Hermawan, M. A., Hidayat, N. & Mahmudy, W.
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.
Service Quality. illustrated ed. s.l.:Marketing Science Institute, 2004