penjadwalan kuliah otomatis dengan constraint programming n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Penjadwalan Kuliah Otomatis Dengan Constraint Programming PowerPoint Presentation
Download Presentation
Penjadwalan Kuliah Otomatis Dengan Constraint Programming

Loading in 2 Seconds...

play fullscreen
1 / 31

Penjadwalan Kuliah Otomatis Dengan Constraint Programming - PowerPoint PPT Presentation


  • 367 Views
  • Uploaded on

Penjadwalan Kuliah Otomatis Dengan Constraint Programming. Yumarsono Muhyi STMIK Supra, Jakarta - Indonesia yumarsono.muhyi@supra.ac.id y.muhyi@gmail.com y.muhyi@yahoo.com. Masalah Umum.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Penjadwalan Kuliah Otomatis Dengan Constraint Programming' - gabe


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
penjadwalan kuliah otomatis dengan constraint programming

Penjadwalan Kuliah Otomatis Dengan Constraint Programming

Yumarsono Muhyi

STMIK Supra, Jakarta - Indonesia

yumarsono.muhyi@supra.ac.id

y.muhyi@gmail.com

y.muhyi@yahoo.com

masalah umum
Masalah Umum
  • Sumberdaya terbatas, perkuliahan yang harus dilayani berjumlah banyak dan harus dipenuhi/dilayani semuanya (semaksimal mungkin)
  • Sumberdaya-sumberdaya:
    • Jumlah kelas yang terbatas
    • Jumlah dosen yang terbatas
    • Kesanggupan mengajar dosen hanya di waktu-waktu yang tertentu, tidak setiap waktu
    • Jumlah kredit tiap matakuliah yang harus dipenuhi
    • dan batasan-batasan lainya
constraint programming
Constraint Programming
  • Constraint Programming:
    • pendekatan perhitungan atau komputasi matematis
    • atas batasan-batasan dari variabel-variabel
    • mencari solusi yang memenuhi syarat-syarat tersebut
  • Istilah lain untuk Constraint Programming:
    • Constraint Satisfaction Problem (CSP) (Barták, 1999)
    • Constraint Logic Programming (CLP) (Abdennadher, 2001)
pemodelan csp
Pemodelan CSP
  • Pemodelan CSP yang lengkap terdiri dari:
    • Variable: variabel (umumnya lebih dari satu)
    • Domain: semua kemungkinan nilai untuk variabel yang ada
    • Constraints: batasan-batasan tiap variabel
  • Kemungkinan solusi:
    • Satu set solusi saja, yang pertama didapat dari pencarian
    • Seluruh set solusi yang bisa diperoleh
    • Set solusi optimum (maksimum, minimum, nilai tertentu).
komponen java
Komponen Java
  • Choco
    • Choco: Constraint Programming System
    • http://choco-solver.net
  • JACK
    • JACK: A Java Constraint Kit
    • http://www.cs.kuleuven.ac.be/~dtai/projects/ALP/newsletter/feb02/nav/monfroy/index.html
  • Yang digunakan: Choco
analisa masalah
Analisa Masalah
  • Guru (atau dosen) mengajar materi-materi tertentu
  • Kelas:
    • Untuk tingkat yang tertentu
    • Diadakan pada shift (waktu) tertentu.
    • Bisa berarti “ruangan” atau “ruang kelas” secara fisik, dan bisa juga dimaknai sebagai “kelompok siswa”
  • Materi (atau subjek pelajaran) untuk tingkat tertentu
  • Guru:
    • kesanggupan mengajar yang tertentu: shift, hari, jam
    • umumnya syarat ini yang paling menyulitkan dalam urusan penjadwalan kuliah
pemodelan masalah dimensi
Pemodelan Masalah: Dimensi
  • Dimensi:
    • Himpunan objek yang sama
    • Dalam perhitungan, dimodelkan sebagai array
  • Dimensi ada dua:
    • Dimensi dasar: dimensi yang unik
    • Dimensi turunan: relasi antar dimensi
dimensi dasar
Shift (S)

shift-shift yang akan dibuka dalam kalender akademik

Shift Pagi, Shift Siang , Shift Malam, …

Kelas (K)

jumlah total kelas yang akan dibuka

Kelas 1.1, Kelas 2.3, …

Jam (J),

jam-jam kuliah yang akan diadakan untuk tiap shift

1 jam di sini artinya bernilai 1 kredi

8:00-9:00, 9:00-10:00, …

Guru (G)

guru-guru atau dosen-dosen yang akan mengajar

Ahmad, Joni, Badru, ...

Materi (M)

