Model Penjadwalan Guru Menggunakan Graph Coloring Dengan Algoritma Bee Colony

Telah diuji pada
Tanggal : 3 Juni 2013

PANITIA PENGUJI TESIS
Ketua
Anggota

: Prof. Dr. Opim Salim S, M.Sc
: 1. Dr. Marwan Ramli, M.Si
2. Prof. Dr. Herman Mawengkang
3. Dr. Erna Budhiarti

PERNYATAAN

MODEL PENJADWALAN GURU MENGGUNAKAN GRAPH
COLORING DENGAN ALGORITMA BEE COLONY

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing dituliskan sumbernya


Medan, 3 Juni 2014
Penulis,
Setiawan Tanadi

i

ABSTRAK

Penjadwalan merupakan salah satu masalah periodik yang rumit dan sering mengalami kesulitan khususnya disetiap sekolah dan universitas yang terdapat diseluruh
dunia. Banyak faktor yang mempengaruhi penyusunan penjadwalan. Salah satu
diantaranya adalah pengalokasian mata pelajaran dengan guru dan ruangan kelas
sering mengalami benturan dengan jadwal mata pelajaran, guru dan ruangan kelas
yang lain dalam satu periode jadwal sekolah. Oleh karena itu, penelitian ini akan
memfokuskan pada masalah bagaimana memodelkan penjadwalan menggunakan
teknik pewarnaan graph dengan algoritma bee colonydimana vertex merepresentasikanmata pelajaran yang akan dijadwalkan, edge merepresentasikan pasangan
jam mengajaryang bisa menimbulkan konflik dan warna pada vertex merepresentasikan periode waktu kapan pelajaran tersebut dijadwalkan. Jika terdapat dua
vertexvdanwyang terhubung oleh sebuah edge vw maka kedua vertex harus diwarnai dengan warna yang berbeda. Jumlah minimum warna yang dibutuhkan untuk
mewarnai sebuah graph disebut angkakromatik dari G atau dinotasikan dengan
X(G). Sebuah graph dengan pewarnaan vertex yang tepat akan mewarnai sepasang

vertex yang terhubung oleh edge dengan warna yang berbeda. Pasangan vertex
yang tidak terhubung oleh edge bisa menggunakan dua warna yang sama atau
berbeda. Salah satu algoritma metaheuristik yaitu bee colony digunakan dalam
tesis ini untuk fungsi pewarnaan graph sehingga menghasilkan suatu model penjadwalan guru yang dapat digunakan untuk mengatur jadwal secara optimal agar
proses belajar mengajar dapat berlangsung dengan lancar.
Kata kunci : Penjadwalan mata pelajaran, Pewarnaan graph, Algoritma bee colony.

ii

ABSTRACT

Scheduling is a one of the most complicated periodically problem that often meet
difficulties especially at schools and universitiesall around the world. Many factors
may influence the scheduling management. One of them is allocation among the
teachers, lessons and classrooms with other teachers, lessons and classrooms in one
periodic of time. Therefore, this research will focus on how to create a schedulings model by usingcoloring graph technique and algorithm of bee colony, which the
vertex represents lesson that is needed to be scheduled, edge represents a pairing in
teachings time which may have aconflict and color in the vertex represents aperiodic
of time, whenever the lessons are scheduled. If there are 2 vertex v and w which is
connected by an edge vw, so these two vertexs must be colored with different color.

The sum of the minimum color which is needed for coloring a graph named cromatic
number of G or notated as X(G). A graph with the exact coloring vertex will colora
pair of vertex which is connected by an edge with different color. Pairing vertex
which is not connected by the edge can use two same colors or different ones. One
of the metaheuristic algorithm is bee colony which used to have the function of coloring graph so that the model can create an optimum result of teachers scheduling
in order to proceed a better process in teaching.
Keyword : Scheduling lesson, Graph coloring, Bee colony algorithm

iii

KATA PENGANTAR

Puji syukur penulis mengucapkan kepada Tuhan Yang Maha Esa yang telah
melimpahkan rahmat, hidayah, dan karunia-Nya, sehingga penulis dapatmenyelesaikan tesis dengan judul: MODEL PENJADWALAN GURU MENGGUNAKAN GRAPH COLORING DENGAN ALGORITMA BEE COLONY.
Tesis ini merupakan salah satu syarat untuk menyelesaikan studi pada Program Studi Magister Matematika FMIPA Universitas Sumatera Utara.Pada kesempatan ini,
penulis menyampaikan ucapan terima kasih dan penghargaan yang sebesar-besarnya
kepada:
Prof. Dr. dr. Syahril Pasaribu, DTMH, M.Sc(CTM), Sp.A(K) selaku
Rektor Universitas Sumatera Utara.
Dr. Sutarman, M.Sc selaku Dekan FMIPA Universitas Sumatera Utara yang

telah memberikan kesempatan kepada penulis untuk mengikuti Program Studi Magister Matematika di Sekolah Pascasarjana Universitas Sumatera Utara.
Prof. Dr. HermanMawengkang selaku Ketua Program Studi Magister Matematika FMIPA Universitas Sumatera Utara dan selaku pembanding tesis.
Prof. Dr. Saib Suwilo, M.Sc selaku Sekretaris Program Studi Magister Matematika FMIPA Universitas Sumatera Utara.
Prof. Dr. Opim Salim S, M.Sc selaku pembimbing utama yang dengan sabar
memberikan bimbingan dan arahan yang telah banyak memberikan bantuan dalam
penulisan tesis ini.
Dr. Marwan Ramli, M.Si selaku pembimbing kedua yang telah banyak memberikan bimbingan dan motivasi dalam menyelesaikan penulisan tesis ini.
Dr. Erna Budhiarti selaku Tim Pembanding Tesis.
Seluruh Staf Pengajar pada Program Studi Magister Matematika Universitas
Sumatera Utara yang telah banyak memberikan ilmu pengetahuan selama masaperkuliahan.
iv

Saudari Misiani, S.Si selaku Staf Administrasi Program Studi Magister Matematika Universitas Sumatera Utara yang telah banyak memberikan pelayanan yang
baik kepada penulis selama mengikuti perkuliahan.
Seluruh rekan-rekan Mahasiswa angkatan 2011-2013 pada Program Studi Magister Matematika Universitas Sumatera Utara yang telah memberikan bantuan
moril dan dorongan kepada penulis.
Secara khusus penulis menyampaikan terimakasih dan sayang yang mendalam
kepada orang tua penulis, Ayah Ng Tiam Meng dan ibu Lie Sioe Hing, serta
kepada seluruh keluarga yang senantiasa memberikan dukungan dan mendoakan
keberhasilan penulis dalam menyelesaikan pendidikan ini.

Kepada seluruh pihak yang tidak dapat penulis sebutkan satu persatu, penulis
berterima kasih atas semua bantuan yang diberikan, semoga Tuhan membalaskan
segala kebaikan yang telah diberikan, amin.
Penulis menyadari bahwa tesis ini masih jauh dari sempurna, untuk itu penulis
mengharapkan kritik saran untuk penyempurnaan tesis ini. Semoga tesis ini dapat
bermanfaat bagi pembaca dan pihak-pihak lain yang memerlukannya baik perkembangan ilmu pengetahuan.

Medan,
Penulis,
Setiawan Tanadi

v

RIWAYAT HIDUP
Setiawan Tanadi dilahirkan di Medan, pada tanggal 06 September 1982 dari
pasangan Bapak Ng Tiam Meng dan Ibu Lie Sioe Hing., dan merupakan anak ke
dua dari tiga bersaudara. Pada tahun 1989 penulis masuk SD Sutomo 1 Medan
dan lulus pada tahun 1995. Pada tahun 1995 penulis melanjutkan sekolah di SMP
Sutomo 1 Medan dan lulus pada tahun 1998. Pada tahun 1998 penulis melanjutkan
studi di SMA Sutomo 1 Medan dan lulus pada tahun 2001. Pada tahun 2001 penulis

diterima di Institut Sains dan Teknologi TD. Pardede jurusan Tehnik Industri dan
mendapatkan gelar Sarjana Teknik pada tahun 2011. Kemudian penulis melanjutkan studi pada Program Magister Matematika di Universitas Sumatera Utara
pada tahun 2011. Pada tahun 2003 penulis dipercaya sebagai guru matematika
pada sekolah SMP Sutomo 1 Medan sampai sekarang.

vi

DAFTAR ISI
Halaman
PERNYATAAN

i

ABSTRAK

ii

ABSTRACT

iii


KATA PENGANTAR

iv

RIWAYAT HIDUP

vi

DAFTAR ISI

vii

DAFTAR GAMBAR

ix

BAB 1 PENDAHULUAN

1


1.1 Latar Belakang

1

1.2 Rumusan Masalah

2

1.3 Tujuan Penelitian

2

1.4 Manfaat Penelitian

3

BAB 2 TINJAUAN PUSTAKA

4


2.1 Model Penjadwalan

5

2.2 Graph

5

2.2.1 Teori Graph

5

2.2.2 Graph berbobot

8

2.2.3 Representasi Graph

8


2.2.4 Lintasan terpendek (shortest path)

10

2.2.5 Pewarnaan graph

11

2.2.6 Bilangan kromatik

12

2.3 Graph Konflik (Shift Ganda)

12

vii

2.3.1 Penjadwalan dengan metode graph


14

2.4 Masalah Pewarnaan Graph dalam Penjadwalan

14

2.4.1 Multicoloring

14

2.4.2 Precoloring extension

15

2.4.3 List coloring

15

2.4.4 Minimum sum coloring

15

2.5 Algoritma Bee Colony

15

BAB 3 METODOLOGI PENELITIAN

19

3.1 Teknik Pewarnaan Graph

19

3.2 Pengumpulan Data

20

3.3 Konstruksi Graph Konflik Pelajaran

20

3.4 Pewarnaan Graph Konflik Pelajaran

22

BAB 4 MODEL PENJADWALAN GURU

25

BAB 5 KESIMPULAN

31

5.1 Kesimpulan

31

DAFTAR PUSTAKA

32

viii

DAFTAR GAMBAR

Nomor

Judul

Halaman

2.1

Graph tak berarah

7

2.2

Graph berarah

7

2.3

Graph berbobot

8

2.4

Graph matriks ketetanggaan

9

2.5

Graph Matriks Bersisian

9

3.1

Mata pelajaran mi dan mj dijadwalkan pada slot waktu yang
berbeda

3.2

21

Mata pelajaran mi dan mj di pasangkan pada slot waktu yang
sama

3.3

22

Mata pelajaran mi dan mj di pasang pada ruangan kelas yang
berbeda dan slot waktu yang berbeda

3.4

Mata pelajaran mi dan mj di pasang pada ruangan kelas yang
sama dan slot waktu yang berbeda

3.5

22

23

Mata pelajaran mi dan mj tidak berpotensi menimbulkan konflik,
di pasang pada ruangan kelas yang berbeda dan slot waktu yang
berbeda

3.6

23

Mata pelajaran mi dan mj tidak berpotensi menimbulkan konflik,
di pasang pada ruangan kelas yang berbeda dan slot waktu yang
sama

3.7

24

Mata pelajaran mi dan mj tidak berpotensi menimbulkan konflik,
di pasang pada ruangan kelas yang sama dan slot waktu yang
berbeda

24

ix

BAB 1
PENDAHULUAN

1.1 Latar Belakang
Penjadwalan merupakan proses untuk menyusun suatu jadwal atau urutan
proses yang diperlukan dalam sebuah persoalan. Penjadwalan juga merupakan
pengalokasian sumber daya baik alam maupun manusia dalam rentang waktu tertentu untuk menyelesaikan sekumpulan tugas. Di samping itu penjadwalan juga
penting dalam merancang dan mengatur suatu sistem yang terdiri dari sejumlah
kegiatan dengan keterbatasan sumber daya. Perubahan metode atau kurikulum
pendidikan yang dinamis dan interaktif berdampak pada modelmodel penyusunan
jadwal. Perubahan ini mengakibatkan masalah penjadwalan dalam institusi pendidikan merupakan masalah optimisasi yang ditemukan pada situasi nyata, (Ariani
dan Fahriza, 2004).
Persoalan penjadwalan bukan hanya berhubungan dengan penjadwalan kelas
dalam sekolah atau perkuliahan melainkan juga dalam ruang lingkup yang tidak
jauh berbeda seperti penjadwalan ujian maupun penjadwalan karyawan, baik dalam
suatu perusahaan ataupun dalam sebuah rumah sakit. Dalam penjadwalan kuliah,
akan dibahas tentang pembagian jadwal untuk tiap mahasiswa pada kuliah tertentu
sekaligus dosen pengajarnya, dalam penjadwalan pelajaran sekolah akan dibahas
tentang pembagian jadwal pelajaran untuk masing masing kelas yang ada beserta
guru yang mengampu pelajaran tersebut, dalam penjadwalan ujian akan dibahas
tentang pengaturan dosen atau guru yang mengawas saat ujian dan mahasiswa
atau murid yang menempati ruang ujian yang ada, sedangkan pada penjadwalan
karyawan, dilakukan pengaturan karyawan yang akan bekerja pada waktu tertentu
di bagian tertentu, (Ariani dan Fahriza, 2004).
Menurut Ariani dan Fahriza (2004), dalam menyusun suatu penjadwalan,
diperlukan pemikiran yang cukup rumit untuk dapat memetakan sejumlah komponen penjadwalan (mata pelajaran, guru, siswa, ruangan kelas dan waktu) ke dalam
timeslot (matriks ruang dan waktu) dengan mempertimbangkan semua batasan
yang ada. Proses manual memerlukan waktu yang cukup lama untuk dapat mela1

2
kukan hal ini dan memungkinkan terjadinya pelanggaran constraint akibat human
error. Pelanggaran constraint dalam penjadwalan menjadikan jadwal yang tersusun
menjadi tidak valid dan harus direkonstruksi ulang. Jika kejadian seperti ini selalu
berulang pada saat menghadapi tahun ajaran baru, maka sepatutnya permasalahan ini mendapat prioritas untuk dicari solusinya demi peningkatan mutu sistem
akademik di sekolah.
Di perguruan tinggi maupun sekolahsekolah, penjadwalan merupakan salah
satu hal penting dalam proses belajar mengajar, karena semua kegiatan guru dan
siswa bergantung pada jadwal yang ada, sehingga harus disusun dengan benar
dan diperbaiki pada awal tahun akademik, sehingga nantinya tidak mengganggu
aktivitas belajar mengajar antara guru/dosen dan siswa/mahasiswa.
Selama ini penjadwalan roster guru di sekolah SMP swasta Sutomo 1 Medan
masih dilakukan secara manual, sehingga pada saat menyusun roster tersebut agar
para guru bisa mengajar di kelas masingmasing dengan baik dan lancar, diperlukan
waktu dan pengaturan yang cukup rumit. Oleh karena itu dalam tesis ini, penulis
akan menggunakan teknik pewarnaan graph dengan algoritma bee colony untuk
menyusun model penjadwalan kelas termasuk di dalamnya penjadwalan praktikum,
yakni praktikum Biologi, Fisika dan Bahasa Inggris. Hal ini disebabkan jadwal
praktikum merupakan salah satu faktor penting yang perlu dijadwalkan karena
termasuk dalam kurikulum pendidikan sekolah.
1.2 Rumusan Masalah
Penjadwalan guru adalah hal yang kompleks dan NP Hard karena banyak constraint yang harus dipenuhi. Oleh karena itu diperlukan suatu model penjadwalan
yang dapat menggambarkan semua constraint yang harus dipenuhi.
1.3 Tujuan Penelitian
Adapun yang menjadi tujuan penelitian ini adalah membangun sebuah model penjadwalan melalui penerapan fungsi pewarnaan graph dengan menggunakan
algoritma bee colony.

3
1.4 Manfaat Penelitian
Model yang dihasilkan diharapkan dapat digunakan untuk mengatur jadwal
secara optimal serta dapat bermanfaat dalam pengalokasian sumber daya baik alam
maupun manusia.

BAB 2
TINJAUAN PUSTAKA

Pada umumnya beragam model penjadwalan telah dikembangkan seperti program matematis dengan berbagai teknik diantaranya Wardoyo (2003) menggunakan
logika Fuzzy, yakni suatu cara untuk memetakan suatu ruang masukkan ke dalam
suatu ruang keluaran, Betrianis dan Aryawan (2003) menggunakan algoritma Tabu
Search, yang mana merupakan salah satu metode pemecahan permasalahan optimasi kombinatorial yang tergabung ke dalam local search methods, Ronny et al.
(2005) menggunakan algoritma Branch and Bound untuk mencari solusi optimal
pada masalah optimisasi kombinatorial seperti masalah penjadwalan.
Salah satu penelitian untuk penyelesaian penjadwalan dilakukan oleh Redl
dan Anton (2004). Yang bersangkutan menawarkan proses pemasangan kelas dilakukan bersamaan dengan proses pencarian slot waktu itu sendiri. Teknik ini dapat
menghemat waktu yang harus dilakukan. Dalam hal ini, Redl dan Anton (2004)
memanfaatkan teknik pewarnaan graph yang diselesaikan dengan menggunakan algoritma sekuensial dan algoritma greedy. Algoritma sekuensial merupakan suatu
algoritma runtun dimana teknik pengerjaannya harus dilakukan secara berurutan
mulai dari baris pertama sampai dengan baris terakhir tanpa ada loncatan atau
perulangan sedangkan algoritma greedy adalah suatu algoritma yang dalam memecahkan suatu masalah selalu mengambil pilihan yang terbaik dan dapat diperoleh
pada saat itu tanpa memperhatikan lagi konsekuensi di depan (”take what you can
get now ”).
Penelitian lain tentang penjadwalan dilakukan pula oleh Komang (2008) dengan menggunakan algoritma metaheuristik kombinasi genetika dengan tabu search.
Penelitian tersebut melakukan perbandingan hasil yang diperoleh saat menggunakan algoritma genetika dengan algoritma kombinasi genetika dan tabu search.
Penerapan algoritma bee colony dalam masalah penjadwalan telah di bahas
oleh Rachmawati et al. (2011), Carlos et al. (2008), Karaboga et al. (2010), Faraji
dan Javadi (2010). Kelima peneliti tersebut menyusun model persoalan penjadwalan dengan melibatkan lebah pramuka, yakni dengan menentukan Neighbourhood
4

