Optimasi Penjadwalan Mata Kuliah Menggun (1)
Prosiding Konfrensi Nasional Ilmu Komputer 2012
Optimasi Penjadwalan Mata Kuliah Menggunakan
Algoritma Genetika Berbasis Permintaan Mahasiswa
Marwana
STIMED Nusa PalapaMakassar, Indonesia
[email protected]
Abstrak—Masalah penjadwalan mata kuliah dalam
suatu kampus merupakan hal yang rumit. Pada
penelitian
ini
dilakukan
pemecahan
masalah
penjadwalan mata kuliah menggunakan algoritma
genetika yang didasarkan atas permintaan mahasiswa
yaitu waktu-waktu luang dimana mahasiswa bisa
mengikuti perkulihaan. Proses penelitian menggunakan
data input berupa mahasiswa dengan jumlah mata
kuliah (teori/praktek) yang diambil, kode dan nama
mata kuliah yang diambil serta hari dan sesi jadwal
yang bisa, kemudian diolah menggunakan algoritma
genetika sehingga diperoleh optimasi penjadwalan yaitu
kondisi dimana terjadi kombinasi terbaik antara mata
kuliah dan waktu luang mahasiswa, serta ketersediaan
ruangan yang terbatas untuk seluruh mata kuliah yang
ada.
Kata kunci : Penjadwalan; mata kuliah; algoritma
genetika; permintaan mahasiswa
XVI. PENDAHULUAN
Masalah penjadwalan mata kuliah dalam suatu kampus,
masih menjadi isu yang menarik dan secara luas masih
diteliti oleh banyak peneliti di dunia. Pada banyak penelitian
sebelumnya mengenai penjadwalan ini kebanyakan peneliti
sebelumnya menitikberatkan pada waktu dosen yaitu jadwaljadwal di mana dosen bersangkutan bisa mengajar namun
pada penelitian ini yang terjadi justru sebaliknya yaitu waktu
dosen tidak menjadi syarat atau tetapan dan waktu
mahasiswa yang menjadi syarat atau tetapan. Waktu
mahasiswa disini yaitu jadwal-jadwal dimana mahasiswa
bersangkutan dapat mengikuti perkulihaan. Selain itu yang
perlu diperhatian yaitu pembagian ruangan kuliah yaitu mata
kuliah yang berhubungan dengan praktikum harus
ditempatkan di laboratorium sedangkan mata kuliah teori di
tempatkan di ruang kuliah biasa/teori.
Di samping aspek-aspek di atas, dalam penyusunan
jadwal kuliah ini pun terdapat sangat banyak kemungkinan
yang selayaknya dicoba untuk menemukan penjadwalan
yang terbaik. Karena itu dibutuhkan metode optimasi yang
dapat diterapkan untuk mengerjakan penjadwalan mata
kuliah ini. Salah satu metode yang dapat digunakan untuk
menyelesaikan permasalahan tersebut adalah dengan
menggunakan pendekatan algoritma genetika.
Algoritma
komputasional
genetika
merupakan
pendekatan
untukmenyelesaikan
masalah
yang
dimodelkan dengan proses biologi dari evolusi.Diharapkan
dengan digunakannya algoritma genetika akan diperoleh
optimasipenjadwalan yaitu kondisi dimana terjadi kombinasi
terbaik untuk pasangan matakuliah dan waktu mahasiswa,
serta ketersediaan ruangan yang terbatas untuk seluruh mata
kuliah yang ada.
XVII. LANDASAN TEORI
A. Penjadwalan
Penjadwalan memiliki pengertian secara khusus sebagai
durasi dari waktukerja yang dibutuhkan untuk melakukan
serangkaian aktivitas kerja yang ada dalamsuatu kegiatan
[1].
Penjadwalan
mata
kuliah
adalah
masalahmenempatkanwaktu dan ruangan kepada sejumlah
kuliah, tutorial, dan kegiatanakademik sejenis, dengan
memperhatikan sejumlah aturan yang berhubungandengan
kapasitas dan lokasi dari ruangan yang tersedia, waktu bebas
yangdiperlukan dan sejumlah aturan lain yang berkaitan [2].
Komponen-komponen utama dari penjadwalan mata
kuliah adalah dosen,mahasiswa, mata kuliah yang
ditawarkan, waktu dan ruangan kelas. Hasil dariproses
penjadwalan mata kuliah merupakan pengelompokan
komponen-komponen utama secara bersama-sama dengan
memperhatikan aturan-aturan yangtelah ditetapkan dalam
penjadwalan mata kuliah [3].
B. Algoritma Genetika
Algoritma genetika adalah algoritma pencarian yang
didasarkan atas mekanisme dari seleksi alam yang lebih
dikenal dengan proses evolusi. Dalam proses evolusi,
individu secara terus-menerus mengalami perubahan gen
untuk menyesuaikan dengan lingkungan hidupnya.
Hanyaindividu-individu yang kuat yang mampu bertahan.
Proses seleksi alamiah ini melibatkan perubahan gen yang
terjadi pada individu melalui proses perkembang-biakan.
Dalam algoritma genetika, proses perkembang-biakan ini
menjadi proses dasar yang menjadi perhatian utama, dengan
dasar berpikir : ―Bagaimana mendapatkan keturunan yang
lebih baik‖ [4].
Secara umum, dalam algoritma genetika terdapat 5 (lima)
proses, yaitu: pembentukan populasi awal, perhitungan nilai
fitness, seleksi, regenerasi (crossover dan mutasi),
penciptaan populasi baru hasil regenerasi. Tetapi dalam
kasus ini, dalam proses regenerasi, sebuah kromosom hanya
31
Prosiding Konfrensi Nasional Ilmu Komputer 2012
dilakukan proses crossover atau mutasi saja. Hal ini
dilakukan dengan asumsi bahwa dengan cara ini akan
didapatkan keturunan yang lebih baik.
Algoritma genetika yang digunakan disini berfungsi
untuk mendefinisikan permasalahan ke dalam suatu
kumpulan solusi yang disebut dengan kromosom, kemudian
melalui proses-proses yang ada dalam algoritma genetika,
dilakukan pencarian solusi yang paling optimal yang
didasarkan atas nilai fitness. Nilai fitness dihitung
berdasarkan jumlah bentrokan yang terjadi pada jadwal yang
dibuat. Semakin besar nilai fitness dalam proses evolusi,
maka semakin banyak jumlah bentrokan yang terjadi dari
solusi yang diberikan. Hal ini dapat dikatakan, bahwa dalam
proses algoritma genetika untuk masalah penjadwalan adalah
dicari nilai fitness sama dengan nol.
XVIII. PEMBAHASAN
Materi penelitian utama adalah sekumpulan data mata
kuliah, data mahasiswa dan ruangan kuliah. Diasumsikan
semua data tersebut sudah dimasukkan dalam database.
Keseluruhan dari tahapan proses dalam penelitian ini
seperti pada Gambar 1.berikut :
Data
Mahasiswa
Data
Ruangan
Data
Mata Kuliah
Database
Komponen
Jadwal
Data Masukan
Data Masukan
Pemetaan mahasiswa dan
ruangan yang digunakan
Data Masukan
2.
Ruangan Kuliah
Ruangan kuliah yang tersedia adalah ada 5 ruangan
kuliah biasa/teori dan ada 2 ruangan laboratorium.
3.
Lama kuliah
Diasumsikan
bahwa
setiap
mata
kuliah
lamanya/berdurasi 100 menit tanpa memperhatikan
berapa banyak sksnya ataupun karakteristik mata
kuliahnya apakah praktikum atau teori.
4.
Kapasitas kelas
Diasumsikan bahwa setiap jadwal sesi mata kuliah
dapat menampung maksimal 25 orang mahasiswa,
sehingga apabila melebihi 25 orang mahasiswa maka
akan dibuka kelas baru untuk jadwal sesi mata
kuliah yang sama tetapi menempati ruangan yang
berbeda.
A. Penerapan
Algoritma
Genetika
Pada
OptimasiPenjadwalan
1. Flowchart Program
Flowchart program dapat dilihat pada Gambar 2.
Flowchart ini terdiri dari delapan sub program yaitu
input data, proses data input, pembuatan kromosom dan
populasi, evaluasi fitness, seleksi, reproduksi kromosom
baru, mutasi, serta kondisi selesai.
Input Data
Proses
Data
Input
Buat jadwal
mata kuliah
Pengolahan Data
DDData
Generate Jadwal
Menggunakan Algoritma
Genetika
Database
Jadwal Hasil
Generate
ArtificialIntellege
nce
Pembuatan
Kromosom
dari
Evaluasi
Fitness
Gambar 1. Blok Diagram Tahapan
Proses Generate Jadwal
Seleksi
Berikut adalah hasil analisis data mentah untuk
dimasukkan sebagai bahan implementasi dalam
algoritma genetika :
1. Hari kuliah
Hari kuliah aktif adalah senin sampai dengan sabtu
yang dibagi dengan 6 sesi jadwal sebagai berikut :
Sesi 1 jam 08.00 sampai dengan 09.40
Sesi 2 jam 10.00 sampai dengan 11.40
Sesi 3 jam 13.00 sampai dengan 14.40
Sesi 4 jam 15.00 sampai dengan 16.40
Sesi 5 jam 17.00 sampai dengan 18.40
Sesi 6 jam 19.00 sampai dengan 20.40
Reproduksi
Kromosom
Baru
Mutasi
Cek
Kondisi
Kondisi
Selesai
Gambar 2. Flowchart Program
32
Prosiding Konfrensi Nasional Ilmu Komputer 2012
Data Input
Terdapat beberapa kelompok data yang perlu diberikan,
yaitu :
1. Tabel Mata Kuliah
2. Tabel Mahasiswa
3. Tabel Dosen
4. Tabel Ruangan
5. Bobot Fitness
6. Kondisi Selesai
Tabel mata kuliah berisikan daftar semua mata kuliah yang
akan dilaksanakan pada semester berjalan.
Tabel mahasiswa berisikan informasi tentang mahasiswa
termasuk jumlah mata kuliah (teori dan praktikum) yang
diambil, kode dan nama mata kuliah yang diambil serta hari
dan sesi jadwal yang bisa diikuti.
Tabel dosen berisi informasi tentang dosen
Tabel ruangan berisi informasi tentang ruangan yang dapat
digunakan untuk proses perkuliahaan.
Proses data input
1. Input NIM dan nama mahasiswa
2. Input jumlah mata kuliah yang diambil, mata kuliah teori
dan praktikum
3. Input kode mata kuliah dan nama mata kuliah yang
diambil
4. Input hari dan jadwal sesi yang bisa diikuti
5. Jumlah jadwal sesi yang diinput harus lebih besar sama
dengan batas sesi.
6. Rumus batas sesi = Banyaknya mata kuliah yang diambil
* 1,5. Misalnya jumlah mata kuliah yang diambil = 10,
maka jumlah jadwal sesi yang diinput harus lebih besar
sama dengan 15 (10*1,5). Apabila yang diinput lebih
kecil dari batas sesi maka akan muncul pesan untuk
menginput kembali sampai sama dengan batas sesi.
7. Selanjutnya akan tersimpan informasi mengenai masingmasing mahasiswa dengan jumlah mata kuliah yang
diambil, kode dan nama mata kuliah yang diambil dan
jadwal sesi yang mereka bisa.
8. Informasi tersebut disimpan pada tabel prioritas mata
kuliah.
Pembuatan Kromosom dan Populasi
Berdasarkan urutan dari Tabel Prioritas Mata Kuliah,
akan dikelompokkan mahasiswa berdasarkan mata kuliah
yang mereka ambil setelah itu algoritma akan mengecek
mahasiswa-mahasiswa yang mengambil matakuliah yang
sama dan memilih sesi jadwal yang sama pula. Mereka yang
mempunyai kecocokan akan dibagi kedalam sebuah jadwal
kelas kuliah. Tapi perlu diingat kapasitas kelas yang hanya
bisa menampung maksimal 25 mahasiswa maka jika
terdapat suatu populasi yang melebihi dari itu yang dibentuk
sebuah kelas baru.
Evaluasi Fitness
Nilai fitness merupakan nilai yangdigunakan sebagai
acuan untuk prosesseleksi dan reproduksi. Nilai fitnesssetiap
populasi dihitung berdasarkanjumlah bentrokan yang terjadi
padapopulasi awal. Semakin besar nilaifitness dari setiap
individu maka semakinbesar bentrokan yang terjadi,
yangberarti bahwa individu tersebut tidak baikdigunakan
sebagai induk untuk prosesreproduksi. Dan sebaliknya
semakinkecil nilai fitness dari setiap individumaka semakin
kecil terjadinya
bentrokan, yang berarti semakin baikindividu tersebut
digunakan sebagaiinduk dalam proses reproduksi.
Nilaifitness diurut ascending, kemudianseleksi untuk
crossover
diambil
darikromosom
dengan
fitness
terkecilsejumlah peluang crossover. Nilai fitnessdihitung
menggunakan rumus berikut:
NF (nilai fitness) = ∑bentrokan mahasiswa
+∑bentrokanruangan
Dimana masing-masing bentrokanmempunyai bobot yang
sama. Setiap kaliterjadi bentrokan pada setiap
individu,maka nilai fitness akan bertambah 1(satu).
Seleksi
Untuk mendapatkan solusi yang terbaik, makaprogram
harus menyeleksi solusi yang memiliki nilaifitness yang
tergolong rendah. Seleksi menggunakanmetode good fitness
yaitu setengah dari jumlah populasiyang memiliki harga
fitness yang terendah akandihilangkan sehingga akan hanya
selalu tersisasekelompok solusi yang terbaik yang pernah
diperoleholeh program. Solusi yang tersisa hasil seleksi ini
dikenaldengan nama populasi induk.Agar jumlah populasi
tetap, maka perlu dibangkitkansolusi baru sebanyak
setengah dari jumlah populasi yangada. Kapasitas kelas
Reproduksi Kromosom Baru
Setengah dari
jumlah populasi baru akan
dibangkitkandengan cara reproduksi kromosom baru.
Yaitupenyusunan alternatif solusi penjadwalan secara
acakkembali untuk setiap mata kuliah. Proses ini sama
denganlangkah ketiga yang telah dibahas.Dengan proses ini
maka akan dihasilkan sekelompokpopulasi baru yang benarbenar berbeda dengan populasiinduknya.
Mutasi
Adapun
setengah
populasi
baru
lainnya
akandibangkitkan dengan cara mutasi. Yaitu setengah
daripopulasi induk akan dipilih untuk diduplikasi.
Pemilihandapat dilakukan dengan metode good fitness dan
random. Pada hasil duplikasi ini akandilakukan sedikit
percobaan terhadap posisi penjadwalanbeberapa mata
kuliah.
Proses mutasi ini adalah suatuproses eksploitasi
terhadap kemungkinan-kemungkinanmodifikasi pada jadwal
yang telah ada.Perubahan posisi beberapa mata kuliah ini
(mutasi)dapat membuat solusi duplikasi ini menjadi
memiliki nilaifitness yang lebih rendah maupun lebih tinggi
33
Prosiding Konfrensi Nasional Ilmu Komputer 2012
daripadasolusi induknya. Jika ternyata diperoleh solusi
yangmemiliki fitness yang lebih tinggi maka hal itulah
yangdiharapkan. Tetapi jika diperoleh solusi dengan
nilaifitness yang lebih rendah maka bisa jadi pada
iterasiberikutnya diperoleh solusi hasil mutasi yang lebih
baiknilai
fitnessnya
daripada
solusi
induknya.
Maksudnyaadalah tidak menjadi masalah jika solusi hasil
mutasi inimengalami penurunan nilai fitness daripada
solusiinduknya. Kita hanya perlu untuk mengacuhkannya
sajadan tetap memberikan perhatian pada solusi terbaik
yangtelah dicapai.
Kondisi Selesai
Terdapat
tiga
kondisi
selesai
yang
dapat
menghentikanproses algoritma pemrograman ini, yaitu:
1. Jika
setelah
beberapa
generasi
berturut-turut
nilaifitnessterbaik
dari
populasi
tidak
mengalamiperubahan kembali
2. Jika jumlah generasi atau iterasi maksimum telahtercapai.
3. Jika nilai fitness terbaik minimal telah tercapai.Jika salah
satu kondisi di atas telah diperoleh makaiterasi akan
dihentikan.dan jika salah satu kondisi selesaiini belum
tercapai maka program akan mengulangkembali proses ini
/ iterasi dari langkah keempat yaituevaluasi fitness
terhadap populasi baru tadi.
XIX. KESIMPULAN
Dengan bantuan Algoritma Genetika penyusunan
penjadwalan mata kuliah dapat dioptimalkan. Program dapat
mencari solusi penjadwalan pada waktu yang dapat
digunakan baik oleh mahasiswa dan ruangan yang terlibat
dalam suatu mata kuliah. Dengan ini kita dapat
menghasilkan sebuah solusi untuk mahasiswa yang
mempunyai waktu terbatas dan memanfaatkan jumlah
ruangan yang terbatas. Dengan menggunakan metode best
fitness, maka Algoritma Genetika akan selalu menunjukkan
kenaikan fitness atau dengan kata lain generasi selanjutnya
lebih baik atau minimal sama dengan generasi sebelumnya
REFERENSI
Bennatan, E.M., 1995, one time within budget :
software project management practise technigue. New
york : john wiley and sons, Inc.
[22] Ross, P., Corne, D., Fang, H.L., 1994,Successful
Lecture Timetabling with Evolutionary Algorithm,
Departement of Artificial Intelligence, Universityof
Edinburgh, U.K
[23] Lee, H.S.C., 2000,Timetabling Highly Constrained
System Via Genetic Algorithm (tesis), Department of
Mathematics, College of Science,University of
thePhilippines, Diliman, Quezon City
[24] Setemen, Komang, 2008, Optimasi generate jadwal
mata kuliah menggunakan algoritma genetika dan tabu
serch, Universitas Pendidikan GaneshaSingaraja, Bali
[21]
34
Optimasi Penjadwalan Mata Kuliah Menggunakan
Algoritma Genetika Berbasis Permintaan Mahasiswa
Marwana
STIMED Nusa PalapaMakassar, Indonesia
[email protected]
Abstrak—Masalah penjadwalan mata kuliah dalam
suatu kampus merupakan hal yang rumit. Pada
penelitian
ini
dilakukan
pemecahan
masalah
penjadwalan mata kuliah menggunakan algoritma
genetika yang didasarkan atas permintaan mahasiswa
yaitu waktu-waktu luang dimana mahasiswa bisa
mengikuti perkulihaan. Proses penelitian menggunakan
data input berupa mahasiswa dengan jumlah mata
kuliah (teori/praktek) yang diambil, kode dan nama
mata kuliah yang diambil serta hari dan sesi jadwal
yang bisa, kemudian diolah menggunakan algoritma
genetika sehingga diperoleh optimasi penjadwalan yaitu
kondisi dimana terjadi kombinasi terbaik antara mata
kuliah dan waktu luang mahasiswa, serta ketersediaan
ruangan yang terbatas untuk seluruh mata kuliah yang
ada.
Kata kunci : Penjadwalan; mata kuliah; algoritma
genetika; permintaan mahasiswa
XVI. PENDAHULUAN
Masalah penjadwalan mata kuliah dalam suatu kampus,
masih menjadi isu yang menarik dan secara luas masih
diteliti oleh banyak peneliti di dunia. Pada banyak penelitian
sebelumnya mengenai penjadwalan ini kebanyakan peneliti
sebelumnya menitikberatkan pada waktu dosen yaitu jadwaljadwal di mana dosen bersangkutan bisa mengajar namun
pada penelitian ini yang terjadi justru sebaliknya yaitu waktu
dosen tidak menjadi syarat atau tetapan dan waktu
mahasiswa yang menjadi syarat atau tetapan. Waktu
mahasiswa disini yaitu jadwal-jadwal dimana mahasiswa
bersangkutan dapat mengikuti perkulihaan. Selain itu yang
perlu diperhatian yaitu pembagian ruangan kuliah yaitu mata
kuliah yang berhubungan dengan praktikum harus
ditempatkan di laboratorium sedangkan mata kuliah teori di
tempatkan di ruang kuliah biasa/teori.
Di samping aspek-aspek di atas, dalam penyusunan
jadwal kuliah ini pun terdapat sangat banyak kemungkinan
yang selayaknya dicoba untuk menemukan penjadwalan
yang terbaik. Karena itu dibutuhkan metode optimasi yang
dapat diterapkan untuk mengerjakan penjadwalan mata
kuliah ini. Salah satu metode yang dapat digunakan untuk
menyelesaikan permasalahan tersebut adalah dengan
menggunakan pendekatan algoritma genetika.
Algoritma
komputasional
genetika
merupakan
pendekatan
untukmenyelesaikan
masalah
yang
dimodelkan dengan proses biologi dari evolusi.Diharapkan
dengan digunakannya algoritma genetika akan diperoleh
optimasipenjadwalan yaitu kondisi dimana terjadi kombinasi
terbaik untuk pasangan matakuliah dan waktu mahasiswa,
serta ketersediaan ruangan yang terbatas untuk seluruh mata
kuliah yang ada.
XVII. LANDASAN TEORI
A. Penjadwalan
Penjadwalan memiliki pengertian secara khusus sebagai
durasi dari waktukerja yang dibutuhkan untuk melakukan
serangkaian aktivitas kerja yang ada dalamsuatu kegiatan
[1].
Penjadwalan
mata
kuliah
adalah
masalahmenempatkanwaktu dan ruangan kepada sejumlah
kuliah, tutorial, dan kegiatanakademik sejenis, dengan
memperhatikan sejumlah aturan yang berhubungandengan
kapasitas dan lokasi dari ruangan yang tersedia, waktu bebas
yangdiperlukan dan sejumlah aturan lain yang berkaitan [2].
Komponen-komponen utama dari penjadwalan mata
kuliah adalah dosen,mahasiswa, mata kuliah yang
ditawarkan, waktu dan ruangan kelas. Hasil dariproses
penjadwalan mata kuliah merupakan pengelompokan
komponen-komponen utama secara bersama-sama dengan
memperhatikan aturan-aturan yangtelah ditetapkan dalam
penjadwalan mata kuliah [3].
B. Algoritma Genetika
Algoritma genetika adalah algoritma pencarian yang
didasarkan atas mekanisme dari seleksi alam yang lebih
dikenal dengan proses evolusi. Dalam proses evolusi,
individu secara terus-menerus mengalami perubahan gen
untuk menyesuaikan dengan lingkungan hidupnya.
Hanyaindividu-individu yang kuat yang mampu bertahan.
Proses seleksi alamiah ini melibatkan perubahan gen yang
terjadi pada individu melalui proses perkembang-biakan.
Dalam algoritma genetika, proses perkembang-biakan ini
menjadi proses dasar yang menjadi perhatian utama, dengan
dasar berpikir : ―Bagaimana mendapatkan keturunan yang
lebih baik‖ [4].
Secara umum, dalam algoritma genetika terdapat 5 (lima)
proses, yaitu: pembentukan populasi awal, perhitungan nilai
fitness, seleksi, regenerasi (crossover dan mutasi),
penciptaan populasi baru hasil regenerasi. Tetapi dalam
kasus ini, dalam proses regenerasi, sebuah kromosom hanya
31
Prosiding Konfrensi Nasional Ilmu Komputer 2012
dilakukan proses crossover atau mutasi saja. Hal ini
dilakukan dengan asumsi bahwa dengan cara ini akan
didapatkan keturunan yang lebih baik.
Algoritma genetika yang digunakan disini berfungsi
untuk mendefinisikan permasalahan ke dalam suatu
kumpulan solusi yang disebut dengan kromosom, kemudian
melalui proses-proses yang ada dalam algoritma genetika,
dilakukan pencarian solusi yang paling optimal yang
didasarkan atas nilai fitness. Nilai fitness dihitung
berdasarkan jumlah bentrokan yang terjadi pada jadwal yang
dibuat. Semakin besar nilai fitness dalam proses evolusi,
maka semakin banyak jumlah bentrokan yang terjadi dari
solusi yang diberikan. Hal ini dapat dikatakan, bahwa dalam
proses algoritma genetika untuk masalah penjadwalan adalah
dicari nilai fitness sama dengan nol.
XVIII. PEMBAHASAN
Materi penelitian utama adalah sekumpulan data mata
kuliah, data mahasiswa dan ruangan kuliah. Diasumsikan
semua data tersebut sudah dimasukkan dalam database.
Keseluruhan dari tahapan proses dalam penelitian ini
seperti pada Gambar 1.berikut :
Data
Mahasiswa
Data
Ruangan
Data
Mata Kuliah
Database
Komponen
Jadwal
Data Masukan
Data Masukan
Pemetaan mahasiswa dan
ruangan yang digunakan
Data Masukan
2.
Ruangan Kuliah
Ruangan kuliah yang tersedia adalah ada 5 ruangan
kuliah biasa/teori dan ada 2 ruangan laboratorium.
3.
Lama kuliah
Diasumsikan
bahwa
setiap
mata
kuliah
lamanya/berdurasi 100 menit tanpa memperhatikan
berapa banyak sksnya ataupun karakteristik mata
kuliahnya apakah praktikum atau teori.
4.
Kapasitas kelas
Diasumsikan bahwa setiap jadwal sesi mata kuliah
dapat menampung maksimal 25 orang mahasiswa,
sehingga apabila melebihi 25 orang mahasiswa maka
akan dibuka kelas baru untuk jadwal sesi mata
kuliah yang sama tetapi menempati ruangan yang
berbeda.
A. Penerapan
Algoritma
Genetika
Pada
OptimasiPenjadwalan
1. Flowchart Program
Flowchart program dapat dilihat pada Gambar 2.
Flowchart ini terdiri dari delapan sub program yaitu
input data, proses data input, pembuatan kromosom dan
populasi, evaluasi fitness, seleksi, reproduksi kromosom
baru, mutasi, serta kondisi selesai.
Input Data
Proses
Data
Input
Buat jadwal
mata kuliah
Pengolahan Data
DDData
Generate Jadwal
Menggunakan Algoritma
Genetika
Database
Jadwal Hasil
Generate
ArtificialIntellege
nce
Pembuatan
Kromosom
dari
Evaluasi
Fitness
Gambar 1. Blok Diagram Tahapan
Proses Generate Jadwal
Seleksi
Berikut adalah hasil analisis data mentah untuk
dimasukkan sebagai bahan implementasi dalam
algoritma genetika :
1. Hari kuliah
Hari kuliah aktif adalah senin sampai dengan sabtu
yang dibagi dengan 6 sesi jadwal sebagai berikut :
Sesi 1 jam 08.00 sampai dengan 09.40
Sesi 2 jam 10.00 sampai dengan 11.40
Sesi 3 jam 13.00 sampai dengan 14.40
Sesi 4 jam 15.00 sampai dengan 16.40
Sesi 5 jam 17.00 sampai dengan 18.40
Sesi 6 jam 19.00 sampai dengan 20.40
Reproduksi
Kromosom
Baru
Mutasi
Cek
Kondisi
Kondisi
Selesai
Gambar 2. Flowchart Program
32
Prosiding Konfrensi Nasional Ilmu Komputer 2012
Data Input
Terdapat beberapa kelompok data yang perlu diberikan,
yaitu :
1. Tabel Mata Kuliah
2. Tabel Mahasiswa
3. Tabel Dosen
4. Tabel Ruangan
5. Bobot Fitness
6. Kondisi Selesai
Tabel mata kuliah berisikan daftar semua mata kuliah yang
akan dilaksanakan pada semester berjalan.
Tabel mahasiswa berisikan informasi tentang mahasiswa
termasuk jumlah mata kuliah (teori dan praktikum) yang
diambil, kode dan nama mata kuliah yang diambil serta hari
dan sesi jadwal yang bisa diikuti.
Tabel dosen berisi informasi tentang dosen
Tabel ruangan berisi informasi tentang ruangan yang dapat
digunakan untuk proses perkuliahaan.
Proses data input
1. Input NIM dan nama mahasiswa
2. Input jumlah mata kuliah yang diambil, mata kuliah teori
dan praktikum
3. Input kode mata kuliah dan nama mata kuliah yang
diambil
4. Input hari dan jadwal sesi yang bisa diikuti
5. Jumlah jadwal sesi yang diinput harus lebih besar sama
dengan batas sesi.
6. Rumus batas sesi = Banyaknya mata kuliah yang diambil
* 1,5. Misalnya jumlah mata kuliah yang diambil = 10,
maka jumlah jadwal sesi yang diinput harus lebih besar
sama dengan 15 (10*1,5). Apabila yang diinput lebih
kecil dari batas sesi maka akan muncul pesan untuk
menginput kembali sampai sama dengan batas sesi.
7. Selanjutnya akan tersimpan informasi mengenai masingmasing mahasiswa dengan jumlah mata kuliah yang
diambil, kode dan nama mata kuliah yang diambil dan
jadwal sesi yang mereka bisa.
8. Informasi tersebut disimpan pada tabel prioritas mata
kuliah.
Pembuatan Kromosom dan Populasi
Berdasarkan urutan dari Tabel Prioritas Mata Kuliah,
akan dikelompokkan mahasiswa berdasarkan mata kuliah
yang mereka ambil setelah itu algoritma akan mengecek
mahasiswa-mahasiswa yang mengambil matakuliah yang
sama dan memilih sesi jadwal yang sama pula. Mereka yang
mempunyai kecocokan akan dibagi kedalam sebuah jadwal
kelas kuliah. Tapi perlu diingat kapasitas kelas yang hanya
bisa menampung maksimal 25 mahasiswa maka jika
terdapat suatu populasi yang melebihi dari itu yang dibentuk
sebuah kelas baru.
Evaluasi Fitness
Nilai fitness merupakan nilai yangdigunakan sebagai
acuan untuk prosesseleksi dan reproduksi. Nilai fitnesssetiap
populasi dihitung berdasarkanjumlah bentrokan yang terjadi
padapopulasi awal. Semakin besar nilaifitness dari setiap
individu maka semakinbesar bentrokan yang terjadi,
yangberarti bahwa individu tersebut tidak baikdigunakan
sebagai induk untuk prosesreproduksi. Dan sebaliknya
semakinkecil nilai fitness dari setiap individumaka semakin
kecil terjadinya
bentrokan, yang berarti semakin baikindividu tersebut
digunakan sebagaiinduk dalam proses reproduksi.
Nilaifitness diurut ascending, kemudianseleksi untuk
crossover
diambil
darikromosom
dengan
fitness
terkecilsejumlah peluang crossover. Nilai fitnessdihitung
menggunakan rumus berikut:
NF (nilai fitness) = ∑bentrokan mahasiswa
+∑bentrokanruangan
Dimana masing-masing bentrokanmempunyai bobot yang
sama. Setiap kaliterjadi bentrokan pada setiap
individu,maka nilai fitness akan bertambah 1(satu).
Seleksi
Untuk mendapatkan solusi yang terbaik, makaprogram
harus menyeleksi solusi yang memiliki nilaifitness yang
tergolong rendah. Seleksi menggunakanmetode good fitness
yaitu setengah dari jumlah populasiyang memiliki harga
fitness yang terendah akandihilangkan sehingga akan hanya
selalu tersisasekelompok solusi yang terbaik yang pernah
diperoleholeh program. Solusi yang tersisa hasil seleksi ini
dikenaldengan nama populasi induk.Agar jumlah populasi
tetap, maka perlu dibangkitkansolusi baru sebanyak
setengah dari jumlah populasi yangada. Kapasitas kelas
Reproduksi Kromosom Baru
Setengah dari
jumlah populasi baru akan
dibangkitkandengan cara reproduksi kromosom baru.
Yaitupenyusunan alternatif solusi penjadwalan secara
acakkembali untuk setiap mata kuliah. Proses ini sama
denganlangkah ketiga yang telah dibahas.Dengan proses ini
maka akan dihasilkan sekelompokpopulasi baru yang benarbenar berbeda dengan populasiinduknya.
Mutasi
Adapun
setengah
populasi
baru
lainnya
akandibangkitkan dengan cara mutasi. Yaitu setengah
daripopulasi induk akan dipilih untuk diduplikasi.
Pemilihandapat dilakukan dengan metode good fitness dan
random. Pada hasil duplikasi ini akandilakukan sedikit
percobaan terhadap posisi penjadwalanbeberapa mata
kuliah.
Proses mutasi ini adalah suatuproses eksploitasi
terhadap kemungkinan-kemungkinanmodifikasi pada jadwal
yang telah ada.Perubahan posisi beberapa mata kuliah ini
(mutasi)dapat membuat solusi duplikasi ini menjadi
memiliki nilaifitness yang lebih rendah maupun lebih tinggi
33
Prosiding Konfrensi Nasional Ilmu Komputer 2012
daripadasolusi induknya. Jika ternyata diperoleh solusi
yangmemiliki fitness yang lebih tinggi maka hal itulah
yangdiharapkan. Tetapi jika diperoleh solusi dengan
nilaifitness yang lebih rendah maka bisa jadi pada
iterasiberikutnya diperoleh solusi hasil mutasi yang lebih
baiknilai
fitnessnya
daripada
solusi
induknya.
Maksudnyaadalah tidak menjadi masalah jika solusi hasil
mutasi inimengalami penurunan nilai fitness daripada
solusiinduknya. Kita hanya perlu untuk mengacuhkannya
sajadan tetap memberikan perhatian pada solusi terbaik
yangtelah dicapai.
Kondisi Selesai
Terdapat
tiga
kondisi
selesai
yang
dapat
menghentikanproses algoritma pemrograman ini, yaitu:
1. Jika
setelah
beberapa
generasi
berturut-turut
nilaifitnessterbaik
dari
populasi
tidak
mengalamiperubahan kembali
2. Jika jumlah generasi atau iterasi maksimum telahtercapai.
3. Jika nilai fitness terbaik minimal telah tercapai.Jika salah
satu kondisi di atas telah diperoleh makaiterasi akan
dihentikan.dan jika salah satu kondisi selesaiini belum
tercapai maka program akan mengulangkembali proses ini
/ iterasi dari langkah keempat yaituevaluasi fitness
terhadap populasi baru tadi.
XIX. KESIMPULAN
Dengan bantuan Algoritma Genetika penyusunan
penjadwalan mata kuliah dapat dioptimalkan. Program dapat
mencari solusi penjadwalan pada waktu yang dapat
digunakan baik oleh mahasiswa dan ruangan yang terlibat
dalam suatu mata kuliah. Dengan ini kita dapat
menghasilkan sebuah solusi untuk mahasiswa yang
mempunyai waktu terbatas dan memanfaatkan jumlah
ruangan yang terbatas. Dengan menggunakan metode best
fitness, maka Algoritma Genetika akan selalu menunjukkan
kenaikan fitness atau dengan kata lain generasi selanjutnya
lebih baik atau minimal sama dengan generasi sebelumnya
REFERENSI
Bennatan, E.M., 1995, one time within budget :
software project management practise technigue. New
york : john wiley and sons, Inc.
[22] Ross, P., Corne, D., Fang, H.L., 1994,Successful
Lecture Timetabling with Evolutionary Algorithm,
Departement of Artificial Intelligence, Universityof
Edinburgh, U.K
[23] Lee, H.S.C., 2000,Timetabling Highly Constrained
System Via Genetic Algorithm (tesis), Department of
Mathematics, College of Science,University of
thePhilippines, Diliman, Quezon City
[24] Setemen, Komang, 2008, Optimasi generate jadwal
mata kuliah menggunakan algoritma genetika dan tabu
serch, Universitas Pendidikan GaneshaSingaraja, Bali
[21]
34