Anda di halaman 1dari 44

Jurnal THEOREMS (The Original Research of Mathematics) Vol. 4 No.1 Juli hal.

79-86 Tahun 2019

PENERAPAN PEWARNAAN GRAF MENGGUNAKAN


ALGORITMA WELCH-POWELL UNTUK MENENTUKAN
JADWAL BIMBINGAN MAHASISWA
(Implementation of Graph Colouring Using Welch-Powell
Algorithm to Determine Student Mentoring Schedule)

Ariestha Widyastuty Bustan1, M Rais Salim2*


1Program Studi Matematika, Fakultas MIPA, Universitas Pasifik Morotai, Jl Siswa Darame, Kec
Morotai Selatan, Kabupaten Pulau Morotai, Maluku Utara, 97771, Indonesia
2 Program Studi Pendidikan Guru Sekolah Dasar, Fakultas KIP, Universitas Pasifik Morotai, Jl

Siswa Darame, Kec Morotai Selatan, Kabupaten Pulau Morotai, Maluku Utara, 97771, Indonesia
*E-mail: mraissalim@yahoo.com

ABSTRAK

Program Studi Pendidikan Sekolah Dasar adalah salah satu program studi yang tak jarang
memiliki masalah dalam proses penjadwalan, terutama jadwal bimbingan mahasiswa karena
jumlah mahasiswa yang banyak dalam satu periode bimbingan. Untuk mengatasi kendala
tersebut, diperlukan proses persiapan jadwal alternatif untuk mengefektifkan waktu
bimbingan siswa. Salah satu cara untuk mempersiapkan jadwal yang dapat digunakan adalah
dengan menerapkan konsep pewarnaan titik pada grafik menggunakan algoritma Welch
Powell. Pewarnaan graf dengan menggunakan algoritma welch powell merupakan salah satu
teknik dalam penyusunan jadwal. Khusunya pada saat menyusun jadwal bimbingan
mahasiswa di suatu program studi. Titik-titik pada graf direpresentasikan sebagai mahasiswa
yang akan melakukan bimbingan, sedangkan sisi yang menghubungkan dua titik menyatakan
jika dua titik tersebut atau dua mahasiswa memiliki satu dan/atau dua dosen pembimbing
yang sama. Metode penelitian yang digunakan adalah metode penelitian studi literatur. Hasil
dari penelitian ini menunjukkan bahwa pewarnaan graf dengan menggunakan algoritma
welch powell dapat diterapkan untuk penyusunan jadwal bimbingan mahasiswa PGSD di
Universitas pasifik Morotai.

Kata kunci: algoritma welch-powell, graf, pewarnaan titik graf, penjadwalan


ABSTRACT

The Primary School Education Study Program is one of the study programs that has problems
in the schedule preparation process, especially the student guidance schedule because of the
large number of students in the guidance period. To overcome the obstacles in the schedule
preparation process, an alternative schedule preparation process is needed to streamline the
time of student guidance. One way to prepare a schedule that can be used is to apply the
concept of point coloring on the graph using the Welch Powell algorithm. Graph colouring
using the Welch-Powell algorithm is one of the schedule preparation techniques. Especially for
arranging student guidance schedules in a study program. The vertex on a graph is represented
as a student who will conduct guidance, while the side that connects two vertex states if the two
vertex or two students have one and/or two of the same supervisors. This study uses the
literature study method. The results of this research indicate that the coloring of graphs using
the Welch Powell algorithm can be applied to compile the guidance schedule of PGSD students
at the Pacific University of Morotai.
Keywords: graph, graph point coloring, scheduling, welch-Powell algorithm

79
Copyright ©2019, Jurnal THEOREMS (The Original Research of Mathematics)
p-ISSN: 2528-102X, e-ISSN: 2541-4321, URL: http://jurnal.unma.ac.id/index.php/th
Jurnal THEOREMS (The Original Research of Mathematics) Vol. 4 No.1 Juli hal. 79-86 Tahun 2019

1. PENDAHULUAN satu dan/atau dua dosen pembimbing


a. Latar Belakang yang sama.
Proses Penyusunan jadwal secara Astuti [1] dan Muktyas [2] dalam
manual membutuhkan ketelitian yang penelitian mereka memberikan
cukup tinggi agar tidak ada unsur kesimpulan jika algoritma Pewarnaan
dalam susunan jadwal yang saling Graph Welch Powell dapat digunakan
tumpang tindih. Di universitas pasifik untuk menentukan jadwal ujian
misalnya, proses penyusunan jadwal semester pada sistem informasi
yang dilakukan semua program studi akademik Perguruan Tinggi agar tidak
semuanya masih bersifat manual bak terjadi bentrokan jadwal untuk semua
itu penjadwalan mata kuliah, mahasiswa. Sejalan dengan hal tersebut
penjadwalan seminar, maupun Harianto dkk [3] juga menggunakan
penjadwalan bimbingan mahasiswa. teknik pewarnaan titik pada graf
Program Studi Pendidikan Sekolah menggunakan algoritma welch powell
Dasar (PGSD) merupakan salah satu untuk menentukan jadwal ujian skripsi.
program studi yang tak jarang Penggunaan graf dalam menentukan
mengalami kendala dalam proses jadwal juga dilakukan oleh Dewi [4]
penyusunan jadwal, khususnya jadwal dalam pembangunan perangkat lunak
bimbingan mahasiswa. Hal tersebut pembangkit jadwa kuliah dan jadwal
dikarenakan jumlah mahasiswa dalam ujian. Oleh karena itu peneliti tertarik
suatu periode bimbingan yang banyak untuk menerapkan pewarnaan titik
dan beriirisannya dosen-dosen pada graf untuk menentukan jadwal
pembimbing antar mahasiswa- bimbingan mahasiswa PGSD UNIPAS
mahasiswa tersebut. Morotai.
Untuk mengatasi kendala dalam
proses penyusunan jadwal, maka b. Graf dan Pewarnaan Titik pada Graf
dibutuhkan suatu alternatif proses Graf G adalah pasangan terurut
penyusunan jadwal yang berguna yang terdiri dari
untuk mengefektifkan waktu himpunan titik dan himpunan
bimbingan mahasiswa. Salah satu cara sisi yang saling lepas dari
penyusunan jadwal yang dapat [5]. Dalam hal ini [ ] ,
digunakan adalah menerapkan konsep dengan [ ]
pewarnaan titik pada graf dengan . Titik dikatakan terkait dengan
menggunakan algoritma welch powell. sisi e jika . Suatu sisi
Pewarnaan titik pada graf dengan seringkali dinotasikan dengan atau
menggunakan algoritma welch powell . Sebarang dua titik dan pada
merupakan salah satu teknik yang graf dinyatakan bertetangga jika
dapat digunakan untuk menyusun adalah suatu sisi pada graf . Derajat
jadwal. Setiap mahasiswa yang akan titik adalah banyaknya titik yang
melakukan pembimbingan dibimbing bertetangga dengan titik . Misalkan
oleh dua orang dosen pembimbing. graf hingga dan
Titik-titik pada graf direpresentasikan terhubung tak trivial, maka
sebagai mahasiswa yang akan didefinisikan suatu pewarnaan titik dari
melakukan proses bimbingan, , yaitu
sedangkan sisi yang menghubungkan untuk suatu bilangan bulat
dua titik menyatakan jika dua titik sedemikian hingga untuk setiap dua
tersebut atau dua mahasiswa memiliki titik yang bertetangga memiliki warna
yang berbeda.
80
Copyright ©2019, Jurnal THEOREMS (The Original Research of Mathematics)
p-ISSN: 2528-102X, e-ISSN: 2541-4321, URL: http://jurnal.unma.ac.id/index.php/th
Jurnal THEOREMS (The Original Research of Mathematics) Vol. 4 No.1 Juli hal. 79-86 Tahun 2019

mahasiswa yang akan melakukan


c. Algoritma Welch-Powell pembimbingan sebagai titik, sedangkan
Berikut adalah langkah-langkah sisi yang menghubungkan dua titik
pada algoritma welch-powel [6] menyatakan jika dua titik tersebut atau
1) Urutkan simpul-simpul dari dua mahasiswa memiliki satu
dalam derajat yang menurun dan/atau dua dosen pembimbing yang
2) Gunakan satu warna untuk sama.
mewarnai simpul pertama yang
memiliki derajat tertinggi dan Tabel 1. Data mahasiswa dan dosen
simpul-simpul lain dalam pembimbing
urutan yang berurut yang tidak No Mahasisw Dosen Pembimbing
bertetangga dengan simpul a
yang pertama ini. 1 Sriyanti Subhan Hayun,
Posu (SP) S.Pd.,M.Pd
3) Mulai lagi dengan simpul
Nurhani Mahmud,
berderajat tinggi berikutnya di S.Pd.,M.Pd
dalam daftar terurut yang 2 Bailam Sulami Sibua,
belum diwarnai dan ulangi Luange S.Pd.,M.Pd
proses pewarnaan simpul (BL) Subhan Hayun,
dengan menggunakan warna S.Pd.,M.Pd
yang kedua. 3 Susantri Julia Ismail, S.Pd.,M.Pd
4) Ulangi penambahan warna- Lusude Fahmi Jaguna,
warna sampai semua simpul (SLU) S.Pd.,M.Pd
telah diwarnai. 4 Ariens Julia Ismail, S.Pd.,M.Pd
Papadaka M Rais Salim,
2. METODE PENELITIAN (AP) S.Pd.,M.Pd
5 Elya (E) Irawati Sabban,
Metode penelitian yang digunakan
S.Pd.,M.Pd
dalam penelitian ini adalah metode
Fahmi Jaguna,
penelitian studi literatur. Awalnya S.Pd.,M.Pd
peneliti mengumpulkan referensi 6 Andi Tenri Fahmi Jaguna,
melalui artikel ilmiah dan data Asyifah S.Pd.,M.Pd
mahasiswa dan dosen pembimbing, (ATA) Subhan Hayun,
kemudian selanjutnya melakukan S.Pd.,M.Pd
penentuan titik-titik yang 7 Janema Nurhani Mahmud,
merepresentasikan mahasiswa- Goorahe S.Pd.,M.Pd
mahasiswa bimbingan dengan melabeli (JG) Fahmi Jaguna,
berdasarkan inisial nama, setelah itu S.Pd.,M.Pd
dilakukan pewarnaan terhadap titik- 8 Mayang Sulami Sibua,
Mudafar S.Pd.,M.Pd
titik tersebut menggunakan algoritma
(MM) Julia Ismail, S.Pd.,M.Pd
welch powell hingga akhirnya
9 Fitria Julia Ismail, S.Pd.,M.Pd
diperoleh suatu kesimpulan dalam hal Abdullah M Rais Salim,
ini jadwal bimbingan mahasiswa. (FA) S.Pd.,M.Pd
10 Kalsum Julia Ismail, S.Pd.,M.Pd
Kopman M Rais Salim,
3. HASIL DAN PEMBAHASAN (KK) S.Pd.,M.Pd
Pewarnaan titik pada graf dengan 11 Warinta La Subhan Hayun,
menggunakan algoritma welch powell Aha S.Pd.,M.Pd
diterapkan pada penelitian ini dengan (WLA) Nurhani Mahmud,
merepresentasikan terlebih dahulu S.Pd.,M.Pd

81
Copyright ©2019, Jurnal THEOREMS (The Original Research of Mathematics)
p-ISSN: 2528-102X, e-ISSN: 2541-4321, URL: http://jurnal.unma.ac.id/index.php/th
Jurnal THEOREMS (The Original Research of Mathematics) Vol. 4 No.1 Juli hal. 79-86 Tahun 2019

12 Otgandis Julia Ismail, S.Pd.,M.Pd SLU AP, E, ATA, JG, MM, FA, 13
Mala (OM) Nurhani Mahmud, KK, NB, EFH, OM, SLA,
S.Pd.,M.Pd YH, AZ
13 Nurain Fahmi Jaguna, AP SLU, MM, FA, KK, OM, 7
Bakari S.Pd.,M.Pd NB, AZ
(NB) M Rais Salim, E SLU, ATA, JG, NB, EFH, 7
S.Pd.,M.Pd SLA, YH
14 Erlina Irawati Sabban, ATA SP, BL, SLU, E, JG, WLA, 11
Feralita S.Pd.,M.Pd NB, EFH, SLA, YH, AZ
Hihika Fahmi Jaguna, JG SP, SLU, E, ATA, WLA, 10
(EFH) S.Pd.,M.Pd OM, NB, EFH, SLA, YH
15 Sepdiana Nurhani Mahmud, MM BL, SLU, AP, FA, KK, OM, 7
Lape (SLA) S.Pd.,M.Pd AZ
Fahmi Jaguna, FA SLU, AP, MM, KK, OM, 7
S.Pd.,M.Pd NB, AZ
16 Yoap Nurhani Mahmud, KK SLU, AP, MM, FA, OM, 7
Hakini S.Pd.,M.Pd NB, AZ
(YH) Fahmi Jaguna, WLA SP, BL, ATA, JG, OM, SLA, 8
S.Pd.,M.Pd YH, AZ
17 Apsari Subhan Hayun, OM SP, SLU, AP, JG, MM, FA, 11
Zambrud S.Pd.,M.Pd KK, WLA, SLA, YH, AZ
(AZ) Julia Ismail, S.Pd.,M.Pd NB SLU, AP, ATA, JG, EFH, 7
SLA, YH
EFH SLU, E, ATA, JG, NB, SLA, 7
YH
SLA SP, SLU, E, ATA, JG, WLA, 10
OM, NB, EFH, YH
YH SP, SLU, E, ATA, JG, WLA, 10
OM, NB, EFH, SLA
AZ SP, BL, SLU, AP, ATA, 10
MM, FA, KK, WLA, OM

Gambar 1. Representasi titik


(Mahasiswa) yang bertetangga

Tabel 2. Ketetanggaan Setiap Titik


Titik Titik-Titik yang Dera
Bertetangga jat
Titik
SP BL, ATA, JG, WLA, OM, 8
Gambar 2. Pemberian warna pertama
SLA, YH, AZ
BL SP, ATA, MM, WLA, AZ 5

82
Copyright ©2019, Jurnal THEOREMS (The Original Research of Mathematics)
p-ISSN: 2528-102X, e-ISSN: 2541-4321, URL: http://jurnal.unma.ac.id/index.php/th
Jurnal THEOREMS (The Original Research of Mathematics) Vol. 4 No.1 Juli hal. 79-86 Tahun 2019

