## PERANCANGAN PERANGKAT LUNAK PENJADWALAN MATA KULIAH DI FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO MADURA

## Vivi Tri Widyaningrum, Sri Wahyuni
Program Studi Mekatronika, Fakultas Teknik Universitas Trunojoyo Madura Indonesia vivie_7812@yahoo.com

## ABSTRACT
Scheduling of the courses is a very complex problem and requires precision, and should be based on  rules  (constraints)  scheduling  applies  to  generate  an  optimal  schedule.  UTM's  Faculty  of Engineering is currently in charge of six courses and the even semester FY 2014-2015 has begun implementing a centralized scheduling system in a faculty that is directly under the direction of Assistant Dean I. In a centralized scheduling system was introduced lecturers sharing, which means that  a  professor  can  teach  in  several  different  study  programs.  This  leads  to  the  possibility  of conflicting lecture schedules so great that in this scheduling need to be checked on a schedule of all courses  of  study  in  order  to  schedule  formed  in  accordance  with  the  rules  (constraints)  applies. Currently  the  process  of  scheduling  at  the  Faculty  of  Engineering  UTM  still  using  traditional methods, namely the preparation of manually so that the design of the scheduling of courses with the  method  of  simulated  annealing  (SA)  this  needs  to  be  made,  in  order  to  begin  to  be  made centralized scheduling can be made more optimal. In addition, the scheduling will be more easily modified if there are changes to the schedule of lectures.
Keywords : Scheduling, courses, and Simulated Annealing, UTM

## PENDAHULUAN
Penjadwalan  mata  kuliah  merupakan suatu  masalah  yang  sangat  kompleks  dan membutuhkan  ketelitian,  serta  harus berdasarkan aturan ( constraint ) penjadwalan yang berlaku untuk
menghasilkan  suatu  jadwal  yang  optimal. Dalam  suatu  universitas  penjadwalan  mata kuliah  tentunya  akan  melibatkan  banyak komponen,  diantaranya  adalah  mahasiswa, dosen,  mata  kuliah  yang  akan  dibuat jadwalnya (berdasarkan
semester ganjil/genap),  ruang  yang  tersedia,  dan waktu  perkuliahan.  Apabila  pengalokasian dari  komponen-komponen  ini  tidak dilakukan  dengan  baik,  maka  pembentukan jadwal akan kurang optimal.
Pada penelitian sebelumnya (Widyaningrum,  2013), telah  dilakukan perancangan  penjadwalan  matakuliah  di jurusan  Teknik  Informatika  Universitas Trunojoyo Madura (UTM). Dengan perancangan  penjadwalan  ini  masalah pembuatan  jadwal  mata  kuliah  dapat
diselesaikan dengan cepat dan mudah, serta dapat dihasilkan suatu jadwal yang optimal.
Kemudian  pada  penelitian  berikutnya (Widyaningrum,  2014),  telah  dilakukan aplikasi  penjadwalan  matakuliah  di  jurusan Teknik  Informatika  UTM.  Dalam  penelitian ini diterapkan algoritma Simulated Annealing (SA) sehingga hasil penjadwalan mata kuliah dapat  dioptimalkan  karena  memungkinkan diterimanya solusi yang lebih buruk sehingga sistem  dapat  terhindar  dari  perangkap minimum  lokal  (namun  solusi  terbaik  yang pernah dicapai selalu dicatat).
Fakultas  Teknik  UTM  saat  ini membawahi  enam  program  studi  yaitu  S1 Teknik  Informatika,  S1  Teknik  Industri,  S1 Teknik  Elektro,  D3  Mekatronika,  D3 Manajemen  Informatika,  serta  D3  Teknik Multimedia  dan  Jaringan. Pada  tahun-tahun sebelumnya Fakultas Teknik dalam penjadwalan  mata  kuliahnya  dibuat  oleh masing-masing  program  studi  di  bawah arahan  Kepala  Program  Studi.  Akan  tetapi, mulai  semester  Genap  TA  2014-2015 Fakultas  Teknik  menerapkan  sistem
penjadwalan yang terpusat di fakultas yaitu langsung di bawah arahan Pembantu Dekan I.  Dalam  proses  penjadwalan  ini  masih menggunakan metode  tradisional  yaitu penyusunan  secara  manual  sehingga menemui  banyak  kendala,  diantaranya adalah terjadinya bentrok jadwal perkuliahan.
Berdasarkan  beberapa  latar  belakang yang  ada  maka  peneliti  tertarik  untuk mengembangkan  penjadwalan  mata  kuliah di lingkup yang lebih luas dari jurusan Teknik Informatika  yaitu  Fakultas  Teknik  UTM dengan tetap menggunakan metode SA. Pada penelitian ini peneliti membuat perancangan penjadwalan  sehingga  pada  saat  proses membuat  aplikasinya  nanti  penjadwalan yang  mulai  dibuat  terpusat  dapat  dibuat lebih  optimal.  Selain  itu,  penjadwalannya juga akan menjadi lebih mudah dimodifikasi jika ada perubahan jadwal perkuliahan.

