• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA - Model Penjadwalan Guru Menggunakan Graph Coloring Dengan Algoritma Bee Colony

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 TINJAUAN PUSTAKA - Model Penjadwalan Guru Menggunakan Graph Coloring Dengan Algoritma Bee Colony"

Copied!
15
0
0

Teks penuh

(1)

Pada umumnya beragam model penjadwalan telah dikembangkan seperti pro-gram 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 opti-masi 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 di-lakukan 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 graphyang diselesaikan dengan menggunakan al-goritma sekuensial dan alal-goritma 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 greedyadalah suatu algoritma yang dalam meme-cahkan 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) de-ngan menggunakan algoritma metaheuristik kombinasi genetika dede-ngantabu search. Penelitian tersebut melakukan perbandingan hasil yang diperoleh saat menggu-nakan algoritma genetika dengan algoritma kombinasi genetika dan tabu search.

(2)

penjad-Search kemudian dievaluasi sehingga menghasilkan solusi yang layak.

Menurut Rachmawatiet al. (2011) banyak faktor yang harus dipertimbangkan untuk memperoleh solusi yang optimal dan seringkali tidak dapat memuaskan kare-na tidak semua kebutuhan terpenuhi. Oleh karekare-na 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 ketentuanhard constrainttanpa ada pelanggaran. Sementara so-lusi 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 Kombi-natorial. Rachmawati et al. (2011), menyatakan selain untuk penjadwalan, pe-warnaan graph juga dapat digunakan dalam aplikasi pemasangan frekuensi pada jaringan selular, pemasangan kru karyawan dan sebagainya. Pada model konven-sional pewarnaan graph untuk penjadwalan, vertex merepresentasikan mata pela-jaran yang akan dijadwalkan, edge merepresentasikan pasangan jam mengajar yang bisa menimbulkan konflik (tidak bisa dijadwalkan pada waktu yang sama), dan war-na pada vertex merepresentasikan periode waktu pelajaran tersebut dijadwalkan. Jika terdapat dua vertexvdanwyang terhubung oleh sebuah edgevwmaka 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

(3)

