• Tidak ada hasil yang ditemukan

PENJADWALAN KULIAH DENGAN MENGGUNAKAN METODE TABU SEARCH.

N/A
N/A
Protected

Academic year: 2017

Membagikan "PENJADWALAN KULIAH DENGAN MENGGUNAKAN METODE TABU SEARCH."

Copied!
95
0
0

Teks penuh

(1)

TUGAS AKHIR

Diajukan Oleh : TITIS ADI PRATAMA

NPM : 0534010164

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

(2)

yang selalu melimpahkan rahmat dan hidayah-Nya, sehingga dimudahkan dan dapat menyelesaikan laporan Tugas Akhir Pembuatan Aplikasi Penjadwalan Kuliah dengan Menggunakan Metode Tabu Search.

Penulis menyadari sepenuhnya bahwa laporan Tugas Akhir ini tidak akan terselesaikan dengan baik jika tanpa adanya bantuan, bimbingan petunjuk-petunjuk dan juga saran-saran dari berbagai pihak yang mana kesemuanya itu tidaklah dapat diukur dengan materi.

Pada kesempatan ini penulis menghantarkan ucapan terima kasih yang sebesar-besarnya kepada:

1. Allah SWT atas limpahan Karunia, Rahmat, dan Perlindungan - Nya 2. Kedua orang tua dan anggota keluarga yang telah memberikan dorongan

baik moril maupun materil sehingga laporan Tugas Akhir ini dapat selesai tepat pada waktunya.

3. Bapak Ir. Sutiyono. MT selaku dekan FTI, UPN “Veteran”Jawa Timur. 4. Bapak Basuki Rahmat. Ssi, MT selaku ketua jurusan Teknik Informatika,

FTI, UPN “Veteran” Jawa Timur.

(3)

7. Teman – teman yang selalu memberikan motivasi dan semangat dalam pelaksanaan Tugas Akhir.

8. Dan semua pihak yang tidak dapat disebutkan satu persatu.

Penulis menyadari sepenuhnya masih terdapat banyak kekurangan dalam penyelesaian penulisan laporan Tugas Akhir ini. Namun penulis berusaha menyelesaikan laporan ini dengan sebaik mungkin.

Segala kritik saran yang bersifat membangun sangat diharapkan dari semuapihak, guna perbaikan dan pengembangan dimasa yang akan datang. Akhirnya besar harapan penulis agar laporan ini dapat diterima dan berguna bagi semua pihak. Amin…

Surabaya, Juni 2010

(4)

ABSTRAK... i

KATA PENGANTAR... ii

DAFTAR ISI... iii

DAFTAR GAMBAR... vi

DAFTAR TABEL... vii

BAB I PENDAHULUAN... 1

1.1. Latar Belakang... 1

1.2. Rumusan Masalah... 3

1.3. Batasan Masalah... 4

1.4. Tujuan... 4

1.5. Manfaat... 1.6. Metodologi Penelitian... 5 5 1.7. Sistematika Penulisan... 6

BAB II LANDASAN TEORI... 8

2.1. Penjadwalan……….. 8

2.2. Konsep Sistem Kredit Semester... 10

2.1.2. Nilai Satuan Kredit Semester Perkuliahan... 2.1.3. Nilai Satuan Kredit Semester Praktikum……….………… 11 11 2.3. Tabu Search………. 2.3.1. Tabu Search Kombinasi Untuk Masalah Pengalokasian…… 2.4. Konsep Dasar Sistem... 12 16 17 2.4.1. Perencanaan... 18

2.4.2. Desain………..

2.4.3. Implementasi………

(5)

2.5.4. Data Flow Diagram (DFD)... 2.6. SQL...………... 2.6.1. SQL Server 2005…... 2.7. Visual Basic.NET 2005………

21 22 24 25

BAB III ANALISIS DAN DESAIN SISTEM... 27 3.1. Analisis Sistem………27 3.2. Perancangan Sistem……… 28 3.2.1. Pengolahan Data Menggunakan Metode Tabu Search…….. 28 3.2.2. Flowchart……… 30 3.2.3. Ketetapan Baku Penjadwalan Kuliah……… 3.2.4. Fungsi Tujuan………

32 33 3.2.4. Klasifikasi Constraint………. 34 3.2.4.1. Hard Constraint……….. 34 3.2.4.2. Soft Constraint……… 3.2.5. Aturan-Aturan Terjadi Konflik (Nilai yang sama)………... 3.2.6. Workflow... 3.2.7. Diagram Berjenjang... 3.2.8. Context Diagram……… 3.2.9. DFD Level 0………. 3.2.10 DFD Level 1………. 3.3. Perancangan Database………..

3.3.1. Perancangan Data………. 3.3.2. Perancangan Table………

(6)

4.2.2. Form Submenu User... 64

4.2.2.1. Form Submenu User Change Password... 4.2.2.2. Form Submenu User Maintenance User... 65 66 4.2.3. Form Submenu Data... 4.2.3.1. Form Submenu Data Ruangan... 4.2.3.2 Form Submenu Data Matakuliah... 4.2.3.3 Form Submenu Data Dosen... 67 68 69 70 4.2.4. Form Submenu Seleksi... 72

4.2.4.1 Form Submenu Seleksi Matakuliah Diadakan…... 4.2.4.2 Form Submenu Seleksi Jadwal Awal... 73 74 BAB V UJI COBA DAN EVALUASI... 76

5.1. Data Ujicoba Pada System Aplikasi... 76

5.2. Ujicoba Pada System Aplikasi Penjadwalan Kuliah…………... 79

5.3. Analisa Hasil Ujicoba... 81

BAB VI PENUTUP... 84

6.1. Kesimpulan... 84

6.2. Saran... 85

(7)

Gambar 2.1. Struktur memory Tabu Search... 13

Gambar 3.1. Flowchart Pengolahan Data Menggunakan Metode Tabu Search... Gambar 3.2. Workflow Penjadwalan Kuliah………... 31 39 Gambar 3.3. Diagram Berjenjang……….... 40

Gambar 3.4. Context Diagram………... 41

Gambar 3.5. DFD Level 0 Aplikasi Penjadwalan Kuliah……….... 44

Gambar 3.6. DFD Level 1 menyeleksi dan menentukan matakuliah... 45

Gambar 3.7. DFD Level 1 Menyusun Jadwal Awal……… 46

Gambar 3.8. DFD Level 1 Optimasi Jadwal Dengan Metode TabuSearch... 44

Gambar 3.9. CDM (conceptual Data Model)... 48

Gambar 3.10. PDM (Physical Data Model)………49

Gambar 3.11. Form Data Mata Kuliah……….. 54

Gambar 3.12. Form Data Dosen………. 54

Gambar 3.13. Form Data Ruangan………. 55

Gambar 3.14. Form Data Mata Kuliah Diadakan……….. 56

Gambar 3.15. Form Jadwal Awal...57

Gambar 3.16. Form Proses Tabu Search……… 58

Gambar 4.1. Tampilan Awal Aplikasi………. 60

