Penerapan Metode Constraint Programming Pada Penjadwalan Mata Pelajaran di MTs Khaulafaur Rasyidin
Maulana Basuki Ilham* 1 , Ikhwan Ruslianto 2 , Rahmi Hidayati 3 1,2,3 Jl. Prof. Dr. Hadari Nawawi, Bansir Laut, Pontianak Tenggara, Kota Pontianak, Kalimantan Barat 1,2,3 Jurusan Rekayasa Sistem Komputer, Universitas Tanjungpura, Pontianak e-mail: * 1 maulana_i@student.untan.ac.id , 2 ikhwanruslianto@siskom.untan.ac.id ,
3 rahmihidayati@siskom.untan.ac.id

## Abstrak
Penjadwalan mata pelajaran merupakan bagian yang terdapat pada institusi-institusi pendidikan.  Dalam  pembuatan  penjadwalan  mata  pelajaran  sekolah,  tidak  hanya  mata pelajaran sekolah yang harus dipertimbangkan, ketersediaan guru, kelas-kelas yang terlibat dan slot waktu yang tepat, semua harus dipertimbangkan agar jadwal tersusun rapi dan tidak tabrakan.  Untuk  menyelesaikan  masalah  penjadwalan,  diperlukan  ketelitian  yang  tinggi, apalagi jika jadwal dibuat secara manual. Berdasarkan permasalahan tersebut, diperlukan sistem yang dapat menyelesaikan permasalahan dengan akurat sehingga tidak ada jadwal yang saling tabrakan. Sistem penjadwalan mata pelajaran ini dibangun di MTs Khaulafaur Rasyidin dengan tujuan agar memudahkan proses penjadwalan yang masih dilakukan secara manual.  Sistem  yang  dibangun  berupa  aplikasi  penjadwalan  berbasis  web  menggunakan metode  constraint  programming . Pengujian  dilakukan  sebanyak  5  kali  untuk  menguji keakuratan  sistem.  Kelima  pengujian  dilakukan  dengan  cara  membuat  sistem  mengolah penjadwalan di dalam 5 jenis soft constraint yang berbeda. Hasil dari 5 kali pengujian yang telah dilakukan, sistem mampu menyelesaikan permasalahan penjadwalan dengan 164 slot tanpa menghasilkan jadwal yang  saling bentrok dengan akurasi rata-rata sistem terhadap semua constraint sebesar 85.81%.
Kata kunci— Penjadwalan, Constraint programming, Hard constraint, Soft constraint.

## Abstract
Scheduling  of  subjects  is  a  part  of  educational  institutions.  In  the  creation  of  school subject schedules, it is not only the school subjects that need to be considered; the availability of teachers, the involved classes, and the appropriate time slots must all be taken into account to  avoid  conflicting  schedules.  To  solve  scheduling  issues,  high  precision  is  required, especially when schedules are created manually. Based on these problems, a system is needed to  accurately  solve  these  issues  and  prevent  conflicting  schedules.  The  subject  scheduling system is built at MTs Khaulafaur Rasyidin with the aim of facilitating the scheduling process, which  is still  done  manually.  The  system  built  is  a  web-based  scheduling  application  using constraint  programming  methods.  Testing  is  conducted  five  times  to  assess  the  system's accuracy. The five tests involve making the system process scheduling in five different types of soft  constraints.  The  results  of  the  five  tests  show  that  the  system  can  solve  scheduling problems  with  164  slots  without  generating  conflicting  schedules,  with  an  average  system accuracy against all constraints of 85.81%.
Keywords— Scheduling, Constraint Programming, Hard constraint, Soft constraint

