• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2016

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

Copied!
132
0
0

Teks penuh

(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

(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

(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,

(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

(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.

(6)

ABSTRAK

(7)

DECISION SUPPORT SYSTEM FOR COURSE SCHEDULING WITH HEURISTIC PROGRAMMING MODEL BY USING A*

ALGORITHM (CASE STUDY: S1 ILMU KOMPUTER FMIPA USU)

ABSTRACT

(8)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

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

(14)

DECISION SUPPORT SYSTEM FOR COURSE SCHEDULING WITH HEURISTIC PROGRAMMING MODEL BY USING A*

ALGORITHM (CASE STUDY: S1 ILMU KOMPUTER FMIPA USU)

ABSTRACT

(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

(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

(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

(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

(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

(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

(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

(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.

(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:

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

(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

(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

(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

(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

(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

(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

(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

(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,

(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,

(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

(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

(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

(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

(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

(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

(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

Gambar

Gambar 2.2 Skematik SPK
Tabel 2.2 Kategori-Kategori Model
Gambar 3.6b Flowchart Untuk Mencari Kualitas Mata Kuliah
Gambar 3.6c Flowchart Untuk Mencari Kualitas Mata Kuliah
+7

Referensi

Dokumen terkait