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-
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
18 Logika Fuzzy 3 MK18 Dr. Nilamsari Kusumastuti, S.Si, M.Sc D1
19 Kalkulus Multivariabel A 4 MK19 Dr. Yundari, M.Sc D16
Drs. Helmi, M.Si D19
20 Kalkulus Multivariabel B 4 MK20 Drs. Helmi, M.Si D19
Dr. Yundari, M.Sc D16
21 Teori Himpunan 2 MK21 Fransiskus Fran, S.Si., M.Si D2
22 Geometri A 4 MK22 Neva Satyahadewi, S.Si, M.Sc D20
Dr. Yundari, M.Sc D16
23 Geometri B 4 MK23 Dr. Yundari, M.Sc D16
Neva Satyahadewi, S.Si, M.Sc D20
24 Analisis Regresi 3 MK24 Naomi Nessyana Debataraja, M.Si D21
25 Pengantar Aljabar
Abstrak A 4 MK25
Dr. Nilamsari Kusumastuti, S.Si, M.Sc D1
Fransiskus Fran, S.Si., M.Si D2
26 Pengantar Aljabar
Abstrak B 4 MK26
Fransiskus Fran, S.Si., M.Si D2
Dr. Nilamsari Kusumastuti, S.Si, M.Sc D1
27 Basis data 3 MK27 Hendra Perdana, S.Si., M.Sc D22
28 Teori Graf 2 MK28 Fransiskus Fran, S.Si., M.Si D2
29 Pemrograman Linier 2 MK29 Meliana Pasaribu, S.Pd., M.Sc D8
30 Algoritma dan Pemrograman A 3 MK30 Dr. Bayu Prihandono, S.Si, M.Sc D23
Yudhi, S.Si., M.Si D24
31 Algoritma dan Pemrograman B 3 MK31 Yudhi, S.Si., M.Si D24
Dr. Bayu Prihandono, S.Si, M.Sc D23
32 Persamaan Diferensial Parsial A 4 MK32 Drs. Helmi, M.Si D19
Dr. Evi Noviani, S.Si., M.Si D5
33 Persamaan Diferensial Parsial B 4 MK33 Dr. Evi Noviani, S.Si., M.Si D5
Drs. Helmi, M.Si D19
34 Sistem Dinamik 3 MK34 Dr. Bayu Prihandono, S.Si, M.Sc D23
Meliana Pasaribu, S.Pd., M.Sc D8
35 Pengantar Proses Stokastik 2 MK35 Dr. Yundari, M.Sc D16
Ray Tamtama, M.Si D17
36 Pengantar Analisis Real 1 A 4 MK36 Mariatul Kiftiah, S.Si, M.Sc D18
Yudhi, S.Si., M.Si D24
37 Pengantar Analisis Real 1 B 4 MK37 Yudhi, S.Si., M.Si D24
Mariatul Kiftiah, S.Si, M.Sc D18
38 Rancangan Percobaan 3 MK38 Ir. Dadan Kusnandar, M.Sc., Ph.D. D25
Shantika Matrha, S.Si., M.Si D26
39 Aplikasi Aljabar Linier 2 MK39 Yudhi, S.Si., M.Si D24
40 Pengantar Matematika Aktuaria dan
Keuangan A 3 MK40
Neva Satyahadewi, S.Si, M.Sc D20
Setyo Wira Rizki, S.Si., M.Sc D27
Penjadwalan Mata Kuliah Dengan Modifikasi Algoritma Runut-Balik (Backtracking) 303
Tabel 3 Ruangan Perkuliahan Prodi
Matematika FMIPA Untan
No Mata Kuliah SKS Kode Mata
Kuliah Dosen Kode Dosen
41 Pengantar Matematika Aktuaria dan
Keuangan B 3 MK41
Setyo Wira Rizki, S.Si, M.Sc D27
Neva Satyahadewi, S.Si, M.Sc D20
42 Riset Operasi 2 MK42 Marisi Aritonang, M.A D28
Meliana Pasaribu, S.Pd., M.Sc D8
43 Rivalitas Matematika 2 MK43
Dr. Evi Noviani, S.Si., M.Si D5
Dr. Bayu Prihandono, S.Si, M.Sc D23
Mariatul Kiftiah, S.Si, M.Sc D18
Fransiskus Fran, S.Si., M.Si D2
Yudhi, S.Si., M.Si D24
Meliana Pasaribu, M.Sc D8
44 Metode Deret Waktu 3 MK44 Shantika Matha, S.Si., M.Si D26
Nurfitri Imro’ah, S.Si., M.Si D7
45 Pengantar Matematika Komputasi A 2 MK45 Yudhi, S.Si., M.Si D24
46 Pengantar Matematika Komputasi B 2 MK46 Dr. Bayu Prihandono, S.Si, M.Sc D23
47 Pengantar Analisis Fungsional 3 MK47 Mariatul Kiftiah, S.Si, M.Sc D18
Yudhi, S.Si., M.Si D24
48 Kapita Selekta 2 MK48 Dr. Bayu Prihandono, S.Si, M.Sc D23
49 Kalimantan Barat dalam Matematika
A 3 MK49
Dr. Evi Noviani, S.Si., M.Si D5
Drs. Helmi, M.Si D19
Meliana Pasaribu, S.Pd., M.Sc D8
Naomi Nessyana Debataraja, M.Si D21
50 Kalimantan Barat dalam Matematika
B 3 MK50
Dr. Evi Noviani, S.Si., M.Si D5
Drs. Helmi, M.Si D19
Meliana Pasaribu, S.Pd., M.Sc D8
Naomi Nessyana Debataraja, M.Si D21
Waktu aktif dalam perkuliahan yaitu pada hari Senin hingga Jumat serta durasi waktu perkuliahan
Prodi Matematika untuk satu SKS (Sistem Kredit Semester) sebesar 50 menit. Durasi waktu
perkuliahan dimuat pada Tabel 2 dan ruangan yang digunakan oleh Prodi Matematika FMIPA Untan
yaitu ruangan H1.1, H1.2, H1.4, H2.3, dan H3.3 (Lab. matematika) yang dimuat pada Tabel 3.
Tabel 2 Durasi Waktu Perkuliahan
No Durasi Waktu Kode
Sesi
1 07.30 – 08.20 WIB
T1 2 08.20 – 09.10 WIB
3 09.10 – 10.00 WIB
4 10.15 – 11.05 WIB
T2 5 11.05 – 11.55 WIB
6 11.55 – 12.45 WIB
7 13.00 - 13.50 WIB
T3 8 13.50 - 14.40 WIB
9 14.40 - 15.30 WIB
FORMULASI MASALAH PENELITIAN
Penyusunan jadwal kuliah di Prodi Matematika FMIPA Untan menggunakan modifikasi algoritma
backtracking diformulasikan sebagai berikut:
1. Variabel Keputusan
Variabel keputusan pada penelitian ini adalah
( )
2. Fungsi Tujuan
Fungsi tujuan pada penelitian ini adalah mengisi variabel dengan sehingga diperoleh fungsi
tujuannya adalah ( )
3. Kendala (constraint)
Pada penelitian ini, kendala yang digunakan sebagai berikut:
a. Mata kuliah yang berbeda tidak diperbolehkan dalam ruangan dan waktu yang sama
No Ruangan Kode
1 H1.1 R1
2 H1.2 R2
3 H1.4 R3
4 H2.3 R4
5 H3.3 (Lab. Matematika) R5
304 R. Wulandari, M. Kiftiah, M. Pasaribu
b. Seorang dosen tidak diperbolehkan mengajar mata kuliah diwaktu dan ruangan yang sama.
c. Jumlah maksimal pertemuan suatu mata kuliah pada satu hari adalah 3 SKS. Sehingga untuk
mata kuliah yang memiliki lebih dari 3 SKS dilakukan dua pertemuan dan dua hari.
d. Mata kuliah yang menggunakan laboratorium harus dijadwalkan pada ruangan tersebut.
e. Ruangan kelas H1.1 dan H1.4 memiliki kapasitas sekitar 60 orang, ruang kelas H1.2 dan H2.1
memiliki kapasitas sekitar 40 orang, dan ruangan laboratorium matematika memiliki kapasitas
25 orang.
f. Jadwal mengajar dosen di prodi lain diabaikan.
g. Dosen yang mengajar pada sesi pertama tidak boleh mengajar pada sesi dua namun bisa
mengajar pada sesi ketiga. Dosen yang mengajar pada sesi kedua boleh mengajar pada sesi
ketiga.
h. Dua mata kuliah dengan jumlah SKS yang sama dan diampu oleh minimal dua orang dosen
yang sama bisa dijadwalkan pada waktu yang sama namun di ruangan yang berbeda.
i. Sesi pertama (07.30-10.00) dan sesi ketiga (13.00-15.30) diprioritaskan untuk mata kuliah
dengan tiga SKS kemudian untuk sesi kedua (10.15-12.45) hanya dapat diisi untuk mata kuliah
dengan dua SKS.
HASIL PENGKONSTRUKSIAN POHON
Pengonstruksian pohon terdiri dari simpul yang diimplementasikan sebagai domain, level sebagai
variabel dan sisi diinterpretasikan sebagai mahasiswa. Berikut merupakan daftar dari domain dan
variabel yang digunakan dalam penelitian ini.
1. Daftar Domain
Domain yang digunakan terdiri dari mata kuliah serta dosen pengampunya, jumlah pertemuan mata
kuliah tiap minggunya dan juga lamanya waktu dosen mengajar. Domain dituliskan sebagai = (mata
kuliah, dosen, jumlah pertemuan, lamanya waktu dosen mengajar), Lamanya waktu dosen
dalam mengajar mata kuliah berdasarkan jumlah SKS masing-masing mata kuliah, yaitu single (50
menit), double (100 menit), dan triple (150 menit). SKS yang berjumlah empat akan dibagi dua
pertemuan dimana tiap pertemuan 100 menit (double). Domain yang diperoleh sebanyak 50 karena
berdasarkan jumlah mata kuliah pada Prodi Matematika pada semester ganjil, daftar domain yang
dipakai pada penelitian ini dapat dilihat pada Tabel 4.
Tabel 4 Daftar Domain
No Domain
Keterangan
Mata
Kuliah Dosen
Jumlah Pertemuan
Tiap Minggu
Lama Waktu
Dosen Mengajar
1 MK 1 D1,D2 2 Double
2 MK 2 D3,D4 2 Double
3 MK 3 D5,D6 1 Double
4 MK 4 D6,D5 1 Double
5 MK 5 D7,D8 1 Double
6 MK 6 D8,D7 1 Double
7 MK 7 D9,D10 1 Triple
8 MK 8 D10,D9 1 Triple
9 MK 9 D11 1 Double
10 MK 10 D12 1 Double
11 MK 11 D13 1 Double
12 MK 12 D13 1 Double
13 MK 13 D14 1 Double
14 MK 14 D15 1 Double
15 MK 15 D16,D17 1 Triple
16 MK 16 D16,D17 1 triple
17 MK 17 D10 1 double
Penjadwalan Mata Kuliah Dengan Modifikasi Algoritma Runut-Balik (Backtracking) 303
No Domain
Keterangan
Mata
Kuliah Dosen
Jumlah Pertemuan
Tiap Minggu
Lama Waktu
Dosen Mengajar
18 MK 18 D9 1 double
19 MK 19 D16,D18 2 double
20 MK 20 D18,D16 2 double
21 MK 21 D10 1 double
22 MK 22 D19,D16 1 triple
23 MK 23 D16,D19 1 triple
24 MK 24 D20 1 triple
25 MK 25 D9,D10 2 double
26 MK 26 D10,D9 2 double
27 MK 27 D21 1 triple
28 MK 28 D4 1 double
29 MK 29 D22 1 double
30 MK 30 D23,D24 1 triple
31 MK 31 D24,D23 1 triple
32 MK 32 D25,D4 1 double
33 MK 33 D18,D1 2 double
34 MK 34 D1,D18 2 double
35 MK 35 D16,D17 1 double
36 MK 36 D26,D27 1 triple
37 MK 37 D24 1 double
38 MK 38 D19,D28 1 triple
39 MK 39 D28,D19 1 triple
40 MK 40 D27,D3 1 triple
41 MK 41 D22,D24 2 double
42 MK 42 D24,D22 2 double
43 MK 43 D1,D23,D22,D10,D24,D4 1 double
44 MK 44 D23,D4 1 triple
45 MK 45 D24 1 double
46 MK 46 D23 1 double
47 MK 47 D22,D24 1 triple
48 MK 48 D23 1 double
49 MK 49 D1,D18,D4,D20 1 triple
50 MK 50 D1,D18,D4,D20 1 triple
2. Daftar Variabel
Variabel memiliki komponen yaitu hari perkuliahan, durasi waktu perkuliahan dan ruangan kelas
yang digunakan saat perkuliahan. Bentuk variabel dimisalkan dengan = (hari, durasi waktu, dan
ruangan kelas), i ℕ. Hari perkuliahan ada hari Senin, Selasa, Rabu, Kamis, dan Jumat. Durasi
perkuliahan dibagi menjadi tiga sesi dimana sesi pertama dimulai pukul 07.30-10.00 dilanjutkan sesi
kedua dimulai pukul 10.15-12.45 dan sesi ketiga dimulai pukul 13.00-15.30. Ruangan kelas
perkuliahan yang digunakan yaitu H1.1, H1.2, H1.4, H2.3, dan H3.3 (laboratorium matematika).
Banyaknya kemungkinan variabel adalah 75, namun yang pada penelitian ini menggunakan 15
variabel saja yang dijabarkan pada Tabel 5.
Tabel 5 Daftar Variabel Hari Senin
No Variabel Keterangan No Variabel Keterangan
1 Senin, sesi 1, H1.1 9 Senin, sesi 2, H2.3
2 Senin, sesi 1, H1.2 10 Senin, sesi 2, H3.3
3 Senin, sesi 1, H1.4 11 Senin, sesi 3, H1.1
4 Senin, sesi 1, H2.3 12 Senin, sesi 3, H1.2
5 Senin, sesi 1, H3.3 13 Senin, sesi 3, H1.4
6 Senin, sesi 2, H1.1 14 Senin, sesi 3, H2.3
7 Senin, sesi 2, H1.2 15 Senin, sesi 3, H3.3
8 Senin, sesi 2, H1.4
306 R. Wulandari, M. Kiftiah, M. Pasaribu
Berdasarkan variabel dan domain serta kendala yang telah ditentukan, diperoleh pohon dengan
menggunakan modifikasi algoritma backtracking yang berbasis DFS dan CSP dapat dilihat pada
Gambar 1.
Gambar 1. Pohon Penjadwalan Mata Kuliah Hari Senin
Pada Gambar 1 menunjukan hasil pohon penjadwalan mata kuliah dengan lima belas variabel yang
terdiri dari hari Senin dengan durasi waktunya 07.30-15.30 serta ruangan H1.1, H1.2, H1.4, H2.3, dan
H3.3 (laboratorium komputer), selain variabel terdapat lima puluh domain. Pada pembuatan pohon
berdasarkan CSP dengan modifikasi algoritma backtracking yang berbasis DFS maka terdapat level
yang merupakan variabel dan simpul adalah domain dimana simpul akarnya dimisalkan sebagai
variabel yang belum memiliki nilai (initial state). Simpul akar yang diperluas kemudian ke variabel
pertama ( ) yaitu hari Senin pada jam 07.30-10.00 di ruangan H1.1 menuju ke domain paling kiri
yaitu domain pertama ( ) yaitu mata kuliah kalkulus A. Selanjutnya untuk level kedua atau variabel
kedua ( ) yaitu pada hari Senin, jam 07.30-10.00 di ruangan H1.2 tidak bisa diisi untuk domain
pertama. Hal ini dikarenakan terjadinya bentrok waktu perkuliahan sehingga untuk diisi dengan
yaitu mata kuliah kalkulus B. Variabel ketiga ( ) yaitu hari Senin pada jam 07.30-10.00 di ruangan
H1.4 diisi oleh merupakan mata kuliah teori peluang A. Variabel keempat ( ) yaitu hari Senin
pada jam 07.30-10.00 di ruangan H2.3 diisi oleh merupakan mata kuliah teori peluang B. Variabel
kelima ( ) yaitu hari Senin pada jam 07.30-10.00 di ruangan H3.3 diisi dengan karena untuk
ruangan H3.3 khusus mata kuliah yang praktik menggunakan komputer. Jika terdapat variabel yang
tidak diisi domain maka variabel tersebut dieliminasi karena jika tetap ditelusuri maka menyebabkan
thrashing dan penelusuran tetap dilanjutkan ke variabel yang baru. Beberapa variabel yang dieliminasi
dikarenakan tidak dapat diisi domain berdasarkan kendala, yaitu seperti dan . Lintasan yang
Penjadwalan Mata Kuliah Dengan Modifikasi Algoritma Runut-Balik (Backtracking) 307
Keterangan:
terbentuk ketika penelusuran pohon pada Gambar 1. yaitu
. Lakukan penelusuran dengan cara yang sama untuk hari Selasa sampai Jumat. Jika
semua variabel selain variabel yang dieliminasi sudah terisi oleh domain maka terbentuk lintasan
keseluruhan dari pohon penjadwalan mata kuliah kemudian dapat dibuat jadwal kuliah berdasarkan
pasangan domain dan variabel, hasil penjadwalan kuliah Prodi Matematika semester ganjil yang dapat
dilihat pada Tabel 6.
Tabel 6. Jadwal Kuliah Prodi Matematika FMIPA Untan Semester Ganjil
HARI RUANG
H1.1 H1.2 H1.4 H2.3 H3.3
Senin
Pengantar Matematika
Modern A
W (07.30-10.00)
3 SKS (D1,D2)
Pengantar Matematika
Modern B
W (07.30-10.00)
3 SKS (D2,D1)
Teori Peluang A
W (07.30-10.00)
3 SKS (D16,D17)
Teori Peluang B
W (07.30-10.00)
3 SKS (D16,D17)
Algoritma dan
Pemrograman A
W (07.30-10.00)
3 SKS (D23,D24)
Kimia A
W (10.15-11.55) 2 SKS (D3,D4)
Teori Bilangan P (10.15-11.55)
2 SKS (D18)
Persamaan Diferensial Parsial A
W (10.15-11.55)
2 SKS I (D19, D5)
Persamaan Diferensial Parsial B
W (10.15-11.55)
2 SKS I (D5, D19)
Kimia B W(13.00-14.40)
2 SKS (D4,D3)
Logika Fuzzy P (13.00-15.30)
3 SKS (D1)
Sistem Dinamik P (13.00-15.30)
3 SKS (D23, D8)
Pengantar Analisis
Fungsional
P (13.00-15.30) 3 SKS (D18,D24)
Selasa
Kalkulus A
W (07.30-09.10) 2 SKS I (D5,D6)
Kalkulus B
W (07.30-09.10) 2 SKS I (D7,D8)
Kalkulus Multivariabel A
W (07.30-09.10) 2 SKS I (D16,D19)
Kalkulus Multivariabel B
W (07.30-09.10) 2 SKS I (D19,D16)
Algoritma dan
Pemrograman B W (07.30-10.00)
3 SKS (D24,D23)
Biologi A W (10.15-11.55)
2 SKS (D9,D10)
Biologi B W (10.15-11.55)
2 SKS (D10,D9)
Teori Himpunan P (10.15-11.55)
2 SKS (D2)
Pengantar Proses Stokastik P (10.15-11.55)
2 SKS (D16,D17)
Geometri A W(13.00-14.40)
2 SKS I (D20,D16)
Geometri B W (13.00-14.40)
2 SKS I (D16, D20)
Pengantar Analisis Real A W (13.00-14.40)
2 SKS I (D18,D24)
Pengantar Analisis Real B W (13.00-14.40)
2 SKS I (D24,D18)
Rabu
Kalkulus A W (07.30-09.10)
2 SKS II (D5,D6)
Kalkulus B W (07.30-09.10)
2 SKS II (D7,D8)
Analisis Regresi P (07.30-10.00)
3 SKS (D21)
Rancangan Percobaan P (07.30-10.00)
3 SKS (D25, D26)
Pancasila W (10.15-11.55)
2 SKS (D11)
Geometri A
W (10.15-11.55)
2 SKS II (D20,D16)
Geometri B
W (10.15-11.55)
2 SKS II (D16, D20)
Aplikasi Aljabar Linier
P (10.15-11.55)
2 SKS (D24)
Pengantar Aljabar
Abstrak A W (13.00-14.40) 2 SKS I (D1,D2)
Pengantar Aljabar Abstrak
B W (13.00-14.40) 2 SKS I (D2,D1)
Pengantar Matematika
Aktuaria dan Keuangan A W (13.00-15.30)
3 SKS (D20,D27)
Pengantar Matematika
Aktuaria dan Keuangan B W (13.00-15.30)
3 SKS (D27,D20)
Kamis
Bahasa Inggris
W (07.30-10.00)
3 SKS (D12)
Basis Data P (07.30-10.00)
3 SKS (D22)
Riset Operasi
W (07.30-09.10)
2 SKS (D28, D8)
Kapita Selekta
P (07.30-09.10)
2 SKS (D23)
Fisika A W (10.15-11.55)
2 SKS (D13)
Teori Graf W (10.15-11.55)
2 SKS (D2)
Persamaan Diferensial
Parsial A
W (10.15-11.55) 2 SKS II (D19, D5)
Persamaan Diferensial
Parsial B
W (10.15-11.55) 2 SKS II (D5, D19)
Fisika B W (13.00-14.40)
2 SKS (D13)
Kalkulus Multivariabel A
W (13.00-14.40) 2 SKS II (D16,D19)
Kalkulus Multivariabel B
W (13.00-14.40) 2 SKS II (D19, D16)
Rivalitas Matematika P (13.00-14.40)
2 SKS (D5, D23, D18, D2,
D24, D8)
Jumat
Pengenalan Teknologi
Informasi A W (07.30-09.10)
2 SKS (D14)
Pengantar Aljabar Abstrak
A W (07.30-09.10)
2 SKS II (D1,D2)
Pengantar Aljabar Abstrak
B W (07.30-09.10)
2 SKS II (D2,D1)
Metode Deret Waktu
P (07.30-10.00)
3 SKS (D26, D7)
Pengenalan Teknologi Informasi B
W (10.15-11.55)
2 SKS (D15)
Pemrograman Linier W(10.15-11.55)
2 SKS (D8)
Pengantar Matematika Komputasi A
W (10.15-11.55) 2 SKS (D24)
Pengantar Matematika Komputasi B
W (10.15-11.55) 2 SKS (D23)
Pengantar Analisis Real A
W (13.00-14.40) 2 SKS II (D18,D24)
Pengantar Analisis Real B W (13.00-14.40)
2 SKS II (D18,D22)
Kalimantan Barat dalam
Matematika A
W (13.00-15.30)
3 SKS (D5,D19,D8,D21)
Kalimantan Barat dalam
Matematika B
W (13.00-15.30)
3 SKS (D5,D19,D8,D21)
Semester 1 Semester 5 Semester 3 Semester 7
308 R. Wulandari, M. Kiftiah, M. Pasaribu
KESIMPULAN
Berdasarkan pembahasan dapat diambil kesimpulan yaitu penyusunan jadwal kuliah Prodi
Matematika FMIPA Untan semester ganjil dapat dikonstruksikan ke dalam pohon dimana dalam
penelusurannya menggunakan algoritma backtracking yang telah dimodifikasi serta berbasis DFS
(Depth-First Search) dan CSP (Constraint Satisfaction Problem). Berdasarkan studi kasus penelitian
ini diperoleh variabel sebanyak 75 dan domain sebanyak 50. Variabel yang digunakan tidak semuanya
karena ada beberapa variabel yang dieliminasi. Jadwal kuliah terbentuk ketika penelusuran pohon
menghasilkan lintasan dari akar ke daun. Jadwal kuliah yang diperoleh merupakan hasil yang optimal
dimana tidak ada bentrok yang terjadi antara mata kuliah dengan ruangan maupun waktu perkuliahan.
DAFTAR PUSTAKA
[1] Handayani D, Rosely E, Mayadewi RP. Aplikasi Penjadwalan Mata Pelajaran dengan
Pewarnaan Graf Menggunakan Algoritma Welch-Powell Studi Kasus: X MIPA SMA Negeri 8
Bandung. Bandung: E-Proceeding of Applied Science; 2016. 2(3): 933-935.
[2] Russell S, Norvig P. Artificial Intelligence a Modern Approach. New Jersey: Pearson
Education; 2003.
[3] Ginsberg ML. Dynamic Backtracking. Journal of Artificial Intelligence Research. 1993; 1:25-
46.
[4] Munir R. Matematika Diskrit. Bandung: Informatika Bandung; 2010.
[5] Wulandari DY. Representasi Pohon dari Graf Kordal Bipartisi (tesis). Medan: Universitas
Sumatera Utara; 2015.
[6] Rosmasari, Dengen N, Chandra F. Implementasi Algoritma Constraint Satisfaction Problems
Pada Sistem Penjadwalan Mata Kuliah. Jurnal Ilmu Pengetahuan dan Teknologi Komputer.
2018; 3(2):169-176.
[7] Abidin MZ, Wiranto, Setiadi H. Course Scheduling Using Dynamic-Order Backjumping (Case
Study: STIKA Madiun). ITSMART. 2018;7(2):101-107.
[8] Adiguna Y, Swanjaya D. Implementasi Algoritma Backtracking untuk Mencari Jalan
Keluar Labirin. Dalam: Sucipto, editor. Pengembangan Sains dan Teknologi Untuk
Pembangunan yang Berkelanjutan. Kediri: Prosiding SEMNAS INOTEK; 2020.
4(3):131-136.
[9] Rosen K. Discrete Mathematics and its Applications, Seventh Edition. New York: McGraw-
Hill; 2012.
[10] R. Ferdinal. Penerapan Algoritma Backtracking Dan Metode Constraint Satisfaction
Untuk Penjadwalan Matakuliah. Jurnal Ilmu Pengetahuan & Sistem Informasi. 2017.
3(1):1-8.
RETNO WULANDARI : Jurusan Matematika FMIPA UNTAN, Pontianak,
MARIATUL KIFTIAH : Jurusan Matematika FMIPA UNTAN, Pontianak,
MELIANA PASARIBU : Jurusan Matematika FMIPA UNTAN, Pontianak,