PENJADWALAN KELAS MATAKULIAH MENGGUNAKAN VERTEX GRAPH COLORING DAN SIMULATED ANNEALING

dokumen-dokumen yang mirip
PEMBANGUNAN SISTEM PENJADWALAN KULIAH MENGGUNAKAN ALGORITMA PEWARNAAN GRAF

BAB I PENDAHULUAN. sejumlah aktivitas kuliah dan batasan mata kuliah ke dalam slot ruang dan waktu

SISTEM PENGELOLAAN KURIKULUM, ABSENSI DOSEN DAN KULIAH PENGGANTI PADA FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS TARUMANAGARA

Prosiding ISSN : Algoritma Penjadwalan Perkuliahan dengan Kasus Team Teaching dengan Metode Vertex Coloring Graph

PENJADWALAN RUANG KULIAH MENGGUNAKAN VERTEX GRAPH COLORING DAN SIMULATED ANNEALING

RANCANG BANGUN PERANGKAT LUNAK PENJADWALAN PERKULIAHAN MENGGUNAKAN METODE META- HEURISTIK (PENGGABUNGAN METODE ALGORITMA GENETIK DAN TABU SEARCH)

APLIKASI SIMULATED ANNEALING UNTUK MENYELESAIKAN TRAVELLING SALESMAN PROBLEM

Perancangan Aplikasi Container Loading Problem dengan Menggunakan Maximal Space Algorithm

BAB 4 IMPLEMENTASI DAN EVALUASI. genetik yang dibuat. Dalam mengimplementasi program aplikasi diperlukan syarat

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 4 IMPLEMENTASI DAN EVALUASI

IMPLEMENTASI ALOKASI JADWAL MATA PELAJARAN SMU MENGGUNAKAN ALGORITMA KOLONI SEMUT (AKS)

PERANCANGAN APLIKASI OPTIMALISASI MUATAN PADA KONTAINER DENGAN ALGORITMA METAHEURISTIC

BAB III METODOLOGI PENELITIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

TEKNIK PENJADWALAN KULIAH MENGGUNAKAN METODE ALGORITMA GENETIKA. Oleh Dian Sari Reski 1, Asrul Sani 2, Norma Muhtar 3 ABSTRACT

BAB IV IMPLEMENTASI DAN PENGUJIAN

PENERAPAN METODE SIMULATED ANNEALING UNTUK PENJADWALAN JOB SHOP PADA MESIN PABRIK

OPTIMASI PENJADWALAN CERDAS MENGGUNAKAN ALGORITMA MEMETIKA

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB IV IMPLEMENTASI DAN EVALUASI. implementasi desain dalam bentuk kode-kode program. Kemudian di tahap ini

PENGEMBANGAN METODE GRAPH COLORING UNTUK UNIVERSITY COURSE TIMETABLING PROBLEM PADA FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS TARUMANAGARA

BAB IV IMPLEMENTASI DAN PENGUJIAN

1. Pendahuluan Selama ini penjadwalan pelajaran hampir di semua sekolah yang meliputi jadwal mata pelajaran dan pembagian guru di setiap kelas yang

BAB 3 METODOLOGI Metode Penelitian. Dalam melakukan penelitian akan permasalahan ini, penulis menggunakan metode

PENERAPAN KONSEP GRAF DALAM PENYUSUNAN JADWAL PERKULIAHAN DI JURUSAN PENDIDIKAN MATEMATIKA FMIPA UNG ABSTRAK

BAB IV HASIL DAN UJI COBA

JURNAL MATEMATIKA MANTIK Edisi: Oktober Vol. 02 No. 01 ISSN: E-ISSN:

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB IV IMPLEMENTASI. dan perancangan selesai dilakukan. Pada sub bab ini akan dijelaskan implementasi

BAB I PENDAHULUAN. yang sangat penting khususnya di Program Studi Informatika Fakultas Teknik

BAB IV TESTING DAN IMPLEMENTASI

BAB V IMPLEMENTASI SISTEM

BAB IV HASIL DAN UJI COBA

BAB 4 IMPLEMENTASI DAN EVALUASI. Berikut ini merupakan spesifikasi perangkat keras dan perangkat lunak yang

Sistem Pendukung Keputusan Untuk Pengiriman Barang Dengan Menggunakan Metode Simulated Annealing Pada PT. Rimo Catur Lestari Tbk

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB IV IMPLEMENTASI DAN PENGUJIAN

PENJADWALAN MATAKULIAH OTOMATIS PADA PERGURUAN TINGGI MENGGUNAKAN SIMULATED ANNEALING

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

Perancangan Sistem Penjadwalan Asisten Dosen Menggunakan Algoritma Genetika (Studi Kasus: STIKOM Bali)

BAB I PENDAHULUAN. produksi secara keseluruhan sangat ditentukan oleh pemilihan jenis perlengkapan

Josselyn Sinthia Thio 1) Lely Hiryanto 2)

BAB 4 IMPLEMENTASI DAN EVALUASI

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Bab 4 Implementasi dan Evaluasi

BAB IV HASIL DAN UJI COBA

1.4. Batasan Masalah Batasan-batasan masalah dalam pembuatan tugas akhir ini adalah sebagai berikut :

ISSN IMPLEMENTASI ALGORITMA GENETIKA DALAM PENGEMBANGAN SISTEM APLIKASI PENJADWALAN KULIAH

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

APLIKASI PEWARNAAN GRAF PADA MASALAH PENYUSUNAN JADWAL PERKULIAHAN DI UNIVERSITAS KUNINGAN

