Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322 Vol. 9, No. 3, September 2022, Hal. 2687-2698 E- ISSN 2503-2933 2687

## Pengembangan Aplikasi Penjadwalan Mata Kuliah Dengan Algoritma Genetika Di Prodi Rekayasa Sistem Komputer Universitas Tanjungpura
Rahmi Hidayati 1 , Syamsul Bahri 2 , Dwi Marisa Midyanti 3 1,2,3 Prodi Rekayasa Sistem Komputer FMIPA Universitas Tanjungpura, Pontianak e-mail: 1 rahmihidayati@siskom.untan.ac.id, 2 syamsul.bahri@siskom.untan.ac.id,
3 dwi.marisa@siskom.untan.ac.id

## Abstrak
Penjadwalan kuliah merupakan kegiatan untuk menentukan waktu perkuliahan, pengajar matakuliah  dan  ruang  yang  digunakan  untuk  perkuliahan.  Penjadwalan  kuliah  di  prodi Rekayasa  Sistem  Komputer  masih  dilakukan  secara  manual  mengakibatkan  sering  terjadi bentrok jadwal pada penjadwalan yang telah dibuat. Algoritma genetika merupakan salah satu metode  optimasi  yang  bisa  digunakan  untuk  menyelesaikan  permasalahan  yang  berkaitan dengan  penjadwalan.  Parameter yang  digunakan  pada  algoritma  genetika  untuk  penjadwalan adalah  jumlah  kromosom,  jumlah  gen,  nilai  probabilitas  crossover  dan  nilai  probabilitas mutasi.  Aplikasi  penjadwalan  ini  menggunakan  data  perkuliahan  pada  semester  ganjil  dan semester  genap  yang  terdiri  dari  data  dosen,  data  matakuliah,  data  ruangan,  data  hari,  data waktu,  data  alokasi  waktu  dan  data  slot  waktu.  Nilai  fitness  ditentukan  berdasarkan  jumlah bentrok  dosen,  jumlah  bentrok  ruangan  dan  jumlah  bentrok  mahasiswa.  Jika  jumlah  bentrok bernilai  nol  akan  mendapatkan  nilai  fitness  yang  optimal  yaitu  satu.  Berdasarkan  hasil penelitian  diperoleh  nilai  parameter  untuk  menghasilkan  jadwal  yang  optimal  tanpa  bentrok adalah 10 kromosom, 60 gen, 0.7 probabilitas crossover dan 0.2 probabilitas mutasi.
Kata kunci : algoritma genetika, fitness, optimasi, penjadwalan

## Abstract
Lecture  scheduling  is  an  activity  to  determine  the  lecture  time,  the  lecturer  and  the lecture room. Lecture scheduling in the study program of Computer Systems Engineering is still done  manually  resulting  often  scheduling  conflicts  that  have  been  made.  Genetic  algorithm  is an  optimization  method  that  can  be  used  to  solve  it.  The  parameters  used  in  the  genetic algorithm for scheduling are the number of chromosomes, the number of genes, the crossover probability  value  and the mutation probability value.  This  scheduling  application  uses  lecture data in odd and even semesters consisting of lecturer, subject, room, day, time, time allocation and time slot data. The fitness score is determined based on the number of clashing lecturers, the  number  of  clashing  rooms  and  the  number  of  student  clashes.  If  the  number  of  clashes  is zero, the optimal fitness value is one. Based on the research results, the optimal schedule are 10 chromosomes, 60 genes, 0.7 crossover probability and 0.2 mutation probability.
Keywords : genetic algorithm, fitness, optimization, scheduling
2688 Jatisi ISSN 2407-4322 Vol. 9, No. 3, September 2022, Hal. 2687-2698 E-ISSN 2503-2933