Gambar 4.2. Login Aplikasi………... 61

Gambar 4.3. Tampilan Utama Aplikasi... 62

Gambar 4.4. Load Jadwal Awal... 63

Gambar 4.5. Hasil Optimasi... 64

Gambar 4.6. Tampilan Submenu User... 65

Gambar 4.7. Tampilan Submenu User Change Password... 66

Gambar 4.8. Tampilan Submenu User Maintenance User... 67

Gambar 4.9. Tampilan Submenu Data... 68

Gambar 4.10. Tampilan Submenu Data Ruangan... 69

Gambar 4.11. Tampilan Submenu Data Matakuliah……….. 70

Gambar 4.12. Tampilan Submenu Data Dosen……….. 71

Gambar 4.13. Tampilan Form Kompetensi Dosen... 72

Gambar 4.14. Tampilan Submenu Seleksi... 73

Gambar 4.15. Tampilan Submenu Seleksi Matakuliah Diadakan... 74

Gambar 4.16. Tampilan Submenu Seleksi Jadwal Awal... 75

Gambar 5.1. Proses Pembuatan Jadwal Awal... 80

(8)

Tabel 3.1. Tabel Kombinasi Jadwal……….. 36

Tabel 3.2. Tabel Kombinasi Jadwal Konflik………. 37

Tabel 3.3. Tabel Matakuliah... 50

Tabel 3.4. Tabel Dosen……….. 50

Tabel 3.5. Tabel Kompetensi Dosen... 50 Tabel 3.6. Tabel mk_periode... Tabel 3.7. Tabel Ruang………... Tabel 3.8. Tabel Jadwal………. Tabel 3.9. Tabel temp_jadwal……… Tabel 3.10.Tabel login……… Tabel 3.11.Tabel hak_akses……… Tabel 5.1. Tabel Matakuliah………. Tabel 5.2. Tabel Dosen……….. Tabel 5.3 Tabel Ruangan………. Tabel 5.4. Tabel Hasil Ujicoba………..

(9)

Dosen Pembimbing 2 : Intan Yuniar Purbasari, S.Kom

ABSTRAKSI

Penjadwalan kegiatan kuliah dalam suatu Perguruan tinggi/kampus adalah suatu hal yang rumit dan sering mengalami kesulitan, yang menyebabkan pengalokasian mata kuliah dengan dosen dan ruangan yang sering bentrok dengan jadwal mata kuliah, dosen dan ruang yang lain dalam satu periode jadwal kuliah. Oleh karena itu dibutuhkan suatu sistem dan metode optimasi yang dapat diterapkan untuk menyusun penjadwalan mata kuliah.

Aplikasi penjadwalan kuliah dalam tugas akhir ini dibuat untuk membantu pihak pembuat jadwal dalam melakukan penjadwalan kuliah pada periode yang diselenggarakan. Metode yang dipakai dalam sistem ini adalah Algoritma Tabu Search. Metode Tabu Search adalah metode yang membuat solusi baru dengan menggunakan solusi awal atau sebelumnya secara terus menerus hingga kriteria yang ditentukan. Metode ini berdasarkan pada kriteria jumlah iterasi yang ditentukan dan jumlah konflik yang ada.

Implementasi dari sistem ini membutuhkan solusi awal atau jadwal awal sebagai start untuk proses optimasi, jadwal awal akan diolah menggunakan metode Tabu Search dengan mengalokasikan waktu yang tersedia secara acak atau random kemudian disimpan pada Tabulist untuk dicek apakah ada jadwal yang sama atau tidak. Dari jadwal yang telah diolah akan dipilih nilai konflik yang mempunyai tingkat kesalahan terkecil.

(10)

1.1 Latar Belakang

Penjadwalan merupakan pengalokasian sumber daya dalam rentang waktu tertentu untuk menyeleseikan sekumpulan tugas. Penjadwalan sangat penting untuk merancang dan memanajemen suatu sistem yang terdiri dari sejumlah kegiatan dengan keterbatasan sumber daya.

Penjadwalan kegiatan kuliah dalam suatu Perguruan tinggi/kampus adalah suatu hal yang rumit dan sering mengalami kesulitan. Hal ini disebabkan beberapa faktor yang berkaitan yang harus dipertimbangkan antara lain jumlah mata kuliah yang diselenggarakan, jumlah ruangan, jumlah dosen dan jadwal dimana dosen yang bersangkutan tidak bisa mengajar yang seringkali menyebabkan munculnya masalah penjadwalan mata kuliah seperti adanya konflik yang disebabkan pengalokasian mata kuliah dengan dosen dan ruangan yang sering bentrok dengan jadwal mata kuliah, dosen dan ruang yang lain dalam satu periode jadwal kuliah. Distribusi jadwal perkuliahan juga diharapkan dapat merata tiap harinya untuk setiap kelas.

Permasalahan yang sering disebut dengan University Timetabling Problems (UTP) ini. selain dilihat dari sisi mahasiswa, juga harus dilihat dari sisi

(11)

mengajar dua mata kuliah berbeda pada hari dan jam yang sama. Selain itu, harus dipertimbangkan juga ketersediaan kelas sehingga kegiatan belajar dapat dilaksanakan.

Di samping aspek-aspek di atas, dalam penyusunan jadwal kuliah ini pun terdapat sangat banyak kemungkinan yang selayaknya dicoba untuk menemukan penjadwalan yang terbaik. Karena itu dibutuhkan metode optimasi yang dapat diterapkan untuk mengerjakan penjadwalan mata kuliah Terdapat banyak metode yang dapat digunakan untuk menyelesaikan permasalahan penjadwalan, salah satu metode yang dapat digunakan untuk menyelesaikan masalah tersebut adalah ” Metode Algoritma Tabu Search ”.

Tabu Search merupakan sebuah metode optimasi yang berbasis pada

local search. Ide tentang Tabu Search pertama kali diperkenalkan oleh Glover

pada tahun 1970. Tabu Search berkaitan dengan pencarian solusi yang baru, proses pencarian bergerak dari satu solusi ke solusi berikutnya dengan cara memilih solusi terbaik dari neighbourhood solusi sekarang (current) yang tidak tergolong solusi terlarang (tabu).

Ide dasar dari tabu search sendiri adalah mencegah proses pencarian dari local search agar tidak melakukan pencarian ulang pada ruang solusi yang sudah

pernah ditelusuri, dengan memanfaatkan suatu struktur memori yang mencatat sebagian jejak proses pencarian yang telah dilakukan. Struktur memori dalam tabu search dinamakan tabu list. Tabu search mengunakan tabu list untuk

(12)

pencarian mengalami perputaran (cycling) pada solusi yang sama, dan menuntun proses pencarian menelusuri daerah solusi yang belum dikunjungi

