Anda di halaman 1dari 42

PENERAPAN ALGORITMA BEST-FIRST SEARCH

DALAM PERANCANGAN PENJADWALAN KULIAH

THE APPLICATION OF ALGORITHM BEST-FIRST SEARCH


IN THE COURSE SCHEDULING DESIGN

ABDUL KADIR JAILANI

PROGRAM PASCASARJANA
UNIVERSITAS HASANUDDIN
MAKASSAR
2009

PENERAPAN ALGORITMA BEST-FIRST SEARCH


DALAM PERANCANGAN PENJADWALAN KULIAH

Tesis
Sebagai Salah Satu Syarat untuk Mencapai Gelar Magister

Program Studi
Teknik Elektro

Disusun dan diajukan oleh

ABDUL KADIR JAILANI

kepada

PROGRAM PASCASARJANA
UNIVERSITAS HASANUDDIN
MAKASSAR
2009

TESIS

PENERAPAN ALGORITMA BEST-FIRST SEARCH


DALAM PERANCANGAN PENJADWALAN KULIAH

Disusun dan diajukan oleh

ABDUL KADIR JAILANI


Nomor Pokok P2700204018

telah dipertahankan di depan Panitia Ujian Tesis


pada tanggal 1 Juni 2009

Menyetujui
Komisi Penasihat,

_______________________
Dr. Ir. Zahir Zainuddin, M.Sc.
Ketua

Ketua Program Studi


Teknik Elektro,

________________________
Prof.Dr. Ir. Salama Manjang, M.T.

____________________________
Drs. Suarga, M.Sc., M.Math., Ph.D.
Anggota

Direktur Program Pascasarjana


Universitas Hasanuddin,

_____________________________
Prof. Dr. dr. Abdul Razak Thaha, M.Sc.

PERNYATAAN KEASLIAN TESIS


Yang bertanda tangan di bawah ini :
Nama
: Abdul Kadir Jailani
Nomor Mahasiswa : P2700204018
Program Studi
: Teknik Elektro
Menyatakan dengan sebenarnya bahwa tesis yang saya tulis ini benar-benar
merupakan hasil karya saya sendiri, bukan merupakan pengambilalihan tulisan atau
pemikiran orang lain. Apabila di kemudian hari terbukti atau dapat dibuktikan bahwa
sebagian atau keseluruhan tesis ini hasil karya orang lain, saya bersedia menerima
sanksi atas perbuatan tersebut.

Makassar, 1 Juni 2009


Yang menyatakan,

Abdul Kadir Jailani

Abstract
Abdul Kadir Jailani. The Application of Algorithm Best-First Search in The
Course Scheduling Design (Guided by Zahir Zainuddin and Suarga)
This research aims to make lecture scheduling application that apply
algorithm best-first search to do scheduling activity automatically, and
look for scheduling result optimalest that can fulfil need every lecturing
activity element without neglecting rule and scheduling limitation.
This research was carried out at electro technique direction faculty of
technique Universitas Hasanuddin (UNHAS). Method that used in this
research observation, and interview. testing technique to detect logic
value a stripe in algorithm best-first search used testing method white-box
and black-box with algorithm complexity testing.
The result shows that any form in this application doesn't experience
function error, interfaces error, and error perfomances then produce
lecture schedule automatically optimal as according to opsional user with
several desirable lecture schedule variations by user and free from logic
error.

ABSTRAK
ABDUL KADIR JAILANI. Penerapan Algoritma Best-First Search Dalam
Perancangan Penjadwalan Kuliah (dibimbing oleh Zahir Zainuddin dan
Suarga)
Penelitian ini bertujuan untuk membuat aplikasi penjadwalan kuliah
yang menerapkan algoritma best-first search untuk melakukan kegiatan
penjadwalan secara otomatis, dan mencari hasil penjadwalan paling
optimal yang dapat memenuhi kebutuhan setiap elemen kegiatan
perkuliahan dengan tetap memperhatikan aturan dan batasan
penjadwalan.
Penelitian dilakukan di Fakultas Teknik jurusan Teknik Elektro Universitas
Hasanuddin (UNHAS). Metode yang digunakan dalam penelitian ini
adalah observasi, dan wawancara. Teknik pengujian untuk mengetahui
nilai logika suatu jalur dalam algoritma best-first search digunakan metode
pengujian white-box dan black-box serta pengujian kompleksitas
algoritma.
Hasil penelitian menunjukkan bahwa semua form dalam aplikasi ini
tidak mengalami kesalahan fungsi, kesalahan interface, kesalahan
perfomansi, dan bebas dari kesalahan logika yang kemudian
menghasilkan jadwal kuliah secara otomatis yang optimal sesuai dengan
opsional pengguna serta beberapa variasi jadwal kuliah yang diinginkan
oleh pengguna.

PERNYATAAN KEASLIAN TESIS

Yang bertanda tangan di bawah ini

Nama

: Abdul Kadir Jailani

Nomor Mahasiswa : P27002040018


