Anda di halaman 1dari 10

Majalah Ilmiah Unikom, Vol.6, hlm.

17-25
APLIKASI ALGORITMA GENETIK

Bidang Teknik

APLIKASI ALGORITMA GENETIK UNTUK


OPTIMASI PENJADWALAN MATA KULIAH
MUHAMMAD ARIA

Jurusan Teknik Elektro


Universitas Komputer Indonesia

Artikel ini membahas pengembangan aplikasi algoritma genetik, sebagai salah satu
metode optimasi, untuk melakukan penjadwalan mata kuliah. Dalam membangun
alternatif solusi, algoritma genetik akan mempertimbangkan aspek ketersediaan
waktu dosen untuk mengajar; jadwal-jadwal yang telah ditentukan oleh pihak
laboratorium serta tidak boleh adanya jadwal kuliah yang beririsan dengan jadwal
kuliah angkatan sebelum maupun sesudahnya. Fitness dari solusi algoritma genetik
dihitung berdasarkan kemerataan distribusi mengajar setiap dosen; kemerataan
distribusi kuliah setiap kelas, jumlah kuliah yang berdekatan setiap angkatannya
serta jumlah jam yang tidak digunakan di pagi hari. Pengaplikasian algoritma
genetik ini diuji dengan program LabVIEW 6.1. dan dilakukan dalam 100 generasi,
di mana setiap generasi terdiri dari 10 kromosom. Pada hasil akhir iterasi
diperoleh solusi penjadwalan mata kuliah dengan harga fitness 0,0083.

Algoritma genetik, populasi, kromosom, fitness, representasi permutasi, mutasi.

PENDAHULUAN 4. Distribusi jadwal perkuliahan diharapkan


dapat merata tiap harinya untuk setiap
Penjadwalan mata kuliah merupakan kelas.
pekerjaan yang tidak mudah. Terdapat 5. Pekerjaan penjadwalan mata kuliah ini
berbagai aspek yang berkaitan dalam akan semakin berat jika melibatkan
penjadwalan tersebut yang harus dilibatkan semakin banyak kelas per angkatannya.
dalam pertimbangan di antaranya :
1. Terdapat jadwal-jadwal di mana dosen Di samping aspek-aspek di atas, dalam
yang bersangkutan tidak bisa mengajar penyusunan jadwal kuliah ini pun terdapat
baik karena sedang tugas belajar di jenjang sangat banyak kemungkinan yang selayaknya
lebih lanjut maupun karena sudah dicoba untuk menemukan penjadwalan yang
memiliki jadwal mengajar di jurusan lain terbaik. Sebagai contoh jika dalam satu hari
2. Terdapat jadwal-jadwal yang telah terdapat 14 jam kuliah, maka untuk satu
ditentukan oleh pihak laboratorium untuk ruangan kuliah terdapat lebih dari 3 x 10 126
kelas-kelas tertentu (hasil faktorial dari 84) kemungkinan
3. Tidak boleh adanya jadwal kuliah yang penyusunan jadwal kuliah yang berbeda.
beririsan dengan jadwal kuliah angkatan
sebelumnya maupun sesudahnya, sehingga Karena itu akan sangat membantu jika ada
mahasiswa dapat mengambil mata kuliah metode optimasi yang dapat diterapkan untuk
angkatan sebelumnya maupun sesudahnya. mengerjakan penjadwalan mata kuliah ini.

Alamat korespondensi pada Muhammad Aria, Jurusan Teknik Elektro Universitas Komputer Indonesia, Jalan Dipati
Ukur 114, Bandung 40132. Tel. +62813 21271554. Email : aria554@yahoo.com

17
MUHAMMAD ARIA

ALGORITMA GENETIK UNTUK yang tinggi, disebut sebagai kromosom


KASUS PERMUTASI induk. Setelah proses seleksi ini, langkah
berikutnya adalah membuat kromosom-
Algoritma Genetik adalah suatu algoritma kromosom baru agar jumlah populasi tetap.
optimasi yang meniru mekanisme dari
genetika alam. Sebenarnya terdapat banyak Re-produksi
sekali variasi pada algoritma genetik di
banyak referensi. Pada dasarnya, untuk kasus Salah satu cara untuk membuat kromosom
permutasi, algoritma genetik memiliki enam baru adalah dengan membangkitkan
komponen langkah utama sebagai berikut : alternatif kromosom baru secara acak. Hal
ini dapat menghindarkan algoritma genetik
Membuat populasi awal dari terjebak pada optimum lokal.