Dengan Algoritma Tabu Search tersebut maka dapat dibuat jadwal mata kuliah yang memenuhi kondisi yang diinginkan seperti tidak ada konflik mata kuliah yang diajar dosen secara bersamaan dan kapasitas ruang kuliah dapat disesuaikan. Diharapkan dengan digunakannya algoritma ini akan diperoleh optimasi penjadwalan kuliah sesuai dengan apa yang diaharapkan dan terjadi kombinasi terbaik antara matakuliah dengan dosen pengajar dan tidak ada permasalahan bentrokan jadwal pada sisi mahasiswa, serta ketersediaan ruang yang cukup dan sesuai.

1.2 Rumusan Masalah

Berdasarkan latar belakang permasalahan diatas maka dapat dirumuskan beberapa permasalahan yaitu:

1. Bagaimana memperoleh optimasi penjadwalan kuliah dengan mengunakan Metode Tabu Search.

2. Bagaimana membuat system penjadwalan kuliah yang dapat memecahkan masalah penjadwalan kuliah dengan kombinasi terbaik untuk pasangan mata kuliah dan dosen pengajar secara keseluruhan. 3. Bagaimana menjadwalkan kuliah agar tidak ada masalah bentrokan

(13)

4. Bagaimana merancang sistem dengan antar muka keluaran dan antar muka masukan agar lebih mudah dimengerti oleh pengguna.

1.3 Batasan Masalah

Dalam perancangan dan pembuatan system penjadwalan ini mencakup banyak hal. Agar permasalahan tidak meluas maka perlu adanya batasan masalah yang akan dibahas antara lain :

1. Masalah yang akan dibahas hanya untuk penyusunan penjadwalan kuliah di jurusan Teknik Informatika, Fakultas Industri, UPN “VETERAN” JATIM.

2. Semua Dosen bersedia mengajar kapan saja dan di ruang mana pun. 3. System menggunakan Algoritma Tabu Search tanpa membandingkan

dengan algoritma lain.

4. System tidak menangani optimasi pemakaian waktu (efektifitas) dalam penjadwalan kuliah.

5. Sistem penjadwalan Kuliah ini berbasis desktop yang mengunakan Visual Basic .Net 2005 dan SQL Server 2005.

1.4 Tujuan

Tujuan dari pembuatan system penjadwalan kuliah ini adalah sebagai berikut:

(14)

2. Mengembangkan perangkat lunak dengan menerapkan algoritma Tabu Search untuk membuat penjadwalan kuliah.

1.5 Manfaat

Memudahkan dan membantu pembuatan jadwal kuliah dengan melihat variabel – variabel pembatas yang ada.

1.6 Metodologi Penelitian

Dalam melakukan penelitian ini, metodologi yang digunakan untuk membantu menyelesaikan tugas akhir (TA) adalah sebagai berikut :

1. Studi Pustaka

Pemahaman studi pustaka tentang konsep dan teori dari Metode Algoritma Tabu Search dengan menggunakan Visual Basic.Net 2005

yang berintegrasi dengan database SQL Server 2005. 2. Analisa Sistem

Menganalisa semua informasi yang terkait dengan sistem yang dibangun, mengidentifikasi masalah dan merumuskan solusi konseptualnya.

3. Desain dan Perancangan Sistem

(15)

Perancangan dan pembuatan perangkat lunak pendukung untuk sistem penjadwalan kuliah ini dengan meggunakan tools Visual Basic.Net 2005 dengan SQL Server 2005 sebagai database-nya. 5. Uji Coba dan Evaluasi.

Melakukan uji coba sistem secara keseluruhan apakah terjadi kesalahan dan ketidak akuratan proses untuk secepatnya diperbaiki. 6. Penulisan Skripsi

Menulis segala hasil dari perancangan dan pembuatan sistem penjadwalan kuliah.

1.7 Sistematika Penulisan

Sistematika pembahasan yang akan diuraikan dalam buku laporan proyek akhir ini terbagi dalam bab-bab yang akan dibahas sebagai berikut :

BAB I PENDAHULUAN

Bab ini berisi tentang latar belakang, rumusan masalah, batasan masalah, tujuan, dan sistematika pembahasan dari proyek akhir ini.

BAB II LANDASAN TEORI

(16)

BAB III ANALISA DAN PERANCANGAN SISTEM

Berisi tentang analisa dan perancangan sistem informasi yang antara lain berisi tentang konsep data modeling Entity Relatioship (ER) dari system yang akan dibuat.

BAB IV IMPLEMENTASI PROGRAM

Berisi tentang program yang sudah jadi termasuk fasilitas-fasilitas yang terdapat di dalam program ini.

BAB V PENGUJIAN DAN ANALISA

Membuat hasil pengujian dan analisa terhadap hasil-hasil yang didapat dan memberikan analisa hasil program.

BAB VI PENUTUP

Berisi kesimpulan dan saran serta rencana pengembangan proyek akhir, jika dimungkinkan untuk masa yang akan datang.

DAFTAR PUSTAKA

(17)

2.1 Penjadwalan

Jadwal adalah daftar output (table kegiatan) / rencana kegiatan yang harus dihasilkan dalam jangka waktu tertentu. Biasanya disusun menurut urutan prioritas dengan pembagian waktu pelaksanaan yang terperinci sedangkan Penjadwalan merupakan suatu proses pembuatan atau cara menjadwalkan suatu data menjadi jadwal.

Menurut Marton, 1993. Pendekatan terhadap metode penjadwalan secara garis besar dapat dibagi sebagai berikut:

1. Penjadwalan dilakukan secara manual

Keuntungan dari penjadwalan yang dilakukan dengan manual adalah sebagai berikut:

a. Cepat dan akurat dalam memadukan berbagai keahlian manusia dan prioritas.

b. Mudah mengadaptasi perubahan.

Kekurangan dari penjadwalan yang dilakukan secara manual adalah sebagai berikut:

a. Kurang mampu menguji sejumlah besar prioritas atau keakuratan mengetahui dampak dari aktifitas yang berbeda.

(18)

2. Penjadwalan yang dilakukan dengan simulasi komputer

Kelebihan dari penjadwalan yang dilakukan dengan simulasi komputer adalah sebagai berikut:

a. Mudah dilakukan perubahan.

b. Menunjukan pendekatan yang lebih alami dalam menyajikan keahlian manusia.

c. Hampir nyata dengan sistem nyata.

Kekurangan dari penjadwalan yang dilakukan dengan simulasi komputer adalah sebagai berikut:

a. Hasil tidak selalu optimal.

b. Metode pendekatan tidak selalu tepat.

3. Penjadwalan yang dilakukan secara matematis antara lain sebagai berikut: a. Interger dan Dynamic Programming

Kelebihan dari metode interger dan dynamic programming adalah hasil lebih baik sedangkan kekurangannya adalah perhitungan membutuhkan waktu yang lama.

b. Neighbourhood Search

Kelebihan dari metode ini antara lain sebagai berikut: 1. Hasil yang didapat relatif cepat.

2. Keakuratan hasil tinggi. Sedangkan untuk kekurangannya adalah:

(19)

2.2 Konsep Sistem Kredit Semester

