Penerapan Algoritme Genetika Untuk Penjadwalan Latihan Reguler Pemain Brass Marching Band (Studi Kasus: Ekalavya Suara Brawijaya)

  

Vol. 2, No. 9, September 2018, hlm. 2950-2956 http://j-ptiik.ub.ac.id

Penerapan Algoritme Genetika Untuk Penjadwalan Latihan Reguler

Pemain Brass Marching Band (Studi Kasus: Ekalavya Suara Brawijaya)

1 2 3 Marina Debora Rindengan , Imam Cholissodin , Putra Pandu Adikara

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 3 Email: mdrindengan@gmail.com adikara.putra@ub.ac.id

  

Abstrak

Marching band merupakan ekstrakurikuler yang dimana pemainnya dituntut untuk bisa bekerja sama

  dalam satu tim agar bisa memberikan penampilan yang baik. Waktu yang diperlukan untuk latihan tidak singkat dengan jumlah pemain yang banyak. Jadwal latihan marching band yang kurang baik atau jadwal yang bentrok antar pemain bisa menimbulkan permasalahan dalam melakukan latihan. Data jadwal setiap pemain diambil dari Marching Band Ekalavya Suara Brawijaya, dan libur nasional lewat kalender tahun 2016 dari bulan September sampai Desember. Setelah mendapatkan data tersebut, proses algoritme genetika yang dimulai dari representasi kromosom terhadap jam dan hari latihan, kemudian melakukan proses extended intermediate crossover dan reciprocal exchange mutation untuk mendapatkan offspring baru yang akan diseleksi menggunakan elitism selection untuk generasi selanjutnya. Jadwal yang optimal didapatkan melalui pengujian, hasil dari pengujian beragam, rata-rata nilai fitness terbesar adalah 1 yang terdapat pada ukuran populasi adalah 130, jumlah generasi adalah 140, dan kombinasi cr dan mr adalah 0,5.

  Kata Kunci: algoritme genetika, penjadwalan, marching band.

  

Abstract

Marching band is an extracurricular where the players are required to work together in a team in order

to give a good appearance. The rehearsals require a lot of times with many players. A poor schedule of

marching band rehearsal or conflict of schedule between players can cause problems in doing the

rehearsals. Data schedule of each player is taken from Marching Band Ekalavya Suara Brawijaya, and

national holiday from September 2016 until December 2016. After getting the data, process of genetic

algorithm that start from chromosome representation to time and practice day, and then do the process

of extended intermediate crossover and reciprocal exchange mutations for new offspring that will be

selected by elitism selection for next generation. The optimal schedule is obtained through testing, the

largest average fitness score is 1 on the population size 130, the number of generation is 140, and

combinations of cr and mr is 0,5.

  Keywords: genetic algorithms, scheduling, marching band Marching band merupakan suatu kelompok 1.

  barisan yang memainkan beberapa alat musik, di

   PENDAHULUAN

  mana barisan ini akan membentuk sebuah pola Ekstrakurikuler merupakan kegiatan gambar sesuai dengan koreografi atau suasana tambahan untuk menunjang pengembangan musiknya. Seorang pemain marching band seorang siswa atau mahasiswa yang dilakukan di dituntut agar tidak hanya bermain alat musik luar jam belajar standar (Fathia, 2014). dengan baik tetapi bagaimana dia bisa bekerja

  Ekstrakurikuler dapat membuat seseorang sama dalam satu tim agar bisa menampilkan mendapatkan pelajaran soft skills, yang mana suatu permainan musik yang indah dan dalam pembelajaran akademik jarang menunjukan display yang rapi. Memberikan ditemukan. Ekstrakurikuler memiliki beberapa suatu permainan musik dan pertunjukan display kategori seperti kerohanian, seni, olahraga, yang baik tentunya membutuhkan waktu untuk penalaran dan lain-lain. Marching band adalah berlatih yang tidak singkat dengan jumlah salah satu contoh ekstrakurikuler bidang seni.

  Fakultas Ilmu Komputer Universitas Brawijaya