## 1. PENDAHULUAN
adwal  merupakan  pembagian  waktu  berdasarkan  rencana  pengurutan  kerja,  atau  rencana kegiatan dengan pembagian waktu pelaksanaan yang terperinci. Penjadwalan merupakan cara, proses, perbuatan menjadwalkan.  [1]. Penjadwalan digunakan sebagai tolak ukur dalam proses kegiatan  atau  aktivitas  tertentu  [2].  Tujuan  dari  penjadwalan  adalah  untuk memutuskan proses mana yang harus berjalan lebih dahulu, kapan harus dikerjakan dan seberapa lama waktu yang diperlukan untuk proses tersebut berlangsung [3]. Setiap jadwal, baik itu jadwal mata pelajaran, shift pekerjaan  ataupun  jadwal  lainnya,  memiliki  aturan  dan  batasan  yang  berbeda-beda.  Pada proses pembuatan jadwal, aturan dan batasan tersebut harus diperhatikan agar jadwal yang terbuat tidak  tabrakan.  Dalam  kasus  penjadwalan  mata  pelajaran,  hal  yang  perlu  dilakukan  adalah membagi  waktu  antara  guru  dengan  alokasi waktu  dan ruang  kelas  yang  berbeda.  Penyusunan jadwal  yang  dilakukan  secara  manual  adalah  pekerjaan  yang  memakan  waktu  lama  dan  butuh ketelitian agar menghasilkan jadwal yang optimal tanpa adanya masalah [4].
Pada  penjadwalan  mata  pelajaran  di  Pondok  Pesantren  Madrasah  Tsanawiyah  (MTs.) Khulafaur  Rasyidin,  proses  penjadwalan  pada  sekolah  terhitung  rumit  dikarenakan  sekolah terpisah  menjadi  dua  asrama,  yaitu  asrama  putra  dan  putri.  Kedua  asrama  tersebut  terletak  di bangunan  yang  berbeda  dan  masing-masing  asrama  terbagi  lagi  menjadi  beberapa  kelas  yang berbeda.  Selain  itu,  walaupun  proses  pembelajaran  antara  kedua  asrama  bersifat  terpisah, beberapa guru madrasah biasanya dijadwalkan untuk mengajar di kedua asrama tersebut. Jumlah mata pelajaran yang perlu dipelajari santri lumayan banyak, karena selain pelajaran umum, santri juga  harus mempelajari  pelajaran agama.  Dikarenakan  ketiga  hal  tersebut,  proses  penjadwalan mata pelajaran di sekolah tersebut terhitung rumit, batasan yang harus dipenuhi lumayan banyak jumlahnya sehingga proses pengalokasian variabel akan memakan waktu yang lama jika proses tersebut  dilakukan  secara  manual.  Pengalokasian  variabel  tersebut  merupakan  elemen  yang penting  dalam  penjadwalan,  dan  setiap  permasalahan  yang  terjadi  pada  proses  tersebut  akan membuat penjadwalan berjalan secara tidak optimal [5].
Terdapat beberapa penelitian yang membahas tentang penjadwalan dengan menggunakan berbagai  macam  metode  perhitungan,  termasuk  penelitian  yang  berfokuskan  pada  pembuatan program otomasi untuk mengimplementasikan metode perhitungan dan kecerdasan buatan dalam menyelesaikan  masalah  penjadwalan.  Diantara  metode-metode  tersebut  adalah constraint programming. Constraint programming merupakan metode pemrograman dengan menggunakan batasan-batasan yang terdapat dalam variabel komputasi dan bertujuan untuk mencari solusi yang memenuhi  batasan-batasan  tersebut  [6]. Constraint  programming adalah  pembelajaran  sistem komputasi  berdasarkan constraint atau  batasan.  Inti  dari constraint  programming adalah penyelesaian masalah dengan mendeklarasikan constraint yang harus dipenuhi oleh solusi. Bisa dikatakan constraint programming adalah pendekatan terhadap pemrograman yang memodelkan suatu  masalah  menjadi  himpunan  kebutuhan  yang  berurutan  diselesaikan  metode  umum  atau spesifik  untuk  domain  yang  digunakan  [7]. Constraint  Satisfaction  Problem (CSP)  adalah pendekatan  matematis  untuk  menemukan  obyek  yang  memenuhi constraint yang  sudah diterapkan. Constraint yang  dimaksud  adalah  nilai-nilai  yang  diperbolehkan  untuk  objek  [8].
Adapun komponen dari CSP yaitu variabel, domain, constraint , assignment dan solusi [9].
Salah  satu  penelitian  yang  menggunakan  metode constraint  programming adalah menggunakan  algoritma  programa  pembatas  pada  penjadwalan  job-shop  [10].  Penelitian  ini mengimplementasikan  metode constraint  programming dalam  menyelesaikan  masalah  pada penjadwalan Job-Shop, terutama untuk meminimalisir makespan dalam penjadwalan. Penelitian lain tentang penjadwalan dengan menggunakan pendekatan yang sama, yaitu untuk penjadwalan tempat  khutbah  Jum’at  [11].  Pada  penelitian  ini  juga  menggunakan constraint  programming
J
untuk  menyelesaikan  masalah  penjadwalan  tempat  khutbah.  Kedua  batasan  tersebut  diberikan prioritas  yang  berbeda, hard  constraint menjadi  prioritas  utama  dan soft  constraint diberikan prioritas yang lebih rendah. Setelah itu dilakukan empat jenis pengujian untuk melihat performa dari metode. Hasil performa dari pengujian tersebut adalah diterima dengan baik oleh 92% user , akurasi  penyusunan  jadwal  berdasarkan hard  constraint sebesar  95.59%  dan  kecepatan penyusunan  34.50  detik.  Penelitian  selanjutnya  yang  membahas  tentang  penjadwalan  adalah menerapkan  metode  algoritma  genetika jadwal  pelajaran  di  SMK  [12].  Penelitian  ini memiliki kasus yang mirip, namun masalah yang akan diselesaikan berbeda, dimana penelitian ini berfokus untuk meminimalisir human error pada proses penjadwalan.
Berdasarkan  masalah  yang  telah  dijelaskan  dan  penelitian-penelitian  yang  telah dilakukan  sebelumnya,  penelitian  ini  membangun  sistem  penjadwalan  mata  Pelajaran  sekolah dengan penerapan metode Constraint Programming. Metode constraint programming merupakan metode yang digunakan untuk menyelesaikan suatu permasalahan di dalam lingkup batasan yang telah  ditentukan.  Solusi  yang  didapatkan  metode  bergantung  dengan  batasan  yang  ditetapkan. Dikarenakan pada kasus penjadwalan mata pelajaran sekolah dibutuhkan suatu sistem yang dapat beradaptasi terhadap kebijakan-kebijakan yang telah ditetapkan oleh sekolah maupun pemerintah terkait  penjadwalan,  metode constraint  programming dapat  diterapkan  dalam  menyelesaikan permasalahan penjadwalan pada MTs. Khulafaur Rasyidin.

