Optimasi Penjadwalan Mata Pelajaran Pada Kurikulum 2013 Dengan Algoritme Genetika (Studi Kasus: SMA Negeri 3 Surakarta)
Vol. 1, No. 12, Desember 2017, hlm. 1535-1542 http://j-ptiik.ub.ac.id
Optimasi Penjadwalan Mata Pelajaran Pada Kurikulum 2013 Dengan
Algoritme Genetika
(Studi Kasus: SMA Negeri 3 Surakarta)
1 2 3 Radita Noer Pratiwi , Imam Cholissodin , Putra Pandu AdikaraProgram Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email : raditapratiwi09@gmail.com, imamcs@ub.ac.id, adikara.putra@ub.ac.id
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 schedulingalso 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.
: pembelajaran berbasis Sistem Kredit Semester
1. PENDAHULUAN (SKS) sesuai pada Kurikulum 2013 tahun ajaran
2016/2017. Untuk tahun ajaran pertama, terdiri Penjadwalan merupakan salah satu masalah dari kelas dengan sistem pembelajaran 4 komputasi yang sulit untuk penyelesaiannya. semester dan sistem pembelajaran 6 semester. Tujuan dalam penjadwalan ialah untuk
Tiap sistem tersebut mempunyai slot waktu menemukan slot waktu yang tepat untuk pelajaran yang berbeda dalam proses beberapa tugas atau pekerjaan dengan kebutuhan pembelajarannya. Hal tersebut menjadi masalah sumber daya yang terbatas. dalam pembuatan jadwal mata pelajaran. SMA Negeri 3 Surakarta merupakan sekolah
Penanganan masalah dalam penjadwalan mata negeri yang sudah mulai menerapkan
Fakultas Ilmu Komputer Universitas Brawijaya
1535 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
crossover (penelitian ini menggunakan
fitness
dari tiap individu dengan rumus sebagai berikut:
fitness
individu baru dari parent yang telah diinisialisasi. Evaluasi fitness yang mana menghitung
reciprocal exchanged) untuk menghasilkan
metode one-cut point) dan proses mutasi (penelitian ini menggunakan metode
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
Algorithms yang banyak dikenal ialah algoritme
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).
constraints
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,
2. DASAR TEORI
Penelitian ini mengimplementasikan algoritme genetika untuk masalah optimasi penjadwalan mata pelajaran di SMA Negeri 3 Surakarta.
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.
genetika. Algoritme genetika bisa digunakan untuk permasalahan optimasi. Algoritme genetika merupakan metode untuk menyelesaikan permasalahan optimasi dengan model matematika yang kompleks (Mahmudy, 2013).
(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
3 Surakarta. 3.3 Representasi Kromosom Representasi kromosom yang digunakan dalam optimasi penjadwalan mata pelajaran
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.
IMPLEMENTASI
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
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
- – 1 Kode Jadwal Guru Kode Jadwal Guru
- – 2 Kode Jadwal Guru Kode Jadwal Guru
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
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
Gambar 1 Diagram Alur Algoritme Genetika
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
No Nama Guru Kelas 6 Semester 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
Gen ke – 1 Gen ke
748 Drs. Sudarsono XII IPS 3 2 G16 M8 Tabel 2. Representasi Kode Mengajar Program
4 14 11 11 16 4 Gen ke - 4 13 7
mengajar lebih dari satu kelas dalam waktu yang bersamaan (tidak boleh terjadi bentrok waktu mengajar) yang bisa dilihat pada Tabel 3.
constraint 1 yaitu seorang guru tidak bisa
Berikut contoh perhitungan fitness pada
Tahap setelah proses reproduksi ialah menghitung fitness yang didapat dari penalti terhadap pelanggaran batasan atau constraint yang dilakukan.
5 Gambar 4. Mutasi Reciprocal Exchange 3.5 Perhitungan Fitness
1 20 15 1 Gen ke - 18 9
5 16 9 12 8 3 2 18 Gen ke - 13 6 8 15 6 14 17
7 2 3 19 Gen ke - 6 10 10 12 13
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
No Nama Guru Kelas 4 Semester 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.4.2 Mutasi
4 20 Gambar 3. Crossover One-Cut Point
13 2 15 11 17 5 8 4 11 2
15 6 16 8 Gen ke - 10 4 20 13 6 7 13 14 17 6 10 12 13
8 1 10 12 9 3 9 10 12 19 7 3 16 16 6 1 Titik potong 14 14 4
- - 8 7 Gen ke 11 7 5 18 10 15 11 9 Titik potong
3 12 1 19 5 9 3 16 1 18 2 14 2 5 8 15
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
Proses crossover dilakukan pada semua bagian (program 4 semester dan program 6 semester) dalam kromosom atau tiap individu. Proses crossover menggunakan metode one- cut
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
Tabel 3. Pelanggaran Constraint 1
Berdasarkan Tabel 1 diketahui bahwa kode 9 dan Gambar 6. Antarmuka Algoritme Genetika 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 Gambar 7. Antarmuka Hasil Jadwal Program 6
berdasar nilai fitness yang tertinggi kemudian
Semester
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 8. Antarmuka Hasil Jadwal Program 4 Semester Gambar 5. Antarmuka Home Gambar 9. Antarmuka Data Sekolah
4.
waktu komputasinya. Saat jumlah generasi 1000
PENGUJIAN DAN ANALISIS
waktu yang dibutuhkan rata-rata 8569,3524 Penelitian ini melakukan tiga pengujian, detik. Grafik waktu komputasi pada pengujian yaitu pengujian terhadap ukuran populasi, jumlah generasi bisa dilihat pada Gambar 12 pengujian terhadap jumlah generasi, serta sebagai berikut: 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
Gambar 12. Grafik Waktu Komputasi
dilihat pada Gambar 10 sebagai berikut: 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 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
Gambar 13. Pengujian Nilai cr dan mr
sebagai berikut:
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.
Gambar 11. Grafik Pengujian Jumlah Generasi No. Batasan (Constraint) Nilai Nilai Tabel 3. Detail Pelanggaran Constraint Penalti Penalti
Banyaknya jumlah generasi juga Sistem Manual mempengaruhi waktu komputasi. Semakin
1. Seorang guru tidak boleh 446
tinggi jumlah generasi maka semakin lama juga
No. Batasan (Constraint) Nilai Penalti Sistem Nilai Penalti Manual mengajar lebih dari 1 kelas dalam waktu yang sama.
5. KESIMPULAN
fitness
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
constraint aturan penjadwalan yang telah ditetapkan.
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
reciprocal exchange ), evaluasi nilai fitness, dan seleksi
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
Berdasarkan penelitian yang telah dilakukan maka dihasilkan kesimpulan sebagai berikut:
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).
2. Guru tidak boleh mengajar lebih dari 3 slot waktu pelajaran di hari dan kelas yang sama.
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.
Nilai Fitness 25 Total Bobot Penalti 616 0,16208 100
4. Mata pelajaran olahraga tidak lebih dari jam 11.00 untuk penjadwalannya.
IPA : hari Sabtu 133
IPS : hari Kamis
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
12
sebesar 0,13189. Namun jadwal yang dihasilkan belum optimal karena masih terjadi pelanggaran pada batasan atau constraint.
6. DAFTAR PUSTAKA
Benli, Ö. S., & Botsali, A. R., 2004. Timetabling
problem . [Online] tersedia di: [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.
Wroclaw University of Technology.