Banyak fungsi biaya yang bisa menentukan validitas suatu solusi menggunakan batasan-batasan tertentu. Terdapat dua jenis batasan yang
sering digunakan, yaitu;
Hard Constraints: batasan yang tidak boleh dilanggar. Misalnya,
pada masalah penjadwalan kuliah, suatu jadwal yang valid adalah jadwal yang tidak terdapat bentrok dosen, tidak bentrok ruang
kelas, tidak bentrok rombongan mahasiswa.
Soft Constraints: batasan yang sebaiknya tidak dilanggar, tetapi
jika batasan ini dilanggar, solusinya masih dianggap valid. Misalnya, pada masalah penjadwalan kuliah, suatu jadwal masih
dianggap valid meskipun terdapat seorang dosen yang diberikan jadwal empat pertemuan kuliah dalam sehari tanpa bentrok. Hal ini
masih valid meskipun sebaiknya dihindari. Untuk membangun fungsi biaya, bisa memberikan pembobotan
weighting pada hard constraints dan soft constraints.
2.4.3. Struktur Ketetanggaan.
Ketika melakukan proses pencarian, bagaimana berpindah dari satu state ke state lain sampai ditemukan solusi? Untuk hal ini perlu
mendefinisikan suatu struktur ketetanggaan neighbourhood. Dengan cara ini, bisa menentukan state mana saja yang bisa dijangkau dari state
saat ini. Untuk masalah penjadwalan kuliah, fungsi ketetanggaan dapat berupa penukaran jadwal pertemuan kuliah seorang dosen dari suatu slot
waktu ke slot waktu yang lain.
Hasil penelitian menunjukan bahwa struktur ketetanggaan sebaiknya simetris. Artinya, jika bisa bergerak dari state i ke state j
maka juga bisa bergerak dari state j ke state i. Selain itu juga perlu memperhatikan bahwa setiap state harus dapat dicapai dari setiap state
yang lain.
2.4.4. Ruang solusi.
Jika ruang solusi biasanya disebut juga ruang pencarian sangat sempit, maka proses pencarian akan lebih mudah karena tidak banyak
state yang harus dieksplorasi. Semakin kecil ruang solusi, semakin sedikit pula jumlah iterasi yang diperlukan untuk konvergen pada solusi
optimal. Untuk mempersempit ruang solusi, bisa membatasi pencarian pada
solusi yang valid saja. Selain itu struktur ketetanggaan juga dibuat sekecil mungkin. Hali ini bisa mempercepat pencarian, tetapi mungkin
bisa mengakibatkan terbatasnya peningkatan kualitas solusi secara signifikan.
17
BAB III ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Dalam penelitian ini akan membahas mengenai cara kerja dari algoritma Simulated Annealing SA untuk menanggani proses penjadwalan
kelas mata kuliah di PGSD Universitas Sanata Dharma Yogyakarta. Data yang akan ditangani meliputi data dosen, data mata kuliah dengan bobot sks-
nya, data ruang kelas, data waktu, dan hari. Sistem ini akan diimplementasikan
menggunakan sebuah
aplikasi dengan
bahasa pemrograman Java dan Mysql sebagai database penyimpanannya.
3.1.1. Analisis Masalah.
Kegiatan belajar mengajar di PGSD dilaksanakan pada hari senin sampai jumat 5 hari, untuk setiap harinya dimulai dari pukul 07.00 sampai
dengan pukul 19.00. 1 sks mata kuliah teori mendapatkan 1 jam pertemuan. Terkecuali mata kuliah praktikum 1 sks mendapat 2 jam pertemuan, untuk
sks selanjutnya tetap akan mendapatkan 1 jam. Proses penyusunan penjadwalan mata kuliah di PGSD diawali dengan pemaketan mata kuliah
pada tiap semester. Kemudian masing-masing kelas mata kuliah ditugaskan kepada dosen yang kompeten mengajar pada mata kuliah tersebut.
Selanjutnya, kelas mata kuliah dijadwalkan pada hari, waktu, dan ruang kelas yang tersedia dengan mempertimbangkan kesedian waktu dan kuota