## Optimalisasi Sistem Penjadwalan Mata Kuliah Jurusan Bahasa Inggris Menggunakan Algoritma Genetika (Studi Kasus Politeknik Negeri Sriwijaya)
Rasmila 1) , Siska Dwi Kristanti 2) 1,2 Program Studi Teknik Informatika, Universitas Bina Darma, Jalan Jenderal Ahmad Yani No.3, 9/10 Ulu, Kecamatan Seberang Ulu I, Kota Palembang, Sumatera Selatan 30111 e-mail: rasmila@binadarma.ac.id, cisxa.chads12@gmail.com
Abstrak
Penjadwalan mata kuliah merupakan salah satu permasalahan yang dihadapi pada tiap semester di pergantian tahun akademik pada sebuah perguruan tinggi. Permasalahan utamanya adalah bagaimana cara mengkombinasikan antara kelas, waktu, ruang, dan dosen pengajar agar tidak terjadi saling bentrok. Sistem penjadwalan di jurusan Bahasa Inggris saat ini masih belum terkomputerisasi, hal ini membuat proses penjadwalan belum efektif dan waktu pembuatan jadwal relatif lama. Berdasarkan permasalahan tersebut maka diperlukan suatu algoritma yang tepat yaitu algoritma genetika karena dapat mempersingkat waktu pembuatan jadwal sehingga penjadwalan lebih optimal. Aturan spesifik pada algoritma genetika diantaranya adalah pembentukan populasi, penghitungan nilai fitness individu, penghitungan seleksi, proses kawin silang, proses mutasi dan update generasi. Metode pengembangan yang digunakan adalah sistem RUP. Sistem penjadwalan ini dibuat dengan menggunakan bahasa pemrograman PHP dengan databasenya yaitu MySQL. Hasil akhir yang diharapkan dari penelitian ini adalah sebuah jadwal mata kuliah yang optimal dengan tidak ada bentrok antar mata kuliah, antar satu dosen pengajar dengan yang lain, jam dan waktu perkuliahan.
Kata kunci — Algoritma Genetika, MySQL, Penjadwalan Mata Kuliah, PHP, RUP

## Abstract
Scheduling courses is one of the problems faced in each semester at the turn of the academic year at a university. The main problem is how to combine class, time, space, and teaching lecturers so that there are no clashes with each other. The scheduling system in the English department is currently not yet computerized, this makes the scheduling process ineffective and the schedule creation time is also quite long. Based on these problems, an appropriate algorithm is needed, namely the genetic algorithm because it can shorten the time of making the schedule so that the scheduling is more optimal. Specific rules in genetic algorithms include population formation, individual fitness value calculations, selection calculations, crossbreeding processes, mutation processes and generation updates. The development method used is the RUP system. This scheduling system is made using the PHP programming language with the MySQL database. The final result expected from this research is an optimal course schedule with no clashes between courses, between one teaching lecturer and another, hours and time of lectures.
Keywords — Genetic Algorithm, MySQL, Course Scheduling, PHP, RUP