## 2. METODE PENELITIAN

## 2.1   Tahapan Penelitian
Proses  penelitian  ini  dibagi  menjadi  beberapa  tahapan,  yaitu  studi  literatur,  analisis kebutuhan,  perancangan  sistem,  implementasi,  pengujian  sistem  dan  penarikan  kesimpulan. Tahapan penelitian dapat dilihat pada Gambar 1.
110  Jurnal JUPITER, Vol. 16  No. 1 Bulan April Tahun 2024, Hal. 107 - 118

## 2.1.1. Studi Literatur
Dilakukan studi pustaka dan dokumentasi untuk memperoleh informasi yang berhubungan dengan penelitian. Literatur yang akan digunakan adalah buku, jurnal ilmiah, artikel, serta data yang berkaitan dengan metode constraint programming dan penjadwalan. Hasil dari proses ini digunakan sebagai dasar pengetahuan dari penelitian ini.

## 2.1.2. Analisis Kebutuhan
Dilakukan  analisis  terhadap  data  yang  telah  didapatkan.  Hasil  Analisa  yang  didapatkan berupa  batasan-batasan  ( constraint )  atau  aturan  pembuatan  mata  pelajaran  di  MTs.  Khulafaur Rasyidin. Constraint dalam  penelitian  ini  terbagi  menjadi  dua,  yaitu hard  constraint dan soft constraint. Hard  constraint adalah  syarat  yang  harus  dipenuhi  dalam  penyelesaian  persoalan, sedangkan soft constraint adalah syarat yang jika tidak dipenuhi maka tidak akan menyebabkan kesalahan fatal [13].

## 2.1.3. Perancangan Sistem
Pada tahap ini dilakukan perancangan sistem dengan membangun rancangan yang terhadap perangkat lunak dan keras yang digunakan dalam penelitian.

## 2.1.4. Implementasi
Tahap  ini  merupakan  tahap  pembangunan  dan  implementasi  dari  sistem  yang  telah dirancang sebelumnya.

