Anda di halaman 1dari 29

TUGAS BESAR

MATEMATIKA DISKRIT

GRAPH COLORING

Dosen Pembimbing :

H Dadi Rosadi, M. Kom.

Kelompok :

1. Sendy Meiladi – 20110103 (IF-RPL S1)

2. Raihan Muhammad Saprudin – 20110034 (IF-RPL S1)

3. Fani Aghistiya Lestari – 20110021 (IF-RPL S1)

TEKNIK INFORMATIKA

STMIK MARDIRA INDONESIA


KATA PENGANTAR

Segala puji bagi Allah SWT yang telah memberikan nikmat serta hidayah-Nya terutama nikmat
kesempatan dan kesehatan sehingga kami dapat menyelesaikan laporan mata kuliah
“Matematika Diskrit”. Kemudian shalawat beserta salam kita sampaikan kepada Nabi besar kita
Muhammad SAW yang telah memberikan pedoman hidup yakni al-qur’an dan sunnah untuk
keselamatan umat di dunia.
Makalah ini merupakan salah satu tugas mata kuliah Matematika Diskrit di program studi teknik
Informatika. Selanjutnya kami mengucapkan terima kasih yang sebesar-besarnya kepada
Bapak H Dadi Rosadi, M. Kom. selaku dosen pembimbing mata kuliah Matematika Dasar dan
kepada segenap pihak yang telah memberikan bimbingan serta arahan selama penulisan
laporan ini.
Akhirnya penulis menyadari bahwa banyak terdapat kekurangan-kekurangan dalam penulisan
makalah ini, maka dari itu penulis mengharapkan kritik dan saran yang konstruktif dari para
pembaca demi kesempurnaan makalah ini.
 
Bandung, Desember 2021

Penulis
DAFTAR ISI
KATA PENGANTAR.................................................................................................................................2
DAFTAR ISI...................................................................................................................................................3
BAB 1 TEORI DASAR.............................................................................................................................4
1.1 TEORI GRAF.............................................................................................................................4
1.1.1 Graph Sederhana............................................................................................................5
1.1.2 Graph tak-Sederhana.....................................................................................................6
1.1.3 Graf Berarah (Direct Graph/digraph)..........................................................................6
1.1.4 Graf Berbobot..................................................................................................................7
1.1.5 Pewarnaan Graph (Graph Colouring).........................................................................8
1.2 PEWARNAAN GRAF...............................................................................................................9
1.2.1 PEWARNAAN SIMPUL PADA GRAF.........................................................................10
1.2.2 PEWARNAAN SISI PADA GRAF................................................................................10
1.2.3 PEWARNAAN WILAYAH PADA GRAF.....................................................................11
1.3 IMPLEMENTASI.....................................................................................................................11
A. Aplikasi Graph Colouring Untuk Scheduling.............................................................11
B. Aplikasi Graph Colouring Untuk Reparasi Mobil......................................................15
C. Aplikasi Graph Colouring Untuk Peta..........................................................................16
BAB 2 BEBERAPA ALGORITMA YANG DIKENAL...........................................................................21
2.1 Algortma Greedy...................................................................................................................21
2.2 Algoritma First Fit (FF)........................................................................................................22
2.3 Algoritma LDO.......................................................................................................................22
2.4 Saturated Degree Ordering (SDO)....................................................................................24
2.5 Algoritma IDO........................................................................................................................26
DAFTAR PUSTAKA...............................................................................................................................29
BAB 1 TEORI DASAR

Teori graf merupakan salah satu cabang dalam matematika diskrit yang menarik untuk dibahas
karena berkaitan dengan permasalahan yang banyak ditemui dalam kehidupan sehari-hari
(Wibisono, 2008). Teori graf mulai dikenalkan oleh seorang matematikawan bernama Leonhard
Euler sekitar tahun 1736. Leonhard Euler mulai mengenalkan teori graf setelah menyelesaikan
masalah jembatan Koinsberg. Masalah tersebut kemudian dimodelkan Euler dalam bentuk graf
dengan memisalkan daratan sebagai sebuah titik dan jembatan penghubungnya adalah sebuah
sisi. Keunikan teori graf adalah kesederhanaan pokok bahasan yang dipelajarinya, karena
dapat disajikan sebagai titik atau simpul (vertex) dan sisi (edge) (Jusuf, 2009).

Salah satu bagian dari teori graf adalah pewarnaan graf.


Pewarnaan graf menurut Budayasa (2007: 151) terdapat dua macam, yaitu pewarnaan titik atau
simpul (vertex) dan pewarnaan sisi (edge). Misal 𝐺 sebuah graf. Sebuah pewarnaan 𝑘 dari 𝐺
adalah perwarnaan semua titik 𝐺 dengan menggunakan 𝑘 warna sedemikian hingga dua titik 𝐺
yang berhubungan langsung mendapat warna yang berbeda. Sebuah pewarnaan sisi pada graf
𝐺 adalah pewarnaan semua sisi 𝐺 sedemikian hingga setiap dua sisi yang terkait pada titik yang
sama mendapatkan warna yang berbeda. Bilangan yang menyatakan banyaknya warna
minimal yang digunakan dalam pewarnaan titik graf disebut bilangan kromatik (Rosyida dkk,
2015). Menurut Susiloputro, Rochmad dan Alamsyah (2012) pewarnaan graf adalah pemberian
warna yang biasanya direpresentasikan sebagai bilangan terurut mulai dari satu atau dapat
langsung direpresentasikan dengan warna merah, biru, hijau dan lainnya pada suatu objek
tertentu.

