Graph Penjadualan Mata Kuliah Dengan Metode Graph Coloring Heuristic

b. Preferential Timetabling Conditions Soft Constraints Preferential timetabling conditions atau batasan tambahan penjadualan umumnya disebut juga soft constraint adalah batasan atau kondisi tambahan yang tidak terlalu diperlukan untuk menghasilkan jadwal yang layak, tetapi jika dipenuhi dapat menghasilkan jadwal yang lebih cocok untuk seluruh anggota fakultas. Kondisi tambahan ini dapat dipenuhi, jika memungkinkan, dan berperan sebagai tambahan pada kondisi pokok. Batasan atau kondisi tambahan dalam penjadualan, antara lain sebagai berikut: 1. Seorang pengajar mungkin memiliki pilihan waktu kapan mata kuliah akan dijadwalkan, baik umum misalnya, pada pagi hari, siang hari, atau sore hari maupun spesifik misalnya, pada jam 8 pagi. 2. Seorang pengajar mungkin meminta ruangan specifik untuk suatu mata kuliah, diluar persyaratan ruang kelas yang telah ditetapkan. 3. Seorang pengajar mengajar mata kuliah satu kali perminggu mungkin mempunyai pilihan hari apa pertemuan selama satu minggu itu. 4. Mungkin lebih baik menetapkan tiap mata kuliah pada ruang kelas yang berlokasi di dalam atau dekat dengan bangunan dimana departemen mata kuliah berada atau dekat dengan ruangan kantor pengajar. 5. Sebagaian besar mata kuliah tidak dijadwalkan pada sore hari, tetapi cukup selama jam pagi, dan jam sore dipakaiselama jam sibuk normal, kecuali jika slot waktu sore digunakan untuk permintaan mata kuliah tertentu. 6. Ruang kelas seharusnya cukup besar untuk suatu mata kuliah agar dapat mengurangi adanya ruang kosong yang tidak digunakan karena tidak cukup daya tampungnya.

2.2 Graph

Secara kasar, graph adalah suatu diagram yang memuat informasi tertentu jika diinterpretasikan secara tepat. Dalam kehidupan sehari-hari, graph digunakan untuk menggambarkan berbagai macam struktur yang ada. Tujuannya adalah sebagai visualisasi objek-objek agar lebih mudah dimengerti. Universitas Sumatera Utara Teori graph merupakan cabang ilmu matematika diskrit yang banyak penerapannya dalam berbagai bidang ilmu seperti engineering, fisika, biologi, kimia, arsitektur, transportasi, teknologi komputer, ekonomi, sosial dan bidang lainnya. Teori graph juga dapat diaplikasikan untuk menyelesaikan persoalan-persoalan, seperti Travelling Salesperson Problem TSP, Chinese Postman Problem, Shortest Path, Electrical Network Problems, Seating Problem, dan Graph Coloring.

2.2.1 Sejarah Teori Graph

Teori graph berawal dari permasalahan yang muncul di kota Konigsberg pada awal abad ke 17. Kota ini meliputi bagian dari sungai Prigel yang ditengahnya terdapat dua pulau yang dihubungkan oleh satu jembatan dan masing-masing pulau dihubungkan oleh beberapa jembatan ke tepi sungai, seperti yang diperlihatkan pada Gambar 2.1. Gambar 2.1 Jembatan Konigsberg Permasalahan yang muncul saat itu adalah bagaimana seseorang dapat melalui seluruh jembatan yang menghubungkan kedua pulau, dan pulau dengan tepi pulau tepat satu kali. Untuk mempermudah pemecahan masalah ini seorang Ahli Matematika Swiss, Leonhard Euler memodelkan masalah ini ke dalam graph. Daratan Universitas Sumatera Utara titik-titik yang dihubungkan oleh jembatan dinyatakan sebagai titik noktah yang disebut vertex vertek dan jembatan dinyatakan sebagai garis yang disebut edge sisi. Graph yang dibuat oleh Euler diperlihatkan pada Gambar 2.2. Gambar 2.2 Model Graph Jembatan Konigsberg Jawaban yang dikemukan oleh Euler adalah: orang tidak mungkin melalui ketujuh jembatan itu masing-masing satu kali dan kembali lagi ke tempat asal keberangkatan jika derajat setiap vertex seluruhnya genap. Yang dimaksud dengan derajat genap adalah banyaknya edge yg bersisian dengan vertex. Sebagai contoh, vertex V 1 dan V 3 memiliki derajat tiga karena tiga buah edge bersisian dengannya, vertex V 4 berderajat tiga, sedangkan vertex V 2 berderajat 5. Karena tidak semua vertex berderajat genap, maka tidak mungkin dilakukan perjalanan berupa sirkuit pada graph tersebut. Munir, 2005, hal: 354-355.

2.2.2 Definisi Graph