5
Search kemudian dievaluasi sehingga menghasilkan solusi yang layak.
Menurut Rachmawati et al. (2011) banyak faktor yang harus dipertimbangkan
untuk memperoleh solusi yang optimal dan seringkali tidak dapat memuaskan karena tidak semua kebutuhan terpenuhi. Oleh karena itu, perlu ditetapkan suatu
batasan dalam penyusunan jadwal yang mutlak harus dipenuhi (hard constraint)
dan tidak harus dipenuhi (soft constraint), akan tetapi tetap menjadi acuan dalam
proses pembuatan jadwal. Sebuah jadwal dikatakan layak, apabila solusi tersebut
memenuhi semua ketentuan hard constraint tanpa ada pelanggaran. Sementara solusi jadwal dikatakan optimal apabila jumlah pelanggaran terhadap soft constraint
minimum.
2.1 Model Penjadwalan
Permasalahan penjadwalan dapat dimodelkan dan diselesaikan dengan teknik
pewarnaan graph. Masalah pewarnaan graph dikenal dengan Optimisasi Kombinatorial. Rachmawati et al. (2011), menyatakan selain untuk penjadwalan, pewarnaan graph juga dapat digunakan dalam aplikasi pemasangan frekuensi pada
jaringan selular, pemasangan kru karyawan dan sebagainya. Pada model konvensional pewarnaan graph untuk penjadwalan, vertex merepresentasikan mata pelajaran yang akan dijadwalkan, edge merepresentasikan pasangan jam mengajar yang
bisa menimbulkan konflik (tidak bisa dijadwalkan pada waktu yang sama), dan warna pada vertex merepresentasikan periode waktu pelajaran tersebut dijadwalkan.
Jika terdapat dua vertex v dan w yang terhubung oleh sebuah edge vw maka kedua
vertex harus diwarnai dengan warna yang berbeda. Jumlah minimum warna yang
dibutuhkan untuk mewarnai sebuah graph disebut angka kromatik dari G atau
dinotasikan dengan X(G).
2.2 Graph
2.2.1 Teori Graph
Teori graph merupakan salah satu studi terhadap bidang matematika yang
diperkenalkan pertama kali oleh seorang ahli matematika asal Swiss, Leonhard Euler 1736 (Deo, 1974). Ide besarnya muncul sebagai upaya penyelesaian masalah

6
jembatan Konigsberg. Dari permasalahan itu, akhirnya Euler mengembangkan beberapa konsep mengenai teori graph. Materi -materi yang terdapat dalam teori
graph itu sendiri adalah ilmu yang mempelajari mengenai logika dari persoalan
yang berhubungan dengan himpunan dan relasi binary. (Hariyanto, 2003).
Graph merupakan salah satu model matematika yang kompleks dan cukup
sulit, akan tetapi bisa juga menjadi solusi yang sangat bagus untuk masalah tertentu. Oleh sebab itu, representasi dari suatu graph bergantung dari sifat data
dan operasi yang dilakukan terhadap data dari sebuah kasus tertentu. Dalam kehidupan sehari-hari banyak sekali persoalan yang diimplementasikan dengan graph.
Bidang-bidang yang menggunakan penerapan graph antara lain switching network,
coding theory, electric analysis, operation research, aljabar, computer science dan
kimia. (Deo, 1974).
Keunikan teori graph adalah kesederhanaan pokok bahasan yang dipelajarinya
karena dapat disajikan dengan titik (simpul atau vertex) dan garis (sisi atau edge).
Meskipun pokok bahasan dari topik-topik teori graph sangat sederhana tetapi isi di
dalamnya belum tentu sesederhana itu. Kerumitan demi kerumitan masalah selalu
ada dan bahkan sampai saat ini masih ada masalah yang belum terpecahkan. Teori
graph telah banyak memberikan masukan kepada ilmu baru salah satunya adalah
pewarnaan graph. Graph juga digunakan untuk merepresentasikan objek-objek
diskrit dan hubungan antara objek-objek tersebut. Banyak persoalan pada dunia
nyata yang sebenarnya merupakan representasi visual dari graph. Contoh salah
satu representasi visual dari graph adalah peta. Banyak hal yang dapat digali dari
representasi visual dari graph. (Jusuf, 2009).
Menurut Munir (2003), graph adalah struktur diskrit yang terdiri dari simpul
(vertex) dan sisi (edge) atau secara matematis Graph G didefenisikan sebagai pasangan himpunan (V, E) yang mana V adalah himpunan tidak kosong dari simpulsimpul (verticles atau node) : {v1 , v2, . . . vn } dan E adalah himpunan sisi (edges
atau arcs) yang menghubungkan sepasang simpul : {e1, e2, . . . en } atau dapat ditulis dengan notasi G = (V, E). Defenisi ini menyatakan bahwa V tidak boleh kosong
sedangkan E boleh kosong. Artinya, sebuah graph dimungkinkan tidak mempunyai
sisi satu buah pun, tetapi simpul harus ada, minimal satu.

