Analisa Persoalan Multidimensional Knapsack (PMK) Menggunakan
Algoritma Genetika untuk Optimasi Penjadwalan Mata Kuliah
Fauzan Azhmi Siregar
G1A011022
Program Studi Teknik
Informatika
Fakultas Teknik
Universitas Bengkulu,
Jl. W. R. Supratman, Kandang Limun 38371 A, Indonesia
Abstact – Knapsack atau yang sering disebut
dengan algoritma knapsack adalah salah satu algoritma public key yang
keamanannya terletak pada sulitnya memecahkan persoalan knapsack (Knapsack
Problem). Persoalan ini cukup menarik karena kesederhanaan strukturnya dan
eksplorasi daerah pencariannya yang begitu luas sehingga diperlukan metode
untuk mempercepat waktu komputasi yang sebenarnya adalah persoalan optimisasi kombinasi.
Persoalan Muldimensional Knapsack termasuk persoalan NP-Complete sehingga
dibutuhkan metode pencarian heuristik untuk mendapatkan solusi yang optimal.
Algoritma Genetika sebagai salah satu metode pencarian heuristik menjadi salah
satu alternatif dalam memecahkan masalah ini. Dalam paper ini dijelaskan
analisa Persoalan Multidimensional Knapsack dengan Algoritma Genetika.
Persoalan yang muncul adalah optimasi penjadwalan Mata Kuliah untuk menghindari
terjadinya tabrakan antar Mata Kuliah dalam waktu yang sama.
Kata Kunci – Algoritma Genetika,
Multidimensional Knapsack.
I.
PENDAHULUAN
Dalam sebuah
proses yang digunakan untuk menetukan kombinasi dari beberapa variabel yang ada
dibutuhkan keteletian dan ketepatan dalam pengkombinasiaannya, dalam hal ini
disebut dengan optimasi dan yang menjadi variabelnya dalam hal ini adalah
komponen-komponen yang terdapat dalam penjadwalan mata kuliah. Optimasi adalah
salah satu metode yang digunakan untuk menentukan dan memilih cara atau langkah
mana yang paling baik untuk dilakukan dan diterapkan ke dalam sebuah aplikasi,
permasalahan, ataupun yang lainnya.
Dalam konteks
kali ini mengenai optimasi penjadwalan mata kuliah. Penjadwalan merupakan salah
satu hal yang tidak mudah untuk diselesaikan dalam waktu yang relatif singkat.
Permasalahan
ini sering disebut dengan University
Timetabling Problems (UTP), salah satu metode yang dapat digunakan
dalam pemecahan masalah ini yakni dengan menggunakan pendekatan algoritma
genetika.
Knapsack
Problem merupakan suatu persoalan yang menarik untuk
diteliti dan diimplementasikan pada situasi nyata. Banyak algoritma yang dapat
digunakan untuk meyelesaikan Knapsack Problem
ini, misalnya algoritma Brute Force, Branch and
Bound, Greedy dan lain sebagainya. Namun dalam kesempatan kali ini persoalan
multidimensional knapsack problem ini akan di analisa dengan menggunakan
Algoritma Genetika.
Algoritma
Genetika pertama kali dikembangkan oleh John Holland dari Universitas Michigan
(1975). Algoritma Genetika adalah algoritma pencarian yang di dasarkan atas
mekanisme dari seleksi alamyang lebih dikenal dengan proses evolusi.
Untuk
mewujudkan keselarasan antara hubungan mata kuliah, dosen pengampu, waktu dan
ruang kuliah agar tidak terjadinya tabrakan baik itu ruang ataupun waktu..
Dengan demikian dalam pembahsan kali ini dilakukan pengalanalisaan mengenai
persoalan multidimensional knapsack yang terjadi dalm perkuliahan menggunakan
algoritma genetika untuk optimasi penjadwalan mata kuliah.
Persoalan
mengenai penjadwalan mata kuliah ini termasuk dalam persoalan Knapsack Problem yang
harus segera diselesaikan untuk menentukan dan mencocokkan masing-masing mata
kuliah dan dosen bersangkutan serta waktu dan ruang yang akan digunakan sebagai
tempat proses belajar mengajar.
II.
DASAR
TEORI
1. Optimasi Penjadwalan
Optimasi merupakan usaha yang dilakukan untuk
memperoleh hasil akhir yang lebih baik. Problem optimasi merupakan suatu
masalah komputasional dengan tujuan untuk mendapatkan atau menemukan solusi
terbaik dari semua solusi yang mungkin[1].
Langkah- langkah dalam model optimasi :
· Pastikan kebutuhan akan suatu keputusan
· Identifikasi faktor penyebab ternyadinya masalah
· Buat alternatif solusi
· Pilih alternatif terbaik[2]
Pembahasan penjadwalan menurut Tomas Muller dan Roman Bartak sebagai berikut
:
1. Aktivitas yang dilakukan
Maksudnya adalah bahwa penentuan dari permasalahan penjadwalan yang
dibahas. Misalnya penjadwalan mata kuliah di perguruan tinggi.
2. Sumber-sumber
yang dipakai
Sumber-sumber yang dipakai berarti hal-hal yang dapat digunakan untuk menyelesaikan
permasalahan penjadwalan (aktifitas) yang telah ditentukan atau bisa juga
dikatakan sebagai data yang digunakan. Misalnya pada penjadwalan mata kuliah
diperlukan data mata kuliah, dosen, kelas dan sumber lain yang diperlukan.
3. Syarat-syarat
yang diperlukan
Syarat disini
adalah hal-hal yang perlu diperhatikan ketika menyusun suatu penjadwalan.
Misalnya saja dalam penjadwalan mata kuliah terdapat syarat bahwa seorang dosen
tidak boleh mengajar dua kelas yang berbeda dalam waktu / jam kuliah yang sama.
4. Hubungan
Timbal Balik
Yang dimaksud
hubungan timbal balik disini adalah bagaimana jadwal yang telah dibuat tersebut
dapat sesuai dengan yang diinginkan oleh user.[3]
2. Knapsack Problem
Knapsack Problem
merupakan
suatu masalah bagaimana cara menentukan pemilihan barang dari sekumpulan barang
dimana setiap barang mempunyai weight dan profit masing-masing, sehingga dari
pemilihan barang tersebut didapatkan profit yang maksimum.[4]
Knapsack Problem
merupakan salah satu dari persoalan klasik yang
banyak ditemukan dalam literatur-literatur lama dan hingga kini permasalahan
tersebut masih sering ditemukan dalam kehidupan sehari-hari. Contoh nyata dari
knapsack ini misalnya, jika ada seorang pedagang rumah tangga yang berkeliling
menggunakan gerobak. Tentu saja gerobaknya memiliki kapasitas maksimum,
sehingga ia ttidak bisa memasukkan semua barang dagangannya dengan seenak
hatinya. Pedagang tersebut harus memilih barang-barang mana saja yang harus ia
angkut, dengan pertimbangan berat dari barang yang dibawanya tidak melebihi
kapasitas maksimum gerobak dan memaksimalkan profit dari barang-barang yang
dibawa.[5]
3. 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 terusmenerus mengalami perubahan gen untuk
menyesuaikan dengan lingkungan hidupnya. Hanya individu-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”.[6]
Algoritma Genetika bekerja dengan
menggunakan pendekatan random, sehingga nilai-nilai yang dihasilkan adalah
nilai random. Pada kasus penjadwalan dengan model genetika ditujukan untuk
mendapatkan kombinasi yang tepat antara variabel dosen, waktu, dan ruang yang
tidak saling konflik. Semakin banyak iterasi yang dilakukan, maka waktu yang
dibutuhkan akan semakin lama.
Prosedur umum algoritma genetika adalah sebagai
berikut :
1. Pengkodean (encoding)
calon solusi dan set-up beberapa parameter awal jumlah individu,
probabilitas, penyilangan dan mutasi, dan jumlah generasi maksimum.
2.
Pembangkitan acak sejumlah n kromosom pada generasi
ke-0.
3. Evaluasi masing-masing kromosom
dengan menghitung nilai fitness-nya.
4. Seleksi beberapa kromosom dari
sejumlah n individu yang memiliki nilai fitness terbaik.
5. Rekombinasikan kromosom terpilih
dengan cara melakukan penyilangan (crossover) dan mutasi (mutation).
6. Update jumlah generasi dan
kembali ke langkah 2 sampai jumlah generasi maksimum tercapai.
Gambar 3.1. Diagram alir Algoritma Genetika[7]
Struktur Umum
·
Populasi, istilah pada teknik pencarian yang dilakukan
sekaligus atas sejumlah solusi yang mungkin.
·
Kromosom, individu yang terdapat dalam satu populasi
dan merupakan suatu solusi yang masih berbentuk simbol.
·
Generasi, populasi awal dibangun secara acak sedangkan
populasi selanjutnya merupakan hasil evolusi kromosom-kromosom melalui iterasi.
·
Fungsi Fitness, alat ukur yang digunakan untuk proses
evaluasi kromosom. Nilai fitness dari suatu kromosom akan menunjukkan kualitas
kromosom dalam populasi tersebut.
·
Generasi berikutnya dikenal dengan anak (offspring)
terbentuk dari gabungan 2 kromosom generasi sekarang yang bertindak sebagai
induk (parent) dengan menggunakan operator penyilang (crossover).
·
Mutasi, operator untuk memodifikasi kromosom.
Ada 6 Komponen Utama Algoritma
Genetika :
1.
Tekik Penyandian
2.
Prosedur Inisialisasi
3.
Fungsi Evaluasi
4.
Seleksi
5.
Operator Genetika
6.
Penentuan Parameter
Algoritma Genetika adalah algoritma
pencarian heuristik yang didasarkan atas mekanisme evolusi biologis. Keberagaman
pada evolusi biologis adalah variasi dari kromosom antar individu organisme.
Variasi kromosom akan mempengaruhi laju reproduksi dan tingkat kemampuan
organisme untuk tetap hidup.[8]
III.
PEMBAHASAN
Dalam
pembahasan mengenai analisa persoalan multidimensional knapsk menggunakan
Algoritma Genetika untuk Optimasi Penjadwalan Mata Kuliah ada beberapa hal yang
harus diperhatikan terkait faktor-faktor yang mempengaruhi knapsack problem atau
pun hal-hal lainnya yang termasuk dalam sub bagian dari Algoritma Genetika itu
sendiri. Dalam penerapan algoritma genetika pada penjadwalan mata kuliah ada
beberapaa masalah yang harus di pertimbangkan dalam penjadwalan, diantaranya :
·
Dalam
satu ruagan hanya bisa diisi dengan satu dosen dengan satu jadwal kuliah yang telah
ditentukan hingga selesai dilaksanakan.
·
Dalam
satu mata kuliah tidak ada dua orang dosen yang mengisi dalam satu waktu yang
sama.
·
Tidak
ada satu orang dosen dalam dua buah kelas yang berbeda dalam satu waktu yang
sama.
·
Tidak
ada dua mata kuliah berbeda dalam satu ruangan untuk waktu yang sama.
Struktur umum kromosom
Struktur umum
kromosom dari penjadwalan mata kuliah adalah sebagai berikut :
Inisialisasi
:
Dosen : Ds
Jadwal : Jw
·
Setiap
gen berisi Dosen (Ds) dan Jadwal (Jw).
·
Bagian
dari gen (subgen)
Dosen (Ds) : Dosen, Mata Kuliah dan Kelas.
·
Bagian
dari gen (subgen)
Jadwal(Jw) : Hari, Jam dan Ruangan
Untuk
menentukan nilai fitness dari analisapenjadwalan mata kuliah tersebut adalah
dengan menentukan besarnya peluang kedatangan dosen pada waktu mengajar.
Sebuah contoh
dalam hal ini sebagai bahan pengujian :
Ketentuan-ketentuan
permasalahan :
-
Satu
orang dosen bisa mengajar sembarang mata kuliah sembarang kelas (A,B)
-
Hari
perkuliahan adalah hari Selasa dan Rabu
-
Waktu
kuliah mulai dari jam 08.00 – 13.00 WIB (2 sesi / hari)
-
Durasi
1 jam untuk 1 SKS
-
Hanya
ada 2 ruangan yang tersedia untuk perkuliahan
-
Satu orang dosen tidak boleh berada pada dua jadwal untuk waktu dan jam
yang sama
-
Tidak dikaitkan dengan pengambilan mata kuliah oleh mahasiswa yang biasanya
bervariasi
ID Jadwal
|
Hari
|
Jam
|
Ruangan
|
1
|
Selasa
|
08.00 - 11.00
|
R14
|
2
|
Selasa
|
11.00 - 13.00
|
R14
|
3
|
Selasa
|
08.00 - 11.00
|
R16
|
4
|
Selasa
|
11.00 - 13.00
|
R16
|
5
|
Rabu
|
08.00 - 10.00
|
R14
|
6
|
Rabu
|
11.00 - 13.00
|
R14
|
7
|
Rabu
|
08.00 - 10.00
|
R16
|
8
|
Rabu
|
11.00 - 13.00
|
R16
|
Tabel 1.1 Tabel
Jadwal
ID Dosen
|
Dosen
|
M_Kul
|
Kelas
|
1
|
A
|
DAA
|
A
|
2
|
A
|
DAA
|
B
|
3
|
B
|
IMK
|
A
|
4
|
B
|
IMK
|
B
|
5
|
A
|
Etika Profesi
|
A
|
6
|
A
|
Etika Profesi
|
B
|
7
|
C
|
Kriptografi
|
A
|
8
|
C
|
Kriptografi
|
B
|
Tabel 1.2 Tabel Dosen
Berikut contoh susunan dari kromosom :
[ (1,2), (2,1), (3,3), (4,8), (5,7),
(6,5), (7,4), (8,6) ]
Keterangan Penulisan :
Bold : Id Dosen
Normal : Id Jadwal
Nilai Fitness
Dimisalkan kehadiran dosen diberi nilai dari 1-3
dan nilai fitness dihitung berdasarkan kemungkinan.
Derajad
|
Keterangan
|
1
|
Tidak Hadir
|
2
|
Ragu-Ragu
|
3
|
Hadir
|
Table 1.3 Kemungkinan
Dosen
|
Hari
|
Jam
|
Derajad
|
A
|
Selasa
|
08.00 - 11.00
|
2
|
A
|
Selasa
|
11.00 - 13.00
|
3
|
A
|
Rabu
|
08.00 - 11.00
|
1
|
A
|
Rabu
|
11.00 - 13.00
|
2
|
B
|
Selasa
|
08.00 - 10.00
|
1
|
B
|
Selasa
|
11.00 - 13.00
|
2
|
B
|
Rabu
|
08.00 - 10.00
|
1
|
B
|
Rabu
|
11.00 - 13.00
|
3
|
Tabel 1.4. Derajad
Kehadiran Dosen
Penerapan Algoritma :
-
Pemecahan
mata kuliah
Dalam hal ini beban SKS dalam satu mata kuliah
dapat di pecah menjadi beberapa bagian misalkan beban salah satu mata kuliah 3
SKS. Dapat dipecah menjadi (2-1), (3-0) dan lain sebagainya.
-
Pemadatan
di suatu waktu
Dalam hal ini pemadatan dilakukan untuk
mengoptimalkan pemaakaian ruangan agar sesegera mungkin digunakan setelah
penggunaan sebelumnya.
-
Frekuensi
mengajar dosen
Untuk mengoptimalkan proses belajar mengajar yang
dilakukan antara dosen dan mahasiswa diharapkan adanya tingkat mengajar yang
tinggi dalam satu harinya.
-
Frekuensi
belajar mahasiswa
Tidak jauh berbeda dengan dosen, diharapkan dalam
hal ini tidak adanya jadwal kuliah yang terlalu padat dalam satu harinya agar
kondisi dan keoptimalan proses belajar mengajar.
-
Jarak
mata kuliah
Diharapkan
adanya waktu istirahat antar dua mata kuliah yang ada dalam satu hari sehingga
kelelahan mahasiswa dalam mengikuti mata kuliah sebelumnya tidak mengganggu
proses belajar pada mata kuliah selanjutnya.
IV.
KESIMPULAN
1. Algoritma
genetika dapat memberikan solusi untuk masalah penjadwalan perkuliahan dengan
menghasilkan suatu jadwal perkuliahan yang optimal.
2. Analisa penjadwalan mata kuliah ini dapat disempurnakan
dengan membangun sebuah program aplikasi pemecahan dan penyelesaian masalah
knapsack pada penjadwalan mata kuliah.
3. Algoritma
Genetika dapat digunakan sebagai alternatif solusi untuk menyelesaikan masalah
penjadwalan perkuliahan.
4. Dalam mengatasi masalah tabrakan yang ditimbulkan
dari waktu, mata kuliah, dosen pengampu dan ruangan masih perlu dikaji dan di
perhitungkan kembali untuk mendapatkan hasil yang optimal sesuai dengan yang
diharapkan dalam pemecahan persoalan knapsack pada penjadwalan mata kuliah
dengan menggunakan algoritma genetika.
DAFTAR PUSTAKA
[1]
[3]
http://repo.eepis-its.edu/589/1/1235.pdf
[4] adit279.wordpress.com/2008/12/03/knapsack-problem-dengan-algoritma-genetika/
[5]
Adit. 2009. Knapsack Problem
dengan Algoritma Genetika.
[6]
Basuki, Ahmad. 2003. Algoritma Genetika, Suatu Alternatif Penyelesaian
Permasalahan Searching, Optimasi dan Machine Learning. Surabaya : PENS-ITS
[7]
Witary,Vinny & Rachmat, Nur. Optimasi Penjadwalan Perkuliahandengan Menggunakan
Algoritma Genetika. STMIK GI MDP.
[8]
PERNYATAAN
Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah
tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain,
dan bukan plagiasi.
Bengkulu, 11
Januari 2014
Fauzan Azhmi Siregar
G1A011022