bab iii analisis dan perancangan 3.1. analisis persoalan
TRANSCRIPT
18
BAB III
ANALISIS DAN PERANCANGAN
3.1. Analisis Persoalan
Seperti yang telah dijelaskan pada latar belakang, bahwa penjadwalan mata kuliah
di Insittut Teknologi Sumatera masih dilakukan secara manual, sehingga
mengakibatkan penjadwalan mata kuliah yang saling berbenturan satu sama lain.
Penjadwalan yang dihasilkan pun menjadi kurang optimal. Jadwal mata kuliah yang
berbenturan dapat merepotkan banyak pihak seperti dosen, mahasiswa dan pihak
akademik karena harus mencari jadwal yang baru lagi dan sesuai dengan spesifikasi
kebutuhan kelas tersebut. Penjadwalan mata kuliah merupakan masalah yang cukup
kompleks untuk diselesaikan karena banyak aspek seperti aspek mahasisa, aspek
dosen, aspek waktu dan aspek ruangan. Tentu saja dengan begitu banyak aspek
yang perlu diperhatikan, penjadwalan yang dilakukan secara manual akan cukup
sulit dan memakan waktu yang lama, sehingga penjadwalan secara manual ini
belum tentu menghasilkan jadwal yang baik dan dapat memenuhi semua aspek yang
ada. Belum lagi jika jumlah mata kuliah, mahasiswa, dan dosen yang berjumlah
ratusan atau bahkan ribuan. Penjadwalan mata kuliah secara manual ini akan terasa
cukup mustahil.
Oleh karena itu, diperlukannya suatu sistem penjadwalan mata kuliah secara
otomatis yang dapat menghasilkan jadwal mata kuliah yang optimal. Penjadwalan
mata kuliah secara otomatis ini tentu saja akan mempermudah banyak pihak karena
proses penjadwalan mata kuliah yang dihasilkan cukup cepat dan optimal.
Penjadwalan mata kuliah secara otomatis ini akan berusaha untuk memenuhi semua
aspek dan tujuan yang dibutuhkan untuk menciptakan jadwal mata kuliah yang
optimal. Sehingga, diharapkan dengan penjadwalan mata kuliah secara otomatis ini
dapat membantu pihak akademik, dosen, dan mahasiswa dalam membuat jadwal
mata kuliah yang baik dan memenuhi semua aspek yang diinginkan.
3.2. Analisis Solusi
Berdasarkan analisis persoalan yang telah dijelaskan sebelumnya, maka pada
penelitian ini akan diusulkan untuk membuat sebuah aplikasi untuk memecahkan
permasalahan tersebut. Sistem yang akan dibangun adalah sistem penjadwalan mata
19
kuliah secara otomatis pada Institut Teknologi Sumatera. Sistem penjadwalan mata
kuliah ini diharapkan dapat membantu dalam proses penyusunan jadwal mata
kuliah di Institut Teknologi Sumatera.
Pada sistem penjadwalan mata kuliah ini, metode yang akan digunakan adalah Grey
Wolf Optimization. Algoritma GWO merupakan algoritma metaheuristik yang
terinspirasi dari hirarki sosial dan proses berburu dari serigala abu-abu. Pada
penelitian ini akan membutuhkan data dosen, mata kuliah, kelas, hari, waktu, dan
ruangan. Pada penelitian ini setiap kelas yang akan dijadwalkan dianggap sebagai
seekor serigala abu-abu. Berdasarkan metode GWO, pada iterasi pertama setiap
kelas akan mendapat posisi secara acak yang berarti setiap kelas akan mendapat slot
hari, slot waktu, dan slot ruangan secara acak. Setelah itu, setiap kelas akan dihitung
nilai fitness-nya. Kemudian akan dipilih 3 kelas dengan nilai fitness terbaik yang
akan mendapat peran sebagai alpha, beta, dan delta. Setelah itu, pada iterasi
selanjutnya setiap kelas akan bergerak sesuai dengan alpha, beta, dan delta. Oleh
karena itu, setiap kelas akan bergerak berdasarkan perpindahan slot hari, slot waktu,
dan slot ruangan. Pada setiap iterasi, selain menghitung fitness setiap kelas untuk
menentukan alpha, beta, dan delta, juga akan menghitung nilai fitness secara
keseluruhan kemudian menghitung nilai error dengan menggunakan mean squared
error (MSE). Mean Squared Error (MSE) adalah metode evaluasi teknik
peramalan, metode ini akan menghasilkan nilai error yang cukup besar karena nilai
error akan dikuadratkan [19]. Proses ini akan terus berlanjut hingga pada iterasi
tertentu nilai error yang didapatkan tidak terlalu berubah dari beberapa iterasi
sebelumnya atau nilai error yang dihasilkan lebih besar dari iterasi sebelumnya.
Pada prosesnya, algoritma GWO akan tetap menggunakan iterasi maksimal namun
bukan untuk kondisi berhenti. Iterasi maksimal digunakan untuk mengatur
parameter α. Oleh karena itu, sistem penjadwalan ini akan membutuhkan data mata
kuliah, data hari, data waktu, dan data ruangan untuk mengatasi masalah
penjadwalan mata kuliah ini. Setelah semua data telah diolah dengan menggunakan
algoritma GWO hingga mendapat nilai error yang diinginkan, maka akan
memunculkan hasil dari penjadwalan tersebut.
Sistem penjadwalan ini akan mempunyai 1 hak akses saja yaitu admin. Admin akan
bertugas untuk mengirimkan data-data yang dibutuhkan oleh sistem untuk dapat
20
menjadwalkan data mata kuliah sekaligus men-generate penjadwalan secara
otomatis dengan menggunakan algoritma GWO. Jika penjadwalan yang dihasilkan
masih melanggar hard constraints, maka admin dapat men-generate ulang
penjadwalan atau bisa memperbaikinya secara manual dengan melihat slot yang
kosong pada jadwal.
3.3. Perancangan Sistem
Proses dari penerapan metode Algoritma Grey Wolf Optimization dalam optimasi
penjadwalan mata kuliah secara umum Gambar 3.1
Gambar 3.6 Diagram Sistem Penjadwalan dengan Metode GWO
3.3.1. Pengumpulan Data
Pengumpulan data pada penelitian ini dilakukan dengan menggunakan metode
dokumentasi. Dokumentasi merupakan metode pengumpulan data dengan cara
mengumpulkan referensi data-data yang memiliki keterkaitan dengan penelitian
yang akan dilakukan. Penelitian ini menggunakan data mata kuliah semester ganjil
dan semester genap pada Prodi Teknik Informatika Institut Teknologi Sumatera
Tahun Ajaran 2019/2020. Data-data tersebut diambil dari website resmi sistem
akademik ITERA yaitu http://siakad.itera.ac.id/. Adapun data-data yang diperoleh
dari website tersebut adalah data mata kuliah dan data ruangan. Sedangkan, data
waktu dan data hari didapatkan dari penyesuaian jadwal mata kuliah yang telah
diterapkan.
3.3.2. Proses Algoritma Grey Wolf Optimization
Setelah pengumpulan data yang diperlukan sudah diperoleh, selanjutnya akan
memasuki proses utama yaitu proses penyusunan jadwal mata kuliah dengan
menggunakan algoritma GWO. Pada proses algoritma GWO, setiap kelas akan
dihitung nilai fitness-nya berdasarkan pelanggaran-pelanggaran yang ada pada hard
constraint ataupun soft constraint. Sehingga, ketika kondisi berhenti didapatkan
akan menghasilkan jadwal mata kuliah yang layak digunakan.
21
Gambar 3.7 Flowchart Algoritma GWO
Gambar 3.2 menjelaskan tentang langkah-langkah yang dilakukan oleh Algoritma
Grey Wolf Optimization dalam mengoptimasi penjadwalan mata kuliah, berikut
adalah penjelasannya :
1. Menginisialisasi jumlah populasi serigala (search agents). Populasi serigala
yang dimaksud adalah jumlah kelas yang akan dijadwalkan.
2. Menginisialisasi parameter yang dibutuhkan yaitu 𝛼,𝐴 dan 𝐶.
3. Menghitung nilai fitness masing-masing search agents atau kelas dan
menghitung nilai fitness secara keseluruhan. Setelah menghitung
keseluruhan fitness, menghitung nilai MSE untuk mendapatkan nilai error
pada setiap iterasinya.
22
4. Menentukan alpha, beda, dan delta menurut nilai fitness terbaik yang
diperoleh dari setiap kelas.
5. Perbarui setiap posisi search agents atau kelas berdasarkan posisi dari alpha,
beta, dan delta.
6. Perbarui nilai paramater 𝛼, 𝐴 dan 𝐶.
7. Hitung kembali nilai fitness setiap search agents atau mata kuliah,
menghitung nilai fitness secara keseluruhan, dan menghitung nilai MSE
setelah perubahan posisi.
8. Tentukan kembali alpha, beta, dan delta berdasarkan hasil fitness terbaik.
9. Kemudian ulangi poin ke 5 (lima) sampai 8 (delapan) hingga mendapatkan
nilai error minimal yang telah ditentukan dan menghasilkan jadwal yang
mendekati optimal.
3.3.3. Perhitungan Algoritma Grey Wolf Optimization
Berikut merupakan contoh tahap penyelesaian optimasi penjadwalan mata kuliah
dengan metode GWO :
1. Mengumpulkan data-data yang diperlukan untuk membuat suatu jadwal
mata kuliah yaitu, data dosen, data mata kuliah, data waktu, data hari, dan
data ruangan. Data dosen dan data mata kuliah akan digabung menjadi satu
data yaitu data kelas. Contoh data kelas, data waktu, data hari, dan data
ruangan dapat dilihat pada Tabel 3.1 hingga Tabel 3.4.
Tabel 3.1 Tabel Contoh Data Kelas
(Sumber : http://siakad.itera.ac.id/)
No Nama MK Kelas
SKS Kode Kelas Jumlah
Mahasiswa Dosen
1 Probabilitas dan
Statistika
RA 3 5813 45 A
2 Basis Data RB 3 5814 47 B
3 Kapita Selekta
Informatika
RA 3 5815 55 C
4 Kewirausahaan RB 2 5816 35 A
5 Socio Informatika RA 2 5817 50 B
23
Tabel 3.2 Tabel Contoh Data Waktu
No Waktu
1 07.00-09.30
2 10.00-11.40
3 13.00-15.30
4 16.00-17.40
Tabel 3.3 Tabel Contoh Data Ruangan
No Ruangan Kapasitas
1 F101 40
2 F102 60
3 F103 60
Tabel 3.4 Tabel Contoh Data Hari
No hari
1 Senin
2 Selasa
2. Menentukan jumlah populasi serigala berdasarkan jumlah kelas yang akan
dijadwalkan. Pada contoh perhitungan ini, untuk kondisi berhenti akan
menggunakan iterasi maksimal karena untuk mempersingkat perhitungan.
Pada contoh perhitungan ini, iterasi maksimal yang akan digunakan adalah
𝐼𝑡𝑒𝑟 = 1. Jumlah kelas yang akan digunakan terdapat pada Tabel 3.1 yaitu
terdapat 5 kelas, sehingga populasi serigala akan berjumlah 5.
3. Pada penjadwalan mata kuliah ini, posisi setiap serigala atau kelas akan
ditentukan oleh slot hati, slot waktu, dan slot ruangan. Oleh karena itu,
diperlukan batas nilai maksimal dan batas nilai minimal untuk menghindari
pengembalian nilai yang sangat besar bahkan tak hingga. Adapun untuk
nilai batas maksimal yang digunakan berdasarkan data pada Tabel 3.1
hingga Tabel 3.4. Oleh karena itu, nilai batas maksimal yang akan
digunakan akan disesuaikan dengan jumlah data pada setiap kelas, ruangan,
waktu, dan hari. Berikut pada Tabel 3.5 adalah batas maksimal dan batas
minimal untuk setiap posisi kelas berdasarkan hari, waktu, dan ruangan.
24
Tabel 3.5 Batas Maksimal dan Minimal Setiap Kelas
Batas Maksimal /
Minimal Hari Jam Ruangan
𝑋𝑚𝑖𝑛 1 1 1
𝑋𝑚𝑎𝑥 2 4 3
4. Setelah menentukan batas maksimal dan minimal setiap posisi kelas,
selanjutnya adalah menentukan posisi setiap kelasnya. Penentuan posisi
kelas ini dilakukan secara acak dan menggunakan batas maksimal dan
minimal yang telah ditentukan sebelumnya. Pada perhitungan posisi acak
awal ini akan menggunakan fungsi pembulatan fixed yang digunakan untuk
pembulatan bilangan ke angka pembulatan yang mendekati 0 karena pada
slot hari, waktu, dan ruangan tidak bernilai negatif. Berikut adalah
persamaan yang digunakan menentukan posisi setiap kelas secara acak [20].
𝑋 = 𝑥𝑚𝑖𝑛 + 𝑟𝑎𝑛𝑑 (𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛) ................ (3.12)
Keterangan :
𝑋 = posisi awal
𝑥𝑚𝑖𝑛 = batas minimal
𝑥𝑚𝑎𝑥 = batas maksimal
𝑟𝑎𝑛𝑑 = nilai acak antara 0 dan 1
Berikut adalah perhitungan posisi awal setiap kelas.
• Posisi awal Kelas Probabilitas dan Statistika
o Posisi hari
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (2 − 1) = 1,2 = 1
o Posisi waktu
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (4 − 1) = 2,7 = 2
o Posisi ruangan
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (3 − 1) = 1,5 = 1
Sehingga diperoleh posisi awal kelas Probabilitas dan Statistika
adalah (1,1, 2,7, 1,5).
• Posisi awal kelas Basis Data
25
o Posisi hari
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (2 − 1) = 2,3 = 2
o Posisi waktu
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (4 − 1) = 1,5 = 1
o Posisi ruangan
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (3 − 1) = 1,4 = 1
Jadi untuk posisi kelas Basis Data adalah (2.3, 1.5, 1.4).
• Posisi awal kelas Kapita Selekta Informatika
o Posisi hari
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (2 − 1) = 1,8 = 1
o Posisi waktu
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (4 − 1) = 4,2 = 4
o Posisi ruangan
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (3 − 1) = 2,3 = 2
Jadi untuk posisi kelas Kapita Selekta Informatika adalah (1.8, 4.2,
2.3).
• Posisi awal kelas Kewirausahaan
o Posisi hari
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (2 − 1) = 1,1 = 1
o Posisi waktu
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (4 − 1) = 2,3 = 2
o Posisi ruangan
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (3 − 1) = 1,5 = 1
Jadi untuk posisi kelas Kewirausahaan adalah (1.1, 2.3, 1.5).
• Posisi awal kelas Socio Informatika
o Posisi hari
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (2 − 1) = 2,7 = 2
o Posisi waktu
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (4 − 1) = 2,1 = 2
o Posisi ruangan
𝑥 = 1 + 𝑟𝑎𝑛𝑑 (3 − 1) = 2,6 = 2
Jadi untuk posisi kelas Socio Informatika adalah (2.7, 2.1, 2.6).
26
Adapun hasil dari perhitungan posisi awal setiap kelas adalah sebagai
berikut:
Tabel 3.6 Hasil Acak Posisi Awal Setiap Kelas
Hari Waktu Ruangan
F101 F102 F103
Senin
07.00-09.30
10.00-11.40
Probabilitas
dan Statistika /
Kewirausahaan
13.00-15.30
16.00-17.40
Kapita
Selekta
Informatika
Selasa
07.00-09.30 Basis Data
10.00-11.40 Socio
Informatika
13.00-15.30
16.00-17.40
5. Menentukan nilai parameter 𝛼, 𝐴, dan 𝐶. Nilai 𝐴 didapatkan melalui
persamaan (2.3) dan Nilai 𝐶 didapatkan dari persamaan (2.4). Nilai 𝛼
diturunkan secara linear dari 2 ke 0 selama proses iterasi dengan
menggunakan rumur dibawah ini [21].
𝛼 = 2 − 𝑡 (2
𝐼𝑡𝑒𝑟𝑚𝑎𝑥)
............................... (3.13)
Keterangan :
t = iterasi saat ini
𝐼𝑡𝑒𝑟𝑚𝑎𝑥 = jumlah iterasi maksimal
Berikut adalah perhitungan parameter pada setiap kelas.
• Parameter awal pada kelas Probabilitas dan Statistika
27
o Alpha
𝑟1 = 0,24
𝑟2 = 0,40
𝐴𝛼 = 2 . 2 . 0,24 − 2 = (−1,04)
𝐶𝛼 = 2 . 0,40 = 0,8
o Beta
𝑟1 = 0,10
𝑟2 = 0,22
𝐴𝛽 = 2 . 2 . 0,10 − 2 = (−1,6)
𝐶𝛽 = 2 . 0,22 = 0,44
o Delta
𝑟1 = 0,31
𝑟2 = 0,55
𝐴𝛿 = 2 . 2 . 0,31 − 2 = (−0,76)
𝐶𝛿 = 2 . 0,55 = 1,1
• Parameter awal kelas Basis Data.
o Alpha
𝑟1 = 0,32
𝑟2 = 0,61
𝐴𝛼 = 2 . 2 . 0,32 − 2 = (−0,72)
𝐶𝛼 = 2 . 0,61 = 1,22
o Beta
𝑟1 = 0,70
𝑟2 = 0,82
𝐴𝛽 = 2 . 2 . 0,70 − 2 = 0,8
𝐶𝛽 = 2 . 0,82 = 1,64
o Delta
𝑟1 = 0,97
𝑟2 = 0,47
𝐴𝛿 = 2 . 2 . 0,97 − 2 = 1,88
𝐶𝛿 = 2 . 0,40 = 0,94
28
• Parameter awal kelas Kapita Selekta Informatika
o Alpha
𝑟1 = 0,37
𝑟2 = 0,71
𝐴𝛼 = 2 . 2 . 0,37 − 2 = (−0,52)
𝐶𝛼 = 2 . 0,71 = 1,42
o Beta
𝑟1 = 0,51
𝑟2 = 0,21
𝐴𝛽 = 2 . 2 . 0,51 − 2 = 0,04
𝐶𝛽 = 2 . 0,21 = 0,42
o Delta
𝑟1 = 0,35
𝑟2 = 0,17
𝐴𝛿 = 2 . 2 . 0,35 − 2 = (−0,6)
𝐶𝛿 = 2 . 0,17 = 0,34
• Parameter awal kelas Kewirausahaan
o Alpha
𝑟1 = 0,09
𝑟2 = 0,42
𝐴𝛼 = 2 . 2 . 0,09 − 2 = (−1,64)
𝐶𝛼 = 2 . 0,42 = 0,84
o Beta
𝑟1 = 0,97
𝑟2 = 0,81
𝐴𝛽 = 2 . 2 . 0,97 − 2 = 1,88
𝐶𝛽 = 2 . 0,81 = 1,62
o Delta
𝑟1 = 0,28
𝑟2 = 0,51
𝐴𝛿 = 2 . 2 . 0,28 − 2 = (−0,88)
29
𝐶𝛿 = 2 . 0,51 = 1,02
• Parameter awal kelas Socio Informatika
o Alpha
𝑟1 = 0,49
𝑟2 = 0,75
𝐴𝛼 = 2 . 2 . 0,49 − 2 = (−0,04)
𝐶𝛼 = 2 . 0,75 = 1,5
o Beta
𝑟1 = 0,71
𝑟2 = 0,37
𝐴𝛽 = 2 . 2 . 0,71 − 2 = 0,84
𝐶𝛽 = 2 . 0,37 = 0,74
o Delta
𝑟1 = 0,17
𝑟2 = 0,43
𝐴𝛿 = 2 . 2 . 0,17 − 2 = (−1,32)
𝐶𝛿 = 2 . 0,43 = 0,86
6. Menentukan kendala keras dan kendala lunak yang akan digunakan pada
model penjadwalan mata kuliah. Seperti yang telah dijelaskan pada bab 2
bahwa terdapat 2 kendala yang harus dipenuhi dalam masalah penjadwalan
ini, yaitu kendala keras dan kendala lunak. Adapun kendala keras yang akan
digunakan pada penelitian ini adalah :
1. Hanya ada satu kelas yang dilaksanakan pada waktu dan tempat
yang sama
2. Seorang dosen hanya dapat mengajar 1 kelas pada satu ruangan pada
setiap selang waktu tertentu
3. Kelas yang dilaksanakan pada satu ruangan dapat memenuhi
kapasitas maksimal dari kelas tersebut.
4. Mata kuliah yang berbobot 4 sks akan dipisahkan menjadi 2 sks dan
dilaksanakan pada selang waktu yang berbeda
30
Sementara kendala lunak yang digunakan untuk meningkatkan hasi dari
penjadwalan adalah sebagai berikut :
1. Perkuliahan tidak dilaksanakan pada slot waktu paling awal dan slot
waktu paling akhir.
7. Menghitung setiap nilai fitness setiap kelas. Kelas dengan nilai fitness tinggi
akan menjadi alpha, beta, dan delta. Sedangkan kelas dengan nilai fitness
rendah akan menjadi omega. Perhitungan nilai fitness pada penjadwalan ini
akan menggunakan sistem penalti terhadap pelanggaran pada kendala keras
dan kendala lunak yang telah ditentukan sebelumnya. Pemberian penalti ini
bertujuan untuk menghasilkan jadwal yang layak. Oleh karena itu terdapat
beberapa evaluasi penalti yang dilakukan pada kendala keras dan kendala
lunak. Evaluasi penalti pada kendala keras yaitu :
1. 𝑓𝑘1 yaitu penalti terhadap kendala keras pertama, dan kedua. 𝑓𝑘1
akan bernilai 1 (satu) jika terdapat kelas yang melanggar salah satu
dari kendala keras pertama dan kedua. Sebaliknya 𝑓𝑘1 akan bernilai
0 (nol) jika kelas tersebut tidak melanggar kendala pertama, dan
kedua.
2. 𝑓𝑘2 yaitu penalti terhadap kendala keras ketiga. 𝑓𝑘2 akan bernilai 1
(satu) jika terdapat kelas yang melanggar kendala keras yang ketiga.
Sebaliknya 𝑓𝑘2 akan bernilai 0 (nol) jika kelas tersebut tidak
melanggar kendala ketiga.
3. 𝑓𝑘3 yaitu penalti terhadap kendala keras keempat. 𝑓𝑘3 akan bernilai
1 (satu) jika terdapat kelas yang melanggar kendala keras keempat.
Sebaliknya 𝑓𝑘3 akan bernilai 0 (nol) jika kelas tersebut tidak
melanggar kendala keempat.
4. 𝑓𝑘 yaitu total dari perhitungan penalti kendala keras, 𝑓𝑘 = 𝑓𝑘1 +
𝑓𝑘2 + 𝑓𝑘3.
Sementara evaluasi penalti pada kendala lunak yaitu :
1. 𝑔𝑘 yaitu penalti terhadap kendala lunak. 𝑔𝑘 akan bernilai 1 (satu)
jika terdapat kelas yang melanggar kendala lunak. Sebaliknya 𝑔𝑘
akan bernilai 0 (nol) jika kelas tersebut tidak melanggar kendala
pertama.
31
Karena tujuan dari permasalahan penjadwalan ini adalah meminimalkan
total penalti pada kendala keras dan lunak, maka nilai fitness setiap kelas
dapat dihitung dengan rumus berikut [5].
𝑓 =1
(𝑓𝑘 + 𝑔𝑘 + 1)
............................... (3.14)
Keterangan :
𝑓 = nilai fitness
𝑓𝑘 = kendala keras
𝑔𝑘 = kendala lunak
Terlihat pada persamaan (3.3) bahwa semakin kecil nilai fitness yang
dihasilkan maka semakin buruk individu tersebut. Sedangkan untuk nilai
fitness yang besar (mendekati satu atau sama dengan satu) maka semakin
baik individu tersebut. Berikut adalah contoh perhitungan nilai fitness setiap
kelas.
o Fitness kelas Probabilitas Stastistika
𝑓 =1
(1 + 1) + 1= 0,3
o Fitness kelas Basis Data
𝑓 =1
(1) + 1= 0,5
o Fitness kelas Kapita Selekta
𝑓 =1
(1) + 1= 0,5
o Fitness kelas Kewirausahaan
𝑓 =1
(1) + 1= 0,5
o Fitness kelas Socio Informatika
𝑓 =1
(0)+1= 1
8. Setelah menghitung keseluruhan nilai fitness dari masing-masing kelas
(search agents), selanjutnya adalah menentukan alpha, beta, dan delta.
Penentuan alpha, beta, dan delta didapatkan dari kelas dengan nilai fitness
32
paling baik. Oleh karena itu, didapatkanlah alpha, beta, dan delta sebagai
berikut :
1. 𝑋𝛼 = Kelas Socio Informatika
2. 𝑋𝛽 = Kelas Basis Data
3. 𝑋𝛿 = Kelas Kewirausahaan
9. Memperbarui semua posisi setiap kelas (search agents). Semua kelas akan
memperbarui setiap posisinya berdasarkan pengetahuan dari alpha, beta,
dan delta. Perhitungan perubahan posisi setiap kelas akan menggunakan
persamaan (2.5) hingga persamaan (2.11). Hasil pada persamaan (2.11)
akan menggunakan fungsi pembulatan fixed untuk menghindari hasil yang
bernilai negatif. Berikut adalah contoh perhitungan perubahan posisi setiap
kelas.
1. Perbarui posisi kelas Probabilitas dan Statistika
o Alpha
𝐷𝛼⃗⃗⃗⃗ ⃗ = |0,8 . (
2,72,12,6
) − (1,22,71,5
)| = |(2,161,682,08
) − (1,22,71,5
)| = (0,961,020,58
)
𝑋𝛼⃗⃗ ⃗⃗ = (
2,72,12,6
) − (−1,04) . (0,961,020,58
) = (2,72,12,6
) + (0.9981.061,5
) = (3,693,164,1
)
o Beta
𝐷𝛽⃗⃗⃗⃗ ⃗ = |0,44 . (
2,31,51,4
) − (1,22,71,5
)| = |(1,0120,660,616
) − (1,22,71,5
)| = (0.1882,040,884
)
𝑋𝛽⃗⃗ ⃗⃗ = (
2,31,51,4
) − (−1,6) . (1,1882,040,884
) = (2,31,51,4
) + (0,33,261,41
) = (2,64,762,81
)
o Delta
𝐷𝛿⃗⃗⃗⃗ ⃗ = |1,1 . (
1,12,31,5
) − (1,22,71,5
)| = |(1,212,531,65
) − (1,22,71,5
)| = (0,010,170,15
)
𝑋𝛿⃗⃗ ⃗⃗ = (
1,12,31,5
) − (−0,76) . (0,010,170,15
) = (1,12,31,5
) + (0,00760,12920,114
) = (1,10762,42921,614
)
o Perubahan Posisi
33
𝑋(𝑡+1) = 𝑋𝛼⃗⃗ ⃗⃗ ⃗+ 𝑋𝛽⃗⃗ ⃗⃗ ⃗+𝑋𝛿⃗⃗ ⃗⃗ ⃗
3=
(
3,6983,164,1
)+(
2,64,762,81
)+(
1,10762,431,61
)
3= (
2,473,453,02
) = (233)
2. Perbarui posisi kelas Basis Data
o Alpha
𝐷𝛼⃗⃗⃗⃗ ⃗ = |1,22 . (
2,72,12,6
) − (2,31,51,4
)| = |(3,291,851,71
) − (2,31,51,4
)| = (0,990,350,31
)
𝑋𝛼⃗⃗ ⃗⃗ = (
2,72,12,6
) − (−0,72) . (0,990,350,31
) = (2,72,12,6
) + (0,7130,2520,223
) = (3,4132,9522,823
)
o Beta
𝐷𝛽⃗⃗⃗⃗ ⃗ = |1,64 . (
2,31,51,4
) − (2,31,51,4
)| = |(3,772,462,30
) − (2,31,51,4
)| = (1,470,960,9
)
𝑋𝛽⃗⃗ ⃗⃗ = (
2,31,51,4
) − (0,8) . (1,470,960,9
) = (2,31,51,4
) − (1,180,770,72
) = (1,120,770,68
)
o Delta
𝐷𝛿⃗⃗⃗⃗ ⃗ = |1,88 . (
1,12,31,5
) − (2,31,51,4
)| = |(2,074,3242,82
) − (2,31,51,4
)| = (0,232,821,42
)
𝑋𝛿⃗⃗ ⃗⃗ = (
1,12,31,5
) − (1,88) . (0,233,821,42
) = (1,12,31,5
) + (2,0785,32,67
) = (−0,97−3
−1,17)
o Perubahan Posisi
𝑋(𝑡+1) = 𝑋𝛼⃗⃗ ⃗⃗ ⃗+ 𝑋𝛽⃗⃗ ⃗⃗ ⃗+𝑋𝛿⃗⃗ ⃗⃗ ⃗
3=
(
3,4132,9522,823
)+(
1,120,730,68
)−(
0,973
1,17)
3= (
1,1880,230,78
) = (100)
3. Perbarui posisi kelas Kapita Selekta Informatika
o Alpha
𝐷𝛼⃗⃗⃗⃗ ⃗ = |1,42 . (
2,72,12,6
) − (1,84,22,3
)| = |(3,832,983,69
) − (1,84,22,3
)| = (2,031,221,39
)
𝑋𝛼⃗⃗ ⃗⃗ = (
2,72,12,6
) − (−0,52) . (2,034,22,3
) = (3,832,983,69
) + (1,84,22,3
) = (2,031,221,39
)
34
o Beta
𝐷𝛽⃗⃗⃗⃗ ⃗ = |0,42 . (
2,31,51,4
) − (1,84,22,3
)| = |(0,970,630,59
) − (1,84,22,3
)| = (0,833,571,71
)
𝑋𝛽⃗⃗ ⃗⃗ = (
2,31,51,4
) − (0,04) . (0,833,571,71
) = (2,31,51,4
) − (0,030,140,07
) = (2,271,361,33
)
o Delta
𝐷𝛿⃗⃗⃗⃗ ⃗ = |0,34 . (
1,22,31,5
) − (1,84,22,3
)| = |(0,3740,780,51
) − (1,84,22,3
)| = (1,4263,421,79
)
𝑋𝛿⃗⃗ ⃗⃗ = (
1,12,31,5
) − (−0,6) . (1,4263,421,79
) = (1,12,31,5
) − (0,862,051,07
) = (1,964,352,57
)
o Perubahan Posisi
𝑋(𝑡+1) = 𝑋𝛼⃗⃗ ⃗⃗ ⃗+ 𝑋𝛽⃗⃗ ⃗⃗ ⃗+𝑋𝛿⃗⃗ ⃗⃗ ⃗
3=
(
3,762,733,32
)+(
2,271,361,33
)+(
1,964,352,57
)
3= (
2,662,62,4
) = (233)
4. Perbarui posisi kelas Kewirausahaan
o Alpha
𝐷𝛼⃗⃗⃗⃗ ⃗ = |0,84 . (
2,72,12,6
) − (1,12,31,5
)| = |(2,271,762,184
) − (1,12,31,5
)| = (1,170,540,68
)
𝑋𝛼⃗⃗ ⃗⃗ = (
2,72,12,6
) − (−1,64) . (1,170,540,68
) = (2,72,12,6
) + (4,940,241,44
) = (4,622,993,71
)
o Beta
𝐷𝛽⃗⃗⃗⃗ ⃗ = |1,02 . (
2,31,51,4
) − (1,12,31,5
)| = |(3,732,432,27
) − (1,12,31,5
)| = (2,630,130,77
)
𝑋𝛽⃗⃗ ⃗⃗ = (
2,31,51,4
) − (1,88) . (2,630,130,77
) = (2,31,51,4
) − (4,940,241,44
) = (−2,641,26
−0,04)
o Delta
𝐷𝛿⃗⃗⃗⃗ ⃗ = |1,02 . (
1,12,31,5
) − (1,12,31,5
)| = |(1,122,351,53
) − (1,12,31,5
)| = (0,020,050,03
)
𝑋𝛿⃗⃗ ⃗⃗ = (
1,12,31,5
) − (−0,88) . (0,020,050,03
) = (1,12,31,5
) + (0,020,040,03
) = (1,122,341,53
)
35
o Perubahan Posisi
𝑋(𝑡+1) = 𝑋𝛼⃗⃗ ⃗⃗ ⃗+ 𝑋𝛽⃗⃗ ⃗⃗ ⃗+𝑋𝛿⃗⃗ ⃗⃗ ⃗
3=
(
4,622,993,71
)+(
−2,641,26
−0,04)+(
1,122,341,53
)
3= (
1,12,21,7
) = (121)
5. Perbarui posisi kelas Socio Informatika
o Alpha
𝐷𝛼⃗⃗⃗⃗ ⃗ = |1,5 . (
2,72,12,6
) − (2,72,12,6
)| = |(4,053,153,9
) − (2,72,12,6
)| = (1,351,051,3
)
𝑋𝛼⃗⃗ ⃗⃗ = (
2,72,12,6
) − (−0,04) . (1,351,051,3
) = (2,72,12,6
) + (0,050,040,05
) = (2,752,142,65
)
o Beta
𝐷𝛽⃗⃗⃗⃗ ⃗ = |0,74 . (
2,31,51,4
) − (2,72,12,4
)| = |(1,71,111,04
) − (2,72,12,4
)| = (1
0,991,56
)
𝑋𝛽⃗⃗ ⃗⃗ = (
2,31,51,4
) − (0,84) . (1
0,991,56
) = (2,31,51,4
) − (0,840,831,31
) = (1,460,670,09
)
o Delta
𝐷𝛿⃗⃗⃗⃗ ⃗ = |0,86 . (
1,12,31,5
) − (2,72,12,4
)| = |(0,951,981,29
) − (2,72,12,4
)| = (1,750,121,31
)
𝑋𝛿⃗⃗ ⃗⃗ = (
1,12,31,5
) − (−1,32) . (1,750,121,31
) = (1,12,31,5
) + (2,310,161,73
) = (3,412,463,23
)
o Perubahan Posisi
𝑋(𝑡+1) = 𝑋𝛼⃗⃗ ⃗⃗ ⃗+ 𝑋𝛽⃗⃗ ⃗⃗ ⃗+𝑋𝛿⃗⃗ ⃗⃗ ⃗
3=
(
2,752,141,65
)+(
1,460,670,09
)+(
3,412,463,23
)
3= (
2,541,762,02
) = (212)
10. Ulangi dari langkah 5 hingga iterasi mencapai lebih kecil sama dengan
iterasi maksimal. Karena pada perhitungan ini maksimal iterasi yang
digunakan adalah 𝐼𝑡𝑒𝑟 = 1, maka algoritma GWO akan berhenti. Adapun
hasil jadwal yang diperoleh dari algoritma GWO terdapat pada Tabel 3.7.
36
Tabel 3.7 Hasil Jadwal Menggunakan GWO
Hari Waktu Ruangan
F101 F102 F103
Senin
07.00-09.30 Basis Data
10.00-11.40 Kewirausahaan
13.00-15.30
16.00-17.40
Selasa
07.00-09.30 Socio Informatika
10.00-11.40 Kapita Selekta
Informatika
13.00-15.30 Probabilitas dan
Statistika
16.00-17.40
3.4. Use Case Diagram
Gambar 3.8 Use Case Diagram
Use Case diagram akan membantu proses pengembangan dalam perangkat lunak
untuk memperjelas kegiatan-kegiatan yang dapat pengguna dalam perangkat lunak
37
tersebut. Pada Gambar 3.3 menunjukkan use case diagram yang akan digunakan
pada penelitian ini. Pada diagram tersebut dapat dilihat bahwa admin dapat
melakukan 6 fitur utama yang dapat digunakan yaitu, CRUD data dosen, CRUD
data mata kuliah, CRUD data kelas, CRUD data ruangan, membuat jadwal, dan
mengedit jadwal. Semua fitur utama tersebut dapat dilakukan oleh admin setelah
admin melakukan login kedalam aplikasi.
3.5. Activity Diagram
Activity Diagram merupakan salah satu diagram yang digunakan untuk
mendeskripsikan proses bisnis atau aktivitas dari sistem yang dijalankan. Diagram
ini akan menjelaskan langkah-langkah dalam proses eksekusi dari sistem yang
dibangun. Activity diagram dari sistem penjadwalan mata kuliah yang akan
dibangun adalah sebagai berikut :
1. Log In
Gambar 3.9 Activity Diagram Log In
2. Tambah Data Dosen
38
Gambar 3.10 Activity Diagram Tambah Data Dosen
3. Edit Data Dosen
Gambar 3.11 Activity Diagram Edit Data Dosen
4. Hapus Data Dosen
39
5. Penjadwalan
Gambar 3.12 Activity Diagram Penjadwalan
40
6. Edit Jadwal
Gambar 3.13 Activity Diagram Edit Jadwal
3.6. Perancangan Antar Muka
Perancangan antar muka adalah mock-up antar muka yang disusun berdasarkan fitur
dan menu yang ada pada perangkat lunak yang akan dibangun yaitu, tampilan
Login, Beranda, Edit Data Dosen, Edit Mata Kuliah, Edit Data Ruangan, Edit Data
Kelas, tampilan Penjadwalan, dan tampilan Edit Jadwal. Berikut adalah rancangan
antar muka yang akan digunakan :
1. Login
41
Gambar 3.14 Rancangan Antar Muka Login
2. Beranda
Gambar 3.15 Rancangan Antar Muka Beranda
3. Edit Data Dosen
42
Gambar 3.16 Rancangan Antar Muka Edit Data Dosen
4. Edit Data Mata Kuliah
Gambar 3.17 Rancangan Antar Muka Edit Data Mata Kuliah
5. Edit Data Ruangan
43
Gambar 3.18 Rancangan Antar Muka Edit Data Ruangan
6. Edit Data Kelas
Gambar 3.19 Rancangan Antar Muka Edit Data Kelas
7. Penjadwalan
44
Gambar 3.20 Rancangan Antar Muka Penjadwalan
8. Edit Jadwal
Gambar 3.21 Rancangan Antar Muka Edit Jadwal