1.1 TEORI GRAF


Teori graf merupakan pokok bahasan yang sudah tua usianya namun memiliki banyak
terapan sampai saat ini. Graf digunakan untuk merepresentasikan objek-objek diskrit dan
hubungan antar objek-objek tersebut. Representasi visual dari graf adalah dengan
menguyatakan objek dinyatakan sebagai noktah, bulatan, atau titik, sedangkan hubungan
antara objek dinyatakan dengan garis. Sesungguhnya peta adalah sebuah graf, yang dalam hal
ini kota dinyatakan sebagai bulatan sedangkan jalan dinyatakan sebagai garis. Graf merupakan
representasi dari suatu masalah yang digambarkan sebagai sekumpulan noktah atau simpul
(vertex) yang dihubungkan dengan sekumpulan garis atau sisi (edge) (Afrianto dan Jamilah,
2012:35).Graf dapat digunakan untukmerepresentasikaobjek-objek diskrit dan hubungan antara
objek-objek tersebut. Representasi visual darigraf adalah dengan menyatakan node, bulatan
atau titikVertex,sedangkan hubungan antara objek dengan garis dinyatakan dengan baris edge.

V= {v1,v2,v3,...,vn}
E= {e1,e2,e3,...,en}
Atau
E= {(v1,v2),(v2,v3),(v3,v4),...,(vn-1,vn)}

Di mana e=(vi,vj) yang artinya sisi yang


menghubungkan simpul vi dan vj

Kegunaan graf sangat banyak. Umumnya graf digunakan untuk memodelkan suatu masalah
sehingga menjadi lebih mudah, yaitu dengan cara merepresentasikan objek – objek diskrit dan
hubungan antara objek – objek tersebut. Contoh pemodelan suatu masalah dengan
menggunakan graf dapat dilihat pada penggambaran rangkaian listrik, senyawa kimia, jaringan
komunikasi, jaringan network komputer, analisis algoritma,
peta, struktur hierarki sosial, dan lain – lain.

1.1.1 Graph Sederhana


Graf sederhana merupakan graf yang tidak mengandung gelang maupun sisi-ganda.
Pada graf ini sisi merupakan pasangan tak-terurut (unordered pairs) sehingga jika menuliskan
sisi (u,v) sama saja dengan (v,u) dan G=(V,E) terdiri dari himpunan tidak kosong simpul-simpul
dan E adalah himpunan pasangan tak-terurut yang berbeda yang disebut sisi. Berikut contoh
graf berarah dengan empat vertex pada gambar 1 :

Gambar 1.1 graf 4 vertex sederhana

Contoh 1. Pada gambar 1, adalah graf dengan


V = { 1, 2, 3, 4 }
E = { (1, 2), (1, 3), (2, 3), (2, 4), (3, 4) }
1.1.2 Graph tak-Sederhana
Graf tak-sederhana merupakan graf yang mengandung gelang atau sisi-ganda. Ada
dua macam graf tak-sederhana, yaitu graf ganda (multigraph) dan graf semu (pseudograph).
Graf ganda adalah graf yang mangandung ganda. Graf semu adalah graf yang mengandung
sisi ganda dan loop. Berikut contoh graf tak-sederhan dengan empat vertex pada gambar 2 :

Gambar 1.2 graf 4 vertex tak-sederhana semu

Contoh 2. Pada gambar 2 adalah graf dengan


V = { 1, 2, 3, 4 }
E = { (1, 2), (2,3), (1, 3), (1, 3), (2, 4), (3, 4),(3, 4),(3, 3)}
= { e1, e2, e3, e4, e5, e6, e7, e8}

 Pada sisi e3 = (1, 3) dan sisi e4 = (1, 3) dinamakan sisi-ganda (multiple edges atau
parallel edges) karan kedua sisi ini mengandung dua buah simpul yang sama, yaitu
saimpul 1 dan simpul 3
 Pada sisi e8 = (3,3) dinamakan gelang atau kalang (loop) karena ia berawal dan berakhir
pada simpul yang sama.

1.1.3 Graf Berarah (Direct Graph/digraph)


Directed Graph atau Graph Terarah adalah struktur data Graph dengan edge yang
hanya memiliki satu arah antar node yang dihubungkannya. Pada gambar 1 sebagai analogi,
edge pada directed graph dianalogikan seperti jalan satu arah yang menghubungkan posisi A
dan B. Berbeda dengan graph biasa dimana edge dianalogikan sebagai jalan 2 arah yang
menghubungkan posisi A dan B. Untuk directed graph ditandai dengan penggunaan panah
pada edge yang menghubungkan 2 node.
Apabila panah digambarkan dari node A ke node B berarti jalur (path) dari A menuju B boleh
dilalui tetapi tidak berlaku sebaliknya dari B ke A.Dalam hal ini sisi yang ditulis (v1,v2) berbeda
dengan sisi (v2, v1).Berikut contoh graf berarah dengan lima vertex pada gambar 3:.