Berdasarkan langkah-langkah pada Gambar 4. Pemberian Warna Kedua


algoritma welch powell maka titik yang
diberikan warna pertama adalah titik Selanjutnya warnai titik-titik
SLU karena memiliki derajat yang dengan warna kedua dalam hal ini
paling besar. Misalkan warna yang warna yang dipakai adalah warna
digunakan adalah warna biru. merah. Seperti pada langkah
Selanjutnya warnai juga titik lain yang pewarnaan pertama, titik yang
tidak bertetangga dengan titik SLU diwarnai selanjutnya adalah titik
dengan warna biru. Namun setelah dengan derajat tertinggi (selain titik
keempat titik diberi warna biru, SLU), yaitu titik ATA atau OM,
terdapat titik yang bertetangga misalkan kita memilih titik ATA.
memiliki warna yang sama. Oleh Selanjutnya warnai titik yang tidak
karena itu, dua titik tidak boleh bertetangga dengan titik ATA dengan
diwarnai dengan warna biru, yaitu titik warna yang sama (warna merah), yaitu
BL dan titik SP (Gambar 3) titik AP, MM, KK dan OM. Sama
seperti pada pewarnaan pertama,
pemberian warna merah pada titik
mengakibatkan ada titik-titik yang
bertetangga memiliki warna yang
sama. Oleh karena itu perlu dilakukan
penghapusan warna pada tiga titik,
dalam hal ini titik MM, KK dan OM.

Gambar 3. Menghilangkan warna


pada titik SP dan BL

Gambar 5. Menghilangkan warna


pada titik MM, KK, dan OM

Selanjutnya lakukan cara yang


sama pada titik lainnya sedemikian
sehingga semua titik diberi warna dan
tidak ada titik yang bertetangga
memiliki warna yang sama.

83
Copyright ©2019, Jurnal THEOREMS (The Original Research of Mathematics)
p-ISSN: 2528-102X, e-ISSN: 2541-4321, URL: http://jurnal.unma.ac.id/index.php/th
Jurnal THEOREMS (The Original Research of Mathematics) Vol. 4 No.1 Juli hal. 79-86 Tahun 2019

Gambar 6. Hasil Pewarnaan Ketiga


Gambar 8. Hasil Pewarnaan Kelima

Gambar 7. Hasil Pewarnaan Keempat


Gambar 9. Hasil Pewarnaan Keenam

84
Copyright ©2019, Jurnal THEOREMS (The Original Research of Mathematics)
p-ISSN: 2528-102X, e-ISSN: 2541-4321, URL: http://jurnal.unma.ac.id/index.php/th
Jurnal THEOREMS (The Original Research of Mathematics) Vol. 4 No.1 Juli hal. 79-86 Tahun 2019

menjadi efektif tanpa ada tumpeng


tindih jadwal pembimbing.

4. KESIMPULAN
Berdasarkan hasil pemberian warna
titik-titik pada graf, maka diperoleh
jumlah warna minimum yang
dibutuhkan untuk mewarnai titik-titik
pada graf sedemikian sehingga tidak
ada titik-titik yang bertetangga
memiliki warna yang sama adalah
sebanyak 8 warna. Oleh karena itu
dapat dibuat suatu penjadwalan
bimbingan mahasiswa dalam delapan
waktu kelompok
Gambar 10. Hasil Pewarnaan Ketujuh Tabel 3. Pembagian Kelompok Waktu
Bimingan
Kelompok Warna Mahasiswa
1 Biru SLU, WLA
2 Merah APA, ATA
3 Kuning BL, E, OM
4 Hijau JG, AZ
5 Merah MM, SLA
Muda
6 Ungu FA, YH
7 Cokelat KK, SP, EFH
8 Abu-abu NB

5. DAFTAR PUSTAKA
[1] Astuti, S. (2011). Penyusunan
Jadwal Ujian Mata Kuliah Dengan
Algoritma Pewarnaan Graf Welch
Gambar 11. Hasil Pewarnaan Powell. Jurnal Dian, 11(1).
Kedelapan [2] Muktyas, I. B. (2010). Program
Pewarnaan Graf untuk Pemodelan
Berdasarkan tahapan pewarnaan Penjadwalan Ujian Semester di
dengan menggunakan algoritma welch Jurusan Matematika Unnes (Doctoral
powell, maka diperoleh delapan dissertation, Universitas Negeri
tahapan pewarnaan yang menunjukkan Semarang).
bahwa warna yang digunakan adalah [3] Harianto, K., & Fatdha, T. S. E.
sebanyak delapan warna. Delapan (2016). Penerapan Pewarnaan
warna tersebut menggambarkan Simpul Graf untuk Menentukan
delapan kelompok waktu bimbingan Jadwal Ujian Skripsi pada STMIK
yang dapat dijadwalkan oleh program Amik Riau Menggunakan
studi sehingga waktu bimbingan Algoritma Welch-Powell. SATIN-

85
Copyright ©2019, Jurnal THEOREMS (The Original Research of Mathematics)
p-ISSN: 2528-102X, e-ISSN: 2541-4321, URL: http://jurnal.unma.ac.id/index.php/th
Jurnal THEOREMS (The Original Research of Mathematics) Vol. 4 No.1 Juli hal. 79-86 Tahun 2019

Sains dan Teknologi Informasi, 1(2),


48-54.
[4] Dewi, F. K. S. (2010). Pembangunan
Perangkat Lunak Pembangkit
Jadwal Kuliah dan Ujian Dengan
Metode Pewarnaan Graf. Jurnal
Buana Informatika, 1(1).
[5] Diestel, R. (2010). Graph Theory 4th
edition. Springer.
[6] Munir, R. (2012). Matematika
Diskrit Revisi Kelima. Indformatika,
Bandung.

86
Copyright ©2019, Jurnal THEOREMS (The Original Research of Mathematics)
p-ISSN: 2528-102X, e-ISSN: 2541-4321, URL: http://jurnal.unma.ac.id/index.php/th
PENGEMBANGAN METODE GRAPH COLORING UNTUK UNIVERSITY COURSE
TIMETABLING PROBLEM PADA FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS
TARUMANAGARA

Lely Hiryanto dan Jacklin Sinthia Thio

Laboratorium Penelitian Distributed System, Fakultas Teknologi Informasi, Universitas Tarumanagara, Jl.
Letjen.S.Parman No. 1 Blok R Lantai XI Grogol, 11440, Jakarta Barat, Indonesia

E-mail: lely@fti.untar.ac.id

Abstrak

University Course Timetabling Problem merupakan proses penjadwalan mata kuliah di sebuah
universitas yang hasilnya diusahakan seoptimal mungkin untuk tidak saling berbenturan dengan
batasan-batasan dan syarat-syarat (constraints) tertentu. Dalam menentukan penjadwalan berbasis
perhitungan, salah satu metode yang dapat digunakan adalah Graph Coloring. Graph Coloring
merupakan merupakan metode yang paling sederhana dan dapat digunakan untuk menentukan
penjadwalan yang memiliki berbagai macam constraints. Pada penelitian ini, peneliti mengusulkan
pengembangan dari metode Graph Coloring yang ada untuk membuat penjadwalan mata kuliah yang
optimal dengan memertimbangkan berbagai macam constraints. Pengembangan ini diujicobakan ke
penjadwalan mata kuliah di Fakultas Teknologi Informasi Universitas Tarumanagara (FTI Untar).
Hasil percobaan menunjukkan bahwa pengembangan metode Graph Coloring memberikan hasil
penjadwalan yang memenuhi rata-rata 93% seluruh constraints yang ditentukan. Rata-rata 7%
pelanggaran constraints dikarenakan keterbatasan jumlah ruang dan total slot waktu kuliah, serta
permintaan jadwal tertentu oleh dosen.

Kata Kunci: university course timetabling problem, vertex-based graph coloring, welsh-powell
algorithm

Abstract

University Course timetabling problem is the process of scheduling courses at a university whose
results are optimally arranged to not collide with the limits and conditions (constraints) specified. In
determining the scheduling komputatif, one method that can be used is the Graph Coloring. Graph
Coloring is the simplest method and can be used to determine which have a variety of scheduling
constraints. In the present study, the researcher proposes the development of the existing methods of
Graph Coloring to make optimal scheduling of courses taking into account various constraints. This
development was tested to the scheduling of courses in the Faculty of Information Technology
University Tarumanagara (FTI Untar). The experimental results show that the development of
methods of Graph Coloring deliver results that meet the scheduling of an average 93% of all the
specified constraints. Average of 7% violation constraints due to limitations of space and the total
number of time slots in college, and request a specific schedule by the lecturer.

Keywords: university course timetabling problem, vertex-based graph coloring, welsh-powell


algorithm

1. Pendahuluan Hal yang serupa juga seringkali terjadi di


dalam melakukan penjadwalan untuk mata kuliah
Untuk menjalankan aktivitas sehari-hari, di universitas. Di setiap universitas perlu
umumnya kita membutuhkan penjadwalan dilakukan suatu penjadwalan mata kuliah yang
kegiatan agar setiap kegiatan dapat dijalankan dilakukan pada saat setiap semester hampir
pada waktunya dan tidak bertabrakan satu sama berakhir. Permasalahan penjadwalan ini pada
lain. Namun adakalanya, penyusunan jadwal umumnya disebut sebagai University Course
untuk kegiatan-kegiatan tersebut mengalami Timetabling Problem.
kendala karena jumlah kegiatan yang sangat Penjadwalan mata kuliah pada suatu
banyak, sehingga seringkali tidak ditemukan universitas dengan universitas lain berbeda satu
penjadwalan yang tepat untuk setiap kegiatan agar sama lain karena masing-masing universitas
dapat terlaksana dengan baik. memiliki constraints yang berbeda yang harus
dipenuhi oleh masing-masing universitas. Begitu

82
Hiryanto, dkk., Pengembangan Metode Graph Coloring untuk University Timetabling Problem 83

pula, dalam satu universitas, setiap fakultas Graph Coloring untuk mendapatkan distribusi
bahkan program studi dapat memiliki aturan mata kuliah yang merata untuk setiap warna dan
penjadwalan yang berbeda. Jumlah mata kuliah menyeimbangkan jumlah mata kuliah pada setiap
yang diselenggarakan oleh universitas tidaklah slot waktu yang tersebar di ruang-ruang kelas
sedikit dan tentunya akan memakan waktu yang yang ditentukan. Hasil percobaan mereka
cukup lama jika penjadwalan mata kuliah tersebut menunjukkan bahwa tetap terdapat tabrakan
dilakukan secara manual. dalam penjadwalan, tetapi terjadi peningkatan
Dalam menentukan penjadwalan secara dalam tingkat pemanfaatan sumber daya yaitu
komputatif, sejumlah peneliti berfokus ruang kuliah.
memberikan solusi untuk University Course Penelitian ini berfokus untuk
Timetabling Problem dengan menerapkan Genetic mengembangkan metode Graph Coloring untuk
Algorithm (GA) melalui sejumlah pengulangan University Course Timetabling Problem. Contoh
untuk menghasilkan populasi yang baru kasus spesifik digunakan permasalahan
(pemilihan kromoson terbaik) menuju solusi penjadwalan mata kuliah di FTI Untar. Tujuan
berbagai macam penjadwalan yang cukup optimal dari pengembangan metode tersebut adalah untuk
[1-5]. Permasalahan utama dari GA adalah waktu menentukan algoritma baru yang didasarkan pada
pemrosesan yang cukup lama untuk optimalisasi metode Graph Coloring yang dapat menghasilkan
penjadwalan. Hasil penjadwalan didasarkan pada penjadwalan mata kuliah yang optimal agar
pemilihan nilai fitness terbaik yang merupakan jadwal kelas mata kuliah yang tidak boleh
formulasi dari setiap pelanggaran constraints. bertabrakan dapat diminimalkan atau sampai tidak
Neural Network (NN) adalah metode lain lagi bertabrakan.
yang banyak digunakan untuk proses Paper ini disusun dalam 4 bagian. Bagian 2
penjadwalan. Untuk University Course membahas tentang metode Graph Coloring.
Timetabling Problem, penerapan NN terbukti beserta pengembangan metode Graph Coloring,
dapat memberikan hasil penjadwalan yang cukup berbentuk model solusi penjadwalan mata kuliah.
optimal [6]. Bagian 3 melaporkan hasil percobaan
Metode lain yang lebih sederhana, tetapi menggunakan kasus penjadwalan mata kuliah di
dapat memberikan hasil yang optimal adalah FTI Untar, yang kemudian hasilnya disimpulkan
metode Graph Coloring. Metode ini merupakan pada bagian 4. Pada bagian 4 ini pun diusulkan
metode yang paling sederhana dan dapat rencana penelitian selanjutnya terkait dengan
digunakan untuk menentukan penjadwalan mata topik penelitian ini.
kuliah yang memiliki berbagai macam
constraints. 2. Metodologi
Metode Graph Coloring merupakan metode
yang digunakan untuk menentukan jumlah warna Graph didefinisikan sebagai kumpulan dari
minimum yang dapat diberikan pada nodes atau titik-titik simpul yang disebut vertex atau node
edges di dalam sebuah graph sehingga nodesatau serta kumpulan dari garis-garis yang disebut edge
edges yang saling berhubungan tidak memiliki [10]. vertexs yang berada di dalam graph ini akan
warna yang sama. Berdasarkan cara kerjanya dihubungkan satu sama lain oleh edges yang
tersebut, metode ini dapat dipastikan berada di dalam graph tersebut.
menghasilkan penjadwalan kegiatan dapat Kegunaan graph sangat banyak. Umumnya
meminimalkan atau sampai menghilangkan graph digunakan untuk memodelkan suatu
pelanggaran terhadap constraints. masalah sehingga menjadi lebih mudah untuk
Malkawi dkk [7] menerapkan metode ini dan diselesaikan, yaitu dengan cara merepresentasikan
berdasarkan hasil percobaan mereka, penggunaan objek-objek tersebut. Contoh pemodelan suatu
metode Graph Coloring ini mampu membantu di masalah dengan menggunakan graph dapat dilihat
dalam menentukan jadwal ujian yang optimal dan pada penggambaran rangkaian listrik, jaringan
akurat dengan constraints yang sedemikian rupa. network komputer, peta, dan lain-lain.
Terkait dengan penjadwalan mata kuliah, Dalam matematika diskrit, graph dikenal
Koyuncu dan Seçir [8] menerapkan metode sebagai pasangan himpunan (V,E), di mana:
Graph Coloring dan mendapatkan suatu
penjadwalan mata kuliah yang tidak bertabrakan V : himpunan dari titik-titik simpul dan bukan
satu sama lain, dengan mengasumsikan vertex merupakan himpunan yang kosong = {v1, v2, v3,
sebagai mata kuliah dan jika antar dua vertex tidak …, vn)
boleh bertabrakan, maka dibuatkan edge. vertex E : himpunan sisi dari graph tersebut yang
yang langsung terhubung akan diwarnai dengan menghubungkan sepasang simpul pada graph =
warna yang berbeda. Dandashi dan Mouhamed [9] {e1, e2, …, en}.
melakukan modifikasi terhadap vertex-based
84 Jurnal Ilmu Komputer dan Informasi, Volume 4, Nomor 2, Juni 2011