## 1. PENDAHULUAN
enjadwalan  merupakan  salah  satu  aktivitas  yang  digunakan  untuk  merencanakan  kapan dan dimana suatu kegiatan yang dilakukan pada sumber daya terbatas serta alokasi waktu sumber  daya  pada  waktu  tertentu  dengan  melihat  kapasitas  sumber  daya  yang  ada. Penjadwalan  biasanya  dilakukan  pada  institusi  pendidikan  seperti  di  Perguruan  tinggi. Perguruan  tinggi  menerapakan  proses  penjadwalan  berupa  penjadwalan  kuliah,  penjadwalan ujian  semester,  penjadwalan  seminar  dan  sidang.  Masalah  umum  yang  sering  terjadi  pada penjadwalan adalah bentrok waktu atau ruangan yang akan digunakan.
Pada  perguruan  tinggi  proses  perkuliahan  merupakan  aktivitas  yang  rutin  dilaksanakan dalam  tiap  semester.  Pelaksanaan  perkuliahan  di  bagi  menjadi  dua  bagian  dalam  satu  tahun pembelajaran  yaitu  semester  genap  dan  semester  ganjil.  Dalam  pembuatan  jadwal  kuliah diperlukan ketelitian dengan  mempertimbangkan berbagai faktor seperti, jumlah ruangan yang tersedia, dosen yang mengajar dan waktu perkuliahan agar tidak terjadi masalah jadwal kuliah yang saling bentrok. Salah satu cara yang bisa digunakan untuk mengatasi masalah penjadwalan kuliah adalah melakukan optimasi.
Optimasi adalah proses penyelesaikan suatu masalah tertentu supaya berada pada kondisi yang  paling  menguntungkan  dari  suatu  sudut  pandang.  Algoritma  untuk  pencarian  optimasi salah  satunya  menggunakan  metode  heuristik  yang  merupakan  suatu  metode  untuk menyelesaikan  masalah  optimasi  sebatas  dalam  kadar  cukup  baik  dan  masuk  akal  untuk diterima.  Beberapa  metode  heuristik  yang  biasanya  digunakan  adalah  metode Hill  Climbing, Tabu  Search,  Simulated  Annealing,  Ant  Colony  Optimization ,  Algoritma  Genetika, Artificial Immune System [1].
Penelitian  terkait  penjadwalan  menggunakan  algoritma  genetika  antara  lain:  penelitian penjadwalan  mata  pelajaran  di  SMK  Annuqayah  [2],  penjadwalan  di  SMA  1  Magelang  [3], penerapan algoritma untuk penjadwalan mata pelajaran[4], penjadwalan mata pelajaran SMKN 3 Pariaman[5] dan penjadwalan di SMK Giri Pandawa[6]. Selain untuk penjadwalan pada mata pelajaran algoritma genetika juga digunakan untuk penjadwalan kuliah antara lain: penjadwalan mata kuliah di AMIK JTC Semarang[7], penjadwalan perkuliahan di STMIK Prambulih[8] dan jadwal kuliah di STKIP Muhammadiyah Kotabumi[9].
Berdasarkan  uraian  di  atas,  dilakukan  penelitian  mengenai  Pengembangan  Aplikasi Penjadwalan  Matakuliah  Dengan  Algoritma  Genetika  di  Prodi  Rekayasa  Sistem  Komputer Universitas  Tanjungpura.  Aplikasi  ini  diharapkan  dapat  mempermudah  penyusunan  jadwal perkuliahan di prodi Rekayasa Sistem Komputer dan dapat membantu meminimalisir terjadinya bentrok jadwal sehingga didapat jadwal yang optimal.

## 2. METODE PENELITIAN

