Analisis Sistem Model Data Konseptual Conseptual Data Model

27

BAB III ANALISIS DAN DESAIN SISTEM

3.1 Analisis Sistem

Melakukan analisis terhadap data-data yang telah dikumpulkan serta melakukan desain system yang akan dibuat. Ada beberapa bagian penting dalam melakukan perancangan dan pembuatan suatu sistem, yaitu melakukan perancangan dan pembuatan Workflow aliran kerja, Context Diagram, DFD Data Flow Diagram, Flowchart dan Algoritma Tabu Search serta penyusunan struktur database sistem. Alur sistem merupakan bagan yang menggambarkan alur atau tahapan- tahapan yang membentuk suatu aplikasi. Bagian ini juga menampilkan keterlibatan entitas yang berhubungan dengan aplikasi. Data Flow Diagram merupakan dokumentasi dari suatu sistem yang baik, karena dapat menggambarkan arus data di dalam sistem dengan terstruktur dan jelas. Flowchart dan algoritma Tabu Search merupakan gambaran alur dan tahapan bagaimana algoritma Tabu Search melakukan penyusunan jadwal kuliah. Pada bagian selanjutnya, dilakukan pembuatan rancangan entitas-entitas yang saling berhubungan yang membentuk suatu database relasional. Struktur database yang terbentuk akan berfungsi sebagai tempat penyimpanan data-data yang digunakan dalam aplikasi.

3.2 Perancangan Sistem

Perancangan sistem berisikan penjelasan tentang deskripsi umum sistem, konsep perancangan metode tabu search dalam bentuk flowchart diagram, perancangan proses, perancangan data, perancangan table, dan perancangan antarmuka.

3.2.1 Pengolahan data mengunakan metode Tabu Search

Untuk mengaplikasikan algoritma TS ke dalam masalah penjadwalan kuliah dapat didefinisikan sebagai berikut : 1. Tahap pembuatan solusi jadwal awal. Melakukan pengalokasian antara matakuliah dengan dosen yang akan mengajar beserta ruangan yang akan digunakan dengan menghitung kapasitas ruang dan jumlah maksimal klas, kemudian mengalokasikan data tersebut ke hari dan waktu. 2. Tahap evaluasi konflik yang terjadi. Mencari nilai konflik awal dan menentukan semua konflik yang terjadi dalam satu jadwal. Dengan cara mencari konflik tiap waktujam dari hari senin sampai dengan jumat dan menjumlahkan semua konflik yang diperoleh. Nilai konflik yang dihasilkan dijadikan sebagai nilai terbaik sementara kemudian solusi awal yang dihasilkan dimasukkan pada tabu list. 3. Tahap pembuatan neighbour baru. Mengalokasikan tiap data mata kuliah, dosen dan ruangan ke waktu yang tersedia secara random, jadwal awal yang telah ada dialokasikan kembali secara acak random kedalam hari dan waktu yang tersedia sehingga menghasilkan jadwal baru atau solusi baru. 4. Tahap pengelolaan tabu list. Melakukan pengecekan terhadap tabu list, jadwal baru atau solusi baru yang telah dihasilkan dilakukan pencocokan dengan jadwal – jadwal yang sudah ada pada tabu list. Jika sudah ada maka dilakukan pengalokasian kembali secara acak, apabila belum ada maka dicari nilai konfliknya. 5. Tahap penentuan kriteria terminasi Melakukan pengecekan apakah iterasi sudah mencapai batas maksimum atau nilai terbaik sudah menemukan nilai konflik minimum atau nilai konflik = 0. Apabila sudah memenuhi salah satu syarat tersebut maka iterasi dihentikan dan ditentukan solusi atau jadwal terbaik dengan nilai terbaik minimum apabila belum memenuhi maka proses dilanjutkan sampai memenuhi salah satu syarat tersebut Berdasarkan definisi tersebut diatas dapat disusun algoritma langkah- langkah pengolahan data sebagai berikut: 1. memasukan data yang telah dikumpulkan data dosen, data matakuliah, data ruangan juga masukan parameter algoritma tabu search berupa maksimal iterasi 2. pembuatan solusi jadwal awal. 3. Jadikan jadwal awal sebagai solusi terbaik pada iterasi saat ini iterasi = 0. 4. evaluasi konflik, Mencari nilai konflik awal jadikan sebagai nilai terbaik dan masukan ke tabu list. 5. Pembuatan Jadwal baru dengan mengalokasikan datamatkul, dosen, ruangan ke waktu yang tersedia secara random. 6. Melakukan pengecekan terhadap tabu list, apakah sudah ada. 7. Jika sudah ada maka dilakukan pengalokasian kembali secara acak random jika belum ada maka dicari nilai konfliknya. 8. lakukan perbandingan nilai konflik baru dengan nilai konflik terbaik. 9. Jika nilai konflik baru nilai konflik terbaik maka jadikan nilai konflik baru sebagai nilai konflik terbaik jika tidak nilai konflik terbaik tetap. 10. cek nilai konflik terbaik = 0 atau iterasi = max. 11. Apabila sudah memenuhi salah satu syarat tersebut maka iterasi dihentikan apabila belum memenuhi maka proses dilanjutkan sampai memenuhi salah satu syarat tersebut.

