1 / 31

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.

gabe
Download Presentation

Penjadwalan Kuliah Otomatis Dengan Constraint Programming

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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)

  4. 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).

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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 • …

  11. 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

  12. 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:

  13. 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

  14. Notasi Syarat Solusi

  15. 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

  16. 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

  17. 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.

  18. 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.

  19. 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).

  20. ImplementasiPenjadwalan Kuliah Otomatis Yumarsono Muhyi STMIK Supra, Jakarta - Indonesia yumarsono.muhyi@supra.ac.id y.muhyi@gmail.com y.muhyi@yahoo.com

  21. Pengembangan

  22. Home

  23. Dosen

  24. Hari

  25. Jam

  26. Materi

  27. Ruang

  28. Dosen-Materi

  29. Dosen-Hari-Jam

  30. Hasil

  31. Terima Kasih Yumarsono Muhyi STMIK Supra, Jakarta - Indonesia yumarsono.muhyi@supra.ac.id y.muhyi@gmail.com y.muhyi@yahoo.com

More Related