PENELITI :
1
2
3
IMPLEMENTASI ALGORITMA GENETIKA DALAM PENJADWALAN KULIAH
TEKNIK INFORMATIKA DI SEKOLAH TINGGI SAINS DAN TEKNOLOGI
INDONESIA (ST-INTEN)
SUBAGDJA
ABSTRAK
4
KATA PENGANTAR
Puji dan syukur penulis panjatkan kehadirat Allah SWT, yang senantiasa
melimpahkan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan penelitian
dengan judul “Implementasi Algoritma Genetika dalam Penjadwalan Kuliah Teknik
Informatika di Sekolah Tinggi Sains dan Teknologi Indonesia (ST-INTEN)”.
Dalam penyusunan penelitian ini penulis banyak dibantu oleh berbagai pihak, baik
langsung maupun tidak langsung. Untuk itu penulis mengucapkan terima kasih sebesar-
besarnya kepada:
1. Bapak Ir. Kemal Affandi, M.Ars selaku Ketua Sekolah Tinggi Sains dan
Teknologi Indonesia Bandung.
2. Bapak Ir. Rahy Rachmawan S., MT selaku Ketua Lembaga Penelitian dan
Pengabdian Masyarakat Sekolah Tinggi Sains dan Teknologi Indonesia
Bandung.
4. Dan semua pihak yang tidak dapat disebutkan satu persatu yang telah
memberi bantuan dandorongan.
Penulis menyadari bahwa penelitian ini masih jauh dari kesempurnaan. Oleh karena
itu, penulis mengharapkan saran dan kritik yang sifatnya membangun sebagai masukan untuk
penelitian ini.
Akhirnya hanya kepada Allah SWT kita memohon petunjuk dan pertolongan.
Semoga laporan ini dapat memberikan manfaat bagi penulis maupun para pembaca sekalian,
terima kasih.
Bandung,
Penulis
5
DAFTAR ISI
6
c) Bahasa Basis Data ............................................................................................................... 23
4. PHP .......................................................................................................................................... 24
a) FRAMEWORK....................................................................................................................... 24
b) CODEIGNITER ...................................................................................................................... 24
BAB III ............................................................................................................................................... 26
METODE PENELITIAN.................................................................................................................. 26
1. Sumber Data............................................................................................................................ 26
2. Langkah Perancangan ............................................................................................................. 26
3. Perancangan Sistem ................................................................................................................ 27
BAB IV ............................................................................................................................................... 28
HASIL DAN PEMBAHASAN .......................................................................................................... 28
A. Hasil Penelitian........................................................................................................................ 28
BAB V ................................................................................................................................................. 59
SIMPULAN DAN SARAN ............................................................................................................... 59
A. Simpulan .................................................................................................................................. 59
B. Saran ........................................................................................................................................ 59
DAFTAR PUSTAKA ............................................................................................................................... 60
7
DAFTAR GAMBAR
9
DAFTAR TABEL
11
DAFTAR RUMUS
12
BAB I
PENDAHULUAN
A. Latar Belakang
13
B. Rumusan Masalah
14
BAB II
TINJAUAN PUSTAKA
1. ALGORITMA GENETIKA
Dalam buku (Zukhri, 2014) struktur dasar algoritma genetika terdiri ata beberapa
langkah:
1. Inisialisasipopulasi.
2. Evaluasipopulasi.
3. Seleksi populasi yang akan dikenai operator genetika.
4. Proses penyilangan pasangan kromosomtertentu.
15
5. Proses mutasi kromosomtertentu.
6. Evaluasi populasibaru
7. Ulangi dari langkah 3 selama syarat berhenti belumterpenuhi.
f) Syarat Berhenti
2. UNIFIED MODELLINGLANGUAGE
Dalam buku (Kendall & Kendall, 2011) pendekatan UML baik untuk
menyelidiki dan pemahaman, karena penerimaan yang luas. UML menyediakan
17
satu set standar alat untuk mendokumentasikan analisis dan desain perangkat lunak
sistem.
Gambar II.8 Hubungan antar diagram UML (Kendall & Kendall, 2011)
a) UseCaseDiagram
Use case menjelaskan tiga hal: actor yang memulai event; event
memicu sebuah use case; dan tindakan use case setelah dipicu oleh event
tersebut (Kendall & Kendall, 2011).
1. Subject
2. Usecases
18
Use case menggambarkan seperangkat urutan, dimana setiap urutan
mewakili interaksi dari hal – hal di luar sistem (aktornya) dengan sistem
itu sendiri.
Meminjam buku
3. Actors
Member
Pengunjung
Non-member
19
Gambar II.11 Contoh Use Case Diagram (Kendall & Kendall, 2011)
b) ActivityDiagram
20
Gambar II.12 Activity Diagram (Kendall & Kendall, 2011)
c) ClassDiagram
1.Classes
Kelas merupakan deskripsi dari sekumpulan objek yang
memiliki atribut, operasi, hubungan dan semantic yang sama. Kelas
mengimplementasikan satu atau lebih antarmuka. Syarat membuat
kelas, yaitu memiliki nama, atribut atau operasi.
Nama kelas harus memiliki perbedaan dengan nama kelas
yang lain. Nama kelas memiliki nama yang sederhana.
Atribut merupakan properti kelas yang menggambarkan
serangkaian nilai yang dimiliki kelas tersebut. Sebuah kelas
memungkinkan memiliki beberapa atribut atau tidak samasekali.
21
Atribut merupakan abstraksi dari jenis data atau keadaan yang
mungin dimiliki oleh kelas.
Operasi kelas merupakan implementasi layanan yang dapat
diminta dari suatu kelas untuk mempengaruhi perilaku kelas
tersebut. Sama seperti atribut, operasi dapat memiliki beberapa
operasi atau tidak sama sekali.
Gambar II.13Classes
d) SequenceDiagram
3. BASIS DATA
Basis Data terdiri dari 2 sukukata, yaitu Basis dan Data.Dalam buku yang
berjudul Basis Data (Fathansyah, 2012) Basis diartikan sebagai markas atau
22
gudang, tempat bersarang/berkumpul. Sedangkan Data adalah refresentasi fakta
dunia nyata yang mewakili suatu objek seperti manusia, barang, hewan, peristiwa,
konsep, keadaan dan sebagainya, yang diwujudkan dalam bentuk angkat, huruf,
simbol, teks, gambar, bunyi ataukombinasinya.
Sistemadalahsebuahtatanan(keterpaduan)yangterdiriatassejumlah
komponen fungsional (dengan satuan fungsi dan tugas khusus) yang saling
berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu
proses tertentu (Fathansyah,2012).
23
suatubasisdata.Manipulasidapatberupapenambahandatabaru,
penghapusan data, pengubahandata.
4. PHP
a) FRAMEWORK
b) CODEIGNITER
24
Gambar II.15 Alur codeigniter
25
BAB III
METODE PENELITIAN
1. Sumber Data
2. Langkah Perancangan
Langkah perancangan yang akan dilakukan dalam penelitian ini akan dijelaskan dan
digambarkan yaitu sebagai berikut
UseCaseDiagram
Staf
A. HASIL PENELITIAN
IV.1.1. Tampilan HalamanLogin
28
IV.1.3. Tampilan HalamanJam
29
IV.1.4. Tampilan HalamanHari
30
IV.1.6. Tampilan HalamanDosen
31
IV.1.8. Tampilan Halaman Data Pengajaran
32
IV.1.10. Tampilan Halaman KehadiranDosen
33
IV.1.12. Tampilan HalamanHasil
IV.2. PengujianTertulis
Jumlah dosen yang mengajar yaitu Ir. Subagdja MT., Drs. Richard
34
Sitompul, M.Si., Syahban Rangkuti, MT.. Oleh karena setiap dosen bisa mengajar
lebih dari satu mata kuliah maka dibentuk tabel mata kuliah dan dosen yang
mengajar.
1 R01
2 R02
3 R03
1 Senin 17.00-18.40
3 Selasa 17.00-18.40
35
Maka kromosom pembentuk dapat digambarkan sebagai berikut:
MK DS MK DS MK DS
R R R
IV.2.1. InisialisasiPopulasi
Pengajaran 1 2 3 4
Waktu 1 1 3 4
Ruangan 1 3 2 2
Pengajaran 1 2 3 4
Waktu 3 4 2 3
Ruangan 1 3 2 2
36
Tabel IV.7 Kromosom 3
Pengajaran 1 2 3 4
Waktu 3 4 2 3
Ruangan 3 1 2 2
Kromosom 1 =[1,1,1],[2,1,3],[3,3,2],[4,4,2]
Kromosom 2 =[1,3,1],[2,4,3],[3,2,2],[4,3,2]
Kromosom 2 =[1,3,3],[2,4,1],[3,2,2],[4,3,2]
Dari tabel di atas akan diperoleh nilai kehadiran dari setiap gen sebagai
berikut :
Kromosom 1 1+1+0+1=3
37
Kromosom 2 0+0+1+1=2
Kromosom 3 0+0+1+1=2
Kromosom 1 =2
Kromosom 2 =3
Kromosom 3 =6
1 2 3 4 5 6 7
Kromosom 1 = kromosom1
Kromosom 2 = kromosom1
Kromosom 3 = kromosom3
Maka populasi baru yang terbentuk dari hasil evaluasi adalah sebagai
berikut:
Kromosom 1 =[1,1,1],[2,1,3],[3,3,2],[4,4,2]
Kromosom 2 =[1,1,1],[2,1,3],[3,3,2],[4,4,2]
Kromosom 3 =[1,3,3],[2,4,1],[3,2,2],[4,3,2]
R[1] =0,211
R[2] =0,325
R[3] =0,125
Kromosom yang akan dipilih sebagai induk adalah jika R[k] <
probabilitas crossover. Maka yang akan menjadi induk adalah kromosom 1 dan
kromosom 3.
Kromosom 1 =3
Kromosom 3 =2
39
Tabel IV.12 Penyilangan kromosom 3
Kromosom 1 =[1,1,1],[2,1,3],[3,2,2],[4,4,2]
Kromosom 2 =[1,1,1],[2,1,3],[3,3,2],[4,4,2]
Kromosom 3 =[1,3,3],[2,1,1],[3,2,2],[4,3,2]
IV.2.4. MutasiKromosom
Pada kasus penjadwalan ini, skema mutasi yang akan dilakukan adalah
dengan menentukan jumlah kromosom yang akan mengalami mutasi dengan
bantuan mutation rate. Proses mutasi dilakukan dengan cara menukarkan gen
yang dipilih secara acak dengan gen sesudahnya. Langkah pertama yang
dilakukan adalah menentukan panjang gen populasi yaitu:
=4*3
=12
40
Kromosom 3 [1,3,3] [2,4,1] [3,2,2] [4,3,2]
Kromosom 1 1+1+1+1=4
Kromosom 2 0+1+1+1=3
Kromosom 3 0+1+1+1=3
Darihasilperhitungan1generasidiatasdapatditarikkesimpulanbahwa
jadwal yang dihasilkan terbaik adalah pada kromosom 1 dengan hasil jadwal
sebagaiberikut:
41
Senin 18.40 – 19.40 Matematika Drs. Richard R02
Teknik Sitompul,M.Si
42
IV.3. PengujianSistem
Pengujian sistem dilakukan untuk mengetahui hasil dari implementasi perangkat lunak sesuai dengan ketentuan. Pengujian ini
dilakukan dengan menguji setiap proses yang ada di sistem.
IV.3.1. RencanaPengujian
43
Hapus data waktu
Tambah data dosen
Pengelolaan data dosen Ubah data dosen PUPL05 Pengujian Unit Black box
Hapus data dosen
Tambah data mata kuliah
Pengelolaan data mata kuliah Ubah data mata kuliah PUPL06 Pengujian Unit Black box
Hapus data mata kuliah
Tambah data pengajaran
Pengelolaan data pengajaran Ubah data pengajaran PUPL07 Pengujian Unit Black box
Hapus data pengajaran
Tambah data ruangan
Pengelolaan data ruangan Ubah data ruangan PUPL08 Pengujian Unit Black box
Hapus data ruangan
Tambah data kehadiran
dosen
Pengelolaan data kehadiran Ubah data kehadiran dosen
PUPL09 Pengujian Unit Black box
dosen
Hapus data kehadiran
dosen
44
Generate Algoritma
Pengelolaan data jadwal Genetika PUPL10 Pengujian Unit Black box
Lihat Hasil jadwal
IV.3.2. HasilPengujian
Hasil pengujian merupakan hasil pengujian program yang dilakukan terhadap kesesuaian kebutuhan sistem.
Identifikasi Deskripsi Prosedur Masukan Keluaran yang Kriteria Evaluasi Hasil Kesimpulan
Pengujian diharapkan Hasil yang
Didapat
Pengujian dengan Isi form Data member Tampil menu sesuai Menampilkan menu Sesuai diterima
username dan login (email dan hak akses halaman sesuai hak dengan
PUPL01 password valid dengan data password) akses keluaran
untuk status yangbenar yang
sebagai member diharapkan
45
Pengujian dengan Isi form username atau Tampil pesan Tampil pesan Sesuai diterima
kasus uji textbox login password kesalahan kesalahan dengan
ada yang kosong dengan kosong "Username/password "Username/password keluaran
textboxnya belumdiisi" belumdiisi" yang
ada yang diharapkan
kosong
Pengujian dengan Isi form Data member Tampil pesan Tampil pesan Sesuai diterima
username atau login (email atau kesalahan kesalahan dengan
password salah dengan data password "Username/password "Username/password keluaran
yangsalah salah) andasalah" andasalah" yang
diharapkan
Identifikasi Deskripsi Prosedur Pengujian Masukan Keluaran Kriteria Hasil yang Kesimpulan
yang Evaluasi Didapat
diharapkan Hasil
Pengujian input tambah 1. Isi form input data Data jam Menampilkan Menampilkan Sesuai diterima
data jam valid jam dengan benar pesan "data pesan "data dengan
berhasil berhasil yang
2. Klik simpan
disimpan" disimpan" diharapkan
PUPL02
Pengujian input data jam 1. Isi form input data Data jam Menampilkan Menampilkan Sesuai diterima
kosong jam dengan kosong pesan "data pesan "data dengan
46
tidak boleh tidak boleh yang
2. Klik simpan
kosong" kosong" diharapkan
Pengujian ubah data jam 1. Pilih data Data jam Menampilkan Menampilkan Sesuai diterima
pesan "data pesan "data dengan
2. Klik tombol ubah
berhasil berhasil yang
3. Ubah data jam diubah" diubah" diharapkan
4. Klik tombol simpan
Pengujian hapus data jam 1. Pilih data - Menampilkan Menampilkan Sesuai diterima
pesan "data pesan "data dengan
2. Klik tombol hapus
berhasil berhasil yang
dihapus" dihapus" diharapkan
Identifikasi Deskripsi Prosedur Pengujian Masukan Keluaran Kriteria Hasil yang Kesimpulan
yang Evaluasi Didapat
diharapkan Hasil
Pengujian input tambah 1. Isi form input data Data hari Menampilkan Menampilkan Sesuai diterima
data hari valid hari dengan benar pesan "data pesan "data dengan
PUPL03 berhasil berhasil yang
2. Klik simpan disimpan" disimpan" diharapkan
47
Pengujian input data hari 1. Isi form input data Data hari Menampilkan Menampilkan Sesuai diterima
kosong hari dengan kosong pesan "data pesan "data dengan
tidak boleh tidak boleh yang
2. Klik simpan kosong" kosong" diharapkan
Pengujian ubah data hari 1. Pilih data Data hari Menampilkan Menampilkan Sesuai diterima
pesan "data pesan "data dengan
2. Klik tombol ubah berhasil berhasil yang
diubah" diubah" diharapkan
3. Ubah data hari
48
IV.3.2.4. Pengujian DataWaktu
Identifikasi Deskripsi Prosedur Pengujian Masukan Keluaran Kriteria Hasil yang Kesimpulan
yang Evaluasi Hasil Didapat
diharapkan
Pengujian input tambah 1. Isi form input data Data Menampilkan Menampilkan Sesuai diterima
data waktu valid waktu dengan benar waktu pesan "data pesan "data dengan
berhasil berhasil yang
2. Klik simpan disimpan" disimpan" diharapkan
Pengujian input data waktu 1. Isi form input data Data Menampilkan Menampilkan Sesuai diterima
kosong jam dengan kosong waktu pesan "data pesan "data dengan
tidak boleh tidak boleh yang
2. Klik simpan kosong" kosong" diharapkan
PUPL04
Pengujian ubah data waktu 1. Pilih data Data Menampilkan Menampilkan Sesuai diterima
waktu pesan "data pesan "data dengan
2. Klik tombol ubah berhasil berhasil yang
diubah" diubah" diharapkan
3. Ubah data jam
4. Klik tombol
simpan
49
Pengujian hapus data waktu 1. Pilih data - Menampilkan Menampilkan Sesuai diterima
pesan "data pesan "data dengan
2. Klik tombol hapus berhasil berhasil yang
dihapus" dihapus" diharapkan
Identifikasi Deskripsi Prosedur Pengujian Masukan Keluaran Kriteria Hasil yang Kesimpulan
yang Evaluasi Didapat
diharapkan Hasil
Pengujian input 1. Isi form input data Data dosen Menampilkan Menampilkan Sesuai diterima
tambah data dosen dosen dengan benar pesan "data pesan "data dengan
valid berhasil berhasil yang
disimpan" disimpan" diharapkan
2. Klik simpan
PUPL05 Pengujian input 1. Isi form input data Data dosen Menampilkan Menampilkan Sesuai diterima
data dosen kosong dosen dengan kosong pesan "data pesan "data dengan
tidak boleh tidak boleh yang
2. Klik simpan kosong" kosong" diharapkan
50
Pengujian ubah 2. Klik tombol ubah Menampilkan Menampilkan Sesuai
data dosen pesan "data pesan "data dengan
3. Ubah data dosen berhasil berhasil yang
diubah" diubah" diharapkan
4. Klik tombol simpan
Identifikasi Deskripsi Prosedur Pengujian Masukan Keluaran Kriteria Hasil yang Kesimpulan
yang Evaluasi Didapat
diharapkan Hasil
Pengujian input 1. Isi form input data Data mata Menampilkan Menampilkan Sesuai diterima
tambah data mata mata kuliah dengan kuliah pesan "data pesan "data dengan
PUPL06 kuliah valid benar berhasil berhasil yang
disimpan" disimpan" diharapkan
2. Klik simpan
51
Pengujian input 1. Isi form input data Data mata Menampilkan Menampilkan Sesuai diterima
data mata kuliah mata kuliah dengan kuliah pesan "data pesan "data dengan
kosong kosong tidak boleh tidak boleh yang
kosong" kosong" diharapkan
2. Klik simpan
Pengujian ubah 1. Pilih data Data mata Menampilkan Menampilkan Sesuai diterima
data mata kuliah kuliah pesan "data pesan "data dengan
2. Klik tombol ubah berhasil berhasil yang
diubah" diubah" diharapkan
3. Ubah data mata
kuliah
52
IV.3.2.7. Pengujian DataPengajaran
Identifikasi Deskripsi Prosedur Pengujian Masukan Keluaran Kriteria Hasil yang Kesimpulan
yang Evaluasi Didapat
diharapkan Hasil
Pengujian input tambah 1. Isi form input data Data Menampilkan Menampilkan Sesuai diterima
data pengajaran valid pengajaran dengan pengajaran pesan "data pesan "data dengan
benar berhasil berhasil yang
disimpan" disimpan" diharapkan
2. Klik simpan
Pengujian input data 1. Isi form input data Data Menampilkan Menampilkan Sesuai diterima
pengajaran kosong pengajaran dengan pengajaran pesan "data pesan "data dengan
kosong tidak boleh tidak boleh yang
PUPL07 kosong" kosong" diharapkan
2. Klik simpan
Pengujian ubah data 1. Pilih data Data Menampilkan Menampilkan Sesuai diterima
pengajaran pengajaran pesan "data pesan "data dengan
2. Klik tombol ubah berhasil berhasil yang
diubah" diubah" diharapkan
3. Ubah data
pengajaran
53
4. Klik tombol
simpan
Identifikasi Deskripsi Prosedur Pengujian Masukan Keluaran Kriteria Hasil yang Kesimpulan
yang Evaluasi Didapat
diharapkan Hasil
Pengujian input 1. Isi form input data Data ruangan Menampilkan Menampilkan Sesuai diterima
tambah data ruangan dengan benar pesan "data pesan "data dengan
ruangan valid berhasil berhasil yang
2. Klik simpan disimpan" disimpan" diharapkan
PUPL08
Pengujian input data 1. Isi form input data Data ruangan Menampilkan Menampilkan Sesuai diterima
ruangan kosong ruangan dengan pesan "data pesan "data dengan
kosong
54
tidak boleh tidak boleh yang
2. Klik simpan
kosong" kosong" diharapkan
Pengujian ubah data 1. Pilih data Data ruangan Menampilkan Menampilkan Sesuai diterima
ruangan pesan "data pesan "data dengan
2. Klik tombol ubah berhasil berhasil yang
diubah" diubah" diharapkan
3. Ubah data ruangan
55
IV.3.2.9. Pengujian Data KehadiranDosen
Identifikasi Deskripsi Prosedur Pengujian Masukan Keluaran Kriteria Hasil yang Kesimpulan
yang Evaluasi Didapat
diharapkan Hasil
Pengujian input 1. Isi form input data Data Menampilkan Menampilkan Sesuai diterima
tambah data kehadiran dosen dengan kehadiran pesan "data pesan "data dengan
kehadiran dosen benar dosen berhasil berhasil yang
valid disimpan" disimpan" diharapkan
2. Klik simpan
Pengujian input 1. Isi form input data Data Menampilkan Menampilkan Sesuai diterima
data kehadiran kehadiran dosen dengan kehadiran pesan "data pesan "data dengan
dosen kosong kosong dosen tidak boleh tidak boleh yang
PUPL09 kosong" kosong" diharapkan
2. Klik simpan
56
4. Klik tombol simpan
Identifikasi Deskripsi Prosedur Pengujian Masukan Keluaran Kriteria Hasil yang Kesimpulan
yang Evaluasi Didapat
diharapkan Hasil
Pengujian input 1. Isi form input data data jadwal Menampilkan Menampilkan Sesuai diterima
data generate jadwal pesan "Data pesan "Data dengan
jadwal berhasil berhasil yang
2. Klik generate disimpan" disimpan" diharapkan
jadwal
PUPL10
57
IV.4. Kesimpulan Pengujian Sistem
Dari hasil pengujian sistem yang telah dilakukan di atas, maka dapat
disimpulkan perangkat lunak yang dibangun bebas dari kesalahan sintaks dan dari
hasil pengujian dapat disimpulkan perangkat lunak yang telah dibangun sudah dapat
digunakan dengan mudah.
58
BAB V
A. Simpulan
Dari hasil penelitian implementasi algoritma genetika dalam
penjadwalan kuliah teknik informatika di ST – INTEN dihasilkan kesimpulan
sebagai berikut :
59
DAFTAR PUSTAKA
60