3.2.2 Flowchart

Dalam sub-bab ini akan dijelaskan alur kerja system penjadwalan kuliah dalam bentuk flowchart diagram. Untuk lebih jelasnya dapat dilihat pada penjelasan berikut ini. start Gambar 3.1 Flowchart pengolahan data mengunakan metode tabu search Input data - Mata kuliah - dosen - ruangan Pembuatan jadwal awal Pembuatan Jadwal baru dengan mengalokasikan datamatkul, dosen, ruangan ke waktu yang tersedia secara random Mencari nilai konflik awal, jadikan sebagai nilai terbaik dan masukan ke tabu list A B Cek tabu list apakah ada ya tidak A Lanjutan Gambar 3.1 Flowchart pengolahan data mengunakan metode tabu search

3.2.3 Ketetapan Baku Penjadwalan Kuliah

Waktu kuliah dilaksanakan pada hari Senin sampai dengan Jumat antara jam 7.00 sampai dengan 16.35 dan setiap jamnya dihitung 1 sks. Dengan rincian sebagai berikut: Cari nilai konflik baru Nilai konflik baru nilai terbaik Nilai terbaik = nilai konflik baru ya tidak Masukkan ke tabu list Nilai konflik terbaik = 0 atau iterasi = max End B tidak ya 1. Jam 1 07.00 – 07.50 2. Jam 2 07.55 – 08.45 3. Jam 3 08.50 – 09.40 4. Jam 4 09.45 – 10.35 5. Jam 5 10.40 – 11.30 6. Jam 6 11.30 – 13.00 7. Jam 7 13.00 – 13.50 8. Jam 8 13.55 – 14.45 9. Jam 9 14.50 – 15.40 10. Jam 10 15.45 – 16.35 Jam 6 11.30 – 13.00 adalah waktu istirahat, dan tidak ada kuliah. Iterasi dilakukan sampai menemukan total nilai konflik = 0 atau iterasi telah sampai pada maksimal iterasi yang ditetapkan.

3.2.4 Fungsi Tujuan

Meminimalkan Q konflik 1 Batasan : Q xt+1 ≤ Q xt …………..Q xt A xt 2 Variabel Keputusan Q xt+1 ≤ 0…………..Q xt A xt 3 Pada persamaan 1 disebutkan bahwa fungsi tujuan dari penyelesaian permasalahan penjadwalan kuliah adalah meminimalkan konflik. Dalam persamaan tersebut makespan diwakili oleh konflik jadwal Qkonflik. Jika semakin minimum konflik jadwal, maka semakin optimal jadwal kuliah yang dihasilkan. Fungsi Tujuan : Meminimumkan makespan = Meminimumkan Q jadwalakhir – 0 = Meminimumkan Q jadwalakhir = Meminimumkan Q akhir Persamaan 2 merupakan batasan dari model penjadwalan kuliah yang menjelaskan bahwa konflik antara dua jadwal yang dihasilkan dari jadwal yang ada, konflik jadwal yang dihasilkan harus kurang dari konflik jadwal sebelumnya. Persamaan 3 ini sebagai hasil akhir dari dari permasalahan penjadwalan kuliah harus bernilai integer. Dalam permasalahan penjadwalan kuliah, hasil akhir yang diharapakan sebagai variabel keputusan adalah 0 dari setiap jadwal yang ada.