Seperti dalam metode random search method, Mutasi


pencarian solusi dimulai dari suatu titik uji
tertentu. Titik uji tersebut dianggap sebagai Cara lainnya dalam membuat kromosom
alternatif solusi. Pada algoritma genetic, baru adalah dengan cara menggandakan
dibuat kumpulan dari alternatif solusi yang kromosom induk. Dari hasil penggandaan ini
disebut sebagai populasi. Dengan adanya lalu akan dilakukan sedikit perubahan pada
populasi ini, maka algoritma genetic nilai gen-gennya sehingga nilai fitnessnya
melakukan proses pencariannya dari beberapa akan berubah. Proses ini dikenal dengan
titik uji sekaligus. Pemilihan nilai alternatif istilah mutasi. Proses ini tentu dapat
solusi ini dilakukan secara random. merubah nilai fitness kromosom yang
bersangkutan menjadi lebih rendah ataupun
Pengodean menjadi lebih tinggi. Diakhiri langkah ini
maka akan diperoleh kumpulan kromosom
Agar dapat diproses melalui algoritma baru (populasi baru) yang berbeda dengan
genetik, maka alternatif solusi tersebut harus populasi sebelumnya.
dikodekan terlebih dahulu ke dalam bentuk
kromosom. Masing-masing kromosom berisi Kondisi berhenti
sejumlah gen yang mengodekan informasi
yang disimpan di dalam kromosom. Jika kondisi berhenti telah terpenuhi, maka
algoritma genetik akan menghentikan proses
Nilai Fitness pencariannya, tetapi jika belum terpenuhi
maka algoritma genetik akan kembali ke
Suatu kromosom dievaluasi berdasarkan suatu langkah 2.
fungsi tertentu sebagai ukuran
performansinya. Dalam algoritma genetik, DESAIN DAN IMPLEMENTASI
kromosom yang memiliki fungsi fitness yang
tinggi akan dipertahankan sedangkan Flowchart Program
kromosom dengan harga fungsi fitness yang
rendah akan diganti. Flowchart program dapat dilihat pada
Gambar 1. Flowchart ini terdiri dari delapan
Seleksi. sub program yaitu input data; proses data
input; pembuatan kromosom dan populasi;
Sejumlah kromosom dari populasi dengan evaluasi fitness; seleksi; reproduksi
harga fitness yang rendah akan dieliminasi. kromosom baru; mutasi serta kondisi selesai.
Proses ini dikenal sebagai proses seleksi.
Kromosom yang tersisa, dengan harga fitness Input, output dan proses dari setiap

18
APLIKASI ALGORITMA GENETIK

4. Tabel Ruang
5. Bobot Fitness
6. Kondisi Selesai

Tabel Mata Kuliah berisikan daftar seluruh


mata kuliah yang akan dilaksanakan pada
semester yang bersangkutan. Data yang
perlu disertakan untuk setiap mata kuliah
yang ada adalah kelas peserta, jumlah sks,
dosen pengajar serta ruangan untuk mata
kuliah tersebut. Contoh dari Tabel Mata
Kuliah dapat dilihat pada Tabel 1.

Tabel 1
Contoh Tabel Mata Kuliah

Kelas Mata SKS Dosen


Kuliah
05TE-1 Konsep 2 Augie W.
Teknologi
05TE-1 Fisika 2 Muh.
Dasar Aria
Tabel Dosen; Tabel Kelas serta Tabel Ruang
adalah tabel waktu yang menginformasikan
waktu-waktu dari dosen, kelas dan ruangan
yang dapat digunakan untuk mata kuliah
yang bersangkutan. Perlu dipahami di sini
bahwa yang dimaksud Kelas adalah nama
kelas mahasiswa; seperti TE-1, TE-2, dll.
Adapun yang dimaksud dengan Ruang
adalah nama ruangan yang digunakan seperti
4403, Lab. Elektronika. Contoh dari Tabel
Kelas dapat dilihat pada Tabel 2.