## 1. PENDAHULUAN
enjadwalan mata kuliah merupakan sebuah kegiatan untuk melaksanakan perkuliahan di dalam jurusan pada sebuah perguruan tinggi. Perancangan sebuah penjadwalan perkuliahan merupakan sebuah pekerjaan yang cukup kompleks. Dalam proses pembuatan penjadwalan mata kuliah masih sering terjadi bentrok antara ruang, waktu dan dosen pengajar yang mengajar mata kuliah yang berbeda dalam waktu yang bersamaan, selain itu mahasiswa mempunyai jadwal perkuliahan yang sama untuk mata kuliah yang berbeda [4].
Sistem penjadwalan di jurusan Bahasa Inggris saat ini masih belum terkomputerisasi, hal ini membuat proses penjadwalan belum efektif dan waktu pembuatan jadwal relatif lama. Penyusunan jadwal mata kuliah pada jurusan ini menjadi tanggung jawab Sekretaris Jurusan. Sekretaris Jurusan menyusun jadwal mata kuliah dengan cara mencocokkan satu persatu mata kuliah setelah itu disusun dalam waktu, ruang, kelas dan dosen pengajar mata kuliah yang mengajar di semester tersebut. Permasalahan utama dalam penyusunan jadwal tersebut adalah bagaimana cara mengkombinasikan antara kelas, waktu, ruang, dan dosen pengajar agar tidak terjadi saling bentrok. Proses penyusunan tersebut memerlukan waktu yang cukup lama serta harus dilakukan dengan teliti agar tidak terjadi bentrok satu sama lain.
Berdasarkan masalah yang terjadi, pada penelitian ini peneliti akan merancang dan membuat sebuah sistem penjadwalan mata kuliah berbasis web yang menggunakan sebuah algoritma untuk mengoptimalkan pembuatan jadwal mata kuliah tersebut. Algoritma yang dipilih yaitu algoritma genetika. Pada tahun 1975, John Holland dari Amerika Serikat melakukan sebuah penelitian yang menemukan Algoritma Genetika di Universitas Michigan. Penelitian tersebut kemudian dipopulerkan oleh mahasiswanya yaitu David Goldberg. Algoritma genetika adalah teknik pencarian solusi optimum dengan menggunakan prinsip seleksi alam [5]. Gen adalah kumpulan dari kromosom yang terdiri dari beberapa bit string. Dimana kromosom terdiri dari bilangan 0 dan 1. Setiap kromosom dapat mengalami kawin silang (cross over) antar kromosom yaitu terjadinya pertukaran materi genetis. Selanjutnya terjadi proses mutasi pada gen dalam kromosom yang telah mengalami kawin silang, Setelah itu terjadi proses pengembalian urutan beberapa gen yang berurutan di dalam kromosom yang disebut invertion [1].
Algoritma Genetika merupakan suatu metode optimalisasi untuk mencari solusi yang optimal dari suatu permasalahan seperti masalah penjadwalan. Pengimplementasian algoritma genetika dalam pembuatan jadwal mata kuliah dianggap sangat tepat karena dapat mempersingkat waktu pembuatan jadwal mata kuliah serta mengatasi bentrok penjadwalan. Berdasarkan latar belakang tersebut, maka peneliti memilih untuk menggunakan Algoritma Genetika dalam penyusunan jadwal mata kuliah Jurusan Bahasa Inggris dan membuat penelitian dengan judul “Optimalisasi Sistem Penjadwalan Mata Kuliah Jurusan Bahasa Inggris Menggunakan Algoritma Genetika (Studi Kasus Politeknik Negeri Sriwijaya)”.