2950 pemain yang banyak. Berdasarkan jumlah tersebut, dapat menimbulkan permasalahan dalam melakukan latihan, karena sering kali mendapatkan jadwal yang kurang baik atau jadwal yang bentrok antar pemain.

  Untuk dapat melakukan latihan dengan baik, maka perlu melakukan penjadwalan yang baik juga. Penjadwalan untuk latihan reguler pemain brass marching band ini dilakukan dengan menyesuaikan jadwal target dari setiap pelatih kamudian disesuaikan dengan kegiatan- kegiatan dari pemain yang ada. Pemain brass

  kebanyakan dari tema penampilannya menjurus ke bagian seni (Hermawan, 2015). Marching

  5. ALGORITME GENETIKA

  Penjadwalan adalah suatu proses pengalokasikan waktu untuk mengerjakan suatu kegiatan berdasarkan pertimbangan dari keadaan-keadaan yang ada sehingga mendapatkan hasil yang optimal. Penjadwalan sering terjadi permasalahan dari beberapa keadaan, seperti keterbatasan waktu, sumber daya manusia yang sangat banyak, cuaca yang berubah-ubah (Ginting, 2009).

  4. PENJADWALAN

  terbanyak dalam marching band yang mana dalam divisi ini memiliki ciri khas, yaitu memainkan alat musik tiup. Pada dasarnya, instrumen musik tiup menggunakan nada dasar B? atau F (Afianti, 2012). Brass terdapat beberapa jenis instrumen yang dibedakan dengan suara yang dihasilkan dan bentuk alatnya.

  3. BRASS Brass merupakan bagian dari marching band yang memiliki komposisi peserta

  suatu perayaan, pengisi acara, atau lomba.

  marching band bisa dilakukan dalam keadaan indoor ataupun outdoor, baik untuk mengiringi

  mengiringi suatu perayaan yang dilakukan secara outdoor dalam suatu barisan dengan pola yang sama. Namun dengan berjalannya waktu,

  band pada awalnya ditampilkan untuk

  marching band seperti militer, namun

  Marching Band Ekalavya Suara Brawijaya

  yang memainkan musik, baris-berbaris, gerak tari, dan irama. Melihat dari aksi baris-berbaris,

  2. MARCHING BAND Marching band adalah sekelompok orang

  Berdasarkan permasalahan di atas, maka penelitian ini dilakukan untuk mengoptimalkan latihan reguler pemain brass marching band Ekalavya Suara Brawijaya menggunakan algoritme genetika. Sistem ini diharapkan dapat membantu memberikan jadwal yang mengurangi bentrok antar pemain.

  parents memperbolehkan daftar jadwal yang baru untuk dapat dibuat tanpa adanya bentrok.

  memiliki pemain yang mengalami bentrok, tetapi kombinasi khusus dari beberapa gen

  parents yang mana dalam setiap daftar jadwal

  Berdasarkan penjelasan sebelumnya, banyak permasalahan yang ditemukan, sebagai contoh adalah sebuah jadwal diperlukan untuk dibuat yang mana ketika seorang pemain tidak dapat hadir lebih dari satu kali dalam satu waktu tertentu yang terdapat dalam daftar jadwal yang disediakan, lalu solusi yang didapatkan child diperlihatkan oleh satu daftar di mana tidak ada pemain yang mengalami bentrok. Populasi terdiri dari sekumpulan daftar jadwal yang berbeda, yang banyak antara lain tidak dapat mencapai hasil yang optimal. Hasil yang sedemikian akan dilahirkan dari beberapa

  Terdapat berbagai macam metode yang bisa digunakan untuk melakukan optimasi, masing- masing metode memiliki kelebihan yang berbeda, tetapi metode algoritme genetika dapat memberikan hasil yang lebih baik (Mansur, et al., 2014). Teknik metaheuristik lebih menunjukkan hasil yang menjanjikan dalam menyelesaikan permasalahan penjadwalan yang dapat teroptimalisasi dan meningkatkan faktor kecepatan dan kualitas (Teoh, et al., 2015). Namun tidak seperti metode metaheuristik yang lainnya yang hanya memiliki satu solusi sub- optimal pada satu waktu, algoritme genetika dapat memberikan banyak solusi individual dalam bentuk sebuah populasi.

  (ESB) idealnya merupakan mahasiswa dari Universitas Brawijaya, namun melihat jumlah kuota pemain untuk beberapa event yang sangat banyak tetapi sumber daya pemain dalam Universitas Brawijaya yang sedikit membuat ESB sendiri membuat open recruitment untuk pemain non Universitas Brawijaya. Hal ini pun diharapkan dapat memperlancar kegiatan latihan untuk suatu perlombaan.

  Algoritme genetika terinspirasi dari ilmu genetika dalam biologi, maka banyak istilah dalam ilmu genetika diadopsi dari ilmu genetika (Mahmudy, 2015). Dengan mengadopsi ilmu tersebut, secara tidak langsung algoritme genetika ini meniru perumpamaan seleksi alam atau “siapa yang bertahan, dia yang layak”, dengan hal tersebut algoritme genetika dapat menentukan individu yang berkualitas yang kemudian dapat digunakan untuk menyelesaikan permasalahan dalam kehidupan sehari-hari.

  Proses dalam algoritme genetika diawali dengan inisialisasi kemudian melakukan reproduksi untuk memperoleh keturunan dan evaluasi untuk menghitung nilai fitness dan yang terakhir diseleksi untuk memilih individu yang layak. Diagram alir dalam penyelesaian algoritme genetika dapat dilihat pada Gambar 1.

  23

  melakukan Persamaan (1) dan Persamaan (2) untuk menghasilkan offspring.

  1 = 1+∝ ( 2 − 1)

  (1)

  2 = 1+∝ ( 1 − 2)

  (2) Pada penelitian ini nilai cr adalah 0,6 dan panjang popSize adalah 3, maka jumlah offspring adalah 0,6 * 3 = 1,8 dibulatkan menjadi 2. Parent dipilih secara acak P1 dan P3 untuk melakukan proses crossover yang dapat dilihat pada Tabel 2, kemudian dibangkitkan nilai

  α secara acak sesuai dengan panjang kromosom pada Tabel 3.

  Berikut contoh dari proses extended intermediate crossover.

  Tabel 2. Menentukan Dua Induk P1

  42

  21

  39

  23

  bekerja dengan memilih dua induk secara acak (Mahmudy, 2015), kemudian membangkitkan nilai

  22 P3

  9

  16

  58

  53

  44

  49 Tabel 3. Menentukan Dua Induk α 0,746 0,73 0,213 0,068 0,389 0,137

  Nilai gen pada masing-masing offspring didapatkan dengan perhitungan menggunakan

  Mulai Individu, persen, libur, iterasiMax Inisialisasi populasi awal

  For i=1 ke iterasiMax Crossover Mutasi Perhitungan nilai Fitness Seleksi

  Populasi Baru i Selesai Hasil rekomendasi

  α sebanyak panjang kromosom, selanjutnya

  extended intermediate crossover . Metode ini

  Gambar 1. Diagram Alir Algoritme Genetika

  28

  Representasi kromosom merupakan proses pengkodean untuk mengubah data yang asli menjadi suatu kode tertentu. Dalam algoritme genetika tidak ada aturan khusus untuk melakukan pengodean, namun pengodean yang dilakukan mampu diproses oleh operator genetika serta dapat merepresentasikan penyelesaian masalah (Zukhri, 2014). Representasi kromosom yang digunakan dalam penelitian ini adalah permutasi bilangan integer yang dibangkitkan untuk menyatakan inisialisasi pada jam dan hari latihan.

  Representasi kode sebanyak 63 yang terdiri dari 9 kode untuk setiap harinya. Panjang kromosom pada penelitian ini adalah 54 untuk 3 hari dalam 18 minggu.

  5.2. Inisialisasi Populasi Awal

  Populasi awal dibuat dengan jumlah yang sudah ditentukan atau sebanyak popSize, selanjutnya diinisialisasi secara acak. Populasi terdiri dari sekumpulan individu yang merupakan solusi dari suatu permasalahan. Setiap gen dalam individu mewakili hari dan jam latihan. Contoh inisialisasi dapat dilihat pada Tabel 1.

  Tabel 1. Populasi Awal P1

  42

  21

  39

  23

  23

  22 P2

  7

  Metode crossover yang digunakan adalah

  49

  62

  14

  4 P3

  9

  16

  58

  53

  44

  49

  5.3. Proses Crossover

