KUPANG,
PERANCANGAN PENJADWALAN KULIAH STIKOM UYELINDO DENGAN ALGORITMA GENETIK
M.I.J. Lamabelawa1, Bruno Sukarto2
1Program Studi Teknik Informatika, STIKOM Uyelindo Kupang
Jl. Perintis Kemerdekaan 1, Kayu Putih, Kupang e-mail: mijlamabelawa@gmail.com
2Program Studi Teknik Informatika, STIKOM Uyelindo Kupang
Jl. Perintis Kemerdekaan 1, Kayu Putih, Kupang e-mail:bsukarto@gmail.com
ABSTRACT
The lectures scheduling, known as timetabling problems, in STIKOM Uyelindo currently using the spreadsheet that integrates the schedule of all study programs. The spreadsheet technique has not been fully optimized, because the scheduling problems are complex. It takes a lot of resources and constraints to produce the optimum scheduling. The problem of resources is we have to combine the offered subjects, the available lecturers, the rooms, laboratories, time, and college. The hard constraints related to the relationship between lecturers and the subjects, classroom, laboratory room, availability of courses, and time availability.
Soft constraints relating to the relationship between variables such as total teaching in 1 week, the total number of subjects scheduled in a day, the number of courses offered, the total number of credit tought by one lecturer in a week. This paper discusses how the genetic algorithm can optimize the schedule with the objective of maximizing the number of classrooms used. Genetic algorithm is one of the very precise algorithm in solving a complex optimization problems, which so difficult for conventional methods. Designing using genetic algorithm is expected to be implemented in the next stage of research.
KUPANG, 1. PENDAHULUAN
STIKOM Uyelindo Kupang terdiri dari 3
Program Studi yaitu: Sistem Informasi S1, Teknik Informatika S1, dan Teknik Informatika D3.
Program Studi tersebut memiliki sistem
penjadwalan kuliah yang terintegrasi. Penjadwalan kuliah yang diterapkan saat ini dengan program spreadsheet berdasarkan pembagian beban ajar dosen, kapasitas ruang kelas, kapasitas laboratorium komputer, jumlah jam ajar, dan jumlah peminat mata kuliah.
Sistem penjadwalan yang baik akan membantu mengurangi ketidakseimbangan dalam pembagian beban ajar, tidak meratanya jam mengajar, dan jumlah jam kuliah mahasiswa. Berdasarkan hasil
pengamatan, kondisi yang ditemukan adalah
keterbatasan ruang kuliah dan laboratorium
komputer. Beberapa permasalahan penjadwalan
yang tidak seimbang adalah ada dosen yang mengajar lebih dari 4 kali dalam sehari, dalam sehari mahasiswa kuliah 4 kali secara berurutan, ataupun kuliah lebih dari 3 kali. Pengaturan jadwal membutuhkan waktu untuk memeriksa batasan konstrain seperti dosen tidak boleh mengajar pada jam yang sama di kelas berbeda, jadwal mahasiswa tidak boleh lebih dari satu kelas pada jam yang
sama. Banyaknya konstrain yang berpengaruh
terhadap pembuatan jadwal menyebabkan
perhitungan dengan hard computing akan tidak akurat dan bisa jadi tidak optimal.
Metode lain dalam ilmu komputer yang dikenal adalah metode soft computing. Metode ini mampu mengolah informasi seperti cara berpikir manusia, mempunyai kemampuan menyelesaikan masalah yang tidak pasti, model matematis non-linear dan kebenaran parsial. Metode ini dikenal sangat handal
dalam menyelesaikan sistem yang memiliki
konstrain yang banyak. Salah satu metodenya dikenal dengan algoritma genetik. Algoritma ini mampu memecahkan banyak masalah yang relatif
kompleks seperti masalah penjadwalan
(scheduling)[1].
Pertanyaan yang harus dijawab pada penelitian
ini adalah bagaimana memodelkan sistem
penjadwalan kuliah di STIKOM Uyelindo Kupang dengan menguraikan kendala-kendala menggunakan algoritma genetik. Model yang dikembangkan
diharapkan dapat diimplementasikan untuk
mengatasi permasalahan penjadwalan.
2. METODE PENELITIAN
Pada bab ini dijelaskan tinjauan pustaka terdahulu dan teori-teori yang digunakan dalam penelitian, dan langkah-langkah penelitian.
2.1 Penelitian Terdahulu
Penelitian terdahulu yang menjadi rujukan adalah Penelitian yang dilakukan oleh [2] tentang sistem penjadwalan perkuliahan yang dirancang
mengikuti sistem dimana bagian administrasi melakukan pemasukan data nama-nama mata kuliah yang akan dijadwalkan beserta besar sistem kredit semesternya(sks), ketersediaan ruangan yang akan digunakan, ketersediaan waktu dosen untuk mengajar, ketersediaan dosen untuk mengajar suatu matakuliah. Secara otomatis sistem melakukan pencarian penjadualan terbaik dengan batasan: 1. Jika ada dua jenis matakuliah yaitu matakuliah
tatap muka dan laboratorium, maka masing-masing mata kuliah tatap muka dan laboratorium dianggap sebagai matakuliah yang berbeda. 2. Maksimum sks tatap muka untuk satu mata
kuliah adalah 3 yang terjadual satu kali dalam satu minggu selama 150 menit.
3. Sistem berlaku hanya untuk satu kelas.
Pada penelitian oleh [3] ini dilakukan
pengembangan aspek-aspek perkuliahan yang
menjadi parameter penjadwalan sebagai acuan
dalam menilai suatu susunan jadwal yang ideal. Aspek-aspek tersebut diantaranya, tidak boleh ada jadwal mengajar dosen yang bentrok, tidak boleh ada kelas yang bentrok, tidak boleh ada perkuliahan pada jam larangan perkuliahan, adanya dosen yang memiliki jam-jam tidak bisa mengajar, adanya pembagian ruangan untuk masing-masing mata kuliah, dan lain sebagainya. Untuk mengoptimalkan penjadwalan mata kuliah yang ada digunakan kombinasi algoritma genetik dan tabu search.
Kesimpulan penelitian oleh [3] adalah dengan adanya penelitian ini, maka penjadwalan mata kuliah akan menjadi lebih mudah dan solusi penjadwalan yang ditemukan dapat menjadi solusi rekomendasi yang merupakan solusi optimal dari semua pilihan kandidat solusi yang muncul setelah dievaluasi kualitasnya (fitness) berdasarkan kriteria-kriteria penjadwalan yang telah ditentukan. Selanjutnya kombinasi algoritma genetik dan tabu search dilakukan dengan cara memasukkan sifat-sifat tertentu dari satu algoritma untuk menggantikan sifat tertentu dari algoritma lainnya. Dalam hal ini, pada pembangkitan kandidat solusi dalam satu populasi yang pada algoritma genetik menggunakan metode seleksi, digunakan metode ketetanggan dari algoritma tabu search. Solusi awal yang digunakan adalah solusi tunggal, bukan kumpulan solusi.
KUPANG,
pada semester yang sama tidak boleh dijadwalkan tidak termasuk dalam menentukan nilai fitness karena mereka telah menjadi kebutuhan dalam penjadwalan. Hasil penelitian terlihat bahwa waktu yang dibutuhkan untuk jadwal semester tertentu, tidak hanya ditentukan oleh parameter genetika tetapi ditentukan oleh nilai fitness dari jadwal yang sudah konvergen dan jumlah individu yang meningkat pada sebuah populasi. Kesimpulan dari penelitian ini adalah:
1) penelitian telah berhasil mengimplementasikan algoritma genetika pada aplikasi sistem penjadwalan mata kuliah berbasis web.
2) Aplikasi menghasilkan jadwal yang sesuai atau tidak ada mata kuliah yang bentrok, yaitu nilai fitnessnya 0, jika parameter genetika terhadap populasi besar. Parameter generasi yang besar tetapi jumlah populasi yang lebih sedikit cenderung menghasilkan jadwal perkuliahan yang masih terdapat mata kuliah yang bentrok. Untuk parameter genetika yang sama bisa saja terjadi nilai fitness dihasilkan berbeda.
3) Nilai parameter genetika yang diberikan tidak selalu berbanding lurus dengan waktu yang dibutuhkan aplikasi dalam menghasilkan jadwal mata kuliah, tetapi dapat ditentukan oleh nilai fitness yang dihasilkan oleh individu. Pada uji coba ke-3 dan ke-4 nilai parameter genetika yang sama, tetapi waktu yang dibutuhkan pada uji coba ke-3 lebih kecil dari pada uji coba ke-4.
Berdasarkan tinjauan penelitian yang telah dilakukan sebelumnya, penelitian yang dilakukan dengan mengambil studi kasus di STIKOM Uyelindo Kupang merupakan kasus yang baru dengan analisis algoritma genetik klasik.
2.2 Algoritma Genetika
Algoritma genetika pertama kali dikembangkan oleh John Holland dari Universitas Michigan tahun 1975. John Holland mengatakan bahwa setiap masalah yang berbentuk adaptasi baik yang alami
maupun buatan dapat diformulasikan dalam
terminologi genetika. Sebelum memanfaatkan algoritma genetika, hal yang harus dilakukan adalah menyandikan solusi dari masalah yang diberikan ke dalam kromosom pada algoritma genetika dan
membandingkan nilai fitnessnya. Sebuah
representasi algoritma genetika yang efektif dan
nilai fitness yang bermakna adalah kunci
keberhasilan dalam aplikasi genetika [4].
Dalam [3] algoritma genetik diinisialisasi dengan membangkitkan sejumlah individu sebagai anggota populasi, secara acak atau berdasarkan suatu pengetahuan tertentu. Jumlah individu dalam populasi tersebut selalu tetap selama proses evolusi. Setiap individu memiliki hanya satu kromosom yang merupakan representasi dari solusi dengan panjang yang tetap selama proses evolusi. Artinya, jumlah
gen dalam setiap kromosom tidak akan bertambah atau berkurang selama proses evolusi. Kromosom dapat direpresentasikan dalam kode biner ataupun bilangan bulat (integers).
Pada tahapan selanjutnya, setiap kromosom dievaluasi berdasarkan suatu fungsi evaluasi untuk memperoleh nilai fitness. Nilai-nilai fitness
digunakan sebagai parameter pemilihan populasi baru yang disebut orang tua. Prinsipnya pemilihan bersifat proporsional terhadap nilai fitness. Artinya, kromosom dengan nilai fitness yang lebih besar akan memiliki peluang yang lebih besar juga untuk terpilih sebagai orangtua. Selanjutnya kromosom orang tua direkombinasi dengan metode tertentu untuk menghasilkan dua kromosom baru (anak)[3].
2.3 Prosedur Umum Algoritma Genetik
Algoritma Genetik (AG) dalam [5] memiliki 5 komponen dasar yang disimpulkan sebagai berikut: 1. Algoritma genetik merepresentasikan solusi
untuk setiap masalah.
2. Suatu teknik untuk inisialiasi populasi. 3. Evaluasi rating solusi dengan nilai fitness.
4. Operator-operator genetik yang mengubah
komposisi genetik orang tua menjadi anak. 5. Nilai-nilai untuk parameter dari AG.
Algoritma genetik menjaga suatu populasi dari individu-individu yang disebut P(t) untuk generasi t. Masing-masing individu merepresentasikan solusi yang potensial untuk setiap masalah yang terjadi.
Masing-masing individu dievaluasi untuk
memberikan beberapa nilai yang disebut fitness. Beberapa individu menjalani transformasi stochastic
dalam arti untuk operasi genetik yang
ditujukanuntuk membentuk individu-individu baru. Ada 2 tipe transformasi adalah mutasi, yang mana
menghasilkan individu-individu baru dengan
menukar individu tunggal, dan crossover, yang mana
menghasilkan individu baru dengan
mengkombinasikan bagian-bagian dari 2 individu. Individu baru disebut offspring C(t) yang merupakan hasil dari evaluasi[5]. Prosedur AG dalam [5]
while (not termination condition) do begin
recombine P(t) to yield C(t) evaluate C(t)
select P(t + 1) from P(t) and C(t) ;
KUPANG, 2.4 Langkah-Langkah Algoritma Genetik
Langkah-langkah algoritma genetika adalah:
1) Pengkodean dan representasi
Pada tahap ini seperti [3],[6] dibuat pengkodean (encoding) calon solusi dan set-up beberapa parameter awal jumlah individu, probabilitas penyilangan dan mutasi, dan jumlah generasi maksimum. Selanjutnya dibuat populasi acak sebanyak n kromosom. Inisialisasi n kromosom direpresentasikan dalam bentuk larik dengan tipe data record yang berisi data yang mendukung proses penjadwalan. Panjang dari kromosom adalah sebanyak gen yang ada, dalam hal ini setiap gen mewakili mata kuliah yang ditawarkan.
2) Evaluasi fungsi fitness
Pada tahap ini dilakukan evaluasi fitness dari tiap kromosom yang terdapat dalam populasi. Fungsi
fitness adalah fungsi yang akan mengukur tingkat
kebugaran suatu kromosom dalam populasi.
Semakin besar nilai fitness, semakin baik pula kromosom dalam populasi sehingga semakin besar kemungkinan kromosom tersebut dapat tetap bertahan pada generasi berikutnya. Perhitungan dilakukan dengan memberikan pinalti untuk setiap aturan yang digunakan dalam penjadwalan. Semakin wajib aturan dilaksanakan, maka akan semakin besar nilai pinalti yang diberikan. Aturan penghitungan fungsi fitness seperti pada [6] sebagai berikut:
Fitness = (1)
Berdasarkan Persamaan (3) diatas, nilai fitness ditentukan oleh pinalti, Pinalti menunjukkan jumlah pelanggaran kendala pada suatu kromosom. Makin tinggi nilai fitness akan semaki besar kemungkinan kromosom tersebut akan terpilih ke generasi berikutnya, Jadi nilai pinalti berbanding terbalik dengan nilai finess, semakin kecil nilai pinalti
(jumlah pelanggaran) semakin besar nilai
fitnessnya.
3) Seleksi kromosom
Seleksi adalah proses pemilihan beberapa kromosom untuk dijadikan sebagai kromosom induk bagi generasi berikutnya. Setelah populasi awal terbentuk, setiap kromosom dalam populasi dievaluasi dengan menghitung nilai fungsi fitness-nya. Kromosom terpilih untuk masing-masing
populasi di dalam generasi yang berikutnya berdasarkan nilai fitness. Kromosom hasil evaluasi dipilih dari sejumlah n individu yang memiliki nilai
fitness terbaik.
4) Membuat Polulasi Baru
Pada tahap ini dibuat populasi baru dengan mengulang langkah berikut sampai ukuran populasi terpenuhi seperti yang dilakukan oleh [2]:
a. Pilih dua kromosom dari populasi berdasarkan nilai fitness (semakin baik fitnessnya, semakin besar kesempatan untuk terpilih).
b. Berdasarkan peluang pindah silang (crossover
probability), lakukan pindah silang terhadap
induk untuk membentuk keturunan baru. Jika tidak ada pindah silang yang dilakukan, keturunan baru adalah salinan dari induknya. c. Berdasarkan peluang mutasi (mutation rate),
lakukan mutasi terhadap keturunan baru. d. Tempatkan keturunan pada populasi yang baru.
a) Penyilangan (crossover)
Setelah proses penyeleksian kromosom, langkah berikutnya adalah melakukan penyilangan terhadap pasangan-pasangan kromosom seperti pada [2]. Penyilangan dikenal sebagai operator penggabungan ulang (recombination) yang paling utama dalam algoritma genetika. Penyilangan akan menukar informasi genetik antara dua kromosom induk yang terpilih dari proses seleksi untuk membentuk dua anak. Operator penyilangan bekerja pada sepasang
kromosom induk untuk menghasilkan dua
kromosom anak dengan menukarkan beberapa
elemen (gen) yang dimiliki masing-masing
kromosom induk. Peluang penyilangan (Pc) adalah rasio antara jumlah kromosom yang diharapkan mengalami penyilangan dalam setiap generasi dengan jumlah kromosom total dalam populasi. Nilai Pc biasanya cukup tinggi (berkisar antara 0,6–
1). Proses penyilangan akan terjadi pada sepasang kromosom jika suatu bilangan yang dibangkitkan secara acak (r), 0 < r < 1, nilainya kurang dari atau
sama dengan Pc. Bilangan acak tersebut
dibangkitkan setiap kali akan menyilangkan sepasang kromosom. Tingkat penyilangan yang tinggi menyebabkan semakin besar kemungkinan algoritma genetika mengeksplorasi ruang pencarian
sekaligus mempercepat ditemukannya solusi
optimum. Peluang penyilangan yang tepat dan efektif hanya dapat diketahui melalui pengujian khusus terhadap masalah yang bersangkutan.
b) Mutasi Kromosom
Operasi mutasi sangat penting apabila nilai
fitness kromosom dalam populasi cenderung sama
atau sudah mencapai konvergen bias (premature
convergen). Akibatnya, operator seleksi akan
KUPANG,
operator mutasi, struktur suatu kromosom dapat dimodifikasi agar dihasilkan kromosom dengan struktur baru yang memiliki nilai fitness lebih baik.
Mutasi umumnya digunakan untuk mencegah tidak adanya kehilangan informasi sehingga dilaksanakan dengan pertukaran informasi di dalam
kromosom. Operator mutasi dapat bersifat
konstruktif maupun destruktif terhadap suatu kromosom, tetapi karena probabilitasnya yang kecil maka terjadinya mutasi akan sangat kecil karena didominasi oleh operator penyilangan. Peluang mutasi (Pm) adalah rasio antara jumlah gen yang diharapkan mengalami mutasi pada setiap generasi dengan jumlah gen total dalam populasi. Nilai Pm yang digunakan biasanya sangat kecil (berkisar antara 0,001 –0,2). Proses mutasi akan terjadi pada
suatu gen, jika suatu bilangan yang dibangkitkan secara acak r, 0 < r < 1, nilainya kurang dari atau sama dengan Pm.
5) Kriteria Berhenti
Jika kondisi akhir terpenuhi, langkah
Algoritma Genetik berhenti dan hasil akhirnya adalah solusi terbaik pada populasi saat ini. Jika kondisi akhir belum terpenuhi, maka ulangi mulai dari langkah nomor dua.
2.5 Sistem Perkuliahan
Pengkodean yang digunakan pada penjadwalan perkuliahan adalah pengkodean nilai. Pemilihan pengkodean nilai karena jika dilakukan pengkodean biner akan membuat barisan bit semakin kompleks, dimana suatu barisan bit yang panjang sehingga diperlukan pengkodean ulang untuk mendapatkan nilai sebenarnya dari aturan yang direpresentasikan. Mahasiswa tidak dimasukkan dalam pengkodean kromosom, karena mahasiswa diberi kebebasan untuk memilih mata kuliah yang ditawarkan. Pemberian tugas mengajar suatu mata kuliah kepada dosen telah dilakukan sebelum pembuatan jadwal. Secara sederhana, jika tidak ada dosen yang mengajar suatu mata kuliah maka mata kuliah tersebut tidak ditawarkan. Pada kasus penjadwalan
dengan model genetika ditujukan untuk
mendapatkan kombinasi yang tepat antara variabel dosen, waktu, dan ruang yang tidak saling konflik. Semakin banyak iterasi yang dilakukan, maka waktu yang dibutuhkan akan semakin lama. Aturan
Perkuliahan di STIKOM Uyelindo diuaraikan
sebagai berikut:
1) Dosen aktif mengajar di STIKOM Uyelindo kupang, kampus A berjumlah 40 dosen. 2) Ruangan kuliah teori ada 7 ruangan yang
terdiri dari B 202, B 203, B 204, B 303, B 304, B 403, B 404.
3) Ruangan Laboratorium komputer terdiri dari B 201, B 301, B 302, B 305, B 401, B 402, B 405 berjumlah 7 Lab.
4) Jumlah Mata Kuliah(MK) Prodi Sistem
Informasi ditawarkan pada semester ganjil berjumlah 42 terdiri dari 16 MK praktek dan 24 MK teori, serta 2 MK tidak dijadwalkan yaitu PKL dan skripsi. Semester 1 ada 11 MK terdiri dari 7 MK Teori dan 4 MK praktek. Semester 3 ada 11 MK terdiri dari 8 MK teori dan 3 MK praktek. Semester 5 ada 10 MK, ada 5 MK teori dan 5 MK praktek. Semester 7 ada 8 MK, ada 4 MK teori dan 4 MK praktek. Jumlah kelas setiap semester ada 4, jadi total ada 160.
5) Jumlah Mata Kuliah(MK) Prodi Teknik
Informatika ditawarkan pada semester ganjil berjumlah 38 terdiri dari 18 MK praktek dan 18 MK teori, serta 2 MK tidak dijadwalkan yaitu PKL dan skripsi. Semester 1 ada 11 MK terdiri dari 7 MK Teori dan 4 MK praktek. Semester 3 ada 10 MK terdiri dari 5 MK teori dan 5 MK praktek. Semester 5 ada 10 MK, ada 5 MK teori dan 5 MK praktek. Semester 7 ada 5 MK, ada 4 MK teori dan 1 MK praktek. Jumlah kelas setiap semester ada 6, jadi total ada 216.
6) Jumlah Mata Kuliah(MK) Prodi Teknik
Informatika D3 ditawarkan pada semester ganjil berjumlah 28 terdiri dari 9 MK praktek dan 19 MK teori. Semester 1 ada 11 MK terdiri dari 9 MK Teori dan 2 MK praktek. Semester 3 ada 9 MK terdiri dari 5 MK teori dan 4 MK praktek. Semester 5 ada 8 MK, ada 5 MK teori dan 3 MK praktek. Jumlah kelas setiap semester ada 1, jadi total ada 28.
7) Jumlah kelas dalam semester semester ganjil atau jumlah kelas setiap minggu adalah 404.
8) Alokasi waktu perkuliahan yang dijadwalkan setiap hari ada 6 yakni: 07:00-09:00,
09:00-11:00, 11:00-13:00, 13:00-15:00,
15:00-17:00,17:00-19:00. Jumlah alokasi waktu dalam 1 minggu adalah 5 dikalikan 5 hari kerja (senin-jumat), jadi total 30 slot waktu perminggu. Selanjutnya dijelaskan aturan dan nilai pinalti sebagai berikut:
1) Sudah ada kelas yang sama, mata kuliah yang sama, pada hari yang sama.
2) Terdapat kelas yang sama, jumah sks yang sama pada mata kuliah yang sama tetapi memiliki dosen yang berbeda.
3) Sudah ada kelas lain untuk waktu yang sama, hari yang sama, dan ruang yang sama.
4) Sudah ada kelas lain untuk waktu yang sama, hari yang sama, dan kelas yang sama.
5) Sudah ada kelas lain untuk waktu yang sama, hari yang sama, dosen yang sama, dan mata kuliah yang sama.
6) Sudah ada kelas lain untuk waktu yang sama, hari yang sama dan dosen yang sama.
2.6 Prosedur Penelitian
KUPANG, A. Tempat Penelitian
Penelitian dilakukan pada STIKOM Uyelindo Kupang, bagian Penjadwalan kuliah, BAAK.
B. Populasi dan Sampel
Pada penelitian ini populasi adalah Sistem Penjadwalan semesteran. Sampel data yang diambil adalah penjadwalan yang berlaku pada Tahun akademik 2014/2015.
C. Mekanisme Penjadwalan
Mekanisme penjadwalan seperti [2] di STIKOM Uyelindo Kupang dimulai dengan membangkitkan satu populasi awal yang terdiri dari sejumlah kromosom. Algoritma sistem penjadwalan diuraikan berikut ini dan flowchart pada Gambar 2.1.
1) Inisialisasi dan bangkitkan populasi awal sejumlah P kromosom dan hitung nilai fitness setiap kromosom.
2) Lakukan seleksi kromosom induk sebanyak Q buah dengan nilai probabilitas crossover adalah
Pc. Nilai Q adalah Q=Pc*P.
3) Lakukan mutasi gen sebanyak M dengan nilai probabilitas mutasinya Pm. Nilai M=Pm* P * 30.
4) Ulangi langkah 2 dan 3 sampai menemukan generasi optimal yang diharapkan.
5) Pilih kromosom dengan nilai fitness terbaik yang merupakan jadwal yang terbaik.
Mulai
BANGKITKAN POPULASI AWAL
SELEKSI
REKOMBINASI
MUTASI
Apakah jadwal sudah Optimal?
Jadwal yang Optimal ya
Selesai
BANGKITKAN POPULASI
BARU
tidak
Gambar 2.1 Sistem Penjadwalan dengan AG
D. Langkah-Langkah Perancangan AG
Prosedur perancangan algoritma sistem
penjadwalan di STIKOM Uyelindo sebagai berikut:
1) Pengkodean Kromosom
Satu jadwal perkuliahan yang berlaku terdiri dari 30 slot waktu perminggu dengan 5 hari kerja dari Senin sampai Jumat. Satu hari kerja terdiri dari 6 slot waktu yang dimulai dari jam 7.00 dan berakhir jam 19.00, dimana satu slot waktu terdiri dari 2 Jam. Jadi totalnya satu jadwal terdiri dari 30 bit biner untuk 5 hari kerja. Setiap slot itu terdiri dari 10 digit angka. Rincian slot terdiri dari:
a) Dua digit pertama adalah kode matakuliah. Kode Mata kuliah dimulai dari 1 - 50.
b) Dua digit berikut menyatakan mata teori atau praktek dan prodi. MK teori :1, MK praktek:0 dan Prodi SIS1=1;Prodi TIS1=2;Prodi TID3=3. c) Dua digit berikut menyatakan SKS dan
Semester. Kode SKS:2,3,4,6, dan kode semester: 1,3,5,7 atau kode semester: 2,4,6,8.
d) Dua digit berikut adalah kode dosen. Kode dosen terdiri dari 1-50.
e) Dua digit berikut adalah kode ruang. Kode ruang terdiri dari 1-7 untuk Lab, 8-15 ruang teori.
Slot tersebut menyatakan mata kuliah apa yang diajar oleh dosen siapa dan menempati ruang yang mana. Oleh karena itu Slot waktu bernilai 1 apabila ke 10 digit memenuhi batasan sistem, artinya jika kode mata kuliah dengan kode dosennya dapat memenuhi persyaratan pada hubungan dosen dengan matakuliah serta kode ruangan pada slot itu kosong maka pada slot itu bernilai 1 selain itu maka slot bernilai 0. Gambar 2.2 menunjukkan kromosom awal dan Gambar 2.3 kromosom biner
slot/kr 1 2 … 30 fit
K1 1112111011 2102212006 … 2113111510 25
…..
Ktop 2102212006 2113111510 … 1112111011 28
Gambar 2.2 Bentuk Kromosom awal
slot/kr 1 2 … 30 fit
K1 1 0 … 1 25
…..
Ktop 0 1 … 1 28
Gambar 2.3 Bentuk kromosom dalam biner
Pembentukan kromosom dapat dirumuskan
dalam algoritma dimana 1 kromosom
merepresentasikan satu jadwal perkuliahan untuk semua Prodi, mengikuti sistem pengkodean diatas maka satu kromosom terdiri dari 30 bit biner. Algoritma pembentukan kromosom sebagai berikut: a) Bangkitkan bilangan random 6 digit dan petakan
bilangan random itu ke kode mata kuliah dan tentukan kode yang bersesuaian dengan MK teori/praktek, asal prodi, semester, dan sksnya . b) Bangkitkan bilangan random 2 digit dan petakan
ke kode dosen dan tentukan kode yang
KUPANG,
c) Bangkitkan bilangan random 2 digit dan petakan ke kode ruangan yang bersesuaian. Gabungkan kode-kode diatas jadi 10 digit angka.
d) Berikan nilai slot waktu jadwal sama dengan 1, apabila kode 10 digit angka memenuhi batasan sistem selain itu berikan nilai slot = 0.
e) Iterasi diulangi sampai ke slot 30 terisi
Langkah 1 hingga 4 dilakukan untuk mendapatkan 10 digit angka yang terdiri dari kode matakuliah, kode dosen dan kode ruangan. Langkah ke 5 untuk menentukan apakah slot waktu jadwal pada saat itu valid atau tidak. Slot waktu jadwal valid dengan 1. Jumlah sks terjadwal harus tidak lebih besar dari nilai yang dinyatakan pada field jumlah sks maksimum. Field pada tabel ruang yang berubah adalah field slot. Nilai field ini menjadi sama dengan slot waktu terjadwal yang menandakan bahwa ruang itu telah terisi.
2) Menentukan fungsi fitness dan evaluasi
Penentuan nilai fitness setiap individu dilakukan dengan menghitung jumlah slot waktu tak jadwal atau pinalti seperti Perumusan (3). Sebagai contoh Kromosom 1 pada Gambar 2.3 memiliki slot terjadwal 25 berarti ada 5 yang pinalti dan Ktop adalah 28 berarti ada 2 pinalti, maka nilai fitnessnya adalah:
= 1/6 = 0.1667
= 1/3 = 0.3333
Maka Fitness Ktopadalah yang terbaik.
3) Seleksi Kromosom baru
Populasi awal dibentuk dengan membangkitkan sejumlah kromosom sebanyak P sebanyak ukuran populasi dengan melakukan pengulangan algoritma pembentukan kromosom sebanyak P kali. Metoda seleksi yang digunakan adalah roda roulette. Metoda ini merupakan metoda seleksi yang paling sering digunakan karena proses seleksi yang sederhana. Adapun algoritmanya untuk satu kali pemilihan adalah seperti pada [2] sebagai berikut:
a) Hitung total fitness (FT).
b) Hitung fitness relatif tiap kromosom (FR): c) FR(i) = Fitness(i)/FT
d) Hitung fitness kumulatif (FK)
e) Pilih kromosom induk dengan membangkitkan bilangan acak R. Kandidat kromosom induk terpilih adalah kromosom yang memiliki FKyang paling menekati R.
4) Membuat populasi baru
Membuat polulasi baru dilakukan dengan proses pindah silang dan mutasi.
a) Pindah silang
Rekombinasi(Crossover) dilakukan atas 2
kromosom untuk menghasilkan kromosom anak
(offspring). Kromosom anak yang terbentuk akan
mewarisi sebagian sifat kromosom induknya. Metode crossover yang paling sering digunakan dengan kromosom berbentuk string biner adalah
crossover satu titik (one point crossover). Pada
metode ini, pilih satu bilangan acak antara satu sampai jumlah gen dalam 1 kromosom untuk
menentukan posisi persilangan. Kemudian
ditukarkan bagian kanan titik potong dari kedua induk kromosom tersebut untuk menghasilkan kromosom anak. Selain gen kromosom biner, proses
crossover juga dilakukan pada gen kromosom
umumnya sesuai dengan data binernya. Proses satu kali crossover adalah sebagai berikut:
i. Tentukan dua buah kromosom induk dan bangkitkan satu bilangan random bulat S yang terletak diantara 1 sampai dengan jumlah gen 30.
ii. Semua gen pada kromosom induk yang nomor posisinya lebih kecil dari S menjadi gen pada kromosom anak ke-1 pada posisi yang sama. Gen pada kromosom ke-1 lainnya yang posisi gennya≥S) sama dengan gen pada kromosom
induk ke-2 pada posisi yang sama. Untuk gen pada kromosom anak ke-2 dilakukan seperti anak ke-1 seperti Gambar 2.4.
iii. Cek ulang gen kromosom anak ke-1 yang posisi≥ S bernilai 1. Harus dipastikan bahwa
gen biner yang bernilai 1 adalah juga benar untuk gen umumnya. Sebagai contoh gen umum kromosom anak ke-1 2102212006 yang posisinya ≥ S, diuji apakah valid, jika tidak
valid maka diubah menjadi valid.
iv. Lakukan langkah ke tiga untuk anak ke-2.
Kromosom Induk
K’1 1 1 0 1 0 0 … 1
21.. 11.. 05.. 26.. 31… 18… … 42…
K’2 1 0 1 1 0 1 … 1
03.. 15.. 25.. 36.. 41… 08… … 12…
Dengan S=3, anak hasil kromosom induk sbb:
K’’1 1 1 0 1 0 1 … 1
21.. 11.. 05.. 36.. 41… 08… … 12…
K’’2 1 0 1 1 0 0 … 1
03.. 15.. 25.. 26.. 31… 18… … 42…
Gambar 2.4 Proses dan hasil crossover single point
b) Mutasi
Mutasi yang digunakan adalah dengan teknik acak. Pada dasarnya akan mengubah secara acak nilai suatu gen pada posisi tertentu. Kemudian mengganti gen 1 dengan 0, atau mengganti gen 0 dengan 1. Gen
pada posisi dan pada kromosom yang mana
ditentukan dari bilangan acak yang dibangkitkan. Banyaknya bilangan acak yang dibangkitkan(M) sangat ditentukan dengan nilai probabilitas mutasi yang dipilih (PM). Selain gen biner pada proses
KUPANG,
dengan data binernya. Proses satu kali mutasi adalah sebagai berikut:
i. Bangkitkan bilangan acak M1 yang besarnya antara 1 sampai dengan K dimana K = P*30. ii. Dari M1, tentukan kromosom yang akan
mengalami mutasi dan tentukan gennya yang bermutasi. Kromosom yang bermutasi adalah yang ke i dimana i = 1 + (M1 div 30) dan gennya adalah gen yang ke j (j = M1mod 30). iii. Jika gen bernilai 1 maka ubah menjadi 0 dan
gen umumnya dikosongkan. Jika tidak maka gen binernya berubah menjadi 1. Gen umumnya diisi dengan mencari dosen dan matakuliah yang sesuai dengan waktu yang direpresentasikan dengan posisi gen itu.
5) Kriteria Berhenti
Pada sistem penjadwalan ini digunakan 2 kriteria berhenti dari iterasi yakni jumlah iterasi dan perbandingan nilai fitness dengan nilai fitness sebelumnya atau konvergensi.
3. HASIL DAN DISKUSI
Berdasarkan uraian-uraian sebelumnya,
perancangan penjadwalan kuliah dapat menjadi alternatif dalam membuat jadwal yang lebih optimal dan diimplementasikan ke mesin nyata.
4. SIMPULAN
Kesimpulan dari penelitian ini adalah:
1) Permasalahan penjadwalan kuliah yang
kompleks dapat diselesaikan dengan program
komputer khusunya dengan metode soft
computing.
2) Algoritma genetik dapat diterapkan dalam menganalisis permasalahan penjadwalan kuliah pada STIKOM Uyelindo Kupang.
3) Semakin banyak kendala atau konstrain maka
jumlah pengkodean dalam membentuk
kromosom genetik semakin besar.
PENGHARGAAN DAN TERIMA KASIH
Tulisan ini adalah merupakan penelitian awal dari rangkaian penelitian yang selanjutnya akan teruskan sampai pada tahap implementasi. Ucapan terima kasih kepada semua pihak yang sudah membantu dalam penelitian ini:
1) Mahasiswa yang telah memberikan data melalui tugas akhir antara lain: Victorianus M. Jeche, dan Maria Yasinta M. Nongo.
2) BAAK STIKOM Uyelindo Kupang.
3) Teman-teman dosen yang telah berdiskusi dan memberikan saran tentang penelitian.
4) Semua pihak yang tidak bisa disebutkan satu persatu disampaikan terima kasih.
DAFTAR PUSTAKA
[1] Karray, F.O dan DeSilva, C.,2004, Soft Computing and Intelligent Systems Design,
Pearson Education Limited, England.
[2] Lukas, S., Sutrisno., Lutfia, R., 2005, Perancangan Sistem Penjadualan Perkuliahan
Menggunakan Algoritma genetik, Jurnal
llmiah llmu Komputer, Universitas Pelita Harapan, Vol. 3 No. 3, 199-207.
[3] Fernando, E dan Pandapotan, S., 2013,
Implementasi Penggabungan Algoritma
Genetik Dan Paralel Tabu Search Dalam
Optimalisasi Penjadwalan Mata Kuliah,
Konferensi Nasional Sistem Informasi(KNSI) 2013, STMIK Bumigora, Mataram, 14-16
Februari 2013.
[4] Pardede, J dan Hermana, A.N, 2014, implementasi algoritma genetika pada sistem penjadwalan mata kuliah, Konferensi Nasional
Sistem Informasi(KNSI) 2014, STMIK Dipanegara, Makassar, 27 Februari -1 Maret 2014.
[5] Gen, M and Runwei Cheng, 2000, Genetic
Algorithms And Engineering Optimization,
John Wiley and Sons Inc, New York.
[6] Witary, V; Rachmat, N; Inayatullah, 2009, "Optimasi Penjadwalan Perkuliahan dengan Menggunakan Algoritma Genetika (Studi Kasus : AMIK MDP, STMIK GI MDP dan
STIE MDP)" , Jurnal Jurusan Teknik