Sistem Pendukung Keputusan Penjadwalan Mata Kuliah Dengan Model Pemrograman Heuristic Menggunakan Algoritma A* (Studi Kasus: S1 Ilmu Komputer FMIPA USU)

(1)

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= = p

n 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