Penyelenggaraan pendidikan di Fakultas Teknologi Industri UPN “Veteran” Jatim, menggunakan Sistem Kredit Semester (SKS), Sistem Kredit Semester mengatur perencanaan, penyusunan dan pelaksanaan program pendidikan dengan menggunakan kredit perkuliahan dan praktikum sebagai tolok ukur beban pendidikan. Setiap mata kuliah dan praktikum diberi bobot dengan keperluan untuk memenuhi pencapaian tujuan pendiddikan. Dalam system kredit, beban studi yang harus diselesaikan oleh mahasiswa pada satu jenjang studi dinyatakan dalam jumlah satuan kredit.

Sistem Kredit Semester adalah suatu system penyelenggaraan pendidikan dengan menggunakan satuan kredit semester (SKS) untuk menyatakan beban studi mahasiswa, beban kerja dosen, pengalaman belajar dan beban penyelenggaraan program.

Semester adalah satuan waktu kegiatan yang terdiri atas 16 – 19 minggu kuliah atau kegiatan terjadwal lainnya, berikut kegiatan iringannya, termasuk 2 – 3 minggu kegiatan penilaian atau ujian.

(20)

2.2.1 Nilai Satuan Kredit Semester Perkuliahan

Nilai Satuan Kredit Semester (1 SKS) untuk perkuliahan ditentukan berdasarkan atas beban kegiatan yang meliputi 3 (tiga) macam kegiatan perminggu selama satu semester sebagai berikut :

a. Untuk Mahasiswa

1. 60 menit acara tatap muka terjadwal dengan tenaga pengajar missal dalam bentuk kuliah.

2. 60 menit acara kegiatan akademik terstruktur, yaitu kegiatan studi yang tidak terjadwal tetapi direncanakan oleh tenaga pengajar seperti misalnya membuat pekerjaan rumah atau menyelesaikan soal – soal.

3. 60 menit acara kegiatan akademik mandiri, yaitu kegiatan yang harus dilakukan mahasiswa secara mandiri untuk mendalami, mempersiapkan atau tujuan lain suatu tugas akademik seperti missal membaca buku referensi.

b. Untuk Tenaga Pengajar (Dosen)

1. 60 menit acara tatap muka terjadwal dengan mahasiswa. 2. 60 menit acara perencanaan dan evaluasi kegiatan akademik

terstruktur.

3. 60 menit pengembangan materi kuliah.

2.2.2 Nilai Satuan Kredit Semester Praktikum

(21)

b. Nilai Satuan Kredit Semester untuk praktikum dilaboratorium adalah beban tugas di laboratorium sebanyak 2 – 3 jam per minggu selama satu semester.

2.3 Tabu Search

Tabu Search merupakan sebuah metode optimasi yang berbasis pada local

search. Ide tentang Tabu Search pertama kali diperkenalkan oleh Glover pada tahun

1970. Kata tabu sendiri berasal dari Tongan, sebuah bahasa polinesia, dimana bahasa tersebut digunakan oleh suku aborigin di pulau Tongan untuk menandakan bahwa sesuatu itu tidak dapat disentuh (tabu) karena hal itu sakral atau terlarang.

Tabu Search sebagaimana di motivasi oleh observasi bahwa tingkah laku

manusia cenderung untuk bergerak secara random yang dapat menyebabkan inkonsisten. “Tidak ada tujuan yang dapat dicapai dengan menerima solusi baru yang

buruk kecuali penerimaan itu ditujukan untuk menghindari bagian yang telah diselidiki, Hal ini akan memastikan daerah baru dari ruang solusi permasalahan yang akan diselidiki sehingga optimal menghindari Local Optimum Solution ” (Glover, 1997).

Tabu Search berkaitan dengan pencarian solusi yang baru, proses pencarian

bergerak dari satu solusi ke solusi berikutnya dengan cara memilih solusi terbaik dari neighbourhood solusi sekarang (current) yang tidak tergolong solusi terlarang (tabu).

(22)

Struktur memori dalam tabu search dinamakan tabu list. Tabu list menyimpan atribut dari sebagian move (transisi solusi) yang telah diterapkan pada iterasi – iterasi sebelumnya. Tabu search mengunakan tabu list untuk menolak solusi – solusi yang memenuhi atribut tertentu guna mencegah proses pencarian mengalami perputaran (cycling) pada solusi yang sama, dan menuntun proses pencarian menelusuri daerah solusi yang belum dikunjungi. Tanpa mengunakan strategi ini, local search yang sudah menemukan solusi optimum local dapat terjebak pada daerah

solusi optimum local tersebut pada iterasi – iterasi berikutnya. Jadi tabu list hanya menyimpan langkah transisi (move) yang merupakan lawan atau kebalikan dari langkah yang telah digunakan dalam iterasi sebelumnya untuk bergerak dari satu solusi ke solusi berikutnya. Dengan kata lain tabu list berisi langkah – langkah yang membalikkan solusi yang baru ke solusi yang lama.

Struktur tabu search mengunakan 4 dimensi, terdiri dari Regency, Frequency, Quality, Influence yang ditunjukan oleh gambar sebagai berikut:

(23)

Regency – Based dan Frequency – Based memori saling melengkapi satu

sama lain. Dimensi Quality bergabung dengan kemampuan membedakan manfaat solusi yang diperoleh selama proses pencarian. Memori dapat mengidentifikasi elemen yang umum pada solusi yang baik atau pada path yang mengarah pada solusi yang baik. Sedangkan dimensi Influence mempertimbangkan akibat pilihan yang dibuat selama proses pencarian tidak hanya terhadap kualitas maupun struktur.

Komponen yang penting dari tabu search adalah strategi intersifikasi dan diversifikasi, strategi intersifikasi didasarkan pada modifikasi aturan pemilihan untuk

mendorong kombinasi move–move dan ciri–cirri solusi terdahulu yang baik, menentukan kembali pada area yang menarik untuk diselidiki lebih dalam lagi. Sebaliknya strategi diversifikasi mendorong proses pencarian untuk menyelidiki area yang belum dikunjungi.

Tabu search dapat diaplikasikan secara langsung baik verbal atau

pernyataan simbolik dari berbagai masalah keputusan tanpa harus mengubah dalam bentuk formulasi matematika untuk mengekspresikan secara jelas ruang lingkup dan batasan masalah yang dihadapi. Permasalah tersebut dapat dikarakteristik sebagai permasalahan optimasi (maksimum atau minimum) dari fungsi tujuan f(x) dengan konstrain x € x dimana f(x) merupakan formulasi linier ataupun non linier dan satuan x merupakan himpunan variabel keputusan x pada konstrain yang ada.

Algoritma tabu search memiliki kemampuan untuk keluar dari local optimal tetapi Tabu Search tidak dapat menentukan global optimal. Tabu Search

(24)

berbagai Space Search Area. Semakin besar jumlah maksimum iterasi, semakin besar pula peluang untuk menentukan solusi optimal secara global, namun memerlukan waktu perhitungan yang lama. Sedangkan parameter Maksimal iterasi yang merupakan suatu batasan jumlah iterasi yang dilakukan pada suatu area tertentu mendorong suatu langkah diverifikasi demi menghindari keterjebakan dalam suatu local optimal.