## TINJAUAN PUSTAKA
Metode Simulated Annealing (SA) Simulated Annealing (SA) mensimulasikan  proses annealing pada pembuatan  materi  yang  terdiri  dari  butir kristal  ( glassy )  atau  logam.  Tujuan  dari proses  ini  adalah  menghasilkan  struktur kristal  yang  baik  dengan  menggunakan energi  seminimal  mungkin.  Jika  kita memanaskan  suatu  materi  keras  hingga mencair  dan  kemudian  mendinginkannya, maka  sifat  struktur  dari  materi  tersebut bergantung  pada  tingkat  pendinginan.  Jika materi  cair  didinginkan  secara  berlahan, maka  akan  dihasilkan  kristal-kristal  yang terbentuk  tidak  akan  sempurna.  Algoritma yang  diusulkan  Metropolis  mensimulasikan materi  sebagai  suatu  sistem  dari  partikel- partikel. Algoritma tersebut mensimulasikan proses  pendinginan  yang  secara  bertahap menurunkan suhu sistem hingga konvergen pada  keadaan  beku  dan  stabil  (Suyanto, 2010).
Algoritma Simulated Annealing (SA) Algoritma  SA  melibatkan  parameter kontrol  yang  dinamakan  temperatur.  Nilai temperatur akan berkurang nilainya selama proses optimasi. Level energi sistem diwakili
oleh  nilai  fungsi  objektif.  Skenario pendinginan  dianalogikan  dengan  prosedur search yang menggantikan satu state dengan state lainnya untuk memperbaiki nilai fungsi objektif.  Analogi  ini  cocok  untuk  masalah optimasi kombinatorial dimana jumlah state terbatas  namun  terlalu  besar  untuk ditelusuri satu persatu.
Algoritma SA bertujuan untuk
meminimalkan  sebuah  fungsi  objektif  atau fungsi  energi.  Pada  tahap  pertama didefinisikan  sebuah  solusi  awal,  lalu  dari solusi  awal  ini  dibuat  sebuah  solusi  baru, yang  kemudian  dibandingkan  nilai  fungsi objektifnya  dengan  solusi  awal.  Jika  solusi baru  ini  lebih  baik,  ia  akan  diterima (Panggabean 2) .
Algoritma SA adalah sebagai berikut:
1. Pilih  sebuah state awal  secara acak  dan  tetapkan  temperatur awal. 2. Bangkitkan sebuah state baru dari kumpulan  sampel  pada  temperatur
T.
3. Hitung energi state yang baru. 4. Bandingkan perbedaan antara energi state yang  baru  dengan state lama.  Jika  energi state baru  lebih  kecil  dari state sebelumnya, state baru diterima, jika  tidak state baru  diterima hanya  jika  ia  memenuhi  sebuah probabilitas tertentu. 5. Turunkan temperatur. 6. Jika jumlah iterasi telah mencapai  maksimum  maka  selesai. Jika tidak ulangi dari langkah 2.
State awal  dari  sistem  dapat  dipilih secara  random  atau  dengan  menggunakan metode  heuristik  tertentu. Nilai  temperatur awal  (T 0 )  harus  cukup  besar  supaya beberapa state awal  yang  dipilih  dapat diterima,  karena  probabilitas  penerimaan berkurang  seiring  dengan  menurunnya temperatur  (T).  Salah  satu  fungsi probabilitas penerimaan yang umum adalah seperti persamaan 1.
(1)
di  mana dapat  dihitung  dengan rumus pada persamaan 2.

## .. (2)
dan T adalah temperatur.