OPTIMASI NURSE SCHEDULING PROBLEM

BAB IV HASIL DAN UJI COBA

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV HASIL DAN UJI COBA

BAB III PENJADWALAN KULIAH DI DEPARTEMEN MATEMATIKA DENGAN ALGORITMA MEMETIKA. Penjadwalan kuliah di departemen Matematika UI melibatkan


BAB IV HASIL DAN UJI COBA

BAB IV PERANCANGAN DAN IMPLEMENTASI

BAB 4 IMPLEMENTASI DAN EVALUASI. Saat melakukan perancangan program aplikasi ini digunakan hardware dan

Aplikasi Pewarnaan Graf untuk Sistem Penjadwalan On-Air Stasiun Radio

2.16. Keaslian Penelitian BAB III ANALISIS DAN PERANCANGAN Analisa sistem Observasi Wawancara

BAB I PENDAHULUAN , hal 9. 1 Subagyo D., Asri M., Handoko H.T., Dasar-dasar Operation Research, BPFE, Yogyakarta,

BAB III METODE PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu

PERANCANGAN SIMULASI PENGACAKAN SOAL TRYOUT UNTUK MEMBENTUK PAKET SOAL UJIAN NASIONAL MENGGUNAKAN LINEAR CONGRUENT METHOD (LCM)

BAB IV HASIL DAN PEMBAHASAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

ALGORITMA SIMULATED ANNEALING UNTUK PENJADWALAN PENGGUNAAN LABORATORIUM KOMPUTER. Susanto

BAB IV IMPLEMENTASI DAN EVALUASI

BAB IV HASIL DAN UJI COBA. Berikut adalah tampilan hasil dan pembahasan dari Perancangan Analisa

BAB IV HASIL DAN UJI COBA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB IV TESTING DAN IMPLEMENTASI SISTEM

BAB III METODE PENELITIAN. Pendekatan metode pengembangan sistem yang digunakan peneliti merupakan

BAB 4 IMPLEMENTASI DAN HASIL PENELITIAN. Pada bab 4 ini akan dijelaskan hasil rancangan sistem aplikasi optimizer, yaitu

Aplikasi Pewarnaan Graf pada Pemecahan Masalah Penyusunan Jadwal

IMPLEMENTASI ALGORITMA WELCH POWELL DALAM PENERAPAN GRAPH PADA PENJADWALAN UJIAN

PERANCANGAN PROGRAM. struktur/hirarki menu, State Transition Diagram (STD), modul dan pseudocode, serta

Metode Simulated Annealing untuk Optimasi Penjadwalan Perkuliahan Perguruan Tinggi

BAB IV IMPLEMENTASI DAN EVALUASI

BAB IV IMPLEMENTASI DAN PENGUJIAN


BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB III METODE PENELITIAN. mempermudah pelaksanaan penelitian. Tahap-tahap penelitian dalam

BAB III METODE PENELITIAN

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB IV IMPLEMENTASI DAN EVALUASI. Penggunaan Mesin yang berguna bagi bagian produksi. hardware (perangkat keras) dan software (perangkat lunak).

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

PERANGKAT LUNAK PENGAMBILAN KEPUTUSAN DALAM PENJADWALAN DENGAN METODE RECURSIVE LARGEST FIRST

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM. Tahap perancangan dalam pembuatan program merupakan suatu hal yang

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

Penerapan Algoritma Backtracking pada Pewarnaan Graf

BAB IV HASIL DAN UJI COBA

4 BAB 4 IMPLEMENTASI DAN EVALUASI. rencana implementasi dapat dilihat pada Tabel 4.1 di bawah ini : Tabel 4.1 Tabel Rencana Implementasi

BAB IV HASIL DAN UJI COBA

BAB II LANDASAN TEORI

Transkripsi:

PENJADWALAN KELAS MATAKULIAH MENGGUNAKAN VERTEX GRAPH COLORING DAN SIMULATED ANNEALING Mariana 1) Lely Hiryanto 2) 1)2) Teknik Informatika Universitas Tarumanagara Jl. Letjen S. Parman No.1, Jakarta Barat 12020 Indonesia email : Shadako_phus_up@yahoo.com, 2) lely@fti.untar.ac.id ABSTRACT Makalah ini membahas tentang penggabungan metode vertex graph coloring dan simulated annealing dalam menyusun jadwal matakuliah. Penggabungan ini ditujukan untuk mengetahui seberapa layak dan optimal penjadwalan yang dibuat dari gabungan kedua metode ini. Vertex Graph Coloring adalah metode pemberian warna pada simpul dengan mencari vertex tetangga dan tidak bertetangga, sehingga vertex yang bertetangga akan diberi warna yang sama dan vertex yang tidak bertetangga akan diberi warna baru yang berbeda. Simulated Annealing (SA) adalah teknik optimalisasi numerik dengan prinsip thermo-dynamic. Kinerja SA sangat bergantung pada solusi awal, lingkungan pencarian dan proses pendinginan. Vertex Graph Coloring (VGC) bekerja untuk memenuhi seluruh hard constraints dan Simulated annealing bekerja untuk meneruskan proses penjadwalan dengan mengoptimalkan penjadwalan tersebut. Hasil penjadwalan yang diperoleh dari penggabungan kedua metode ini adalah menghasilkan penjadwalan yang visible dan optimal meskipun beberapa ketentuan soft constraints masih terlanggar. Key words Course Scheduling, Vertex Graph Coloring, Simulated Annealing, Optimization 1. Pendahuluan Penjadwalan kelas mata kuliah adalah suatu sistem penempatan waktu dan ruang dalam proses kegiatan belajar mengajar. Dalam hal ini, penjadwalan erat kaitannya dengan kapasitas dan keterbatasan jumlah ruang, waktu yang dibutuhkan, dan ketersediaan dosen. Penjadwalan mata kuliah di universitas dikenal dengan istilah University Course Timetabling Problem. (UCTP). University Course Timetabling Problem (UCTP) adalah perencanaan pengalokasian sejumlah mata kuliah ke dalam sebuah kumpulan waktu dan ruang selama tidak melanggar syarat atau ketentuan penjadwalan (constraints). Dalam penyusunan jadwal kelas mata kuliah terdapat istilah constraints yang berarti syarat atau ketentuan. Fungsi dari constraints dalam masalah penjadwalan adalah sebagai aturan atau syarat ketentuan agar tidak terjadi bentrok dalam suatu penyusunan jadwal. Graph Coloring merupakan metode sederhana dengan mendefinisikan masalah penjadwalan yang dibahas dengan menggunakan graph dan mendefinisikan constraints melalui hubungan antar vertex. Metode ini sudah dipastikan tidak akan melanggar hard constraints. Pada pewarnaan graf dapat menghasilkan lebih dari satu solusi selama solusi tersebut memenuhi dan tidak melanggar syarat dan aturan jumlah minimum warna yang dapat digunakan pada graf tersebut. Hasil penjadwalan terbaik ditentukan dengan jumlah minimum warna yang ada pada pewarnaan graf. Semakin sedikit warna yang dipergunakan maka hasil yang diperoleh akan semakin optimal. Kendala dalam penjadwalan mata kuliah dengan metode ini adalah masih ada kecendrungan terjadinya pelanggaran soft constraints, yaitu pewarnaan mata kuliah dapat melebihi jumlah ruangan yang tersedia, sehingga seharusnya mata kuliah tersebut tidak dapat dijadwalkan, namun dapat dijadwalkan dengan melanggar soft constraints. SA adalah teknik optimalisasi numerik dengan prinsip thermo-dynamic. Algoritma SA diperkenalkan oleh Metropolis et al pada tahun 1953, dan aplikasi algoritma SA mulai dikembangkan dalam masalah optimasi pada tahun 1983 oleh Kirkpatrick et al. Dalam sistem termodinamika, SA menggunakan persamaan Boltzman. Persamaan ini merepresentasikan probabilitas suatu new state yang lebih buruk dari current state yang masih mungkin terpilih sebagai next state. Kelebihan SA adalah dapat menjelajahi seluruh domain, dan SA mampu menghindari jebakan optimum local. Penjadwalan mata kuliah pada umumnya bersifat renggang, artinya banyak mata kuliah yang tidak saling berhubungan. VGC mempunyai kemampuan untuk bekerja dengan baik di atas kerenggangan hubungan antara mata kuliah tersebut [1]. Akan tetapi, mengingat faktor banyaknya mata kuliah yang akan dijadwalkan dengan jumlah ruangan yang terbatas dan kapasitas ruangan yang terbatas sehingga tidak memungkinkan untuk mengalokasikan sejumlah mata kuliah dengan beban sks tertentu di timeslot yang sama. Oleh karena itu diperlukan penggabungan metode VGC dengan salah satu algoritma metaheuristik yang dimana metaheuristik dapat dilihat sebagai kerangka algoritma umum yang diterapkan untuk masalah 125

