Penjadwalan Perkuliahan Dengan Menggunakan Algortima Genetika

PENJADWALAN PERKULIAHAN DENGAN MENGGUNAKAN
ALGORTIMA GENETIKA

IWAN LESMANA

SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2014

PENJADWALAN PERKULIAHAN DENGAN MENGGUNAKAN
ALGORTIMA GENETIKA

IWAN LESMANA

Tesis
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar
Magister Komputer pada
Program Studi Ilmu Komputer

SEKOLAH PASCASARJANA

INSTITUT PERTANIAN BOGOR
BOGOR
2014

Penguji Luar Komisi pada ujian Tesis : Dr. Irman Hermadi, S.Kom, M.S

Judul Tesis

: Penjadwalan Perkuliahan Dengan Menggunakan

Algortima Genetika
Nama
NIM
Program Studi

: Iwan Lesmana
: G651090384
: Ilmu Komputer

Disetujui

Komisi Pembimbing

Dr. Ir. Yandra Arkeman, M.Eng.
Ketua

Dr. Ir. Agus Bouono, Msi, M.Kom
Anggota

Diketahui Oleh

Ketua Program Studi
Ilmu Komputer

Dr. Eng. Wisnu Ananta Kusuma. S.T, M.T

Tanggal Ujian : 26 Maret 2014

Dekan Sekolah Pascasarjana

Dr. Ir. Dahrul Syah, M.Sc., Agr.


Tanggal Lulus :

RINGKASAN
IWAN LESMANA : Penjadwalan Perkuliahan Menggunakan Algortima Genetika.
Dibimbing oleh Yandra Arkeman dan Agus Buono
Pembuatan jadwal mata kuliah dalam suatu kampus adalah suatu tantangan
dan pekerjaan yang cukup komplek. Selain dilihat dari sisi mahasiswa, juga harus
dilihat dari sisi dosen, yaitu kemungkinan-kemungkinan dosen akan mengampu
lebih dari satu mata kuliah yang ada, sehingga harus diperlukan solusi agar dosen
tidak mengajar dua mata kuliah berbeda pada hari dan jam yang sama. Di Fakultas
Ilmu Komputer Universitas Kuningan proses pembuatan jadwal penggunaan
ruangan dan laboratorium selama ini masih dilakukan secara manual oleh bagian
akademik dan Kepala laboratorium. Pada penelitian ini penulis mencoba
menyelesaikan masalah penjadwalan perkuliahan menggunakan algoritma genetika
dengan metode rank based selection. Percobaan dilakukan sebanyak 7 kali, dimana
total pengampuan matakuliah sebanyak 329, jumlah ruang sebanyak 15 kelas terdiri
dari 10 ruang teori dan 5 ruang laboratorium, jumlah hari sebanyak 6, sedangkan
slot waktu dalam 1 hari yaitu 12 dan hari jumat 10 slot waktu, total 1 minggu
sebanyak 70 slot waktu. Pada penelitian ini berhasil memberikan solusi terbaik

untuk penjadwalan dengan crossover 0.7 mutasi 0.4, nomor populasi 10, rata-rata
waktu adalah 3 jam untuk menghasilkan jadwal terbaik.
Kata Kunci : Penjadwalan Kuliah, Algoritma Genetika, Seleksi Rank.

SUMMARY
IWAN LESMANA : Course Scheduling Using Genetic Algorithm
Under direction of Yandra Arkeman and Agus Buono
Making a schedule of courses in college is a challenge and a fairly complex
job . This has to be viewed in terms of lecturers and students for the possibilities of
the lecturers who will administer more than one existing courses. The solution must
be also considered that the lecturer does not teach two different courses on the
same day and hour. In the Faculty of Computer Science Kuningan University,
scheduling process for the use of laboratory and classroom is still done manually
by the academic officer and the head of the laboratory . In this research, the author
tries to solve the course scheduling problem using a genetic algorithm with a rank based selection method . The experiments were performed 7 times , where as many
as 329 coursse , total classrooms are 15 class consists of 10 classroom and 5
laboratory, total 6 days , while the time slot in 1 day is 12 and Friday 10 time slots ,
total 1 week 70 time slots . This research succeeded in providing the best solution
for scheduling with crossover 0.7, mutation rate 0.4, number of population 10,
average time 3 hours to produce the best schedules.

Keywords : Course Schedulling, Genetic Algorithm, Rank Based Selection

PERNYATAAN MENGENAI TESIS DAN
SUMBER INFORMASI

Dengan ini saya menyatakan bahwa tesis Penjadwalan Perkuliahan dengan
Algortima Genetika adalah karya saya dengan arahan dari komisi pembimbing dan
belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber
informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak
diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam
Daftar Pustaka dibagian akhir tesis ini.

Bogor, Maret 2014

ABSTRACT
IWAN LESMANA : Course Scheduling Using Genetic Algorithm
Under direction of Yandra Arkeman and Agus Buono
Making a schedule of courses in college is a challenge and a fairly complex
job . This has to be viewed in terms of lecturers and students for the possibilities of
the lecturers who will administer more than one existing courses. The solution must

be also considered that the lecturer does not teach two different courses on the
same day and hour. In the Faculty of Computer Science Kuningan University,
scheduling process for the use of laboratory and classroom is still done manually
by the academic officer and the head of the laboratory . In this research, the author
tries to solve the course scheduling problem using a genetic algorithm with a rank based selection method . The experiments were performed 4 times where the
experiments to know best parameter , where as many as 329 coursse , total
classrooms are 15 class consists of 10 classroom and 5 laboratory, total 6 days ,
while the time slot in 1 day is 12 and Friday 10 time slots , total 1 week 70 time
slots . This research succeeded in providing the best solution for scheduling with
crossover 0.7, mutation rate 0.4, number of population 10, average time 3 hours to
produce the best schedules.
Keywords : Course Schedulling, Genetic Algorithm, Rank Based Selection

RINGKASAN
IWAN LESMANA : Penjadwalan Perkuliahan Menggunakan Algortima Genetika.
Dibimbing oleh Yandra Arkeman dan Agus Buono
Pembuatan jadwal mata kuliah dalam suatu kampus adalah suatu tantangan
dan pekerjaan yang cukup komplek. Selain dilihat dari sisi mahasiswa, juga harus
dilihat dari sisi dosen, yaitu kemungkinan-kemungkinan dosen akan mengampu
lebih dari satu mata kuliah yang ada, sehingga harus diperlukan solusi agar dosen

