PENJADWALAN MATAKULIAH
DENGAN PENDEKATAN PEWARNAAN GRAF
DI UNIVERSITAS KRISTEN DUTA WACANA
YOGYAKARTA
Leo Sendra(1), R. Gunawan Santosa(2), Restyandito(3)
Intisari
Penjadwalan matakuliah merupakan suatu kegiatan untuk mengalokasikan
matakuliah-matakuliah pada slot-slot waktu tertentu dan pada ruang-ruang yang
tersedia dengan memperhatikan batasan-batasan yang ada. Penjadwalan
matakuliah sulit dilakukan secara manual jika matakuliah yang ditawarkan
jumlahnya banyak dan batasan-batasan yang harus diperhatikan banyak.
Dalam membentuk suatu jadwal matakuliah yang dapat memenuhi
batasan-batasan yang ada, penulis memodelkan matakuliah ke dalam bentuk graf dan
membagi proses pembentukan jadwal ke dalam 3 tahap yaitu tahap pembentukan
paket matakuliah, tahap alokasi paket matakuliah ke slot waktu dan tahap alokasi
matakuliah ke ruang kelas.
Hasil dari penelitian yang penulis lakukan adalah dengan pemodelan yang
dibuat dan penerapan pewarnaan graf dapat membentuk paket matakuliah yang
bebas dari tabrakan, kombinasi pewarnaan verteks dapat digunakan sebagai
alternatif-alternatif solusi yang berguna untuk membuat seluruh matakuliah
mendapatkan ruang kelas, paket-paket matakuliah hasil pewarnaan graf dengan
algoritma welch-powell tidak dapat secara langsung memenuhi batasan yang ada.
Sehingga harus dilakukan beberapa modifikasi. Selain itu juga, ternyata sistem
paket matakuliah yang dihasilkan menyebabkan ketergantungan dalam hal alokasi
ke slot waktu.
Kata Kunci: Penjadwalan matakuliah, Pewarnaan graf, Algoritma welch-powell
(1) Leo Sendra, Mahasiswa Teknik Informatika, Fakultas Teknik, Universitas Kristen Duta Wacana
(2) Drs. R. Gunawan Santosa, M.Si., Dosen Teknik Informatika, Fakultas Teknik, Universitas Kristen Duta Wacana
1. Pendahuluan
Penjadwalan matakuliah merupakan suatu kegiatan untuk mengalokasikan
matakuliah-matakuliah pada slot-slot waktu tertentu dan pada ruang-ruang yang tersedia dengan
memperhatikan batasan-batasan yang ada. Batasan-batasan yang harus diperhatikan adalah
matakuliah yang sama tidak boleh berjalan dalam slot waktu yang sama, dosen yang sama
tidak boleh mengajar dalam slot waktu yang sama, jumlah matakuliah yang diijinkan per
semester pada suatu slot waktu, penempatan waktu pelaksanaan matakuliah harus disesuaikan
dengan jadwal dosen pengajar yang bersangkutan, alokasi matakuliah ke ruang kelas harus
disesuaikan dengan kapasitas ruang kelas dan sasaran prodi dari ruang kelas.
Banyaknya jumlah matakuliah yang harus dijadwalkan dan batasan-batasan yang
harus diperhatikan membuat kegiatan penjadwalan matakuliah terasa sulit jika dilakukan secara
manual.
Pada penelitian ini, akan dilakukan penjadwalan matakuliah di Universitas Kristen Duta
Wacana dengan menggunakan pendekatan pewarnaan graf dan diterapkan pada sistem
komputer. Sehingga, pada akhirnya diharapkan penjadwalan matakuliah di Universitas Kristen
Duta Wacana dapat dibantu bahkan diselesaikan dengan komputer untuk memperingan
pekerjaan dan menghemat waktu.
2. Landasan Teori 2.1. Definisi Graf
Sebuah graf, disimbolkan dengan G(V,E), merupakan struktur matematis yang terdiri
dari dua himpunan V dan E. Elemen-elemen dari V disebut dengan verteks (atau node), dan
elemen dari E disebut dengan edge. Setiap edge mempunyai satu atau dua verteks yang berasosiasi dengannya yang disebut dengan endpoints (Gross & Yellen, 1999).
Teori graf mempunyai peran yang besar dalam kehidupan manusia. Verteks sebuah
graf dapat merepresentasikan orang, komputer, kota. Dan edge menunjukkan verteks-verteks yang memiliki hubungan. Sebagai contoh, dua orang yang saling mengenal, dua komputer yang
dapat berkomunikasi atau dua kota yang dihubungkan oleh jalur penerbangan. Sehingga
sebuah graf dapat diartikan sebagai representasi matematis dari sebuah hubungan (Buckley &
Lewinter, 2003). Teori graf digunakan untuk menyederhanakan masalah-masalah yang ada di
dunia nyata sehingga hubungan antar komponen dalam suatu masalah dapat dipahami dengan
mudah.
Dalam teori graf, dikenal beberapa istilah yang berkaitan dengan verteks dan edge.
Adjacent verteks adalah dua verteks yang dihubungkan oleh sebuah edge. Sedangkan adjacent
edge adalah dua edge yang mempunyai sebuah endpoint yang sama. Setiap verteks pada sebuah graf memiliki derajat. Derajat dari sebuah verteks dalam graf G, disimbolkan deg(v),
2.2. Representasi Graf
Sebuah graf dapat direpresentasikan dengan berbagai bentuk. Representasi graf
secara visual memudahkan manusia untuk menganalisanya. Namun, representasi graf dalam
bentuk matriks akan lebih mudah untuk diproses oleh komputer dibanding dengan representasi
dalam bentuk visual.
Ada 2 macam representasi graf dalam bentuk matriks, yaitu:
• Matriks Adjacency
Matriks adjacency dari sebuah graf G, disimbolkan AG, adalah matriks yang baris dan kolomnya merupakan verteks-verteks pada graf G (VG), di mana
AG[u,v] = jumlah edge antar u dan v jikau≠v
jumlah self-loop pada v jika u=v
• Matriks Incidence
Matriks incidence dari sebuah graf G, disimbolkan IG, adalah matriks yang barisnya merupakan verteks dari graf G (VG) dan kolomnya merupakan edge dari graf G (EG ), di
Pewarnaan graf adalah suatu proses pemberian label atau warna pada edge atau
verteks dari sebuah graf. Pewarnaan graf ada 2 tipe yaitu pewarnaan verteks dan pewarnaan
edge.
Pewarnaan verteks adalah suatu proses pemberian label atau warna pada verteks dari
suatu graf sehingga verteks yang ber-adjacent memiliki label atau warna yang berbeda
(Buckley & Lewinter, 2003).
Dalam teori pewarnaan graf, dikenal suatu bilangan kromatik yang disimbolkan χ.
Bilangan kromatik suatu graf (χ(G)) merupakan jumlah warna minimal yang dibutuhkan untuk
mewarnai komponen-komponen (verteks atau edge) dari graf G. Pemberian warna minimal
pada sebuah graf merupakan pekerjaan yang sulit. Sehingga dibutuhkan suatu algoritma
tertentu untuk pemberian warna dari suatu graf. A. Schaerf melalui penelitiannya yang berjudul
A Survey of Automated Timetabling melakukan survei terhadap berbagai macam algoritma yang
digunakan dalam proses penjadwalan. Salah satu algoritma pewarnaan graf yang dijelaskan
dalam penelitiannya adalah algoritma welch-powell. Schaerf (1999) menyatakan bahwa pada
algoritma welch-powell, verteks dengan derajat terbesar diwarnai terlebih dahulu. Sebab
verteks dengan derajat yang besar merupakan verteks yang paling sulit diwarnai.
Langkah kerja algoritma welch-powell adalah:
2. Gunakan sebuah warna untuk mewarnai verteks pada urutan pertama dan untuk mewarnai
setiap verteks dalam daftar yang tidak ber-adjacent dengan verteks yang diwarnai sebelumnya.
3. Mulai lagi dengan urutan derajat yang paling tinggi berikutnya dan ulangi proses pewarnaan
verteks yang belum diwarnai dengan warna yang lainnya.
4. Ulangi pemberian warna hingga semua verteks telah terwanai.
3. Perancangan Sistem
Cara kerja sistem yang dibangun pada penelitian ini dibagi menjadi 3 tahap yaitu:
1. Tahap pembentukan paket matakuliah
Hal-hal penting yang terjadi pada tahap ini adalah pembentukan relasi antar
matakuliah-matakuliah yang ditawarkan, pewarnaan graf dan pengelompokkan verteks-verteks
matakuliah yang berwarna sama. Kumpulan verteks-verteks matakuliah yang bewarna sama
inilah yang disebut dengan paket matakuliah. Berikut adalah gambaran detil dari proses-proses
yang terjadi pada tahap ini:
Gambar 1. Diagram Alir Tahap Pembentukan Paket Matakuliah
2. Tahap alokasi paket matakuliah ke slot waktu
Hal-hal penting yang terjadi pada tahap ini adalah pembentukan relasi antara paket
matakuliah dan slot waktu dengan memperhatikan batasan waktu dosen yang berhalangan
untuk mengajar dan batasan waktu matakuliah dari prodi lain. Dari relasi yang terbentuk, dibuat
penentuan alokasi paket matakuliah dengan memprioritaskan alokasi verteks paket matakuliah
yang derajatnya terkecil. Berikut adalah gambaran detil dari proses-proses yang terjadi pada
Gambar 2. Diagram Alir Tahap Alokasi Paket Matakuliah ke Slot Waktu
3. Tahap alokasi matakuliah ke ruang kelas
Hal-hal penting yang terjadi pada tahap ini adalah pembentukan relasi antara
matakuliah dan ruang kelas dengan memperhatikan batasan kapasitas ruang kelas dan batasan
sasaran prodi dari ruang kelas. Kemudian, dibuat penentuan alokasi matakuliah dengan
memprioritaskan alokasi verteks paket matakuliah yang derajatnya terkecil. Berikut adalah
gambaran detil dari proses-proses yang terjadi pada tahap ini:
Gambar 3. Diagram Alir Tahap Alokasi Matakuliah ke Ruang Kelas
4. Implementasi Sistem
4.1 Implementasi Pemodelan Relasi Matakuliah
Matakuliah yang memiliki kode sama atau diajar oleh dosen yang sama tidak boleh
dialokasikan dalam slot waktu yang sama. Maka dari itu, matakuliah-matakuliah tersebut
mendapatkan warna yang berbeda agar tidak berada dalam paket yang sama. Berikut adalah
hasil implementasi pemodelan relasi matakuliah tersebut:
4.2 Implementasi Pemodelan Relasi Paket Matakuliah dan Slot Waktu
Jika dalam suatu paket terdapat matakuliah yang sudah mendapatkan alokasi slot waktu, maka paket yang bersangkutan hanya berelasi dengan slot waktu tersebut. Dan, jika dalam
paket terdapat matakuliah yang diajar oleh dosen yang berhalangan hadir pada suatu slot
waktu, maka paket matakuliah yang bersangkutan tidak akan berelasi dengan slot waktu yang
berhalangan tersebut.
Berikut adalah hasil implementasi pemodelan relasi paket matakuliah dan slot waktu:
Gambar 5. Pemodelan Relasi Paket Matakuliah dan Slot Waktu
4.3 Implementasi Pemodelan Relasi Matakuliah ke Ruang Kelas
Relasi ada antara matakuliah dan ruang kelas jika kapasitas matakuliah lebih kecil atau sama dengan kapasitas ruang kelas dan sasaran prodi dari ruang kelas sama dengan prodi dari
matakuliah. Berikut adalah hasil implementasi pemodelan relasi matakuliah dan ruang kelas:
4.4 Implementasi Pewarnaan Graf sebagai Alternatif Solusi
Kombinasi isi paket matakuliah dapat terjadi jika pewarnaan awal dilakukan pada verteks yang berbeda-beda. Berikut adalah contoh pewarnaan graf yang menghasilkan kombinasi isi
paket matakuliah:
Gambar 7. Kombinasi Isi Paket Matakuliah I
Gambar 8. Kombinasi Isi Paket Matakuliah II
Pada gambar 7 dan 8, terlihat dengan jelas adanya perbedaan isi kumpulan verteks yang
berwarna sama. Dengan demikian, adanya kombinasi isi paket matakuliah dapat dijadikan
alternatif solusi pembentukan paket matakuliah.
5. Analisis Sistem
1. Pada setiap warna yang terbentuk sering ditemukan matakuliah dari semester yang sama
berjumlah lebih besar atau lebih kecil dari nilai konstrain jumlah matakuliah yang diijinkan
per semester sehingga perlu dilakukan pemecahan paket matakuliah. Hasil pemecahan
paket matakuliah dikonstruksi ulang dan dilakukan pewarnaan graf menggunakan algoritma
welch-powell. Proses pemecahan paket matakuliah dan konstruksi ulang dilakukan terus
menerus hingga konstrain terpenuhi atau hingga warna yang terbentuk telah melebihi 20
warna.
2. Untuk menganalisa hasil jadwal yang terbentuk, dilakukan 5 percobaan generate jadwal dengan susunan urutan prodi yang berbeda-beda. Berikut adalah daftar percobaan
No Percobaan Urutan Prodi yang Digenerate Jadwalnya
1 MKH-Manj-Akun-TI-SI-Arstk-Despro-Bio-Theo
2 MKH-Theo-Bio-Despro-Arstk-SI- TI-Akun-Manj
3 MKH-Despro-Arstk-TI-SI-Manj-Bio-Akun-Theo
4 MKH-Despro-Arstk-TI-SI-Manj-Bio-Akun-Theo
5 MKH-Arstk-Akun-Bio-Manj-TI-Despro-Theo-SI
Tabel 1. Daftar Percobaan
Percobaan generate jadwal ini akan diuji pada 2 kumpulan data yaitu data yang mengikutsertakan matakuliah lintas prodi non MKH dan data yang tidak mengikutsertakan
matakuliah lintas prodi non MKH. Hal-hal yang akan dicatat pada percobaan ini adalah jumlah
matakuliah yang tabrakan, total seluruh solusi, total seluruh solusi yang valid (solusi yang
memenuhi konstrain jumlah matakuliah yang diijinkan per semester pada setiap slot waktu) dan
total matakuliah yang tidak mendapat ruangan.
Berikut adalah data hasil percobaannya:
Tabel 3. Hasil Percobaan Generate Jadwal pada Data tanpa Lintas Prodi Non MKH
Berdasarkan data jadwal hasil percobaan:
1. Pengikutsertaan data matakuliah lintas prodi non MKH mengakibatkan kekacauan jadwal
yang terbentuk. Jumlah solusi yang dihasilkan, jumlah solusi yang valid dan jumlah
matakuliah yang tidak mendapat ruang berubah-ubah seiring dengan berubahnya urutan
prodi.
Sedangkan, hasil generate jadwal pada data tanpa matakuliah lintas prodi non MKH memiliki jumlah solusi yang dihasilkan, jumlah solusi yang valid dan jumlah matakuliah yang tidak
mendapat ruang tetap jumlahnya walaupun urutan prodi berubah-ubah.
Hal tersebut disebabkan oleh matakuliah lintas prodi non MKH mendapatkan alokasi slot
waktu yang berbeda-beda saat proses generate jadwal di prodi yang menawarkan matakuliah lintas prodi tersebut.
2. Adanya perbedaan jumlah total solusi dengan total solusi yang valid disebabkan oleh:
• Kecilnya nilai konstrain jumlah matakuliah yang diijinkan per semester pada setiap slot waktu.
• Hasil kombinasi yang terjadi dalam suatu paket matakuliah menyebabkan proses pemecahan paket matakuliah untuk memenuhi konstrain jumlah matakuliah yang diijinkan
per semester pada setiap slot waktu menjadi tidak sempurna.
3. Pembentukan paket matakuliah yang dilakukan sistem terkadang memberikan kerugian. Jika
dalam suatu paket terdapat matakuliah yang sudah mendapatkan plot waktu (misalnya
matakuliah MKH), maka matakuliah-matakuliah yang 1 paket dengannya akan dialokasikan
ke slot waktu yang sama dengan alokasi slot waktu matakuliah MKH.
Kerugiannya adalah:
tidak mendapatkan ruang kelas.
Pada kasus ini, alternatif solusi memiliki peranan yang penting. Alternatif solusi dapat
digunakan untuk mencari paket dengan matakuliah yang berjumlah lebih sedikit untuk
berjalan bersama-sama dengan matakuliah MKH.
• Ketergantungan alokasi slot waktu juga menyebabkan tidak meratanya distribusi matakuliah di slot-slot waktu yang tersedia.
4. Tidak adanya matakuliah yang bertabrakan pada percobaan yang dilakukan menunjukkan
bahwa pemodelan relasi matakuliah sudah tepat. Sehingga saat proses pewarnaan graf,
matakuliah yang memiliki kode yang sama atau diajar oleh dosen yang sama mendapatkan
warna yang berbeda-beda.
6. Kesimpulan
Berdasarkan penelitian yang telah dilakukan, maka dapat diambil kesimpulan sebagai
berikut:
1. Model relasi graf matakuliah yang dirancang pada sistem dan pemberian warna pada graf
menggunakan algoritma welch-powell dapat membentuk paket-paket matakuliah yang
bebas dari tabrakan.
2. Paket-paket matakuliah yang terbentuk berdasarkan algoritma welch-powell tidak dapat
langsung dialokasikan ke slot waktu sebab masih ada konstrain yang belum terpenuhi.
Modifikasi pada paket seperti pemecahan matakuliah berdasarkan semester diperlukan
untuk memenuhi konstrain tersebut.
3. Sistem paket matakuliah yang dihasilkan sistem menyebabkan ketergantungan dalam hal
alokasi ke slot waktu. Hal ini dapat menimbulkan tidak meratanya distribusi matakuliah di
slot-slot waktu.
4. Adanya kombinasi solusi yang dihasilkan oleh sistem mampu membuat seluruh matakuliah
mendapatkan ruang kelas
5. Penjadwalan yang dihasilkan oleh sistem lebih cocok jika data matakuliah lintas prodi non
MKH tidak diikutsertakan.
7. Daftar Pustaka
Buckley, Fred dan Marty Lewinter. 2003. A Friendly Introduction to Graph Theory. New Jersey: Prentice Hall.
Deo, Narsingh. 1994. Graph Theory with Applications to Engineering and Computer Science. New Delhi: Prentice Hall.
Gross, Jonathan dan Jay Yellen. 1999. Graph Theory and Its Application. Boca Raton: CRC Press.
Lipschutz, Seymour dan Marc Lipson. 1997. Discrete Mathematics. McGraw-Hill Professional. Rob, Peter dan Carlos Coronel. (2007). Database Systems Design, Implementation and
Management7th Edition. Boston: Thompson Course Technology.
Schaerf, A. 1999. A Survey of Automated Timetabling. Diakses 19 Oktober 2008 dari www.diegm.uniud.it/satt/papers/ Scha99.pdf