optimasi yang berbeda dengan sedikit modifikasi agar dapat beradaptasi dengan masalah tersebut. Berdasarkan karakteristik ini dan mengingat sifat istimewa dari masalah penjadwalan kelas mata kuliah membuat metaheuristik sangat cocok dalam problem domain yang akan diselesaikan [2]. Maka dari itu, metode VGC akan digabungkan dengan metode SA yang mempunyai keunikan yang berbeda dalam mencari solusi baru sehingga dapat mengoptimalkan suatu proses penyusunan penjadwalan [3]. Dengan memanfaatkan cooling schedule pada algoritma SA pengalokasian mata kuliah ke time slot akan diulang secara bertahap sehingga menghasilkan penjadwalan yang optimal dengan pengalokasian mata kuliah yang merata. Metode vertex Graph Colouring (VGC) akan bekerja untuk memenuhi seluruh hard constraints, sehingga penjadwalan dapat dikatakan layak. Setelah itu proses pengerjaan selanjutnya akan diteruskan dengan metode Simulated Annealing (SA). Metode SA akan menjelajahi seluruh domain penjadwalan secara acak sehingga sistem akan memeriksa ulang apakah mata kuliah tersebut sudah menemukan posisi yang baik ataukah belum, hal ini dipertimbangkan melalui besar kecilnya nilai fitness dari penjadwalan tersebut, kemudian SA juga bertugas mempertimbangkan hard constraints dari penjadwalan yang dihasilkan VGC dan mempertimbangkan soft constraints yang ada, karena sebelumnya metode VGC bekerja dengan hanya melihat hard constraints dengan tidak mempertimbangkan soft constraints. Sistem yang dibuat adalah Perancangan dan Pembuatan Program Aplikasi Penjadwalan Kelas Mata Kuliah di suatu lembaga pendidikan atau universitas dengan Metode Graph Colouring dan Simulated Annealing, yang dimana sistem tersebut akan menyusun jadwal perkuliahan pada semester reguler beserta jadwal kuliah pengganti, dengan permasalahan jumlah sks dalam 1 matakuliah yang terbilang cukup besar. Makalah ini akan membahas mengenai permodelan UCTP yang dimana penjadwalan akan dibuat terlebih dahulu sehingga mahasiswa dapat mengetahui seluruh informasi yang berkaitan dengan jadwal yang akan mereka registrasikan. Oleh karena itu, dalam tugas akhir ini mahasiswa tidak mempunyai peranan dalam penyusunan jadwal, sehingga penjadwalan ini hanya memperhitungkan faktor ketersediaan dosen, jumlah pemakaian ruangan beserta kapasitasnya, dan slot waktu. Permasalahan UCTP sampai sekarang ini masih dijadikan bahan penelitian karena mengingat banyaknya universitas yang menggunakan sistem penjadwalan secara manual. Dalam proses penyusunan jadwal, penjadwalan mempunyai banyak kendala, dan semua kendala ini sebisa mungkin harus dipenuhi dan tidak boleh di langgar, apabila kendala ini dilanggar, tentu saja akan membuat penjadwalan itu menjadi tidak layak dan optimal. Kendala tersebut berupa permasalahan seperti waktu penjadwalan, bagaimana membuat penjadwalan tersebut dapat tersusun dengan baik mengingat banyaknya kegiatan dan adanya keterbatasan ruang yang waktu pelaksanaan singkat. 2. Penjadwalan Matakuliah 2.1 Vertex Graph Coloring Graf adalah pasangan himpunan (, ) dengan adalah kumpulan simpul (vertex atau node) dan merupakan himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul pada graf tersebut, sehingga dengan kata lain graf dapat diartikan sebagai suatu kumpulan vertex yang menjelaskan hubungan antar vertex melalui edges yang terkait. Notasi vertex dan edges akan dituliskan pada persamaan (1) dan persamaan (2) yang akan membentuk graf sebagai berikut [4]: =,,,, (1) =,,,, (2) Pada gambar 2 di bawah ini, dapat diketahui hubungan antar vertex melalui edge edge yang terhubung. Berdasarkan edges yang terbentuk, maka terhubung dengan dan karena itu dan disebut sebagai tetangga dari, sedangkan tidak bertetangga dengan. 2.1.1. Pewarnaan Graf Gambar 2 Graf sederhana Pewarnaan graf adalah metode pemberian warna pada suatu vertex, edges, maupun wilayah dalam suatu graf. Pemberian warna yang dimaksudkan bertujuan untuk mencari wilayah tetangga yang ada pada graf. Pewarnaan graf terbagi menjadi 3 macam, yaitu Pewarnaan sisi (edge colouring) [5], Pewarnaan wilayah (region colouring), pewarnaan simpul (vertex coloring). Pewarnaan sisi (edge colouring) merupakan pemberian warna pada setiap sisi pada graf sampai sisi sisi yang saling berhubungan tidak memilih warna yang sama. Pewarnaan wilayah (region colouring) adalah pemberian warna pada setiap wilayah di graf sehingga 126

tidak ada wilayah yang bersebelahan memiliki warna yang sama. Pewarnaan simpul (vertex coloring) adalah pemberian warna pada setiap simpul (vertex) dimana warna yang sama akan diberikan pada vertex yang saling bertetangga, sedangkan yang tidak bertetangga akan diberi warna lain. 2.1.2. Pewarnaan Vertex Seperti yang dijelaskan sebelumnya, pewarnaan vertex (Vertex graph coloring) adalah metode pemberian warna pada simpul (vertex) dengan mencari vertex tetangga dan tidak bertetangga, sehingga vertex yang bertetangga akan diberi warna yang sama dan vertex yang tidak bertetangga akan diberi warna baru yang berbeda. Pewarnaan vertex berfungsi untuk mencari nilai maximum warna yang boleh digunakan dalam suatu graf. Jumlah warna paling minimum yang diterapkan dinamakan angka kromatik dinotasikan dengan χ(g). Semakin minim jumlah warna yang digunakan maka penjadwalan tersebut akan semakin efisien. Teknik pewarnaan ini menggunakan derajat tertinggi ( ) sebagai penentu maksimum warna yang digunakan. Derajat tertinggi ini didapatkan dari jumlah edge yang berhubungan dengan vertex tersebut. Batasan jumlah maksimum warna dapat dirumuskan sebagai berikut [6]: ( ) ( ) (3) (4) Keterangan : ( ) : angka kromatik, jumlah warna minimum yang dapat digunakan untuk mewarnai sebuah graf. : derajat tertinggi dari setiap vertex. Penggunaan rumus (3) untuk kasus yang merupakan simple graph dan untuk rumus (4) digunakan untuk kasus unsimple graph. Pada pewarnaan vertex, berbagai macam algoritma banyak digunakan oleh peneliti, namun algoritma yang akan digunakan dalam tugas akhir ini adalah Recursive Largest First Algorithm. Langkah langkah pewarnaan dalam algoritma ini adalah: 1. Buat daftar semua simpul dengan derajat tetangga. Dalam derajat tetangga akan diurutkan susunan derajat tetangga dari vertex yang memiliki derajat tertinggi sampai yang terendah. 2. Ambil vertex yang memiliki derajat tetangga tertinggi dan warnai dengan sebuah warna. 3. Buang vertex yang telah diwarnai pada langkah sebelumnya dan semua simpul yang bertetangga tersebut dari daftar vertex. 4. Warnai semua vertex yang belum mempunyai warna dengan warna yang sama pada vertex tadi. Kemudian ulangi langkah-langkah diatas hingga semua simpul pada graf terwarnai semua. 2.2. Simulated Annealing Simulated Annealing (SA) adalah teknik optimalisasi numerik dengan prinsip thermo-dynamic. Kinerja SA sangat bergantung pada solusi awal, lingkungan pencarian dan proses pendinginan. Algoritma SA diperkenalkan oleh Metropolis et al pada tahun 1953, dan aplikasi algoritma SA mulai dikembangkan dalam masalah optimasi pada tahun 1983 oleh Kirkpatrick et al [7]. Dalam sistem termodinamika, simulated annealing (SA) menggunakan persamaan Boltzman. Persamaan ini merepresentasikan probabilitas suatu new state yang lebih buruk dari current state yang masih mungkin terpilih sebagai next state. SA dikembangkan berdasarkan ide dari mekanisme perilaku pendinginan dan proses kristalisasi (annealing) material panas. Algoritma SA melakukan peningkatan iteratif untuk memperbaiki solusi yang dihasilkan teknik-teknik penjadwalan heuristic [8], dalam hal ini adalah sebuah solusi awal yang dibuat dengan teknik heuristik ataupun random diiterasi secara berulang dengan metode annealing dengan menggunakan perturbasi lokal hingga tidak ada peningkatan lagi atau hingga jumlah iterasi yang diinginkan sudah dicapai. Algoritma (Simulated Annealing) SA khas menerima solusi baru jika biaya baru lebih rendah daripada biaya dari solusi saat ini di setiap iterasi. Dengan kriteria tersebut, SA memungkinkan terhindar dari jebakan minimum lokal, hal ini menjadi salah satu kelebihan SA dibandingkan dengan metode penjadwalan lain. Gambar 2 Algoritma Simulated Annealing Sumber: Aycan T.Ayav, Solving the Course Scheduling Problem Using Simulated Annealing, http://web.iyte.edu.tr/~tolgaayav/papers/ayc can_coursesch.pdf, 4 Agustus 2012. Berdasarkan algoritma tersebut, maka di dalam SA terdapat 3 faktor utama dalam cara kerja algoritma SA, yaitu pencarian lingkungan (neighborhood searching), perhitungan biaya (cost calculation) ), dan pendinginan jadwal(cooling schedule). Proses dari algoritma SA di atas adalah: 1. Cari inisialisasi awal secara random. 2. Inisialisasi temperatur awal serta temperatur final dengan kondisi, jumlah iterasi ( ),