tidak mengajar dua mata kuliah berbeda pada hari dan jam yang sama.
Di Fakultas Ilmu Komputer Universitas Kuningan mempunyai sekitar 1100
mahasiswa yang tersebar kedalam 4 Program Studi diantaranya Teknik Informatika
(S1), Sistem Informasi (S1), Teknik Informatika (D3) dan Manajemen Informatika
(D3). Proses pembuatan jadwal penggunaan ruangan dan laboratorium selama ini
masih dilakukan secara manual oleh bagian akademik dan Kepala laboratorium.
Pada penelitian ini penulis dicoba untuk melengkapi penelitian-penelitian
sebelumnya dengan mencoba penerapan algoritma genetika dengan mereduksi
domain pencarian dan penentuan constraint yang disesuaikan dengan permasalahan
yang ada di Fakultas Ilmu Komputer Universitas.
Percobaan dilakukan sebanyak 4 kali percobaan dimana percobaan tersebut
untuk mengetahui parameter-parameter terbaik, percobaan
pertama untuk
mengetahui parameter probabilitas crossover, percobaan kedua untuk mengetahui
parameter mutasi, percobaan ketiga untuk mengetahui jumlah populasi dan
percobaan keempat untuk mengetahui hasil terbaik setelah didapatkan parameter
terbaik, dimana percobaan tersebut untuk membadingkan rata-rata pelanggaran.
Dimana total pengampuan matakuliah sebanyak 329, jumlah ruang sebanyak
15 kelas terdiri dari 10 ruang teori dan 5 ruang laboratorium, jumlah hari sebanyak
6, sedangkan slot waktu dalam 1 hari yaitu 12 dan hari jumat 10 slot waktu, total 1

minggu sebanyak 70 slot waktu. Pada penelitian ini berhasil memberikan solusi
terbaik untuk penjadwalan pada parameter crossover 0.7 mutasi 0.4, nomor
populasi 10, rata-rata waktu adalah 3 jam untuk menghasilkan jadwal terbaik.
Kata Kunci : Penjadwalan Kuliah, Algoritma Genetika, Seleksi Rank.

© Hak Cipta Milik IPB, tahun 2014
Hak Cipta dilindungi Undang-undang
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau
menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan,
penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau
tinjauan suatu masalah dan pengutipan tersebut tidak merugikan kepentingan yang
wajar IPB.
Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis
dalam bentuk apapun tanpa izin IPB

PRAKATA
Puji dan syukur penulis panjatkan kehadirat Allah SWT, atas berkat
rahmat dan hidayah-Nya penulis dapat menyelesaikan penulisan proposal
penelitian sebagai syarat dalam menyelesaikan perkuliahan di Magister Sains,
Ilmu Komputer, Institut Pertanian Bogor.

Dalam penelitian ini, penulis akan melakukan penelitian dengan tema
Penjadwalan Perkuliahan Menggunakan Algoritma Genetika Study Kasus di
Fakultas Ilmu Komputer Universitas Kunigan. Penelitian akan dilakukan pada
bulan januari 2013 sampai dengan februari 2014
Penulis menghaturkan terima kasih kepada semua pihak yang telah
mendukung dan membantu baik secara langsung maupun tidak langsung dalam
pelaksanaan kuliah maupun penelitian yang akan dilaksanakan. Penulis menyadari
bahwa dalam penulisan proposal penelitian ini masih banyak kekurangan. Untuk
itu penulis mengharapkan kritik dan saran yang membangun demi sempurnanya
penelitian ini di kemudian hari.

Bogor, maret 2014

Iwan Lesmana

RIWAYAT HIDUP
Penulis dilahirkan di Kunigan, pada 18 juli 1984 dari ayah bernama Edi
dan ibu bernama Hj. Eti Suheti. Penulis adalah putra ketiga dari tiga bersaudara.
Menikah dengan Devi Teninegara.
Tahun 2003 lulus dari SMAN 1 Kadugede, kemudian melanjutkan studi di

Fakultas Ilmu Komputer Universitas Kunigan jurusan Sistem informasi dan
selesai pada tahun 2007.
Sejak tahun 2007 – 2009 penulis pernah bekerja di SMKN 3 Kunigan
sebagai guru KKPI, dari tahun 2008 sampai dengan sekarang penulis bekerja
sebagai dosen tetap di Program Studi Sistem Informasi Universitas Kunigan.

DAFTAR ISI

Halaman
DAFTAR ISI ………………………………………………………………… i
DAFTAR GAMBAR ………………………………………………………… iv
DAFTAR TABEL

………………………………………………………….. v

PENDAHULUAN
Latar Belakang ....................................................................................... 1
Ruang Lingkup …………………………………………………........ 3
Tujuan


…..……………………………………………………….. 3

Manfaat

………………………..………………………………… 4

TINJAUAN PUSTAKA
Definisi Penjadwalan ............................................................................. 5
Algoritma Genetika ................................................................................ 5
Struktur Umum Algoritma ..................................................................... 6
Pengkodean ............................................................................................ 9
Operator Genetik .................................................................................... 9
Seleksi ............ ....................................................................................... 11
Crossover ....... ....................................................................................... 11
Mutasi ............. ....................................................................................... 12
Parameter Genetik .................................................................................. 12
METODE PENELITIAN
Kerangka pemikiran

……………………………………………. 14

Pemahaman Masalah
Ruang Pencarian

……………………………………………..... 15

……………………………………………............ 15

Penentuan Constrain ............................................................................ 16
Desain Kromosom

............................................................................. 16

HASIL DAN PEMBAHASAN
Percobaan Penentuan Crossover…………………………………. ....... 25
Percobaan Penentuan Mutasi ................................................................. 26
Percobaan Penentuan Populasi............................................................... 26

i

KESIMPULAN DAN SARAN
Kesimpulan ............................................................................................ 29
Saran ..................................................................................................... 29
DAFTAR PUSTAKA ........................................................................................ 30
LAMPIRAN 1 ................................................................................................... 32
LAMPIRAN 2 ................................................................................................... 35
LAMPIRAN 3 .................................................................................................... 48
LAMPIRAN 4 .................................................................................................... 50

ii

DAFTAR GAMBAR
Halaman
Gambar 1

: Diagram Alir Algoritma Genetika . ............................................. 6

Gambar 2

: Skema Metode Penelitian .......................................................... 13

Gambar 3

: Desain Kromosom Jadwal Mata Kuliah .................................... 17

Gambar 4

: Desain kromsom dalam bentuk tabel .......................................... 17

Gambar 5

: Ilustrasi Pelanggaran ....... .......................................................... 20

Gambar 6

: Ilustrasi Crossover .......... .......................................................... 22

Gambar 7

: Grafik Rata-Rata Pelanggaran Crossover .................................. 24

Gambar 8

: Grafik Rata-Rata Pelanggaran Mutasi ....................................... 25

Gambar 9

: Grafik Rata-Rata Pelanggaran Populasi .................................... 26

Gambar 10 : Grafik Rata-Rata Pelanggaran 7 Kali Eksekusi ......................... 26

iii

DAFTAR TABEL
Halaman
Tabel 1

: Sebaran Mata Kuliah .............................................................. 16

Tabel 2

: Tabel Jam ............................................................................... 16

Tabel 3

: Tabel Hari .............................................................................. 16

Tabel 4

: Tabel Ruangan ........................................................................ 16

Tabel 5

: Perbandingan Crossover ........................................................... 24

Tabel 6

: Perbandingan Mutasi ................................................................ 25

iv

1

PENDAHULUAN

Latar Belakang
Masalah penjadwalan adalah suatu pekerjaan yang cukup komplek dalam
membuatnya, hal tersebut sering kita jumpai hampir dibeberapa lembaga atau
instiusi seperti lembaga pendidikan, kesehatan , transportasi, olah raga