Format pembagian kelompok waktu telah


ditentukan berdasarkan penentuan lama jam
Gambar 1 mengajar. Waktu yang tidak dapat
Flowchart Aplikasi GA digunakan untuk perkuliahan akan diberi
pada Penjadwalan Mata Kuliah harga “1”. Sedangkan waktu lainnya
dikosongkan, dan akan dianggap oleh
Subprogram akan dibahas berikut ini. komputer berharga “0”. Nama pemilik
jadwal waktu tersebut diletakkan pada
Input Data bagian atas tabel. Dari contoh tabel 2 dapat
terlihat bahwa kelas “05TE-1” tidak dapat
Terdapat enam masukan kelompok data yang melakukan perkuliahan pada setiap hari
perlu diberikan, yaitu : Jumat pukul 11.00 – 13.15.
1. Tabel Mata Kuliah
2. Tabel Dosen Penulis membuat Tabel Mata Kuliah; Tabel
3. Tabel Kelas Dosen; Tabel Kelas serta Tabel Ruang pada

19
MUHAMMAD ARIA

Tabel 2 setiap mata kuliah yang ada serta telah


Contoh Tabel Mata Kelas diurutkan dari mata kuliah yang paling sedikit
pilihan penjadwalannya hingga mata kuliah
05TE-1 yang terbanyak pilihan penjadwalannya.
Sn Sl Rb Km Jm Sb
Dari proses ini diharapkan tidak ada mata
07.00 – 07.15 kuliah yang tidak dapat teralokasikan
07.15 – 08.00 penjadwalannya dikarenakan pada jadwal-
jadwal yang memungkinkan bagi mata kuliah
08.00 – 08.45 tersebut telah digunakan oleh mata kuliah
08.45 – 09.30 lainnya.
09.30 – 10.15
Pembuatan Kromosom dan Populasi
10.15 – 11.00

11.00 – 11.45
Berdasarkan urutan dari Tabel Prioritas Mata
1
Kuliah, setiap mata kuliah akan dijadwalkan
11.45 – 12.30 1 ke dalam Tabel Jadwal Mata Kuliah secara
12.30 – 13.15 1 acak.
13.15 – 14.00
Agar diketahui apakah pada waktu tersebut
dosen; kelas maupun ruangan dapat
file spreadsheet dengan menggunakan digunakan untuk melaksanakan perkuliahan,
program Microsoft Excel, sehingga perlu maka Tabel Dosen; Tabel Ruang dan Tabel
diperhatikan bahwa penulisan nama dosen; Kelas untuk setiap mata kuliah serta Tabel
kelas dan ruang pada Tabel Mata Kuliah harus Mata Kuliah harus dipetakan terlebih dahulu
sama persis dengan penulisannya pada Tabel dalam Tabel Jadwal Mata Kuliah Bayangan
Dosen; Tabel Kelas dan Tabel Ruang. melalui operasi logika OR sehingga dapat
diketahui waktu mana saja yang tidak dapat
Bobot Fitness dan Kondisi Selesai akan digunakan dalam perkuliahan mata kuliah
diterangkan pada bagian selanjutnya. tersebut.
Proses Data Input Sebelum menjadwalkan suatu mata kuliah
pada Tabel Jadwal Mata Kuliah, algoritma
Agar dapat diproses dalam algoritma ini; akan mengecek terlebih dahulu kepada Tabel
Tabel Mata Kuliah; Tabel Dosen; Tabel Kelas Jadwal Mata Kuliah Bayangan untuk
dan Tabel Ruang harus digabungkan terlebih mengetahui apakah pada waktu tersebut dapat
dahulu menjadi Tabel Prioritas Mata Kuliah. digunakan untuk perkuliahan atau tidak. Jika
tidak maka algoritma didesain untuk mencari
Untuk menjadwalkan suatu Mata Kuliah, alokasi waktu lainnya.
perlu mempertimbangkan jadwal waktu
dosen, kelas dan ruangan yang tersedia. Maka Evaluasi Fitness
setiap mata kuliah akan memiliki banyaknya
pilihan penjadwalan yang berbeda. Bisa jadi Faktor-faktor yang mempengaruhi evaluasi
ada mata kuliah yang memiliki tiga pilihan fitness terhadap alternatif solusi adalah
hari dan bisa jadi ada mata kuliah yang hanya sebagai berikut :
memiliki satu pilihan hari saja. 1. Adakah pemecahan mata kuliah ?
Terhadap mata kuliah dengan bobot 3 SKS,
Tabel Prioritas Mata Kuliah berisikan program dapat memecah mata kuliah tersebut
banyaknya tingkat pilihan penjadwalan dari menjadi 2 atau 3 kelompok jam kuliah jika