Program Studi

: Teknik Elektro

Menyatakan dengan sebenarnya bahwa tesis yang saya tulis ini


benar-benar merupakan hasil karya saya sendiri, bukan merupakan
pengambilalihan tulisan atau pemikiran orang lain. Apabila di kemudian
hari terbukti atau dapat dibuktikan bahwa sebagian atau keseluruhan tesis
ini hasil karya orang lain, saya bersedia menerima sanksi atas perbuatan
tersebut.

Makassar 27 Mei 2009


Yang menyatakan

Abdul Kadir Jailani

BAB I
PENDAHULUAN

A. Latar Belakang
Pembuatan jadwal mata kuliah dilakukan setiap terjadi pergantian
semester, setelah mahasiswa memasukkan mata kuliah yang diambil pada
semester yang bersangkutan dalam KRS (Kartu Rencana Studi), kemudian
KRS tersebut disetujui oleh dosen wali atau penasehat akademik masingmasing mahasiswa. Inti dari penjadwalan kuliah adalah bagaimana
menjadwalkan sejumlah komponen yang terdiri atas mahasiswa, dosen,
ruang kelas, dan waktu dengan sejumlah batasan-batasan (constraint)
tertentu. Untuk membuat jadwal yang memenuhi kebutuhan seluruh
komponen tersebut diperlukan waktu, tenaga, dan ketelitian.
Batasan-batasan (constraint) yang ditetapkan pada penempatan
jadwal kuliah ini, terdapat beberapa batasan yang dapat dibedakan menjadi
batasan yang merupakan hard constraint dan soft constraint.
Batasan sistem penjadwalan terdiri dari :
1. Hard Constraint : batasan yang mutlak harus dipenuhi dalam proses
penempatan jadwal.

2. Soft Constraint

: batasan dengan prioritas lebih rendah yang masih

memungkinkan untuk tidak diterapkan atau menjadi syarat mutlak


dalam proses penempatan jadwal.
Contoh Hard Constraint :
1. Tidak terdapat dosen yang mengajar mata kuliah yang berbeda pada
waktu yang sama.
2. Hari aktif untuk perkuliahan adalah hari Senin hingga Jumat.
Contoh Soft Constraint :
1. Dosen dapat memesan waktu mengajar tertentu yang diinginkan.
2. Penempatan jadwal untuk waktu yang telah dipesan dosen
disesuaikan dengan prioritas dosen.
3. Kelas paralel dapat ditempatkan pada waktu bersamaan, kecuali
apabila mempunyai dosen pengajar yang sama.
Pembuatan jadwal mata kuliah harus memperhatikan batasan dan
syarat penjadwalan yang telah ditentukan sebelumnya. Batasan dan syarat
tersebut diantaranya adalah jumlah ruang kelas yang tersedia, waktu aktif
kegiatan belajar mengajar, jumlah pertemuan tiap mata kuliah sesuai dengan
bobot SKSnya, sejumlah dosen yang hanya dapat mengajar pada waktu
tertentu, serta mata kuliah yang diambil mahasiswa.
Masalah-masalah yang harus dihindari dalam pembuatan jadwal mata
kuliah misalnya adalah adanya jadwal dosen yang mengajar mata kuliah
yang berbeda dalam waktu yang bersamaan, tidak tersedianya ruang kelas

untuk mata kuliah tertentu, atau mahasiswa yang mengikuti perkuliahan


sesuai mata kuliah yang diambil pada KRS ternyata mengalami bentrokan
jadwal antara satu mata kuliah dengan mata kuliah lainnya.
Untuk membuat jadwal kuliah yang dapat memenuhi batasan-batasan
dan terhindar dari masalah-masalah penjadwalan seperti di atas, diperlukan
suatu mekanisme penjadwalan otomatis yang dapat menghasilkan jadwal
mata kuliah yang optimal, sehingga permasalahan pembuatan jadwal mata
kuliah dapat diselesaikan dengan baik.
Penelitian ini akan membahas pemecahan masalah penjadwalan
kuliah dengan menggunakan algoritma best-first search. Dengan algoritma
best-first search, dapat ditentukan adanya prioritas aturan atau batasan yang
ingin dipakai dalam proses pembuatan jadwal mata kuliah ini. Penerapan
algoritma best-first search ini diharapkan dapat menyelesaikan masalah
penjadwalan mata kuliah sesuai dengan aturan atau batasan yang telah
ditentukan. Apabila tidak didapatkan penyelesaian masalah yang dapat
mengakomodasi seluruh batasan, maka dapat dipilih hasil yang mempunyai
nilai paling optimal dari semua kemungkinan dilihat dari tingkat prioritasnya.

B. Rumusan Masalah
Detil permasalahan yang diangkat dalam penelitian ini adalah sebagai
berikut:
1. Menangani pembuatan jadwal mata kuliah berdasarkan data kelas yang
ditawarkan pada tiap semester.
2. Mengatur jadwal mata kuliah sesuai dengan ruang kelas yang tersedia.
3. Mengatur jadwal kuliah agar memenuhi berbagai batasan, diantaranya
sebagai berikut:
a. Mengatur jadwal mata kuliah agar tidak ada dosen yang mempunyai
jadwal mengajar yang bentrok antara satu mata kuliah dengan mata
kuliah lainnya.
b. Mengatur jadwal mata kuliah bagi dosen yang hanya dapat mengajar
pada waktu-waktu tertentu.
c. Mengatur jadwal mata kuliah agar mata kuliah untuk semester yang
sama atau mempunyai selisih kurang dari dua semester tidak
ditempatkan pada waktu yang bersamaan.
4. Mengatur (cutomize) batasan-batasan untuk aturan penjadwalan mata
kuliah sesuai dengan yang diinginkan pengguna.
5. Mengatur prioritas batasan-batasan untuk aturan penjadwalan mata
kuliah.

6. Menerapkan algoritma best-first search pada permasalahan ini, sehingga


masalah penjadwalan dapat memberikan penyelesaian masalah sesuai
dengan batasan-batasan yang telah ditentukan. Apabila tidak ditemukan
penyelesaian masalah, solusi yang diambil dapat berupa jadwal mata
kuliah yang paling optimal yang merupakan hasil dari proses best-first
search dengan mencari kondisi batasan yang tidak terpenuhi pada tingkat
terendah.

C. Batasan Masalah
Sejumlah permasalahan yang dibahas dalam penelitian ini akan
dibatasi ruang lingkup pembahasannya, antara lain:
1. Studi kasus yang dipakai dalam perancangan ini adalah Jurusan Teknik
Elektro UNHAS, dengan data kelas yang ditawarkan yang mengacu pada
Sistem Akademik UNHAS.
2. Aturan serta batasan penjadwalan yang dipakai sesuai dengan batasanbatasan yang telah dicantumkan dalam rumusan permasalahan.
3. Batasan penjadwalan yang digunakan dapat bersifat opsional sesuai
dengan kebutuhan pengguna.
Proses penjadwalan mata kuliah ini akan mencari hasil yang paling
optimal dan beberapa variasi jadwal dari kemungkinan yang ada, meskipun

mungkin tidak selalu bisa mengakomodasi seluruh batasan-batasan yang


ditentukan.
D. Tujuan
Tujuan dari pembuatan penelitian ini adalah untuk membuat suatu
aplikasi penjadwalan yang menerapkan algoritma best-first search untuk
melakukan kegiatan penjadwalan secara otomatis dan mencari hasil
penjadwalan yang paling optimal yang dapat memenuhi kebutuhan setiap
elemen kegiatan belajar mengajar dengan tetap memperhatikan aturan dan
batasan penjadwalan.

BAB II
TINJAUAN PUSTAKA

A. Artificial Intelligence
Kecerdasan buatan atau artificial Intelligence yang biasa disingkat
AI merupakan salah satu bagian ilmu komputer yang membuat mesin
(komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan
oleh manusia. Kecerdasan buatan itu sendiri dimunculkan oleh seorang
profesor dari Massachusetts Institute of Technology (MIT) yang bernama
John McCarthy pada tahun 1956 pada Dartmouth Conference yang dihadiri
oleh para peneliti AI. Untuk melakukan aplikasi kecerdasan buatan ada dua
bagian utama yang sangat dibutuhkan, seperti gambar berikut (Sri
Kusumadewi, 2003:3):
1. Basis Pengetahuan (Knowledge Base), berisi fakta-fakta, teori,
pemikiran dan hubungan antara satu dengan lainnya.
2. Motor Inferensi (Inference Engine), yaitu kemampuan menarik
kesimpulan berdasarkan pengalaman

Sistem yang
Menggunakan AI
MASALAH

SOLUSI
Basis
Pengetahuan

Inference
Engine

Gambar 2.1 Sistem yang menggunakan Kecerdasan Buatan

Jika dibandingkan dengan kecerdasan alami (kecerdasan yang dimiliki


manusia), kecerdasan buatan memiliki beberapa keuntungan antara lain:
1. Kecerdasan buatan lebih bersifat permanen. Kecerdasan alami akan
cepat mengalami perubahan. Hal ini dimungkinkan karena sifat
manusia yang pelupa. Kecerdasan buatan tidak akan berubah
sepanjang sistem komputer dan program tidak mengubahnya.
2. Kecerdasan

buatan

lebih

mudah

diduplikasi

dan

disebarkan.

Mentransfer pengetahuan manusia dari satu orang ke orang lain


membutuhkan proses yang sangat lama. Oleh karena itu, jika
pengetahuan terletak pada suatu sistem komputer, pengetahuan
tersebut dapat disalin/dipindahkan dengan mudah ke komputer yang
lain.
3. Kecerdasan buatan lebih murah dibanding kecerdasan alami.
Menyediakan layanan komputer akan lebih mudah dan lebih murah
dibandingkan

dengan

harus

mendatangkan

seseorang

untuk

mengerjakan sejumlah pekerjaan dalam jangka waktu yang lama.

4. Kecerdasan buatan bersifat konsisten. Hal ini disebabkan karena


kecerdasan buatan adalah bagian dari teknologi komputer, sedangkan
kecerdasan alami akan senantiasa berubah-ubah.
5. Kecerdasan buatan dapat didokumentasi. Keputusan yang dibuat oleh
komputer dapat didokumentasi dengan mudah dengan cara melacak
setiap aktivitas dari sistem tersebut.
6. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat
dibanding dengan kecerdasan alami
Keuntungan kecerdasan alami adalah:
1. Kreatif.

Kemampuan

untuk

menambah

ataupun

memenuhi

pengetahuan itu sangat melekat pada jiwa manusia. Pada kecerdasan


buatan, untuk menambah pengetahuan harus dilakukan melalui sistem
yang dibangun.
2. Kecerdasan

alami

memungkinkan

orang

untuk

menggunakan

pengalaman secara langsung. Pada kecerdasan buatan harus bekerja


dengan input-input simbolik.
3. Pemikiran

manusia

dapat

digunakan

secara

luas,

sedangkan

kecerdasan buatan sangat terbatas.


Keberhasilan sistem berdasar kecerdasan ditunjang oleh dua hal yaitu
kesuksesan dalam pencarian dan pencocokan. Pada dasarnya ada dua
teknik pencarian dan pelacakan yang digunakan yaitu:

1. Pencarian Buta (Blind Search)


a. Pencarian Melebar Pertama (Breadth-First Search)
b. Pencarian Mendalam Pertama (Depth-First Search)
2. Pencarian Terbimbing (Heuristic Search)
a. Pembangkit dan Pengujian (Generate and Test)
b. Pendakian Bukit (Hill Climbing)
c. Pencarian Terbaik Pertama (Best First Search)
d. Simulated Annealing

B. Breadth-First Search
Prosedur breadth first search merupakan pencarian yang dilakukan
dengan mengunjungi tiap-tiap node secara sistematis pada setiap level
hingga keadaan tujuan (goal state) ditemukan, atau dengan kata lain,
penelusuran yang dilakukan goal state-nya. Untuk lebih jelasnya, dapat
diilustrasikan seperti gambar berikut:
A
B

Gambar 2.2 Ilustrasi Breadth-First Search

10

Langkah pencarian dari ilustrasi di atas, adalah awalnya membuka A


kemudian diseleksi apakah merupakan solusi yang diharapkan, jika tidak
maka terus menelusuri atau mencari ke level berikut, yakni B diseleksi bila
bukan solusi ditelusuri lagi C, D, E, F, dan seterusnya sampai menemukan
solusi yang diharapkan jika ada, serta berakhir pada M.

C. Depth First Search


Pencarian dengan metode ini dilakukan dari node awal secara
mendalam hingga yang paling akhir (dead line) atau sampai ditemukan.
Dengan kata lain, simpul cabang atau anak yang terlebih dahulu dikunjungi.
Sebagai ilustrasi dapat dilihat pada gambar berikut:
A

Gambar 2.3 Ilustrasi Depth-First Search


Langkah pencarian dari ilustrasi di atas, dimulai dengan membuka A
diseleksi apa merupakan solusi atau tidak, kemudian seterusnya secara
berturut-turut membuka dan menyeleksi B, D, H, I, E, J, C, F, K, G, L, dan
berakhir di M.

11

D. Best First Search


Metode

best-first

search

ini

merupakan

kombinasi

dari

beberapa kelebihan teknik depth first search dan breadth first search.
Algoritma dari best first search adalah sbb:
Prosedur best first serch
Begin
Open := [start];
Closed := [ ];
While open [ ] do
Begin
Remove the leftmost state from open, call it X
If X = a goal then return the path from start to X
Else begin
Generate children of X;
For each child of X do
Case
The child is not on open or closed;
Begin
Assign the child is heuristic value;
Add the child to open
End;
The child is already on open;

12

If the child was reached by a shorter path


then give the state on open then shorter path
The child is already on closed;
If the child was reached by a shorter path
Begin
Remove the state from closed;
Add the child to open
End
Put X on closed;
Reorder states on open by heuristic merit
(best left most);
Put remaining children on left end of open;
End;
End;
Return FAIL
End.
(Anita Desiani, 2006)
Keuntungan dari algoritma Best-first Search antara lain adalah:
1. Merupakan gabungan dari algoritma Breadth-first search dan Depthfirst Search.
2. Cara kerja dari algoritma ini diambil dari kelebihan dari algoritma
Breadth-first search dan Depth-first Search, ada kasus tertentu proses

13

pencarian lebih cepat dengan algoritma Breadth-first search (lebih


cepat karena solusinya ada di level atas), dikasus lain lebih cepat
dengan algoritma Depth-first Search (lebih cepat karena solusinya di
level bawah).

E. Kerangka Pikir
Kerangka pikir dari penelitian ini dibuat dalam bentuk bagan sebagai
berikut:
Penjadwalan Kuliah adalah bagaimana menjadwalkan sejumlah
komponen seperti mata kuliah, mahasiswa, dosen, ruang kelas,
waktu, dan batasan-batasan

Pembuatan jadwal kuliah membutuhkan waktu, tenaga, dan


ketelitian agar terhindar dari masalah-masalah

Agar pembuatan jadwalan kuliah yang membutuhkan waktu,


tenaga, dan ketelitian dapat diatasi digunakan algoritma best-first
search(mengambil kelebihan dari 2 algoritma)

Algoritma best-first search membutuhkan prioritas dari batasanbatasan dalam pelaksanaan penjadwalan kuliah.

Dirancang aplikasi penjadwalan kuliah dengan menerapkan


algoritma best-first search untuk melakukan kegiatan secara
otomatis dan mencari hasil yang optimal

Gambar 2.4 Bagan Kerangka Pikir

BAB III

METODE PENELITIAN
A. Rancangan Penelitian
Penelitian dilakukan

dengan jalan mengumpulkan berbagai

informasi yang dibutuhkan melalui:


1. Penelitian kepustakaan (library research), yaitu pegumpulan data
dengan cara membaca buku melalui literatur dan buku lain yang
bersifat ilmiah yang ada hubungannya dengan materi pembahasan.
2. Penelitian laporan (field research), yaitu dilakukan dengan cara
mengumpulkan data secara langsung (primer data) kepada objek
penelitian, yaitu melalui teknik :
a) Observasi, yaitu dengan mengamati secara langsung kondisi pada
sistem penjadwalan kuliah di Jurusan Teknik Elektro UNHAS
Makassar untuk menentukan perlu tidaknya perancangan sistem
penjadwalan kuliah.
b) Wawancara, yaitu dengan mengadakan tanya jawab kepada pihak
yang ada hubungannya dengan objek penelitian, dalam hal ini
melakukan wawancara dengan Ketua Jurusan Teknik Elektro
UNHAS Makassar.

15

B. Lokasi dan Waktu Penelitian

1. Lokasi Penelitian
Penelitian dilaksanakan pada Fakultas Teknik Jurusan Teknik
Elektro Universitas Hasanuddin Makassar.
2. Waktu
Penelitian akan dilaksanakan dari bulan Oktober 2007 s.d. Mei
2009.

C. Perangkat Penelitian
Adapun perangkat penelitian yang digunakan dalam penelitian ini
adalah:
1. 1 Unit Komputer
2. Software-software yang digunakan antara lain:
a. Sistem Operasi, Microsoft Windows XP SP 2
b. Bahasa Pemrograman C++

D. Analisis Sistem
Sistem

penjadwalan

kuliah

dideskripsikan melalui gambar berikut:

yang

akan

dirancang

dapat

16

Dosen

Waktu

JADWAL KULIAH
DOSEN
BATASAN/CONSTRAINT
RUANG1

RUANG2

RUANG N

SENIN
SELASA
RABU
KAMIS
JUMAT

Batasan/Constraint
Ruang
Kuliah
Gambar 3.1 Deskripsi Sistem Penjadwalan Kuliah
Berdasarkan gambar deskripsi sistem penjadwalan kuliah di atas,
maka dalam

aktivitas analisis penelitian ini menggunakan teknik UML

(Unified Modeling Language). Adapun tahap teknik UML yang digunakan


adalah sbb:

17

1. Use Case diagram, yang menggambarkan bagaimana orangorang atau dosen-dosen yang berinteraksi dengan sistem ini.
2. Class diagram, yang menggambarkan dari sudut pandang
konseptual

dan

dapat

menjadi

cara

yang

baik

untuk

membangun kosakata yang sangat besar tentang domain


sistem ini.
3. Activity diagram, yang menggambarkan aliran kerja organisasi
dalam hal ini jurusan teknik elektro UNHAS dan dapat
menunjukkan bagaimana aktivitas interaksi antara perangkat
lunak

dan

manusia.

Sebuah

activity

diagram

dapat

menunjukkan konteks use case dan juga rincian bagaimana


sebuah use case yang rumit berjalan.
4. Statechart diagram, yang menggambarkan kegunaan jika
sebuah konsep memiliki siklus hidup yang menarik, dengan
bermacam-macam state dan event yang mengubah state
tersebut.

Batasan-batasan (constraint) yang ditetapkan pada penempatan


jadwal kuliah ini, terdapat beberapa batasan yang dapat dibedakan
menjadi batasan yang merupakan hard constraint dan soft constraint.

Batasan sistem penjadwalan terdiri dari :


1. Hard Constraint

batasan yang mutlak harus dipenuhi dalam

proses penempatan jadwal.

18

2. Soft Constraint

: batasan dengan prioritas lebih rendah yang

masih memungkinkan untuk tidak diterapkan atau menjadi syarat