dan nilai tetap yang mempengaruhi durasi penurunan suhu ( ). 3. Hitung nilai parameter reduksi suhu dengan persamaan (6). 4. Cari tetangga secara random dengan menggunakan algoritma Simple Searching Neighboorhood (SSN). 5. Hitung nilai cost dari penjadwalan yang dibentuk oleh initialisasi awal di langkah a dengan cara menghitung bobot constraints dari seluruh mata kuliah yang berada dalam seluruh pos domain. Kemudian hitung nilai cost penjadwalan yang telah terbentuk oleh langkah d di atas. Setelah itu bandingkan kedua nilai cost tersebut dengan menggunakan persamaan (4). Ulangi langkah tersebut sebanyak. 6. Setelah iteration count =, update nilai suhu ( ) dengan menggunakan persamaan (5). Ulangi langkah b sampai suhu ( ) mencapai nilai,. 2.2.1. Pencarian tetangga Pencarian lingkungan (Neighborhood Searching) dalam algoritma SA digunakan untuk mengambil satu atau lebih kegiatan yang kemudian akan dibandingkan dengan slot sebelumnya yang hasilnya dihitung melalui persamaan (4) Penjelasan lingkup tetangga dalam algoritma SA ini berarti slot domain selama 1 hari, misalnya hari senin dengan pos 1 sampai pos 36. Anggota pos dari pos 1 sampai dengan pos 36 saling bertetangga. Pencarian lingkungan dalam setiap iterasi dari algoritma akan dilakukan satu kali untuk mengetahui set solusi berikutnya yang mungkin. Algoritma yang akan digunakan untuk pencarian lingkungan adalah Simple Searching Neighboorhood (SSN). Algoritma ini merupakan algoritma sederhana yang bekerja dengan memilih secara acak dari 1 kegiatan dan 1 timeslot. SSN() { ac := select_random_activity(); sl := select_random_time_slot(); slot(ac) := sl; } 2.2. 2. Perhitungan biaya Dalam penjadwalan mata kuliah, perhitungan biaya (cost calculation) yang dimaksudkan bertujuan untuk memeriksa pengalokasian mata kuliah dalam suatu susunan ruang dan timeslot berdasarkan pertimbangan bobot constraints (hard constraints dan soft constraints) yang terkandung dalam penyusunan jadwal tersebut sehingga akan menunjukan skor penalti dari kedua constraints yang terhubung dalam kegiatan tersebut. Cost calculation dapat diartikan sebagai fungsi fitness yang biasanya digunakan dalam bidang penjadwalan mata kuliah. Perhitungan nilai cost berperan dalam menentukan apakah mata kuliah tersebut boleh dipindahkan ke pos lain atau tidak, apabila nilai cost saat ini lebih kecil dari nilai cost sebelumnya maka jadwal tersebut akan dipindahkan dengan persamaan: = (5) Keterangan: : jumlah dari perhitungan hard constraints dan soft constraints. : bobot constraints. Persamaan (5) digunakan untuk menghitung cost, yang apabila slot tersebut melanggar hard constraints dan soft constraints akan menghasilkan cost yang tinggi dan sebaliknya. Pada proses perpindahan state dari state awal menuju state yang diujikan akan menunjukan perbedaan cost sesuai dengan penjelasan sebelumnya. Proses ini akan diperhitungkan oleh persamaan (6). Perbedaan SA dengan metaheuristik lain adalah SA mempunyai keunikan dalam menentukan solusi baru. Pada persamaan (7), SA akan menerima solusi yang buruk walaupun cost yang dihasilkan mempunya nilai yang tinggi, namun dengan diterimanya solusi buruk ini SA dapat terhindar dari jebakan minimum lokal, yaitu: = ( ) ( ) (6) exp (( ) [, ] (7) Keterangan: = Delta, hasil perbandingan fungsi biaya lama dengan fungsi biaya baru = fungsi biaya (cost) = inisialisasi solusi, = tetangga dari. Exp = fungsi exponen. Rand= fungsi rand, memilih nilai dari bilangan 0 sampai dengan 1. Dalam rancangan aplikasi ini, nilai rand yang digunakan adalah 0,9. 2.2.3. Pendinginan jadwal (cooling schedule) Dalam setiap iterasi, suhu berikutnya ditentukan dengan rumus: = (8) = ln( ) ln ( ) / (9) Keterangan: = parameter reduksi suhu, = suhu saat ini, = nilai tetap yang mempengaruhi durasi penurunan suhu. yang akan digunakan adalah 4. 128

Persamaan (8) digunakan untuk perhitungan suhu, dengan mengalikan parameter reduksi suhu dengan suhu saat ini yang dimana nilai parameter reduksi suhu yang terbentuk itu didapatkan dari persamaan (9). merupakan jumlah iterasi yang ditetapkan untuk mendapatkan hasil yang diinginkan. Dalam perancangan yang dibuat, ditetapkan sebanyak 3 kali, dengan suhu awal ( ) adalah 1140, suhu ini cukup panas untuk melakukan perpindahan aktivitas ke setiap state tetangga akan tetapi temperatur tersebut akan selalu di-update secara iteratif oleh algoritma SA dengan menggunakan persamaan (6) di atas. 2.3. Penggabungan Vertex graph coloring dengan Simulated Annealing untuk penjadwalan mata kuliah regular Metode vertex graph coloring telah banyak diujicobakan oleh para peneliti dan menghasilkan penjadwalan UCTP yang optimal. Seluruh hard constraints tidak ada yang terlanggar dan pengoptimalan soft constraints juga terlaksana, namun kendala dalam metode Vertex graph coloring adalah kemungkinan terjadinya pengalokasian pewarnaan vertex yang melebihi batas slot waktu yang tersedia, sehingga diambil jalan alternatif lain yaitu dengan melanggar soft constraints untuk beberapa kelas. Oleh karena itu, dalam tugas akhir ini metode vertex graph coloring akan digabungkan dengan metode simulated annealing. Tahap awal yang dilakukan adalah tahap pemenuhan hard constraints, untuk memuaskan semua kendala yang menjadi kategori hard constraints akan digunakan metode vertex graph coloring. Vertex graph coloring akan menyusun penjadwalan dan mengalokasikan penjadwalan tersebut dengan hanya melihat bagian hard constraints saja. Kemudian algoritma simulated annealing (SA) akan memeriksa pengalokasian jadwal tersebut dengan menelusuri seluruh ruang solusi satu per satu secara acak (random). SA akan bekerja dengan menukar posisi berulang kali dan melihat apakah mata kuliah tersebut melanggar hard constraints dan soft constraints. Selain itu, akan dipertimbangkan juga perhitungan nilai cost agar didapat hasil solusi yang terbaik. 2.4. Matakuliah pengganti dengan Simulated Annealing Penjadwalan kuliah pengganti akan dirancang dengan metode SA. Seperti yang telah dijelaskan pada subbab 2.2, gambar 2, tahap awal dalam proses Simulated Annealing adalah mencari inisialisasi solusi awal secara acak. Inisialisasi solusi awal telah dilakukan dengan VGC. Untuk kasus jadwal matakuliah pengganti, jadwal matakuliah reguler merupakan inisialisasi solusi awal, sehingga tidak perlu menggunakan metode VGC lagi. Metode SA dalam penjadwalan matakuliah pengganti diperlukan untuk mencari solusi tempat untuk 1 matakuliah pengganti dengan tidak melanggar hard constraints dan meminimalkan pelanggaran soft constraints yang tidak boleh mengubah susunan jadwal matakuliah reguler yang telah terbentuk sebelumnya. Constraints yang digunakan untuk penjadwalan kuliah pengganti ini sama dengan constraints padaa penjadwalan umum lainnya. Perbedaan penjadwalan kuliah pengganti dengan kuliah umum terletak di cara kerja sistem tersebut dalam menghitung nilai cost pada tabel domain penjadwalan. Dalam penjelasan algoritma SA, nilai cost dihitung dengan cara menjumlahkan nilai pelanggaran constraints dari seluruh mata kuliah, sedangkan pada kuliah pengganti, nilai cost akan dihitung dengan cara hanya memfokuskan mata kuliah pengganti tersebut dengan mata kuliah umum lainnya yang berada pada 1 timeslot yang sama. Gambar 4 Flowchart proses penjadwalan kuliah pengganti 3. Pembuatan Gambar 3 Flowchart penggabungan metode VGC dan SA Pembuatan program aplikasi ini menggunakan data matakuliah semester ganjil di suatu fakultas dari sebuah universitas sebagai acuan untuk pembuatan program aplikasi penjadwalan matakuliah. Fakultas tersebut memiliki pembagian gedung dan ruangan berdasarkan jenis matakuliah praktikum dan teori. Kemudian fakultas

tersebut juga memiliki jumlah sks yang terbilang cukup banyak dengan 2-6 per 1 sks. Program aplikasi penjadwalan mata kuliah ini menggunakan spesifikasi perangkat keras sebagai berikut: 1. Processor Intel(R) Core(TM) i3, 2.20 GHz. 2. Monitor 14 dengan resolusi 1366 x 768 piksel 3. Harddisk dengan kapasitas 600 GB. 4. NVIDIA GeForce 540GT 2Gb. Sedangkan spesifikasi perangkat lunak yang digunakan sebagai berikut : 1. Sistem operasi Windows XP 2. Basis data MYSQL. 3. PHP sebagai bahasa pemrograman. 4. Adobe Dreamweaver CS 3 sebagai perancangan desain dan koding PHP. 5. XAMPP 1.7.2 sebagai web-server. 6. Adobe Reader 9 sebagai pengolah file berekstensi.pdf. 7. Microsoft Word 2007 sebagai pengolah teks, tabel, dan alur proses. Program aplikasi penjadwalan ini dibuat dengan menggunakan pemrograman berbasis PHP dengan sistem basis data MYSQL. Tampilan antar muka aplikasi, dibuat berdasarkan data data yang diperlukan oleh fakultas tersebut, sehingga dibuat beberapa modul yang terkait dengan penjadwalan, antara lain: 1. Modul user Modul user digunakan oleh mahasiswa dan dosen untuk melihat jadwal matakuliah yang dapat diakses langsung tanpa login. Pada modul user terdapat beberapa menu, yaitu : a. Menu Home User dapat mengakses menu home yang di dalamnya berisi menu login yang hanya dapat diakses oleh admin. b. Menu View Menu view berisikan informasi mengenai penjadwalan pada semester yang dipilih. 2. Modul admin Modul ini merupakan modul utama untuk penyusunan penjadwalan yang hanya dapat diakses oleh admin. Pada modul ini terdapat beberapa menu, yaitu: a. Menu home Menu home pada modul ini berisi register untuk membuat admin baru. b. Menu input Menu input mempunyai beberapa sub menu input untuk mengatur atau memanipulasi (mengubah, menambahkan, dan menghapus) data. Sub menu yang terdapat dalam menu input adalah: a) Sub menu input prodi Menu ini berisi input data program studi yang ada di fakultas dan akan menampilkan hasil dari seluruh data program studi yang telah diinput. b) Sub menu input kurikulum Menu ini berisi input data kurikulum di fakultas dan akan menampilkan hasil data yang telah diinput. c) Sub menu input kelompok matakuliah Menu ini berisi input data nama kelompok matakuliah di fakultas sesuai dengan departemen pendidikan. Menu ini akan menampilkan hasil data kelompok matakuliah yang telah diinput. d) Sub menu input ruang kelas Menu ini berisi input data ruang kelas yang digunakan fakultas dan akan menampilkan hasil data ruang yang telah diinput. e) Sub menu input dosen Menu ini berisi input data dosen fakultas dan akan menampilkan hasil data seluruh dosen tetap dan tidak tetap yang telah diinput. f) Sub menu input matakuliah Menu ini berisi input data matakuliah fakultasdan akan menampilkan hasil data seluruh matakuliah yang telah diinput. g) Sub menu input kelas matakuliah Menu ini berisi input data kelas matakuliah fakultas dan akan menampilkan hasil data seluruh kelas matakuliah yang telah diinput. h) Sub menu input waktu Menu ini berisi input waktu perkuliahan yang diinginkan fakultas dan akan menampilkan hasil data waktu secara otomatis sesuai dengan waktu 1 sks yang telah diinput dan di generate. i) Sub menu edit dosen tidak tetap Menu ini berisi untuk mengedit inputan waktu ketersediaan mengajar dari dosen tidak tetap fakultas dan akan menampilkan hasil data seluruh waktu dosen tidak tetap. 3. Menu view Menu view berisi data hasil generate jadwal matakuliah berdasarkan semester yang diinginkan (report). Menu ini sama fungsinya dengan menu view yang ada pada modul user 4. Menu generate jadwal Menu ini berfungsi untuk mengenarate jadwal matakuliah berdasarkan tahun semester yang dipilih. 5. Menu matakuliah pengganti Menu ini digunakan untuk generate matakuliah pengganti berdasarkan matakuliah yang telah tersusun sebelumnya. 4. Pengujian dan Hasil Pengujian 4.1 Pengujian Aplikasi penjadwalan ini dibuat dengan 3 percobaan sekaligus untuk mengetahui cara kerja dari setiap metode dan seberapa efisien metode tersebut untuk meminimalkan pelanggaran pada setiap constraints, yaitu percobaan dengan memasukan data semester ganjil di fakultas tersebut dengan metode VGC saja, kemudian percobaan kedua menggabungkan metode VGC dengan 130

