Anda di halaman 1dari 12

Penjadwalan Kelas Menggunakan Algoritma Genetika

Berbasis Web
Ahmad Fauzan*1, Sri hastika2
Abdul Rauf3, Rismayani4
1,2,3,4
Teknik Informatika Universitas Dipa Makassar
E-mail: 1af14102014@gmail.com 2 hastikasry207@gmail.com
3s
abdulrauf.wa@gmail.com 4 rismayani@dipanegara.ac.id

Abstrak
Penjadwalan mata kuliah adalah suatu kegiatan yang sangat penting untuk dapat
terlaksananya proses belajar mengajar yang baik bagi sebuah jurusan di
universitas atau perguruan tinggi, banyak kendala yang biasa dihadapi ketika
membuat sebuah penjadwalan mata kuliah. Beberapa batasan yang ada dalam
sebuah penjadwalan mata kuliah apabila tidak diperhitungkan dengan baik akan
menyebabkan sulitnya melakukan penjadwalan yang tepat dan baik. Maka perlu
dirancang aplikasi berbasis web menggunakan bahasa pemrograman PHP dan
JavaScirpt dengan menerapkan metode Algoritma Genetika yang cukup baik
digunakan dalam penjadwalan mata kuliah di sebuah perguruan tinggi, karena
didalam Algoritma Genetika terdapat proses evaluasi nilai. Aplikasi berbasis web
ini dirancang agar pengaturan penjadwalan kelas dapat terintegrasi dengan baik
dengan penerapan Algoritma Genetika agar tidak ada lagi jadwal yang
bertabrakan.

Kata Kunci : Aplikasi penjadwalan Kelas, PHP,JavaScript, Algoritma Genetika

Abstract
Scheduling courses is an activity that is very important for the implementation of
a good teaching and learning process for a department at a university or college,
there are many obstacles that are commonly faced when making a course
scheduling. Some of the limitations that exist in a course scheduling if not taken
into account properly will make it difficult to do proper and good scheduling. So
it is necessary to design a web-based application using the PHP and JavaScirpt
programming languages by applying the Genetic Algorithm method which is quite
good for use in scheduling courses at a tertiary institution, because in the Genetic
Algorithm there is a value evaluation process. This web-based application is
designed so that class scheduling settings can be well integrated with the
implementation of the Genetic Algorithm so that there are no more conflicting
schedules.
Keywords: Class scheduling application, PHP, JavaScript, Genetic Algorithm
1. PENDAHULUAN

Penjadwalan matakuliah adalah suatu kegiatan yang sangat penting untuk dapat
terlaksananya proses belajar mengajar yang baik bagi sebuah jurusan di Universitas atau
perguruan tinggi. Sebuah penjadwalan yang baik adalah penjadwalan yang dapat
dilakukan oleh seluruh pihak yang terkait dalam kegiatan belajar mengajar, tidak hanya
bagi Dosen yang mengajar, tetapi juga bagi Mahasiswa yang mengambil mata kuliah
tersebut.
Banyak kendala yang biasa dihadapi ketika membuat sebuah penjadwalan mata
kuliah. Beberapa batasan yang ada dalam sebuah Penjadwalan Matakuliah apabila tidak
diperhitungkan dengan baik akan menyebabkan sulitnya melakukan penjadwalan yang
tepat dan baik. Sehingga beberapa kebutuhan dari Mahasiswa dan Dosen pengampu mata
kuliah harus dapat menjadi pertimbangan dalam melakukan sebuah penjadwalan. Adapun
kebutuhan Mahasiswa dalam menyelesaikan masa studinya tidaklah boleh terkendala
hanya karena tidak dapat mengambil mata kuliah yang diwajibkan dikarenakan
pelaksaanaan matakuliah yang bertabrakan dengan matakuliah lainnya, serta Dosen yang
harus meluangkan waktunya untuk melaksanakan tugas lainnya selain mengajar, juga
harus diperhitungkan waktu mengajarnya.
Universitas Dipa Makassar (UNDIPA) adalah suatu institusi pendidikan tinggi
yang ada di Makassar yang melayani masyarakat dibidang pendidikan khususnya pada
bidang Informasi Teknologi (IT). Dimana pada kampus UNDIPA memiliki 6 program
studi yaitu: Teknik Informatika, Sistem Informasi, Manajemen Informatika, Rekayasa
Perangkat Lunak, Bisnis Digital, Kewirausahaan. Dalam masalah-masalah penjadwalan
yang disebutkan diatas juga terjadi di UNDIPA permasalan tersebut dapat diminimalisir
dengan perhitungan penjadwalan yang tepat. Dengan adanya masalah penjadwalan
matakuliah maka akan dibahas bagaiman memecahkan masalah yang ada pada
penjadwalan dengan menggunakan suatu metode Algoritma Genetika. Algoritma
Genetika cukup baik digunakan dalam penjadwalan matakuliah di sebuah perguruan
tinggi, karena didalam Algoritma Genetika terdapat proses evaluasi nilai.
Adapun hasil yang diharapkan dengan adanya Aplikasi tersebut yaitu dapat
menghasilkan jadwal yang lebih akurat dengan aturan yang ada dalam waktu yang lebih
singkat sehingga tidak ada lagi jadwal yang bertabrakan.