jembatan Konigsberg. Dari permasalahan itu, akhirnya Euler mengembangkan be-berapa 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 ter-tentu. Oleh sebab itu, representasi dari suatu graph bergantung dari sifat data dan operasi yang dilakukan terhadap data dari sebuah kasus tertentu. Dalam ke-hidupan 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 pa-sangan himpunan (V, E) yang manaV adalah himpunan tidak kosong dari simpul-simpul (verticles atau node) : {v1, v2, . . . vn} dan E adalah himpunan sisi (edges

(4)

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 be-rarah, (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 dina-makan simpul asal (initial vertex) dan simpulvk dinamakan simpul terminal (terminal vertex).

(5)

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 kete-tanggaan.

2.2.3.1 Matriks ketetanggaan (Adjacency Matrix)

Misalkan G = (V, E) graph sederhana dimana |V|= n, n >1 Maka, matriks ketetanggaan A dari Gadalah 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

.

(6)

Pada graph berbobot, dimanaaij 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 sisij tidak bersisian

(7)

Bentuk matriks bersisian dari graph pada gambar 2.5 adalah :

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 meru-pakan 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 vertexx4.

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.

(8)

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 kare-na 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 hu-bungkan dengan sebuah sisi.

Teori pewarnaan graph banyak diimplementasikan pada berbagai kasus, salah satu diantaranya adalahscheduling (penjadwalan), yaitu mengefektifkan waktu un-tuk banyak keperluan dan jumlah resource yang terbatas. Dalam penjadwalan, setiap pekerjaan dinyatakan sebagai simpul dan sisi menggambarkan bahwa kedua

(9)

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 vertexvirnyang 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 sis-tem 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 mem-berikan performansi yang lebih baik.

2.2.6 Bilangan kromatik

Bilangan Kromatik GraphG(χ(G)) adalah jumlah warna minimum yang da-pat digunakan untuk mewarnai simpul (verteks/ V). Penyelesaian kasus penjad-walan 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 jum-lah 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 con-straintnya. Pewarnaan graph untuk mengakomodasi hal tersebut dilakukan dengan bilangan kromatik.

2.3 Graph Konflik (Shift Ganda)

(10)

untuk penjadwalan mata pelajaran tersebut. Misalkan terdapat sebuah himpunan terdiri dari n mata pelajaran {m1, m2, . . . , mn} yang akan dijadwalkan dan

ter-dapat sebuah himpunan yang terdiri dari p ruangan kelas {k1, k2, . . . , kp} sebagai

pasangan dari {m1, m2, . . . , mn}. Apabila darip 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 ruan-gan yang diminta guru). Jadi, untuk setiap mata pelajaran dalam graph konflik dengan lima vertex dapat digambarkan sebagai {vir1, vir2, vir4, vir5, vir6, vir8},

di-mana tiap vertex merepresentasikan satu kemungkinan pemasangan ruangan kelas untuk setiap mata pelajaran yang ada. Pada keadaan sebenarnya hanya akan terda-pat satu ruangan kelas misalnyarn yang akan dipergunakan untuk satu mata pela-jaran mi, yang mana akan direpresentasikan oleh vertexvirn. Apabila terdapat dua mata pelajaran yang dapat menimbulkan konflik sepertimi danmj, maka di antara kedua vertex itu harus ditambahkan sebuah edge. Edge yang ditambahkan kemudi-an akkemudi-an menjadi sebuah subgraph bipartie ykemudi-ang terdiri dari sekumpulkemudi-an vertex ykemudi-ang berhubungan dengan mata pelajaran mi dan mj. Sebagai contoh, jika mata pela-jaran mi dan mj terdiri dari kumpulan vertex {vir1, vir2, vir4, vir5, vir6, vir8} dan {vjr1, vjr3, vjr5, vjr6, vjr8}, maka vertex vir1, vir2, vir4, vir5, vir6 dan vir8 menjadi

himpunan bagian pertama sedangkan vertex vjr1, vjr3, vjr5, vjr6 dan vjr8 menjadi

himpuan bagian kedua.

(11)

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 se-tiap wilayah pada graph sehingga tidak ada wilayah yang bersebelahan yang memiliki warna yang sama.

Penulis dapat memberikan sembarang warna pada simpul-simpul asalkan berbe-da dengan simpul tetangganya. Dalam persoalan pewarnaan graph tiberbe-dak hanya sekedar mewarnai simpul-simpul dengan warna berbeda dari warna simpul tetang-ganya saja, namun juga menginginkan jumlah macam warna yang digunakan sesedik-it 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 jenismulticoloring yaitu:

(12)

2. Preemptive, pada varian inijobdapat diinterupsi karena set warna tidak bersi-fat kontinu.

2.4.2 Precoloring extension

Dalam penjadwalan, jadwal tidak dapat dikontrol secara penuh. Ada saat ketika terdapat suatujob yang sudah memiliki waktu kerja yang tertentu (pengam-bilan 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

(13)

al-goritma metaheuristik yaitu alal-goritma bee colony dimana lebah pengumpul mani-san/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).

(14)

bunganya senilai dengan kerja keras yang akan dilakukan berikutnya. Jika iya, ma-ka ia melakuma-kan 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 Wonget 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 ditu-gaskan untuk tepi yang merupakan pilihan jalur. Dengan melakukan ini, lebah cenderung memilih tempat berdasarkan jalan pilihan. Di sisi lain, dibawah

pen-garuh jarak heuristik lebih cenderung memilih tempat berikutnya yang terdekat dengan tempat saat ini.

(15)

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 puntuk me-nunjukkan 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 menggunakanpathyang 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 (nek-tar). 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 tar-ian. 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 melakukanwaggle dance. c. Neighbourhood Search

Gambar

Gambar 2.1Graph tak berarah
Gambar 2.3Graph berbobot
Gambar 2.4Graph matriks ketetanggaan

Referensi

Dokumen terkait

perancangan aplikasi penjadwalan ini menggunakan simulated annealing dan vertex graph coloring, diharapkan dengan dua algoritma tersebut dapat memaksimalkan proses pembuatan

• Menerapkan teknik pewarnaan graph dengan algoritma koloni lebah untuk membangun solusi layak bagi masalah penjadwalan kuliah.. • Meminimalisasi permasalahan penjadwalan kuliah