Jika sebuah edge e1 menghubungkan sepasang wilayah yang bersebelahan yang memiliki warna
vertex vi dan vj, maka secara sederhana hubungan yang sama. Pewarnaan wilayah banyak diterapkan
tersebut digambarkan pada gambar 1. di dalam masalah pewarnaan peta.
Pewarnaan vertex merupakan pemberian
e1 = (vi,vj) (1) warna pada tiap-tiap vertex di dalam graph
sehingga setiap vertex yang bertetangga satu sama
lain tidak memiliki warna yang sama. Pewarnaan
vertex ini banyak digunakan di dalam
menyelesaikan permasalahan penjadwalan. Pada
subbab berikutnya akan dijelaskan mengenai
pewarnaan vertex lebih lanjut.
Pewarnaan vertex merupakan pemberian
warna pada tiap-tiap vertex di dalam graph
sehingga setiap vertex yang saling bertetangga
tidak memiliki warna yang sama. Di dalam
pewarnaan vertex, jumlah warna yang boleh
dipergunakan haruslah seminimal mungkin.
Gambar 1. Bentuk sebuah graph sederhana [10]. Jumlah warna paling minimum yang dapat
diterapkan pada Graph ini sering disebut dengan
Pada gambar di atas terdapat sebuah graph angka kromatik (χ(G)).
sederhana G yang berisikan sekumpulan vertex Pada pewarnaan vertex banyak digunakan
dan edge. Secara matematis, kondisi tersebut teorema-teorema yang pada dasarnya bertujuan
dapat dituliskan sebagai berikut [10]: untuk menentukan batas jumlah warna maksimum
yang dapat digunakan oleh sebuah graph.
G = (V, E) (2) Meskipun yang ingin dicari pada pewarnaan
vertex adalah jumlah warna paling minimum yang
Keterangan : harus dipakai agar lebih efisien, namun jumlah
V = (v1, v2, v3, v4) warna minimum tersebut belum dapat ditentukan
E = (e1, e2, e3,e4) jika graph belum diwarnai. Karenanya, sebelum
mewarnai vertex pada graph, perlu ditentukan
Pada graph di atas, v1 dan v4 disebut batas jumlah warna yang diperbolehkan pada
sebagai vertex-vertex yang saling bertetangga. suatu graph. Salah satu teorema yang paling
Dua buah vertex dikatakan bertetangga jika kedua dikenal adalah teorema Brook [12]. Teorema
vertex dihubungkan langsung oleh sebuah edge. Brook menyatakan bahwa jika suatu Graph
Karenanya selain v1 dan v4, v1 dan v2 serta v3 merupakan simple graph, yaitu sebuah Graph
dan v4, juga disebut sebagai vertex yang saling yang tidak memiliki lebih dari satu edge yang
bertetangga. menghubungkan dua buah vertex, maka batasan
Graph Coloring merupakan salah satu jumlah maksimum warna yang dapat digunakan
metode yang paling sering dibahas di dalam pada graph tersebut dapat dirumuskan sebagai
pengaplikasian teori Graph ke dalam berbagai berikut [12]:
permasalahan. Pewarnaan pada graph dapat
diartikan sebagai pemberian tanda atau label pada χ(G) ≤ d + 1 (3)
tiap-tiap vertex, edge, atau wilayah sehingga
setiap vertex, edge, atau wilayah yang saling dan jika graph yang ada bukan merupakan simple
berhubungan satu sama lain tidak memiliki label graph, maka batasan jumlah maksimum warna
yang sama. Label yang dimaksudkan di sini yang dapat digunakan pada graph ini dapat
adalah warna yang diberikan pada masing-masing dirumuskan sebagai berikut [12]:
edge, vertex, atau wilayah.
Pewarnaan pada graph dapat dibedakan χ(G) ≤ d (4)
menjadi tiga yaitu pewarnaan vertex, pewarnaan
edge, dan pewarnaan wilayah. Pewarnaan edge keterangan :
merupakan pemberian warna pada tiap-tiap edge χ(G) : angka kromatik, jumlah minimum
di dalam graph sehingga setiap edge yang warna yang dapat dipakai pada graph
berhubungan dengan vertex yang sama tidak d : derajat terbesar dari vertex-vertex pada
memiliki warna yang sama [11]. Pewarnaan Graph
wilayah merupakan pemberian wilayah pada tiap-
tiap bagian di dalam graph sehingga tidak ada
Hiryanto, dkk., Pengembangan Metode Graph Coloring untuk University Timetabling Problem 85

Gambar 2. Flow chart Algoritma Welsh-Powell.

Pada pewarnaan vertex, terdapat banyak sebuah graph yang memiliki delapan vertex
algoritma yang dapat digunakan. Namun, pada seperti pada gambar 3.
umumnya algoritma yang paling sering digunakan Agar dapat mewarnai seluruh vertex tanpa
untuk pewarnaan vertex ini adalah algoritma adanya vertex bersebelahan yang memiliki warna
Welsh–Powell [13]. Langkah-langkah yang sama, maka dipergunakan algoritma Welch
penyelesaian pewarnaan vertex menggunakan – Powell. Adapun langkah-langkah penyelesaian
algoritma Welsh-Powell memiliki beberapa 3 Graph Coloring pada gambar 3 dengan
tahapan [13]. Pertama, urutkan semua simpul menggunakan algoritma Welch - Powell terdiri
berdasarkan derajatnya, dari derajat besar ke dari beberapa langkah.
derajat kecil. Langkah kedua, ambil warna
pertama (misalnya merah), warnai simpul pertama
yang sudah terurut berdasarkan derajatnya tadi.
Kemudian warnai simpul berikutnya yang tidak
berdampingan dengan simpul pertama tadi dengan
warna yang masih sama (merah). Kemudian
lanjutkan pewarnaan dengan warna kedua, dan
seterusnya, sampai semua simpul telah diberi
warna
Langkah-langkah di atas dapat dibuat
menjadi sebuah bagan alur yang dapat dilihat pada
gambar 2. Sebagai contoh, dimisalkan terdapat
Gambar 3. Sebuah Graph dengan delapan vertex.
86 Jurnal Ilmu Komputer dan Informasi, Volume 4, Nomor 2, Juni 2011

Pertama, urutkan vertexs di atas dari vertex Pada langkah keempat, vertex yang tersisa
yang memiliki derajat terbesar (banyaknya edge hanya vertex B dan F. vertex B dan F memiliki
yang terhubung pada vertex) hingga yang terkecil. derajat yang sama, sehingga bebas ditentukan
Dari gambar di atas diketahui bahwa urutan vertex mana yang akan diwarnai terlebih dahulu.
vertexs yang sudah disusun adalah : E, C, B, D, F, Warna ketiga ditentukan dan harus berbeda dari
A, H, G. Maka pewarnaan dimulai dari vertex warna pertama dan warna kedua, dalam hal ini
dengan derajat terbesar terlebih dahulu yaitu E. warna hijau dipilih sebagai warna ketiga. vertex B
Tentukan sebuah warna yang akan diberikan pada diberi warna hijau. Dan karena vertex F tidak
vertex E, misalnya warna merah. Kemudian, bertetangga dengan vertex B, maka vertex F
vertex E diwarnai dengan warna merah. diberikan warna yang sama dengan vertex B
Selanjutnya, ditentukan vertex yang tidak seperti yang terlihat pada gambar 6.
bertetangga dengan vertex E dan diberi warna
merah juga. Dalam graph ini hanya vertex G dan
vertex A yang tidak bertetangga dengan vertex E.
Gambaran dari langkah kedua tersebut dapat
dilihat pada gambar 4.

Gambar 6. vertex B dan F selesai diwarnai.

Setelah seluruh vertex selesai diwarnai,


dapat dilihat bahwa jumlah warna minimum yang
diperlukan oleh graph pada contoh di atas adalah
Gambar 4. vertex A, E, dan G selesai diwarnai. tiga warna yang berbeda. Sehingga angka
kromatik yang dimiliki oleh graph di atas adalah:
Selanjutnya, abaikan vertex yang sudah
diberi warna sehingga urutan vertex yang tersisa χ(G) = 3 (5)
adalah : C, B, D, F, H. Karena vertex C kini
merupakan vertex dengan derajat terbesar, maka Setiap penjadwalan, terutama untuk
vertex C diwarnai selanjutnya. Warna keduapun penjadwalan mata kuliah di sebuah universitas,
ditentukan dan berbeda dengan warna pertama, memiliki batasan-batasan dan syarat-syarat
dalam hal ini warna biru dipilih sebagai warna tertentu, yang selanjutnya peneliti sebut sebagai
kedua. Kemudian, tentukan vertex-vertex lain constraints. Berdasarkan pengelompokkan harus
yang tidak bertetangga dengan vertex C. Pada dan tidak harusnya constraints tersebut dipenuhi,
Graph ini, vertex yang tidak bertetangga dengan terdapat dua jenis, yaitu hard constraints dan soft
vertex C hanya vertex D dan vertex H, seperti constraints. Hard constraints adalah batasan-
yang terlihat pada gambar 5. batasan dan syarat-syarat yang harus dipenuhi
dalam penjadwalan mata kuliah tertentu. Soft
constraints sebaliknya adalah batasan-batasan dan
syarat-syarat yang tidak harus dipenuhi dalam
penjadwalan mata kuliah tertentu.
Pembuatan model solusi dilakukan untuk
memastikan bahwa hard constraints terpenuhi
semua, dan soft constraints jika dimungkinkan
pun dapat diikutsertakan seluruhnya. Model solusi
yang dibuat didasarkan pada teknik Graph
Coloring dengan algoritma Welsh-Powell [13].
Untuk model solusi yang diusulkan, terdapat
dua poin yang ditambahkan pada algoritma
Welsh–Powell [13] agar dapat memenuhi semua
Gambar 5. vertex C, D, H selesai diwarnai. hard constraints, dan sebagian besar soft
Hiryanto, dkk., Pengembangan Metode Graph Coloring untuk University Timetabling Problem 87

constraints. Poin pertama adalah pembuatan Langkah keempat, jika (n > s*h), lakukan
matriks bobot hubungan antar dua simpul (untuk optimalisasi sebagai berikut. Dapatkan t
kasus penjadwalan mata kuliah, node tersebut kelompok kelas mata kuliah berwarna sama
adalah sebuah kelas mata kuliah). Poin kedua dengan jumlah kelas mata kuliah terkecil, yaitu E
adalah optimalisasi penjadwalan, yaitu langkah = { E1, E2, …, Et }, untuk t = n – s*h dan E  W.
yang memanfaatkan matriks bobot hubungan Setelah itu, for each e  Ei do, dapatkan posisi e
tersebut jika penggunaan warna melebihi total slot terbaik, yaitu posisi e di Wj dengan dengan
waktu yang dialokasikan dan jumlah simpul di jumlah derajat ( matBobotRele,l ) terkecil, untuk
satu atau beberapa warna melebihi jumlah ruang setiap l  Wj dan Wj  E, lalu pindahkan e dari Ei
yang ditentukan. ke Wj
Gambar 7 adalah model solusi berdasarkan Langkah kelima, jika terdapat u kelompok
modifikasi algoritma Welsh-Powell [13] yang kelas mata kuliah berwarna sama dengan jumlah
diusulkan: kelas mata kuliah lebih dari r ruang kuliah, F = {
F1, F2, …, Fu }, for each f  Fi do, dapatkan posisi
Diasumsikan terdapat: f terbaik, yaitu posisi f di Wj dengan dengan
m kelas mata kuliah M={M1,M2, …, Mm}, jumlah derajat ( matBobotRelf,l ) terkecil, untuk
r ruang kuliah R={R1,R2, …, Rr}
setiap l  Wj dan Wj  F, kemudian pindahkan f
h hari kuliah H={H1,H2, …, Hh}
dari Fi ke Wj. Langkah keenam, alokasikan hari,
s slot waktu kuliah S={S1,S2, …, Ss}
waktu, dan slot waktu untuk setiap Mi. Cetak
jadwal mata kuliah.
matBobotReli,j adalah matriks bobot hubungan
Berdasarkan hasil survey dari pihak
antar dua mata kuliah yang diinisialisasi dengan 0.
Fakultas yang mengatur bagian penjadwalan mata
Terdapat 6 langkah penjadwalan. Pertama,
kuliah, yaitu Jurusan Informatika, dan sejumlah
tentukan himpunan hard constraints, yaitu HARD,
mahasiswa FTI Untar dari berbagai angkatan,
dan soft constraints, SOFT. Kedua, soft diperoleh sejumlah constraints yang dapat
constraintsuntuk pasangan (Mi, Mj) diurutkan dikelompokkan sebagai hard constraints dan soft
berdasarkan Mi dan Mj yang dialikasikan ke dosen constraints.
tidak tetap, untuk i=1,2, …, m; j=1,2, …, m, dan Constraint pertama terkait dengan dosen,
ij: yaitu dosen yang sama dapat mengajar sejumlah
mata kuliah baik di program studi Teknik
if ((Mi, Mj) not statisfied HARD) then
matBobotReli,j = 3
Informatika dan Sistem Informasi. Oleh karena
else if ((Mi, Mj) not statisfied SOFT) then itu, jadwal kelas mata kuliah untuk dosen yang
matBobotReli,j = 1 sama sudah tentu harus berbeda.
Constraint kedua terkait dengan jumlah
Gambar 7. Kode program modifikasi algoritma Welsh-Powell. ruang yang dapat digunakan untuk proses
perkuliahan. Awalnya FTI Untar memiliki 18
Langkah ketiga, lakukan pewarnaan graph ruangan yang dapat dipakai, mulai dari lantai 7
berdasarkan nilai-nilai matBobotReli,j dengan cara sampai dengan lantai 8, sehingga saat ini ada 12
urutkan semua node (kelas mata kuliah) ruang kuliah.
berdasarkan derajatnya ( matBobotRelk,l untuk Jam kuliah yang diberlakukan oleh FTI
setiap nilai k di 1,2, …, m, sejumlah l di 1,2, …, Untar saat ini menggunakan sistem slot, yaitu Slot
m, dan kl dengan matBobotRelk,l = 3 and I pukul 08.00 – 11.00, Slot II pukul 11.00 – 14.00,
matBobotRelk,l = 1), dari derajat besar ke derajat dan Slot III pukul 14.00 – 17.00. Ketiga slot ini
kecil. Kemudian, ambil warna pertama (misalnya diterapkan untuk lima hari kuliah dari Senin
merah), warnai simpul pertama (Mi) yang sudah sampai dengan Jumat. Slot dan hari kuliah
terurut berdasarkan derajatnya tadi. Kemudian tersebut menjadi constraint ketiga yaitu total slot
warnai simpul berikutnya (Mj) yang tidak waktu kuliah sejumlah 15 slot.
berdampingan (matBobotReli,j = 0; ij) dengan Constraint keempat, untuk mata kuliah
simpul pertama tadi dengan warna yang masih dalam satu semester yang sama, untuk kelas yang
sama (merah). Lanjutkan pewarnaan dengan berbeda dapat dibentrokan, tetapi jika sama, maka
warna kedua, dan seterusnya, sampai semua tidak boleh bentrokan. Jadi, diasumsikan
simpul telah diberi warna. Catatan asumsikan mahasiswa yang mengambil kelas A untuk satu
diperoleh n kelompok kelas mata kuliah berwarna mata kuliah, selanjutnya harus mengambil mata
sama, yaitu W = { W1, W2, …, Wn }. kuliah lain di kelas A pula.
88 Jurnal Ilmu Komputer dan Informasi, Volume 4, Nomor 2, Juni 2011

Selain itu, antara semester 1 dan 3 tidak Schedule, model solusi pada Model Solusi
boleh bertabrakan, semester 3 dan 5 tidak boleh Penjadwalan direalisasikan untuk constraints pada
bertabrakan, dan semester 5 dan 7 tidak boleh Constraint pada Penjadwalan Mata kuliah di FTI
bertabrakan. Syarat-syarat ini merupakan Untar. Gambar 8 memperlihatkan tampilan layar
constraint kelima. untuk modul ini. Pengujian Black Box Testing
Untuk mata kuliah pilihan, sebaiknya tidak telah diterapkan untuk mencari jika ada
ditabrakkan jadwalnya dengan mata kuliah di kesalahan-kesalahan pada fungsi program,
semester 5, 6, 7, dan 8, karena pada semester- interface, maupun output program.
semester tersebut, mahasiswa dapat mengambil Hasil Percobaan untuk Data Mata Kuliah
mata kuliah tersebut. Syarat ini termasuk dalam FTI Untar. Peneliti menggunakan data mata
constraint keenam. kuliah yang ditawarkan oleh program studi
Selanjutnya constraint ketujuh, khusus untuk Teknik Informatika dan Sistem Informasi FTI
program studi Teknik Informatika, saat ini setiap Untar pada semester Ganjil dan Genap tahun
mata kuliah pilihan sudah dikelompokkan ke akademik 2010/2011. Untuk semester Ganjil,
bidang kajian ilmunya masing-masing, sedangkan terdapat 87 kelas mata kuliah dan 97 kelas mata
untuk program studi Sistem Informasi sampai saat kuliah untuk semester Genap.
ini belum ada pengelompokkan. Untuk mata Dari hasil uji coba yang diperoleh dapat
kuliah pilihan yang termasuk dalam satu bidang dilihat bahwa penempatan kelas cukup merata dan
kajian yang sama, tidak boleh ditabrakkan setiap mata kuliah telah berhasil dijadwalkan serta
penjadwalannya. tidak terdapat mata kuliah yang diajar oleh dosen
Permintaan dosen akan hari dan slot waktu yang sama diselenggarakan pada waktu
mengajar yang diinginkan menjadi constraint bersamaan dan kelompok-kelompok kelas yang
terakhir. Constraint ini dikhususkan untuk dosen- berwarna berbeda memiliki slotnya masing-
dosen tidak tetap (termasuk dosen lintas program masing. Tetapi, untuk pemanfaatan ruangan masih
studi). kurang optimal.
Delapan constraints tersebut dikelompokkan Dari hasil percobaan, dapat dilihat bahwa
menjadi dua: hard constraints (constraint penjadwalan yang telah dihasilkan sudah
pertama, kedua, ketiga, dan keempat) dan soft memenuhi contraints yang ada. Hard constraints
constraints (constraint kelima, keenam, ketujuh, sudah tidak dilanggar pada program aplikasi ini,
dan kedelapan). meskipun masih ada beberapa soft constraints
yang terlanggar karena langkah optimalisasi yang
3. Hasil dan Pembahasan dilakukan untuk menjadwalkan mata kuliah.
Untuk semester Ganjil, terdapat 5 kelas mata
Spesifikasi Program Aplikasi Penjadwalan. kuliah dan 8 kelas mata kuliah untuk semester
Untuk menerapkan usulan model solusi pada Genap yang melanggar soft constraints.
kasus FTI Untar, peneliti membuat sebuah Optimalisasi tersebut dilakukan dikarenakan
program aplikasi penjadwalan mata kuliah di FTI terdapat jumlah kelompok kelas berwarna sama
Untar, dengan spesifikasi rancangan Visual C# melebihi total slot waktu yang ditetapkan oleh FTI
.Net dan Microsoft SQL Server 2008 serta dua Untar. Kelas-kelas mata kuliah untuk sejumlah
modul utama. Visual C# .Net sebagai bahasa kelompok kelas akan dijadwalkan ulang
pemrograman dan Microsoft SQL Server 2008 (rescheduling) dengan melanggar soft constraints
sebagai basis data. Dua modul utama, yaitu Modul yang ada, namun hardconstraints tidak akan
Data dan Modul Generate Schedule. Pada Modul dilanggar. Untuk kondisi satu atau lebih kelompok
Data, user dapat mengatur berbagai macam input kelas mata kuliah berwarna sama memiliki kelas
data yang perlu dimasukkan agar proses mata kuliah sebagai anggotanya melebihi jumlah
penjadwalan mata kuliah dapat dilakukan. ruang yang disediakan, tidak ditemukan dalam
Pengaturan input di dalam modul ini dibedakan kasus penjadwalan mata kuliah FTI Untar.
menjadi beberapa sub-modul yaitu Sub-modul Selain itu, ditemukan dari jadwal yang
input data mata kuliah, Sub-modul input data dihasilkan, terdapat sejumlah dosen yang harus
dosen, Sub-modul input data Ruang, Sub-modul mengajar lebih satu kali dalam satu hari. Peneliti
input data Jadwal Dosen Tidak Tetap, dan Sub- menemukan bahwa mendahulukan penjadwalan
modul input data Kelas yang Diajar Dosen. untuk dosen tidak tetap membantu mengurangi
Gambar 7 memperlihatkan tampilan layar untuk permasalahan tersebut.
modul ini. Sedangkan, dalam modul Generate
Hiryanto, dkk., Pengembangan Metode Graph Coloring untuk University Timetabling Problem 89

Gambar 8. Tampilan modul Input.

Gambar 9. Tampilan layar modul Generate Schedule.


90 Jurnal Ilmu Komputer dan Informasi, Volume 4, Nomor 2, Juni 2011

Pengaturan tersebut juga dapat Terakhir, usulan model solusi belum dapat
meminimalkan jumlah pelanggaran soft memberikan pemanfaatan sumber daya, yaitu
constraints dikarenakan adanya pemenuhan ruang kuliah yang lebih optimal. Untuk penelitian
constraint kedelapan yaitu permintaan jadwal selanjutnya, peneliti berfokus melakukan
tertentu oleh dosen tidak tetap. Untuk kasus FTI percobaan diantaranya, fleksibilitas dalam
Untar, pihak Jurusan tidak memiliki syarat berapa penentuan slot waktu, tetapi tetap memenuhi
minimal dalam satu hari dosen yang sama harus constraints yang ditetapkan; pengembangan
mengajar. model solusi agar dapat lebih memanfaatkan
Begitu pula keharusan dalam satu hari tidak sumber daya yang ada, terutama ketersediaan
boleh ada lebih dari satu kelas mata kuliah dalam ruang kuliah; pembuatan model solusi
semester yang sama yang diselenggarakan. Untuk penjadwalan kedua dengan menerapkan metode
sejumlah universitas, dua constraints tersebut penjadwalan lainnya, yaitu Particle Swarm
dipertimbangkan dalam penyusunan jadwal. Optimization, untuk membandingkan optimalitas
Berdasarkan hasil survei kembali ke pihak penjadwalan mata kuliah yang dihasilkan oleh
Jurusan yang mengatur bagian penjadwalan mata model solusi pertama ini dengan adanya
kuliah, ditemukan bahwa adanya kebutuhan keterbatasan ruang dan waktu kuliah; serta
penggunaan slot waktu yang tidak dinamis, pengembangan model solusi untuk kasus
disesuaikan dengan jumlah SKS mata kuliah. penjadwalan selain penjadwalan mata kuliah di
Tapi, untuk sementara, pihak Jurusan dapat universitas.
menggunakan solusi yang diusulkan ini dengan
mengalokasikan kelas mata kuliah ber-SKS 2 di Referensi
slot waktu yang ada yang memiliki rentang waktu
3 jam. [1] E. Burke, D. Elliman, & R. Weare, “A
Pada penelitian ini, tiga syarat tambahan Genetic Algorithm Based University
yang diuraikan di atas belum dipertimbangkan. Timetabling System” In 22nd East-West
Syarat tersebut dipertimbangkan untuk dicakup Conference on Computer Technologies in
pada penelitian selanjutnya. Education, pp. 35-40, 1994.
[2] V.V. Peteghem and M. Vanhoucke, “A
4. Kesimpulan Genetic Algorithm for Resource-Constrained
Project Scheduling Problem”,
Berdasarkan hasil percobaan menggunakan http://citeseerx.ist.psu.edu/viewdoc/
data penawaran mata kuliah pada tahun akademik download?doi=10.1.1.91.2444&rep=rep1&t
2010/2011, dapat disimpulkan beberapa hal. ype=pdf, 2008, retrieved January 3, 2011.
Pertama, usulan model solusi penjadwalan mata [3] E. Burke, D. Ellman, R. Weare, “The
kuliah di sebuah universitas melalui Automated Timetabling of University Exams
using a Hybrid Genetic Algorithm” In
pengembangan metode Graph Coloring dapat
Proceedings of the Sixth International
digunakan untuk melakukan suatu penjadwalan
Conference on Genetic Algorithms, 1995.
mata kuliah yang memiliki berbagai macam
[4] D. Kordalewski, C. Liu, K. Salvesen,
constraints serta ketentuan yang harus dipenuhi “Solving an Exam Scheduling Problem
dengan keterbatasan ruang dan waktu kuliah. Using a Genetic Algorithm” In Proceeding
Kedua, dengan model solusi tersebut, adanya of the Sixth International Conference on
kelas mata kuliah yang saling bertabrakan dapat Industrial and Engineering Aplications of
dihindari karena metode ini memeriksa setiap Artificial Intelligence and Expert Systems,
kemungkinan bertabrakannya mata kuliah tersebut 1993.
dengan mata kuliah yang lain. Ketiga, hasil [5] K. Mahar, “Automatic Generation of
percobaan untuk dua semester di tahun akademik University Timetables: An Evolutionary
tersebut menunjukkan bahwa rata-rata 93% kelas Approach” In IADIS International
mata kuliah yang ditawarkan di masing-masing Conference Applied Computing, pp. 570-
semester untuk kedua program studi dapat 574, 2006.
dijadwalkan tanpa melanggar hard constraints [6] J.N.D. Gupta, R. S. Sexton, E. A. Tunc,
dan soft constraints. Keempat, rata-rata 7% kelas “Selecting Scheduling Heuristics using
mata kuliah yang terjadwal, tapi harus melanggar Neural Networks, ” Informs Journal on
soft constraints dikarenakan langkah optimalisasi Computing, vol. 12, pp. 150-162, 2000.
untuk memenuhi constraints jumlah ruang, total [7] M. Malkawi, M.A. Hassan, O.A. Hassan, “A
slot waktu kuliah, dan permintaan jadwal tertentu New Exam Scheduling Algorithm Using
Graph Coloring,” The International Arab
oleh dosen tidak tetap.
Hiryanto, dkk., Pengembangan Metode Graph Coloring untuk University Timetabling Problem 91

Journal of Information Technology, vol. 5, [10] M.O. Albertson & J.P. Hutchinson, Discrete
pp. 11-68, 2008. Mathematics with Algorithms, John Wiley &
[8] B. Koyuncu & M. Seçir, “Student Time Sons, New Jersey, 1988.
Table By Using Graph Coloring [11] J.A. Bondy & U.S.R. Murty, Graph Theory
Algorithm,” In 5th International Conference with Applications, Elsevier Science
on Electrical and Electronics Engineering – Publishing Co., Inc., Amsterdam, 1982.
ELECO, 2007. [12] P. Hajnal & E. Szemerédi, “Brooks coloring
[9] A. Dandashi & M.A. Mouhamed, “Graph in parallel,” SIAM Journal on Discrete
Coloring for Class Scheduling” In AICCSA Mathematics, vol.3, pp. 74-80, 1990.
'10 Proceeding of the ACS/IEEE [13] D.J.A. Welsh & M.B. Powell, “An upper
International Conference on Computer bound for the chromatic number of a graph
Systems and Applications – AICCSA, pp. 1- and its application to timetabling problems,”
4, 2010. The Computer Journal, vol.10, pp. 85–86,
1967.
Penerapan Graph Colouring Untuk Merencanakan Jadwal
Hengky Budiman