mutlak dalam proses penempatan jadwal.
Contoh Hard Constraint:
1. Tidak terdapat dosen yang mengajar mata kuliah yang berbeda
pada waktu yang sama.
2. Hari aktif untuk perkuliahan adalah hari Senin hingga Jumat.
Contoh Soft Constraint:
1. Dosen dapat memesan waktu mengajar tertentu yang diinginkan.
2. Penempatan jadwal untuk waktu yang telah dipesan dosen
disesuaikan dengan prioritas dosen.
3. Kelas paralel dapat ditempatkan pada waktu bersamaan, kecuali
apabila mempunyai dosen pengajar yang sama.

E. Rancangan Sistem

Rancangan sistem penjadwalan kuliah dapat dilihat pada use case


diagram berikut ini:

19

Melihat Hasil Penjadwalan


Mata Kuliah

Menentukan nilai-nilai
batasan Penjadwalan

Menentukan Mata Kuliah


yang ditawarkan

Menentukan Ruang
Perkuliahan

Dosen/Bidang Akademik/
Sistem Otomatis

Menyimpan File
Project Penjadwalan

Menentukan
Waktu/Shift

Membuka File Project


Penjadwalan Kuliah

Menempatkan jadwal mata kuliah

Karyawan
Tata usaha

Gambar 3.2 Use case diagram sistem penjadwalan kuliah

F. Rancangan Perangkat Lunak

Rancangan perangkat lunak yang akan dilakukan dalam penelitian


ini, dapat dilihat pada bagan alir program berikut:

20

START

MENDEFINISIKAN
MATAKULIAH YG
DITAWARKAN

MENENTUKAN
BATASAN RUANG DAN
WAKTU PERKULIAHAN

MENENTUKAN SOFT
CONSTRAINT SERTA
PRIORITASNYA

MENGESET NILAI-NILAI
CONSTRAINT

MENEMPATKAN
JADWAL KULIAH

STOP
Gambar 3.3 Bagan Alir Rancangan Perangkat Lunak Penjadwalan Kuliah

G. Pertanyaan Penelitian
Pertanyaan penelitiannya adalah apakah penerapan algoritma
best-first search dalam perancangan penjadwalan kuliah dapat dilakukan

21

secara otomatis oleh sistem serta mendapatkan jadwal yang optimal dan
beberapa variasi jadwal kuliah?.

H. Pengujian Sistem
Pengujian yang akan dilakukan dalam penelitian ini adalah
pengujian jalur (path testing) yang merupakan strategi pengujian struktural
yang bertujuan menjamin bahwa setiap jalur program yang independen
dieksekusi paling tidak satu kali, dan menentukan apakah setiap jalur
memiliki nilai benar (true) atau salah (false) dengan kata lain untuk
mengetahui nilai logika suatu jalur dalam algoritma best-first search.
Pengujian struktural yang digunakan adalah metode black-box dan
metode white-box serta pengujian kompleksitas algoritma.

BAB V

KESIMPULAN DAN SARAN


A. Kesimpulan

Berdasarkan hasil pembahasan, dapat disimpulkan sebagai berikut:


1. Penelitian ini telah membuat

aplikasi penjadwalan kuliah secara

otomatis dengan menerapkan algoritma heuristik best-first search.


2. Aplikasi penelitian ini dapat diimplementasikan dalam pembuatan
jadwall kuliah yang benar secara logika (pengujian white-box) dan
bebas

kesalahan fungsi,

kesalahan interface, serta kesalahan

performansi (pengujian black-box).


3. Aplikasi penelitian ini menghasilkan jadwal kuliah yang dianggap
optimal berdasarkan batasan-batasan yang ditentukan pengguna, serta
beberapa variasi jadwa kuliah (maksimal 100 jadwal kuliah).

B. Saran

1. Jadwal kuliah yang dihasilkan optimal sesuai rancangan peneliti, tetapi


ada kemungkinan jadwal kuliah optimal yang dapat dihasilkan dengan
menerapkan beberapa algoritma sekaligus dalam model rancangan
lain.

59

2. Aplikasi penjadwalan kuliah ini belum berbasis client-server, sehingga


diharapkan ada peneliti berikutnya yang membuat aplikasi berbasis
client-server.
3. Hard constraint dan soft constraint yang penulis tentukan dalam
penelitian ini kemungkinan masih dapat dikembangkan atau ditambah
sesuai dengan aturan yang pembaca akan laksanakan, misalnya
constraint mahasiswa (peneliti tidak memasukannya karena kombinasi
dan keinginan dari seluruh jumlah mahasiswa untuk penentuan jadwal
kuliah sangat besar).

BAB IV

HASIL DAN PEMBAHASAN


A. Diagram Aktiviti Hasil Rancangan

Proses Penjadwalan

Gambar 4.1 Diagram Aktiviti Proses Penjadwalan

23

B. Hasil Rancangan Interface Program


1. Menu Utama

Gambar 4.2 Menu Utama


2. Pilihan File

Gambar 4.3 Form Pilihan File

24