7
Berdasarkan orientasi arah pada sisi, secara umum graph dibedakan atas dua
jenis, yaitu sebagai berikut:

1. Graph tak berarah.
Graph tak berarah adalah graph yang sisinya tidak mempunyai orientasi arah.
Pada graph tak berarah, urutan pasangan simpul yang dihubungkan oleh sisi
tidak diperhatikan. Jadi, (vj, vk) = (vk, vj) adalah sisi yang sama.

Gambar 2.1 Graph tak berarah

2. Graph berarah.
Graph berarah adalah graph yang sisinya diberikan orientasi arah. Pada
umumnya, sisi yang berarah disebut dengan busur (arc). Pada graph berarah, (vj, vk) dan (vk, vj) menyatakan 2 buah busur yang berbeda, atau
dengan kata lain (vj, vk) 6= (vk, vj). Untuk busur (vj, vk), simpul vj dinamakan simpul asal (initial vertex) dan simpul vk dinamakan simpul terminal
(terminal vertex).

Gambar 2.2 Graph berarah

8
2.2.2 Graph berbobot
Graph berbobot adalah graph yang setiap sisinya diberikan sebuah harga
(bobot). Bobot pada setiap sisi dapat menyatakan jarak antara dua buah kota,
biaya perjalanan, waktu tempuh, ongkos produksi dan sebagainya.

Gambar 2.3 Graph berbobot
2.2.3 Representasi Graph
Menurut Munir (2003), agar graph dapat diproses dalam program komputer,
graph harus direpresentasikan ke dalam memori. Terdapat beberapa representasi
untuk graph, antara lain matriks ketetanggaan, matriks bersisian dan senarai ketetanggaan.
2.2.3.1 Matriks ketetanggaan (Adjacency Matrix)
Misalkan G = (V, E) graph sederhana dimana |V | = n, n > 1 Maka, matriks
ketetanggaan A dari G adalah matriks n × n dimana A = [aij ], [aij ] menjadi 1 bila
simpul i dan j bertetangga [aij ] menjadi 0 bila simpul i dan j tidak bertetangga.
Jumlah elemen matriks bertetanggaan untuk graph dengan n simpul adalah n2.
Keuntungan representasi dengan matriks ketetanggaan adalah selain dapat
mengakses elemen matriksnya secara langsung dari indeks, matriks ketetanggaan ini
juga dapat menentukan secara langsung apakah simpul i dan simpul j bertetangga.

9
Pada graph berbobot, dimana aij menyatakan bobot tiap sisi yang menghubungkan
simpul i dengan simpul j. Bila tidak ada sisi dari simpul i ke simpul j atau dari
simpul j ke simpul i, maka, aij diberi nilai tak berhingga.

Gambar 2.4 Graph matriks ketetanggaan
Bentuk matriks ketetanggaan dari graph pada gambar 2.4 adalah :

1 2 3 4
1
2
3
4








0
0
1
0

0
0
1
1

1
1
0
1

0
1
1
0








2.2.3.2 Matriks bersisian (incidency matrix)
Matriks bersisian menyatakan kebersisian simpul dengan sisi. Misalkan G =
(V, E) adalah graph dengan n simpul dan m sisi, maka matriks kebersisian A dari
G adalah matriks berukuran m × n dimana A = [aij ], [aij ] menjadi 1 bila simpul i
dan sisi j bersisian [aij ] menjadi 0 bila simpul i dan sisi j tidak bersisian

Gambar 2.5 Graph Matriks Bersisian

10
Bentuk matriks bersisian dari graph pada gambar 2.5 adalah :

1
2
3
4

e1

0
0

1
0

e2 e3 e4

0 1 0
0 1 1
1 0 1
1 1 0

2.2.3.3 Senarai ketetanggaan (adjacency list)
Matriks ketetanggaan memiliki kelemahan apabila graph memiliki jumlah sisi
yang relatif sedikit sehingga graph sebagian besar berisi bilangan 0. Hal ini merupakan pemborosan terhadap memori, karena banyak menyimpan bilangan 0 yang
seharusnya tidak perlu disimpan. Untuk kepentingan efisiensi ruang, maka tiap
baris matriks tersebut digantikan senarai yang hanya berisikan vertex-vertex dalam
adjacency set Vx dari setiap vertex x4.
2.2.4 Lintasan terpendek (shortest path)
Lintasan terpendek merupakan lintasan paling minimum yang ditempuh dari
suatu tempat untuk mencapai tempat tujuan tertentu. Graph yang digunakan
merupakan graph berbobot, yaitu graph yang setiap edgenya memiliki nilai. Nilai
pada sisi graph dapat berupa jarak, waktu, biaya, ataupun yang lainnya.
Ada beberapa macam persoalan lintasan terpendek, antara lain adalah sebagai
berikut:

1. Lintasan terpendek antara dua buah simpul tertentu.
2. Lintasan terpendek antara semua pasangan simpul.
3. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain.
4. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul
tertentu.

