• Tidak ada hasil yang ditemukan

Analisa dan Penerapan Metode Particle Swarm Optimization Pada Optimasi Penjadwalan Kuliah

N/A
N/A
Protected

Academic year: 2021

Membagikan "Analisa dan Penerapan Metode Particle Swarm Optimization Pada Optimasi Penjadwalan Kuliah"

Copied!
10
0
0

Teks penuh

(1)

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)

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 :

(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

2. Menentukan nilai fitness masing – masing partikel Tabel 2 Batasan Constraint

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

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

DYH TETAP 1TIB

No Batasan

1 Tidak bentrok dosen

2 Tidak bentrok matakuliah

(4)

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

(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)

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 :

(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)

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

(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)

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. .

Gambar

Tabel 1 Data Kuliah
Gambar 1 Use Case Diagram
Gambar 2 Flowchart Sistem
Gambar 3 Entity Relationship Diagram
+5

Referensi

Dokumen terkait

Dari hasil penelitian dapat disimpulkan bahwa penambahan gliserol 6% dalam pengencer Tris berhasil melindungi spermatozoa dari berbagai cekaman selama proses kriopreservasi

Kewirausahaan adalah semangat, sikap, perilaku dan kemampuan seseorang dalam menangani usaha dan atau kegiatan yang mengarah pada upaya mencari, menerapkan cara kerja yang

Analisis deskriptif, data yang diolah yaitu data pretest dan posttest murid kelas V yang diterapkan dengan menggunakan media kartu hitung pada pembelajaran matematika

Variabel independen dalam penelitian adalah CSR, kepemilikan institusional, kepemilikan manajerial dan kepemilikan asing yang akan dibuktikan pengaruhnya terhadap

Pola pertumbuhan berat badan, tinggi badan, panjang duduk serta lingkar lengan anak laki-laki dan anak perempuan usia 1 sampai 5 tahun di Perkampungan Budaya

Peserta didik menganalisis tabel dan grafik hubungan antara nomor atom dengan sifat keperiodikan unsur (jari- jari atom, energi ionisasi, afinitas elekton, dan

• Pendidikan formal Persis adalah pendidikan yang berorientasi pada Islam, bersistem, berlandaskan pada teori ilmu pendidikan dan tujuan nasional, serta mengacu

Jadi dalam penelitian ini fenomena yang akan diteliti adalah mengenai keadaan penduduk yang ada di Kabupaten Lampung Barat berupa dekripsi, jumlah pasangan usia