IMPLEMENTASI MASALAH PEWARNAAN GRAPH DENGAN ALGORITMA TABU SEARCH PADA PENJADWALAN KULIAH Ida Suryani 1, Purwanto 2, Mohamad sin 3 Universitas Negeri Malang E-mail: idaasuryaani@gmail.com; purmatum@yahoo.com; myasin1971@gmail.com ABSTRAK: Pewarnaan titik adalah mewarnai semua titik pada graph G, sehingga setiap pasang titik yang terhubung langsung memiliki warna yang berbeda. Banyaknya warna minimum yang digunakan untuk mewarnai disebut dengan bilangan khromatik. Pewarnaan titik dapat digunakan untuk membantu menyelesaikan masalah penyusunan jadwal kuliah. Salah satu algoritma untuk menyelesaikan masalah pewarnaan graph pada penjadwalan kuliah adalah algoritma tabu search. Hasil pewarnaan graph dengan menggunakan algoritma tabu search digunakan untuk menyusun jadwal kuliah, sehingga tidak ada jadwal yang bentrok artinya tidak ada dua matakuliah yang diambil oleh seorang mahasiswa yang dilaksanakan pada waktu yang bersamaan. Dengan demikian dapat ditentukan waktu dan ruang untuk melaksanakan perkuliahan sehingga dapat dibuat jadwal kuliah. Untuk mempermudah menyelesaikan permasalahan tersebut maka dibuat program dengan Borland Delphi 7. Data yang diinputkan berupa mata kuliah, dosen dan kelas mahasiswa yang akan representasikan sebagai titik graph. Proses pewarnaan dimulai dari k = 1 sehingga diperoleh warna yang lebih minimum. Output yang dihasilkan program berupa tabel jadwal kuliah yang telah ditentukan waktu dan ruang. Kata Kunci: pewarnaan titik graph, bilangan khromatik, algoritma tabu search, penjadwalan kuliah Dalam kehidupan sehari-hari banyak permasalahan yang memerlukan penyelesaian. Sering dengan bantuan matematika permasalahan tersebut menjadi lebih mudah dipahami dan lebih mudah diselesaikan. Teori graph merupakan salah satu cabang matematika yang mempunyai banyak manfaat karena teoriteorinya dapat diterapkan dalam kehidupan sehari-hari. Salah satu sub bahasan dalam teori graph yang dapat diterapkan dalam kehidupan nyata adalah pewarnaan graph. Salah satu masalah yang dapat diselesaikan dengan pewarnaan graph adalah proses penjadwalan kuliah. Beker (1974) mengemukakan penjadwalan merupakan kegiatan untuk mengalokasikan sejumlah sumber daya yang tersedia untuk memastikan bahwa perencanaan dapat berjalan dengan baik dengan waktu dan tenaga yang digunakan secara efisien. Penjadwalan kuliah yang sederhana yaitu menjadwalkan beberapa komponen yang terdiri dari mata kuliah, dosen, dan kelas mahasiswa dengan memperhatikan sejumlah batasan dan syarat tertentu. Menurut Aladag dan Hocaoglu (2007: 56) salah satu algoritma untuk menyelesaikan masalah pewarnaan graph pada penjadwalan kuliah adalah algoritma tabu search. Algoritma tabu search merupakan suatu metode optimasi yang berbasis pada pencarian solusi tetangga dan memori lokal. Proses pencarian bergerak dari satu solusi ke solusi berikutnya berusaha mencari solusi tetangga yang lebih baik dari solusi saat ini. Selain itu, memori lokal digunakan untuk mencatat langkah-langkah pencarian yg pernah ditemui. Jika langkah pencarian tersebut pernah ditemui tidak lebih baik (tabu), maka algoritma tabu search akan mengabaikan langkah pencarian tersebut tetapi langkah itu akan digunakan untuk 1. Ida Suryani adalah mahasiswa jurusan Matematika FMIPA Universitas Negeri Malang 2. Purwanto adalah dosen jurusan Matematika FMIPA Universitas Negeri Malang 3. Mohamad sin adalah dosen jurusan Matematika FMIPA Universitas Negeri Malang
menuntun dalam pencarian selanjutnya (Berlianty dan Arifin, 2010: 199). Definisi mengenai graph dan pewarnaan graph merujuk pada Wilson dan Watkins (1990). PEMBAHASAN Algoritma Tabu Search untuk Penyelesaian Masalah Pewarnaan Graph Langkah-langkah penyelesaian metode pewarnaan graph dengan menggunakan algortima tabu search pada penjadwalan kuliah adalah sebagai berikut (Aladag dan Hocaoglu, 2007: 53): 1. Warnai titik secara acak. 2. Menentukan apakah solusi awal memenuhi kriteria solusi yang diharapkan. 3. Jika terjadi konflik (ada titik yang bertetangga) maka bangkitkan solusi baru dari solusi yang didapat dengan melakukan move (pemindahan warna). 4. Simpan solusi yang tidak tabu dalam tabu list dan abaikan solusi yang tabu. 5. Pilih solusi optimal dari tabu list. 6. Terapkan solusi optimal pada graph. 7. Jika masih ada konflik maka kembali ke langkah 3, tetapi jika tidak ada konflik maka selesai. Sebelum menyelesaikan menyelesaikan masalah pewarnaan graph pada penjadwalan kuliah dengan menggunakan algoritma tabu search yang harus dilakukan adalah identifikasi permasalahan dan konversi data ke bentuk graph. Setiap kombinasi mata kuliah, dosen, kelas (offering) mahasiswa dimodelkan dengan sebuah titik pada graph tersebut kemudian dua matakuliah yang diajar oleh dosen yang sama dan setiap matakuliah yang diikuti oleh setidaknya satu kelas yang sama akan memiliki hubungan yang direpresentasikan dalam bentuk sisi yang menghubungkan dua titik yang mewakili dua mata kuliah tersebut. Urutan dari proses pewarnaan graph dengan algoritma tabu search sebagai berikut: a. Warnai titik secara acak. Sebelum mewarnai titik secara acak terlebih dahulu ditentukan bilangan khromatik. Perwarnaan dimulai dari k = 1 sampai batas atas bilangan kromatik k = 4 warna yang berbeda sampai ditemukan solusi optimal. Dalam perhitungan manual dengan menggunakan Algoritma Tabu Search untuk mencari pewarnaan titik tidak dimulai dari k = 1, misalkan diambil k = 4 karena merupakan batas bawah dari bilangan khromatik. b. Menentukan apakah solusi awal memenuhi kriteria solusi yang diharapkan. Dari hasil pewarnaan graph dapat dihitung jumlah konflik pewarnaan dengan menghitung jumlah titik bertetangga yang mewakili warna yang sama. Dengan demikian dapat dilihat hasil pewarnaannya apakah menimbulkan konflik. c. Jika terjadi konflik (ada titik yang bertetangga) maka bangkitkan solusi baru dari solusi yang didapat dengan melakukan move (pemindahan warna). Jika hasil pewarnaannya apakah menimbulkan konflik.berarti harus dilakukan pembangkitan solusi baru untuk mengurangi jumlah konflik yang terjadi dengan melakukan move (pemindahan warna). Jika tidak terjadi konflik maka solusi tersebut merupakan solusi optimal.
d. Simpan solusi yang tidak tabu dalam tabu list dan abaikan solusi yang tabu. Solusi-solusi yang tidak tabu atau solusi tersebut belum pernah ditemui dan lebih baik, maka Algoritma tabu search akan mengabaikan langkah pencarian tersebut tetapi langkah itu akan digunakan untuk menuntun dalam pencarian selanjutnya. e. Pilih solusi optimal dari tabu list. Solusi optimal merupakan kondisi dimana konflik yang didapat sama dengan 0 (nol) atau solusi yang tidak mempunyai konflik. f. Terapkan solusi optimal pada graph. Setelah solusi optimal dipilih maka solusi tersebut akan diterapkan pada graph sehingga graph dapat diwarnai sesuai soilusi optimal yang telah ditremukan. g. Jika masih ada konflik maka kembali ke langkah 3, tetapi jika tidak ada konflik maka selesai. Jika masih ada konflik yaitu kondisi dimana titik pada graph yang mempunyai warna sama dihubungkan dengan sisi (bertetangga) maka lakukan pengulangan kembali ke Langkah c. Tetapi jika sudah tidak ada konflik artinya titik pada graph yang mempunyai warna sama tidak dihubungkan dengan sisi (bertetangga), maka langkah pewarnaan graph dengan algoritma tabu search selesai. Dari hasil pewarnaan graph dengan Algoritma Tabu Search titik-titik yang sama dikelompokkan berdasarkan warnanya. Bila dua titik memiliki warna yang sama, maka waktu kuliah dua mata kuliah yang diwakili oleh titik-titik tersebut dapat berlangsung secara bersamaan dan jika memiliki warna yang berbeda maka waktu kuliah dua mata kuliah tersebut tidak boleh bersamaan. Untuk menentukan ruang mana yang akan ditempati oleh kombinasi antara mata kuliah, kelas mahasiswa, dosen dan waktu kuliah adalah bila ada dua titik memiliki warna yang sama dari hasil pewarnaan titik, maka dua mata kuliah yang diwakili oleh titiktitik tersebut harus ditempatkan di ruang yang berbeda dan jika memiliki warna yang berbeda maka boleh ditempatkan di ruang yang sama karena waktu pelaksanaan kuliahnya berbeda tetapi harus memperhatikan ruangan yang sesuai dengan kebutuhan perkuliahan yang ada. Untuk mempermudah dalam menyelesaikan masalah pewarnaan graph pada penjadwalan kuliah dengan menggunakan algoritma tabu search maka dibuat program dengan menggunakan software Borland Delphi 7, berikut adalah gambar flowchart untuk setiap langkah-langkah yang akan dilakukan dalam proses konversi data ke dalam bentuk graph, proses pewarnaan graph dan proses pembuatan jadwal kuliah:
Mulai Pemetaan dosen, mata mata kuliah, kuliah, dan kelas dan (offering) kelas mahasiswa (offering) secara mahasiswa berurutan secara berurutan Buat titik Sudah dipetakan semua Kombionasikan 2 titik secara berurutan Bertetangga Buat sisi Selesai Flowchart Konversi Data ke Bentuk Graph
Mulai Warnai titik secara acak Memenuhi kriteria Bangkitkan solusi baru Tabu Tambahkan dalam Tabu List Solusi optimal tercapai Terapkan solusi optimal pada graph Ada konflik Selesai Flowchart Pewarnaan Graph
Mulai Titik dikelompokkan berdasarkan warna Ganti titik dengan matakuliah yang diwakili Warna yang sama petakan ke waktu yang sama Tambahkan matakuliah ke waktu yang tidak terjadi konflik Petakan ke ruang yang berbeda Buat waktu baru Sudah dipetakan semua Terjadi konflik dengan matakuliah di waktu lain Jadwal kuliah Selidiki matakuliah-matakuliah yang belum dipetakan Selesai Flowchart Pembuatan Jadwal Kuliah
Uji Coba Program Akan dilakukan uji terhadap program yang telah dibuat. Daftar kuliah pada tabel di bawah ini terdiri dari 8 mata kuliah, 6 orang dosen, 2 kelas dan 2 ruangan yang tersedia. Tiap mata kuliah diajarkan oleh 1 orang dosen pada sebuah ruangan tertentu yang direpresentasikan ke dalam titik graph. No Mata Kuliah Dosen Kelas Mata Kuliah (titik graph) 1 MK1 D1 K1 0 2 MK2 D5 K2 1 3 MK3 D2 K1 2 4 MK4 D6 K2 3 5 MK5 D3 K1 4 6 MK6 D4 K2 5 7 MK7 D4 K1 6 8 MK8 D6 K2 7 Maka dapat dibuat model graph sebagai berikut: Diselesaikan menggunakan algoritma tabu search dengan bilangan kromatik k = 4 karena merupakan batas bawah dari bilangan khromatik. Batas bawah bilangan khromatik adalah mencari graph bagian komplit terbesar di G. Sehingga diperoleh hasil pewarnaan seperti di bawah ini: Dari gambar di atas terlihat bahwa graph dapat diwarnai minimun dengan 4 warna yaitu titik 7 dan 6 diberi warna 1, titik dan 4 diberi warna 2, titik 2 dan 3 diberi warna 3, titik 0 dan 5 diberi warna 4. Setelah itu membuat jadwal kuliah dengan ketentuan titik-titik yang warnanya sama dipetakan ke waktu kuliah yang sama dan titik-titik yang warnanya sama dipetakan ke ruang kuliah yang berbeda. Sehingga diperoleh jadwal kuliah senagai berikut:
No hari Waktu jam Mata Kuliah Dosen Kelas Ruang 1 Senin 1-3 MK7 D4 K1 R1 2 Senin 1-3 MK8 D6 K2 R2 3 Senin 4-6 MK2 D5 K2 R1 4 Senin 4-6 MK5 D3 K1 R2 5 Selasa 1-3 MK3 D2 K1 R1 6 Selasa 1-3 MK4 D6 K2 R2 7 Selasa 4-6 MK1 D1 K1 R1 8 Selasa 4-6 MK6 D4 K2 R2 PENUTUP Kesimpulan 1. Sebelum menyelesaikan masalah graph yang harus dilakukan adalah konversi data ke bentunk graph. Setelah itu menentukan bilangan khromatik untuk mengetahui banyak warna pada solusi awal. Kemudian menyelesaikan masalah pewarnaan graph dengan algoritma tabu search. 2. Dari hasil pewarnan graph dengan algoritma tabu search titik-titik dikelompokkan berdasarkan warnanya dan akan dibuat jadwal kuliah dengan ketentuan titik-titik yang warnanya sama dipetakan ke waktu kuliah yang sama dan titik-titik yang warnanya sama dipetakan ke ruang kuliah yang berbeda. 3. Untuk mempermudah menyelesaikan masalah pewarnaan graph dengan algoritma tabu search pada penjadwalan kuliah maka dibuat program dengan memanfaatkan sofware Borland Delphi 7. Data yang diinputkan berupa mata kuliah, dosen dan kelas mahasiswa yang akan representasikan sebagai titik graph. Proses pewarnaan dimulai dari k = 1 sehingga diperoleh warna yang lebih minimum. Output yang dihasilkan program berupa tabel jadwal kuliah yang telah ditentukan waktu dan ruang. Saran 1. Untuk menyelesaikan masalah pewarnaan graph selain dengan menggunakan algoritma tabu search masih banyak algoritma lainnya yang dapat dikembangkan diantaranya adalah algoritma sequential color, algoritma genetika, algoritma mememtika dan algoritma koloni lebah. 2. Contoh permasalahan lain yang dapat diselesaikan dengan pewarnaan titik graph adalah pemberian frekuensi radio pada setiap stasiun radio, penentuan jadwal operasi kereta api dan menyelesaikan permainan sudoku. 3. Implementasi program yang telah dibuat selain menggunakan software Borland Delphi 7, program bisa dikembangakan menggunakan software Java dan Microsoft Visual Basic.
Daftar Rujukan Aladag, C.H and Hocaoglu, G. 2007. A Tabu Search Algoritm To Solve A Course Timetabling Problem. Hacettepe Journal of Mathematics and Satistics, Ankara, Turkey, (Online), 36(1): 53-64, (http://clonalg-monografia. googlecode.com/hg/ documentos/a%20tabu%20search%20algorithm %20to%20solve%20a%20course%20Timetabling%20problem.pdf), diakses tanggal 10 Januari 2013. Berlianty, I dan Arifin, M. 2010. Teknik-teknik Optimasi Heuristik. Yogyakarta: Graha Ilmu. Glover, F and Laguna, M. 1997. Tabu Search. Boston: Kluwer Academic Publishers. R. Baker, Kenneth. 1974. Introduction To Squencing and Scedulling. New York: John Wiley and Son s Inc Wilson, R.J and Watkins, J.J. 1990. Graphs an Introductory Approach a First Discrete Mathematics. Canada: John Willy And Sons, Inc.