## 2.1.5. Pengujian
Setelah  sistem  berhasil  diimplementasikan,  dilakukan  pengujian  sistem  dengan  tujuan untuk memastikan apakah sistem yang dibangun bekerja sesuai dengan tujuan yang diharapkan. Pengujian  dilakukan  dengan  cara  melakukan  proses  penjadwalan  yang  dilakukan  oleh  sistem berdasarkan  data  dan  batasan  yang  telah  dimasukkan.  Dilakukan  lima  kali  pengujian  dengan menggunakan lima batasan soft constraint yang berbeda.
Setelah  pengujian  sistem  selesai,  dilakukan  pengujian  akurasi.  Pengujian  akurasi  jadwal dilakukan  dengan  membandingkan  jumlah  jadwal  yang  memenuhi hard  constraint dan soft constraint yang  ditetapkan  dengan  jumlah  slot  penjadwalan  yang  tersedia.  Jumlah  slot penjadwalan yang tersedia di setiap harinya dari hari Senin sampai Sabtu sebanyak 7 slot, khusus hari Jum’at hanya tersedia 6 slot saja. Satu kelas dijadwalkan untuk mengikuti kegiatan belajar mengajar  selama  6  hari  per-minggu  dari  Senin  hingga  Sabtu,  dengan  kata  lain,  setiap  kelas memiliki slot penjadwalan per-minggu sebanyak 41 slot. Karena pengujian dilakukan terhadap 4 kelas,  didapatkan  jumlah  slot  penjadwalan  sebesar  164  slot.  Jumlah  slot  tersebut  dimasukkan dalam Persamaan 1 [14].
𝑆𝑙𝑜𝑡 𝑦𝑎𝑛𝑔 𝑡𝑒𝑟𝑖𝑠𝑖 𝑆𝑙𝑜𝑡 𝐾𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 * 100% = Akurasi Program
(1)
Setelah  pengujian  dilakukan  beberapa  kali,  dicari  akurasi  program  rata-rata.  Pencarian akurasi rata-rata berfungsi sebagai nilai perwakilan dari sekian banyak percobaan yang dilakukan. Pencarian rata-rata dicari dengan menggunakan Persamaan 2 [15].
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 1+𝑎𝑘𝑢𝑟𝑎𝑠𝑖 2+⋯+𝑎𝑘𝑢𝑟𝑎𝑠𝑖 𝑛 𝑛
= 𝑛𝑖𝑙𝑎𝑖 𝑟𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎
(2)
Keterangan: n = jumlah percobaan yang dilakukan

