perancangan dan implementasi finite...

17
4 1. Pendahuluan Jadwal mata kuliah menjadi salah satu bagian terpenting dalam proses belajar mengajar suatu lembaga pendidikan, termasuk Fakultas Psikologi Universitas Kristen Satya Wacana. Banyaknya jumlah mata kuliah dan dosen yang terlibat, mengakibatkan sering terjadinya bentrokan jadwal mata kuliah atau pun dalam pemakaian ruang perkuliahan. Terdapat beberapa aspek yang perlu dipertimbangkan dalam menyusun jadwal mata kuliah yang baik. Pada Aspek dosen perlu dihindari adanya jadwal mengajar 2 (dua) mata kuliah yang berbeda pada hari dan jam yang sama. Pada aspek ruang, ketersediaan ruang pun menjadi pertimbangan tersendiri dan menjadi poin penting yang tidak dapat diabaikan dalam pembuatan jadwal mata kuliah, di mana dalam pembuatan setiap jadwal mata kuliah, harus melihat ketersediaan ruang yang ada serta kapasitas maksimal masing-masing ruang. Proses penyusunan jadwal mata kuliah atau yang dalam istilah asing disebut university timetabling problem ini bukanlah pekerjaan mudah dan kerap kali terjadi kesalahan. Sejauh ini Fakultas Psikologi Universitas Kristen Satya Wacana masih melakukan penyusunan jadwal mata kuliah secara manual. Selain rentan terjadi kesalahan dalam pelaksanaannya, proses penyusunan jadwal mata kuliah tersebut juga merepotkan serta kurang efektif dan efisien, sehingga diperlukan sebuah aplikasi guna mempermudah proses penyusunan jadwal mata kuliah tersebut. Dalam aplikasi tersebut diperlukan pula metode optimasi untuk memperoleh hasil yang terbaik, mengingat banyaknya aspek yang harus dipertimbangkan. Sehingga dibutuhkan algoritma yang dapat menyelesaikan masalah multi-kriteria dan multi-objektif, seperti penyusunan jadwal mata kuliah. Salah satu algoritma yang dapat digunakan adalah steepest ascent hill climbing. Berdasarkan latar belakang tersebut, muncul sebuah ide untuk membuat sebuah penjadwalan mata kuliah menggunakan algoritma steepest ascent hill climbing. 2. Kajian Pustaka Penelitian tentang penjadwalan mata kuliah telah cukup banyak dilakukan. Pada penelitian berjudul Aplikasi Algoritma Genetik untuk Optimasi Penjadwalan Kegiatan Belajar Mengajar, diperoleh hasil bahwa aplikasi penjadwalan mata kuliah dapat menyusun jadwal mata kuliah secara optimal, selain itu dapat meminimalkan frekuensi mengajar seorang dosen, frekuensi kuliah suatu kelas dan faktor pengaruh lainnya [1]. Penelitian lainnya, yaitu Penggunaan Tabu Search dalam Penjadwalan Kuliah dan Ujian Perguruan Tinggi (Studi Kasus : Sekolah Tinggi Manajemen Bandung) diperoleh kesimpulan bahwa aplikasi penjadwalan ini mempermudah bagian sekretariat dalam menyusun jadwal kuliah dan ujian pada tiap semesternya [2]. Demikian pula dengan penerapan algoritma steepest ascent hill climbing dalam suatu aplikasi atau pun penelitian mengenai algoritma tersebut telah cukup banyak dilakukan. Penelitian yang membahas tentang Implementasi Metode Steepest Ascent Hill Climbing pada Mikrokontroler MCS51 untuk Robot Mobil Pencari Jalan Terpendek diperoleh kesimpulan bahwa algoritma steepest ascent

Upload: buinhu

Post on 03-Mar-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

4

1. Pendahuluan

Jadwal mata kuliah menjadi salah satu bagian terpenting dalam proses belajar

mengajar suatu lembaga pendidikan, termasuk Fakultas Psikologi Universitas

Kristen Satya Wacana. Banyaknya jumlah mata kuliah dan dosen yang terlibat,

mengakibatkan sering terjadinya bentrokan jadwal mata kuliah atau pun dalam

pemakaian ruang perkuliahan.

Terdapat beberapa aspek yang perlu dipertimbangkan dalam menyusun jadwal

mata kuliah yang baik. Pada Aspek dosen perlu dihindari adanya jadwal mengajar

2 (dua) mata kuliah yang berbeda pada hari dan jam yang sama. Pada aspek ruang,

ketersediaan ruang pun menjadi pertimbangan tersendiri dan menjadi poin penting

yang tidak dapat diabaikan dalam pembuatan jadwal mata kuliah, di mana dalam

pembuatan setiap jadwal mata kuliah, harus melihat ketersediaan ruang yang ada

serta kapasitas maksimal masing-masing ruang. Proses penyusunan jadwal mata

kuliah atau yang dalam istilah asing disebut university timetabling problem ini

bukanlah pekerjaan mudah dan kerap kali terjadi kesalahan. Sejauh ini Fakultas

Psikologi Universitas Kristen Satya Wacana masih melakukan penyusunan jadwal

mata kuliah secara manual. Selain rentan terjadi kesalahan dalam pelaksanaannya,

proses penyusunan jadwal mata kuliah tersebut juga merepotkan serta kurang

efektif dan efisien, sehingga diperlukan sebuah aplikasi guna mempermudah

proses penyusunan jadwal mata kuliah tersebut. Dalam aplikasi tersebut

diperlukan pula metode optimasi untuk memperoleh hasil yang terbaik, mengingat

banyaknya aspek yang harus dipertimbangkan. Sehingga dibutuhkan algoritma

yang dapat menyelesaikan masalah multi-kriteria dan multi-objektif, seperti

penyusunan jadwal mata kuliah. Salah satu algoritma yang dapat digunakan

adalah steepest ascent hill climbing. Berdasarkan latar belakang tersebut, muncul

sebuah ide untuk membuat sebuah penjadwalan mata kuliah menggunakan

algoritma steepest ascent hill climbing.

2. Kajian Pustaka

Penelitian tentang penjadwalan mata kuliah telah cukup banyak dilakukan.

Pada penelitian berjudul Aplikasi Algoritma Genetik untuk Optimasi Penjadwalan

Kegiatan Belajar Mengajar, diperoleh hasil bahwa aplikasi penjadwalan mata

kuliah dapat menyusun jadwal mata kuliah secara optimal, selain itu dapat