NIM : 13505122
Program Studi Teknik Informatika, STEI
Institut Teknologi Bandung
Jl. Ganesha 10, Bandung
E-mail : if115122@students.if.itb.ac.id

Abstrak

Makalah ini membahas mengenai metode – metode mengenai cara membuat / merencanakan jadwal
dengan menggunakan teknik mewarnai graf atau graph colouring. Pewarnaan graf di sini adalah pewarnaan
simpul atau vertex colouring .

Pewarnaan simpul adalah teknik mewarnai simpul – simpul pada graf sehingga tidak ada simpul - simpul
yang bertetangga, yaitu terhubung langsung dengan minimal sebuah sisi, memiliki warna yang sama.
Biasanya hal ini juga dikaitkan dengan penggunaan warna yang seminimal mungkin.

Teknik pewarnaan graf merupakan salah satu subjek yang menarik dan terkenal dalam bidang graf. Teori –
teori mengenainya telah banyak dikembangkan dan berbagai algoritma dengan kelebihan dan kelemahan
masing – masing telah dibuat untuk menyelesaikannya. Aplikasi dari teknik ini juga telah banyak
diterapkan di berbagai bidang, salah satunya adalah membuat jadwal. Perencanaan jadwal di sini khusunya
diterapkan pada pekerjaan – pekerjaan atau hal – hal yang saling terkait, misalnya hal – hal yang
berlangsung pada waktu yang sama, atau pekerjaan yang menggunakan sumber daya yang sama, dan
sebagainya. Teknik pewarnaan graf akan membuat jadwal kerja yang dapat menghasilkan hasil yang
maksimum dengan cara yang paling efisien.

Kata Kunci : graf, graph colouring, bilangan kromatik, scheduling optimization, graph colouring
algorithm, aplikasi pewarnaan graph.

1. Pendahuluan sehingga menjadi lebih mudah, yaitu dengan cara


merepresentasikan objek – objek diskrit dan
Graf adalah salah satu pokok bahasan hubungan antara objek – objek tersebut. Contoh
Matematika Diskrit yang telah lama dikenal dan pemodelan suatu masalah dengan menggunakan
banyak diaplikasikan pada berbagai bidang. graf dapat dilihat pada penggambaran rangkaian
Secara umum, graf adalah pasangan himpunan listrik, senyawa kimia, jaringan komunikasi,
(V,E) di mana V adalah himpunan tidak kosong jaringan network komputer, analisis algoritma,
dari simpul – simpul (vertex atau node) dan E peta, struktur hierarki sosial, dan lain – lain.
adalah himpunan sisi (edges atau arcs) yang
menghubungkan sepasang simpul pada graf Salah satu topik yang menarik pada graf adalah
tersebut. masalah pewarnaan graf (graph colouring).
Bidang ini memiliki sejarah yang sangat menarik
V= {v1,v2,v3,...,vn} dan teori – teorinya telah menimbulkan banyak
E= {e1,e2,e3,...,en} perdebatan pada kalangan matematikawan.
Atau
E= {(v1,v2),(v2,v3),(v3,v4),...,(vn-1,vn)} Terdapat tiga macam pewarnaan graf, yaitu
Di mana e=(vi,vj) yang artinya sisi yang pewarnaan simpul (vertex colouring), pewarnaan
menghubungkan simpul vi dan vj [6] sisi (edge colouring), dan pewarnaan wilayah
(face colouring). Teknik yang dibahas pada
Kegunaan graf sangat banyak. Umumnya graf makalah ini adalah pewarnaan simpul, teknik
digunakan untuk memodelkan suatu masalah yang lain tidak dibahas karena teknik – teknik
tersebut hanyalah merupakan bentuk lain dari
pewarnaan simpul dan dapat diubah kembali
menjadi model pewarnaan simpul. Misalnya
pewarnaan sisi adalah pewarnaan simpul dengan
sisinya dianggap sebagai simpul dan pewarnaan
wilayah adalah pewarnaan simpul dari graf dual
planarnya

Masalah utama dalam pewarnaan simpul graf


adalah bagaimana mewarnai semua simpul pada
graf sehingga tidak ada simpul – simpul yang
bertetangga, yaitu dihubungkan oleh minimal
satu buah sisi, memiliki warna yang sama. Hal
ini biasanya kemudian dikaitkan dengan
penggunaan warna yang seminimum mungkin.
Jumlah warna minimum yang dapat digunakan Gambar 1.2 Contoh Peta Dunia
untuk mewarnai semua simpul disebut bilangan
kromatik dari graf G, dan disimbolkan dengan
Masalah pewarnaan graf memiliki banyak
X(G). Contohnya graf berikut :
aplikasi di dalam bidang lain, misalnya membuat
jadwal, alokasi register pada compiler,
penentuan frekuensi untuk radio, pencocokan
pola, dan lain – lain. Masalah ini bahkan telah
berkembang luas menjadi suatu permainan yang
sangat terkenal di kalangan masyarakat luas,
yaitu sudoku, suatu permainan angka yang
menarik. Aplikasi utama yang akan dibahas pada
makalah ini adalah masalah penentuan jadwal.

2. Jenis dan Sifat Graf

Graf dapat digolongkan menjadi beberapa jenis


graf yang spesifik. Jenis – jenis graf ini akan
dijelaskan dengan singkat untuk membatasi graf
dan menyamakan pengertian kita mengenai graf
χ(G) = 4 yang akan dibahas pada makalah ini. Beberapa
jenis graf juga memiliki sifat – sifat penting yang
Gambar 1.1 dapat memudahkan kita untuk menyelesaikan
Pewarnaan Simpul Graph dengan χ(G) =4 masalah pewarnaan. Penulis juga akan
memberikan beberapa terminologi mengenai graf
Masalah pewarnaan graf diyakini pertama kali yang banyak digunakan pada penulisan makalah
muncul sebagai masalah pewarnaan peta, di ini.
mana warna setiap daerah pada peta yang
berbatasan dibuat berlainan sehingga mudah 2.1 Terminologi Dasar [6]
untuk dibedakan. Hal ini kemudian
mengembangkan teorema – teorema menarik dan Berikut akan diberikan beberapa terminologi
berujung pada teorema 4 warna, yang dasar penting yang akan banyak digunakan pada
menyatakan : “bilangan kromatik graf planar makalah ini, yaitu :
tidak lebih dari 4.” Teorema ini pertama kali
muncul sebagai suatu perkiraan oleh Francis A. Bertentangga (adjacent)
Guthrie, seorang mantan murid dari Augustus De Dua buah simpul pada graf tak berarah
Morgan, pada tahun 1852 dan akhirnya G dikatakan bertetangga bila keduanya
dibuktikan oleh matematikawan Amerika terhubung langsung dengan sebuah sisi.
Kenneth Appel dan Wolfgang Haken.
Pembuktian teorema ini menggunakan komputer
dengan waktu yang melebihi 1000 jam. [7]
B. Bersisian (incident) (multigraph) dan graf semu (pseudograph). Graf
Suatu sisi e dikatakan bersisian dengan ganda adalah graf yang mengandung sisi ganda,
simpul vi dan vj jika e = (vi, vj) atau e sedangkan graf semu adalah graf yang
menghubungkan simpul vi dan vj. mengandung gelang (termasuk bila mengandung
sisi ganda sekalipun).
C. Derajat (degree)
Suatu simpul pada graf tak – berarah Pada makalah ini, yang dibahas adalah graf
dikatakan berderajat n jika jumlah sisi yang sederhana. Graf tak – sederhana tidak termasuk
bersisian dengan simpul tersebut berjumlah n. karena pada graf yang memiliki gelang, suatu
Hal ini dilambangkan dengan d(v). Derajat simpul bertetangga dengan simpul itu sendiri
maksimum simpul yang terdapat pada suatu graf sehingga tidak mungkin untuk mewarnainya.
dilambangkan dengan ∆(G).
Berdasarkan jumlah simpul pada suatu graf,
D. Lintasan (path) maka graf dapat dibagi menjadi 2 macam, yaitu:
Lintasan adalah barisan berselang –
seling simpul – simpul dan sisi – sisi yang A. Graf berhingga (limited graph)
berbentuk v0,e1,v1,e2,...,vn-1,en,vn yang Adalah graf yang jumlah simpulnya
menghubungkan simpul awal v0 dan simpul terbatas.
tujuan vn. Untuk graf sederhana, biasanya
lintasan ditulis sebagai barisan simpul – B. Graf tak-berhingga (unlimited graph)
simpulnya saja, yaitu v0,v1,v2,v3,...,vn Adalah graf yang jumlah simpulnya
tidak terbatas.
E. Upagraf (subgraph)
Suatu gaf G1 = (V1,E1) merupakan Pada makalah ini, yang dibahas adalah graf
upagraf dari graf G = (V,E) , bila V1 merupakan berhingga.
himpunan bagian dari V dan E1 merupakan
himpunan bagian dari E. Berdasarkan orientasi arah pada sisinya, graf
dapat dibagi menjadi 2 macam, yaitu:
F. Planar
Suatu graf G merupakan graf palanar A. Graf tak berarah (undirected graph)
bila graf tersebut dapat digambarkan pada bidang Adalah graf yang sisinya tidak
datar dengan sisi – sisi yang tidak saling mempunyai orientasi arah. Urutan penulisan
memotong (bersilangan). pasangan simpul pada sisinya tidak diperhatikan.
Jadi (vi,vj) = (vj,vi).
G. Upagraf merentang (Spanning Subgraph)
Upagraf G’ = (V’,E’) dari graf G=(V,E) B. Graf berarah (directed graph)
dikatakan upagraf merentang jika V’=V dan G’ Adalah graf yang sisinya mempunyai
adalah himpunan bagian dari G. orientasi arah. Urutan penulisan pasangan simpul
pada sisi graf diperhatikan. Jadi (vi,vj) tidak
2.2 Jenis – Jenis Graf [6] sama dengan (vj,vi). Kita biasanya menyebut sisi
berarah dengan sebutan busur (arc).
Berikut ini, penulis akan menggolongkan graf
berdasarkan jenis – jenisnya dan membatasi jenis Pada makalah ini, graf yang dibahas adalah graf
graf yang dijelaskan pada makalah ini. tak-berarah, aplikasinya pada graf berarah akan
sama saja selama graf berarah tersebut tidak
Berdasarkan adanya gelang atau sisi ganda pada memiliki loop, yaitu dengan cara menghilangkan
suatu graf, maka graf dapat dibagi menjadi 2 arah pada busurnya sehingga menjadi graf tak
macam, yaitu: berarah.

A. Graf sederhada (simple graph) Berdasarkan keterhubungannya, graf dibagi


Adalah graf yang tidak mengandung gelang menjadi dua, yaitu :
maupun sisi ganda.
A. Graf terhubung (connected graph)
B. Graf tak – sederhana (unsimple - graph) Suatu graf G dikatakan terhubung bila
Adalah graf yang mengandung sisi ganda atau untuk setiap pasang simpul vi dan vj di dalam
gelang, ada 2 macam, yaitu graf ganda himpunan V terdapat lintasan dari vi ke vj.
graf lingkaran Cn adalah graf teratur berderajat 2
B. Graf tak terhubung (disconnected graph) Contohnya:
Suatu graf G dikatakan tidak terhubung
bila tidak semua simpul pada graf tersebut
dihubungkan oleh sebuah simpul. Kasus khusus
dari graf jenis ini adalah graf kosong (null
graph), di mana graf tersebut sama sekali tidak
memiliki sisi. Graf kosong dengan jumlah
simpul n dilambangkan dengan Nn.

Pada makalah ini, yang dibahas adalah graf


terhubung. Aplikasi untuk graf tak terhubung Gambar 2.3 Graf Teratur berderajat 3
tidak dibahas karena hal itu sama saja dengan
menerapkan aplikasi yang sama pada komponen
terhubungnya. D. Graf Bipartit
Graf G yang himpunan simpulnya dapat
Berdasarkan sifat – sifatnya, graf sederhana dipisah menjadi dua himpunan bagian V1 dan V2,
dapat dibagi menjadi beberapa graf sederhana sedemikian sehingga setiap sisi pada G
khusus, yaitu: menghubungkan sebuah simpul di V1 ke sebuah
simpul di V2 disebut graf bipartit. Graf bipartite
A. Graf lengkap (complete graph) dilambangkan dengan Km,n dengan m adalah
Adalah graf sederhana yang setiap jumlah simpul V1 dan n adalah jumlah simpul
simpulnya mempunyai sisi ke semua simpul V2. Contohnya :
lainnya. Graf lengkap dengan n buah simpul
dilambangkan dengan Kn. Setiap simpul pada Kn
berderajat n-1. Contohnya:

Gambar 2.1 Graf Lengkap K5 Gambar 2.4 Graf Bipartit K3,3


B. Graf Lingkaran
Graf lingkaran adala graf yang setiap 2.3 Sifat – Sifat Bilangan Kromatik Graf F
simpulnya berderajat 2. Graf lingkaran dengan n
buah simpul dinyatakan dengan Cn. Contohnya: Berikut ini akan diberikan beberapa sifat graf.
Sifat – sifat yang diberikan hanyalah sifat – sifat
yang menyangkut bilangan kromatik (jumlah
warna minimum untuk pewarnaan simpulnya),
sesuai dengan tema yang dibahas pada makalah
ini.

1. χ(G) = 1 jika dan hanya jika G adalah graf