20
APLIKASI ALGORITMA GENETIK

waktu penjadwalan yang ada tidak


memungkinkan untuk dilaksanakannya mata Kelas yang memiliki kuliah lebih dari 5 sks
kuliah tersebut dalam satu waktu. pada satu hari didefinisikan sebagai kelas
yang memiliki frekuensi kuliah yang tinggi.
Hal ini dibuat dengan tujuan memperluas
kemungkinan alternatif penjadwalan yang ada 5. Apakah ada mata kuliah yang dijadwalkan
terutama pada mata kuliah yang hanya berdekatan untuk satu kelasnya ?
memiliki sedikit alternatif penjadwalan. Idealnya mahasiswa memiliki waktu istirahat
antar dua mata kuliah yang ada dalam satu
Tetapi pemecahan mata kuliah ini akan hari sehingga kelelahan mahasiswa dalam
memperkecil nilai Fitness; sehingga kelak mengikuti mata kuliah pertama tidak
program akan cenderung menyeleksi solusi mengganggu proses belajar pada mata kuliah
penjadwalan yang memiliki pemecahan mata selanjutnya. Didefinisikan bahwa dua mata
kuliah yang terlalu banyak. kuliah yang berjarak kurang dari dua sks
untuk satu kelasnya digolongkan sebagai mata
2. Adakah waktu pagi yang kosong / tidak kuliah yang berdekatan dan dapat
digunakan perkuliahan ? memperkecil nilai fitness dari solusi yang
Untuk meningkatkan produktivitas pemakaian ditawarkan program.
ruangan, maka dikehendaki agar ruangan
dapat segera digunakan semenjak pagi hari. 6. Apakah ada dua mata kuliah yang
Jika program menawarkan solusi penjadwalan dijadwalkan berjauhan untuk satu kelasnya ?
di mana terdapat waktu pagi yang tidak Walaupun ada waktu jeda antar dua mata
digunakan, maka hal ini akan memperkecil kuliah, tetapi diharapkan juga mahasiswa
nilai fitness solusi. tidak menunggu terlalu lama antar dua mata
kuliah tersebut.
3. Apakah ada dosen yang memiliki frekuensi
mengajar yang tinggi dalam satu hari ? Rumus fitness yang digunakan adalah sebagai
Diinginkan agar tugas mengajar dosen dapat berikut:
terdistribusi merata di tiap hari kerjanya 1
dengan tujuan agar performansi dosen Fitness =
B1 xF1 + B2 xF2 + B3 xF3 + B4 xF4 + B5 xF5 + B6 xF6
sewaktu mengajar dapat tetap dijaga optimal.
Nilai fitness solusi akan berkurang jika dalam dengan :
solusi tersebut terdapat dosen yang memiliki F1 = Banyaknya mata kuliah yang dipecah
tingkat mengajar terlalu tinggi dalam satu F2 = Banyaknya waktu pagi yang kosong
harinya. Dalam program ini didefinisikan F3 = Banyaknya frekuensi jam mengajar yang
bahwa dosen yang mengajar lebih dari lima tinggi dari seorang dosen
sks tiap harinya telah digolongkan sebagai F4 = Banyaknya frekuensi jam kuliah yang
dosen yang memiliki frekuensi mengajar yang tinggi dari satu kelas
tinggi. F5 = Banyaknya mata kuliah yang berdekatan
F6 = Banyaknya mata kuliah yang berjauhan.
4. Apakah ada kelas yang memiliki frekuensi B1 = Bobot pemecahan mata kuliah
kuliah yang tinggi dalam satu hari ? B2 = Bobot waktu pagi yang kosong
Seperti halnya pada dosen, untuk menjaga B3 = Bobot frekuensi mengajar dosen
performansi belajar mahasiswa maka B4 = Bobot frekuensi kuliah kelas
diharapkan tidak ada jadwal kuliah yang B5 = Bobot mata kuliah yang berdekatan
terlalu padat dalam satu hari. Jika solusi B6 = Bobot mata kuliah yang berjauhan
menawarkan jadwal kuliah kelas yang terlalu
padat dalam satu hari, maka nilai fitness solusi Setiap faktor yang mempengaruhi nilai fitness
yang berkurang. di atas memiliki tingkat pengaruh yang

21
MUHAMMAD ARIA

berbeda terhadap nilai fitness. Tingkat memiliki harga fitness yang terendah akan
pengaruh ini disebut sebagai bobot. Jika suatu dihilangkan sehingga akan hanya selalu
faktor pengaruh memiliki harga bobot yang tersisa sekelompok solusi yang terbaik yang
tinggi maka setiap kali faktor tersebut terjadi pernah diperoleh oleh program. Solusi yang
dalam suatu solusi maka akan sangat tersisa hasil seleksi ini dikenal dengan nama
mengurangi nilai fitness dari solusi tersebut. populasi induk.
Dan sebaliknya jika suatu faktor memiliki
harga bobot yang kecil, maka tidak akan Agar jumlah populasi tetap, maka perlu
terlalu mengurangi nilai fitness dari solusi dibangkitkan solusi baru sebanyak setengah
meskipun faktor tersebut banyak terjadi dalam dari jumlah populasi yang ada. Dalam
solusi yang ditawarkan. program ini, cara yang digunakan untuk
membangkitkan solusi baru menggunakan dua
Dari rumus nilai fitness di atas dapat terlihat cara yaitu reproduksi kromosom baru dan cara
bahwa yang mempengaruhi besar nilai fitness mutasi dari solusi induk. Tujuan
adalah harga FN karena harga BN akan tetap pembangkitan solusi baru ini untuk
selama proses. Jika harga FN semakin besar menemukan alternatif solusi yang lebih baik
maka nilai Fitness akan semakin kecil. Karena dari solusi-solusi yang sudah diperoleh.
diinginkan solusi yang memiliki nilai Fitness
yang besar, maka program ini diharapkan Reproduksi Kromosom Baru
tidak terlalu banyak memunculkan faktor-
faktor pengaruh ini dalam solusi yang Setengah dari jumlah populasi baru akan
ditawarkan. dibangkitkan dengan cara reproduksi
kromosom baru. Yaitu penyusunan alternatif
Nilai bobot setiap faktor pengaruh yang solusi penjadwalan secara acak kembali untuk
digunakan dalam aplikasi ini dapat dilihat setiap mata kuliah. Proses ini sama dengan
pada Tabel 3. langkah ketiga yang telah dibahas.
Tabel 3 Dengan proses ini maka akan dihasilkan
Harga bobot sekelompok populasi baru yang benar-benar
Faktor pengaruh Harga berbeda dengan populasi induknya.
Bobot
Mutasi
Pemecahan mata kuliah 50
Adapun setengah populasi baru lainnya akan
Waktu pagi yang kosong 5
dibangkitkan dengan cara mutasi. Yaitu
Frekuensi mengajar dosen 20 setengah dari populasi induk akan dipilih
untuk diduplikasi. Pemilihan dapat dilakukan
Frekuensi kuliah kelas 20 dengan metode good fitness, random maupun
Mata kuliah berdekatan 5 roulette whell. Pada hasil duplikasi ini akan
dilakukan sedikit percobaan terhadap posisi
Mata kuliah berjauhan 5 penjadwalan beberapa mata kuliah. Proses
mutasi ini adalah suatu proses eksploitasi
Seleksi terhadap kemungkinan-kemungkinan
modifikasi pada jadwal yang telah ada.
Untuk mendapatkan solusi yang terbaik, maka
program harus menyeleksi solusi yang Perubahan posisi beberapa mata kuliah ini /
memiliki nilai fitness yang tergolong rendah. mutasi dapat membuat solusi duplikasi ini
Seleksi menggunakan metode good fitness menjadi memiliki nilai fitness yang lebih
yaitu setengah dari jumlah populasi yang rendah maupun lebih tinggi daripada solusi

