Penjadwalan Pengajaran dengan Borland C++
Ringkasan Penelitian (Penelitian Mandiri - th. 2002)
Judul Lengkap :
Pembuatan Program Aplikasi untuk Pengalokasian Jadwal Pengajaran dengan Blocking System menggunakan Borland C++
Achmad Fanany Onnilita Gaffar
Jurusan Teknik Elektro – Politeknik Negeri Samarinda
Samarinda – Kalimantan Timur - Indonesia
Abstrak
Pengalokasian jadwal pengajaran bisa dimungkinkan dengan menggunakan sistem blok dimana satu semester dibagi menjadi dua rotasi, rotasi1 dan rotasi 2. Sistem ini digunakan untuk mengantisipasi keterbatasan sumber daya yang ada. Konsekuensi dari penggunaan sistem ini adalah pada setiap awal semester akan selalu terjadi revisi jadwal pengajaran beberapa kali sampai dicapai kondisi tidak lagi terjadi “tabrakan jadwal”. Algoritma Heuristic Search dengan teknik Generate and Test digunakan untuk menyelesaikan problem ini. Program aplikasi dibangun dengan menggunakan Borland C++, dibuat dengan tujuan untuk dapat membantu dalam hal memberikan “Schedule draft” untuk penjadwalan pengajaran sesuai dengan standar tepat waktu, tepat ukuran, tepat sasaran. Program aplikasi ini sekaligus memberikan indikator terhadap beberapa alokasi yang memang “tidak mungkin” dilakukan bila mengacu pada standar tepat waktu, tepat ukuran, tepat sasaran.
Pendahuluan
Jadwal pengajaran di Jurusan Teknik Elektro sampai dengan saat ini masih menggunakan Blocking System, yaitu membagi satu semester menjadi dua blok (rotasi), yaitu rotasi 1 dan rotasi 2. Penggunaan sistem ini dilakukan dengan alasan sebagai berikut :
- Terbatasnya ruang kelas, ruang praktek, dan peralatan praktek.
- Terbatasnya jumlah pengajar dilihat dari klasifikasi kompetensi keahlian yang dimiliki dibandingkan dengan kurikulum yang diberlakukan.
- Target waktu perkuliahan satu semester yang hanya 16 minggu efektif.
Algoritma yang digunakan untuk problem solving-nya adalah Heuristic Search dengan teknik Generate & Test.
Heuristic Search : Generate and Test
Heuristic Search adalah salah satu metode pelacakan yang banyak digunakan. Terdapat 4 (empat) jenis pelacakan heuristic salah satunya adalah Generate and Test.
Prinsip teknik ini merupakan gabungan antara depth-first search dengan backtracking (pelacakan mundur), yaitu bergerak menuju suatu keadaan awal. Nilai pengujian berupa jawaban “ya” atau “tidak”.
Algoritma :
- Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu atau lintasan tertentu dari keadaan awal).
- Uji untuk melihat apakah node tersebut benar-benar merupakan solusi dengan cara membandingkan node tersebut (node akhir dari suatu lintasan yang dipilih) dengan kumpulan tujuan yang diharapkan.
- Jika solusi ditemukan, berhenti. Jika tidak, ulang kembali langkah pertama.
Bpk. Onny memegang beberapa mata kuliah dengan total jam pertemuan 15. Akan dicari bagaimana mengalokasi waktu pengajaran untuk Bpk. Onny dengan kemungkinan ketersediaan waktu seperti yang terlihat pada gambar berikut.
Hari Senin tersedia 2 jam, Selasa : 4 jam, Rabu : 7 jam, Kamis : 5 jam. Bila pengajaran dialokasikan pada hari Senin dan Selasa maka akan tersedia 7 jam. Demikian seterusnya. Rata-ratanya adalah (2+4+7+5)/4 = 4.5.
Di sini penyelesaian dengan menggunakan generate & test dilakukan dengan membangkitkan solusi-solusi seperti demikian (dengan acuan jumlah) :
- Senin – Selasa – Rabu - Kamis = 6 + 9 + 12 = 28 -4.5 = 23.5
- Senin – Rabu - Kamis = 7 + 12 = 19 -4.5 = 14.5
- Senin – Selasa - Kamis = 6 + 11 = 17 -4.5 = 12.5
- Selasa – Rabu - Kamis = 9 + 12 = 21 -4.5 = 16.5
- dan seterusnya
Desain dan Pembuatan
Untuk kasus penjadwalan pengajaran di atas yang perlu diperhatikan adalah :
- Hari pengajaran efektif : Senin, Selasa, Rabu, Kamis, Jum’at, Sabtu.
- Jam pengajaran efektif : jam ke-1, ke-2, ke-3, ke-4, ke-5, ke-6, ke-7, ke-8.
- Waktu istirahat : antara jam ke-2 dan ke-3, antara jam ke-5 dan ke-6.
- Jam efektif mengajar : minimal 2 jam, maksimal 4 jam.
- Jumlah mata kuliah dalam satu semester.
- Jumlah ruang kelas aktif dalam satu semester.
- Jumlah angkatan mahasiswa dalam satu semester.
- Jumlah kelas per angkatan mahasiswa dalam satu semester.
- Jumlah pengajar efektif sesuai kompetensi keahlian dalam satu semester.
- Merancang tabel basis data berdasarkan katagori : waktu, kelas, pengajar, mata kuliah.
- Merancang tabel relasi untuk table-tabel di atas berdasarkan domain kasus di atas.
- Membangun basis data dengan tools yang telah disediakan oleh Borland C++.
- Mengimplementasikan algoritma heuristic search : Generate and Test dengan program aplikasi (menggunakan Borland C++).
- Menyediakan fasilitas program untuk pengaturan inisialisasi sistem untuk domain spesifik, seperti setting hari libur, penentuan jadwal tetap untuk pengajar tertentu, dll.
- Melakukan pengujian program.
- Program aplikasi ini cukup membantu dalam hal memberikan “Schedule draft” untuk penjadwalan pengajaran sesuai dengan standar tepat waktu, tepat ukuran, tepat sasaran.
- Program aplikasi ini sekaligus memberikan indikator terhadap beberapa alokasi yang memang “tidak mungkin” dilakukan bila mengacu pada standar tepat waktu, tepat ukuran, tepat sasaran.
Referensi
- Brian W. Kernighan & Dennis M. Ritchie,”The C Programming Language“, Second Edition, Prentice Hall Software Series, 1976.
- Bjarne Stroustrup, “The C++ Programming Language”, Third Edition, AT&T Labs, Murray Hill, New Jersey, 1997.
- Herbert Schildt,“C++ : The Complete Reference”, Third Edition, Osborne McGraw-Hill, 1998.
- Nell Dale, C++ and Data Structure, Third Edition,University of Texas, Austin1999.
- Robert L. Woods and Kent L. Lawrence, Modeling and Simulation of Dynamic Systems, Prentice Hall, 1997
1 komentar:
http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/35.gif
http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/35.gif
:)) :)] ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} ~x( :-t b-( :-L x( =))
Beri Komentar