## 2.1   Metode Penelitian
Metode yang digunakan pada penelitian ini adalah algoritma genetika. Salah satu metode heuristik  yang  dikembangkan  berdasarkan  prinsip  genetika  dan  proses  seleksi  alamiah  adalah algoritma  genetika.  Proses  pencarian  penyelesaian  masalah  atau  proses  terpilihnya  sebuah penyelesaian  dalam  algoritma  ini  berlangsung  sama  seperti  terpilihnya  suatu  individu  untuk bertahan hidup diproses evolusi.
Langkah-langkah penyelesaian algoritma genetika adalah: a. Melakukan Inisialisasi pada populasi
b. Melakukan Evaluasi populasi
c. Menyeleksi populasi
P
Jatisi ISSN  2407-4322 Vol. 9, No. 3, September 2022, Hal. 2687-2698 E- ISSN  2503-2933 2689
d. Melakukan proses penyilangan pasangan kromosom tertentu
e. Proses mutasi kromosom tertentu.
f. Ulangi populasi baru.
g. Ulangi Langkah c jika syarat berhenti belum terpenuhi [1].
Beberapa  kriteria  berhenti  pada  algoritma  genetika  dilakukan  dengan  cara  memberikan batasan  iterasi,  memberikan  batasan  waktu  proses  pada  algoritma  genetika  atau  menghitung kegagalan anggota populasi yang terjadi secara berurutan sampai jumlah tertentu. Proses seleksi di lakukan dengan pemilihan individu berdasarkan nilai fitness yang dimiliki oleh tiap individu. Semakin tinggi nilai fitness suatu individu semakin besar kemungkinannya untuk terpilih. Salah satu teknik yang dilakukan pada proses seleksi adalah dengan teknik mesin roullete. Proses  kawin  silang  ( crossover )  merupakan  salah  satu  operator  yang  melibatkan  dua induk  untuk  menghasilkan  keturunan  yang  baru.  Melakukan  pertukaran  gen  dari  dua  induk secara  acak.  Ada  dua  pertukaran  gen  secara  langsung  dan  pertukaran  gen  secara  aritmatika. Dilakukan pada setiap individu dengan probabilitas crossover yang ditentukan[10].
Proses  mutasi  gen  yaitu  operator  yang  menukar  nilai  gen  dengan  nilai  inversinya, misalnya  nilai  gen  1  ditukar  menjadi  0.  Tiap  individu  mengalami  mutasi  gen  dengan probabilitas  mutasi  yang  ditentukan.  Mutasi  dilakukan  dengan  memberikan  nilai  inversi  atau menggeser nilai gen pada gen yang terpilih untuk dimutasikan [10].

## 2.2   Tahapan Penelitian
Tahapan penelitian untuk pembuatan aplikasi penjadwalan adalah sebagai berikut :
1. Studi literatur yang dilakukan adalah dengan mempelajari buku, referensi dari jurnal ilmiah dan tugas akhir yang berkaitan dengan teori-teori pendukung penelitian dan berbagai sumber dari internet sebagai acuan untuk melakukan penelitian.
2. Pengumpulan data yang terkait untuk penjadwalan kuliah seperti daftar matakuliah, ruangan perkuliahan, nama dosen yang mengajar, data slot waktu dan waktu perkuliahan.
3. Analisa  kebutuhan  data  dilakukan  untuk  menganalisis  data  jadwal  mata  kuliah  dan menentukan  batasan-batasan  ( constraints )  atau  aturan  yang  telah  ditentukan  dalam pembuatan jadwal kuliah di prodi Rekayasa Sistem Komputer Universitas Tanjungpura.
4. Pada  perancangan  akan  dibuat  rancangan  sistem  untuk  pembuatan  jadwal  kuliah  yang kemudian  rancangan  tersebut  akan  dijadikan  panduan  pada  proses  implementasi. Perancangan sistem pada penelitian ini membuat rancangan basis data, diagram alir dan user interface .
5. Tahapan  implementasi  dilakukan  setelah  tahapan  perancangan  sistem.  Pada  tahap  ini mengimplementasikan  sistem  sesuai  dengan  perancangan  yang  telah  dibuat.  Pada  tahapan pengujian  dilakukan  pengujian  terhadap  sistem  atau  aplikasi  yang  telah  dibuat  untuk memastikan  apakah  sistem  berjalan  dengan  baik  dan  menghasilkan output sesuai  dengan yang diharapkan.
6. Hasil  dan  pembahasan  akan  menjelaskan  hasil  dari  penjadwalan  yang  telah  dibuat menggunakan  algoritma  genetika.  Melakukan  proses  pengecekan  penjadwalan  yang dilakukan  oleh  sistem  berdasarkan  data  jadwal  yang  telah  dimasukkan  dan  memeriksa apakah masih terdapat jadwal yang bentrok pada hasil keluaran aplikasi.
Diagram alir tahapan penelitian dapat dilihat pada Gambar 1.
2690 Jatisi ISSN 2407-4322 Vol. 9, No. 3, September 2022, Hal. 2687-2698 E-ISSN 2503-2933
Rahmi, et., al [Pengembangan Aplikasi Penjadwalan Mata Kuliah Dengan Algoritma Genetika Di Prodi Rekayasa Sistem Komputer Universitas Tanjungpura]

