Penerapan Algoritma Genetik untuk Aplikasi Penjadwalan Kuliah di FTI UKM.

(1)

vii

Masalah penjadwalan kuliah merupakan salah satu masalah yang cukup menantang untuk diselesaikan. Banyaknya konstrain atau masalah yang harus diperhatikan membuat penyusunan jadwal tersebut semakin sulit. Masalah tersebut antara lain jenis mata kuliah, jadwal dosen, ketersediaan ruangan, dan jadwal mahasiswa. Aplikasi penyusunan jadwal kuliah dengan menggunakan algoritma genetik ini dibuat untuk membantu menyelesaikan permasalah tersebut.

Algoritma genetik sebagai salah satu algoritma pencarian banyak digunakan untuk menyelesaikan masalah optimasi. Untuk mendapatkan solusi terbaik dari jadwal kuliah diperlukan pemodelan data yang khusus untuk penjadwalan kuliah pula. Berbagai operator genetik juga digunakan untuk melakukan proses regenerasi, pindah silang dan mutasi. Tahap akhir dari proses iterasi dalam algoritma genetik akan mendapatkan hasil kromosom dengan nilai fitness terbaik yang akan menjadi solusi jadwal kuliah.

Kata kunci: Penjadwalan Kuliah, Algoritma Genetik, Regenerasi, Pindah Silang, Mutasi, Kromosom.


(2)

viii

Lecture timetabling is a problem that challenging to be solved. Attention to a lot of constraints makes the process more difficult. The constraints are lecturing subject, lecturer availability time, classrooms availability, and student availability. These lecture timetabling applications use the genetic algorithm to solve that problem.

Genetic algorithm as one of searching algorithm is often used to solve optimization problem. In order to get the best possible solution for lecture timetabling, it needs data modeling that specialized for lecture timetabling. Several genetic operators were used to do the regeneration process, crossover, and mutation. The last step of iteration process in genetic algorithm will produce chromosome with the best fitness value that become the lecture timetabling solution.

Keywords: Lecture Timetabling, Genetic Algorithm, Regeneration, Crossover, Mutation, Chromosome.


(3)

ix

LEMBAR PENGESAHAN TUGAS AKHIR ... ii

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI ... iii

SURAT PERNYATAAN ORISINALITAS LAPORAN ... iv

ABSTRAK ... v

A BSTRACT………..………...vi

KATA PENGANTAR………...vii

DAFTAR ISI ... ix

DAFTAR GAMBAR ... xii

DAFTAR TABEL ... xvi

DAFTAR ALGORITMA ... xviii BAB I PERSYARATAN PRODUK ... I - 1

1.1 Pendahuluan ... I - 1 1.1.1 Tujuan ... I - 3 1.1.2 Ruang Lingkup ... I - 3 1.1.3 Defenisi, Akronim, dan Singkatan ... I - 3 1.1.4 Overview ... I - 4 1.2 Gambaran Keseluruhan ... I - 5 1.2.1 Perspektif Produk ... I - 5 1.2.1.1 Antarmuka Sistem ... I - 5 1.2.1.2 Antarmuka Dengan Pengguna ... I - 6 1.2.1.3 Antarmuka Perangkat Keras ... I - 6 1.2.1.4 Antarmuka Perangkat Lunak ... I - 6 1.2.1.5 Antarmuka Komunikasi ... I - 8 1.2.1.6 Batasan Memori ... I - 8 1.2.1.7 Operasi-Operasi ... I - 8 1.2.1.8 Persyaratan Adaptasi Tempat Tujuan ... I - 9 1.2.2 Fungsi Produk ... I - 10 1.2.3 Karakteristik Pengguna ... I - 10 1.2.4 Batasan ... I - 10 1.2.5 Asumsi dan Ketergantungan ... I - 11 1.2.6 Penundaan Persyaratan ... I - 11 BAB II SPESIFIKASI PRODUK ... II - 1 2.1 Persyaratan Antarmuka Eksternal ... II - 1 2.1.1 Antarmuka Dengan Pengguna ... II - 1 2.1.2 Antarmuka Perangkat Keras ... II - 2 2.1.3 Antarmuka Perangkat Lunak ... II - 2 2.1.4 Antarmuka Komunikasi ... II - 2 2.2 Fitur-Fitur Produk Perangkat Lunak ... II - 2 2.2.1 Fitur log-in ... II - 3 2.2.1.1 Tujuan ... II - 3 2.2.1.2 Urutan Stimulus/Respon ... II - 3 2.2.1.3 Persyaratan Fungsional Yang Berhubungan ... II - 3


(4)

x

2.2.1.3.1. Masukan ... II - 3 2.2.1.3.2. Pemrosesan ... II - 3 2.2.1.3.3. Keluaran ... II - 4 2.2.2 Fitur pengelolaan pengguna ... II - 4 2.2.2.1 Tujuan ... II - 4 2.2.2.2 Urutan Stimulus/Respon ... II - 4 2.2.2.3 Persyaratan Fungsional Yang Berhubungan ... II - 4 2.2.2.3.1 Masukan ... II - 4 2.2.2.3.2 Pemrosesan ... II - 5 2.2.2.3.3 Keluaran ... II - 5 2.2.3 Fitur pengelolaan data mata kuliah ... II - 5 2.2.3.1 Tujuan ... II - 5 2.2.3.2 Urutan Stimulus/Respon ... II - 5 2.2.3.3 Persyaratan Fungsional Yang Berhubungan ... II - 5 2.2.3.3.1 Masukan ... II - 5 2.2.3.3.2 Pemrosesan ... II - 6 2.2.3.3.3 Keluaran ... II - 6 2.2.4 Fitur pengelolaan data dosen ... II - 6 2.2.4.1 Tujuan ... II - 6 2.2.4.2 Urutan Stimulus/Respon ... II - 6 2.2.4.3 Persyaratan Fungsional Yang Berhubungan ... II - 6 2.2.4.3.1 Masukan ... II - 6 2.2.4.3.2 Pemrosesan ... II - 7 2.2.4.3.3 Keluaran ... II - 7 2.2.5 Fitur pengelolaan penugasan dosen ... II - 7 2.2.5.1 Tujuan ... II - 7 2.2.5.2 Urutan Stimulus/Respon ... II - 7 2.2.5.3 Persyaratan Fungsional Yang Berhubungan ... II - 8 2.2.5.3.1 Masukan ... II - 8 2.2.5.3.2 Pemrosesan ... II - 8 2.2.5.3.3 Keluaran ... II - 8 2.2.6 Fitur pengelolaan ruangan ... II - 8 2.2.6.1 Tujuan ... II - 8 2.2.6.2 Urutan Stimulus/Respon ... II - 8 2.2.6.3 Persyaratan Fungsional Yang Berhubungan ... II - 9 2.2.6.3.1 Masukan ... II - 9 2.2.6.3.2 Pemrosesan ... II - 9 2.2.6.3.3 Keluaran ... II - 9 2.2.7 Fitur penyusunan jadwal kuliah ... II - 9 2.2.8.1 Tujuan ... II - 9 2.2.8.2 Urutan Stimulus/Respon ... II - 9 2.2.8.3 Persyaratan Fungsional Yang Berhubungan ... II - 10 2.2.8.3.1 Masukan ... II - 10 2.2.8.3.2 Pemrosesan ... II - 10 2.2.8.3.3 Keluaran ... II - 10 2.2.8 Fitur pendistribusian mahasiswa ... II - 10