atau

proses produksi pada suatu pabrik (Norberciak. 2006).
Penjadwalan mata kuliah dalam suatu kampus adalah suatu tantangan dan
pekerjaan yang cukup komplek dan rumit untuk dipecahkan. Kompleksitasnya
dapat dilihat dari sisi mahasiswa, dosen yang mengajar, mata kuliah yang
diajarkan, waktu perkuliahan, waktu kesediaan dosen dan ruangan untuk
melakukan perkuliahaan tersebut. Sebuah penjadwalan yang baik adalah sebuah
penjadwalan yang dilakukan oleh seluruh pihak yang terkait dalam kegiatan
belajar mengajar tidak hanya dilihat dari sisi mahasiswa, juga harus dilihat dari
sisi dosen, yaitu kemungkinan-kemungkinan dosen akan mengampu lebih dari
satu mata kuliah yang ada, sehingga harus dipikirkan juga solusi agar dosen tidak
mengajar dua mata kuliah berbeda pada hari dan jam yang sama. Selain itu, harus
dipertimbangkan juga aspek-aspek kebijakan universitas sehingga kegiatan
perkuliahan dapat dilaksanakan. Penjadwalan mata kuliah disebuah perguruan
tinggi merupakan masalah yang sangat sulit untuk di pecahkan (Destiani. 2006).
Permasalahan penjadwalan ini banyak ditemukan di seluruh universitasuniversitas didunia (Gen Cheng. 2000)
Dalam penelitian (Jain et al. 2010) dikatakan penjadwalan merupakan
permasalahan NP-hard dan untuk penjadwalan dengan skala besar merupakan
permasalahan yang komplek, biasanya penjadwalan dilakukan secara manual dan
membutuhkan waktu yang lama, dalam penelitian tersebut menggunakan
pendekatan algortima genetika yang berdasarkan teori evolusi yang efektif
menyelesaikan permasalahan penjadwalan, pada penelitian tersebut mencoba
menyeselaikan permasalahan contraint yang tinggi.
Penelitian lain yang dilakukan oleh (Tamba. 2004) menghasilkan sebuah
sistem yang mampu menyelesaikan penjadwalan perkuliahan menggunakan
algoritma genetika, tetapi pada penelitian tersebut belum mengakomodasi masalah

2

penjadwalan ruangan. Selanjutnya penelitian lain (Syadid et al. 2008) dengan
menggunakan representasi kromosom yang berbeda dari penelitian oleh Tamba
memperlihatkan 97,02% efektif dan 93,33% efisien untuk mengalokasikan 6 slot
waktu dengan 6 ruangan dengan parameter probabilitas crossover 0,7 dan
probabilitas mutasi 0,2 dengan jumlah populasi 50. Dari ketiga peneliti tersebut
dapat untuk masalah domain masih cukup besar dan constraint-constraint tidak
sesuai dengan yang ada di Universitas Kuningan.
Pada

penelitian

ini

dicoba

untuk

melengkapi

penelitian-penelitan

sebelumnya dengan merduksi domain pencarian dan penentuan constraint yang
disesuaikan dengan permasalahan yang ada di Fakultas Ilmu Komputer
Universitas Kuningan.
Di Universitas Kunigan khususnya Fakultas Ilmu Komputer pejadwalan
penggunaan ruangan dan laboraotirum

adalah hal yang sangat peting demi

berlangsungnya porses belajar mengajar. Sering terjadinya bentrok, baik bentrok
yang terjadi pada matakuliah yang diambil oleh mahasiswa maupun bentrok yang
terjadi pada dosen yang mengakibatkan kurang efektifnya proses belajar mengajar
di Fakultas Ilmu Komputer Universitas Kuningan. Proses pembuatan jadwal
penggunaan ruangan dan laboratorium selama ini masih dilakukan secara manual
oleh bagian akademik dan kepala laboratorium. Dikarenakan penjadwalan ini
dibuat secara manual, mengakibatkan lamanya proses pembuatan jadwal tersebut.
Dari permasalahan terbsebut peneliti mencoba membuat solusi yang efektif dan
efesien untuk penjadwalan di Fakultas Ilmu Komputer.
Setiap awal semester semua program studi mengirimkan daftar matakuliah
teori dan matakuliah berpraktikum serta daftar kesedian dosen mengajar, karena
ada beberapa dosen yang merangkap jabatan atau mempunyai pekerjaan diluar.
Proses pejadwalan ini tidak mudah dan membutuhkan waktu yang cukup lama
dan kemungkinan kesalahan atau human error cukup besar.
Untuk membuat jadwal mata kuliah yang baik kita harus memperhatikan
berbagai aspek yang berkaitan dengan pejadwalan ini (Destiani. 2006).,
diantaranya:
1. Aspek mahasiswa, ada tidaknya bentrok pada mata kuliah yang diambil
oleh mahasiswa

3

2. Aspek dosen, kemungkinan dosen mengampu lebih dari satu matakuliah
dan jumlah dosen tidak sebanding, sehingga harus dipikirkan solusi agar
dosen tidak mengampu dua matakuliah yang berbeda pada hari dan jam
yang sama dan waktu kesedian dosen untuk mengajar agar tidak bentrok
dengan jadwal dosen yang mempunyai kegiatan diluar
3. Aspek ruangan, ketersediaan kelas hanya 10 kelas dan laboratorium 5
ruang
Diatara aspek-aspek diatas, dalam penyusunan jadwal terdapat sangat
banyak kemungkinan yang selayaknya dicoba untuk menemukan pejadwalan
terbaik. Karena itu dibutuhkan metode optimasi yang dapat diterapkan untuk
mengerjakan pejadwalan ini. Salah satu metode simulasi yang dapat digunakan
untuk menyelesaikan permasalahan tersebut adalah membangun pendekatan
algoritma genetika menggunakan seleksi rank.
Algoritma

genetika

merupakan

pendekatan

komputasional

untuk

menyelesaikan masalah yang dimodelkan dengan proses evolusi biologis.
Diharapkan dengan digunakannya algoritma genetika akan diperoleh optimasi
penjadwalan yaitu kondisi dimana terjadi kombinasi terbaik untuk pasangan mata
kuliah dan dosen pengajar secara keseluruhan, tidak ada permasalahan bentrokan
jadwal pada sisi mahasiswa, serta ketersediaan ruang yang cukup dan sesuai
secara fasilitas untuk seluruh mata kuliah yang ada.
Ruang Lingkup
Ruang lingkup dalam penelitian ini adalah membahas study pendahuluan
algortima genetika dengan menggunakan metode seleksi rank / rank based
selection untuk optimasi penjadwalan mata kuliah di Fakultas Ilmu Komputer
Universitas Kuningan.
Tujuan
Tujuan dari penelitian ini adalah membuat model pejadwalan kuliah
menggunakan

algoritma

genetika

agar

jadwal

yang

dihasilkan

dapat