meminimalkan frekuensi mengajar seorang dosen, frekuensi kuliah suatu kelas

dan faktor pengaruh lainnya [1]. Penelitian lainnya, yaitu Penggunaan Tabu

Search dalam Penjadwalan Kuliah dan Ujian Perguruan Tinggi (Studi Kasus :

Sekolah Tinggi Manajemen Bandung) diperoleh kesimpulan bahwa aplikasi

penjadwalan ini mempermudah bagian sekretariat dalam menyusun jadwal kuliah

dan ujian pada tiap semesternya [2].

Demikian pula dengan penerapan algoritma steepest ascent hill climbing

dalam suatu aplikasi atau pun penelitian mengenai algoritma tersebut telah cukup

banyak dilakukan. Penelitian yang membahas tentang Implementasi Metode

Steepest Ascent Hill Climbing pada Mikrokontroler MCS51 untuk Robot Mobil

Pencari Jalan Terpendek diperoleh kesimpulan bahwa algoritma steepest ascent

Page 2: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

5

hill climbing dapat diterapkan pada masalah pencarian jarak terpendek serta dapat

bekerja dengan cukup baik [3]. Penelitian lain tentang Algoritma Steepest Ascent

Hill Climbing untuk Menyelesaikan Masalah Penugasan menunjukkan bahwa

algoritma steepest ascent hill climbing dapat melakukan perhitungan yang akurat

pada kasus penugasan [4].

Berdasarkan penelitian sebelumnya terkait penjadwalan mata kuliah, dan

penelitian penerapan algoritma steepest ascent hill climbing, maka melalui

penelitian ini akan dirancang sebuah penjadwalan mata kuliah menggunakan

algoritma steepest ascent hill climbing. Algoritma steepest ascent hill climbing

memiliki keunggulan di mana semua solusi yang mungkin akan dibangkitkan

kemudian akan diperiksa satu persatu, sehingga akan diperoleh solusi terbaik dan

mendekati hasil optimasi yang diharapkan.

Algoritma Steepest Ascent Hill Climbing Algoritma steepest ascent hill climbing adalah salah satu algoritma yang

sering digunakan untuk memecahkan masalah optimasi. Secara harafiah steepest

berarti tertinggi, sedangkan ascent adalah kenaikan. Sehingga steepest ascent

dapat diartikan sebagai kenaikan tertinggi, di mana prinsip dasar dari algoritma ini

adalah mencari kenaikan tertinggi dari solusi-solusi yang mungkin terjadi, untuk

mencapai nilai yang paling optimal [5].

Algoritma steepest ascent hill climbing merupakan pengembangan dari

algoritma simple hill climbing. Perbedaan kedua algoritma ini adalah, pada simple

hill climbing, next state akan ditentukan dengan membandingkan current state

dengan satu successor saja. Proses pembandingan ini dimulai dari sebelah kiri.

Apabila ditemukan successor baru yang lebih baik dari current state maka

successor tersebut akan menjadi next state. Sedangkan pada steepest ascent hill

climbing dalam menentukan next state, current state akan dibandingkan dengan

semua successor yang ada di dekatnya, sehingga next state yang diperoleh

merupakan successor yang paling baik serta mendekati hasil optimasi yang

diharapkan. Selain itu pada steepest ascent hill climbing urutan penggunaan

operator tidak berpengaruh terhadap solusi, sedangkan pada simple hill climbing

urutan penggunaan operator sangat berpengaruh.

Adapun urutan atau langkah dari algoritma steepest ascent hill climbing

[5] adalah sebagai berikut : (1) Pada keadaan awal dilakukan pengujian: jika

merupakan tujuan maka berhenti; dan jika tidak maka lanjutkan pencarian dengan

keadaan sekarang sebagai keadaan awal; (2) Lakukan proses berikut tujuan

tercapai atau hingga iterasi tidak memberikan perubahan pada keadaan sekarang :;

(a) Tentukan SUCC sebagai nilai heuristik terbaik dari successor-successornya;

(b) Lakukan proses berikut untuk tiap operator yang digunakan oleh keadaan

sekarang :; (i) Gunakan operator tersebut dan bentuk keadaan baru.; (ii) Evaluasi

keadaan baru yang diperoleh. Jika merupakan tujuan, keluar. Jika bukan,

bandingkan nilai heuristik yang ada dengan SUCC, apabila lebih baik, jadikan

nilai heuristik keadaan baru sebagai SUCC. Namun apabila tidak lebih baik, maka

nilai SUCC tetap.; (c) Jika SUCC lebih baik dari nilai heuristik keadaan sekarang,

ubah node SUCC menjadi keadaan sekarang.

Page 3: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

6

Algoritma steepest ascent hill climbing mempunyai rumus untuk memperoleh

banyaknya solusi yang diperoleh apabila terdapat n operator yaitu :

Profil Fakultas Psikologi UKSW

Fakultas Psikologi UKSW merupakan salah satu fakultas yang bisa

dibilang cukup favorit di UKSW, terlihat dari jumlah mahasiswa baru tiap

tahunnya yang cukup banyak. Pada sisi pelayanan dan kegiatan operasional

fakultas, Fakultas Psikologi UKSW bisa dibilang belum banyak menerapkan

sistem yang dapat mempermudah proses yang ada, demikian juga dengan proses

pembuatan jadwal mata kuliah. Pihak Fakultas Psikologi UKSW selama ini dalam

pembuatan jadwal mata kuliah masih menggunakan cara konvensional, di mana

petugas menyusun jadwal menggunakan software Microsoft Excel. Informasi

yang terkait penjadwalan mata kuliah Fakultas Psikologi UKSW ditunjukkan oleh

tabel 1. Tabel 1 Informasi Terkait Penjadwalan Mata Kuliah Fakultas Psikologi UKSW

Keterangan

Mata Kuliah Total 85 mata kuliah, di mana pada setiap

semesternya dibuka sekitar 40 mata kuliah

Berbobot 2-3 SKS, namun terdapat satu mata

kuliah yaitu Kode Etik Psikologi yang

berbobot 1 SKS

Tenaga Pengajar Terdapat 18 dosen tetap, dengan beberapa

tambahan dosen luar

Ruang

Perkuliahan

GXY 102, E 134, ABX 104, GXY 101, GX

204

Stiba H2, Stiba H3, Stiba H4 (khusus Mata

Kuliah Bhs. Inggris)

Jumlah

