Anda di halaman 1dari 5

PENERAPAN ALGORITMA GENETIKA UNTUK MENYELESAIKAN

PERMASALAHAN PENJADWALAN DOSEN


DENGAN FUZZY

Arief Kelik Nugroho


Fakultas Teknik, Universitas PGR Yogyakarta
e-mail : ariefkeliknugroho@gmail.com
Abstrak
Penjadwalan merupakan suatu permasalahan yang sangat kompleks dan memerlukan
banyak waktu dalam proses pembuatannya, karena terdapat banyak batasan yang harus
dipenuhi. Oleh karena itu permasalahan penjadwalan sangat sulit untuk dikerjakan dengan
menggunakan metode konvensional.
Algoritma genetika digunakan dalam penelitian ini untuk menyelesaikan permasalahan
penjadwalan. Penelitian ini bertujuan untuk mengkaji penerapan algoritma genetika dalam
menyelesaikan permasalahan penjadwalan yang dapat memenuhi seluruh batasan keras dan
meminimalkan pelanggaran terhadap batasan lunak yang telah ditentukan.
Diharapkan dengan terpenuhinya batasan keras dan minimalnya pelanggaran terhadap
batasan lunak, penjadwalan yang dihasilkan tidak hanya dapat memenuhi aturan yang
ditetapkan saja namun juga dapat memenuhi preference dari masing-masing dosen terhadap
jadwal yang dihasilkan.
Kata Kunci: Penjadwalan, Algoritma Genetika, Fuzzy

1. PENDAHULUAN
Penjadwalan merupakan suatu tersebut tidak didefinisikan dengan jelas.
permasalahan yang sangat kompleks dan Pada teori himpunan fuzzy, komponen
memerlukan banyak waktu dalam proses utama yang sangat berpengaruh adalah
pembuatannya, karena terdapat banyak fungsi keanggotaan. Fungsi keanggotaan
batasan yang harus dipenuhi. Oleh karena merepresentasikan derajat keanggotaan
itu permasalahan penjadwalan sangat sulit suatu obyek terhadap atribut tertentu.
untuk dikerjakan dengan menggunakan Menurut Allard (2007), fuzzy fitness
metode konvensional. Menurut Arifudin terbukti merupakan suatu metode yang
(2010), penerapan dapat digunakan untuk memodelkan
algoritma genetika sebagai suatu metode performansi kromosom dari algoritma
untuk menyelesaikan masalah optimasi genetika. Algoritma genetika menghasilkan
penjadwalan proyek dengan pemerataan nilai fitness rata-rata yang tertinggi ketika
sumber daya biaya dan kendala berupa dikombinasikan dengan himpunan fuzzy
waktu lintasan kritis. Adapun hasil dari untuk membentuk suatu fungsi evaluasi.
penelitian ini adalah jadwal proyek Himpunan fuzzy dapat mendefinisikan
memiliki pembiayaan yang lebih merata “baik” atau “buruk” suatu solusi yang
dengan menggunakan algoritma genetika dihasilkan berdasarkan derajat
dan CPM dibandingkan tanpa keanggotaannya dalam suatu himpunan
menggunakan algoritma genetika. fuzzy.
Logika fuzzy sebagai komponen utama
pembangun soft computing, terbukti telah 2. KAJIAN LITERATUR DAN
memiliki kinerja yang sangat baik untuk PENGEMBANGAN HIPOTESA
menyelesaikan masalah-masalah yang Evolutionary Algorithm merupakan
mengandung ketidakjelasan. Menurut Klir, terminologi umum yang menjadi payung
dkk. (1994), ketidakjelasan dapat empat istilah : algoritma genetika (genetic
didefinisikan sebagai suatu proposisi algorithm), pemrograman genetika (genetic
dimana status kemungkinan dari proposisi programming), strategi evolusi (evolution
strategies), dan pemrograman evolusi
(evolutionary programming). Tetapi,
evolutionary algorithm yang paling
populer dan banyak digunakan adalah
algoritma genetika (genetic algorithm).
Algoritma genetika merupakan evolusi/
perkembangan dunia komputer dalam
bidang kecerdasan buatan (artificial
intelligence). Sebenarnya kemunculan
algoritma genetika ini terinspirasi oleh
teori evolusi Darwin (walaupun pada Gambar 1 Representasi Kromosom
kenyatanya teori tersebut terbukti keliru)
dan teori-teori dalam ilmu biologi, Pada gambar kromosom diatas dapat dilihat
sehingga banyak istilah dan konsep bahwa terdapat sejumlah n dosen yang akan
biologi yang digunakan. Karena itu dijadwalkan yaitu P1, P2,…Pn. Dalam
sesuai dengan namanya, proses-proses penjadwalan ini akan digunakan pola
yang terjadi dalam algoritma genetika mingguan yang terdiri atas 6 hari (hari
sama dengan apa yang terjadi pada evolusi Senin sampai Sabtu).
biologi. Algoritma genetika merupakan
teknik pencarian nilai optimum secara Penentuan fungsi fitness
stochastic berdasarkan mekanisme seleksi Fungsi fitness digunakan untuk mengukur
alam. Algoritma genetika berbeda dengan ketangguhan setiap kromosom di dalam
teknik konvergensi konvensional yang suatu populasi. Fungsi fitness merupakan
lebih bersifat deterministik [7]. ukuran kinerja dari suatu individu agar
Metodenya sangat berbeda dengan tetap bertahan hidup yaitu mengukur
kebanyakan algoritma optimasi lainnya, kelayakan sebuah kromosom untuk
yaitu mempunyai ciri-cirinya sebagai dipelihara atau ditiadakan. Fungsi fitness
berikut : harus memperhatikan pada fungsi
a. Menggunakan hasil pengkodean objektifnya. Pada penelitian ini fungsi
dari parameter, bukan parameter itu objektifnya adalah meminimalkan penalti
sendiri. yang dihasilkan oleh pelanggaran terhadap
b. Bekerja pada populasi bukan pada batasan lunak yang telah ditentukan. Fungsi
sesuatu yang unik. objektif dalam sistem ini dapat dituliskan
c. Menggunakan nilai satu-satunya sebagai berikut:
pada fungsi dalam prosesnya. Tidak
mengunakan fungsi luar atau
pengetahuan luar lainnya.
d. Menggunakan fungsi transisi
probabilitas, bukan sesuatu yang pasti