(5)

xi

2.2.8.1 Tujuan ... II - 10 2.2.8.2 Urutan Stimulus/Respon ... II - 11 2.2.8.3 Persyaratan Fungsional Yang Berhubungan ... II - 11 2.2.8.3.1 Masukan ... II - 11 2.2.8.3.2 Pemrosesan ... II - 11 2.2.8.3.3 Keluaran ... II - 11 2.3 Batasan Desain ... II - 11 2.4 Atribut Sistem Perangkat Lunak ... II - 12 2.5.1 Kehandalan ... II - 12 2.5.2 Ketersediaan ... II - 12 2.5.3 Keamanan ... II - 12 2.5.4 Pemeliharaan ... II - 12 2.5.5 Portabilitas ... II - 12 2.5 Persyaratan Lainnya ... II - 13 BAB III DESAIN PERANGKAT LUNAK ... II - 13 3.1 Pendahuluan ... III - 1 3.1.1 Identifikasi Kebutuhan Sistem ... III - 1 3.1.2 Overview Sistem ... III - 2 3.1.3 Algoritma Genetik ... III - 2 3.1.3.1 Kendala (Constraint) ... III - 3 3.1.3.2 Cara Kerja ... III - 4 3.1.3.3 Encoding ... III - 5 3.1.3.4 Operator Genetik ... III - 6 3.1.3.4.1 Reproduksi ... III - 7 3.1.3.4.2 Pindah Silang (Crossover) ... III - 10 3.1.3.4.3 Mutasi ... III - 13 3.1.3.5 Fungsi Fitness ... III - 14 3.1.3.6 Parameter Algoritma Genetik ... III - 14 3.1.3.6.1 Ukuran Populasi ... III - 14 3.1.3.6.2 Probabilitas Pindah Silang ... III - 15 3.1.3.6.3 Probabilitas Mutasi ... III - 15 3.2 Desain Perangkat Lunak Secara Keseluruhan... III - 15 3.2.1 Rancangan Algoritma Genetik ... III - 15 3.2.1.1 Pemodelan Kromosom ... III - 15 3.2.1.2 Fungsi Fitness ... III - 17 3.2.1.3 Parameter Algoritma Genetik ... III - 17 3.2.1.3.1 Ukuran Populasi ... III - 17 3.2.1.3.2 Probabilitas Pindah Silang ... III - 18 3.2.1.3.3 Probabilitas Mutasi ... III - 18 3.2.1.4 Kendala (Constraint) ... III - 18 3.2.1.5 Metode Perbaikan ... III - 20 3.2.2 Rancangan Basis Data ... III - 26 3.2.3 Rancangan Use Case ... III - 30 3.3 Desain Arsitektur Perangkat Lunak ... III - 32 3.3.1 Komponen Perangkat Lunak ... III - 32 3.3.2 Konsep Eksekusi ... III - 33


(6)

xii

3.3.3 Desain Antar Muka ... III - 46 3.3.4 Urutan Eksekusi ... III - 59 BAB IV PENGEMBANGAN SISTEM ... IV - 1

4.1 Perencanaan Tahap Implementasi ... IV - 1 4.1.1 Pembagian Implementasi Class ... IV - 1 4.1.2 Class Diagram ... IV - 4 4.1.3 Keterkaitan Antar Class ... IV - 18 4.1.4 Pembagian Modul ... IV - 18 4.2 Perjalanan Tahap Implementasi (Coding) ... IV - 31 4.2.1 Top Down Implementasi ... IV - 31 4.2.2 Debugging ... IV - 31 4.3 Ulasan Realisasi Fungsionalitas ... IV - 33 4.4 Ulasan Realisasi User Interface Design ... IV - 34 BAB V TESTING DAN EVALUASI SISTEM ... V - 1 5.1 Rencana Pengujian Sistem Terimplementasi ... V - 1 5.1.1 Test Case ... V - 1 5.1.2 Uji Fungsionalitas Modul / Class ... V - 16 5.2 Perjalanan Metodologi Pengujian ... V - 19 5.2.1 Black Box ... V - 19 5.2.2 Survey Dengan Target Aplikasi ... V - 37 5. 3 Ulasan Hasil Evaluasi ... V - 39 BAB VI KESIMPULAN DAN SARAN ... VI - 1 6.1 Keterkaitan Antara Kesimpulan dengan Hasil Evaluasi ... VI - 1 6.2. Keterkaitan Antara Saran dengan Hasil Evaluasi ... VI - 1 6.3 Rencana Perbaikan / Implementasi terhadap Saran yang Diberikan VI - 2 DAFTAR PUSTAKA ... xix LAMPIRAN ... xx


(7)

xiii

Gambar 3.1 Roulette Wheel Tabel 3.4 ... III - 8 Gambar 3.2 Rank selection Tabel 3.5 ... III - 9 Gambar 3.3 One Cut Point Crossover ... III - 10 Gambar 3.4 Two Cut Point Crossover ... III - 11 Gambar 3.5 Uniform Crossover ... III - 11 Gambar 3.6 Arithmetic Crossover... III - 11 Gambar 3.7 Mutasi ... III - 14 Gambar 3.8 Contoh Kromosom ... III - 16 Gambar 3.9 Entity Relationship Diagram ... III - 26 Gambar 3.10 Tabel Relasi ... III - 27 Gambar 3.11 Use Case Diagram ... III - 31 Gambar 3.12 Komponen Perangkat Lunak ... III - 33 Gambar 3.13 Aktivitas Login ... III - 34 Gambar 3.14 Aktivitas Pengolahan Pengguna ... III - 34 Gambar 3.15 Aktivitas Pengolahan Mata Kuliah ... III - 35 Gambar 3.16 Aktivitas Menampilkan MKTawar ... III - 35 Gambar 3.17 Aktivitas Pengolahan MKAmbil ... III - 36 Gambar 3.18 Aktivitas Mengolah Event Kuliah ... III - 37 Gambar 3.19 Aktivitas Pengolahan Dosen ... III - 37 Gambar 3.20 Aktivitas Menampilkan Tugas Dosen ... III - 38 Gambar 3.21 Aktivitas Pengolahan Slot Dosen ... III - 38 Gambar 3.22 Aktivitas Pengolahan Ruangan ... III - 39 Gambar 3.23 Aktivitas Pengolahan Mahasiswa... III - 40 Gambar 3.24 Aktivitas Pembentuk MKTawar... III - 41 Gambar 3.25 Aktivitas Penyusunan Jadwal ... III - 42 Gambar 3.26 Aktivitas pendistribusian Mahasiswa ... III - 43 Gambar 3.27 Sequence Bentuk MKTawar dan TugasDosen ... III - 43 Gambar 3.28 Sequence Penyusunan Jadwal ... III - 44 Gambar 3.29 Sequence Pendistribusian Mahasiswa ... III - 45 Gambar 3.30 MainForm ... III - 46 Gambar 3.31 LoginForm ... III - 46 Gambar 3.32 UserForm ... III - 47 Gambar 3.33 MKForm ... III - 48 Gambar 3.34 MKTawarForm... III - 49 Gambar 3.35 MKAmbilForm... III - 50 Gambar 3.36 EventKuliahForm ... III – 51 Gambar 3.37 DosenForm ... III - 52 Gambar 3.38 TugasDosenForm ... III - 53 Gambar 3.39 SlotDosenForm... III - 54 Gambar 3.40 RuangKuliahForm ... III - 55 Gambar 3.41 MahasiswaForm ... III - 56 Gambar 3.42 BentukMKTawarForm ... III - 57 Gambar 3.43 SusunJadwalForm ... III - 58