22
APLIKASI ALGORITMA GENETIK

induknya. Jika ternyata diperoleh solusi yang


memiliki fitness yang lebih tinggi maka hal
itulah yang diharapkan. Tetapi jika diperoleh
solusi dengan nilai fitness yang lebih rendah
maka bisa jadi pada iterasi berikutnya
diperoleh solusi hasil mutasi yang lebih baik
nilai fitnessnya daripada solusi induknya.
Maksudnya adalah tidak menjadi masalah jika
solusi hasil mutasi ini mengalami penurunan
nilai fitness daripada solusi induknya. Kita
hanya perlu untuk mengacuhkannya saja dan
tetap memberikan perhatian pada solusi
terbaik yang telah dicapai. Gambar 2
Tampilan program penjadwalan mata kuliah
Pada proses mutasi ini, program akan memilih menggunakan algoritma genetik pada
empat mata kuliah secara acak untuk LabVIEW 6.1.
dikeluarkan dari solusi hasil penggandaan
tersebut untuk dijadwalkan kembali pada dievaluasi oleh user.
posisi yang berbeda. Dan jika salah satu kondisi selesai ini belum
tercapai maka program akan mengulang
Sebelum mata kuliah yang dikeluarkan kembali proses ini / iterasi dari langkah
tersebut dijadwalkan kembali, maka program keempat yaitu evaluasi fitness terhadap
harus memproses data input terlebih dahulu populasi baru tadi.
dari keempat mata kuliah tersebut. Proses ini
sama dengan proses pada langkah kedua dari Program ini juga dilengkapi fasilitas pengedit
algoritma pemrograman ini. Hal ini dilakukan solusi penjadwalan mata kuliah hasil iterasi
untuk menghindari mata kuliah yang memiliki bagi user. Dalam fasilitas ini user dapat
pilihan penjadwalan yang sedikit menjadi memindahkan posisi penjadwalan mata kuliah
tidak bisa diposisikan kembali dalam ya n g te la h a d a s ehin g g a d a pa t
penjadwalan karena pilihan-pilihan waktu menyempurnakan solusi penjadwalan yang
penjadwalannya telah terisi oleh mata kuliah ada. Dalam pengeditan ini, program tetap
yang dikeluarkan lainnya. akan membimbing user dalam
memberitahukan posisi penjadwalan alternatif
Kondisi Selesai untuk setiap mata kuliah yang akan diedit
Terdapat tiga kondisi selesai yang dapat berdasarkan data-data dari input program
menghentikan proses algoritma pemrograman terdahulu. Hal ini diharapkan agar tetap
ini, yaitu: menjaga solusi hasil pengeditan ini pada harga
1. Jika setelah beberapa generasi berturut- fitness yang terbaik.
turut nilai fitness terbaik dari populasi
tidak mengalami perubahan kembali Algoritma penjadwalan mata kuliah ini diuji
2. Jika jumlah generasi/iterasi maksimum dengan program LabVIEW 6.1. Tampilan dari
telah tercapai. pemrograman ini dapat terlihat pada Gambar
3. Jika nilai fitness terbaik minimal telah 2.
tercapai.
Hasil Pengujian
Jika salah satu kondisi di atas telah diperoleh
oleh program, maka iterasi akan dihentikan Algoritma ini diuji dalam 100 generasi, di
dan program akan menampilkan seluruh mana setiap generasi terdiri dari 10
kromosom dalam populasi akhir untuk kromosom. Kasus yang diambil adalah

23
MUHAMMAD ARIA

berhasil diaplikasikan untuk penjadwalan


0,01
0,008
mata kuliah.
Fitness

0,006
0,004
KESIMPULAN DAN SARAN
0,002
0
0 10 20 30 40 50 60 70 80 90 100 Kesimpulan
Generasi

1. Dengan bantuan Algoritma Genetik