## 2. METODE PENELITIAN
Pada penelitian ini menggunakan metode pengembangan sistem RUP (Rational Unified Process) . “RUP ( Rational Unified Process ) adalah pendekatan pengembangan perangkat lunak yang dilakukan berulang-ulang ( iterative ), fokus pada arsitektur (architecture-centric ), lebih diarahkan berdasarkan penggunaan kasus ( use case driven )” [10]. Sebelum dilakukan pengembangan software , hal penting yang perlu dilakukan adalah Rational Unified Process (RUP). Dalam RUP dilakukan pendekatan secara berulang dalam pengembangan software yang berfokus pada arsitektur. Pendekatan ini lebih diarahkan kepada penggunaan kasusnya dengan pendefinisian dan penstrukturan yang baik [6].
Adapun tahap-tahap ( fase ) dalam metode pengembangan RUP [10] adalah sebagai berikut:
P
Gambar 1. Metode RUP (Rational Unified Process)
1) Fase inception Pada fase ini dilakukan identifikasi masalah yaitu dengan melakukan wawancara langsung dengan sekretaris jurusan Bahasa Inggris Politeknik Negeri Sriwijaya sebagai calon pengguna dan pengumpulan data-data. Data yang digunakan adalah jadwal perkuliahan semester genap Jurusan Bahasa Inggris Politeknik Negeri Sriwijaya Tahun Akademik 2021-2022.
Gambar 2. Data Jadwal Perkuliahan Jurusan Bahasa Inggris
2) Fase elaboration Pada tahap ini dilakukan beberapa perancangan antara lain use case diagram, use case scenario, activity diagram, class diagram, dan antar muka.
2.1 Perancangan sistem
a. Use case diagram menggambarkan interaksi antar actor dengan sistem. Berikut use case diagram Sistem Penjadwalan Mata Kuliah Jurusan Bahasa Inggris :
Gambar 3. Use Case Diagram
b. Use case scenario Nama use case : Penjadwalan mata kuliah
Aktor : user Tabel 1 Use Case Penjadwalan Mata Kuliah User Sistem 1.Input data master antara lain data dosen, data mata kuliah, data ruang, data jam perkuliahan, data hari, data dosen pengampu, data waktu tidak bersedia 2.Menyimpan data-data master 3.Pilih semester, tahun akademik, jumlah populasi, jumlah generasi, probabilitas crossover, probabilitas mutasi 4.Mengenerate jadwal mata kuliah
5.Mencetak jadwal kuliah
c. Activity diagram
Alur dari proses generate penjadwalan mata kuliah seperti berikut:
Gambar 4. Activity Diagram
d. Class diagram Berikut class diagram yang terdiri dari beberapa class yaitu dosen, pengampu, mata kuliah, ruang, jam, hari, waktu tidak bersedia, dan jadwal kuliah dimana setiap class saling terkait satu sama lain.
Gambar 5. Class Diagram
26

## 2.2 Perancangan Data
o Struktur Tabel
Perancangan tabel yang akan digunakan pada database yang digunakan dalam sistem penjadwalan mata kuliah yaitu :
Tabel 2 Data Mata Kuliah