kosong.
2. χ(G) ≥ 3 jika dan hanya jika G memiliki
Gambar 2.2 Graf Lingkaran K5 subgraph yang merupakan K3 atau C3
3. χ(G) ≤ ∆(G)+1.
4. χ(G) ≤ ∆(G), kecuali jika G adalah graf
C. Graf Teratur lengkap atau graf lingkaran dengan jumlah
Graf teratur adalah graf yang setiap simpul ganjil.
simpulnya mempunyai derajat yang sama. Graf
lengkap Kn adalah graf teratur berderajat n-1 dan
5. Untuk setiap graf planar, berlaku teorema 4
warna, yaitu χ(G) ≤ 4. Contoh lain yang dapat dimodelkan dalam
6. Bila G’ adalah upagraph dari G, maka χ(G’) pewarnaan graf misalnya adalah masalah update
≤ χ(G). software secara online. Contohnya pada
7. Graf lengkap Kn memiliki χ(G)=n. perusahaan Akamai, versi baru dari sebuah
8. Graf Lingkaran Cn memiliki χ(G)=2 bila n software terus diluncurkan setiap beberapa hari
genap dan χ(G)=3 bila n ganjil. ke 20.000 server yang dimilikinya. Tentu saja
9. Graf Teratur berderajat n selalu memiliki perusahaan tersebut tidak bisa mematikan
χ(G) ≤ n +1 sesuai sifat no 3 di atas. seluruh servernya untuk mengupdatenya,
10. Graf Bipartit selalu bisa diwarnai dengan 2 ataupun mengupgrade satu per satu server
warna. tersebut karena hal tersebut akan memakan
11. Graf yang berupa pohon selalu dapat waktu yang terlalu lama. Dibutuhkan suatu cara
diwarnai dengan 2 warna. yang efisien untuk menentukan jadwal upgrade
setiap server.
3. Aplikasi Graph Colouring untuk
Scheduling Masih banyak contoh lain dari masalah
pewarnaan graf, misalnya penentuan alokasi
Sebagai pembukaan dari bagian ini, penulis akan variabel pada register komputer, masalah
memberikan sebuah contoh kasus yang pewarnaan peta, pemberian frekuensi radio
menggambarkan manfaat metode pewarnaan kepada setiap stasiun radio, penentuan jadwal
graph dalam membuat jadwal. operasi kereta api, dan lain – lain.

Setiap semester, petugas kantor akademik MIT Untuk masalah penentuan jadwal, masalah
harus menentukan jadwal ujian. Hal ini tidaklah tersebut biasanya berhubungan dengan beberapa
mudah, karena beberapa mahasiswa/i mengambil pekerjaan yang berhubungan seperti
beberapa mata kuliah yang bisa bertabrakan menggunakan sumber daya yang sama sehingga
jadwal ujiannya. Petugas tersebut ingin tidak bisa dilakukan pada waktu yang
menghindari semua jadwal yang bertabrakan. bersamaan.
Tentu saja, ia bisa membuat sebuah jadwal
dengan setiap mata kuliah memiliki waktu ujian Kita dapat menyelesaikan masalah ini dalam 3
yang berlainan, tetapi hal ini mengakibatkan langkah, yaitu:
masa ujian tersebut akan sangat lama sekali dan
bahkan mungkin lebih dari satu semester. 1. Menggambar simpul – simpul graf
Petugas tersebut tentu saja ingin membuat masa Simpul – simpul graf yang digambarkan
ujian sesingkat mungkin sehingga memudahkan haruslah mewakili pekerjaan yang akan
semua pihak, bagaimana cara ia melakukannya? dilakukan.
[3]
2. Menggambar sisi – sisi pada graf
Di sinilah masalah pewarnaan graf memegang Kita menggambarkan sisi – sisi pada
peranan yang penting. Kita dapat memodelkan setiap pasang simpul yang menggunakan sumber
masalah seperti di atas ke dalam model grafnya. daya yang sama. Yang artinya kedua pekerjaan
Setiap mata kuliah dimodelkan dengan sebuah tersebut tidak bisa dilakukan pada waktu yang
simpul pada graf tersebut. Kemudian setiap mata sama.
kuliah yang diikuti oleh setidaknya 1 orang yang
sama akan memiliki hubungan yang 3. Mewarnai graf
direpresentasikan dalam bentuk sisi pada 2 Langkah terakhir yang harus kita
simpul mata kuliah itu. Waktu atau jadwal lakukan adalah mewarnai simpul – simpul pada
sebuah mata kuliah berlangsung adalah warna graf tersebut dengan warna yang minimum
yang diberikan pada simpul mata kuliah itu. sehingga tidak ada simpul – simpul yang
Masalah yang harus dipecahkan berikutnya bertetangga memiliki warna yang sama.
adalah bagaimana kita memberikan warna
minimum kepada setiap simpul sehingga tidak Berikut ini diberikan sebuah contoh penyelesaian
ada simpul – simpul yang bertetangga memiliki kasus mengenai penentuan jadwal.
warna yang sama. Hal ini merupakan masalah
pewarnaan simpul graf yang telah kita singgung Seorang penjaga kantor baby sitter mendapat
sebelumnya. titipan 7 orang anak, A,B,C,D,E,F,dan G.
Penjaga tersebut harus menentukan loker yang
diberikan kepada setiap orangtua anak – anak
tersebut sebagai tempat menyimpan peralatan
mengasuhnya. Anak – anak tersebut tidak setiap
waktu berada di kantor baby sitter tersebut,
mereka datang dan pergi tergantung dari pesanan
orang tua mereka. Karena loker di kantor
tersebut terbatas dan harus digunakan sehemat
mungkin, penjaga tersebut diminta untuk
menentukan jadwal pemberian loker kepada
setiap orang tua. Jadwal penitipan untuk setiap
anak diberikan pada tabel berikut Gambar 3.1 Simpul Yang Merepresentasikan
Anak
Tabel 3.1 Jadwal Penitipan Bayi
2. Menggambar sisi graf
Kita menggambarkan sisi - sisi pada
. A B C D E F G setiap pasang simpul bila anak – anak yang
dilambangkan pada kedua simpul yang
7:00 * - - * * - - dihubungkan oleh sisi tersebut menggunakan
petak (slot) waktu yang sama.
8:00 * * * - - - -
9:00 * - * * - * -
10:00 * - * - - * *
11:00 * - - - - * *
12:00 * - - - * - -

Tanda bintang (*) menggambarkan bahwa anak


tersebut berada pada kantor pada waktu yang
diberikan, sedangkan tanda strip (-) berarti Gambar 3.2 Graf Yang Merepresentasikan
bahwa anak tersebut tidak sedang dititipkan. Hubungan Jadwal Tiap Anak

Tentukan bagaimana petugas tersebut harus 3. Mewarnai Graf tersebut


menentukan loker mana yang diberikan kepada Graf yang telah diwarnai akan terlihat
setiap orangtua. [5] sebagai berikut :

Kita akan menyelesaikan masalah di atas dalam


beberapa langkah:

1. Menggambar Simpul graf


Graf yang digambarkan di sini harus
menggambarkan kondisi di atas, pertama kita
membuat tujuh buah simpul

Gambar 3.3 Graf Yang Telah Diwarnai

Warna minimum yang bisa digunakan untuk


mewarnai graf ini adalah 4, karenanya bilangan
kromatik graf ini adalah 4. Bila yang tersedia
hanya tiga buah warna, maka graf ini tidak akan
bisa diwarnai sesuai dengan ketentuan. Dalam
hal ini, loker minimum yang tersedia harus pekerjaan maintenance yang biasanya memiliki
berjumlah 4. C dan E diberikan loker 1. B, D, waktu yang telah tetap.
dan G deiberikan loker 2. F diberikan loker 3. A
diberikan loker 4. Pemberian loker yang sama Untuk memecahkan masalah pewarnaan ini, kita
untuk 2 orang anak atau lebih dapat dilakukan bisa menggunakan algoritma Saturated Degree
karena mereka tidak pernah berada pada tempat Ordering atau Incident Degree Oredering yang
yang sama dalam waktu yang sama. akan dibahas pada bagian selanjutnya.

Pada contoh di atas, penulis tidak menjelaskan


algoritma untuk mewarnai graf tersebut, hal ini
akan dijelaskan pada bagian selanjutnya dalam
makalah ini.

Selain masalah penjadwalan seperti di atas, Gambar 3.5 Precoloring Graph


biasanya terdapat variasi – variasi lain yang
dapat diberikan. Berikut adalah beberapa variasi • Pewarnaan Daftar (List Coloring)
masalah penjadwalan. [4]
Merupakan masalah pewarnaan simpul graf di
• Pewarnaan Banyak (Multicoloring) mana simpul – simpul tertentu memiliki list of
available colour, yaitu daftar – daftar warna
Yaitu pewarnaan simpul graf di mana sebuah yang dapat diberikan kepada simpul tersebut.
simpul terkadang diharuskan memiliki jumlah Tidak semua warna bisa diberikan kepada
warna yang lebih dari 1. Contoh kasus yang sebuah simpul, kita harus memilihnya dari
menggambarkan keadaan ini adalah kasus daftar. Contoh kasus seperti ini terjadi misalnya
membuat jadwal di mana tidak setiap pekerjaan ketika suatu pekerjaan hanya bisa dilakukan pada
memerlukan waktu yang sama. Sebuah pekerjaan saat – saat tertentu, atau hanya bisa dilakukan
mungkin membutuhkan jumlah waktu yang lebih oleh mesin – mesin tertentu.
banyak, misalnya 2 kali dibandingkan jumlah
waktu yang dibutuhkan pekerjaan lain. Untuk Cara untuk memecahkan masalah pewarnaan
memodelkannya, kita memberi 2 buah warna seperti ini bisa dilakukan dengan memberikan
kepada pekerjaan ini. simpul – simpul tetangga kepada simpul –
simpul khusus yang memiliki daftar warna,
Cara untuk memecahkan masalah pewarnaan simpul – simpul tetangga tersebut memiliki
banyak seperti ini sebenarnya sama saja dengan warna yang tidak ada di daftarnya. Dengan
memecahkan pewarnaan biasa. Kita cukup adanya simpul – simpul tetangga ini, simpul
menambahkan simpul – simpul baru yang tersebut akan ”dipaksa” untuk hanya
memiliki tetangga – tetangga yang sama untuk menggunakan warna – warna tertentu saja, yaitu
sebuah simpul yang membutuhkan warna lebih. warna – warna yang ada pada daftarnya.
Contohnya dapat dilihat pada gambar berikut.

Gambar 3.4 Manipulasi Muticoloring

• Pewarnaan Awal (Precoloring)

Yaitu suatu jenis pewarnaan simpul di mana


warna – warna simpul tertentu telah ditentukan Gambar 3.6 List Coloring Graph
dari awal. Kasus seperti ini bisa terjadi karena
kita tidak selalu memiliki kontrol yang penuh Dapat digambarkan dengan graf berikut
akan semua pekerjaan yang ingin dilakukan.
Beberapa pekerjaan mungkin memiliki waktunya
sendiri yang tidak bisa diubah, misalnya
Beberapa algoritma yang telah banyak dikenal
adalah: [1]

• First Fit (FF)


Algoritma ini adalah algoritma yang
termudah dan tercepat. Prinsipnya adalah
mewarnai setiap simpul graf dengan warna yang
tidak akan diubah lagi. Meskipun algoritma ini
sangat mudah untuk diimplementasikan dan juga
Gambar 3.7 Manipulasi List Coloring Graph sangat cepat. Namun, algoritma ini memiliki
probablitas besar untuk menghasilkan jumlah
Terdapat Algoritma lain untuk menyelesaikan warna yang melebihi bilangan kromatiknya.
masalah pewarnaan seperti ini, tetapi hal itu Kompleksitas waktu asimtotik dari
tidak dibahas pada makalah ini. algoritma ini adalah O(n)

• Pewarnaan Minimum (Minimal Sum • Largest Degree Odering (LDO)


Coloring) Algoritma ini merupakan algoritma
yang prinsipnya berdasarkan pada nilai derajat
Masalah pewarnaan ini adalah masalah dari setiap simpul. Simpul yang memiliki derajat
pewarnaan yang telah dibahas di atas, yaitu yang lebih tinggi diwarnai lebih dulu. Algoritma
pewarnaan simpul dengan jumlah warna yang ini memberikan hasil yang lebih baik daripada
minimum. algoritma first fit.
Kompleksitas waktu asimtotik dari
4. Algoritma Mewarnai Graf algoritma ini adalah O(n2).

Untuk graf – graf dengan sifat tertentu, kita bisa • Saturated Degree Ordering (SDO)
dengan muda menyebutkan bilangan Algotima ini berprinsipkan pada jumlah
kromatiknya dan mewarnainya, misalnya graf warna berlainan yang ada pada tetangga –
lengkap dan graf lingkaran. Tetapi umumnya tetangga dari sebuah simpul. Simpul yang
graf yang kita hadapi adalah graf yang tidak bertetanggaan dengan simpul – simpul yang
memiliki keteraturan seperti itu. Karena itu, memiliki lebih banyak aneka warna akan
dibutuhkan algoritma yang dapat membantu kita diwarnai lebih dulu. Algoritma ini memberikan
menyelesaikan masalah pewarnaan graf. hasil yang lebih baik daripada algoritma LDO.
Kompleksitas waktu asimtotik dari
Algoritma terbaik untuk menemukan bilangan algoritma ini adalah O(n3).
kromatik dari suatu graf yang dikenal sampai
saat ini memiliki kompleksitas waktu • Incident Degree Ordering (IDO)
eksponensial untuk kasus terburuknya. Masalah Algoritma ini berprinsipkan pada
ini termasuk ke dalam kelas NP Lengkap (NP jumlah simpul tetangga yang telah diwarnai dari
Complete). Belum ada yang mampu memberikan suatu simpul. Simpul yang lebih banyak
solusi dengan kompleksitas waktu polinomial bertetanggaan dengan simpul yang telah
untuk kasus terburuknya, tapi juga tidak ada diwarnai akan diwarnai lebih dulu. Algoritma ini
bukti bahwa algoritma seperti itu tidak ada. merupakan modifikasi dari algoritma SDO.
Dikatakan bahwa apabila salah satu masalah Algoritma ini dapat dieksekusi dalam waktu
dalam kelas NP lengkap bisa diselesaikan dalam yang lebih cepat, tetapi hasilnya tidak sebaik
waktu polinomial, maka semua masalah di dalam algoritma SDO.
kelas tersebut juga bisa diselesaikan dalam Kompleksitas waktu asimtotik dari
waktu polinomial. Sebaliknya bila ada bukti algoritma ini adalah O(n2)
bahwa algoritma dengan kompleksitas algoritma
polinomial tidak ada untuk salah satu masalah Berikut ini adalah tabel yang menggambarkan
pada kelas NP lengkap, maka semua masalah jumlah warna yang dihasilkan dari setiap
pada kelas NP lengkap juga tidak bisa algortima. Kepadatan adalah perbandingan dari
diselesaikan dalam kompleksitas waktu jumlah sisi (vertex) yang ada terhadap jumlah
polinomial. sisi dari graf lengkapnya.
Tabel 4.1 Perbandingan Efektifitas Algoritma

