Disusun Oleh :
Jadwal mata pelajaran adalah salah satu komponen penting dalam suksesnya pelaksanaan
kegiatan belajar mengajar di sekolah, karena semua kegiatan guru dan siswa bergantung pada
jadwal yang ada, sehingga jadwal harus disusun dengan benar pada awal tahun pelajaran baru.
Penyusunan jadwal mata pelajaran secara manual seperti yang dilakukan di SMA Al Azhar 7
Solo Baru membutuhkan ketelitian yang tinggi, karena harus memperhatikan kendala-kendala
dalam penjadwalan (kelas, guru, mata pelajaran, hari dan jam) agar tidak saling bertumbukan.
Tujuan penelitian ini adalah untuk menerapkan algoritma Particle Swarm Optimization pada
optimasi pembuatan jadwal mata pelajaran dan untuk mengetahui efektifitas Algoritma
Particle Swarm Optimization (PSO) dalam penjadwalan mata pelajaran. Hasil dari penelitian
akan menghasilkan sistem penjadwalan yang efektif dan tidak ada bentrok jadwal.
Selama ini, penjadwalan yang dilakukan umumnya masih bersifat manual, dengan
mengakomodasi keterbatasan-keterbatasan tersebut, namun belum mempertimbangkan sisi
efisiensi jam pelajaran yang memungkinkan terjadinya bentrokan antara jam pelajaran satu dengan
lainya. Pada penelitian ini, didesain sebuah model penjadwalan mata pelajaran otomatis berbasis
algoritma Particle Swarm Optimization (PSO). Algoritma PSO merupakan sebuah teknik optimasi
stokastik berdasarkan populasi yang dikembangkan pada tahun 1995 oleh Dr. Eberhart dan Dr.
Kennedy, yang diinspirasi oleh perilaku sosial kawanan burung atau sekelompok ikan (Haupt,
R.L., Haupt, S.E., 2004). PSO memiliki kesamaan dengan teknik komputasi evolusioner seperti
algoritma genetik. Dibandingkan dengan algoritma genetik, PSO mempunyai beberapa kelebihan,
antara lain mudah diimplementasikan dan memiliki lebih sedikit fungsi operasi dan parameter
yang harus ditentukan (Haupt, R.L., Haupt, S.E., 2004).
Berdasarkan uraian diatas, maka masalah yang timbul dalam permasalahan tugas laporan
ini adalah :
b. Sejauh mana efektifitas Algoritma Particle Swarm Optimization (PSO) dalam penjadwalan
mata pelajaran
1.3 Manfaat Penelitian
2.1 Penjadwalan
Penjadwalan adalah aktivitas perencanaan untuk menentukan kapan dan dimana setiap
operasi sebagai bagian dari suatu pekerjaan secara keseluruhan harus dilakukan pada sumber daya
yang terbatas, serta pengalokasian sumber daya pada suatu waktu tertentu dengan memperhatikan
kapasitas sumber daya yang ada.
Masalah penjadwalan pada dasarnya merupakan masalah kombinasi yang cukup rumit
antara guru, mata pelajaran, waktu dan kelas. Masalah tersebut dapat diselesaikan dengan
mengkombinasikan secara manual untuk mendapatkan jadwal yang baik. Namun cara tersebut
membutuhkan waktu yang relatif lama dan harus dikerjakan secara cermat serta teliti agar tidak
terjadi konflik pada pembuatan jadwal.
2.3 Optimasi
Optimasi merupakan proses pencarian satu atau lebih penyelesaian yang berhubungan
dengan nilai-nilai dari satu atau lebih fungsi objektif pada suatu masalah sehingga diperoleh satu
nilai optimal. . 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 di hampir segala bidang dalam rangka melakukan usaha secara efektif dan efisien
untuk mencapai target hasil yang ingin dicapai.
2.4 Particle Swarm Optimization (PSO)
Metode PSO merupakan teknik optimasi yang pencarian solusinya mengikuti perilaku
sosial yang terjadi pada kehidupan populasi burung (flock of bird) dan populasi ikan (school of
fish) dalam bertahan hidup. Setiap populasi memiliki individu yang dapat mempengaruhi individu
lainya. Masing-masing individu tersebut merupakan partikel yang diibaratkan seperti sebuah titik
pada suatu dimensi ruang waktu tertentu . Misal pada sekelompok burung yang bermigrasi dari
satu tempat ke tempat lain. Sekelompok burung cenderung akan membentuk sebuah formasi
karena tiap burung yang bertetangga memiliki informasi jarak antar satu sama lain. Hal yang sama
juga berlaku pada sekumpulan ikan yang bermigrasi. Ikan dapat mengetahui jarak antar satu sama
lain karena bantuan gelombang air. Hal ini mengakibatkan ikan dapat bergerak dengan cepat dan
jarak yang akurat dalam sebuah kelompok.
Algoritma PSO terdiri dari tiga tahap, yaitu pembangkitan posisi serta kecepatan partikel,
update velocity (update kecepatan), update position (update posisi).
Pertama posisi dan kecepatan dari kumpulan partikel dibangkitkan secara random
menggunakan batas atas (xmax) dan batas bawah (xmin) dari design variable, seperti yang
ditunjukkan pada persamaan (1) dan (2):
Dimana :
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 :
vik + 1 vik pgk
Langkah kedua adalah update velocity (kecepatan) untuk semua partikel pada waktu k+1
menggunakan fungsi objektif atau nilai fitness posisi partikel saat ini pada design space saat
waktu ke k. Dari nilai fitness dapat ditentukan partikel mana yang memiliki nilai global terbaik
(global best) pada swarm saat ini, dan juga dapat ditentukan posisi terbaik dari tiap partikel pada
semua waktu yang sekarang dan sebelumnya (pi). Perumusan update velocity menggunakan
dua informasi tersebut untuk semua partikel pada kumpulan dengan pengaruh perpindahan yang
sekarang untuk memberikan arah pencarian untuk generasi selanjutnya.
Perumusan update velocity mencakup beberapa parameter random (rand), untuk mendapatkan
cakupan yang baik pada design space, tiga parameter yang mempengaruhi arah pencarian, yaitu
inertia factor (w), self confidence (c1), swarm confidence (c2) akan digabungkan dalam satu
penyajian, seperti yang ditunjukkan persamaan berikut:
Dimana :
Vik = kecepatan
Xik = posisi
pi = local best
I = partikel
Langkah terakhir dari setiap iterasi adalah update posisi tiap partikel dengan vektor velocity,
seperti yang ditunjukkan pada persamaan berikut:
Xik+1 = xik + vik+1....................................................................................................... (4)
Tiga tahapan di atas akan diulang sampai kriteria kekonvergenan terpenuhi, kriteria
kekonvergenan sangat penting dalam menghindari penambahan fungsi evaluasi setelah solusi
optimum didapatkan, namun kriteria kekonvergenan tidak selalu mutlak diperlukan, penetapan
jumlah iterasi maksimal juga dapat digunakan sebagai stopping condition dari algoritma.
Banyak cara untuk membangun kondisi berhenti, di antaranya adalah: iterasi dihentikan ketika
PSO telah mencapai iterasi maksimum, atau PSO telah menemukan nilai optimum tertentu atau
kesalahan minimum yang diinginkan
Penelitian ini akan dilakukan berdasarkan diagram alir metode penelitian yang terdapat
pada gambar 3.1
2. Analisis Kebutuhan
Pada tahap ini penulis melakukan analisa terhadap kebutuhan yang ada di sekolah SMA
Al-Azhar 7 Solo Baru, terkait dengan survey yang dilakukan, sehingga akan didapatkan data
kebutuhan yang nantinya akan dijadikan latar belakang dalam pembuatan program.
3. Perancangan Aplikasi
Pada tahapan ini penulis melakukan perancangan aplikasi penjadwalan yang akan dibuat,
mulai dari analisa algoritma yang digunakan, instalasi bahasa pemrograman sampai dengan
analisa kendala yang akan terjadi di SMA Al-Azhar 7 Solo Baru.
Analisis pengguna dimaksudkan untuk mengetahui siapa saja pengguna yang terlibat
dalam proses penjadwalan mata pelajaran. Pengguna dari aplikasi ini hanya ada satu yakni User /
Staf Tata Usaha.
User merupakan orang yang memiliki hak dalam :
a. Memasukkan data guru, kelas, mata pelajaran dan data ajar.
Dalam Perancangan sistem mata pelajaran ini, penulis membuat tabel dataset yang saling
berelasi. tabel-tabel tersebut terdiri dari data id, data kelas, data guru, dan data mata pelajaran.
Disini penulis menerapkan algoritma PSO untuk penjadwalan mata pelajaran menggunakan
python
Untuk mencari nilai fitness dalam kasus penjadwalan mata pelajaran ini, dimana
kita ingin meminimalkan jumlah pelanggaran terhadap constraint.
Semakin kecil jumlah pelanggaran yang terjadi, maka nilai fitness yang dihasilkan
semakin besar. Sebaliknya semakin besar jumlah pelanggaran yang terjadi, maka nilai
fitness yang dihasilkan semakin kecil. Partikel dengan nilai fitness terbesar merupakan
partikel yang terbaik.
3, 3 1 E4 1 1
2, 4 2 E1 1 1
2, 1 2 E2 0,5 1
5, 1 1 E1 1 1
2, 3 1 E2 0,5 1
4, 2 1 E1 1 1
5, 4 1 E2 0,25 1
3, 3 1 E1 1 1
5, 1 1 E2 1 1
5, 1 1 E3 0,5 1
2, 4 1 E1 0,5 1
4, 3 1 E1 1 1
5, 3 1 E2 0,5 1
1, 2 1 E1 1 1
2, 4 1 E2 0,5 1
3, 1 1 E1 1 1
2, 4 1 E2 0,25 1
5, 4 1 E1 0,33 1
5, 3 1 E1 1 1
4, 4 1 E2 1 1
2, 1 1 E3 1 1
5, 1 1 E4 0,5 1
5, 2 1 E1 0,33 1
c1 3,5
c2 0,5
W 0,7
Berikut adalah representasi dalam bentuk jadwal update nilai posisi partikel jam,
kelas, dan hari berdasarkan nilai velocity
Jam E1 E2 E3 E4
SENIN 1 2 6 3 21
2 13 22
3 6 10
4 18 1 3
SELASA 1 2
3 22 14 18
4 6 3 20
RABU 1 14 15 5
2 7
3 5 13 13
4 10 11
KAMIS 1 3 2
2 7 12 8
3 1 21 1
4 11 7
JUMAT 1 17 19 17
2 20 12
3 1 9 6
4 9 2
Berikut merupakan hasil screenshot dari hasil update yang dimunculkan di Google Chrome :
BAB V
KESIMPULAN
Setelah dilakukan uji coba dan analisa terhadap tugas akhir ini, maka kita dapatkan :
1. Algoritma Particle Swarm Optimization (PSO) dapat digunakan untuk
mengoptimasi permasalahan penjadwalan mata pelajaran di SMA Al-Azhar 7
Solo Baru
2. Hasil akhir dari penjadwalan mata pelajaran dengan PSO yang paling optimal
yaitu dengan menggunakan parameter C1=3.5, C2=0.5, W=0.7 dan jumlah
partikel sebanyak 10.
3. Pada percobaan menggunakan algoritma particle swarm optimization ini masih
didapatkan kemungkinan terjadinya perbenturan dalam jadwal.
DAFTAR PUSTAKA
Ariani, Dian, 2011, Optimasi Penjadwalan Mata Kuliah di Jurusan Teknik Informatika
PENS Dengan Menggunakan Algoritma Particle Swarm Optimization (PSO), Surabaya,
Institut Teknologi Sepuluh Nopember.
Wati, Dwi Ana R. dan Yuli Agusti Rochman. 2013. Model Penjadwalan Matakuliah Secara
Otomatis. Berbasis Algoritma Particle Swarm Optimization (PSO). Jurnal Rekayasa Sistem
Industri Vol. 2, No.1.
Pinedo, M. L. 2012. Scheduling: Theory, Algorithms, and Systems. New York: Springer.
Haupt, R.L., Haupt, S.E. 2004. Practical Genetic Algorithms. New Jersey: John Wiley &
Sons, 253 p.