Struktur Ketetanggaan. Ruang solusi.

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