Mahasiswa

700 orang (per tahun ajaran 2011-2012)

Terdapat beberapa aspek yang perlu dipenuhi dalam menyusun jadwal

mata kuliah Fakultas Psikologi UKSW, di mana aspek tersebut menentukan

kualitas dari jadwal mata kuliah yang dihasilkan. Aspek tersebut adalah : (1)

Dosen dapat mengajar lebih dari satu mata kuliah, namun tidak boleh terjadi

tabrakan pada dosen yang bersangkutan. Misalnya seorang dosen mengajar dua

mata kuliah yang berbeda namun pada jam yang sama; (2) Satu mata kuliah dapat

diampu oleh 2 orang dosen; (3) Beban maksimal mengajar seorang dosen adalah 9

SKS; (4) Satu ruang perkuliahan tidak dapat digunakan untuk 2 mata kuliah atau

lebih pada waktu yang bersamaan atau bertabrakan; (5) Ketersediaan ruang

dengan kapasitas yang cukup untuk setiap mata kuliah yang ada; (6) Kegiatan

belajar mengajar berlangsung dari pukul 7 pagi hingga pukul 4 sore.

Pembuatan jadwal mata kuliah Fakultas Psikologi UKSW membutuhkan

ketelitian yang lebih, mengingat banyaknya aspek yang perlu diperhatikan.

Kerumitan inilah yang sering kali menyebabkan terjadinya kesalahan dalam

pengaturan jadwal sehingga memungkinkan satu ruang perkuliahan digunakan

n!

2!(n-2)!

Page 4: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

7

pada waktu yang bersamaan untuk 2 mata kuliah yang berbeda ataupun dosen

yang mengajar mata kuliah yang berbeda pada waktu yang bersamaan. Selain itu

diperlukan waktu yang cukup lama sampai benar-benar memperoleh jadwal mata

kuliah yang optimal, sehingga kurang efisien.

3. Metode dan Perancangan Sistem

Metode penelitian yang digunakan dalam pengembangan sistem adalah

Prototype Model. Prototype Model adalah metode pengembangan perangkat lunak

yang banyak digunakan. Metode ini memungkinkan adanya interaksi antara

pengembang sistem dengan pengguna sistem nantinya, sehingga dapat mengatasi

ketidakserasian antara pengembang dan pengguna. Bagan mengenai prototype

model dapat dilihat pada Gambar 1.

Gambar 1 Bagan Prototype Model [6]

Tahap-tahap dalam Prototype Model adalah sebagai berikut: (1) Listen to

Costumer, di mana dilakukan analisis mengenai kebutuhan pengguna sistem

dilakukan berdasar proses bisnis yang ada. Hanya terdapat 2 (dua) pengguna yaitu

pembuat jadwal itu sendiri serta administrator. Kebutuhan dari pembuat jadwal

adalah sebagai berikut : membuat jadwal mata kuliah, dapat memperoleh

informasi mengenai mata kuliah-mata kuliah yang ada, dapat memperoleh

informasi mengenai dosen, serta mata kuliah yang diampu oleh masing-masing

dosen pada jadwal mata kuliah, dapat memperoleh informasi mengenai ruang

perkuliahan yang tersedia, serta jadwal penggunaan ruang berdasar jadwal mata

kuliah, dapat menentukan mata kuliah apa saja yang ada pada jadwal yang dibuat,

dapat menentukan banyak kelas untuk setiap mata kuliah yang ada pada jadwal

yang dibuat, dapat menentukan jumlah dosen pengampu mata kuliah pada jadwal

yang dibuat. Sedangkan untuk Administrator : dapat melakukan manipulasi data

mata kuliah, dapat melakukan manipulasi data dosen, dapat melakukan manipulasi

data ruang kelas; (2) Build, setelah memperoleh informasi dan kebutuhan lainnya

guna merancang sebuah aplikasi web penjadwalan mata kuliah dengan algoritma

steepest ascent hill climbing, langkah berikutnya adalah membangun perancangan

dengan menggunakan UML atau Unified Modelling Languange mengenai sistem

yang akan dibangun nantinya. Selain itu dilakukan pula perancangan pada user

interface dan algoritma. Kemudian rancangan sistem akan diterjemahkan ke

dalam bahasa pemrograman PHP 5 dan untuk interface sistem dibangun dengan

Page 5: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

8

menggunakan bahasa pemrograman HTML dan CSS; (3) Costumer Test, tahap ini

dilakukan guna melihat apakah dari prototype yang dibuat sudah memenuhi

ekspektasi dan kriteria sistem yang akan dikembangkan. Apabila sudah memenuhi

maka akan dilanjutkan ke tahap berikutnya, namun apabila belum maka akan

kembali ke tahap awal yaitu pengumpulan kebutuhan, membangun prototype dan

melakukan evaluasi kembali sampai prototype sesuai dengan apa yang

diharapkan.

Perancangan Sistem

Sistem dirancang dengan menggunakan UML (Unified Modelling

Language) yang terdiri dari use case diagram, activity diagram, class diagram

dan deployment diagram.

Pada use case diagram, seorang user harus melakukan login terlebih

dahulu ke dalam sistem, di mana login akan menentukan hak akses dari seorang

user. Terdapat dua akses yaitu administrator dan pembuat jadwal seperti pada

Gambar 2.

Gambar 2 Use Case Diagram

Pada sistem terdapat beberapa fungsi yang tersedia dalam hak akses

sebagai pembuat jadwal. Selain dapat membuat jadwal, seorang pembuat jadwal

juga dapat memperoleh informasi mengenai mata kuliah, memperoleh informasi

mengenai dosen, memperoleh data ruang kuliah, menentukan mata kuliah yang

ada pada jadwal, menentukan banyak kelas untuk setiap mata kuliah pada jadwal,

menentukan banyak dosen pengampu masing-masing mata kuliah, serta melihat

jadwal yang telah dibuat. Sedangkan fungsi yang ada pada hak akses sebagai

administrator adalah dapat melakukan manipulasi data mata kuliah, dosen atau