## Gambar 1. Diagram Alir Penelitian

## 2.3 Pengolahan Data
Penelitian ini menggunakan data perkuliahan prodi rekayasa sistem komputer di semester genap  dan  ganjil  2020/2021  yang  terdiri  dari:  data  matakuliah,  data  dosen  pengajar,  ruangan perkuliahan dan alokasi waktu perkuliahan . Data jadwal perkuliahan dapat dilihat pada Tabel 1.
Tabel 1. Data Jadwal Pekuliahan No.  Semester Jumlah Matakuliah Jumlah Dosen Jumlah Ruangan Alokasi Waktu 1. Genap 33 19 7 55 2. Ganjil 37 17 5 56
Ada beberapa aturan yang digunakan pada aplikasi penjadwalan ini yaiu:
1. Jadwal kuliah senin - jumat (terdapat 3 sesi, kecuali jumat 2 sesi).
2. Setiap pengajar maksimal 1 hari mengajar pada dua sesi.
3. Matakuliah 4 sks dibagi menjadi 2 kali pertemuan setiap minggu dengan hari yang berbeda.
4. Khusus hari rabu sesi 1 untuk matakuliah 2 sks.
5. Khusus hari rabu sesi 2 untuk matakuliah MKDU.

## 2.4 Perancangan Basis Data
Basis  data  terdiri  atas  tabel-tabel  yang  saling  berhubungan.  Untuk  merepresentasikan hubungan  antar  tabel  yang  ada  di  basis  data  diperlukan  tambahan  data  untuk  menunjukkan adanya  keterhubungan  tersebut  [11].  Perancangan  tabel  pada  basis  data  untuk  aplikasi penjadwalan  terdiri  dari  sembilan  tabel  yaitu  tabel user ,  tabel  matakuliah,  tabel  dosen,  tabel ruangan,  tabel  hari,  tabel  waktu,  tabel  slot,  tabel  alokasi  dan  tabel  jadwal.  Relasi  tabel  pada penelitian dapat dilihat pada Gambar 2.
Jatisi ISSN  2407-4322 Vol. 9, No. 3, September 2022, Hal. 2687-2698 E- ISSN  2503-2933 2691

## Gambar 2. Relasi Tabel

## 2.5   Diagram Alir Metode Penelitian
Diagram  alir  adalah  diagram  yang  mewakili  sebuah  algoritma  atau  proses  dan mendeskripsikan  langkah-langkah  dari  suatu  penyelesaian  masalah.  Diagram  alir menggambarkan  tahapan  penyelesaian  masalah  secara  sederhana,  rapi,  jelas  demgan menggunakan  simbol-simbol  [12].  Diagram  alir  metode  penelitian  menggambarkan  tahapan proses  untuk  mendapatkan  hasil  penjadwalan.  Tahapan  awal  pengguna  aplikasi  melakukan proses login terlebih  dahulu,  jika login berhasil  pengguna  memasukkan  data–data  yang diperlukan yaitu data dosen, data matakuliah, data ruangan, data hari, data waktu, data alokasi dan  data  slot  waktu.  Setelah  semua  data  berhasil  dimasukkan  ke  aplikasi  tahapan  proses algoritma  genetika  adalah  pembentukan  kromosom,  melakukan  inisialisasi  populasi, mengevaluasi nilai fitness, melakukan seleksi, crossover, mutasi, jika kondisi terpenuhi (jadwal tidak ada bentrok) tampilkan hasil jadwal. Diagram alir sistem dengan algoritma genetika dapat dilihat pada Gambar 3.
2692 Jatisi ISSN 2407-4322 Vol. 9, No. 3, September 2022, Hal. 2687-2698 E-ISSN 2503-2933

## Gambar 3. Diagram Alir Sistem dengan Algoritma Genetika