Gambar 1.3 graf 5 vertex berarah

Contoh 3. Pada gambar 3 adalah graf dengan


V = { a, b, c, d, e }
D = Tinjau graf 3 :
din(a) = 1; dout(a) = 3
din(b) = 1; dout(b) = 1
din(c) = 2; dout(c) = 1
din(d) = 1; dout(d) = 1
din(e) = 2; dout(e) = 1

 din(v) = derajat-masuk (in-degree)


= jumlah busur yang masuk ke simpul v
 dout(v) = derajat-keluar (out-degree)
= jumlah busur yang keluar dari simpul v

1.1.4 Graf Berbobot


Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga (bobot). Bobot pada
tiap sisi dapat berbeda – beda bergantung pada masalah yang dimodelkan dengan graf. Bobot
dapat menyatakan jarak antara dua buah kota, biaya perjalanan antara dua buah kota, waktu
tempuh pesan (message) dari sebuah simpul komunikasi ke simpul komunikasi lain ( dalam
jaringan komputer), ongkos produksi, dan sebagainya. ( Munir, 2009 : 376). Contoh graf
berbobot pada gambar 4 :
Gambar 1.4 graf 5 vertex berbobot

1.1.5 Pewarnaan Graph (Graph Colouring)


Pewarnaan Graf adalah kasus khusus pada pelabelan graf. Pelabelan ini maksudnya
yaitu memberikan warna pada titik-titik pada batas tertentu. Ada tiga macam pewarnaan pada
graf. Pewarnaan pada titik (vertex coloring) 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., seperti pada Gambar 5 dibawah:

Gambar 1.5 graf coloring pada titik

Kedua, pewarnaan sisi (edge coloring), (Gross et all, 2006) : Suatu pewarnaan sisi - k untuk
graf G adalah suatu penggunaan sebagian atau semua k warna untuk mewarnai semua sisi di
G, sehingga setiap pasang sisi yang mempunyai simpul yang sama diberi warna yang
berbeda. Seperti pada gambar 6 dibawah :

Gambar 1.6 graf coloring pada sisi


Ketiga, Pewarnaan Wilayah (Gross et all, 2006):Pewarnaan wilayah adalah warna yang
diberikan ke setiap wilayah pada graf, sehingga tidak ada wilayah yang bersebelahan memiliki
warna yang sama. Pewarnaan wilayah ini diterapkan pada pewarnaan peta, dengan
memberikan warna berbeda pada setiap wilayah yang saling bertetangga.

Mewarnai wilayah pada suatu graf dapat menggunakan prinsip pewarnaan simpul pada graf
(Wibisono, 2004).

Berikut ini adalah contoh pewarnaan wilayah pada graf :

Gambar 1.7 graf coloring pada wilayah

1.2 PEWARNAAN GRAF


Suatu graf G terdiri dari dua himpunan yang berhingga, yaitu himpunan titik-titik tidak
kosong yang disimbolkan dengan V(G) dengan elemen-elemennya disebut simpul dan
himpunan garis-garis yang disimbolkan dengan E(G ) dengan elemen-elemennya disebut sisi.
Pewarnaan pada graf G adalah pemetaan warna-warna pada simpul, sisi, atau wilayah pada
graf G sedemikian sehingga setiap simpul, sisi, atau wilayah yang bertetangga mempunyai
warna yang berbeda. Pewarnaan simpul dan pewarnaan wilayah memiliki jumlah warna
minimum yang disebut dengan bilangan kromatik dan pewarnaan sisi memiliki jumlah warna
minimum yang disebut dengan indeks kromatik.

Bilangan kromatik graf G adalah jumlah warna minimum yang dapat digunakan untuk mewarnai
suatu graf. Suatu graf G mempunyai bilangan kromatik k (k - chromatic) jika x(G ) = k .
Pada pewarnaan simpul dan wilayah, bilangan kromatik dinotasikan dengan x(G), sedangkan
pada pewarnaan sisi, indeks kromatik dinotasikan dengan x(G ).

1.2.1 PEWARNAAN SIMPUL PADA GRAF


Berikut diberikan definisi pewarnaan simpul beserta kasus penerapannya pada
penentuan jadwal pembagian loker di kantor babysitter. Pewarnaan simpul pada graf G adalah
pemberian warna pada simpul-simpul di graf G sedemikian sehingga setiap dua simpul yang
bertetangga (terhubung langsung) memiliki warna yang berbeda.Contoh pewarnaan simpul
pada graf :

Gambar 2.1 Pewarnaan simpul Graf A dengan 3 warna

Contoh gambar 2.1 Diberikan graf A dengan himpunan simpul V(A ) = {v1, v2, v3, v4} dan
himpunan sisi E(A ) = {(v1, v2 ), (v2, v3), (v3, v4 ), (v1, v4 ), (v1, v3 )}

1.2.2 PEWARNAAN SISI PADA GRAF


Berikut diberikan definisi pewarnaan sisi beserta kasus penerapannya pada open shop
scheduling. Pewarnaan sisi pada graf G adalah pemberian warna pada sisi-sisi di graf G
sedemikian sehingga setiap dua sisi yang bertetangga (terhubung langsung) memiliki warna
yang berbeda. Contoh pewarnaan sisi pada graf :

Gambar 2.2 Pewarnaan sisi Graf B dengan 3 warna


