Anda di halaman 1dari 4

Aplikasi Coloring Graf Dalam Menyelesaikan Masalah Penjadwalan

Liliana
e-mail: lilian@peter.petra.ac.id
Fakultas Teknologi Industri, Jurusan Teknik Informatika Universitas Kristen Petra
Jl. Siwalankerto 121-131 Surabaya

Anita, Yunice, Stella


e-mail: m26403062@john.petra.ac.id, m26403083@john.petra.ac.id,
m26403013@john.petra.ac.id,

Abstrak

Dalam kehidupan sehari-hari, masalah yang seringkali muncul adalah bagaimana menjadwalkan
aktivitas-aktivitas sehari-hari dengan baik. Bagi kebanyakan orang sebagai individu, menjadwal secara manual
bukanlah merupakan hal yang sulit untuk dilakukan karena adanya toleransi waktu yang cukup tinggi serta
jadwal yang lebih fleksibel. Hal ini menyebabkan adanya perubahan jadwal secara mendadak serta mengatur
ulang jadwal tidak menimbulkan masalah. Namun tidak demikian jika menyangkut jadwal yang melibatkan
sekumpulan orang, dalam arti perusahaan, organisasi atau instansi.
Dengan adanya perangkat lunak yang mampu membantu penjadwalan, waktu yang dibutuhkan relatif
lebih singkat dan lebih mudah dalam mengatur ulang jadwal yang sudah dibuat. Perangkat lunak untuk
penjadwalan ini tentunya akan sangat menghemat biaya dan waktu, terutama jika jadwal yang harus disusun
cukup banyak. Banyak metode yang bisa digunakan untuk mengatasi masalah dalam penjadwalan. Salah satu
cara yang bisa digunakan adalah coloring vertex dari suatu graf.
Perangkat lunak yang dikembangkan dalam penelitian ini bertujuan untuk memetakan sekumpulan
aktivitas ke dalam bentuk graf dan kemudian mewarnainya dengan cara coloring graf. Dari hasil pewarnaan
tersebut akan didapat beberapa solusi yang dapat digunakan dalam mengatur jadwal dari sekumpulan aktivitas
tersebut. Perangkat lunak ini menyediakan suatu editor yang mempunyai fasilitas untuk menggambar graf atau
menginput sekumpulan aktivitas dan hasilnya akan ditampilkan dalam bentuk graf juga supaya dapat dilihat
secara langsung.
Dalam kegiatan belajar-mengajar di universitas banyak sekali jadwal yang harus dibuat. Mulai dari
jadwal kuliah, jadwal ujian, jadwal praktikum, jadwal sidang tugas akhir, sampai jadwal proposal tugas akhir.
Banyak masalah yang timbul ketika penjadwalan dilakukan secara manual. Masalah pertama yang sering
muncul adalah kesulitan dalam menseting waktu dan tempatnya. Masalah berikutnya adalah masalah
pengecekan jadwal apakah sudah tidak ada jadwal yang berbenturan. Dari masalah-masalah yang timbul ini
maka diharapkan perangkat lunak yang dikembangkan ini tidak hanya mampu mengatasi kesulitan-kesulitan
yang timbul dengan menghasilkan kombinasi jadwal yang mungkin, tetapi juga fleksibel dalam penggunaannya,
dalam arti tidak hanya mampu menjadwalkan kasus tertentu tetapi penjadwalan secara umum.

