• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN SISTEM

3.2. Analisis dan Perancangan Komponen Sistem

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. Dosen/Ruangan Tidak ada dosen yang mengajar mata

kuliah untuk dua ruangan yang berbeda atau lebih pada suatu waktu tertentu.

3. Mahasiswa/Ruangan Tidak ada mahasiswa yang mengikuti

atau lebih pada suatu waktu tertentu.

4. Mahasiswa/Ruangan Jumlah mahasiswa yang dialokasikan pada

satu ruangan harus lebih kecil daripada kapasitas ruangan tersebut.

5. Ruangan/Mata 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 kuliah/Ruangan 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.

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 (H(7)), 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 digunakan/kosong (H(4)), 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 (H(9)):

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 (H(5)):

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 (H(8)), 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 (H(3)), 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.

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 (H(1)), 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 (H(2)), 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 (H(7)), 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 digunakan/kosong (H(4)), 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 (H(9)):

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 (H(5)):

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 (H(2)), jika

Ya : Goal.

Untuk lebih jelasnya, berikut ini adalah flowchart alur dari model pemrograman heuristic untuk mata kuliah yang berstatus ‘biasa’.

Start

mata kuliah, ruangan, slot waktu

H(7) H(4) H(9).a H(9).b H(5).b H(5).a H(8) H(3) H(1) H(2)

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

Sedangkan untuk flowchart alur dari model pemrograman heuristic untuk mata kuliah yang berstatus ‘bersama’ adalah sebagai berikut.

Start

mata kuliah, ruangan, slot waktu

H(7) H(4) H(9).a H(9).b H(5).b H(5).a H(2)

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

Dokumen terkait