## 2.6   Fitness Function
Suatu  individu  pada  algoritma  genetika  di  evaluasi  berdasarkan  fungsi  tertentu  sebagai ukuran nilai fitness . Aturan nilai fitness pada algoritma genetika adalah individu yang memiliki nilai fitness lebih  tinggi  akan  memiliki  kemampuan  bertahan  hidup  lebih  tinggi  dari  pada individu  yang  memiliki  nilai fitness rendah  [1]. Fitness  function untuk  penjadwalan  berfungsi mengevaluasi  kualitas  solusi  atau  keakuratan  jadwal  yang  dihasilkan  oleh  algoritma  genetika [12].  Fungsi fitness yang  digunakan  pada  penelitian  ini  akan  memperoleh  nilai fitness yang optimal jika bernilai 1. Nilai 1 menunjukkan tidak terdapat bentrok jadwal. Untuk menghitung nilai fitness menggunakan Persamaan 1.
∑  ∑ ∑ (1)
Keterangan: BD = Jumlah bentrok dosen BR = Jumlah bentrok ruangan BM = Jumlah bentrok mahasiswa

## 3. HASIL DAN PEMBAHASAN
Aplikasi penjadwalan ini  dapat diakses  oleh user admin  dengan  memasukkan username dan password pada  halaman login sebelum  masuk  ke  halaman  utama.  Jika username dan password sudah  benar  maka  admin  akan  masuk  ke  halaman  utama.  Pada  halaman  utama terdapat  beberapa  fitur  yang  terdapat  didalam  aplikasi  dan  jumlah  data  yang  digunakan. Tampilan halaman utama aplikasi dapat dilihat pada Gambar 4.
Jatisi ISSN  2407-4322 Vol. 9, No. 3, September 2022, Hal. 2687-2698 E- ISSN  2503-2933 2693
Rahmi, et., al [Pengembangan Aplikasi Penjadwalan Mata Kuliah Dengan Algoritma Genetika Di Prodi Rekayasa Sistem Komputer Universitas Tanjungpura]
Gambar 4. Halaman Utama Aplikasi
Halaman  utama  aplikasi  terdapat  beberapa  fitur  yang  digunakan  untuk  mengolah  data- data yang diperlukan pada proses penjadwalan kuliah. Fitur yang terdapat pada aplikasi adalah dosen, matakuliah, ruangan, hari, waktu, alokasi dan slot. Semua fitur tersebut digunakan untuk melakukan  penambahan  data,  pengubahan  data  dan  penghapusan  data.  Tampilan  halaman matakuliah dapat dilihat pada Gambar 5.
Gambar 5. Halaman Matakuliah
Setelah  semua  data  dimasukkan  ke  aplikasi, user dapat  memilih  bagian  menu penjadwalan.  Untuk  memproses  data  selanjutnya user mengisi  nilai  paramater  algoritma genetika  yang  digunakan  yaitu jumlah  kromosom,  jumlah  generasi,  probabilitas crossover dan
2694 Jatisi ISSN 2407-4322 Vol. 9, No. 3, September 2022, Hal. 2687-2698 E-ISSN 2503-2933
probabilitas  mutasi.  Kemudian  memilih  tombol  proses  untuk  menampilkan  hasil.  Tampilan parameter algoritma genetika dapat dilihat pada Gambar 6.
Gambar 6.  Parameter Algoritma Genetika
Nilai parameter algoritma genetika yang digunakan adalah 5 kromosom, 20 generasi, 0.7 untuk probabilitas crossover dan 0.1 untuk probabilitas mutasi. Berdasarkan parameter tersebut sistem  akan  memproses  dan  diperoleh  hasil  generasi  terbaik  pada  generasi  ke-20,  kromosom terbaik pada kromosom ke–4, total bentrok sebanyak 12 dan nilai fitness 0.0769. Tampilan hasil proses penjadwalan dapat dilihat pada Gambar 7.
Gambar 7. Hasil Proses Penjadwalan
Jatisi ISSN  2407-4322 Vol. 9, No. 3, September 2022, Hal. 2687-2698 E- ISSN  2503-2933 2695
Berdasarkan hasil proses penjadwalan yang telah diperoleh terdapat 12 total bentrok yang terdiri dari 2 bentrok dosen, 3 bentrok ruangan dan 7 bentrok mahasiswa. Jika pada hasil proses penjadwalan user melanjutkan  dengan  proses  simpan  jadwal  aplikasi  akan  menampilkan  hasil jadwal  yang  diperoleh.  Berdasarkan  hasil  proses  terdapat  12  bentrok,  aplikasi  akan menampilkan  jadwal  dengan  menandai  jadwal  bentrok  dengan  memberi  warna  berbeda  untuk setiap  bentrok.  Seperti  warna  pink  untuk  menandai  bentrok  dosen,  warna  kuning  untuk menandai bentrok ruangan, warna biru untuk menandai bentrok mahasiswa dan gabungan warna jika bentrok terjadi bersamaan. Tampilan hasil jadwal dapat dilihat pada Gambar 8.
Gambar 8. Tampilan Hasil Jadwal
Nilai parameter sebelumnya masih menghasilkan jadwal bentrok, sehingga user mencoba kembali  memasukkan  nilai  parameter  algoritma  genetika.  Nilai  parameter  yang  digunakan adalah 10 kromosom, 60  generasi, 0.7 untuk probabilitas crossover dan 0.2 untuk probabilitas mutasi.  Berdasarkan  parameter  tersebut  diperoleh  hasil  generasi  terbaik  pada  generasi  ke-30, kromosom terbaik pada kromosom ke–1, dengan total bentrok sama dengan nol atau tidak ada bentrok  dan  nilai fitness adalah  1.  Nilai fitness sama  dengan  satu  menunjukkan  hasil penjadwalan  yang  diperoleh  merupakan  penjadwalan  yang  optimal.  Tampilan  hasil  proses penjadwalan dapat dilihat pada Gambar 9.
2696 Jatisi ISSN 2407-4322 Vol. 9, No. 3, September 2022, Hal. 2687-2698 E-ISSN 2503-2933
Rahmi, et., al [Pengembangan Aplikasi Penjadwalan Mata Kuliah Dengan Algoritma Genetika Di Prodi Rekayasa Sistem Komputer Universitas Tanjungpura]
Gambar 9. Tampilan Hasil Proses Penjadwalan
Berdasarkan hasil proses penjadwalan yang telah diperoleh tidak terdapat bentrok jadwal. Kemudian hasil penjadwalan disimpan dan aplikasi akan menampilkan jadwal tanpa ada tanda warna karena tidak ada bentrok. Tampilan hasil jadwal tanpa bentrok dapat dilihat Gambar 10.
Gambar 10. Tampilan Hasil Jadwal Tanpa Bentrok
Jika sudah diperoleh hasil jadwal tanpa bentrok, pengguna dapat mencetak jadwal dalam format  pdf  dengan  cara  memasukkan  tahun  ajaran  pada  kolom  yang  ada  misal  menggunakan tahun  ajaran  2020/2021  kemudian  mengklik  tombol  cetak.  Tampilan  untuk  cetak  hasil  jadwal dapat dilihat pada Gambar 11.
Jatisi ISSN  2407-4322 Vol. 9, No. 3, September 2022, Hal. 2687-2698 E- ISSN  2503-2933 2697
Gambar 11. Tampilan Untuk Cetak Hasil Jadwal
Aplikasi  penjadwalan  yang  telah  dibuat  dapat  menghasilkan  jadwal  yang  optimal  tanpa terjadi  bentrok  dengan  mengatur  nilai  parameter  algoritma  genetika.  Berdasarkan  hasil  yang diperoleh  dapat  menggunakan  nilai  parameter  algoritma  genetika  yaitu  10  kromosom,  60 generasi, 0.7 untuk probabilitas crossover dan 0.2 untuk probabilitas mutasi.

