bab iii analisis dan perancangan 3.1. analisis persoalan

27
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

Upload: others

Post on 02-Oct-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 2: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 3: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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.

Page 4: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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.

Page 5: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 6: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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.

Page 7: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 8: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 9: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 10: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 11: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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)

Page 12: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 13: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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.

Page 14: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 15: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 16: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

)

Page 17: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

)

Page 18: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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.

Page 19: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 20: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 21: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 22: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

39

5. Penjadwalan

Gambar 3.12 Activity Diagram Penjadwalan

Page 23: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 24: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

41

Gambar 3.14 Rancangan Antar Muka Login

2. Beranda

Gambar 3.15 Rancangan Antar Muka Beranda

3. Edit Data Dosen

Page 25: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 26: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

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

Page 27: BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Persoalan

44

Gambar 3.20 Rancangan Antar Muka Penjadwalan

8. Edit Jadwal

Gambar 3.21 Rancangan Antar Muka Edit Jadwal