Secara garis besar elemen – elemen utama pada tabu search adalah sebagai berikut:

1. Representasi solusi: setiap solusi pada suatu permasalahan optimasi harus dipresentasikan secara unik.

2. Fungsi cost: setiap fungsi cost (fungsi tujuan) akan memetakan fungsi ke nilai cost-nya.

3. Neighbourhood (tetangga): setiap fungsi cost akan memetakan setiap solusi S ke solusi – solusi yang lainnya.

(25)

Algoritma Tabu Search secara umum dapat dituliskan sebagai berikut:

Solusi akhir adalah Best, dengan Cost sebesar GlobalMin.

2.3.1 Tabu Search Kombinasi untuk Masalah Pengalokasian

Tabu Search merupakan sebuah pendekatan meta heuristik yang biasanya

(26)

(Timetable) yang dilakukan secara berurutan sampai tidak ada lagi perbaikan dari fungsi tujuan.

Pendekatan global ini merupakan suatu prosedur heuristik dimana tiap iterasi, satu atau lebih courses dialokasikan kembali pada periode waktu yang berbeda. Demikian pula pada tiap iterasi dihasilkan kembali pada course section yang berbeda sehingga model ini dihasilkan sebuah kondisi Local Optimum (tetapi umumnya mendekati global).

Tapi untuk masalah optimasi kombinatorial skala besar algoritma tabu search yang paling efisien dibandingkan metode heuristik lainnya karena tabu search

ini memiliki daerah pencarian yang luas dan mencegah adanya pengulangan move sebelumnya.

2.4 Konsep Dasar Sistem

Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu. Istilah lain dari suatu sistem adalah kumpulan dari elemen-elemen yang masing-masing elemen berinteraksi atau saling mempengaruhi untuk mewujudkan suatu kegiatan bersama.

(27)

Siklus hidup sistem adalah sebuah aplikasi dalam pendekatan sistem untuk mengembangkan sistem informasi berbasis komputer. Siklus hidup sistem terbagi menjadi 5 tahap, yaitu :

2.4.1 Perencanaan

Meliputi perumusan masalah, pendefinisian masalah, penyatuan keobyektifan sistem, mengenali bagian-bagian sistem, melakukan studi kelayakan, menyiapkan sebuah proposal sistem, menyetujui atau menolak proyek serta menetapkan sebuah mekanisme kontrol.

2.4.2 Desain

Meliputi persiapan detail desain sistem, mengenali konfigurasi alternatif sistem, melakukan evaluasi konfigurasi alternatif sistem, menyeleksi konfigurasi terbaik, menyiapkan proposal penerapan serta menyetujui atau menolak penerapan sistem.

2.4.3 Implementasi

Meliputi perencanaan penerapan, perumusan penerapan, pengenalan hardware, pengenalan software, menyiapkan database, menyiapkan fasilitas fisik,

(28)

2.4.4 Operasi

Meliputi penggunaan sistem, audit sistem, perawatan sistem, menyiapkan proposal perancangan ulang, serta menyetujui atau menolak proposal perancangan ulang.

2.5 Pemodelan Data

Model Data adalah kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, semantik (makna) data dan batasan data.

2.5.1 Entity Relationship Diagram (ERD)

Sesuai dengan namanya, Entity Relationship Diagram (ERD) dibentuk dari 2 komponen utama, yakni:

a) Entitas (entity) b) Relasi (relation)

Yang dideskripsikan lebih detail dengan sejumlah atribute (properti).

2.5.2 Entitas dan Attribut

Entitas (entity), merupakan obyek yang mewakili sesuatu dalam dunia nyata, baik secara fisik (mobil, rumah, manusia, pegawai dsb) ataupun secara konsep (departmen, pekerjaan, mata kuliah dsb) dan dapat dibedakan antara satu dengan lainnya (unique).

(29)

fakta yang ada atau berdasarkan kebutuhan. Atribut identik dengan kolom data atau field dalam sebuah tabel.

Key Atribute

Atribut Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan antara satu dengan lainnya (unik) dari seluruh data yang terdapat di dalam sebuah tabel.

Attribut key dibagi menjadi 3 : a. Super Key

Merupakan satu atau gabungan atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.

b. Candidate Key

Adalah super key yang jumlah atributnya minimal (paling sedikit). c. Primary Key

Adalah sebuah candidate key yang dipilih berdasarkan: 1. Key tersebut lebih sering untuk dijadikan acuan.

2. Key tersebut lebih ringkas.

3. Jaminan keunikan key tersebut lebih baik.

2.5.3 Relasi

(30)

Derajat Kardinalitas relasi (Cardinality Ratio)

Kardinalitas relasi menunjukkan jumlah maksimum data entitas yang dapat

berelasi dengan entitas lain. 1. Satu ke satu (one to one)

Setiap data pada entitas A berhubungan dengan maksimal satu data pada entitas B, begitu pula sebaliknya.

2. Satu ke Banyak (one to many)

Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, tetapi data pada entitas B berhubungan maksimal hanya dengan

sebuah data di A.

3. Banyak ke Satu (many to one)

Merupakan kebalikan dari relasi satu ke banyak. 4. Banyak ke Banyak (many ke many)

Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, demikian pula sebaliknya. Kardinalitas satu ke banyak maupun

banyak ke satu bisa dianggap sama.

2.5.4 Data Flow Diagram (DFD)

Pada Data Flow Diagram (DFD) atau diagram aliran data ini disebutkan hal-hal seperti berikut:

a. Eksternal Entity

(31)

b. Arus Data

Menunjukkan arus dari data yang dapat berupa masukan untuk sistem atau hasil dari proses sistem. Arus data ini mengalir diantara proses Data Store dan External Entity

c. Proses

Merupakan kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses.

d. Penyimpanan Data

Merupakan simpanan dari data yang berupa file atau database dari komputer, arsip atau catatan manual. (Annynomous, 2005)

2.6 SQL

SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data

relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya. Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language).

(32)

mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R. Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92.

Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing. Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD), namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI.

Data Definition Language

DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.

Data Manipulation Language

(33)

b. INSERT untuk menambahkan data baru

c. UPDATE untuk mengubah data yang sudah ada d. DELETE untuk menghapus data

Fungsi Aggregat

Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:

a. SUM untuk menghitung total nominal data

b. COUNT untuk menghitung jumlah kemunculan data c. AVG untuk menghitung rata-rata sekelompok data

d. MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari sekelompok data.

Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi aggregat diletakkan pada bagian HAVING, bukan WHERE.

Subquery

Ada kalanya query dapat menjadi kompleks, terutama jika melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD mengizinkan penggunaan subquery.

2.6.1 SQL Server 2005

Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase.

(34)