## METODOLOGI PENELITIAN
Pada penelitian ini ada beberapa tahapan yang dilakukan. Tahap pertama adalah studi literatur,  yaitu  mempelajari  literatur- literatur yang berkaitan dengan penjadwalan mata kuliah.
Tahap  kedua  adalah  pengumpulan  data,
yaitu dilakukan dengan melakukan wawancara  dan  observasi.  Wawancara dilakukan  kepada  pihak-pihak  yang  terlibat langsung  dalam  penjadwalan  yaitu  Ketua Program  Studi  dan  juga  Pembantu  Dekan  I Fakultas  Teknik  UTM.  Kemudian  untuk observasi dilakukan dengan cara melakukan peninjauan  langsung  dengan  objek  yang diteliti.
Tahap ketiga adalah perancangan sistem yaitu dilakukan dengan membuat perancangan  data  dan  perancangan  proses penjadwalan.  Perancangan  data  digunakan untuk  menggambarkan  data-data  apa  saja yang  digunakan  dalam  perancangan penjadwalan  mata  kuliah  ini.  Sedangkan perancangan proses penjadwalan digunakan untuk  menggambarkan  sejumlah  proses terstruktur dalam sistem.
Kemudian  tahap  terakhir  adalah melakukan analisa untuk memperoleh suatu kesimpulan  tentang  baik  atau  tidaknya perancangan yang dibuat.

## HASIL DAN PEMBAHASAN
Perancangan  sistem  penjadwalan  mata kuliah  dibuat  mengikuti  aturan  ( constraint ) penjadwalan yang berlaku di Fakultas Teknik UTM.  Proses  penjadwalan  menerapkan sistem sharing dosen,  yang  artinya  seorang dosen dapat mengajar di beberapa program studi yang berbeda.

## Faktor-faktor yang Mempengaruhi Jadwal
Ada  beberapa  faktor  yang  berpengaruh dalam  pembentukan  jadwal,  diantaranya adalah:
1. Ruang Dalam  penjadwalan  ini,  ruang  sudah  dibagi untuk  masing-masing  program  studi  yang ada  di  Fakultas  Teknik  UTM.  Diasumsikan jadwal  tidak  akan  keluar  dari  ruang  yang sudah  ditentukan  serta  jumlah  mahasiswa setiap  kelas  tidak  akan  melebihi  daya tampung ruang yang tersedia.

## 2. Waktu
Waktu yang disediakan dalam pembentukan jadwal ini adalah 11 SKS/hari dengan alokasi waktu 50 menit/SKS. Jam mulai untuk kuliah yang pertama bisa diatur oleh pengguna pada saat proses jadwal init. Kemudian pada hari jumat  antara  jam  11:00  -  13:00  ditetapkan tidak boleh ada jadwal kuliah.

## 3. Dosen
Dalam  penjadwalan  ini  ada  kemungkinan dosen mengajar di program studi yang lain, tetapi prioritas utamanya adalah mengajar di program  studinya  masing-masing.  Apabila ditemukan bahwa seorang dosen mengalami kekurangan  beban  SKS  mengajar  atau ditemukan  adanya  mata  kuliah  yang  belum ada  dosen  pengampunya  maka  sistem sharing dosen  dapat  dilakukan,  namun dengan  tetap  memperhatikan  bidang  ilmu dosen  tersebut.  Dengan  adanya  sistem sharing dosen  ini  maka  kemungkinan terjadinya  bentrok  jadwal  perkuliahan sangat besar sehingga pada penjadwalan ini perlu  dilakukan  pengecekan  pada  jadwal semua  program  studi  agar  jadwal  yang terbentuk sesuai dengan aturan ( constraints ) yang berlaku .
4. Mata kuliah
Mata kuliah yang diproses pada penjadwalan ini  adalah  mata  kuliah  yang  sesuai  dengan semester  yang  akan  dibuat  jadwal perkuliahannya. Jenis semester ini ditentukan oleh pengguna pada saat proses jadwal init yaitu semester ganjil atau genap. Pada proses penjadwalan perlu diperhatikan bahwa  untuk  setiap  program  studi  tidak boleh  ada  mata  kuliah  pada  semester  dan kelas  yang  sama  berada  pada  hari  dan  jam yang sama. Hal ini perlu dilakukan agar dapat memudahkan  mahasiswa  dalam  memilih mata kuliah dan kelas pada saat proses KRS sehingga  tidak  terjadi  bentrok  jadwal perkuliahan.

## Jurnal Teknologi Informasi dan Terapan, Vol. 03, No. 01, Juli-Desember 2016

