Analisis dan Perancangan Komponen Sistem

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