• Tidak ada hasil yang ditemukan

Pembuatan Program Penjadwalan Kuliah Otomatis Menggunakan Algoritma Genetik.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembuatan Program Penjadwalan Kuliah Otomatis Menggunakan Algoritma Genetik."

Copied!
14
0
0

Teks penuh

(1)

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.

(2)

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.

(3)

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

(4)

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)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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#.

(11)

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.

(12)

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

(13)

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

(14)

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:

Referensi

Dokumen terkait

Menilik pada hasil tindakan yang sudah dijabarkan di atas, dapat di tarik kesimpulan bahwa penerapan pembelajaran kooperatif tipe think talk write dapat menaikkan

Dalam mengimplementasikan PAK keluarga tentunya membutuhkan dana, untuk itu orang tua sebagai penanggungjawab PAK keluarga harus memikirkan pendanaan atau dana yang

Tindak lanjut hasil pemeriksaan periode lalu yang diukur dengan semakin banyak rekomendasi yang dilakukan oleh pemerintah diharapkan dapat meningkatkan

Pola pertumbuhan berat badan, tinggi badan, panjang duduk serta lingkar lengan anak laki-laki dan anak perempuan usia 1 sampai 5 tahun di Perkampungan Budaya

Menimbang, bahwa berdasarkan fakta-fakta tersebut dapat disimpulkan bahwa Pemohon I yang bernama PEMOHON I dan Pemohon II yang bernama PEMOHON II sebagaimana yang

Faktor-faktor ekonomi yang memengaruhi tingkat konsumsi rumah tangga adalah pendapatan rumah tangga, kekayaan rumah tangga, jumlah barang konsumsi tahan lama dalam

Saya mengesahkan bahawa satu Jawatankuasa Pemeriksa telah berjumpa pada 28 Februari 2011 untuk menjalankan peperiksaan akhir bagi Siti Balkis binti Bari untuk

Penelitian ini bertujuan untuk mengetahui kadar unsur dan senyawa kimia limbah cangkang kerang Totok (Geloina sp.) hasil tangkapan masyarakat desa Bulupayung Cilacap di