mengakomodasi masalah penjadwalan ruangan di Fakultas Ilmu Komputer
Universitas Kuningan dan membuat program untuk bisa dipergunakan untuk
semua fakultas yang ada di Universitas Kuningan.

4

Manfaat Penelitian
Hasil penelitian diharapkan dapat bermanfaat untuk Fakultas pada
khususnya dan Universitas Kunigan pada umumnya dalam hal penjadwalan
matakuliah.

5

TINJAUAN PUSTAKA

Definisi Penjadwalan
Berdasarkan Kamus Besar Bahasa Indonesia, jadwal merupakan
pembagian waktu berdasarkan rencana pengaturan urutan kerja. Jadwal juga
didefinisikan sebagai daftar atau tabel kegiatan atau rencana kegiatan dengan
pembagian waktu pelaksanaan

yang terperinci. Sedangkan penjadwalan

merupakan proses, cara, perbuatan menjadwalkan atau memasukkan dalam jadwal
(Departemen Pendidikan dan Kebudayaan, 1995). Sebagian besar universitas
dengan jumlah jumlah mata kuliah yang akan dijadwalkan dan berbagai constraint
yang harus dipertimbangkan membuat penyusunan jadwal perkuliahan menjadi
sangat sulit (Petrovic dan Burke. 2004). Jadwal didefisnisikan sebagai seuatu yang
menjelaskan dimana dan kapan orang-orang dan sumber daya berada pada satu
waktu (Chambers, 1999:22).
Algoritma Genetika
Algoritma ini ditemukan di Universitas Michigan, Amerika Serikat oleh
John Holland

melalui sebuah penelitian dan dipopulerkan oleh salah satu

muridnya, (Goldberg. 1989). Dimana mendefenisikan algoritma genetik ini
sebagai metode algoritma pencarian berdasarkan pada mekanisme seleksi alam
dan genetik alam.
Algoritma genetik adalah algoritma yang berusaha menerapkan pemahaman
mengenai evolusi alamiah pada tugas-tugas pemecahan-masalah (problem
solving). Pendekatan yang diambil oleh algoritma ini adalah dengan
menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu
kumpulan untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada suatu
kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness. Generasi
ini akan merepresentasikan perbaikan-perbaikan pada populasi awalnya. Dengan
melakukan proses ini secara berulang, algoritma ini diharapkan dapat
mensimulasikan proses evolusioner.
Pada akhirnya, akan didapatkan solusi-solusi yang paling tepat bagi
permasalahan yang dihadapi. Untuk menggunakan algoritma genetik, solusi

6

permasalahan direpresentasikan sebagai khromosom. Tiga aspek yang penting
untuk penggunaan algoritma genetik:
1. Defenisi fungsi fitness
2. Defenisi dan implementasi representasi genetik
3. Defenisi dan implementasi operasi genetik
Jika ketiga aspek di atas telah didefinisikan, algoritma genetik akan bekerja
dengan baik. Tentu saja, algoritma genetik bukanlah solusi terbaik untuk
memecahkan segala masalah. Sebagai contoh, metode tradisional telah diatur
untuk untuk mencari penyelesaian dari fungsi analitis convex yang “berperilaku
baik” yang variabelnya sedikit. Pada kasus-kasus ini, metode berbasis kalkulus
lebih unggul dari algoritma genetik karena metode ini dengan cepat menemukan
solusi minimum ketika algoritma genetik masih menganalisa bobot dari populasi
awal.
Untuk problem-problem ini pengguna harus mengakui fakta dari
pengalaman ini dan memakai metode tradisional yang lebih cepat tersebut. Akan
tetapi, banyak persoalan realistis yang berada diluar golongan ini. Selain itu,
untuk persoalan yang tidak terlalu rumit, banyak cara yang lebih cepat dari
algoritma genetik. Jumlah besar dari populasi solusi, yang merupakan keunggulan
dari algoritma genetik, juga harus mengakui kekurangannya dalam dalam
kecepatan pada sekumpulan komputer yang dipasang secara seri-fitness function
dari tiap solusi harus dievaluasi. Namun, bila tersedia komputer-komputer yang
paralel, tiap prosesor dapat mengevaluasi fungsi yang terpisah pada saat yang
bersamaan. Karena itulah, algoritma genetik sangat cocok untuk perhitungan yang
paralel.
Struktur Umum Algoritma Genetika
Algoritma genetik memberikan suatu pilihan bagi penentuan nilai parameter
dengan meniru cara reproduksi genetik, pembentukan kromosom baru serta
seleksi alami seperti yang terjadi pada makhluk hidup. Algoritma Genetik secara
umum dapat diilustrasikan dalam diagram alir berikut ini:

7

Gambar 1 Diagram alir Algoritma Genetika

(Goldberg. 1989) mengemukakan bahwa algoritma genetik mempunyai
karakteristik-karakteristik yang perlu diketahui sehingga dapat terbedakan dari
prosedur pencarian atau optimasi yang lain, yaitu:
1. Algoritma

genetika

dengan

pengkodean

dari

himpunan

solusi

permasalahan berdasarkan parameter yang telah ditetapkan dean bukan
parameter itu sendiri.
2. Algoritma genetika pencarian pada sebuah solusi dari sejumlah
individuindividu yang merupakan solusi permasalahan bukan hanya dari
sebuah individu.
3. Algoritma genetika informasi fungsi objektif (fitness), sebagai cara untuk
mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan
dari suatu fungsi.
4. Algoritma genetik menggunakan aturan-aturan transisi peluang, bukan
aturan-aturan deterministik.
Variabel dan parameter yang digunakan pada algoritma genetik adalah:
1. Fungsi fitness (fungsi tujuan) yang dimiliki oleh masing-masing individu
untuk menentukan tingkat kesesuaian individu tersebut dengan criteria
yang ingin dicapai.

8

2. Populasi jumlah individu yang dilibatkan pada setiap generasi.
3. Probabilitas terjadinya persilangan (crossover) pada suatu generasi.
4. Probabilitas terjadinya mutasi pada setiap individu.
5. Jumlah generasi yang akan dibentuk yang menentukan lama penerapan
algoritma genetik.
Secara umum struktur dari suatu algoritma genetik dapat mendefenisikan
dengan langkah-langkah sebagai berikut:
1. Membangkitkan populasi awal
Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi
awal. Populasi itu sendiri terdiri atas sejumlah kromosom yang
merepresentasikan solusi yang diinginkan.
2. Membentuk generasi baru
Untuk membentuk generasi baru, digunakan operator reproduksi/ seleksi,
crossover dan mutasi. Proses ini dilakukan berulang-ulang sehingga
didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru
dimana generasi baru ini merupakan representasi dari solusi baru. Generasi
baru ini dikenal denga istilah anak (offspring).
3. Evaluasi solusi
Pada tiap generasi, kromosom akan melalui proses evaluasi dengan
menggunakan alat ukur yang dinamakan fitness. Nilai fitness suatu
kromosom menggambarkan kualitas kromosom dalam populasi tersebut.
Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai
fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria
berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi
generasi baru dengan mengulangi langkah 2. Beberapa kriteria berhenti
sering digunakan antara lain: berhenti pada generasi tertentu, berhenti
setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness
tertinggi tidak berubah, berhenti dalam n generasi tidak didapatkan nilai
fitness yang lebih tinggi.
Fungsi fitness tersebut sebagai berikut:

������� =

1
1 + �������

(1)

9

dimana
������� = � �� � ��

(2)

Dari persamaan diatas nilai fitness ditentukan oleh nilai penalty. Penalty
tersebut menunjukkan jumlah pelanggaran kendala pada suatu kromosom.
Semakin tinggi nilai fitness akan semakin besar kemungkinan kromosom tersebut
terpilih ke generasi berikutnya. Jadi nilai penalty berbanding terbalik dengan nilai
fitness, semakin kecil nilai penalty (jumlah pelanggaran) semakin besar nilai
fitnessnya (Lee. 2000).
Jadi fungsi fitness :

Keterangan:

������� =

1
1 + ∑ �� ∑ ��

(3)

Bp : Bobot Pelanggaran
Np : Indikator Pelanggaran
Pengkodean
Pengkodean adalah suatu teknik untuk menyatakan populasi awal sebagai
calon solusi suatu masalah ke dalam suatu kromosom (Gen Cheng. 2000) sebagai
suatu kunci pokok persoalan ketika menggunakan algoritma genetik.
Berdasarkan jenis symbol yang digunakan sebagai nilai suatu gen, metode
pengkodean dapat diklasifikasikan sebagai berikut (Gen Cheng. 2000):
1. Pengkodean biner merupakan cara pengkodean yang paling umum
digunakan karena adalah yang pertama kali digunakan dalam algoritma
genetik oleh Holland. Keuntungan pengkodean ini adalah sederhana untuk
diciptakan dan mudah dimanipulasi. Pengkodean biner memberikan
banyak kemungkinan untuk kromosom walaupun dengan jumlah nilai-nilai
yang mungkin terjadi pada suatu gen yang sedikit (0 dan 1). Dipihak lain,
pengkodean biner sering tidak sesuai untuk banyak masalah dan kadang
pengoreksian harus dilakukan setelah operasi crossover dan mutasi.
2. Pengkodean bilang riil adalah suatu pengkodean bilangan dalam bentuk
riil. Masalah optimalisasi fungsi dan optimalisasi kendala lebih tepat jika
diselesaikan dengan pengkodean bilangan riil karena struktur topologi
ruang genotif untuk pengkodean bilangan riil identik dengan ruang

10

fenotifnya, sehingga mudah membentuk operator genetik yang efektif
dengan cara memakai teknik yang dapat digunakan yang berasal dari
metode konvensional.
3. Pengkodean bilangan bulat adalah metode yang mengkodekan bilangan
dalam bentuk bilangan bulat. Pengkodean ini baik digunakan untuk
masalah optimisasi kombinatorial.
4. Pengkodean struktur data adalah model pengkodean yang menggunakan
struktur data. Pengkodean ini digunakan untuk masalah kehidupan yang
lebih kompleks seperti perencanaan jalur robot, dan masalah pewarnaan
Graph.

Operator Genetik
Algoritma genetik merupakan proses pencarian yang heuristik dan acak
sehingga penekanan pemilihan operator yang digunakan sangat menentukan
keberhasilan algoritma genetik dalam menemukan solusi optimum suatu masalah
yang diberikan. Hal yang harus diperhatikan adalah menghindari terjadinya
konvergensi premature, yaitu mencapai solusi optimum yang belum waktunya,
dalam arti bahwa solusi yang diperoleh adalah hasil optimum lokal.
Operator genetik yang digunakan setelah proses evaluasi tahap pertama
membentuk populasi baru dari generasi sekarang. Operator-operator tersebut
adalah operator seleksi, crossover dan mutasi.

Seleksi
Seleksi bertujuan memberikan kesempatan reproduksi yang lebih besar bagi
anggota populasi yang paling fit. Langkah pertama dalam seleksi ini adalah
pencarian nilai fitness. Masing-masing individu dalam suatu wadah seleksi akan
menerima probabilitas reproduksi yang tergantung pada nilai objektif dirinya
sendiri terhadap nilai objektif dari semua individu dalam wadah seleksi tersebut.
Nilai fitness inilah yang nantinya akan digunakan pada tahap seleksi berikutnya
(Kusumadewi. 2003).
Kemampuan algoritma genetik untuk memproduksi kromosom yang lebih
baik secara progresif tergantung pada penekanan selektif (selective pressure) yang

11

diterapkan ke populasi. Penekanan selektif dapat diterapkan dalam dua cara. Cara
pertama adalah membuat lebih banyak kromosom anak yang dipelihara dalam
populasi dan memilih hanya kromosom-kromosom terbaik bagi generasi berikut.
Walaupun orang tua dipilih secara acak, metode ini akan terus menghasilkan
kromosom yang lebih baik berhubungan dengan penekanan selektif yang
diterapkan pada individu anak tersebut.
Cara lain menerapkan penekanan selektif adalah memilih orang tua yang
lebih baik ketika membuat keturunan baru. Dengan metode ini, hanya kromosom
sebanyak yang dipelihara dalam populasi yang perlu dibuat bagi generasi
berikutnya. Walaupun penekanan selektif tidak diterapkan ke level keturunan,
metode ini akan terus menghasilkan kromosom yang lebih baik, karena adanya
penekanan selektif yang diterapkan ke orangtua.
Ada beberapa metode untuk memilih kromosom yang sering digunakan
antara lain adalah seleksi roda rolet (roulette wheel selection), Elitism, seleksi
ranking (rank selection) dam seleksi turnamen (tournament selection).
Pada penelitian ini penulis akan menggunakan seleksi rank(rank based
selection) untuk pemilihan kromosom.
Crossover
Crossover (perkawinan silang) bertujuan menambah keanekaragaman string
dalam populasi dengan penyilangan antar-string yang diperoleh dari sebelumnya.
Tidak semua individu mengalami crosover karena telah ditentukan oleh parameter
probabilitas crossover. Beberapa jenis crossover tersebut adalah:
1. Crossover 1-titik (One-point Cross Over)
Pada crossover dilakukan dengan memisahkan suatu string menjadi dua
bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu
bagian dari string yang lain yang telah dipisahkan dengan cara yang sama.
2. Crossover 2-titik (Two-point Cross over)
Proses crossover ini dilakukan dengan memilih dua titik crossover.
Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal
kromosom sampai titik crossover pertama disalin dari orangtua pertama,
bagian dari titik crossover pertama dan kedua disalin dari orangtua kedua,
kemudian selebihnya disalin dari orangtua pertama lagi.

12

3. Crossover seragam (N-point Cross Over)
Crossover seragam manghasilkan kromosom keturunan dengan menyalin
bit-bit secara acak dari kedua orangtuanya.
Mutasi
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam
suatu kromosom. Operasi crossover yang dilakukan pada kromosom dengan
tujuan untuk memperoleh kromosom-kromosom baru sebagai kandidat solusi
pada generasi mendatang denga fitness yang lebih baik, dan lama-kelamaan
menuju solusi optimum yang diinginkan. Akan tetapi, untuk mencapai hal ini,
penekanan selektif juga memegang peranan yang penting. Jika dalam proses
pemilihan kromosom-kromosom cenderung pada kromosom yang memiliki
fitness yang tinggi saja, konvergensi premature, yaitu mencapai solusi yang
optimal lokal sangat mudah terjadi.