3.2.5 Klasifikasi Constrain

Peraturan-peraturan yang digunakan dalam pembuatan jadwal kuliah dapat dirangkum dan dikelompokan menjadi 2 kelompok sesuai dengan tingkat kewajiban peraturan itu dipenuhi. Kedua kelompok ini diuraikan pada bagian Hard Constraint dan Soft Constraint.

3.2.5.1 Hard Constraint

Hard Constraint didefinisikan sebagai constraint wajib yang harus dipenuhi dalam proses perhitungan algoritma. Sebuah solusi hanya dapat dikatakan sah dan valid apabila dalam solusi tersebut sama sekali tidak ada hard constraint yang terlanggar. Berikut adalah daftar Hard constraint dalam masalah penjadwalan kuliah beserta penjelasannya : 1. Jadwal dosen dan mahasiswa tidak boleh bentrok. 2. Ruangan yang digunakan tidak boleh bentrok. 3. Seluruh kelas yang dibuka harus mendapatkan waktu dan ruangan perkuliahan.

3.2.5.2 Soft Constraint

Berbeda dari hard constraint, kendala yang termasuk dalam kategori soft constraint adalah kendala yang tidak selalu dapat terpenuhi dalam proses pembentukan jadwal kuliah. Meskipun harus tidak terpenuhi, tetapi jadwal kuliah yang dihasilkan harus semaksimal mungkin berusaha memenuhi ketentuan soft constraint ini. Berikut adalah daftar soft constraint dalam masalah penjadwalan kuliah beserta penjelasannya : 1. Diusahakan seorang dosen tidak mendapatkan jadwal mengajar lebih dari 3 pertemuan dalam sehari. 2. Jadwal mengajar dosen dalam sehari diusahakan urut tanpa jeda. 3. Jadwal kuliah mahasiswa dalam sehari diusahakan urut tanpa jeda. Untuk menghitung total konflikconstraint diperoleh dari formula berikut: Keterangan : h = menyatakan hari n = menyatakan maksimal hari t = menyatakan waktujam m = menyatakan maksimal waktujam j = menyatakan posisi data k = menyatakan maksimal posisi data d x,y = variabel menyatakan konflik total konflik didapat dengan menghitung semua konflik yang terjadi didalam satu jadwal. Dengan cara mencari konflik tiap waktujam dari hari senin sampai jum’at dan menjumlahkan semua konflik yang diperoleh.

3.2.6 Aturan – aturan terjadi konflik nilai yang sama