(8)

xiv

Gambar 3.44 DistribusiMahasiswaForm ... III - 59 Gambar 4.1 Class User ... IV - 4 Gambar 4.2 Class UserList ... IV - 4 Gambar 4.3 Class Dosen ... IV - 5 Gambar 4.4 Class DosenList ... IV - 5 Gambar 4.5 Class KomponenKuliah ... IV - 5 Gambar 4.6 Class EventKuliah ... IV - 6 Gambar 4.7 Class EventKuliahList... IV - 6 Gambar 4.8 Class Gen ... IV - 6 Gambar 4.9 Class Kromosom ... IV - 7 Gambar 4.10 Class Mahasiswa ... IV - 7 Gambar 4.11 Class MapDosen ... IV - 8 Gambar 4.12 Class MapDosenList ... IV - 8 Gambar 4.13 Class MapRuang ... IV - 8 Gambar 4.14 Class MapRuangList ... IV - 9 Gambar 4.15 Class MapSlot ... IV - 9 Gambar 4.16 Class MapSlotList ... IV - 9 Gambar 4.17 Class MK ... IV - 10 Gambar 4.18 Class MKAmbil ... IV - 10 Gambar 4.19 Class MKAmbillist ... IV - 10 Gambar 4.20 Class MKTawar ... IV - 11 Gambar 4.21 Class MKTawarList ... IV - 11 Gambar 4.22 Class MKTawarTemp ... IV - 11 Gambar 4.23 Class Ruang ... IV - 12 Gambar 4.24 Class RuangList ... IV - 12 Gambar 4.25 Class SlotDosen ... IV - 12 Gambar 4.26 Class SlotDosenList ... IV - 13 Gambar 4.27 Class TugasDosen ... IV - 13 Gambar 4.28 Class TugasDosenList ... IV - 13 Gambar 4.29 Class FitList ... IV - 14 Gambar 4.30 Class MKList ... IV - 14 Gambar 4.31 Class KodeEvent ... IV - 14 Gambar 4.32 Class KodeEventList ... IV - 15 Gambar 4.33 Class PitaAjar ... IV - 15 Gambar 4.34 Class PitaAjarList ... IV - 15 Gambar 4.35 Class Jadwal ... IV - 16 Gambar 4.36 Class JadwalList ... IV - 16 Gambar 4.37 Class KelasMahasiswa ... IV - 16 Gambar 4.38 Class MKTTugas ... IV - 17 Gambar 4.39 Keterkaitan Antar Class ... IV - 18 Gambar 4.40 MainForm ... IV - 34 Gambar 4.41 LoginForm ... IV - 35 Gambar 4.42 UserForm ... IV - 36 Gambar 4.43 DosenForm ... IV - 37 Gambar 4.44 EventKuliahForm ... IV - 38 Gambar 4.45 MahasiswaForm ... IV - 39


(9)

xv

Gambar 4.46 MKAmbilForm... IV - 40 Gambar 4.47 MKForm ... IV - 41 Gambar 4.48 MKTawarForm... IV - 42 Gambar 4.49 TugasDosenForm ... IV - 43 Gambar 4.50 SlotDosenForm... IV - 44 Gambar 4.51 RuangForm ... IV - 45 Gambar 4.52 BentukMKTawarForm ... IV - 46 Gambar 4.53 SusunJadwalForm ... IV - 47 Gambar 4.54 DistribusiMahasiswaForm ... IV - 48


(10)

xvi

Tabel 3.1 Binary Encoding ... III - 5 Tabel 3.2 Permutation Encoding ... III - 6 Tabel 3.3 Value Encoding ... III - 6 Tabel 3.4 Contoh String dan Fitness 1 ... III - 7 Tabel 3.5 Contoh String dan Fitness 2 ... III - 9 Tabel 3.6 Tabel MataKuliah ... III - 27 Tabel 3.7 Tabel Jurusan ... III - 27 Tabel 3.8 Tabel MKAmbil ... III - 28 Tabel 3.9 Tabel TugasDosen ... III - 28 Tabel 3.10 Tabel MKTawar ... III - 28 Tabel 3.11 Tabel Mahasiswa... III - 28 Tabel 3.12 Tabel Dosen ... III - 29 Tabel 3.13 Tabel EventKuliah ... III - 29 Tabel 3.14 Tabel RuangKuliah ... III - 29 Tabel 3.15 Tabel SlotDosen ... III - 29 Tabel 3.16 Tabel Pengguna ... III - 30 Tabel 3.17 Tabel Hari ... III - 30 Tabel 3.18 Tabel SlotAwal ... III - 30 Tabel 3.19 Tabel SlotAkhir ... III - 30 Tabel 4.1 Modul MainForm ... IV - 19 Tabel 4.2 Modul Login ... IV - 19 Tabel 4.3 Modul Pengelolaan Pengguna ... IV - 20 Tabel 4.4 Modul Pengelolaan Dosen ... IV - 21 Tabel 4.5 Modul Menampilkan Event Kuliah ... IV - 22 Tabel 4.6 Modul Pengelolaan Mahasiswa ... IV - 22 Tabel 4.6 Modul Pengelolaan Mahasiswa (lanjutan) ... IV - 23 Tabel 4.7 Modul Menampilkan Pengelolaan MKAmbil... IV - 23 Tabel 4.7 Modul Menampilkan Pengelolaan MKAmbil (lanjutan) ... IV - 24 Tabel 4.8 Modul Pengelolaan Mata Kuliah ... IV - 24 Tabel 4.9 Modul Pengelolaan Mata Kuliah Tawar ... IV - 25 Tabel 4.10 Modul Pengelolaan Tugas Dosen ... IV - 25 Tabel 4.11 Modul Pengelolaan Slot Dosen ... IV - 26 Tabel 4.12 Modul Pengelolaan Ruangan ... IV - 27 Tabel 4.13 Modul Pembentukan Mata Kuliah Tawar ... IV - 28 Tabel 4.14 Modul Penyusunan Jadwal... IV - 29 Tabel 4.14 Modul Penyusunan Jadwal (lanjutan) ... IV - 30 Tabel 4.15 Modul Pendistribusian Mahasiswa ... IV - 30 Tabel 4.15 Modul Pendistribusian Mahasiswa (lanjutan) ... IV - 31 Tabel 5.1 Test Case MainForm ... V - 1 Tabel 5.1 Test Case MainForm (lanjutan) ... V - 2 Tabel 5.2 Test Case LoginForm ... V - 2 Tabel 5.2 Test Case LoginForm (lanjutan) ... V - 3 Tabel 5.3 Test Case UserForm ... V - 3


(11)

xvii