## Perancangan Perangkat Lunak
Dalam  perancangan  perangkat  lunak  ini dibagi dalam dua tahapan yaitu perancangan data  dan  perancangan  proses  penjadwalan. Pada  perancangan  data  akan  dibuat  sebuah Conceptual Data Modelling (CDM) yang akan menunjukan  hubungan  antara  elemen- elemen  yang  terlibat  dalam  penjadwalan. Sedangkan  pada  perancangan  proses penjadwalan  akan  dibuat flowchart untuk menunjukan alur program dalam pembentukan jadwal perkuliahan. Perancangan data pada proses penjadwalan ini diperlukan untuk merancang  kebutuhan  data  baik  data  yang tersimpan dalam database maupun data-data yang dimasukkan selama proses penjadwalan.  Data  yang  tersimpan  dalam
database adalah  data-data  yang  dibutuhkan uutuk  proses  penjadwalan  yang  sebagian besar diambil dari data yang ada di Fakultas Teknik  UTM.  Data  yang  tersimpan  dalam database diantaranya  adalah  data  mata kuliah, dosen, jurusan, ruang, semester, hari, dan  jadwal  init.  Untuk  menunjukan hubungan ( relationship ) dari masing-masing data  tersebut  ditunjukan  pada  Gambar  1. Kemudian untuk data-data yang dimasukkan selama proses penjadwalan adalah jam mulai perkuliahan, jenis semester yang akan dibuat jadwal,  dan  juga  data  untuk  proses penjadwalan  dengan Simulated  Annealing (SA).
Gambar 1. Conceptual Data Modelling (CDM)
Sedangkan  untuk  perancangan  proses penjadwalan dibagi menjadi dua yaitu proses jadwal  init  dan  proses  SA.  Dalam  kedua
proses  yang  dilakukan  tersebut  harus mengikuti  aturan  ( constraint )  penjadwalan yang berlaku di Fakultas Teknik UTM. Dalam hal  ini  setiap  mata  kuliah  yang  dibuat jadwalnya  harus  menempati  ruang  yang sesuai  dengan  ketentuan  fakultas  karena sudah  ada  pembagian  ruang  untuk  masing- masing  program  studi.  Untuk  lebih  jelas tentang  proses  pembentukan  jadwal  ini dapat  dilihat  pada  Gambar  2.  Sedangkan untuk flowchart aturan  ( constraint )  yang digunakan dalam pembentukan jadwal dapat dilihat pada Gambar 3.
Data Sudah ditemukan hasil yg cukup baik? Jadwal Y BEGIN STOP Proses Jadwal Init Proses Simulated Annealing N Gambar 2. Diagram Urutan Proses yang Dilalui Data SEM EST ER Kode_Sem ester Sem ester <pi> I VA6 <M> <M> Kode_sem ester <pi> m em butuhkan m em erlukan dibuat berada pada m engajarkan pada DOSEN NIP Nam a_Dosen T em pat_Lahir T anggal_Lahir
Alam at_Dosen T elepon_Dosen <pi> VA9 VA50 VA15 D VA100 VA15 <M> <M> <M> <M> <M> <M> NIP <pi> M AT AKULIAH ID_M K M ata_Kuliah
SKS Perlu_Ruang_Kelas Diajarkan <pi> VA6 VA50 N1 VA3 VA3 <M> <M> <M> <M> <M> ID_M K <pi> RUANG ID_Ruang Daya_Tam pung <pi> VA3 N3 <M> <M> ID_Ruang <pi> JADWAL_INIT ID_Jadwal_Init Kelas_Init Jam_Mulai_Init
Jam_Akhir_Init Jumlah_Hari_Init <pi> I VA1 T T I <M> <M> <M> <M> <M> ID_Jadwal_Init <pi> HARI ID_Hari Hari_Kuliah <pi> I VA6 <M> <M> ID_Hari <pi>
Gambar 3. Flowchart aturan ( constraint )
Proses  jadwal  init  merupakan  proses pembentukan  jadwal  inisialisasi  awal  dari penjadwalan mata kuliah. Pada awal proses jadwal init ini harus dimasukan dahulu jam mulai perkuliahan yang diinginkan dan juga jenis  semester  yang  akan  dibuat  jadwalnya yaitu semester ganjil atau genap. Kemudian kedua  masukan  tersebut  dapat  diproses bersama dengan data yang telah tersimpan di database dan  prosesnya  akan  berhenti  jika semua  mata  kuliah  yang  seharusnya  dibuat jadwal yaitu mata kuliah yang sesuai dengan semester  yang  dipilih  sudah  selesai  dibuat jadwalnya. Flowchart dari pembentukan jadwal init dapat dilihat pada Gambar 4.
Begin Semester sesuai ? Cek Constraint Semua MK selesai dijadwalkan ? Hitung jumlah hari yang jam pulang kuliahnya paling akhir Hasil jadwal init End N Y N Y Semester yang akan dibuat jadwalnya Mengambil data MK dari database
Gambar 4. Garis Besar Proses Jadwal Init
Kemudian  setelah  terbentuk  jadwal  init maka  dilakukan  proses  SA  yang  bertujuan untuk dapat menghasilkan solusi jadwal yang baru  dimana  hasilnya  lebih  optimal dibandingkan  jadwal  yang  sebelumnya disimpan.  Jadwal  dikatakan  optimal  jika memenuhi  semua  aturan  ( constraint ) penjadwalan  dan  juga  mempunyai  jam pulang  kuliah  paling  akhir  yang  lebih  awal atau dengan jam pulang kuliah paling akhir yang  tetap  seperti  jadwal  yang  terakhir disimpan  namun  mempunyai  jumlah  hari yang jam pulang kuliahnya paling akhir lebih kecil  dari  jadwal  yang  terakhir  disimpan tersebut. Akan tetapi, dalam proses SA ini ada kemungkinan  jadwal  yang  paling  optimal adalah  hasil  jadwal  init. Flowchart penjadwalan  dalam  proses SA  dapat  dilihat dalam Gambar 5.

