Top Banner
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

Penjadwalan Mata Kuliah dengan Modifikasi Algoritma Runut ...

May 06, 2023

Download

Documents

Khang Minh
Welcome message from author
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
Page 1: Penjadwalan Mata Kuliah dengan Modifikasi Algoritma Runut ...

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-

Page 2: Penjadwalan Mata Kuliah dengan Modifikasi Algoritma Runut ...

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

Page 3: Penjadwalan Mata Kuliah dengan Modifikasi Algoritma Runut ...

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.

Page 4: Penjadwalan Mata Kuliah dengan Modifikasi Algoritma Runut ...

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

Page 5: Penjadwalan Mata Kuliah dengan Modifikasi Algoritma Runut ...

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

Page 6: Penjadwalan Mata Kuliah dengan Modifikasi Algoritma Runut ...

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

Page 7: Penjadwalan Mata Kuliah dengan Modifikasi Algoritma Runut ...

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

Page 8: Penjadwalan Mata Kuliah dengan Modifikasi Algoritma Runut ...

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

Page 9: Penjadwalan Mata Kuliah dengan Modifikasi Algoritma Runut ...

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

Page 10: Penjadwalan Mata Kuliah dengan Modifikasi Algoritma Runut ...

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,

[email protected]

MARIATUL KIFTIAH : Jurusan Matematika FMIPA UNTAN, Pontianak,

[email protected]

MELIANA PASARIBU : Jurusan Matematika FMIPA UNTAN, Pontianak,

[email protected]