BAB I
PENDAHULUAN
I.1 Latar Belakang
Suatu pekerjaan yang tidak dijadwalkan dengan baik akan memberikan hasil yang mungkin tidak seoptimal pekerjaan yang dijadwalkan dengan baik. Sebagai contoh adalah penjadwalan mata kuliah-mata kuliah pada suatu universitas, penjadwalan pengiriman barang-barang ke berbagai daerah, penjadwalan kegiatan-kegiatan seorang pengambil keputusan di suatu perusahaan, dan sebagainya. Pada umumnya, sistem penjadwalan selalu berkaitan dengan waktu, resource, dan batasan. Sebuah sistem penjadwalan menghasilkan sebuah jadwal yang akan digunakan dalam kurun waktu tertentu. Faktor waktu perlu diperhatikan karena dua kurun waktu yang berbeda akan menghasilkan dua buah jadwal yang mungkin berbeda. Resource adalah suatu nilai potensi yang dimiliki oleh suatu materi atau unsur tertentu dalam kehidupan [WEB03] / segala sesuatu yang tersedia yang dapat digunakan untuk kepentingan tertentu [WEB04]. Batasan adalah sejumlah keadaan yang harus dipenuhi terkait dengan resource yang tersedia. Penjadwalan adalah suatu kegiatan mengalokasikan sejumlah aktivitas terkait resource dalam slot waktu tertentu dengan memperhatikan prioritas, durasi, kapasitas, dan batasan-batasan yang ada [BAR99]. Batasan-batasan penjadwalan dapat diklasifikasikan menjadi beberapa jenis dan sebuah jenis tertentu dapat dimodelkan dalam beberapa model. Salah satu bentuk klasifikasinya yaitu batasan resource, batasan transition, dan batasan dependency [BAR99]. Dalam sebuah sistem penjadwalan besar kemungkinannya terdapat lebih dari satu kelompok batasan. Kedua batasan yang pertama (batasan resource dan batasan transition) menunjukkan keterbatasan pada sebuah resource saja, sedangkan batasan dependency menunjukkan hubungan antara dua atau lebih resource yang berbeda dalam time point yang mungkin berbeda. Sebuah sistem penjadwalan yang batasan-batasannya secara umum bertipe batasan dependency disebut sebagai sistem penjadwalan dependency. Salah satu contoh dari sistem penjadwalan ini adalah sistem penjadwalan mata kuliah. Penjadwalan mata kuliah didefinisikan sebagai penjadwalan sejumlah aktivitas perkuliahan yang terdapat dalam satu semester di mana aktivitas perkuliahan tersebut terkait dengan ruangan kelas dan waktu pelaksanaan kuliah. Penjadwalan mata kuliah termasuk ke dalam kategori sistem penjadwalan dependency karena secara umum batasan-batasan yang terdapat di dalamnya termasuk ke dalam kategori batasan dependency. Salah satu contohnya yaitu sebuah ruangan kelas tidak dapat digunakan oleh dua kelas mata kuliah yang berbeda dalam satu slot waktu. Selanjutnya, batasan yang didefinisikan oleh manusia harus diterjemahkan ke dalam suatu bahasa yang dimengerti oleh pemroses, dalam hal ini komputer. Salah satu jenis bahasa yang mudah dimengerti oleh manusia dan juga dimengerti oleh komputer adalah bahasa deklaratif. Adapun penggunaan bahasa deklaratif ini memiliki tujuan untuk memudahkan sistem penjadwalan dalam mendefinisikan batasan yang berubah-ubah. Selain itu, kelebihan lainnya dari penggunaan bahasa deklaratif dalam sistem penjadwalan adalah sebuah aplikasi sistem penjadwalan dapat digunakan pada sistem penjadwalan sejenis yang memiliki batasan-batasan yang berbeda. Sistem penjadwalan sejenis yang dimaksudkan di sini adalah penjadwalan berupa timetabling. Resource dan batasan yang telah dijelaskan sebelumnya adalah sekumpulan data yang berukuran besar dan bersifat dinamis (dapat berkurang dan bertambah). Oleh karena itu, dalam menangani data yang besar dan dinamis seperti ini diperlukan suatu basis data. Selain itu, basis data yang dipilih juga harus dapat mendefinisikan batasan dalam bahasa deklaratif. Basis data yang memiliki kemampuan seperti ini adalah basis data deduktif. Selain menyimpan fakta berupa data seperti pada basis data konvensional, basis data deduktif juga menyimpan aturan-aturan yang dapat digunakan untuk menurunkan fakta-fakta baru berdasarkan fakta-fakta yang ada. Fakta pada basis data deduktif merepresentasikan kumpulan data yang terdapat pada sistem penjadwalan, dan aturan merepresentasikan batasan. Perubahan batasan dapat diartikan sebagai perubahan terhadap aturan. Perubahan ini mencakup perubahan definisi, pengurangan dan penambahan batasan.
I.2 Rumusan Masalah
Sebuah sistem penjadwalan umumnya memiliki resource yang banyak. Selain itu, keterbatasan dari setiap resource yang juga banyak dan saling terkait dengan resource lainnya menyebabkan sulitnya untuk menemukan solusi jadwal yang memenuhi semua keterbatasan yang ada. Dengan data (resource dan batasan) yang banyak dan batasan yang deklaratif, proses komputasi dengan menggunakan basis data deduktif akan sangat membantu manusia dalam menjadwalkan resource-resource. Oleh karena itu, batasan yang didefinisikan oleh manusia harus dikonversi menjadi aturan-aturan yang dapat dimengerti oleh basis data deduktif. Selanjutnya definisi mengenai fakta dan batasan ini digunakan pada aplikasi sistem penjadwalan untuk melakukan pencarian solusi dengan bantuan basis data deduktif. Pada tugas akhir ini dibangun model sistem penjadwalan mata kuliah yang termasuk ke dalam kategori sistem penjadwalan dependency. Setelah itu, seberapa generik model sistem penjadwalan mata kuliah yang dibangun dilihat dari seberapa jauh model ini dapat digunakan untuk sistem penjadwalan lainnya yang sejenis, yaitu penjadwalan berupa timetabling. Dari paparan permasalahan yang ada pada paragraf sebelumnya, berikut adalah permasalahan-permasalahan utama yang akan dijawab pada tugas akhir ini:
1. Mendefinisikan fakta dan batasan dalam sistem penjadwalan.
2. Membuat tahapan-tahapan untuk melakukan konversi batasan menjadi aturan dalam basis data deduktif.
3. Mendefinisikan proses penggunaan fakta dan batasan oleh aplikasi untuk menemukan solusi jadwal dengan bantuan basis data deduktif.
4. Menggunakan definisi fakta dan batasan serta proses yang dibangun untuk mendefinisikan model sistem penjadwalan mata kuliah.
5. Melihat sejauh mana model sistem penjadwalan mata kuliah dapat digunakan untuk
sistem penjadwalan dependency lainnya.
I.3 Tujuan
Tujuan utama tugas akhir ini adalah membangun model sistem penjadwalan dependency menggunakan basis data deduktif dengan sistem penjadwalan mata kuliah sebagai studi kasus. Agar aplikasi sistem penjadwalan dapat digunakan untuk sistem penjadwalan lainnya yang sejenis, maka perlu dibangun sebuah model sistem penjadwalan yang umum. Model ini mencakup dua hal, yaitu model data dan model proses. Model data mencakup pendefinisian fakta dan batasan, sedangkan model proses mencakup bagaimana fakta dan batasan digunakan dalam proses pencarian dan pembentukan solusi jadwal. Model data ditangani pada level basis data (basis data deduktif) dan model proses ditangani baik pada level aplikasi maupun level basis data.
Tujuan rinci yang ingin dicapai dalam pelaksanaan tugas akhir ini adalah sebagai berikut:
1. Melakukan studi mengenai bentuk-bentuk sistem penjadwalan secara umum.
2. Melakukan studi mengenai fakta dan batasan pada sistem penjadwalan.
3. Melakukan studi mengenai transformasi batasan menjadi aturan dalam basis data deduktif.
4. Melakukan studi mengenai bagaimana pemrosesan fakta dan batasan selanjutnya oleh aplikasi dan basis data deduktif hingga akhirnya dihasilkan solusi jadwal.
5. Melakukan studi mengenai fakta dan batasan pada sistem penjadwalan mata kuliah.
6. Melakukan pemodelan data dan proses untuk sistem penjadwalan mata kuliah.
7. Melakukan studi mengenai sejauh mana model sistem penjadwalan mata kuliah dapat
digunakan untuk sistem penjadwalan dependency lainnya.
I.4 Batasan Masalah
Batasan-batasan yang didefinisikan dalam pelaksanaan tugas akhir ini adalah:
1. Mesin inferensi yang digunakan adalah mesin inferensi yang sudah ada.
2. Pre-processing data perlu dilakukan untuk data yang memiliki pendefinisian yang berbeda.
3. Sistem penjadwalan dalam studi kasus berjenis timetabling. Oleh karena itu, istilah
sistem penjadwalan sejenis dalam tugas akhir ini adalah berupa timetabling.
I.5 Metodologi
Sistem penjadwalan yang sejenis dapat memiliki sebuah model penjadwalan yang sama dengan fakta dan batasan yang berbeda. Dengan cara seperti ini, model sistem penjadwalan dependency dapat dibentuk dengan menggunakan model dari salah satu contoh sistem penjadwalan dependency. Kemudian, dari model contoh ini dilihat seberapa jauh model yang dibangun dapat digunakan untuk sistem penjadwalan dependency lainnya. Pada tugas akhir ini, sistem penjadwalan mata kuliah digunakan sebagai studi kasus atau model contoh untuk sistem penjadwalan dependency. Untuk dapat membangun model sistem penjadwalan dependency, maka dalam penyusunan tugas akhir ini digunakan metodologi sebagai berikut:
1. Eksplorasi dan Studi Literatur
Tahap ini dilakukan dengan cara mempelajari literatur-literatur baik yang berupa buku (textbook), jurnal dan artikel ilmiah, maupun website yang berhubungan dengan sistem penjadwalan, basis data deduktif, transformasi batasan-batasan menjadi aturan-aturan, dan algoritma-algoritma pencarian solusi penjadwalan yang telah ada.
2. Analisis Studi Kasus: Sistem Penjadwalan Mata Kuliah
Pada tahap ini dilakukan analisis terkait sistem penjadwalan mata kuliah, seperti hal-hal apa saja yang merupakan fakta dan hal-hal apa saja yang merupakan batasan dalam sistem penjadwalan mata kuliah.
3. Analisis Model Studi Kasus: Sistem Penjadwalan Mata Kuliah
Pada tahap ini dilakukan analisis mengenai langkah-langkah yang digunakan untuk mendapatkan model sistem penjadwalan mata kuliah, termasuk di dalamnya yaitu:
a. Bagaimana pendefinisian fakta dan batasan.
b. Bagaimana batasan dikonversi menjadi aturan-aturan dalam basis data
deduktif.
c. Bagaimana fakta dan batasan yang telah didefinisikan digunakan oleh
aplikasi dengan bantuan basis data deduktif untuk menemukan solusi jadwal.
4. Pemodelan Studi Kasus: Sistem Penjadwalan Mata Kuliah Pada tahap ini, model studi kasus sistem penjadwalan mata kuliah dibangun dengan menggunakan hasil analisis pada tahap sebelumnya.
5. Implementasi dan Pengujian Sistem Penjadwalan Mata Kuliah Implementasi dan pengujian akan dilakukan berdasarkan hasil pemodelan pada tahap sebelumnya. Model untuk studi kasus yang telah dibangun diimplementasikan dan diuji pada level basis data deduktif dan aplikasi.
6. Analisis Hasil dan Penarikan Kesimpulan
Pada tahap analisis hasil dilakukan analisis terhadap sistem penjadwalan dependency secara umum terkait definisi resource dan batasan sistem penjadwalan dependency. Tahap ini dilakukan untuk menentukan kebenaran dari model yang dibangun dan jadwal yang dihasilkan. Jika hasilnya tidak tepat, maka dilakukan perbaikan. Selanjutnya ditarik kesimpulan terhadap penggunaan model untuk sistem penjadwalan dependency.
I.6 Sistematika Pembahasan
BAB I berisi latar belakang pengerjaan tugas akhir, rumusan masalah, tujuan, batasan masalah, metodologi pelaksanaan, dan sistematika pembahasan buku laporan tugas akhir.
BAB II berisi teori pendukung pelaksanaan tugas akhir yaitu teori sistem penjadwalan,data deduktif, dan algoritma greedy.
BAB III berisi analisis perancangan aturan sistem penjadwalan mencakup analisis sistem penjadwalan, analisis penyelesaian masalah sistem penjadwalan, dan analisis mengenai transformasi batasan menjadi aturan-aturan dalam basis data deduktif. Analisis sistem penjadwalan meliputi pendefinisian fakta, batasan, dan prioritas resource. Analisis penyelesaian masalah sistem penjadwalan mencakup solusi sistem penjadwalan, analisis independensi data, algoritma pencarian solusi, dan analisis perubahan terhadap fakta dan batasan.
BAB IV berisi analisis pembangunan perangkat lunak mencakup deskripsi umum, spesifikasi kebutuhan, model use case, model interaksi dengan diagram sequence, diagram kelas, dan rancangan antarmuka perangkat lunak.
BAB V berisi implementasi dan pengujian perangkat lunak. Implementasi perangkat lunak mencakup batasan yang terdapat pada perangkat lunak, lingkungan implementasi, implementasi modul, dan implementasi penggunaan batasan. Sedangkan pada subbab pengujian perangkat lunak berisi tujuan pengujian, lingkungan pengujian, data pengujian yang digunakan, skenario pengujian, dan evaluasi hasil pengujian.
BAB VI berisi kesimpulan dari pengerjaan tugas akhir dan saran untuk pengembangan lebih lanjut.
File Selengkapnya.....