Form pilihan file terdiri dari lima sub pilihan yakni:


a. Baru (Ctrl+N), merupakan pilihan untuk membuat file jadwal baru yang
berekstensi fet.
b. Buka (Ctrl+O), merupakan pilihan untuk membuka file jadwal yang
telah dibuat sebelumnya.
c. Simpan (Ctrl+S), merupakan pilihan untuk menyimpan file jadwal yang
dibuat.
d. Simpan sebagai, merupakan pilihan untuk menyimpan file jadwal
dengan nama file yang lain.
e. Keluar, merupakan pilihan untuk keluar dari sistem penjadwalan.

3. Pilihan Data

Gambar 4.4 Form Pilihan Data

25

Form pilihan data merupakan pilihan untuk memasukkan data yang


dibutuhkan dalam proses penjadwalan kuliah, dimana terdiri atas
limabelas sub pilihan yakni:
a. Nama Perguruan Tinggi/Universitas, merupakan pilihan memasukkan
data nama perguruan tinggi.
b. Komentar, merupakan pilihan memasukkan data komentar yang dapat
berisi alamat, kota atau provinsi dari perguruan tinggi.
c. Hari Kuliah, merupakan pilihan memasukkan data hari-hari yang
digunakan untuk jadwal kuliah.
d. Sesion, merupakan pilihan memasukkan data sesion atau jam kuliah
setiap harinya.
e. Mata Kuliah, merupakan pilihan memasukkan data nama mata kuliah
yang tersedia untuk dijadwalkan.
f. Dosen, merupakan pilihan memasukkan data nama dosen yang akan
mengajar.
g. Tahun Ajaran, merupakan pilihan memasukkan data tahun ajaran atau
semester dari jadwal yang akan dibuat.
h. Kelas Paralel, merupakan pilihan memasukkan data banyaknya kelas
paralel untuk setiap mata kuliah yang akan dijadwal.
i.

Kegiatan, merupakan pilihan memasukkan data kegitan dari setiap


dosen (memasangkan dosen siapa yang mengajar mata kuliah tertentu
beserta kelas paralelnya)

26

j.

Gedung, merupakan pilihan memasukkan data gedung (dapat


memasukkan lebih dari satu gedung)

k. Ruang, merupakan pilihan memasukkan data nama ruangan-ruangan


yang dipakai dalam jadwal kuliah.
l.

Semua batasan waktu, merupakan pilihan memasukkan semua data


batasan (constraint) waktu, dimana batasan waktunya untuk dosen
(batasan waktu atau hari apa saja yang diinginkan untuk mengajar dan
waktu atau hari apa saja yang tidak diinginkan untuk mengajar) dan
kegiatannya.

m. Batasan waktu, merupakan pilihan memasukkan data sama dengan


pilihan l, perbedaannya hanya pada setiap batasan waktu disajikan lagi
dalam sub pilihan.
n. Semua batasan ruang, merupakan pilihan memasukkan semua data
batasan (constraint) ruang, dimana batasan ruangnya untuk mata
kuliah (batasan ruangan apa saja sesuai dengan mata kuliah tertentu)
dan kegiatannya.
o. Batasan ruang, merupakan pilihan memasukkan data sama dengan
pilihan n, perbedaannya hanya pada setiap batasan ruang disajikan
lagi dalam sub pilihan.

27

4. Pilihan Statistik

Gambar 4.5 Form Pilihan Statistik

Form pilihan statistik merupakan pilihan untuk melihat statistik


kegiatan setiap dosen dan mata kuliah, dimana terdiri atas dua sub pilihan
yakni:
a. Statistik Dosen, merupakan pilihan untuk melihat statistik banyaknya
kegiatan setiap dosen dalam sepekan.
b. Statistik Mata Kuliah, merupakan pilihan untuk melihat statistik
banyaknya kelas paralel dari setiap mata kuliah.

28

5. Pilihan Jadwal

Gambar 4.6 Form Pilihan Jadwal

Form pilihan jadwal merupakan pilihan untuk menproses jadwal


kuliah, dimana terdiri atas enam sub pilihan yakni:
a. Buat Jadwal Baru, merupakan pilihan untuk membuat jadwal sesuai
dengan algoritma.
b. Tampil (Dosen), merupakan pilihan untuk menampilkan jadwal kuliah
yang dimiliki setiap dosen.
c. Tampil (ruang), merupakan pilihan untuk menampilkan jadwal
penggunaan ruangan beserta mata kuliah yang menempati.
d. Tampilkan Konflik, merupakan pilihan untuk menampilkan konflik yang
terjadi (jika ada) dalam proses pembuatan jadwal kuliah.

29

e. Simpan data+jadwal sebagai, merupakan pilihan untuk menyimpan


