Anda di halaman 1dari 10

Jurnal Teknik Informatika, Vol 1 September 2012

Analisa dan Penerapan Metode Particle Swarm Optimization


Pada Optimasi Penjadwalan Kuliah
Raisha Ashila Rachman1), Dadang Syarif 2), Rika Perdana Sari3)

1) Program Studi Teknik Informatika Politeknik Caltex Riau, Pekanbaru 28265;


raishaashila@gmail.com
2) Program Studi Sistem Informasi Politeknik Caltex Riau, Pekanbaru 28265;
dangsyarif@gmail.com
3) Program Studi Teknik Informatika Politeknik Caltex Riau, Pekanbaru 28265; rika@pcr.ac.id

Abstrak
Jadwal penting artinya dalam keberlangsungan proses belajar mengajar di suatu perguruan tinggi
khususnya di Politeknik Caltex Riau (PCR). Penjadwalan kuliah yang dilakukan oleh BAAK (Bagian
Administrasi dan Akademik Kemahasiswaan) Politeknik Caltex Riau dilakukan dengan memproses data
data perkuliahan dengan memanfaatkan software Microsoft Excel untuk menghasilkan jadwal kuliah.
Tingkat ketelitian yang tinggi mengurangi fungsi keefisienan dan terjadinya human error masih besar.
Contohnya kemungkinan jadwal kuliah yang terjadi pada jam dan hari yang sama pada pemakaian
ruangan ataupun pada jadwal mengajar dosen. Atas dasar itu, maka dibuatlah sebuah sistem untuk
mengoptimalkan penjadwalan kuliah sebagai solusi dalam menyelesaikan masalah penjadwalan kuliah
yang terjadi di PCR. Algoritma Particle Swarm Optimization (PSO) sebagai algoritma untuk
penyelesaian masalah optimasi dengan proses pembangkitan posisi dan velocity awal, update velocity
dan update posisi sebagai 3 tahapan utamanya sehingga didapatkan solusi berupa jadwal kuliah.
Berdasarkan penelitian yang telah dilakukan masih terdapat data bentrok jadwal kuliah yang dapat
dilihat dari nilai fitness sistem sehingga hasil yang didapat dari sistem penjadwalan kuliah ini belum
dapat diaplikasikan pada penjadwalan kuliah yang sesungguhnya. Sistem ini dibangun menggunakan
bahasa pemograman web PHP dan database MySQL.

Kata kunci : Penjadwalan Kuliah, PSO, PHP, dan MySQL.

Abstract
Course schedule play crucial role in teaching and learning at university, especially in Politeknik
Caltex Riau. The mechanism of activity in PCR depends on it. Currently the process of schedule
management is conducted manually by PCR Student Administration using Microsoft Excel to manage
courses schedule. This procedure requires high accuracy that decrease efficiently way, long time span of
process, and the possibility of errors which plot out schedule clash. Clashes of schedule drag not only
time but also the usage of room, due to this matter, the scheduling would not be optimal. Based on it, the
optimal scheduling require an application that provide solution for the problem that occurs in PCR
schedule. The method used to optimize the application is Particle Swarm Optimization Algorithm, even
though PSO algorithm is used to produce an optimal solution, there are still clashes scheduling course
conclude that this method can not be applied in a real course scheduling. The application system is built
by using PHP web programming language and MySQL as a database..

Keywords : Scheduling Course, PSO, PHP, and MySQL.

1 PENDAHULUAN
Jadwal penting artinya dalam keberlangsungan proses belajar mengajar di suatu perguruan
tinggi khususnya di Politeknik Caltex Riau (PCR). Penjadwalan kuliah yang dilakukan oleh
BAAK (Bagian Administrasi dan Akademik Kemahasiswaan) Politeknik Caltex Riau dilakukan
dengan memproses data data perkuliahan dengan memanfaatkan software Microsoft Excel
untuk menghasilkan jadwal kuliah. Tingkat ketelitian yang tinggi mengurangi fungsi
keefisienan dan terjadinya human error masih besar. Contohnya kemungkinan jadwal kuliah
yang terjadi pada jam dan hari yang sama pada pemakaian ruangan ataupun pada jadwal
mengajar dosen. Atas dasar itu, maka dibuatlah sebuah sistem untuk mengoptimalkan
penjadwalan kuliah sebagai solusi dalam menyelesaikan masalah penjadwalan kuliah yang
2 Raisha Ashila Rachman