Tabel 5.3 Test Case UserForm (lanjutan) ... V - 4 Tabel 5.4 Test Case MKForm ... V - 5 Tabel 5.4 Test Case MKForm (lanjutan) ... V - 6 Tabel 5.5 Test Case MKTawarForm ... V - 6 Tabel 5.6 Test Case MKAmbilForm ... V - 7 Tabel 5.7 Test Case EventKuliah ... V - 7 Tabel 5.8 Test Case DosenForm ... V - 8 Tabel 5.9 Test Case Tugas DosenForm ... V - 9 Tabel 5.10 Test Case SlotDosenForm ... V - 9 Tabel 5.10 Test Case SlotDosenForm (lanjutan) ... V - 10 Tabel 5.11 Test Case RuangForm ... V - 11 Tabel 5.12 Test Case MahasiswaForm ... V - 12 Tabel 5.13 Test Case BentukMKTawarForm ... V - 13 Tabel 5.14 Test Case SusunJadwalForm ... V - 14 Tabel 5.14 Test Case SusunJadwalForm (lanjutan) ... V - 15 Tabel 5.15 Test Case DistribusiMahasiswaForm... V - 15 Tabel 5.15 Test Case DistribusiMahasiswaForm (lanjutan) ... V - 16 Tabel 5.16 Pengujian MainForm... V - 19 Tabel 5.16 Pengujian MainForm (lanjutan) ... V - 20 Tabel 5.16 Pengujian MainForm (lanjutan) ... V - 21 Tabel 5.17 Pengujian LoginForm ... V - 22 Tabel 5.18 Pengujian UserForm ... V - 23 Tabel 5.19 Pengujian DosenForm ... V - 24 Tabel 5.20 Pengujian MahasiswaForm ... V - 25 Tabel 5.21 Pengujian MKAmbilForm ... V - 25 Tabel 5.22 Pengujian MKForm... V - 26 Tabel 5.22 Pengujian MKForm (lanjutan) ... V - 27 Tabel 5.23 Pengujian RuangForm... V - 27 Tabel 5.24 Pengujian SlotDosenForm ... V - 28 Tabel 5.25 Pengujian BentukMKTawarForm ... V - 29 Tabel 5.25 Pengujian BentukMKTawarForm (lanjutan) ... V - 30 Tabel 5.25 Pengujian BentukMKTawarForm (lanjutan) ... V - 31 Tabel 5.25 Pengujian BentukMKTawarForm (lanjutan) ... V - 32 Tabel 5.26 Pengujian SusunJadwalForm ... V - 32 Tabel 5.26 Pengujian SusunJadwalForm (lanjutan)... V - 33 Tabel 5.27 Pengujian Algoritma Genetik... V - 34 Tabel 5.27 Pengujian Algoritma Genetik (lanjutan) ... V - 35 Tabel 5.28 Survei ... V - 38


(12)

xviii

Algoritma 3.1 Skema Algoritma Genetik ... III - 3 Algoritma 3.2 Fungsi Perbaikan Ruangan ... III - 20 Algoritma 3.2 Fungsi Perbaikan Ruangan (lanjutan) ... III - 21 Algoritma 3.3 Fungsi Perbaikan Dosen ... III - 21 Algoritma 3.3 Fungsi Perbaikan Dosen (lanjutan) ... III - 22 Algoritma 3.4 Fungsi Perbaikan Slot ... III - 23 Algoritma 3.5 Fungsi Perbaikan Semester ... III - 24 Algoritma 3.5 Fungsi Perbaikan Semester (lanjutan) ... III - 25


(13)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 1

1.1

Pendahuluan

Dalam era globalisasi saat ini, penggunaan komputer sebagai alat penunjang pekerjaan sangat banyak kita jumpai. Tingginya tingkat kebutuhan, membuat perkembangan teknologi dalam bidang perangkat keras komputer atau hardware berkembang dengan pesat. Hal ini membuat kemampuan komputasi menjadi sangat tinggi. Untuk memanfaatkan dan mengimbanginya, tentu saja dibutuhkan perangkat lunak atau software yang dapat menggunakan sumber daya yang ada dengan optimal.

Berbagai jenis perangkat lunak dikembangkan, tentu saja ada yang mem-butuhkan spesifikasi perangkat keras yang cukup tinggi, dan ada pula yang tidak. Contoh aplikasi yang bermanfaat dan membutuhkan spesifikasi perangkat keras yang cukup tinggi adalah program yang memanfaatkan kemampuan kecerdasan buatan atau Artificial Inteligence. Aplikasi yang memiliki kemampuan ini membuat pekerjaan manusia lebih mudah dan cepat diselesaikan.

Kecerdasan buatan yang dibangun oleh manusia, membutuhkan suatu pola kerja untuk mencapai tujuan yang diinginkan. Tujuan tersebut dapat berupa penggunaan sumber daya yang paling sedikit, pencapaian keuntungan yang paling banyak, jalan terpendek menuju suatu titik, dan lain-lain. Pola kerja atau algoritma untuk mendapatkan hasil-hasil tersebut ada beberapa macam, diantaranya adalah Algoritma Dijkstra, Algoritma Floyd, Algoritma Genetik, Simulated Annealing, Tabu Search, Particle Swarm Optimization, dan lain-lain.

Salah satu algoritma yang populer dan banyak digunakan pada saat ini adalah Algoritma Genetik. Algoritma Genetik merupakan algoritma pencarian untuk perhitungan yang bekerja berdasarkan mekanisme evolusi kehidupan. Algoritma ini ditemukan oleh John Holland pada tahun 1960an, kemudian dikembangkan bersama kolega dan mahasiswanya di Universitas Michigan pada tahun 1960 dan 1970an. Mulanya tujuan Holland membangun Algoritma Genetik


(14)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 2

bukanlah untuk menyelesaikan suatu tujuan yang spesifik, namun lebih kepada pembelajaran fenomena adaptasi yang terjadi di alam, dan untuk mengembangkan mekanisme adaptasi yang dapat diadopsi oleh sistem komputasi. Seiring dengan berjalannya waktu, Algoritma Genetik semakin populer diterapkan untuk berbagai bidang ilmu dan terapan, seperti pada:

1. Optimasi, contohnya pada layout sirkuit, dan penjadwalan job-shop. 2. Pemgrograman otomatis, contohnya pada otomata sistem selular, dan

pengurutan jaringan.

3. Pembelajaran mesin, contohnya pada prakiraan cuaca, struktur protein, beban jaringan saraf, sistem klasifikasi pembelajaran, dan sensor untuk robot.

4. Ekonomi, contohnya pada pemodelan proses inovasi, strategi taruhan, dan perkiraan pasar.

5. Sistem kekebalan, contohnya pada mutasi somatik dalam waktu hidup seseorang, dan pencarian keluarga multigen selama waktu evolusi.

6. Ekologi, contohnya pada pemodelan fenomena ekologi seperti percabangan ras biologis, koevolusi inang-parasit, simbiosis, dan aliran sumber daya.

7. Genetik populasi, contohnya pada pelajaran genetik populasi untuk menjawab pertanyaan-pertanyaan, seperti “Pada kondisi apa sebuah gen direkombinasi agar memungkinkan evolusi”.

8. Evolusi dan pembelajaran, contohnya pada proses pembelajaran seseorang, dan evolusi suatu spesies mempengaruhi yang lain.

9. Sistem sosial, contohnya pada evolusi perilaku sosial pada koloni serangga, dan evolusi kooperasi dan komunikasi dalam sistem multi agen. Dapat kita lihat pada contoh-contoh diatas, bahwa masalah optimasi juga dapat memanfaatkan Algoritma Genetik. Salah satu masalah optimasi yang cukup menantang untuk diselesaikan adalah masalah penjadwalan mata kuliah. Penjadwalan mata kuliah pada suatu universitas pada saat ini merupakan suatu permasalahan yang sangat rumit. Dengan banyak dan bervariasinya pilihan mata kuliah, jumlah kelas, waktu mengajar dosen, ketersediaan ruangan, serta jumlah