digunakannya SQL Server pada basis data besar. Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protokol TDS (Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman Java.

Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering. Pada versi sebelumnya, MS SQL Server 2000 terserang oleh cacing komputer SQL Slammer yang mengakibatkan kelambatan akses Internet pada tanggal 25 Januari 2003.

2.7 Visual Basic.Net 2005

Pada awalnya bahasa pemrograman Visual Basic merupakan bahasa yang Objek-based (komponen-komponen program dibuat dalam bentuk obyek). Namun setelah kehadiran bahasa pemrograman visual basic 6 sudah mulai dikenalkan metode-metode pemrograman berorientasi obyek atau sering disebut dengan OOP (Object Oriented Programming), tetapi masih belum sepenuhnya metode tersebut digunakan. Baru setelah Visual Basic.Net dirilis, bahasa pemrograman ini menjadi bahasa yang Object Oriented. Dengan demikian bahsa pemrograman Visual Basic.Net merupakan bahasa pemrograman yang benar-benar beorientasi obyek dengan mendukung empat pilar utama dari OOP, yaitu Abstraction, Inheritance, Polymorphism, dan Encapsulation.

(35)
(36)

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

(37)

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

(38)

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:

(39)

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 data(matkul, 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.2Flowchart

(40)
[image:40.612.173.499.101.555.2]

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 data(matkul, 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

(41)

A

Lanjutan Gambar 3.1 Flowchart pengolahan data mengunakan metode tabu search

3.2.3Ketetapan 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

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

(42)

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.4Fungsi Tujuan

Meminimalkan Q (konflik) (1) Batasan :

Qx(t+1) ≤ Qxt…………..(Qxt) Axt (2)

Variabel Keputusan

Qx(t+1) ≤ 0…………..(Qxt) Axt (3)

(43)

semakin minimum konflik jadwal, maka semakin optimal jadwal kuliah yang dihasilkan.

Fungsi Tujuan :

Meminimumkan (makespan) =

Meminimumkan (Q jadwal(akhir) – 0 ) = Meminimumkan (Q jadwal(akhir) ) = 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.5Klasifikasi 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.1Hard Constraint

Hard Constraint didefinisikan sebagai constraint wajib yang harus

(44)

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

(45)

Keterangan :

h = menyatakan hari

n = menyatakan maksimal hari t = menyatakan waktu(jam)

m = menyatakan maksimal waktu(jam) 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 waktu(jam) dari hari senin sampai jum’at dan menjumlahkan semua konflik yang diperoleh.

3.2.6Aturan – aturan terjadi konflik (nilai yang sama)

[image:45.612.221.430.109.321.2]

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

(46)

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

(47)

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.

(48)
[image:48.612.148.490.128.494.2]

3.2.7 Workflow

Gambar 3.2 Workflow penjadwalan kuliah

(49)

diambil dari database sistem dan memberikan jadwal kuliah kepada mahasiswa dan dosen yang bersangkutan.

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

0

Penjadwalan Kuliah Dengan Menggunakan

[image:49.612.131.493.199.443.2]
(50)

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 kajur/Sekjur dan dosen/mahasiswa. Entitas pertama, kajur/Sekjur 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 kajur/Sekjur. Entitas kedua, dosen/mahasiswa akan memperoleh jadwal perkuliahan untuk mahasiswa dan memperoleh jadwal mengajar untuk dosen.

3.2.10 DFD level 0

(51)
[image:51.612.135.503.115.391.2]

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.

(52)

Proses ketiga, dari database matakuliah akan dipilih matakuliah yang akan diadakan berdasarkan periode sekarang genap/ganjil. Serta menentukan jumlah kelas dengan berdasarkan jumlah mahasiswa atau jumlah mahasiswa yang mengambil matakuliah tersebut.

Proses keempat, proses untuk menentukan sebuah solusi awal jadwal perkuliahan(jadwal 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 kajur/sekjur untuk

penyusunan laporan.

3.2.11 DFD level 1

(53)
[image:53.612.134.503.113.379.2]

Gambar 3.6 DFD Level 1 sub proses menyeleksi dan menentukan matakuliah yang diadakan

(54)
[image:54.612.135.504.136.429.2]

2). Sub Proses Menyusun Jadwal Awal

Gambar 3.7 DFD Level 1 sub proses menyusun jadwal awal

(55)
[image:55.612.136.505.142.374.2]

3). Sub Proses Optimasi Jadwal dengan Metode Tabu Search

Gambar 3.8 DFD Level 1 sub proses optimasi jadwal dengan metode Tabu Search

(56)

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

a). Model Data Konseptual (Conseptual Data Model)

(57)
[image:57.612.134.504.114.441.2]

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)

(58)
[image:58.612.135.506.188.537.2]

basis data yang disimpan. Model data ini menghasilkan table-tabel yang nantinya akan dipakai dalam implementasi system yang dibuat. Untuk lebih jelasnya dapat dilihat pada gambar di bawah ini:

Gambar 3.10 PDM (Physical Data Model)

3.3.2Perancangan Tabel

(59)

1. Tabel mata_kuliah

Tabel ini digunakan untuk menyimpan data matakuliah. Dalam tabel ini terdapat 1 primary key yaitu kd_mk.

Tabel 3.3 Tabel mata_kuliah

2. Tabel dosen

Tabel ini digunakan untuk menyimpan data dosen. Dalam tabel ini terdapat 1 primary key yaitu NIP dosen.

Tabel 3.4 Tabel dosen

3. Tabel kompetensi_dsn

Tabel kompetensi_dsn dihasilkan dari relasi antara tabel dosen dan tabel mata kuliah, tabel ini digunakan untuk menyimpan kompetensi dosen. Dalam tabel ini terdapat 2 primary key dan 2 foreign key.

Tabel 3.5 Tabel kompetensi_dsn

No Nama Fields Type Panjang Const Keterangan

1 KD_MK VARCHAR 15 PK Kode matakuliah

2 MATAKULIAH VARCHAR 50 Nama matakuliah

3 SKS INT sks matakuliah

4 SEMESTER INT Semester matakuliah

5 STATUS_MK VARCHAR 15 Status mk(ganjil/genap)

No Nama Fields Type Panjang Const Keterangan

1 NIP_DSN VARCHAR 15 PK NIP Dosen

2 NAMA_DSN VARCHAR 50 Nama Dosen

No Nama Fields Type Panjang Const Keterangan

1 NIP_DSN VARCHAR 15 PK,FK NIP Dosen

(60)

4. Tabel mk_periode

Tabel ini digunakan untuk menyimpan matakuliah-matakuliah yang akan diselenggarakan dalam satu jadwal.Dalam tabel ini terdapat 2 primary key dan 1 foreign key.

Tabel 3.6 Tabel mk_periode

5. Tabel ruang

Tabel ini digunakan untuk menyimpan data ruangan untuk perkuliahan. Dalam tabel ini terdapat 1 primary key yaitu kode ruangan.

Tabel 3.7 Tabel ruang

6. table jadwal

Tabel ini digunakan untuk menyimpan data solusi awal jadwal kuliah. Dalam tabel ini terdapat 5 primary key dan 4 foreign key.

Tabel 3.8 Tabel jadwal