3. METODE PENELITIAN
a) Pemodelan algoritma genetika
1. Pengkodean kromosom
Kromosom yang akan dihasilkan dari Dimana:
penelitian ini merupakan representasi dari n adalah jumlah dosen yang dijadwalkan.
jadwal mingguan yang dapat digambarkan Pi adalah nilai penalti dari dosen ke i.
sebagai berikut: Pada penelitian ini metode fuzzy digunakan
untuk menentukan nilai fitness dari
Algoritma Genetika. Sebuah model fuzzy
secara tipikal diberikan oleh sebuah fungsi
yang akan dicari nilai derajat
keanggotaanya. Sebuah nilai fungsi
keanggotaan yang tinggi menggambarkan
tingkat keidealan yang lebih tinggi dari Keterangan : Dosen 3 cuti pada hari senin
solusi penjadwalan yang diinginkan. dan selasa
Dimana semakin kecil nilai penalti dari a) Inisialisasi populasi awal
suatu jadwal yang dihasilkan maka semakin Proses hitung penalti :
ideal pula jadwal yang dihasilkan tersebut Kromosom 1 :
untuk dapat digunakan. Batasan lunak 1 : penalti 3
Adapun tahap-tahap dalam metode fuzzy Batasan lunak 2 : penalti 0
yang digunakan dalam penelitian ini adalah Batasan lunak 3 : penalti 71
sebagai berikut: Total penalti : 10
Kromosom 2 :
1. Fuzzifikasi (Fuzzyfication) Batasan lunak 1 : penalti 0
Merupakan tahap untuk Batasan lunak 2 : penalti 0
mentransformasikan masukan yang berupa Batasan lunak 3 : penalti 12
variabel crisp (fungsi objektif) ke dalam Total penalti : 12
variabel non-crisp (himpunan fuzzy). Kromosom 3 :
2. Tahap mencari nilai keanggotaan.
Batasan lunak 1 : penalti 0
Merupakan tahap untuk menghitung nilai
Batasan lunak 2 : penalti 0
keanggotaan dari fungsi objektif yang
Batasan lunak 3 : penalti 2
dihasilkan ke dalam himpunan fuzzy.
Total penalti : 2
3. Menghitung nilai fitness kromosom
Nilai fitness kromosom dalam penelitian ini
diperoleh dengan persamaan: b) Proses hitung nilai fitness
Fitness kromosom 1
: = 0.880952381
Fitness kromosom 2 :
= 0.857142857
4. Membangkitkan populasi awal
Populasi awal akan dibangkitkan secara Fitness kromosom 3 :
acak, dimana populasi ini merupakan = 0.976190476
kumpulan individu yang merupakan Total fitness :
representasi dari solusi penjadwalan yang 0.880952381 + 0.857142857
mungkin (feasible solution). +0.976190476 = 2.714285714
5. Mengevaluasi populasi dengan cara Probabilitas fitness kromosom 1 =
menghitung nilai bobot masing-masing 32.45614
individu berdasarkan fungsi fitness yang
telah ditentukan sebelumnya. Probabilitas fitness kromosom 2 =
6. Melakukan seleksi induk 31.57895
Memilih individu terbaik dengan fitness Probabilitas fitness kromosom 3 =
tertinggi yang akan menjadi bagian dari 35.96491
populasi baru pada generasi selanjutnya.
7. Menentukan individu yang akan
dimutasi. c) Perkembangan nilai fitness
Dari generasi ke generasi berdasarkan data
4. HASIL DAN PEMBAHASAN yang telah disebutkan diatas dapat dilihat
a) Proses penghitungan pada grafik
Jumlah Ruang kelas adalah 2, kelas 305 dan
kelas 306 \
Parameter genetika :
nPop = 3
nGen = 1
Pc = 0.5
Pm = 0.1