(15)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 3

mahasiswa per mata kuliah, menjadikan masalah ini bukanlah masalah yang mudah untuk diselesaikan.

1.1.1 Tujuan

Penelitian ini bertujuan untuk membuat suatu aplikasi untuk membantu pihak Fakultas Teknologi Informasi Universitas Kristen Maranatha, dalam membuat jadwal perkuliahan dengan tingkat kesalahan penyusunan yang seminimal mungkin. Aplikasi yang dibuat ini akan melakukan penyusunan jadwal secara otomatis dengan menggunakan Algoritma Genetik atau Genetic Algorithm yang sering digunakan untuk menyelesaikan masalah optimasi.

1.1.2 Ruang Lingkup

Aplikasi yang akan dibuat adalah aplikasi yang dapat menyimpan data mata kuliah, data dosen, data penugasan dosen, serta data ruangan, kemudian melakukan penyusunan jadwal secara otomatis untuk perkuliahan pada Fakultas Teknologi Informasi Universitas Kristen Maranatha.

1.1.3 Defenisi, Akronim, dan Singkatan Beberapa istilah yang digunakan:

1. Kromosom, dalam hal ini adalah suatu solusi potensial dalam populasi. 2. Populasi, adalah sekumpulan kromosom yang dapat dilakukan operasi

atasnya.

3. Gen, adalah bagian dari kromosom.

4. Roulette wheel, adalah metode untuk melakukan seleksi kromosom dengan mambangkitkan suatu nilai acak.

5. Persilangan/Crossover, adalah suatu proses yang menukarkan gen-gen dalam suatu kromosom untuk membentuk suatu kromosom yang baru. 6. Mutasi, adalah proses pengubahan gen dalam suatu kromosom.

7. Database, adalah kumpulan tabel-tabel ber-relasi yang terstruktur, yang berfungsi untuk memuat informasi.


(16)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 4

8. User, adalah tingkatan pengguna yang memiliki hak akses terhadap seluruh fungsi program, kecuali fungsi pengelolaan pengguna dan pengelolaan mata kuliah.

9. Administrator, adalah tingkatan pengguna yang memiliki hak akses penuh terhadap seluruh fungsi dalam program.

1.1.4 Overview

Dalam laporan, dapat diketahui metode pengembangan aplikasi seperti ter-cantum dalam butir-butir berikut:

1. Bab I adalah persyaratan produk, memaparkan mengenai aplikasi ini secara global, seperti tujuan, ruang lingkup, defenisi, referensi yang digunakan, perspektif produk, antarmuka sistem, antarmuka dengan pengguna, antarmuka perangkat keras, antarmuka perangkat lunak, antarmuka komunikasi, batasan memori, operasi-operasi yang ada, adaptasi tempat tujuan, fungsi produk, karakteristik pengguna, batasan masalah, asumsi yang digunakan, serta penundaan persyaratan.

2. Bab II adalah spesifikasi produk, mengemukakan mengenai spesifikasi aplikasi mulai dari persyaratan antarmuka eksternal, antarmuka dengan pengguna, antarmuka perangkat keras, antarmuka perangkat lunak, antarmuka komunikasi, fitur-fitur yang dimiliki oleh aplikasi, persyaratan performa, batasan desain, atribut sistem perangkat lunak, kehandalan, ketersediaan, keamanan, pemeliharaan, portabilitas, persyaratan database logis, serta persyaratan lainnya.

3. Bab III adalah desain perangkat lunak, menjelaskan tentang identifikasi kebutuhan sistem, rancangan sistem baru, keputusan desain perangkat lunak secara keseluruhan, desain arsitektur perangkat lunak berupa komponen perangkat lunak, konsep eksekusi, dan desain antarmuka. 4. Bab IV adalah pengembangan sistem, memaparkan tentang perencanaan

tahap implementasi, perjalanan tahap implementasi, ulasan realisasi fungsionalitas, serta ulasan realisasi pengguna interface design.


(17)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 5

5. Bab V adalah testing dan evaluasi sistem, membahas tentang rencana pengujian sistem terimplementasi, perjalanan metodologi pengujian, serta ulasan hasil evaluasi.

6. Bab VI adalah kesimpulan dan saran, memaparkan keterkaitan antara kesimpulan dan hasil evaluasi, keterkaitan antara saran dengan hhsil evaluasi, serta rencana perbaikan/implementasi terhadap saran yang diberikan.

1.2

Gambaran Keseluruhan

Aplikasi ini dibuat untuk melakukan penjadwalan secara otomatis terhadap suatu kumpulan mata kuliah yang ditawarkan dalam satu semester, data penugasan dosen, serta data ruangan perkuliahan pada Fakultas Teknologi Informasi Universitas Kristen Maranatha.

1.2.1 Perspektif Produk

Aplikasi penjadwalan mata kuliah secara otomatis ini menggunakan Algoritma Genetik untuk melakukan optimasi. Aplikasi dibuat dengan menggunakan bahasa pemrograman Microsoft Visual C# 2005. Oleh karena itu, dibutuhkan .NET Framework 2.0 dan Microsoft SQL Server 2005 Express Edition untuk menjalankan aplikasi ini pada suatu komputer desktop.

1.2.1.1 Antarmuka Sistem

Sistem-sistem dalam aplikasi ini dapat dideskripsikan sebagai berikut: 1. Sistem pengelolaan pengguna, berfungsi untuk melakukan pembedaan

terhadap tingkatan tanggung jawab dan kemampuan tiap pengguna.

2. Sistem pengelolaan database, berfungsi untuk melakukan penyimpanan atau pengubahan informasi-informasi yang berkaitan dengan penggunaan program serta hasil dari pengolahan informasi tersebut.

3. Sistem antarmuka dengan pengguna, berfungsi untuk menerima input dari serta menampilkan output kepada pengguna.


(18)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 6

4. Sistem pengolahan data, berfungsi untuk melakukan fungsi penyusunan jadwal kuliah sesuai dengan kumpulan mata kuliah yang dibuka pada satu semester.

1.2.1.2 Antarmuka Dengan Pengguna

Antarmuka dengan pengguna dalam program ini dipengaruhi juga oleh spesifikasi perangkat display yang digunakan. Sebaiknya monitor dan VGA komputer memiliki resolusi 1024x768 pixel, hal ini untuk menunjang kenyamanan pemakaian aplikasi karena susunan informasi dalam suatu form bisa sangat banyak.

1.2.1.3 Antarmuka Perangkat Keras

Adapun spesifikasi minimum perangkat keras komputer yang dibutuhkan untuk menjalankan aplikasi ini adalah:

1. CPU Intel /AMD dengan clock 600 MHz. 2. Memori SDRAM /DDR-SDRAM 256 MB. 3. Harddisk 10 GB.

4. Monitor dengan resolusi 800x600 pixel 256 warna.

5. VGA yang mendukung resolusi 800x600 pixel 256 warna. 6. Keyboard.

7. Mouse.

1.2.1.4 Antarmuka Perangkat Lunak

Perangkat lunak-perangkat lunak yang digunakan untuk membangun aplikasi ini adalah:

1. Microsoft Windows 2000 SP 4.

• Nama : Microsoft Windows 2000. • Mnemonic : Microsoft Windows 2000 • nomor spesifikasi : Service Pack 4.