5.1. Representasi Kromosom

  Persamaan (1) dan Persamaan (2). Hasil dari perhitungan crosover ditampilkan pada Tabel 4.

26 C3

  4

  Tabel 4. Hasil Crossover C1

  Tabel 6. Contoh Evaluasi Fitness Minggu 1 Minggu 2 Hari1 Hari2 Hari3 Hari1 Hari2 Hari3

  P1

  42

  21

  39

  23

  23

  22 P2

  28

  7

  49

  62

  14

  4 P3

  9

  16

  58

  53

  44

  49 Pada Tabel 6 terdapat warna merah yang

5.4. Proses Mutasi

  berarti terdapat hari yang sama dalam satu minggu dan kuning yang berarti pada individu tersebut kuota pemain yang hadir kurang dari 70%. Dijelaskan terdapat hari yang sama pada P1 minggu pertama, kedua, dan ke-18. Kemudian pada hari kedua minggu pertama kuota pemain di bawah 70%. Selanjutnya pada

  P2 minggu pertama hari pertama dan kedua,

  minggu kedua hari kedua dan ketiga, dan pada hari pertama sampai hari ketiga di minggu ke-18 kuota pemain di bawah 70%. Kemudian pada P3 minggu pertama hari kedua kuota pemain kurang dari 70%, selanjutnya pada minggu kedua terdapat hari yang sama dalam satu minggu. Setelah melakukan pengecekan evaluasi fitness, nilai penalti yang didapatkan pada P3.

  Pada perhitungan nilai penalti sebelumnya didapatkan nilai-nilai yang berasal dari penjumlahan pelanggaran setiap minggunya. Untuk setiap pelanggaran memiliki nilai konstantanya masing-masing sebesar 0,5 dan 2. Dengan Persamaan (3) maka didapatkan nilai fitness P3 sebagai berikut.