materi-materi atau subjek-subjek perkuliahan

Web Programming, Decision Support, …

Tingkat (T)

tingkatan-tingkatan atau jenjang-jenjang

Tingkat 1, Tingkat 2, …

Hari (H)

hari-hari perkuliahan

Senin, Selasa, Rabu, Kamis, Jumat, …

Dimensi Dasar
dimensi turunan
Materi-Tingkat (MT), adalah penetapan materi dengan tingkatnya, misal:

Web Programming untuk Tingkat 1

Decision Support untuk Tingkat 2

Guru-Shift -Hari-Jam (GSHJ), adalah data waktu mengajar tiap guru, sampai ke jam setiap harinya.

Ahmad mengajar pada setiap hari kerja, dari jam 8:00 sampai jam 11:00

Badru hanya bisa mengajar hari Rabu saja, mulai jam 8:00 sampai jam 17:00

Joni ingin mengajar pada hari Senin sepanjang hari, Selasa di bawah jam 12:00, dan lainnya antara jam 17:00 sampai jam 20:00

Guru-Materi (GM), adalah penugasan guru ke materi-materi, misal:

Ahmad mengajar Web Programming dan Decision Support

Joni mengajar Decision Support dan Operating System

Kelas-Shift (KS), adalah penetapan shift perkuliahan dari kelas, misal:

Kelas 1.1 pada Shift Malam

Kelas 2.3 pada Shift Pagi

Kelas-Tingkat (KT), adalah penetapan kelas dengan tingkatnya, misal:

Kelas 1.1 adalah Tingkat 1

Kelas 2.3 adalah Tingkat 2

Dimensi Turunan
dimensi tambahan
Dimensi Tambahan
  • Sifat atau definisi Dimensi Tambahan:
    • Data-data tambahan
    • Bukan dimensi baru
    • Melekat pada dimensi-dimensi (dasar) tertentu
  • Kredit (C), adalah jumlah kredit yang harus dipenuhi oleh tiap materi pelajaran yang ada, misal:
    • Web Programming adalah 4 kredit
    • Decision Support adalah 3 kredit
notasi array
S = {Pagi, Siang, Malam}

S[0] = Pagi

S[1] = Siang

S[2] = Malam

K = {1.1, 2.3}

K[0] = 1.1

K[1] = 2.3

Hubungan antara shift (S) dan kelas (K)

Kelas 1.1 pada Shift Malam

Kelas 2.3 pada Shift Pagi

KS[kelas][shift]

KS[0][0] = 0 = KS[1.1][Pagi]

KS[0][1] = 0 = KS[1.1][Siang]

KS[0][2] = 1 = KS[1.1][Malam]

KS[1][0] = 1 = KS[2.3][Pagi]

KS[1][1] = 0 = KS[2.3][Siang]

KS[1][2] = 0 = KS[2.3][Malam]

Notasi Array
variabel solusi
Variabel Solusi
  • Didefinisikan sebuah variabel, bernama X
  • Memiliki dimensi sejumlah jenis data-data atau dimensi-dimensi dasar
  • Tiap dimensi ini memiliki indeks sejumlah data dari dimensi yang bersangkutan
  • Notasi:
syarat solusi
Syarat Solusi
  • X adalah integer, nilainya adalah 0 (nol) atau 1 (satu)
  • X lebih kecil atau sama dengan data Guru-Materi (GM)
  • X lebih kecil atau sama dengan data Kelas-Shift (KS)
  • X lebih kecil atau sama dengan data Kelas-Tingkat (KT)
  • X lebih kecil atau sama dengan data Materi-Tingkat (MT)
  • X lebih kecil atau sama dengan data Guru-Shift -Hari-Jam (GSHJ)
  • Kelas pada waktu tertentu hanya ada satu transaksi perkuliahan
  • Dosen pada waktu tertentu hanya ada satu transaksi perkuliahan
  • Jumlah nilai X untuk materi tertentu sesuai dengan kreditnya
uji coba model
Mendefinisikan data dimensi-dimensi dasar, yaitu:

Shift (S)

Kelas (K)

Jam (J)

Guru (G)

Materi (M)

Tingkat (T)

Hari (H).

Mendefinisikan data relasi-relasi antar dimensi yang ada, yaitu:

Guru-Materi (GM)

Kelas-Shift (KS)

Kelas-Tingkat (KT)

Materi-Tingkat (MT)

Guru-Shift-Hari-Jam (GSHJ).

Memasukkan semua batasan yang ada ke dalam Choco.

Propagasi persamaan.