Contoh gambar 2.2 Diberikan Graf B dengan himpunan simpul V(B ) = {v1, v2, v3, v4} dan
himpunan sisi E(B) = {e1, e2, e3, e4, e5, e6}

1.2.3 PEWARNAAN WILAYAH PADA GRAF


Pewarnaan wilayah pada graf G adalah pemberian warna pada wilayah di graf G
sedemikian sehingga setiap dua wilayah yang bertetangga (terhubung langsung) memiliki
warna yang berbeda. Contoh pewarnaan simpul pada graf :

Gambar 2.3 Graf P perwarnaan wilayah dengan 3 warna

Contoh Gambar 2.3 Diberikan Graf P dengan himpunan wilayah dengan R = {r1, r2, r3, r4, r5,
r6}

Khusus pada pewarnaan wilayah, peta atau wilayah yang diwarnai atau diselesaikan
masalahnya harus dibentuk menjadi graf planar terlebih dahulu. Graf planar adalah graf yang
dapat digambarkan pada bidang datar sedemikian sehingga tidak ada sisi-sisinya yang saling
berpotongan. Setelah dibentuk ke graf planar, selanjutnya dibentuk menjadi graf dual dimana
setiap ruang dalam wilayah di graf planar dijadikan sebagai sebuah simpul, dan simpul-simpul
yang bertetangga dihubungkan oleh sebuah sisi. Dengan demikian, pewarnaannya
menggunakan konsep pewarnaan simpul.

1.3 IMPLEMENTASI
A. Aplikasi Graph Colouring Untuk Scheduling
Sebuah contoh kasus yang menggambarkan manfaat metode pewarnaan graph dalam
membuat jadwal. Setiap semester, petugas kantor akademik MIT harus menentukan jadwal
ujian. Hal ini tidaklah mudah, karena beberapa mahasiswa/i mengambil beberapa mata
kuliah yang bisa bertabrakan jadwal ujiannya. Petugas tersebut ingin menghindari semua
jadwal yang bertabrakan. Tentu saja, ia bisa membuat sebuah jadwal dengan setiap mata
kuliah memiliki waktu ujian yang berlainan, tetapi hal ini mengakibatkan masa ujian tersebut
akan sangat lama sekali dan bahkan mungkin lebih dari satu semester. Petugas tersebut
tentu saja ingin membuat masa ujian sesingkat mungkin sehingga memudahkan semua
pihak, bagaimana cara ia melakukannya?
Di sinilah masalah pewarnaan graf memegang peranan yang penting. Kita dapat
memodelkan masalah seperti di atas ke dalam model grafnya. Setiap mata kuliah
dimodelkan dengan sebuah simpul pada graf tersebut. Kemudian setiap mata kuliah yang
diikuti oleh setidaknya 1 orang yang sama akan memiliki hubungan yang direpresentasikan
dalam bentuk sisi pada 2 simpul mata kuliah itu. Waktu atau jadwal sebuah mata kuliah
berlangsung adalah warna yang diberikan pada simpul mata kuliah itu. Masalah yang harus
dipecahkan berikutnya adalah bagaimana kita memberikan warna minimum kepada setiap
simpul sehingga tidak ada simpul – simpul yang bertetangga memiliki warna yang sama. Hal
ini merupakan masalah pewarnaan simpul graf yang telah kita singgung sebelumnya.
Contoh lain yang dapat dimodelkan dalam pewarnaan graf misalnya adalah masalah
update software secara online. Contohnya pada perusahaan Akamai, versi baru dari sebuah
software terus diluncurkan setiap beberapa harike 20.000 server yang dimilikinya. Tentu
saja perusahaan tersebut tidak bisa mematikan seluruh servernya untuk mengupdatenya,
ataupun mengupgrade satu per satu server tersebut karena hal tersebut akan memakan
waktu yang terlalu lama. Dibutuhkan suatu cara yang efisien untuk menentukan jadwal
upgrade setiap server. Masih banyak contoh lain dari masalah pewarnaan graf, misalnya
penentuan alokasi variabel pada register komputer, masalah pewarnaan peta, pemberian
frekuensi radio kepada setiap stasiun radio, penentuan jadwal operasi kereta api, dan lain –
lain.
Untuk masalah penentuan jadwal, masalah tersebut biasanya berhubungan dengan
beberapa pekerjaan yang berhubungan seperti menggunakan sumber daya yang sama
sehingga tidak bisa dilakukan pada waktu yang bersamaan.
Kita dapat menyelesaikan masalah ini dalam 3 langkah, yaitu:
1. Menggambar simpul – simpul graf
Simpul – simpul graf yang digambarkan haruslah mewakili pekerjaan yang akan
dilakukan.
2. Menggambar sisi – sisi pada graf
Kita menggambarkan sisi – sisi pada setiap pasang simpul yang menggunakan sumber
daya yang sama. Yang artinya kedua pekerjaan tersebut tidak bisa dilakukan pada
waktu yang sama.
3. Mewarnai graf
Langkah terakhir yang harus kita lakukan adalah mewarnai simpul – simpul pada graf
tersebut dengan warna yang minimum sehingga tidak ada simpul – simpul yang
bertetangga memiliki warna yang sama.