## 2.2 Constraint Programming
Constraint programming adalah pembelajaran sistem komputasi berdasarkan constraint . Ide  utama  dari constraint  programming adalah  menyelesaikan  masalah  dengan  menyatakan constraint (kondisi,  sifat,  kebutuhan)  yang  harus  dipenuhi  oleh  solusi.  Dengan    kata    lain, constraint  programming adalah  pendekatan  alternatif  terhadap  pemrograman  yang  berisikan permodelan suatu masalah sebagai himpunan kebutuhan ( constraint ) yang berurutan diselesaikan metode  umum  ataupun  spesifik  untuk  domain  [9].  Cara  kerja  metode constraint  programming dapat dilihat di Gambar 2.
Gambar 2. Cara Kerja Metode Constraint Programming
Batasan  yang  telah  didefinisikan  tadi  akan  dijadikan  sebagai  patokan  pertama  dalam penyelesaian masalah. Setelah itu, program akan mencoba untuk menghasilkan suatu solusi yang dapat  memenuhi  batasan  yang  telah  ditetapkan  tersebut.  Setelah  solusi  ditemukan,  dilakukan pengecekan, apakah solusi tersebut dapat menyelesaikan masalah atau perlu dilakukan modifikasi batasan,  baik  itu  pengurangan  atau  penambahan  batasan  sampai  masalah  terselesaikan.  Jika batasan perlu dimodifikasi, batasan yang baru akan dijadikan  patokan baru dalam penyelesaian masalah dan proses pencarian solusi akan diulangi kembali sampai ditemukan solusi yang dapat menyelesaikan masalah [9].
3. HASIL DAN PEMBAHASAN
Pada  penelitian  ini,  untuk  melakukan  penjadwalan  mata  pelajaran  di  MTs.  Khulafaur Rasyidin terlebih dahulu menentukan batasan-batasan yang akan digunakan dalam menentukan penjadwalan. Constraint yang  digunakan  pada  penelitian  ini  terbagi  menjadi  dua,  yaitu hard constraint dan soft  constraint . Hard  constraint adalah  syarat  yang  harus  dipenuhi  dalam penyelesaian  persoalan,  sedangkan soft  constraint adalah  syarat yang  kalaupun  tidak  dipenuhi tidak akan menyebabkan kesalahan fatal. Adapun batasan hard constraint dan soft constraint yang digunakan dapat dilihat pada Tabel 1.
Tabel 1. Hard constraint dan soft constraint yang digunakan No. Hard Constraint Soft Constraint 1. Hari belajar mengajar adalah Senin sampai Sabtu. Mata pelajaran yang ada dujian nasional tidak dijadwalkan secara berurutan dalam 1 hari.
2. Kegiatan belajar mengajar dimulai pada pukul 09.15 sampai  pukul  14.50.  Istirahat  dimulai  pada  pukul 11.55  sampai  dengan  12.50.  Pada  hari  Jum’at, istirahat  dimulai  dari  pukul  10.35  sampai  dengan pukul 12.50 Mata  pelajaran  Penjasorkes dijadwalkan  sebelum  istirahat sholat zuhur.
No. Hard Constraint Soft Constraint 3. Guru tidak dijadwalkan di waktu yang sama dan kelas yang berbeda. Mata  pelajaran  Qur’an  Hadits dijadwalkan di hari Kamis atau Jum’at 4. Setiap  hari,  setiap  kelas  belajar  selama  7  jam pelajaran,  kecuali  hari  Jum’at,  setiap  kelas  belajar selama 6 jam pelajaran saja.
5. Mata  pelajaran  yang  diujian-nasionalkan  memiliki bobot  4  jam  pelajaran  per  minggu,  bahasa  arab memiliki  bobot  3  jam  pelajaran  per  minggu, bimbingan konseling memiliki bobot 1 jam pelajaran per  minggu  dan  mata  pelajaran  lainnya  memiliki bobot 2 jam pelajaran per minggu.
6. Mata pelajaran dalam satu hari di satu kelas maksimal berjalan 2 jam secara berurutan.
Pengujian  dilakukan  dengan  cara  melakukan  proses  penjadwalan  yang  dilakukan  oleh sistem berdasarkan data dan batasan yang telah dimasukkan. Pengujian dilakukan sebanyak lima kali dengan menggunakan lima batasan soft constraint yang berbeda, yaitu:
1. Pengujian pertama dengan tidak menggunakan soft constraint sama sekali.
2. Pengujian kedua menggunakan soft constraint mata pelajaran yang diujian nasionalkan tidak dijadwalkan secara berurutan dalam 1 hari.
3. Pengujian ketiga menggunakan soft constraint mata pelajaran Penjasorkes dijadwalkan sebelum istirahat sholat zuhur.
4. Pengujian  keempat  menggunakan soft  constraint mata  pelajaran  Qur’an  Hadits dijadwalkan di hari Kamis atau Jum’at.
5. Pengujian  kelima  menggunakan  gabungan  dari soft  constraint kedua  sampai  dengan keempat.
Pengujian dilakukan dengan cara memasukkan semua data yang relevan ke dalam aplikasi terlebih  dahulu,  yaitu  data  guru,  mata  pelajaran,  slot  penjadwalan  yang  dibutuhkan, hard constraint dan soft constraint dari  setiap  pengujian.  Setelah  data  dan constraint dimasukkan, variabel akan ditetapkan. Setelah itu dilakukan pengecekan variabel terhadap constraint yang ada. Jika variabel tidak memenuhi constraint , pengecekan akan dilakukan kembali terhadap variabel baru, jika variabel memenuhi constraint , variabel akan dimasukkan ke dalam slot penjadwalan kosong. Hal ini dilakukan sampai semua variabel berhasil dibandingkan dengan constraint yang ada. Alur kerja metode constraint programming dalam aplikasi dapat dilihat pada Gambar 3.
Gambar 3. Alur Kerja Metode Constraint Programming dalam Aplikasi
Data  dimasukkan  melalui  menu  yang  disediakan  pada  aplikasi.  Penetapan  variabel  dan pengecekan constraint dilakukan  langsung  oleh  program.  Tampilan  antarmuka  aplikasi  dapat dilihat pada Gambar 4.
Gambar 4. Tampilan Antarmuka Aplikasi
Setelah semua data berhasil dimasukkan, data dapat dilihat pada antarmuka penjadwalan. Data yang dapat dilihat adalah data nama guru, id guru, kelas, mata pelajaran yang diampu oleh guru serta jam mengajar guru. Data yang telah dimasukkan dapat dilihat pada Gambar 5.
Gambar 5. Data Jadwal
Selain  menampilkan  data,  antarmuka  penjadwalan  juga  menampilkan  slot  penjadwalan kosong yang telah dibuat. Slot kosong ini dibuat secara otomatis oleh aplikasi menggunakan data kelas, hari dan slot waktu yang telah dimasukkan sebelumnya. Tampilan slot penjadwalan kosong dapat dilihat pada Gambar 6.
Gambar 6. Tampilan Slot Penjadwalan Kosong
Hard constraint yang digunakan dalam penelitian merujuk ke slot penjadwalan itu sendiri, dan  juga  beberapa  aturan  yang  sudah  di  program  ke  dalam  aplikasi.  Oleh  karena  itu, hard constraint  tidak  perlu  didefinisikan  secara  manual.  Sedangkan  untuk soft constraint,  perlu dideklarasikan  terlebih  dahulu  dengan  cara  memasukkan constraint -nya  langsung  ke  dalam penjadawalan.  Untuk  memasukkan soft  constraint ke  dalam  penjadwalan,  data  langsung dimasukkan ke dalam slot penjadwalan kosong sesuai dengan kebutuhan pengujian. Setelah soft constraint dimasukkan, penjadwalan dapat dilakukan, dan aplikasi akan memasukkan data yang belum dimasukkan ke dalam slot penjadwalan secara otomatis. Hasil penjadwalan dalam aplikasi dapat dilihat pada Gambar 7.
Gambar 7. Hasil Penjadwalan dalam Aplikasi