Chartrand, G dan Lesniak, L 1996 menyatakan suatu graph G adalah suatu himpunan berhingga tak kosong dari objek-objek yang disebut vertex minimal tunggal bersama-sama dengan suatu himpunan yang anggotanya adalah pasangan yang tak berurut dari vertex yang berbeda pada G yang disebut edge mungkin kosong, dan dinotasikan dengan G{VG, EG}. Himpunan vertex dari G dinotasikan dengan VG dan himpunan edge dinotasikan dengan EG. Banyaknya anggota dari himpunan vertex pada G disebut order G dan dinotasikan dengan pG, atau dengan singkat ditulis p. Edge e = {x, y} atau juga dapat ditulis e = xy adalah sebuah edge v 4 v 1 v 2 v 3 e 1 e 4 e 3 e 2 e 7 e 5 e 6 Universitas Sumatera Utara dalam G, yaitu x dan y adalah titik-titik ujung dari e, maka x dan y dikatakan adjacent berelasi dimana x dan e adalah incedent terhubung, begitu juga dengan y dan e. Banyaknya edge yang incedent dengan vertex x disebut degreevalensiderajat dari x, dengan kata lain degree x adalah banyaknya edge yang memuat x sebagai titik ujung. Degree x dinotasikan dengan degx. Munir 2005, hal: 356 menyatakan Graph G didefinisikan sebagai pasangan himpunan V, E, ditulis dengan notasi G = V, E, yang dalam hal ini V adalah himpunan tidak kosong dari vertex-vertex vertex atau node dan E adalah himpunan edge edges atau arcs yang menghubungkan sepasang vertex. Dari definisi tersebut, dapat dikatakan bahwa sebuah graph dimungkinkan tidak mempunyai sebuah edge, tetapi vertexnya harus ada minimal satu. Graph yang hanya mempunyai satu buah vertex tanpa sebuah edge dinamakan graph trivial. Iryanto 2003, hal: 2 menyatakan Graph didefinisikan sebagai pasangan himpunan V, E yang dinotasikan dengan G = V, E, dimana: a. V adalah himpunan titik, vertex, vertex atau node dari G yaitu: i. V = {v 1 , v 2, v 3, ..., v n } b. E adalah himpunan rusuk, edges, atau edge dari G, yaitu: i. E = {e 1 , e 2, e 3, ..., e m } Suatu edges yang menghubungkan vertex V i dan V j dinyatakan oleh suatu pasangan V i , V j atau e 1 , e 2, e 3, ..., e m atau dapat ditulis e = V i , V j . Iryanto, 2003, hal: 2. Graph dapat pula disajikan secara geometri dan untuk ini vertex dinyatakan sebagai titik dan edge sebagai sebuah potongan garis yang menghubungkan vertex- vertex. Banyaknya vertex pada suatu graph disebut order dan banyaknya edge disebut size. Pada suatu graph G jika terdapat dua vertex yang dihubungkan lebih dari satu edge, maka edge seperti itu disebut multiple edges, paralel edges atau edge ganda. Jika suatu edge berasal dari suatu vertex dan ujungnya kembali ke vertex yang sama, maka edge tersebut dinamakan loop atau gelang. Universitas Sumatera Utara

2.2.3 Teori Pewarnaan Graph Graph Coloring

Graph G dikatakan berwarna n jika terdapat sebuah pewarnaan dari G yang menggunakan n warna. Jumlah warna maksimal dari suatu graph sama dengan jumlah vertex. Jumlah warna minimum yang diperlukan untuk mewarnai G disebut bilangan kromatik chromatic dari G, yang disimbolkan dengan χG. Suatu graph G yang mempuyai bilangan kromatik k dilambangkan dengan χG = k Munir, 2005, hal: 426. Gambar 2.3 memperlihatkan graph yang memiliki bilangan kromatik 4. Gambar 2.3 Graph yang memiliki χG = 4 Beberapa graph tertentu dapat langsung ditentukan bilangan kromatiknya, antara lain: a. Graph kosong N n memiliki χG = 1, karena semua vertex tidak terhubung, jadi untuk mewarnai semua vertex cukup dibutuhkan satu warna saja. b. Graph lengkap K n memiliki χG = n sebab semua vertex saling terhubung sehingga diperlukan n buah warna warna maksimum. c. Graph bipartit K m,n mempunyai χG = 2, satu untuk vertex-vertex dihimpunan V 1 dan satu lagi untuk vertex-vertex di V 2 . d. Graph lingkaran dengan n ganjil memiliki χG = 3, sedangkan jika n genap maka χG = 2. Sembarang pohon T memiliki χT = 2. e. Untuk graph-graph yang lain tidak dapat dinyatakan secara umum bilangan kromatiknya. Universitas Sumatera Utara

2.2.3.1 Masalah pada Pewarnaan Graph

