PENDAHULUAN
berbagai persoalan seperti keterbatasan ruang, jumlah ruang yang digunakan untuk
mengajar dosen. Semakin bertambahnya jumlah mata kuliah yang akan dijadwalkan,
keterbatasan tersebut, namun belum mempertimbangkan sisi efisiensi baik dari sisi
penggunaan ruang dan fasilitas yang ada maupun dari sisi kenyamanan bagi dosen
maupun mahasiswa. Selain itu juga perlu diperhatikan efisiensi penggunaan ruang,
yaitu perlunya pengalokasian ruang yang tepat bagi suatu mata kuliah berdasarkan
Penjadwalan mata kuliah menjadi salah satu masalah yang selalu dihadapi oleh
jadwal mata kuliah - mata kuliah pada slot waktu yang tersedia selama satu minggu
beberapa hal seperti kapasitas ruang, dosen, mahasiswa, dan jumlah SKS setiap mata
1
kuliah. Masalah penjadwalan meliputi optimasi beberapa kriteria termasuk batasan-
batasan seperti kebijakan kurikulum, pemilihan ruang kelas yang sesuai, dan
Optimized (PSO). Particle Swarm Optimized (PSO) merupakan bagian dari pencarian
heuristic. Particle Swarm Optimized (PSO) adalah suatu metode optimasi yang
Particle Swarm Optimized (PSO) akan diperoleh optimasi penjadwalan yaitu kondisi
di mana terjadi kombinasi terbaik untuk pasangan mata kuliah dan dosen secara
Manajemen. Maka dengan adanya aplikasi ini nantinya diharapkan dapat mengatur jam
mengajar dosen dan juga jadwal perkuliahan mahasiswa, sehingga menghindari adanya
bentrokan jadwal.
Berdasarkan latar belakang yang telah uraikan, maka permasalahan yang timbul
adalah bagaimana membuat jadwal mata kuliah dan pembagian dosen pada tiap-tiap
kelas di TAMSIS, sehingga didapatkan kombinasi mata kuliah yang lebih baik guna
2
menghasilkan jadwal mata kuliah yang optimal. Jadwal mata kuliah dikatakan optimal
apabila tidak didapatkan kress didalamnya dan tidak melanggar konstrain yang
ditentukan.
sehingga penjadwalan terbaik tercipta secara sistematis dan informasi keatasan dapat
1.4.1. Tujuan
Tujuan yang ingin dicapai dari pembuatan aplikasi penjadwalan ini adalah
sebagai berikut:
PSO.
3
1.4.2. Manfaat
4
II. TINJAUAN PUSTAKA
2.1.1. Penjadwalan
didefinisikan sebagai daftar, tabel kegiatan atau rencana kegiatan dengan pembagian
menyusun suatu jadwal atau urutan proses yang diperlukan dalam sebuah persoalan.
sekolah atau perkuliahan dan juga dalam lingkup yang tidak jauh berbeda seperti
penjadwalan kuliah, akan dibahas tentang pembagian jadwal untuk tiap mahasiswa
pada kuliah tertentu sekaligus dosen pengajarnya. Dalam penjadwalan ujian akan
dibahas pengaturan dosen yang menjaga ujian dan mahasiswa yang menempati ruang
ujian yang ada. Dalam penjadwalan karyawan, dilakukan pengaturan karyawan yang
akan bekerja pada waktu tertentu di bagian tertentu. Sedangkan dalam penjadwalan job
shop, dilakukan penjadwalan sejumlah mesin dan sejumlah pekerjaan terkait rute yang
telah ditentukan. Proses tersebut tentu saja dibuat berdasarkan permasalahan yang ada.
5
Beberapa proses umum yang perlu dilakukan untuk menyelesaikan suatu
mencakup proses apa saja yang akan dikerjakan dalam persoalan penjadwalan
yang ada. Atau lebih jelasnya jadwal apa saja yang akan dibuat;
Dari model yang telah ada, ditentukan metode yang akan digunakan untuk
pernah digunakan agar dapat dipakai sebagai referensi dalam proses yang
sedang dilakukan.
2.1.2. Optimalisasi
adalah berasal dari kata dasar optimal yang berarti terbaik, tertinggi, paling
untuk membuat sesuatu (sebagai sebuah desain, system, atau keputusan) menjadi
6
2.1.3. Algoritma
oleh seorang ilmuan muslim dari daerah bukhoro yaitu Abu Ja'far Muhamad Ibnu Musa
Al-Khawarizmi. Selain sebagai penemu Al-Jabar dan angka Nol, beliau juga dikenal
sebagai ilmuan astronomi yang dalam bahasa arab di sebut Ilmu Falaq, ilmu ini juga di
pelajari di dalam pondok-pondok pesantren salafi. Dan masih banyak keahlian beliau
Terdapat beberapa defenisi dari algoritma yang dikutip dari beberapa literatur,
antara lain:
sebagai PSO diperkenalkan oleh Dr. Eberhart dan Dr. Kennedy pada tahun 1995,
merupakan algoritma optimasi yang meniru proses yang terjadi dalam kehidupan
populasi burung dan ikan dalam bertahan hidup.Sejak diperkenalkan pertama kali,
algoritma PSO berkembang cukup pesat, baik dari sisi aplikasi maupun dari sisi
7
pengembangan metode yang digunakan pada algoritma tersebut (Wati, Rochman,
2013). Hal ini disebabkan, algoritma PSO merupakan algoritma optimasi yang mudah
dipahami, cukup sederhana, dan memiliki unjuk kerja yang sudah terbukti handal.
Algoritma PSO dapat digunakan pada berbagai masalah optimasi baik kontinyu
dimulai dengan suatu populasi yang terdiri dari sejumlah individu (yang menyatakan
solusi) yang dibangkitkan secara acak dan selanjutnya melakukan pencarian solusi
optimum melalui perbaikan individu untuk sejumlah generasi tertentu. Tetapi berbeda
(cross over) dan mutasi. PSO memiliki memori untuk menyimpan solusi terbaik,
sedangkan GA tidak punya. Setiap partikel pada PSO tidak pernah mati, sedangkan
individu pada GA bisa mati dan digantikan dengan individu baru. Pada PSO, posisi dan
kecepatan terbang partikel di-update pada setiap iterasi sehingga partikel tersebut bisa
dalam suatu ruang solusi sebagai aktivitas terbangnya kelompok partikel dalam suatu
ruang solusi tersebut. Posisi partikel dalam ruang solusi tersebut merupakan kandidat
solusi yang berisi variabel-variabel optimasi. Setiap posisi tersebut akan dikaitkan
8
dengan sebuah nilai yang disebut nilai objektif atau nilai fitness yang dihitung
Kusmarna, dkk (2015) Algoritma PSO terdiri dari tiga tahap, yaitu
updateposition (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 berikut (Kusmarna, dkk,
TIDAK
Update Nilai Posisi untuk semua posisi
YA
Stop
mana n dimensi vektor merepresentasikan jumlah dari desain variabel partikel, dengan
inisialisasi ini maka kumpulan partikel dapat terdistribusi secara random pada design
1 2 𝑛
𝑋𝐾𝑖 = (𝑥𝑘𝑖 , 𝑥𝑘𝑖 ,… ,𝑥𝑘𝑖 )𝑇 ………(3)
1 2 𝑛
𝑣𝑘𝑖 =(𝜈𝑘𝑖 , 𝑣𝑘𝑖 , … , 𝑣𝑘𝑖 )𝑇 …….…(4)
Langkah kedua adalah update velocity (kecepatan) untuk semua partikel pada
waktu k +1menggunakan 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
10
sebelumnya, 𝑝𝑖 . Perumusan update velocity menggunakan dua informasi tersebut untuk
semua partikel pada kumpulan dengan pengaruh perpindahan yang sekarang, 𝑣𝑘𝑖 , untuk
𝑖
memberikan arah pencarian, 𝑣𝑘+1 , untuk generasi selanjutnya. Perumusan update
yang baik pada design space, tiga parameter yang mempengaruhi arah pencarian, yaitu
inertia factor (w), self confidence (c1), swarm confidence (c2) akan digabungkan dalam
𝑖 𝑔
𝑣𝑘+1 = 𝑤 ∗ 𝑣𝑘𝑖 + c1*rnd*( 𝑝𝑖 - 𝑥𝑘𝑖 )+c2*rnd*(𝑝𝑘 − 𝑥𝑘𝑖 ………. (5)
langkah terakhir dari setiap iterasi adalah update posisi tiap partikel dengan
𝑖
𝑥𝑘+1 = 𝑥𝑘𝑖 + 𝑣𝑘+1
𝑖
……(6)
setelah solusi optimum didapatkan, namun kriteria kekonvergenan tidak selalu mutlak
diperlukan, penetapan jumlah iterasi maksimal juga dapat digunakan sebagai stopping
2.1.5. Fitness
kebaikan atau kesesuaian (fitness) suatu solusi dengan solusi yang dicari. Fungsi
fitness bisa berhubungan langsung dengan fungsi tujuan, atau bisa juga sedikit
modifikasi terhadap fungsi tujuan. Sejumlah solusi yang dibangkitkan dalam populasi
Pada kasus optimasi, dikenal dua masalah, yaitu maksimasi dan minimasi.
Maksimasi artinya mencari nilai maksimal dari sesuatu (bisa berupa fungsi).
Sedangkan minimasi artinya mencari nilai minimal dari sesuatu. (kusmarna, 2013 ).
Jika tujuannya adalah memaksimalkan sebuah fungsi, maka fungsi fitness yang
digunakan adalah fungsi itu sendiri, jadi f = h (di mana f adalah fungsi fitness).
Sedangkan jika tujuannya adalah meminimalkan fungsi h, maka fungsi h tidak bisa
digunakan secara langsung. Fungsi fitness yang digunakan untuk masalah minimasi
adalah f = 1/h. artinya, semakin kecil nilai h semakin besar nilai f. tetapi fungsi fitness
ini akan bermasalah jika h bisa bernilai 0, yang mengakibatkan f bisa bernilai tak
12
hingga. Untuk mengatasi masalah tersebut, fungsi fitness perlu dimodifikasi sedikit
menjadi:
1
F = (ℎ+𝑎) …………… (6)
dilanggar. Sedangkan a adalah bilangan yang dianggap sangat kecil untuk menghindari
Ariani (2011) Dalam penjadwalan ini nilai fitness ini menentukan banyaknya
diperbolehkan mengikuti satu matakuliah pada hari dan jam yang sama;
b. Tidak boleh ada bentrok dosen, yaitu setiap dosen hanya diperbolehkan
c. Tidak boleh ada dosen yang sama dan mengajar mata kuliah yang sama dalam
13
pelanggaran yang terjadi dalam satu iterasi kemudian dihitung dengan fungsi fitness
minimasi. Sehingga partikel terbaik adalah partikel dengan nilai fitness terkecil.
2.2. PHP
Menurut Refky (2016) Hypertext Preprocessor atau di singkat PHP adalah suatu
Bahasa pemrograman yang digunakan untuk membuat web dinamis, walau bisa juga
digunakan untuk membuat program lain. Tentunya Bahasa pemrograman PHP berbeda
dengan HTML, pada PHP Script/kode yang dibuat tidak dapat ditampilkan pada
halaman/muka website begitu saja, tapi harus diproses terlebih dahulu oleh web server
3. Kode PHP dapat digunakan untuk mengakses data bases, seperti: MySQL
Selain memberikan keuntungan seperti pada beberapa poin diatas, juga didukung
oleh banyak komunitas. Hal ini membuat PHP terus berkembang. Selain itu, anda dapat
belajar lebih banyak lagi tentang tips dan trik penggunaannya dari berbagai komunitas,
14
2.3. MySQL
sekitar 5 juta instalasi di dunia. MySQL tersedia sebagai perangkat lunak gratis di
bawah lisensi GNU. Dengan adanya keadaan seperti itu maka dapat menggunakan
software database ini dengan bebas tanpa harus takut dengan lisensi yang ada. Dalam
permintaan data.
akan mampu menangani data- data perusahaan yang berukuran sangat besar hingga
Pressman (2000), Pengujian perangkat lunak adalah elemen kritis dari jaminan
kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain,
dan pengkodean.
Teknik pengujian perangkat lunak dapat dibagi atas beberapa macam, namun
15
1. Pengujian White Box
a. Memberi jaminan bahwa jalur independent pada suatu modul telah digunakan
Pengujian Black Box adalah pengujian yang fokus pada persyaratan fungsional
program.
d. Kesalahan kinerja;
16
2.5. Penelitian Sebelumnya
Berikut ini beberapa penelitian yang membahas menggunakan algoritma Particle
No Penulis/Universitas Judul
17
2.6. Kerangka Berpikir
Masalah
Tujuan
Pendekatan/Metode
Algoritma Particle Swarm
Optimization
Pengujian ( testing )
1. White Box
2. Black Box
Hasil
PERANGKAT LUNAK PENJADWALAN KULIAH MENGGUNAKAN
ALGORITMA PARTICLE SWARM OPTIMIZATION (PSO) STUDI
KASUS UNIVERSITAS TAMAN SISWA PALEMBANG
Adapun data yang digunakan dalam penelitian ini yakni berasal dari:
1. Data Primer
Data Primer yaitu data secara langsung dari objek penelitian dengan pengamatan
lain:
2. Mata kuliah.
4. Jumlah ruangan.
5. Waktu perkuliahan.
2. Data Sekunder
Data Sekunder yaitu data yang diperoleh secara tidak langsung, yang diperoleh
19
berhubungan dengan permasalahan yang dibahas melalui dokumen, jurnal
ilmiah,internet, dll.
1. Pengumpulan Kebutuhan
2. Membangun Prototyping
20
Membangun prototyping dengan membuat perancangan sementara yang
3. Evaluasi Prototyping
dibangun sudah sesuai dengan keinginan customer atau belum. Jika sudah
sesuai, maka langkah selanjutnya akan diambil. Namun, jika tidak, prototyping
4. Mengkodekan Sistem
5. Menguji Sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, kemudian
dilakukan proses pengujian. Pengujian ini dilakukan dengan White Box dan
Black Box.
6. Evaluasi Sistem
Customer mengevaluasi apakah perangkat lunak yang sudah jadi sudah sesuai
dengan yang diharapkan. Jika ya, maka proses akan dilanjutkan ke tahap
selanjutnya, namun jika perangkat lunak yang sudah jadi tidak/belum sesuai
7. Menggunakan Sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
21
3.4. Metode Pengumpulan Data
1. Studi pustaka
2. Observasi
3. Diskusi
dilapangan, dan pihak yang dapat membantu dalam penyelesaian penelitian ini.
Adapun alat dan bahan yang dibutuhkan dalam penelitian ini, yaitu :
2) RAM 2 GB
3) Harddisk 250 GB
22
1) Windows 10 pro
23
3.6. Jadwal Penelitian
Pengajuan
1.
Judul
Proposal
Pengumpu
2.
lan
Referensi
3. Penulisan
Proposal
Pengurusa
4.
n Izin
Penelitian
5. Penyusuna
n Proposal
3. Penulisan
proposal
Pengurusan
4.
izin
penelitian
5. Penyusunan
proposal
24
Keterangan : Telah dilakukan
Belum dilakukan
DAFTAR PUSTAKA
25
Pressman. Roger S. 2000. Software Engineering: A Practioner’s Approach.” 5th
edition, ISBN 0073655783. McGrow-Hill, New York
26