No Nama Fields Type Panjang Const Keterangan

1 NIP_DSN VARCHAR 15 PK,FK NIP Dosen

2 KD_RUANG VARCHAR 15 PK,FK Kode(no) ruangan

3 KD_MK VARCHAR 15 PK,FK Kode matakuliah

4 KD_PERIODE VARCHAR 15 PK,FK Kode Periode

5 CLASS_PAR VARCHAR 3 PK Kode denda

No Nama Fields Type Panjang Const Keterangan

1 KD_MK VARCHAR 15 PK,FK Kode matakuliah

2 KD_PERIODE VARCHAR 15 PK Kode Periode

3 KPS_CLASS INT Kapasitas kelas

4 JUMLAH_MHS INT Jumlah mahasiswa

5 JUMLAH_CLASS INT Jumlah kelas

No Nama Fields Type Panjang Const Keterangan

1 KD_RUANG VARCHAR 15 PK,FK Kode(no) ruangan

(61)

7. table temp_jadwal

Tabel ini digunakan untuk menyimpan data solusi jadwal terbaik dari proses pengolahan data mengunakan metode tabu search dan juga sebagai tempan penyimpanan proses iterasi Tabu Search(tabu list). Dalam tabel ini terdapat 5 primary key dan 5 foreign key

Tabel 3.9 Tabel temp_jadwal

No Nama Fields Type Panjang Not

Null Keterangan

1 NIP_DSN VARCHAR 15 PK,FK NIP Dosen

2 KD_RUANG VARCHAR 15 PK,FK Kode(no) ruangan

3 KD_MK VARCHAR 15 PK,FK Kode matakuliah

4 KD_PERIODE VARCHAR 15 PK,FK Kode Periode

5 CLASS_PAR VARCHAR 3 PK,FK Kode denda

6 JDWL_HR VARCHAR 15 Temp Jadwal hari

7 JDWL_JAM VARCHAR 15 Temp Jadwal jam

8 MAX_ITR INT Proses iterasi ke

8. Tabel login

Tabel ini digunakan untuk menyimpan id yang digunakan untuk masuk kedalam aplikasi penjadwalan kuliah. Dalam tabel ini terdapat 1 primary key yaitu kode penguna (user).

Tabel 3.10 Tabel login

9. Tabel Hak_akses

Tabel ini digunakan untuk menyimpan data penguna (user) dan hak akses pada aplikasi penjadwalan ujian.

No Nama Fields Type Panjang Const Keterangan

1 ID_LOGIN VARCHAR 50 PK Id untuk login

(62)

Dalam tabel ini terdapat 1 primary key dan 1 foreign key. yaitu kode penguna (user).

Tabel 3.11 Tabel hak_akses

3.4 Perancangan antar muka sistem

Tahap ini dilakukan setelah diketahui informasi – informasi apa saja yang akan terlibat dalam sistem. Dalam melakukan perancangan antar muka ini diharapkan mampu memenuhi aspek-aspek sebagai berikut:

1. mudah dibaca dan dimengerti

2. ergonomis untuk tata letak visualisasinya

3. sederhana, tidak harus melalui prosedur yang rumit 4. dan lain sebagainya

data masukan yang dibuat merupakan visualisasi kondisi di waktu sekarang berupa matakuliah, dosen, ruangan yang ada sekarang untuk digunakan sebagai ruang perkuliahan. Sedangkan format keluaran merupakan hasil laporan yang merupakan output dari hasil pengolahan data oleh aplikasi.

Untuk memberikan gambaran awal tentang antar muka penjadwalan kuliah dengan mengunakan metode tabu search dari desain aplikasi, maka perlu dibuat suatu rancangan masukan dan keluar aplikasi sebagai berikut:

No Nama Fields Type Panjang Const Keterangan

1 ID_LOGIN VARCHAR 50 PK Id untuk login

2 NM_USER VARCHAR 50 Nama pengguna

(63)

a. Form Data Mata Kuliah

Gambar 3.11 Form Data Mata Kuliah

1. Input data matakuliah untuk menginputkan data-data matakuliah ke database.

2. Kontrol proses untuk mengolah data(tambah, ubah, hapus, dsb). 3. data matakuliah untuk menampilkan data-data matakuliah dari

database.

b. Form Data Dosen

(64)

1. Input data dosen untuk memasukkan data dan data kompetensi dosen kedalam database.

2. Kontrol proses untuk mengolah data(tambah, ubah, hapus, dsb). 3. Data dosen untuk menampilkan data-data dosen dari database. 4. Kompetensi untuk menampilkan kompetensi berdasarkan data

dosen.

c. Form Data Ruangan

Gambar 3.13 Form Data Ruangan

1. Input data matakuliah untuk menginputkan data-data matakuliah ke database.

2. Kontrol proses untuk mengolah data(tambah, ubah, hapus, dsb). 3. data matakuliah untuk menampilkan data-data ruangan dari

(65)
[image:65.612.158.505.141.413.2]

d. Form Data Mata Kuliah yg diadakan

Gambar 3.14 Form Data Matakuliah yang Diadakan

1. Input data matakuliah diadakan untuk memasukkan data matakuliah berdasarkan periode kedalam database.

2. Kontrol proses untuk mengolah data(tambah, ubah, hapus, dsb). 3. Data matakuliah untuk menampilkan data-data matakuliah dari

database untuk dipiih sebagai matakuliah diselenggarakan.

(66)

e. Form Jadwal Awal

Gambar 3.15 Form Jadwal Awal

1. Input data matakuliah dan ruangan untuk menentukan data matakuliah berdasarkan periode yang diselenggarakan dan ruangan yang digunakan.

2. Input data dosen untuk menentukan data dosen yang mengajar matakuliah tersebut.

3. input jadwal untuk menentukan jadwal awal matakuliah. 4. Kontrol proses untuk mengolah data(tambah, ubah, hapus, dsb). 5. Data matakuliah untuk menampilkan data-data matakuliah dari

database untuk menentukan jadwal awal.

(67)

7. data jadwal awal untuk menampilkan data jadwal awal dari database.

f. Form Proses Tabu Search

Gambar 3.16 Form Proses Tabu Search

1. Jadwal kuliah untuk menampilkan jadwal terbaik yang dipilih 2. Input parameter Tabu Search merupakan input atau masukan yang

digunakan dalam proses optimasi seperti maksimal proses iterasi. 3. Output parameter Tabu Search merupakan output atau hasil dari

proses optimasi berupa konflik, iterasi terbaik, konflik total tiap iterasi, dll.

(68)

4.1

Kebutuhan Sistem

Aplikasi Penjadwalan kuliah ini memerlukan perangkat keras (Hardware) dan

perangkat lunak (Software) , agar dapat berjalan sesuai dengan yang diharapkan.

Dalam Perancangan dan pembuatan aplikasi ini dibutuhkan perangkat keras

(Hardware) dan perangkat lunak (Software) sebagai berikut:

1.

perangkat lunak (Software)

Perangkat lunak yang diperlukan dalam pembuatan dan perancangan