jadwal kuliah ke nama file yang berbeda.
f. Hasilkan variasi jadwal, merupakan pilihan untuk membuat beberapa
variasi jadwal kuliah (maksimal 100 pilihan jadwal jika memungkinkan)
.
C. Pembahasan Proses Penjadwalan Kuliah
Proses penjadwalan kuliah ini pembahasannya berdasarkan studi
kasus pada fakultas Teknik Elektro UNHAS.
Pembahasan awalnya adalah memasukkan data sebanyak lima
kegiatan, berikut urutan awal kegiatan(id-s) yang telah dimasukkan dalam
aplikasi:
No: 1, ID=1, Dosen: DR.Rhiza S. Sadjad Muh. Anshar, S.T. mata kuliah:
Topik Khusus Teknik Kendali mahasiswa:
No: 2, ID=2, Dosen: DR.Ir.Zahir Zainuddin, M.Sc. mata kuliah: Pengolahan
Isyarat Digital mahasiswa kelas: A
No: 3, ID=3, Dosen: Ir. Syafruddin Syarief,M.T. mata kuliah: Pengolahan
Isyarat Digital mahasiswa kelas: B
No: 4, ID=4, Dosen: Prof. DR. Muhammad Tola mata kuliah: Elektronika
Daya mahasiswa kelas: A
No: 5, ID=5, Dosen: Prof. DR. Muhammad Tola, Ikhlas Kitta mata kuliah:
Elektronika Daya mahasiswa kelas: B

30

Urutan kegiatan(id-s) yang dihasilkan (dievaluasi) oleh aplikasi sebagai


berikut:

Gambar 4.7 Form Urutan Evaluasi 5 Kegiatan


Penjelasan gambar di atas adalah bahwa urutan evaluasi dimulai
dari Id 4, Id 5, Id 2, Id 3, dan Id 1, kemudian ditempatkan pada hari,
session, dan ruang yang kosong.
Kriteria pengurutan evaluasi di atas berdasarkan ketentuan sebagai
berikut:
1. Dosen dan kelas paralel mata kuliah terbanyak
2. Nomor ID terkecil
3. Mata kuliah yang tidak memiliki kelas paralel (hanya satu kelas)

Hasil atau Output dari aplikasi ini maksimal 100 variasi jadwal kuliah,
berikut 5 contoh variasi output dari 5 kegiatan di atas:

31

Jadwal kuliah variasi ke-1


Perguruan Tinggi/Universitas: Universitas Hasanuddin Makassar
Fakultas Teknik, Jurusan Teknik Elektro AWAL 2008-2009
Universitas Hasanuddin Makassar
Jadwal Semua Kegiatan
Senin

Selasa

Rabu

Kamis

Jumat

07:30-9:10

---

---

---

---

B
Elektronika Daya
Prof. DR.
Muhammad Tola,
Ikhlas Kitta
PBT.401B

09:15-10:55

---

---

---

---

---

11:00-12:40

---

A
Pengolahan Isyarat
Digital
DR.Ir.Zahir
Zainuddin, M.Sc.
J.10

A
Elektronika
Daya
Prof. DR.
Muhammad
Tola
PBT.304

---

---

13:10-14:50(Jumat

---

---

---

---

-x-

---

---

---

13:30-15:10)

14:5516:35(Jumat
14:00-17:40)

---

Topik Khusus
Teknik Kendali
DR.Rhiza S. Sadjad,
Muh. Anshar, S.T.
PBT.301

16:30-17:40

-x-

-x-

-x-

-x-

B
Pengolahan Isyarat
Digital
Ir. Syafruddin
Syarief,M.T.
PBT.302

18:30-20:10

-x-

-x-

-x-

-x-

---

Jadwal dibuat oleh Abdul Kadir Jailani, pada tgl: 5.7.3 14/04/09 13:00

60

DAFTAR PUSTAKA

Desiani, Anita., Arhami, Muhammad. 2006. Konsep Kecerdasan Buatan. Andi


Offset. Yogyakarta.
Fathansyah, 1999, Basis Data, Informatika, Bandung
Kadir, Abdul. 1993. Pemrograman Lanjutan Turbo C. Andi Offset. Yogyakarta.
. 2003. Pemrograman Web. Andi Offset. Yogyakarta.
Kusumadewi, Sri. 2003. Artificial Intelligence. Graha Ilmu. Yogyakarta.
. 2005. Penyelesaian Masalah Optimasi dengan Teknikteknik Heuristik. Graha Ilmu, Yogyakarta.
Kristanto, Harianto. 2004, Rekayasa Perangkat Lunak (Konsep Dasar), Gava
Media, Yogyakarta.
Munir, Reinaldi. 2001. Matematika Diskrit, Informatika, Bandung.
Santoso, Insap. 1993. Struktur Data. Andi Offset. Yogyakarta.
Setyawan, Juli Agus. 1994. Turbo C++ Library. Andi Offset. Yogyakarta
Sommerville, Ian. 2003. Software Engineering. Erlangga. Jakarta.
S.Tanenbaum, Andrew. Jaringan Komputer. Prentice Hill. New Jersey.
Suparman. 1991. Mengenal Artificial Intelligence. Andi Offset. Yogyakarta.

Anda mungkin juga menyukai