Berikut ini diberikan sebuah contoh penyelesaian kasus mengenai penentuan jadwal.
Seorang penjaga kantor baby sitter mendapat 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 Jadwal Penitipan bayi

Tanda bintang (*) menggambarkan bahwa anak tersebut berada pada kantor pada
waktu yang diberikan, sedangkan tanda strip (-) berarti bahwa anak tersebut tidak sedang
dititipkan.
Tentukan bagaimana petugas tersebut harus menentukan loker mana yang diberikan
kepada setiap orangtua. 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.2 Simpul ang merepresentasikan Anak

2. Menggambar sisi graf


Kita menggambarkan sisi - sisi pada setiap pasang simpul bila anak – anak yang
dilambangkan pada kedua simpul yang dihubungkan oleh sisi tersebut menggunakan petak
(slot) waktu yang sama.

Gambar 3.3 Graf yang telah diwarnai

3. Mewarnai Graf tersebut


Graf yang telah diwarnai akan terlihat sebagai berikut :

Gambar 3.4 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 berjumlah 4. C dan E diberikan loker 1. B, D, dan G deiberikan loker 2. F
diberikan loker 3. A diberikan loker 4. Pemberian loker yang sama untuk 2 orang anak atau
lebih dapat dilakukan karena mereka tidak pernah berada pada tempat yang sama dalam
waktu yang sama.

B. Aplikasi Graph Colouring Untuk Reparasi Mobil


Sebuah pabrik reparasi mobil menerima 8 buah mobil rusak yang harus direparasi. Pos
reparasi hanya tersedia sebanyak 3 pos, sedangkan waktu yang digunakan untuk
menyelesaikan proses perbaikan mobil hanya diberikan satu pekan. Oleh karena itu, dicari
berapa banyak shift yang bisa dibuat oleh pabrik untuk bisa menyelesaikan perbaikan 8
buah mobil dalam waktu sepekan. Adapun langkah menyelesaikan masalah di atas sesuai
dengan pengaplikasian pada pewarnaan sisi pada graf adalah:
1. Menggambar sisi dan simpul pada graf
Simpul A, B, C, D, E, F, G, H direpresentasikan sebagai jumlah mobil yang rusak dan
diperbaiki, sedangkan simpul R1, R2, R2 merepresentasikan 3 pos yang tersedia

Gambar 3.5 Skema jadwal reparsai pabrik mobil yang dipresentasikan dalam graf

Setelah sistem kerja pabrik reparasi mobil direpresentasikan ke dalam bentuk graf di
atas, selanjutnya ditentukan pembagian jadwal penggunaan tiap tempat untuk masing-
masing mobil. Pembagian jadwal di sini dibuat dalam bentuk kerja shift. Cara
pelaksanaannya adalah dengan menggunakan konsep pewarnaan sisi pada graf.
2. Mewarnai Graf
Diasumsikan bahwa setiap pos reparasi hanya bisa menerima satu mobil pada satu shift
dan proses reparasi mobil pada tiap pos akan memakan waktu yang relatif sama. Misalkan
dimulai dari jadwal mobil B pada pos R1 . Pada sisi tersebut diberikan label a yang
merupakan shift kerja pertama hari pertama. Diasumsikan pula bahwa shift bekerja dapat
berubah sesuai keadaan, namun suatu pekerjaan yang dilakukan pada shift tersebut harus
terlebih dahulu diselesaikan sebelum melanjutkan pergantian shift. Selanjutnya, labeli sisi
pada jadwal mobil A pada pos R1 . Dikarenakan pos pada R1 bersisian atau bertetangga
dengan sisi yang telah dilabeli , maka sisi ini akan diberi label b yang merupakan shift kerja
kedua. Namun, pada jadwal mobil A di pos R2, karena kedua simpul tidak bertetangga
dengan yang telah dilabeli a, maka dapat dilabeli kembali dengan label a yang berarti
bahwa mobil A mempunyai jadwal reparasi di pos R2 pada shift pertama, kemudian di pos
R1 pada shift selanjutnya. Hal yang sama dilakukan pada jadwal reparasi mobil B. Pada sisi
pertama, yang bertetangga dengan simpul R1 dan R2 , maka sisi ini dilabeli c , karena pada
simpul di R1 , telah ada yang dilabeli a dan label b. Selanjutnya dilakukan metode yang
sama sehingga didapatkan warna minimum sebanyak 7 warna dari 16 sisi yang ada dengan
menggunakan algoritma seperti di atas, dari kasus ini graf akhir yang didapatkan sebagai
berikut

Gambar 3.6 Graf representasi jadwal reparasi mobil yang telah dilabeli dan diwarnai

Dengan demikian, dapat disimpulkan bahwa dari 8 buah mobil klien pabrik yang direparasi
dalam satu pekan, dibutuhkan paling sedikit 7 shift kerja pada 3 pos reparasi.

C. Aplikasi Graph Colouring Untuk Peta