terjadi di PCR. Optimasi penjadwalan kuliah adalah memaksimalkan teknik mengatur waktu
perkuliahan atau belajar mengajar. Algoritma Particle Swarm Optimization (PSO) sebagai
algoritma untuk penyelesaian masalah optimasi sehingga didapatkan solusi berupa jadwal
kuliah.

2 Dasar Teori
2.1 Optimasi
Berdasarkan buku yang ditulis oleh Suyanto (2010) disebutkan bahwa optimasi merupakan
aktivitas untuk mendapatkan hasil yang terbaik atau optimal (nilai efektif yang dapat dicapai)
dari pilihan yang tersedia. Tujuan dari setiap keputusan adalah untuk meminimumkan usaha
yang dilakukan atau memaksimumkan keuntungan yang diperoleh. Usaha atau keuntungan
tersebut secara praktek dinyatakan sebagai fungsi dengan variabel keputusan yang akan dicari
nilai optimumnya. Optimasi sangat berguna dihampir segala bidang dalam rangka melakukan
usaha secara efektif dan efisien untuk mencapai target hasil yang ingin dicapai. [5]

2.2 Penjadwalan Kuliah


Pengertian penjadwalan dapat berbeda beda, tergantung dari konteks dimana kata tersebut
dibicarakan, baik dari segi industri, bisnis, manajemen, ataupun pendidikan. Penjadwalan dalam
bidang pendidikan memiliki pengertian secara khusus sebagai durasi waktu dari waktu kerja
yang dibutuhkan untuk melakukan serangkaian aktivitas kerja dalam kegiatan belajar mengajar.
Penjadwalan juga merupakan proses penyusunan daftar perkuliahan atau daftar kegiatan belajar
mengajar yang akan dilakukan untuk mencapai atau mewujudkan suatu tujuan tertentu yang
juga menampilkan hasil akhir berupa laporan. Dalam penjadwalan kuliah dibahas tentang
bagaimana mengatur pembagian durasi waktu perkuliahan sesuai dengan aturan yang berlaku di
perguruan tinggi, baik pembagian jadwal untuk tiap mahasiswa pada mata kuliah tertentu
maupun dosen pengajar di universitas tersebut. [1]

2.3 Algoritma PSO dengan Parameter Inertia Weight

Pada saat sekarang ini PSO telah mengalami banyak perubahan. Peneliti peneliti
yang telah mempelajari dan menggunakan algoritma telah mengembangkan versi,
aplikasi dan telah mengeluarkan teori teori pengembangan beberapa parameter dan
aspek dari algoritma PSO ini. Shi dan Eberhart (1998) melakukan variasi atau
modifikasi terhadap algoritma orisinil untuk mengendalikan stagnasi partikel dengan
memasukkan parameter inertia weighting (w) pada persamaan pertama PSO
(Alrijadjis, 2010)[1]. Pada kasus penjadwalan kuliah ini, partikel adalah satu jadwal
kuliah yang terdiri dari beberapa kelas. Terdapat 3 tahap dari metode PSO pada
permasalahan penjadwalan kuliah, sebagai berikut [2] :
1. Pembangkitan posisi dan velocity awal.

Proses dari pembangkitan posisi X dan kecepatan Y ini menggunakan fungi rand.
Pembangkitan partikel posisi dan partikel kecepatan dengan notasi partikel ke i pada
waktu ke k menggunakan batas atas (Xmax) dan batas bawah (Xmin) seperti persamaan berikut
[1][2] :
= Xmin+ rand (Xmax Xmin) (1)
= Xmin + rand (Xmax Xmin) (2)
Dalam proses random diperlukan slot untuk menampung dari random posisi dan random
kecepatan. Melalui proses pembangkitan partikel ini dapat maka kumpulan partikel dapat
terdistribusi secara acak. Posisi dan kecepatan dari partikel direpresentasikan melalui vector.
Vektor seperti ditunjukkan sebagai berikut :
Jurnal . .. Vol. XX , No. X, Bulan 20XX, XX-XX 3

= ( , ,, )T
= ( , ,, )T
Untuk jenis mata kuliah praktikum mengikuti pembebanan yang telah ditentukan oleh
masing masing prodi tiap jurusan. Misalkan, data kuliah yang digunakan sebagai berikut :

Tabel 1 Data Kuliah

id_ id_ id_ id_ nama_ nama_ status_ nama_


