294
*
haryanto@widyadharma.ac.id
Abstract
Scheduling is one of the most common problems in real life. Often the schedule preparation process takes a
long time and is not optimal. One of the scheduling arrangements is the preparation of the exam schedule, which
in this study uses a case study at the Faculty of Information Technology, Widya Dharma Pontianak University. In
the preparation of this exam schedule, it often causes students to bend the student exam schedule, so that it can
lead to students taking exams for more than one subject in one day. This will certainly harm students who take the
exam, so that students are not optimal in doing the exam. To overcome this problem, a genetic algorithm can be
used which helps in preparing the exam schedule. The purpose of this research is to make a schedule for the
semester exam using a genetic algorithm, which previously was still compiled manually, so that it can help in
making the schedule more optimal and efficient. The results of this research, produce an application that can assist
in the preparation of a schedule to be more optimal and efficient, so that there is no longer a schedule for students
who take the exam.
Abstrak
Penjadwalan merupakan salah satu permasalahan yang sering terjadi pada kehidupan nyata. Sering kali proses
penyusunan jadwal memakan waktu yang lama dan tidak optimal. Salah satu penyusunan jadwal adalah
penyusunan jadwal ujian, yang pada penelitian ini menggunakan studi kasus di Fakultas Teknologi Informasi
Universitas Widya Dharma Pontianak. Dalam penyusunan jadwal ujian ini, sering kali menimbulkan bentok
mahasiswa jadwal ujian mahasiswa, sehingga dapat menimbulkan mahasiswa yang ujian lebih dari satu mata kuliah
dalam satu hari. Hal ini tentu akan merugikan mahasiswa yang mengikuti ujian, sehingga mahasiswa tidak optimal
dalam mengerjakan ujian. Untuk mengatasi permasalahan ini, dapat digunakan algoritma genetika yang membatu
dalam penyusunan jadwal ujian. Tujuan dari penelitian ini adalah membuat jadwal untuk ujian semester
menggunakan algoritma genetika, yang sebelumnya masih menyusun secara manual, sehingga dapat membantu
dalam penyusunan jadwal menjadi lebih optimal dan efisien. Hasil dari penelitian ini, menghasilkan sebuah aplikasi
yang dapat membantu dalam penyusunan jadwal menjadi lebih optimal dan efisien, sehingga tidak ada lagi bentok
jadwal bagi mahasiswa yang mengikuti ujian.
28
doi: 10.47002/metik.v5i2.294
sebanyak dua kali yaitu Ujian Tengah learning, peramalan, pemrograman otomatis,
Semester (UTS) dan Ujian Akhir Semester dan sebagainya.
(UAS). Dalam pembuatan jadwal ujian ini, Berbagai penelitian tentang algoritma
harus diperhatikan beberapa hal, sehingga genetika, khususnya tentang optimasi
jadwal yang disusun dapat meminimalisir penjadwalan sudah banyak dilakukan.
permasalahan-permasalahan ketika jadwal Berikut ini merupakan penelitian-penelitian
ujian telah disusun. terkait dengan sistem penjadwalan
Pada kampus Universitas Widya menggunakan algoritma genetika:
Dharma Pontianak, penyusunan jadwal ujian Penelitian yang dilakukan oleh Lian
menjadi tanggung jawab ketua panitia ujian. Aga Aditya dan Windha Mega PD pada tahun
Jadwal yang disusun harus menjamin bahwa 2017 dengan judul "Algoritma Genetika
mahasiswa yang mengikuti ujian suatu mata Untuk Penjadwalan Mata Pelajaran Pada
kuliah tidak boleh bentrok dengan ujian mata LMS", menghasilkan kesimpulan bahwa
kuliah yang lain. Dengan permasalahan proses penyusunan jadwal menggunakan
tersebut, penyusunan jadwal ujian harus Algoritma Genetika dapat menghasilkan
melihat data regis masing masing mahasiswa. jadwal yang optimal. Hal ini didasarkan dari
Penyusunan jadwal mata kuliah yang perhitungan nilai fitness tertinggi pada saat
selama ini dilakukan menggunakan aplikasi proses algoritma genetika tersebut dilakukan
Microsoft Office Excel yang peng-input-an dan berdasarkan mekanisme Algoritma
dan analisa datanya, seperti pengecekan Genetika yang telah dibuat [4].
berapa jumlah mahasiswa yang bentrok jika Penelitian oleh I Made Budi Adnayana
jadwal tersebut digunakan, dilakukan secara pada tahun 2018 dengan judul "Implementasi
manual. Dengan cara manual tersebut, proses Algoritma Genetika untuk Penjadwalan
penyusunan jadwal akan memakan waktu Asisten Dosen di STIKOM Bali",
cukup lama dan jadwal yang disusun dapat menghasilkan kesimpulan bahwa secara
tidak optimal. Ini dikarenakan dibutuhkan otomatis algoritma Genetika dapat
ketelitian, terutama saat perkuliahan online, menghasilkan jadwal yang optimal.
yang biasanya saat perkuliahan tatap muka Penerapan algoritma Genetika pada sistem
ujian dapat berlangsung selama dua minggu, yang diteliti tersebut diawali dengan proses
saat perkuliahan online ini ujian berlangsung pembentukan kromosom, populasi, dan
hanya selama 8 hari, yang membuat penentuan fungsi fitness, dilanjutkan dengan
kemungkinan mahasiswa yang bentrok akan proses seleksi, kawin silang, dan mutase,
semakin tinggi. sehingga menghasilkan individu terbaik [5].
Dibutuhkan sebuah sistem untuk Dilengkapi dengan penelitian oleh
mengatasi permasalahan tersebut. Sistem Ronny pada tahun 2017 dengan judul
yang dibangun dapat menyusun jadwal ujian "Penjadwalan Satpam Jaga dengan Algoritma
secara otomatis, sehingga penyusunan jadwal Genetika" bahwa penyusunan algoritma
dapat efisien dan dapat lebih optimal dalam genetika dapat menghasilkan dengan lebih
meminimalisir terjadinya bentrok saat mudah dan lebih menghemat waktu daripada
mahasiswa melakukan ujian. Untuk menyusun jadwal secara manual. Penyusunan
mengoptimalkan sistem tersebut, digunakan jadwal menggunakan algoritma genetika juga
suatu algoritma, yaitu Algoritma Genetika. dapat menghasilkan jadwal tanpa adanya
Algoritma Genetika merupakan suatu bentrok pada jadwal hal ini disebabkan karena
algoritma pencarian yang didasarkan pada pada genetika terdapat proses evaluasi yang
suatu mekanisme seleksi alamiah dan berfungsi untuk menilai suatu jadwal, apabila
genetika alamiah [2]. jadwal tersebut memiliki bentrok, maka
Algoritma genetika menggunakan proses genetika akan berulang lagi [6].
pemahaman mengenai evolusi alamiah pada
cara pemecahan masalah [3]. Algoritma 2. Metoda Penelitian
genetika biasanya diaplikasikan untuk Metoda penelitian merupakan
permasalahan-permasalahan seperti optimasi, serangkaian proses dalam penelitian yang
tersusun secara sistematis. Tahapan ini
29
doi: 10.47002/metik.v5i2.294
penentuan fungsi fitness, seleksi, crossover dapat berupa proses pertukaran suatu gen
(kawin silang), proses mutasi, Elitisme, dalam kromosom atau proses mengubah nilai
penggantian populasi untuk mencari individu dalam suatu kromosom. Pada penelitian ini,
terbaik, dan kriteria penghentian iterasi. proses mutasi yang dilakukan adalah proses
2.3.3. Skema Pengkodean pertukaran gen dalam kromosom.
Skema pengkodean merupakan proses 2.3.8. Elitisme
pendefinisian suatu individu yang dibentuk Suatu proses kawin silang dan mutase,
dalam bentuk suatu kromosom. Skema tidak menjamin bahwa suatu individu akan
pengkodean meliputi inisiasi kromosom bernilai fitness lebih baik daripada induknya.
berupa bentuk kromosom dan gen. Nilai dari Sehingga untuk menjaga induk dengan nilai
kromosom ditentukan secara acak dan akan fitness tinggi tidak tergantikan oleh individu
disesuaikan dengan nilai maksimal dari baru yang bernilai fitness lebih rendah, maka
kromosom tersebut. diperlukan untuk menyimpan sementara
2.3.4. Nilai Fitness induk yang dengan nilai fitness tertinggi.
Nilai fitness dalam algoritma genetika Prosedur ini dikenal sebagai elitism.
merupakan nilai individu, yang menentukan 2.3.9. Penggantian Populasi
individu tersebut baik atau tidak. Semakin Proses penggantian populasi
tinggi nilai fitness suatu individu, maka merupakan proses penggantian individu pada
semakin baik individu tersebut. Individu suatu generasi, yang digantikan oleh individu
terbaiklah yang akan dapat bertahan hidup, baru hasil kawin silang dan mutasi.
sedangkan individu yang bernilai fitness
terkecil akan mati. Penentuan suatu nilai 2.3.10. Kriteria Penghentian
Fitness, diperoleh dari suatu fungsi. Algoritma genetika merupakan proses
2.3.5. Seleksi yang akan melakukan iterasi terus menerus.
Proses seleksi digunakan untuk untuk Sehingga diperlukan suatu kriteria untuk
menentukan individu-individu yang menghentikan iterasi tersebut.
selanjutnya akan dipilih untuk dilakukan
crossover (kawin silang). Salah satu metode 3. Hasil Penelitian
seleksi yang biasanya digunakan adalah 3.1. Pengkodean
metode turnamen. Sesuai dengan namanya, Pengkodean yang digunakan adalah
metode ini akan membentuk sebuah turnamen pengkodean nilai. Dari hasil observasi yang
dengan pembagian dua buah sisi. Suatu dilakukan, model kromosom yang dibuat
individu dalam populasi, akan dipilih secara adalah sebanyak empat buah kromosom yang
acak dan ditempatkan ke masing-masing sisi. merepresentasikan masing-masing semester,
Dari masing-masing sisi tersebut, dipilih dengan gen sebanyak delapan buah yang
individu terbaik. Sehingga individu terbaik merepresentasikan hari, yaitu sebanyak
masing-masing sisi tersebut, selanjutnya akan delapan hari ujian. Nilai dari Gen
dilakukan proses kawin silang. merepresentasikan kode mata kuliah.
2.3.6. Kawin Silang Kromosom ini digambarkan dengan gambar 1
Proses kawin silang merupakan proses
untuk menghasilkan variasi genetik dari suatu
populasi. Terjadi kombinasi pewarisan gen-
gen dari induknya pada saat proses kawin Gambar 3. Pengkodean Jadwal Ujian
silang ini. Gen-gen dari kedua induk akan
bercampur sehingga menghasilkan susunan
kromosom yang baru.
2.3.7. Mutasi
Pada proses mutasi, suatu gen dalam
kromosom akan diubah nilainya. Mutasi akan
menciptakan individu baru dengan cara
melakukan modifikasi satu atau lebih gen
dalam suatu individu. Proses modifikasi ini
31
doi: 10.47002/metik.v5i2.294
3.5. Mutasi
Proses Mutasi dilakukan dengan
Gambar 5. Code Menghitung Nilai Fitness
penukaran dua gen dalam satu kromosom
secara langsung. Proses mutasi dalam
3.3. Seleksi penjadwalan ini akan dilakukan dengan cara
32
doi: 10.47002/metik.v5i2.294
acak begitu juga gen yang akan ditukar juga tercapai, kedua, jika selama beberapa generasi
dipilih secara acak. tidak terjadi perubahan nilai fitness terbaik.
Untuk penelitian ini, proses penghentian
populasi menggunakan parameter jumlah
Gambar 9. Proses Mutasi iterasi sebanyak 250 generasi dan jumlah
Batasan generasi berhenti jika tidak terjadi
perubahan individu adalah sebanyak 25
generasi.
Nilai Fitness
0.001
0.0008
0.0006
0.0004
0.0002
0
121
101
111
131
141
41
11
21
31
51
61
71
81
91
1
Gambar 11. Code Untuk Pergantian Populasi Dari data di atas, terlihat bahwa hasil
iterasi generasi pada Algoritma Genetika
3.7. Proses Penghentian Populasi berhenti di iterasi ke 150 dari yang seharusnya
Proses penghentian populasi terjadi jika berhenti di iterasi ke 250, ini terjadi
beberapa kriteria telah terpenuhi, antara lain: dikarenakan tidak terjadi perubahan fitness
pertama jika Batasan jumlah iterasi sudah
33
doi: 10.47002/metik.v5i2.294
34