## 4. KESIMPULAN
Kesimpulan  dari  penelitian  ini  adalah  proses  penjadwalan  menggunakan  algoritma genetika  dilakukan  dengan  menentukan  jumlah  kromosom  awal,  jumlah  gen  yang  digunakan, nilai probabilitas crossover dan probabilitas mutasi. Dan penggunaan parameter pada algoritma genetika  sangat  berpengaruh  untuk  menghasilkan  jadwal  yang  optimal  karena  nilai  ditentukan secara random sehingga perlu diuji untuk mendapat nilai fitness terbaik.

## 5. SARAN
Saran-saran untuk untuk penelitian lebih lanjut:
1. Menambahkan  penjadwalan  ujian  semester  berdasarkan  jadwal  perkuliahan  yang diperoleh.
2. Menggunakan metode lain yang digunakan untuk penjadwalan.

## UCAPAN TERIMA KASIH
Penulis  mengucapkan  terima  kasih  pada  pihak-pihak  terkait  yaitu  prodi  Rekayasa Sistem Komputer Universitas Tanjungpura.
2698 Jatisi ISSN 2407-4322 Vol. 9, No. 3, September 2022, Hal. 2687-2698 E-ISSN 2503-2933

## DAFTAR PUSTAKA
[1] Z.  Zuhri, Algoritma  Genetika:  Metode  Komputasi  Evolusioner  untuk  Menyelesaikan Masalah Optimasi . Yogyakarta: Andi Offset, 2014.
[2] N.  H.  Hari,  F.  Prasetyo,  and  E.  Putra, “Optimasi  Penjadwalan  Menggunakan  Metode Algoritma Genetika di Sekolah Menengah Kejuruan Annuqayah - Sumenep,” QUERY J. Sist. Inf. , Vol. 2, No. 2, pp. 66–74, 2018.
[3] T. Handoyo, A. K. Rachmawati, and E. Prasetyo, “Sistem Penjadwalan Mata Pelajaran di SMA Muhammadiyah 1 Kota Magelang Dengan Algoritma Genetika,” Transformasi , Vol. 11, No. 1, pp. 14–19, 2015.
[4] N. Luh Gede Pivin Suwirmayanti, I. Made Sudarsana, S. Darmayasa, S. STIKOM Bali Jl Raya Puputan No, R. Denpasar, and P. Studi Sistem Komputer, “Penerapan Algoritma Genetika Untuk Penjadwalan Mata Pelajaran Implementation of Genetic Algorithm for Course Scheduling,” J. Appl. Intell. Syst. , Vol. 1, No. 3, pp. 220–233, 2016.
[5] Y.  Elva, “Sistem  Penjadwalan  Mata  Pelajaran  Menggunakan  Algoritma  Genetika,” J. Teknol. Inf. , Vol. 3, No. 1, p. 49, 2019, doi: 10.36294/jurti.v3i1.687.
[6] I.  K.  W.  I  Gusti  Ayu  Desi  Saryanti, “Penerapan  Metode  Algoritma  Genetika  untuk Penjadwalan Mengajar,” Simetris  J. Tek. Mesin, Elektro dan Ilmu Komput. , Vol. 8, No. 1, pp. 53–60, 2017.
[7] E. Suhartono, “Optimasi Penjadwalan Mata Kuliah Dengan Algoritma Genetika (Studi Kasus di AMIK JTC Semarang),” Infokam , Vol. 2, pp. 132–146, 2015.
[8] A.  Josi, “Implementasi  Algoritma  Genetika  pada  Aplikasi  Penjadwalan  Perkuliahan Berbasis  Web  Dengan  Mengadopsi  Model  Waterfall,”  J.  Inform.  J.  Pengemb.  IT ,  Vol.
02, No. 02, pp. 77–83, 2017, [Online]. Available:
http://ejournal.poltektegal.ac.id/index.php/informatika/article/view/517/554.
[9] P.  B.  Wintoro, “Penerapan  Algoritma  Genetika  Untuk  Optimalisasi  Jadwal  Kuliah  di STKIP Muhammadiyah Kotabumi,” J. Inform. , vol. 16, No. 2, pp. 200–214, 2016.
[10] Suyanto, Artificial Intelligent . Bandung: Penerbit Informatika, 2014.
[11] Fathansyah, Basis Data Revisi Ketiga . Bandung: Informatika, 2018.
[12] B. Purnama, Pengantar Machine Learning . Bandung: Informatika, 2019.