Fakultas Ilmu Komputer
Universitas Brawijaya
1535
Optimasi Penjadwalan Mata Pelajaran Pada Kurikulum 2013 Dengan
Algoritme Genetika
(Studi Kasus: SMA Negeri 3 Surakarta)
Radita Noer Pratiwi1, Imam Cholissodin2, Putra Pandu Adikara3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email : 1[email protected], 2[email protected], 3[email protected]
Abstrak
Penjadwalan merupakan salah satu masalah komputasi yang sulit untuk penyelesaiannya. Permasalahan dalam penjadwalan juga terjadi di SMA Negeri 3 Surakarta yang mana sekolah tersebut sudah menerapkan kurikulum 2013 dengan program sistem satuan kredit semester (sks) yang dalam pelaksanaannya terdiri dari dua program yaitu program 4 semester dan program 6 semester. Algoritme genetika merupakan suatu metode pencarian yang bisa digunakan untuk memperoleh solusi yang optimal. Representasi kromosom pada penelitian ini terdiri dari dua segmen, yaitu dengan panjang kromosom 748 untuk program 6 semester dan 86 untuk program 4 semester. Hasil solusi optimal didapat dari pengujian yang dilakukan sebanyak 10 kali yang menghasilkan nilai parameter optimal yaitu ukuran populasi 600 individu, jumlah generasi 1000 kali, nilai cr 0,5 dan nilai mr 0,5. Hasil solusi optimal berupa jadwal mata pelajaran untuk program 6 semester dan program 4 semester didapat dari nilai fitness tertinggi yaitu 0,16208. Hasil solusi yang didapat dari nilai fitness yang tertinggi tersebut belum optimal karena masih terdapat pelanggaran pada batasan dalam penjadwalan mata pelajaran SMA Negeri 3 Surakarta.
Kata kunci: penjadwalan, mata pelajaran, algoritme genetika Abstract
Scheduling is one of the most difficult computing problems to solve. Problems in scheduling also occur in SMA Negeri 3 Surakarta which has implemented the 2013 curriculum with the system of university credit unit which for the implementation consists of two courses, namely 4 semester program and 6 semester program. Genetic algorithm is a search method that can be used to obtain optimal solution. Representation of chromosome in the research is divided into two segments, those ares chromosome length 748 for 6 semester program and 86 4 semester program. The optimal solution is obtained from the test that conducted 10 times and obtained the optimal parameter value of population size 600 individuals, the number of generations 1000 times, the value of cr 0.5 and the value mr 0.5. The results of the optimal solution in the form of course schedules for the 6 semester program and 4 semester program obtained from the highest fitness value of 0.16208. The result of the solution obtained from the highest fitness value is not optimal because there are still violations on the constraint in the scheduling of the courses in SMA Negeri 3 Surakarta.
Keywords: scheduling, course, genetic algorithm.
1. PENDAHULUAN
Penjadwalan merupakan salah satu masalah komputasi yang sulit untuk penyelesaiannya. Tujuan dalam penjadwalan ialah untuk menemukan slot waktu yang tepat untuk beberapa tugas atau pekerjaan dengan kebutuhan sumber daya yang terbatas.
SMA Negeri 3 Surakarta merupakan sekolah negeri yang sudah mulai menerapkan
pembelajaran berbasis Sistem Kredit Semester (SKS) sesuai pada Kurikulum 2013 tahun ajaran 2016/2017. Untuk tahun ajaran pertama, terdiri dari kelas dengan sistem pembelajaran 4 semester dan sistem pembelajaran 6 semester. Tiap sistem tersebut mempunyai slot waktu pelajaran yang berbeda dalam proses pembelajarannya. Hal tersebut menjadi masalah dalam pembuatan jadwal mata pelajaran. Penanganan masalah dalam penjadwalan mata
pelajaran menjadi hal yang perlu diperhatikan untuk kelancaran dalam proses belajar mengajar. Dalam penyusunan jadwal mata pelajaran harus disesuaikan dengan ketersediaan guru, waktu mengajar, mata pelajaran yang diampu tiap guru, dan porsi waktu tiap guru. SMA Negeri 3 Surakarta sebelumnya telah menggunakan aplikasi untuk penjadwalan mata pelajaran, tetapi dalam menyusun jadwal mata pelajaran masih mengalami kendala karena penggunaan aplikasi tersebut memberikan hasil yang kurang optimal dimana masih banyak terjadi bentrok serta tidak tepat antara ketersediaan guru, waktu mengajar, dan batasan-batasan dalam pembuatan jadwal mata pelajaran. Oleh sebab itu biasanya dilakukan perbaikan secara manual hingga penjadwalan mata pelajaran dinilai tepat. Cara seperti ini menjadi tidak efisien karena memerlukan waktu yang lama. Berdasarkan observasi yang telah dilakukan, komponen-komponen yang digunakan untuk penyusunan jadwal mata pelajaran, yaitu ketersediaan guru, mata pelajaran, porsi waktu mengajar setiap guru, serta waktu yang dibutuhkan dalam mengajar.
Salah satu cabang ilmu Evolution Algorithms yang banyak dikenal ialah algoritme
genetika. Algoritme genetika bisa digunakan untuk permasalahan optimasi. Algoritme genetika merupakan metode untuk menyelesaikan permasalahan optimasi dengan model matematika yang kompleks (Mahmudy, 2013).
Algoritme genetika juga telah digunakan untuk menyelesaikan masalah optimasi penjadwalan pada penelitian sebelumnya yang dilakukan oleh Sari (2015) yang membahas tentang penggunaan algoritme genetika untuk mengoptimasi masalah penjadwalan mata pelajaran dengan studi kasus SMPN 1 Gondang Mojokerto. Penelitian kedua oleh Ilmi (2015) penelitian yang menyelesaikan masalah penjadwalan perawat dengan menggunakan algoritme genetika. Penelitian ketiga oleh Seisarrina (2016) yang menyelesaikan masalah penjadwalan pengawas ujian semester dengan menggunakan algoritme genetika untuk studi kasus Fakultas Ilmu Komputer Universitas Brawijaya. Berdasarkan penelitian-penelitian yang telah dilakukan tersebut telah membuktikan bahwa algoritme genetika dapat digunakan dalam menyelesaikan permasalahan tentang penjadwalan.
Penelitian ini mengimplementasikan algoritme genetika untuk masalah optimasi
penjadwalan mata pelajaran di SMA Negeri 3 Surakarta.
2. DASAR TEORI
Jadwal adalah pembagian waktu yang didasarkan pada rencana pengaturan dari urutan kerja, selain itu juga jadwal adalah sebagai rencana atau tabel kegiatan yang berisi pembagian waktu pengerjaan yang jelas dan rinci, menurut Kamus Besar Bahasa Indonesia. Penjadwalan merupakan salah satu permasalahan yang sulit untuk diselesaikan. Tujuan dalam penjadwalan adalah untuk menemukan slot waktu yang sesuai untuk beberapa tugas yang memerlukan sumber daya terbatas. Dalam permasalahan tersebut,
constraints atau batasan dalam masalah dapat
bervariasi dan mungkin ada beberapa tujuan yang berbeda. Contohnya, dalam beberapa kasus mungkin bertujuan untuk meminimalkan panjang total periode waktu yang lebih dari beberapa tugas yang telah dijadwalkan, dalam kasus lain mungkin bertujuan untuk memperoleh solusi yang baik untuk total periode waktu yang tetap, dan dalam kasus lain, bertujuan untuk memperoleh solusi yang mana dengan jumlah kendala yang dilanggar sedikit (Benli & Botsali, 2004).
Menurut Mahmudy (2013), algoritme genetika terdiri dari 4 tahap utama yaitu: Inisialisasi awal yang mana merupakan tahap
membangkitkan individu secara acak. Reproduksi yang mana terdapat proses
crossover (penelitian ini menggunakan
metode one-cut point) dan proses mutasi (penelitian ini menggunakan metode
reciprocal exchanged) untuk menghasilkan
individu baru dari parent yang telah diinisialisasi.
Evaluasi fitness yang mana menghitung
fitness dari tiap individu dengan rumus
sebagai berikut:
fitness(x)=100/((1+penalti)) (1) Keterangan:
x merupakan indeks individu ke-i.
Penalti merupakan jumlah total pelanggaran terhadap constraint atau batasan yang telah ditentukan.
3. PERANCANGAN DAN IMPLEMENTASI
Bagian ini membahas perancangan dan impelementasi sistem penjadwalan mata pelajaran SMA Negeri 3 Surakarta dengan algoritme genetika.
3.1 Perancangan sistem
Perancangan sistem dibuat berdasarkan tahapan dalam algoritme genetika. Tahap penyelesaian masalah ditunjukan pada Gambar 1.
Gambar 1 Diagram Alur Algoritme Genetika Proses dimulai dengan masukan pengguna sistem berupa parameter yang diperlukan dalam algoritme genetika, kemudian sistem melakukan proses perhitungan dengan algoritme genetika untuk menghasilkan jadwal yang optimal. Keluaran sistem berupa hasil jadwal mata pelajaran untuk program 6 semester dan program 4 semester.
3.2 Data Penelitian
Data yang digunakan untuk penelitian ini merupakan data yang didapat melalui proses wawancara dan observasi. Data tersebut meliputi data guru, data mata pelajaran, data pembagian kelas untuk mengajar, serta data batasan dalam
membuat jadwal mata pelajaran di SMA Negeri 3 Surakarta.
3.3 Representasi Kromosom
Representasi kromosom yang digunakan dalam optimasi penjadwalan mata pelajaran SMA Negeri 3 Surakarta dibagi menjadi dua segmen. Bagian pertama merepresentasikan program 6 semester dengan panjang kromosom
748, sedangkan segmen kedua
merepresentasikan program 4 semester dengan panjang kromosom 86. Representasi kromosom menggunakan representasi permutasi.
Kromosom dengan panjang 748
merepresentasikan total pembagian mengajar seluruh guru pada program 6 semester dan
kromosom dengan panjang 86
merepresentasikan total pembagian mengajar seluruh guru pada program 4 semester. Representasi kromosom dalam penelitian ini dapat dilihat pada Gambar 2 sebagai berikut.
Kromosom Kelas 4 Semester Kromosom Kelas 6 Semester Gen ke – 1 Kode Jadwal Guru Kode Jadwal Guru Gen ke – 1 Gen ke – 2 Kode Jadwal Guru Kode Jadwal Guru Gen ke – 2 Gen ke – 3 Kode Jadwal Guru Kode Jadwal Guru Gen ke – 3 Gen ke.... …….. Kode Jadwal Guru Gen ke – 4 Gen ke – 86 Kode Jadwal Guru Kode Jadwal Guru Gen ke – 5 Kode Jadwal Guru Gen ke – 6 …….. Gen ke –…. Kode Jadwal Guru Gen ke – 748
Gambar 2 Representasi Kromosom
Tiap gen dalam tiap individu tersebut merepresentasikan kode mengajar yang berisi informasi tentang guru yang mengajar, kelas, kode guru, kode mata pelajaran, serta porsi slot waktu yang diberikan. Berikut contoh tabel yang merepresentasikan kode mengajar pada program 6 semester dan program 4 semester yang dapat dilihat pada Tabel 1 dan Tabel 2.
Tabel 1. Representasi Kode Mengajar Program 6 Semester
No Nama Guru Kelas
Porsi Jam Kode Guru Kode Mata Pelajaran 1 Dra. H. Nadjah Pertiwi X MIPA 3 3 G6 M1 2 Dra. H. Nadjah Pertiwi X MIPA 4 3 G6 M1 3 Dra. H. Nadjah Pertiwi X MIPA 5 3 G6 M1 4 Dra. H. Nadjah Pertiwi XI MIPA 6 2 G6 M1 … … … … Mulai
Ukuran populasi, generasi, cr,
mr For x = 0 to generasi - 1 Generasi_berikutnya x Solusi_terbaik Selesai Inisialisasi Kromosom Reproduksi Evaluasi fitness Seleksi
748 Drs.
Sudarsono XII IPS 3 2 G16 M8
Tabel 2. Representasi Kode Mengajar Program 4 Semester
No Nama Guru Kelas
Porsi Jam Kode Guru Kode Mata Pelajaran 1 Dra. Hj. Nanik Murti P. X MIPA 1 2 G29 M1 2 Dra. Hj. Nanik Murti P. X MIPA 1 2 G29 M1 3 Dra. Hj. Nanik Murti P. X MIPA 2 2 G29 M1 4 Dra. Hj. Nanik Murti P. X MIPA 2 2 G29 M1 … … … … 86 Drs. Sudarsono X IPS 1 2 G16 M8 3.4 Reproduksi 3.4.1 Crossover
Proses crossover dilakukan pada semua bagian (program 4 semester dan program 6 semester) dalam kromosom atau tiap individu. Proses crossover menggunakan metode one- cut
point. Contoh crossover dapat dilihat pada
Gambar 3 sebagai berikut.
Individu 1 (P1) Individu 2 (P2) Kelas 4 Semeste r Kelas 6 Semester Kelas 4 Semeste r Kelas 6 Semester 3 12 1 19 5 9 3 16 1 18 2 14 2 5 8 15 8 1 10 12 9 3 9 10 12 19 7 3 16 16 6 1 Titik potong 14 14 4 7 Gen ke - 8 11 7 5 18 10 15 11 9 Titik potong 15 6 16 8 Gen ke - 10 4 20 13 6 7 13 14 17 6 10 12 13 13 2 15 11 17 5 8 4 11 2 4 20
Gambar 3. Crossover One-Cut Point
3.4.2 Mutasi
Proses mutasi dilakukan pada semua bagian (program 4 semester dan program 6 semester) dalam kromosom atau tiap individu. Proses mutasi menggunakan metode reciprocal exchanged dengan titik tukar yang ditentukan secara acak pada program 4 semester maupun program 6 semester. Contoh proses mutasi dapat dilihat pada Gambar 4 sebagai berikut.
P3
Kelas 4 Semester Kelas 6 Semester
4 14 11 11 16 4 Gen ke - 4 13 7 7 2 3 19 Gen ke - 6 10 10 12 13 5 16 9 12 8 3 2 18 Gen ke - 13 6 8 15 6 14 17 1 20 15 1 Gen ke - 18 9 5
Gambar 4. Mutasi Reciprocal Exchange 3.5 Perhitungan Fitness
Tahap setelah proses reproduksi ialah menghitung fitness yang didapat dari penalti terhadap pelanggaran batasan atau constraint yang dilakukan.
Berikut contoh perhitungan fitness pada
constraint 1 yaitu seorang guru tidak bisa
mengajar lebih dari satu kelas dalam waktu yang bersamaan (tidak boleh terjadi bentrok waktu mengajar) yang bisa dilihat pada Tabel 3.
Tabel 3. Pelanggaran Constraint 1
Berdasarkan Tabel 1 diketahui bahwa kode 9 dan 12 merupakan guru yang sama dan mendapat jadwal di kelas yang berbeda namun di slot waktu yang sama, sehingga hal tersebut merupakan pelanggaran terhadap batasan. Dari Tabel 1 total penalti adalah 6. Perhitungan
fitness dilakukan pada empat batasan atau constraint yang telah ditentukan dengan rumus
pada persamaan I. 3.6 Seleksi
Proses seleksi menggunakan metode
Elistism yang mana mengurutkan individu
berdasar nilai fitness yang tertinggi kemudian memilih individu sesuai ukuran populasi untuk diproses pada generasi selanjutnya.
3.7 Screnshoot Hasil Implementasi
Implementasi antarmuka untuk sistem penjadwalan mata pelajaran terdiri dari 4 halaman utama, yaitu halaman home, halaman algoritme genetika, halaman hasil jadwal, serta halaman data sekolah. Antarmuka sistem bisa dilihat pada Gambar 5, Gambar 6, Gambar 7, Gambar 8, dan Gambar 9 sebagai berikut.
Gambar 5. Antarmuka Home
Gambar 6. Antarmuka Algoritme Genetika
Gambar 7. Antarmuka Hasil Jadwal Program 6 Semester
Gambar 8. Antarmuka Hasil Jadwal Program 4 Semester
4. PENGUJIAN DAN ANALISIS
Penelitian ini melakukan tiga pengujian, yaitu pengujian terhadap ukuran populasi, pengujian terhadap jumlah generasi, serta pengujian terhadap nilai cr dan mr. Pengujian dilakukan sebanyak 5 kali percobaan dengan mengambil nilai rata-rata fitness pada semua percobaan yang dilakukan.
Pengujian ukuran populasi dilakukan dengan nilai 100, 200, 300, 400, 500, 600, 700, 800, 900, dan 1000. Parameter yang digunakan pada pengujian populasi adalah jumlah generasi 500, nilai cr 0,4 dan nilai mr 0,2. Percobaan tersebut menghasilkan nilai rata-rata fitness tertinggi yaitu 0,138834 pada ukuran populasi 600. Grafik pengujian ukuran populasi dapat dilihat pada Gambar 10 sebagai berikut:
Gambar 10. Grafik Pengujian Ukuran Populasi
Pengujian jumlah generasi dilakukan dengan nilai 100, 200, 300, 400, 500, 600, 700, 800, 900, dan 1000. Nilai parameter yang digunakan adalah nilai ukuran populasi 600, nilai cr 0,4 dan nilai mr 0,2. Pengujian tersebut menghasilkan nilai rata-rata fitness tertinggi yaitu 0,144198 pada jumlah generasi 1000. Grafik pengujian jumlah generasi dapat dilihat pada Gambar 11 sebagai berikut:
Gambar 11. Grafik Pengujian Jumlah Generasi
Banyaknya jumlah generasi juga mempengaruhi waktu komputasi. Semakin tinggi jumlah generasi maka semakin lama juga
waktu komputasinya. Saat jumlah generasi 1000 waktu yang dibutuhkan rata-rata 8569,3524 detik. Grafik waktu komputasi pada pengujian jumlah generasi bisa dilihat pada Gambar 12 sebagai berikut:
Gambar 12. Grafik Waktu Komputasi
Pengujian nilai cr dan mr dilakukan sebanyak 5 kali dengan nilai parameter ukuran populasi 600 dan jumlah generasi 1000. Pengujian tersebut menghasilkan nilai
cr dan mr yang optimal yaitu 0,5 untuk nilai cr dan 0,5 untuk nilai mr. Grafik pengujian
nilai cr dan mr dapat dilihat pada Gambar 13 sebagai berikut.
Gambar 13. Pengujian Nilai cr dan mr 4.1 Pengujian Parameter dan Analisis Hasil
Berdasarkan pengujian ukuran populasi, jumlah generasi, nilai cr dan nilai mr maka didapatkan parameter untuk solusi yang optimal yaitu ukuran populasi 600, jumlah generasi 1000, nilai cr 0,5 dan nilai mr 0,5. Pengujian parameter menghasilkan nilai fitness tertinggi yaitu 0,16208. Detail pelanggaran constraint pada pengujian parameter dapat dilihat pada Tabel 3 sebagai berikut.
Tabel 3. Detail Pelanggaran Constraint
No. Batasan (Constraint) Nilai Penalti Sistem
Nilai Penalti Manual
No. Batasan (Constraint) Nilai Penalti Sistem Nilai Penalti Manual
mengajar lebih dari 1 kelas dalam waktu yang sama. 2. Guru tidak boleh mengajar
lebih dari 3 slot waktu pelajaran di hari dan kelas yang sama.
12 0
3. Guru mata pelajaran tidak boleh mengajar di hari yang sama dengan hari Musyawarah Guru Mata Pelajaran (MGMP) dengan ketentuan hari untuk MGMP adalah sebagai berikut :
Matematika: hari Rabu Bahasa Inggris: hari Selasa Bahasa Indonesia: hari Senin
PKn : hari Senin IPS : hari Kamis IPA : hari Sabtu
133 0
4. Mata pelajaran olahraga tidak lebih dari jam 11.00 untuk penjadwalannya.
25 0
Total Bobot Penalti 616 0
Nilai Fitness 0,16208 100
Berdasarkan nilai fitness tertinggi yaitu 0,16208 dari parameter algoritme yang optimal yaitu ukuran populasi 600, jumlah generasi 1000, nilai cr 0,5 dan nilai mr 0,5 menghasilkan solusi jadwal yang belum optimal yang mana masih terjadi pelanggaran pada semua batasan atau constraint yang telah ditentukan. Hal tersebut terjadi karena banyaknya jumlah data yang digunakan untuk proses penjadwalan mata pelajaran SMA Negeri 3 Surakarta. Data jadwal yang berisi informasi guru serta porsi kelas, mata pelajaran yang diampu, serta porsi slot waktu terdapat 748 data untuk program 6 semester dan 86 data untuk program 4 semester. Data tersebut direpresentasikan ke dalam panjang kromosom untuk tiap individu yaitu 748 untuk program 6 semester dan 86 untuk program 4 semester dengan representasi kromosom permutasi. Selisih fitness antara hasil sistem dan hasil manual sangat tinggi. Hal tersebut disebabkan karena proses perhitungan penalti dilakukan dengan menghitung banyak slot waktu apabila terjadi pelanggaran.
Individu yang dibangkitkan pada saat proses inisialisasi awal yang sesuai ukuran populasi juga tidak menjamin bahwa susunan gen yang dibangkitkan secara acak tersebut menghasilkan susunan yang baik. Kemampuan algoritme genetika untuk mengeksplorasi tidak efektif karena individu-individu mempunyai tingkat kemiripan yang tinggi. Data dan batasan atau constraint yang banyak tersebut tidak dapat
diselesaikan karena ruang pencarian kurang luas padahal untuk proses eksplorasi pada ruang pencarian yang luas memerlukan waktu komputasi yang lebih lama lagi. Oleh sebab itu, nilai fitness yang tinggi dengan solusi yang optimal sulit untuk didapat. Namun, penggunaan algoritme genetika membuat waktu komputasi lebih cepat dibandingkan saat pembuatan jadwal dengan sistem yang kemudian dilakukan secara manual yang memakan berhari-hari. (Sumber: wawancara dengan koordinator pembuat jadwal SMA Negeri 3 Surakarta).
5. KESIMPULAN
Berdasarkan penelitian yang telah dilakukan maka dihasilkan kesimpulan sebagai berikut:
1. Algoritme genetika digunakan untuk penjadwalan mata pelajaran SMA Negeri 3 Surakarta. Tahap yang dilakukan dalam mengimplementasi algoritme genetika untuk penjadwalan mata pelajaran SMA Negeri 3 Surakarta, yaitu tahap inisialisasi kromosom, reproduksi (proses crossover dengan metode one-cut point dan proses mutasi dengan metode reciprocal exchange), evaluasi nilai fitness, dan seleksi
dengan metode elitism. Kromosom yang dipakai dengan representasi permutasi yang mana diisi kode data pembagian jadwal tiap guru. Kode data pembagian jadwal tiap guru tersebut berisi informasi tentang nama guru, kode guru, kelas yang diampu, porsi jam, serta kode mata pelajaran. Kromosom terdiri dari 2 segmen yaitu untuk program 4 semester dengan panjang kromosom 86 dan program 6 semester dengan panjang kromosom 748. Solusi yang optimal didapat dari nilai fitness yang tertinggi sehingga menghasilkan jadwal mata pelajaran yang tidak terdapat pelanggaran batasan atau
constraint aturan penjadwalan yang telah
ditetapkan.
2. Berdasarkan hasil pengujian parameter algoritme genetika dihasilkan ukuran populasi terbaik sebesar 1000, jumlah generasi terbaik sebesar 100, nilai cr terbaik sebesar 0,3, dan nilai mr terbaik sebesar 0,7. Penggunaan parameter tersebut menghasilkan solusi optimal dengan nilai
fitness sebesar 0,13189. Namun jadwal yang
dihasilkan belum optimal karena masih terjadi pelanggaran pada batasan atau
6. DAFTAR PUSTAKA
Benli, Ö. S., & Botsali, A. R., 2004. Timetabling
problem. [Online] tersedia di: http://web.csulb.edu/~obenli/DSS/node3. html [diakses pada 4 September 2016]. Entin, 2011. Teori Algoritma Genetika. [Online]
tersedia di: http:// entin.lecturer.pens.ac.id [diakses pada 4 September 2016].
Ilmi, R.R. 2015. Optimasi Penjadwalan Perawat Menggunakan Algoritma Genetika. Malang. Fakultas Ilmu Komputer Universitas Brawijaya.
Lokesh Kumar, et al. 2015. Exam Time Table
Scheduling using Genetic Algorithm. ER
Publications. ISSN.
Mahmudy, W.F. 2013. Algoritma Evolusi. Malang: Universitas Brawijaya.
Nugraha, Ivan. 2008. Aplikasi Algoritma Genetik untuk Optimasi Penjadwalan Kegiatan Belajar Mengajar. Bandung: Institut Teknologi Bandung.
Nursyamsudin. 2014. Panduan Pelaksanaan Satuan Kredit Semester (SKS) di SMA. Jakarta: Kementrian Pendidikan dan Kebudayaan.
Permata Sari, D.D. 2015. Optimasi Penjadwalan Mata Pelajaran Menggunakan Algoritma Genetika (Studi Kasus: SMPN 1 Gondang Mojokerto). Malang: Fakultas Ilmu Komputer Universitas Brawijaya.
Seisarrina, Maulidya L. 2016. Penjadwalan Pengawas Ujian Semester Menggunakan Algoritma Genetika. Malang: Fakultas Ilmu Komputer Universitas Brawijaya. Sivanandam, S.N., & Deepa, S.N. 2008.
Introduction to Genetic Algorithms. New
York: Springer Berlin Heidelberg.
Trawinski, et al. 2015. Truck Loading Schedule Optimation Using Genetic Algorithm for Yard Management. Polandia.