Pada bagian ini, penulis akan menjelaskan Hal ini dilakukan terus menerus sehingga semua
mengenai algoritma yang dikembangkannya simpul telah diwarnai. Bagan flowchart dari
sendiri, algoritma ini adalah modifikasi serta langkah ini bias dilihat pada gambar berikut
gabungan dari algoritma spanning tree [8],
largest degree ordering dan saturated degree
ordering.

4.1. Algoritma Gabungan


Pada Algoritma ini, beberapa langkah yang harus
dilakukan adalah:

1. Membangun spanning tree

Untuk membangun spanning tree dari grafnya,


pertama – tama kita memilih sebuah simpul pada
graf, kemudian kita mewarnainya dengan warna
1 (W1). Berikutnya, kita perhatikan semua
simpul yang bertetangga dengan simpul tersebut,
ada 3 kasus:
a) Bila simpul tersebut sudah diwarnai, maka
sisi yang menghubungkannya kita tandai
sebagai sisi yang bermasalah dengan cara
memasukkannya ke tabel sisi bermasalah.
Bila sisi tersebut sudah ada dalam stack sisi
yang belum diperiksa, maka sisi tersebut
dihapus dari stack.
b) Bila simpul tersebut belum diwarnai, maka
sisi yang menghubungkannya kita masukkan
(push) ke dalam tumpukan sisi yang belum
diperiksa (unchecked edges stack).

Setelah semua simpul tetangga diperiksa, kita


ambil (pop) sebuah sisi dari stack sisi yang
belum diperiksa. Kemudian kita warnai simpul
tujuan yang dihubungkan oleh sisi itu dengan
warna 2 (W2). Berikutnya, kita periksa lagi
Gambar 4.1 Sketsa Flowchart langkah 1
simpul – simpul yang bertetangga dengan simpul
yang sedang kita warnai sekarang ini, kecuali
Pada akhir langkah ini, kita akan mendapati
simpul sebelumnya, seperti di atas. Kita pop lagi
bahwa semua simpul tersebut diwarnai oleh 2
sebuah sisi dari stack sisi yang belum diperiksa,
warna
tetapi kali ini simpul tetangga tersebut diberi
warna W1
lebih banyak sisi yang bermasalah.
(modifikasi dari algoritma Largest
Degree Ordering).
• Bila jumlah sisi yang bermasalah sama
untuk kedua simpul, maka pililah
simpul yang memiliki tetangga dengan
jumlah warna berbeda yang lebih
banyak. (modifikasi dari algoritma
Saturated Degree Ordering).
• Bila kedua simpul berderajat sama,
maka simpul yang dipilih boleh bebas.

Simpul tersebut kemudian diubah warnanya,


dengan ketentuan sebagai berikut:
• Pilihlah warna yang sudah ada, dan
tentu saja tidak melanggar ketentuan
bahwa warna tersebut tidak sama
dengan simpul – simpul tetangganya
yang lain.
• Bila tidak ada warna yang seperti itu,
maka kita harus menggunakan warna
yang baru.
Gambar 4.2 Sketsa Flowchart Pengecekan
Simpul Tetangga Sketsa flowchart dari langkah 2 ini diberikan di
bawah.
2. Menyelesaikan sisi – sisi yang bermasalah.
Algoritma tersebut akan lebih jelas apabila kita
Pada langkah ini, kita akan memeriksa tabel sisi praktekkan secara langsung. Contohnya akan
yang bermasalah dan menyelesaikannya. Kita kita praktekkan pada graf berikut:
ambil setiap sisi mulai dari indeks 1, 2, 3, .., n.
Untuk setiap sisi, yang harus kita lakukan adalah
memeriksa apakah kedua simpul yang
dihubungkan oleh sisi tersebut memiliki warna
yang sama.
a) Bila sepasang simpul tersebut memiliki
warna yang berbeda, maka sisi tersebut
aman.
b) Bila sepasang simpul tersebut memiliki
warna yang sama, maka salah satu dari
simpul tersebut harus diubah warnanya.
Penentuan simpul yang harus diubah
warnanya ditentukan dari hal berikut:
• Pilihalah simpul yang tidak perlu
menambah warna baru bila simpul
tersebut diubah warnanya, tetapi hanya
menggunakan warna – warna yang
sudah ada. Gambar 4.3 Contoh Graph
• Bila poin pertama di atas sama- sama
terpenuhi oleh kedua simpul atau sama-
sama tidak terpenuhi oleh kedua simpul,
maka pilihlah simpul yang memiliki
Gambar 4.4 Sketsa Flowchart Langkah 2

1. Pertama kita pilih sebuah simpul secara bebas 2. Kedua sisi yang bersisian denganya kita
dan kita beri warna merah masukkan ke stack, kemudian kita pop sebuah
sisi dari stack dan menelusurinya, simpul yang
bersangkutan kita beri warna hijau.

Gambar 4.5 Langkah 1 Gambar 4.6 Langkah 2


3.Hanya satu sisi yang harus diperiksa, warna 6. Ditemukan sebuah sisi yang bermasalah, sisi
yang diberikan menjadi merah lagi (berselang tersebut dimasukkan ke tabel. Karena sisi
- seling) tersebut sebelumnya telah dimasukkan ke
stack sisi yang belum diperiksa, maka sisi
tersebut dihapus dari stack.

Gambar 4.7 Langkah 3


Gambar 4.10 Langkah 6
4. Ada 3 sisi yang harus diperiksa, ketiganya
dipush ke stack, kemudian kita pop yang 7. Ditemukan sisi bermasalah 2
terakhir dan ditelusuri lagi.

Gambar 4.8 Langkah 4

5. Ditelusuri lagi Gambar 4.11 Langkah 7

8. Ditelusuri lagi

Gambar 4.9 Langkah 5 Gambar 4.12 Langkah 8


9. Ditelusuri lagi 12. Karena langkah terakhir tidak memasukkan
sisi baru pada stack, maka sisi yang dipop
adalah sisi yang ditandai pada gambar. Maju
sampai semua selesai dikerjakan. Pada tahap
ini, stack menjadi kosong.

Gambar 4.13 Langkah 9

10. Pada bagian sebelumnya tidak ada masukan


baru pada stack, sehingga ketika dipop
sebuah sisi, maka sisi yang dipop itu adalah Gambar 4.16 Langkah 12
sisi terakhir yang dipush, yaitu sisi yang
ditandai pada gambar, ditemukan 2 buah sisi Sampai tahap ini, kita telah menyelesaikan
bermasalah proses membangun spanning tree, berikutnya
kita akan menyelsaikan sisi – sisi yang
bermasalah.

13. Pada sisi 1 tidak ada masalah karena


pasangan simpulnya memiliki warna yang
berbeda

Gambar 4.14 Langkah 10

11. Maju 2 kali dan didapati sebuah sisi


bermasalah

Gambar 4.17 Langkah 13

14. Pasangan simpul pada sisi 2 memiliki warna


yang sama, karena itu kita mengubah warna
salah satu simpulnya. Dalam kasus ini,
kedua sisi sama – sama mengharuskan
pengubahan warna dengan warna yang
belum ada, karena itu kita mengubah warna
simpul yang memiliki lebih banyak sisi
Gambar bermasalah, warnanya kita ubah menjadi
4.15 Langkah 11 orange.
17. Pasangan simpul pada sisi 6 tidak ada
masalah

Gambar 4.18 Langkah 14

15. Pasangan simpul pada sisi 3 dan sisi 4 tidak


ada masalah.
Gambar 4.21 Langkah 16

18. Pasangan simpul pada sisi 7 memiliki warna


yang sama, karena kedua simpul sama –
sama tidak mengharuskan penambahan
warna baru dan memiliki sebuah sisi
bermasalah, kita memilih simpul yang
bertetangga dengan jumlah warna lebih
banyak untuk diubah warnanya.

Gambar 4.19 Langkah 15

16. Pasangan simpul pada sisi 5 memiliki warna


yang sama, karena itu kita mengubah warna
salah satu simpulnya. Dalam kasus ini,
simpul yang diubah warnanya adalah simpul
yang memiliki sisi bermasalah lebih banyak.
Karena warna merah dan orange tidak
diperbolehkan, maka kita memberikan Gambar 4.22 Langkah 18
warna yang baru, yaitu warna ungu pada
simpul tersebut. 19. Tidak ada masalah pada pasangan simpul
yang dihubungkan oleh sisi 8

Gambar 4.20 Langkah 17


Gambar 4.23 Langkah 19
Selesailah proses pewarnaan graf ini, graf dalam
contoh di atas memiliki bilangan kromatik 4, hal
ini tidak mengherankan karena graf tersebut
mengandung upagraf K4

Analisis mengenai algoritma modifikasi ini dapat


dijelaskan sebagai berikut:

• Ketika membangun spanning tree, kita


menyederhanakan graf.

Gambar 4.26 Analisa Algoritma 3

• Atau bila simpul – simpul yang tidak


berhubungan dengan sisi – sisi ini,
dihilangkan, maka didapat upagraf sebagai
berikut

Gambar 4.24 Analisa Algoritma 1

• Sesuai sifatnya, pohon selalu dapat diwarnai


dengan 2 warna.

Gambar 4.27 Analisa Algoritma 4

• Dan bila disederhanakan, upagraf menjadi


seperti berikut

Gambar 4.25 Analisa Algoritma 2

• Namun, selain pohon ini, terdapat juga sisi –


sisi yang masih bermasalah
memodelkan masalah di berbagai bidang,
salah satunya adalah pembuatan jadwal atau
scheduling.
b. Beberapa jenis graf yang memiliki
keteraturan dapat ditentukan bilangan
kromatiknya secara langsung dengan
menggunakan sifat – sifatnya.
c. Masalah penjadwalan atau scheduling
memiliki beberapa variasi yang dapat
dimodelkan ke dalam masalah pewarnaan
yang berbeda pula.
d. Terdapat beberapa algoritma yang dapat
digunakan untuk menyelesaikan masalah
pewarnaan graf. Algoritma yang cepat
biasanya hasilnya tidak efisien (memberikan
warna yang lebih banyak), sedangkan
Gambar 4.28 Analisa Algoritma 5 algoritma yang efisien biasanya
membutuhkan waktu eksekusi yang lebih
lama.
Masalah berikutnya adalah menganalisis sisi – e. Beberapa algoritma dapat dimodifikasi dan
sisi yang bermasalah dan memprosesnya. Hal ini digabung untuk membentuk algoritma baru
sebenarnya adalah masalah mewarnai upagraf yang lebih efisien.
yang lebih sederhana tersebut, tentu saja dengan
tambahan syarat bahwa tetangga – tetangga DAFTAR PUSTAKA
sebenarnya dari graf tersebut tetap harus
diperhatikan. [1] Al-Omari, Hussein & Khair Eddin Sabri,
New Graph Coloring Algorithms,
Karena itulah, algoritma ini menggabungkan www.scipub.org/fulltext/jms2/jms224739-
metode dari algoritma LDO dan SDO. Algoritma 741.pdf, 2006. Tanggal Akses : 2 January
LDO digunakan untuk memilih simpul yang 2007, pukul 12.30 WIB.
diubah warnanya, yaitu ketika sebuah simpul [2] Klotz, Walter, Graph Coloring Algorithms,
dari upagraf memiliki lebih banyak sisi – sisi www.math.tu-
bermasalah. Algoritma SDO digunakan untuk clausthal.de/Arbeitsgruppen/Diskrete-
memaksimalkan kinerja dari proses ini, yaitu Optimierung/publications/2002/gca.ps,
ketika jumlah sisi – sisi yang bermasalah sama, 2000. Tanggal Akses : 29 Desember 2006,
maka algortima ini diterapkan dengan memilih pukul 16.00 WIB.
simpul yang memiliki variasi warna tetangga [3] Leighton, Tom & Ronitt Rubinfeld, Graph
lebih banyak. Teory,
http://theory.lcs.mit.edu/classes/6.042/fall06
Sekilas mungkin terlihat bahwa algoritma /lec6.pdf, 2006. Tanggal Akses : 29
modifikasi ini menjadi lebih rumit, tetapi Desember 2006, pukul 15.00 WIB,
berdasarkan penilitian, algoritma – algoritma [4] Marx, Daniel, Graph Coloring Problems
yang digabung akan memiliki efisiensi yang And Their Applications In Scheduling,
lebih tinggi. Contohnya adalah gabungan http://citeseer.ist.psu.edu/672702.html,
algoritma LDO dan SDO, algoritma ini 2006. Tanggal Akses : 29 Desember 2006,
berdasarkan percobaan mampu memberikan pukul 14.30 WIB.
jumlah warna yang lebih efisien daripada masing [5] Mawata, Christopher, Graph Teory Lesson,
– masing algoritma LDO atau SDO yang berdiri http://oneweb.utc.edu/~Christopher-
sendiri – sendiri. Mawata/petersen/answers/les8Ans.html,
2006. Tanggal Akses : 29 Desember 2006,
5. Kesimpulan pukul 14.15 WIB.
[6] Munir, Rinaldi, Diktat Kuliah IF 2153,
Beberapa kesimpulan yang dapat ditarik dari Matematika Diskrit, Edisi Keempat,
penulisan makalah ini adalah: Program Studi Teknik Informatika, STEI,
a. Masalah pewarnaan graf merupakan ITB, 2006.
masalah yang banyak digunakan untuk
[7] Rosen, Kenneth H., Descrete Mathematics
and Its Applications, 4 th, McGraw-Hill
Internasional, 1999.
[8] The Computer Action Team, Graph
Colouring Algorithm,
http://web.cecs.pdx.edu/~postj/graph/graph.
html, 2005. Tanggal Akses : 29 Desember
2006, pukul 15.30 WIB.
[9] Wikipedia, Wikipedia – Free Encyclopedia,
www.wikipedia.com, 2006. Tanggal akses :
27 Desember 2006, pukul 15.00 WIB.
JURNAL INFORMATIKA Vol 4, No. 2, Juli 2010

IMPLEMENTASI ALGORITMA GREEDY UNTUK MELAKUKAN


GRAPH COLORING: STUDI KASUS PETA
PROPINSI JAWA TIMUR

Ardiansyah1), Fery Sofian Efendi2), Syaifullah2), Mateus Pinto2), Pujianto2), Hendro


