PERANCANGAN PENJADWALAN KULIAH STIKOM UY

JURNAL HOAQ -TEKNOLOGI INFORMASI VOL. 3, NO. 1, MEI 2014

152

PERANCANGAN PENJADWALAN KULIAH STIKOM UYELINDO
DENGAN ALGORITMA GENETIK
M.I.J. Lamabelawa1, Bruno Sukarto 2
Program Studi Teknik Informatika, STIKOM Uyelindo Kupang
Jl. Perintis Kemerdekaan 1, Kayu Putih, Kupang
e-mail: mijlamabelawa@gmail.com

1

2

Program 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.

Kata kunci: timetabling, genetic algorithms, constrains, population, fitness function

Volume 3

Nomor 1 HAL. 152-237

KUPANG,
MEI 2014


ISSN: 2337-5280

JURNAL HOAQ -TEKNOLOGI INFORMASI VOL. 3, NO. 1, MEI 2014

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
Volume 3


153

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 masingmasing 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.
Penelitian selanjutnya dilakukan oleh [4] tentang
implementasi algoritma genetika pada sistem
penjadwalan mata kuliah. Pada penelitian ini,
perhitungan nilai fitness ditentukan oleh tiga faktor,
yaitu: kelas tidak boleh lebih kecil dari jumlah
siswa, di kelas yang sama tidak ada program yang
berlangsung pada waktu yang sama dengan
pelajaran prasyarat, dan guru tidak harus mengajar
lebih dari empat jam terus menerus. Pada saat yang
sama, guru tidak boleh mengajar di kelas yang
berbeda, ruang kelas tidak boleh digunakan lebih
dari satu mata pelajaran, dan kelas dan mata kuliah


Nomor 1 HAL. 152-248

KUPANG,
MEI 2014

ISSN: 2337-5280

JURNAL HOAQ -TEKNOLOGI INFORMASI VOL. 3, NO. 1, MEI 2014

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
Volume 3

154

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]
sebagai berikut:
Procedure: genetic algorithms
begin
initialize P(t)
evaluate P(t)
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)
;
end
end

Nomor 1 HAL. 152-237

KUPANG,
MEI 2014

ISSN: 2337-5280

JURNAL HOAQ -TEKNOLOGI INFORMASI VOL. 3, NO. 1, MEI 2014

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:

155

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.

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.

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.

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 fitnessnya. Kromosom terpilih untuk masing-masing

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
mengalami kesukaran memilih kromosom terbaik
untuk dilakukan penyilangan. Dengan adanya

Fitness =

(1)
(2)
(3)

dimana:
Bp = Bobot pelanggaran
Np = Indikator pelanggaran

Volume 3

Nomor 1 HAL. 152-237

KUPANG,
MEI 2014

ISSN: 2337-5280

JURNAL HOAQ -TEKNOLOGI INFORMASI VOL. 3, NO. 1, MEI 2014

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.

Volume 3

156

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:0011:00, 11:00-13:00, 13:00-15:00, 15:0017:00,17:00-19:00. Jumlah alokasi waktu dalam
1 minggu adalah 5 dikalikan 5 hari kerja (seninjumat), 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
Prosedur dan langkah-langkah penelitian
dijelaskan sebagai berikut:

Nomor 1 HAL. 152-237

KUPANG,
MEI 2014

ISSN: 2337-5280

JURNAL HOAQ -TEKNOLOGI INFORMASI VOL. 3, NO. 1, MEI 2014

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
BANGKITKAN
POPULASI
BARU
SELEKSI

157

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

K1

1112111011

Ktop

2102212006

2102212006
…..
2113111510

REKOMBINASI

fit

2113111510

25



1112111011

28



Gambar 2.2 Bentuk Kromosom awal

MUTASI
tidak

slot/kr

1

2



30

fit

K1

1

0



1

25



1

28

…..
Ktop

Apakah jadwal
sudah
Optimal?

0

1

Gambar 2.3 Bentuk kromosom dalam biner

ya

Jadwal yang Optimal

Selesai

Gambar 2.1 Sistem Penjadwalan dengan AG
D. Langkah-Langkah Perancangan AG
Prosedur
perancangan
algoritma
sistem
penjadwalan di STIKOM Uyelindo sebagai berikut:

Volume 3

30



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
bersesuaian dengan mata kuliah yang diampu.

Nomor 1 HAL. 152-237

KUPANG,
MEI 2014

ISSN: 2337-5280

JURNAL HOAQ -TEKNOLOGI INFORMASI VOL. 3, NO. 1, MEI 2014

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 Ktop adalah 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 FK yang
paling menekati R.

158

(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
K’2

1
21..
1
03..

1
11..
0
15..

0
05..
1
25..

1
26..
1
36..

0
31…
0
41…

0
18…
1
08…






Dengan S=3, anak hasil kromosom induk sbb:
K’’1 1

1
0
1
0
1
K’’2

21..

11..

05..

36..

41…

08…

1

0

1

03..

15..

25..

1
26..

0
31…

0
18…





1
42…
1
12…

1
12…

1
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
4) Membuat populasi baru
pada posisi dan pada kromosom yang mana
Membuat polulasi baru dilakukan dengan proses
ditentukan dari bilangan acak yang dibangkitkan.
pindah silang dan mutasi.
Banyaknya bilangan acak yang dibangkitkan(M)
a) Pindah silang
sangat ditentukan dengan nilai probabilitas mutasi
Rekombinasi(Crossover) dilakukan atas 2
yang dipilih (PM). Selain gen biner pada proses
kromosom untuk menghasilkan kromosom anak
mutasi dilakukan juga pada gen umumnya sesuai
KUPANG,
Volume 3 Nomor 1 HAL. 152-237
ISSN: 2337-5280
MEI 2014

JURNAL HOAQ -TEKNOLOGI INFORMASI VOL. 3, NO. 1, MEI 2014

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 = M1 mod 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.

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]

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.

159

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
Informatika, STMIK GI MDP

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.

Volume 3

Nomor 1 HAL. 152-237

KUPANG,
MEI 2014

ISSN: 2337-5280