(19)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 7

Produk ini adalah sistem operasi minimum dari Microsoft yang dapat digunakan untuk menjalankan aplikasi yang dibangun dengan menggunakan Microsoft Visual Studio .NET 2005. Aplikasi yang dibangun tidak dapat berjalan pada sistem operasi yang dirilis sebelumnya. 2. .NET Framework 2.0.

• Nama : Microsoft .NET Framework Version 2.0 Redistributable Package (x86). • Mnemonic : .NET Framework 2.0.

• nomor spesifikasi : 2.0.

• Sumber : http://www.microsoft.com/downloads/details.aspx

?FamilyID=0856eacb4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en#Overview

Program ini adalah platform sistem untuk menjalankan aplikasi yang dibangun dengan menggunakan Bahasa Pemrograman C# Visual Studio .NET 2005.

3. Microsoft Visual Studio .NET 2005.

• Nama : Microsoft Visual Studio 2005 • Mnemonic : Microsoft Visual Studio .NET 2005. • nomor spesifikasi : 8.0.50727.42.

• Sumber : http://www.microsoft.com/

Program ini adalah bahasa pemrograman yang digunakan untuk membangun aplikasi. Terdapat kumpulan bahasa pemrograman dalam produk ini, namun yang digunakan adalah bahasa Visual C# 2005.

4. Microsoft SQL Server 2005 Express Ubahion.

• Nama : Microsoft SQL Server 2005 Express Ubahion. • Mnemonic : Microsoft SQL Server 2005 Express Ubahion. • nomor spesifikasi : 1.00.0080.

• Sumber : http://www.microsoft.com/downloads/details.aspx ?displaylang=en&FamilyID=220549B5-0B07-4448-8848- DCC397514B41


(20)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 8

Program ini berguna untuk menjalankan engine database yang digunakan oleh aplikasi yang dibangun.

1.2.1.5 Antarmuka Komunikasi

Aplikasi penjadwalan ini tidak menggunakan protokol komunikasi untuk dapat melaksanakan fungsinya, yakni menyusun jadwal perkuliahan secara otomatis. Hal ini disebabkan karena aplikasi berjalan pada satu komputer serta tidak berhubungan dengan komputer lain, baik akses terhadap aplikasi maupun database tertentu.

1.2.1.6 Batasan Memori

Hal yang dapat mempengaruhi kerja aplikasi dari limitasi RAM dan harddisk space adalah:

1. Semakin banyak jumlah RAM yang terpasang pada komputer yang menjalankan aplikasi, maka proses penyusunan jadwal akan semakin cepat. Hal ini dikarenakan ruangan untuk melakukan perhitungan semakin besar, sehingga jumlah iterasi yang dapat dilakukan perdetik semakin banyak.

2. Semakin sedikit jumlah RAM yang terpasang pada komputer yang menjalankan aplikasi, maka proses penyusunan jadwal akan semakin lambat. Hal ini dikarenakan ruangan untuk melakukan perhitungan semakin kecil, sehingga jumlah iterasi yang dapat dilakukan perdetik semakin sedikit.

3. Batasan disk space pada komputer yang menjalankan aplikasi ini berpengaruh pada jumlah mata kuliah serta hasil penyusunan jadwal yang dapat disimpan dalam database.

1.2.1.7 Operasi-Operasi

Operasi yang dapat dilakukan oleh pengguna terdiri dari beberapa jenis seperti pada poin berikut.


(21)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 9

1. Operasi bagi Administrator. a. Melakukan log in.

b. Mengelola data pengguna. c. Mengelola data mata kuliah. d. Mengelola data MKTawar. e. Mengelola data MKAmbil. f. Membentuk event kuliah. g. Mengelola data dosen. h. Mengelola data tugas dosen. i. Mengelola slot waktu dosen. j. Mengelola data ruangan. k. Mengelola data mahasiswa. l. Menyusun jadwal.

m. Menyimpan jadwal. n. Melakukan log out. 2. Operasi bagi Guest.

a. Melakukan log in.

b. Mengelola data mata kuliah. c. Mengelola data MKAmbil. d. Mengelola data dosen. e. Mengelola data tugas dosen. f. Mengelola slot waktu dosen. g. Mengelola data ruangan. h. Mengelola data mahasiswa. i. Melakukan log out.

1.2.1.8 Persyaratan Adaptasi Tempat Tujuan

Penggunaan aplikasi ini pada suatu komputer tidak terlepas dari kemampuan produk bahasa pemgrograman yang digunakan untuk membangun serta persyaratannya. Karena program ini dibangun dengan menggunakan Bahasa Program Microsoft Visual C# 2005 dan Database SQL .NET 2005 Express


(22)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 10

Ubahion, maka untuk menggunakannya dibutuhkan perangkat lunak ter-install pada komputer sebagai berikut:

1. .NET Framework 2.0.

2. Microsoft SQL Server 2005 Express Edition.

1.2.2 Fungsi Produk

Fungsi utama dari aplikasi ini adalah untuk melakukan penyusunan jadwal mata kuliah yang digenerate secara otomatis. Terdapat dua tingkatan pengguna dalam program ini, yakni administrator dan pengguna. Fungsi-fungsi yang dapat dilakukan oleh pengguna dan administrator dapat dilihat pada sub-bab 1.2.1.7.

1.2.3 Karakteristik Pengguna

Karakteristik pengguna aplikasi ini adalah sebagai berikut:

1. Tingkat pendidikan tidak dibatasi, namun sebelumnya perlu mengetahui sistem perkuliahan di universitas.

2. Mempunyai pengalaman mengoperasikan komputer, serta memasukkan data terhadap suatu program dan database.

3. Keahlian teknis tertentu tidak diperlukan untuk menggunakan aplikasi ini.

1.2.4 Batasan

Hal-hal yang mempengaruhi desain dari aplikasi ini adalah:

1. Tidak terdapat operasi paralel pada program ini, dikarenakan proses penyusunan jadwal memiliki tahap-tahap tertentu yang harus dipenuhi. 2. Informasi mata kuliah yang disimpan ke dalam database hanya mengambil

atribut-atribut mata kuliah yang diperlukan oleh program.

3. Keterbatasan dalam penyusunan jadwal dalam solusi terbaik dapat diselesaikan dengan cara manual oleh pihak jurusan dan mahasiswa/i yang bersangkutan.

4. Program dapat menyediakan alternatif dari solusi yang terbaik, namun jika perubahan ingin dilakukan dengan alasan atau tujuan tertentu, maka pengguna dapat melakukannya dengan cara manual.


(23)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 11

5. Penyusunan jadwal menggunakan evaluasi hard constrain yang memastikan jadwal event yang bentrok minimal.

1.2.5 Asumsi dan Ketergantungan

Beberapa asumsi yang digunakan dalam pembangunan program ini adalah: 1. Aplikasi ini berjalan pada sistem operasi Microsoft Windows 2000 atau yang lebih baru. Sistem ini adalah hak milik proprietary dari perusahaan Microsoft.

2. Untuk menjalankan program, spesifikasi minimum perangkat keras dan perangkat lunak seperti telah disebutkan di atas telah terpenuhi.

3. Karakteristik pengguna telah terpenuhi untuk menggunakan aplikasi ini. 4. Cara penerapan aplikasi untuk tahap implementasi, dapat dilihat seperti

akan disebutkan secara garis besar sebagai berikut:

a. Pihak fakultas mengumumkan daftar mata kuliah yang akan ditawar-kan kepada mahasiswa.

b. Mahasiswa melakukan perwalian.

c. Jumlah peserta kuliah untuk setiap mata kuliah diambil.

d. Pihak fakultas memasukkan data mata kuliah yang ditawarkan serta jumlah peserta ke dalam program. Sebelumnya data lain yang dibutuhkan seperti data mata kuliah, data dosen, penugasan dosen, ruangan, dan lain-lain telah dimasukkan oleh administrator.

e. Kemudian mengumumkan jadwal perkuliahan kepasa mahasiswa. 5. Peraturan yang diterapkan dalam Fakultas Teknologi Informasi

Universitas Kristen Maranatha dalam hal pengaturan jadwal kuliah dapat mengikuti tahapan yang digunakan dalam program.

1.2.6 Penundaan Persyaratan

Penundaan persyaratan yang belum dapat dipenuhi dalam aplikasi ini adalah:

1. Aplikasi ini tidak dapat terintegrasi dengan program Sistem Akademik Terpadu (SAT), baik dalam sistem perwalian, sistem penilaian, maupun


(24)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 12

sistem lainnya. Aplikasi berupa program yang berdiri sendiri tanpa terhubung dengan aplikasi-aplikasi lain.

2. Program penjadwalan ini tidak menggunakan database yang terintegrasi dengan sistem database terdistribusi manapun. Database dalam program ini merupakan bagian dari program itu sendiri.

3. Aplikasi menggunakan konstrain - konstrain yang merupakan skala prioritas dalam proses penyusunan jadwal. Tingkat fitness akan diusahakan seminimal mungkin, namun belum dapat menghilangkan seluruh masalah yang mungkin akan terjadi. Dalam hal ini untuk menyelesaikannya, terpaksa dilakukan penanganan masalah secara manual oleh pihak jurusan dan mahasiswa/i.

4. Program ini hanya menyusun jadwal perkuliahan dalam satu semester, tidak dapat melakukan penyusunan jadwal untuk jangka panjang, misalnya susunan jadwal dalam dua semester.

5. Aplikasi penjadwalan ini hanya digunakan untuk melakukan penjadwalan terhadap waktu, tempat, dan dosen mata kuliah. Tidak terdapat fungsi khusus untuk melakukan penjadwalan terhadap waktu, tempat, dan pengawas ujian, baik UTS maupun UAS.

6. Program ini akan memiliki tampilan yang ergonomis dan fungsional, sehingga perancangan pengguna interface program dirancang sesederhana mungkin agar mudah untuk dimengerti.


(25)

Bab VI – Kesimpulan dan Saran

Universitas Kristen Maranatha VI - 1

6.1

Keterkaitan Antara Kesimpulan dengan Hasil Evaluasi

Setelah melakukan berbagai macam evaluasi dengan Test Case dapat disimpulkan bahwa:

1. Algoritma genetik dapat membantu menyelesaikan permasalahan kompleks seperti permasalahan penjadwalan mata kuliah.

2. Untuk mencapai hasil fitness terbaik, proses penyusunan jadwal mungkin memerlukan beberapa kali proses dengan menggunakan kombinasi ukuran populasi, probabilitas pindah silang, probabilitas mutasi, metode pindah silang, dan metode perbaikan yang berbeda – beda.

3. Lama waktu penyusunan jadwal berbeda - beda pada tiap kasus tergantung dari parameter – parameter yang digunakan.

4. Adanya fitur pendistribusian mahasiswa membantu pengguna untuk menghemat waktu untuk mendistribusikan mahasiswa ke kelas mata kuliah – mata kuliah yang diikutinya.

6.2. Keterkaitan Antara Saran dengan Hasil Evaluasi

1. Antar muka sudah cukup baik, namun perlu dibuat lebih menarik lagi. 2. Mungkin memerlukan waktu untuk dapat menggunakan aplikasi ini

dengan baik, perlu ada perbaikan tahapan pembentukan event.

3. Proses evaluasi dengan menggunakan lebih banyak konstrain perlu dilakukan.


(26)

Bab VI – Kesimpulan dan Saran

Universitas Kristen Maranatha VI - 2

6.3

Rencana Perbaikan / Implementasi terhadap Saran yang

Diberikan

1. Penerapan evaluasi kromosom dengan menggunakan kendala yang lebih banyak dengan menambahkan soft constraint pada proses evaluasi sehingga cakupan aplikasi lebih luas.

2. Desain antar muka yang lebih mudah digunakan serta menarik bagi pengguna.

3. Implementasi inisialisasi kromosom dan metode perbaikan yang lebih baik lagi dengan memperhatikan detail waktu tiap mata kuliah.


(27)

Daftar Pustaka

Universitas Kristen Maranatha xix

Bambrick Leon. (1997). Lecture Timetabling Using Genetic Algorithm. University of Queensland : Department of Electrical and Computer Engineering. Davis L (Ed) (1991): Handbook of Genetic Algorithms. New York: Van nostrand

Reinhold.

Gen Mitsuo and Cheng Runwei. (1997). Genetic Algorithms And Engineering Design. New York: John Wiley & Sons, Inc.

Jahja A. Arianti. (2006). Penyusunan Timetable Kuliah Dengan Preset

Specification Constraint Menggunakan Algoritma Genetik. Bandung: Universitas Katolik Parahyangan.

Luger George F. (2005). Artificial Inteligence: Structures and Strategies for Complex Problem Solving 5th Ed. Harlow: Addison-Wesley.

Ladd Scott Robert. (1995). Genetic Algorithms in C++. New York: M & T Books.

Mitchell Melanie. (1996). An Introduction To Genetic Algorithm. New Delhi: Prentice Hall of India.

Michalewics Zbigniew. (1996). Genetic Algorithms + Data Structure = Evolution Programs. Berlin: Springer-Verlag.

Saputro, Nico. (2004). Diktat Kuliah: Algoritma Genetik. Bandung: Universitas Katolik Parahyangan.


(1)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 10

Ubahion, maka untuk menggunakannya dibutuhkan perangkat lunak ter-install pada komputer sebagai berikut:

1. .NET Framework 2.0.

2. Microsoft SQL Server 2005 Express Edition.

1.2.2 Fungsi Produk

Fungsi utama dari aplikasi ini adalah untuk melakukan penyusunan jadwal mata kuliah yang digenerate secara otomatis. Terdapat dua tingkatan pengguna dalam program ini, yakni administrator dan pengguna. Fungsi-fungsi yang dapat dilakukan oleh pengguna dan administrator dapat dilihat pada sub-bab 1.2.1.7.

1.2.3 Karakteristik Pengguna

Karakteristik pengguna aplikasi ini adalah sebagai berikut:

1. Tingkat pendidikan tidak dibatasi, namun sebelumnya perlu mengetahui sistem perkuliahan di universitas.

2. Mempunyai pengalaman mengoperasikan komputer, serta memasukkan data terhadap suatu program dan database.

3. Keahlian teknis tertentu tidak diperlukan untuk menggunakan aplikasi ini.

1.2.4 Batasan

Hal-hal yang mempengaruhi desain dari aplikasi ini adalah:

1. Tidak terdapat operasi paralel pada program ini, dikarenakan proses penyusunan jadwal memiliki tahap-tahap tertentu yang harus dipenuhi. 2. Informasi mata kuliah yang disimpan ke dalam database hanya mengambil