2. METODE PENELITIAN

2.1 Jenis dan Variabel Penelitian


Jenis penelitian yang digunakan adalah penelitian deskriptif yaitu penelitian yang
mencakup pengumpulan data untuk menjawab pertanyaan untuk proses penelitian.
Jenis penelitian yaitu :
A. Penelitian Lapangan (field research)
Penelitian lapangan dilakukan dengan terjun langsung ke lapangan untuk
menggali dan meneliti data yang berkenan dengan pemberian informasi publik.
B. Penelitian Pustaka
Penelitian Pustaka yaitu penelitian dengan cara membaca buku melalui literatur
dan buku lain yang bersifat ilmiah yang berhubungan dengan materi pembahasan.
Variabel yang digunakan dalam penelitian ini adalah data dosen, matakuliah,
waktu, ruangan,jurusan.Tahapan Penelitian
2.2 Metode pengumpulan data

Adapun metode pengumpulan data yang kami lakukan yaitu :


1. Observasi
Observasi dilakukan di di kampus universitas Dipa Makassar di Jalan Perintis
Kemerdekaan KM.9. Sulawesi Selatan, pada tahapan observasi ini yang didapat
berupa data jadwal yang sudah dicetak, data Khatib dan data Masjid.
2. Wawancara
Peneliti bertatap muka langsung dengan sumber informasi untuk mengajukan
pertanyaan-pertanyaan secara langsung. Wawancara dilakukan di Kampus
Universitas Dipa Makassar dengan narasumber Ibu Annah,S.Kom.,M.T. selaku ketua
prodi Rekayasa Perangkat lunak, Yang memberikan beberapa pertanyaan mengenai
hal-hal yang berhubungan dengan penelitian ini.
3. Studi Pustaka
Pada tahap ini dilakukan dengan cara membaca buku, jurnal serta penelitian-
penelitian terdahulu sebagai referensi untuk peneliti

3. HASIL DAN PEMBAHASAN

3.1 Perancangan Solusi


Use Case yang dirancang untuk menggambarkan apa yang dilakukan dalam
sebuah system dan siapa saja actor yang berinteraksi dengan system sehingga aplikasi
yang akan dibuat dipahami.

Gambar 3. 1 Use case Diagram


Pada gambar 3.1 Use Case Diagram, orang yang dapat mengakses atau
menggunakan aplikasi penjadwalan kelas, harus melalui proses login ke aplikasi terlebih
dahulu. Admin aplikasi adalah orang yang membantu operator dalam mengelola data
dosen, matakuliah, ruangan,program studi, dan Kelola kelas. Serta mendapatkan akses
mengelola akun operator, sedangkan Operator adalah orang yang dapat mengelola
penjadwalan yang mendapat akses Kelola data Dosen,matakuliah, ruangan, kelas, serta
Kelola jadwal dimana dapat membuat jadwal dengan menggunakan metode algoritma
genetika.
3.2 Analisa Dan Validasi Data
Pada aplikasi ini terdiri dari dua aktor yaitu, Admin dan Operator. Pada Admin
berfungsi untuk menginput data dosen, ruang, prodi, kelas, serta mengelola data operator,
sedangkan pada operator berfungsi membuat jadwal juga dapat menginput matakuliah,
dosen, ruangan, dan kelas yang kemudian akan di implementasikan pada sistem dan
membuat dokumentasi dengan Unified Modeling Language (UML) yang menggunakan
beberapa model diagram, yaitu: use case diagram, class diagram, activity diagram, dan
sequence diagram, yang menunjukan setiap aktifitas dari sistem. Kebutuhan data yang di
gunakan untuk merancang aplikasi ini yang telah penulis kumpulkan yaitu terdiri dari :
1. Data dosen
Data berupa nama-nama dosen yang mengajar di kampus Universitas Dipa Makassar.
2. Data Matakuliah
Data berupa jenis – jenis matakuliah pada semester genap yaitu semester 2,4,6, dan 8.
3. Data ruangan
Merupakan data ruangan yang di gunakan saat proses belajar di Universitas Dipa
Makassar.
4. Data Program studi
Merupakan data program studi yang ada pada kampus Universitas Dipa Makassar.
Data dosen, data matakuliah, data ruangan, data program studi yang telah di sediakan.
Sistem penjadwalan ini berbasis web dimana admin dan operator harus login agar bisa
mengakses dan mengolah data jadwal yang akan ditampilkan .
Pengecekan derajat kepercayaan tentang sistem penjadwalan kelas Universitas
Dipa Makassar peneliti melakukan pengecekan data yang berasal dari hasil observasi dan
wawancara dengan ketua prodi rekayasa perangkat lunak.

3.4 Algoritma Genetika

Analisa Sistem Penjadwalan Menggunakan genetika dalam perancangan


sistem penjadwalan menggunakan algoritma genetika, tahap awal yang
dilakukan adalah menentukan populasi awal, menentukan Batasan. Dalam
perancangan sistem penjadwalan menggunakan algoritma genetika, tahap awal
yang dilakukan adalah menentukan populasi awal, menentukan batasan
penjadwalan, merepresentasikan nilai kromosom, menginisialisasi populasi awal,
melakukan seleksi, crossover, mutasi, hingga kondisi selesai.
Gambar 4. 1 gambar flowchart diagram Algoritma genetika
1. Batasan dan asumsi-asumsi yang diterapkan
a. Hari untuk penjadwalan kuliah adalah senin-jum’at (5 hari).
b. Disediakan 5 sesi jam dalam sehari.
 Sesi 1, jam 7:30
 Sesi 2, jam 9:20
 Sesi 3, jam 11:10
 Sesi 4, jam 13:40
 Sesi 5, jam 15:30
c. Sesi ke 3 pada hari jumat tidak dijadwalkan.
d. Jumlah prodi sebanyak 6 yaitu:
 Teknik Informatika = 1
 Sistem Informasi = 2
 Manajemen Informatika = 3
 Rekayasa Perangkat Lunak = 4
 Bisnis Digital = 5
 Kewirausahaan = 6
2. Tahap pemetaan algoritma genetika
Pada kasus penjadwalan kuliah ini individu/kromosom adalah satu
rangkaian gen seperti pada tabel berikut.
Plot Dosen Ruang Hari Jam

Plot dosen sendiri memliki sub gen dosen, matakuliah dan kelas, sehingga
satu individu/kromosom terdiri dari gen seperti pada tabel berikut.
Kode Nama Nama Nama Kelas Semester Ruang Hari Jam
Matakuliah Kuliah dosen prodi

3. Tahap Pengkodean
Dalam aplikasi setiap nilai gen dikodekan dengan nilai integer. Contoh
pengkodean nilai dapat dilihat pada tabel berikut.
Matakuliah Dosen Prodi Kelas Ruang Hari Jam
1 = PBO 1 = D1 1 A = 1 1 = 101 1 1
2 = PTS 2 = D2 1 B = 2 2 = 102 2 2
3 = IPS 3 = D3 1 C = 3 3 = 103 3 3
4 = AGI 4 = D4 1 D = 4 4 = 104 4 4

4. Membangkitkan Populasi Awal