4 C2

  14

  = 0,2857142

  Metode mutasi yang digunakan adalah

  17

  17

  43

  25

  31

  34

  20

  54

  51

  36

  45

  Mutasi merupakan proses reproduksi dalam algoritme genetika selain crossover. Proses ini berbeda dengan crossover yang memilih dua induk, pada proses mutasi hanya memilih satu induk saja (Mahmudy, 2015). Proses ini mengubah gen secara acak dari induk yang didapat dari kromosom sebelumnya. Untuk menentukan jumlah offspring, nilai mutation

  rate (mr) harus ditentukan terlebih dahulu.

  reciprocal exchange mutation. Metode ini

  7

  bekerja dengan memilih induk secara acak kemudian memilih dua gen secara acak dan menukar nilai gen tersebut.

  Pada penelitian ini nilai mr adalah 0,3 dan panjang popSize adalah 3, maka jumlah offspring adalah 0,3 * 3 = 0,9 dibulatkan menjadi 1. Parent dipilih secara acak P2 untuk melakukan proses mutasi. Contoh proses reciprocal exchange

  mutation bisa dilihat pada Tabel 5. Warna merah

  dan biru dalam Tabel 5 adalah gen yang dipilih untuk melakukan proses mutasi.

  Tabel 5. Proses Reciprocal Exchange Mutation P2

  28

  7

  49

  62

  14

  28

  62

  49

  3 = 1 (1 + ((0 ∗ 0,5) + (1 ∗ 0,5) + (1 ∗ 2)))