kuliah matkul dosen kelas matkul dosen dosen kelas
KUL100 74 DSN59 KLS24 Prak. RMT TETAP 3SI
Keamanan
dan
Jaringan
Komputer
KUL102 74 DSN38 KLS25 Prak. WNS TETAP 3SI
Keamanan
dan
Jaringan
Komputer
KUL107 75 DSN61 KLS03 Algoritma JNS TETAP 1TIA
dan
Pemrogram
an (Java)
KUL108 75 DSN62 KLS04 Algoritma DYH TETAP 1TIB
dan
Pemrogram
an (Java)

2. Menentukan nilai fitness masing masing partikel

Tabel 2 Batasan Constraint

No Batasan

1 Tidak bentrok dosen

2 Tidak bentrok matakuliah

3 Tidak bentrok ruangan

Dari nilai fitness yang didapat akan menentukan pelanggaran pelanggaran konstrain dari
penjadwalan kuliah. Apabila pada tiap - tiap partikel terjadi pelanggaran terhadap konstrain
konstrain diatas maka nilai fitness masing masing partikel akan di-increment sebanyak satu
untuk tiap pelanggaran yang terjadi.

3. Proses Update Velocity dan Posisi

Nilai dari local best dan global best yang didapat akan digunakan untuk proses update
kecepatan dan update posisi. Adapun 3 parameter yang mempengaruhi pencarian pada
algoritma particle swarm optimization ini adalah w (inertia weight), c1 (faktor learning
4 Raisha Ashila Rachman

local partikel), c2 (faktor learning global partikel) yang digabungkan dalam satu
persamaan [3] :
= w * + c1 * rnd * (pi - ) + c2 * rnd * ( - ) (3)
Dimana :
w = faktor inersia (inertia weight)
= kecepatan
= posisi
rnd = parameter random range 0 - 1
c1, c2 = konstanta akselerasi (learning rate)
pi = local best
= global best
i = partikel

Persamaan diatas adalah persamaan yang digunakan untuk proses update velocity (update
kecepatan) untuk masing - masing partikel dengan menggunakan nilai fitness terbaik yang
didapat dari perulangan partikel. Perumusan dari update velocity ini menggunakan beberapa
parameter random (rnd) dengan range 0 - 1 untuk mendapatkan nilai velocity yang baik.
Proses terakhir yang dilakukan adalah update posisi dari nilai update velocity, seperti pada
persamaan [4]:
= + (4)

3 Perancangan
Perancangan mengenai aplikasi ini seperti yang tampak pada gambar-gambar berikut:

Gambar 1 Use Case Diagram


Use case diagram digunakan untuk menggambarkan bagaimana sistem akan dibangun. Aplikasi
penjadwalan kuliah ini diperuntukkan untuk satu orang pengguna (admin).
Jurnal . .. Vol. XX , No. X, Bulan 20XX, XX-XX 5

Gambar 2 Flowchart Sistem


Proses penjadwalan kuliah menggunakan Particle Swarm Optimization (PSO) dapat
dilihat pada flowchart Gambar 2 diatas. Proses awal yang dilakukan adalah inisialisasi partikel
awal dan parameter perkuliahan yang digunakan untuk proses penjadwalan kuliah dengan
Algoritma PSO. Untuk melakukan proses pembangkitan posisi dan kecepatan awal maka kita
mengambil data pertemuan kuliah dari database yang diperlukan untuk proses random untuk
posisi dan kecepatan yang dimisalkan sebagai slot. Setelah itu kita hitung nilai fitness dari tiap
partikel sesuai dengan jumlah partikel. Lalu kita menghitung nilai local best dan nilai global
best yaitu nilai partikel terbaik dari semua partikel local best. Kemudian kita melakukan tahapan
hitung velocity partikel yang digunakan untuk update nilai velocity untuk semua partikel.
Apabila kriteria berhenti tercapai maka proses pun berhenti.
6 Raisha Ashila Rachman

Gambar 3 Entity Relationship Diagram


Gambar 3. diatas menjelaskan perancangan Entity Relationship Diagram yang
merupakan tabel tabel yang akan digunakan untuk aplikasi penjadwalan kuliah. Dari
gambar 3 diatas dapat dilihat bahwa tabel jadwal memiliki semua id dari tabel lain yang
menjadi foreign key pada tabel jadwal. Tabel dibawah ini akan menjelaskan kegunaan
dari masing masing tabel.
Tabel 3 Penjelasan Tabel dalam ERD
Nama Tabel Penjelasan
Admin Tabel untuk menyimpan data admin
Mata Kuliah Tabel untuk menyimpan data mata kuliah
Dosen Tabel untuk menyimpan data dosen
Kelas Tabel untuk menyimpan data kelas
Ruang Tabel untuk menyimpan data ruangan
Ruang _praktikum Tabel untuk menyimpan data ruang praktikum
Kuliah Tabel untuk menyimpan data pertemuan
kuliah
Slot Tabel untuk menyimpan data slot