Parameter Genetik
Pengoperasian algoritma genetik dibutuhkan 4 parameter (Juniawati. 2003)
yaitu:
1. Probabilitas Persilangan (Crossover Probability)
Menunjukkan kemungkinan crossover terjadi antara 2 kromosom. Jika
tidak terjadi crossover maka keturunannya akan sama persis dengan
kromosom orangtua, tetapi tidak berarti generasi yang baru akan sama
persis dengan generasi yang lama. Jika probabilitas crossover 100% maka
semua keturunannya dihasilkan dari crossover. Crossover dilakukan
dengan harapan bahwa kromosom yang baru akan lebih baik.
2. Probabilitas Mutasi (Mutation Probability)
Menunjukkan kemungkinan mutasi terjadi pada gen-gen yag menyusun
sebuah kromosom. Jika tidak terjadi mutasi maka keturunan yang
dihasilkan setelah crossover tidak berubah. Jika terjadi mutasi bagian
kromosom akan berubah. Jika probabilitas 100%, semua kromosom
dimutasi. Jika probabilitasnya 0%, tidak ada yang mengalami mutasi.
3. Jumlah Individu

13

Menunjukkan jumlah kromosom yang terdapat dalam populasi (dalam satu
generasi). Jika hanya sedikit kromosom dalam populasi maka algoritma
genetik akan mempunyai sedikit variasi kemungkinan untuk melakukan
crossover antara orangtua karena hanya sebagian kecil dari search space
yang dipakai. Sebaliknya jika terlalu banyak maka algoritma genetik akan
berjalan lambat.
4. Jumlah Populasi
Menetukan jumlah populasi atau banyaknya generasi yang dihasilkan,
digunakan sebagai batas akhir proses seleksi, persilangan dan mutasi.

14

METODE PENELITIAN
Kerangka Pemikiran
Adapun langkah-langkah yang ditempuh dalam menyelesaikan penelitian
sebagai mana terlihat pada gambar berikut :
Mulai

Pemahaman Masalah

Penentuan Constraint

Desain Kromosom

Inisialisai Setup

Proses Reproduksi dan
Seleksi

Tidak

Penentuan Fitness

Tidak

Cek Kondisi

Pengembangan Sistem GA

Pengujian dalam Sistem GA

Hasil Analisis

Dokumentasi

Selesai

Gambar 2 : Skema Metode Penelitian

Analisa Hasil

Ya

15

Pemahaman Masalah
Tahap ini dimulai dengan mengembangankan ide-ide dan membaca jurnaljurnal penelitian. Dari pengembangan ide-ide tersebut diperoleh topik untuk
memecahkan permasalahan penjadwalan perkuliahan dengan menggunakan
algoritma genetika dengan metode seleksi rank di Fakultas Ilmu Komputer
Universitas Kuningan.
Kriteria permaslahan didiskusikan dengan bagian akademik tentang penjadwalan,
maka tersusun kriteria permasalahan tentang penjadwalan.
Selanjutnya dilakukan juga studi literatur untuk mengetahui penelitian yang
sama tentang penjadwalan. perlu diketahui Fakultas Ilmu Komputer Universitas
Kuningan merupakan fakultas yang berdiri tahun 2003 dan mempunyai jumlah
sekitar 1100 mahasiswa, yang tersebar kedalam 4 Program Studi diantaranya:
Teknik Informatika (S1), Sistem Informasi (S1), Teknik Informatika (D3) dan
Manajemen Informatika (D3). Ruangan yang dimiliki Fakultas adalah 10 ruang
untuk kelas teori dan ruang laboratorium sebanyak 5 ruang yang kapasitasnya
maksimal 40.
Dosen di Fakultas Ilmu Komputer diberikan terkadang tugas mengajar lebih
dari satu mata kuliah. Sebagai contoh DH mengampu mata kuliah Pemograman
Web dan Rekayasa Perangkat Lunak. Durasi waktu per jam kuliah adalah 1 SKS
50 menit per jam mata kuliah dan hari perkuliahan dari hari senin sampai dengan
hari sabtu, jam kuliah adalah 08.00-18.00 (12 slot) dan hari jumat 08.00-11.20 dan
13.00-18.00 (10 slot) jadi total waktu dalam satu minggu adalah 70 jam.

Ruang Pencarian
Untuk beberapa pemecahan permasalahan kita selalu mencari beberapa
solusi yang terbaik untuk mengatasi permasalahan, ruang dari seluruh solusi yang
mungkin disebut dengan ruang pencarian atau search space. Setiap titik diruang
pencarian tersebut merupakan satu solusi yang baik, untuk setiap solusi yang
terbaik ditandai dengan nilai atau kemampuan pada permasalahan tersebut.
Pada penelitian ini dengan didasarkan data-data yang ada akan dilakukan
penjadwalan sebanyak 329 aktifitas dari penempatan dosen sebanyak 66 orang
dan mata kuliah sebanyak 111, perkuliahan dalam 6 hari efektif dalam 1 hari

16

terdapat 12 jam waktu perkuliahan tetapi dihari jumat terdapat 10 waktu
perkuliahan jadi total waktu perkuliahan dalam 1 minggu adalah (12x5)+10 = 70
waktu perkuliahan yang tersedia. Dimana terdapat 15 ruang terdiri dari 10 ruang
teori dan 5 ruang laboratorium. Jadi ruang pencariannya (12x5+10)x15 = 1050.
1050
Untuk total kombinasinya 329 �

329!

Penentuan Constraint

Sebuah Pejadwalan dikatakan baik apabila telah memenuhi semua Kendala.
Pada masalah ini semua kegiatan diberi time slot dan ruangan serta constraintconstarain sebagai berikut :
-

Mahasiswa tidak mengikuti matakuliah lebih dari satu pada saat yang
sama

-

Dosen yang sama tidak dapat mengajar mata kuliah yang berbeda dalam
waktu yang bersamaan

-

Mata kuliah berpraktikum satu sksnya adalah 100 menit.

-

Semua matakuliah dijadwalkan dari hari senin sampai sabtu

-

Mahasiswa tidak diperbolehkan mengambil matakuliah lebih dari sks
kredit yang ditentukan

-

Dosen tidak boleh mengadakan pengajaran matakuliah selain yang
dijadwalkan kecuali ada konfirmasi ke bagian akademik

-

Tidak ada perkuliahan diwaktu solat jumat

-

Waktu kesediaan dosen diutamakan, jika tidak bisa boleh diabaikan.