aplikasi ini adalah:

a.

Sistem Operasi minimal windows 9x

b.

Microsoft Visual Studio .Net 2005

c.

Microsoft SQL Server 2005

d.

Microsoft Office 2003

e.

Power Designer versi 6.0

2.

perangkat keras (Hardware)

Selain perangkat lunak yang telah disebutkan diatas dalam pembuatan

dan perancangan aplikasi penjadwalan kuliah ini juga dibutuhkan spesifikasi

perangkat keras sebagai berikut:

(69)

e.

VGA dengan memory minimal 8 MB atau lebih

f.

Printer

g.

Mouse dan keyboard

4.2

Implementasi Aplikasi

Pada Sub bab ini akan diberikan gambaran tampilan aplikasi, fungsi dan

cara penggunaan. Ketika program dijalankan akan muncul tampilan selamat datang

seperti gambar 4.1. Ini merupakan tampilan awal yang akan ditampilkan pertama kali

[image:69.612.112.531.360.624.2]

ketika user akan login ke dalam sistem.

(70)

sistem. Di dalam aplikasi ini berisi proses loading untuk login ke dalam sistem.

Setelah form ini selesai dijalankan maka akan muncul form login seperti

[image:70.612.184.457.197.418.2]

dibawah ini:

Gambar 4.2 Login Aplikasi

Form login pada gambar 4.2 ini digunakan untuk login dan masuk ke dalam

sistem. Yang dilakukan user adalah dengan cara memasukkan ID dan PASSWORD

apabila user memasukkan id dan password yang salah maka user tidak akan dapat

masuk ke sistem. Dengan menekan tombol login maka akan dilakukan pengecekan

kedalam database apabila cocok maka user dapat masuk kedalam aplikasi. Untuk

(71)
[image:71.612.114.528.111.358.2]

Gambar 4.3 Tampilan Utama Aplikasi

Tampilan setelah login user maka sub-sub menu bisa diakses dan digunakan.

Untuk menu user dengan hak akses admin terdapat 3 menu utama yang didalamnya

terdapat sub-sub menu. sub menu user terdapat sub menu change password dan

maintenance user Sedangkan untuk user dengan hak akses selain admin hanya

terdapat 2 menu utama yaitu menu user dan menu seleksi yang didalam menu user

hanya terdapat sub menu change password.

Form utama ini juga berfungsi untuk memproses jadwal awal. Untuk

memproses jadwal awal yang diinginkan user memasukan periode dan jadwal awal

yang diinginkan. Maka aplikasi akan menampilkan jadwal awal dari database dengan

(72)
[image:72.612.114.528.86.330.2]

Gambar 4.4 Load jadwal Awal

Kemudian user memasukkan batas iterasi untuk melakukan proses optimasi

jadwal. Setelah User menekan tombol Proses maka jadwal akan diproses dengan

menggunakan metode Tabu search, Proses akan berhenti jika sudah menemukan

jadwal dengan total nilai konfilk = 0 atau iterasi sudah mencapai batas maksimal

iterasi yang telah ditentukan. Form juga dapat menampilkan hasil iterasi yang bisa

dilihat dengan memilih list iterasi yang ditampilkan. User juga dapat mencetak jadwal

(73)
[image:73.612.115.528.86.331.2]

Gambar 4.5 Hasil Optimasi

Setelah User menekan tombol proses maka akan ditampilkan hasil optimasi

dengan metode tabusearch seperti gambar diatas. Selanjutnya user dapat menyimpan

atau langsung mencetak dengan menekan tombol print. Kemudian akan ditampilkan

jadwal yang telah dioptimasi ke Microsoft Office Excel 2003 sehingga user dapat

menyimpan atau mengubah ataupun langsung mencetak jadwal tersebut. Pada form

menu utama ini juga terdapat hasil iterasi yang dapat ditampilkan jika user memilih

proses iterasi keberapa dari list iterasi yang ditampilkan.

4.2.2

Form Sub Menu User

Setelah mengetahui form utama pada aplikasi ini, selanjutnya akan di

(74)
[image:74.612.113.526.84.332.2]

Gambar 4.6 Tampilan Sub Menu User

Seperti pada gambar di atas, ini adalah form sub menu file, Disini sub menu

file memiliki 2 sub menu:

1.

Change Pasaword (untuk mengganti password dari user yang sedang login).

2.

Maintenance User (untuk menambah dan menghapus user, sub menu ini

hanya ada pada user dengan hak akses admin).

4.2.2.1

Form Sub Menu User Change Password

Form Cange password digunakan untuk mengubah password login dari user

yang sedang aktif atau sedang login dalam aplikasi. Ketika form dibuka maka akan

(75)
[image:75.612.159.484.85.335.2]

Gambar 4.7 Tampilan Sub Menu User Change Password

Untuk mengubah password user harus mengisi password lama dan password

baru juga konfirmasi password seperti dalam gambar diatas. Password akan dirubah

setelah user menekan tombol ubah, tombol cancel untuk membatalkan.

4.2.2.2

Form Sub Menu User Maintenance User

Form Maintenance User digunakan untuk menyimpan, menambah, dan

mengubah data user. Form ini hanya ditampilkan pada user dengan hak akses admin,

user dengan hak akses admin dapat menambah data user pengguna, mengubah data

(76)

Gambar

Gambar 3.1 Flowchart pengolahan data mengunakan metode tabu search
Tabel 3.1 Tabel Kombinasi Jadwal
Gambar 3.2 Workflow penjadwalan kuliah
Gambar 3.3  Diagram berjenjang
+7

Referensi

Dokumen terkait

Sebagai contoh; energi (bahan bakar) yang benar-benar dapat dimanfaatkan (useful energy) untuk memasak diasumsikan 1,02 GJ/kapita/ tahun (Anonim, 1993). berdasarkan efisiensi

So, like using Yelp and Foursquare together, I think Facebook Places and Google Hotpot are services that are complementary.. 107 Picking the Right Service

[r]

Puji syukur penulis kepada Allah SWT, atas berkah dan rahmat-Nya sehingga peneliti dapat menyelesaikan skripsi dengan judul “ Perbedaan Rasio Inti dan Sitoplasma Sel

ukuran/dimensi yang dipersyaratkan. Rehabilitasi jamban siswa atau guru dengan tingkat kerusakan bangunan lebih dari 30 persen dengan sanitasinya. Jenis ruang yang

Dalam rangka menyiapkan calon lulusan yang kompeten pada program studi yang ada di Jurusan Teknologi Informasi, pada semester terakhir mahasiswa diharuskan untuk

Pelaksanaan Peningkatan Kemampuan Pengawak Simak BMN dan Penerapan Aplikasi Simak BMN Kemenkeu di Lingkungan Kemhan/TNI terdiri dari teori tentang penatausahaan

Menurut peneliti beban kerja yang ringan akan membuat perawat IGD RSUD Jombang merasa puas dengan pekerjaan yang dilakukannya, hal ini dipengaruhi oleh tingkat