## 3.1. Pengujian Pertama
Pengujian sistem yang pertama adalah dengan tidak menggunakan soft constraint, dengan kata  lain,  pengujian  hanya  dilakukan  terhadap hard  constraint yang  telah  ditetapkan.  Setelah dilakukan pengujian, dari 164 slot yang tersedia sebanyak 146 slot jadwal yang terisi.

## 3.2. Pengujian Kedua
Pengujian kedua adalah dengan dimasukkan soft constraint secara manual pada antarmuka penjadwalan  dan  hasil  penjadwalan,  mengikuti constraint yang  telah  ditetapkan,  yaitu  mata pelajaran  yang  diujian-nasionalkan  tidak  dijadwalkan  secara  berurutan  dalam  satu  hari.  Untuk memasukkan constraint ,  perlu  didefinisikan  variabel  yang  terlibat  terlebih  dahulu.  Dalam pengujian ini, variabel yang terlibat adalah mata pelajaran yang diujian nasionalkan, yaitu mata pelajaran  Bahasa  Indonesia,  Matematika,  Bahasa  Inggris,  IPA  dan  IPS.  Setelah  dilakukan pengujian  dengan  menggunakan  80 constraint ,  dari  164  slot  yang  tersedia  sebanyak  128  slot jadwal yang terisi.

## 3.3. Pengujian ketiga
Pada  pengujian  ketiga,  dimasukkan soft  constraint secara  manual  pada  antarmuka penjadwalan dan hasil penjadwalan, mengikuti constraint yang telah ditetapkan, mata pelajaran Penjasorkes  dijadwalkan  sebelum  istirahat  sholat  zuhur.  Untuk  memasukkan constraint ,  perlu didefinisikan variabel yang terlibat terlebih dahulu. Dalam pengujian ini, variabel yang terlibat adalah  mata  pelajaran  Penjasorkes.  Setelah  dilakukan  pengujian  dengan  menggunakan  8 constraint , dari 164 slot yang tersedia sebanyak 148 slot jadwal yang terisi.

## 3.4. Pengujian keempat
Pada  pengujian  keempat,  dimasukkan soft  constraint secara  manual  pada  antarmuka penjadwalan  dan  hasil  penjadwalan,  mengikuti constraint yang  telah  ditetapkan,  yaitu  mata pelajaran Qur’an Hadits dijadwalkan di hari Kamis atau Jum’at. Untuk memasukkan constraint , perlu  didefinisikan  variabel  yang  terlibat  terlebih  dahulu.  Dalam  pengujian  ini,  variabel  yang terlibat adalah mata pelajaran Qur’an Hadits. Setelah dilakukan pengujian dengan menggunakan 8 constraint , dari 164 slot yang tersedia sebanyak 148 slot jadwal yang terisi.
116  Jurnal JUPITER, Vol. 16  No. 1 Bulan April Tahun 2024, Hal. 107 - 118

## 3.5. Pengujian kelima
Pada  pengujian  kelima,  dimasukkan soft  constraint secara  manual  pada  antarmuka penjadwalan dan hasil penjadwalan, mengikuti constraint yang telah ditetapkan, yaitu gabungan antara constraint yang digunakan pada pengujian pertama, kedua dan ketiga, yaitu mata pelajaran yang  diujian  nasionalkan  tidak  dijadwalkan  secara  berurutan  dalam  satu  hari,  mata  pelajaran Penjasorkes  dijadwalkan  sebelum  istirahat  sholat  zuhur  dan  mata  pelajaran  Qur’an  Hadits dijadwalkan di hari Kamis atau Jum’at. Setelah dilakukan pengujian dengan menggunakan 96 constraint , dari 164 slot yang tersedia sebanyak 130 slot jadwal yang terisi.