SA yang menggunakan rumus exp (( ) [, ], dan terakhir menggabungkan metode VGC dengan metode SA tanpa menggunakan rumus exponen. 4.2 Hasil pengujian Berdasarkan hasil pengujian tersebut, hasil terbaik dicapai oleh penggabungan metode VGC dengan metode SA tanpa menggunakan rumus exp (( ) [, ] kemudian hasil tersebut akan dibandingkan dengan hasil penjadwalan yang telah dibuat sebelumnya oleh universitas tersebut secara manual. Penghapusan rumus = ( ) ( ) exp (( ) [, ] dirasakan lebih efektif sehingga apabila salah satu kondisi memenuhi perumusan tersebut, maka SA akan memindahkan matakuliah ke slot yang baru meskipun slot baru tersebut mempunyai nilai cost yang lebih buruk dari nilai cost yang sebelumnya. Kemudian dari pengujian yang didapat, hasil yang terbaik akan dibandingkan dengan hasil penjadwalan secara manual yang dibuat oleh universitas tersebut yang dapat dilihat pada tabel 2. No VGC VGC+ SA (dengan rumus) VGC +SA (tanpa rumus) Program Studi Komunikasi Visual (DKV) Interior Komunikasi Visual (DKV) Interior Komunikasi Visual (DKV) Interior Tabel 1 Hasil pengujian Jumlah 12 kelas 15 kelas Hard Constraints Hard Constraints 7 kelas 24 kelas 8 kelas 16 kelas 9 kelas 11 kelas Berdasarkan perbandingan data pada tabel 2 dapat disimpulkan bahwa penjadwalan yang dihasilkan oleh aplikasi lebih dapat mengoptimalkan penjadwalan dibandingkan dengan penjadwalan secara manual. Metode VGC dalam penjadwalan ini digunakan untuk mengatur penjadwalan agar tidak melanggar ketentuan hard constraint, karena metode ini sudah terpercaya dapat bekerja dengan baik dalam setiap kasus penjadwalan. Pengoptimalan penjadwalan menggunakan metode SA, namun metode SA dirasakan kurang bekerja dengan baik, karena cara kerjanya yang bersifat random, sehingga beberapa matakuliah yang melanggar hard constraints dan soft constraints belum tentu dapat terambil dan terpindahkan secara optimal. Tabel 2 Perbandingan penjadwalan secara manual dengan hasil pengujian No Program Studi Manual VGC+ SA (tanpa rumus) Komunikasi Visual (DKV) Interior Komunikasi Visual (DKV) Interior Hard Constraints Hard Constraints Hard Constraints Hard Constraints Jumlah 0 27 kelas 0 20 kelas 0 kelas 9 kelas 0 kelas 11 kelas Dari hasil pengujian terhadap data yang telah dilakukan, tidak ditemukan pelanggaan hard constraints. Kemudian dilakukan pengujian sebanyak 5 kali terhadap data kuliah pengganti dan didapatkan hasil sebagai berikut: Tabel 3 Hasil penjadwalan matakuliah pengganti pada data semester ganjil 2012/2013 Program No Studi 1 Komunikasi Visual (DKV) 2 Interior Jumlah 2 kelas 3 kelas Berdasarkan Pengujian black box testing, program aplikasi ini telah berjalan sesuai dengan rancangan. Gambar 5 dan 6 merupakan tampilan output dari hasil penjadwalan. Gambar 5 Hasil penjadwalan matakuliah reguler 131

REFERENSI [1] Aycan, E., Ayav, T., 1995, Solving the Course Scheduling Problem Using Simulated Annealing, Department of Computer Engineering. [2] Diestel, Reinhard., 2006, Graph Theory : Third Edition, Birkhauser, Heidelberg-Springer. [3] Hajnal, Peter., Szemeredi, Endre., 1990, Brooks Coloring in Parallel, Toronto. [4] Lewis, Rhydian., Mei 2007, A Survey of Metaheuristic-based Techniques for University Timetabling Problems, Cardiff Unversity, Wales. [5] Miner, Sara K., Elmohamed, Saleh., Yau, Hon W., Optimizing Timetabling Solution Using Graph Coloring, Syracuse University, New York State. Gambar 6 Hasil penjadwalan matakuliah pengganti 5. Kesimpulan dan Saran 5.1 Kesimpulan Berdasarkan hasil pengujian program aplikasi penjadwalan kelas matakuliah di suatu universitas, dapat diambil kesimpulan, bahwa: 1. Penghapusan rumus exp (( ) [, ]pada SA dirasakan lebih membantu hasil penjadwalan menjadi lebih optimal. 2. SA mempunyai sifat random sehingga dalam pengerjaannya SA akan mengambil matakuliah secara random, sehingga matakuliah tertentu bisa saja tidak terpilih dan terpindahkan, hal ini menyebabkan pelanggaran soft constraints masih dapat terjadi dan SA juga akan beresiko berada pada posisi infinite loop. 3. Penjadwalan kelas matakuliah reguler dan matakuliah pengganti sudah tidak melanggar hard constraints namun masih cenderung melanggar soft constraints. Penulis Pertama, saat ini sebagai mahasiswa di program studi Teknik Informatika, Fakultas Teknik Universitas Tarumanagara. Penulis Kedua, memperoleh gelar S.T tahun 2001 di program studi Teknik Informatika, Fakultas Teknik, Universitas Tarumanagara. Kemudian mendapat gelar M.Sc pada tahun 2006 di Department Of Computing Curtin University Of Technology, Australia. Saat ini sebagai Staf Pengajar program studi Teknik Informatika, Fakultas Teknik Universitas Tarumanagara. 5.2 Saran Saran-saran yang dapat diberikan bagi mereka yang ingin mengembangkan aplikasi penjadwalan matakuliah ini adalah sebagai berikut: 1. Untuk percobaan selanjutnya, disarankan mencoba penggabungan metode VGC dengan metode lain untuk lebih meminimalkan pelanggaan soft constraints, karena dengan random tidak menjamin terpilihnya matakuliah yang melanggar soft constraints dan tidak menjamin pelanggaran soft constraints matakuliah yang dipindahkan mencapai nilai 0. 2. Pemberian jedah waktu pada setiap matakuliah di satu jenis kelas sebagai bentuk kebijakan terhadap mahasiswa. 132