11
2.2.5 Pewarnaan graph
Dalam pewarnaan graph jumlah warna minimum yang dapat digunakan untuk
mewarnai graph dinyatakan dengan bilangan kromatik yang disimbolkan dengan
χ(G). Graph yang memiliki bilangan kromatik 1 adalah graph kosong yaitu graph
yang hanya terdiri dari sebuah simpul. Sementara suatu graph dikatakan planar
jika tidak ada dua buah titik yang saling berpotongan yaitu graph yang dapat
digambarkan pada bidang datar tanpa ada sisi yang menyilang diatas sisi lainnya
dimana jumlah warna yang digunakan hanya 4 warna. (Kubale, 2004).
Sebuah kasus khusus yang terkenal dari ”m colorability decision problem”
yaitu masalah 4 warna dari suatu graph planar. Masalah ini disertai pernyataan
sebagai berikut : berikan beberapa wilayah yang dapat menimbulkan daerah-daerah
yang diwarnai sedemikian rupa sehingga daerah - daerah yang berdampingan tidak
memiliki warna yang sama, akan tetapi hanya empat buah warna yang dipakai.
(Rosen, 1999).
Masalah pewarnaan seperti itu dapat berubah menjadi sangat berguna karena wilayah tersebut dapat dengan mudah diubah bentuknya menjadi sebuah graph.
Masing-masing daerah dari wilayah itu menjadi sebuah simpul dan jika dua buah
daerah berdampingan maka ke dua buah simpulnya berhubungan, kemudian hubungkan dengan sebuah sisi.
Teori pewarnaan graph banyak diimplementasikan pada berbagai kasus, salah
satu diantaranya adalahscheduling (penjadwalan), yaitu mengefektifkan waktu untuk banyak keperluan dan jumlah resource yang terbatas. Dalam penjadwalan,
setiap pekerjaan dinyatakan sebagai simpul dan sisi menggambarkan bahwa kedua
job yang terhubung oleh sisi tersebut berjalan secara bersamaan (konflik). Tujuan
dari penerapan graph adalah agar mengetahui job yang konflik (tidak bertetangga).
Sebuah graph dengan pewarnaan vertex yang tepat adalah sebuah graph yang
akan mewarnai sepasang vertex yang terhubung oleh edge dengan warna yang berbeda. Pasangan vertex yang tidak terhubung oleh edge bisa menggunakan dua warna
yang sama atau berbeda.

12
Dalam proses pewarnaan, graph alternatif mengunakan prosedur yang sama
dengan graph konvensional, tetapi dengan satu pengecualian bahwa hanya satu
ruang saja yang diberikan warna. Seperti dalam graph konvensional setiap warna
dalam graph konflik yang telah melewati proses pewarnaan melambangkan slot
waktu yang berbeda. Dalam graph konflik alternatif, sebuah vertex vi rn yang telah
diwarnai mengimplikasikan bahwa mata pelajaran mi telah dipasang pada ruangan
rn dan dijadwalkan pada sebuah slot waktu tertentu.
Oleh karena itu ada dua hal yang perlu diperhatikan dalam memodelkan sistem penjadwalan, yaitu:

1. Graph mungkin dapat memiliki suatu struktur khusus sehingga memudahkan
dalam pewarnaan.
2. Jika tidak dapat menemukan solusi optimum, maka dapat digunakan metode
aproksimasi yang tidak memberikan solusi optimum tetapi setidaknya memberikan performansi yang lebih baik.

2.2.6 Bilangan kromatik
Bilangan Kromatik Graph G(χ(G)) adalah jumlah warna minimum yang dapat digunakan untuk mewarnai simpul (verteks/ V ). Penyelesaian kasus penjadwalan pada hakikatnya adalah berupaya untuk mengalokasikan sejumlah aktivitas
yang mengandung constraint atau batasan ke dalam timeslot (matriks ruang dan
waktu). Jumlah timeslot yang tersedia juga memiliki batasan baik berupa jumlah ruang, maupun waktu penggunaannya. Oleh karena itu, penjadwalan yang
baik haruslah dapat menyesuaikan sejumlah keterbatasan resource atau sumber
daya yang ada agar seluruh aktivitas dapat tetap terlaksana tanpa melanggar constraintnya. Pewarnaan graph untuk mengakomodasi hal tersebut dilakukan dengan
bilangan kromatik.
2.3

Graph Konflik (Shift Ganda)
Sebuah mata pelajaran yang direpresentasikan dengan sekumpulan vertex, di-

mana setiap vertex pada sebuah kumpulan merepresentasikan ruangan yang mungkin

13
untuk penjadwalan mata pelajaran tersebut. Misalkan terdapat sebuah himpunan
terdiri dari n mata pelajaran {m1, m2, . . . , mn } yang akan dijadwalkan dan terdapat sebuah himpunan yang terdiri dari p ruangan kelas {k1 , k2 , . . . , kp } sebagai
pasangan dari {m1, m2, . . . , mn }. Apabila dari p ruangan kelas itu terdapat subset
{r1 , r2, r4 , r5, r6 , r8} yakni suatu ruangan dimana setiap mata pelajaran hanya bisa
dipasangkan berdasarkan beberapa faktor (misalnya kapasitas ruangan, tipe ruangan yang diminta guru). Jadi, untuk setiap mata pelajaran dalam graph konflik
dengan lima vertex dapat digambarkan sebagai {vi r1 , vir2 , vir4 , vi r5, vi r6 , vir8 }, dimana tiap vertex merepresentasikan satu kemungkinan pemasangan ruangan kelas
untuk setiap mata pelajaran yang ada. Pada keadaan sebenarnya hanya akan terdapat satu ruangan kelas misalnya rn yang akan dipergunakan untuk satu mata pelajaran mi , yang mana akan direpresentasikan oleh vertex virn . Apabila terdapat dua
mata pelajaran yang dapat menimbulkan konflik seperti mi dan mj , maka di antara
kedua vertex itu harus ditambahkan sebuah edge. Edge yang ditambahkan kemudian akan menjadi sebuah subgraph bipartie yang terdiri dari sekumpulan vertex yang
berhubungan dengan mata pelajaran mi dan mj . Sebagai contoh, jika mata pelajaran mi dan mj terdiri dari kumpulan vertex {vi r1, vi r2 , vir4 , vir5 , vir6 , vi r8} dan
{vj r1, vj r3 , vj r5, vj r6 , vj r8 }, maka vertex vi r1 , vir2 , vi r4, vi r5, vi r6 dan vir8 menjadi
himpunan bagian pertama sedangkan vertex vj r1 , vj r3 , vj r5, vj r6 dan vj r8 menjadi
himpuan bagian kedua.
Dengan kata lain jika mata pelajaran mi dan mj tidak menimbulkan konflik maka mi dan mj bebas untuk dipasangkan dalam slot waktu yang sama, oleh
karena itu, dalam pewarnaan graph penjadwalan konvensional mungkin tidak perlu menambahkan edge di antara vertex vi dan vj . Pada graph konflik alternatif
tetap ditambahkan edge di antara dua kumpulan vertex yang memiliki ruangan
yang sama virn dan vj rn . Jika mata pelajaran mi dan mj yang memiliki kemungkinan pemasangan t ruangan yang sama, maka ditambahkan t edge antara kumpulan
vertex milik mata pelajaran mi dan mj .