Fitness rata-rata Fitness terbaik
penyusunan penjadwalan mata kuliah
dapat dioptimalkan. Program dapat
Gambar 3 mencari solusi penjadwalan pada waktu
Grafik fitness untuk setiap generasi selama yang dapat digunakan baik oleh dosen,
iterasi algoritma genetik kelas maupun ruangan yang terlibat dalam
suatu mata kuliah. Di samping itu,
penjadwalan mata kuliah di jurusan Elektro
program dapat meminimalkan tingginya
UNIKOM semester I tahun ajaran 2005/2006.
frekuensi mengajar seorang dosen,
Di mana melibatkan 37 mata kuliah, 4
frekuensi kuliah suatu kelas dan faktor-
angkatan kelas, 8 lokasi perkuliahan dan 15
faktor pengaruh lainnya.
dosen perkuliahan.
2. Proses penjadwalan mata kuliah
menggunakan Algoritma Genetik ini dapat
Hasil iterasi algoritma dapat terlihat pada
diterapkan pada kasus-kasus penjadwalan
Gambar 3 yang menunjukkan fitness terbaik
dengan multi angkatan dan multi ruangan.
dan fitness rata-rata untuk setiap generasinya.
3. Dengan menggunakan metode best fitness,
Fitness rata-rata yaitu rata-rata dari harga
maka Algoritma Genetik akan selalu
fitness 10 kromosom yang ada dalam setiap
menunjukkan kenaikan fitness atau dengan
generasi.
kata lain generasi selanjutnya lebih baik
atau minimal sama dengan generasi
Selama iterasi terlihat bahwa fitness rata-rata
sebelumnya.
dapat naik maupun turun. Hal ini tidak
menjadi masalah karena memang
pembangkitan kromosom baru dan hasil Saran
1. Perubahan nilai bobot dan jumlah mata
mutasi kromosom induk dapat menyebabkan
kuliah saat mutasi tidak akan membawa
harga fitness menurun tetapi ini adalah proses
pengaruh pada kecepatan Algoritma
percobaan untuk menemukan solusi dengan
Genetik dalam melakukan pencarian solusi
fitness terbaik. Dan dikarenakan kromosom
optimal, tetapi berpengaruh pada hasil
dengan fitness terbaik tetap dipertahankan
akhir yang dicapai pada akhir generasi.
untuk setiap generasinya, maka terlihat bahwa
Dapat dilakukan suatu penelitian nilai
grafik fitness terbaik selalu naik atau minimal
bobot dan jumlah mata kuliah saat mutasi
sama dengan harga fitness sebelumnya.
yang dapat memaksimalkan hasil akhir
dari proses penjadwalan menggunakan
Pada hasil akhir iterasi diperoleh solusi
Algoritma Genetik ini.
penjadwalan dengan fitness 0,0083. Di mana
2. Program penjadwalan mata kuliah ini
tidak terdapat pemecahan mata kuliah, tidak
dapat disempurnakan agar dapat
terdapat dosen yang memiliki frekuensi
memberikan output akhir tidak hanya
mengajar tinggi dalam satu hari, tetapi
berupa jadwal kuliah saja tetapi juga
terdapat 12 kelas kuliah per minggunya yang
termasuk berita acara perkuliahan, jadwal
memiliki frekuensi mengajar tinggi. Dan
pemakaian ruang dan arsip-arsip serupa
terdapat 5 mata kuliah yang berdekatan.
lainnya.
Performansi akhir ini cukup baik dan
menunjukkan bahwa algoritma genetic telah
24
APLIKASI ALGORITMA GENETIK

DAFTAR PUSTAKA Haupt, R.L., & Haupt, S. E. (1998). Practical


genetic algorithms. Canada: A Wiley-
Goldberg, D.E. (1989). Genetik algorithms in Interscience Publication.
search, optimization and machine Mitchel, M. (1996). An introduction to genetik
learning. New York: Addison-Wesley algorithms. Cambridge: The MIT Press.
Publishing. Schwefel, H. (1995). Evolution and optimum
Grant, V. (1985). The evolutionary process. seeking. New York: John Wiley & Sons.
New York: Columbia University Press.

25
MUHAMMAD ARIA

26