## Tabel 3 Data Pengampu
o Skema Relasi
Skema relasi untuk sistem penjadwalan yang akan dibuat dapat dilihat pada gambar di bawah ini.
Gambar 6. Skema Relasi Penjadwalan
2.3 Perancangan Design
Halaman ini merupakan desain halaman proses data penjadwalan. Halaman ini berfungsi untuk mengenerate jadwal mata kuliah kemudian hasil dari generate jadwal akan ditampilkan.
Gambar 7. Desain Halaman Proses Data Penjadwalan
e. Antar muka
Sistem penjadwalan mata kuliah ini menggunakan bahasa pemrograman PHP dengan framework Codeigniter. “PHP (PHP: hypertext preprocessor) adalah suatu bahasa pemrograman yang digunakan untuk menterjemahkan basis kode program menjadi kode mesin yang dapat dimengerti oleh komputer yang bersifat server-side yang ditambahkan ke HTML” [11]. Sedangkan menurut (Oetomo
Rasmila, et al, Optimalisasi Sistem Penjadwalan Mata Kuliah…………………………… 27
H.W dan Mahargiono P.B., 2020) “PHP adalah singkatan dari Hypertext Preprocessor, yaitu bahasa pemrograman yang digunakan secara luas untuk penanganan, pembuatan, dan pengembangan sebuah situs web dan biasanya digunakan bersamaan dengan HTML” [7].
Database merupakan data yang masuk logika dan saling terhubung serta didesain untuk melengkapi kebutuhan informasi [8]. Database yang digunakan adalah MySQL. Pengertian MySQL menurut beberapa ahli yaitu “MySQL adalah database yang menghubungkan script php menggunakan perintah query dan escaps character yang sama dengan PHP” [3]. MySQL adalah software database open source yang sering dipergunakan untuk mengolah basis data yang menggunakan bahasa SQL [9].
Gambar 8. Tampilan Halaman Proses Data Penjadwalan
Halaman proses data penjadwalan berfungsi untuk mengenerate jadwal dengan memilih semester, tahun akademik, mengisi probabilitas crossover , probabilitas mutase, jumlah populasi dan jumlah generasi 3) Fase construction . Pada fase ini berupa sistem yang telah dirancang dan sistem yang telah diimplementasikan dan diuji. Hasil dari implementasi sistem akan dilakukan evaluasi apakah sesuai dengan perancangannya yang kemudian dijadikan dasar untuk tahap berikutnya.
4) Fase transition . Pada fase ini dilakukan pengujian sistem. Metode yang digunakan yaitu validation testing dan user acceptance testing (UAT) , deployment sistem dan penyusunan kesimpulan.
3. HASIL DAN PEMBAHASAN
A. Proses Algoritma Genetika Alir penjadwalan algoritma genetika terdiri dari beberapa langkah. Langkah - langkah penjadwalan mata kuliah dengan algoritma genetika yaitu : 1. Pembentukan Populasi Awal
Tahap awal dirancang terlebih dahulu bentuk kromosomnya dimana bentuk kromosom yang digunakan yaitu kode mata kuliah (M), kode dosen (D), kode kelas (K) dan kode waktu kuliah (T). Data yang digunakan adalah jadwal semester genap Tahun Akademik 2021-2022. 2. Evaluasi Fitness
Penentuan individu induk terbaik dengan fungsi fitness dilakukan pada tahap seleksi. Apabila ada pelanggaran yang terjadi maka diberikan nilai 1 dan akan ditambahkan nilai 1 pada total nilai pelanggaran, hal ini bertujuan untuk menghindari nilai fitness tak terhingga. Dalam penyusunan jadwal mata kuliah ini terdapat beberapa batasan antara lain :
a. Dosen tidak diperbolehkan mengajar mata kuliah lebih dari 1 kali dalam 1 waktu. b. Kelas yang sama tidak diperbolehkan dijadwalkan lebih dari 1 kali dalam 1 waktu. 3. Seleksi
Metode yang digunakan pada saat pembentukan populasi baru yaitu metode seleksi roulette- wheel . . Langkah pertama yang dilakukan yaitu menghitung total nilai fitness pada semua kromosom. . Langkah . kedua . yaitu . melakukan perhitungan . probabilitas nilai fitness pada setiap
28
Jurnal Jupiter, Vol. 14 No. 2 Bulan Oktober, Tahun 2022 , Hal. 22 - 31
kromosom. Perhitungan probabilitas yaitu nilai fitness setiap kromosom dibagi dengan total nilai fitness . Langkah ketiga yaitu menempatkan kromosom pada interval nilai [0-1]. 4. Kawin Silang Kawin silang merupakan penggabungan kromosom induk 1 dengan kromosom induk 2 dengan menggunakan metode pemotongan kromosom secara random . Apabila nilai bilangan acak yang dibangkitkan pada suatu kromosom kurang dari nilai probabilitas maka akan terjadi kawin silang. Untuk menentukan posisi titik potong, bilangan random yang dibangkitkan adalah [1 – N]. N merupakan jumlah gen yang ada dalam 1 kromosom.
5. Mutasi
Mutasi merupakan suatu proses kemungkinan untuk memodifikasi informasi gen-gen pada suatu kromosom. Jumlah total dari gen dalam 1 populasi perlu dihitung untuk memperoleh dimana letak gen yang akan dimutasi. Rumus perhitungannya yaitu jumlah total gen = Jumlah gen dalam 1 kromosom x Jumlah kromosom 6. Penghentian Populasi Kriteria penghentian adalah kriteria yang digunakan untuk menghentikan proses perulangan pada evolusi. Syarat penghentian yang terbaik tergantung pada tingkat kerumitan masalah dan perangkat keras yang dipergunakan [2]. Apabila kriteria telah terpenuhi berarti telah tercapai proses penghentian populasi. Kriteria tersebut yaitu apabila batasan jumlah iterasi sudah tercapai dan tidak terjadi perubahan nilai fitness terbaik selama beberapa generasi.
B. Implementasi Hasil implementasi sistem dari perancangan yang telah dilakukan sebelumnya yaitu :
- Halaman Data Master Mata Kuliah yaitu halaman yang berfungsi untuk menyimpan, mengedit, menghapus dan mencari data-data mata kuliah. Fungsi dari halaman data master mata kuliah ini untuk mencari data-data mata kuliah dan memberikan informasi tentang data mata kuliah.
Gambar 9. Antar Muka Halaman Data Master Mata Kuliah
- Antar muka Halaman Data Master Pengampu yaitu halaman yang berfungsi untuk menyimpan, mengedit, menghapus dan mencari data pengampu. Fungsi dari halaman ini untuk mencari data pengampu dan memberikan informasi tentang data pengampu.
Gambar 10. Antar muka Halaman Data Master Pengampu
- Antar Muka Halaman Proses Data Penjadwalan Halaman proses data penjadwalan yaitu halaman yang berfungsi untuk mengenerate jadwal dengan memilih semester perkuliahan, tahun akademik, mengisi probabilitas crossover , probabilitas mutasi, jumlah populasi dan jumlah generasi.
Gambar 11. Antar Muka Halaman Proses Data Penjadwalan
C. Pengujian Sistem Pada metode pengujian User Acceptance Testing (UAT) pengujiannya dilakukan oleh peneliti. Contoh beberapa data pengujian yang dilakukan oleh peneliti ditampilkan pada tabel di bawah ini.
Tabel 4 User Acceptance Testing (UAT) No Proses Berhasil/Gagal Tanggal Tes 1. Deskripsi pengujian : Peneliti memilih menu Data Master Dosen di halaman utama Hasil yang diharapkan : Halaman daftar dosen tampil Berhasil 29 Juni 2022 2. Deskripsi pengujian : Peneliti memilih semester, tahun akademik, probabilitas crossover , probabilitas mutasi , jumlah populasi, jumlah generasi dan memilih tombol proses
Hasil yang diharapkan : Sistem menampilkan hasil generate jadwal Berhasil 29 Juni 2022 - Tahap Generate Jadwal
Pada tahap ini, peneliti memilih semester dan tahun akademik, memasukkan data pada parameter yaitu probabilitas crossover , probabilitas mutasi, jumlah populasi dan jumlah generasi kemudian menekan tombol proses. Dilakukan uji coba sebanyak 5 kali dimana jumlah populasi yaitu 10, probabilitas cross over yaitu 0.7 dan probabilitas mutasi yaitu 0.4, semakin banyak jumlah generasi maka waktu yang dibutuhkan menjadi semakin lama untuk mengenerate jadwal.
Tabel 5 Tabel Hasil Pengujian Uji Coba Jumlah Populasi Probabilitas CrossOver Probabilitas Mutasi Jumlah Generasi Waktu (detik) 1 10 0.7 0.4 10000 5.37 detik 2 10 0.7 0.4 12000 6.40 detik 3 10 0.7 0.4 15000 6.83 detik 4 10 0.7 0.4 17000 9.80 detik 5 10 0.7 0.4 20000 11.50 detik
Gambar chart waktu hasil pengujian generate jadwal :
Gambar 12 Chart Hasil Pengujian
Setelah dilakukan generate jadwal dan didapatkan tidak ada jadwal yang bentrok, hasil generate jadwal dapat didownload dalam bentuk Excel dan PDF dengan menekan tombol Export ke Excel dan Export ke PDF. Gambar 13 menunjukkan hasil dari generate jadwal dalam bentuk Excel dan Gambar 14 menunjukkan hasil dari generate jadwal dalam bentuk PDF.
Gambar 13 Hasil Download Jadwal dalam Excel
Gambar 14 Hasil Download Jadwal dalam PDF
4. KESIMPULAN
Berikut kesimpulan dari penelitian dalam pembuatan sistem penjadwalan mata kuliah diantaranya :
1. Sistem yang dibangun dengan mengimplementasikan metode algoritma genetika telah dilakukan pengujian dengan metode User Acceptance Testing (UAT) dan semua halaman dalam sistem berhasil dijalankan dengan baik serta jadwal yang dihasilkan tidak ada bentrok antar mata kuliah, antar dosen pengajar, jam dan waktu perkuliahan.
2. Kombinasi antar parameter algoritma genetika dengan nilai probabilitas crossover 0.70, nilai probabilitas mutasi 0.40, nilai jumlah populasi 10 dan nilai jumlah generasi 10000 dapat
Rasmila, et al, Optimalisasi Sistem Penjadwalan Mata Kuliah…………………………… 31
menghasilkan penjadwalan yang optimal berdasarkan percobaan yang dilakukan oleh peneliti.
3. Metode algoritma genetika yang diimplementasikan pada sistem penjadwalan mata kuliah dapat memiliki beberapa pilihan hasil jadwal karena setiap generate jadwal menghasilkan penjadwalan yang berbeda-beda.