Gambar 2 Pengaruh perubahan parameter ukuran


populasi
0.3 0.960129
b) Pengaruh perubahan parameter 0.4 0.960129
Pc 0.5 0.960129
Parameter Pc menentukan proses pencarian 0.6 0.962284
solusi terhadap nilai fitness. Algoritma 0.7 0.962284
genetika mulai bekerja dengan ukuran 0.8 0.961207
0.9 0.960129
populasi terbaik hasil pengamatan
1 0.962284
sebelumnya dan nilai Pc awal. Selanjutnya
untuk nilai Pc berikutnya ditentukan oleh
pengguna. Pada pembahasan ini akan Pada tabel diatas dapat dilihat bahwa nilai
diamati pengaruh nilai Pc terhadap nilai fitness terbaik adalah 0.962284 yang terjadi
fitness dan lama proses berjalan pada pada probabilitas crossover 0.2, 0.6, 0.7,
sistem. Ukuran populasi yang digunakan dan 1. Nilai Pc selanjutnya yang akan
pada tahap ini adalah ukuran populasi digunakan pada percobaan selanjutnya
terbaik yang telah diperoleh sebelumnya adalah 0.2, karena waktu yang dibutuhkan
yaitu 100. lebih singkat untuk menghasilkan nilai
Percobaan pertama adalah dengan fitness tertinggi dibandingkan dengan nilai
mengambil Pc = 0.1, dan Pm = 0.01, jumlah Pc yang lain. Berikut ini adalah grafik
generasi = 100, dan ukuran populasi 100. pengaruh nilai Pc terhadap perubahan nilai
fitness kromosom dari generasi-ke generasi.
5. KESIMPULAN
Berdasarkan pembahasan yang telah
diuraikan pada bab-bab sebelumnya,
maka diambil beberapa kesimpulan
sebagai berikut:
1. Algoritma genetika dapat
digunakan untuk menghasilkan
penjadwalan dapat memenuhi
seluruh
2. Batasan keras yang telah ditentukan
serta meminimalkan pelanggaran.
3. Himpunan fuzzy dapat digunakan Gambar 3 Grafik
pengaruhprobabilitas crossover
untuk menghasilkan nilai fitness
dari kromosom yang dihasilkan 6. REFERENSI
berdasarkan nilai penalti yang Buliali,. JL, Herumurti,.D, Wiriapraja,
diperoleh. .G. 2008. “Penjadwalan mata kuliah
4. Nilai parameter genetika yang dengan menggunakan algoritma
menghasilkan solusi terbaik untuk genetika dan constraint
penjadwalan proyek pada sistem ini satisfaction”. Jurnal Teknik
yaitu ukuran populasi = 100, nilai Industri, Surabaya.
probabilitas crossover (Pc) = 0.2, Fernandes, .A, Handoyo, E,
nilai probabilitas mutasi (Pm) = Somantri,.M. 2008 .
0.08, dan jumlah generasi = 100. “Pembangunan aplikasi
Hasil pengujian dengan menggunakan
penyusunan mata kuliah dengan
100 kali percobaan dapat dilihat pada tabel
1 di bawah ini.
algoritma semut”.Jurnal Teknik
Tabel 1 Pengaruh perubahan parameter Pc Elektro: Semarang.
Probabilitas Nilai Hanselman,D dan Littlefield,B. 2000.
Crossover Fitness MATLAB Bahasa Komputasi
0.1 0.961207 Teknis. Yogya : ANDI
0.2 0.962284
Hermann, .J , Lee ,. CY. 1995 .
“solving a class scheduling
problem with genetic algorith”
ORSA Journal on
computing.Florida.
Perssman, Roger S. 2005. “software
engineering A practitioner’s
approach sixth edition”.
Mc Graw Hill. New York.
Suyanto. 2005. Algoritma Genetika
dalam Matlab. Yogyakarta :
Andi.

Anda mungkin juga menyukai