ABSTRAK
Perkembangan teknologi yang cukup signifikan menuntut proses kerja yang lebih cepat dan efisien pula, dengan tetap menuntut hasil yang memuaskan. Hal ini menyebabkan banyak jenis pekerjaan yang mulai dikerjakan oleh computer. Selain hasil yang didapatkan cukup memuaskan dan terstandarisasi, waktu yang dibutuhkan untuk pengerjaannya juga lebih sedikit.
Melihat hal ini, tidak tertutup kemungkinan dunia pendidikan, khususnya dunia perkuliahan, menggunakan teknologi komputer untuk membantu mempermudah pekerjaan yang dahulu dilakukan secara manual. Salah satu contohnya adalah kegiatan membuat jadwal kuliah. Pembuatan jadwal kuliah normalnya dilakukan secara manual dan memakan waktu yang cukup lama. Karena dilakukan oleh manusia, tidak tertutup kemungkinan terjadinya bentrok karena human error. Dengan adanya program penjadwalan mata kuliah secara otomatis, diharapkan dapat membantu mempermudah dan mempercepat pekerjaan pembuatan jadwal, serta meminimalisir bentrok yang mungkin terjadi, sehingga jadwal yang dihasilkan dapat lebih terpercaya.
ABSTRACT
Technology developing significantly causes many work processes more quickly and efficiently as well, without decreasing result quality. This causes many types of work done by the computer. In addition to the results obtained are quite satisfactory and standardized, the time required for the process is also much less.
Seeing this, it was likely the world of education, especially the lectures, using computer technology to help facilitate the work previously done manually. One example is the activity to make class schedules. Making the class schedule is normally done manually and takes a long time. Because it is done by humans, not closed the possibility of conflicts caused by human error. With the program automatically scheduling courses, is expected to help facilitate and accelerate the creation of work schedules, and minimize conflicts that may occur, so that the resulting schedule can be more reliable.
DAFTAR ISI
LEMBAR PENGESAHAN ... i
PERNYATAAN ORISINALITAS LAPORAN PENELITIAN ...ii
PERNYATAAN PUBLIKASI LAPORAN PENELITIAN ... iii
PRAKATA ... iv
1.3 Tujuan Pembahasan ... 1
1.4 Batasan Masalah ... 2
1.5 Sistematika Pembahasan ... 2
BAB II DASAR TEORI ... 4
2.1 Algoritma Genetik ... 4
2.1.1 Pengertian ... 5
2.1.2 Nilai Fitness ... 6
2.1.3 Metode Algoritma Genetika ... 6
2.1.3.1 Menentukan Representasi Kromosom ... 6
2.1.3.2 Membangkitkan Populasi Awal ... 6
2.1.3.3 Seleksi ... 7
2.1.3.4 Pindah Silang (Crossover) ... 8
2.1.3.5 Mutasi ... 11
2.2 Objek dan Kelas... 12
2.3 Pemrograman Berorientasi Objek ... 13
2.4 UML ... 14
2.4.2 Class Diagram ... 18
2.4.3 Activity Diagram ... 21
2.5 Entity Relationship Diagram ... 22
2.6 Pengujian Blackbox ... 26
BAB III ANALISA DAN PEMODELAN ... 27
3.1 Arsitektur Aplikasi ... 27
3.1.1 Use Case Diagram ... 27
3.1.2 Activity Diagram ... 28
3.2 Entity Relationship Diagram (ERD) ... 34
3.3 Layout ... 34
3.3.1 Layout Halaman Information ... 34
3.3.2 Layout Halaman Schedule Data ... 35
3.3.2.1 Layout Tab Rooms ... 35
3.3.3 Layout Halaman Generate Schedule ... 44
3.4 Perancangan User Interface ... 44
BAB IV PERANCANGAN DAN IMPLEMENTASI ... 45
4.1 Halaman Information ... 45
4.1.1 Antarmuka Halaman Information ... 45
4.1.2 Metode Utama ... 46
4.2 Halaman Schedule Data ... 46
4.2.1 Antarmuka Halaman Schedule Data ... 47
4.2.2 Metode Utama ... 56
4.3 Halaman Generate Schedule ... 59
4.3.1 Antarmuka Halaman Generate Schedule ... 59
4.3.2 Metode Utama ... 60
BAB V PENGUJIAN ... 66
5.1 Rencana Pengujian ... 66
5.2.1 Pengujian Halaman Information ... 66
5.2.2 Pengujian Halaman Schedule Data ... 70
5.2.3 Pengujian Halaman Generate Data ... 73
5.3 Kuesioner ... 73
BAB VI KESIMPULAN DAN SARAN ... 78
6.1 Kesimpulan... 78
6.2 Saran ... 78
DAFTAR PUSTAKA ... 79
DAFTAR GAMBAR
Gambar 2. 1 Ilustrasi Pengertian Individu dalam Algoritma Genetika ... 5
Gambar 2. 2 Siklus Algoritma Genetika ... 6
Gambar 2. 3 Ilustrasi Seleksi dengan Mesin Roullete ... 8
Gambar 2. 4 Alur Proses Pindah Silang (Crossover) ... 9
Gambar 2. 5 Ilustrasi Crossover Satu Titik ... 10
Gambar 2. 6 Ilustrasi Crossover Dua Titik ... 10
Gambar 2. 7 Rumus Menentukan Nilai Individu dalam Operator Aritmatika ... 11
Gambar 2. 8 Ilustrasi Crossover Aritmatika ... 11
Gambar 2. 9 Alur Proses Mutasi ... 12
Gambar 2. 10 Contoh Penggunaan Use Case Diagram ... 17
Gambar 2. 11 Simbol Class... 18
Gambar 2. 12 Contoh Generalization dan Inheritence Class Diagram ... 18
Gambar 2. 13 Contoh Association Class Diagram ... 19
Gambar 2. 14 Contoh Aggregation Class Diagram ... 19
Gambar 2. 15 Contoh Composition Class Diagram ... 19
Gambar 2. 16 Contoh Dependency Class Diagram ... 20
Gambar 2. 17 Contoh Realization Class Diagram ... 20
Gambar 2. 18 Contoh Class Diagram ... 20
Gambar 2. 19 Contoh Activity Diagram ... 22
Gambar 2. 20 Contoh entitas ERD ... 22
Gambar 2. 21 Contoh atribut sederhana ... 23
Gambar 2. 22 Contoh atribut komposit ... 23
Gambar 2. 23 Contoh atribut bernilai tunggal ... 23
Gambar 2. 24 Contoh atribut bernilai banyak ... 23
Gambar 2. 25 Contoh atribut turunan ... 24
Gambar 2. 26 Contoh relasi ERD ... 24
Gambar 2. 27 Relasi Satu ke Satu ... 24
Gambar 2. 28 Relasi Satu ke Banyak ... 24
Gambar 2. 29 Relasi Banyak ke Satu ... 25
Gambar 2. 30 Relasi Banyak ke Banyak ... 25
Gambar 3. 1 Use Case Sistem Penjadwalan Kuliah Otomatis ... 27
Gambar 3. 2 Activity Diagram Input Data ... 29
Gambar 3. 3 Activity Diagram Menyusun Jadwal ... 30
Gambar 3. 4 Activity Diagram Mencetak Data ... 31
Gambar 3. 5 Activity Diagram Menyimpan Data ... 31
Gambar 3. 6 Activity Diagram Melihat Langkah Penggunaan ... 32
Gambar 3. 7 Activity Diagram Melaporkan Error ... 32
Gambar 3. 8 Activity Diagram Mengupdate Program ... 33
Gambar 3. 10 Layout Halaman Information ... 34
Gambar 3. 11 Layout Tab Room ... 35
Gambar 3. 12 Layout Open Dialog Box Tab Room ... 36
Gambar 3. 13 Layout Form Add Room ... 36
Gambar 3. 14 Layout Tab Schedule Plans ... 36
Gambar 3. 15 Layout Open Dialog Box Tab Schedule Plans ... 37
Gambar 3. 16 Layout Form Add Schedule Plans ... 37
Gambar 3. 17 Layout Tab Subjects ... 38
Gambar 3. 18 Layout Open Dialog Box Tab Subjects ... 38
Gambar 3. 19 Layout Form Add Subjects ... 39
Gambar 3. 20 Layout Tab Lecturers ... 39
Gambar 3. 21 Layout Open Dialog Box Tab Lecturers ... 40
Gambar 3. 22 Layout Form Add Lecturers ... 40
Gambar 3. 23 Layout Tab Teaching Plans ... 41
Gambar 3. 24 Layout Open Dialog Box Tab Teaching Plans ... 41
Gambar 3. 25 Layout Form Add Teaching Plans ... 42
Ga ar . La out Ta Le turer’s Availa ilit ... 42
Ga ar . La out Ope Dialog Bo Ta Le turer’s Availa ilit ... 43
Ga ar . La out For Add Le turer’s Availa ilit ... 43
Gambar 3. 29 Layout Halaman Generate Schedule ... 44
Gambar 4. 1 Antarmuka Halaman Information ... 45
Gambar 4. 2 Antarmuka Halaman Schedule Data Rooms ... 47
Gambar 4. 4 Antarmuka Form Add Rooms ... 48
Gambar 4. 5 Antarmuka Halaman Schedule Data Schedule Plans ... 48
Gambar 4. 6 Antarmuka Open File Dialog Tab Schedule Plans ... 49
Gambar 4. 7 Antarmuka Form Add Schedule Plans ... 49
Gambar 4. 8 Antarmuka Halaman Schedule Data Subjects ... 50
Gambar 4. 9 Antarmuka Open File Dialog Tab Subjects ... 50
Gambar 4. 10 Antarmuka Form Add Subjects ... 51
Gambar 4. 11 Antarmuka Halaman Schedule Data Lecturers ... 51
Gambar 4. 12 Antarmuka Open File Dialog Tab Lecturers ... 52
Gambar 4. 13 Antarmuka Form Add Lecturers ... 52
Gambar 4. 14 Antarmuka Halaman Schedule Data Lecturer’s Tea hi g Pla ... 53
Ga ar . A tar uka Ope File Dialog Ta Le turer’s Tea hi g Pla ... 53
Gambar 4. 16 Antarmuka Form Add Teaching Plan ... 54
Ga ar . A tar uka Hala a S hedule Data Le turer’s Availa ilit ... 54
Gambar 4. 18 Antarmuka Open File Dialog Ta Le turer’s Availa ilit ... 55
Gambar 4. 19 Antarmuka Form Add Availability ... 55
Gambar 4. 20 Antarmuka Halaman Generate Schedule... 60
Gambar 5. 1 Pie chart Warna dan Jenis Tulisan Jelas dan Mudah Dibaca... 74
Gambar 5. 2 Pie chart Penggunaan Control Jelas dan Mudah Dimengerti ... 74
Gambar 5. 3 Pie chart Penggunaan Bahasa Konsisten dan Dapat Dimengerti ... 75
Gambar 5. 4 Pie chart Proses Generalisasi Data Dari File Excel Dapat Dilakukan ... 76
DAFTAR TABEL
Tabel 2. 1 Simbol Use Case Diagram ... 16
Tabel 2. 2 Simbol Activity Diagram ... 21
Tabel 5. 1 Tabel Pengujian Halaman Information ... 67
Tabel 5. 2 Tabel Pengujian Halaman Schedule Data ... 70
1 UNIVERSITAS KRISTEN MARANATHA
BAB I
PENDAHULUAN
1.1 LatarBelakang
Perkembangan teknologi yang semakin maju membuat berbagai macam pekerjaan dapat dilakukan lebih mudah. Hal ini menuntut perubahan sistem kerja yang lebih efektif dan efisien sebagai bentuk penyesuaian terhadap teknologi yang ada. Dahulu pekerjaan lebih banyak dilakukan oleh tenaga manusia. Namun di zaman sekarang, berbagai jenis pekerjaan dapat dikerjakan oleh mesin-mesin yang
terkomputerisasi. Selain proses yang lebih cepat, hasil yang didapat pun memuaskan. Salah satu pekerjaan yang masih banyak dilakukan secara manual adalah penjadwalan mata kuliah. Hal ini tentu memakan waktu dan sangat tidak efektif, mengingat sebuah universitas pasti memiliki mata kuliah yang cukup banyak. Dan dalam
perkembangannya, jumlah mahasiswa tentu akan semakin bertambah. Akan semakin sulit untuk menjadwalkan mata kuliah dengan kelas yang cukup banyak, bila dilakukan secara manual. Oleh karena itu, dibutuhkan sistem penjadwalan otomatis yang dapat mengatasi masalah ini. Sistem ini akan dibuat dalam bentuk aplikasi desktop agar dapat bekerja lebih cepat. Sistem ini diharapkan dapat menghasilkan jadwal yang baik (tanpa
bentrok waktu) dengan waktu yang lebih cepat, dan tidak memerlukan sumber daya manusia yang besar.
1.2 RumusanMasalah
Adapun pertanyaan-pertanyaan yang muncul seputar hal tersebut, adalah:
1. Bagaimana cara membuat sebuah sistem penjadwalan otomatis dengan
menggunakan aplikasi desktop, dan bahasa pemrograman C#.
2. Apakah algoritma yang akan digunakan untuk membuat sistem penjadwalan
otomatis ini.
1.3 TujuanPembahasan
Tujuan dari Tugas Akhir ini adalah untuk menerapkan penggunaan komputer dalam bidang pendidikan dengan cara:
1. Membuat sebuah sistem penjadwalan otomatis dengan menggunakan aplikasi
desktop dan bahasa pemrograman C#.
2
UNIVERSITAS KRISTEN MARANATHA 1.4 BatasanMasalah
Batasan masalah dari sistem penjadwalan otomatis ini adalah:
1. Satu jadwal hanya dapat dihadiri oleh satu dosen pada satu waktu dan slot, dan
selalu siap setiap waktu tanpa adanya gangguan keterlambatan atau ketidak hadiran dosen.
2. Jadwal tidak ditentukan oleh mata kuliah yang diambil mahasiswa.
3. Proses penjadwalan tidak membuat jadwal mata kuliah bagi mahasiswa, hanya jadwal kuliah bagi dosen saja.
4. Proses penjadwalan tidak menyertakan perwalian.
5. Data yang dipakai pada proses penjadwalan adalah data yang siap diproses, dan sudah melewati proses perwalian.
6. Nilai kemampuan dosen untuk menghadiri suatu jadwal dengan hari dan jam tertentu akan diisi oleh masing-masing dosen secara manual.
7. Pembagian jadwal dilakukan berdasarkan banyak SKS pembagi yang diinput oleh user. Dalam pembagian jadwal, semua mata kuliah diasumsikan memiliki SKS sama
seperti SKS pembagi. Sebagai contoh, apabila SKS pembagi yang diinput oleh user adalah dua, maka time-slot jadwal akan dibuat per dua SKS. Waktu jeda diabaikan.
8. Jenis perkuliahan (praktikum dan teori) dianggap sama, sehingga tidak ada prioritas jadwal untuk jenis perkuliahan.
9. Nilai default yang diberikan untuk maksimum generasi=500, probabilitas
crossover=0.25, dan probabilitas mutasi=0.1. Nilai default ini diberikan
berdasarkan percobaan-percobaan/penelitian-penelitian yang telah dilakukan.
10. Pembagian kelas ditentukan berdasarkan kapasitas kelas dan jumlah siswa.
1.5 Sistematika Pembahasan
Berikut adalah sistematika dalam penulisan laporan Tugas Akhir ini: Bab I. Pendahuluan
Bab ini berisi latar belakang atau alasan-alasan pembuatan proyek ini, rumusan masalah dari proyek, tujuan dari pembuatan proyek, batasan
masalah proyek, serta sistematika pembuatan laporan dari proyek Tugas Akhir.
3
UNIVERSITAS KRISTEN MARANATHA Bab ini digunakan untuk menjelaskan teori-teori yang berkaitan dengan pembuatan proyek, diantaranya teori UML, ERD, serta penjelasan mengenai
algorima genetik.
Bab III. Analisis dan Pemodelan
Bab ini digunakan untuk menampilkan use case diagram, activity diagram, class diagram, ERD, serta rancangan aplikasi.
Bab IV. Perancangan
Bab ini digunakan untuk menjabarkan setiap metode yang digunakan dalam pembuatan proyek ini.
Bab V. Pengujian
Bab ini berisi laporan pengujian dari setiap metode yang digunakan (pengujian blackbox), serta laporan kuesioner.
Bab VI. Penutupan (Kesimpulan dan Saran)
Bab ini digunakan untuk memberi kesimpulan dan kata-kata penutup dalam Laporan Tugas Akhir.
Daftar Pustaka
Bagian yang berisi tentang daftar sumber-sumber informasi yang digunakan
78
BAB VI
KESIMPULAN DAN SARAN
6.1 Kesimpulan
Berikut ini adalah kesimpulan yang didapat berdasarkan hasil yang telah dicapai
dalam penelitian ini.
1. Algoritma genetic dapat diterapkan untuk membantu penjadwalan mata kuliah
dan memberikan hasil yang cukup memuaskan.
2. Jadwal yang dihasilkan cukup baik, tidak memiliki bentrok, dan sesuai dengan
rencana jadwal yang disetujui oleh dosen dari awal.
3. Tujuan utama dari pembuatan aplikasi ini telah tercapai, dan menjadikan kegiatan
pembuatan jadwal kuliah menjadi lebih efektif,efisien, dan mudah.
6.2 Saran
Berikut adalah saran yang dapat diberikan setelah melihat evaluasi dan hasil yang
telah dicapai dengan acuan kuesioner.
1. Tampilan desain antarmuka masih memerlukan perbaikan untuk pengembangan
lebih lanjut.
2. Bila memungkinkan, sistem dapat dikembangkan agar dapat membuat jadwal
79 UNIVERSITAS KRISTEN MARANATHA
DAFTAR PUSTAKA
Eiben, A. (1994). Genetic Algorithms With Multi-parent Recombination. PPSN III.
Fikri, R., Adam, F., & Prakoso, I. (2008). Pemrograman Java. Yogyakarta: Andi.
Goldberg, D. E. (1989). Genetic Algorithms in Search Optimization and Machine
Learning. Addison Wesley.
Imbar, R. V., & Sutedja, B. R. (2006). Pemrograman Web-Commerce dengan Oracle dan
ASP. Bandung: Informatika.
Mitsuo, G., & Runwei, C. (1997). Genetic Algorithms and Engineering Design. New York:
John Wiley & Sons, Inc.
Patton, R. Software Testing. Sams.
Shelly, G. B., Cashman, T. J., & Rosenblatt, H. J. (2007). System Analysis and Design.
Course Technology.
Weise, T. (2009). Global Optimization Algorithms : Theory and Application. Germany: