-
IMPLEMENTASI ALGORITMA GENETIKA PADA SISTEM
PENJADWALAN LAB ICT TERPADU
LAPORAN KULIAH KERJA PRAKTEK
Oleh :
1. 1211501075 Christian Yonathan S.
2. 1211501877 Eddo Careera Iriyanto Putra
3. 1211503568 Muhammad Kailani Ridwan
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDI LUHUR
JAKARTA
SEMESTER GASAL
2014/2015
-
i
IMPLEMENTASI ALGORITMA GENETIKA PADA SISTEM
PENJADWALAN LAB ICT TERPADU
LAPORAN KULIAH KERJA PRAKTEK
Oleh :
1. 1211501075 Christian Yonathan S.
2. 1211501877 Eddo Careera Iriyanto Putra
3. 1211503568 Muhammad Kailani Ridwan
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDI LUHUR
JAKARTA
SEMESTER GASAL
2014/2015
-
ii
-
iii
SURAT KETERANGAN
-
iv
ABSTRAKSI
Penulis ini bertujuan untuk Penjadwalan ruangan untuk setiap
mata kuliah yang
berada di LAB untuk setiap sesi dalam satu hari yang telah
ditentukan oleh pihak Fakultas.
Dengan menghitung jumlah mata kuliah yang sama dalam satu hari
dan sesi waktu yang
sama. Kemudian setiap semester semakin terus bertambah mata
kuliah yang diadakan di
LAB ICT. Pada kasus ini, penulis menggunakan metode algoritma
genetika dengan
pengkodean integer, lalu panjang kromosom sebanyak 14. Pengujian
dilakukan untuk memudahkan pekerjaan supervisor dan dapat berupa
solusi saran penjadwalan terbaik. Dari penulis yang telah dilakukan
terhadap hasil pengujian penjadwalan didapatkan dari setiap
sesi hari presentase keberhasilan sebesar 90.15%.
Kata Kunci : Genetic Algorithm, Penjadwalan LAB ICT Algoritma
Genetika Xiv+227 halaman; 47 gambar; 11 tabel; 1 lampiran
-
v
KATA PENGANTAR
Dengan memanjatkan segala puji syukur Tuhan Yang Maha Esa, yang
telah
melimpahkan Rahmat dan Hidayah-Nya serta nikmat sehat kepada
Penulis, dan atas karunia-
Nya sehingga Penulis dapat menyelesaikan kegiatan Kuliah Kerja
Praktek (KKP) mengenai
Implementasi Algoritma Genetika Pada Sistem Penjadwalan LAB ICT
TERPADU.
Selain itu, dalam proses penyelesaian KKP ini tentunya tidak
terbatas dari bimbingan,
peranan, dan bantuan berharga dari berbagai pihak. Pada
kesempatan ini, penulis ingin
menyampaikan rasa hormat dan ungkapan terima kasih yang tulus
kepada :
1. Tuhan Yang Maha Esa atas segala petunjuk dan kemudahan-Nya
sehingga pada
akhirnya penulis dapat menyelesaikan Laporan Kuliah Kerja
Praktek.
2. Kedua Orang Tua kami yang telah memberikan dorongan dan
dukungan baik moral
maupun spiritual.
3. Bapak Prof Ir. Suryo Hapsoro Tri Utomo, PhD. Selaku Rektor,
Universitas Budi Luhur.
4. Bapak Goenawan Brotosaputro, S.Kom, M.Sc. selaku Dekan
Fakultas Teknologi
Informasi, Universitas Budi Luhur.
5. Bapak Muhammad Ainur Rony, S.Kom, M.T.I. selaku Ketua Program
Studi Teknik
Informatika Universitas Budi Luhur dan Dosen Pembimbing KKP.
6. Teman KUTI 2012 yang berjasa dalam penyelesaian KKP ini.
7. Seluruh pihak yang turut membantu yang terlalu banyak bila
disebutkan, yang ikut serta
memberikan semangat sehingga KKP ini dapat terselesaikan.
Semoga Tuhan yang maha esa melimpahkan anugerah-Nya atas segala
bantuan yang telah
diberikan. Amin. Akhir kata, karena keterbatasan pengetahuan dan
pengalaman yang
dimiliki, Penulis menyadari bahwa KKP ini masih jauh dari
sempurna. Untuk itu Penulis
mengharapkan saran dan kritik yang membangun dari Pembaca guna
kesempurnaan KKP ini.
Semoga KKP ini dapat bermanfaat dan memberikan sumbangan pikiran
bagi para Pembaca.
Jakarta, Febuari 2015
Penulis
-
vi
DAFTAR TABEL
Halaman Tabel 2.1. : Perbandingan Inilah Pada Sistem Alamiah Dan
Algoritma Genetika ............. 3
Tabel 2.2. : Contoh populasi dengan 5 kromosom setelah
dirangking .......................... 7
Tabel 3.1. : Spesifikasi Tabel Dosen
.........................................................................
17
Tabel 3.2. : Spesifikasi Tabel Hari
............................................................................
17
Tabel 3.3. : Spesifikasi Tabel Jam
............................................................................
17
Tabel 3.4. : Spesifikasi Tabel LAB
............................................................................
18
Tabel 3.5. : Spesifikasi Tabel Mata
kuliah..................................................................
18
Tabel 3.6. : Spesifikasi Tabel Spesifikasi LAB
.............................................................
18
Tabel 3.7. : Spesifikasi Tabel
tjadwal........................................................................
19
Tabel 3.8. : Hasil Pengujian pertama
........................................................................
64
Tabel 3.9. : Hasil Pengujian kedua
...........................................................................
65
-
vii
DAFTAR GAMBAR
Halaman
Gambar 2.1 : Representasi kromosom dalam pengkodean Integer
............................. 5
Gambar 2.2 : Representasi Kromosom dalam pengkodean Biner
................................ 5
Gambar 2.3 : Contoh penggunaan seleksi dengan metode roulette
wheel ................... 6
Gambar 2.4 : Contoh perkawinan silang 1 titik pada pengkodean
biner ....................... 7
Gambar 2.5 : Contoh perkawinan silang 2-titik pada pengkodean
biner ....................... 8
Gambar 2.6 : Contoh mutasi pada pengkodean
Integer............................................. 9
Gambar 2.7 : Contoh mutasi pada pengkodean Biner
................................................ 9
Gambar 2.8 : Diagram alir algoritma genetik
.......................................................... 12
Gambar 3.1 : Rancangan Entity Relationship Diagram
............................................. 14
Gambar 3.2 : Rancangan ER-Diagram Ke Logical Record Structure
........................... 15
Gambar 3.3 : Rancangan Logical Record Structure
................................................. 16
Gambar 3.4 : Form Rancangan Layar Form Menu
................................................... 20
Gambar 3.5 : Rancangan Layar Form Mata Kuliah
.................................................. 21
Gambar 3.6 : Rancangan Layar Form PopUp Mata Kuliah
........................................ 22
Gambar 3.7 : Rancangan Layar Form Dosen
.......................................................... 22
Gambar 3.8 : Rancangan Layar Form PopUp Dosen
................................................ 23
Gambar 3.9 : Rancangan Layar Form
LAB..............................................................
24
Gambar 3.10 : Rancangan Layar Form Hari
.............................................................
25
Gambar 3.11 : Rancangan Layar Form Jam
.............................................................
26
Gambar 3.12 : Rancangan Layar Form Spesifikasi LAB
.............................................. 27
Gambar 3.13 : Rancangan Layar Form Input Jadwal
................................................. 28
Gambar 3.14 : Rancangan Layar Form Generate
...................................................... 29
Gambar 3.15 : Rancangan Layar Form Menu Utama
................................................. 30
Gambar 3.16 : Rancangan Layar Form Mata Kuliah
.................................................. 32
Gambar 3.17 : Rancangan Layar Form MenuPopUp Mata
Kuliah................................. 33
Gambar 3.18 : Rancangan Layar Form Dosen
.......................................................... 36
Gambar 3.19 : Rancangan Layar Form MenuPopUp Dosen
........................................ 37
Gambar 3.20 : Rancangan Layar Form
LAB..............................................................
40
Gambar 3.21 : Rancangan Layar Form Hari
.............................................................
42
Gambar 3.22 : Rancangan Layar Form Jam
.............................................................
44
Gambar 3.23 : Rancangan Layar Form Spesifikasi LAB
.............................................. 47
-
viii
Gambar 3.24 : Rancangan Layar Form Input Jadwal
................................................. 49
Gambar 3.25 : Rancangan Layar Form Generate
...................................................... 51
Gambar 4.1 : Tampilan Layar Menu Utama
............................................................ 54
Gambar 4.2 : Tampilan Layar Form Mata Kuliah
..................................................... 55
Gambar 4.3 : Tampilan Layar Form PopUp Mata Kuliah
........................................... 56
Gambar 4.4 : Tampilan Layar Form Dosen
.............................................................
57
Gambar 4.5 : Tampilan Layar Form PopUp Dosen
................................................... 57
Gambar 4.6 : Tampilan Layar Form LAB
................................................................
58
Gambar 4.7 : Tampilan Layar Form Hari
................................................................
59
Gambar 4.8 : Tampilan Layar Form Jam
................................................................
59
Gambar 4.9 : Tampilan Layar Form Spesifikasi LAB
................................................. 60
Gambar 4.10 : Tampilan Layar Form Input Jadwal
................................................... 61
Gambar 4.11 : Tampilan Layar Form Generate Jadwal
.............................................. 62
Gambar 4.12 : Representasi Integer Pada LAB
......................................................... 63
Gambar 4.13 : Form Generate Hasil Pengujian Pertama
............................................ 63
Gambar 4.14 : Form Generate Hasil Pengujian Kedua
............................................... 65
-
ix
DAFTAR SIMBOL
1. Diagram ERD
Entity (Entitas)
Merupakan sekumpulan orang, tempat obyek yang
menampilkan data dicatat atau disimpan
Relationship (Hubungan)
Menggambarkan hubungan yang terjadi pada dua
entitas atau lebih
Cardinality (Kardinalitas)
Menggambarkan tingkat hubungan yang terjadi pada
dua buah entitas
Weak Entity (Entitas Lemah)
Merupakan entitas yang tidak memiliki primary key
dan tergantung pada primary key entitas lain
Weak Relationship (Hubungan Lemah)
Menggambarkan hubungan yang terjadi pada dua
entitas atau lebih yang bersifat lemah
Garis
Menunjukkan garis penghubung
-
x
2. Flowchart
Terminator
Digunakan untuk menggambarkan kegiatan awal
atau akhir dari suatu proses.
Process
Digunakan untuk menggambarkan suatu proses
Input /Output
Digunakan untuk menggambarkan suatu kegiatan
masukkan maupun keluaran.
Decision
Digunakan untuk menggambarkan suatu keputusan
atau tindakan yang harus diambil pada suatu kondisi
tertentu.
Predifined Process
Digunakan untuk menggambarkan suatu kegiatan
atau proses.
Line Connector
Digunakan untuk menghubungkan satu simbol
dengan simbol yang lain pada halaman modul yang
lainnya.
On page Connector
Digunakan untuk menghubungkan satu simbol
dengan simbol yang lainnya pada halaman yang
sama
Off page Connector
Digunakan untuk menghubungkan satu simbol
dengan simbol yang lainnya pada halaman yang
berbeda.
-
xi
DAFTAR ISI
Halaman
HALAMAN JUDUL
......................................................................................................
i
LEMBAR PENGESAHAN
..............................................................................................
ii
SURAT KETERANGAN
................................................................................................
iii
ABSTRAKSI
..............................................................................................................
iv
KATA PENGANTAR
....................................................................................................
v
DAFTAR TABEL
........................................................................................................
vi
DAFTAR GAMBAR
.....................................................................................................
vii
DAFTAR SIMBOL
......................................................................................................
ix
DAFTAR ISI
.............................................................................................................
xi
BAB I PENDAHULUAN
..............................................................................................
1
1. Latar Belakang
........................................................................................
1
2.
Masalah..................................................................................................
1
3. Tujuan Penulisan
.....................................................................................
1
4. Batasan Permasalahan
.............................................................................
2
5. Metode Penelitian
....................................................................................
2
a. Studi Literatur
....................................................................................
2
b. Studi kasus
........................................................................................
2
c. Pengembangan Sistem
........................................................................
2
6. Sistematika Penulisan
..............................................................................
2
BAB II LANDASAN TEORI
.........................................................................................
3
1. Algoritma Genetika
..................................................................................
3
a. Pengkodean
.......................................................................................
4
1) Pengkodean Integer
.......................................................................
5
2) Pengkodean Biner
..........................................................................
5
b. Seleksi
...............................................................................................
6
1) Seleksi Roda Roulette (Roulette Wheel Selection).
............................. 6
2) Seleksi Rangking (Rank Selection)
................................................... 6
c. Perkawinan silang (Cross Over)
............................................................ 7
1) Perkawinan Silang Satu Titik
........................................................... 7
-
xii
2) Perkawinan silang dua
titik..............................................................
8
d. Mutasi
...............................................................................................
8
1) Mutasi Untuk pengkodean Integer
................................................... 8
2) Mutasi Untuk pengkodean Biner
...................................................... 9
e. Update Generasi
.................................................................................
9
2. Paramater parameter Algoritma Genetik
.................................................. 10
a. Ukuran Populasi
..................................................................................
10
b. Jumlah Generasi
.................................................................................
10
c. Probabilitas kawin silang(Pc)
................................................................
10
d. Probabilitas Mutasi(Pm)
.......................................................................
11
e. Probabilitas Elitisme
............................................................................
11
BAB III ANALISIS DAN PERANCANGAN PROGRAM
....................................................... 13
1. Analisa
Masalah.......................................................................................
13
2. Solusi
.....................................................................................................
13
3. Rancangan Basis Data
..............................................................................
13
a. ERD (Entity Relationship Diagram)
........................................................ 13
b. Transformasi ER-Diagram ke LRS (Logical Record Structure)
.................... 15
c. LRS (Logical Record Structure)
.............................................................
15
d. Spesifikasi Basis Data
..........................................................................
17
1) Tabel Dosen
..................................................................................
17
2) Tabel Hari
.....................................................................................
17
3) Tabel Jam
.....................................................................................
17
4) Tabel LAB
.....................................................................................
18
5) Tabel Matkul
.................................................................................
18
6) Tabel Spek_LAB
.............................................................................
18
7) Tabel tjadwal
................................................................................
19
4. Rancangan Layar Aplikasi
.........................................................................
19
a. Rancangan Layar Form Menu
...............................................................
19
b. Rancangan Layar Form Master
.............................................................
20
1) Form Mata Kuliah
...........................................................................
20
2) Form Dosen
..................................................................................
22
3) Form LAB
......................................................................................
23
4) Form Hari
.....................................................................................
24
-
xiii
5) Form Jam
.....................................................................................
25
c. Rancangan Layar Form
Transaksi..........................................................
26
1) Rancangan Layar Form Spesifikasi LAB
............................................. 26
2) Rancangan Layar Form Input
Jadwal................................................ 27
d. Rancangan Layar Form Generate Jadwal
............................................... 28
1) Rancangan Layar Form Generate
..................................................... 28
5. Flowchart dan
Algoritma...........................................................................
29
a. Flowchart dan Algoritma Form Menu Utama
........................................... 29
b. Flowchart dan Algoritma Form Mata kuliah
............................................. 32
c. Flowchart dan Algoritma Form Dosen
.................................................... 36
d. Flowchart dan Algoritma Form LAB
....................................................... 40
e. Flowchart dan Algoritma Form Hari
....................................................... 42
f. Flowchart dan Algoritma Form Jam
....................................................... 44
g. Flowchart dan Algoritma Form Spesifikasi LAB
........................................ 46
h. Flowchart dan Algoritma Form Input Jadwal
........................................... 49
i. Flowchart dan Algoritma Form Generate
................................................ 51
j. Algoritma Pada Algoritma Genetika
....................................................... 52
BAB IV IMPLEMENTASI / PEMECAHAN MASALAH
........................................................ 53
1. Spesifikasi Hardware dan Software
............................................................ 53
a. Implementasi Algoritma pada Genetika Penjadwalan LAB ICT
.................. 53
1) Hardware
......................................................................................
53
2) Software
.......................................................................................
53
2. Tampilan Layar Program
..........................................................................
53
a. Tampilan Layar Menu
..........................................................................
53
b. Tampilan Layar Form Mata Kuliah
......................................................... 54
c. Tampilan Layar Form Dosen
.................................................................
56
d. Tampilan Layar Form LAB
....................................................................
57
e. Tampilan Layar Form Hari
....................................................................
58
f. Tampilan Layar Form Jam
....................................................................
59
g. Tampilan Layar Form Spesifikasi LAB
..................................................... 59
h. Tampilan Layar Form Input Jadwal
....................................................... 60
i. Tampilan Layar Form Generate Jadwal
.................................................. 61
3. Hasil Pengujian
.......................................................................................
62
-
xiv
a. Hasil Pengujian Pertama
......................................................................
63
b. Hasil Pengujian Kedua
.........................................................................
64
4. Evaluasi Program
.....................................................................................
66
a. Kelebihan Program
..............................................................................
66
b. Kekurangan Program
...........................................................................
66
BAB V PENUTUP
......................................................................................................
67
1. Kesimpulan
.............................................................................................
67
2. Saran
.....................................................................................................
67
DAFTAR PUSTAKA
....................................................................................................
68
-
1
BAB I
PENDAHULUAN
1. Latar Belakang
Pada era modern ini, teknologi dan informasi semakin berkembang
pesat. Oleh
sebab itu melalui bantuan setiap sistem yang ada diharapkan
memudahkan pekerjaan
seseorang. Jadwal menurut kamus besar bahasa Indonesia merupakan
pembagian
waktu berdasarkan rencana pengaturan urutan kerja, daftar atau
tabel kegiatan atau
rencana waktu kegiatan dengan pembagian waktu pelaksanaan yang
terperinci.
Sedangkan pengertian penjadwalan adalah proses, cara, perbuatan
menjadwalkan atau
memasukan ke dalam jadwal.
Masalah penjadwalan merupakan masalah yang sangat kompleks dan
tergolong
dalam kategori interactable program, yaitu sebuah masalah yang
sulit untuk diselesaikan (dipandang dari segi komputasi) karena
tidak ditemukan adanya algoritma
yang efisien untuk menyelesaikannya. Penjadwalan praktikum
tergolong masalah NP-Complete, dikarenakan melibatkan banyak
komponen dan dalam proses penyusunannya perlu memperhatikan
kombinasi-kombinasi aturan dari komponen-komponen tersebut.
Pada umumnya masalah penjadwalan praktikum diselesaikan dengan
cara membuat
tabel secara manual. Cara ini membutuhkan waktu yang cukup lama
untuk
menyelesaikannnya dan seringkali menimbulkan beberapa kesalahan.
Terdapat berbagai
metode untuk menyelesaikan masalah penjadwalan, salah satunya
adalah algoritma
genetika. Algoritma genetika merupakan salah satu jenis dari
algoritma evolusioner
yang diinspirasi oleh teori evolusi Darwin.
Metode yang digunakan ini terdapat proses perkawinan silang
(cross over) dan mutasi (mutation) dan update generasi. Algoritma
genetika dimulai dengan memilih himpunan penyelesaian digambarkan
dengan kromosom, yang disebut dengan populasi.
Solusi dari satu populasi diambil untuk membentuk populasi baru,
dimana pemilhannya
tergantung dari fitness terbaiknya. Hal ini dilakukan dengan
harapan bahwa populasi
yang baru akan lebih baik dibandingkan populasi terdahulu.
Proses ini dilakukan
berulang-ulang hingga terpenuhi kondisi tertentu.
2. Masalah
Berdasarkan latar belakang di atas, dapat dirumuskan masalah
yang akan diteliti
seperti berikut :
a. Penjadwalan ruangan untuk setiap mata kuliah yang berada di
LAB untuk setiap sesi
dalam satu hari yang telah ditentukan oleh pihak Fakultas.
b. Menghitung jumlah mata kuliah yang sama dalam satu hari dan
sesi waktu yang
sama.
c. Setiap semester semakin terus bertambah mata kuliah yang
diadakan di LAB.
3. Tujuan Penulisan
Tujuan penulisan ini adalah memberikan saran yang berupa solusi
terhadap
masalah penjadwalan mata kuliah untuk setiap ruangan di Lab
sehingga memudahkan
pekerjaan seorang supervisor LAB.
-
2
4. Batasan Permasalahan
a. Pembuatan jadwal LAB ICT TERPADU ini dibatasi pada mata
kuliah di Universitas
Budi luhur.
b. Kasus yang digunakan dalam penulisan ini adalah kasus
penjadwalan LAB ICT
TERPADU pada tahun ajaran 2014/2015 untuk semester ganjil.
c. Pembuatan jadwal LAB ICT TERPADU hanya difokuskan untuk 4
sesi jam utama
yaitu 08:00, 10:40, 13:25 dan 16:10.
5. Metode Penelitian
a. Studi Literatur
Dilakukan untuk memperoleh kajian teoritis yang akan digunakan
untuk
membangun sistem, berupa pengumpulan teori yang berkaitan
tentang algoritma
genetika dan masalah penjadwalan.
b. Studi kasus
Mempelajari kasus-kasus penjadwalan LAB ICT TERPADU di
Universitas Budi
Luhur, misalnya tentang aturan-aturan penjadwalan.
c. Pengembangan Sistem
Mencakup tahap analisa, perancangan, implementasi dan pengujian
system.
Tahap analisa berguna untuk memperoleh gambaran kebutuhan dan
batasan
system yang akan dibangun. informasi yang didapatkan dari tahap
analisis
digunakan untuk merancang sistem. Implementasi merupakan tahap
pembangunan
sistem berdasarkan analisis dan rancangan yang telah disusun
pada tahapan
sebelumnya. Pengujian dilakukan dengan data yang ada, kemudian
dilakukan
pengecekan apakah sesuai dengan kebutuhan sistem.
6. Sistematika Penulisan
Sistematika penulisan laporan kuliah kerja praktek ini adalah
sebagai berikut:
Bab I : Pendahuluan.
Bab ini berisi latar belakang masalah, masalah, batasan
masalah,
metodologi peneltian, sistematika penulisan.
Bab II : Landasan Teori.
Bab ini ini menerangkan tentang hasil studi pustaka mengenai
teori-teori
yang diperlukan untuk penjadwalan LAB ICT TERPADU dengan
algoritma
genetika.
Bab III : Analisis dan Perancangan sistem.
Berisi tentang analisa kebutuhan sistem, desain sistem, termasuk
di
dalamnya desain antar muka, serta desain prosedural menggunakan
flowchart.
Bab IV : Implementasi dan Pengujian Sistem.
Memaparkan tentang hasil dari implementasi sistem
penjadwalan
praktikum beserta pembahasannya.
Bab V : Kesimpulan dan Saran.
Berisi kesimpulan dari penelitian yang dilakukan dan saran untuk
perbaikan
di penelitian berikutnya.
-
3
BAB II
LANDASAN TEORI
1. Algoritma Genetika
Algoritma genetika merupakan algoritma pencarian berdasarkan
mekanisme
seleksi alam dan genetika alam(Goldberg, 1989). Individu yang
lebih kuat (fit) akan
memiliki tingkat survival dan tingkat reproduksi yang lebih
tinggi jika dibandingkan
dengan individu yang kurang fit. Pada suatu waktu tertentu (atau
lebih sering dikenal
dengan istilah generasi), populasi secara keseluruhan akan lebih
banyak memuat
organisme yang fit.
Algoritma genetika mengkawinkan struktur string yang bertahan
untuk
membentuk algoritma pencarian baru. Pada setiap generasi
sejumlah individu baru
diciptakan melalui bagian yang kuat dari orang tuanya. Metode
algoritma genetika
pertama kali dikembangkan oleh John Holland(1975) dan
mahasiswanya di Universitas
Michigan. John Hollan mengatakan bahwa setiap masalah yang
berbentuk adaptasi
(alami maupun buatan) dapat diformulasikan dalam terminologi
genetika. Tujuan dari
penelitian yang dilakukan adalah untuk meneliti proses adaptasi
dari sistem alam serta
mendesain perangkat lunak yang memliki kecerdasan buatan dengan
mencontoh
mekanisme sistem alam tersebut.
Goldberg(1989) menjelaskan beberapa istilah yang digunakan dalam
algoritma
genetika. Istilah strings dalam sistem genetika buatan analog
dengan kromosom dalam
sistem biologi. Pada sistem biologi satu atau lebih kromosom
dikombinasi untuk
membentuk resep genetika secara keseluruhan. Resep genetika ini
digunakan untuk
pembentukan dan operasi beberapa organisme. Pada sistem alamiah,
keseluruhan paket
genetik disebut genotip. Pada sistem buatan, Keseluruhan paket
strings disebut sebuah
struktur. Pada sistem alamiah, organisme dibentuk oleh interaksi
dari keseluruhan paket
genetik dengan lingkungannya yang disebut fenotip. Pada sistem
genetik buatan,
struktur didekodekan untuk membentuk paket parameter,
alternatif, solusi atau titik
pada ruang solusi. Pada sistem alamiah kromosom terdiri dari
gen-gen, yang terdiri dari
sejumlah nilai yang disebut allel. Pada genetik, posisi(dari
sebuah gen diidentifikasi
secara terpisah dari fungsi gen. Tabel 2.1 menjelaskan
perbandingan istilah yang
digunakan oleh sistem alamiah dan algoritma genetika.
Tabel 2.1. : Perbandingan Inilah Pada Sistem Alamiah Dan
Algoritma Genetika
Sistem Alamiah Algoritma Genetika Kromosom String
Gen Fitur karakter atau Detector Allel Nilai Fitur Locus Posisi
String
Genotip Struktur Fenotip Set parameter, solusi alternatif,
Struktur yang
didekodekan
-
4
Goldberg (1989) mengemukakan ada beberapa perbedaan antara
algoritma
genetika dengan teknik optimasi yang biasa digunakan yakni:
1. Algoritma Genetika Bekerja pada pengkodean dari solusi, bukan
langsung pada
solusinya.
2. Pencarian pada algoritma genetika dilakukan pada sebuah
populasi dari solusi, tidak
hanya pada sebuah solusi tunggal.
3. Algoritma Genetika menggunakan fungsi fitness
4. Algoritma genetika menggunakan aturan probabilistic, bukan
deterministic secara umum, langkah-langkah yang digunakan pada
algoritma genetika dalam
penyelesaian masalah adalah :
a. Melakukan pengkodean
b. Membangkitkan populasi sejumlah n kromosom yang diambil
secara random.
c. Mengevaluasi setiap kromosom yang ada di populasi awal dengan
cara mencari
nilai fitness masing-masing kromosom
d. Membentuk populasi baru, dengan cara:
1) Seleksi, yakni memilih kromosom-kromosom untuk dijadikan
parents
dengan melihat nilai fitnessnya pada langkah ke 2.
2) Setelah terpilih parents, dilakukan cross over. Tidak semua
hasil seleksi bercross over, tergantung nilai probabilitas cross
overnya
3) Kemudian dilakukan mutasi
4) Hasil dari mutasi ini dianggap sebagai anggota dari populasi
baru
5) Mengganti populasi lama dengan menggunakan populasi baru
yang
dihasilkan dari langkah 3
6) Pengujian terhadap kondisi akhir
7) Ada beberapa kriteria penghentian yang biasa digunakan dalam
algoritma
genetik, yakni :
a) Berhenti pada generasi tertentu.
b) Berhenti setelah dalam beberapa generasi berturut-turu
mendapatkan
nilai fitness tertinggi tidak berubah(konvergen).
c) Berhenti bila dalam n generasi berikut tidak didapatkan nilai
fitness
yang lebih tinggi.
e. Jika belum mencapai kondisi akhir, kembali ke no 2 sampai
kondisi terakhir
terpenuhi, lalu diambil kromosom dengan nilai fitness
terbaik.
a. Pengkodean
Pengkodean adalah suatu teknik untuk menyatakan populasi asal
sebagai
kandidat solusi suatu masalah ke dalam suatu kromosom. Gen dan
cheng (1997)
juga menjelaskan bahwa pengkodean merupakan kunci pokok
persoalan, dalam
melakukan pengkodean harus diperhatikan apakah dapat membangun
pencarian
genetik yang efektif menggunakan pengkodean.
Ada beberapa jenis pengkodean yang biasa digunakan dalam
algoritma
genetik, yakni :
-
5
1) Pengkodean Integer
Pada representasi integer, nilai gen bisa bernilai bilangan
bulat.
bilangan bulat digunakan untuk merepresentasikan nomor urut
posisi, atau
kualitas obyek
Gambar 2.1 : Representasi kromosom dalam pengkodean Integer
2) Pengkodean Biner
Yakni metode pengkodean yang menggunakan bilangan biner
metode
ini banyak digunakan karena sederhana untuk diciptakan dan
mudah
dimanipulasi. Dalam metode ini, kromosom direpresentasikan dalam
bentuk
deretan bilangan biner 0 dan 1. Dalam pengkodean ini, setiap gen
hanya
memiliki 2 kemungkinan nilai, yakni 0 atau 1.
Contoh permasalahan yang menggunakan pengkodean permutasi
yang terkenal adalah permasalahan knapsack. Disediakan sebuah
ransel dengan kapasitas tertentu dan beberapa barang yang memiliki
bobot dan
nilai, permasalahannya adalah bagaimana memasukan
barangbarang
tersebut ke dalam ransel dengan nilai barangbarang yang maksimal
tanpa
melebihi kapasistas ransel. Pada permasalahan ini, setiap bit
dalam
kromosom mewakili barangbarang yang akan masuk ke dalam
ransel.
Barang yang masuk kedalam ransel diberi nilai 1, sedangkan yang
tidak
masuk diberi nilai inversenya, yakni 0.
Gambar 2.2 : Representasi Kromosom dalam pengkodean Biner
Kromosom 1
Kromosom 2
2 5 6 8 9 7 1 4 3
1 4 5 7 8 9 3 2 6
Kromosom 1
Kromosom 2
1 0 0 0 1 0 1 0 0 1 1
1 0 0 0 1 0 1 0 0 1 1
-
6
b. Seleksi
Seleksi yang digunakan dalam algoritma genetika merupakan adopsi
dari
teori seleksi alam Darwin. Seleksi dalam algoritma genetika
bertujuan untuk
menentukan individu-individu mana saja yang akan dipilih untuk
dilakukan
rekombinasi dan bagaimana offspring berbentuk dari
individu-individu terpilih tersebut (sri Kusumadewi, 2003).
1) Seleksi Roda Roulette (Roulette Wheel Selection). Merupakan
metode seleksi yang paling sederhana dan mudah
diimplementasikan dalam program. Sesuai dengan namanya, metode
ini
meniru permainan roulette wheel, dimana masing-masing kromosom
menempati potongan lingkaran pada roda roulette secara proporsional
sesuai dengan nilai fitnessnya. Kromosom yang memiliki nilai
fitness lebih besar
menempati potongan lingkaran yang lebih besar dibandingkan
dengan
kromosom yang memiliki nilai fitness lebih rendah.
Gambar 2.3 : Contoh penggunaan seleksi dengan metode roulette
wheel
2) Seleksi Rangking (Rank Selection) Kelemahan seleksi dengan
metode roda roulette adalah ketika nilai
fitness yang tersebar dalam populasi tidak merata(berada sangat
jauh).
Misalnya, jika nilai dari kromosom terbaik adalah 90% dari
keseluruhan roda
roulette, maka kromosom yang lain akan mempunyai kesempatan yang
kecil untuk terpilih.
Pada seleksi rangking, hal pertama yang harus dilakukan
adalah
merangkingkan kromosom dalam populasi berdasarkan fungsi fitness
yang
telah ditentukan sebelumnya, baru kemudian memberikan urutan
ranking
sesuai dengan nilai fitnessnya. Kromosom yang paling bagus
mendapatkan
nilai/rangking 1. Kemudian kromosom yang tidak baik ke dua
akan
mendapatkan nilai 2, begitu seterusnya. Setelah pengurutan dan
pemberian
nilai baru, setiap kromosom memiliki kesempatan untuk terpilih.
Kelemahan
dari metode ini adalah lambatnya konvergensi jika tidak ada
perbedaan yang
Kromosom Fitness
A 15
B 5
C 10
D 5
E 5
(i) (ii)
-
7
besar antara nilai fitness kromosom dalam populasi. Sebagai
ilustrasi dapat
dilihat pada tabel berikut (data dari gambar 2.3).
Tabel 2.2. : Contoh populasi dengan 5 kromosom setelah
dirangking
Kromosom Fitness Fitness Baru A 15 5
B 5 1 C 10 4
D 5 2 E 5 3
c. Perkawinan silang (Cross Over) Perkawinan silang (cross over)
dilakukan pada 2 kromosom untuk
menghasilkan kromosom anak (offspring). Kromosom anak yang
terbentuk akan mewarisi sebagian sifat kromosom induknya. Prinsip
dari perkawinan silang ini
adalah melakukan operasi pada gengen yang bersesuaian dari dua
induk untuk
menghasilkan individu baru. Proses perkawinan silang ini
dipengaruhi oleh
probabilitas perkawinan silang (Pc). Semakin besar nilai Pc,
maka kemungkinan
variasi individu juga akan semakin besar. Operator perkawinan
silang ini
bergantung pada representasi kromosom yang digunakan.
1) Perkawinan Silang Satu Titik
Ada persilangan satu titik. Posisi persilangan k ( k = 1, 2, ,
n-1).
Dengan n panjang kromosom diseleksi secara random.
Variabel-variabel
ditukar antar kromosom pada titik tersebut untuk menghasilkan
anak
(Kusumadewi, 2003).
Gambar 2.4 : Contoh perkawinan silang 1 titik pada pengkodean
biner
Kromosom Orangtua 1 :
Kromosom Orangtua 2 :
Kromosom 1 :
Kromosom 2 :
0 0 0 0 0 0
1 1 1 1 1 1
0 0 0 0 1 1 1
1 1 1 1 0 0
-
8
2) Perkawinan silang dua titik
Proses persilangan dua titik dimulai dengan memilih dua
titik
perkawinan silang secara acak pada barisan bit kromosom orang
tua.
Kromosom baru hasil perkawinan silang akan terbentuk dengan
menyalin
barisan bit orang tuanya mulai dari barisan bit pertama sampai
dengan titik
perkawinan silang ke dua sampai dengan bit terkhir. Sisanya
yaitu dari titik
persilangan pertama sampai dengan titik perilangan kedua disalin
dari orang
tua ke dua.
Gambar 2.5 : Contoh perkawinan silang 2-titik pada pengkodean
biner
d. Mutasi
Setelah mengalami proses perkawinan silang, selanjutnya
dikenakan proses
mutasi pada offspring, Probabilitas mutasi (Pm) yang
mengendalikan banyaknya gen baru yang akan dimunculkan untuk
dievaluasi. Jika probabilitas mutasi terlalu
kecil, banyak gen yang mungkin berguna tidak pernah dievaluasi.
Tetapi, bila
peluang mutasi ini terlalu besar, maka akan terlalu banyak
gangguan acak,
sehingga anak akan kehilangan kemiripan dari induknya dan juga
algoritma akan
kehilangan kemampuan untuk belajar dari histori
pencariannya.
Kromosom hasil mutasi harus dicek ulang, apakah masih berada
dalam
domain solusi, jika diluar domain lakukan perbaikan. Mutasi ini
berperan untuk
menggantikan gen yang hilang dari populasi akibat proses seleksi
yang
memungkinkan munculnya kembali gen yang tidak muncul pada
inisialisasi
populasi.
1) Mutasi Untuk pengkodean Integer
Seperti halnya pada operator perkawinan silang, mutasi yang
dilakukan pada pengkodean Integer harus dipastikan dapat
menjaga
konsistensi urutan nilai kromosomnya. Mutasi untuk jenis
pengkodean ini
dilakukan dengan cara memilih dua posisi pada kromosom,
kemudian
nilainya saling dipertukarkan.
Kromosom Orangtua 1 :
Kromosom Orangtua 2 :
Kromosom 1 :
Kromosom 2 :
0 0 0 0 0 0
1 1 1 1 1 1
0 0 1 1 0 0 1
1 1 0 0 1 1
-
9
Gambar 2.6 : Contoh mutasi pada pengkodean Integer
2) Mutasi Untuk pengkodean Biner
Mutasi untuk pengkodean biner ini prosesnya sederhana. Bit
pada
kromosom yang telah dipilih secara acak akan berganti nilainya
menjadi nilai
sebaliknya(inverse).
Gambar 2.7 : Contoh mutasi pada pengkodean Biner
e. Update Generasi
Setelah Proses Seleksi, Crossover dan mutasi yang dilakukan
terhadap suatu
populasi, proses berikutnya adalah pemilihan kromosom untuk
membentuk
generasi selanjutnya. Menurut Gen dan Cheng (1997) ada dua macam
bentuk
prosedur untuk membentuk populasi selanjutnya yaitu :
1) perkawinan silang dan mutasi yang dilakukan terhadap suatu
populasi, proses berikutnya adalah pemilihan kromosom untuk
membentuk generasi baru yang disebut update generasi. Dalam
algoritma genetic Holland, proses update yang dilakukan adalah
update secara generasi (generational update), yaitu menggantikan
keseluruhan kromosom pada generasi sebelumnya dengan
kromosom-kromosom yang didapat dari hasil seleksi, perkawinan
silang dan mutasi. Penekanan selektif pada skema update ini
seluruhnya berasal dari orangtua.
2) Selain itu terdapat skema update secara kontinu (continuous
update) yang mengizinkan orangtua dan anak untuk bercampur dalam
satu generasi. Mulanya dipilih k orangtua secara acak, kemudian
dibuat anak sebanyak k dengan memilih orangtua tersebut secara
seragam. Kromosom pada populasi baru merupakan pemilihan kromosom
antara orangtua terpilih dan anak yang
Kromosom Sebelum Mutasi :
Kromosom Setelah Mutasi :
1 2 3 4 5 8 5 7
1 2 3 8 6 4 5 7
Kromosom Sebelum Mutasi :
Kromosom Setelah Mutasi :
-
10
dihasilkan berdasarkan fitnessnya. Dengan cara ini penekanan
selektif berasal seluruhnya dari pemilihan terhadap yang bertahan
hidup (survivor).
3) Skema update lainnya adalah steady-state update, dimana
dilakukan pemilihan dua orangtua dari populasi yang kemudian
digunakan untuk membentuk 1 (atau 2) anak. Hasilnya digunakan untuk
menggantikan: a) Orangtuanya. b) Kromosom terjelek dalam populasi.
c) Kromosom tertua dalam populasi.
4) Suatu strategi bantuan yang baik untuk digunakan dengan skema
continous update adalah elitism, yang berarti mempertahankan
kromosom kromosom baik dalam populasi lama dengan menyertakannya
lagi pada populasi baru. Sejumlah kromosom terbaik pada populasi
lama dapat hilang karena proses perkawinan silang dan mutasi.
Secara teori, elitism dapat meningkatkan kemampuan dari algoritma
genetika karena mempertahankan kromosom yang baik dari populasi
lama, tetapi kadangkala hal itu justru dapat menyebabkan
konvergensi prematur karena nilai fitness terjebak pada optimum
lokal.
2. Paramater parameter Algoritma Genetik
a. Ukuran Populasi
Yakni banyak kromosom yang mendiami suatu populasi dalam satu
generasi.
Semakin banyak dan beragam individu dalam populasi tersebut maka
peluangnya
akan semakin besar untuk mendapatkan individu yang mendekati
sempurna. Tetapi
di beberapa riset sebelumnya, ukuran populasi yang terlalu besar
juga dikatakan
tidak terlalu baik, dikarenakan akan membutuhkan waktu yang
lebih lama untuk
menyelesaikan masalah.
Ukuran populasi yang sering digunakan adalah antara 2030,
tetapi
terkadang jumlah 50100 juga dilaporkan baik. Riset juga
menunjukkan bahwa
ukuran populasi yang terbaik dtentukan dari jenis pengkodean,
jika terdapat
ukuran kromosom 32 bit, maka ukuran populasi juga harusnya
32(Obitko, 1998).
b. Jumlah Generasi
Menunjukkan banyaknya generasi yang akan dibangkitkan selama
proses
algoritma genetik.
Paramater ini juga dijadikan sebagai salah satu kriteria
berhenti dalam
algoritma genetik. Jumlah generasi juga mempunyai andil yang
besar dalam
menentukan individu yang lebih baik, meskipun tidak berarti
semakin besar jumlah
generasi maka individu yang dihasilkan selalu baik. Hal ini
disebabkan pada suatu
saat dimana nilai fitnes semua individu akan sama atau
konvergen.
c. Probabilitas kawin silang(Pc)
Probabilitas kawin silang adalah angka menunjukkan seberapa
sering akan
dilakukan perkawinan silang dalam satu generasi. Biasanya nilai
Pc berkisar antara
01. Untuk menghasilkan offspring yang lebih baik, biasanya nilai
Pc diset
mendekati 1.
-
11
d. Probabilitas Mutasi(Pm)
Menujukkan rasio perbandingan banyaknya gen dalam setiap
kromosom
yang akan bermutasi. Untuk menghasilkan individu yang lebih
baik, nilai Pm
harusnya diset sekecil mungkin agar tidak mengganggu
kromosomkoromsom
dengan nilai fitness baik yang telah diperoleh.
e. Probabilitas Elitisme
Probabilitas elitisme akan menentukan individuindividu yang
pantas untuk bertahan dalam generasi mendatang.
-
12
Gambar 2.8 : Diagram alir algoritma genetik
-
13
BAB III
ANALISIS DAN PERANCANGAN PROGRAM
1. Analisa Masalah
Pada penjadwalan LAB ICT TERPADU memiliki beberapa kendala,
misalnya disaat
melakukan penjadwalan pada beberapa mata kuliah, dimana mata
kuliah tersebut
dicocokan pada LAB IC TERPADU yang ditentukan untuk menghitung
jumlah LAB yang
cocok terhadap mata kuliah tertentu. Sedangkan ada mata kuliah
lain yang harus di
tempatkan pada hari jam yang sama. Maka dari itu seorang
supervisor LAB mengatur jadwal mata kuliah yang ada di LAB ICT
TERPADU ditempatkan sehingga mata kuliah
tersebut tidak terjadi bentrok antara mata kuliah satu dengan
yang lain pada hari jam
yang sama.
Dalam hal ini supervisor LAB membutuhkan waktu yang cukup lama
dan kurang efisien untuk melakukan proses penjadwalan mata kuliah.
Sementara informasi yang
diperlukan secepatnya.
2. Solusi
Masalah yang terjadi diatas sebenarnya adalah bagaimana
penjadwalan yang
dilakukan harus sesuai dengan mata kuliah yang ada di LAB ICT
TERPADU. Maka dari
itu dibuatkanlah sebuah aplikasi untuk mengoptimalisasikan
beberapa mata kuliah yang
di LAB ICT TERPADU untuk memungkinkan pada hari jam yang telah
ditentukan oleh
pihak fakultas sebelumnya. Keuntungan yang dapat diperoleh dalam
pembuatan aplikasi
ini adalah kita dapat melakukan penjadwalan mata kuliah secara
efisien.
3. Rancangan Basis Data
a. ERD (Entity Relationship Diagram) Entity Relationship Diagram
(ERD) ini berisi komponen-komponen himpunan
entitas dan himpunan relasi. Masing-masing dilengkapi dengan
atribut-atribut yang
mewakili seluruh data yang ada. Di bawah ini adalah gambar
rancangan ERD:
-
14
Gambar 3.1 : Rancangan Entity Relationship Diagram
-
15
b. Transformasi ER-Diagram ke LRS (Logical Record Structure)
Berdasarkan ER-Diagram pada Gambar 3.2 maka didapatkan hasil
transformasi ER-Diagram ke Logical Record Structure sebagai
berikut:
Gambar 3.2 : Rancangan ER-Diagram Ke Logical Record
Structure
c. LRS (Logical Record Structure) Dari transformasi ER-Diagram
ke LRS yang dijabarkan pada Gambar 3.3,
maka di hasilkan bentuk Logical Record Structure (LRS) untuk
aplikasi yang
diusulkan sebagai berikut:
Ada
M
Spekifikasi Lab
Lab
Matkul
Punya
AdaHari
Punya Dosen
Ada JamtJadwal
*Kd_DosenNama_dosenEmail_DosenTlp_Dosen
*Kd_MaktulNama_Matkul
sks_matkul
*Kode_spekKode_LabKode_Matkul
* Kode_jadwalTahun_ajaranSemesterKelompok
*Kode_Lab
Kapasistas
*Kode_hariNama_hari
*Kode_Lab*Kode_jadwal
*Kd_Matkul*Kode_Jadwal
*Kd_Dosen*Kode_Jadwal
*Kd_Jam*Kode_Jadwal
*Kd_JamNama_jam
*Kode_Hari
*Kode_jadwal
M
M 1
1
1
M
1
M 1M
1
-
16
Gambar 3.3 : Rancangan Logical Record Structure
-
17
d. Spesifikasi Basis Data
Berikut ini adalah struktur tabel yang digunakan dalam pembuatan
database
untuk aplikasi ini :
1) Tabel Dosen
Nama Tabel : Dosen
Media : Harddisk
Primary Key : kode_dosen
Foreign Key : -
Tabel 3.1. : Spesifikasi Tabel Dosen
Field Type Length Keterangan kode_dosen Char 8 Kode Dosen
nama_dosen Varchar 55 Nama Dosen
email_dosen Varchar 30 Email Dosen tlp_dosen Varchar 20 Telepon
Dosen
2) Tabel Hari
Nama Tabel : Hari
Media : Harddisk
Primary Key : kode_hari
Foreign Key : -
Tabel 3.2. : Spesifikasi Tabel Hari
Field Type Length Keterangan kode_hari Int 2 Kode Hari nama_hari
Varchar 10 Nama Hari
3) Tabel Jam
Nama Tabel : Jam
Media : Harddisk
Primary Key : kode_jam
Foreign Key : -
Tabel 3.3. : Spesifikasi Tabel Jam
Field Type Length Keterangan kode_jam Int 5 Kode Jam
nama_jam Varchar 12 Detail Jam
-
18
4) Tabel LAB
Nama Tabel : LAB
Media : Harddisk
Primary Key : kode_LAB
Foreign Key : -
Tabel 3.4. : Spesifikasi Tabel LAB
Field Type Length Keterangan kode_LAB Char 6 Kode LAB kapasitas
Char 2 Kapasistas LAB
5) Tabel Matkul
Nama Tabel : Matkul
Media : Harddisk
Primary Key : kode_matkul
Foreign Key : -
Tabel 3.5. : Spesifikasi Tabel Mata kuliah
Field Type Length Keterangan kode_matkul Char 8 Kode Mata Kuliah
Nama_matkul Varchar 55 Nama Mata Kuliah
sks_matkul Enum(2, 3, 4)
1 SKS mata kuliah
6) Tabel Spek_LAB
Nama Tabel : spek_LAB
Media : Harddisk
Primary Key : kode_spek
Foreign Key : kode_LAB, kode_matkul
Tabel 3.6. : Spesifikasi Tabel Spesifikasi LAB
Field Type Length Keterangan kode_spek Char 9 Kode spekifikasi
kode_LAB Char 6 Kode LAB
kode_matkul Char 5 Kode Mata Kuliah
-
19
7) Tabel tjadwal
Nama Tabel : kode_jadwal
Media : Harddisk
Primary Key : kode_jadwal
Foreign Key : kode_matkul, kode_dosen, kode_hari, kode_jam
Tabel 3.7. : Spesifikasi Tabel tjadwal
Field Type Length Keterangan kode_jadwal Char 11 Kode Jadwal
tahun_ajaran Varchar 9 Tahun Ajaran
semester Enum(Genap, Ganjil)
6 Semester
Kode_matkul Char 8 Kode Mata Kuliah
Kode_dosen Char 8 Kode Dosen Kode_hari Char 2 Kode Hari Kode_jam
Char 2 Kode Jam
Kelompok Char 2 Kelompok Matkul
4. Rancangan Layar Aplikasi
Rancangan layar yang diberikan disini merupakan representasi
dari aplikasi yang
dibuat penulis. Tampilan yang dibuat harus menarik, tidak
membingungkan dan mudah
di mengerti bagi pengguna. Kemudahan itu sangat diperlukan agar
pengguna aplikasi
merasa nyaman dalam menggunakan aplikasi. Berikut ini adalah
rancangan layar
aplikasi yang dibuat.
a. Rancangan Layar Form Menu Form Menu Utama merupakan form yang
pertama dilakukan ketika
menjalankan sebuah aplikasi. Pada Form Menu Utama terdapat 3
menu yang dapat dipilih yaitu:
1) Menu File Master, adalah menu yang memuat pada menu mata
kuliah, menu dosen, menu LAB, menu hari dan menu jam. Fungsi
masing-masing dari menu tersebut adalah :
Menu Mata Kuliah, berfungsi untuk menambah, mengubah, mengedit,
a)dan menghapus data mata kuliah.
Menu dosen, berfungsi untuk menampilkan menambah, mengubah,
b)mengedit dan menghapus data dosen.
Menu LAB, berfungsi untuk menampilkan, menambah, mengubah,
c)mengedit, dan menghapus data LAB.
Menu hari, berfungsi untuk menambah dan menampilkan data hari.
d) Menu jam, berfungsi untuk menampilkan, menambah, mengubah,
e)
mengedit, dan menghapus data jam.
2) Menu File Transaksi, adalah menu yang memuat pada menu
spesifikasi LAB dan menu input jadwal. Fungsi masing-masing dari
menu tersebut adalah :
-
20
Menu Spesifikasi LAB, berfungsi untuk menambah, menampilkan,
a)mengubah, menghapus dan mengedit.
Menu Input Jadwal, berfungsi untuk menambah, menampilkan,
b)mengubah, menghapus, dan mengedit.
3) Menu File Generate Jadwal, adalah menu yang memuat pada menu
generate jadwal fungsi masing-masing dari menu tersebut adalah
:
Menu Generate jadwal, berfungsi untuk melakukan optimasi
penjadwalan a)dan juga menampilkan hasil yang sudah dilakukan pada
tabel.
Gambar 3.4 : Form Rancangan Layar Form Menu
b. Rancangan Layar Form Master Dalam rancangan layar form master
dibagi menjadi 5 yaitu :
1) Form Mata Kuliah Form Mata Kuliah bagian dari sub menu dari
form file master. Menu
yang terdapat form mata kuliah sebagai berikut : a). Field Kode
Mata Kuliah, adalah field yang digunakan untuk mengisi kode
mata kuliah.
b). Field Nama Mata Kuliah, adalah field yang digunakan untuk
mengisi mata kuliah yang ingin diinputkan.
c). Field SKS mata kuliah, adalah field yang digunakan untuk
mengisi jumlah SKS yang diambil.
d). Button Simpan, adalah tombol yang berfungsi untuk menyimpan
data yang telah diinputkan pada field kode mata kuliah, nama mata
kuliah, SKS mata kuliah.
e). Button Ubah, adalah tombol yang berfungsi untuk mengubah
dari sebuah data yang ada di record database dari form
tersebut.
f). Button Hapus, adalah tombol yang berfungsi untuk menghapus
dari sebuah data yang ada di record database dari form
tersebut.
-
21
g). Button Tambah, adalah tombol yang berfungsi untuk
menambahkan sebuah data yang diinputkan di field ke dalam
database.
h). Button Batal, adalah tombol yang berfungsi untuk membatalkan
kegiatan yang dilakukan dan mengosongkan sebuah field.
i). Button Cari, adalah tombol yang berfungsi tombol yang
berfungsi untuk mencari data yang pernah disimpan di database dalam
Form PopUp Mata Kuliah.
Gambar 3.5 : Rancangan Layar Form Mata Kuliah
-
22
Gambar 3.6 : Rancangan Layar Form PopUp Mata Kuliah
2) Form Dosen Form Dosen bagian dari sub menu dari form file
master. Menu yang
terdapat form Dosen sebagai berikut : a). Field Kode Dosen
adalah field yang digunakan untuk mengisi kode dosen. b). Field
Nama Dosen adalah field yang digunakan untuk mengisi nama
dosen yang ingin diinputkan.
c). Field Email adalah field yang digunakan untuk mengisi email
dosen. d). Field Telepon adalah Field yang digunakan untuk mengisi
nomor telepon. e). Button Simpan, adalah tombol yang berfungsi
untuk menyimpan data
yang telah diinputkan pada field kode Dosen, nama Dosen, Email,
telepon.
f). Button Ubah, adalah tombol yang berfungsi untuk mengubah
dari sebuah data yang ada di record database dari form
tersebut.
g). Button Hapus, adalah tombol yang berfungsi untuk menghapus
dari sebuah data yang ada di record database dari form
tersebut.
h). Button Tambah, adalah tombol yang berfungsi untuk
menambahkan sebuah data yang diinputkan di field ke dalam
database.
i). Button Bersih, adalah tombol yang berfungsi untuk
mengosongkan sebuah field.
j). Button Cari, adalah tombol yang berfungsi tombol yang
berfungsi untuk mencari data yang pernah disimpan di database dalam
Form PopUp
Dosen. Gambar 3.7 : Rancangan Layar Form Dosen
-
23
Gambar 3.8 : Rancangan Layar Form PopUp Dosen
3) Form LAB Form LAB bagian dari sub menu dari Form File Master.
Menu yang
terdapat form LAB sebagai berikut :
a). Field Kode LAB adalah field yang digunakan untuk mengisi
kode LAB. b). Field Kapasitas LAB adalah field yang digunakan untuk
mengisi jumlah
kapasitas.
c). Button Simpan, adalah tombol yang berfungsi untuk menyimpan
data yang telah diinputkan pada field kode LAB, Kapasitas LAB.
d). Button Ubah, adalah tombol yang berfungsi untuk mengubah
dari sebuah data yang ada di record database dari form
tersebut.
e). Button Hapus, adalah tombol yang berfungsi untuk menghapus
dari sebuah data yang ada di record database dari form
tersebut.
f). Button Tambah, adalah tombol yang berfungsi untuk
menambahkan sebuah data yang diinputkan di field ke dalam
database.
g). Button Batal, adalah tombol yang berfungsi untuk
mengosongkan sebuah field.
-
24
Gambar 3.9 : Rancangan Layar Form LAB
4) Form Hari Form Hari bagian dari sub menu dari form file
master. menu yang
terdapat form Hari sebagai berikut : a). Field Nama Hari adalah
field yang digunakan untuk mengisi Nama Hari. b). Button Simpan,
adalah tombol yang berfungsi untuk menyimpan data
yang telah diinputkan pada Combobox Nama Hari. c). Button
Tambah, adalah tombol yang berfungsi untuk menambahkan
sebuah data yang diinputkan di field ke dalam database. d).
Button Bersih, adalah tombol yang berfungsi untuk mengosongkan
sebuah field.
-
25
Gambar 3.10 : Rancangan Layar Form Hari
5) Form Jam Form Jam bagian dari sub menu dari form file master.
menu yang
terdapat form Jam sebagai berikut : a). Field Jam adalah field
yang digunakan untuk mengisi Jam. b). Button Simpan, adalah tombol
yang berfungsi untuk menyimpan data
yang telah diinputkan pada field jam. c). Button Ubah, adalah
tombol yang berfungsi untuk mengubah dari sebuah
data yang ada di record database dari form tersebut. d). Button
Hapus, adalah tombol yang berfungsi untuk menghapus sebuah
data yang ada di record database dari form tersebut. e). Button
Tambah, adalah tombol yang berfungsi untuk menambahkan
sebuah data yang diinputkan di field ke dalam database. f).
Button Bersih, adalah tombol yang berfungsi untuk mengosongkan
sebuah field.
-
26
Gambar 3.11 : Rancangan Layar Form Jam
c. Rancangan Layar Form Transaksi Dalam rancangan layar form
transaksi dibagi menjadi 2 yaitu :
1) Rancangan Layar Form Spesifikasi LAB Form Spesifikasi LAB
bagian dari sub menu dari form File Transaksi.
menu yang terdapat form Spesifikasi LAB sebagai berikut : a).
Field Kode LAB adalah field yang digunakan untuk menampilkan
Kode
LAB.
b). Field Mata Kuliah adalah field yang digunakan untuk
menampilkan mata kuliah.
c). Button Simpan, adalah tombol yang berfungsi untuk menyimpan
data yang telah diinputkan pada field jam.
d). Button Ubah, adalah tombol yang berfungsi untuk mengubah
dari sebuah data yang ada di record database dari form
tersebut.
e). Button Hapus, adalah tombol yang berfungsi untuk menghapus
sebuah data yang ada di record database dari form tersebut.
-
27
f). Button Tambah, adalah tombol yang berfungsi untuk
menambahkan sebuah data yang diinputkan di field ke dalam
database.
g). Button Bersih, adalah tombol yang berfungsi untuk
mengosongkan sebuah field
h). Button Refresh, adalah tombol yang berfungsi untuk
menampilkan data pada tabel.
Gambar 3.12 : Rancangan Layar Form Spesifikasi LAB
2) Rancangan Layar Form Input Jadwal Form Input Jadwal bagian
dari sub menu dari Form File Transaksi.
menu yang terdapat form Spesifikasi LAB sebagai berikut : a).
Field Kode Jadwal adalah field yang digunakan untuk menampilkan
Kode
Jadwal.
b). Field Tahun Ajaran adalah field yang digunakan untuk
menampilkan Tahun Ajaran.
c). Field Semester adalah field yang digunakan untuk menampilkan
semester.
d). Field Dosen adalah field yang digunakan untuk menampilkan
dosen. e). Field hari adalah field yang digunakan untuk menampilkan
hari. f). Field Jam adalah field yang digunakan untuk menampilkan
Jam. g). Field Kelompok adalah field yang digunakan untuk
menampilkan
kelompok mata kuliah.
h). Button Simpan, adalah tombol yang berfungsi untuk menyimpan
data yang telah diinputkan pada field Input Jadwal.
i). Button Ubah, adalah tombol yang berfungsi untuk mengubah
dari sebuah data yang ada di record database dari form
tersebut.
-
28
j). Button Hapus, adalah tombol yang berfungsi untuk menghapus
sebuah data yang ada di record database dari form tersebut.
k). Button Tambah, adalah tombol yang berfungsi untuk
menambahkan sebuah data yang diinputkan field ke dalam
database.
l). Button Bersih, adalah tombol yang berfungsi untuk
mengosongkan sebuah field.
Gambar 3.13 : Rancangan Layar Form Input Jadwal
d. Rancangan Layar Form Generate Jadwal 1) Rancangan Layar Form
Generate
Form Generate Jadwal bagian dari sub menu dari form File
Generate Jadwal. Menu yang terdapat form Generate Jadwal sebagai
berikut : a). Field Tahun Ajaran adalah field yang digunakan untuk
menampilkan
Tahun ajaran perkuliahan.
b). Field Semester adalah field yang digunakan untuk menampilkan
semester.
c). Field Min Individu adalah field yang digunakan untuk
menampilkan Minimal Individu.
d). Field hari adalah field yang digunakan untuk menampilkan
hari. e). Field Probabilitas Pm adalah field yang digunakan untuk
menampilkan
Probabilitas Mutasi.
f). Field Probabilitas Pc adalah field yang digunakan untuk
menampilkan Probabilitas Crossover.
-
29
g). Field Iterasi adalah field yang digunakan untuk menampilkan
Jumlah Iterasi.
h). Button Start Generate, adalah tombol yang berfungsi untuk
menjalankan proses generate Jadwal.
i). Button Bersih, adalah tombol yang berfungsi untuk
membersihkan pada form inputan.
Gambar 3.14 : Rancangan Layar Form Generate
5. Flowchart dan Algoritma Beberapa urutan-urutan proses yang
harus dilalui digambarkan dalam bentuk
flowchart dan diikuti dengan algoritma. Di bawah ini akan
digambarkan beberapa Flowchart untuk masing-masing proses pada
Sistem Penjadwalan LAB ICT TERPADU.
a. Flowchart dan Algoritma Form Menu Utama 1) Flowchart Form
Menu Utama
Flowchart merupakan gambaran alur proses dari form menu utama.
Proses ini akan terus berjalan selama menu utama tampil di
layar.
-
30
Start
Tampilan Desktop
Tampilan Menu Utama
Pilih = Menu File Master
Input Pilih
Pilih = Menu File Transaksi
Pilih = Menu Generate Jadwal
1
1
Tampilkan Semua Menu File Master
Tampilkan Semua Menu File Transaksi
Tampilkan Semua Menu File Generate Jadwal
Input Pilih
Input Pilih
Input Pilih
Pilih = mata kuliah
Pilih = Dosen
Pilih = Hari
Pilih = Lab
Pilih = Jam
Pilih = Spesifikasi Lab
Pilih = Input Jadwal
Pilih = Generate
2
2
3
3
4
4
G
IJ
SL
J
H
L
D
MK
Tidak
Tidak
Tidak
Ya
Ya
Ya
Ya
Tidak
Ya
Ya
Tidak
Tidak
Ya
Tidak
Ya
Tidak
Ya
Tidak
Ya
Tidak
Ya
Tidak
Gambar 3.15 : Rancangan Layar Form Menu Utama
-
31
2) Algoritma Form Menu Utama Algoritma ini menjelaskan bagaimana
proses pada Menu Utama. Pada
proses ini Admin dapat menampilkan form-form dari menu-menu yang
ada hingga keluar dari aplikasi.
1. Tampilkan Form Menu Utama
2. Input Pilih
3. If Pilih = file Master Then
4. Tampilkan semua menu File kecuali Login
5. Input Pilih
6. If Pilih = Master Mata Kuliah Then
7. Jalankan Form Mata Kuliah
8. Else If Pilih = Master dosen Then
9. Jalankan Form dosen
10. Else If Pilih = Master lab Then
11. Jalankan Form Master lab
12. Else IF Pilih = Master hari Then
13. Jalankan Form Master hari
14. Else Pilih = Master Jam Then
15. Jalankan Form Jam
16. End IF
17. Else If Pilih = Menu File Transaksi Then
18. Tampilkan Menu File Transaks
19. Input Pilih
20. IF Pilih = Form spekifikasi lab Then
21. Tampilkan Form spekifikasi lab
22. Else Pilih = Form input jadwal Then
23. Tampilkan Form input jadwal lab
24. Else Pilih = Menu File Generate Jadwal Then
25. Tampilkan Menu Generate Jadwal
26. Input Pilih
27. If Pilih = Form Generate Then
28. Jalankan Form Generate
29. End If
30. End If
-
32
b. Flowchart dan Algoritma Form Mata kuliah 1) Flowchart Form
Mata Kuliah
Gambar 3.16 : Rancangan Layar Form Mata Kuliah
MK
Tampilkan Mata Kuliah
1
Input Pilih
Pilih = Form Input Mata Kuliah
Tampilan Panel Form Input Mata
Kuliah
2
Input Data Mata Kuliah
Pilih = SimpanTampilan
Pean Konfirmasi
Input Pilih
Pilih = YesSimpan Data
Ke Tabel Mata Kuliah
Bersihkan Form Input Data Mata
Kuliah
2
Pilih = No
3
3
2
Pilih = UbahTampilan
Pean Konfirmasi
Input Pilih
Pilih = YesSimpan Data
Ke Tabel Mata Kuliah
Bersihkan Form Input Data Mata
KuliahPilih = No
4
4
3 Pilih = HapusTampilan
Pean Konfirmasi
Input Pilih
Pilih = YesSimpan Data
Ke Tabel Mata Kuliah
Pilih = No
2
5
5
Pilih = BersihBersihkan Form Input Data Mata
Kuliah
2 Bersihkan Form Input Data Mata
Kuliah
2Pilih = Exit
2
Pilih = Data Mata Kuliah
1
Tampilkan Data Mata
Kuliah
Input Kriteria Pencarian
Input Pilih Pilih = Cari
6
Ya
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Ya
Ya
Tidak
Ya
Ya
Tidak
Ya
Ya
Tidak
Ya
Ya
Tidak
Ya
Ya
Ya
MU
PM
6
2
-
33
Kemudian pada proses pencarian menggunakan Form MenuPopUp Mata
Kuliah
Gambar 3.17 : Rancangan Layar Form MenuPopUp Mata Kuliah
2) Algoritma Form Mata Kuliah Algoritma berikut menjelaskan
proses yang terjadi jika admin
menjalankan Form Mata Kuliah.
-
34
1. Tampilkan Form Mata Kuliah
2. Input Pilih
3. If Pilih = Form Input Mata Kuliah Then
4. Tampilkan Form Input Mata Kuliah
5. Tampilkan Kode Mata Kuliah
6. Input nama matakul, SKS Matkul
7. Input Pilih
8. If Pilih = Simpan Then
9. Tampil pesan konfirmasi
10. Input Pilih
11. If Pilih = Yes Then
12. Simpan data ke tabel Mata Kuliah
13. Bersihkan Form Input Data Mata Kuliah
14. Else If Pilih = No Then
15. Kembali ke baris 4
16. End If
17. Else If Pilih = Ubah Then
18. Tampil pesan konfirmasi
19. Input Pilih
20. If Pilih = Yes Then
21. Ubah data di tabel Mata Kuliah
22. Bersihkan Form Input Data Mata Kuliah
23. Else If Pilih = No Then
24. Kembali ke baris 4
25. End If
26. Else If Pilih = Hapus Then
27. Tampil pesan konfirmasi
28. Input Pilih
29. If Pilih = Yes Then
30. Hapus data di tabel Mata Kuliah
31. Bersihkan Form Input Data Mata Kuliah
32. Else If Pilih = No Then
33. Kembali ke baris 4
34. End If
35. Else If Pilih = Bersih Then
36. Bersihkan Form Input Data Mata Kuliah
37. End If
38. Else If Pilih = Exit Then
39. Kembali ke Menu Utama
40. End If
41. Else If Pilih = Data Mata Kuliah Then
42. Tampilkan Data Mata Kuliah
43. Input kriteria pencarian
44. Input Pilih
-
35
3) Algoritma PopUp Dosen
1. Tampilan PopUp Dosen
2. Input Pilih
3. IF Pilih = Input Form PopUP Dosen THEN
4. Input Kriteria Pencarian
5. IF Pilih = Cari
6. proses pencarian data dari tabel dosen
7. tampilkan ke dosen
8. End If
45. If Pilih = Cari Then
46. Tampilkan Form PopUp Mata Kuliah 47. Else
48. Kembali ke Form Mata Kuliah 49. End If
50. End If
-
36
c. Flowchart dan Algoritma Form Dosen 1) Flowchart Form
Dosen
Gambar 3.18 : Rancangan Layar Form Dosen
-
37
Kemudian pada proses pencarian menggunakan Form MenuPopUp
Dosen
Gambar 3.19 : Rancangan Layar Form MenuPopUp Dosen
2) Algoritma Form Dosen Algoritma berikut menjelaskan proses
yang terjadi jika admin
menjalankan Form Dosen.
-
38
1. Tampilkan Form Dosen
2. Input Pilih
3. If Pilih = Form Input Dosen Then
4. Tampilkan Form Input Mata Kuliah
5. Tampilkan Kode Dosen
6. Input Nama Dosen, Email Dosen, Telp Dosen
7. Input Pilih
8. If Pilih = Simpan Then
9. Tampil pesan konfirmasi
10. Input Pilih
11. If Pilih = Yes Then
12. Simpan data ke tabel Dosen
13. Bersihkan Form Input Data Dosen
14. Else If Pilih = No Then
15. Kembali ke baris 4
16. End If
17. Else If Pilih = Ubah Then
18. Tampil pesan konfirmasi
19. Input Pilih
20. If Pilih = Yes Then
21. Ubah data di tabel Dosen
22. Bersihkan Form Input Data Dosen
23. Else If Pilih = No Then
24. Kembali ke baris 4
25. End If
26. Else If Pilih = Hapus Then
27. Tampil pesan konfirmasi
28. Input Pilih
29. If Pilih = Yes Then
30. Hapus data di tabel Dosen
31. Bersihkan Form Input Data Dosen
32. Else If Pilih = No Then
33. Kembali ke baris 4
34. End If
35. Else If Pilih = Bersih Then
36. Bersihkan Form Input Data Dosen
37. End If
38. Else If Pilih = Exit Then
39. Kembali ke Menu Utama
40. End If
41. Else If Pilih = Panel Data DosenThen
42. Tampilkan Data Dosen
43. Input kriteria pencarian
44. Input Pilih
-
39
3) Algoritma Form PopUp Dosen
45. Input Pilih
46. If Pilih = Cari Then
47. Tampilkan Form PopUp Dosen 48. Else
49. Kembali ke Form Dosen 50. End If
51. End If
1. Tampilan PopUp Dosen
2. Input Pilih
3. IF Pilih = Input Form PopUP Dosen THEN
4. Input Kriteria Pencarian
5. IF Pilih = Cari
6. proses pencarian data dari tabel dosen
7. tampilkan ke dosen
8. End IF
9. End If
-
40
d. Flowchart dan Algoritma Form LAB 1) Flowchart Form LAB
Gambar 3.20 : Rancangan Layar Form LAB
L
Tampilkan Mata Lab
1
Input Pilih
Pilih = Form Input Lab
Tampilan Panel Form Input Lab
2
Input Data Lab
Pilih = SimpanTampilan
Pean Konfirmasi
Input Pilih
Pilih = YesSimpan Data Ke Tabel Lab
Bersihkan Form Input Data Lab
2
Pilih = No
3
3
2
Pilih = UbahTampilan
Pean Konfirmasi
Input Pilih
Pilih = YesSimpan Data Ke Tabel Lab
Bersihkan Form Input Data Lab
Pilih = No
4
4
3 Pilih = HapusTampilan
Pean Konfirmasi
Input Pilih
Pilih = YesSimpan Data Ke Tabel Lab
Pilih = No
2
5
5
Pilih = BersihBersihkan Form
Input Lab2 Bersihkan Form
Input Data Lab
2Pilih = Exit
2
1
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Ya
Ya
Ya
Tidak
Ya
Ya
Tidak
Ya
Ya
Tidak
Ya
Ya
Ya
MU
2
-
41
2) Algoritma Form LAB Algoritma berikut menjelaskan proses yang
terjadi jika admin
menjalankan Form LAB.
1. Tampilkan Form Lab
2. Input Pilih
3. If Pilih = Form Lab Then
4. Tampilkan Form Input Lab
5. Tampilkan Kode Lab
6. Input Kapasistas
7. Input Pilih
8. If Pilih = Simpan Then
9. Tampil pesan konfirmasi
10. Input Pilih
11. If Pilih = Yes Then
12. Simpan data ke Tabel Lab
13. Bersihkan Form Input Lab
14. Else If Pilih = No Then
15. Kembali ke baris 4
16. End If
17. Else If Pilih = Ubah Then
18. Tampil pesan konfirmasi
19. Input Pilih
20. If Pilih = Yes Then
21. Ubah data di tabel Lab
22. Bersihkan Form Input Data Lab
23. Else If Pilih = No Then
24. Kembali ke baris 4
25. End If
26. Else If Pilih = Hapus Then
27. Tampil pesan konfirmasi
28. Input Pilih
29. If Pilih = Yes Then
30. Hapus data di tabel Lab
31. Bersihkan Form Input Data Lab
32. Else If Pilih = No Then
33. Kembali ke baris 4
34. End If
35. Else If Pilih = Bersih Then
36. Bersihkan Form Input Data Lab
37. End If
38. Else If Pilih = Exit Then
39. Kembali ke Menu Utama
40. End If
41. End If
-
42
e. Flowchart dan Algoritma Form Hari 1) Flowchart Form Hari
Gambar 3.21 : Rancangan Layar Form Hari
-
43
2) Algoritma Form Hari Algoritma berikut menjelaskan proses yang
terjadi jika admin
menjalankan Form Hari.
1. Tampilkan Form Hari
2. Input Pilih
3. If Pilih = Form Hari Then
4. Tampilkan Form Input Hari
5. Tampilkan Kode Hari
6. Input Nama Hari
7. Input Pilih
8. IF Pilih = Tambah Then
9. Aktifkan Form Input Hari
10. If Pilih = Simpan Then
11. Tampil pesan konfirmasi
12. Input Pilih
13. If Pilih = Yes Then
14. Simpan data ke Tabel Hari
15. Bersihkan Form Input Hari
16. Else If Pilih = No Then
17. Kembali ke baris 4
18. End If
19. Else If Pilih = Bersih Then
20. Bersihkan Form Input Data Hari
21. End If
22. Else If Pilih = Exit Then
23. Kembali ke Menu Utama
24. End If
25. End If
-
44
f. Flowchart dan Algoritma Form Jam 1) Flowchart Form Jam
Gambar 3.22 : Rancangan Layar Form Jam
-
45
2) Algoritma Form Jam Algoritma berikut menjelaskan proses yang
terjadi jika admin
menjalankan Form Jam.
1. Tampilkan Form Jam
2. Input Pilih
3. If Pilih = Form Jam Then
4. Tampilkan Form Input Jam
5. Tampilkan Kode Jam
6. Input Nama Jam
7. Input Pilih
8. If Pilih = Simpan Then
9. Tampil pesan konfirmasi
10. Input Pilih
11. If Pilih = Yes Then
12. Simpan data ke Tabel Jam
13. Bersihkan Form Input Jam
14. Else If Pilih = No Then
15. Kembali ke baris 4
16. End If
17. Else If Pilih = Ubah Then
18. Tampil pesan konfirmasi
19. Input Pilih
20. If Pilih = Yes Then
21. Ubah data di tabel Jam
22. Bersihkan Form Input Data Jam
23. Else If Pilih = No Then
24. Kembali ke baris 4
25. End If
26. Else If Pilih = Hapus Then
27. Tampil pesan konfirmasi
28. Input Pilih
29. If Pilih = Yes Then
30. Hapus data di tabel Jam
31. Bersihkan Form Input Data Jam
32. Else If Pilih = No Then
33. Kembali ke baris 4
34. End If
35. Else If Pilih = Bersih Then
36. Bersihkan Form Input Data Jam
37. End If
38. Else If Pilih = Exit Then
39. Kembali ke Menu Utama
40. End If
41. End If
-
46
g. Flowchart dan Algoritma Form Spesifikasi LAB
1) Flowchart Form Spesifikasi LAB
-
47
Gambar 3.23 : Rancangan Layar Form Spesifikasi LAB
2) Algoritma Form Spesifikasi LAB Algoritma berikut menjelaskan
proses yang terjadi jika admin
menjalankan Form Spesifikasi LAB.
1. Tampilkan Form Spesifikasi Lab
2. Input Pilih
3. If Pilih = Form Jam Then
4. Tampilkan Form Spesifikasi Lab
5. Tampilkan Kode Jam
6. Input Kode Lab, Kode Matkul
7. Input Pilih
8. If Pilih = Simpan Then
9. Tampil pesan konfirmasi
10. Input Pilih
11. If Pilih = Yes Then
12. Simpan data ke Tabel Spesifikasi Lab
13. Bersihkan Form Input Spesifikasi Lab
14. Else If Pilih = No Then
15. Kembali ke baris 4
16. End If
17. Else If Pilih = Ubah Then
18. Tampil pesan konfirmasi
19. Input Pilih
20. If Pilih = Yes Then
21. Ubah data di tabel Spesifikasi Lab
22. Bersihkan Form Input Data Spesifikasi Lab
23. Else If Pilih = No Then
24. Kembali ke baris 4
25. End If
26. Else If Pilih = Hapus Then
27. Tampil pesan konfirmasi
28. Input Pilih
29. If Pilih = Yes Then
30. Hapus data di tabel Spesifikasi Lab
31. Bersihkan Form Input Data Spesifikasi Lab
32. Else If Pilih = No Then
33. Kembali ke baris 4
34. End If
35. Else If Pilih = Refresh Then
36. Refresh Form Input Spesifikasi Lab
37. End If
38. Else If Pilih = Bersih Then
-
48
39. Bersihkan Form Input Data Spesifikasi Lab
40. End If
41. Else If Pilih = Exit Then
42. Kembali ke Menu Utama
43. End If
44. End If
-
49
h. Flowchart dan Algoritma Form Input Jadwal 1) Flowchart Form
Input Jadwal
Gambar 3.24 : Rancangan Layar Form Input Jadwal
-
50
2) Algoritma Form Input Jadwal Algoritma berikut menjelaskan
proses yang terjadi jika admin
menjalankan Form Input Jadwal.
1. Tampilkan Form Input Jadwal
2. Input Pilih
3. If Pilih = Form Input Jadwal Then
4. Tampilkan Form Input Jadwal
5. Tampilkan Kode Jadwal
6. Input Tahun Ajaran, Semester, Mata Kuliah, Dosen, Hari,
Jam, Kelompok, Skala Prioritas
7. Input Pilih
8. If Pilih = Simpan Then
9. Tampil pesan konfirmasi
10. Input Pilih
11. If Pilih = Yes Then
12. Simpan data ke Tabel Tjadwal
13. Bersihkan Form Input Jadwal
14. Else If Pilih = No Then
15. Kembali ke baris 4
16. End If
17. Else If Pilih = Ubah Then
18. Tampil pesan konfirmasi
19. Input Pilih
20. If Pilih = Yes Then
21. Ubah data di tabel Tjadwal
22. Bersihkan Form Input Data Jadwal
23. Else If Pilih = No Then
24. Kembali ke baris 4
25. End If
26. Else If Pilih = Hapus Then
27. Tampil pesan konfirmasi
28. Input Pilih
29. If Pilih = Yes Then
30. Hapus data di tabel Tjadwal
31. Bersihkan Form Input Data Jadwal
32. Else If Pilih = No Then
33. Kembali ke baris 4
34. End If
35. Else If Pilih = Bersih Then
36. Bersihkan Form Input Data Jadwal
-
51
i. Flowchart dan Algoritma Form Generate 1) Flowchart Form
Generate
Gambar 3.25 : Rancangan Layar Form Generate
37. End If
38. Else If Pilih = Exit Then
39. Kembali ke Menu Utama
40. End If
41. End If
-
52
2) Algoritma Form Generate Algoritma berikut menjelaskan proses
yang terjadi jika admin
menjalankan Form Generate.
j. Algoritma Pada Algoritma Genetika
1. Tampilkan Generate
2. Input Pilih
3. If Pilih = Form Input Generate Then
4. Tampilan Form Input Generate
5. Masukan Tahun Ajaran
6. Masukan Hari
7. Masukan Individu
8. Inputkan Semester
9. Masukan Pc
10. Masukan Pm
11. Masukan Iterasi
12. IF Pilih = Start Generate
13. Proses Algoritma Genetika
14. Tampilkan Hasil Ke Tabel Form Generate
15. End IF
16. End If
1. Proses Algoritma Genetika
2. Pembangkitan Sebanyak N individu untuk Setiap Sesi
3. If cek = Bentrok matkul then
4. Simpan Ke dalam bentrok + 1 (untuk setiap individu)
5. Masukan nilai bentrok kedalam fitness dengan 1/(JB)+1
6. Sorting individu berdasarkan nilai fitness dari desc ke
asc
7. Bangkitkan sebanyak N individu untuk sesi 08:00, 10:40,
13:25,
16:10
8. Pilih individu yang kurang dari pc
9. Lalu dapatkan index yang kurand dari pc
10. Bangkitkan titik random untuk mengetahui titik mana saja
untuk
cross over 11. Lalu lakukan CrossOver 12. Hitung Fitness
lagi
13. Hitung Jumlah titik dengan = Pgen * Bindividu * Pm
14. Penggantian nilai mutasi diganti dengan nilai acak
berdasarkan
mata kuliah pada setiap sesi
15. Update generasi (Eletism). 16. Sorting Fitness Asc
17. Ambil sebanyak jumlah individu hasil sorting fitness. 18.
End IF
-
53
BAB IV
IMPLEMENTASI / PEMECAHAN MASALAH
Aplikasi Penjadwalan LAB ICT TERPADU yang dirancang ini,
ditujukan untuk
memudahkan penjadwalan pada LAB ICT TERPADU yang dapat
memberikan solusi dalam
menyusun sebuah mata kuliah yang ada di LAB ICT TERPADU. Adanya
aplikasi penjadwalan
LAB ICT TERPADU adalah untuk melakukan pengoptimalan dalam
mengatur jadwal mata
kuliah yang ada di LAB secara lebih efisien sehingga mata kuliah
yang ada di LAB ICT
TERPADU tidak terjadi bentrok dalam mata kuliah lainnya yang ada
di LAB ICT TERPADU.
Untuk mengimplementasikan aplikasi ini sudah pasti tidak
terlepas dari hardware dan software pendukung lainnya, berikut ini
adalah hardware dan software pendukung yang dibutuhkan.
1. Spesifikasi Hardware dan Software a. Implementasi Algoritma
pada Genetika Penjadwalan LAB ICT
1) Hardware Adapun spesifikasi hardware yang harus terpenuhi
agar aplikasi
Penjadwalan LAB ICT TERPADU dapat berjalan dengan baik adalah
sebagai
berikut:
a). Processor Intel Core i5 + 1,68GHz
b). RAM / Memory 2 GB
c). Keyboard dan Mouse
d). Monitor
e). Hardisk
2) Software Dibawah ini merupakan spesifikasi software yang
dibutuhkan agar
aplikasi dapat berjalan dengan maksimal:
a). Sistem Operasi Microsoft Windows 7
b). Java Development Kit (JDK 7u1-windows-i586) c). MySQL Front
5.2 + XAMPP
d). Jtatoo-1.6.10
e). Netbeans 7.4.
2. Tampilan Layar Program
a. Tampilan Layar Menu
Pada Menu Utama terdapat 3 menu pilihan, yaitu File Master, File
Transaksi, File Generate Jadwal. Apabila admin memilih menu File
Master terdapat submenu Mata Kuliah, Dosen, LAB, Hari, Jam. Apabila
admin memilih menu File Transaksi terdapat submenu spesifikasi LAB,
Input Jadwal. Apabila admin memilih menu File Generate Jadwal
terdapat submenu Generate Jadwal. Tampilan layar menu Utama dapat
dilihat pada Gambar 4.1 berikut ini:
-
54
Gambar 4.1 : Tampilan Layar Menu Utama
b. Tampilan Layar Form Mata Kuliah Tampilan ini akan muncul
ketika admin memilih menu file master lalu ke
submenu Mata Kuliah. Didalam Form Mata Kuliah, admin dapat
melakukan kegiatan CRUD(Create Read Update Delete) berdasarkan dari
data Mata Kuliah. Admin dapat menginputkan data mata kuliah
lainnya, karena kode mata kuliah sudah diatur
sebagai auto increment dan auto number. Data Mata Kuliah yang
dapat diinput meliputi kode mata kuliah, nama mata kuliah, SKS.
-
55
Gambar 4.2 : Tampilan Layar Form Mata Kuliah
Kemudian di dalam Form mata kuliah ada Button cari yang terdapat
sebuah Form PopUp Mata Kuliah yang berisikan tabel dari mata kuliah
yang pernah di inputkan oleh Admin. Form PopUp Mata Kuliah
dilengkapi sebuah field kode atau nama mata kuliah untuk
mempermudah mencari data mata kuliah yang pernah
diinputkan di dalam database untuk ditampilkan ke sebuah Form
Mata Kuliah.
-
56
Gambar 4.3 : Tampilan Layar Form PopUp Mata Kuliah
c. Tampilan Layar Form Dosen Tampilan ini akan muncul ketika
admin memilih menu file master lalu ke
submenu Dosen. Didalam Form Dosen, admin dapat melakukan
kegiatan CRUD (Create Read Update Delete) berdasarkan dari data
Dosen. Admin dapat menginputkan data dosen lainnya, karena kode
dosen sudah diatur sebagai auto increment dan auto number. Data
Mata Kuliah yang dapat diinput meliputi kode dosen, nama dosen.
-
57
Gambar 4.4 : Tampilan Layar Form Dosen
Kemudian di dalam Form Dosen ada Button cari yang terdapat
sebuah Form PopUp Dosen yang berisikan tabel dari Dosen yang pernah
diinputkan oleh Admin. Form PopUp Dosen dilengkapi sebuah field
kode atau nama dosen untuk mempermudah mencari data dosen yang
pernah diinputkan didalam database untuk ditampilkan ke sebuah Form
Dosen.
Gambar 4.5 : Tampilan Layar Form PopUp Dosen
d. Tampilan Layar Form LAB Tampilan ini akan muncul ketika admin
memilih menu file master lalu ke
submenu LAB. Didalam Form LAB, admin dapat melakukan kegiatan
CRUD (Create Read Update Delete) berdasarkan dari data LAB. Admin
dapat menginputkan data LAB lainnya, karena kode LAB sudah diatur
sebagai auto increment dan auto number. Data LAB yang dapat diinput
meliputi kode LAB, kapasitas LAB.
-
58
Gambar 4.6 : Tampilan Layar Form LAB
e. Tampilan Layar Form Hari Tampilan ini akan muncul ketika
admin memilih menu file master lalu ke
submenu Hari. Didalam Form Hari, admin dapat melakukan kegiatan
Simpan, Tambah dan Batal berdasarkan dari data Hari. Admin dapat
menginputkan data nama hari lainnya, karena nama hari akan mengisi
kode hari sebagai auto increment. Data Hari yang dapat diinput
meliputi kode Hari, nama Hari.
-
59
Gambar 4.7 : Tampilan Layar Form Hari
f. Tampilan Layar Form Jam Tampilan ini akan muncul ketika admin
memilih menu file master lalu ke
submenu Jam. Didalam Form Jam, admin dapat melakukan kegiatan
CRUD (Create Read Update Delete) berdasarkan dari data Jam. Admin
dapat menginputkan data Jam Mata Kuliah lainnya, karena kode Jam
sudah diatur sebagai auto increment. Data Jam yang dapat diinput
meliputi Detail Jam.
Gambar 4.8 : Tampilan Layar Form Jam
g. Tampilan Layar Form Spesifikasi LAB Tampilan ini akan muncul
ketika admin memilih menu file transaksi lalu ke
submenu Spesifikasi LAB. Didalam Form Spesifikasi LAB, admin
dapat melakukan kegiatan CRUD (Create Read Update Delete)
berdasarkan dari data spesifikasi LAB. Admin dapat menginputkan
data spekifikasi LAB lainnya, karena kode LAB sudah diatur sebagai
auto increment dan auto number. Data spesifikasi LAB yang dapat
diinput meliputi kode LAB, Mata Kuliah.
-
60
Gambar 4.9 : Tampilan Layar Form Spesifikasi LAB
h. Tampilan Layar Form Input Jadwal Tampilan ini akan muncul
ketika admin memilih menu file transaksi lalu ke
submenu Input Jadwal. Didalam Form Input Jadwal, admin dapat
melakukan kegiatan CRUD (Create Read Update Delete) berdasarkan
dari data Input Jadwal. Admin dapat menginputkan data Jadwal
lainnya, karena kode dosen Jadwal sudah diatur sebagai auto
increment dan auto number. Data Jadwal mata kuliah yang dapat
diinput meliputi tahun ajaran, semester, mata kuliah, dosen, hari,
jam,
kelompok.
-
61
Gambar 4.10 : Tampilan Layar Form Input Jadwal
i. Tampilan Layar Form Generate Jadwal Tampilan ini akan muncul
ketika admin memilih menu file master lalu ke
submenu Dosen. Didalam Form Generate Jadwal, admin dapat
melakukan kegiatan pengoptimalan jadwal mata kuliah dengan cara
melakukan start Generate dan untuk membersihkan pada form input
Generate Jadwal dengan menggunakan Button Bersih. Admin dapat
menginputkan data lainnya, seperti meliputi tahun ajaran, semester,
min individu, hari, probabilitas pc, probabilitas pm, min
iterasi
pada form tersebut.
-
62
Gambar 4.11 : Tampilan Layar Form Generate Jadwal
3. Hasil Pengujian
Pada hasil pengujian yang penulis lakukan adalah untuk
mengetahui apakah
program yang telah dibuat dapat berjalan secara maksimal, untuk
itu maka program
tersebut harus diuji dahulu mengenai kemampuannya agar dapat
berjalan sesuai
dengan yang diharpkannya pada s