## 5. SARAN
Metode algoritma genetika yang digunakan pada sistem penjadwalan dapat diaplikasikan untuk program studi atau jurusan lain yang ada di Politeknik Negeri Sriwijaya untuk mempermudah penyusunan jadwal mata kuliah.

## UCAPAN TERIMA KASIH
Ucapan terima kasih diberikan oleh penulis kepada Dewan Redaksi Jurnal Jupiter atas kesempatan untuk menerbitkan jurnal ini. Penulis juga mengucapkan terima kasih kepada Ketua Jurusan Bahasa Inggris Politeknik Negeri Sriwijaya atas kesempatan yang diberikan untuk melakukan pengambilan data dan penelitian di Jurusan Bahasa Inggris.

## DAFTAR PUSTAKA
[1] Pramana Henriyan, B. Hananto, F. Muhammad Ardi, H. Lenggana, P. Ulum, and F. D. (2019). Implementasi Algoritma Genetika pada Sistem Informasi Penjadwalan Matakuliah.
SEMNATI , 2621 – 7740 , 283–287. http://prosiding.uika- bogor.ac.id/index.php/semnati/article/view/307 [2] Insani, F., & Ramadhan, A. R. (2019). Optimasi Biaya Bahan Dan Jasa Pembangunan Rumah Menggunakan Algoritma Genetika. Seminar Nasional Teknologi Informasi Komunikasi Dan Industri , 0(0) , 222–229. [3] Isty, I., & Afifah, S. (2018). Sistem Informasi Penjualan Busana Pengantin Pada Tutut
Manten Yogyakarta . [4] Jurnal, R. T. (2019). Perancangan Aplikasi Penjadwalan Mata Kuliah Menggunakan Metode Constraint Programming. Petir , 9 (1), 38–41. https://doi.org/10.33322/petir.v9i1.193 [5] M. Fera, F. Fruggiero, A. Lambiase, R. Macchiaroli, and V. T. (2018). A modified genetic algorithm for time and cost optimization of an additive manufacturing single-machine scheduling. Int. J. Ind. Eng. Comput , 9 (4), 423–438. https://doi.org/10.5267/j.ijiec.2018.1.001
[6] M A.S., R. dan S. (2018). Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. In Informatika Bandung . Informatika.
[7] Oetomo H.W dan Mahargiono P.B. (2020). E-COMMERCE: Aplikasi PHP dan MySQL pada Bidang Manajemen . Andi.
[8] Rasmila, R., Dasmen, R. N., & Putra, A. (2021). Pelatihan Pengenalan Database dengan Memanfaatkan Teknologi Informasi pada SMK Madyatama Palembang. Jurnal Pengabdian Mitra Masyarakat (JPMM) Vol , 3 (2). [9] Subagia, A. (2018). Membangun Aplikasi Web dengan Metode OOP . PT. Elex Media Komputindo.
[10] Sukamto, R., & Shalahuddin, M. (2018). Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. In Informatika Bandung . Informatika.
[11] Supono and V. Putratama. (2018). Pemrograman Web dengan Menggunakan PHP dan Framework Codeigniter (1st ed, Vol. 4, Issue 1). Deepublish.