Metode Perancangan Sistem Perancangan Sistem

6 Gambar 1 Skema Algoritma Tabu Search

3. Metode Perancangan Sistem

Metode analisa dan perancangan sistem menggunakan model proses prototyping model. Gambar 2 menjelaskan tahapan proses sebuah metode prototyping. 7 Gambar 2 Model Prototyping [5] Pada Gambar 2 menerangkan bahwa dalam metode prototyping diawali dengan komunikasi. Pengembang dan pengguna bertemu dan mendefinisikan sasaran-sasaran menyeluruh dari perangkat lunak yang akan dibangun, mengidentifikasi kebutuhan apa saja yang diinginkan. Iterasi prototyping direncanakan secara cepat, demikian juga pemodelan dalam bentuk rancangan segera dibuat. Perancangan yang cepat berfokus pada penggambaran aspek- aspek perangkat lunak yang akan dilihat oleh pengguna, seperti tampilan antarmuka pengguna dengan sistem, atau format tampilan output. Rancangan yang cepat ini akan membawa kearah pembuatan program konstruksi dari prototipe.

4. Perancangan Sistem

Dalam perancangan dan penggambaran proses analisis penjadwalan mata pelajaran dilakukan dengan menggunakan diagram konteks dan data flow diagram DFD. Diagram konteks untuk sistem yang dibuat dapat dilihat pada Gambar 3. Gambar 3 Diagram Konteks Sistem Diagram konteks sistem dalam Gambar 3 dapat dijelaskan sebagai berikut. Admin atau staff TU memasukkan data pelajaran, data kelas, tabu rule dan data tutor yang akan digunakan dalam proses penjadwalan ke dalam sistem. Maka sistem akan memberikan output berupa jadwal pelajaran . DFD Level satu untuk sistem yang dibuat dapat dilihat pada Gambar 4. 8 Gambar 4 DFD Level 1 Sistem DFD level satu dari sistem dapat dijelaskan sebagai berikut : 1. Bagian staff TU menginputkan data tutor untuk dimasukkan ke dalam database tutor. 2. Mengatur rule untuk pelajaran dan tutor. 3. Tabu Search memproses data dalam pendataan dan akan keluar berupa hasil jadwal. 4. Jadwal pelajaran yang sudah jadi akan ditampilkan kepada TU. Dalam proses ini terdapat optimasi dari data-data pada database yang kemudian diperoleh jadwal baru yang sudah teroptimasi. Algoritma Tabu Search bekerja dengan menggunakan sebuah aturan yaitu adanya rule dalam setiap prosesnya. Rule atau aturan dalam algoritma Tabu Search akan membagi setiap mata pelajaran ataupun tutor yang dianggap tabu untuk ditempatkan pada jam tertentu atau mengajar di jam yang berbeda setiap harinya sehingga tanpa mengalami bentrok antar mata pelajaran. Algoritma ini juga memungkinkan setiap mata pelajaran yang seharusnya berada pada waktu tertentu dapat ditempatkan pada waktu tersebut. Sebagai contoh pada mata pelajaran olahraga, upacara atau senam dapat ditempatkan pada pagi hari. DFD Level dua untuk proses pendataan pada sistem ini dapat dilihat pada Gambar 5. 9 Gambar 5 DFD Level 2 Proses Pendataan Keterangan DFD level dua proses pendataan adalah sebagai berikut. Pada proses pendataan ini TU melakukan input data ke dalam sistem. Proses pendataan meliputi pendataan kurikulum, tutor, pelajaran dan kelas. Data ini kemudian akan tersimpan di dalam database nya masing-masing. Untuk database akan menggunakan Microsoft Access. Gambar 6 merupakan ERD dari proses penjadwalan dengan algoritma tabu search, yaitu hubungan antar tabel dalam penjadwalan ini. Penjelasan dari ERD adalah sebagai berikut. Entity tutor mempunyai atribut nama tutor dan kode tutor, pelajaran mempunyai atribut nama pelajaran dan kode pelajaran, kelas mempunyai atribut kode kelas, kode kurikulum dan kode wali kelas, sedangkan rule mempunyai beberapa atribut, antara lain jenis, nilai 1, nilai 2, nilai 3, kode rule, kode pemilik dan jenis. Tutor, kelas dan pelajaran mempunyai aturan tertentu atau rule. Rule digunakan untuk memberikan aturan terhadap tutor, kelas dan pelajaran. Aturan untuk seorang tutor misalnya, tutor hanya boleh mengajar mata pelajaran tertentu dan diatur tidak bisa mata pelajaran lain diluar rule nya. 10 Gambar 6 Entity Relationship Diagram Pengolahan Data Pihak TU memasukkan data meliputi data Mata Pelajaran, data Tutor, data Kurikulum dan juga data Kelas. Data yang dimasukkan kemudian tersimpan dalam database yang sewaktu-waktu dapat diambil kembali untuk penggunaan ataupun penghapusan data. Selanjutnya dilakukan pengalokasian antara mata pelajaran dengan tutor yang akan mengajar beserta kelas dimana tutor tersebut mengajar dan mengalokasikan data tersebut ke hari dan waktu jadwal sebagai inisialisasi. Jadwal awal yang telah dibuat dijadikan sebagai solusi awal solusi tetangga yang akan digunakan untuk proses berikutnya. Proses selanjutnya adalah mencari nilai konflik awal, nilai konflik dari setiap iterasi 1 jadwal yang dihasilkan dengan cara mencari konflik tiap waktu jam dari hari senin sampai dengan hari sabtu dan menjumlahkan semua konflik yang diperoleh. Nilai konflik yang dihasilkan Fnew pada iterasi ke = 0 ini dijadikan sebagai Fbest atau nilai terbaik sementara. Sehingga didapat solusi awal yang dihasilkan disimpan ke dalam Tabu List untuk dilakukan proses iterasi berikutnya. Langkah pengolahan data untuk menyusun jadwal dengan algoritma tabu search dapat dilihat pada flowchart Gambar 7. 11 12 Gambar 7 Flowchart Pengolahan Data Keterangan selanjutnya adalah mengalokasikan kembali jadwal awal yang telah ada secara acak atau random ke dalam hari dan waktu yang tersedia sehingga menghasilkan jadwal baru atau solusi baru, selanjutnya dilakukan pengecekan pada Tabu List sudah ada atau tidak. Jadwal baru atau solusi baru yang telah dihasilkan dilakukan pencocokan dengan jadwal-jadwal yang sudah ada pada Tabu List atau dari penempatan data, apabila sudah ada maka dilakukan pengalokasian kembali secara acak. Apabila belum ada maka dicari konfliknya Fnew. Perbandingan dilakukan apakah nilai Fnew atau nilai konflik dari jadwal baru yang dihasilkan mempunyai nilai lebih kecil daripada nilai Fbest atau nilai konflik terbaik dari jadwal-jadwal sebelumnya atau iterasi sebelumnya. Apabila mempunyai nilai lebih kecil dari nilai Fbest maka Fnew tersebut ditukar dengan Fbest dan menjadi nilai Fbest sekarang. Namun apabila tidak lebih kecil atau sama, maka Fbest tetap nilai sebelumnya. Untuk selanjutnya jadwal baru yang diperoleh dimasukkan ke dalam Tabu List. Langkah terakhir dengan melakukan pengecekan apakah iterasi sudah mencapai max iterasi atau Fbest sudah 13 menemukan nilai konflik = 0. Apabila belum memenuhi maka proses dilanjutkan sampai memenuhi salah satu syarat tersebut.

5. Hasil dan Pembahasan