5.5. Perhitungan Nilai Fitness

  5.6. Seleksi

  Metode seleksi yang digunakan dalam penelitian ini adalah elitism selection. Metode ini dilakukan dengan menggabungkan semua individu, kemudian diurutkan nilai fitness dari yang terbesar kemudian diambil kromosom yang mempunyai nilai fitness terbesar sebanyak

  popSize yang telah ditentukan sebelumnya.

  6. PENGUJIAN DAN ANALISIS

  6.1. Pengujian dan Analisis Ukuran Populasi

  Ukuran populasi yang digunakan dalam pengujian ini adalah 10 sampai 150 dengan kelipatan 10 sebanyak 10 kali percobaan pada masing-masing popSize. Ukuran generasi yang digunakan adalah 50, cr dan mr adalah 0,5. Hasil

  1 (1+(( ∗∝1)+( ∗∝2)+( ∗∝3)))

  =

  Perhitungan bobot untuk setiap individu dapat dilakukan dengan perhitungan nilai fitness. Hasil perhitungan fitness digunakan untuk proses seleksi untuk mencari individu terbaik. Semakin tinggi nilai fitness, maka semakin baik individu tersebut. Rumus fitness yang digunakan dalam penelitian ini diadopsi dari penelitian optimasi penjadwalan perawat (Ilmi, et al., 2015).

  (3) Contoh evaluasi fitness dari penyusunan jadwal hasil representasi kromosom dapat ditampilkan pada Tabel 6. pengujian ukuran populasi dapat dilihat pada Gambar 2.

  Berdasarkan Gambar 2 dapat diketahui bahwa ketika ukuran populasi yang sedikit akan menghasilkan populasi yang tidak beragam, sehingga ketika ukuran populasi semakin besar akan menghasilkan populasi yang lebih beragam dan memiliki nilai fitness yang lebih optimal. Berdasarkan Gambar 2, nilai fitness yang didapatkan memiliki peningkatan yang signifikan dari ukuran populasi 10 sampai 80, walaupun pada ukuran populasi 40 dan 50 memiliki nilai fitness yang sama. Pada ukuran populasi 90 terjadi penurunan dan meningkat lagi pada ukuran populasi 100. Pada ukuran 110 terjadi penurunan tetapi mengalami peningkatan sampai ukuran populasi 130, kemudian pada ukuran populasi 140 dan 150 terjadi penurunan.

  akan dibuang individu yang memiliki nilai

  rate dan mutation rate dapat dilihat pada Gambar 5.

  ini menggunakan ukuran populasi 100 dan ukuran generasi 90. Seperti pada pengujian ukuran generasi, pengujian kombinasi juga mengambil ukuran populasi dan ukuran generasi yang menghasilkan nilai fitness paling besar. Hasil pengujian terhadap kombinasi crossover

  mutation rate dimulai dari 0 sampai 1. Pengujian

  sepuluh kali dengan nilai crossover rate dan

  rate dan mutation rate dilakukan sebanyak

  Pengujian terhadap kombinasi crossover

  6.3. Pengujian dan Analisis Kombinasi cr dan mr

  Gambar 4 menunjukkan pada generasi ke-100 semua percobaan mengalami konvergen.

  fitness terkecil sebesar 10% dari jumlah populasi dan diganti dengan individu-individu baru.

  random injection yang mana di setiap iterasi

  Gambar 2. Grafik Pengujian Ukuran Populasi

  Pengujian konvergensi berbeda dengan pengujian sebelumnya, karena melakukan

  Gambar 4. Grafik Pengujian Konvergensi

  tersebut terjadi karena nilai fitness yang dihasilkan hampir mendekati optimum global. Dalam pengujian ukuran generasi juga dilakukan pengujian terhadap konvergensi. Hasil pengujian terhadap konvergensi dapat dilihat pada Gambar 4.

  fitness yang signifikan atau hampir sama. Hal

  140 dan 150, yaitu sebesar 1 dan nilai fitness terkecil didapatkan pada ukuran generasi 10. Pada generasi ke-80 sampai 110 mengalami konvergensi karena tidak terjadi perubahan nilai

  fitness tertinggi didapatkan pada ukuran generasi

6.2. Pengujian dan Analisis Ukuran Generasi

  Berdasarkan Gambar 3 generasi terjadi kenaikan sampai mencapai nilai fitness terbesar pada generasi 140, hampir setiap generasi terjadi kenaikan yang signifikan, kecuali generasi 130. Sedangkan pada 110 nilai fitness tidak mengalami penurunan atau peningkatan. Nilai

  Gambar 3. Grafik Pengujian Ukuran Generasi

  Ukuran Generasi yang digunakan dimulai dari 10 dengan kelipatan 10 sampai 150, cr dan mr adalah 0,5. Ukuran populasi 130 dipilih karena ukuran populasi tersebut memiliki nilai fitness yang paling optimal pada pengujian sebelumnya. Hasil pengujian ukuran generasi dapat dilihat pada Gambar 3.

  Gambar 5. Grafik Pengujian Kombinasi cr dan mr

  Dapat dilihat pada Gambar 5 bahwa nilai

  fitness terbesar adalah 1, berada pada kombinasi cr 0,5 dan mr 0,5. Sedangkan nilai fitness

  terkecil adalah 0,27619 berada pada kombinasi

  cr= 0 dan mr=1. Penentuan nilai cr dan mr dapat

  mempengaruhi keseimbangan eksplorasi dan eksploitasi. Eksplorasi yang tinggi dihasilkan ketika nilai mr lebih besar dibandingkan nilai cr. Sebaliknya eksplorasi yang rendah atau eksploitasi yang tinggi terjadi ketika nilai cr lebih besar dibanding nilai (Mahmudy, 2015).

  Berdasarkan pengujian ini yang digambarkan pada Gambar 5, kombinasi nilai cr dan mr menghasilkan kemampuan eksploitasi dan eksplorasi yang seimbang, akan tetapi ketika nilai cr bernilai 0 akan menghasilkan nilai fitness lebih kecil daripada ketika nilai mr bernilai 0, hal ini disebabkan karena metode yang dipakai untuk crossover menggunakan extended

  terbesar adalah 1 yang terdapat pada ukuran populasi=130, generasi=140, dan kombinasi cr=0,5 dan mr=0,5. Generasi dan populasi memiliki pengaruh yang sama, semakin besar jumlah generasi dan populasi maka akan semakin besar nilai fitness yang dihasilkan, sedangkan kombinasi cr dan mr dapat menghasilkan nilai yang optimal ketika kombinasi cr dan mr memiliki komposisi yang sama.

  cr= 0,5 dan mr=0,5, sedangkan untuk yang

  2. Solusi yang didapatkan sudah yang paling optimal tanpa ada pelanggaran. Jadwal tersebut didapatkan melalui beberapa pengujian, hasil dari pengujian beragam, rata-rata nilai fitness terkecil adalah 0,157106 yang terdapat pada pada ukuran populasi=130, generasi=10 dan kombinasi

  mendapatkan offspring baru yang akan diseleksi menggunakan elitism selection untuk generasi selanjutnya. Setelah itu melakukan pengujian terhadap ukuran populasi, ukuran generasi, dan kombinasi cr dan mr.