Desain Kromosom
Dalam masalah pejadwalan langkah awal algoritma genetika yaitu membuat
populasi jadwal secara acak dimana setiap jadwal direpsentasikan dalam sebuah
kromosom.
Menurut chambers satu kromosom merepsentasikan penjadwalan yang
komplit, kromosom dibuat dari gen yang berbentuk integer dan gen tersebut
terdiri dari 4 digit, dimana digit pertama mewakili informasi dosen, mata kuliah,
sks dan kelas dimana informasi tersebut dibentuk dalam kode_pengampu (KP)

17

untuk menepati waktu (J), hari (H) dan ruang (R). Dimana struktur kromosomnya
(KP,J,H,R).
Jenis dari repsentasi kromosom sangat penting karena memiliki dampak
penting pada penentuan efisiensi, efektivitas dan kualitas penjadwalan. Pada
penelitian ini solusi yang akan dihasilkan adalah menentukan waktu dan ruang
untuk perkuliahan. Untuk kapasitas ruang dan jumlah mahasiswa kelas angkatan
tidak dilibatkan dalam penelitian ini dikarenakan jumlah mahasiswa angkatan
lebih sedikit dari daya tampung kelas, Penggambaran untuk struktur kromosom
tersedia pada tabel dan gambar berikut :
Tabel 1 Sebaran Mata Kuliah
KP
1
2
3
4

Kd_MK
04TIFC04
04TIFC31
04TIFC44
04FKOM06

Nama_MK
Logika Informatika
Pemrograman Web 2
Grafika Komputer
Etika Profesi Informatika

SKS
2
2
2
2

Tabel 2 Jam
J
1
2
3
4
5
6

Kd_Dosen
49
6
13
24

Semester
2
4
4
6

Tabel 3 Hari

Range_jam

No

Range_jam

08.00-08.50
08.50-09.40
09.40-10.30
10.30-11.20
11.20-12.10
12.10-13.00

7

8
9
10
11
12

13.00-13.50
13.50-14.40
14.40-15.30
15.30-16.20
16.20-17.10
17.10-18.00

H
1
2
3
4
5
6

Nama_hari
Senin
Selasa
Rabu
Kamis
Jumat
Sabtu

Tabel 4 Ruangan
R
1
2
3
4
5
6
8
9
10
11
12
13
14
15

Nama_ruang
A
B
C
D
E
F
G
H
I
Lab. Aplikasi
Lab Ecomerce
Lab. Open Source
Lab Jaringan
Lab. Basis Data

Kapasitas

Jenis

50
50
50
50
50
50
50
50
50
40
40
40
40
40

TEORI
TEORI
TEORI
TEORI
TEORI
TEORI
TEORI
TEORI
TEORI
laboratorium
laboratorium
Laboratorium
Laboratorium
Laboratorium

Kelas
A
A
A
A

18

Lab. Basis data
Lab. Ecomerce

Jumat
Sabtu
Kamis
Jumat
Rabu
Kamis
Selasa
Rabu
Senin
Selasa

Sabtu

Kamis Jumat

Senin

32

Ruang C

08.00-08.50
Ruang A 36

10.30-11.20
36
08.00-08.5009.40-10.30

3

75

Sabtu

Senin

09.40-10.30
08.50-09.40

Jumat Sabtu

Rabu Kamis

Selasa Rabu

SeninSelasa

08.50-09.40
36
08.00-08.50

75

3 17
90
2

8

11.20-12.10
2
3
40 8
08.50-09.4010.30-11.20
36
75
08.00-08.50
69
12.10-13.00
09.40-10.3011.20-12.10
3
21
08.50-09.40
......
... 69 .... .... .... ....
2
8
10.30-11.2012.10-13.00
09.40-10.30
17.10-18.00
......
... .... .... 69 .... .... ....
11.20-12.10
2
8
10.30-11.20
300
69 69
12.10-13.0017.10-18.00
11.20-12.10

......

12.10-13.00
17.10-18.00

......

...

...
....

111

.... .... .... .... ....
69
69
239
.... .... .... ....

69

17.10-18.00

....

136

Gen 136

Gambar 3 Desain Kromosom
Sebagai ilustrasi satu kromosom terbentuk dalam ruang 3 dimensi, dalam
penelitian ini terdiri dari dimensi waktu sebanyak 12, dimensi hari sebanyak 6 dan
dimensi ruang sebanyak 15. Dari ruang 3 dimensi tersebut didapat ruang
penempatan sebanyak (12x5+10)x15 = 1050 penempatan untuk 329 aktiftas
perkuliahan. Untuk gambaran yang lain diamana 329 aktifitas akan ditempatkan
kedalam 1080 titik pada suatu kromosom, dan beikut penggambarannya :
329

1

2

3

...

60

70

....

329

Jam
Hari
Ruang
Gambar 4 Desain kromsom dalam bentuk tabel

...

1050

19

Skema pengkodean
Teknik pengkodean adalah bagaimana mengkodekan gen dari kromosom.
Satu gen akan mewakili satu variabel agar di proses melalui algorima genetika,
maka alternatif solusi tersebut harus dikodekan terlebih dahulu kedalam bentuk
kromosom, masing-masing kromosom berisi jumlah gen yang mengkodekan
informasi yang disimpan di dalam individu atau kromosom, dalam peneltian ini
menggunakan teknik pengkodean dalam bentuk integer yang dipergunakan dalam
pemogramannya, kode-kode tersebut diambil dari tabel-tabel pendukung untuk
penjadwalan.
Pembentukan Data Sismulasi
Data yang diperlukan untuk pembuatan jadwal adalah daftar pengampu
mata kuliah tertentu. Data yang diambil untuk penjadwalan ini adalah semester
ganjil tahun akademik 2013/2014, dimana menggunakan data sebanyak 66 dosen,
111 mata kuliah yang akan membentuk 329 aktifitas perkuliahan, 12 slot waktu
setiap harinya, sehingga 6 hari ada 70 slot waktu, dan ruangan sebanyak 15 ruang
terdiri dari 10 ruang teori dan 5 ruang laboratorium. Serta terdapat data kesedian
waktu mengajar dosen
Inisialiasi populasi
Membangkitkan populasi adalah membangkitkan sejumlah individu atau
kromosom secara acak. Setelah ukuran populasi di tentukan ,kemudian dilakukan
pembangkitan populasi awal dengan cara melakukan inisialisai solusi yang
mungkin kedalam kromosom.
Evaluasi Fitness
Pengertian fitness dalam biologi adalah nilai optimal yang merupakan
ukuran dari efisiensi reproduksi kromosom (Golberg 1989). Nilai yang dihasilkan
oleh fungsi fitness mepresentasikan seberapa banyak jumlah persyaratan yang
dilanggar, sehingga dalam kasus pejadwalan perkuliahan semakin kecil jumlah
pelanggaran yang dihasilkan maka solusi yang dihasilkan semakin baik. Pada
masalah optimasi solusi yang akan dicari adalah memaksimumkan fungsi h
(dikenal sebagai masalah maksimasi) sehingga nilai fitness yang digunakan adalah
nilai dari fungsi h tersebut, yaitu f = h (dimana f adalah fitness). Tetapi jika

20

