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.