DAFTAR PUSTAKA

  Algoritme genetika dapat diimplementasikan pada permasalahan penjadwalan latihan reguler pemain brass

  Fathia, R. N., 2014. Kompasiana. [Online] Available at: rizanurul/keseimbangan-pendidikan-ak ademis-dan-non-akademis_54f5fc4fa33 31184108b4675 [Diakses 31 Januari 2017].

  DORO: Repository Jurnal Mahasiswa PTIIK Universitas Brawijaya, 5(13).

  2015. Optimasi Penjadwalan Perawat Menggunakan ALgoritma Genetika.

  [Diakses 21 Februari 2017]. Ilmi, R. R., Mahmudy, W. F. & Ratnawati, D. E.,

  https://www. Lin kedin.com/pulse/marching-band-sebaga i- pendidikan-berkarakter-sebuah-solusi- hermawan

  sebagai Pendidikan Berkarakter: Sebuah Solusi Komprehensif Pendidikan Non- Formal bagi Remaja. [Online] Available at:

  Ginting, R., 2009. Penjadwalan Mesin. Pertama penyunt. Yogyakarta: Graha Ilmu. Hermawan, D. M., 2015. Marching Band

  Mahasiswa di D.I.Yogyakarta, Yogyakarta: Universitas Atma Jaya Yogyakarta.

  marching band. Data jadwal setiap pemain

  Afianti, 2012. Pusat Pelatihan Marching Band

  intermediate crossover yang bisa mendapatkan

  individu yang lebih bervariasi sehingga kemampuan eksplorasi yang lebih besar daripada mutasi yang menggunakan reciprocal

  exchange mutation karena menghasilkan

  individu baru yang hampir sama dengan induknya.

7. KESIMPULAN

  Berdasarkan hasil penelitian terhadap penjadwalan pemain brass marching band dapat diperoleh kesimpulan sebagai berikut: 1.

  diambil dari Marching Band Ekalavya Suara Brawijaya, dan libur nasional lewat kalender tahun 2016 dari bulan September sampai Desember. Setelah mendapatkan data tersebut, melakukan representasi kromosom terhadap kode jam dan hari latihan, kemudian melakukan proses

  extended intermediate crossover dan reciprocal exchange mutation untuk Mahmudy, W. F., 2015. Dasar-Dasar Algoritma

  Evolusi, Malang: PTIIK Universitas Brawijaya.

  Mansur, Prahasto, T. & Farikhin, 2014. Particle Swarm Optimization Untuk Sistem Informasi Penjadwalan Resource Di Perguruan Tinggi. Jurnal Sistem Informasi Bisnis, Issue 01, pp. 11-19.

  Teoh, C. K., Wibowo, A. & Ngadiman, M. S., 2015. Review of state of the art for metaheuristic technique in Academic Scheduling Problems. Artif Intell Rev, Issue 44, pp. 1-21.

  Zukhri, Z., 2014. Algoritma Genetika Metode

  Komputasi Evalusioner untuk Menyelesaikan Masalah Optimasi.

  Yogyakarta: CV. Andi Offset.