14
2.3.1

Penjadwalan dengan metode graph
Ada tiga macam pewarnaan graph, yaitu :

1. Pewarnaan simpul (vertex colouring), merupakan pemberian warna atau label
pada setiap simpul sehingga tidak ada 2 simpul bertetangga yang memiliki
warna sama.
2. Pewarnaan sisi (edge coloring), merupakan pemberian warna pada setiap sisi
pada graph sehingga sisi-sisi yang berhubungan tidak memiliki warna yang
sama.
3. Pewarnaan wilayah (region colouring), merupakan pemberian warna pada setiap wilayah pada graph sehingga tidak ada wilayah yang bersebelahan yang
memiliki warna yang sama.
Penulis dapat memberikan sembarang warna pada simpul-simpul asalkan berbeda dengan simpul tetangganya. Dalam persoalan pewarnaan graph tidak hanya
sekedar mewarnai simpul-simpul dengan warna berbeda dari warna simpul tetangganya saja, namun juga menginginkan jumlah macam warna yang digunakan sesedikit mungkin.
2.4

Masalah Pewarnaan Graph dalam Penjadwalan
Berikut ini adalah masalah - masalah konflik dalam pewarnaan graph pada

sistem penjadwalan :
2.4.1 Multicoloring
Dalam multicoloring setiap simpul v memiliki demand x(v) sehingga harus
sebanyak x(v) warna diberikan pada setiap simpul v dan setiap tetangga memiliki
warna yang berbeda. Multicoloring dapat diterapkan dalam penjadwalan job yang
membutuhkan waktu yang berbeda. Ada dua jenis multicoloring yaitu:
1. Non - preemptive yaitu set warna yang diberikan pada setiap simpul harus
memiliki interval yang kontinu. Ini berarti setiap job tidak dapat diinterupsi
karena waktu yang digunakan secara kontinu.

15
2. Preemptive, pada varian ini job dapat diinterupsi karena set warna tidak bersifat kontinu.

2.4.2

Precoloring extension
Dalam penjadwalan, jadwal tidak dapat dikontrol secara penuh. Ada saat

ketika terdapat suatu job yang sudah memiliki waktu kerja yang tertentu (pengambilan slot waktu telah diputuskan sebelumnya dan tidak dapat diubah atau disebut
juga precoloring).
2.4.3

List coloring
Dalam list coloring setiap simpul v memiliki sejumlah/set warna yang dapat

diberikan. Dan tujuan dari list coloring adalah untuk mencari warna yang tepat
dari himpunan warna yang tersedia. Model ini dapat diterapkan jika suatu job
hanya dapat dikerjakan oleh suatu orang/suatu mesin tertentu saja tetapi terdapat
beberapa opsi waktu sampai orang/mesin tersebut tersedia.
2.4.4

Minimum sum coloring
Tujuan lain dalam penjadwalan adalah meminimalkan waktu total yang dibu-

tuhkan dalam pengerjaan job dalam jadwal. Minimum sum coloring mewarnai
graph sehingga jumlah warna yang diberikan pada seluruh job bernilai minimum.
2.5 Algoritma Bee Colony
Menurut Nismah (2006), lebah madu mempunyai dua pola tarian dalam menginformasikan adanya sumber makanan, yakni tarian keliling (round dance) dan
tarian kibasan (waggle dance). Round dance adalah suatu tarian yang menginformasikan sumber makanan yang dekat dengan sarang sedangkan waggle dance
merupakan suatu tarian untuk mengetahui jarak sumber makanan yang lebih dari
15 m dan juga sekaligus sebagai alat komunikasi antara sesama lebah. Tingkah
laku lebah ini pada akhirnya menginspirasi Seeley (1995) untuk mengembangkannya menjadi sebuah model penjadwalan guru dengan menggunakan salah satu al-

16
goritma metaheuristik yaitu algoritma bee colony dimana lebah pengumpul manisan/lebah pekerja mengambil peranan sebagai mata pelajaran (vertex) dan sumber
makanan/solusi mengambil peranan sebagai ruangan kelas.
Ada dua jenis lebah yang berperan dalam algoritma ini yakni lebah pramuka
dan lebah pekerja.

1. Lebah pramuka : lebah yang melakukan pencarian awal dan di dalam wilayah
pencarian, mereka menggunakan deduksi sendiri.
2. Lebah pekerja : lebah yang menemukan hasil yang lebih baik dibandingkan
dengan lebah lainnya. Hanya lebah - lebah ini yang akan melakukan tarian
kibasan (waggle dance).

