Sistem Pendukung Keputusan Penjadwalan Mata Kuliah Dengan Model Pemrograman Heuristic Menggunakan Algoritma A* (Studi Kasus: S1 Ilmu Komputer FMIPA USU)
SISTEM PENDUKUNG KEPUTUSAN PENJADWALAN
MATA KULIAH DENGAN MODEL PEMROGRAMAN
HEURISTIC MENGGUNAKAN ALGORITMA A*
(STUDI KASUS: S1 ILMU KOMPUTER
FMIPA USU)
SKRIPSI
KADAR ERATOSTHENES SITEPU
061401091
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2010
(2)
SISTEM PENDUKUNG KEPUTUSAN PENJADWALAN MATA KULIAH DENGAN MODEL PEMROGRAMAN
HEURISTIC MENGGUNAKAN ALGORITMA A*
(STUDI KASUS: S1 ILMU KOMPUTER FMIPA USU)
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer
KADAR ERATOSTHENES SITEPU 061401091
PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2010
(3)
PERSETUJUAN
Judul : SISTEM PENDUKUNG KEPUTUSAN
PENJADWALAN MATA KULIAH DENGAN MODEL PEMROGRAMAN HEURISTIC MENGGUNAKAN ALGORITMA A* (STUDI KASUS: S1 ILMU KOMPUTER FMIPA USU)
Kategori : SKRIPSI
Nama : KADAR ERATOSTHENES SITEPU
Nomor Induk Mahasiswa : 061401091
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 21 Desember 2010
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Drs. Agus Salim Harahap, M.Si Drs. Suyanto, M.Kom
NIP 195408281981031004 NIP 195908131986011002
Diketahui/Disetujui oleh
Departemen Ilmu Komputer FMIPA USU Ketua,
Prof. Dr. Muhammad Zarlis NIP 195707011986011003
(4)
PERNYATAAN
SISTEM PENDUKUNG KEPUTUSAN PENJADWALAN MATA KULIAH DENGAN MODEL PEMROGRAMAN
HEURISTIC MENGGUNAKAN ALGORITMA A* (STUDI KASUS: S1 ILMU KOMPUTER
FMIPA USU)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 21 Desember 2010
KADAR ERATOSTHENES SITEPU 061401091
(5)
PENGHARGAAN
Segala puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus, dengan limpah karunia-Nya penulisan skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
Ucapan terima kasih saya sampaikan kepada Bapak Drs. Suyanto, M.Kom dan Bapak Drs. Agus Salim Harahap, M.Si selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan kajian ini. Serta kepada Bapak Syahril Efendi, S.Si, M.I.T. dan Bapak M. Andri Budiman, S.T., MCompSc., M.E.M. selaku pembanding yang telah memberikan saran dan kritiknya yang banyak membantu dalam proses penyelesaian skripsi ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Departemen Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syahriol Sitorus, S.Si., M.I.T., Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen dan staf/pegawai pada Departemen Ilmu Komputer FMIPA USU, serta rekan-rekan mahasiswa angkatan 2006 terutama untuk sahabat saya Friendly, Pangeran, Handy, Ferry, Evin, Rain, dan Ferdinandus. Akhirnya, tidak terlupakan saya ucapkan terima kasih yang sebanyak-banyaknya kepada Ayahanda Dalin Mehuli Sitepu, Ibunda Sedia br. Ginting, dan saudari saya serta semua sanak-keluarga dan teman-teman yang telah memberikan bantuan materil dan spiritual dalam masa kuliah dan dalam penyelesaian skripsi ini. Semoga Tuhan akan membalasnya.
Akhirnya penulis berharap semoga skripsi ini bermanfaat bagi pribadi, keluarga, masyarakat, organisasi, dan negara.
(6)
ABSTRAK
Penjadwalan mata kuliah merupakan kegiatan administratif yang paling utama di universitas. Melakukan penjadwalan mata kuliah bukanlah pekerjaan yang mudah. Banyak aspek yang mempengaruhi dan dapat menjadi kendala sehingga menimbulkan masalah dan konflik dalam menyusun jadwal mata kuliah. Untuk mengatasinya, dibangunlah sebuah sistem pendukung keputusan yang dapat membantu pegawai administratif untuk membuat jadwal mata kuliah. Sistem pendukung keputusan dibuat dengan menggunakan model pemrograman heuristic yang merupakan model pendekatan yang melibatkan cara heuristic yang dapat menghasilkan solusi layak dan cukup baik. Heuristic yang dimaksud adalah aturan keputusan yang diadopsi dari batasan-batasan dalam melakukan penjadwalan mata kuliah sehingga masalah penjadwalan dapat dipecahkan. Setiap slot waktu akan diperiksa menggunakan heuristic ini untuk menemukan waktu kuliah yang tepat untuk mata kuliah yang dijadwalkan. Dalam mencari slot waktu, sistem menggunakan algoritma A* yang akan mencari waktu kuliah dalam sebuah tree yang berisikan simpul slot waktu. Algoritma A* merupakan algoritma yang optimal dalam menghasilkan jalur atau lintasan terpendek dalam menemukan solusi dari masalah. Sistem pendukung keputusan ini akan memberikan solusi jadwal mata kuliah disertai dengan penilaian kualitas dan efektivitas dari solusi yang diberikan.
(7)
DECISION SUPPORT SYSTEM FOR COURSE SCHEDULING WITH HEURISTIC PROGRAMMING MODEL BY USING A*
ALGORITHM (CASE STUDY: S1 ILMU KOMPUTER FMIPA USU)
ABSTRACT
The course scheduling is the main administrative activity in university. Doing of course scheduling is not an easy thing. Many aspects affect it and can be a problem in arranging it. To solve it, a decision support system was build to help the administrator to make the course schedule. The decision support system was made by using heuristic programming model which is an approaching model that involve heuristic way and can give a good solution. The heuristic means decision rules that adopted from constraints in scheduling subject so that the problem in making schedule can be solved. Every slot time will be checked by this heuristic to find the right time for course in schedule. In finding the slot time, this system uses A* algorithm that will find the time for a class in a tree that contain of node time slot. A* algorithm is an optimum algorithm that can produce the shortest way in finding solution of a problem. This decision support system can give course schedule solution with quality and the effectiveness grade from the solution that given.
(8)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Bab 1 Pendahuluan 1
1.1.Latar Belakang 1
1.2.Perumusan Masalah 2
1.3.Batasan Masalah 3
1.4.Tujuan 3
1.5.Manfaat 3
1.6.Metodologi Penelitian 4
1.7.Sistematika Penulisan 5
Bab 2 Landasan Teori 6
2.1.Penjadwalan 6
2.1.1. Definisi Penjadwalan 6
2.1.2. Penjadwalan Mata Kuliah 7
2.1.3. Masalah Jadwal Mata Kuliah 8
2.2.Sistem Pendukung Keputusan 10
2.2.1. Definisi SPK 13
2.2.2. Konfigurasi SPK 13
2.2.3. Karakteristik dan Kemampuan SPK 14
2.2.4. Komponen-Komponen SPK 15
2.2.4.1. Subsistem Manajemen Data 16
2.2.4.2. Subsistem Manajemen Model 18
2.2.4.3. Subsistem Antarmuka Pengguna 19
2.2.4.4. Subsistem Manajemen Berbasis Pengetahuan 19
2.2.5. Model 20
2.2.5.1. Manfaat Model 20
2.2.5.2. Kategori Model 21
2.2.6. Pemrograman Heuristic 22
2.3.Algoritma A* 24
2.4.Delphi 7.0 27
2.5.MySQL 27
(9)
3.1.Analisis Masalah Penjadwalan Mata Kuliah 30
3.2.Analisis dan Perancangan Komponen Sistem 33
3.2.1. Subsistem Manajemen Berbasis Pengetahuan 33
3.2.1.1. Hard Constraints 34
3.2.1.2. Soft Constraints 35
3.2.1.3. Tree 36
3.2.1.4. Nilai Konflik Mata Kuliah 37
3.2.1.5. Nilai Kualitas Solusi Jadwal Mata Kuliah 45
3.2.1.6. Nilai Efektivitas Penjadwalan Mata Kuliah 50
3.2.2. Subsistem Manajemen Model 51
3.2.2.1. Model Pemrograman Heuristic 51
3.2.2.2. Algoritma Penjadwalan Mata Kuliah Menggunakan A* 59 3.2.2.3. Sistem Pendukung Keputusan Penjadwalan Mata Kuliah 62
3.2.3. Subsistem Manajemen Data 63
3.2.3.1. Analisis Data Sistem 63
3.2.3.1.1. Data Internal 63
3.2.3.1.2. Data Eksternal 64
3.2.3.2. Data Flow Diagram (DFD) 65
3.2.3.2.1. Diagram Konteks 65
3.2.3.2.2. DFD Level 1 66
3.2.3.2.3. DFD Level 2 68
3.2.3.3. Kamus Data 68
3.2.3.4. Entity Relationship Diagram (ERD) 68
3.2.4. Subsistem Antarmuka Pengguna 69
Bab 4 Implementasi dan Pengujian Sistem 72
4.1.Implementasi Sistem 72
4.1.1. Lingkungan Implementasi 72
4.1.2. Implementasi Antarmuka Sistem 73
4.1.2.1. Form Utama 73
4.1.2.2. Form New 73
4.1.2.3. Form Open/Delete 74
4.1.2.4. Form Jadwal 74
4.2.Pengujian Sistem 75
4.2.1. Data Pengujian 76
4.2.2. Hasil Pengujian Sistem 79
Bab 5 Kesimpulan dan Saran 89
5.1.Kesimpulan 89
5.2.Saran 89
Daftar Pustaka 91
Lampiran A: DFD Level 2 93
Lampiran B: Kamus Data 99
Lampiran C: Implementasi Antarmuka Sistem 103
(10)
DAFTAR TABEL
Halaman
Tabel 2.1 Contoh sebuah tabel 7
Tabel 2.2 Kategori-Kategori Model 21
Tabel 2.3 Contoh-contoh heuristic 22
Tabel 3.1 Heuristic dari Kriteria Penjadwalan 51
Tabel 3.2 Spesifikasi Proses DFD Level 1 67
Tabel 4.1a Konflik Mata Kuliah 77
Tabel 4.1b Konflik Mata Kuliah 78
Tabel 4.2 Konflik Mata Kuliah KTB 103 Kelas 10 Kom A 81
Tabel 4.3 Konflik Mata Kuliah KTB 304 Kelas 08 Kom A 82
Tabel 4.4 Konflik Mata Kuliah KTC 302 Kelas 08 Kom A 83
Tabel 4.5 Konflik Mata Kuliah UNI 106 Kelas 09 Kom A 84
Tabel A.1 Spesifikasi Proses DFD Level 2 P1 93
Tabel A.2 Spesifikasi Proses DFD Level 2 P2 94
Tabel A.3 Spesifikasi Proses DFD Level 2 P3 95
Tabel A.4 Spesifikasi Proses DFD Level 2 P4 96
Tabel A.5 Spesifikasi Proses DFD Level 2 P5 97
Tabel B.1 Kamus Data 99
Tabel D.1 Data Dosen 109
Tabel D.2 Data Ruangan 110
Tabel D.3 Data Mahasiswa 111
Tabel D.4 Data Mata Kuliah Tingkat I 111
Tabel D.5 Data Mata Kuliah Tingkat II 112
Tabel D.6 Data Mata Kuliah Tingkat III 113
Tabel D.7 Data Mata Kuliah Tingkat IV 114
(11)
DAFTAR GAMBAR
Halaman
Gambar 2.1 SPK Dalam Sudut Pandang Konotasional 11
Gambar 2.2 Skematik SPK 16
Gambar 3.1 Tree dari slot waktu 36
Gambar 3.2 Flowchart Untuk Mencari Konflik Dosen 39
Gambar 3.3 Flowchart Untuk Mencari Konflik Kelas 41
Gambar 3.4 Flowchart Untuk Mencari Konflik Tingkat 43
Gambar 3.5 Flowchart Untuk Mencari Nilai Konflik Mata Kuliah 44
Gambar 3.6a Flowchart Untuk Mencari Kualitas Mata Kuliah 46
Gambar 3.6b Flowchart Untuk Mencari Kualitas Mata Kuliah 47
Gambar 3.6c Flowchart Untuk Mencari Kualitas Mata Kuliah 48
Gambar 3.7 Flowchart Untuk Mencari Nilai Kualitas Solusi Jadwal Mata Kuliah 49 Gambar 3.8 Flowchart Untuk Mencari Nilai Efektivitas Penjadwalan Mata Kuliah 50
Gambar 3.9 Flowchart Heuristic Untuk Mata Kuliah Berstatus ‘Biasa’ 57
Gambar 3.10 Flowchart Heuristic Untuk Mata Kuliah Berstatus ‘Bersama’ 58 Gambar 3.11 Flowchart Penjadwalan Mata Kuliah Menggunakan Algoritma A* 61
Gambar 3.12 Flowchart Proses-Proses Dalam Sistem 62
Gambar 3.13 Diagram Konteks (DFD Level 0) 66
Gambar 3.14 DFD Level 1 67
Gambar 3.15 Diagram Entity Relationship 69
Gambar 3.16 Struktur Menu dan Form Antarmuka Sistem 71
Gambar 4.1 Pemberitahuan bahwa Mata Kuliah KTB 103 kelas 10 Kom A tidak
dapat dijadwalkan 79
Gambar 4.2 Pemberitahuan bahwa Mata Kuliah KTB 304 kelas 08 Kom A tidak
dapat dijadwalkan 80
Gambar 4.3 Pemberitahuan bahwa Mata Kuliah KTC 302 kelas 08 Kom A tidak
dapat dijadwalkan 80
Gambar 4.4 Pemberitahuan bahwa Mata Kuliah UNI 106 kelas 09 Kom A tidak
dapat dijadwalkan 80
Gambar 4.5 Pemberitahuan Nilai Kualitas Solusi Jadwal Mata Kuliah 85
Gambar 4.6 Pemberitahuan Nilai Efektivitas Penjadwalan Mata Kuliah 85
Gambar 4.7 Jadwal Mata Kuliah Untuk Ruang Java 86
Gambar 4.8 Jadwal Mata Kuliah Untuk Ruang Basic 87
Gambar 4.9 Jadwal Mata Kuliah Untuk Ruang Pascal 87
Gambar 4.10 Jadwal Mata Kuliah Untuk Ruang Fortran 88
Gambar A.1 DFD Level 2 P1 93
Gambar A.2 DFD Level 2 P2 94
Gambar A.3 DFD Level 2 P3 94
Gambar A.4 DFD Level 2 P4 95
Gambar A.5 DFD Level 2 P5 97
Gambar C.1 Tampilan Implementasi Antarmuka Form Utama 103
(12)
Gambar C.3 Tampilan Implementasi Antarmuka Form Open/Delete 104
Gambar C.4 Tampilan Implementasi Antarmuka Tab Dosen 104
Gambar C.5 Tampilan Implementasi Antarmuka Tab Mahasiswa 105
Gambar C.6 Tampilan Implementasi Antarmuka Tab Ruangan 106
Gambar C.7 Tampilan Implementasi Antarmuka Tab Mata Kuliah 107
(13)
ABSTRAK
Penjadwalan mata kuliah merupakan kegiatan administratif yang paling utama di universitas. Melakukan penjadwalan mata kuliah bukanlah pekerjaan yang mudah. Banyak aspek yang mempengaruhi dan dapat menjadi kendala sehingga menimbulkan masalah dan konflik dalam menyusun jadwal mata kuliah. Untuk mengatasinya, dibangunlah sebuah sistem pendukung keputusan yang dapat membantu pegawai administratif untuk membuat jadwal mata kuliah. Sistem pendukung keputusan dibuat dengan menggunakan model pemrograman heuristic yang merupakan model pendekatan yang melibatkan cara heuristic yang dapat menghasilkan solusi layak dan cukup baik. Heuristic yang dimaksud adalah aturan keputusan yang diadopsi dari batasan-batasan dalam melakukan penjadwalan mata kuliah sehingga masalah penjadwalan dapat dipecahkan. Setiap slot waktu akan diperiksa menggunakan heuristic ini untuk menemukan waktu kuliah yang tepat untuk mata kuliah yang dijadwalkan. Dalam mencari slot waktu, sistem menggunakan algoritma A* yang akan mencari waktu kuliah dalam sebuah tree yang berisikan simpul slot waktu. Algoritma A* merupakan algoritma yang optimal dalam menghasilkan jalur atau lintasan terpendek dalam menemukan solusi dari masalah. Sistem pendukung keputusan ini akan memberikan solusi jadwal mata kuliah disertai dengan penilaian kualitas dan efektivitas dari solusi yang diberikan.
(14)
DECISION SUPPORT SYSTEM FOR COURSE SCHEDULING WITH HEURISTIC PROGRAMMING MODEL BY USING A*
ALGORITHM (CASE STUDY: S1 ILMU KOMPUTER FMIPA USU)
ABSTRACT
The course scheduling is the main administrative activity in university. Doing of course scheduling is not an easy thing. Many aspects affect it and can be a problem in arranging it. To solve it, a decision support system was build to help the administrator to make the course schedule. The decision support system was made by using heuristic programming model which is an approaching model that involve heuristic way and can give a good solution. The heuristic means decision rules that adopted from constraints in scheduling subject so that the problem in making schedule can be solved. Every slot time will be checked by this heuristic to find the right time for course in schedule. In finding the slot time, this system uses A* algorithm that will find the time for a class in a tree that contain of node time slot. A* algorithm is an optimum algorithm that can produce the shortest way in finding solution of a problem. This decision support system can give course schedule solution with quality and the effectiveness grade from the solution that given.
(15)
BAB I
PENDAHULUAN
1.1. Latar Belakang
Jadwal mata kuliah merupakan hal yang penting dalam proses perkuliahan. Setiap jurusan pada universitas memiliki jadwal mata kuliah yang disusun sedemikian rupa untuk menjaga berlangsungnya perkuliahan di jurusan tersebut. Jadwal mata kuliah yang baik memiliki distribusi mata kuliah yang merata setiap harinya untuk setiap tingkatnya tanpa mengalami kendala dalam proses perkuliahan.
Dalam penyusunan jadwal mata kuliah bukanlah pekerjaan yang mudah. Ada beberapa aspek yang mempengaruhi dalam penyusunan jadwal mata kuliah yaitu dosen, mahasiswa, mata kuliah, ruangan kuliah, dan slot waktu. Setiap aspek tersebut memiliki keadaan yang dapat menjadi masalah dan konflik dalam penyusunan jadwal mata kuliah. Misalnya masalah yang dihadapi dari aspek dosen adalah konflik dosen yaitu seorang dosen terjadwal mengajar kuliah pada dua lokasi yang berbeda pada suatu waktu. Atau dari aspek mahasiswa, masalah yang dihadapi adalah banyaknya kelas per angkatannya. Di samping masalah-masalah tersebut, masih banyak lagi kemungkinan masalah yang dapat muncul dari masing-masing aspek tersebut.
Untuk mengatasi masalah-masalah yang disebutkan di atas dapat dilakukan dengan cara komputerisasi dengan membangun sebuah sistem pendukung keputusan. Sistem akan menerima semua masalah tersebut sebagai masalah terstruktur untuk menghasilkan solusi penjadwalan mata kuliah yang baik. Masalah terstruktur merupakan masalah yang dimungkinkan untuk menggunakan algoritma atau peraturan mengenai keputusan agar masalah dapat diidentifikasi atau dipahami. Dengan penggunaan algoritma atau peraturan tersebut, dimungkinkan pula melakukan
(16)
identifikasi pemecahan pengganti dan mengevaluasinya, serta menentukan pemecahan yang terbaik.
Sebuah sistem pendukung keputusan membutuhkan sebuah model penyelesaian masalah yang dihadapi. Untuk dapat menentukan model yang tepat dapat dilakukan dengan mengidentifikasi masalah dan menganalisis lingkungan masalah serta mengidentifikasi variabel-variabel yang terlibat dalam pengambilan keputusan. Dalam penjadwalan mata kuliah, masalah yang dihadapi merupakan masalah kompleks yang diselesaikan secara rutin atau berulang-ulang. Masalah kompleksnya dapat dilihat dari setiap aspek dalam penyusunan jadwal mata kuliah yang saling berhubungan dengan aspek lainnya. Kemudian penjadwalan tersebut dilakukan setiap semester dengan keadaan lingkungan masalah yang berbeda setiap semesternya. Sehingga model yang tepat untuk sistem ini adalah model pemrograman heuristic.
Menurut George Polya, heuristic didefinisikan sebagai studi metode dan aturan penemuan. Dalam penyusunan jadwal mata kuliah, heuristic dinyatakan sebagai aturan untuk melakukan pemilihan slot waktu yang paling dapat diharapkan mencapai solusi masalah yang dapat diterima. Slot waktu diibaratkan sebuah jalur atau lintasan yang akan ditelusuri oleh mata kuliah yang akan dijadwalkan, sehingga untuk mendapatkan jalur atau lintasan terpendek untuk mencapai solusi dibutuhkan sebuah algoritma. Algoritma yang optimal dalam menghasilkan jalur atau lintasan terpendek dalam menemukan solusi dari masalah adalah algoritma A*.
1.2. Perumusan Masalah
Dari latar belakang yang dijelaskan sebelumnya, rumusan masalah yang diberikan adalah:
a. Bagaimana mengatasi masalah terstruktur yang timbul dari mata kuliah, dosen, mahasiswa, dan ruangan kuliah agar dapat dialokasikan pada slot waktu dalam membangun jadwal mata kuliah.
(17)
b. Bagaimana mengimplementasikan algoritma A* dalam membangun sistem pendukung keputusan penjadwalan mata kuliah dengan model pemrograman heuristic.
1.3. Batasan Masalah
Batasan masalah dalam skripsi ini adalah:
a. Sistem ini hanya dapat melakukan penjadwalan mata kuliah untuk satu jurusan saja.
b. Mata kuliah yang dijadwalkan hanya mata kuliah wajib dan bersifat teori. c. Sistem ini dirancang untuk komputer PC (stand alone).
d. Sistem ini akan dibangun menggunakan Delphi 7.0.
1.4. Tujuan
Tujuan dari penulisan skripsi ini adalah:
a. Menemukan solusi untuk mengatasi masalah terstruktur yang timbul dari mata kuliah, dosen, mahasiswa, dan ruangan kuliah agar dapat dialokasikan pada slot waktu dalam membangun jadwal mata kuliah.
b. Membangun sistem pendukung keputusan penjadwalan mata kuliah dengan model pemrograman heuristic menggunakan algoritma A*.
1.5. Manfaat
Penulisan skripsi ini bermanfaat bagi instansi pendidikan terutama perguruan tinggi atau sekolah tinggi dalam penyusunan jadwal mata kuliah sehingga lebih efisien dan efektif.
(18)
1.6. Metodologi Penelitian
Skripsi ini akan dikerjakan dengan metodologi sebagai berikut:
1. Studi Literatur
Metode ini dilaksanakan dengan melakukan studi kepustakaan dari buku-buku, e-book, jurnal, makalah dan internet yang dapat mendukung penulisan tugas akhir.
2. Analisis
Metode ini dilaksanakan dengan melakukan pengumpulan data dan fakta tentang sistem penjadwalan mata kuliah serta melakukan analisis terhadap masalah yang ada.
3. Perancangan
Metode ini dilaksanakan dengan melakukan perancangan terhadap sistem yang akan dibangun berdasarkan analisis yang telah dilakukan.
4. Implementasi
Metode ini dilaksanakan dengan melakukan implementasi rancangan sistem ke dalam bahasa pemrograman menggunakan Delphi 7.0.
5. Pengujian
Metode ini dilaksanakan dengan melakukan pengujian terhadap sistem yang telah diimplementasikan untuk mengetahui apakah sistem sudah berjalan dengan benar.
6. Penyusunan laporan dan penarikan kesimpulan.
Metode ini dilaksanakan dengan membuat laporan hasil analisis dan perancangan ke dalam format penulisan tugas akhir dengan disertai kesimpulan akhir.
(19)
1.7. Sistematika Penulisan
Dalam penulisan skripsi ini, sistematika penulisan dibagi menjadi lima bab yaitu:
1. Bab I Pendahuluan, berisikan penjelasan mengenai latar belakang,
perumusan masalah, batasan masalah, tujuan, manfaat, metodologi penelitian, serta sistematika penelitian yang digunakan untuk menyusun laporan.
2. Bab II Landasan Teori, berisikan dasar teori yang digunakan dalam analisis,
perancangan dan implementasi skripsi.
3. Bab III Analisis dan Perancangan Sistem, berisikan analisis terhadap
masalah serta perancangan sistem pendukung keputusan yang akan dibangun sebagai dasar dalam tahap implementasi sistem.
4. Bab IV Implementasi dan Pengujian Sistem, berisikan implementasi dari
sistem berdasarkan analisis dan perancangan yang telah dilakukan serta melakukan pengujian sistem.
5. Bab V Kesimpulan dan Saran, berisi kesimpulan dan saran yang didapatkan
(20)
BAB II
LANDASAN TEORI
2.1. Penjadwalan
2.1.1. Definisi Penjadwalan
Chambers (1999, hal: 22) menyatakan bahwa jadwal didefinisikan sebagai sesuatu yang menjelaskan di mana dan kapan orang-orang dan sumber daya berada pada suatu waktu. Berdasarkan Kamus Besar Bahasa Indonesia, jadwal merupakan pembagian waktu berdasarkan rencana pengaturan urutan kerja. Jadwal juga didefinisikan sebagai daftar atau tabel kegiatan atau rencana kegiatan dengan pembagian waktu pelaksanaan yang terperinci. Sedangkan penjadwalan merupakan proses, cara, perbuatan menjadwalkan atau memasukkan dalam jadwal (Departemen Pendidikan dan Kebudayaan, 1995).
Kebanyakan orang terbiasa dengan jadwal sekolah yang disajikan sebagai tabel hari dalam seminggu dan slot waktu. Dapat dilihat bahwa setiap hari dibagi ke dalam slot waktu. Setiap slot waktu memiliki daftar mata pelajaran yang sedang diajarkan, oleh siapa dan di mana. Jadwal dapat dinyatakan dalam sejumlah cara yang berbeda, masing-masing siswa harus memiliki jadwal sendiri tergantung pada mata pelajaran, begitu juga masing-masing guru dan ruang, semua ini adalah perspektif yang berbeda pada jadwal yang sama.
(21)
Tabel 2.1 Contoh sebuah jadwal
Situasi lain di mana jadwal diperlukan (Chambers, 1999), yaitu:
1. Manufacturing - jalur produksi, perencanaan proyek. 2. Travel- kereta api, bus, dll.
3. Ujian universitas/sekolah. 4. Mata kuliah universitas. 5. Jadwal sekolah.
6. Jadwal televisi/radio/media. 7. Pertemuan/Rapat.
Situasi di atas membutuhkan jadwal dengan berbagai kerumitan tergantung pada jumlah sumber daya yang dijadwalkan, jumlah slot waktu dan lokasi.
2.1.2. Penjadwalan Mata Kuliah
Penjadwalan mata kuliah adalah kegiatan administratif yang paling utama di universitas. Dalam masalah penjadwalan mata kuliah, sejumlah mata kuliah yang dialokasikan ke sejumlah ruang kelas yang tersedia dan sejumlah slot waktu disertai dengan constraints. Constraints terbagi atas dua jenis, yaitu hard constraints dan soft constraints (Petrovic dan Burke, 2004).
Mr. Smith Mr. Jhon Room 1 Room2 Class A Class B
COMPUTER Mr. Carlie Room 1 Class C
PHYSICS Mr. Donald Room 2 Class A 9am - 10am 10am - 11am 11am - 12 am
(22)
Hard constraints merupakan batas-batas yang harus diterapkan pada penjadwalan mata kuliah dan harus dipenuhi. Solusi yang tidak melanggar hard constraints disebut solusi layak. Hard constraints yang umum dalam penjadwalan mata kuliah adalah sebagai berikut:
a. Seorang dosen hanya dapat memberi kuliah untuk satu lokasi pada waktu tertentu.
b. Seorang mahasiswa hanya dapat mengikuti kuliah untuk satu lokasi pada waktu tertentu.
c. Sebuah lokasi (ruangan) hanya dapat digunakan untuk satu mata kuliah pada waktu tertentu.
d. Mahasiswa tidak dapat dialokasikan pada suatu lokasi yang menyebabkan lokasi melebihi kapasitas maksimum.
Soft constraints didefinisikan sebagai batas-batas mengenai alokasi sumber daya yang jika dilanggar masih dapat menghasilkan solusi yang layak tetapi sedapat mungkin untuk dipenuhi. Dalam kenyataannya, masalah penjadwalan mata kuliah biasanya tidak mungkin untuk memenuhi semua soft constraints. Kualitas jadwal yang layak dapat dinilai berdasarkan seberapa baik soft constraints dapat dipenuhi. Namun, beberapa masalah yang kompleks sulit menemukan solusi yang layak. Sebagai contoh, soft constraints yang mungkin ingin dicapai dalam jadwal sehubungan dengan aspek mata kuliah adalah meminimalkan terjadinya jadwal mata kuliah satu tingkat yang beturut-turut.
Beberapa univeristas dengan jumlah mata kuliah yang akan dijadwalkan dan berbagai constraints yang harus dipertimbangkan membuat penyusunan jadwal mata kuliah menjadi sangat sulit (Petrovic dan Burke, 2004).
2.1.3. Masalah Jadwal Mata Kuliah
Selama pembuatan jadwal mata kuliah, dibutuhkan penerapan constraints yang berbeda yang dilakukan secara bersamaan. Constraint ini mungkin saling
(23)
bertentangan yang berarti bahwa dalam usaha untuk memenuhi salah satu constraint dapat mengarah pada pelanggaran terhadap constraint yang lain. Pada situasi seperti ini dapat dilihat bahwa kepuasan pada constraint yang pertama akan mungkin mengarah pada pelanggaran constraint yang kedua.
Pengamatan tersebut didukung sebuah pernyataan multikriteria dari masalah jadwal mata kuliah di mana kriteria mengukur pelanggaran dari constraints yang sama. Sebuah universitas dapat menetapkan kualitas dari jadwal mata kuliah dari sudut pandang yang berbeda (departemen, mahasiswa, pembuat jadwal). Universitas sering memberikan kepentingan yang berbeda dengan constraints yang dikenakan pada masalah jadwal mata kuliah.
Berikut notasi dalam masalah jadwal mata kuliah:
a. N adalah jumlah mata kuliah. b. P adalah jumlah slot waktu.
c. ln adalah jumlah dosen yang mengajar mata kuliah n, n = 1, …, N, yang sudah diletakkan pada slot waktu P.
d. rp adalah jumlah ruangan yang dapat dijadwalkan pada slot waktu p, p =1, …, P.
e. C = [cnm]NxN adalah matriks simetris yang merepresentasikan konflik dari mata kuliah
f. cnm adalah jumlah mahasiswa yang mengambil mata kuliah n dan m dimana n, m = 1, …, N.
g. K adalah jumlah kriteria.
h. T = [tnp]NxP adalah matriks yang merepresentasikan penempatan mata kuliah ke dalam slot waktu.
i. tnp = 1, jika mata kuliah n dijadwalkan pada slot waktu p, n = 1, …, N, p = 1, …, P dan 0 untuk yang lainnya.
j. fk(T) adalah nilai dari kriteria Ck, k = 1, …, K. k. wk adalah bobot kriteria Ck, k = 1, …, K.
(24)
Masalah multikriteria jadwal mata kuliah dapat dinyatakan dalam cara berikut. Tentukan jumlah slot waktu P, jumlah mata kuliah N dengan jumlah dosen yang dibutuhkan, tentukan jadwal dari T yang membuat semua komponen vektor WF = (w1f1(T), …, wkfk(T), …, wKfK(T)) sekecil mungkin, berdasarkan:
∑
P= = pn np l
t 1
, n = 1, …, N (2.1)
∑
N= ≤n
p np r
t 1
, p = 1, …, P (2.2)
∑
∑
∑
=− = + P=p nm mp np N n m N n c t t 1 1 1 1
= 0 (2.3)
Constraint (2.1) memastikan bahwa setiap mata kuliah memiliki jumlah dosen yang dibutuhkan. Constraint (2.2) memastian bahwa dosen dapat ditampung di sejumlah ruangan. Dan constraint (2.3) memastikan bahwa mata kuliah yang telah memiliki mahasiswa yang sama tidak dijadwalkan pada slot waktu yang sama (Petrovic dan Burke, 2004).
2.2. Sistem Pendukung Keputusan
Konsep Sistem Pendukung Keputusan (SPK) pertama kali diperkenalkan pada awal tahun 1970-an oleh Michael S. Scott Morton dengan istilah Management Decision System. Konsep SPK ditandai dengan sistem interaktif berbasis komputer yang membantu pengambil keputusan memanfaatkan data dan model untuk menyelesaikan masalah-masalah yang tidak terstruktur.
Pada dasarnya SPK merupakan pengembangan lebih lanjut dari Sistem Informasi Manajemen terkomputerisasi (Computerized Management Information System), yang dirancang sedemikian rupa sehingga bersifat interaktif dengan pemakainya. Sifat interaktif ini dimaksudkan untuk memudahkan integrasi antara berbagai komponen dalam proses pengambilan keputusan, seperti prosedur, kebijakan,
(25)
teknis analisis, serta pengalaman dan wawasan manajerial guna membentuk suatu kerangka keputusan yang bersifat fleksibel.
Dalam sudut pandang konotasional, SPK adalah kemajuan secara revolusioner dari SIM (Sistem Informasi Manajemen) dan PDE (Pengolahan Data Elektronik). Pernyataan ini, dapat dilihat pada gambar di bawah ini (Suryadi dan Ramdhani, 1998).
Gambar 2.1 SPK Dalam Sudut Pandang Konotasional
PDE diterapkan pada level operasional organisasi. Karakteristik PDE meliputi aktivitas-aktivitas:
a. Menitikberatkan pada data, penyimpanan, pengolahan, dan aliran pada level operasional.
b. Membantu pengolahan transaksi-transaksi secara lebih efisien.
c. Memungkinkan pengolahan komputer secara lebih terjadwal dan optimum.
d. Menyediakan pembukuan (file) terpadu untuk kegiatan yang saling
berkaitan.
(26)
Dengan adanya peningkatan kemampuan dan kecepatan piranti keras, sistem operasi on line, pilihan komunikasi data yang menarik dan kemampuan penuh dari terminal, aktivitas pada level PDE ini menjadi lebih lancar dan lebih efisien dalam penggunaan fasilitas dalam pengolahan data transaksi.
Secara umum SIM difokuskan pada tingkat yang lebih tinggi dalam organisasi. SIM memiliki karakter sebagai berikut:
a. Menitikberatkan pada informasi bagi para manajer menengah. b. Menangani aliran-aliran informasi yang terstruktur.
c. Memadukan PDE dari kegiatan-kegiatan berdasarkan fungsi usaha (SIM Pemasaran, SIM Produksi, dan lain-lain).
d. Melayani kebutuhan informasi dan pembuatan laporan, umumnya melalui suatu basis data.
Dari karakteristik di atas, terlihat bahwa Sistem Informasi Manajemen berorientasi pada struktur aliran informasi dan operasional (rutinitas).
SPK, menurut tinjauan konotatif ini, merupakan sistem yang ditujukan kepada tingkatan manajemen yang lebih tinggi lagi, dengan penekanan karakteristik sebagai berikut.
a. Berfokus pada keputusan, ditujukan pada manajer puncak dan pengambil keputusan.
b. Menekankan pada fleksibilitas, adaptabilitas, dan respon yang cepat. c. Mampu mendukung berbagai gaya pengambilan keputusan dari
masing-masing pribadi manajer.
SPK dirancang untuk mendukung seluruh tahap pengambilan keputusan mulai dari mengidentifikasi masalah, memilih data yang relevan, menentukan pendekatan yang relevan, menentukan pendekatan yang digunakan dalam proses pengambilan keputusan, sampai mengevaluasi pemilihan alternatif (Suryadi dan Ramdhani, 1998).
(27)
2.2.1. Definisi SPK
Definisi awal SPK menunjukkan SPK sebagai sebuah sistem yang dimaksudkan untuk mendukung para pengambil keputusan manajerial dalam situasi keputusan semiterstruktur. SPK dimaksudkan untuk menjadi alat bantu bagi para pengambil keputusan untuk memperluas kapabilitas mereka, namun tidak untuk menggantikan penilaian mereka. SPK ditujukan untuk keputusan-keputusan yang memerlukan penilaian atau pada keputusan-keputusan yang sama sekali tidak dapat didukung oleh algoritma (Turban et al, 2005).
Little (1970) mendefinisikan SPK sebagai sekumpulan prosedur berbasis model untuk data pemrosesan dan penilaian guna membantu para manajer mengambil keputusan. Dia menyatakan bahwa untuk sukses, sistem tersebut haruslah sederhana, cepat, mudah dikontrol, adaptif, lengkap dengan isu-isu penting, dan mudah berkomunikasi. Bonczek, dkk., (1980) mendefinisikan SPK sebagai sistem berbasis komputer yang terdiri dari tiga komponen yang saling berinteraksi: sistem bahasa (mekanisme untuk memberikan komunikasi antara pengguna dan komponen DSS lain), sistem pengetahuan (repositori pengetahuan domain masalah yang ada pada SPK apakah sebagai data atau sebagai prosedur), dan sistem pemrosesan masalah (hubungan antara dua komponen lainnya, terdiri dari satu atau lebih kapabilitas manipulasi masalah umum yang diperlukan untuk pengambilan keputusan).
2.2.2. Konfigurasi SPK
Dukungan keputusan dapat diberikan dalam banyak konfigurasi yang berbeda-beda. Konfigurasi tersebut tergantung pada sifat situasi keputusan manajemen dan teknologi spesifik yang digunakan untuk dukungan. Teknologi ini dirakit dari empat komponen dasar (masing-masing dengan beberapa variasi): data, model, antarmuka pengguna, dan (opsional) pengetahuan. Masing-masing komponen dikelola dengan perangkat lunak yang tersedia secara komersil atau harus diprogram untuk tugas spesifik. Cara komponen tersebut dirakit menentukan kapabilitas utamanya dan sifat dukungan yang disediakan.
(28)
2.2.3. Karakteristik dan Kemampuan SPK
Berikut ini adalah karakteristik dan kemampuan ideal dari suatu sistem pendukung keputusan (Turban et al, 2005).
1. Dukungan untuk pengambilan keputusan, terutama pada situasi semiterstruktur dan tak terstruktur, dengan menyertakan penilaian manusia dan informasi terkomputerisasi. Masalah-masalah tersebut tidak dapat dipecahkan (atau tidak dapat dipecahkan dengan konvenien) oleh sistem komputer lain atau oleh metode atau alat kuantitatif standar.
2. Dukungan untuk semua level manajerial, dari eksekutif puncak sampai manajer lini
3. Dukungan untuk individu dan kelompok. Masalah yang kurang terstruktur sering memerlukan keterlibatan individu dari departemen dan tingkat organisasional yang berbeda atau bahkan dari organisasi lain.
4. Dukungan untuk keputusan independen dan atau sekuensial. Keputusan dapat dibuat satu kali, beberapa kali, atau berulang (dalam interval yang sama). 5. Dukungan di semua fase proses pengambilan keputusan: inteligensi, desain,
pilihan, dan implementasi.
6. Dukungan di berbagai proses dan gaya pengambilan keputusan.
7. Adaptivitas sepanjang waktu. Pengambil keputusan seharusnya reaktif, dapat menghadapi perubahan kondisi secara cepat, dan dapat mengadaptasikan SPK untuk memenuhi perubahan tersebut.
8. Pengguna merasa seperti di rumah. User friendly, kapabilitas grafis yang sangat kuat, dan antarmuka manusia-mesin interaktif dengan satu bahasa alami dapat sangat meningkatkan keefektifan SPK.
9. Peningkatan terhadap keefektifan pengambilan keputusan (akurasi, timeliness, kualitas) ketimbang pada efisiensinya (biaya pengambilan keputusan). Ketika SPK disebarkan, pengambilan keputusan sering membutuhkan waktu yang lebih lama, namun keputusannya lebih baik.
10.Kontrol penuh oleh pengambil keputusan terhadap semua langkah proses pengambilan keputusan dalam memecahkan suatu masalah. SPK secara khusus
(29)
menekankan untuk mendukung pengambil keputusan, bukannya menggantikan.
11.Pengguna akhir dapat mengembangkan dan memodifikasikan sendiri sistem sederhana. Sistem yang lebih besar dapat dibangun dengan bantuan ahli sistem informasi.
12.Biasanya model-model digunakan untuk menganalisis situasi pengambilan keputusan. Kemampuan pemodelan memungkinkan eksperimen dengan berbagai strategi yang berbeda di bawah konfigurasi yang berbeda.
13.Akses disediakan untuk berbagai sumber data, format, dan tipe, mulai dari sistem informasi geografis (GIS) sampai sistem berorientasi objek.
14.Dapat dilakukan sebagai alat standalone yang digunakan oleh seorang pengambil keputusan pada satu lokasi atau didistribusikan di satu organisasi keseluruhan dan di beberapa organisasi sepanjang rantai persediaan.
Karakteristik dan kemampuan dari SPK tersebut membolehkan para pengambil keputusan untuk membuat keputusan yang lebih baik dan lebih konsisten pada satu cara yang dibatasi waktu. Kemampuan tersebut disediakan oleh berbagai komponen utama SPK.
2.2.4. Komponen-Komponen SPK
Aplikasi SPK dapat terdiri dari beberapa subsistem (Turban et al, 2005), yaitu:
a. Subsistem manajemen data. b. Subsistem manajemen model. c. Subsistem antarmuka pengguna.
(30)
Komponen-komponen SPK dapat ditunjukkan pada gambar di bawah ini.
Gambar 2.2 Skematik SPK
2.2.4.1. Subsistem Manajemen Data
Subsistem manajemen data memasukkan satu basis data yang berisi data yang relevan untuk situasi dan dikelola oleh perangkat lunak yang disebut Database Management System (DBMS).
Subsistem manajemen data terdiri dari elemen berikut ini:
a. Basis data SPK
Basis data adalah kumpulan data yang saling terkait yang diorganisasikan untuk memenuhi kebutuhan dan struktur sebuah organisasi dan dapat digunakan oleh lebih dari satu orang untuk lebih dari satu aplikasi. Data pada basis data SPK diekstrak dari sumber data internal dan eksternal, juga dari data
Manajemen Data
Manajemen Model
Subsistem berbasis pengetahuan
Antarmuka pengguna
Pengguna Sistem lain yang berbasis komputer Data: eksternal
(31)
personal milik satu atau lebih pengguna. Hasil ekstraksi ditempatkan pada basis data aplikasi khusus.
b. Database Management System (DBMS)
Basis data dibuat, diakses, dan diperbarui oleh sebuah DBMS. SPK dibuat dengan sebuah DBMS relasional komersial standar yang memberikan berbagai kapabilitas. Sebuah basis data yang yang efektif dan manajemennya dapat mendukung banyak kegiatan manajerial; navigasi umum di antara record-record, mendukung pembuatan dan pemeliharaan sebuah kumpulan hubungan data yang berbeda-beda, dan laporan merupakan hasil yang umum.
c. Direktori data
Direktori data merupakan sebuah katalog dari semua data di dalam basis data. Ia berisi definisi data dan fungsi utamanya adalah untuk menjawab pertanyaan mengenai ketersediaan data, sumbernya, dan makna eksak dari data. Direktori ini terutama cocok untuk mendukung fase inteligensi dari proses pengambilan keputusan karena membantu men-scan data dan mengidentifikasi area masalah dan peluang-peluang. Direktori, seperti semua catalog lainnya, mendukung penambahan entri baru, menghapus entri, dan mendapatkan kembali informasi mengenai objek-objek khusus.
d. Query facility
Membangun dan menggunakan SPK sering memerlukan akses, manipulasi, dan query data. Tugas-tugas tersebut dilakukan oleh query facility. Ia menerima permintaan untuk data dari komponen SPK lain, menentukan bagaimana permintaan dapat dipenuhi, memformulasi permintaan dengan detail, dan mengembalikan hasilnya kepada pemberi permintaan. Query facility memasukkan sebuah bahasa query khusus (misal SQL).
(32)
2.2.4.2. Subsistem Manajemen Model
Subsistem manajemen model merupakan paket perangkat lunak yang memasukkan model keuangan, statistik, ilmu manajemen, atau model kuantitatif lainnya yang memberikan kapabilitas analitik dan manajemen perangkat lunak yang tepat.
Subsistem manajemen model dari SPK terdiri dari elemen-elemen berikut ini:
a. Basis model
Basis model berisi rutin dan statistik khusus, keuangan, forecasting, ilmu manajemen, dan model kuantitatif lainnya yang memberikan kapabilitas analisi pada sebuah SPK. Model dalam basis model dapat dibagi menjadi empat kategori utama, yaitu strategis, taktis, operasional, dan analitik.
b. Sistem manajemen basis model
Fungsi perangkat lunak sistem manajemen basis model (MBMS) adalah untuk membuat model dengan menggunakan bahasa pemrograman, alat SPK dan atau subrutin, dan blok pembangunan lainnya.
c. Bahasa pemodelan
SPK berkaitan dengan masalah semiterstruktur dan tidak terstruktur, karena itu sering perlu untuk mengustomasi model-model dengan menggunakan alat dan bahasa pemrograman.
d. Direktori model
Direktori model adalah katalog dari semua model dan perangkat lunak lainnya pada basis model. Direktori model berisi definisi model dan fungsi utamanya adalah menjawab pertanyaan tentang ketersediaan dan kapabilitas model.
e. Eksekusi model, integrasi, dan prosesor perintah
Aktivitas-aktivitas ini dikontrol oleh manajemen model. Eksekusi model adalah proses mengontrol jalannya model saat ini. Integrasi model mencakup gabungan operasi dari beberapa model saat diperlukan, atau mengintegrasikan
(33)
SPK dengan aplikasi lain. Sedangkan perintah dalam manajemen model digunakan untuk menerima dan menginterpretasikan instruksi-instruksi pemodelan dari komponen antarmuka pengguna dan merutekannya ke MBMS, eksekusi model, atau fungsi-fungsi integrasi.
2.2.4.3. 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. Cakupannya tidak hanya perangkat keras dan perangkat lunak, tetapi juga faktor-faktor yang diberikan dengan kemudahan penggunaan, kemampuan untuk dapat diakses, dan interaksi manusia dan mesin. Antarmuka yang sulit merupakan satu alasan utama mengapa para manajer tidak menggunakan komputer dan analisis kuantitatif.
Subsistem antarmuka pengguna dikelola oleh perangkat lunak yang disebut sistem manajemen antarmuka pengguna (UIMS).
2.2.4.4. Subsistem Manajemen Berbasis Pengetahuan
Banyak masalah tak terstruktur dan bahkan semi terstruktur yang sangat kompleks sehingga solusinya memerlukan keahlian. Keahlian tersebut dapat diberikan oleh suatu sistem pakar atau sistem cerdas lainnya. Komponen subsistem manajemen berbasis pengetahuan menyediakan keahlian yang diperlukan untuk memecahkan beberapa aspek masalah dan memberikan pengetahuan yang dapat meningkatkan operasi SPK yang lain.
Komponen pengetahuan terdiri dari satu atau lebih sistem cerdas. Sama seperti basis data dan perangkat lunak manajemen model, perangkat lunak manajemen berbasis pengetahuan memberikan eksekusi dan integrasi penting dari sistem cerdas.
(34)
Sistem pendukung keputusan yang memasukkan komponen seperti itu disebut SPK cerdas.
2.2.5. Model
Karakteristik utama sebuah SPK adalah inklusif pada sedikitnya satu model. Model merupakan representasi atau abstraksi sederhana dari realitas. Model biasanya disederhanakan karena realitas terlalu kompleks untuk digambarkan secara tepat dan karena banyak dari kompleksitas tersebut secara aktual tidak relevan untuk memecahkan masalah khusus.
Model dapat merepresentasikan sistem atau masalah dengan berbagai tingkatan abstraksi. Model diklasifikasikan berdasarkan tingkat abstraksi, seperti ikonik, analog, atau matematika. Model ikonik adalah model dengan abstraksi paling rendah yang merupakan replika fisik dari sebuah sistem, biasanya pada skala yang berbeda dari aslinya. Model analog merupakan model yang bertindak seperti sistem riil, tetapi tidak mirip. Model ini lebih abstrak dibandingkan model ikonik dan merupakan representasi simbolis dari realitas. Sedangkan model matematika merupakan model yang lebih abstrak daripada model analog dan ikonik (Turban et al, 2005).
2.2.5.1. Manfaat Model
SPK menggunakan model-model untuk alasan berikut ini (Turban et al, 2005).
a. Manipulasi model (mengubah variabel keputusan atau lingkungan) jauh lebih mudah daripada memanipulasi sistem riil.
b. Model memungkinkan kompresi waktu.
c. Biaya analisis pemodelan jauh lebih rendah daripada biaya eksperimen yang serupa yang dilakukan pada sebuah sistem riil.
d. Biaya pembuatan masalah selama eksperimen coba-salah jauh lebih rendah ketika menggunakan model-model, dibanding menggunakan sistem riil.
(35)
e. Lingkungan bisnis mencakup ketidakpastian yang dapat dipertimbangkan. f. Model matematika memungkinkan analisis terhadap sejumlah solusi yang
mungkin yang sangat besar, dan kadang-kadang tak terbatas. g. Model memperkuat pembelajaran dan pelatihan.
h. Metode model dan solusi tersedia di web.
2.2.5.2. Kategori Model
Model dalam SPK dikelompokkan menjadi tujuh kelompok dan mendaftarkan beberapa teknik representatif untuk setiap kategori (Turban et al, 2005). Berikut tabel ketujuh kategori model-model tersebut.
Tabel 2.2 Kategori-Kategori Model
Kategori Proses dan Tujuan Teknik-Teknik Representatif
Optimalisasi masalah dengan sedikit alternative
Menemukan solusi terbaik dari sejumlah alternatif.
Tabel keputusan, pohon keputusan
Optimalisasi dengan algoritma
Menemukan solusi terbaik dari sejumlah besar alternatif dengan menggunakan proses pendekatan langkah demi langkah.
Model pemrograman matematika linier dan lainnya, model jaringan
Optimalisasi dengan rumusan analitik
Menemukan solusi terbaik dalam satu langkah dengan menggunakan satu rumus.
Beberapa model inventori
Simulasi Menemukan satu solusi yang
cukup baik atau yang terbaik di antara berbagai alternatif yang dipilih dengan menggunakan eksperimen.
Beberapa tipe simulasi
Heuristic Menemukan satu solusi yang
cukup baik dengan
Pemrograman heuristic, sistem pakar
(36)
menggunakan aturan-aturan. Model-model
prediktif
Memprediksi masa depan untuk skenario yang ditentukan.
Model forecasting, analisis Markov Model-model
lainnya
Memecahkan kasus bagaimana-jika dengan menggunakan sebuah rumus.
Pemodelah keuangan, waiting lines
2.2.6. Pemrograman Heuristic
Heuristic (bahasa Yunani untuk kata discovery) adalah aturan keputusan yang mengatur bagaimana sebuah masalah harus dipecahkan (Turban et al, 2005). Heuristic juga didefinisikan sebagai kriteria, metode, atau prinsip untuk menemukan jalan dari beberapa alternatif tindakan yang paling efektif untuk mencapai tujuan tertentu (Pearl, 1984). Sedangkan menurut George Polya, heuristic didefinisikan sebagai studi metode dan aturan penemuan (Setiawan, 1993, hal: 80). Biasanya, heuristic dikembangkan berdasarkan basis analisis yang solid terhadap masalah, kadang-kadang melibatkan eksperimen yang didesain secara cermat. Sebaliknya, petunjuk biasanya dikembangkan sebagai hasil dari pengalaman coba-salah. Beberapa heuristic diambil dari petunjuk. Heuristic search (atau pemrograman) adalah prosedur langkah-demi-langkah (seperti algoritma) yang diulang sampai ditemukan sebuah solusi yang memuaskan. Contoh-contoh heuristic didaftarkan pada Tabel 2.3.
Tabel 2.3 Contoh-contoh heuristic
Pekerjaan berurutan melalui sebuah mesin
Melakukan pekerjaan yang pertama-tama memerlukan least time.
Pembelian saham Jika rasio harga dibanding pengeluaran
lebih dari 10, tidak membeli saham.
Travel Tidak menggunakan jalan bebas hambatan
(37)
Investasi kapital pada proyek teknologi tinggi
Mempertimbangkan hanya proyek-proyek dengan periode pengembalian terestimasi kurang dari 2 tahun.
Pembelian sebuah rumah Membeli hanya di lingkungan yang bagus,
tetapi hanya membeli dalam rentang harga yang lebih rendah.
Pengambil keputusan menggunakan heuristic atau aturan utama dengan berbagai alasan, beberapa alasan lebih masuk akal daripada alasan yang lainnya. Sebagai contoh, pengambil keputusan dapat menggunakan sebuah heuristic jika mereka tidak tahu cara terbaik untuk memecahkan sebuah masalah atau jika teknik-teknik optimalisasi belum dilakukan.
Proses heuristic dapat dijelaskan sebagai pengembangan berbagai aturan untuk membantu memecahkan masalah-masalah rumit, menemukan cara-cara mendapatkan dan menginterpretasikan informasi yang terus berubah, dan kemudian mengembang-kan metode-metode yang memimpin kepada suatu algoritma komputasional atau solusi umum.
Sekalipun heuristic dilakukan terutama untuk memecahkan masalah yang tidak terstruktur, namun heuristic juga dapat digunakan untuk memberikan solusi yang memuaskan untuk masalah tertentu yang kompleks namun terstruktur, dengan jauh lebih cepat dan lebih murah ketimbang algoritma optimalisasi. Kesulitan utama menggunakan heuristic adalah heuristic bukan satu algoritma umum. Dengan demikian, heuristic dapat digunakan hanya untuk situasi spesifik.
Pemrograman heuristic merupakan pendekatan yang melibatkan cara heuristic (role of thumb) yang dapat menghasilkan solusi yang layak dan cukup baik pada pelbagai permasalahan yang kompleks. Cukup baik (good enough) biasanya dalam jangkauan 90 sampai dengan 99,99 persen dari solusi optimal sebenarnya (Subakti, 2002).
(38)
Pemikiran heuristic tidak perlu berjalan dalam cara yang langsung. Pemikiran ini meliputi pencarian, pembelajaran, evaluasi, penilaian, dan kemudian pencarian ulang, pembelajaran ulang, dan penilaian ulang saat terjadi eksplorasi dan pembuktian. Pengetahuan yang didapatkan dari kesuksesan atau kegagalan pada saat yang sama merupakan umpan balik dan memodifikasi proses pencarian. Biasanya tujuan atau masalah atau pemecahan yang terkait atau masalah yang disederhanakan perlu ditentukan kembali sebelum masalah utama dapat dipecahkan (Turban et al, 2005).
2.3. Algoritma A*
Secara umum, pencarian jalur terpendek dapat dibagi menjadi dua metode yaitu metode algoritma konvensional dan algoritma heuristic. Metode algoritma konvensional diterapkan dengan cara perhitungan matematis biasa, sedangkan metode algoritma heuristic diterapkan dengan perhitungan kecerdasan buatan dengan menentukan basis pengetahuan dan perhitungannya (Mutakhiroh et al, 2007).
Metode algoritma heuristic dapat menyelesaikan masalah pencarian jalur terpendek dengan hasil yang lebih variatif dan dengan waktu perhitungan yang lebih singkat. Pada metode algoritma konvensional, logika yang dipakai hanya dengan membandingkan jarak masing-masing simpul dan kemudian mencari jarak yang terpendek. Namun, kelemahan metode algoritma konvensional pada keakuratan hasil yang didapatkan serta tingkat kesalahan yang dihasilkan pada perhitungan. Hal tersebut tidak akan menjadi masalah jika data yang dibutuhkan hanya sedikit, sebaliknya maka akan menyebabkan peningkatan tingkat kesalahan perhitungan dan penurunan keakuratan. Secara konsep algoritma, metode algoritma konvensional lebih mudah untuk dipahami, tetapi hasil yang diperoleh dari metode algoritma heuristic lebih variatif.
Di dalam mempelajari tingkah laku suatu heuristic tidak hanya dibutuhkan solusi, tetapi juga membutuhkan algoritma untuk mendapatkan jalur atau lintasan
(39)
terpendek untuk mencapai data yang diinginkan (goal). Hal ini adalah penting jika sebuah aplikasi mempunyai biaya tinggi untuk langkah-langkah solusi ekstranya, seperti misalnya merencanakan sebuah jalur untuk sebuah robot autonomous pada sebuah lingkungan yang berbahaya. Heuristic yang menemukan lintasan terpendek kapan saja dan di mana berada disebut admissible. Suatu algoritma pencarian disebut admissible jika algoritma tersebut terjamin dalam hal pencarian jalur yang minimal pada suatu solusi di manapun jalur tersebut berada (Kristanto, 2004).
Salah satu metode algoritma heuristic yang digunakan untuk melakukan pencarian jalur terpendek adalah algoritma A*. A* (admissible heuristic) adalah strategi best first search yang menggunakan estimasi solusi biaya terkecil untuk mencapai suatu tujuan dengan jarak tempuh terdekat dan memiliki nilai heuristic yang digunakan sebagai dasar pertimbangan (Seminar Nasional Sains dan Teknologi-II, 2008). Algoritma A* menghasilkan jalur optimal mulai dari tempat awal kemudian melalui simpul menuju tempat yang dituju.
Notasi yang dipakai oleh algoritma A* adalah:
f(n) = g(n) + h(n) (2.4)
Dalam notasi standar yang dipakai untuk algoritma A* di atas, digunakan g(n) untuk mewakili biaya rute dari simpul awal ke simpul n. Lalu h(n) mewakili perkiraan biaya dari simpul n ke simpul tujuan, yang dihitung dengan fungsi heuristic. A* ‘menyeimbangkan’ kedua nilai ini dalam mencari jalan dari simpul awal ke simpul tujuan. Dalam menentukan simpul yang akan dikembangkan, algoritma ini akan memilih simpul dengan nilai f(n) = g(n) + h(n) yang paling kecil (Adipranata et al, 2007).
Beberapa terminologi dasar yang terdapat pada algoritma A* (Viktor et al, 2010) adalah:
(40)
b. simpul (nodes) merupakan petak-petak kecil sebagai representasi dari pathfinding. Bentuknya dapat berupa persegi, lingkaran, maupun segitiga. c. A merupakan simpul yang sedang dijalankan dalam algoritma pencarian jalan
terependek.
d. open list merupakan tempat menyimpan data simpul yang mungkin diakses
dari starting point maupun simpul yang sedang dijalankan.
e. closed list merupakan tempat menyimpan data simpul sebelum A yang juga
merupakan bagian dari jalur terpendek yang telah berhasil didapatkan. f. harga (cost) merupakan nilai dari f(n).
g. halangan (unwalkable) merupakan sebuah atribut yang menyatakan bahwa sebuah simpul tidak dapat dilalui oleh A.
Berikut ini adalah algoritma A* (Pearl, 1984):
1. Letakkan simpul awal s pada OPEN. 2. Jika OPEN kosong, pencarian berakhir.
3. Pindahkan simpul n yang memiliki nilai f minimum dari OPEN ke CLOSED. 4. Jika n adalah simpul tujuan, pencarian berhasil dan berakhir dengan
menelusuri kembali pointer dari n sampai s.
5. Ekspansikan n, bangkitkan semua successor dari simpul n, dan tambahkan ke pointer tersebut kembali ke n. Untuk setiap successor n’ dari simpul n:
a. Jika n’ tidak ada pada OPEN atau CLOSED, estimasi h(n’) (sebuah perkiraan dari biaya perjalanan terbaik dari n’ ke beberapa simpul tujuan), dan hitung f(n’) = g(n’) + h(n’) dimana g(n’) = g(n) + c(n, n’) dan g(s) = 0.
b. Jika n’ sudah berada pada OPEN atau CLOSED, letakkan pointer
perjalanan pada hasil g(n’) yang terendah.
c. Jika n’ membutuhkan penyesuaian pointer dan ditemukan pada CLOSED, buka kembali n’.
(41)
2.4. Delphi 7.0
Borland Delphi atau yang biasa disebut Delphi saja merupakan sarana pemrograman aplikasi visual. Bahasa pemorgraman yang digunakan adalah bahasa pemrograman Pascal atau yang kemudian juga disebut bahasa pemrograman Delphi. Delphi merupakan generasi penerus dari Turbo Pascal. Turbo Pascal dirancang untuk dijalankan pada sistem opersai DOS, sedangkan Delphi dirancang untuk beroperasi di bawah sistem operasi Windows (Wahana Komputer, 2003).
Borland Delphi versi pertama dirilis pada tahun 1995, kemudian berlanjut sampai Delphi 7.0 yang dirilis pada tahun 2002 dan kini versi terbarunya adalah Delphi 8.0 dan 2005.
Keunggulan bahasa pemrograman Delphi terletak pada produktivitas, kualitas, pengembangan perangkat lunak, kecepatan kompilasi, pola desain yang menarik serta diperkuat dengan pemrogramannya yang terstruktur. Keunggulan lain dari Delphi adalah dapat digunakan untuk merancang program aplikasi yang memiliki tampilan seperti program aplikasi lain yang berbasis Windows (Madcoms, 2003).
Delphi memiliki sarana yang tangguh untuk pembuatan aplikasi, mulai dari sarana untuk pembuatan form, menu, toolbar, hingga kemampuan untuk menangani pengelolaan basis data yang besar. Kelebihan-kelebihan yang dimiliki Delphi antara lain karena pada Delphi, form dan komponen-komponennya dapat dipakai ulang dan dikembangkan, tersedia template aplikasi dan form template, memiliki lingkungan pengembangan visual yang dapat diatur sesuai kebutuhan, serta kemampuan mangakses data dari bermacam-macam format.
2.5. MySQL
MySQL adalah database server relasional yang gratis di bawah lisensi GNU General Public License. MySQL dikembangkan oleh MySQL AB, sebuah perusahaan komersial yang membangun layanan bisnisnya melalui basis data MySQL. Awal mula
(42)
pengembangan MySQL adalah pengguanaan mSQL untuk koneksi ke tabel mempergunakan rutin level rendah (ISAM). Setelah beberapa pengujian diperoleh kesimpulan mSQL tidak cukup cepat dan fleksibel untuk memenuhi kebutuhan. Sehingga dihasilkan suatu antarmuka SQL baru pada basis data tetapi dengan Application Programming Interface (API) yang mirip SQL. API ini dipilih sedemikian sehingga memudahkan porting kode (Utdirartatmo, 2002).
MySQL juga disebut sebagai suatu sistem manajemen basis data. Suatu basis data adalah sebuah kumpulan data yang terstruktur. Untuk menambahkan, mengakses, dan memproses data yang tersimpan pada suatu basis data komputer diperlukan sistem manajemen basis data seperti MySQL. MySQL mampu menangani basis data berukuran besar yaitu bisa memuat 60 ribu tabel dan 50 juta record. Karena komputer sangat unggul dalam menangani sejumlah besar data, sistem manajemen basis data memainkan suatu peranan yang penting dalam komputasi, baik sebagai utility stand-alone maupun bagian dari aplikasi lainnya.
Perintah-perintah dasar Structured Query Language (SQL) yang dipergunakan pada MySQL adalah sebagai berikut (Utdirartatmo, 2002).
a. CREATE DATABASE
Perintah ini berfungsi untuk membuat database baru
b. DROP DATABASE
Berfungsi untuk menghapus database.
c. CREATE TABLE
Perintah ini berfungsi untuk membat table baru.
d. DESCRIBE
Perintah ini berguna untuk menampilkan deskripsi dari sebua tabel.
e. ALTER TABLE
Perintah ini berfungsi untuk melakukan modifikasi tabel.
f. DROP TABLE
Perintah ini digunakan untuk menghapus tabel.
g. DELETE
(43)
h. GRANT
Perintah ini berfungsi untuk memberikan privilege akses kepada pengguna terhadap tabel dan dapat juga digunakan untuk membuat pengguna baru.
i. LOCK TABLES
Perintah ini berfungsi untuk menutup akses pengguna terhadap tabel.
j. UNLOCK TABLES
Perintah ini berfungsi untuk membuka akses yang sebelumnya dikunci.
k. INSERT INTO
Perintah ini berfungsi untuk memasukkan data ke dalam tabel.
l. LOAD DATA INFILE
Perintah ini gunakan untuk membaca data dari file teks.
m. SELECT
Perintah ini berfungsi untuk menampilkan record dari suatu tabel.
n. UPDATE
(44)
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Masalah Penjadwalan Mata Kuliah
Dalam penjadwalan mata kuliah, ada lima kriteria yang menjadi pertimbangan dalam menyusun jadwal mata kuliah yaitu dosen, mahasiswa, ruangan, mata kuliah dan slot waktu. Masing-masing kriteria tersebut dapat menimbulkan masalah dalam melakukan penjadwalan mata kuliah.
Dalam penyusunan jadwal mata kuliah perlu diketahui bahwa setiap kriteria memiliki keterkaitan dengan kriteria yang lainnya sehingga pada saat menjadwalkan suatu kriteria perlu diperhatikan kriteria-kriteria yang lain. Sebagai contoh, kriteria dosen memiliki hubungan dengan kriteria mata kuliah karena dosen adalah tenaga pengajar dari mata kuliah. Contoh yang lain adalah kriteria ruangan dengan kriteria mahasiswa yang memiliki hubungan antara kapasitas dari suatu ruangan dengan jumlah mahasiswa dari sebuah kelas mahasiswa.
Untuk mengetahui hubungan dari kriteria-kriteria tersebut di atas, dibutuhkan penjelasan masing-masing kriteria agar dapat dipahami bagaimana hubungan dari masing-masing kriteria tersebut.
1. Dosen
Dosen merupakan tenaga pengajar dari suatu mata kuliah. Seorang dosen dapat mengajar satu mata kuliah atau lebih.
(45)
2. Mahasiswa
Mahasiswa merupakan orang-orang yang belajar di perguruan tinggi atau unversitas. Mahasiswa dalam suatu jurusan terdiri dari beberapa angkatan. Setiap angkatan terdiri dari satu atau lebih kelas mahasiswa. Dan masing-masing kelas mahasiswa yang terdiri dari sejumlah mahasiswa tersebut mengikuti kuliah dari beberapa mata kuliah sesuai dengan tingkat dan jurusan mereka.
3. Ruangan
Ruangan merupakan tempat berlangsungnya sebuah perkuliahan dari suatu mata kuliah. Sebuah ruangan kuliah memliki sejumlah fasilitas yang disediakan untuk berlangsungnya perkuliahan. Salah satu fasilitas yang pokok adalah kursi mahasiswa. Banyaknya kursi mahasiswa atau daya tampung (kapasitas) dari ruangan tersebut akan menjadi pertimbangan yang penting dalam membangun jadwal mata kuliah. Selain itu, ada beberapa fasilitas yang harus dimiliki sebuah ruangan yang juga dapat menjadi pertimbangan dalam membangun jadwal mata kuliah, misalnya fasilitas alat multimedia.
4. Mata kuliah
Mata kuliah merupakan satuan pelajaran yang diajarkan di tingkat perguruan tinggi. Suatu mata kuliah diajarkan minimal oleh seorang dosen dan memiliki beberapa kelas mahasiswa yang mengikuti kuliah tersebut yang sesuai dengan tingkat mata kuliah.
5. Slot waktu
Slot waktu merupakan tempat mengalokasikan sumber daya mata kuliah, dosen, mahasiswa, dan ruangan ke dalam jadwal yang telah memenuhi batasan-batasan yang telah ditentukan.
Masalah yang muncul ketika melakukan penjadwalan mata kuliah adalah konflik yang terjadi antara mata kuliah, ruangan yang tersedia, dan jumlah slot waktu yang dapat digunakan.
(46)
Pada studi kasus di skripsi ini, konflik mata kuliah yang menjadi permasalahan dalam penjadwalan dan sangat perlu dihindari adalah konflik dosen, konflik kelas mahasiswa, dan konflik tingkat mata kuliah. Konflik dosen yang dimaksud adalah suatu kejadian di mana seorang dosen memberi kuliah pada dua lokasi atau lebih yang berbeda pada suatu waktu tertentu. Konflik kelas mahasiswa merupakan suatu kejadian di mana sekelompok kelas mahasiswa dijadwalkan mengikuti kuliah pada dua lokasi atau lebih pada suatu waktu tertentu. Sedangkan konflik tingkat mata kuliah adalah suatu kejadian di mana ada dua mata kuliah atau lebih yang memiliki tingkat yang sama dijadwalkan pada waktu sama.
Masalah pada kriteria ruangan yang menjadi pertimbangan dalam penjadwalan mata kuliah adalah jumlah, kapasitas, dan fasilitas infocus dari ruangan yang dapat digunakan sebagai lokasi untuk melaksanakan perkuliahan. Apabila jumlah, kapasitas, dan fasilitas infocus dari ruangan yang tersedia tidak memadai, hal ini dapat menyulitkan penjadwalan mata kuliah. Sekelompok kelas mahasiswa harus dialokasikan pada ruangan dengan kapasitas yang lebih besar daripada jumlah dari sekelompok kelas mahasiswa tersebut sehingga tidak menyebabkan overload pada ruangan. Begitu juga dengan fasilitas pada ruangan, mata kuliah yang membutuhkan fasilitas infocus dalam proses perkuliahannya dialokasikan pada ruangan yang memiliki fasilitas infocus.
Pada kriteria slot waktu, yang menjadi pertimbangan dalam membangun sebuah jadwal adalah jumlah slot yang dapat dialokasikan. Semakin banyak slot waktu yang dapat dialokasikan dapat membuat pemilihan waktu kuliah semakin banyak pilihan.
Masalah-masalah penjadwalan mata kuliah di atas diatasi dengan membuat batasan-batasan yang dapat menghindari dan mengatasi masalah-masalah tersebut. Batasan-batasan tersebut dituangkan dalam constraints. Sehingga dalam melakukan penjadwalan, sejumlah mata kuliah yang dialokasikan ke sejumlah ruang kelas yang tersedia dan sejumlah slot waktu disertai dengan constraints. Constraints yang dimaksud adalah batasan-batasan yang harus dipenuhi oleh semua kriteria dalam menyusun jadwal mata kuliah.
(47)
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 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
(48)
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.
H(1). Seorang dosen hanya dapat memberi kuliah untuk satu lokasi pada suatu waktu tertentu.
H(2). Seorang dosen hanya dapat memberi kuliah sesuai dengan waktu
ketersediaan dosen untuk mengajar.
H(3). Seorang mahasiswa hanya dapat mengikuti kuliah untuk satu lokasi pada suatu waktu tertentu.
H(4). Sebuah lokasi (ruangan) hanya dapat digunakan untuk satu mata kuliah pada sutau waktu tertentu.
H(5). Mahasiswa tidak dapat dialokasikan pada satu lokasi yang jumlah
(49)
H(6). Waktu kuliah dilaksanakan setiap hari Senin sampai dengan Sabtu mulai pukul 08.00 WIB sampai dengan 16.20 WIB.
H(7). Tidak ada kuliah untuk semua lokasi pada hari Jumat pukul 12.10 WIB sampai dengan 13.00 WIB.
H(8). Mata kuliah yang memiliki tingkat yang sama tidak dapat dijadwalkan pada waktu yang sama.
H(9). 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.
S(1). 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.
S(2). 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. S(3). Meminimalkan terjadinya jadwal mata kuliah yang menyebabkan seorang
(50)
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 simpul/node 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
(51)
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 f(n) 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
(52)
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 H(1), H(3), dan H(8).
Batasan H(1) 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 = [dnm]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 dnm 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 dnm = 0 dan akan ditambah 1 jika mata kuliah n dan mata kuliah
(53)
Berikut ini adalah algoritma flowchart dari matriks D = [dnm]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
(54)
Batasan H(3) pada hard constraints sama seperti batasan H(1) pada hard constraints. Batasan H(3) 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 H(1), untuk mengetahui konflik yang terjadi akibat kelas mahasiswa dapat dilakukan dengan membuat sebuah matriks K = [knm]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 knm 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 knm = 0 dan akan ditambah 1 jika mata kuliah n dan mata kuliah
(55)
Berikut ini adalah algoritma flowchart dari matriks K = [knm]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 H(8). Konflik yang ada pada batasan H(8) dapat diketahui dengan membuat sebuah matriks. Batasan H(8) 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
(56)
lebih kelas mahasiswa dalam satu angkatan. Jika dalam satu angkatan mahasiswa hanya ada satu kelas mahasiswa, maka batasan H(8) akan sama fungsinya dengan batasan H(3).
Batasan H(8) 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 H(8) dapat dilakukan dengan membuat sebuah matriks T = [tnm]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 tnm 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 tnm adalah 0 dan akan ditambah 1 jika terjadi konflik mata kuliah n dan m karena memiliki tingkat mata kuliah yang sama.
(1)
4. UNI 108 Bahasa Inggris 2 Ariatna, S.S, MA (TESL)
(Kom B) Tidak
5. KTB 201 Aljabar Linier &
Matriks 3
Drs. H. Haluddin Panjaitan
(Kom A)
Tidak 6. KTB 201 Aljabar Linier &
Matriks 3
Drs. H. Agus Salim Harahap, M.Si (Kom B)
Tidak 7. KTB 202 Metode Numerik 3 Syahril Efendi, S.Si, MIT
(Kom A) Tidak
8. KTB 202 Metode Numerik 3 Syahril Efendi, S.Si, MIT
(Kom B) Tidak
9. KTB 203 Struktur Data 3
Drs. Partano Siagian, M.Sc.
(Kom A)
Tidak 10. KTB 203 Struktur Data 3
Drs. Partano Siagian, M.Sc.
(Kom B)
Tidak 11. KTC 201 Organisasi &
Arsitektur Komputer 3
Drs. Dahlan Sitompul, M.Eng
(Kom A)
Tidak 12. KTC 201 Organisasi &
Arsitektur Komputer 3
Drs. Syahwin, M.Si
(Kom B) Tidak
13. KTC 202 Bahasa
Pemrograman II 2
M. Andri Budiman, ST, M.Comp.Sc, MEM (Kom A)*
Ya 14. KTC 202 Bahasa
Pemrograman II 2
M. Andri Budiman, ST, M.Comp.Sc, MEM (Kom B)*
Ya
Tabel D.6 Data Mata Kuliah Tingkat III
No. Kode Mata Kuliah SKS Dosen Infocus
1. KTB 301 Teori Bahasa &
Otomata 2
Drs. Marihat Situmorang, M.Kom.
(Kom A)
Tidak 2. KTB 301 Teori Bahasa &
Otomata 2
Drs. Marihat Situmorang, M.Kom.
(Kom B)
Tidak 3. KTB 302 Analisis & Disain
Algoritma 2
Drs. Sawaluddin, MIT.
(Kom A)* Ya
4. KTB 302 Analisis & Disain
Algoritma 2
Drs. James Piter Marbun, M.Kom
(Kom B)*
Ya 5. KTB 303 Pemrograman
Berorientasi Objek 2
Ade Chandra, ST,
(2)
(Kom A)* 6. KTB 303 Pemrograman
Berorientasi Objek 2
Ade Chandra, ST, M.Kom
(Kom B)*
Ya 7. KTB 304 Sistem Berkas 2 Dr. Mester Sitepu, M.Sc
(Kom A)* Ya
8. KTB 304 Sistem Berkas 2 Dr. Mester Sitepu, M.Sc
(Kom B)* Ya
9. KTC 301 Grafika Komput er 2 Dr. Tulus, M.Sc
(Kom A)* Ya
10. KTC 301 Grafika Komput er 2 Dr. Tulus, M.Sc
(Kom B)* Ya
11. KTC 302 Mikroprosessor 2 Dr. Marhaposan, M.Sc.
(Kom A) Tidak
12. KTC 302 Mikroprosessor 2 Dr. Bisman P, M.Eng
(Kom B) Tidak
13. KTC 303 Sistem Operasi 3 Drs. Suyanto, M.Kom
(Kom A)* Ya
14. KTC 303 Sistem Operasi 3 Drs. Suyanto, M.Kom
(Kom B)* Ya
15. KTE 301 Komputer &
Masyarakat 2
M. Andri Budiman, ST, M.Comp.Sc,MEM (Kom A)*
Ya 16 KTE 301 Komputer &
Masyarakat 2
M. Andri Budiman, ST, M.Comp.Sc,MEM (Kom B)*
Ya
Tabel D.7 Data Mata Kuliah Tingkat IV
No. Kode Mata Kuliah SKS Dosen Infocus
1. KTB 401 Kecerdasan Buatan 2
Prof. Dr. Opim S. Sitompul, M.Sc. (Kom A)*
Ya 2. KTB 401 Kecerdasan Buatan 2
Prof. Dr. Opim S. Sitompul, M.Sc. (Kom B)*
Ya 3. KTC 401 Sistem Terdistribusi 2
Rahmat Aulia, S.Kom, M.Sc.IT
(Kom A)*
Ya 4. KTC 401 Sistem Terdistribusi 2
Ade Chandra, ST, M.Kom
(Kom B)*
Ya 5. KTC 402 Sistem Pendukung
Keputusan 3
Maya Silvi Lydia, B.Sc, M.Sc
(Kom A)*
(3)
6. KTC 402 Sistem Pendukung
Keputusan 3
Maya Silvi Lydia, B.Sc, M.Sc
(Kom B)*
Ya 7. KTD 401 Etika Profesi 2
Prof. Dr. Muhammad Zarlis
(Kom A)
Tidak 8. KTD 401 Etika Profesi 2
Prof. Dr. Muhammad Zarlis
(Kom B)
Tidak 9. KTD 402 Bahasa Inggris
Lanjutan 2
Drs. Chairul Husni Siregar, M.TESOL (Kom A)
Tidak 10. KTD 402 Bahasa Inggris
Lanjutan 2
Drs. Chairul Husni Siregar, M.TESOL (Kom B)
Tidak
4.2.1.5. Data Waktu Dosen
Berikut ini adalah data waktu ketersediaan dosen mengajar mata kuliah yang akan dijadwalkan.
Tabel D.8 Data Waktu Ketersediaan Dosen
No. Dosen Kode
MK Kelas
Waktu Ketersediaan Dosen
1. Dra. Hj. Sahlia, M.Ag UNI 101 10 Kom A Senin pagi 2. Dra. Hj. Sahlia, M.Ag UNI 101 10 Kom B Jumat pagi 3. BM Sembiring UNI 102 10 Kom A
10 Kom B Jumat pagi 4. Prof. Dr. Risnawati
Sinulingga, M.Th UNI 103
10 Kom A
10 Kom B Jumat pagi 5. Putu Sutrisna UNI 104 10 Kom A
10 Kom B Jumat pagi 6. Drs. Tommy Tantawi UNI 105 10 Kom A
10 Kom B Jumat pagi 7. Dian Rahmawati, S.Si,
M.Kom. KTB 101 10 Kom A Kamis pagi
8. Dian Rahmawati, S.Si,
M.Kom. KTB 101 10 Kom B Senin pagi
9. Drs. Muhammad Firdaus,
(4)
10. Drs. Achiruddin, M.Si. KTB 102 10 Kom B Sabtu siang 11. Prof. Dr. Iryanto, M.Si. KTB 103 10 Kom A Jumat pagi 12. Dian Rahmawati, S.Si,
M.Kom KTB 103 10 Kom B Kamis siang
13. Drs. Nasir Saleh,
M.Eng.Sc. KTB 104 10 Kom A Sabtu pagi
14. Drs. Nasir Saleh,
M.Eng.Sc. KTB 104 10 Kom B Rabu pagi
15. Prof. Dr. Muhammad
Zarlis KTB 105 10 Kom A Selasa pagi
16. Sajadin Sembiring, S.Si,
M.Sc KTB 105 10 Kom B Rabu siang
17. Maya Silvi Lydia, B.Sc.,
M.Sc. KTB 106 10 Kom A Rabu pagi
18. Maya Silvi Lydia, B.Sc.,
M.Sc. KTB 106 10 Kom B Senin siang
19. Hermansyah, SH.,
M.Hum UNI 106 09 Kom A Selasa pagi
20. Abdul Rahman, SH, MH UNI 106 09 Kom B Rabu pagi 21. Drs. M. Syafi'ie Siregar,
MA UNI 108 09 Kom A Rabu pagi
22. Ariatna, S.S, MA (TESL) UNI 108 09 Kom B Rabu siang 23. Drs. H. Haluddin
Panjaitan KTB 201 09 Kom A Kamis pagi
24. Drs. H. Agus Salim
Harahap, M.Si KTB 201 09 Kom B Kamis pagi 25. Syahril Efendi, S.Si, MIT KTB 202 09 Kom A Senin pagi 26. Syahril Efendi, S.Si, MIT KTB 202 09 Kom B Selasa pagi 27. Drs. Partano Siagian,
M.Sc. KTB 203 09 Kom A Selasa siang
28. Drs. Partano Siagian,
M.Sc. KTB 203 09 Kom B Senin siang
29. Drs. Dahlan Sitompul,
M.Eng KTC 201 09 Kom A Sabtu pagi
30. Drs. Syahwin, M.Si KTC 201 09 Kom B Jumat pagi 31. M. Andri Budiman, ST,
M.Comp.Sc, MEM KTC 202 09 Kom A Selasa pagi 32. M. Andri Budiman, ST,
M.Comp.Sc, MEM KTC 202 09 Kom B Selasa siang 33. Drs. Marihat Situmorang, KTB 301 08 Kom A Senin pagi
(5)
M.Kom.
34. Drs. Marihat Situmorang,
M.Kom. KTB 301 08 Kom B Selasa pagi
35. Drs. Sawaluddin, MIT. KTB 302 08 Kom A Selasa pagi 36. Drs. James Piter Marbun,
M.Kom KTB 302 08 Kom B Rabu pagi
37. Ade Chandra, ST,
M.Kom KTB 303 08 Kom A Senin siang
38. Ade Chandra, ST,
M.Kom KTB 303 08 Kom B Senin pagi
39. Dr. Mester Sitepu, M.Sc KTB 304 08 Kom A Kamis pagi 40. Dr. Mester Sitepu, M.Sc KTB 304 08 Kom B Kamis pagi 41. Dr. Tulus, M.Sc KTC 301 08 Kom A Rabu pagi 42. Dr. Tulus, M.Sc KTC 301 08 Kom B Kamis pagi 43. Dr. Marhaposan, M.Sc. KTC 302 08 Kom A Rabu pagi 44. Dr. Bisman P, M.Eng KTC 302 08 Kom B Jumat pagi 45. Drs. Suyanto, M.Kom KTC 303 08 Kom A Sabtu siang 46. Drs. Suyanto, M.Kom KTC 303 08 Kom B Sabtu pagi 47. M. Andri Budiman, ST,
M.Comp.Sc,MEM KTE 301 08 Kom A Rabu siang 48. M. Andri Budiman, ST,
M.Comp.Sc,MEM KTE 301 08 Kom B Rabu siang 49. Prof. Dr. Opim S.
Sitompul, M.Sc. KTB 401 07 Kom A Selasa pagi 50. Prof. Dr. Opim S.
Sitompul, M.Sc. KTB 401 07 Kom B Senin pagi 51. Rahmat Aulia, S.Kom,
M.Sc.IT KTC 401 07 Kom A Kamis pagi
52. Ade Chandra, ST,
M.Kom KTC 401 07 Kom B Senin pagi
53. Maya Silvi Lydia, B.Sc,
M.Sc KTC 402 07 Kom A Kamis siang
54. Maya Silvi Lydia, B.Sc,
M.Sc KTC 402 07 Kom B Selasa siang
55. Prof. Dr. Muhammad
Zarlis KTD 401 07 Kom A Selasa siang
56. Prof. Dr. Muhammad
Zarlis KTD 401 07 Kom B Senin siang
(6)
Siregar, M.TESOL 58. Drs. Chairul Husni