Masalah pada pewarnaan graph G adalah bagaimana memberikan sejumlah warna yang tepat pada G seminimum mungkin. Hal ini dikenal sebagai masalah pewarnaan minimum minimum coloring problem. Pewarnaan graph terbagi 3 jenis, yaitu: a. Coloring Vertex Pewarnaan Vertek Pewarnaan vertex adalah cara pemberian warna untuk setiap vertex vertek suatu graph sedemikian rupa sehingga setiap vertex yang adjacent dihubungkan oleh garisedge yang sama diwarnai dengan warna yang berbeda. b. Coloring Edge Pewarnaan Garis Pewarnaan garis adalah cara pemberian warna pada edge sedemikian rupa sehingga setiap edge yang bertumpuan pada vertex yang sama diberi warna yang berbeda. Cara pemberian warna tidak memiliki aturan tertentu, hanya harus seminimal mungkin. c. Coloring Region Pewarnaan Wilayah Pewarnaan wilayah adalah cara pemberian warna pada setiap region pada graph sehingga tidak ada region yang bersebelahan yang memiliki warna yang sama. Komponen utama dalam pewarnaan graph ada 3, yaitu: a. Vertex vertek Vertex merupakan objek yang diperhatikan. b. Edge garis Edge merupakan penghubung dari pasangan objek vertex yang konflik. c. Color warna Objek vertex konflik diberikan warna yang berbeda. Masalah-masalah yang dapat dimodelkan dengan menggunakan metode pewarnaan graph, antara lain masalah penjadualan, termasuk masalah penjadualan mata kuliah dan penjadualan ujian, masalah pengalokasian register, masalah penempatan frekuensi, dan lain-lain. Universitas Sumatera Utara

2.3.3.2 Metode Pewarnaan Graph pada Penjadualan Mata Kuliah

Salah satu aplikasi penting dari graph coloring adalah penjadualan. Banyak permasalahan dalam penjadualan yang melibatkan berbagai macam batasan pada objek dalam hal ini matakuliah yang akan dijadwalkan bersamaan pada waktu periode yang sama. Sudah sangat jelas kalau dua matakuliah tidak dapat diajar oleh pengajar yang sama pada saat yang bersamaan dan juga dua matakuliah yang menempati ruang kelas yang sama harus dijadwalkan pada waktu yang berbeda. Oleh karena itu, masalah yang melibatkan jumlah waktu minimum dalam penjadualan dengan berbagai macam batasan dapat dikategorikan dalam masalah graph coloring. Masalah penjadualan mata kuliah pada graph coloring adalah membagi mata kuliah yang direpresentasikan sebagai vertex ke dalam jumlah minimum suatu tempat sehingga tidak ada vertex yang bertetanggaan vertex bertetanggaan ditandai dengan adanya edge antara dua vertex dijadwalkan pada waktu yang sama. Kemudian warna yang berbeda diberikan kepada vertex yang bertetanggaan tersebut. Diberikan contoh masalah pewarnaan graph sederhana, seperti yang diperlihatkan pada Tabel 2.1. Misalkan ada lima mata kuliah, yaitu a, b, c, d, dan e, yang akan dijadwalkan bersamaan dengan konfliknya. Angka 0 menunjukkan tidak adanya konflik antara dua pasang mata kuliah, sedangkan angka 1 menunjukkan adanya konflik antara 2 pasang mata kuliah jika mata kuliah dijadwalkan pada waktu yang sama. Tabel 2.1 Penjadualan Mata Kuliah a b c d e a 0 1 1 1 0 b 1 0 1 1 1 c 1 1 0 1 0 d 1 1 1 0 1 e 0 1 0 1 0 Universitas Sumatera Utara Berdasarkan Tabel 2.1, dapat dibuat jadwal mata kuliah bebas konflik dengan mengubah Tabel 2.1 ke dalam graph G dan menemukan pewarnaan minimum. Vertex pada graph G merepresentasikan mata kuliah, edge merepresentasikan pasangan dari mata kuliah yang akan dijadwalkan, dan warna merepresentasikan waktu atau periode dimana mata kuliah akan dijadwalkan. Dari Tabel 2.1 dapat dihasilkan graph seperti pada Gambar 2.4. Gambar 2.4 Graph Sederhana Jadwal Mata Kuliah Graph Bebas Konflik Gambar 2.4 memperlihatkan bahwa dapat dibuat graph bebas konflik jadwal mata kuliah dengan χG = 4. Berdasarkan pewarnaan, kita dapat menjadwalkan mata kuliah a untuk waktu atau periode pertama, mata kuliah b untuk waktu kedua, mata kuliah c dan e untuk waktu ketiga, serta mata kuliah d untuk waktu keempat. Jadi, untuk jadwal mata kuliah berdasarkan Tabel 2.1, hanya diperlukan empat periode waktu dalam satu hari.

2.3 Algoritma Greedy