## 3.6. Perhitungan akurasi dan pembahasan
Setelah dilakukan lima kali pengujian, untuk mengetahui akurasi dari sistem yang dibuat dalam menentukan penjadwalan dilakukan pengujian akurasi dengan menggunakan Persamaan 1, kemudian  menghitung  akurasi  rata-rata  dari  kelima  pengujian  yang  telah  dilakukan  dengan menggunakan  Persamaan  2.  Hasil  akurasi  dari  setiap  pengujian  dan  akurasi  rata-rata  yang dihitung dapat dilihat pada Tabel 2.
Tabel 2. Hasil Pengujian dan Pencarian Akurasi Rata-Rata
Pengujian Ke- Constraint yang dimasukkan Jumlah slot yang terisi Jumlah slot keseluruhan Akurasi (%) 1 0 146 164 89.02 2 80 128 164 78.04 3 8 148 164 90.24 4 8 148 164 90.24 5 96 130 164 79.26 Rata-Rata Akurasi 85.36
Dari hasil pengujian yang telah dilakukan, di peroleh rata-rata akurasi sebesar 85.36%. Nilai akurasi  sistem  berdasarkan  jumlah  slot constraint yang  dimasukkan  mempengaruhi  hasil pengujian. Pada Tabel 2, setiap pengujian yang memiliki constraint yang lebih sedikit memiliki akurasi  yang lebih  besar.  Selain  itu,  pada  pengujian  ketiga,  keempat  dan  kelima,  diberlakukan peletakan constraint lebih  diperhitungkan,  sedangkan  pada  pengujian  kedua,  slot constraint dimasukkan secara acak. Hal ini yang menyebabkan besar akurasi pengujian kelima lebih besar dibandingkan  pengujian  kedua  dan  pengujian  ketiga  dan  keempat  lebih  besar  dari  pengujian pertama.
Hasil akurasi rata-rata yang didapatkan tidak bernilai 100% karena algoritma alokasi yang digunakan dalam penelitian hanya bisa melakukan alokasi variabel secara maju. Dengan kata lain, ketika algoritma alokasi tidak menemukan satu domain yang dapat dialokasikan ke dalam suatu slot kosong, metode akan membiarkan slot tersebut kosong dan maju ke slot selanjutnya untuk mengisi  slot  tersebut  dan  metode  tidak  akan  melakukan  pengecekan  ulang  terhadap  yang  slot dibiarkan  kosong  tersebut.  Lalu,  algoritma  alokasi  juga  tidak  bisa  mengecek  kembali  variabel yang telah dialokasikan ke dalam penjadwalan dan mengganti variabel tersebut menjadi variabel lain  yang  masih  merupakan  bagian  dari  domain.  Kedua  kelemahan  itu  menyebabkan  ketidak- mampuan metode untuk mengisi semua slot penjadwalan yang tersedia sehingga menyebabkan akurasi  metode  tidak  100%.  Ke  depannya,  diperlukan  metode  tambahan  untuk  pengalokasian variabel agar akurasi metode dapat bertambah.

## 4. KESIMPULAN
Berdasarkan hasil pengujian aplikasi dapat diambil kesimpulan sebagai berikut:
1. Metode constraint programming menyelesaikan  masalah  penjadwalan  mata  pelajaran sekolah  dengan  cara  membandingkan input yang  dimasukkan  dengan  batasan  yang  telah ditentukan. Variabel yang telah memenuhi batasan dikelompokkan menjadi suatu himpunan
baru  yang  disebut  domain  dan  dialokasikan  ke  dalam  slot  penjadwalan  kosong  yang berjumlah 164 slot.
2. Keakuratan solusi metode constraint programming didapatkan setelah dilakukan pengujian sebanyak 5 kali. Dari hasil akurasi kelima pengujian tersebut, dicari nilai rata-rata akurasi sebagai nilai representasi. Nilai rata-rata yang didapatkan sebesar 85.36%.
3. Besar akurasi dari metode bergantung kepada cara alokasi yang dilakukan. Ketika alokasi dilakukan secara manual, proses alokasi yang lebih memerhatikan slot kosong yang terjepit memiliki  hasil  akurasi  yang  lebih  tinggi  dibandingkan  proses  alokasi  yang  tidak memerhatikan slot kosong yang terjepit. Pada alokasi yang dilakukan secara otomatis, untuk memaksimalkan  akurasi  metode,  diperlukan  algoritma  yang  dapat  melakukan  pengecekan ulang terhadap slot yang telah diproses sebelumnya.

## 5. SARAN
Saran yang dapat diberikan untuk pengembangan lebih lanjut terhadap penelitian ini adalah penambahan metode optimasi yang berbeda untuk pada proses alokasi variabel-variabel yang ada ke  dalam  slot  penjadwalan.  Disarankan  digunakan  metode-metode  optimasi  yang  dapat menambah akurasi dari penelitian.