Steven Tempake2)
1)
Program Studi Teknik Informatika, Fakultas Teknologi Industri
Univesitas Ahmad Dahlan,
Kampus III UAD Jl. Prof. Dr. Soepomo, Janturan, Umbulharjo, Yogyakarta
Telp 0274-379418,381523, Fax 0274-381523
E-mail : ardi@uad.ac.id
2)
Program Studi Magister Ilmu Komputer, Universitas Gadjah Mada
Gedung SIC, Lantai III, F-MIPA UGM, Sekip Utara, Bulaksumur, Yogyakarta

Abstract
This paper will describe us how to coloring a graph by using greedy algorithm with the
case study province of Jawa Timur. From this research we will know that for graph
coloring at Jawa Timur Province only use four difference colors.
Keywords: edge, graph coloring, vertex.

Abstrak
Paper ini akan memperlihatkan sebuah teknik penggunaan algoritma Greedy untuk
melakukan pewarnaan graf (graph coloring) pada peta Propinsi Jawa Timur. Dari
penelitian ini diperoleh bahwa untuk melakukan pewarnaan graph di Propinsi Jawa
Timur dibutuhkan sebanyak empat buah warna yang berbeda.
Kata kunci: edge, graph coloring, vertex.

1. PENDAHULUAN
Teori Graf mulai dikenal pada saat seorang matematikawan berkebangsaaan
Swiss, bernama Leonhard Euler, berhasil mengungkapkan Misteri Jembatan
Konigsberg pada tahun 1736. Di kota Konigsberg (sekarang bernama Kalilingrad, di
Uni Soviet) mengalir sebuah sungai bernama sungai Pregel. Di tengah sungai tersebut
terdapat dua buah pulau. Dari kedua pulau tersebut terdapat jembatan yang
menghubungi ke tepian sungai dan diantara kedua pulau. Jumlah jembatan tersebut
adalah 7 buah seperti ditunjukkan pada gambar 1:

■ 440
JURNAL INFORMATIKA Vol 4, No. 2, Juli 2010

Gambar 1. Jembatan di sungai Pregel di Kalilingrad

Konon kabarnya, penduduk kota Konigsberg sering berjalan-jalan ke tempat


tersebut pada hari-hari libur. Kemudian muncul suatu keinginan untuk dapat menikmati
daerah tersebut dengan melalui ketujuh jambatan tepat satu kali, yakni bermula dari satu
tempat (A, B, C atau D) dan kembali ke tempat semula. Mereka berusaha untuk
memperoleh rute yang sesuai dengan keinginan tersebut, dengan selalu mencoba
menjalaninya. Setelah mencoba berkali-kali dan karena sudah cukup lama tidak
diperoleh rutenya, akhirnya penduduk tersebut mengirim surat kepada Euler. Euler
dapat memecahkan masalah tersebut, yakni bahwa perjalanan / rute yang diinginkan
(yakni berawal dari suatu tempat, melalui ketujuh jembatan tepat satu kali, dan kembali
ke tempat semula) tidak mungkin dicapai.
Secara singkat, dalam tulisannya, Euler menyajikan keadaan jembatan Konigsberg
tersebut seperti gambar 2:

Gambar 2. Representasi Jembatan dalam Bentuk Graph

Dalam masalah di atas, daratan (tepian A dan B, serta pulau C dan D) disajikan
sebagai titik dan jembatan disajikan sebagai ruas edge. Euler mengemukakan
teoremanya yang mengatakan bahwa perjalanan yang diinginkan di atas (yang
kemudian dikenal sebagai perjalanan Euler) akan ada apabila graf terhubung dan
banyaknya edge yang datang pada setiap titik (derajat vertex) adalah genap.

■ 441
JURNAL INFORMATIKA Vol 4, No. 2, Juli 2010

Definisi Graph
Definisi sebuah graf itu sendiri adalah sebagai pasangan himpunan (V, E) yang
dalam hal ini:
V = himpunan tidak kosong dari vertex-vertex (vertices atau node) dan
E = himpunan sisi (edges atau arcs) yang menghubungkan sepasang vertex.
Dalam notasi matematika, graf dapat ditulis dengan:

G = (V, E)

Pewarnaan Graph
Salah satu topik yang menarik pada graf adalah masalah pewarnaan graf (graph
colouring problem). Bidang ini memiliki sejarah yang sangat menarik dan teori–
teorinya telah menimbulkan banyak perdebatan pada kalangan matematikawan.
Pewarnaan graf adalah pemberian warna terhadap vertex-vertex graf di mana 2 buah
vertex yang berdampingan tidak boleh mempunyai warna yang sama.
G berwarna n artinya graf tersebut menggunakan n warna.
Bilangan kromatis dari G = K(G) adalah jumlah minimum warna yangdibutuhkan.
Algoritma yang dapat digunakan untuk mendapatkan bilangan kromatis dari sebuah graf
adalah Algoritma Welch-Powell.
Adapun langkah-langkahnya adalah :
1. Urutkan vertex-vertex berdasarkan derajatnya.
Dari besar ke kecil.
2. Warnai.

Contoh :

Gambar 3. Contoh pewarnaan graph


Langkah 1 :
Urutan vertexnya dari besar ke kecil adalah : E, C, G, A, B, D, F, H
Langkah 2 :
mewarnai :
warna Merah : E, A
warna Putih : C, D, H
warna Biru : G, B, F
Sehingga bilangan kromatis graf di atas adalah 3.

■ 442
JURNAL INFORMATIKA Vol 4, No. 2, Juli 2010

Masalah pewarnaan graf diyakini pertama kali muncul sebagai masalah


pewarnaan peta, dimana warna setiap daerah pada peta yang berbatasan dibuat berlainan
sehingga mudah untuk dibedakan. Hal ini kemudian mengembangkan teorema-teorema
menarik dan berujung pada teorema 4 warna, yang menyatakan : “bilangan kromatik
graf planar tidak lebih dari 4.” Teorema ini pertama kali muncul sebagai suatu
perkiraan oleh Francis Guthrie, seorang mantan murid dari Augustus De Morgan, pada
tahun 1852 dan akhirnya dibuktikan oleh Kenneth Appel dan Wolfgang Haken.
Pembuktian teorema ini menggunakan komputer dengan waktu yang melebihi 1000
jam.
Masalah pewarnaan graf memiliki banyak aplikasi di dalam bidang lain, misalnya
membuat jadwal, pemetaan, penentuan frekuensi untuk radio, pencocokan pola, dan
lain-lain. Masalah ini bahkan telah berkembang luas menjadi suatu permainan yang
sangat terkenal di kalangan masyarakat luas, yaitu sudoku.

1.1. Algoritma Greedy


Algoritma Greedy merupakan algoritma yang menghasilkan solusi
optimum melalui penyelesaian langkah per langkah (step by step) dengan menerapkan
2 hal berikut pada tiap langkahnya:
a. Pilihan yang diambil merupakan pilihan terbaik yang dapat diperoleh pada saat
itu tanpa memperhatikan konsekuensinya ke depan nanti, hal ini bersesuaian
dengan prinsip Algoritma Greedy yaitu “take what you can get now”.
b. Berharap dengan memilih pilihan terbaik saat itu (optimum lokal/local
optimum) dapat mencapai solusi terbaik dari permasalahan yang dihadapi
(optimum global/global optimum). Dalam algoritma Greedy diasumsikan bahwa
optimum lokal merupakan bagian dari optimum global. Sedangkan untuk
aplikasinya algoritma Greedy digunakan untuk pemecahan yang memerlukan
solusi.

Komponen Algoritma Greedy

Komponen algoritma Greedy terdiri dari :


a. Himpunan Kandidat C
Merupakan himpunan yang berisi elemen pembentuk Solusi.
b. Himpunan Solusi S
Himpunan yang berisi elemen solusi pemecahan masalah.
c. Fungsi Seleksi
Fungsi yang memilih kandidat yang paling memungkinkan dari Himpunan
Kandidat untuk dimasukkan ke dalam himpunan solusi agar solusi optimal terbentuk.
Kandidat yang sudah terpilih pada suatu langkah tidak akan dipertimbangkan lagi
pada langkah selanjutnya.
d. Fungsi Kelayakan
Fungsi yang memeriksa apakah suatu kandidat yang terpilih akan menimbulkan
solusi yang layak, yaitu kandidat tersebut, bersama dengan himpunan solusi yang
terpilih tidak akan melanggar kendala yang berlaku pada masalah.
e. Fungsi Obyektif
Fungsi yang memaksimalkan atau meminimalkan nilai solusi.

■ 443
JURNAL INFORMATIKA Vol 4, No. 2, Juli 2010

Algortima Greedy : Coloring Graph


i. Inisialisai himpunan solusi dengan kosong
ii. Urutkan vertex berdasarkan jumlah edge tebanyak (pengurutan dari besar ke kecil)
iii. Melakukan pemilihan vertex yang akan diisi warnannya dengan fungsi seleksi
vertex.
iv. Memilih kandidat warna dengan menggunakan himpunan kandidat kurangi warna
anggota himpunan kandidat dengan warna yang diambil.
v. Periksa kelayakan warna yang dipilih menggunakan langkah 3. Jika layak
dimasukkan ke himpunan solusi.
vi. Periksa apakah solusi sudah melilputi perwarnaan seluruh vertex. Jika sudah maka
berhenti, jika belum maka akan kembali ke langkah 3.

Given G=(V,E):
Compute Degree(v) for all v in V.
Set uncolored = V sorted in decreasing
order of Degree(v).
set currentColor = 0.
while there are uncolored nodes:
set A=first element of uncolored
remove A from uncolored
set Color(A) = currentColor
set coloredWithCurrent = {A}
for each v in uncolored:
if v is not adjacent to anything in
coloredWithCurrent:
set Color(v)=currentColor.
add v to currentColor.
remove v from uncolored.
end if
end for
currentColor = currentColor + 1.
end while

2. MODEL, ANALISA, dan IMPLEMENTASI


Pada permasalahan ini studi kasus yang diangkat adalah peta Jawa Timur yaitu
bagaimana membentuk suatu graf coloring dari sebuah peta, dengan kota sebagai
vertexnya dan jalan protokol sebgai edge-nya. Adapun dalam implementasi ke bentuk
program perangkat lunak dibuat menggunakan bahasa Java.

Gambar 4. Peta propinsi Jawa Timur

■ 444
JURNAL INFORMATIKA Vol 4, No. 2, Juli 2010

1. Bagaimana memberikan warna pada kota-kota (vertex) di peta Jawa timur?


2. Berapa warna minimal yang dibutuhkan untuk mewarnai kota-kota (vertex)di jawa
timur?

Gambar 5. Graph Map Propinsi Jawa Timur

Tabel 1. Pengurutan Vertex Berdasarkan Jumlah Edge Terbanyak (Large Degree


Ordering)
No Nama Kota Jumlah Edge
1 Kediri 6
2 Probolinggo 5
3 Malang 5
4 Lumajang 3
5 Jember 4
6 Sidoarjo 4
7 Surabaya 4
8 Bangkalan 4
9 Bojonegoro 4
10 Nganjuk 4
11 Kertosono 4
12 Madiun 4
13 Ponorogo 4
14 Magetan 3
15 Ngawi 3
16 Tulungagung 3
17 Trenggalek 3
18 Blitar 3
19 Jombang 3
20 Mojokerto 3
21 Gresik 3
22 Pasuruan 3
23 Sampang 3
24 Pamekasan 3

■ 445
JURNAL INFORMATIKA Vol 4, No. 2, Juli 2010

25 Situbondo 3
26 Bondowoso 3
27 Banyuwangi 2
28 Sumenep 2
29 Lamongan 2
30 Tuban 2
31 Pacitan 2

Gambar 6. Penentuan kota (vertex) dan edge dalam aplikasi Java

Himpunan Kandidat (C)


C = {Merah, Biru, Hijau, Ungu, Orange, Hitam, … , N}

Himpunan Solusi (S)


S = {Merah, Biru, Hijau, Ungu}

■ 446
JURNAL INFORMATIKA Vol 4, No. 2, Juli 2010

Gambar 7. Hasil skema graph coloring

Hasil Solusi Pewarnaan Vertex


Gambar 8 memperlihatkan hasil solusi dari pewarnaan Vertex. Didapatkan
bahwa antara vertex (kota) yang berdekatan/bersebelahan tidak memiliki warna yang
sama.

Gambar 8. Hasil Pewarnaan Vertex pada Graph Map Propinsi Jawa Timur

■ 447
JURNAL INFORMATIKA Vol 4, No. 2, Juli 2010

Gambar 9. Hasil graph coloring setelah dilakukan view graph

Fungsi Obyektif
Optimalitas warna yang berhasil digunakan dalam pewarnaan peta di atas adalah 4
warna yaitu Merah, Biru, Hijau, dan Ungu. Jumlah warna optmimum inilah yang
disebut sebagai bilangan Cromatic.

3. KESIMPULAN DAN SARAN


Dari hasil penelitian berupa pewarnaan grap (graph coloring) pada peta Propinsi
Jawa Timur dapat diperoleh beberapa keseimpulan sebagai berikut:
1. Jumlah vertex (kota) yang terdapat di peta Jawa Timur berjumlah 31.
2. Kediri adalah kota yang memiliki jumlah edge paling banyak yaitu 6 (enam).
3. Kota-kota yang ada di peta Jawa Timur dapat diwarnai hanya menggunakan empat
warna, dengan warna antar kota yang terhubung dengan satu edge memiliki warna yang
berbeda.
Penelitian lanjutan yang disarankan berdasarkan dari penelitian ini adalah bagaimana
menemukan model graph coloring untuk social networking (jejaring sosial) atau dalam
pembahasan lain disebut sebagai social graph.

DAFTAR PUSTAKA
Dharwadker, A., “The Vertex Coloring Algorithm”,
http://www.dharwadker.org/vertex_coloring/, diakses 12 Januari 2010.
O'Connor, J.J and Robertson, E. F., “A History of Topology”, http://www-
history.mcs.st-and.ac.uk/HistTopics/Topology_in_mathematics.html, diakses 12
Januari 2010.
Mulia, F, ”Perencanaan Jadwal dengan Graph Coloring”, Program Studi Teknik
Informatika Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung.
Skiena, S., “Vertex Coloring”, http://www.cs.sunysb.edu/~algorith/files/vertex-
coloring.shtml, diakses 12 Januari 2010.
Weisstein, Eric W. "Vertex Coloring" From MathWorld--A Wolfram Web Resource.
http://mathworld.wolfram.com/VertexColoring.html, diakses 12 Januari 2010.
■ 448

Anda mungkin juga menyukai