Kecamatan Tekarang merupakan salah satu kecamatan yang ada di Kabupaten
Sambas, Provinsi Kalimantan Barat. Kecamatan ini adalah salah satu kecamatan yang
sedang berkembang, maka untuk mendukung perkembangan, diperlukan persiapan yang
matang. Persiapan tersebut dapat dimulai dari SDM (Sumber Daya Manusia), peralatan,
maupun analisa wilayah. Proses transformasi setiap kecamatan, kota atau kabupaten
biasanya diawali oleh bergabungnya kota-kota atau daerah yang berdekatan. Melalui
pemilihan pusat kecamatan yang strategis, maka diharapkan pengembangan daerah pada
setiap desa akan relatif sama. Kecamatan Tekarang memiliki 7 desa. Maka jumlah sisi yang
digunakan adalah 7 simpul. Jika antar desa saling berbatasan, maka ada 2 simpul yang
akan bertemu, yang disebut sisi. Desa yang memiliki sisi paling banyak diasumsikan
merupakan desa strategis, karena merupakan desa yang paling banyak berbatasan
langsung dengan desa lainnya. Pengembangan kecamatan seharusnya dimulai dari desa
strategis ini. Berikut diberikan peta Kecamatan Tekarang beserta desanya yang disajikan
pada Gambar 3.7

Gambar 3.7 Peta Kecamatan Terkarang

Dari peta ini dibuat menjadi graf planar. Berikut disajikan graf planar dari peta wilayah
Kecamatan Tekarang pada Gambar .3.8
Gambar 3.8 Graf Planar dari Peta wilayah Kecamtan Terkarang

Selanjutnya, dari graf planar dibentuk menjadi graf dual, dimana setiap desa
direpresentasikan sebagai simpul dan desa-desa yang berdampingan direpresentasikan
sebagai sisi. Berikut disajikan graf dual dari graf planar pada Gambar .3.9

Gambar 3.9 Graf Dual dari Peta wilayah Kecamatan Terkarang

Lebih lanjut, yang dilakukan adalah mengurutkan derajat simpul yang tertinggi ke yang
terendah. Dari graf di atas diperoleh bahwa Desa Sari Makmur dan Desa Sempadian
memiliki degree yang paling banyak yaitu . Dengan demikian, kedua desa ini memiliki letak
wilayah yang strategis dibandingkan desa lainnya. Selanjutnya, dilakukan pewarnaan pada
peta dengan cara mencari bilangan kromatik dari graf dual yang telah terbentuk. Simpul
(desa) dengan derajat tertinggi terlebih dahulu diberi warna, setelah itu, simpul yang
bertetangga dengannya harus diberi warna yang berbeda. Selanjutnya dilakukan dengan
cara yang sama sehingga dari graf dual diperoleh bahwa jumlah warna untuk pewarnaan
peta desa di Kecamatan Tekarang adalah sebanyak 3 warna

Gambar 3.10 Graf Dual dari Peta Wilayah Kecamatan Terkarang

Berdasarkan Gambar 3.10, diperoleh bahwa peta wilayah Kecamatan Tekarang yang terdiri
dari 7 desa dapat diwarnai setidaknya 3 warna. Desa Sari Makmur dan Desa Cepala
diwarnai merah, Desa Matang Segarau, Desa Tekarang dan Desa Merubung diwarnai biru,
Desa Rambayan dan Desa Sempadian diwarnai ungu. Pada Gambar 13 berikut ini adalah
peta Kecamatan Tekarang yang diwarnai dengan 3 warna yang diperoleh dari pewarnaan
graf.

Gambar 3.11 Peta Kecamatan Terkarang yang diwarnai dengan 3 warna


Berdasarkan pewarnaan wilayah yang didapatkan dari graf dual, desa-desa di Kecamatan
Tekarang diwarnai dengan minimum warna. Gambar 3.10 menggambarkan graf dual peta
yang masih mewarnai simpul-simpulnya, sedangkan pada Gambar 3.11, warna telah
diberikan pada peta sehingga peta dapat diwarnai dengan warna yang telah ditentukan.
Sama halnya dengan warna pada graf dual, peta juga diwarnai dengan Desa Sari Makmur
dan Desa Cepala diwarnai merah, Desa Matang Segarau, Desa Tekarang dan Desa
Sempadian diwarnai biru, Desa Rambayan dan Desa Sempadian diwarnai ungu. Selain itu,
dengan menggunakan konsep pewarnaan simpul yang dibuat dari graf dual, diperoleh
bahwa desa strategis di Kecamatan Tekarang adalah Desa Sempadian dan Desa Sari
Makmur. Kedua desa ini menjadi desa strategis karena berdampingan dengan desa lain
lebih banyak dibandingkan desa lainnya. Oleh karena Desa Sempadian dan Desa Sari
Makmur merupakan dua desa yang bertetangga, maka dalam pewarnaannya diwarnai
dengan warna yang berbeda.
BAB 2 BEBERAPA ALGORITMA YANG DIKENAL

Didalam Graph Coloring juga terdapat beberapa Algoritma yang di kenal di Graph Coloring
di bawah ini merupakan beberapa algorithma yang ada di Graph Coloring yaitu :

2.1 Algortma Greedy


Algoritma Greedy merupkan algoritma optimum melalui 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 local/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.

2.2 Algoritma First Fit (FF)


Metode First Fit memiliki terminologi dimana semua objek atau benda Pi dimasukkan
kedalam wadah secara berurutan. Dimulai dari objek Pi1 sampai dengan ke objek Pin hingga
wadah Li pertama penuh lalu dilanjutkan ke wadah berikutnya. Dengan syarat semua objek Pi
harus memulai kembali dimasukkan ke wadah Li pertama jika masih muat lalu dilanjutkan ke
wadah berikutnya dan tidak melebihi nilai dari wadah yang nilainya sudah ditetapkan [5][6].

