Buletin Ilmiah Math. Stat. dan Terapannya (Bimaster) Volume 11, No. 2 (2022), hal 299 – 308. 299 PENJADWALAN MATA KULIAH DENGAN MODIFIKASI ALGORITMA RUNUT-BALIK (BACKTRACKING) Studi Kasus: Penjadwalan Kuliah pada Program Studi Matematika FMIPA Untan Semester Ganjil Retno Wulandari, Mariatul Kiftiah, Meliana Pasaribu INTISARI Penyusunan jadwal mata kuliah di Program Studi (Prodi) Matematika FMIPA Universitas Tanjungpura semester ganjil dapat menggunakan pendekatan metode CSP (Constraint Satisfaction Problem) dan modifikasi dari Algoritma runut-balik (Backtracking). Pendekatan CSP digunakan untuk menyelesaikan suatu masalah dengan memenuhi sejumlah kendala atau kriteria. Modifikasi Algoritma Backtracking dilakukan untuk menghilangkan thrashing, yaitu penelusuran simpul yang tidak mengarah ke solusi sehingga dalam prosesnya terjadi eliminasi pada level yang tidak menghasilkan solusi dan dilanjutkan dengan memperluas level baru pada pohon. Penyusunan jadwal mata kuliah dapat dikonstruksikan ke dalam pohon yang memiliki 50 simpul dan level sebanyak 75, namun yang terpakai hanya 62 level saja karena selebihnya dieliminasi karena tidak sesuai dengan kendala. Lintasan yang dihasilkan dari pohon penjadwalan yang diperoleh berupa barisan dari simpul-simpul, terdapat simpul yang sama pada barisan dikarenakan simpul diimplementasikan sebagai mata kuliah. Terdapat mata kuliah yang memiliki dua pertemuan sehingga terdapat simpul yang sama pada barisan. Jadwal Prodi Matematika semester ganjil menghasilkan jadwal kuliah yang optimal. Jadwal mata kuliah yang optimal, yaitu ketika diperoleh kombinasi terbaik untuk pasangan mata kuliah dan dosen pengajar secara keseluruhan dengan waktu perkuliahan maupun ruangan. Kata Kunci : Constraint Satisfaction Problem, Thrashing, Solusi. PENDAHULUAN Proses perkuliahan yang berjalan di setiap Universitas harus terstruktur agar dapat berlangsung dengan lancar. Untuk mencegah terjadinya bentrok dalam perkuliahan maka perlu dilakukan pengalokasian waktu dan tempat sehingga diperoleh jadwal mata kuliah yang optimal. Jadwal mata kuliah dikatakan optimal, ketika diperoleh kombinasi terbaik untuk pasangan mata kuliah dan dosen pengampunya dengan ketersediaan ruangan yang cukup untuk kapasitas mahasiswa serta sesuai dengan durasi waktu perkuliahan. Beberapa hal yang menjadi pertimbangan dalam proses penjadwalan antara lain, yaitu mahasiswa, dosen, kapasitas ruang, hari kerja, jam kerja, dan sebagainya [1]. Masalah dalam penjadwalan dapat diselesaikan dengan menggunakan Constraint Satisfaction Problem (CSP) yang merupakan suatu pendekatan masalah dengan memenuhi sejumlah kendala atau kriteria (constraint). Salah satu algoritma yang dapat digunakan dalam menyelesaikan CSP adalah algoritma runut-balik (backtracking) yang berbasis DFS (Depth-First Search) [2]. Namun, pada penelitian ini digunakan modifikasi dari algoritma backtracking dimana saat pencarian solusi pada pohon dapat melakukan eliminasi pada level yang tidak menghasilkan solusi kemudian dilanjutkan pada perluasan level berikutnya [3]. Oleh karena itu, pada penelitian ini dikaji terkait penjadwalan mata kuliah di Prodi Matematika FMIPA Untan dengan menggunakan modifikasi algoritma backtracking. Tujuan penelitian ini adalah mengonstruksikan jadwal mata kuliah Program Studi Matematika FMIPA Untan ke dalam bentuk pohon, kemudian pohon yang diperoleh ditelusuri menggunakan modifikasi algoritma runut-balik hingga diperoleh jadwal kuliah yang optimal. Pada penelitian ini menggunakan data mata kuliah pada Prodi Matematika FMIPA Untan Kurikulum 2020 semester ganjil. Data yang diperoleh seperti data mata kuliah beserta dosen pengampunya. Selanjutnya data-
10
Embed
Penjadwalan Mata Kuliah dengan Modifikasi Algoritma Runut ...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Buletin Ilmiah Math. Stat. dan Terapannya (Bimaster) Volume 11, No. 2 (2022), hal 299 – 308.
299
PENJADWALAN MATA KULIAH DENGAN MODIFIKASI
ALGORITMA RUNUT-BALIK (BACKTRACKING)
Studi Kasus: Penjadwalan Kuliah pada Program Studi Matematika FMIPA Untan
Penyusunan jadwal mata kuliah di Program Studi (Prodi) Matematika FMIPA Universitas Tanjungpura
semester ganjil dapat menggunakan pendekatan metode CSP (Constraint Satisfaction Problem) dan
modifikasi dari Algoritma runut-balik (Backtracking). Pendekatan CSP digunakan untuk menyelesaikan
suatu masalah dengan memenuhi sejumlah kendala atau kriteria. Modifikasi Algoritma Backtracking
dilakukan untuk menghilangkan thrashing, yaitu penelusuran simpul yang tidak mengarah ke solusi
sehingga dalam prosesnya terjadi eliminasi pada level yang tidak menghasilkan solusi dan dilanjutkan
dengan memperluas level baru pada pohon. Penyusunan jadwal mata kuliah dapat dikonstruksikan ke
dalam pohon yang memiliki 50 simpul dan level sebanyak 75, namun yang terpakai hanya 62 level saja
karena selebihnya dieliminasi karena tidak sesuai dengan kendala. Lintasan yang dihasilkan dari pohon
penjadwalan yang diperoleh berupa barisan dari simpul-simpul, terdapat simpul yang sama pada
barisan dikarenakan simpul diimplementasikan sebagai mata kuliah. Terdapat mata kuliah yang memiliki
dua pertemuan sehingga terdapat simpul yang sama pada barisan. Jadwal Prodi Matematika semester
ganjil menghasilkan jadwal kuliah yang optimal. Jadwal mata kuliah yang optimal, yaitu ketika diperoleh
kombinasi terbaik untuk pasangan mata kuliah dan dosen pengajar secara keseluruhan dengan waktu
perkuliahan maupun ruangan.
Kata Kunci : Constraint Satisfaction Problem, Thrashing, Solusi.
PENDAHULUAN
Proses perkuliahan yang berjalan di setiap Universitas harus terstruktur agar dapat berlangsung
dengan lancar. Untuk mencegah terjadinya bentrok dalam perkuliahan maka perlu dilakukan
pengalokasian waktu dan tempat sehingga diperoleh jadwal mata kuliah yang optimal. Jadwal mata
kuliah dikatakan optimal, ketika diperoleh kombinasi terbaik untuk pasangan mata kuliah dan dosen
pengampunya dengan ketersediaan ruangan yang cukup untuk kapasitas mahasiswa serta sesuai
dengan durasi waktu perkuliahan. Beberapa hal yang menjadi pertimbangan dalam proses penjadwalan
antara lain, yaitu mahasiswa, dosen, kapasitas ruang, hari kerja, jam kerja, dan sebagainya [1].
Masalah dalam penjadwalan dapat diselesaikan dengan menggunakan Constraint Satisfaction Problem
(CSP) yang merupakan suatu pendekatan masalah dengan memenuhi sejumlah kendala atau kriteria
(constraint). Salah satu algoritma yang dapat digunakan dalam menyelesaikan CSP adalah algoritma
runut-balik (backtracking) yang berbasis DFS (Depth-First Search) [2]. Namun, pada penelitian ini
digunakan modifikasi dari algoritma backtracking dimana saat pencarian solusi pada pohon dapat
melakukan eliminasi pada level yang tidak menghasilkan solusi kemudian dilanjutkan pada perluasan
level berikutnya [3]. Oleh karena itu, pada penelitian ini dikaji terkait penjadwalan mata kuliah di
Prodi Matematika FMIPA Untan dengan menggunakan modifikasi algoritma backtracking.
Tujuan penelitian ini adalah mengonstruksikan jadwal mata kuliah Program Studi Matematika
FMIPA Untan ke dalam bentuk pohon, kemudian pohon yang diperoleh ditelusuri menggunakan
modifikasi algoritma runut-balik hingga diperoleh jadwal kuliah yang optimal. Pada penelitian ini
menggunakan data mata kuliah pada Prodi Matematika FMIPA Untan Kurikulum 2020 semester
ganjil. Data yang diperoleh seperti data mata kuliah beserta dosen pengampunya. Selanjutnya data-
300 R. Wulandari, M. Kiftiah, M. Pasaribu
data tersebut diformulasikan ke dalam masalah penelitian yang terdiri dari variabel keputusan, fungsi
tujuan, kendala (constraint). Pembuatan pohon dimulai dengan simpul akar yang diinterpretasikan
sebagai variabel yang belum memiliki nilai (initial node), simpul akar berada di level nol pada pohon.
Level atau tingkatan pada pohon diinterpretasikan sebagai variabel. Simpul pada pohon
diinterpretasikan dengan domain dan sisi pada pohon sebagai mahasiswa. Keterkaitan antara simpul
dengan level maupun antara simpul dengan simpul pada level berikutnya atau level sebelumnya
dipengaruhi oleh kendala. Kendala yang dimaksud seperti jumlah SKS pada mata kuliah dengan durasi
waktu ataupun dari mata kuliah dengan ruangan dan masih banyak lagi. Jika simpul tidak dapat
diperluas maka simpul tersebut menjadi simpul mati atau simpul tersebut bisa backtrack ke simpul
terdekat. Jika masih belum menemukan solusi maka simpul-simpul pada level tersebut dieliminasi
kemudian membangkitkan simpul level yang baru. Jika pencarian solusi ditemukan atau tidak ada lagi
perluasan simpul maka terbentuklah lintasan dari simpul akar hingga simpul daun pada pohon dimana
nantinya diperoleh jadwal mata kuliah.
POHON
Pohon merupakan graf terhubung yang tidak mengandung sirkuit [4]. Pohon atau pohon bebas
tidak memiliki akar yang tetap, namun dapat memungkinkan untuk memilih satu simpul dijadikan
sebagai akar [5]. Adapun istilah-istilah yang biasanya digunakan dalam pohon:
1. Simpul akar (root node) merupakan salah satu simpul yang dipilih kemudian ditempatkan pada
level nol pada pohon.
2. Sub-tree atau upapohon adalah bagian dari pohon dimana S merupakan sub-tree dari pohon G
sedemikian sehingga ( ) ( ) ( ) ( )
3. Lintasan (path) adalah serangkaian sisi yang saling terhubung.
4. Daun (leaf) atau simpul mati adalah simpul yang berderajat satu.
5. Derajat adalah jumlah sisi yang bersisian pada suatu simpul.
6. Level merupakan tingkatan pada pohon, penomoran level dimulai dari nol.
CONSTRAINT SATISFACTION PROBLEM (CSP)
Constraint satisfaction problem (CSP) adalah suatu pendekatan masalah dengan maksud untuk
menyelesaikan suatu masalah dengan memenuhi sejumlah kendala atau kriteria [6]. Permasalahan CSP
memiliki komponen-komponen yang perlu diketahui [7]:
1. Variabel merupakan suatu himpunan yang dapat diisi berbagai nilai, biasanya diisi dengan domain
yang sudah mencakup constraint. Variabel dapat dituliskan dengan * +. 2. Constraint adalah suatu aturan atau syarat yang berbentuk himpunan * +.
Constraint dapat mengatur nilai-nilai dari variabel. Setiap constraint dapat dikelompokan menjadi
dua jenis, yaitu:
a. Extensionally, ex: daftar perintah suatu elemen pada kasus domain yang terbatas/ berhingga.
b. Intentionally, ex: persamaan matematika.
3. Domain merupakan himpunan suatu nilai yang dapat diisi ke variabel, dimana akan membatasi
nilai suatu variabel. Domain dapat dituliskan dengan * +. Permasalahan CSP diselesaikan mulai dari solusi kosong dan diakhiri dengan sebuah solusi dengan
pemberian nilai variabel dari domainnya yang memenuhi semua constraint.
ALGORITMA BACKTRACKING
Dasar dari teknik Backtracking adalah teknik pencarian, dimana teknik ini secara sistematis
mencari solusi diantara semua ruang solusi yang ada. Penerapan algoritma ini, tidak perlu memeriksa
semua kemungkinan solusi yang ada, hanya pencarian yang mengarah ke solusi saja yang selalu
dipertimbangkan [8]. Pencarian dengan algoritma ini biasanya berbasis DFS (Depth-First Search)
dimana pada prosedurnya dimulai dari simpul akar kemudian dilanjutkan dengan simpul anak sebelah
kiri di level berikutnya pada ruang solusi yang direpresentasikan ke dalam struktur pohon [9]. Lintasan
Penjadwalan Mata Kuliah Dengan Modifikasi Algoritma Runut-Balik (Backtracking) 301
yang terbentuk dari akar ke daun merupakan solusi dari persoalan masalah. Penentuan solusi dengan
algoritma backtracking memiliki langkah-langkah [10]:
1. Solusi diperoleh dengan membentuk lintasan dari simpul akar hingga simpul daun. Simpul yang
dilahirkan dinamakan simpul hidup dan simpul hidup yang diperluas dinamakan simpul-E
(Expand-node).
2. Jika lintasan yang diperoleh dari perluasan simpul-E tidak mengarah ke solusi, maka simpul
tersebut menjadi simpul mati dimana tidak dapat diperluas lagi.
3. Jika posisi terakhir pada lintasan adalah simpul mati, maka proses pencarian dilakukan dengan
membangkitkan simpul yang lainnya. Dan jika tidak ada simpul yang dibangkitkan maka pencarian
dilakukan dengan runut-balik (backtracking) ke simpul terdekat.
4. Pencarian dihentikan jika telah menemukan solusi atau tidak ada lagi simpul yang diperluas.
MODIFIKASI ALGORITMA BACKTRACKING
Modifikasi algoritma runut-balik (backtracking) bermaksud untuk menghilangkan thrashing
(penelusuran cabang yang tidak ada solusi), serta penelusuran simpul tidak hanya pada expand node
namun di tempat lain pada pohon [3]. Oleh karena itu, modifikasi algoritma runut-balik (backtracking)
dapat melakukan eliminasi pada level yang tidak menghasilkan solusi kemudian dilanjutkan pada
perluasan level berikutnya. Permasalahan masalah yang diselesaikan dengan modifikasi algoritma
backtracking selanjutnya diformulasikan ke dalam komponen umumnya:
1. Variabel Keputusan: merupakan variabel yang secara lengkap menguraikan keputusan-keputusan
yang akan dibuat.
2. Fungsi Tujuan: merupakan fungsi atau persamaan yang menghubungkan variabel dan membentuk
kesatuan tentang apa yang ingin dicapai sehingga diperoleh fungsi tujuan yang optimal.
3. Kendala (constraint): merupakan batasan-batasan yang digunakan untuk membatasi nilai suatu
variabel keputusan. Nilai variabel yang mengoptimumkan fungsi tujuan harus memenuhi semua
kendala yang ditetapkan.
Adapun langkah-langkah untuk menghasilkan solusi menggunakan modifikasi algoritma
backtracking:
1. Solusi diperoleh dengan membentuk lintasan dari simpul akar hingga simpul daun. Simpul yang
dilahirkan dinamakan simpul hidup dan simpul hidup yang diperluas dinamakan simpul-E
(Expand-node).
2. Jika lintasan yang diperoleh dari perluasan simpul-E tidak mengarah ke solusi, maka simpul
tersebut menjadi simpul mati.
3. Jika posisi terakhir pada lintasan adalah simpul mati, maka proses pencarian dilakukan dengan
membangkitkan simpul yang lainnya. Dan jika tidak ada simpul yang dibangkitkan maka pencarian
dilakukan dengan runut-balik (backtracking) ke simpul terdekat.
4. Jika masih belum menemukan solusi maka simpul-simpul pada level tersebut dieliminasi kemudian
membangkitkan simpul pada level yang baru.
5. Pencarian dihentikan jika telah menemukan solusi atau tidak ada lagi simpul yang diperluas.
ANALISIS KASUS
Keadaan umum di Prodi Matematika FMIPA Untan yaitu terdapat empat ruangan kelas yang biasa
digunakan dalam perkuliahan serta terdapat pula satu laboratorium yang sewaktu-waktu digunakan
untuk praktikum. Keterbatasan dosen di Prodi Matematika membuat beberapa mata kuliah diampu
dosen yang bukan berasal dari Prodi Matematika. Perkuliahan untuk semester ganjil terdapat empat
tingkatan mahasiswa aktif yang melaksanakan perkuliahan, yaitu mahasiswa semester 1, semester 3,
semester 5, dan semester 7. Data-data yang diperoleh dari Prodi Matematika selanjutnya diolah dan
disusun ke dalam tabel kemudian diberikan inisial atau kode agar memudahkan dalam penamaan.
302 R. Wulandari, M. Kiftiah, M. Pasaribu
Tabel 1 Daftar Mata Kuliah Prodi Matematika Semester Ganjil Beserta Dosen Pengampunya
No Mata Kuliah SKS Kode Mata
Kuliah Dosen Kode Dosen
1 Pengantar Matematika Modern A 3 MK1 Dr. Nilamsari Kusumastuti, S.Si, M.Sc D1
Fransiskus Fran, S.Si., M.Si D2
2 Pengantar Matematika Modern B 3 MK2 Fransiskus Fran, S.Si., M.Si D2
Dr. Nilamsari Kusumastuti, S.Si, M.Sc D1
3 Kimia A 2 MK3 Dr. Anthoni B. Aritonang, M.Si. D3
Dr. Andi Hairil Alimudin, S.Si, M.Si D4
4 Kimia B 2 MK4 Dr. Andi Hairil Alimudin, S.Si, M.Si D4
Dr. Anthoni B. Aritonang, M.Si. D3
5 Kalkulus A 4 MK5 Dr. Evi Noviani, S.Si, M.Si. D5
Nur'ainul Miftahul Huda, S.Si.,M.Si. D6
6 Kalkulus B 4 MK6 Nurfitri Imro'ah, S.Si, M.Si D7
Meliana Pasaribu, S.Pd, M.Sc D8
7 Biologi A 2 MK7 Dr. Dwi Gusmalawati, M.Si D9
Firman Saputra, S.Si, M.Si D10
8 Biologi B 2 MK8
Firman Saputra, S.Si, M.Si D10
Dr. Dwi Gusmalawati, M.Si D9
9 B. Inggris 3 MK9 MKDU1 D11
10 Pancasila 2 MK10 MKDU 2 D12
11 Fisika A 2 MK11 Muhardi, S.Si., M.Si D13
12 Fisika B 2 MK12 Muhardi, S.Si., M.Si D13
13 Pengenalan Teknologi Informasi A 2 MK13 Suhardi, M.Eng D14
14 Pengenalan Teknologi Informasi B 2 MK14 Uray Ristian, S.Kom.,M.Kom. D15
15 Teori Peluang A 3 MK15 Dr. Yundari, M.Sc D16
Ray Tamtama, M.Si D17
16 Teori Peluang B 3 MK16 Ray Tamtama, M.Si D17
Dr. Yundari, M.Sc D16
17 Teori Bilangan 2 MK17 Mariatul Kiftiah, S.Si, M.Sc D18