4 Hasil dan Diskusi


Adapun urutan proses yang dilakukan dalam particle swarm optimization untuk penjadwalan
kuliah ini adalah :
1. Buat suatu basis data yang menampung data perkuliahan, misalkan tabelnya :
Jurnal . .. Vol. XX , No. X, Bulan 20XX, XX-XX 7

Tabel 4 Basis Data Perkuliahan


ID KULIAH ID MATKUL ID DOSEN ID KELAS
KUL01 1 DSN83 KLS01
KUL02 1 DSN53 KLS02
KUL03 1 DSN53 KLS03
KUL04 1 DSN53 KLS04
KUL05 1 DSN83 KLS07
2. Buat suatu slot yang akan menampung posisi dan velocity dengan ukuran hasil kali jumlah
jam, jumlah hari, dan jumlah kelas.

Slot = jumlah jam x jumlah hari x jumlah kelas


= 10 x 6 x 38 = 2280 slot
Gambaran dari slot awal yang akan digunakan untuk tiap partikel adalah sebagai berikut :

Gambar 4 Representasi Posisi awal dalam slot


Berdasarkan gambar 4 diatas didapat nilai posisi (x) awal, sebagai berikut :
x0=0 x5=5 x10=10 x15=15 x20=20 x25=25
x1=1 x6=6 x11=11 x16=16 x21=21 x26=26
x2=2 x7=7 x12=12 x17=17 x22=22 x27=27
x3=3 x8=8 x13=13 x18=18 x23=23 x28=28
x4=4 x9=9 x14=14 x19=19 x24=24 x29=29

x0 menginisialisaikan posisi ke 0 atau posisi awal didalam slot.


Kemudian masukkan id perkuliahan ke dalam slot secara acak. Hal ini dilakukan hingga seluruh
slot terisi. Dimisalkan proses memasukkan id perkuliahan dapat dilihat pada Gambar 5 di bawah
ini :
8 Raisha Ashila Rachman

Gambar 5 Representasi Pembangkitan Posisi dan Velocity


3. Tentukan parameter parameter PSO dimisalkan :
jumlah partikel = 4, jumlah iterasi = 1, w = 0.9, c1 = 2.5, c2 = 2.5
Kemudian tentukan populasi awal secara random, untuk awal proses nilai velocity sama
dengan nilai posisi. Setiap terjadi pelanggaran maka nilai fitness akan diincrement sebanyak
satu karena nilai fitness merealisasikan jumlah bentrokan yang terjadi sehingga didapat nilai
fitness sebagai berikut :
- Nilai fitness untuk partikel 1. f1 = 6
- Nilai fitness untuk partikel 2. f2 = 2
- Nilai fitness untuk partikel 3. f3 = 5
- Nilai fitness untuk partikel 4. f4 = 4

Dari nilai fitness yang sudah didapat, kita dapat menentukan nilai local best dan global best.
Adapun nilai local best ini adalah fitness yang mempunyai nilai bentrokan / pelanggaran paling
sedikit dan nilai global best adalah nilai local best yang paling baik dari setiap iterasi sehingga
didapat nilai local best sebagai berikut :
- Local best = 2

Setelah didapat nilai local best kita dapat menentukan nilai global best. Pada perhitungan
manual ini jumlah iterasi = 1 dimaksudkan sebagai iterasi awal. Maka pada iterasi awal nilai
local best sama dengan nilai global best, sehingga didapat nilai global best sebagai berikut :
- Global best = 2
4. Update velocity ( kecepatan ).

Setiap partikel yang berpindah dari satu posisi ke posisi yang lain dipengaruhi oleh suatu
velocity (kecepatan) yang menggambarkan perpindahan posisi. Didalam persamaan untuk
mencari velocity terdapat parameter random yang berada pada range 0 -1 . Nilai posisi (x) awal
yang telah ditentukan dimasukkan ke dalam persamaan velocity [3] :
x0=0 x5=5 x10=10 x15=15 x20=20 x25=25
x1=1 x6=6 x11=11 x16=16 x21=21 x26=26
x2=2 x7=7 x12=12 x17=17 x22=22 x27=27
x3=3 x8=8 x13=13 x18=18 x23=23 x28=28
x4=4 x9=9 x14=14 x19=19 x24=24 x29=29
Jurnal . .. Vol. XX , No. X, Bulan 20XX, XX-XX 9