Kata kunci : graf, coloring vertek, penjadwalan, kapasitas ruang, pemetaan jadwal ke graf
1. Pendahuluan adalah cara pemberian warna untuk setiap titik
Untuk penjadwalan sejumlah besar pada suatu graf sedemikian rupa sehingga setiap
kegiatan dengan berbagai kepentingan yang titik yang adjacent ( dihubungkan oleh garis/edge
berbeda namun tempat pelaksanaan atau waktu yang sama) diwarnai dengan warna yang berbeda.
pelaksanaan sangat terbatas, akan menimbulkan Sedangkan coloring edge adalah cara pemberian
kesulitan yang cukup besar jika dilakukan secara warna pada garis sedemikian rupa sehingga setiap
manual. Hal ini disebabkan ada begitu banyak garis yang bertumpuan pada titik yang sama diberi
faktor kesalahan manusia (human error). Human warna yang berbeda. cara pemberian warna tidak
error akan semakin sering terjadi jika banyak memiliki aturan tertentu, hanya harus seminimal
aturan dalam pembuatan jadwal, seperti kegiatan x mungkin.
harus dilakukan sebelum kegiatan y, kegiatan z Untuk pembuatan jadwal ini akan
harus bersamaan dengan kegiatan x dan seterusnya. digunakan coloring vertex. Dari suatu jadwal yang
Selain kesulitan dalam menyusun jadwal untuk diinputkan, mula-mula akan dipetakan menjadi
pertama kali, kesulitan juga terjadi saat terjadi suatu graf terlebih dahulu. Proses coloring
perubahan atau penambahan jadwal, karena tidak dilakukan pada graf yang terbentuk. Pemetaan
mudah untuk mengatur ulang jadwal yang sudah dilakukan dengan mengasumsikan bahwa setiap
ada. Pembuatan jadwal secara manual juga sangat jadwal adalah sebuah vertex dan urutan jadwal atau
memungkinkan terjadinya kesalahan yang fatal. dua jadwal yang tidak bisa diadakan bersamaan
Kesalahan – kesalahan fatal yang seringkali terjadi dipetakan dengan membuat edge antara dua titik
adalah benturan antar jadwal yang seharusnya tidak tersebut. Untuk kapasitas ruang yang ada akan
boleh terjadi. dimodelkan dengan batasan jumlah warna sama
Dalam perangkat lunak yang yang bisa digunakan untuk mewarnai vertex.
dikembangkan dalam penelitian ini diutamakan Setelah selesai melakukan proses coloring,
pada pembuatan jadwal perkuliahan. Walaupun setiap vertex pada graf hasil akan memiliki warna
terbuka untuk pembuatan jadwal yang lain namun yang berbeda-beda. Dari warna-warna tersebut
kesulitan yang dimodelkan adalah kesulitan – akan diketahui bahwa titik dengan warna yang
kesulitan yang terjadi dalam pembuatan jadwal sama bisa dijadwalkan bersamaan sedangkan untuk
perkuliahan. Ada dua permasalahan yang diatasi titik dengan warna yang berlainan, harus
dalam perangkat lunak ini. Yaitu urutan jadwal dan dijadwalkan berbeda. Jumlah yang digunakan
urutan peserta. Urutan jadwal memperhatikan menunjukkan banyaknya jadwal yang harus dibuat
jadwal mana yang harus disetting terlebih dahulu untuk bisa melakukan penjadwalan.
sebelum jadwal yang lain. Sedangkan urutan
peserta dimaksudkan untuk memastikan tidak ada 3. Desain dan Flow Chart
peserta yang harus mengikuti jadwal yang berbeda Proses kerja dari perangkat lunak ini, yaitu
dalam waktu yang bersamaan. Pada kenyataannya pertama – tama menginputkan semua jadwal yang
dua hal ini yang seringkali terlewatkan saat akan dibuat. Yang diimplementasikan sebagai titik
pembuatan jadwal perkuliahan. adalah matakuliah per kelas. Oleh program akan
Salah satu metode yang bisa digunakan disimpan sebagai vertex dengan nama matakuliah
untuk menyelesaikan masalah penjadwalan adalah sebagai lebelnya. Setelah itu diinputkan pula semua
coloring dari suatu input yang berupa graf. Banyak kelas yang harus sudah dilaksanakan sebelum kelas
masalah yang dapat diselesaikan dengan yang diinputkan tersebut. Dalam tahap inputan ini
manipulasi graf, salah satunya adalah masalah tidak akan diadakan pengecekan apakah kelas yang
penjadwalan. Dari metode-metode yang berkaitan harus dilaksanakan lebih dahulu tersebut sudah
dengan graf, yang dapat dimanfaatkan untuk diinputkan. Hal ini memang dirancang supaya user
menangani masalah penjadwalan adalah coloring. tidak perlu memilah dan mengurutkan sendiri kelas
Coloring terdiri dari dua macam, yaitu coloring mana yang paling dahulu dilaksanakan. Setelah
vertex dan coloring edge (Liu, 1985). dibentuk menjadi graf barulah dicek apakah vertex-
vertek yang dimaksud sudah ada dan juga
2. Coloring Untuk Menyelesaikan mengecek apakah terjadi cycle. Contoh dari cycle
Masalah Penjadwalan adalah jika kelas A harus dilaksanakan sebelum
Graf adalah suatu representasi dalam kelas B, kelas B harus diadakan sebelum kelas C
bentuk titik (vertex) dan garis (edge). Banyak tetapi kelas C harus diadakan sebelum kelas A.
permasalahan yang dapat direpresentasikan dalam Syarat seperti tidak mungkin dijadwalkan. Hal ini
bentuk graf. Salah satunya adalah masalah menyebabkan pengecekan cycle sebelum proses
penjadwalan. Banyak metode yang dikembangkan coloring sangat penting. Setelah memetakan
yang berkaitan dengan graf. Salah satunya adalag masalah ke dalam bentuk graf, barulah dilakukan
coloring (pewarnaan). Coloring adalah pewarnaan proses coloring.
suatu graf. Ada dua macam cara mewarnai suatu Input dapat dilakukan dengan dua cara.
graf yaitu coloring vertex (pewarnaan titik) dan Yang pertama adalah dengan memasukkan satu
coloring edge (pewarnaan garis). Coloring vertex persatu nama kelas beserta dengan syaratnya dan
cara yang kedua adalah dengan menggambarkan start