Dalam aplikasi ini proses membangkitkan populasi yaitu memasangkan
secara acak semua data plot dosen(dosen, matakuliah, dan kelas) dengan ruang,
hari dan jam.
Masing-masing nilai jam, ruang dan hari dibuat secara acak dengan fungsi
random (); sehingga semua individu terbentuk secara acak. Contoh hasil
membangkitkan populasi dapat dilihat pada tabel berikut.
Tabel 4. 1 Tabel Pembentukan Gen Populasi
No Kode_MK Nama_MK Dosen Prodi Kelas Semester Ruang Hari Jam
J1 1 1 1 1 1 3 3 1 1
J2 2 2 2 1 1 3 2 3 1
J3 3 3 3 1 1 5 1 5 5
J4 4 4 4 1 1 1 2 3 1
J5 1 1 2 1 2 3 1 5 5
J6 2 2 3 1 2 3 2 1 1
J7 3 3 1 1 2 5 3 4 4
J8 4 4 4 1 2 1 4 3 3
J9 1 1 1 1 3 3 1 4 4
J1 2 2 1 1 3 3 2 5 4
0
J1 3 3 2 1 3 5 2 4 1
1
J1 4 4 4 1 3 1 4 4 1
2
Jn ….. …….. …… ….. …… …… ….. …. ….
5. Menghitung Fitness masing-masing individu
Pada aplikasi ini asumsi fitness adalah total bentrok. Total bentrok
dihitung dari jumlah 6 jenis bentrok. Rumus fitness sebagai berikut :
F = 0 +∑B
a. B1 = 30
b. B2 = 20
c. B3 = 30
d. B4 = 5
e. B5 = 30
f. B6 = 30
Ket:
F = Fitness (Banyak pelanggaran)
B1 = Bentrok jam, mata kuliah di semester yang sama
B2 = Bentrok dosen di jam yang sama
B3 = Bentrok ruangan di jam yang sama
B4 = Bentrok jam, matakuliah di semester berbeda
B5= Bentrok dosen beda prodi
B6 = Bentrok ruangan beda prodi
Nilai fitness terbaik umumnya adalah bernilai tinggi akan tetapi untuk
kasus ini diasumsikan nilai fitness terbaik adalah Ketika bernilai 0 yakni
menyatakan jadwal sudah tidak bentrok atau ketika mendekati 0. Jika fitness lebih
dari 0 maka jadwal ada yang bentrok.
Contoh bentrok dapat dilihat pada tabel 1 dan hasil perhitungan fitness
atau bentrok jadwal dapat dilihat pada tabel 2.
N Kode_ Nama_Kul Nama_Do Pro Kel Semes Rua Ha Ja
o MK iah sen di as ter ng ri m
J1 1 1 1 1 1 3 3 1 1

J2 2 2 2 1 1 3 2 3 1

J3 3 3 3 1 1 5 1 5 5

J4 4 4 4 1 1 1 2 3 1

J5 1 1 2 1 2 3 1 5 5

J6 2 2 3 1 2 3 2 1 1

J7 3 3 1 1 2 5 3 4 4

J8 4 4 4 1 2 1 4 3 3

J9 1 1 1 1 3 3 1 4 4

J1 2 2 1 1 3 3 2 5 4
0
J1 3 3 2 1 3 5 2 4 1
1
J1 4 4 4 1 3 1 4 4 1
2
Jn ….. …….. …… ….. … …… ….. …. …
… .

Ket :
= Bentrok matakuliah di semester yang sama
= Bentrok matakuliah di semester berbeda
= Bentrok Ruangan yang sama
= bentrok dosen dijam yang sama