sehingga didapat nilai velocity sebagai berikut :


v0=3 v5=10 v10=12 v15=16 v20=21 v25=23
v1=1 v6=5 v11=10 v16=14 v21=19 v26=23
v2=2 v7=4 v12=8 v17=13 v22=15 v27=19
v3=-2 v8=2 v13=7 v18=16 v23=21 v28=20
v4=4 v9=8 v14=-2 v19=2 v24=14 v29=19

5. Update posisi

Adapun proses update posisi menggunakan persamaan [4]. Sehingga didapat posisi baru
yang merupakan hasil tambah posisi yang lama dengan velocity yaitu:
x0=3 x5=15 x10=22 x15=2 x20=12 x25=19
x1=2 x6=11 x11=21 x16=1 x21=11 x26=20
x2=4 x7=11 x12=20 x17=1 x22=8 x27=17
x3=1 x8=10 x13=20 x18=5 x23=15 x28=19
x4=8 x9=17 x14=12 x19=9 x24=9 x29=19
Jika posisi baru yang didapatkan ditampilkan ke dalam bentuk representasi posisi, maka dapat
dilihat pada gambar 6 di bawah ini:

Gambar 6 Representasi Posisi Baru

4.1 Pengujian Aplikasi


1. Fitur Menu Penjadwalan Kuliah

1) Menu Proses Penjadwalan Kuliah

Menu Penjadwalan kuliah ini memiliki dua sub menu yaitu Lihat Jadwal dan Proses
Penjadwalan Kuliah. Pada menu Proses Penjadwalan kuliah dilakukan proses dari
implementasi metode Particle Swarm Optimization. Dengan menekan tombol Mulai
Proses Penjadwalan Kuliah untuk mendapatkan hasil penjadwalan kuliah seperti yang
dilihat pada Gambar 10 berikut ini :
10 Raisha Ashila Rachman

Gambar 7 Halaman Proses Penjadwalan Kuliah

5 KESIMPULAN
1. Masalah penjadwalan kuliah dapat direpresentasikan ke dalam slot yang merupakan tahapan
dari metode PSO yang selanjutnya dapat dibuat program untuk menghasilkan jadwal kuliah
dengan memenuhi aturan aturan penjadwalan dan parameter parameter PSO yang
digunakan.
2. Berdasarkan pengujian parameter yang dilakukan, jumlah partikel yang lebih besar dapat
mempengaruhi hasil solusi yang lebih baik walaupun membutuhkan waktu yang lebih lama
dalam pemrosesannya.
3. Spesifikasi dari komputer yang dipakai berpengaruh terhadap waktu proses penjadwalan
kuliah. Spesifikasi yang tinggi dari komputer yang dipergunakan untuk pengujian dapat
menjalankan partikel yang lebih baik dalam pemrosesan penjadwalan kuliah dan dapat
menghasilkan waktu proses yang lebih cepat.
4. Website ini sudah dapat menghasilkan jadwal kuliah, namun masih terdapat bentrokan
jadwal dikarenakan langkah langkah PSO yang banyak memiliki proses random sehingga
tidak seperti penjadwalan kuliah yang sesungguhnya.
DAFTAR PUSTAKA

[1] Alrijadjis. (2010). Optimasi Parameter Kontroler PID Berbasis Algoritma Particle Swarm
Optmization (PSO) Untuk Sistem Dengan Waktu Tunda. Institut Teknologi Sepuluh
Nopember. Surabaya.
[2] Ariani, Dian. (2010). Optimasi Penjadwalan Mata Kuliah Dengan Menggunakan Algoritma
Particle Swarm Optimization (PSO). Politeknik Elektronika Negeri Surabaya-Institut
Teknologi Sepuluh Nopember. Surabaya.
[3] Gazali, Harry Rahmat. (2010). Penjadwalan Kuliah Menggunakan Genetic Algortihm.
Politeknik Caltex Riau. Pekanbaru.
[4] Shiau, Der-Fang,. (2011). A Hybrid Particle Swarm Optimization for a University Course
Scheduling Problem with Flexible Preferences. Fooyin University, Kaohsiung, Taiwan,
ROC. http://www.elsevier.com/locate/eswa
[5] Suyanto. (2010). Algoritma Optimasi Deterministik atau Probabilistik. Yogyakarta
[6] Zerda, Evi Ria. (2009). Analisis dan Penerapan Algoritma Particle Swarm Optimization
(PSO) pada Optimasi Penjadwalan Sumber Daya Proyek. Institut Teknologi Telkom.
Bandung.

Anda mungkin juga menyukai