grafnya secara langsung. Data untuk menyimpan


graf terdiri dari data titik dan data garis. Untuk data
Input vertex ? tidak Input vertex ?
titik yang disimpan adalah posisi dan label/nama.
Sedangkan untuk data garis yang disimpan adalah ya ya
tidak
dua titik pembentuk garis dan nama (jika Klik di editor , simpan
Klik di editor
diperlukan). Flowchart untuk input data kelas satu sebagai vertex 1

persatu dapat dilihat pada gambar 1, flowchart


untuk menginput graf secara langsung terlihat pada Input nama Klik di editor , simpan
vertex sebagai vertex 2
gambar 2 dan flowchart untuk proses coloring
dapat dilihat pada gambar 3.
Gambar garis, dan 2 titik
penghubung.
Start

Input nama
kelas Proses coloring ?

Input syarat
ya
kelas
ya
Coloring

Input syarat
yang lain ?

tidak

tidak
Input kelas
lain ?
Gambar 2. Flowchart input graf
Coloring
tidak

Coloring ? Input jumlah


warna maksimum

ya

coloring Warna ß 1, count ß 1

I ß 1 to jumlah
vertex

Gambar 1. Flowchart input


vertex sudah
diwarnai ?
Untuk kelas dengan pengajar yang sama bisa
diperlakukan sebagai syarat dari kelas yang lain. tidak

J ß 1 to jumlah
vertex

Cari warna yang berbeda


dari warna vertex J yang
memiliki syarat vertex I

maksimum warna yang


akan digunakan < max ya
warna ?

Beri warna titik I

J
tidak

Gambar 3. Flowchart prosedur coloring


bentuk titik, garis dan warna bisa
4. Uji Coba diselesaikan dengan coloring graf.
Uji coba dilakukan dengan menginputkan data • Untuk membuat pengaturan jadwal yang
kelas beserta dengan syarat-syaratnya seperti lebih rumit, seperti mempertimbangkan
tampak pada gambar 4. hasil dari pembentukan kapasitas kelas, banyaknya kelas paralel,
coloring dapat dilihat pada gambar 5. Data serta jam pelaksanaan sekaligus tidak bisa
kelas beserta syarat-syaratnya akan tampak di dilakukan dengan menggunakan coloring
kolom bawah. Selain itu juga diset posisi graf. Hal tersebut bisa dilakukan jika
vertex secara acak. Hasil dari input data setiap kelas dimodelkan sebagai titik-titik
digambar sebagai graf yang tampak pada yang berbeda dan hal ini harus dilakukan
editor graf di bagian samping kanan. Graf yang secara manual.
terbentu dapat diatur ulang posisinya dengan
cara menggeser posisi vertek-vertek nya.
• Perangkat lunak dapat digunakan untuk
menyelesaikan bentuk aplikasi yang lain
selain penjadwalan jika yang diinputkan
adalah titik mana yang tidak boleh diberi
warna sama. Misalnya jika perangkat
lunak digunakan untuk mengatur
penayangan program TV, acara yang tidak
boleh diadakan secara bersamaan
dijadikan syarat, maka hasil coloring bisa
digunakan untuk pengaturan penampilan
acara – acara tersebut.

Daftar Pustaka

Cormen, Leiserson, Rivest. Inroduction to


Algorithms. 1990. The MIT Press. Massachusetts.

Gambar 4. Input data dan bentuk graf nya. Goodaire, Edgar G ; Parmenter, Michael M.
Discrete Mathematics with Graph Theory. 1998.
Prentice Hall, Inc. New Jersey.

Liu, C.L. Element of Discrete Mathematics


2nd.1985. McGraw-Hill,Inc

Chin, Francis. Graph Colorings. 2004.


Mathematical Foundations of Comnputer Science.

Gambar 5. Hasil proses coloring dengan warna


maksimum 4.

5. Kesimpulan
• coloring vertex dapat digunakan untuk
menyelesaikan masalah penjadwalan yang
hanya mempertimbangkan boleh tidaknya
‘sesuatu’ dijadwalkan secara bersamaan.
Hal ini disebabkan keterbatasan unsur
dalam suatu graf. Graf hanya memiliki
titik dan garis. Serta warna untuk
mewarnai. Semua permasalahan dalam
penjadwalan yang bisa dipetakan dalam