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 Universitas Sumatera Utara
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
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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 .
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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-
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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).
Universitas Sumatera Utara
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.
Universitas Sumatera Utara