masalahnya adalah meminimalkan fungsi h (masalah minimasi), maka fungsi h
tidak bisa digunakan secara langsung. Hal ini disebabkan adanya aturan bahawa
individu yang memiliki nilai fitness tinggi lebih mampu bertahan hidup pada
generasi berikutnya.
Oleh karena itu nilai fitness yang bisa digunakan adalah f = 1/h, yang
artinya semakin kecil nilai h, semakin besar nilai f. Tetapi hal ini akan menjadi
masalah jika h bisa bernilai 0, yang mengakibatkan f bisa bernilai tak hingga.
Untuk mengatasinya, h perlu ditambah sebuah bilangan yang dianggap kecil [0-1]
sehingga nilai fitnessnya menjadi :
�=

1
(ℎ + �)

(3)

Dimana a adalah bilangan kecil dan bervariasi [0-1] sesuai dengan masalah
yang akan diselesaikan. Dalam kasus penjadwalan mata kuliah semakin kecil
jumlah pelanggaran yang dihasilkan maka solusi akan semakin baik. Jika terjadi
pelanggaran maka diberi nilai 1. Agar tidak terjadi nilai fitness yag tak terhingga
maka jumlah total semua pelanggaran akan ditambahkan 1, dan berikut fungsi
fitnessnya
�=
Keterangan :

1
1 + (ΣBD + ΣBK + ΣBR + ΣBJ + ΣWD)

(4)

BD = Banyaknya bentrok dosen dan mata kuliah
BK = banyaknya bentrok kelas perkuliahan
BR = banyaknya bentrok jam, hari dan ruang yang digunakan
BJ = banyaknya bentrok waktu jumat
WD = banyaknya waktu dosen yang dilanggar
Dalam penelitian ini setiap individu akan dicek sesuai pelanggaran yang
dilakukan selanjutnya setiap individu diberikan nilai 1 setiap pelanggaran dan
akan terus bertambah jika pelanggaran semakin banyak.
Sebagai ilustrasi dapat lihat dibawah ini :

21

Ruang A

17.10-18.00

7
32

1

21
2

10.30-11.20

8

11.20-12.10

69

12.10-13.00

......

Sabtu

8

11.20-12.10

Jumat

2

10.30-11.20

25

08.50-09.40
09.40-10.30

Kamis

22

Rabu

08.00-08.50

21

Selasa

75
3

Senin

Sabtu

Jumat

Kamis

36

08.50-09.40
09.40-10.30

Rabu

Selasa

Senin

08.00-08.50

Ruang B

...

....

....

9

12.10-13.00

....

69

....

....

......

136

17.10-18.00

...

....

....

....

....

6

....
13

Gambar 4 Ilustrasi pelanggaran

Misal gen 36 : “Akuntasi biaya”, “Mila novira”,”2”,”MI-D3-2011”
Misal gen 22 : “Sistem Operasi”, “Fitra Nugraha”,”2”,”MI-D3-2011”
Misal gen 25 : “Akuntansi 2”, “Mila novira”,”2”,”SI-S1-2011”
Misal gen 21 : “Pemograman 1”, “Agus Wahyudin”,”2”,” SI-S1-2011”
Dari data diatas didapat beberapa pelanggaran yakni gen 36 dan gen 25
terjadi bentrok karena dosennya sama maka pelanggaranya ditambah 1,
selanjutnya gen 22 dan gen 21 terjadi bentrok karena kelasnya sama maka
pelaggaranya ditambah 1, berikut perhitungan fungsi fitnessnya :
�=

1
= 0,33
1 + (1 + 1 )

(5)

Seleksi
Seleksi dalam penelitian ini menggunakan seleksi ranking (rank based
selection), seleksi ini memberikan nilai fitness baru untuk masing-masing
kromosom berdasarkan rangking fitnessnya. Kromosom dengan fitness terburuk
atau terkecil akan memiliki nilai fitness baru sebesar 1, kemudian nilai terkecil
kedua akan diberi nilai 2 dan begitu seterusnya sampai yang terbesar diberi nilai
N, dimana N adalah jumlah kromosom dalam populasi. Nilai yang paling terbesar
tersebut yang akan diambil untuk proses selanjutnya. Dari perandoman jadwal dan
perhitungan fitness selanjutnya menghasilkan nilai fitness terbaik. Nilai fitness
akan diurutkan dari fitness terbesar.

22

Sebagai ilustrasi bisa dilihat dibawah ini :
Individu 1 :Fitness 0,003533569
Individu 2 :Fitness 0,003533569
Individu 3 :Fitness 0,003533569
Individu 4 :Fitness 0,003533569
Individu 5 :Fitness 0,003533569

Individu 6 :Fitness 0,003508772
Individu 7 :Fitness 0,003533569
Individu 8 :Fitness 0,003533569
Individu 9 :Fitness 0,003533569
Individu 10 :Fitness 0,003533569

Dari hasil evluasi fitness didapat nilai-nilai tersebut untuk dilakukan
perangkingan, berikut hasil perangkingana tersebut :
Ranking individu 1 = 2
Ranking individu 2 = 2
Ranking individu 3 = 2
Ranking individu 4 = 2
Ranking individu 5 = 2

Ranking individu 6 = 1
Ranking individu 7 = 2
Ranking individu 8 = 2
Ranking individu 9 = 2
Ranking individu 10 = 2

Selanjutnya dari hasil perangkingan tersebut didapatkan individu-individu
yang terbaik untuk dilakukan proses berikutnya yaitu crossover. Induk yang
terpilih adalah : Individu 2 , Individu 8 , Individu 3 , Individu1 , Individu 5 ,
Individu 7 , Individu4 , Individu 9 , Individu 10.

Crossover / Pindah silang
Crossover digunakan untuk menggabungkan gen-gen yang terdapat pada
orang tua untuk menghasilkan keturunan baru. Pada penelitian ini menggunakan
crossover 2 titik. Crossover 2 titik ini adalah crossover pada 2 titik tetentu yang
ditentukan secara random. Untuk menentukan sususan populasi baru hasil seleksi
maka dibangkitkan bilangan acak (random) antara [0 - 1], jika nilai acak tersebut
dibawah nilai probabilitas crossover maka akan dilakukan pidah silang/crossover
jika lebih besar maka pindah silang / crossover tidak terjadi misal nilai random
antara invividu 1 dan 2 lebih kecil dari yang ditetapkan probabilitas crossover,
maka terjadi random untuk titik kromosom 4 dan kromosom 5, sebagai ilustrasi
dapat dilihat pada gambar dibawah ini :
Nilai Random = 0,273629090876146, maka CrossOver terjadi antara induk 1
dengan induk 2 pada titik 230 dan titik 260

23

Induk 1
230

40

21

3

...

60

24

....

52

43

...

10

75

...

27

9

...

80

260

Induk 2

19

329

....

Keturunan baru pada induk 1 dan 2
19

52

43

...

10

9

....

9

...

80

19

52

43

...

10

75

....

24

...

80

Gambar 5 Desain kromsom dalam bentuk tabel

Mutasi
Proses mutasi adalah suatu proses kemungkinan memodifikasi informasi
gen-gen pada suatu kromosom Perubahan ini dapat membuat solusi duplikasi
menjadi memilik