Aturan terjadinya konflik merupakan aturan – aturan dari kondisi – kondisi yang dapat menimbulkan terjadinya suatu konflik antara dosen, matakuliah, ruangan dan kelas paralel dalam 1 hari dan jam yang sama yang diberlakukan dalam aplikasi ini. Untuk menentukan konflik dari jadwal dapat dibuat sebuah table kombinasi dari jadwal sebagai berikut: Tabel 3.1 Tabel Kombinasi Jadwal Mata Kuliah Dosen Ruang Paralel Semester Keterangan Sama Sama Sama Sama Sama Konflik Sama Sama Sama Sama Tidak Tidak pasti Sama Sama Sama Tidak Sama Konflik Sama Sama Sama Tidak Tidak Tidak pasti Sama Sama Tidak Sama Sama Konflik Sama Sama Tidak Sama Tidak Tidak pasti Sama Sama Tidak Tidak Sama Konflik Sama Sama Tidak Tidak Tidak Tidak pasti Sama Tidak Sama Sama Sama Konflik Sama Tidak Sama Sama Tidak Tidak pasti Sama Tidak Sama Tidak Sama Konflik Sama Tidak Sama Tidak Tidak Tidak pasti Sama Tidak Tidak Sama Sama Konflik Sama Tidak Tidak Sama Tidak Tidak pasti Sama Tidak Tidak Tidak Sama Tidak konflik Sama Tidak Tidak Tidak Tidak Tidak pasti Tidak Sama Sama Sama Sama Konflik Tidak Sama Sama Sama Tidak Konflik Tidak Sama Sama Tidak Sama Konflik Tidak Sama Sama Tidak Tidak Konflik Tidak Sama Tidak Sama Sama Konflik Tidak Sama Tidak Sama Tidak Konflik Tidak Sama Tidak Tidak Sama Konflik Tidak Sama Tidak Tidak Tidak Konflik Tidak Tidak Sama Sama Sama Konflik Tidak Tidak Sama Sama Tidak Konflik Tidak Tidak Sama Tidak Sama Konflik Tidak Tidak Sama Tidak Tidak Konflik Tidak Tidak Tidak Sama Sama Konflik Tidak Tidak Tidak Sama Tidak Tidak konflik Tidak Tidak Tidak Tidak Sama konflik Tidak Tidak Tidak Tidak Tidak Tidak konflik Dari tabel kombinasi diatas dapat dilihat adanya kombinasi yang menyebabkan konflik maupun tidak konflik. Dari tabel diatas juga terdapat kombinasi yang tidak pasti atau belum tentu terjadi didalam penjadwalan, sehingga dengan melihat table diatas dapat disusun tabel kombinasi jadwal konflik sebagai berikut: Tabel 3.2 Tabel Kombinasi Jadwal Konflik Matakuliah Dosen Ruangan Paralel Semester Sama Sama Sama Sama Sama Sama Sama Sama Tidak Sama Sama Sama Tidak Sama Sama Sama Sama Tidak Tidak Sama Sama Tidak Sama Sama Sama Sama Tidak Sama Tidak Sama Sama Tidak Tidak Sama Sama Tidak Sama Sama Sama Sama Tidak Sama Sama Sama Tidak Tidak Sama Sama Tidak Sama Tidak Sama Sama Tidak Tidak Tidak Sama Tidak Sama Sama Tidak Sama Tidak Sama Tidak Tidak Sama Tidak Tidak Sama Tidak Sama Tidak Tidak Tidak Tidak Tidak Sama Sama Sama Tidak Tidak Sama Sama Tidak Tidak Tidak Sama Tidak Sama Tidak Tidak Sama Tidak Tidak Tidak Tidak Tidak Sama Sama Tidak Tidak Tidak Sidak Sama Dari tabel aturan konflik diatas dapat dijelaskan bahwa untuk mengetahui terjadinya konflik yaitu dengan membandingkan 2 tabel yang berada dalam satu waktu jam, sebagai contoh untuk aturan 1. jika matakuliah_1 sama dengan matakuliah_2 dan dosen_1 sama dengan dosen_2 dan ruangan_1 sama dengan ruangan_2 serta paralel_1 sama dengan paralel_2 maka terjadi konflik. Konflik yang terjadi dicari dari tiap jam yang tersedia, Total nilai konflik dihitung dari penjumlahan seluruh konflik yang terjadi dalam satu jadwal. Misalkan pada hari senin jam 1 terjadi 1 konflik, hari senin jam 5 terjadi 2 konflik, hari selasa jam 1 terjadi 1 konflik, hari kamis jam 3 terjadi 1 konflik dan hari jum’at jam terjadi konflik sebanyak 1. Maka total nilai konflik diperoleh dengan menjumlahkan semua konflik-konflik yang terjadi dalam satu jadwal tersebut, yaitu 1+1+2+1+1+1 = 6 konflik.

3.2.7 Workflow

Gambar 3.2 Workflow penjadwalan kuliah Pada gambar diatas menerangkan bagaimana alur kerja dalam penyusunan jadwal kuliah. Sekjur memasukan data dosen, matakuliah dan ruangan kedalam sistem. Kemudian sekjur menentukan periode semester yang diadakan serta matakuliah yang diadakan pada periode tersebut kedalam sistem. kemudian menyusun jadwal kuliah dan disimpan ke dalam database system sebagai jadwal awal. Sistem melakukan optimasi jadwal sehingga menghasilkan jadwal yang telah teroptimasi. Sekjur mencetak laporan jadwal kuliah yang diambil dari database sistem dan memberikan jadwal kuliah kepada mahasiswa dan dosen yang bersangkutan.