## DAFTAR PUSTAKA
[1]  Badan Pengembangan dan Pembinaan Bahasa, “KBBI”, https://kbbi.web.id/jadwal, diakses tanggal 11 Desember 2023.
[2]  Sugeha, Ilham Hidayat, “Optimasi Penjadwalan Menggunakan Metode Algoritma Genetika Pada Proyek Rehabilitasi Puskesmas Minanga,” Jurnal Sipil Statik , vol. 7, no. 12, pp. 1669- 1680, 2019.
[3]  Putri, Raissa Amanda, “Aplikasi Algoritma Penjadwalan Sistem Operasi,” Jurnal Teknologi Informasi , vol. 5, no. 1 pp.98-102, 2021
[4]  L.  Luthfina,  “Implementasi  Algoritma  Artificial  Bee  Colony  (ABC)  Untuk  Penjadwalan Mata Pelajaran Sekolah,” 2018.
[5]  Risqiwahid, Muhammad, Vivine Nurcahyawati, Achmad Arrosyidi, “Optimasi Penjadwalan Mata Pelajaran Menggunakan Constraint Programming,” Jurnal Informatika Teknologi dan Informasi, vol. 1, no. 2, pp. 118-124, 2023.
[6]  F. Rossi, P. Van Beek, and T. Walsh Elsevier, Handbook of Constraint Programming . 2016.
[7]  W.  A.  Putri,  “Bulletin  of  Data  Science  Sistem  Pakar  Mendiagnosa  Penyakit  Pneumonia Menggunakan Metode Constraint Satisfaction Problem (CSP),” Media Online) , vol. 1, no. 1, pp. 9–13, 2021, [Online]. Available: https://ejurnal.seminar-id.com/index.php/bulletinds
[8]  R. Rakhman Mustafa, Y. Azhar, and N. Hayatin, “Pembuatan Jadwal Shift Perawat Dengan Menggunakan  Metode  Constraint  Satisfaction,” REPOSITOR ,  vol.  2,  no.  2,  pp.  239–248, 2020.
[9]  Purnawan,  Jimmy,  Hapnes  Toba,  “Layanan  Web  Kalender  Fakultas  Teknologi  Informasi Universitas  Kristen  Maranatha  dengan  Constraint  Satisfaction  Problem,” Jurnal  Strategi , vol. 2, no. 1, pp. 120-132, 2020.
[10] B. Kurniawan, “Pengembangan algoritma programa pembatas untuk penjadwalan job-shop,” Performa:  Media  Ilmiah  Teknik  Industri ,  vol.  20,  no.  1,  p.  15,  Apr.  2021,  doi: 10.20961/performa.20.1.44302.
[11] Nuraisyah, I. Permana, and F. N. Salisah, “Sistem Penjadwalan Otomatis Tempat Khutbah Jum’at Mubaligh,” Jurnal  Ilmiah  Rekayasa  dan  Manajemen  Sistem  Informasi ,  vol.  3,  pp. 59–64, 2017.
[12] Yuliana and V. N. Alaedya, “Implementasi Metode Algoritma Genetika Untuk Menentukan Penjadwalan Pelajaran Di SMKN 1,” Jurnal Ilmu Komputer dan Informatika , vol. 4, pp. 67– 74, 2021.
118  Jurnal JUPITER, Vol. 16  No. 1 Bulan April Tahun 2024, Hal. 107 - 118
[13] Amanda,  Jefri,  “Sistem  Pakar  Mendiagnosa  Penyakit  Lupus  Menggunakan  Metode Constraint  Satisfaction  Problem  (CSP),” Resolusi:Rekayasa  Teknik  Informatika  dan Informasi , vol.1, no. 5, pp. 312-318, 2021.
[14] A.  Fitri,  I.  Permana,  A.  Marsal,  J.  S.  Informasi,  F.  Sains,  and  D.  Teknologi,  “Penerapan Constraint  Satisfaction  Problem  pada  metode  Priority  Schedulinguntuk  Penjadwalan Khutbah Jum’at para Mubaligh di IKMI Pekanbaru,” Jurnal Sains, Teknologi dan Industri , vol. 13, no. 2, pp. 190–194, 2016.
[15] F. Puspasari, F. Fatimatuzzahra, L. A. Didik, and B. Bahtiar, “Analisis Periodisitas Gempa Bumi  Diwilayah  Kabupaten  Lombok  Barat  Dengan  Menggunakan  Metode  Statistik  Dan Transformasi Wavelet,” Jurnal Fisika dan Aplikasinya , vol. 16, no. 1, p. 33, Feb. 2020, doi: 10.12962/j24604682.v16i1.5717.