No B1 B2 B3 B4 B5 B6 Fitness
J1 30 0 0 0 0 0 30
J2 0 0 30 0 0 0 30
J3 0 0 30 0 0 0 30
J4 0 0 30 0 0 0 30
J5 0 0 30 0 0 0 30
J6 30 0 0 0 0 0 30
J7 0 20 0 0 0 0 20
J8 0 0 0 0 0 0 0
J9 0 20 0 0 0 0 20
J10 0 0 0 0 0 0 0
J11 0 0 0 5 0 0 5
J12 0 0 0 5 0 0 5
Jn …. …… ….. …… …… ……. ……
Dari tabel 2, jika diasumsikan data J13 dan seterusnya tidak ada yang
bentrok maka total bentrok atau/fitness = 230.
6. Pisahkan/tandai individu/jadwal yang masih bentrok
Melihat tabel 1, maka J1 sampai J12 akan dipisahkan karena fitness J1
sampai J12 bernilai >0.
7. Melakukan crossover (perkawinan silang)
Pada aplikasi ini crossover dilakukan hanya antar jadwal bentrok dengan
menukar nilai dari gen hari dengan gen hari yang lain dan gen jam dengan gen
jam yang lain. Metode ini memilih satu individu dengan kemungkinan proporsi
secara langsung untuk nilai fitness-nya, yaitu memilih kromosom terbaik dengan
cara menghitung setiap nilai kromosom dan membandingkannya dengan nilai
kromosom lainnya. Memilih orang tua berdasarkan nilai kecocokannya (fitness).
Kromosom yang lebih baik memiliki presentasi dipilih yang lebih besar.
Misalkan berdasarkan hasil pemilihan kromosom terbaik terpilih J8
disilangkan J11. Ilustrasi persilangan dapat dilihat pada tabel 1 dan 2.
No Kode_MK Nama_M Dosen Prod Kelas Semester Ruang Har Jam
K i i
J8 4 4 4 1 2 1 4 3 3
… … … … … … … … … …
… … … … … … … … … …
J1 3 3 2 1 3 5 2 4 1
1
Jn … … … … … … … … …
Sehingga menjadi :
No Kode_M Nama_M Dose Prod Kela Semeste Ruan Har Ja
K K n i s r g i m
J8 4 4 4 1 2 1 4 4 1
… … … … … … … … … ...
… … … … … … … … … …
J1 3 3 2 1 3 5 2 3 3
1
Jn … … … … … … … … …
Proses crossover ini berulang sampai mencapai ukuran populasinya.dan
membuat individu baru dengan crossover.
8. Menghitung Kembali jumlah bentrok dan fitness masing-masing individu.
9. Pisahkan/tandai Kembali individu/jadwal yang masih bentrok.
Misalkan hasil crossover menyisakan bentrok antara J7 dan J9 dengan jenis
bentrok B2 yaitu bentrok dosen dijam yang sama. Maka kita pisahkan/tandai untuk
selanjutnya diproses pada proses mutasi. Contoh memisahkan atau menandai
jadwal yang bentrok dapat dilihat pada tabel berikut.
No Kode_MK Nama_M Dosen Prodi Kelas Semester Ruan Hari Jam
K g
… … … … … … … … … …
J7 3 3 1 1 2 5 3 4 4
… … … … … … … … … …
J9 1 1 1 1 3 3 1 4 4

10. Melakukan mutasi


Proses mutasi dilakukan hanya pada individu/jadwal yang bentrok saja.
Gen yang dimutasi adalah gen ruang, hari dan jam. Proses mutasi dilakukan
dengan melakukan random pada nilai ruang, hari dan jam yang belum
terjadwalkan dan hasilnya akan menggantikan nilai ruang, hari, jam sebelumnya.
Mengacu kepada tabel 10, maka yang dimutasi adalah J7 dan J9. Contoh
hasil mutasi dapat dilihat pada tabel 11
N Kode_M Nama_M Dose Prod Kela Semeste Ruan Har Ja
o K K n i s r g i m
… … … … … … … … … …

J7 3 3 1 1 2 5 3 4 5

… … … … … … … … … …

J9 1 1 1 1 3 3 1 1 2

11. Menghitung Kembali bentrok dan fitness masing-masing individu.


12. Proses dan elitism
Jika nilai fitness belum sama dengan 0 maka proses seleksi dan elitisme
dilakukan untuk menentukan generasi selanjutnya. Pada aplikasi ini generasi
selanjutnya diambil dari seluruh populasi hasil mutasi terakhir.
13. Proses selanjutnya adalah mengulangi proses mulai dari tahap 5 sampai 12
pada populasi/generasi baru sampai dihasilkan nilai fitness 0.
1. KESIMPULAN

Berdasarkan hasil penelitian dan pembahasan yang telah diuraikan maka dapat ditarik
kesimpulan sebagai berikut :
1. Aplikasi yang dibuat diimplementasikan secara maksimal, sehingga dapat
meningkatkan kualitas penjadwalan
2. Berdasarkan hasil pengujian perangkat lunak yang telah dilakukan maka,
penerapan algoritma genetika dapat bekerja dengan baik .