pun ruang kuliah, di mana fungsi manipulasi di sini meliputi fungsi untuk`dapat

menambah data (insert), menghapus data (delete), serta mengubah data (update).

Class diagram menggambarkan struktur dan deskripsi, entity, controller,

dan boundry serta hubungannya satu sama lain. Aplikasi yang dibuat memiliki

class diagram seperti yang terlihat pada Gambar 6.

Page 6: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

9

Gambar 3 Class Diagram Sistem

Class Diagram sistem ditunjukkan oleh Gambar 3, di mana class diagram

tersebut terdiri 3 bagian utama yaitu entity, controller dan boundry. Terdapat 5

(lima) entity pada class diagram yang ditunjukkan oleh Gambar 6, yaitu entity

tbdosen, tbruang, tbmatakuliah, tbjadwal dan tbuser. Tbdosen terdiri dari 5 (lima)

field yaitu idDosen, KodeDosen, Nama, idMK, BebanSKS. Tbruang terdiri dari 3

(tiga) field yaitu idRuang, KodeRuang, dan Kapasitas. Pada tbmatakuliah terdapat

8 (delapan) field yaitu idMK, KodeMK, MK, SKS, Semester, Keterangan,

Bidang, dan Sem. Sedangkan pada tbjadwal terdapat 12 (dua belas) field yaitu

KodeMK, MK, SKS, KodeDosen, Nama, KodeDosen, Nama, KodeRuang,

Kapasitas, hari, jammulai, jamselesai, thnajaran, Angkatan.

Pada setiap entity terdapat sebuah controller yang bertugas untuk

menampung fungsi-fungsi manipulasi pada database. Fungsi manipulasi tersebut

antara lain adalah insert, update, dan delete. Pada setiap controller juga terdapat

sebuah boundry yang berupa user interface. Deployment diagram berfungsi untuk menampilkan rancangan fisik

jaringan dalam sistem. Gambar 7 menunjukkan bahwa terdapat 4 (Empat)

komponen dalam proses deployment, yaitu Model, Controller, Database, dan

Client sebagai pengakses sistem

Page 7: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

10

Gambar 4 Deployment Diagram Sistem

Seperti yang terlihat pada Gambar 4 saat client mengakses sistem dan

mengirimkan request tertentu, maka request akan diproses terlebih dahulu oleh

model yang kemudian akan diteruskan kepada controller. Controller sendiri

menampung fungsi-fungsi manipulasi database yang diperlukan oleh sistem. Saat

request dari client diterima, akan ditentukan fungsi manipulasi yang sesuai dan

kemudian akan diteruskan ke database. Setelah respond diterima selanjutnya

respond akan dikembalikan melalui controller dan model, hingga diterima oleh

client.

Page 8: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

11

Rancangan Algoritma Steepest Ascent Hill Climbing

Rancangan algoritma steepest ascent hill climbing pada sistem dalam

bentuk flow chart dapat dilihat pada Gambar 5.

Gambar 5 Flow Chart Algoritma Steepest Ascent Hill Climbing pada Sistem

Langkah-langkah penerapan algoritma steepest ascent hill climbing pada

sistem adalah sebagai berikut : (1) Proses dimulai dengan user memasukkan

parameter pada masing-masing mata kuliah. Parameter yang ada meliputi

kapasitas, jumlah kelas dan dosen pengampu; (2) Memilih mata kuliah apa saja

yang ada pada jadwal; (3) Diperoleh sebuah variabel yaitu JumData yang

Page 9: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

12

mengacu pada banyaknya data (mata kuliah); (4) Diperoleh variabel JumlahKelas

yang mengacu pada jumlah kelas pada masing-masing mata kuliah; (5)

Selanjutnya akan dilakukan perulangan sebanyak jumlah data mata kuliah; (6)

Akan dibangkitkan solusi jadwal yang mungkin terjadi pada setiap perulangan

secara random, sebanyak jumlah kelas pada masing-masing mata kuliah. Solusi

jadwal yang diperoleh akan dicek dengan beberapa kriteria untuk menentukan

apakah merupakan sebuah solusi atau tidak. Solusi jadwal yang dibangkitkan

secara random akan memiliki nilai heuristik yang dilambangkan dengan variabel

h dan bernilai 0 (nol) pada awal proses. Pada setiap proses pengecekan solusi,

nilai variabel h akan bertambah seiring dengan hasil yang diperoleh; (7) Pertama-

tama solusi jadwal akan dicek, apakah dosen pengampu memiliki sisa beban SKS

yang cukup yaitu beban SKS kurang dari atau sama dengan 9 (sembilan). Apabila

hasil yang diperoleh adalah ya maka akan berlanjut pada tahap berikut dan nilai

h=1, namun apabila hasil yang diperoleh tidak, maka solusi jadwal bukan

merupakan solusi yang tepat dan akan dibangkitkan solusi jadwal lain secara

random dan kembali ke pengecekan awal; (8) Tahap berikutnya akan dilakukan

pengecekan apakah solusi jadwal yang diperoleh tidak ada tabrakan pada dosen.

Tabrakan yang dimaksud adalah dosen mengajar pada jam dan hari yang sama

untuk 2 (dua) mata kuliah. Apabila hasil yang diperoleh adalah tidak, maka nilai

h=2 dan akan berlanjut pada proses pengecekan berikutnya. Apabila hasil yang

diperoleh adalah ya, maka solusi jadwal bukan merupakan solusi yang tepat dan

akan dibangkitkan solusi jadwal lain secara random dan kembali ke pengecekan

awal; (9) Pada proses pengecekan berikutnya solusi jadwal akan dilihat apakah

ada tabrakan pada pemakaian ruang. Tabrakan pemakaian ruang berarti sebuah

ruang perkuliahan dipakai pada jam dan hari yang sama oleh 2 (dua) mata kuliah.

Apabila hasil yang diperoleh adalah tidak, maka nilai h=3 dan akan berlanjut pada

proses berikutnya. Apabila hasil yang diperoleh adalah ya, maka solusi jadwal

bukan merupakan solusi yang tepat dan akan dibangkitkan solusi jadwal lain

secara random dan kembali ke pengecekan awal; (10) Setelah dilakukan

pengecekan dan nilai h=3, maka solusi jadwal disimpulkan sebagai solusi yang

tepat dan ditampilkan; (11) Solusi jadwal yang diperoleh akan disimpan sebagai

solusi pembanding untuk solusi yang lain; (12) Langkah berikutnya adalah

kembali ke langkah awal untuk membangkitkan solusi secara random; (13)

Apabila nilai j sama dengan JumlahKelas, maka akan kembali ke perulangan awal

dan dimulai proses untuk solusi jadwal mata kuliah yang lain; (14) Proses

berulang terus menerus hingga diperoleh jadwal mata kuliah yang lengkap.

Page 10: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

13

4. Hasil dan Pembahasan

Penerapan Algoritma Steepest Ascent Hill Climbing

Kode Program 1 Fungsi Mengenerate Solusi Jadwal Secara Random

Kode Program 1 menunjukkan fungsi untuk mengenerate solusi jadwal

mata kuliah secara random. Solusi jadwal yang diperoleh disesuaikan dengan

mata kuliah pada jadwal yang akan dibuat, serta jumlah SKS dan kapasitas pada

masing-masing mata kuliah. Solusi jadwal akan mengkombinasikan secara acak

mata kuliah dengan dosen pengampu diikuti hari, jam mulai, dan jam selesai

sebagai waktu mengajar dosen sekaligus pemakaian ruang. Baris 1 merupakan

nama dari fungsi yaitu jadwal, serta parameter-parameter yang dibutuhkan untuk

mengambil jadwal. Baris 5-14 adalah query yang dieksekusi saat fungsi jadwal

dijalankan.

1. function jadwal($KodeMK,$SKS,$Kapasitas,$jumlahkelas) { 2. $DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"]; 3. include_once $DOCUMENT_ROOT."/PenjadwalanPsi/connectDB/sqlLib.php"; 4. $sqlLib = new sqlLib(); 5. $sql ="select a.idMK, a.KodeMK, a.MK, a.SKS, a.Semester, a.Keterangan,a.Sem, 6. b.idDosen, b.KodeDosen, b.Nama, b.idMK, b.BebanSKS, 7. c.idRuang, c.KodeRuang, c.Kapasitas, c.Makul, 8. d.idHari,d.hari, 9. e.idMulai, e.jammulai, 10. f.idSelesai,f.jamselesai

11. from tbmatakuliah a, tbdosen b,tbruang c, tbhari d, tbjammulai e,

dbjamselesai f

12. where a.idMK=b.idMK and a.KodeMK = '$KodeMK' and (f.jamselesai-

e.jammulai=$SKS)

13. and c.Kapasitas >= $Kapasitas and c.Makul not like '%Bahasa Inggris%'

14. order by rand()";

15. $rows = $sqlLib->select($sql);

16. return $rows;}

Page 11: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

14

Kode Program 3 Script Pengecekan Solusi Algoritma Steepest Ascent Hill Climbing pada Sistem

Kode Program 3 merupakan script untuk mengecek solusi jadwal mata

kuliah apabila dosen pengampu adalah 1. PengeBaris 1 merupakan perintah untuk

menampung hasil fungsi jadwal sebagai row. Baris 2-15 merupakan perintah

untuk memperoleh data-data hasil fungsi jadwal berdasar nama kolom. Baris 17-

20 adalah perintah untuk mengambil data beban mengajar tiap dosen. Data beban

berkaitan dengan beban maksimal mengajar tiap dosen sebanyak 9 SKS. Baris 21-

24 merupakan perintah untuk memperoleh data abjad yang digunakan dalam

penamaan kode mata kuliah dan mata kuliah pada jadwal. Baris 28 merupakan

perintah untuk mengecek apakah jumlah kelas sudah mencukupi atau belum. Baris

27 dan 28 adalah variabel yang menampung kombinasi jadwal mengajar dan

pemakaian ruang kuliah agar dapat dilakukan pengecekan. Baris 31 adalah

inisialisasi nilai heuristik yang dilambangkan dengan variabel h, nilai h pada tahap

awal adalah 0 (nol). Baris 32 adalah perintah untuk melakukan pengecekan

terhadap beban SKS dosen, apabila bernilai beban mengajar dosen mencukupi

maka nilai h akan bertambah 1. Baris 34 merupakan perintah untuk

membandingkan data mengajar yang diperoleh dengan data mengajar successor.

Apabila tidak terjadi tabrakan, maka nilai h akan bertambah 1. Baris 36 adalah

1. foreach ($datajadwal as $row) { 2. $idMKCurent = $row["idMK"]; 3. $KodeMK = $row["KodeMK"]; 4. $MK = $row["MK"]; 5. $namaDosen = $row["Nama"]; 6. $sksCurrent = $row["SKS"]; 7. $idDosen = $row["idDosen"]; 8. $KodeDosen = $row["KodeDosen"]; 9. $idRuang = $row["idRuang"]; 10. $Ruang = $row["KodeRuang"];

11. $idHari = $row["idHari"];

12. $Hari = $row["hari"];

13. $JamMulai = $row["jammulai"];

14. $JamSelesai = $row["jamselesai"];

15. $Sem = $row["Sem"];

16. $Beban=$sksCurrent;

17. $getTotalBeban= selectBeban($KodeDosen);

18. foreach ($getTotalBeban as $row) {

19. $Bebanx=$row["totalbeban"];

20. }

21. $getabjad = getAbjad($j+1);

22. foreach ($getabjad as $row) {

23. $abjad = $row["abjad"];

24. }

25. $totalbeban=$Bebanx+$Beban;

26. if($j<$jumlahkelas) {

27. $iddosenmengajar= $namaDosen.$Hari.$JamMulai.$JamSelesai;

28. $idpakairuang = $Ruang.$Hari.$JamMulai.$JamSelesai;

29. $h=0;

30. if($totalbeban <=9) {

31. $h++;

32. if((strpos($idDosenMengajarSUCC, $iddosenmengajar) ==

NULL)&&(strpos($idDosenMengajarSUCC, $iddosenmengajar) !== 0)) {

33. $h++;

34. if ((strpos($idPakaiRuangSUCC, $idpakairuang) ==

NULL)&&(strpos($idPakaiRuangSUCC, $idpakairuang) !== 0)) {

35. $h++;

36. if($h==3) {

Page 12: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

15

perintah untuk membandingkan data pemakain ruang yang diperoleh dengan data

pemakaian ruang successor. Apabila tidak terjadi tabrakan, maka nilai h akan

bertambah 1. Apabila nilai h adalah 3 maka solusi penjadwalan yang diperoleh

akan dianggap sebagai solusi penjadwalan yang optimal dan akan ditampilkan

pada sistem.

Kode Program 9 Script Penyimpanan Solusi

Kode Program 9 merupakan perintah untuk menyimpan solusi yang

diperoleh ke dalam nilai dosen mengajar successor dan nilai pemakaian ruang

kuliah successor. Nilai successor ini akan digunakan sebagai variabel pembanding

solusi jadwal.

Analisis dan Pengujian Aplikasi

Evaluasi Prototype

Setelah prototype pertama selesai, maka dilakukan evaluasi prototype.

Pada evaluasi pertama diperoleh hasil sebagai berikut:

- Dosen hanya boleh mengajar dengan beban maksimal 9 SKS.

- Pada halaman pilih mata kuliah, tambahkan fungsi check all untuk

mempermudah proses pemilihan data mata kuliah.

- Penambahan data ruang kuliah, yaitu Stiba H2, Stiba H3, dan Stiba H4, yang

hanya digunakan untuk mata kuliah Bahasa Inggris.

- Pada halaman pembuat jadwal mata kuliah, ditambahkan halaman untuk

melihat jadwal mengajar dosen dan penggunaan ruang kuliah berdasar jadwal.

Pengujian dan Analisis

Pengujian aplikasi dilakukan oleh developer, di mana developer akan

memasukkan input kemudian akan dilihat output yang diperoleh. Pengujian

aplikasi juga dilakukan oleh user untuk mencoba dan melakukan pengecekan pada

setiap fungsi yang ada untuk mengetahui apakah ada bug dan apakah sudah sesuai

dengan requirement sebelumnya.

1. if($sksCurrent==3) { 2. $idDosenMengajarSUCC=$idDosenMengajarSUCC." ".$iddosenmengajar.”

".$iddosenmengajarexception1; $idPakaiRuangSUCC=$idPakaiRuangSUCC."

".$idpakairuang." ".$idpakairuangexception1; }

Page 13: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

16

Gambar 6 Halaman Awal Buat Jadwal Mata Kuliah

Pengujian pada halaman pembuat jadwal dilakukan dengan mencoba

membuat jadwal mata kuliah baru. Gambar 6 menunjukkan halaman awal dalam

proses membuat jadwal mata kuliah. Pembuat jadwal dalam membuat jadwal mata

kuliah, dapat memilih semester serta melakukan input tahun ajaran jadwal yang

akan dibuat. Pada Gambar 6 jadwal yang akan dibuat adalah jadwal pada

Semester Genap Tahun Ajaran 2011-2012.

Gambar 7 Halaman Pilih Mata Kuliah

Setelah menentukan semester serta tahun ajaran jadwal yang akan dibuat,

langkah berikutnya adalah menentukan mata kuliah yang akan terlibat dalam

jadwal. Gambar 7 menunjukkan tampilan pada halaman pembuat jadwal saat

memilih mata kuliah. Selain kode mata kuliah, nama mata kuliah dan jumlah sks,

terdapat text box yang digunakan untuk input kapasitas kelas serta jumlah kelas

masing-masing mata kuliah. Terdapat pula combo box untuk menentukan jumlah

dosen pengampu mata kuliah dan check box untuk memilih mata kuliah.

Sistem kemudian akan mengenerete solusi jadwal yang mungkin untuk

setiap mata kuliah. Gambar 8 menunjukkan solusi jadwal mata kuliah Bahasa

Inggris yang telah di-generate oleh sistem.

Page 14: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

17

Gambar 8 Solusi Jadwal untuk Mata Kuliah Bahasa Inggris yang telah Di-generate

Sesuai dengan algoritma steepest ascent hill climbing yang diterapkan

pada sistem, setelah solusi digenerate, langkah berikutnya adalah mengecek setiap

solusi jadwal yang diperoleh untuk menentukan apakah merupakan solusi yang

optimal atau tidak. Proses pengecekan solusi jadwal untuk mata kuliah Bahasa

Inggris seperti yang terlihat pada Gambar 9.

Gambar 9 Proses Pengecekan Solusi Jadwal Mata Kuliah Bahasa Inggris

Solusi jadwal yang diperoleh untuk mata kuliah Bahasa Inggris adalah

dosen FBS, jam mengajar Senin 14-16, ruang Stiba H3. Pertama-tama akan

diperiksa beban mengajar dosen bersangkutan dan diperoleh hasil beban mengajar

dosen FBS mencukupi, sehingga nilai H berubah dari 0 menjadi 1. Langkah

berikutnya akan diperiksa apakah terjadi tabrakan pada jadwal mengajar Dosen

FBS. Diperoleh hasil tidak terjadi tabrakan pada jam mengajar Dosen FBS

sehingga nilai H berubah dari 1 menjadi 2. Terakhir akan diperiksa apakah terjadi

tabrakan pada jadwal pemakaian ruang Stiba H3. Diperoleh hasil tidak terjadi

Page 15: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

18

tabrakan pada jadwal pemakaian ruang sehingga nilai H berubah dari 2 menjadi 3

dan solusi penjadwalan merupakan solusi yang optimal.

Langkah berikutnya dilakukan pengecekan pada solusi jadwal mata kuliah

Bahasa Inggris yang lain yaitu pada solusi jadwal dosen FBS, dengan waktu

mengajar Senin 14-16 pada ruang Stiba H4. Setelah dilakukan pengecekan

ternyata terjadi tabrakan pada jam mengajar Dosen FBS, meskipun beban

mengajar dosen masih mencukupi dan jadwal pemakaian ruang tidak bertabrakan.

Nilai H yang diperoleh adalah 2 dan solusi yang diperoleh bukan merupakan

solusi yang optimal. Solusi jadwal yang lain yaitu dosen FBS dengan waktu

mengajar Jumat, 11-13 pada ruang Stiba H3, setelah dilakukan pengecekan selain

beban mengajar dosen mencukupi, ternyata tidak terjadi tabrakan pada jam

mengajar dosen dan tidak terjadi tabrakan pada jadwal pemakaian ruang sehingga

nilai H adalah 3 dan merupakan solusi jadwal yang optimal. Proses akan

berlangsung terus hingga diperoleh solusi jadwal sesuai dengan jumlah kelas pada

setiap mata kuliah.

Tabel 2 merupakan hasil jadwal mata kuliah Fakultas Psikologi UKSW

dengan menggunakan aplikasi penjadwalan mata kuliah. Pada Tabel 2 terlihat

bahwa pada jadwal yang diperoleh, algoritma steepest ascent hill climbing yang

diterapkan dapat memperoleh solusi jadwal yang optimal di mana aturan-aturan

dalam membuat jadwal mata kuliah Fakultas Psikologi UKSW telah terpenuhi.

Pada Jadwal yang dihasilkan, tidak ditemukan tabrakan jam mengajar pada dosen,

tidak ditemukan tabrakan pemakaian ruang perkuliahan, serta tidak ada dosen

yang mengajar lebih dari 9 SKS. Selain itu Hasil penjadwalan mata kuliah dapat

disimpan dalam format Microsoft Excel untuk pemrosesan lebih lanjut.

Tabel 2 Jadwal Mata Kuliah Dengan Aplikasi Penjadwalan Mata Kuliah N

O

Kode

Mata

Kuliah

MK S

K

S

Kode

Dosen

Nama Kode

Ruang

Kapa

sitas

Hari Jam

Mulai

Jam

Selesai

Angkatan

Angkatan 2011

1 PI 108 A Bahasa Inggris II A 2 0 FBS Stiba

H3

50 Senin 14 16 2011

2 PI 108 B Bahasa Inggris II B 2 0 FBS Stiba

H3

50 Jumat 11 13 2011

3 PI 108 C Bahasa Inggris II C 2 0 FBS Stiba

H3

50 Jumat 9 11 2011

4 PI 109 A Psikologi Umum II A 3 80513 Krismi Diah Ambarwati, S.Psi. E 134 70 Kamis 13 16 2011

5 PI 109 B Psikologi Umum II B 3 80513 Krismi Diah Ambarwati, S.Psi. E 134 70 Senin 10 13 2011

6 PI 111 A Statistika (Statistik I)

A

3 80004 Prof. Dr. Sutriyono, M.Sc. ABX

104

75 Senin 7 10 2011

7 PI 111 B Statistika (Statistik I)

B

3 80004 Prof. Dr. Sutriyono, M.Sc. ABX

104

75 Rabu 12 15 2011

8 PI 112 A Psikologi

Perkembangan II A

3 80002 Dr. Christina Hari

Soetjiningsih, M.S.

E 134 75 Selasa 9 12 2011

9 PI 112 B Psikologi

Perkembangan II B

3 80504 Ratriana Yuliastuti Endang

Kusumiati, Psi., M.Si.

E 134 75 Rabu 11 14 2011

10 PI 113 A Psikologi Sosial I A 3 80514 Jusuf Tjahjo Purnomo, Psi.,

M.Si.

ABX

104

75 Rabu 9 12 2011

11 PI 113 B Psikologi Sosial I B 3 80514 Jusuf Tjahjo Purnomo, Psi.,

M.Si.

E 134 75 Kamis 10 13 2011

12 PI 114 A Assesmen Psikologi

A

3 80522 Margaretha Erna Setyaningrum,

Psi.

E 134 75 Selasa 13 16 2011

13 PI 114 B Assesmen Psikologi

B

3 80522 Margaretha Erna Setyaningrum,

Psi.

E 134 75 Kamis 7 10 2011

14 PI 208 A Psikologi Industri

dan Organisasi A

2 80520 Novita Utami, S.Psi., M.Si. E 134 80 Selasa 7 9 2011

15 PI 208 B Psikologi Industri

dan Organisasi B

2 80520 Novita Utami, S.Psi., M.Si. ABX

104

80 Jumat 11 13 2011

16 PI 209 A Kesehatan Mental A 2 80504 Ratriana Yuliastuti Endang

Kusumiati, Psi., M.Si.

GX 204 80 Kamis 7 9 2011

Page 16: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

19

17 PI 209 B Kesehatan Mental B 2 80516 Rr. Indrastuti SS, Psi. ABX

104

80 Selasa 10 12 2011

Angkatan 2010

18 PI 210 A Psikologi Konseling

A

2 13809 Drs.Aloysius Lukas Soenarjo

Soesilo,MA.

GX 204 40 Selasa 11 13 2010

19 PI 210 B Psikologi Konseling

B

2 80508 Sri Aryanti Kristianingsih, Psi,

M.Si.

ABX

104

40 Senin 11 13 2010

20 PI 206 A Psikologi Pendidikan

A

2 80503 Berta Esti Ari Prasetyo, S.Psi.,

MA

GX 204 80 Selasa 7 9 2010

21 PI 206 B Psikologi Pendidikan

B

2 80503 Berta Esti Ari Prasetyo, S.Psi.,

MA

GX 204 80 Jumat 10 12 2010

22 PI 212 A Metodologi

Penelitian II A

3 80004 Prof. Dr. Sutriyono, M.Sc. GXY

101

50 Jumat 12 15 2010

23 PI 214 A Psikologi Faal II A 2 0 Dr. Epsilon Dewanto, MM GX 204 80 Rabu 14 16 2010

24 PI 214 B Psikologi Faal II B 2 0 Dr. Epsilon Dewanto, MM GX 204 80 Kamis 14 16 2010

25 PI 215 A Tes Bakat dan Minat

A

2 80519 Heru Astikasari S.M., S.Psi. ABX

104

75 Jumat 7 9 2010

26 PI 215 B Tes Bakat dan Minat

B

2 80504 Ratriana Yuliastuti Endang

Kusumiati, Psi., M.Si.

ABX

104

75 Kamis 13 15 2010

27 PI 217 A Psikologi

Kepribadian II A

3 80503 Berta Esti Ari Prasetyo, S.Psi.,

MA

ABX

104

80 Kamis 10 13 2010

28 PI 217 B Psikologi

Kepribadian II B

3 80522 Rr. Indrastuti SS, Psi. GX 204 80 Selasa 13 16 2010

29 PI 218 A Psikologi Kognitif A 2 80508 Sri Aryanti Kristianingsih, Psi,

M.Si.

GX 204 75 Kamis 10 12 2010

30 PI 218 B Psikologi Kognitif B 2 80524 Maria A. Tobing, S.Psi. GX 204 75 Senin 11 13 2010

31 PI 219 A Psikologi

Eksperimen A

2 80510 Rudangta Arianti Sembiring,

Psi., M.Si.

E 134 75 Rabu 9 11 2010

32 PI 219 B Psikologi

Eksperimen B

2 80510 Rudangta Arianti Sembiring,

Psi., M.Si.

GX 204 75 Rabu 12 14 2010

33 PI 221 A Psikologi

Manajemen A

2 80514 Jusuf Tjahjo Purnomo, Psi.,

M.Si.

E 134 80 Rabu 7 9 2010

34 PI 301 A Psikologi Klinis A 2 80502 Wahyuni Kristinawati, Psi.,

M.si.

GX 204 75 Selasa 9 11 2010

35 PI 301 B Psikologi Klinis B 2 80513 Krismi Diah Ambarwati, S.Psi. ABX

104

75 Selasa 12 14 2010

Angkatan 2009 dan Sebelumnya

36 PI 311 A Interviu A 3 80518 Enjang Wahyuningrum, Psi. ABX

104

30 Selasa 7 10 2009 dan

sebelumnya

37 PI 311 B Interviu B 3 0 Wiwiet Prasetyanti, Psi. GXY

102

30 Kamis 10 13 2009 dan

sebelumnya

38 PI 311 C Interviu C 3 80518 Enjang Wahyuningrum, Psi. GXY

101

30 Jumat 7 10 2009 dan

sebelumnya

39 PI 312 A Tes Roschach A 2 80522 Margaretha Erna Setyaningrum,

Psi.

E 134 70 Jumat 9 11 2009 dan

sebelumnya

40 PI 313 A Konseling dan

psikoterapi A

3 80508 Sri Aryanti Kristianingsih, Psi,

M.Si.

ABX

104

25 Kamis 7 10 2009 dan

sebelumnya

41 PI 313 B Konseling dan

psikoterapi B

3 0 Maria Herlina I, M.Si., Psi, E 134 25 Senin 13 16 2009 dan

sebelumnya

42 PI 411 Skripsi 6 - - - 0 - 0 0 2009 dan

sebelumnya

43 PI 414 Skripsi Lanjut 4 - - - 0 - 0 0 2009 dan

sebelumnya

Mata Kuliah Pilihan

44 PI 503 A Hukum Perburuhan

A

2 0 Jusuf W.H., SH GXY

102

50 Rabu 7 9 2009 dan

sebelumnya

45 PI 507 A Psikologi Lintas

Budaya A

2 0 Mianto N. Agung, S.Pd., S.Si.,

M.Th

ABX

104

50 Senin 14 16 2009 dan

sebelumnya

46 PI 511 A Ergonomik A 2 80001 Dr. Sutarto Wijono, MA GXY

101

50 Senin 13 15 2009 dan

sebelumnya

47 PI 515 A Kapita Selekta PIO A 2 80520 Novita Utami, S.Psi., M.Si. GXY

102

50 Jumat 7 9 2009 dan

sebelumnya

48 PI 518 A Psi. Pendidikan

Khusus A

2 80516 Rr. Indrastuti SS, Psi. GXY

102

50 Jumat 9 11 2009 dan

sebelumnya

49 PI 520 A Psikologi Kesehatan

A

2 13809 Drs.Aloysius Lukas Soenarjo

Soesilo,MA.

GXY

102

25 Kamis 14 16 2009 dan

sebelumnya

50 PI 523 A Psikogerontologi A 2 80002 Dr. Christina Hari

Soetjiningsih, M.S.

GXY

101

50 Senin 9 11 2009 dan

sebelumnya

51 PI 528 A Psikologi Public

Relation A

2 0 Rini Darmastuti, S.Sos., M.Si. E 134 50 Senin 7 9 2009 dan

sebelumnya

52 PI 534 A Psi. Pendidikan Anak

berbakat A

2 80518 Enjang Wahyuningrum, Psi. E 134 50 Jumat 14 16 2009 dan

sebelumnya

Page 17: Perancangan dan Implementasi Finite Automatarepository.uksw.edu/bitstream/123456789/2412/2/T1_672008192_Full... · akan dibandingkan dengan semua . successor . yang ada di dekatnya,

20

5. Simpulan

Berdasarkan hasil pembuatan, pembahasan, dan pengujian aplikasi

penjadwalan mata kuliah dapat disimpulkan bahwa penerapan algoritma steepest

ascent hill climbing dalam sistem dapat menghasilkan output berupa jadwal mata

kuliah yang optimal yaitu pada jadwal yang dihasilkan, tidak ditemukan tabrakan

jam mengajar pada dosen, tidak ditemukan tabrakan pemakaian ruang

perkuliahan, serta tidak ada dosen yang mengajar lebih dari beban maksimal

mengajar. Aplikasi yang dibangun dapat membantu Fakultas Psikologi UKSW

dalam menyusun jadwal mata kuliah sesuai dengan ketentuan yang berlaku.

Algoritma steepest ascent hill climbing memiliki keunggulan di mana semua

solusi jadwal yang mungkin akan dibangkitkan kemudian akan diperiksa satu

persatu, sehingga proses cepat karena akan diperoleh solusi terbaik dan mendekati

hasil optimasi yang diharapkan. Saran dan pengembangan aplikasi ini adalah pada

proses pengecekan solusi jadwal ditambahkan fungsi agar tidak dilakukan proses

pengecekan kembali pada solusi jadwal yang sama dan untuk menambahkan

constraint pada proses pengecekan solusi, di luar contsraint yang sudah ada. Pada

sistem dapat pula ditambahkan fungsi untuk laporan beban akademik dosen setiap

semester.

6. Daftar Pustaka

[1] Nugraha, Ivan, 2008, Aplikasi Algoritma Genetik untuk Optimasi

Penjadwalan Kegiatan Belajar Mengajar. Makalah IF2251 Strategi

Algoritmik Tahun 2008.,

http://sutanto.staff.uns.ac.id/files/2008/09/makalahif2251-2008-023.pdf

(diakses tanggal 10 Februari 2012)

[2] Puspitasari, Bunga, 2008, Penggunaan Tabu Search Dalam Penjadwalan

Kuliah dan Ujian Perguruan Tinggi (Studi Kasus : Sekolah Tinggi

Manajemen Bandung), Yogyakarta : Fakultas Teknik Industri UII.

[3] Thiang, Handry Khoswanto, Felix Pasila, Ferdi Ninaber, dkk., 2009,

Implementasi Metode Steepest Ascent Hill Climbing pada Mikrokontroler

MCS51 untuk Robot Mobil Pencari Rute Terpendek, Surabaya : Jurusan

Teknik Elektro Universitas Kristen Petra.

[4] Christiana, D. I., G. Virginia, and J. Purwadi, 2008, Algoritma Steepest-

Ascent Hill Climbing untuk Menyelesaikan Masalah Penugasan, Jurnal

Teknologi Komputer dan Informatika. Yogyakarta, Indonesia, April 2008,

vol.4 no.1, ISSN 1693-7279, pp. 47-53.

[5] Rich, Elaine, 1991, Artificial Intelligence. New York: McGraw-Hill.

[6] Pressman, Roger S., 2001, Software Engineering a Practitioner’s

Approach, New York : McGraw-Hill Higher Education.