atribut-atribut mata kuliah yang diperlukan oleh program.

3. Keterbatasan dalam penyusunan jadwal dalam solusi terbaik dapat diselesaikan dengan cara manual oleh pihak jurusan dan mahasiswa/i yang bersangkutan.

4. Program dapat menyediakan alternatif dari solusi yang terbaik, namun jika perubahan ingin dilakukan dengan alasan atau tujuan tertentu, maka pengguna dapat melakukannya dengan cara manual.


(2)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 11

5. Penyusunan jadwal menggunakan evaluasi hard constrain yang memastikan jadwal event yang bentrok minimal.

1.2.5 Asumsi dan Ketergantungan

Beberapa asumsi yang digunakan dalam pembangunan program ini adalah: 1. Aplikasi ini berjalan pada sistem operasi Microsoft Windows 2000 atau yang lebih baru. Sistem ini adalah hak milik proprietary dari perusahaan Microsoft.

2. Untuk menjalankan program, spesifikasi minimum perangkat keras dan perangkat lunak seperti telah disebutkan di atas telah terpenuhi.

3. Karakteristik pengguna telah terpenuhi untuk menggunakan aplikasi ini. 4. Cara penerapan aplikasi untuk tahap implementasi, dapat dilihat seperti

akan disebutkan secara garis besar sebagai berikut:

a. Pihak fakultas mengumumkan daftar mata kuliah yang akan ditawar-kan kepada mahasiswa.

b. Mahasiswa melakukan perwalian.

c. Jumlah peserta kuliah untuk setiap mata kuliah diambil.

d. Pihak fakultas memasukkan data mata kuliah yang ditawarkan serta jumlah peserta ke dalam program. Sebelumnya data lain yang dibutuhkan seperti data mata kuliah, data dosen, penugasan dosen, ruangan, dan lain-lain telah dimasukkan oleh administrator.

e. Kemudian mengumumkan jadwal perkuliahan kepasa mahasiswa. 5. Peraturan yang diterapkan dalam Fakultas Teknologi Informasi

Universitas Kristen Maranatha dalam hal pengaturan jadwal kuliah dapat mengikuti tahapan yang digunakan dalam program.

1.2.6 Penundaan Persyaratan

Penundaan persyaratan yang belum dapat dipenuhi dalam aplikasi ini adalah:

1. Aplikasi ini tidak dapat terintegrasi dengan program Sistem Akademik Terpadu (SAT), baik dalam sistem perwalian, sistem penilaian, maupun


(3)

Bab I – Persyaratan Produk

Universitas Kristen Maranatha I - 12

sistem lainnya. Aplikasi berupa program yang berdiri sendiri tanpa terhubung dengan aplikasi-aplikasi lain.

2. Program penjadwalan ini tidak menggunakan database yang terintegrasi dengan sistem database terdistribusi manapun. Database dalam program ini merupakan bagian dari program itu sendiri.

3. Aplikasi menggunakan konstrain - konstrain yang merupakan skala prioritas dalam proses penyusunan jadwal. Tingkat fitness akan diusahakan seminimal mungkin, namun belum dapat menghilangkan seluruh masalah yang mungkin akan terjadi. Dalam hal ini untuk menyelesaikannya, terpaksa dilakukan penanganan masalah secara manual oleh pihak jurusan dan mahasiswa/i.

4. Program ini hanya menyusun jadwal perkuliahan dalam satu semester, tidak dapat melakukan penyusunan jadwal untuk jangka panjang, misalnya susunan jadwal dalam dua semester.

5. Aplikasi penjadwalan ini hanya digunakan untuk melakukan penjadwalan terhadap waktu, tempat, dan dosen mata kuliah. Tidak terdapat fungsi khusus untuk melakukan penjadwalan terhadap waktu, tempat, dan pengawas ujian, baik UTS maupun UAS.

6. Program ini akan memiliki tampilan yang ergonomis dan fungsional, sehingga perancangan pengguna interface program dirancang sesederhana mungkin agar mudah untuk dimengerti.


(4)

Bab VI – Kesimpulan dan Saran

Universitas Kristen Maranatha VI - 1

6.1

Keterkaitan Antara Kesimpulan dengan Hasil Evaluasi

Setelah melakukan berbagai macam evaluasi dengan Test Case dapat disimpulkan bahwa:

1. Algoritma genetik dapat membantu menyelesaikan permasalahan kompleks seperti permasalahan penjadwalan mata kuliah.

2. Untuk mencapai hasil fitness terbaik, proses penyusunan jadwal mungkin memerlukan beberapa kali proses dengan menggunakan kombinasi ukuran populasi, probabilitas pindah silang, probabilitas mutasi, metode pindah silang, dan metode perbaikan yang berbeda – beda.

3. Lama waktu penyusunan jadwal berbeda - beda pada tiap kasus tergantung dari parameter – parameter yang digunakan.

4. Adanya fitur pendistribusian mahasiswa membantu pengguna untuk menghemat waktu untuk mendistribusikan mahasiswa ke kelas mata kuliah – mata kuliah yang diikutinya.

6.2. Keterkaitan Antara Saran dengan Hasil Evaluasi

1. Antar muka sudah cukup baik, namun perlu dibuat lebih menarik lagi. 2. Mungkin memerlukan waktu untuk dapat menggunakan aplikasi ini

dengan baik, perlu ada perbaikan tahapan pembentukan event.

3. Proses evaluasi dengan menggunakan lebih banyak konstrain perlu dilakukan.


(5)

Bab VI – Kesimpulan dan Saran

Universitas Kristen Maranatha VI - 2

6.3

Rencana Perbaikan / Implementasi terhadap Saran yang

Diberikan

1. Penerapan evaluasi kromosom dengan menggunakan kendala yang lebih banyak dengan menambahkan soft constraint pada proses evaluasi sehingga cakupan aplikasi lebih luas.

2. Desain antar muka yang lebih mudah digunakan serta menarik bagi pengguna.

3. Implementasi inisialisasi kromosom dan metode perbaikan yang lebih baik lagi dengan memperhatikan detail waktu tiap mata kuliah.


(6)

Daftar Pustaka

Universitas Kristen Maranatha xix

Bambrick Leon. (1997). Lecture Timetabling Using Genetic Algorithm. University

of Queensland : Department of Electrical and Computer Engineering.

Davis L (Ed) (1991): Handbook of Genetic Algorithms. New York: Van nostrand

Reinhold.

Gen Mitsuo and Cheng Runwei. (1997). Genetic Algorithms And Engineering

Design. New York: John Wiley & Sons, Inc.

Jahja A. Arianti. (2006). Penyusunan Timetable Kuliah Dengan Preset

Specification Constraint Menggunakan Algoritma Genetik. Bandung: Universitas Katolik Parahyangan.

Luger George F. (2005). Artificial Inteligence: Structures and Strategies for

Complex Problem Solving 5th Ed. Harlow: Addison-Wesley.

Ladd Scott Robert. (1995). Genetic Algorithms in C++. New York: M & T

Books.

Mitchell Melanie. (1996). An Introduction To Genetic Algorithm. New Delhi:

Prentice Hall of India.

Michalewics Zbigniew. (1996). Genetic Algorithms + Data Structure = Evolution

Programs. Berlin: Springer-Verlag.

Saputro, Nico. (2004). Diktat Kuliah: Algoritma Genetik. Bandung: Universitas