3. SARAN

Berdasarkan dari kesimpulan diatas maka penulis memberikan saran sebagai


berikut:
1. Diharapkan agar pihak Kampus Universitas dipa makassar
mengoptimalkan penggunaan aplikasi penjadwalan kelas.
2. Untuk penelitian selanjutnya yang berkaitan dengan penjadwalan, dapat
mengembangkan aplikasi ini dengan menambahkan penjadwalan siswa
agar hasil penjadwalan lebih optimal.
UCAPAN TERIMA KASIH

Penulis menyampaikan rasa terima kasih diiringi doa kepada Allah SWT, kepada kedua
orang tua penulis yang telah mendidik, membesarkan dan membimbing serta doa yang tulus
dan kepada semua sahabat, teman-teman dan kerabat yang tidak sempat penulis sebutkan satu
persatu, untuk itu penulis ucapkan terimakasih.

DAFTAR PUSTAKA

[1] R. Vhalery, A. M. Setyastanto, and A. W. Leksono, “Kurikulum Merdeka Belajar


Kampus A. S., Rosa dan Shalahuddin, M. (2011). Modul Pembelajaran Rekayasa
Perangkat Lunak Terstruktur dan Berorientasi Objek. Bandung.
[2] Ardiansyah, H., & Junianto, M. B. S. (2022). Penerapan Algoritma Genetika untuk
Penjadwalan Mata Pelajaran. Jurnal Media Informatika Budidarma, 6(1), 329.
https://doi.org/10.30865/mib.v6i1.3418
[3] coursehero. (2020). Pengertian Aplikasi Berbasis Web O’Brien. Coursehero.Com.
[4] Josi, A. (2017). Implementasi Algoritma Genetika pada Aplikasi Penjadwalan
Perkuliahan Berbasis Web dengan Mengadopsi Model Waterfall. Jurnal Informatika:
Jurnal Pengembangan IT (JPIT), 02(02), 77–83.
http://ejournal.poltektegal.ac.id/index.php/informatika/article/view/517/554
[5] Muharni, Y., Febianti, E., & Sofa, N. N. (2019). Minimasi Makespan Pada Penjadwalan
Flow Shop Mesin Paralel Produk Steel Bridge B-60 Menggunakan Metode Longest
Processing Time Dan Particle Swarm Optimization. Journal Industrial Servicess, 4(2).
https://doi.org/10.36055/jiss.v4i2.5154
[6] Pambudi, A. P., Waluyo, A., & Fatich, E. V. L. N. (2021). Perancangan Sistem
Penjadwalan Perkuliahan Berbasis Website Menggunakan Algortima Genetika. JATISI
(Jurnal Teknik Informatika Dan Sistem Informasi), 8(3), 1133–1146.
https://doi.org/10.35957/jatisi.v8i3.1051
[7] Robitoh. (2018). Perancangan Sistem Administrasi Pada Puskesmas Sarolangun Berbasis
Web. Journal of Chemical Information and Modeling, 53(9), 1689–1699.
[8] Saputra, S. A. (2022). Perancangan Sistem Aplikasi Trayek Angkutan Umum Di Kota
Bandar Lampung Berbasis Android. Teknologi Pintar, 2(6), 1–12.
[9] Satriyanto, E. (2017). Penjadwalan Satpam Jaga Dengan Algoritma Genetika. Proxies,
1(2), 81–87. http://entin.lecturer.pens.ac.id/Kecerdasan Buatan/Buku/Bab 7 Algoritma
Genetika.pdf.
[10] Suwarjono, S., & Susanto, S. (2018). Sistem Penjadwalan Perkuliahan Pada Universitas
Musamus Menggunakan Algoritma Genetika Berbasis Web. Musamus Journal Of
Research Information and Communication Technology, 1(1), 12–17.
https://doi.org/10.35724/mjrict.v1i1.1005
[11] Wibawanto. (2018). Bab Ii Landasan Teori. Journal of Chemical Information and
Modeling, 53(9), 8–24.

Anda mungkin juga menyukai