Optimasi Penggunaan Ruangan Dengan Algoritma Genetika Pada Sistem Penjadwalan Universitas Dian Nuswantoro Room Usage Optimization With Genetic Algorithm On Scheduling System At Dian Nuswantoro University Akhmad Firstyan Kresna 1, Ifan Rizqa 2 1,2 Universitas Dian Nuswantoro; Jl. Imam Bonjol No. 207 Semarang 3 Jurusan Teknik Informatika, Fakultas Ilmu Komputer, Universitas Dian Nuswantoro, Semarang e-mail: *1 111201106371@mhs.dinus.ac.id, 2 risqa.ifan@dsn.dinus.ac.id Abstrak Penjadwalan perkuliahan adalah proses penyusunan jadwal berdasarkan resource tertentu, yaitu kelas, ruang, waktu dan jam. Pada Universitas Dian Nuswantoro terdaftar ribuan data mahasiswa aktif yang nantinya akan digunakan sebagai data penyusunan kelas perkuliahan. Semakin banyak data resource mengakibatkan proses penyusunan jadwal semakin kompleks dan rumit. Hal tersebut dikarenakan banyaknya hal yang menjadi pertimbangan saat menyusun jadwal perkuliahan. Salah satu permasalahan pada kegiatan penjadwalan perkuliahan adalah terjadinya bentrok antara jadwal yang satu dengan yang lain. Dalam penelitian ini penulis menggunakan algoritma genetika yang bekerja melalui seleksi alam dan genetika untuk mengatasi masalah tersebut. Algoritma genetika terdiri dari beberapa proses, yaitu inisiasi populasi awal dan kromosom secara acak, fungsi fitness untuk mengkalkulasi nilai penalty sebuah populasi berdasarkan pelanggaran terhadap konstrain yang telah ditentukan, metode seleksi roulette-wheel, pindah silang satu titik potong (one-point crossover), mutasi pengkodean nilai, dan kondisi selesai bila telah ditemukan populasi(jadwal) dengan nilai fitness sempurna(satu) ataupun iterasi maksimum telah tercapai. Data yang digunakan adalah data perkuliahan tahun akademik 2015/2016 program studi Strata 1 Teknik Informatika Universitas Dian Nuswantoro dengan 360 data kelas dan 30 data ruang. Output sistem adalah jadwal perkuliahan ideal sesuai dengan konstrain yang telah ditetapkan. Kata kunci Sistem, Penjadwalan, Konstrain, Kuliah, Algoritma, Genetika, PHP, MySQL. Abstract Course scheduling is a process of preparing schedule based on specific resources, namely the class, room, time and hour. At Dian Nuswantoro University there are thousands student data that will be used for creating course class. Huge amount of data make scheduling process even more complicated and complex. That is because many things that need to be considered to create an ideal schedule. The problems in scheduling are for example clashes between schedule one another. In this study the
authors used a genetic algorithm that works through natural selection and genetics to resolve the issue. Genetic algorithm consists of several processes, random initiation of the initial population and chromosomes, a fitness function to calculate the penalty value of a population based on constraint violation that has been determined, roulette-wheel selection method, cross over between the chromosomes (one-point crossover), mutations encoding the value and finish condition when the population (schedule) with a perfect fitness value (one) has been found or the maximum number of iterations has been reached. The data used is data lecture of the academic year 2015/2016 study program Information Engineering Dian Nuswantoro University which is 360 class data and 30 room data.. Output System is an ideal timetable of course class based on defined constraints. Keywords System, Scheduling, Constraint, Course, Algorithm, Genetic, PHP, MySQL 1.1 Latar Belakang Masalah P 1. PENDAHULUAN erkuliahan merupakan kegiatan rutin yang dilakukan setiap perguruan tinggi. Kegiatan perkuliahan dilaksanakan berdasarkan jadwal yang telah disusun. Penjadwalan didefinisikan sebagai masalah pengalokasian sumber daya untuk melakukan suatu kegiatan pada waktu dan tempat tertentu. Pada Universitas Dian Nuswantoro terdaftar ribuan data mahasiswa aktif yang nantinya akan digunakan sebagai data penyusunan kelas perkuliahan. Semakin banyak data resource mengakibatkan proses penyusunan jadwal semakin kompleks dan rumit. Dalam prakteknya, tak jarang perkuliahan dialihkan pada lain waktu dikarenakan beberapa aspek salah satunya dua kelas berbeda tidak bisa menggunakan ruangan yang sama dalam waktu bersamaan. Proses penyusunan jadwal perkuliahan membutuhkan waktu yang cukup lama jika diselesaikan secara konvensional, yaitu dengan memanfaatkan software Microsoft excel dengan membuat tabel jadwal kuliah dengan kolom kolom atributnya yaitu kelas, ruang, jam dan hari. Kemudian penyusunan jadwal dilakukan dengan memasukan data data ke dalam kolom tersebut. Cara tersebut memerlukan ketelitian yang sangat tinggi dan cenderung mengabaikan berbagai ketentuan di atas. Oleh karena itu perlu dikembangkan suatu sistem otomatisasi penjadwalan kuliah yang dapat mengakomodasi berbagai ketentuan di atas agar terciptanya perkuliahan yang efisien. Ada beberapa metode dan algoritma yang sering digunakan dalam menyelesaikan masalah yang kompleks seperti masalah penjadwalan, yang masing-masing memiliki keunggulan. Salah satu metode dan algoritma tersebut adalah Algoritma Genetika yang akan diterapkan pada penelitian ini. 2.1 Studi Literatur 2. TINJAUAN PUSTAKA Penelitian yang berhubungan dengan algoritma genetika dan penjadwalan sudah pernah dilakukan oleh beberapa peneliti, diantaranya yaitu : 1. Penerapan Algoritma Genetika untuk Penyusunan Jadwal Perkuliahan dan Ujian Akhir Semester, oleh sam ani[1]. Sistem penjadwalan yang dibuat hanya untuk mata kuliah teori dan praktikum, sementara penyusunan jadwal mata kuliah umum tidak ditangani oleh sistem tersebut. Aplikasi
penjadwalan dibangun dengan bahasa pemrogaman Delphi Embarcadero RAD Studio dan database MySQL. 2. Penjadwalan Matakuliah Seminar dengan Teknik Inferensi Boolean Satisfiability, oleh Cecilia. Mata kuliah Seminar adalah mata kuliah wajib yang harus diambil oleh mahasiswa sebagai syarat pengambilan matakuliah skripsi. Jadwal ujian mata kuliah Seminar ini tidak ditetapkan di awal semester, melainkan seminggu sebelum masa ujian dimulai. Untuk prototipenya dikembangkan dengan menggunakan bahasa C++. Program yang dihasilkan telah diuji dengan data pada Semester Genap 2005/2006 dan berhasil memberikan solusi yang benar. 3. Penjadwalan Matakuliah dengan Algoritma Genetika pada STIKI Malang, oleh Setiawan. Sistem yang dibuat belum terintegrasi dengan sistem perwalian yang telah ada di STIKI Malang dengan database yang berdiri sendiri dan terpisah dari database sistem informasi utama STIKI Malang. 2.2 Algoritma Genetika Pada tahun 1975 diterbitkan sebuah buku karya John Holland yang berjudul Adaption in Natural and Artificial Systems. Dalam buku tersebut, John Holland memaparkan konsep dari algoritma genetika. Algoritma Genetika mengadaptasi proses seleksi alam yang mmpengaruhi evolusi suatu populasi [3]. Dalam suatu populasi terdapat beberapa individu dengan kromosom yang berbeda-beda. Hal tersebut mempengaruhi kemampuan sebuah individu untuk lolos dari seleksi alam dan berevolusi. Dalam algorima genetika faktor ini dinamakan fitness. Fitness adalah nilai kecocokan sebuah individu dengan suatu lingkungan. Dengan demikian semakin besar nilai fitness suatu individu semakin besar pula kesempatan individu tersebut untuk bertahan hidup. John Holland berpendapat, terminologi genetika dapat digunakan untuk memformulasikan semua masalah yang berbentuk adaptasi alami maupun buatan. Algoritma genetika merupakan simulasi dari proses evolusi Darwin dan operasi genetika atas kromosom. Alur proses algoritma genetika dapat dilihat pada gambar dibawah.
Gambar 2.1: Flowchart Algoritma Genetika 3. PERANCANGAN 3.1 Use Case Diagram Rancangan sistem penjadwalan perkuliahan menggunakan use case diagram dapat dilihat pada gambar dibawah. Pada gambar dibawah, user adalah admin sitem penjadwalan. 3.2 Activity Diagram Gambar 3.1: Use case diagram sistem penjadwalan perkuliahan Rancangan sistem penjadwalan perkuliahan menggunakan activity diagram dapat dilihat pada gambar dibawah.
Gambar 3.2: Activity diagram penjadwalan genetika 3.3 Class Diagram Rancangan model sistem penjadwalan perkuliahan menggunakan class diagram dapat dilihat pada gambar dibawah Gambar 3.3: Class diagram sistem penjadwalan perkuliahan 3.4 Perancangan Data Perancangan data merupakan tahapan untuk memetakan model konseptual ke model data yang akan digunakan. Perancangan data terbagi menjadi dua yaitu skema relasi dan struktur tabel. Di dalam pembuatan aplikasi penjadwalan mata kuliah dan praktikum, database sangat diperlukan. Karena untuk menyusun jadwal mata kuliah dan praktikum, penulis membutuhkan komponen data penjadwalan kuliah dan praktikum yang disimpan dalam bentuk database. Pada tahap ini entitas entitas yang terlibat dalam sistem penjadwalan dimodelkan dalam bentuk tabel dimana tabel tabel tersebut digunakan untuk menyimpan data entitas. Dibawah ini merupakan gambar relasi antar tabel data.
Gambar 3.4: Tabel relasi penjadwalan matakuliah 4. HASIL DAN PEMBAHASAN 4.1 Pembahasan Hasil pengujian kinerja sistem sebanyak dua belas kali dengan memberikan jumlah individu awal dan jumlah generasi yang berbeda untuk setiap percobaannya dapat dilihat pada Tabel 4.1..
Jumlah individu Jumlah generasi Rata rata fitness 10 500 57.0 700 36.0 1000 31.0 20 500 31.0 700 31.0 1000 23.0 30 500 16.0 700 15.0 1000 8.0 40 500 4.0 700 2.0 1000 0.0 Tabel 4.1 Pengujian parameter genetika Berdasarkan Tabel 4.1. dapat digambarkan hubungan antara jumlah individu, jumlah generasi, dan nilai fitness rata-rata seperti pada Gambar 4.1. Gambar 4.1: Grafik Hubungan Individu, Generasi, dan Fitness Berdasarkan gambar 4.1, dapat dilihat bahwa jumlah dari individu awal dan generasi mempengaruhi nilai fungsi fitness. Semakin besar jumlah individu awal yang diberikan maka semakin besar ukuran populasi dimana akan semakin banyak individu yang dihasilkan. Dengan semakin banyak individu yang dihasilkan, maka semakin besar juga kemungkinan perubahan nilai fitness mendekati nilai fitness yang terbaik. Berdasarkan Gambar 4.1. juga dapat dilihat bahwa semakin besar jumlah generasi yang diberikan, maka semakin besar peluang untuk memperoleh individu yang terbaik dengan nilai
fitness mendekati 0 atau sama dengan 0. Individu yang terbaik dapat ditentukan dengan individu yang memiliki nilai fitness terkecil. Jadwal yang dihasilkan oleh algoritma genetika merupakan jadwal yang ideal dimana semua konstrain terpenuhi. Pada halaman statistik admin dapat dengan mudah melakukan pengecekan jadwal secara visual. Tampilan halaman statistic dapat dilihat pada gambar dibawah. Gambar 4.2: Halaman Statistik dengan filter ruangan. 5. KESIMPULAN Setelah dilakukan analisa dan pengujian pada sistem yang telah dibuat, penulis dapat mengambil kesimpulan sebagai berikut : 1. Masalah penyusunan jadwal perkuliahan yang ideal dapat diselesaikan menggunakan algoritma genetika dengan merepresentasikan kelas, ruang, dan waktu sebagai kromosom. 2. Waktu penyusunan jadwal kuliah bervariasi walaupun dengan data yang sama. Hal tersebut karena algoritma genetika melakukan inisiasi data pada individu secara random. Dengan demikian data individu yang dihasilkan akan berbeda dari hasil sebelumnya sehingga menghasilkan nilai fitness yang bervariasi pada setiap proses. 3. Jadwal yang dihasilkan dapat memenuhi semua konstrain yang telah ditentukan. Semkin banyak konstrain maka semakin lama proses generate jadwal kuliah. 6. SARAN
Beberapa saran pengembangan yang dapat dipertimbangkan untuk menyempurnakan sistem yang telah dibuat, antara lain : 1. Perlu dilakukan analisis pada algoritma penyusunan kelas secara otomatis untuk mempersingkat code dan membuatnya lebih mudah dipahami. 2. Interface sistem perlu disempurnakan terutama pada halaman edit data. Saran penulis adalah mengganti section edit data dengan form pop-up sehingga tidak perlu pindah halaman saat melakukan edit data. 3. Perlu dilakukan analisi dan desain algoritma untuk beberapa konstrain tambahan seperti, jadwal pekuliah teridistribusi secara merata setiap harinya. Jadwal kuliah yang terlalu memadat pada hari tertentu akan menimpulkan efek samping, seperti sesaknya lahan parker pada hari tertentu. UCAPAN TERIMA KASIH Penulis mengucapkan terima kasih kepada Dr. Ir. Edi Noersasongko, M.Kom, selaku Rektor Universitas Dian Nuswantoro Semarang. Dr. Abdul Syukur, selaku Dekan Fakultas Ilmu Komputer Universitas Dian Nuswantoro. Heru Agus Santoso, Ph.D, selaku Ketua Program Studi Teknik Informatika-S1. Ifan Rizqa, M.Kom, selaku pembimbing tugas akhir yang memberikan masukan dan arahan kepada penulis saat melakukan penelitian maupun dalam penulisan dan menyelesaikan tugas akhir ini. Ayah, Ibu, Kakak, dan Adik yang tidak pernah lelah memberikan dukungan, doa, serta dorongan kepada penulis untuk tetap berusaha dan pantang menyerah dalam mengerjakan tugas akhir ini. Teman-teman kerja di Port Cities Indonesia dan teman-teman kod bu rini yang telah memberikan dukungan, kritik maupun saran kepada penulis. DAFTAR PUSTAKA [1] Sam ani. 2012. Rancang Bangun Sistem Penjadwalan Perkuliahan dan Ujian Akhir Semester dengan Pendekatan Algoritma Genetika. Skripsi. Semarang, Indonesia:Universitas Diponegoro. [2] Handayani,Rury.2006. Perancangan Algoritma Genetika untuk Optimasi Jadwal Mata Kuliah pada Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatra Utara. Skripsi. Medan, Indonesia: Universitas Sumatera Utara. [3] Setemen Komang. Implementasi Algoritma Genetika Dalam Pengembangan Sistem Aplikasi Penjadwalan Kuliah.Jurusan Manajemen InformatikaFakultas Teknik dan Kejuruan. Universitas Pedidikan Ganesha [4] Sihombing,Poltak.2010.KeywordCompetition Approach In Ranked Document Retrieval. Desertasi. Malaysia: Universitas Sains Malaysia. [5] Handayani,Rury.2006. Perancangan Algoritma Genetika untuk Optimasi Jadwal Mata Kuliah pada Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatra Utara.Skripsi. Medan, Indonesia: Universitas Sumatera Utara.
[6] Aria, Muhammad. Aplikasi algoritma genetik untuk optimasi penjadwalan mata kuliah. Dalam Majalah Ilmiah Unikom, Vol 6: hal. 17-25. Bandung,Indonesia: Universitas Komputer Indonesia. [7] Suparno.2013. Model penjadwalan moving class menggunakan metode algoritma genetika untuk mendukung kemandirian mahasiswa.skripsi. Semarang, Indonesia: Universitas Dian Nuswantoro.