Propagasi artinya memerintahkan Choco mereduksi domain-domain yang tidak perlu dimasukkan dalam perhitungan solusi.

Ini perlu dilakukan, agar saat proses pencarian solusi Choco semakin cepat.

Pencarian solusi, yaitu memerintahkan Choco untuk mencari nilai solusi pertama yang didapatkan.

Pengambilan hasil solusi yang diperoleh dari Choco.

Uji Coba Model
kesimpulan
Untuk data yang relatif sedikit, hanya membutuhkan waktu beberapa detik saja.

Beberapa kali percobaan dilakukan untuk sejumlah set data yang berbeda (dengan jumlah yang tidak jauh berbeda), waktu yang diperlukan relatif sama.

Untuk set data yang sama, akan menghasilkan data solusi pertama yang selalu sama.

Ini terjadi karena secara internal, Choco menerapkan metode numerik yang baku algoritmanya, dan tidak ada proses heuristic atau random generator di dalamnya.

Pengertian umum heuristic yang diambil dari Wikipedia:

heuristic (hyu?-'ris-tik) is a method to help solve a problem, commonly an informal method. It is particularly used to rapidly come to a solution that is reasonably close to the best possible answer, or 'optimal solution'.

Heuristics are "rules of thumb", educated guesses, intuitive judgments or simply common sense.

In more precise terms, heuristics stand for strategies using readily accessible, though loosely applicable, information to control problem-solving in human beings and machines.

Kesimpulan
pembahasan
Pembahasan
  • Choco bisa mencari seluruh set solusi yang memungkinkan.
  • Namun, bila pemodelan sistemnya semakin banyak (dari sisi dimensi, atau jumlah data, atau domain solusinya, atau tingkat kerumitan persyaratan yang semakin tinggi), maka proses pencarian solusi akan berlangsung semakin lama.
  • Ini bukan berarti Choco tidak mendapatkan solusinya. Melainkan karena Choco menyimpan dulu solusi yang telah didapatkannya, dan menampilkan seluruh solusi ketika semua solusi sudah didapatkan.
  • Tapi ini bisa dikendalikan dengan pemrograman berbasis threading, yang menghentikan Choco sesaat ketika solusi didapatkan dan diambil, sebelum dilanjutkan lagi pencarian solusi selanjutnya.
peluang pengembangan
Peluang Pengembangan
  • Pemodelan sistem perlu lebih disempurnakan untuk mendapatkan hasil akhir yang lebih baik.
  • Masih perlu banyak optimasi-optimasi lain yang belum dibahas dalam pemodelan ini, misalnya:
    • Hari perkuliahan sedikit, demi mengejar hemat biaya.
    • Jam mengajar dimampatkan di pagi hari semua.
    • Kalau jam mengajarnya berurutan, diusahakan dalam kelas yang sama, tidak perlu pindah-pindah kelas.
    • Dan hal-hal lainnya.
rujukan
Rujukan
  • Barták, R. 1999.

Constraint Programming: In Pursuit of the Holy Grail.

Proceedings of the Week of Doctoral Students (WDS99), Part IV. 1999. Prague. Pp.555-564.

  • Barták, R. 1998.

On-Line Guide to Constraint Programming. (Online).

(http://kti.mff.cuni.cz/ ~bartak/constraints/, diakses 27 Agustus 2008).

  • Choco. 2007.

Choco: Constraint Programming System. (Online).

(http://choco-solver.net, diakses 27 Agustus 2008).

  • Abdennadher, S. 2001.

Rule-Based Constraint Programming: Theory and Practice. München: Ludwig-Maximilians-Universität.

  • Abdennadher S., Krämer E., Saft M. dan Schmauss M. 2002.

JACK: A Java Constraint Kit. (Online).

(http://www.cs.kuleuven.ac.be/~dtai/ projects/ALP/newsletter/feb02/nav/monfroy/ index.html, diakses 27 Agustus 2008).

  • Wikipedia. 2008.

Constraint Programming. (Online).

(http://en.wikipedia.org/wiki/Constraint_programming, diakses 27 Agustus 2008).

implementasi penjadwalan kuliah otomatis

ImplementasiPenjadwalan Kuliah Otomatis

Yumarsono Muhyi

STMIK Supra, Jakarta - Indonesia

yumarsono.muhyi@supra.ac.id

y.muhyi@gmail.com

y.muhyi@yahoo.com

terima kasih

Terima Kasih

Yumarsono Muhyi

STMIK Supra, Jakarta - Indonesia

yumarsono.muhyi@supra.ac.id

y.muhyi@gmail.com

y.muhyi@yahoo.com