Proses Metode First Fit

Pada metode First Fit, proses yang akan dikerjakan sesuai dengan pseudocode diatas dimana
objek Pi1 akan dimasukkan kedalam bin Li1, jika Li1 belum penuh lihat Pi2, apakah bisa masuk
ke Li1? jika ya, masukkan objek kedalam Li1, jika tidak, masukkan objek Pi2 kedalam Li2. Ambil
objek Pi3, cek apakah Li1 bisa masuk? Jika ya, masukkan objek Pi3 kedalam Li1. Jika tidak,
cek wadah Li2 apakah bisa masuk? Jika ya, masukkan Pi3 kedalam Li2. Jika tidak masukkan
Pi3 masukkan kedalam Li3. Dan begitu seterusnya.

2.3 Algoritma LDO

Prinsip algoritma LDO adalah jumlah derajat dari setiap titik. Titik yang memiliki derajat yang
paling besar diwarnai terlebih dahulu. Jumlah derajat titik x ditulis d(x), menyatakan banyaknya
sisi yang terhubung pada titik x. Algoritma Welch-Powell adalah salah satu algoritma
pewarnaan graf yang bekerja berdasarkan teknik LDO. Langkah-langkah algoritma LDO adalah
sebagai berikut:

 Urutkan titik-titik pada graf dalam derajat menurun.


 Warnai titik berderajat tertinggi dengan warna 1. Gunakan warna 1 ini untuk mewarnai
semua titik yang mungkin sesuai dengan urutan derajatnya sehingga dua titik
bertetangga mempunyai warna yang berbeda. Jika semua titik sudah diberi warna,
langkah selesai. Jika tidak ambil warna 2.
 Warnai titik berderajat tinggi selanjutnya dengan warna 2. Gunakan warna 2 ini untuk
mewarnai titik lain yang mungkin dan belum diberi warna sesuai dengan urutan
derajatnya dengan syarat dua titik bertetangga tidak boleh berwarna sama. Jika semua
titik sudah diberi warna, langkah selesai. Jika belum, ambil warna 3. Demikian
seterusnya sampai semua titik diberi warna.

Berikut adalah graf yang dihasilkan dari pewarnaan dengan algoritma LDO:

Berdasarkan algoritma LDO diperoleh bahwa graf diatas memilik bilangan kromatis 4, karena
jumlah minimum warna yang digunakan sebanyak 4. Artinya terdapat 4 macam kondisi dalam
pengaturan lampu lalu lintas. Ini akan ditunjukkan pada tabel berikut:
Berdasarkan tabel-tabel di atas, lampu merah berarti bahwa jalur tidak boleh digunakan
untuk melintas, sedangkan lampu hijau menunjukkan bahwa jalur bisa digunakan untuk
melintas. Pada tabel 1, jika di jalan D lampu hijau menyala maka jalur DB dan DA boleh
digunakan. Disaat yang bersamaan di jalan A, B, dan E lampu merah menyala sehingga jalur
AE, AC, BA, BE, EB, dan EC tidak boleh digunakan. Karena jalan C adalah jalan satu arah
maka DC juga diperbolehkan untuk digunakan dan berlaku seperti jalur langsung belok kiri.
Selanjutnya, pada tabel 2, jika di jalan A lampu hijau menyala, maka jalur AE dan AC boleh
digunakan, sedangkan jalur lainnya tidak boleh digunakan. Pada tabel 3, jika lampu di jalan B
menyala hijau maka jalur BE dan BA boleh digunakan, selain itu jalur tersebut tidak boleh
digunakan. Pada tabel 4, lampu menyala hijau di jalan E, sehingga jalur EB dan EC boleh
digunakan, jalur lainnya tidak boleh. Karena jalur langsung belok kiri juga diperbolehkan, maka
jalur AB, BC, EA, dan DE juga bisa digunakan untuk melintas dimanapun lampu hijaunya
menyala.

2.4 Saturated Degree Ordering (SDO)

Prinsip Algoritma SDO adalah jumlah warna berbeda pada tetangga-tetangga dari sebuah
titik. Titik yang memiliki tetangga dengan lebih banyak warna, akan diwarnai terlebih dahulu.
Derajat saturasi titik x ditulis 𝑑𝑒gs(𝑥), menyatakan banyaknya warna berbeda dari tetangga-
tetangga titik x. Langkah-langkah algoritma SDO adalah sebagai berikut:

 Pilih sembarang titik pada graf, warnai dengan warna 1.


 Perbaharui himpunan titik yang belum diwarnai.
 Hitung derajat saturasi semua titik yang belum diwarnai.
 Pilih titik dengan derajat saturasi terbesar, periksa apakah titik tersebut bertetangga
dengan titik yang telah diwarnai sebelumnya.
 Jika bertetangga, ambil warna 2.
 Jika tidak, warnai titik yang telah dipilih dengan warna 1.
 Ulangi langkah di atas sampai semua titik telah diwarnai.

Berikut adalah graf yang dihasilkan dari pewarnaan dengan algoritma SDO:

Berdasarkan algoritma SDO diperoleh bahwa graf diatas memilik bilangan kromatis 5,
karena jumlah minimum warna yang digunakan sebanyak 5. Artinya terdapat 5 macam kondisi
dalam peraturan lampu lalu lintas. Ini akan ditunjukkan pada tabel berikut:
Pada tabel 5, jika di jalan D lampu hijau menyala maka jalur DB dan DA boleh digunakan.
Sedangkan jalur yang lain tidak boleh digunakan. Pada tabel 6, jika di jalan A dan E lampu hijau
menyala maka jalur yang boleh digunakan adalah AC dan EC. Sedangkan, jalur yang lain tidak
boleh digunakan. Pada tabel 7, jika hanya di jalan A lampu hijau menyala maka semua jalur
yang lain tidak dapat digunakan kecuali jalur AE. Pada tabel 8, jika jalan B dan E lampu hijau
yang menyala maka jalur BE dan EB boleh digunakan, selain jalur tersebut tidak boleh
digunakan. Pada tabel 9, jika lampu di jalan B menyala hijau maka jalur BA boleh digunakan
dan jalur yang lain tidak boleh digunakan. Meskipun tidak disebutkan di setiap penjelasan tabel
simpulsimpul terpencil atau yang menyatakan jalur langsung belok kiri selalu dalam keadaan
lampu hijau atau dapat digunakan terus.

2.5 Algoritma IDO

Prinsip Algoritma IDO adalah jumlah tetangga yang telah diwarnai dari suatu titik. Titik yang
lebih banyak bertetangga dengan titik yang telah diwarnai akan diwarnai terlebih dahulu.
Derajat incident titik x ditulis 𝑑𝑒gi(𝑥), menyatakan banyaknya tetangga yang telah diwarnai dari
titik x. Langkah-langkah algoritma IDO adalah sebagai berikut:
 Pilih sembarang titik pada graf, warnai dengan warna 1.
 Perbaharui himpunan titik yang belum diwarnai.
 Hitung derajat incident semua titik yang belum diwarnai.
 Pilih titik dengan derajat incident terbesar, periksa apakah titik tersebut bertetangga
dengan titik yang telah diwarnai sebelumnya.
 Jika bertetangga, ambil warna 2.
 jika tidak, warnai titik yang telah dipilih dengan warna 1.
 Ulangi langkah di atas sampai semua titik diwarnai.

Berikut adalah graf yang dihasilkan dari pewarnaan dengan algoritma IDO:

Berdasarkan algoritma IDO diperoleh bahwa graf diatas memilik bilangan kromatis 4,
karena jumlah minimum warna yang digunakan sebanyak 4. Artinya terdapat 4 macam kondisi
dalam peraturan lampu lalu lintas. Ini akan ditunjukkan pada tabel 10.
Pada tabel 10 dari hasil pewarnaan IDO disimpulkan bahwa jika di jalan D lampu hijau
menyala maka jalur DB dan DA boleh digunakan, sedangkan jalur yang lain tidak boleh
digunakan. Pada tabel 11, jika jalan A yang nyala lampunya hijau maka jalur AC dan AE boleh
digunakan, selain jalur tersebut tidak boleh. Pada tabel 12, di jalan B yang lampunya menyala
hijau sehingga jalur BE dan BA boleh digunakan sedangkan yang lain tidak boleh. Pada tabel
13, lampu hijau menyala di jalan E sehingga jalur EB dan EC boleh digunakan sedangkan jalur
yang lain tidak boleh. Meskipun tidak disebutkan di setiap penjelasan tabel simpulsimpul
terpencil atau yang menyatakan jalur langsung belok kiri selalu dalam keadaan lampu hijau atau
dapat digunakan terus. Dari semua kondisi yang dihasilkan dari ketiga algoritma tersebut (dari
tabel 1 – tabel 13), saat lampu merah menjadi lampu hijau kita tinggal menukar posisi jalur,
sehingga jalur yang sebelumnya berlampu merah kita tukar posisi menjadi jalur berlampu hijau,
dan begitu sebaliknya.
DAFTAR PUSTAKA

https://www.researchgate.net/publication/334096567_Perbandingan_Algoritma_Pewarnaan_LD
O_SDO_dan_IDO_pada_Graf_Pengaturan_Lampu_Lalu_Lintas_di_Persimpangan_Lima_Kota
_Tua_Ampenan

https://informatika.stei.itb.ac.id/~rinaldi.munir/Matdis/2006-2007/Makalah/Makalah0607-98.pdf

https://media.neliti.com/media/publications/103610-ID-implementasi-algoritma-greedy-untuk-
mela.pdf

https://eprints.uny.ac.id/28787/2/c.BAB%20II.pdf

http://eprints.undip.ac.id/2929/1/BAB_I_dan_II.pdf

https://proceeding.unpkediri.ac.id/index.php/inotek/article/download/401/315/913

https://docplayer.info/60545263-Aplikasi-algoritma-greedy-untuk-pewarnaan-wilayah-region-
coloring-pada-peta-kabupaten-indragiri-hulu-dan-kampar-di-provinsi-riau-tugas-akhir.html

https://jurnal.untan.ac.id/index.php/jbmstr/article/view/36037/75676583162

Anda mungkin juga menyukai