Prilaku yang dilakukan oleh sekumpulan lebah masih menjadi misteri selama
bertahun-tahun sampai Von Frisch menerjemahkan bahasa isyarat yang berada pada tarian lebah (Butt, 2009). Tarian lebah yang sering disebut sebagai waggle dance
ini digunakan sebagai alat komunikasi untuk membagi informasi tentang jalur solusi
kepada lebah-lebah yang lain. Sekitar seperlima dari lebah-lebah di dalam sebuah
sarang bertugas sebagai pengumpul nektar. Tugas mereka adalah berkelana di antara bunga-bunga dan mengumpulkan nektar sebanyak mungkin. Ketika kembali ke
sarang, mereka menyerahkan muatan nektar mereka kepada lebah-lebah penyimpan
makanan yang menjaga sarang dan menyimpan bahan makanan. Lebah-lebah ini
kemudian menyimpan nektar di dalam petak-petak madu. Seekor lebah pengumpul
nektar juga dibantu oleh rekan-rekannya dalam menentukan seberapa bagus mutu sumber bunganya. Lebah pengumpul nektar tersebut menunggu dan mengamati seberapa lama waktu yang dibutuhkan untuk bertemu dengan seekor lebah
penyimpan makanan yang siap menerima muatan. Jika waktu tunggu ini berlangsung lama, maka sang lebah pengumpul nektar memahami hal ini sebagai isyarat
bahwa sumber bunganya bukan dari mutu yang terbaik dan bahwa lebah-lebah
yang lain kebanyakan telah melakukan pencarian yang berhasil. Sebaliknya, jika
disambut oleh sejumlah besar lebah-lebah penyimpan makanan untuk mengambil
muatannya, maka semakin besar pula kemungkinan bahwa muatan nektar tersebut
bermutu baik. Lebah yang mendapatkan informasi ini memutuskan apakah sumber

17
bunganya senilai dengan kerja keras yang akan dilakukan berikutnya. Jika iya, maka ia melakukan tarian getarnya agar dipahami maksudnya oleh lebah-lebah lain.
Lama tarian ini memperlihatkan seberapa besar keuntungan yang mungkin dapat
diperoleh dari sumber bunga ini.
Menurut Wong et al. (2009), model yang diperbolehkan untuk mengeksplorasi
dan mencari jalan tur sampai selesai. Sebelum meninggalkan sarang, lebah akan
mengamati tarian yang dilakukan oleh lebah lainnya. Kemudian lebah akan diset
dengan pengetahuan yang didapatkan dari tarian. Set pergerakan, yaitu ” preffered
path ” yang dinotasikan dengan , maka akan berfungsi sebagai panduan dalam
proses mencari makanan. berisi tur lengkap yang telah dieksplorasi sebelumnya
oleh lebah yang akan pergi ke tempat tujuan.
Selama proses pencarian makanan, lebah akan melakukan perjalanan dari satu
tempat ke tempat lain sampai mencapai tujuan. Aturan ini terdiri dari dua faktor
yakni arc fitness dan jarak. Arc fitness dihitung untuk semua path yang mungkin
untuk tempat - tempat yang bisa dikunjungi. Arc fitness yang lebih tinggi ditugaskan untuk tepi yang merupakan pilihan jalur. Dengan melakukan ini, lebah
cenderung memilih tempat berdasarkan jalan pilihan. Di sisi lain, dibawah pengaruh jarak heuristik lebih cenderung memilih tempat berikutnya yang terdekat
dengan tempat saat ini.
Bee Colony algorithm merupakan salah satu algoritma dari algoritma metode
heuristik yang lebih tepatnya berada pada metode metaheuristik. Heuristik berasal
dari kata Yunani ”heurisken” yang berarti seni untuk menemukan strategi dalam
menyelesaikan persoalan sedangkan ”meta” berarti metodologi tingkat tinggi atau
lanjut (Talbi, 2009). Di dalam ilmu komputer, metode heuristik merupakan suatu teknik untuk menyelesaikan permasalahan yang tidak menekankan pada pembuktian apakah solusi yang didapatkan adalah benar (pembuktian apakah suatu
solusi adalah benar merupakan fokus dari metode penyelesaian analitik), tetapi
lebih menekankan pada performa komputasi dan kesederhanaan. Metode heuristik
merupakan suatu metode penyelesaian yang menggunakan konsep pendekatan. Keunggulan algoritma bee colony terdapat pada kehandalannya dalam mencari solusi
kompleks, terutama dalam hal penjadwalan (scheduling).

18
Langkah-langkah penyesuaian algoritma lebah sebagai berikut:

a. Forage
Tahapan ini akan diberikan pada setiap lebah yang akan mengunjungi sumber
makanan, aturan ini diberlakukan ketika lebah dihadapkan pada beberapa
pilihan vertex.
b. Waggle dance
Saat lebah hendak melakukan pencarian makanan sekembalinya ke sarang
dari eksplorasi nektar, lebah akan mencoba dengan probabilitas p untuk menunjukkan waggle dance dalam dance floor. Jika seekor lebah menari, tarian
lebah akan berlangsung selama beberapa durasi. Jika lebah memilih untuk
mengikuti tarian yang terpilih, dia akan menggunakan path yang diambil oleh
lebah yang menunjukkan tarian untuk memandu sebagai pemimpin bunga
yang ada. Path disebut sebagai lintasan yang paling disukai. Path untuk
lebah merupakan rangkaian penunjuk dari sumber (sarang) ke tujuan (nektar). Tarian akan dilakukan oleh seekor lebah ke lebah yang lainnya selama
dia mengikuti aturan bahwa lebah yang membangun path lebih pendek atau
lebih cepat dari percobaan sebelumnya yang diijinkan untuk melakukan tarian. Dengan kata lain, tidak semua lebah diijinkan untuk melakukan waggle
dance. Tetapi hanya lebah yang berhasil mendapatkan solusi yang lebih baik
dari solusi terbaik yang dimiliki saat ini yang boleh melakukan waggle dance.
c. Neighbourhood Search
Pada tahap ini, tiap solusi akan diuji performansinya dengan menggunakan
fitness test. Solusi yang memiliki nilai tertinggi akan dipilih untuk dilakukan
neighbourhood search dengan sebanyak jumlah lebah kemudian membandingkan solusi baru yang telah didapatkan terhadap solusi yang ada pada solusi
primer terbaik. Apabila solusi baru memiliki nilai terbaik, maka solusi tersebut dapat menggantikan solusi primer sebelumnya. Tahapan ini dilakukan
terus secara berulang hingga kriteria tercapai kemudian berhenti.