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