## Jurnal Teknologi Informasi dan Terapan, Vol. 03, No. 01, Juli-Desember 2016
Begin Maks, iterasi, temperatur awal (TO), temperatur akhir (Tf), & penurunan suhu Hasilkan solusi baru dari jadwal init & di-update di jadwal rekayasa Memenuhi Constant? Hitung jumlah hari yang jam pulang kuliahnya paling akhir Jadwal optimal? Update jadwal BSF Update jadwal init Iterasi selesai? Sesuaikan temperaturnya Temperatur selesai? Hasil jadwal MK End N Y N = Jumlah Hari BSF Jumlah Hari Rekayasa T E e p / ' Random angka antara 0-1(r) Y Y N N N Y Y r < Akses keadaan awal Gambar 5. Garis Besar Proses Simulated Annealing (SA)
Proses  SA  dimulai  dengan  memasukan terlebih  dahulu  nilai  beberapa  parameter yang  dibutuhkan,  yaitu  maksimum  iterasi, temperatur awal (T0), temperatur akhir (Tf), dan  penurunan  suhunya.  Untuk  nilai temperatur  akhir  yang  dimasukkan  harus lebih besar dari 0 karena untuk menghindari pembagian  dengan  angka  0  ketika  proses dengan persamaan 1.
Dalam proses SA juga terdapat beberapa aturan ( constraint ) penjadwalan yang harus dipenuhi.  Aturan  ( constraint ) penjadwalan yang terdapat dalam proses SA secara umum adalah  sama  dengan  aturan  ( constraint ) penjadwalan  yang  ada  pada  proses  jadwal init.  Akan  tetapi,  yang  perlu  diperhatikan pada  proses  SA  adalah  pada  saat  proses menukar-nukarkan posisi jadwal harus tetap berada  pada  ruang  yang  sesuai  dengan ketentuan fakultas.

## KESIMPULAN
Setelah  menyelesaikan  penelitian  ini, dapat diambil kesimpulan sebagai berikut:
1. Pemahaman  terhadap  aturan-aturan ( constraints )  penjadwalan  yang  berlaku di  Fakultas  Teknik  UTM  sangat diperlukan  untuk  menghasilkan  jadwal yang sesuai dengan kebutuhan.
2. Nilai masukan beberapa parameter yang dibutuhkan  pada  proses  SA,  yaitu maksimum  iterasi,  temperatur  awal, temperatur  akhir,  dan  penurunan  suhu mempengaruhi jadwal yang terbentuk.

## DAFTAR PUSTAKA
[1]  Widyaningrum, V. T. dan Sophan, M. K., 2013. Perancangan Perangkat Lunak Penjadwalan Mata  Kuliah  Menggunakan
Simulated Annealing . Jurnal Simantec UTM. Vol. 3 No. 2
Juni 2013, Hal. 456-463. ISSN: 2088-2130.
[2]  Widyaningrum, V. T. dan Sophan, M. K., 2014. Algoritma Simulated  Annealing untuk Optimasi  Penjadwalan  Mata  Kuliah.  Jurnal IPTEK ITATS. Vol. 18 No. 2 Desember 2014, Hal. 105-112. ISSN: 1411-7010.
[3]  Suyanto.  Algoritma  Optimasi  Deterministik atau  Probabilitik,  Hal.  115.  Yogyakarta: Graha Ilmu, 2010.
[4]  P.  Panggabean  H, Penjadwalan  Job  Shop Statik Dengan Algoritma Simulated Annealing, 2002.