3.2.8 Diagram Berjenjang

1 Memasukkan Data Dosen dan Matakuliah 2 Memasukkan Data Ruangan dan Kapasitas Kelas 3 Menyeleksi dan Menentukan Matakuliah yang diadakan + 4 Menyusun Jadwal Awal + 5 Optimasi Jadwal Dengan Metode Tabu Search + Gambar 3.3 Diagram berjenjang Gambar diatas menerangkan bahwa aplikasi penjadwalan kuliah terdapat banyak proses antara lain: mengolah data dosen, mata kuliah, ruangan , periode, menentukan solusi awal jadwal kuliah, optimasi jadwal mengunakan metode tabu search. Dan ada sub proses dari proses menentukan solusi jadwal dan optimasi jadwal kuliah antara lain proses jadwal kuliah, optimasi jadwal kuliah, solusi jadwal kuliah, pilih solusi jadwal terbaik dan membuat laporan. Penjadwalan Kuliah Dengan Menggunakan Metode Tabu Search +

3.2.9 Context Diagram

Gambar 3.4 Context Diagram pada gambar context diagram diatas ada 2 entitas yang berhubungan dengan aplikasi penjadwalan kuliah yaitu kajurSekjur dan dosenmahasiswa. Entitas pertama, kajurSekjur berinteraksi dengan sistem untuk memasukkan data dosen, matakuliah, periode dan matakuliah yg diadakan, serta ruangan yang diperlukan untuk kegiatan belajar mengajar, kemudian oleh sistem data-data tersebut akan diolah mengunakan metode tabu search, selanjutnya sistem akan mengirimkan laporan jadwal kuliah ke kajurSekjur. Entitas kedua, dosenmahasiswa akan memperoleh jadwal perkuliahan untuk mahasiswa dan memperoleh jadwal mengajar untuk dosen.

3.2.10 DFD level 0

DFD level 0 akan mengambarkan tiap-tiap proses yang terjadi di dalam aplikasi penjadwalan kuliah dengan menggunakan metode tabu search. Gambar 3.5 DFD Level 0 aplkasi penjadwalan kuliah Pada gambar diatas Gambar 3.5 dapat dilihat bahwa dalam membangun aplikasi penjadwalan kuliah ini terdapat 6 proses utama. Proses pertama, memasukkan data dosen dan matakuliah ke dalam aplikasi yang meliputi Nip, nama, dan menentukan kompetensi dosen tersebut berdasarkan matakuliah yang diadakan, kemudian data dosen tersebut akan disimpan dalam database dosen. Dan memasukkan data matakuliah ke aplikasi meliputi kode matakuliah, mata kuliah, semester serta jumlah SKS. Proses kedua, memasukkan data ruangan yang akan digunakan untuk melaksanakan kegiatan belajar mengajar serta memasukkan kapasitas ruangan bedasarkan jumlah mahasiswa. Proses ketiga, dari database matakuliah akan dipilih matakuliah yang akan diadakan berdasarkan periode sekarang genapganjil. Serta menentukan jumlah kelas dengan berdasarkan jumlah mahasiswa atau jumlah mahasiswa yang mengambil matakuliah tersebut. Proses keempat, proses untuk menentukan sebuah solusi awal jadwal perkuliahanjadwal sementara, yang penyusunannya diperoleh dari data – data yang tersimpan di dalam database antara lain dosen, periode matakuliah yang diselenggarakan dan ruangan Proses kelima, proses untuk mengoptimasikan jadwal dengan mengunakan metode tabu search. Di dalam proses ini proses optimasi akan mengambil data – data yang ada dalam database solusi awal jadwal kuliah, yang kemudian akan menghasilkan jadwal yang telah teroptimasi. Hasil optimasi akan disimpan dalam database aplikasi. Dan kemudian dapat digunakan oleh kajursekjur untuk penyusunan laporan.

