Fakultas Ilmu Komputer
Universitas Brawijaya
6633
Implementasi Algoritme Genetika Dalam Penjadwalan Akademik Sekolah Menengah Atas Brawijaya Smart School
Tobing Setyawan1, Imam Cholissodin2, Tibyani3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]
Abstrak
Penjadwalan merupakan salah satu kebutuhan dari sekolah menengah atas. Penjadwalan pada Sekolah Menegah Atas Brawijaya Smart School(SMA BSS) memiliki masalah pada lamanya waktu pengerjaan, ukuran jadwal, Musyawarah Guru Mata Pelajaran(MGMP) dan mengatur variasi mata pelajaran tiap harinya. Waktu pengerjaan jadwal ini membutuhkan 3 hari. Ukuran ruang permasalahan sebesar 834 jam pelajaran. Jadwal guru juga tidak boleh bertabrakan dengan jadwal MGMP. Variasi mata pelajaran ataupun guru juga tidak boleh ada ayng sama dalam sehari. Karena itu peneliti akan menggunakan algoritme genetika dalam menyelesaikan masalah penjadwalan tersebut. Algoritme genetika merupakan algoritme yang dapat mencari solusi mendekati optimum dari area kemungkinan solusi yang luas. Pada penelitian ini, peneliti menggunakan pindah silang partially-mapped, mutasi reciprocal exchange dan seleksi elitisme. Hasil penelitian mendapatkan bahwa generasi ke-233, ukuran populasi 150, rasio pindah silang 0,7 dan rasio mutasi 0,3 merupakan parameter paling optimal pada kasus penjadwalan akademik SMA BSS. Penelitian ini memiliki kelemahan pada konvergensi dini yang terjadi pada generasi ke-233 sehingga perlunya diterapkan random injection. pencarian global dan lokal kurang efektif karena rasio pencarian selalu sama. Ukuran populasi yang terlalu besar menyulitkan dalam mencari parent yang terbaik sehingga perlu diterapkan seleksi parent.
Kata kunci: algoritme genetika, pindah silang partially-mapped, mutasi reciprocal exchange, penjadwalan akademik
Abstract
Scheduling is one of the most needed requirement for high school. Scheduling at brawijaya smart school senior high school(BSS SHS) had some problems like processing time, schedule size, Musyawarah Guru Mata Pelajaran(MGMP), and managing variety subjects. Scheduling took 3 days to be done. Problem space's size is 834 hours of subject. Teacher's schedule cannot crashed with MGMP. Variations of teachers and subjects cannot be the same within a day from those problems above researcher will use genetic algorithm to solve them. Genetic algorithm is an algorithm that can be used to get the solution that closed to optimum from the wide possibility solution area. In this research, researcher used partially-mapped crossover, reciprocal exchange mutation, and elitism selection. The result gets that the 233rd generation, 150 population size, 0,7 crossover ratio, and 0,3 mutation ratio are the most optimum solution parameter in BSS SHS scheduling case. This research has its disadvantage in early convergence that happened at 233rd generation so random injection is needed to be applied. Global and local search aren't effective because searching ratio is always the same. Population size was too big that difficults the searching for the best parent so parent selection needed to be applied.
Keywords: genetic algorithm, partially-mapped crossover, reciprocal exchange mutation, academic scheduling
1. PENDAHULUAN
Sekolah Menengah Atas Brawijaya Smart School(SMA BSS) merupakan Sekolah
Menengah Atas Swasta dalam naungan Universitas Brawijaya, yang dipersiapkan menjadi Sekolah Bertaraf Internasional (SBI) dan bertekad menghasilkan lulusan yang berkualitas internasional yang mampu bersaing
dan berkolaborasi secara global. Sekolah ini juga menggunakan Teknologi Informasi untuk membantu tujuan sekolah untuk menjadi sekolah bertaraf internasional. Teknologi mencapai pada tahap siakad, absensi dan kegiatan belajar mengajar. Namun, teknologi belum diaplikasikan pada saat penjadwalan kegiatan belajar mengajar di SMA BSS.
Padahal penjadwalan pada SMA BSS membutuhkan waktu 3 hari dengan jumlah sumber daya manusia(SDM) yang minim.
Penjadwalan ini juga memiliki ruang permasalahan yang luas dengan jumlah kelas sebanyak 18 kelas. Setiap kelas memiliki 45-47 jam mata pelajaran untuk seminggu. Kelas 10 mendapat jatah 45 jam mata pelajaran per minggu. Sedangkan kelas 11 dan 12 mendapat jatah 47 jam mata pelajaran. Keseluruhan jadwal ini memiliki 834 jam mata pelajaran dari senin sampai jumat. Musyawarah Guru Mata Pelajaran(MGMP) adalah kegiatan yang menyita waktu guru dalam satu hari dan tidak dapat mengajar. Karena adanya MGMP maka pilihan penempatan jadwal guru semakin berkurang dan membuat jadwal lebih mudah bertabrakan. Guru atau mata pelajaran yang sama tidak dapat diletakan pada hari dan kelas yang sama karena akan membuat siswa bosan.
Penjadwalan telah banyak diteliti pada penelitian-penelitian terdahulu. Salah satu metode yang digunakan pada permasalahan penjadwalan adalah algoritme genetika.
Penelitian pertama optimasi penjadwalan pendamping mahasiswa difabel pada PSLD Universitas Brawijaya dengan algoritme genetika yang menyarankan agar menggunakan jumlah generasi dan waktu komputasi paling optimal (Luber, et al., 2017). Penelitian kedua adalah optimasi penjadwalan asisten praktikum dengan algoritme genetika (Sitorus, et al., 2018). Penelitian ketiga adalah optimasi penjadwalan moving class pada SMAN 1 Turatea menggunakan algoritme genetika (Auliyah, et al., 2018). Berdasarkan dari penelitian penelitian terdahulu maka dipilih algoritme genetika sebagai algoritme untuk mengoptimasi jadwal pada SMA BSS.
Penelitian ini akan mengimplementasikan algoritme genetika dalam kasus penjadwalan akademik SMA BSS. Algoritme genetika akan menggunakan representasi riil yang optimal pada kasus penjadwalan akademik SMA BSS.
Penelitian ini diharapkan dapat menjadi sumber untuk penelitian kedepannya serta menyelesaikan permasalahan penjadwalan
akademik pada SMA BSS.
Penjadwalan adalah proses menyusun urutan kegiatan dengan waktu yang detail (Sitorus, et al., 2018). Penjadwalan juga adalah permasalahan dengan NP-Hard Problems.
Penjadwalan memiliki kompleksitas berdasarkan variabel yang berhubungan seperti jumlah ruang, jumlah kelas dan jumlah kelas yang ada. Batasan pada penjadwalan terdiri dari hard constraint dan soft constraint. Hard constraint adalah batasan yang tidak boleh dilanggar. Soft constraint adalah batasan yang kurang penting (Diveev & Bobr, 2016).
Penjadwalan pada universitas dengan sekolah menengah memiliki perbedaan.
Perbedaan pada jumlah pada jam pelajaran yang harus diambil per hari. Ketika mahasiswa universitas dapat mendapatkan jam yang tidak tetap per harinya. Siswa sekolah menengah memiliki jam pelajaran dari pagi hingga siang dan memiliki jumlah waktu yang sama pada tiap harinya. Jadwal pelajaran pada sekolah menegah yang buruk dapat mengakibatkan menurunnya konsentrasi siswa. Seperti mata pelajaran dengan jenis eksak yang memerlukan konsentrasi tinggi diletakan pada satu hari yang sama. Ataupun pada mata pelajaran yang kurang membutuhkan konsentrasi. Mata pelajaran yang sangat membutuhkan konsentrasi sebaiknya diletakan di pagi hari ketika pikiran masih segar (Febrita &
Mahmudy, 2017).
2. ALGORITME GENETIKA
Algoritme genetika adalah algoritme meta- heuristic dapat mencari solusi dari area kemungkinan yang luas untuk mendapatkan solusi yang mendekati optimum (Febrita &
Mahmudy, 2017). Algoritme genetika secara umum memiliki langkah-langkah yang ditunjukan pada Tabel 1.
Tabel 1 Pseudocode Algoritme Genetika.
No Kode 1
2 3 4 5 5 6 7 8 9 10
Procedure AlgoritmaGenetika begin
t = 0
inisialisasi P(t)
while (bukan kondisi berhenti) do reproduksi C(t) dari P(t)
evaluasi P(t) dan C(t)
seleksi P(t+1) dari P(t) dan C(t) t = t + 1
end while end
Sumber: (Mahmudy, 2016)
a. Kromosom
Kromosom adalah representasi solusi dari permasalahan. Kromosom terdiri dari gen. Gen dapat direpresentasikan dengan bentuk biner, real, integer dan permutasi. Kromosom dapat dinilai dengan fungsi fitness (Mahmudy, 2016).
Kromosom yang akan digunakan berbentuk permutasi mata pelajaran. Representasi kromosom dapat dilihat pada Gambar 1.
b. Fungsi Fitness
Fungsi fitness adalah alat ukur untuk memilih kromosom terbaik diantara kromom lainnya. Tujuan dari fungsi ini adalah meminimalkan batasan atau constraint yang telah ditentukan. Fungsi dapat dilihat pada Persamaan 1.
𝑓(𝑥) = 𝐶
(1 + 𝑗𝑢𝑚𝑙𝑎ℎ 𝑝𝑒𝑙𝑎𝑛𝑔𝑔𝑎𝑟𝑎𝑛) (1) Deskripsi:
f(x) = nilai fitness
C = konstanta yang akan dibagi
Jumlah pelanggaran = total pelanggaran yang terjadi
c. Pindah Silang
Pindah silang adalah salah satu metode reproduksi untuk mendapatkan keturunan.
Pindah silang yang digunakan pada program ini adalah pindah silang partially-mapped crossover (Umbarkar & Sheth, 2015). Pindah silang ini dilakukan dengan cara menukar potongan gen antar parent dan mengubah gen kembar diluar potongan gen dengan mapping.
Pindah silang dapat dilihat pada Gambar 2.
Gambar 2 Contoh Pindah Silang Partially-Mapped
d. Mutasi
Mutasi adalah salah satu metode reproduksi untuk mendapatkan keturunan.
Mutasi yang digunakan pada program ini adalah reciprocal exchange. Reciprocal exchange akan memilih 2 titik dan menukarnya (Frahadnia, 2009). Mutasi dapat dilihat pada Gambar 3.
Gambar 3 Contoh Mutasi Reciprocal Exchange
e. Seleksi
Seleksi adalah proses pemilihan individu untuk diteruskan ke generasi selanjutnya.
Seleksi yang digunakan pada program ini adalah seleksi elitisme (Guo, et al., 2018).
3. METODOLOGI PENELITIAN a. Pengumpulan Data
Pengumpulan data pada penelitian ini adalah wawancara dengan pihak yang selama ini membuat jadwal di SMA BSS. Data yang akan dikumpulkan adalah data jadwal terdahulu, jatah mengajar guru dan aturan yang digunakan dalam penjadwalan. Aturan yang didapat akan digunakan untuk membentuk batasan pada perhitungan fitness.
b. Alir Penyelesaian Masalah
Peneliti menggunakan algoritme genetika untuk menjadwalkan jadwal akademik SMA BSS. Diagram alir pada pada penelitian ini menunjukan proses yang akan dilakukan untuk menyelesaikan kasus penjadwalan akademik pada SMA BSS yang dapat dilihat pada Gambar 4. Diagram alir terdiri dari beberapa tahapan diantaranya analisis data, data preprocessing, representasi kromosom, inisialisasi populasi, proses mutasi, proses pindah silang, proses seleksi, menghitung fitness.
Gambar 4 Alir Penyelesaian Masalah 9 8 3 4 6 7 10 2 1 5
Gambar 1 Representasi Kromosom
c. Struktur Kromosom
Struktur kromosom pada algoritme ini akan menggunakan representasi permutasi.
Kromosom akan terdiri dari 5 kode yang dipisahkan oleh spasi. Struktur kromosom dapat dilihat pada Gambar 5. pada Gambar 5 setiap kode telah dipisahkan untuk memudahkan pembacaan. Kode pertama adalah kode guru.
Kode kedua adalah kode mata pelajaran. untuk mendapatkan kode kedua seluruh mata pelajaran akan diurutkan berdasarkan abjad dan diberikan kode angka. Kode ketiga adalah kode jenis mata pelajaran yang terbagi antara wajib dan non-wajib(peminatan dan lintas minat).
kode untuk wajib adalah 0 dan untuk non-wajib adalah 1. Kode keempat adalah jam pelajaran.
kode keempat akan bernilai sesuai dengan jam mengajar dari mata pelajaran tersebut dengan nilai minimal 1 dan maksimal 2. Kode kelima digunakan sebagai pembeda antar mata pelajaran yang sama. Pengkodean ini dipilih agar tidak terjadi pelanggaran pada batasan pembagian jam mata pelajaran maksimal 2 per hari
.
Gambar 5 Struktur Kromosom
d. Perhitungan Fitness
Tabel 2 Batasan dan Bobot yang Digunakan pada Sistem
No. Batasan Bobot
1 Guru tidak mengajar lebih dari 1 kelas di waktu yang sama
1 2 Mata pelajaran sejenis atau guru yang
sama tidak diletakan di kelas dan hari yang sama kecuali penjasorkes
1
3 Mata pelajaran 2 jam tidak boleh terpisah hari
1 4 Guru tidak boleh mengajar di hari MGMP
nya
1 5 Penjasorkes kalau bisa 3 jam 0,5 6 Penjasorkes harus di pagi hari 1
Batasan yang akan digunakan pada sistem dapat dilihat pada Tabel 2. Pelanggaran- pelanggaran yang terjadi akan dikali dengan bobot dan dihitung pada Persamaan 1. Hasil perhitungan tersebut akan menjadi fitness.
e. Pindah Silang
Pindah Silang partially-mapped akan dilakukan terhadap setiap kelas. Setiap kelas
akan memiliki titik potong yang berbeda-beda.
Setiap kelas akan dipindah silangkan dengan kelas dari parent satunya.
f. Mutasi
Mutasi reciprocal exchange akan dilakukan terhadap setiap kelas. Tiap kelas akan memiliki titik potong yang berbeda.
4. HASIL DAN PEMBAHASAN a. Pengujian Konvergensi
Pengujian konvergensi dilakukan untuk mendapatkan jumlah generasi terbaik. Jumlah generasi terbaik didapatkan dengan memilih jumlah generasi ketika terjadi konvergensi global. Pengujian ini akan dilakukan dengan generasi 1000, ukuran populasi 100, rasio pindah silang 0,5 dan rasio mutasi 0,5. Hasil pengujian didapatkan bahwa konvergensi global terjadi pada generasi ke-233. Grafik Hasil Pengujian dapat dilihat pada Gambar 7.
b. Pengujian Ukuran Populasi
Pengujian ukuran populasi dilakukan untuk mendapatkan ukuran populasi paling optimal algoritme genetika pada kasus penjadwalan akademik SMA BSS. Ukuran populasi optimal dipilih dengan melihat hasil pengujian.
Gambar 7 Grafik Pengujian Konvergensi 0
0,002 0,004 0,006 0,008 0,01
1 78 155 232 309 386 463 540 617 694 771 848 925
Fitness
Generasi
0 0,005 0,01
10 50 100 150 200 250 300 350 400 450 500
Fitness
Ukuran Populasi Terburuk Rata-rata Terbaik Gambar 6 Grafik Pengujian Ukuran Populasi
Pengujian akan menampilkan hasil terburuk, rata-rata dan terbaik. Pengujian akan dilakukan dengan parameter generasi 233, rasio pindah silang 0,5 dan rasio mutasi 0,5. Hasil pengujian didapatkan bahwa ukuran populasi 150 adalah ukuran paling optimal yang dapat dilihat pada Gambar 6. Ukuran populasi 150 mendapatkan nilai tertinggi pada rata-rata dan terburuk.
Ukuran populasi kecil membuat ruang pencarian kurang luas. Sedangkan ukuran populasi besar membuat pencarian parent ideal susah didapatkan.
c. Pengujian Rasio Pindah Silang dan Rasio Mutasi
Pengujian rasio pindah sialng dan mutasi dilakukan untuk mendapatkan rasio paling optimal algoritme genetika pada kasus penjadwalan akademik SMA BSS. Pengujian rasio akan menggunakan jumlah generasi 233 dan ukuran populasi 150. Pengujian akan menampilkan hasil terbaik, rata-rata dan terburuk. Pengujian didapatkan bahwa rasio
pindah silang 0,7 dan mutasi 0,3 adalah rasio paling optimal. Pada Gambar 8 didapatkan bahwa rasio pindah silang yang lebih banyak menghasilkan fitness yang lebih besar sebaliknya rasio mutasi memberikan fitness yang lebih rendah.
d. Analisis Global
Analisis global digunakan untuk analisis efektifitas penjadwalan algoritme genetika dengan penjadwalan manual. Analisis global akan membandingkan pelanggaran- pelanggaran, waktu dan fitness dari kedua
jadwal. Perbandingan kedua jadwal tersebut dapat dilihat pada Tabel 3.
Tabel 3 Analisis Global No Jenis Penjadwalan
Algoritme Genetika
Penjadwalan Manual
1 Pelanggaran 1 28 0
2 Pelanggaran 2 13 0
3 Pelanggaran 3 10 0
4 Pelanggaran 4 35 0
5 Pelanggaran 5 30 28
6 Pelanggaran 6 8 2
7 Waktu 336,6337 detik 3 hari 8 Fitness 0,009091 0,0322580
Pada Tabel 3 diketahui bahwa batasan- batasan pada penjadwalan manual dan algoritme genetika memiliki selisih yang bervariasi. Namun, waktu yang digunakan pada algoritme lebih sedikit dibandingkan dengan menjadwalkan secara manual. Batasan 1-4 tidak dilanggar sama sekali oleh jadwal manual.
Jadwal Algoritme genetika melanggar cukup banyak batasan, karena pencarian kurang luas.
Pencarian mengalami konvergensi setelah generasi ke-233 sehingga membutuhkan random injection untuk mencegah konvergensi pada generasi setelah 223. Pindah silang dan mutasi yang merubah 18 kelas efektif pada generasi awal tetapi kurang efektif dalam mengurangi kromosom dengan pelanggaran yang sedikit. Sehingga penelitian kedepan diharapkan memberikan time-variant pada jumlah kelas yang dipengaruhi saat pindah silang dan mutasi.
5. HASIL DAN PEMBAHASAN a. Kesimpulan
Penjadwalan akademik SMA BSS dengan algoritme genetika menghasilkan jadwal dengan fitness 0,009091 dalam waktu 336 detik. jadwal memiliki perbedaan fitness sebesar 0,023167 dengan jadwal asli. Parameter terbaik pada algoritme genetika kasus penjadwalan akademik SMA BSS adalah 233 generasi, populasi 150, rasio pindah silang 0,7 dan rasio mutasi 0,3.
Algoritme ini mengalami konvergensi global pada generasi ke-233 sehingga perlu ditambahkan teknik untuk menghindari konvergensi dini. Ukuran populasi lebih dari 150 memiliki nilai fitness yang rendah karena pemilihan parent yang acak. Pindah silang memberikan eksplorasi lebih luas dibandingkan mutasi sehingga rasio pindah silang lebih besar.
0 0,002 0,004 0,006 0,008 0,01 0,012
0,1;0,9 0,2;0,8 0,3;0,7 0,4;0,6 0,5;0,5 0,6;0,4 0,7;0,3 0,8;0,2 0,9;0,1
Fitness
Rasio Pindah silang dan rasio mutasi Terburuk Rata-rata Terbaik
Gambar 8 Grafik Pengujian Rasio
b. Saran
Dari kesimpulan diatas didapat bahwa algoritme genetika yang digunakan masih kurang optimal. Dari permasalahan yang ditemukan pada pengujian dibuat beberapa saran. Beberapa saran untuk penelitian selanjutnya adalah Penggunaan random injection untuk mengurangi konvergensi dini.
Penggunaan time-variant pada rasio dan kelas yang terpengaruh pada pindah silang dan mutasi untuk memaksimalkan pencarian global dan lokal. Penggunaan seleksi parent untuk mengurangi kemungkinan parent yang buruk ikut dalam pembuatan child.
7. DAFTAR PUSTAKA