Constraints ini dibagi menjadi dua jenis, yaitu hard constraints dan soft constraints. Hard constraints merupakan batas-batas yang harus diterapkan pada
penjadwalan mata kuliah dan harus dipenuhi. Solusi yang tidak melanggar hard constraints disebut solusi layak. Sedangan soft constraints merupakan batas-batas
mengenai alokasi sumber daya yang jika dilanggar masih dapat menghasilkan solusi yang layak tetapi sedapat mungkin untuk dipenuhi.
3.2. Analisis dan Perancangan Komponen Sistem
3.2.1. Subsistem Manajemen Berbasis Pengetahuan
Agar sistem ini mampu melakukan penjadwalan mata kuliah, dibutuhkan sebuah kemampuan untuk mangalokasikan semua sumber daya mata kuliah, dosen,
mahasiswa, dan ruangan ke dalam slot waktu dengan constraints yang sudah ditentukan. Untuk mencapainya, kemampuan tersebut diisi dengan pengetahuan
terhadap batasan-batasan yang ada di hard constraints dan soft constraints sehingga sistem dapat mengatasi masalah yang dihadapi ketika penjadwalan mata kuliah
dilakukan.
Semua kriteria penjadwalan sebelum dijadwalkan harus memenuhi batasan- batasan pada hard constraints dan dilanjutkan dengan pengecekan terhadap batasan-
batasan yang ada pada soft constraints setelah solusi jadwal mata kuliah didapatkan.
Masing-masing constraints, baik itu hard constraints maupun soft constraints memiliki batasan yang berbeda-beda. Pada hard constraints, setiap kriteria harus
memenuhi batasan-batasan yang ada pada constraints tersebut. Jika ada salah satu batasan pada constraint yang tidak dapat dipenuhi, dapat dipastikan bahwa kriteria
tersebut tidak dapat dijadwalkan pada slot waktu yang dipilih. Berbeda dengan soft constraints, batasan-batasan yang diberikan tidak harus dipenuhi oleh setiap kriteria,
tetapi hanya sebagai acuan penentuan kualitas solusi penjadwalan yang dihasilkan sistem nantinya. Walaupun semua kriteria yang sudah dijadwalkan tidak dapat
Universitas Sumatera Utara
memenuhi batasan-batasan yang ada pada soft constraints, kriteria-kriteria tersebut tetap dijadwalkan pada slot waktu yang terpilih.
Selain pengetahuan terhadap batasan-batasan hard constraints dan soft constraints, subsistem ini juga berisi pengetahuan sebuah tree, mencari nilai konflik
mata kuliah, mencari nilai kualitas solusi jadwal mata kuliah dan mencari nilai efektivitas penjadwalan mata kuliah. Tree tersebut akan digunakan sebagai media dari
algoritma A untuk mencari slot waktu. Nilai konflik mata kuliah digunakan untuk menentukan mata kuliah yang akan dijadwalkan terlebih dahulu. Nilai kualitas solusi
jadwal mata kuliah digunakan untuk mengetahui rata-rata pemenuhan dari masing- masing mata kuliah telah terjadwal terhadap batasan-batasan pada soft constraints.
Sedangkan nilai efektivitas penjadwalan mata kuliah digunakan untuk mengetahui persentase dari mata kuliah yang terjadwal.
3.2.1.1. Hard Constraints
Berdasarkan identifikasi studi kasus skripsi ini serta masalah kriteria-kriteria yang telah dijelaskan di dalam subbab sebelumnya, batasan-batasan hard constraints yang
digunakan dalam sistem ini dan harus dipenuhi oleh semua kriteria untuk membangun sebuah jadwal mata kuliah adalah sebagai berikut.
H1. Seorang dosen hanya dapat memberi kuliah untuk satu lokasi pada suatu
waktu tertentu. H2.
Seorang dosen hanya dapat memberi kuliah sesuai dengan waktu ketersediaan dosen untuk mengajar.
H3. Seorang mahasiswa hanya dapat mengikuti kuliah untuk satu lokasi pada
suatu waktu tertentu. H4.
Sebuah lokasi ruangan hanya dapat digunakan untuk satu mata kuliah pada sutau waktu tertentu.
H5. Mahasiswa tidak dapat dialokasikan pada satu lokasi yang jumlah
mahasiswanya melebihi kapasitas dari lokasi tersebut.
Universitas Sumatera Utara
H6. Waktu kuliah dilaksanakan setiap hari Senin sampai dengan Sabtu mulai
pukul 08.00 WIB sampai dengan 16.20 WIB. H7.
Tidak ada kuliah untuk semua lokasi pada hari Jumat pukul 12.10 WIB sampai dengan 13.00 WIB.
H8. Mata kuliah yang memiliki tingkat yang sama tidak dapat dijadwalkan pada
waktu yang sama. H9.
Mata kuliah yang menggunakan infocus dialokasikan pada satu lokasi yang memiliki fasilitas infocus.
3.2.1.2. Soft Constraints
Soft constraints yang digunakan sebagai acuan penentuan kualitas solusi jadwal mata kuliah di dalam sistem ini adalah sebagai berikut.
S1. Meminimalkan terjadinya jadwal mata kuliah berturut-turut dari mata
kuliah yang memiliki kelas mahasiswa yang sama. Constraint ini digunakan untuk menghindari terjadinya kejenuhan dan kelelahan yang dialami
mahasiswa ketika mengikuti perkuliahan. Constraint ini juga digunakan untuk mengantisipasi perpindahan ruangan kuliah dari suatu mata kuliah ke
mata kuliah lainnya yang memiliki jarak antarruangan yang cukup jauh sehingga tidak membuat mahasiswa kerepotan pada saat pergantian mata
kuliah. S2.
Suatu mata kuliah sebisa mungkin tidak dijadwalkan dengan mata kuliah yang berada satu tingkat di bawah dan atau satu tingkat di atas mata kuliah
tersebut pada suatu waktu tertentu secara bersama-sama. Constraint ini dapat memungkinkan seorang mahasiswa yang ingin mengambil mata
kuliah satu tingkat di atasnya sehingga membuat mahasiswa tersebut lebih cepat tamat atau memungkinkan mahasiswa yang ingin mengambil mata
kuliah di bawahnya untuk mengulang mata kuliah yang gagal sebelumnya. S3.
Meminimalkan terjadinya jadwal mata kuliah yang menyebabkan seorang dosen memberi kuliah secara berturut-turut. Constraint ini dimaksudkan
Universitas Sumatera Utara
agar seorang dosen tidak mengalami kejenuhan dan kelelahan dalam memberi kuliah.
Pada sistem yang akan dibangun, batasan-batasan dari ketiga soft constraints di atas hanya digunakan sebagai penentu kualitas dari solusi jadwal mata kuliah yang
dihasilkan setelah hard constraints diterapkan untuk semua sumber daya mata kuliah, dosen, mahasiswa, dan ruangan. Nilai kualitas dari jadwal mata kuliah berada diantara
0 sampai dengan 1 yang akan dinyatakan dalam bentuk persen 0-100.
3.2.1.3. Tree
Dalam proses pencarian waktu kuliah, sistem menggunakan tree sebagai media pencarian. Tree didefinisikan sebagai kumpulan simpulnode dengan satu elemen
khusus yang disebut root dan node lainnya terbagi menjadi himpunan-himpunan yang saling tak berhubungan satu sama lain atau disebut subtree Sanjaya, 2001. Tree
tersebut memiliki size sebanyak 36 simpul dengan kedalaman sampai 8 level. Setiap simpul berisi slot waktu yang berbeda-beda yang mewakili hari dan jam perkuliahan.
Algoritma A akan mencari slot waktu yang terbaik biaya terendah untuk setiap mata kuliah yang akan dijadwalkan dengan menelusuri simpul-simpul pada tree untuk
mendapatkan solusi yang diinginkan.
10 12
13 15
17 18
22 23
25 27
28 32
33 35
37 38
42 43
45 47
48 52
53 55
57 58
60 62
65 67
68 20
30 40
50
63 2
2 2
2 2
2 2
2 2
2 2
2 1
1 1
1 1
1 3
3 3
3 3
3 3
3 3
3 3
10 10
10 10
10 5
Gambar 3.1 Tree dari slot waktu
Universitas Sumatera Utara
Setiap simpul berisikan slot waktu yang mewakili hari dan jam perkuliahan. Angka puluhan pada simpul mewakili hari perkuliahan. Berikut penjelasan untuk
angka puluhan pada simpul slot waktu.
1. Angka ‘1’ mewakili hari Senin.
2. Angka ‘2’ mewakili hari Selasa.
3. Angka ‘3’ mewakili hari Rabu.
4. Angka ‘4’ mewakili hari Kamis.
5. Angka ‘5’ mewakili hari Jumat.
6. Angka ‘6’ mewakili hari Sabtu.
Sedangkan angka satuan pada simpul mewakili jam perkuliahan. Berikut penjelasan untuk angka satuan pada simpul slot waktu.
1. Angka ‘0’ mewakili jam pertama kuliah pukul 08.00 s.d. 08.50 WIB.
2. Angka ‘2’ mewakili jam ketiga kuliah pukul 09.40 s.d. 10.30 WIB.
3. Angka ‘3’ mewakili jam keempat kuliah pukul 10.30 s.d. 11.20 WIB.
4. Angka ‘5’ mewakili jam keenam kuliah pukul 12.10 s.d. 13.00 WIB.
5. Angka ‘7’ mewakili jam kedelapan kuliah pukul 13.50 s.d. 14.40 WIB.
6. Angka ‘8’ mewakili jam kesembilan kuliah pukul 14.40 s.d. 15.30 WIB.
Selain sebagai petunjuk hari dan jam perkuliahan, isi dari simpul juga berfungsi sebagai bobot dari simpul. Dan setiap simpul yang saling berhubungan memiliki nilai
yang menunjukkan jarak antar simpul. Sebagai contoh, jarak antara simpul ‘10’ dengan simpul ‘12’ adalah 2. Bobot simpul dan jarak antar simpul ini akan digunakan
untuk mencari nilai fn dalam algoritma A.
3.2.1.4. Nilai Konflik Mata Kuliah
Di atas telah disebutkan bahwa ada sembilan batasan-batasan hard constraints yang harus dipenuhi. Untuk menghindari terjadinya konflik antar mata kuliah, hard
constraints akan menjadi pencegah dari masalah tersebut. Hard constraints
Universitas Sumatera Utara
memberikan batasan terhadap mata kuliah yang memiliki dosen, kelas mahasiswa, dan tingkat mata kuliah yang sama agar tidak dijadwalkan pada slot waktu yang sama.
Batasan-batasan tersebut terkandung dalam batasan hard constraints H1, H3, dan H8.
Batasan H1 pada hard constraints memiliki fungsi untuk menghindari penjadwalan mata kuliah yang memiliki dosen yang sama dijadwalkan pada slot
waktu yang sama. Ini merupakan hal yang mungkin terjadi pada setiap jurusan, di mana seorang dosen mengajar dua atau lebih mata kuliah dalam satu jurusan. Untuk
mengetahui konflik yang terjadi dapat dilakukan dengan membuat matriks D = [d
nm
]
NxN
. Matriks ini mempresentasikan konflik dari mata kuliah yang memiliki dosen yang sama. Di mana N merupakan jumlah mata kuliah yang akan dijadwalkan dan n,
m = 1, …, N. Sedangkan d
nm
adalah nilai konflik mata kuliah yang memiiki dosen yang sama.
=
nm n
n n
m m
m
d d
d d
d d
d d
d d
d d
d d
d d
D ...
... ...
... ...
... ...
... ...
3 2
1 3
23 32
31 2
23 22
21 1
13 12
11
Nilai awal dari d
nm
= 0 dan akan ditambah 1 jika mata kuliah n dan mata kuliah m diajarkan oleh dosen yang sama.
Universitas Sumatera Utara
Berikut ini adalah algoritma flowchart dari matriks D = [d
nm
]
NxN
.
Start
D[i,j] = 0
j i=1 to n step 1
n,m = jumlah mata kuliah
j=1 to m step 1
D[i,j] = D[i,j] + 1 dosen[i] = dosen mata kuliah i
dosen[j] = dosen mata kuliah j
dosen[i] = dosen[j]
i Simpan D[i,j]
End ya
tidak
Gambar 3.2 Flowchart Untuk Mencari Konflik Dosen
Universitas Sumatera Utara
Batasan H3 pada hard constraints sama seperti batasan H1 pada hard constraints. Batasan H3 berfungsi untuk menghindari penjadwalan mata kuliah yang
memiliki kelas mahasiswa yang sama dijadwalkan pada slot waktu yang sama. Suatu kelas mahasiswa tidak mungkin dapat mengikuti perkuliahan lebih dari satu mata
kuliah pada waktu yang sama. Agar mata kuliah tersebut dapat diikuti oleh kelas mahasiswa yang bersangkutan, tentunya harus dijadwalkan pada slot waktu yang
berbeda. Dengan demikian, dapat dikatakan bahwa mata kuliah yang memilki kelas mahasiswa yang sama merupakan mata kuliah yang konflik jika dijadwalkan pada slot
waktu yang sama. Seperti batasan H1, untuk mengetahui konflik yang terjadi akibat kelas mahasiswa dapat dilakukan dengan membuat sebuah matriks K = [k
nm
]
NxN
. Matriks ini akan mempresentasikan mata kuliah yang konflik karena memiliki kelas
mahasiswa yang sama. N merupakan jumlah mata kuliah yang akan dijadwalkan dan n, m = 1, …, N. Dan k
nm
merupakan nilai konflik mata kuliah yang memiliki kelas mahasiswa yang sama.
=
nm n
n n
m m
m
k k
k k
k k
k k
k k
k k
k k
k k
K ...
... ...
... ...
... ...
... ...
3 2
1 3
23 32
31 2
23 22
21 1
13 12
11
Nilai awal dari k
nm
= 0 dan akan ditambah 1 jika mata kuliah n dan mata kuliah m memiliki kelas mahasiswa yang sama.
Universitas Sumatera Utara
Berikut ini adalah algoritma flowchart dari matriks K = [k
nm
]
NxN
.
Start
K[i,j] = 0
j i=1 to n step 1
n,m = jumlah mata kuliah
j=1 to m step 1
K[i,j] = K[i,j] + 1 kelas[i] = kelas mata kuliah i
kelas[j] = kelas mata kuliah j
kelas[i] = kelas[j]
i Simpan K[i,j]
End ya
tidak
Gambar 3.3 Flowchart Untuk Mencari Konflik Kelas
Demikian pula dengan batasan pada hard constraints H8. Konflik yang ada pada batasan H8 dapat diketahui dengan membuat sebuah matriks. Batasan H8
dibuat untuk menghindari penjadwalan mata kuliah yang memiliki tingkat yang sama dijadwalkan pada slot waktu yang sama. Batasan ini akan dapat berfungsi
sebagaimana mestinya jika pada satu angkatan mahasiswa dibagi menjadi dua atau
Universitas Sumatera Utara
lebih kelas mahasiswa dalam satu angkatan. Jika dalam satu angkatan mahasiswa hanya ada satu kelas mahasiswa, maka batasan H8 akan sama fungsinya dengan
batasan H3.
Batasan H8 ini dibentuk dengan tujuan agar mahasiswa memiliki banyak alternatif dalam pemilihan waktu kuliah. Misalnya seorang mahasiswa ingin
mengambil kelas mata kuliah satu tingkat di atasnya atau mengulang mata kuliah. Tetapi mata kuliah tersebut konflik dengan jadwal kelas mata kuliah yang wajib
diikutinya. Dengan adanya kelas mata kuliah yang lain, mahasiswa tersebut dapat memilih kelas mata kuliah yang lain tersebut sebagai alternatif agar mahasiswa
tersebut dapat mengambil mata kuliah satu tingkat di atasnya atau mengulang mata kuliah.
Untuk mengetahui konflik yang terjadi akibat batasan H8 dapat dilakukan dengan membuat sebuah matriks T = [t
nm
]
NxN
. Matriks ini akan mempresentasikan mata kuliah yang konflik karena memiliki tingkat mata kuliah yang sama. N
merupakan jumlah mata kuliah yang akan dijadwalkan dan n, m = 1, …, N serta t
nm
merupakan nilai konflik dari mata kuliah n dan m yang memiliki tingkat yang sama.
=
nm n
n n
m m
m
t t
t t
t t
t t
t t
t t
t t
t t
T ...
... ...
... ...
... ...
... ...
3 2
1 3
23 32
31 2
23 22
21 1
13 12
11
Nilai konflik awal untuk untuk semua t
nm
adalah 0 dan akan ditambah 1 jika terjadi konflik mata kuliah n dan m karena memiliki tingkat mata kuliah yang sama.
Universitas Sumatera Utara
Berikut ini adalah algoritma flowchart dari matriks T = [t
nm
]
NxN
.
Start
T[i,j] = 0
j i=1 to n step 1
n,m = jumlah mata kuliah
j=1 to m step 1
T[i,j] = T[i,j] + 1 tingkat[i] = tingkat mata kuliah i
tingkat[j] = tingkat mata kuliah j
tingkat[i] = tingkat[j]
i Simpan T[i,j]
End ya
tidak
Gambar 3.4 Flowchart Untuk Mencari Konflik Tingkat
Setelah nilai konflik dari tiga matriks tersebut didapat, ketiga matriks tersebut dijumlahkan menjadi matriks C = [c
nm
]
NxN
, di mana C = D + K + T. Matriks ini akan mempresentasikan nilai konflik antar mata kuliah yang disebabkan oleh dosen, kelas,
dan tingkat mata kuliah. Nilai konflik dari matriks C akan menjadi acuan untuk
Universitas Sumatera Utara
melakukan penjadwalan. Mata kuliah yang memiliki nilai konflik terbesar akan dijadwalkan terlebih dahulu untuk memaksimalkan solusi penjadwalan. Berikut ini
adalah algoritma flowchart dari matriks C = [c
nm
]
NxN
.
Start
C[i,j] = 0
j i=1 to n step 1
n,m = jumlah mata kuliah
j=1 to m step 1
C[i.j] = D[i,j] + K[i,j] + T[i,j]
i Simpan nilai k sebagai nilai konflik
mata kuliah i
End k = 0
D[i,j], K[i,j], T[i,j]
k = k + C[i,j]
Gambar 3.5 Flowchart Untuk Mencari Nilai Konflik Mata Kuliah
Universitas Sumatera Utara
3.2.1.5. Nilai Kualitas Solusi Jadwal Mata Kuliah
Nilai kualitas solusi jadwal mata kuliah merupakan nilai yang menunjukkan seberapa baik kualitas dari solusi jadwal mata kuliah yang dihasilkan oleh sistem. Nilai kualitas
dari solusi jadwal mata kuliah yang dihasilkan tergantung pada pemenuhan batasan- batasan yang ada di soft constraints. Semakin banyak kriteria penjadwalan yang
memenuhi batasan-batasan yang ada di soft constraints, semakin baik pula kualitas solusi jadwal mata kuliah yang akan dihasilkan.
Untuk batasan S1, S2, dan S3 pada soft constraints apabila dapat dipenuhi oleh satu mata kuliah yang telah dijadwalkan akan memiliki nilai kualitas mata kuliah
maksimum masing-masing 0,4 40, 0,3 30, dan 0,3 30. Dan apabila batasan S1 atau S2 atau S3 hanya dapat dipenuhi setengah dari batasan masing-masing,
maka nilai kualitas mata kuliah tersebut adalah setengah dari nilai kualitas maksimum yang dimiliki masing-masing batasan. Untuk mencari nilai kualitas mata kuliah n
adalah sebagai berikut.
K
n
= S1
n
+ S2
n
+ S3
n
3.1
di mana: K
n
= kualitas mata kuliah n S1
n
= nilai pemenuhan mata kuliah n terhadap batasan S1 pada soft constraints.
S2
n
= nilai pemenuhan mata kuliah n terhadap batasan S2 pada soft constraints.
S3
n
= nilai pemenuhan mata kuliah n terhadap batasan S3 pada soft constraints.
Universitas Sumatera Utara
Berikut ini adalah algoritma flowchart untuk mencari nilai kualitas mata kuliah.
Start n = jumlah mata kuliah
yang terjadwal i=1 to n step 1
tingkat = tingkat mata kuliah i kelas = kelas mata kuliah i
dosen = dosen mata kuliah i sks = kredit mata kuliah i
slot = slot waktu mata kuliah i
slotsblm = slot – 1 slotssdh = slot + sks
tingkat = ‘I’ tingkatbawah = ‘0’
tingkatatas = ‘II’
tingkatbawah = ‘I’ tingkatatas = ‘III’
tingkat = ‘II’
tingkatbawah = ‘II’ tingkatatas = ‘IV’
tingkat = ‘III’
tingkatbawah = ‘III’ tingkatatas = ‘0’
ya tidak
ya
ya tidak
tidak
softpoint = 0
x
Gambar 3.6a Flowchart Untuk Mencari Kualitas Mata Kuliah
Universitas Sumatera Utara
apakah ada mata kuliah yang terjadwal
pada slot selain mata kuliah i
apakah tingkat mata kuliah yang ada tersebut
= tingkatbawah
softpoint = softpoint +15
softpoint = softpoint + 0
apakah tingkat mata kuliah yang ada tersebut
= tingkatatas
softpoint = softpoint +15
softpoint = softpoint + 0
slotsblm = ‘9’ OR ‘19’ OR ‘29’ OR ‘39’ OR
‘49’ OR ‘59’
softpoint = softpoint +30
softpoint = softpoint + 35
apakah ada mata kuliah yang terjadwal
pada slotsblm
ya tidak
ya tidak
tidak ya
ya tidak
tidak
ya
apakah kelas mata kuliah yang ada tersebut
= kelas
softpoint = softpoint + 20
softpoint = softpoint + 0 tidak
ya
Gambar 3.6b Flowchart Untuk Mencari Kualitas Mata Kuliah
Universitas Sumatera Utara
apakah dosen mata kuliah yang ada tersebut
= dosen
softpoint = softpoint + 15
softpoint = softpoint + 0
slotssdh = ‘20’ OR ‘30’ OR ‘40’ OR ‘50’ OR
‘60’ OR ‘70’
apakah ada mata kuliah yang terjadwal
pada slotssdh
softpoint = softpoint + 35
apakah kelas mata kuliah yang ada tersebut
= kelas
softpoint = softpoint + 20
softpoint = softpoint + 0
apakah dosen mata kuliah yang ada tersebut
= dosen
softpoint = softpoint + 15 tidak
ya
ya tidak
tidak
ya tidak
ya
tidak ya
softpoint = softpoint + 0 simpan softpoint untuk mata kuliah i
i End
Gambar 3.6c Flowchart Untuk Mencari Kualitas Mata Kuliah
Universitas Sumatera Utara
Sedangkan untuk mencari nilai kualitas solusi jadwal mata kuliah berdasarkan soft constraints yang telah ditentukan tersebut dilakukan dengan mencari rata-rata dari
semua nilai kualitas mata kuliah yang telah terjadwal. Untuk mencari nilai kualitas solusi jadwal mata kuliah adalah sebagai berikut.
Kualitas solusi jadwal mata kuliah = N
K
N n
n
∑
=1
, di mana n = 1, …, N. 3.2
Berikut ini adalah algoritma flowchart untuk mencari nilai kualitas solusi jadwal mata kuliah.
Start n = jumlah mata kuliah
yang terjadwal kualitas = 0
i=1 to n step 1
kualitas = kualitas + softpoin mata kuliah i
i
kualitas_solusi = kualitasn
kualitas_solusi
End
Gambar 3.7 Flowchart Untuk Mencari Nilai Kualitas Solusi Jadwal Mata Kuliah
Universitas Sumatera Utara
3.2.1.6. Nilai Efektivitas Penjadwalan Mata Kuliah
Nilai efektivitas penjadwalan mata kuliah merupakan nilai yang menunjukkan derajat seberapa banyak mata kuliah yang terjadwal dari semua sumber daya mata kuliah
yang ingin dijadwalkan. Nilai efektivitas ini ditunjukkan dalam bentuk persen. Berikut ini rumus untuk mencari nilai efektivitas penjadwalan mata kuliah.
Efektivitas Penjadwalan Mata Kuliah = 100
x kuliah
mata banyaknya
terjadwal yang
kuliah mata
3.3
Berikut ini adalah algoritma flowchart untuk mencari nilai efektivitas penjadwalan mata kuliah.
Start
n = jumlah semua mata kuliah m = jumlah mata kuliah yang tidak
terjadwal
Efektivitas = n – mn100
Efektivitas
End
Gambar 3.8 Flowchart Untuk Mencari Nilai Efektivitas Penjadwalan Mata Kuliah
Universitas Sumatera Utara
3.2.2. Subsistem Manajemen Model
Model SPK yang digunakan untuk membangun sistem ini adalah model pemrograman heuristic. Model pemrograman heuristic memiliki proses menemukan satu solusi yang
cukup baik dengan menggunakan aturan-aturan. Di dalam sistem yang akan dibangun ini, solusi yang diinginkan adalah menjadwalkan semua mata kuliah ke dalam slot
waktu dengan menggunakan dan memenuhi aturan-aturan yang ada pada hard constraints dan mengecek kualitas jadwal mata kuliah tersebut dengan menggunakan
soft constraints.
3.2.2.1. Model Pemrograman Heuristic
Untuk membangun model pemrograman heuristic dari sistem pendukung keputusan yang dapat menyelesaikan masalah penjadwalan mata kuliah, diperlukan aturan-aturan
untuk mengatasi masalah-masalah setiap kriteria penjadwalan. Aturan-aturan tersebut dibuat berdasarkan batasan-batasan yang ada pada hard constraints dan soft
constraints. Aturan-aturan tersebut akan dibentuk menjadi heuristic yang akan menjadi aturan keputusan yang mengatur bagaimana sebuah masalah penjadwalan
harus dipecahkan. Tabel 3.1 berisi heuristic dari kriteria penjadwalan mata kuliah yang digunakan sebagai model sistem.
Tabel 3.1 Heuristic dari Kriteria Penjadwalan No.
Kriteria Penjadwalan Heuristics
1. Dosen
Tidak menjadwalkan dosen pada suatu waktu tertentu apabila tidak sesuai dengan
waktu ketersediaan dosen. 2.
DosenRuangan Tidak ada dosen yang mengajar mata
kuliah untuk dua ruangan yang berbeda atau lebih pada suatu waktu tertentu.
3. MahasiswaRuangan
Tidak ada mahasiswa yang mengikuti kuliah untuk dua ruangan yang berbeda
Universitas Sumatera Utara
atau lebih pada suatu waktu tertentu. 4.
MahasiswaRuangan Jumlah mahasiswa yang dialokasikan pada
satu ruangan harus lebih kecil daripada kapasitas ruangan tersebut.
5. RuanganMata kuliah
Ruangan hanya dapat digunakan untuk satu mata kuliah pada suatu waktu tertentu.
6. Mata kuliah
Mata kuliah yang memiliki tingkat yang sama tidak dapat dijadwalkan pada waktu
yang sama. 7.
Mata kuliahRuangan Mata kuliah yang menggunakan infocus
dialokasikan pada satu ruangan yang memiliki fasilitas infocus.
8. Slot waktu
Waktu kuliah dilaksanakan setiap hari Senin sampai dengan Sabtu mulai pukul
08.00 WIB sampai dengan 16.20 WIB. 9.
Slot waktu Tidak ada kuliah pada hari Jumat pukul
12.10 WIB sampai dengan 13.00 WIB simpul ‘55’.
Heuristic di atas akan dikombinasikan dengan algoritma A dalam proses menjadwalkan mata kuliah dengan mencari slot waktu yang memenuhi aturan-aturan
pada heuristic tersebut.
Namun tidak semua heuristic yang ada di atas dapat diterapkan untuk semua mata kuliah. Ada beberapa mata kuliah yang diharuskan kebal terhadap aturan-aturan
keputusan tersebut. Mata kuliah tersebut adalah mata kuliah yang dapat melakukan perkuliahan secara bersama-sama walaupun memiliki kelas dan tingkat mata kuliah
yang sama. Mata kuliah yang dimaksud adalah mata kuliah agama. Berdasarkan studi kasus skripsi ini, mata kuliah agama terdiri dari lima mata kuliah yaitu, Pendidikan
Agama Islam, Pendidikan Agama Kristen Katolik, Pendidikan Agama Kristen Protestan, Pendidikan Agama Hindu, dan Pendidikan Agama Budha.
Universitas Sumatera Utara
Setiap mata kuliah tersebut memiliki kelas mahasiswa dan tingkat mata kuliah yang sama yang seharusnya tidak dapat dijadwalkan pada waktu yang sama. Namun
pada praktiknya, mata kuliah tersebut dapat dijadwalkan pada slot waktu yang sama walaupun kelas mahasiswa dan tingkat mata kuliah tersebut sama. Hal ini disebabkan
mahasiswa yang mengikuti mata kuliah tersebut berbeda untuk setiap mata kuliahnya bergantung pada agama masing-masing walaupun kelas mahasiswanya sama.
Sehingga dalam proses pencarian slot waktu, tidak semua heuristic dapat diterapkan.
Untuk membedakan mata kuliah agama dengan mata kuliah yang lain, sistem menggunakan status dari mata kuliah yaitu, status ‘Biasa’ atau ‘Bersama’. Mata kuliah
yang memiliki status ‘Biasa’ harus memenuhi semua heuristic yang ada, sedangkan mata kuliah agama yang memiliki status ‘Bersama’ hanya memenuhi beberapa
heuristic yaitu heuristic nomor 1, 4, 5, 7, dan 9 pada Tabel 3.1.
Dalam implementasinya, heuristics di atas akan diterapkan satu per satu pada semua semua sumber daya mata kuliah yang akan dijadwalkan. Langkah-langkah
dalam penerapan heuristics yang harus dipenuhi untuk mata kuliah yang memiliki status ‘Biasa’ adalah sebagai berikut.
1. Periksa apakah pada slot waktu dapat dilakukan perkuliahan atau tidak H7,
jika Ya
: lanjutkan ke nomor 2. Tidak
: mata kuliah tidak dapat dijadwalkan pada slot waktu, pindah ke slot waktu berikutnya dan kembali ke nomor 1.
2. Periksa apakah pada slot waktu terdapat ruangan yang tidak digunakankosong
H4, jika Ya
: lanjutkan ke nomor 3a. Tidak
: mata kuliah tidak dapat dijadwalkan pada slot waktu, pindah ke slot waktu berikutnya dan kembali ke nomor 1.
Universitas Sumatera Utara
3. Periksa H9:
a. apakah mata kuliah membutuhkan fasilitas infocus, jika
Ya : lanjutkan ke nomor 3b.
Tidak : lanjutkan ke nomor 4a.
b. apakah ruangan memiliki fasilitas infocus, jika
Ya : lanjutkan ke nomor 4a.
Tidak : lanjutkan ke nomor 4b.
4. Periksa H5:
a. apakah jumlah mahasiswa dari kelas mata kuliah lebih kecil daripada
jumlah kapasitas ruangan, jika Ya
: lanjutkan ke nomor 5. Tidak
: lanjutkan ke nomor 4b. b.
Periksa apakah masih ada ruangan kosong yang lain pada slot waktu tersebut, jika
Ya : kembali ke nomor 3a.
Tidak : mata kuliah tidak dapat dijadwalkan pada slot waktu, pindah ke
slot waktu berikutnya dan kembali ke nomor 1.
5. Periksa apakah mata kuliah yang sudah dijadwalkan pada slot waktu tidak
memiliki tingkat yang sama dengan mata kuliah yang akan dijadwalkan H8, jika
Ya : lanjutkan ke nomor 6.
Tidak : mata kuliah tidak dapat dijadwalkan pada slot waktu, pindah ke slot
waktu berikutnya dan kembali ke nomor 1.
6. Periksa apakah kelas mahasiswa dari mata kuliah yang sudah dijadwalkan
pada slot waktu tidak sama dengan kelas mahasiswa dari mata kuliah yang akan dijadwalkan H3, jika
Ya : lanjutkan ke nomor 7.
Tidak : mata kuliah tidak dapat dijadwalkan pada slot waktu, pindah ke slot
waktu berikutnya dan kembali ke nomor 1.
Universitas Sumatera Utara
7. Periksa apakah dosen yang mengajar mata kuliah yang sudah dijadwalkan
pada slot waktu tidak sama dengan dosen yang mengajar mata kuliah yang akan dijadwalkan H1, jika
Ya : lanjutkan ke nomor 8.
Tidak : mata kuliah tidak dapat dijadwalkan pada slot waktu, pindah ke slot
waktu berikutnya dan kembali ke nomor 1.
8. Periksa apakah slot waktu berada di antara range waktu ketersediaan dosen
untuk mengajar mata kuliah yang akan dijadwalkan H2, jika Ya
: Goal. Tidak
: mata kuliah tidak dapat dijadwalkan pada slot waktu.
Sedangkan langkah-langkah dalam penerapan heuristics yang harus dipenuhi untuk mata kuliah agama yang memiliki status ‘Bersama’ adalah sebagai berikut.
1. Periksa apakah pada slot waktu dapat dilakukan perkuliahan atau tidak H7,
jika Ya
: lanjutkan ke nomor 2. Tidak
: mata kuliah tidak dapat dijadwalkan pada slot waktu, pindah ke slot waktu berikutnya dan kembali ke nomor 1.
2. Periksa apakah pada slot waktu terdapat ruangan yang tidak digunakankosong
H4, jika Ya
: lanjutkan ke nomor 3a. Tidak
: mata kuliah tidak dapat dijadwalkan pada slot waktu, pindah ke slot waktu berikutnya dan kembali ke nomor 1.
3. Periksa H9:
a. apakah mata kuliah membutuhkan fasilitas infocus, jika
Ya : lanjutkan ke nomor 3b.
Tidak : lanjutkan ke nomor 4a.
b. apakah ruangan memiliki fasilitas infocus, jika
Ya : lanjutkan ke nomor 4a.
Universitas Sumatera Utara
Tidak : lanjutkan ke nomor 4b.
4. Periksa H5:
a. apakah jumlah mahasiswa dari kelas mata kuliah lebih kecil daripada
jumlah kapasitas ruangan, jika Ya
: lanjutkan ke nomor 5. Tidak
: lanjutkan ke nomor 4b. b.
Periksa apakah masih ada ruangan kosong yang lain pada slot waktu tersebut, jika
Ya : kembali ke nomor 3a.
Tidak : mata kuliah tidak dapat dijadwalkan pada slot waktu, pindah ke
slot waktu berikutnya dan kembali ke nomor 1.
5. Periksa apakah slot waktu berada di antara range waktu ketersediaan dosen
untuk mengajar mata kuliah yang akan dijadwalkan H2, jika Ya
: Goal. Tidak
: mata kuliah tidak dapat dijadwalkan pada slot waktu.
Universitas Sumatera Utara
Untuk lebih jelasnya, berikut ini adalah flowchart alur dari model pemrograman heuristic untuk mata kuliah yang berstatus ‘biasa’.
Start mata kuliah, ruangan, slot waktu
H7
H4
H9.a
H9.b H5.b
H5.a
H8
H3
H1
H2 Jadwalkan mata kuliah pada ruangan
dan slot waktu Goal End
Mata kuliah tidak dapat dijadwalkan Mata kuliah tidak dapat dijadwalkan pada slot
waktu, pindah ke slot waktu berikutnya ya
tidak
ya tidak
ya tidak
tidak ya
tidak ya
tidak
tidak
tidak
tidak ya
ya
ya
ya ya
tidak
Gambar 3.9 Flowchart Heuristic Untuk Mata Kuliah Berstatus ‘Biasa’
Universitas Sumatera Utara
Sedangkan untuk flowchart alur dari model pemrograman heuristic untuk mata kuliah yang berstatus ‘bersama’ adalah sebagai berikut.
Start mata kuliah, ruangan, slot waktu
H7
H4
H9.a
H9.b H5.b
H5.a
H2 Jadwalkan mata kuliah pada ruangan
dan slot waktu Goal End
Mata kuliah tidak dapat dijadwalkan Mata kuliah tidak dapat dijadwalkan pada slot
waktu, pindah ke slot waktu berikutnya ya
tidak
ya tidak
ya tidak
tidak ya
tidak ya
tidak ya
ya tidak
Apakah mata kuliah sudah dijadwalkan pada
slot waktu untuk kelas mahasiswa lain?
tidak ya
Gambar 3.10 Flowchart Heuristic Untuk Mata Kuliah Berstatus ‘Bersama’
Universitas Sumatera Utara
3.2.2.2. Algoritma Penjadwalan Mata Kuliah Menggunakan A
Algoritma A adalah algoritma yang digunakan untuk mencari slot waktu mata kuliah yang akan dijadwalkan. Algoritma A menggunakan tree pada Gambar 3.1 sebagai
media untuk mencari solusi penjadwalan berdasarkan model pemrograman heuristic. Algoritma ini menggunakan bobot simpul sebagai nilai dari h dan jarak antar simpul
pada tree sebagai nilai dari g untuk menghitung nilai f. Dalam menentukan simpul yang akan dikunjungi, algoritma ini akan memilih simpul dengan nilai fn = gn +
hn yang paling kecil, sehingga dalam proses pencarian tidak hanya dibutuhkan solusi, tetapi juga membutuhkan jalur atau lintasan terpendek untuk mencapai slot
waktu yang diinginkan goal.
Semua aturan keputusan yang ada di dalam model pemrograman heuristic akan dimasukkan ke dalam sebuah fungsi yang disebut fungsi Goal yang memiliki
tipe data Boolean. Fungsi ini akan memeriksa setiap slot waktu yang dikunjungi dengan membawa sebuah mata kuliah yang akan dijadwalkan. Apabila semua
heuristic dapat dipenuhi, maka fungsi Goal akan bernilai true dan mata kuliah tersebut dijadwalkan pada slot waktu yang sedang dikunjungi. Dan apabila heuristic tidak
dapat dipenuhi, maka fungsi Goal akan bernilai false dan algoritma A akan mencari slot waktu yang baru yang memiliki nilai fn terkecil dari slot waktu awal.
Langkah-langkah melakukan penjadwalan mata kuliah dengan menggunakan algoritma A adalah sebagai berikut.
1. Ambil mata kuliah yang memiliki nilai konflik terbesar untuk dijadwalakn
secara berturut-turut. 2.
Berdasarkan waktu ketersediaan dosen untuk mengajar mata kuliah yang akan dijadwalkan, tentukan simpul StartNode sebagai posisi awal pencarian.
Misalkan waktu ketersediaan dosen untuk mengajar mata kuliah adalah Rabu pagi, maka StartNode berada pada simpul ‘30’.
3. Letakkan StartNode tersebut ke OPEN.
4. Ulangi langkah-langkah berikut sampai slot waktu tujuan ditemukan.
Universitas Sumatera Utara
a. Tentukan Best Node yang ada di OPEN. Best Node adalah simpul slot
waktu yang memiliki nilai fn dari simpul StartNode. Nilai fn diperoleh dari jarak antara simpul StartNode dengan simpul Best Node ditambah
dengan nilai bobot dari simpul Best Node atau fn = gn + hn. b.
Set CurrentNode sebagai simpul dari Best Node yang ada di OPEN. c.
Pindahkan simpul CurrentNode tersebut dari OPEN ke CLOSE. d.
Periksa apakah CurrentNode merupakan simpul tujuan goal. Pemeriksaan dilakukan dengan menjalankan fungsi Goal yang berisi langkah-langkah
heuristic. Jika CurrentNode merupakan simpul tujuan, maka mata kuliah yang sedang dijalankan menemukan slot waktu simpul tujuan untuk
dijadwalkan, kemudian lanjutkan ke langkah 5. Jika tidak, lanjutkan ke langkah e.
e. Bangkitkan semua suksesor dari CurrentNode, kemudian letakkan suksesor
tersebut ke dalam OPEN. f.
Periksa apakah OPEN kosong atau tidak. Jika kosong, pencarian berakhir. 5.
Kembali ke langkah pertama.
Universitas Sumatera Utara
Berdasarkan langkah-langkah penjadwalan mata kuliah di atas, berikut ini adalah algoritma flowchart penjadwalan mata kuliah menggunakan A dengan fungsi
Goal sebagai aturan-aturan keputusan yang ada di dalam model pemrograman heuristic.
Start n = jumlah mata kuliah
i=1 to n step 1 Inisialisasi list OPEN = nil
CLOSE = nil Masukkan StartNode node awal ke list OPEN
Set CurrentNode = BestNodeOPEN Keluarkan CurrentNode dari OPEN,
masukkan ke CLOSE
Goal CurrentNode, mata kuliah i = True
Bangkitkan semua node suksesor dari CurrentNode
Masukkan node tersebut ke OPEN Hitung dan simpan nilai f, g, h
OPEN = nil
slot waktu tidak ada mata kuliah i tidak dapat dijadwalkan
i
End Simpan CurrentNode sebagai slot waktu
untuk mata kuliah i ya
tidak
ya tidak
Gambar 3.11 Flowchart Penjadwalan Mata Kuliah Menggunakan Algoritma A
Universitas Sumatera Utara
3.2.2.3. Sistem Pendukung Keputusan Penjadwalan Mata Kuliah
Sistem pendukung keputusan penjadwalan mata kuliah yang akan dibangun ini memiliki proses-proses tertentu untuk menghasilkan solusi yang diinginkan pengguna.
Proses-proses tersebut meliputi semua proses yang ada di masing-masing subsistem yang menjadi komponen dari sistem ini. Proses-proses yang terjadi ini ditunjukkan
dalam flowchart berikut ini.
Start Masukkan semua sumber daya
dosen, mahasiswa, ruangan, dan mata kuliah ke basis data sistem
Hitung nilai konflik mata kuliah dari masing- masing mata kuliah
Urutkan data mata kuliah berdasarkan nilai konflik mata kuliah secara descending
Mencari slot waktu dan ruangan berdasarkan pemrograman heuristic menggunakan algoritma A
Simpan data mata kuliah dan ruangan yang telah dijadwalkan pada slot waktu ke basis data
Hitung nilai kualitas solusi jadwal mata kuliah yang dihasilkan
Hitung nilai efektifitas penjadwalan mata kuliah Tampilkan jadwal mata
kuliah End
Gambar 3.12 Flowchart Proses-Proses Dalam Sistem
Universitas Sumatera Utara
3.2.3. Subsistem Manajemen Data
3.2.3.1. Analisis Data Sistem
Untuk menghasilkan keputusan, sistem ini membutuhkan data yang dapat mendukung pengambilan keputusan. Data ini terbagi atas dua jenis yaitu, data internal dan data
eksternal. Data internal adalah data yang dibutuhkan yang sudah berada di dalam sistem, sedangkan data eksternal adalah data yang dibutuhkan yang berada di luar
sistem.
3.2.3.1.1. Data Internal
Data internal yang dibutuhkan sistem ini adalah sebagai berikut.
1. Data slot waktu
Data slot waktu adalah data yang menunjukkan hari dan jam dari suatu mata kuliah yang akan diajarkan oleh dosen kepada kelas mahasiswa. Data slot
waktu terdiri dari id slot, hari, dan jam.
2. Data id penjadwalan
Data id penjadwalan adalah data mata kuliah yang sudah terjadwal pada slot waktu. Data id penjadwalan terdiri dari id, id slot waktu, kode mata kuliah
yang terjadwal, kelas mata kuliah, dan ruangan yang digunakan sebagai lokasi perkuliahan.
Universitas Sumatera Utara
3.2.3.1.2. Data Eksternal
Data eksternal yang dibutuhkan sistem ini adalah sebagai berikut.
1. Data dosen
Data dosen adalah data pribadi dari seorang dosen yang mengajar suatu mata kuliah. Data dosen terdiri dari Nomor Induk Pegawai NIP, nama dosen, dan
inisial dosen.
2. Data waktu dosen
Data waktu dosen adalah data waktu ketersedian dosen untuk mengajar suatu mata kuliah. Data waktu dosen terdiri dari senin pagi, senin siang, selasa pagi,
selasa siang, rabu pagi, rabu siang, kamis pagi, kamis siang, jumat pagi, jumat siang, sabtu pagi, dan sabtu siang. Semua data yang disebutkan tersebut berisi
karakter antara ‘0’ atau ‘1’, di mana karakter ‘1’ menandakan dosen tersebut bersedia mengajar pada waktu yang berisikan karakter tersebut. Misalnya data
waktu seorang dosen pada data rabu siang berisi karakter ‘1’, maka dosen tersebut bersedia mengajar pada hari rabu siang. Apabila data tersebut berisi
karakter ‘0’, maka dosen tersebut tidak bersedia mengajar pada hari rabu siang. Untuk lebih dipahami, waktu pagi di sini mulai pukul 08.00 WIB
sampai dengan 12.10 WIB dan waktu siang mulai pukul 12.10 WIB sampai dengan 16.40 WIB.
3. Data mahasiswa
Data mahasiswa adalah data dari kelas mahasiswa yang akan mengikuti perkuliahan. Data mahasiswa terdiri dari kelas dan jumlah mahasiswa pada
kelas tersebut.
4. Data ruangan
Data ruangan adalah data dari sebuah ruangan yang akan dipakai sebagai lokasi perkuliahan. Data ruangan terdiri dari kode ruang, nama ruang,
kapasitas atau daya tampung ruangan tersebut dan infocus. Data infocus menunjukkan apakah ruangan tersebut memiliki fasilitas infocus atau tidak.
Universitas Sumatera Utara
Nilai dari data infocus adalah karakter ‘0’ atau ‘1’, di mana karakter ‘1’ menunjukkan ruangan tersebut memiliki fasilitas infocus. Sebaliknya, karakter
‘0’ menunjukkan bahwa ruangan tersebut tidak memiliki fasilitas infocus.
5. Data mata kuliah.
Data mata kuliah adalah data dari sebuah mata kuliah yang akan diajarkan oleh dosen kepada kelas mahasiswa. Data mata kuliah terdiri dari kode mata kuliah,
nama mata kuliah, tingkat mata kuliah, jumlah SKS, nomor induk pegawai dari dosen yang mengajar mata kuliah ini, kelas yang mengikuti perkuliahan mata
kuliah ini, infocus, status mata kuliah, dan konflik. Data infocus menunjukkan apakah mata kuliah tersebut membutuhkan infocus dalam kegiatan perkuliahan
atau tidak. Data status berfungsi untuk menunjukkan apakah mata kuliah tersebut adalah mata kuliah biasa atau mata kuliah bersama. Sedangkan data
konflik adalah data yang menunjukkan nilai konflik dari mata kuliah tersebut.
3.2.3.2. Data Flow Diagram DFD
Data Flow Diagram DFD adalah representasi grafis yang menggambarkan aliran informasi dan transformasi yang diterapkan sebagai perpindahan data dari input ke
output. DFD digunakan untuk mewakili sistem atau perangkat lunak pada setiap tingkat abstraksi Pressman, 2001.
DFD dari sistem ini dirancang terdiri dari tiga level yaitu, level diagram konteks Level 0, Level 1, dan Level 2.
3.2.3.2.1. Diagram Konteks
Diagram konteks atau DFD Level 0 mewakili seluruh elemen perangkat lunak sebagai proses tunggal dengan data input dan output yang ditunjukkan oleh tanda panah
masuk dan keluar. Diagram konteks dari sistem ini dapat dilihat pada Gambar 3.13.
Universitas Sumatera Utara
Dosen Mahasiswa
Ruangan Mata Kuliah
Jadwal Mata Kuliah
P 0
Sistem Pendukung Keputusan Penjadwalan
Mata Kuliah Dengan Model Pemrograman
Heuristic Menggunakan Algoritma A
data_dosen data_waktu_dosen
data_mahasiswa data_ruangan
data_mata _kuliah
jadwal
Gambar 3.13 Diagram Konteks DFD Level 0
Diagram konteks di atas menggambarkan sistem secara garis besar yang memperlihatkan masukan, proses, dan keluaran dari sistem yang akan dibangun.
Masukan dari sistem ini adalah data dari masing-masing entity Dosen, Mahasiswa, Ruangan, dan Mata Kuliah. Dan sebagai keluaran sistem adalah entity Jadwal Mata
Kuliah. Entity Jadwal Mata Kuliah merupakan solusi penjadwalan yang diberikan sistem kepada pengambil keputusan dari entity masukan. Sedangkan proses yang
terjadi pada diagram konteks di atas akan dijelaskan pada DFD Level 1.
3.2.3.2.2. DFD Level 1
Dari diagram konteks di atas, proses P0 dijabarkan menjadi proses-proses yang lebih kecil. Proses P0 dibagi lagi ke dalam 5 proses yaitu, proses input data dosen P1,
proses input data kelas mahasiswa P2, proses input data ruangan P3, proses input data mata kuliah P4, dan proses menjadwalkan mata kuliah P5. Proses-proses
tersebut digambarkan pada DFD Level 1. Berikut ini adalah uraian proses yang ada di DFD Level 1.
Universitas Sumatera Utara
Dosen
P 1
Proses input data dosen
Mahasiswa
P 2
Proses input data kelas
mahasiswa
Ruangan
P 3
Proses input data ruangan
P 5
Proses menjadwal-
kan mata kuliah
P 4
Proses input data mata
kuliah
Jadwal Mata Kuliah Mata Kuliah
data_dosen data_waktu_dosen
data_mahasiswa
data_ruangan data_mata_kuliah
nip_dosen
kelas
kode_ruangan jadwal
mata_kuliah waktu_dosen
Gambar 3.14 DFD Level 1
Proses-proses yang terjadi pada DFD Level 1 diuraikan pada Tabel 3.2 di bawah ini.
Tabel 3.2 Spesifikasi Proses DFD Level 1 No.Nama Proses
Input Keterangan Proses
Output
P1Proses input data dosen
data_dosen Proses memasukkan
data dosen yang dibutuhkan sistem
ke dalam basis data. nip_dosen
P2Proses input data kelas
mahasiswa data_mahasiswa
Proses memsaukkan data kelas
mahasiswa yang dibutuhkan sistem
ke dalam basis data. kelas
P3Proses input data ruangan
data_ruangan Proses memasukkan
data ruangan yang dibutuhkan sistem
ke dalam basis data. kode_ruangan
P4Proses input data mata kuliah
data_mata_kuliah, nip_dosen,
data_waktu_dosen, kelas,
Proses memasukkan data mata kuliah
yang dibutuhkan sistem ke dalam
basis data. mata_kuliah,
waktu_dosen
Universitas Sumatera Utara
P5Proses menjadwalkan
mata kuliah mata_kuliah,
waktu_dosen, kode_ruangan
Proses menjadwalkan
semua sumber daya mata kuliah yang
tersimpan di dalam basis data.
jadwal
3.2.3.2.3. DFD Level 2
Proses-proses yang berada pada DFD Level 1 dapat dijabarkan menjadi proses yang lebih spesifik. Proses tersebut dapat dilihat pada DFD Level 2 dari masing-masing
proses yang ada di DFD Level 1.
Penjelasan proses-proses pada DFD Level 2 ada pada lampiran dari skripsi ini.
3.2.3.3. Kamus Data
Kamus data merupakan sebuah daftar yang mengatur semua komponen data yang berhubungan terhadap sistem dengan definisi singkat dan sejelas-jelasnya sehingga
pengguna dan analisis sistem dapat sama-sama mengerti tentang data masukan, keluaran, komponen penyimpanan, dan kalkulasi lanjutan Pressman, 2001.
Kamus data dari sistem yang dirancang berada pada lampiran skripsi ini.
3.2.3.4. Entity Relationship Diagram ERD
Entity Relationship Diagram ERD merupakan desain sistem basis data bagaimana data tersebut saling berhubungan. Tujuan utama dari ERD adalah untuk
menggambarkan data objek dan hubungannya Pressman, 2001.
Universitas Sumatera Utara
Berikut ini adalah ERD dari basis data yang dimiliki oleh sistem.
Dosen
mengajar
Mata Kuliah
Waktu Dosen
mempunyai mempunyai
Jadwal
mempunyai
mempunyai
Ruangan
Slot Waktu
mengikuti
Mahasiswa
Gambar 3.15 Diagram Entity Relationship
3.2.4. Subsistem Antarmuka Pengguna
Antarmuka pengguna merupakan sistem dari sisi pengguna karena antarmuka adalah satu-satunya bagian dari sistem yang dilihat oleh pengguna. Antarmuka pengguna
mancakup semua aspek komunikasi antara satu pengguna dan SPK. Berikut ini merupakan form rancangan antarmuka pengguna dari sistem yang akan dibangun.
1. Form Utama
Form utama merupakan tampilan antarmuka utama dari sistem ini. Form ini akan menjadi tempat kerja utama ketika sistem ini dijalankan.
2. Form New
Form New merupakan tampilan antarmuka untuk membuat jadwal mata kuliah yang baru.
Universitas Sumatera Utara
3. Form OpenDelete
Form OpenDelete merupakan tampilan antarmuka untuk membuka atau menghapus file jadwal mata kuliah yang sudah ada yang tersimpan di media
penyimpanan.
4. Form Jadwal
Form Jadwal merupakan tampilan antarmuka sebagai tempat kerja untuk membuat jadwal mata kuliah. Form ini terdiri dari lima tab yaitu, tab Dosen,
Mahasiswa, Ruangan, Mata Kuliah, dan Jadwal.
a. Tab Dosen
Tab Dosen merupakan tampilan antarmuka untuk memasukkan data dosen yang dibutuhkan ke dalam basis data.
b. Tab Mahasiswa
Tab Mahasiswa merupakan tampilan antarmuka untuk memasukkan data kelas mahasiswa yang dibutuhkan ke dalam basis data.
c. Tab Ruangan
Tab Ruangan merupakan tampilan antarmuka untuk memasukkan data ruangan yang dibutuhkan ke dalam basis data.
d. Tab Mata Kuliah
Tab Mata Kuliah merupakan tampilan antarmuka untuk memasukkan data mata kuliah yang akan dijadwalkan ke dalam basis data.
e. Tab Jadwal
Tab Jadwal merupakan tampilan antarmuka untuk memproses semua sumber daya yang sudah dimasukkan dan untuk melihat solusi jadwal mata
kuliah yang dihasilkan. Pada tab ini akan diletakkan dua tombol yaitu tombol ‘Jadwalkan Mata Kuliah’ dan ‘Lihat’. Tombol ‘Jadwalkan Mata
Kuliah’ merupakan tombol yang akan memproses semua sumber daya dosen, mahasiswa, ruangan, dan mata kuliah untuk dijadwalkan. Tombol
Universitas Sumatera Utara
‘Lihat’ berfungsi untuk menampilkan solusi penjadwalan yang telah diproses dan hasilnya akan ditampilkan per ruangan.
Berikut ini adalah gambar struktur dari daftar menu dan form yang digunakan dalam antarmuka sistem yang akan dibangun.
Form Utama
Menu File
Form New Form OpenDelete
Form Jadwal Submenu New
Submenu OpenDelete
Tab Ruangan Tab Mahasiswa
Tab Mata Kuliah Tab Jadwal
Tab Dosen
Gambar 3.16 Struktur Menu dan Form Antarmuka Sistem
Universitas Sumatera Utara
BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1. Implementasi Sistem