3.2.11 DFD level 1

1. Sub Proses Menyeleksi dan Menentukan Matakuliah yang Diadakan

Pada gambar 3.6 menjelaskan bahwa DFD level 1 merupakan subsistem dari level 0. DFD ini merupakan subsistem dari proses menyeleksi dan menentukan matakuliah yang diadakan. Pada DFD level 1 ini terdapat 2 proses yaitu menyeleksi matakuliah yang diadakan pada semester genap atau ganjil dimana proses ini mengambil data-data dari database mata kuliah dan menghasilkan data matakuliah yang diadakan. Gambar 3.6 DFD Level 1 sub proses menyeleksi dan menentukan matakuliah yang diadakan Setelah itu akan dilakukan proses untuk menentukan jumlah kelas dari penyelenggaraan matakuliah yang didapat dengan menentukan jumlah mahasiswa atau dengan menghitung jumlah mahasiswa yang mengambil matakuliah tersebut sehingga didapat jumlah kelas penyelenggaraan matakuliah yang diadakan.Hasil dari proses ini berupa data hasil seleksi yang disimpan dalam database periode matakuliah.

2. Sub Proses Menyusun Jadwal Awal

Gambar 3.7 DFD Level 1 sub proses menyusun jadwal awal Pada gambar 3.7 diatas terdapat 2 proses dari subproses menyusun jadwal awal. Pada sub proses ini terdapat satu proses utama yaitu membuat jadwal awal dengan cara mengalokasikan matakuliah dengan dosen, ruang dan jadwal harijam. Sebelum proses yang utama terdapat proses untuk menentukan dosen yang berkompeten dari matakuliah tersebut baru kemudian dilakukan proses utama. Hasil dari proses ini kemudian disimpan pada database jadwal awal.

3. Sub Proses Optimasi Jadwal dengan Metode Tabu Search

Gambar 3.8 DFD Level 1 sub proses optimasi jadwal dengan metode Tabu Search Pada gambar 3.8 diatas terdapat 3 proses dari subproses optimasi jadwal mengunakan metode tabu search. Proses pertama proses optimasi jadwal kuliah mengambil data dari database solusi awal jadwal ujian untuk diproses mengunakan metode tabu search. Hasil dari proses optimasi tersebut akan dipilh solusi yang terbaik, tidak ada nilai konflik atau nilai sama yang minimum terkecil sesuai dengan batasan maksimal iterasi. Jadwal yang telah teroptimasi diberikan kepada dosenmahasiswa, sebagai jadwal yang digunakan untuk kegiatan perkuliahan. kemudian akan dilakukan proses pembuatan laporan untuk kajursekjur.

3.3 Perancangan Database

Pada perancangan kali ini akan dibahas mengenai perancangan data dan perancangan table yang akan digunakan pada system ini. Dalam perancangan data ini, menjelaskan tentang 2 model data yaitu: model data konseptual dan model data fisik. Untuk lebih jelasnya dapat dijelaskan di bawah ini.

3.3.1 Perancangan Data

a. Model Data Konseptual Conseptual Data Model

Model data konseptual adalah rancangan dalam bentuk diagram sebelum pembuatan database secara detail. Model data konseptual ini dibuat tanpa harus mempertimbangkan data DBMS apa yang nanti dipakai, karena bentuk ini hanya sebuah konsep rancangan yang nantinya bisa digunakan oleh semua DBMS. Model data konseptual pada aplikasi system ini mempresentasikan rancangan basis data konseptual yang nantinya akan digunakan oleh system ini. Pada konsep rancangan ini dibuat dengan menggunakan Power Designer 15. Untuk lebih jelasnya dapat dilihat pada gambar dibawah ini : Gambar 3.9 CDM Conceptual Data Model Pada gambar CDM diatas terdapat 9 tabel untuk menyimpan database pada aplikasi penjadwalan kuliah dengan mengunakan metode tabu search. Penjelasan tentang fungsi dan field-field yang berada pada table tersebut diatas akan dibahas pada sub bab berikutnya.

b. Model Data Phisik Physical Data Model