SlideShare a Scribd company logo
OPTIMASI PENJADWALAN MATA KULIAH
DENGAN MENGGUNAKAN ALGORITMA GENETIKA
(STUDI KASUS : PROGRAM STUDI TEKNIK INFORMATIKA)
(UNIVERSITAS DARMA PERSADA)
diajukan oleh
Rachmat Fauzi
NIM: 2008230007
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS DARMA PERSADA
JAKARTA
2015
i
LEMBAR BIMBINGAN TUGAS AKHIR
TEKNIK INFORMATIKA – DARMA PERSADA
NIM : 2008230007
NAMA LENGKAP : Rachmat Fauzi
DOSEN PEMBIMBING : Timor Setiyaningsih ST, MTI
JUDUL TUGAS AKHIR : MERANCANG OPTIMASI
PENJADWALAN MENGGUNAKAN
ALGORITMA GENETIKA
No. Pertemuan Pokok Bahasan
Paraf
Dosen
Pembimbing
1. 10/07/2015 BAB I
2. 14/07/2015 BAB II
3. 27/07/2015 Revisi BAB II
4. 28/07/2015 BAB III
5. 29/07/2015 Revisi BAB III
6. 03/08/2015 Aplikasi
7. 10/08/2015 Revisi Aplikasi
8. 18/08/2015 BAB IV & BAB V
9. 19/08/2015 Revisi BAB IV & BAB V
10. 21/08/2015 BAB I – V & Aplikasi
Jakarta, 26 Agustus 2015
Dosen Pembimbing
Timor Setiyaningsih ST, Mti
ii
LEMBAR PENGESAHAN
MERANCANG APLIKASI OPTIMASI PENJADWALAN
MENGGUNAKAN METODE ALGORITMA GENETIKA
Disusun oleh :
Rachmat Fauzi
200823008
Timor Setiyaningsih ST, MTI Adam Arif Budiman ST., M.Kom
Pembimbing Laporan Kajur. Teknik Informatika
iii
LEMBAR PERNYATAAN
Saya yang bertanda tangan di bawah ini :
Nama : Rachmat Fauzi
NIM : 2008230007
Fakultas : Teknik
Jurusan : Teknik Informatika
Judul Laporan : MERANCANG APLIKASI OPTIMASI
PENJADWALAN DENGAN
MENGGUNAKAN ALGORITMA
GENETIKA
Menyatakan bahwa laporan tugas akhir ini saya susun sendiri berdasarkan hasil
peninjauan, penelitian lapangan, wawancara serta memadukannya dengan buku-
buku literature atau bahan-bahan referensi lain yang terkait dan relevan di dalam
menyelesaikan laporan tugas akhir ini.
Demikian pernyataan ini saya buat dengan sesungguhnya.
Jakarta, 30 Agustus 2015
Rachmat Fauzi
iv
PENGUJIAN LAPORAN TUGAS AKHIR
Laporan Tugas Akhir ini telah dipresentasikan pada tanggal : 3 September 2015,
Dengan judul
“OPTIMASI PENJADWALAN PERKULIAHAN DENGAN
METODE ALGORITMA GENETIKA”
PENGUJI 1 PENGUJI 2
Herianto S.Pd M.T. Aji Setiawan MMSi
PENGUJI 3
Bagus Tri Mahardika MMSi
v
ABSTRAK
Penjadwalan perkuliahan merupakan proses penyusunan jadwal
pelaksanaan yang menginformasikan sejumlah mata kuliah, dosen yang mengajar,
ruang, serta waktu kegiatan perkuliahan. Perlu diperhatikan beberapa aspek untuk
menyusun jadwal perkuliahan yang sesuai dengan kebutuhan. Aspek yang perlu
diperhatikan antara lain adalah aspek dari dosen yang mengajar, mata kuliah yang
diajar, serta tidak melanggar pembatasan yang sudah ditentukan. Penyusunan
jadwal secara manual cenderung membutuhkan waktu yang lebih lama dan
ketelitian yang cukup bagi pembuat jadwal. Untuk dapat membuat jadwa yang
optional, dibutuhkan metode optimasi. Pada penelitian ini, akan diuji coba
metode optimasi dalam pembuatan jadwal perkuliahan yaitu Algoritma Genetika.
Algoritma genetika merupakan pendekatan komputasional untuk menyelesaikan
masalah yang dimodelkan dengan proses biologi dari evolusi. Parameter-
parameter Algoritma Genetika yang mempengaruhi jadwal perkuliahan yang
dihasilkan adalah jumlah individu, probabilitas crossover, probabilitas mutasi
serta metode seleksi, crossover, mutation yang digunakan. Pengujian dilakukan
dengan cara mencari nilai parameter-parameter algoritma genetika yang paling
optimal dalam jadwal perkuliahan. Hasil penelitian menunjukkan bahwa dengan
100 jumlah generasi, 10 jumlah individu, 30% probabilitas crossover dan 50%
probabilitas mutation dapat menghasilkan jadwal yang paling optimal.
Kata kunci : optimasi, penjadwalan perkuliahan, seleksi, crossover, mutasi,
algoritma genetika,
vi
KATA PENGANTAR
Assalamu’alaikum Wr. Wb.
Puji syukur kehadirat Allah SWT, atas segala rahmat, bimbingan dan
berkat-Nya, sehingga penulis dapat menyelesaikan penyusunan Tugas Akhir yang
berjudul “Merancang Aplikasi Optimasi Penjadwalan Perkuliahan Dengan
Menggunakan Algoritma Genetika” sebagai salah satu persyaratan akademik
bagi mahasiswa program Strata 1 Fakultas Teknik, Universitas Darma Persada.
Dalam pelaksanakan tugas akhir sampai proses pembuatan Laporan Tugas
Akhir ini, penulis tidak jarang menemui berbagai macam kesulitan dan hambatan,
namun berkat bantuan dan dorongan dari beberapa pihak, akhirnya penulis dapat
mengatasi berbagai kesulitan tersebut. Pada kesempatan ini saya mengucapkan
banyak terimakasih kepada pihak – pihak yang secara langsung atau tidak
langsung membantu dalam tugas akhir dan penulisan laporan ini. Saya
menyampaikan ucapan terimakasih yang tulus kepada :
1. Dekan Fakultas Teknik Universitas Darma Persada Ir. Agus Sun
Sugiharto, MT.
2. Ketua Jurusan Teknik Informatika Adam Arif Budiman, ST., M.Kom.
3. Dosen Pembimbing Timor Setyaningsih ST, Mti yang telah sabar
membimbing saya dalam penyusunan Tugas Akhir ini.
4. Dosen-dosen Universitas Darma Persada yang telah memberikan ilmu yang
sangat bermanfaat kepada saya.
vii
5. Orang Tua dan keluarga saya yang tidak pernah bosan memberikan
semangat kepada saya.
6. Teman-teman seperjuangan saya Awal, Nando, Tyo, Handy B, Handi A,
Putra, Igoy, Aji, Dana, Mas Ikhsan, Bintang, Eben, Ryan dan yang ada di
Grup Pojok Kantek Bersaudara yang tidak bisa saya sebutkan satu persatu.
7. Mas Adi dan kang Asep dan teman-teman lainnya yang telah memberikan
ilmu kepada saya dalam mengerjakan Tugas Akhir ini.
8. Keluarga besar SAUNG yang telah mensuport dan memberi semangat
kepada saya tanpa henti.
9. Semua pihak yang tidak dapat saya sebutkan satu persatu, yang telah
memberikan bantuan, waktu dan tenaga serta dukungannya dalam
menyelesaikan penulisan laporan kerja praktek ini.
Akhir kata, saya sampaikan terima kasih kepada semua pihak yang telah
berperan serta dalam penyelesaian tugas akhir ini dari awal sampai akhir. Semoga
Allah SWT senantiasa meridhai segala usaha kita. Amin.
Wassalamu’alaikum Wr. Wb.
Jakarta, 24 Agustus 2015
Rachmat Fauzi
viii
DAFTAR GAMBAR
Gambar 1.1 Diagram Alir Algoritma Genetika .......................................................7
Gambar 1.2 Siklus Pengembangan Model RAD ................................................... 8
Gambar 2.1 Flowchart Algoritma Genetika ......................................................... 12
Gambar 2.2 Penyandian Biner Pada Operator Genetika ...................................... 13
Gambar 2.3 Siklus RAD ...................................................................................... 20
Gambar 2.4 Pemodelan UML .............................................................................. 24
Gambar 2.5 Use Case Diagram ............................................................................ 25
Gambar 2.6 Activity Diagram .............................................................................. 26
Gambar 2.7 Sequence Diagram ............................................................................ 27
Gambar 3.1 Diagram Alir Perancangan Sistem ................................................... 29
Gambar 3.2 Use Case Diagram ............................................................................ 30
Gambar 3.3 Activity Diagram Login .................................................................... 32
Gambar 3.4 Activity Diagram Input Data ........................................................... 33
Gambar 3.5 Activity Diagram Generate Jadwal .................................................. 34
Gambar 3.6 Activity Diagram Laporan ............................................................... 35
Gambar 3.7 Sequence Diagram Login ................................................................. 36
ix
Gambar 3.8 Sequence Diagram Input Data .......................................................... 37
Gambar 3.9 Sequence Diagram Laporan ..............................................................38
Gambar 3.10 Struktur Tabel Login ...................................................................... 38
Gambar 3.11 Struktur Tabel Dosen ..................................................................... 39
Gambar 3.12 Struktur Tabel Mata Kuliah ............................................................ 39
Gambar 3.13 Struktur Tabel Hari ......................................................................... 40
Gambar 3.14 Struktur Tabel Jam ......................................................................... 40
Gambar 3.15 Struktur Tabel Ruang ..................................................................... 41
Gambar 3.16 Struktur Tabel Pengampu ............................................................... 41
Gambar 3.17 Struktur Tabel Kesediaan ............................................................... 42
Gambar 3.18 Struktur Tabel Jadwal ..................................................................... 42
Gambar 3.19 Relasi Tabel Database .................................................................... 43
Gambar 3.20 Rancangan Menu Login ................................................................. 43
Gambar 3.21 Rancangan Menu Utama ................................................................ 44
Gambar 3.22 Rancangan Menu Dosen ................................................................. 44
Gambar 3.23 Rancangan Menu Mata Kuliah ....................................................... 45
Gamabr 3.24 Rancangan Menu Ruang Kuliah .................................................... 46
Gambar 3.25 Rancangan Menu Hari & Jam ........................................................ 46
x
Gambar 3.26 Rancangan Menu Dosen Pengampu ............................................... 47
Gambar 3.27 Rancangan Menu Kesediaan Dosen ............................................... 48
Gamabar 3.28 Rancangan Menu Generate Jadwal .............................................. 48
Gambar 3.29 Rancangan Menu Laporan ............................................................. 49
Gambar 4.1 Tampilan Login ................................................................................ 51
Gambar 4.2 Tampilan Menu Utama Administrator ............................................. 52
Gambar 4.3 Tampilan Menu Utama User ............................................................ 53
Gambar 4.4 Tampilan Input Data Dosen ............................................................. 53
Gambar 4.5 Tampilan Menu Data Mata Kuliah ................................................... 54
Gambar 4.6 Tampilan Menu Data Ruang ............................................................ 55
Gambar 4.7 Tampilan Menu Data Hari & Jam .................................................... 56
Gambar 4.8 Tampilan Menu Data Pengampu ...................................................... 57
Gambar 4.9 Tampilan Menu Data Kesediaan ...................................................... 58
Gambar 4.10 Tampilan Menu Generate Jadwal ................................................... 58
Gambar 4.11 Tampilan Laporan Jadwal .............................................................. 59
Gambar 4.12 Tampilan Laporan Dosen ............................................................... 59
xi
DAFTAR TABEL
Tabel 2.1 Contoh Crossover 1 Titik ..................................................................... 15
Tabel 2.2 Contoh Crossover 2 Titik ..................................................................... 16
Tabel 2.3 Contoh Crossover Seragam .................................................................. 16
Tabel 3.1 Peran Aktor Petugas Penjadwal ........................................................... 30
Tabel 3.2 Peran Aktor User .................................................................................. 31
Tabel 4.1 Hasil Proses Pertama ............................................................................ 64
Tabel 4.2 Hasil Proses Kedua .............................................................................. 65
Tabel 4.3 Hasil Pengujian Per Modul Aplikasi .................................................... 68
xii
DAFTAR ISI
Halaman judul
LEMBAR BIMBINGAN ....................................................................................... i
LEMBAR PENGESAHAN .................................................................................. ii
LEMBAR PERNYATAAN ................................................................................. iii
LEMBAR PENGUJI ............................................................................................ iv
ABSTRAK ............................................................................................................. v
KATA PENGANTAR ......................................................................................... vi
DAFTAR GAMBAR ......................................................................................... viii
DAFTAR TABEL ................................................................................................ xi
DAFTAR ISI ....................................................................................................... xii
BAB I PENDAHULUAN................................................................................... 1
1.1 Latar Belakang .................................................................................. 1
1.2 Rumusan Masalah ............................................................................. 2
1.3 Batasan Masalah ............................................................................... 3
1.4 Tujuan Penelitian .............................................................................. 3
1.5 Manfaat Penelitian ............................................................................ 4
1.6 Metode Penelitian ............................................................................. 4
1.7 Sistematika Penulisan ....................................................................... 8
xiii
BAB II LANDASAN TEORI .......................................................................... 10
2.1 Algoritma Genetika dan RAD ...................................................... 10
2.1.1 Algortima Genetika ...............................................................10
2.1.2 Struktur Umum Algoritma Genetika ....................................11
2.1.3 Penyandian .......................................................................... 12
2.1.4 Operator Genetika ................................................................13
2.1.5 Parameter Genetika ............................................................. 17
2.1.6 Rapid Application Development (RAD) ..............................18
2.2 Proses Algoritma Genetika
2.2.1 Individu / Krosom ................................................................ 20
2.2.2 Fitness .................................................................................. 20
2.2.3 Membangkitkan Populasi Awal .......................................... 20
2.2.4 Seleksi .................................................................................. 21
2.2.5 Crossover ............................................................................. 21
2.2.6 Mutasi .................................................................................. 21
2.3 Tool Yang Digunakan Pada Penelitian ......................................... 21
2.3.1 Microsoft Visual Basic 2010 ............................................... 21
2.3.2 Sql Server 2008 R2 .............................................................. 22
2.4 Pemodelan UML .......................................................................... 24
2.4.1 Pemodelan Sistem Dengan UML ........................................ 24
2.4.2 Use Case .............................................................................. 24
2.4.3 Activity Diagram ................................................................. 25
2.4.4 Sequence Diagram ............................................................... 26
xiv
BAB III ANALISA DAN PERANCANGAN ................................................. 28
3.1 Analisa Sistem dengan Algoritma Genetika ................................. 28
3.2 Rancangan Sistem ........................................................................ 28
3.2.1 Use Case Diagram ............................................................... 29
3.2.2 Activity Diagram ................................................................. 32
3.2.3 Sequence Diagram ............................................................... 36
3.3 Rancangan Database ..................................................................... 38
3.3.1 Tabel Login ......................................................................... 38
3.3.2 Tabel Dosen ......................................................................... 39
3.3.3 Tabel Mata Kuliah ............................................................... 39
3.3.4 Tabel Hari ............................................................................ 40
3.3.5 Tabel Jam ............................................................................. 40
3.3.6 Tabel Ruang ......................................................................... 40
3.3.7 Tabel Pengampu .................................................................. 41
3.3.8 Tabel Kesediaan .................................................................. 41
3.3.9 Tabel Jadwal ........................................................................ 42
3.4 Diagram Relasi Database ............................................................. 42
3.5 Rancangan Tampilan .................................................................... 43
3.5.1 Menu Login ......................................................................... 43
3.5.2 Menu Utama ........................................................................ 44
3.5.3 Menu Input Data Dosen ....................................................... 44
3.5.4 Menu Input Data Mata Kuliah ............................................. 45
3.5.5 Menu Input Data Ruang ...................................................... 46
3.5.6 Menu Input Data Hari & Jam .............................................. 46
xv
3.5.7 Menu Input Dosen Pemngampu .......................................... 47
3.5.8 Menu Input Kesediaan Dosen ............................................. 48
3.5.9 Menu Generate Jadwal ........................................................ 48
3.6 Rancangan Laporan ...................................................................... 49
BAB IV IMPLEMENTASI DAN EVALUASI SISTEM ................................ 50
4.1 Implementasi Sistem .................................................................... 50
4.1.1 Hardware ............................................................................. 50
4.1.2 Software ............................................................................... 50
4.2 Implementasi Aplikasi .................................................................. 51
4.2.1 Rancangan Tampilan Login ................................................ 51
4.2.2 Rancangan Tampilan Menu Utama Admin ......................... 51
4.2.3 Rancangan Tampilan Menu Utama User .............................52
4.2.4 Rancangan Tampilan Input Data Dosen .............................. 53
4.2.5 Rancangan Tampilan Input Mata Kuliah ............................ 54
4.2.6 Rancangan Tampilan Input Data Ruang ...............................54
4.2.7 Rancangan Tampilan Input Hari & Jam .............................. 55
4.2.8 Rancangan Tampilan Input Data Pengampu ....................... 56
4.2.9 Rancangan Tampilan Input Data Kesediaan ....................... 57
4.2.10 Rancangan Tampilan Generate Jadwal ............................. 58
4.2.11 Rancangan Tampilan Laporan ........................................... 59
4.3 Sekilas Program .............................................................................60
4.3.1 Membangkitkan Populasi Awal .......................................... 60
4.3.2Menghitung Nilai Fitness ..................................................... 61
4.3.3 Croosover ............................................................................ 62
xvi
4.3.4 Mutasi .................................................................................. 63
4.4 Evaluasi Sistem ............................................................................ 67
BAB V KESIMPULAN DAN SARAN ........................................................... 69
5.1 Kesimpulan ................................................................................... 69
5.2 Saran ............................................................................................. 70
DAFTAR PUSTAKA
LAMPIRAN
BAB I
PENDAHULUAN
1.1 Latar Belakang
Penjadwalan merupakan kegiatan yang harus dimiliki oleh setiap
orang untuk dapat membantu dalam melakukan aktivitasnya sehari-hari.
Terlebih lagi sebuah instansi atau lembaga yang memiliki agenda-agenda
penting yang diselesaikan secara teratur dan rapi. Begitu pentingnya
penjadwalan ini agar kegiatan dapat berjalan sesuai dengan yang telah
direncanakan.
Berbanding terbalik dengan pentingnya penjadwalan ini, proses
pembuatan jadwal ini merupakan proses yang menyulitkan, karena proses ini
membutuhkan ketelitian dan waktu yang cukup banyak agar tidak terjadi
adanya tumpang tindih antara kegiatan yang satu dengan kegiatan yang lain.
Sampai saat ini, metode yang dikenal sebagai metode yang diakui
potensinya memiliki teknik optimasi untuk menyelesaikan permasalahan
yang kompleks adalah Algoritma Genetika dan telah sukses dijalankan
dikalangan teknik. Sehingga dalam pembuatan system penjadwalan pelajaran
ini metode yang dipilih untuk dipergunakan adalah Algoritma Genetika. (
Mitsuo Gen, 1997)
2
Teknik Informatika merupakan salah satu jurusan yang ada di
Universitas Darma Persada. Teknik Informatika di Universitas Darma
Persada merupakan salah satu jurusan / prodi (program studi) yang memiliki
jumlah mahasiswa yang cukup banyak. Dengan jumlah mahasiswa yang
cukup banyak, tentu dibutuhkan dosen yang memadai. Penjadwalan kegiatan
kuliah dalam suatu Perguruan Tinggi / kampus adalah suatu hal rumit dan
sering mengalami kesulitan.
Hal ini disebabkan beberapa faktor yang berkaitan yang harus
dipertimbangkan antara lain jumlah mata kuliah yang diselenggarakan,
jumlah ruangan, jumlah dosen dan jadwal dimana dosen yang bersangkutan
tidak bisa mengajar yang seringkali menyebabkan munculnya masalah
penjadwalan mata kuliah.
Untuk memudahkan dalam proses penjadwalan tersebut, maka akan
disusun tugas akhir dengan Judul “Optimasi Jadwal Mata Kuliah Dengan
Menggunakan Algoritma Genetika (Studi Kasus: Program Studi Teknik
Informatika Universitas Darma Persada)”.
Diharapkan proyek tugas akhir ini dapat menyusun jadwal pelajaran
perkuliahan yang meliputi jadwal perkuliahan disertai dengan dosen pengajar
di masing-masing kelas yang ada dengan proses yang lebih memaka waktu
sedikit dan hasil yang optimal.
1.2 Rumusan Masalah
1. Penarikan perumusan masalah Bagaimana sistem penjadwalan kegiatan
menggunakan metode Algoritma Genetika.
3
2. Bagaimana membuat proses penjadwalan kegiatan yang belum optimal sesuai
yang direncanakan.
3. Bagaimana meminimalisir terjadinya kesalahan-kesalahan dalam melakukan
penjadwalan, dan laporan tentang jadwal perkuliahan.
1.3 Batasan Masalah
Batasan masalah dalam penelitian ini adalah :
1. Metode pengembangan menggunakan metode RAD dan metode Algoritma
Genetika.
2. Menentukan penjadwalan berdasarkan perkuliahan yang dilaksanakan, periode
waktu, dan ruangan pada Program Studi Teknik Informatika Universitas Darma
Persada.
3. Program aplikasi yang dibuat dengan meggunakan bahasa pemrograman
Microsoft Visual Studio.NET dan aplikasi basis data Sql Server 2008 R2.
1.4 Tujuan Penelitian
Maka disini akan dijabarkan beberapa tujuan penelitian yang akan
dilakukan, diantaranya :
1. Untuk menerapkan algoritma genetika dalam menyelesaikan masalah
penjadwalan perkuliahan pada Program Studi Teknik Informatika.
2. Mengoptimalisasikan penjadwalan mengajar dengan tepat waktu dan sesuai
dengan yang di rencanakan, agar tidak terjadinya kesalahan-kesalahan yang
dapat menyebabkan keterlambatan pelaksanaan kegiatan mengajar.
4
1.5 Manfaat Penelitian
Adanya tugas akhir yang dibuat ini, diharapkan dapat memberikan
manfaat antara lain :
1. Bagi mahasiswa :
a. Dapat menerapkan disiplin ilmu dan memanfaatkannya.
b. Meningkatkan pemahaman tentang penggunaan algoritma genetika.
2. Bagi pihak terkait:
a. Dapat mengoptimalkan penyusunan jadwal mata kuliah.
1.6 Metode Penelitian
Metode penelitian yang diperlukan sebagai bahan untuk menyusun tugas
akhir ini adalah:
1.6.1 Metode Pengumpulan Data
Metode pengumpulan data dengan menggunakan beberapa cara yaitu :
1. Studi Lapangan
Pada metode studi lapangan ini terdapat 2 cara yaitu :
a) Observasi
Melalui observasi ke bagian yang berhubungan dengan kegiatan mengajar,
untuk mendapatkan gambaran yang jelas mengenai pelaksanaan system yang
sedang berjalan.
b) Wawancara
Melakukan serangkaian Tanya jawab pada bagian-bagian yang berhubungan
dengan masalah yang terkait, untuk mengetahui masalah-masalah yang
menjadi kendala bagi para pengguna system lama.
5
2. Studi Literatur
Studi literature adalah cara penelitian yang dilakukan dengan membaca dan
mempelajari buku-buku literature sejenis yang dapat dijadikan pendukung
penyelesaian skripsi ini.
1.6.2 Metode pengembangan sistem
Metode pengembangan sistem dilakukan dengan metode RAD (Rapid
Application Development). RAD pertama kali diformulasikan oleh James Martin
pada tahun 1991 (Hillary Berger, 2004). Dan penulis menerapkan empat tahap
siklus pengembangan RAD (Kendal & Kendal, 2006), yaitu :
1. Fase Perencanaan Syarat-syarat
Dalam fase ini, pengguna (pihak yang melakukan penilaian terhadap kandidat-
kandidat) dan pihak yang menganalisa bertemu untuk mengidentifikasi syarat-
syarat informasi yang ditimbulkan dari tujuan-tujuan tersebut. Fase ini
memerlukan peran aktif dari kedua kelompok tersebut. Selain itu juga
melibatkan pengguna dari beberapa level yang berbeda dalam organisasi.
2. Workshop Design
Fase ini adalah fase untuk merancang dan memperbaiki yang dapat
digambarkan sebagai workshop. Selama workshop desain RAD, pengguna
merespon working prototype yang ada dan analyst memperbaiki modul-modul
yang dirancang menggunakan perangkat lunak berdasarkan respon pengguna.
3. Fase Implementasi
Pada fase ini dilakukan pengujian dan pengenalan terhadap sistem.
6
1.6.3 Sekilas Metode
1. Algoritma Genetika
Menurut (Desiani dan Arhami, 2006) Algoritma Genetika (AG)
diperkenalkan pertama kali oleh John Holland (1975) dari Universitas Michigan,
John Holland mengatakan bahwa setiap masalah yang berbentuk adaptasi
(alami maupun buatan) dapat diformulasikan ke dalam terminology genetika.
Kemudian menurut Goldberg (1989) mendefinisikan algoritma genetika
ini sebagai suatu pencarian algoritma berdasarkan pada mekanisme seleksi
alam dan genetika alam. Bauer (1993) mendefinisikan algoritma genetika
sebagai perangkat lunak, prosedur yang dimodelkan setelah genetika dan
evolusi. Selain itu juga Algoritma Genetika mempunyai karakteristik-
karakteristik yang perlu diketahui sehingga dapat terbedakan dari prosedur
pencarian atau optimasi yang lain, yaitu :
1. AG bekerja dengan pengkodean dari himpunan solusi permasalahan
berdasarkan parameter yang telah ditetapkan dan bukan parameter itu sendiri.
2. AG melakukan pencarian pada sebuah populasi dari sejumlah individu-
individu yang merupakan solusi permasalahan bukan hanya dari sebuah
individu.
3. AG merupakan informasi fungsi objektif (fitness), sebagai cara untuk
mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari
suatu fungsi.
4. AG menggunakan aturan-aturan transisi peluang, bukan aturan- aturan
deterministic
7
2. Struktur Umum Algoritma Genetika
Menurut (Kusumadewi, 2003) Pada algoritma ini, teknik pencarian
dilakukan sekaligus atas sejumlah solusi yang mungkin dikenal dengan istilah
populasi. Individu yang terdapat dalam satu populasi individu yang terdapat
dalam satu populasi disebut dengan istilah kromosom, Charles L Karr (1999).
Kromosom ini merupakan suatu solusi yang masih berbentuk simbol. Populasi
awal dibangun secara acak, sedangkan populasinya merupakan hasil evolusi
kromosom-kromosom melalui iterasi yang disebut dengan istilah generasi. Pada
setiap generasi kromosom akan melalui proses evaluasi dengan menggunakan alat
ukur yang disebut fungsi fitness. Nilai fitness dari suatu kromosom akan
menunjukkan kualitas kromosom dalam populasi tersebut. Proses ini dapat
direpresentasikan dalam algoritma sederhana Algoritma Genetika sebagai berikut
:
Gambar 1.1 Diagram Alir Genetic Alghorithms Sederhana
(Kusumadewi, 2003)
8
1.6.4 RAD (Rapid Application Development)
RAD adalah salah satu alternatif dalam melakukan suatu perkembangan
system. RAD adalah sebuah strategi pengembangan sistem yang menekankan
kecepatan pengembangan melalui keterlibatan pengguna yang ekstensif.
RAD menekankan pada kecepatan pengembangan yang melibatkan peran
user secara cepat, iterative dan meningkat dalam konstruksi prototype sebagai
cikal bakal system final, (Kendall and Kendall, 2006).
Gambar 1.2 Siklus Pengembangan Sistem Model RAD
(Kendall and Kendall, 2010)
1.7 Sistematika Penulisan
Penulisan tugas akhir ini terdiri dari 5 (lima) bab, berikut garis besar dari
masing-masing bab :
BAB I PENDAHULUAN
Pada bab ini akan diuraikan tentang latar belakang, permasalahan,
tujuan dan manfaat penelitian, metodologi penelitian dan sistematika
penulisan.
9
BAB II LANDASAN TEORI
Pada bab ini menjelaskan tentang konsep dasar system informasi
(pengertian pengembangan sistem, pengertian penjadwalan, pengertian
algoritma genetika dan metode pengembangan sistem).
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini akan dibahas mengenai analisa sistem yang akan di buat.
Pemilihan tool yang digunakan untuk membuat aplikasi, baik database
maupun pemrograman, serta rancangan program yang akan di buat.
BAB IV PEMBAHASAN
Bab ini akan membahas hasil aplikasi yang dibuat, meliputi interface
aplikasi, cara kerja dan cara penggunaan aplikasi.
BAB V PENUTUP
Bab ini berisikan tentang kesimpulan dan saran dari pembahasan bab-
bab sebelumnya.
BAB II
LANDASAN TEORI
2.1 Algoritma Genetika Dan Rapid Application Development (RAD)
2.1.1 Algoritma Genetika
Algoritma ini ditemukan di Universitas Michigan, Amerika Serikat oleh
John Holland (1975) melalui sebuah penelitian dan dipopulerkan oleh salah satu
muridnya, David Goldberg (1989). Dimana mendefenisikan algoritma genetika ini
sebagai metode algoritma pencarian berdasarkan pada mekanisme seleksi alam
dan genetik alam.
Algoritma genetika adalah algoritma yang berusaha menerapkan
pemahaman mengenai evolusi alamiah pada tugas-tugas pemecahan-masalah
(problem solving). Pendekatan yang diambil oleh algoritma ini adalah dengan
menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu
kumpulan untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada suatu
kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness. Generasi
ini akan merepresentasikan perbaikan-perbaikan pada populasi awalnya. Dengan
melakukan proses ini secara berulang, algoritma ini diharapkan dapat
mensimulasikan proses evolusioner.
Pada akhirnya, akan didapatkan solusi-solusi yang paling tepat bagi
permasalahan yang dihadapi. Untuk menggunakan algoritma genetik, solusi
permasalahan direpresentasikan sebagai kromosom. Tiga aspek yang penting
untuk enggunaan algoritma genetik:
11
1. Defenisi fungsi fitness
2. Defenisi dan implementasi representasi genetic
3. Defenisi dan implementasi operasi genetic
Jika ketiga aspek di atas telah didefinisikan, algoritma genetika akan
bekerja dengan baik. Tentu saja, algoritma genetika bukanlah solusi terbaik untuk
memecahkan segala masalah. Sebagai contoh, metode tradisional telah diatur
untuk untuk mencari penyelesaian dari fungsi analitis convex yang “berperilaku
baik” yang variabelnya sedikit. Pada kasus-kasus ini, metode berbasis kalkulus
lebih unggul dari algoritma genetika karena metode ini dengan cepat menemukan
solusi minimum ketika algoritma genetika masih menganalisa bobot dari
populasi awal.
2.1.2 Struktur Umum Algoritma Genetika
Algoritma genetika memberikan suatu pilihan bagi penentuan nilai
parameter dengan meniru cara reproduksi genetika, pembentukan kromosom
baru serta seleksi alami seperti yang terjadi pada makhluk hidup. Algoritma
Genetika secara umum dapat diilustrasikan dalam diagram alir berikut ini:
12
Gambar 2.1 Diagram Alir Algoritma Genetika (Kusumadewi, 2003)
(Kusumadewi, 2003) Pada algoritma ini, teknik pencarian dilakukan
sekaligus atas sejumlah solusi yang mungkin dikenal dengan istilah populasi.
Individu yang terdapat dalam satu populasi individu yang terdapat dalam satu
populasi disebut dengan istilah kromosom, Charles L Karr (1999). Kromosom ini
merupakan suatu solusi yang masih berbentuk simbol. Populasi awal dibangun
secara acak, sedangkan populasinya merupakan hasil evolusi kromosom-
kromosom melalui iterasi yang disebut dengan istilah generasi. Pada setiap
generasi kromosom akan melalui proses evaluasi dengan menggunakan alat ukur
yang disebut fungsi fitness. Nilai fitness dari suatu kromosom akan menunjukkan
kualitas kromosom dalam populasi tersebut.
2.1.3 Penyandian
Teknik penyandian disini meliputi penyandian gen dari kromosom. Gen
merupakan bagian dari kromosom. Satu gen biasanya akan mewakili satu
variable.
13
Gen dapat direpresentasikan dalam bentuk : string bit, pohon, array
bilangan real, daftar aturan, elemen permutasi, elemen program, atau representasi
lainnya yang dapat diimplementasikan untuk operator genetika.
Gambar 2.2 Penyandian Biner pada Operator Genetika
(Kusumadewi, 2003)
Demikian juga, kromosom dapat direpresentasikan dengan menggunakan :
 String bit : 011, 01101, 11101, dst.
 Bilangan Real : 65.65, -67.98. 562.88, dst.
 Elemen Program : pemrograman genetika
 Struktur lainnya
2.1.4 Operator Genetika
Algoritma genetik merupakan proses pencarian yang heuristik
dan acak sehingga penekanan pemilihan operator yang digunakan sangat
menentukan keberhasilan algoritma genetik dalam menemukan solusi
optimum suatu masalah yang diberikan. Hal yang harus diperhatikan adalah
menghindari terjadinya konvergensi premature, yaitu mencapai solusi optimum
yang belum waktunya, dalam arti bahwa solusi yang diperoleh adalah hasil
optimum lokal.
14
Operator genetika yang digunakan setelah proses evaluasi tahap pertama
membentuk populasi baru dari generasi sekarang. Operator-operator tersebut
adalah operator seleksi, crossover dan mutasi. (Kusumadewi, 2003). Berikut ini
akan di jelaskan masing-masing operator pada Genetika.
1. Seleksi
Seleksi bertujuan memberikan kesempatan reproduksi yang lebih besar
bagi anggota populasi yang paling fit. Langkah pertama dalam seleksi ini
adalah pencarian nilai fitness. Masing-masing individu dalam suatu wadah
seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai
objektif dirinya sendiri terhadap nilai objektif dari semua individu dalam wadah
seleksi tersebut. Nilai fitness inilah yang nantinya akan digunakan pada tahap
seleksi berikutnya (Kusumadewi, 2003).
Kemampuan algoritma genetik untuk memproduksi kromosom yang
lebih baik secara progresif tergantung pada penekanan selektif (selective
pressure) yang diterapkan ke populasi. Penekanan selektif dapat diterapkan
dalam dua cara. Cara pertama adalah membuat lebih banyak kromosom anak
yang dipelihara dalam populasi dan memilih hanya kromosom-kromosom
terbaik bagi generasi berikut. Walaupun orang tua dipilih secara acak, metode
ini akan terus menghasilkan kromosom yang lebih baik berhubungan dengan
penekanan selektif yang diterapkan pada individu anak tersebut.
Cara lain menerapkan penekanan selektif adalah memilih orang tua yang
lebih baik ketika membuat keturunan baru. Dengan metode ini, hanya kromosom
sebanyak yang dipelihara dalam populasi yang perlu dibuat bagi generasi
15
berikutnya. Walaupun penekanan selektif tidak diterapkan ke level keturunan,
metode ini akan terus menghasilkan kromosom yang lebih baik, karena adanya
penekanan selektif yang diterapkan ke orangtua.
Ada beberapa metode untuk memilih kromosom yang sering digunakan
antara lain adalah seleksi roda rolet (roulette wheel selection), seleksi ranking
(rank selection) dam seleksi turnamen (tournament selection).
2. Crossover
Crossover (perkawinan silang) bertujuan menambah keanekaragaman
string dalam populasi dengan penyilangan antar-string yang diperoleh dari
sebelumnya. Beberapa jenis crossover tersebut adalah:
1. Crossover 1-titik
Pada crossover dilakukan dengan memisahkan suatu string menjadi dua
bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu
bagian dari string yang lain yang telah dipisahkan dengan cara yang
sama. Proses yang demikian dinamakan operator crossover satu titik
seperti diperlihatkan pada gambar berikut:
Tabel 2.1 Contoh Crossover 1 titik
Kromosom Orangtua 1 11001011
Kromosom Orangtua 2 11011111
Keturunan 11001111
2. Crossover 2 Titik
Proses crossover ini dilakukan dengan memilih dua titik crossover.
Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal
16
kromosom sampai titik crossover pertama disalin dari orang tua pertama,
bagian dari titik crossover pertama dan kedua disalin dari orang tua
kedua, kemudian selebihnya disalin dari orang tua pertama lagi.
Tabel 2.2 Contoh Crossover 2 titik
Kromosom Orangtua 1 11001011
Kromosom Orangtua 2 11011111
Keturunan 11011111
3. Crossover Seragam
Crossover seragam manghasilkan kromosom keturunan dengan menyalin bit-
bit secara acak dari kedua orangtuanya.
Table 2.3 Contoh Crossover Seragam
Kromosom Orangtua 1 11001011
Kromosom Orangtua 2 11011111
Keturunan 11011111
3. Mutasi
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen
dalam suatu kromosom. Operasi crossover yang dilakukan pada kromosom
dengan tujuan untuk memperoleh kromosom-kromosom baru sebagai kandidat
solusi pada generasi mendatang dengan fitness yang lebih baik, dan lama-
kelamaan menuju solusi optimum yang diinginkan. Akan tetapi, untuk mencapai
hal ini, penekanan selektif juga memegang peranan yang penting. Jika dalam
proses pemilihan kromosom-kromosom cenderung pada kromosom yang
17
memiliki fitness yang tinggi saja, konvergensi premature, yaitu mencapai solusi
yang optimal lokal sangat mudah terjadi.
Mutasi ini berperan untuk menggantikan gen yang hilang dari populasi
akibat proses seleksi yang memungkinkan munculnya kembali gen yang tidak
muncul pada inisialisasi populasi.
 Mutasi bilangan real
Pada mutasi bilangan real, ukuran langkah mutasi biasanya sangat sulit
ditentukan. Ukuran yang kecil biasanya sering mengalami kesuksesan, namun
adakalanya ukuran yang lebih besar akan berjalan lebih cepat.
 Mutasi bilangan real
Cara sederhana untuk mendapatkan mutasi biner adalah dengan mengganti satu
atau beberapa nilai gen dari kromosom.
2.1.5 Parameter Genetika
Pengoperasian algoritma genetik dibutuhkan 4 parameter (Juniawati, 2003)
yaitu :
1. Probabilitas Persilangan (Crossover Probability)
Menunjukkan kemungkinan crossover terjadi antara 2 kromosom. Jika tidak
terjadi crossover maka keturunannya akan sama persis dengan kromosom
orangtua, tetapi tidak berarti generasi yang baru akan sama persis dengan
generasi yang lama. Jika probabilitas crossover 100% maka semua
keturunannya dihasilkan dari crossover. Crossover dilakukan dengan
harapan bahwa kromosom yang baru akan lebih baik.
18
2. Probabilitas Mutasi (Mutation Probability)
Menunjukkan kemungkinan mutasi terjadi pada gen-gen yang menyusun
sebuah kromosom. Jika tidak terjadi mutasi maka keturunan yang dihasilkan
setelah crossover tidak berubah. Jika terjadi mutasi bagian kromosom akan
berubah. Jika probabilitas 100%, semua kromosom dimutasi. Jika
probabilitasnya 0%, tidak ada yang mengalami mutasi.
3. Jumlah Individu
Menunjukkan jumlah kromosom yang terdapat dalam populasi (dalam
satu generasi). Jika hanya sedikit kromosom dalam populasi maka
algoritma genetik akan mempunyai sedikit variasi kemungkinan untuk
melakukan crossover antara orangtua karena hanya sebagian kecil dari
search space yang dipakai. Sebaliknya jika terlalu banyak maka
algoritma genetik akan berjalan lambat.
4. Jumlah Populasi
Menetukan jumlah populasi atau banyaknya generasi yang dihasilkan,
digunakan sebagai batas akhir proses seleksi, persilangan dan mutasi.
2.1.6 Rapid Application Development (RAD)
Rapid Application Development (RAD) adalah model pengembangan
sistem yang melakukan beberapa penyesuaian terhadap System Development Life
Cycle (SDLC) pada beberapa bagian sehingga lebih cepat untuk sampai ke tangan
pengguna sistem. RAD adalah sebuah strategi pengembangan sistem yang
menekankan kecepatan pengembangan melalui keterlibatan pengguna yang
ekstensif dalam konstruksi, cepat, berulang dan bertambah ke serangkaian
19
prototype atau prototype yang bekerja ke sebuah sistem yang pada akhirnya
berkembang kedalam sistem final.
Pemaparan konsep yang lebih spesifik lagi dijelaskan oleh Pressman
(2005) dalam bukunya, “Software Engineering: A Practition’s Approach”. Ia
mengatakan bahwa RAD adalah proses model perangkat lunak inkremental yang
menekankan siklus pengembangan yang singkat. Model RAD adalah sebuah
adaptasi “kecepatan tinggi” dari model waterfall, di mana perkembangan pesat
dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. Jika
tiap-tiap kebutuhan dan batasan ruang lingkup projek telah diketahui dengan baik,
Proses RAD memungkinkan tim pengembang untuk menciptakan sebuah
“sistem yang berfungsi penuh” dalam jangka waktu yang sangat singkat. Dari
penjelasan Pressman (2012) ini, satu perhatian khusus mengenai metodologi RAD
dapat diketahui, yakni implementasi metode RAD akan berjalan maksimal jika
pengembang aplikasi telah merumuskan kebutuhan dan ruang lingkup
pengembangan aplikasi dengan baik.
Sedangkan menurut Kendall (2010), RAD adalah suatu pendekatan
berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode
pengembangan serta perangkat-perangkat lunak. RAD bertujuan mempersingkat
waktu yang biasanya diperlukan dalam siklus hidup pengembangan sistem
tradisional antara perancangan dan penerapan suatu sistem informasi. Pada
akhirnya, RAD sama-sama berusaha memenuhi syarat-syarat bisnis yang berubah
secara cepat.
20
Gambar 2.3 Siklus RAD (Kendall, 2010)
2.2 Proses Algoritma Genetika
2.2.1 Individu / Kromosom
Individu yang digunakan dalam proses pembuatan jadwal perkuliahan ini
yaitu diambil dari kode mata kuliah dan kode dosen yang di jadikan gen dari data
yang tela diinput, dan setiap gen mewakili mata kuliah tertentu dan dosen yang
mengajar yang dinyatakan dalam suatu kode dalam bentuk integer.
2.2.2 Fitness
Fitness dari jadwal kuliah dilakukan dengan menghitung jumlah mata
kuliah dan dosen yang mengajar dalam satu waktu. Terdapat tiga fungsi fitness
yaitu fitness, fitnessInduk dan fitnessAnak. Dimana ketiganya mempunyai
algoritma yang sama.
2.2.3 Membangkitkan Populasi Awal
Dari pendefinisian individu yang telah dilakukan diatas, selanjutnya proses
pertama yang dilakukan adalah membangkitkan N individu sesuai dengan jumlah
21
individu (N) yang dimasukan oleh user dalam bentuk integer dari jadwal kuliah
yang dibangkitkan secara acak.
2.2.4 Seleksi
Proses menyeleksi individu yang bisa dijadikan induk untuk proses
selanjutnya dengan membangkitkan bilangan random sebanyak jumlah fitness dan
memilih individu tersebut sebagai induk berdasarkan nilai fitness yang terpilih.
2.2.5 Crossover
Proses ini menyilangkan induk yang telah terseleksi dengan metode
crossover langsung. Metodenya adalah mengacak 2 bilangan r1 dan r2 dengan r1
adalah batas awal dan r2 adalah batas akhir.
2.2.6 Mutasi
Proses mutasi dalam jadwal mencari 2 gen dalam satu record yang dilakuakn
secara acak.kemudian menukar diantara kedua gen tersebut.
2.3 Tool Yang Digunakan
2.3.1 Microsoft Visual Basic 2010
Menurut (Budi Prayudi 2012) Visual Studio .NET adalah sebuah tools
pengembangan perangkat lunak untuk membangun aplikasi ASP Web, layanan
XML Web, aplikasi desktop, dan aplikasi mobile. Visual Basic .NET, Visual C++
.NET, Visual C# .NET, dan Visual J# .NET semuanya menggunakan Integrated
Development Environment (IDE) atau lingkungan pengembangan terintegrasi
yang sama, yang membolehkan mereka untuk saling berbagi tools dan fasilitas
dalam pembuatan solusi yang memadukan beberapa bahasa (mixed-language
solutions). Selain itu, bahasa-bahasa ini mempengaruhi fungsionalitas dari .NET
22
Framework, dan menyediakan pengaksesan ke kunci teknologi yang
menyederhanakan proses pengembangan dari aplikasi ASP Web dan layanan
XML Web. Ada banyak perubahan dalam VBNet 2010 ini dibandingkan VB6,
antara lain:
1. Bahasa pemprograman sekarang benar-benar bahasa berbasis objek
(Object Oriented Programming), sedangkan VB6 bukan bahasa berbasis
objek.
2. Aplikasi dan komponen yang ditulis di VBNet 2010 mempunyai akses penuh
ke Net Framework, sedangkan di VB6 tidak dikenal atau tidak digunakan Net
Framework.
3. Semua aplikasi yang dibuat beroperasi dalam manajemen Common Language
Runtime (CLR).
2.3.2 Sql Server
Microsoft SQL Server adalah sebuah sistem manajemen basis data
relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact-
SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan
oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis
yang memiliki basis data berskala kecil sampai dengan menengah, tetapi
kemudian berkembang dengan digunakannya SQL Server pada basis data besar. (
http://microsoft.com )
Menurut Wood, Leiter dan Turley (2007:1-5), SQL Server 2005
merupakan sebuah Relational Database Management System (RDBMS). Pada
SQL Server 2005 merupakan lanjutan atau pengembangan feature-feature dari
23
produk SQL Server sebelumnya. Sebagai tamabahan SQL Server 2005 juga
mempunyai kemampuan pelaporan yang kaya, analisis data yang kuat, dan data
mining.
Komponen utama dari SQL Server adalah engine basis data. Engine basis
data ini merupakan Online Transaction Processing (OLTP) dari SQL Server.
Engine basis data dari SQL Server terdapat beberapa pengembangan untuk
mendukung scalability, availability, dan kemajuan ( dan juga keamanan). Seperti :
 Partisi fisik tabel dan indeks
 Pemicu Data Definition Language (DDL)
 Lanjutan dari tipe data panjang variable
 Tipe data XML
 Multiple Active Result Set (MARS)
 Penanganan error terstruktur
Menurut Rizky Sotem dalam bukunya yang berjudul Panduan Belajar
SQL Sqerver 2005 Express Edition, SQL Server memiliki keistimewaan, yaitu :
 Microsoft SQL Server lebih mudah digunakan dan memiliki lebih banyak fitur.
 Pemicunya antara lain adalah dukungan penuh dari Microsoft. Perangkat lunak
yang ditawarkan oleh Microsoft juga menawarkan integrasi yang erat dengan
.NET framework, dan ini tidak dimiliki oleh produk lain.
 Microsoft SQL Server memiliki sejumlah fitur dalam restorasi data dan
pemulihan data.
24
2.4 Pemodelan UML
2.4.1 Pemodelan Sistem Dengan UML
Menurut Munawar (2005:17) UML (Unified Modelling Language) adalah
Salah satu alat bantu yang sangat handal di dunia pengembangan system yang
berorientasi objek. Hal ini di sebabkan karena UML menyediakan bahasa
pemodelan visual yang memungkinkan bagi pengembang sistem untuk membuat
rancangan aplikasi yang mudah dimengerti.
Gambar 2.4 Pemodelan UML (Munawar, 2005)
2.4.2 Use Case
Menurut Munawar (2005:64) Use case adalah deskripsi dari sebuah sistem
dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal
interaksi antar user(pengguna) sebuah sistem dengan sistemnya sendiri melalui
sebuah cerita bagaimana sebuah sistem dipakai.
Use case diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor
dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke
sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor
25
adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk
melakukan pekerjaan-pekerjaan tertentu.
Use case diagram dapat sangat membantu apabila kita sedang
menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan
clien, dan merancang test case untuk semua feature yang ada pada sistem.
Gambar 2.5 Use Case Diagram (Munawar, 2005)
2.4.3 Activity Diagram
Menurut (Adi Nugroho 2005: 61) dalam buku Rational Rose Untuk
Pemodelan Berorientasi Objek, Activity diagram adalah salah satu cara untuk
memodelkan event – event yang terjadi dalam suatu usecase. Diagram ini juga
bisa di gantikan dengan sejumlah teks. Namun, penggunaan teks terlalu sulit
untuk dipahami, terutama jika aliran – aliran event yang memiliki alternatif
sehingga activity diagram yang bersifat garis lebih mudah di mengerti. Activity
diagram digunakan untuk memodelkan aspek dinamis dari sistem, yang
memperlihatkan aliran kendali dari suatu aktifitas ke aktifitas lainnya.
26
Gambar 2.6 Activity Diagram (Adi Nugroho,2005)
2.4.4 Sequence Diagram
Menurut (Adi Nugroho 2005) dalam buku Rational Rose Untuk
Pemodelan Berorientasi Objek, sequence diagram adalah iteraksi diagram yang
memperlihatkan event – event yang berurutan sepanjang waktu menjelaskan
secara detail urutan proses yang dilakukan dalam sistem untuk mencapai tujuan
dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat,
urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi.
27
Gambar 2.7 Sequence Diagram (Adi Nugroho, 2005)
BAB III
ANALISIS DAN PERANCANGAN
3.1 Analisa Sistem dengan Metode Algoritma Genetika
Metode yang digunakan adalah algoritma genetika karena dapat
menyelesaikan permasalahan penjadwalan perkuliahan yang sangat rumit dan
kompleks. Algoritma genetika merupakan metode pencarian dimana dalam proses
encoding (pengkodean) menghasilkan string yang kemudian disebut kromosom
yang terdiri dari sekumpulan bit-bit. Bit-bit ini dikenal sebagai penyusun sebuah
kromosom. Jadi satu kromosom terdiri dari gen-gen. Gen dalam kasus ini adalah
urutan tabel mata kuliah, tabel dosen, jadwal ruangan dan waktu telah dikodekan
terlebih dahulu sehingga membentuk suatu kromosom, berarti bahwa panjang
kromosom akan sesuai dengan jumlah penjadwalan perkuliahan. Sedangkan
individu merupakan kumpulan kromosom, dalam kasus ini satu individu
memiliki satu kromosom. Sedangkan populasi, merupakan kumpulan individu
yang telah ditentukan jumlahnya oleh user.
3.2 Rancangan Sistem
Proses rancangan sistem algoritma genetika pada penjadwalan perkuliahan
terdiri dari proses data input, Pembentukan Kromosom dari Populasi, Evaluasi
Fitness, Seleksi Poses, Perkawinan Silang (Crossevor, Proses Mutasi dan
Kondisi selesai. Rancangan sistem dapat dijelaskan melalui flowchart. Flowchart
adalah bagan-bagan yang menggambarkan langkah-langkah suatu masalah.
Dibawah ini adalah flowchart algoritma genetika untuk menetukan permasalahan
penjadwalan perkulihan.
29
Gambar 3.1 Diagram Alir Perancangan Sistem (Flowchart)
3.2.1 Use Case
Use case diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem dan bukan
“bagaimana”. Sebuah use case mempresentasikan sebuah interaksi antara aktor
dengan sistem.
 a = mengambil total jumlah mata kuliah ( 35 kromosom)
 b = mengambil total jumlah kode dosen ( 7 kromosom)
 c = mengambil jumlah ruang ( 9 kromosom)
 d = mengambil total waktu ( 8 kromosom)
 e = mengambil total semester (4 koromoson)
30
Gambar 3.2 Use case diagram
Berdasarkan Use Case pada gambar 3.2 dapat terlihat bahwa terdapat 2
aktor (Petugas, Jurusan dan PA) yang menggunakan aplikasi tersebut. Berikut ini
akan di jelaskan peran-peran aktor Use Case diagram pada Aplikasi Penjadwalan.
Tabel 3.1 Peran Aktor Petugas Penjadwal
Aktor Use Case Deskripsi
Petugas Penjadwal
- Menambah / Merubah
Data Dosen.
- Menambah dan Merubah
data Dosen yang akan
mengajar
- Menambah / Merubah
Data Mata Kuliah
- Menambah dan merubah
data Mata Kuliah yang
akan di Ajarkan
31
- Menambah / Merubah
Data Ruangan
- Menambah dan Merubah
data Ruangan yang akan
dipakai
- Menamah / Merubah
Data Jam Kuliah
- Menambah dan Merubah
data Jam Kuliah yang
akan digunakan pada
perkuliahan
- Generate Jadwal - Membuat Jadwal
Perkuliahan yang akan
digunakan
- Hasil Jadwal Kuliah - Melihat Jadwal
Perkuliahan yang telah
dibuat
Tabel 3.2 Peran Aktor Jurusan dan Pembimbing Akademik
Aktor Use Case Deskripsi
Jurusan dan
Pembimbing
Akademik
- Hasil Jadwal Kuliah - Melihat Jadwal
Perkuliahan yang telah
dibuat
32
3.2.2 Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem
yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang
mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
A. Activity Diagram Login
Gambar 3.3 Activity Diagram Login
Berdasarkan gambar 3.3 terlihat aktivitas dari Aplikasi Penjadwalan dengan
Algoritma Genetika, yaitu pertama-tama seorang aktor (petugas) harus membuka
aplikasi, kemudian petugas harus melakukan login, apabila valid maka petugas
akan masuk ke menu utama sedangkan jika tidak valid maka admin harus
melakukan login ulang.
33
B. Activity Diagram Input Data
Gambar 3.4 Activity Diagram Input Data
Berdasarkan gambar 3.4 terlihat aktivitas untuk menambah dan merubah
data, yaitu pertama-tama petugas harus membuka aplikasi, kemudian petugas
harus melakukan login, apabila valid maka petugas akan masuk ke menu utama,
sedangkan jika tidak valid maka Petugas harus melakukan Login ulang.
34
Setalah login, petugas akan masuk ke menu utama dan setelah itu petugas
akan memilih menu mana yang akan di input. Setelah memilih menu, petugas bias
memilih apakah akan menambah atau merubah data yang sudah ada.
Activity diagram input data ini berfungsi untuk Menambah atau merubah
data pada data dosen, data mata kuliah, data ruangan, dan data jam kuliah.
C. Activity Diagram Generte Jadwal
Gambar 3.5 Activity Diagram Generate Jadwal (Algoritma Genetika)
Berdasarkan gambar 3.4 terlihat aktivitas untuk menambah dan merubah
data, yaitu pertama-tama petugas harus membuka aplikasi, kemudian petugas
harus melakukan login, apabila valid maka petugas akan masuk ke menu utama,
sedangkan jika tidak valid maka Petugas harus melakukan Login ulang.
35
Setalah login, petugas akan masuk ke menu utama dan setelah itu petugas
akan memilih menu Generate Jadwal, setelah itu system akan membuat jadwal
secara otomatis sesuai metode yang dipakai yaitu Algoritma Genetika.
D. Activity Diagram Laporan
.
Gambar 3.6 Activity Diagram Laporan
Berdasarkan gambar 3.4 terlihat aktivitas untuk menambah dan merubah
data, yaitu pertama-tama petugas harus membuka aplikasi, kemudian petugas
harus melakukan login, apabila valid maka petugas akan masuk ke menu utama,
sedangkan jika tidak valid maka Petugas harus melakukan Login ulang.
36
Setalah login, petugas akan masuk ke menu utama dan setelah itu petugas
akan memilih menu Laporan. Setelah memilih menu petugas bias melihat laporan
yang ada, yaitu laporan Jadwal, laporan Dosen dan laporan Mata kuliah.
3.2.3 Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan skenario atau
rangkaian langkah-langkah yang dilakukan sebagai sebuah respon dari suatu
kejadian/event untuk menghasilkan output tertentu. Berikut Sequence diagram
yang terdapat pada aplikasi Penjadwalan Perkuliahan dengan Algoritma Genetika.
A. Sequence diagram login
Pada sequence diagram login di bawah ini, petugas akan memasukan
username dan password. Jika username dan password valid, maka petugas akan
masuk ke menu utama. Tetapi jika username dan password tidak cocok, maka
petugas akan diminta untuk mengisi kembali.
Gambar 3.7 Sequence diagram Login
37
B. Sequence diagram Input Data
Pada sequence diagram input data di bawah ini, petugas akan menambah
data yang ingin di masukan ke dalam database seperti data Dosen, Mahasiswa,
Mata Kuliah, Ruangan, dan Jam mata kuliah. Seluruh data yang disimpan ke
database akan ditampilkan di datagrid yang ada di masing-masing form.
Gambar 3.8 Sequence Diagram Input Data
C. Sequence diagram Laporan
Pada sequence diagram laporan dibawah ini, petugas, pembimbing
akademik maupun pihak jurusan masuk ke form laporan, kemudian memilih
laporan apa yang akan dicetak.
38
Gambar 3.9 Sequence Diagram Laporan
3.3 Rancangan Database
Database sangat dibutuhkan dalam pembuatan aplikasi ini terutama pada
penyimpanan data-data yang dibutuhkan dalam membuat jadwal perkuliahan.
Berikut merupakan rancangan database yang dibutuhkan pada pembuatan aplikasi
pembuatan jadwal perkuliahan
3.3.1 Tabel Login
Tabel login digunakan untuk menyinpan data siapa saja yang erhak untuk
menggunakan aplikasi membuat jadwal perkuliahan ini.
Gambar 3.10 Struktur Tabel Login
39
3.3.2 Tabel Dosen
Table dosen digunakan untuk menyimpan informasi tentang data dosen
yang akan mengajar di jurusan Teknik Informatika Universitas Darma Persada.
Gambar 3.11 Struktur Tabel Dosen
3.3.3 Tabel Mata Kuliah
Tabel mata kuliah digunakan untuk menyimpan informasi tentang data
mata kuliah yang akan di ajarkan di jurusan Teknik Informatika Universitas
Darma Persada.
Gambar 3.12 Struktur Tabel Mata Kuliah
40
3.3.4 Tabel Hari
Table hari digunakan untuk menyimpan informasi tentang data hari-hari
apa saja yang akan digunakan dalam kegiatan perkuliahan.
Gambar 3.13 Struktur Tabel Hari
3.3.5 Tabel Jam
Table jam digunakan untuk menyimpan informasi tentang data jam-jam
berapa saja yang akan digunakan dalam kegiatan perkuliahan.
Gambar 3.14 Struktur Tabel Jam
3.3.6 Tabel Ruang
Table ruang digunakan untuk menyimpan informasi tentang data ruang-
ruang mana saja yang akan digunakan dalam kegiatan perkuliahan.
41
Gambar 3.15 Struktur Tabel Ruang
3.3.7 Tabel Pengampu
Tabel pengampu digunakan untuk menyimpan informasi tentang mata
kuliah yang dipertanggung jawabkan kepada dosen untuk kegiatan perkuliahan.
Gambar 3.16 Struktur Tabel Pengampu
3.3.8 Tabel Kesediaan
Tabel kesediaan digunakan untuk menyimpan informasi tentang hari-hari
dimana dosen berhalangan / tidak bias mengajar perkuliahan.
42
Gambar 3.17 Struktur Tabel Kesediaan
3.3.9 Tabel Jadwal
Tabel jadwal digunakan untuk menyimpan informasi tentang jadwal
perkuliahan yang telah dibuat dan akan digunakan dalam perkuliahan.
Gambar 3.18 Struktur Tabel Jadwal
3.4 Diagram Relasi Database
Diagram yang menggambarkan relasi / hubungan antara setiap tabel yang
saling berinteraksi dalam database.
43
Gambar 3.19 Relasi Tabel Didalam Database
3.5 Rancangan Tampilan
3.5.1 Menu Login
Gambar 3.20 Rancangan Menu Login
Gambar 3.19 merupakan tampilan menu login dimana petugas login disini
untuk masuk ke dalam menu utama.
Keterangan : : Garis relasi antar table
: Perintah INNER JOIN antar table
44
3.5.2 Menu Utama
Gambar 3.21 Rancangan Menu Utama
Gambar 3.20 merupakan tampilan menu utama dimana terdapat menu-
menu yg bias dipilih petugas dalam menjalankan aplikasi seperti, data dosen, mata
kuliah, ruang, jam & hari, dan juga laporan.
3.5.3 Menu Input Data Dosen
Gambar 3.22 Rancangan Menu Dosen
45
Gambar 3.21 Merupakan tampilan menu dosen dimana petugas mengolah
segala informasi tentang dosen, seperti NIDN, nama, alamat dan telepon.
3.5.4 Menu Input Data Mata Kuliah
Gambar 3.23 Rancangan Menu Mata Kuliah
Gambar 3.22 merupakan tampilan menu mata kuliah dimana petugas
mengolah segala informasi tentang mata kuliah, seperti kode mata kuliah, nama
mata kuliah, sks, semester dan kategori (teori & praktek).
46
3.5.5 Menu Input Data Ruang
Gambar 3.24 Rancangan Menu Ruang Kuliah
Gambar 3.23 merupakan tampilan menu ruang kuliah dimana petugas
mengolah segala informasi tentang ruang yang akan dipakai untuk perkuliahan,
seperti nama ruang, kapasitas ruang, dan jenis ruang.
3.5.6 Menu Input Data Hari & Jam
Gambar 3.25 Rancangan Menu Hari & Jam
47
Gambar 3.24 merupakan tampilan menu hari & jam dimana petugas
mengolah segala informasi tentang hari & jam yang digunakan untuk perkuliahan,
seperti kode hari, nama hari, sesi jam kuliah dan range jam kuliah.
3.5.7 Menu Input Dosen Pengampu
Gambar 3.26 Rancangan Menu Dosen Pengampu
Gambar 3.25 merupakan tampilan menu dosen pengampu dimana petugas
mengolah segala informasi tentang matakuliah yang akan di ajarkan oleh dosen.
48
3.5.8 Menu Input Kesediaan Dosen
Gambar 3.27 Rancangan Menu Kesediaan Dosen
Gambar 3.26 merupakan rancangan menu kesediaan dosen dimana petugas
mengolah informasi tentang hari dimana dosen tidak bisa mengajar.
3.5.9 Menu Input Generte Jadwal
Gambar 3.28 Rancangan Menu Generate Jadwal
49
Gambar 3.27 merupakan rancangan menu generate jadwal dimana petugas
membuat jadwal perkuliahan yang akan digunakan dalam perkuliahan.
3.6 Rancangan Laporan
Gambar 3.29 Rancangan Menu Laporan
Gambar 3.28 merupakan rancangan menu laporan diamana seluruh
pengguna aplikasi ini bisa melihat laporan-laporan yang telah dibuat oleh petugas,
seperti laporan data dosen dan laporan jadwal perkuliahan.
BAB IV
IMPLEMENTASI SISTEM DAN EVALUASI SISTEM
4.1 Implementasi Sistem
Pada bab ini akan menjelaskan hasil dari Aplikasi Optimasi Penjadwalan
Perkuliahan dengan Metode Algoritma Genetika. Sesuai dengan alanisis-analisis
kebutuhan yang sudah didapatkan, dengan menerapkan teori yang sudah
ditentukan dalam membangun aplikasi dengan Algoritma genetika. Sekaligus
untuk menjelaskan bagaimana system ini berjalan dan digunakan.
Implementasi dari Aplikasi Optimasi Penjadwalan Perkuliahan dengan
Metode Algoritma Genetika terbagi atas Hardware dan Software.
4.1.1 Hardware
Perancangan dan uji coba ini dilakukan dengan menggunakan sebuah
computer portable dengan konfigurasi sebagi berikut:
 Perangkat Leptop Intel Core i3-2370M
 Memory RAM 2 GB
 Hardisk 500 GB
 Sistem operasi Windows 7 Ultimate 32bit
4.1.2 Software
Rancangan perangkat lunak yang digunakan dalam membuat aplikasi ini
adalah menggunakan Microsoft Visual Studio 2010 sebagai sarana bahasa
pemrograman yang berbasi windows, dan SQL Server 2008 R2 sebagai perangkat
lunak sistem database, serta SAP Crystal Report sebagai perangkat lunak untuk
membuat laporan.
51
4.2 Implementasi Aplikasi
4.2.1 Rancangan Tampilan Login
Pada saat aplikasi dibuka, maka tampilan pertama yang muncul adalah
tampilan login. Petugas harus mengisi username dan password untuk masuk ke
menu utama. Di bawah ini adalah tampilan login.
Gambar 4.1 Tampilan Login
4.2.2 Rancangan Tampilan Menu Utama Admin
Setelah login, maka akan muncul tampilan menu utama dan akan muncul
pula status login sebagai administrator. Dalam menu utama sebagai administrator,
admin dapat mengakses semua fitur yang ada di dalam aplikasi. Di bawah ini
adalah tampilan menu utama administrator.
52
Gambar 4.2 Tampilan Menu Utama Administrator
4.2.3 Rancangan Tampilan Menu Utama User
Untuk pengguna / user selain admin, dapat pula mengkases menu utama
yang dikhususkan untuk pengguna / user selain admin. Dalam menu utama
pengguna / user hanya terdapat menu laporan yang dapat diakses, pada menu
laporan tersebut terdapat sub menu seperti laporan jadwal dan laporan data dosen.
Di bawah ini adalah tampilan menu utam pengguna / user.
53
Gambar 4.3 Tampilan Menu Utama User
4.2.4 Rancangan Tampilan Input Data Dosen
Ketika login sebagai admin, dan admin memilih menu Data di menu
utama, maka terdapat pilihan menu lain seperti dosen, mata kuliah, ruang, hari &
jam. Setelah admin memilih menu dosen, maka akan muncul tampilan yang
berfungsi untuk menginput segala informasi tentang dosen. Di bawah ini adalah
tampilan input data dosen.
Gambar 4.4 Tampilan Input Data Dosen
54
4.2.5 Rancangan Tampilan Input Mata Kuliah
Ketika login sebagai admin, dan admin memilih menu Data di menu
utama, maka terdapat pilihan menu lain seperti dosen, mata kuliah, ruang, hari &
jam. Setelah admin memilih menu mata kuliah, maka akan muncul tampilan yang
berfungsi untuk menginput segala informasi tentang mata kuliah. Di bawah ini
adalah tampilan input mata kuliah.
Gambar 4.5 Tampilan Menu Data Mata Kuliah
4.2.6 Rancangan Tampilan Input Data Ruang
Ketika login sebagai admin, dan admin memilih menu Data di menu
utama, maka terdapat pilihan menu lain seperti dosen, mata kuliah, ruang, hari &
jam. Setelah admin memilih menu ruang, maka akan muncul tampilan yang
berfungsi untuk menginput segala informasi tentang ruang yang akan dipakasi
dalam kegiatan perkuliahan. Di bawah ini adalah tampilan input data ruang.
55
Gambar 4.6 Tampilan Menu Data Ruang
4.2.7 Rancangan Tampilan Input Data Hari & Jam
Ketika login sebagai admin, dan admin memilih menu Data di menu
utama, maka terdapat pilihan menu lain seperti dosen, mata kuliah, ruang, hari &
jam. Setelah admin memilih menu hari & jam, maka akan muncul tampilan yang
berfungsi untuk menginput segala informasi tentang hari & jam yang akan
digunakan dalam perkuliahan. Di bawah ini adalah tampilan input data ruang &
jam.
56
Gambar 4.7 Tampilan Menu Data Hari & Jam
4.2.8 Rancangan Tampilan Input Data Pengampu
Ketika login sebagai admin, dan admin memilih menu dosen, maka akan
terdapat pilihan menu lain yaitu pengampu dan kesediaan. Setelah admin memilih
menu pengampu, maka akan muncul tampilan yang berfungsi untuk menginput
segala informasi tentang data dosen dan mata kuliah yang akan diajarkan oleh
dosen yang bersangkuta. Di bawah ini adalah tampilan input data pengampu.
57
Gambar 4.8 Tampilan Menu Data Pengampu
4.2.9 Rancangan Tampilan Input Data Kesediaan
Ketika login sebagai admin, dan admin memilih menu dosen, maka akan
terdapat pilihan menu lain yaitu pengampu dan kesediaan. Setelah admin memilih
menu kesediaan, maka akan muncul tampilan yang berfungsi untuk menginput
segala informasi tentang data kesediaan dosen mengajar dalam waktu 1 minggu.
Di bawah ini adalah tampilan input data kesediaan.
58
Gambar 4.9 Tampilan Menu Data Kesediaan
4.2.10 Rancangan Tampilan Generate Jadwal
Ketika login sebagai admin, dan admin memilih menu jadwal, maka hanya
akan terdapat satu menu, yaitu menu proses. Setelah admin memilih menu proses
maka akan muncul tampilan yang berfungsi untuk membuat jadwal yang akan
digunakan dalam perkuliahan pada satu tahun pelajaran. Di bawah ini adalah
tampilan proses pembuatan jadwal.
Gambar 4.10 Tampilan menu Generate Jadwal
59
4.2.11 Rancangan Tampilan Laporan
Ketika memilih menu laporan, maka akan terdapat pilihan menu lain, yaitu
menu jadwal dan dosen. Setelah memilih salah satu dari menu laporan jadwal atau
dosen, maka akan muncul tampilan yang berfungsi untuk melihat laporan hasil
generate jadwal dan laporan data dosen. Di bawah ini adalah tampilan laporan
jadwal dan dosen.
A. Laporan Jadwal
Gambar 4.11 Tampilan Laporan Jadwal
B. Laporan Data Dosen
Gambar 4.12 Tampilan Laporan Dosen
60
4.3 Sekilas Program
4.3.1 Membangkitkan populasi awal
Adapun proses algortima genetika pertama yang dilakukan adalah
membangkitkan populasi awal. Dimana user dalam bentuk integer dari data
jadwal perkuliahan yang akan diambil dan dibangkitkan secara acak. Berikut
coding untuk membangkitkan populasi awal :
Dim jumkelas As Integer = 10
Dim jumSemester As Integer
Dim arSks(jumkelas) As Integer
Dim arFitness(jumkelas) As Integer
Dim arSemester(jumkelas) As String
Dim ar(10, 40) As String
cmd = New SqlCommand("Select DISTINCT semester FROM TblPengampu ",
koneksi.koneksi)
rd = cmd.ExecuteReader
Dim semester As String
Dim m As Integer
m = 0
While rd.Read()
semester = rd("semester")
arSemester(m) = semester
Console.WriteLine("Semester-" + semester)
cmd2 = New SqlCommand("Select * FROM TblPengampu where semester
='" & semester & "'", koneksi.koneksi)
rd2 = cmd2.ExecuteReader
Dim kode_dosen, kode_mk, kode As String
Dim n As Integer
n = 0
While rd2.Read()
kode_dosen = rd2("kode_dosen")
kode_mk = rd2("kode_mk")
kode = rd2("kode")
Dim js, i As Integer
js = getSks(kode_mk)
For i = 1 To js
'Console.WriteLine(kode)
ar(m, n) = kode_mk
Console.WriteLine(" =[" & ar(m, n) & "]")
n = n + 1
Next i
End While
arSks(m) = n
m = m + 1
End While
jumSemester = m
61
4.3.2 Menghitung nilai fitness
Proses kedua yang dilakukan adalah menghitung nilai fitness dari
setiap individu dengan rumus dan algoritma yang telah ditetapkan dalam
algortima genetika. Berikut coding yang digunakan:
4.3.3 Crossover
Proses ini menyilangkan induk yang telah terseleksi dengan metode
crossover langsung. Metodenya adalah mengacak 2 bilangan r1 dan r2 dengan r1
J = jumlah sks awal yang telah dibangkitkan
Jj = sksmax = jumlah maksimal sks yang akan diolah
Fitness = fitness +1
Keterangan :
Jumlah fitness akan disimpan dalam array dan akan dicetak dalam arFitness(j)
Dim jj, fitness As Integer
For j = 0 To jumSemester - 1
Console.WriteLine("Fitness semester " & arSemester(j) & ":"
& arSks(j))
fitness = 0
For jj = 0 To jumSemester - 1
If Not j = jj Then
Dim sksmax As Integer
sksmax = arSks(jj)
If arSks(j) < arSks(jj) Then
sksmax = arSks(j)
End If
For k = 0 To sksmax - 1
Dim data1 As String = ar(j, k)
Dim data2 As String = ar(jj, k)
Dim ar1() As String = data1.Split(":")
Dim ar2() As String = data2.Split(":")
If data1(0) = data2(0) Then
fitness = fitness + 1
End If
Next k
End If
Next jj
arFitness(j) = fitness
Console.WriteLine("================Sebesar " & arFitness(j))
Next j
M = 0 (populasi semester awal)
N = 0 ( populasi sks awal)
Js = 0 (data sks yang di bangkitkan)
Ar(m,n) = kode mata kuliah yang disimpan dalam array
n = n + 1
m = m + 1
62
adalah batas awal dan r2 adalah batas akhir, yang selanjutnya menukan gen r1
sampai r2 pada record. Berikut coding yang digunakan.
4.3.4 Mutasi
Proses mutasi adalah untuk mencari 2 gen dalam satu record yang dilakukan
secara acak. Kemudian menukar diantar kedua gen tersebut. Berikut coding yang
digunaka :
For j = 0 To jumSemester - 1
Console.WriteLine("Mutasi-SMST " & arSemester(j) & " :" &
arSks(j) & " sks")
For k = 0 To arSks(j) - 1
Dim r1, r2 As Integer
Dim ran As New Random
Dim a As String
r1 = ran.Next(arSks(j) + 1)
r2 = ran.Next(arSks(j) + 1)
a = ar(j, r1)
ar(j, r1) = ar(j, k)
ar(j, k) = a
DgJadwal.Rows.Add()
Console.WriteLine(ar(j, r1))
r1 = acak (jumlah jam)
r2 = acak (jumlah jam)
dummy = anak (m,j,k)
anak (j,k) = anak (j, r1 + (r2-r1))
anak (j, r1 + (r2 – r1)) = dummy
For j = 0 To jumSemester - 1
Console.WriteLine("Cross-SMST " & arSemester(j) & " :" &
arSks(j) & " sks")
For k = 0 To arSks(j) - 1
Dim r1, r2 As Integer
Dim ran As New Random
r1 = ran.Next(arSks(j))
r2 = ran.Next(arSks(j) - r1)
Dim dummy As String
dummy = ar(j, k)
ar(j, k) = ar(j, r1 + (r2 - r1))
ar(j, r1 + (r2 - r1)) = dummy
Console.WriteLine(" :" & ar(j, k))
Next k
Next j
63
4.4 Analisis hasil
Pengujian dilakukan dengan melakukan beberapa percobaan pada aplikasi
untuk membuat jadwal perkuliahan dengan algoritma gentika. Dari percobaan
yang dilakukan untuk pembuatan jadwal, dilakukan 2 kali proses pembuatan.
Berikut hasil yang di peroleh.
Tabel 4.1 Tabel Hasil Proses Pertama
Hari
Kode
Mata
Kuliah
Jam Mata Kuliah Sks
Seme
ster
Dosen Ruang
Senin
DF4140-
01
08:00-
10:30
Knowledge
Management
3 8
Bagus Tri
Mahardika,
MMSI
FT401
Senin
IF1051-
01
08.00-
10.30
Prak. Struktur
Data
3 2
Suzuki Syofian,
M.Kom
FT208
Senin
IF2033-
02
10.30-
12:00
Prak. Basis
Data
1 2
Herianto, S.Pd,
MT
FT305
Senin
IF2051-
01
10.30-
12:00
Statistika 3 2
Bagus Tri
Mahardika,
MMSI
FT402
Senin
IF3242-
01
13:30-
16:00
Mobile
Computing
3 6
Adam Arif
Budiman, ST,
M.Kom
FT403
Senin
DF3182-
01
13:30-
16:00
Prak.
Pemrograman
Visual Lanjut
4 6
Timor
Setiyaningsih,
ST, M.Ti
FT305
Selasa
IF1060-
01
08:00-
10:30
Struktur Data 2 2
Suzuki Syofian,
M.Kom
FT404
Selasa
DF4142-
01
08.00-
10.30
Manajemen
Jaringan
3 4
Herianto, S.Pd,
MT
FT403
Selasa UN2110- 10.30- Monozukuri 3 4 Linda Nur FT404
r1 = acak(jumlah sks)
r2 = acak(jumlah sks)
a = anak(j, r1)
anak(j, r1) = anak (j, k)
anak(j, k) = a
m = m + 1
64
01 10.30 Data M.Kom
Senin
IF2033-
02
10.30-
12:00
Prak. Basis
Data
1 2
Herianto, S.Pd,
MT
FT305
Senin
IF2051-
01
10.30-
12:00
Statistika 3 2
Bagus Tri
Mahardika,
MMSI
FT402
Senin
IF3242-
01
13:30-
16:00
Mobile
Computing
3 6
Adam Arif
Budiman, ST,
M.Kom
FT403
Senin
DF3182-
01
13:30-
16:00
Prak.
Pemrograman
Visual Lanjut
4 6
Timor
Setiyaningsih,
ST, M.Ti
FT305
Selasa
IF1060-
01
08:00-
10:30
Struktur Data 2 2
Suzuki Syofian,
M.Kom
FT404
Selasa
DF4142-
01
08.00-
10.30
Manajemen
Jaringan
3 4
Herianto, S.Pd,
MT
FT403
Selasa
UN2110-
01
10.30-
12:00
Monozukuri 3 4
Linda Nur
Afifa, ST., MT.
FT404
Selasa
IF4052-
01
10.30-
12:00
Komputer dan
Masyarakat
4 4
Bagus Tri
Mahardika,
MMSI
FT403
Selasa
UN1022-
19P-TRL
13:30-
16:00
Bahasa Inggris
II
4 4
Suzuki Syofian,
M.Kom
FT406
Selasa
IF2052-
01
13:30-
16:00
Mikroprosesor
& Bhs. Rakitan
3 4
Timor
Setiyaningsih,
ST, M.Ti
FT405
Rabu
DF3172-
01
08:00-
10:30
Pemrograman
Visual Lanjut
3 6
Timor
Setiyaningsih,
ST, M.Ti
FT403
Rabu
UN1040-
01
08.00-
10.30
PPKN 3 2
Aji Setiawan,
MMSI
FT404
Rabu
IF3081-
01
10.30-
12:00
Interpersonal
Skill
3 6
Herianto, S.Pd,
MT
FT401
Rabu
FT1082-
01
10.30-
12:00
Kalkulus II 3 2
Aji Setiawan,
MMSI
FT402
Rabu
IF2252-
01
13:30-
16:00
Prak.
Pemrograman
Internet
3 2
Herianto, S.Pd,
MT
FT305
Rabu
UN1031-
01P-TRL
13:30-
16:00
Bahasa Jepang
II
3 4
Linda Nur
Afifa, ST., MT.
FT404
Kamis
DF3162-
01
08:00-
10:30
Prak. Sql
Lanjut
2 6
Herianto, S.Pd,
MT
FT306
Kamis
IF3130-
01
08.00-
10.30
Teori Bahasa
dan Automata
3 4
Timor
Setiyaningsih,
ST, M.Ti
FT405
Kamis
IF3023-
01
10.30-
12:00
Arsitektur &
Organisasi
Komputer
3 2
Timor
Setiyaningsih,
ST, M.Ti
FT401
Kamis
DF3152-
01
10.30-
12:00
Sql Lanjut 3 6
Herianto, S.Pd,
MT
FT406
Kamis
IF2090-
01
13:30-
16:00
Interaksi
Manusia &
Komputer
3 4
Bagus Tri
Mahardika,
MMSI
FT406
65
Kamis
IF2053-
01
13:30-
16:00
Prak.
Mikroprosesor
& Bhs. Rakitan
3 4
Timor
Setiyaningsih,
ST, M.Ti
FT305
Jumat
IF3252-
01
08:00-
10:30
Prak. Mobile
Computing
4 6
Adam Arif
Budiman, ST,
M.Kom
FT306
Jumat
IF2242-
01
08.00-
10.30
Pemrograman
Internet
3 2
Herianto, S.Pd,
MT
FT404
Jumat
IF2231-
01
10.30-
12:00
Sistem
Informasi
Enterprise
3 4
Timor
Setiyaningsih,
ST, M.Ti
FT404
Jumat
IF2032-
01
10.30-
12:00
Basis Data 2 2
Adam Arif
Budiman, ST,
M.Kom
FT406
Jumat
UN1032-
08P-TRL
13:30-
16:00
Bahasa Jepang 3 2
Linda Nur
Afifa, ST., MT.
FT404
Jumat
UN1021-
02P-TRL
13:30-
16:00
Bahasa Inggris 2 2
Suzuki Syofian,
M.Kom
FT406
Tabel 4.2 Tabel Hasil Proses Kedua
Hari
Kode
Mata
Kuliah
Jam Mata Kuliah Sks
Semes
ter
Dosen Ruang
Senin
DF4140-
01
08:00-
10:30
Knowledge
Management
3 8
Bagus Tri
Mahardika,
MMSI
FT305
Senin
DF3172-
01
08.00-
10.30
Pemrograman
Visual Lanjut
2 2
Suzuki
Syofian,
M.Kom
FT402
Senin
IF3023-
01
10.30-
12:00
Arsitektur &
Organisasi
Komputer
3 2
Timor
Setiyaningsi
h, ST, M.Ti
FT403
Senin
IF3081-
01
10.30-
12:00
Interpersonal
Skill
2 6
Herianto,
S.Pd, MT
FT401
Senin
DF3182-
01
13:30-
16:00
Prak.
Pemrograman
Visual Lanjut
1 6
Timor
Setiyaningsi
h, ST, M.Ti
FT305
Senin
IF1051-
01
13:30-
16:00
Prak. Struktur
Data
1 2
Suzuki
Syofian,
M.Kom
FT208
Selasa
IF2052-
01
08:00-
10:30
Mikroprosesor
& Bhs. Rakitan
3 4
Timor
Setiyaningsi
h, ST, M.Ti
FT403
Selasa
IF4052-
01
08.00-
10.30
Komputer dan
Masyarakat
2 4
Bagus Tri
Mahardika,
MMSI
FT404
Selasa IF2053- 10.30- Prak. 1 4 Timor FT306
66
01 12:00 Mikroprosesor
& Bhs. Rakitan
Setiyaningsi
h, ST, M.Ti
Selasa
DF4142-
01
10.30-
12:00
Manajemen
Jaringan
3 4
Herianto,
S.Pd, MT
FT404
Selasa
IF3242-
01
13:30-
16:00
Mobile
Computing
2 6
Adam Arif
Budiman,
ST, M.Kom
FT401
Selasa
UN2110-
01
13:30-
16:00
Monozukuri 2 4
Linda Nur
Afifa, ST.,
MT.
FT402
Rabu
IF2252-
01
08:00-
10:30
Prak.
Pemrograman
Internet
1 2
Herianto,
S.Pd, MT
FT305
Rabu
UN1032-
08P-TRL
08.00-
10.30
Bahasa Jepang 2 2
Linda Nur
Afifa, ST.,
MT.
FT405
Rabu
DF3152-
01
10.30-
12:00
Sql Lanjut 2 6
Herianto,
S.Pd, MT
FT401
Rabu
IF1060-
01
10.30-
12:00
Struktur Data 2 2
Suzuki
Syofian,
M.Kom
FT406
Rabu
UN1040-
01
13:30-
16:00
PPKN 3 2
Aji
Setiawan,
MMSI
FT406
Rabu
DF3162-
01
13:30-
16:00
Prak. Sql
Lanjut
1 6
Herianto,
S.Pd, MT
FT305
Kamis
IF3130-
01
08:00-
10:30
Teori Bahasa
dan Automata
3 4
Timor
Setiyaningsi
h, ST, M.Ti
FT404
Kamis
IF3252-
01
08.00-
10.30
Prak. Mobile
Computing
1 6
Adam Arif
Budiman,
ST, M.Kom
FT306
Kamis
FT1082-
01
10.30-
12:00
Kalkulus II 3 2
Aji
Setiawan,
MMSI
FT405
Kamis
IF2090-
01
10.30-
12:00
Interaksi
Manusia &
Komputer
3 4
Bagus Tri
Mahardika,
MMSI
FT406
Kamis
IF2033-
02
13:30-
16:00
Prak. Basis
Data
1 2
Herianto,
S.Pd, MT
FT305
Kamis
IF2231-
01
13:30-
16:00
Sistem
Informasi
Enterprise
3 4
Timor
Setiyaningsi
h, ST, M.Ti
FT401
Jumat
IF2242-
01
08:00-
10:30
Pemrograman
Internet
2 2
Herianto,
S.Pd, MT
FT402
Jumat
UN1022-
19P-TRL
08.00-
10.30
Bahasa Inggris
II
2 4
Suzuki
Syofian,
M.Kom
FT404
67
Jumat
UN1021-
02P-TRL
10.30-
12:00
Bahasa Inggris 2 2
Suzuki
Syofian,
M.Kom
FT404
Jumat
IF2032-
01
10.30-
12:00
Basis Data 2 2
Adam Arif
Budiman,
ST, M.Kom
FT406
Jumat
UN1031-
01P-TRL
13:30-
16:00
Bahasa Jepang
II
2 4
Linda Nur
Afifa, ST.,
MT.
FT404
Jumat
IF2051-
01
13:30-
16:00
Statistika 3 2
Bagus Tri
Mahardika,
MMSI
FT406
4.5 Evaluasi system
Setelah dipersentesikan kepada Ketua Jurusan Teknik Informatika dan 3
orang responden, maka dilakukan beberapa evaluasi. Banyak yang memberi
masukan yang merupakan suatu tahap yang penting untuk aplikasi yang telah
dibuat, yaitu:
1. Data mata kuliah agar ditambahkan lagi
2. Menu proses agar lebih ditata
3. Istilah dibuat lebih sederhana
4.4.1. Evaluasi Per Modul Aplikasi
Tabel 4.3 Tabel Hasil Pengujian Per Modul Aplikasi
No Nama Modul Hasil
1. Form login Berjalan
68
2. Form input data dosen Berjalan
3. Form input data mata kuliah Berjalan
4. Form lihat data ruang Berjalan
5. Form input jam & hari Berjalan
6. Form input dosen pengampu Berjalan
7. Form input ketidaksediaan dosen Berjalan
8. Form prosses generate jadwal Berjalan
9. Laporan jadwal kuliah Berjalan
10. Laporan data dosen Berjalan
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil analisa yang telah dilakuka pada bab sebelumnya, dapat diambil
beberapa poin kesimpulan sebagai berikut :
1. Algoritma genetika dapat digunakan untuk mengoptimalkan penyusunan
jadwal perkuliahan di jurusan Teknik Informatika Universitas Darma Persada.
2. Dalam mengoptimalkan penyusunan jadwal perkuliahan diperlukan empat
parameter antara lain jumlah populasi, jumlah generasi, crossover dan mutasi.
Besar kecilnya masing-masing parameter sangat mempengaruhi jadwal
perkuliahan yang dihasilkan. Semakin besar nilai parameternya maka semakin
baik pula nilai fitness yang dihasilkan atau jadwal perkuliahan yang dihasilkan
semakin optimal.
3. Kelebihan dari metode algoritma genetika adalah terletak pada pendefinisian
fitness yang beragam dan dapat ditambah dengan syarat-syarat yang diinginkan
sebagai tambahan fungsi fitness.
70
5.2 Saran
Untuk pengembangan sistem yang dibuat, maka diperlukan saran yang
dapat membantu proses tersebut, diantaranya adalah :
1. Data yang dikumpulkan untuk membuat jadwal perkuliahan agar ditambah
lagi. Agar ketika membuat jadwal yang lebih kompleks, hasil yang di dapat
lebih optimal.
2. Metode yang telah digunakan dapat diaplikasikan untuk permasalahan
penjadwalan lainnya, seperti penjadwalan perkuliahan dengan data yang jauh
lebih kompleks dengan batasan masalah yang jauh lebih kompleks seperti
jadwal penerbangan pesawat.
Daftar Pustaka
Desiani, A. dan Arhami, M. 2006. “Konsep Kecerdasan Buatan”. Yogyakarta :
Andi.
Gen, Mitsuo dan Runwei Cheng. 1997 “Genetic Algoritm and Engineering
Design”. New York : John Wiley & Sons Inc.
Goldberg, D.E. 1989 . “Genetik Algorithms In Search, Optimization And Machine
Learning”. New York: Addison-Wesley Publishing.
Kusumadewi, S. 2003. “Artificial Intelligence (Teknik dan Aplikasinya)”.
Yogyakarta: Graha Ilmu.
Kusumadewi, S., dan Purnomo, H. 2005. “Penyelesaian Masalah Optimasi
Dengan Teknik-Teknik Heuristik”. Yogyakarta : Graha Ilmu.
Munawar. 2005. “Pemodelan Visual Menggunakan UML”. Yogyakarta : Graha
Ilmu.
Nugroho Adi. 2005. “Rational Rose Untuk Pemodelan Berorientasi Objek”.
Bandung : Informatika.
Prayudi, Budi, Eri Mardiani, & Nur Rahmansyah. 2012. “Aplikasi Penjualan
Menggunakan VB.NET”. Jakarta : PT Elex Media Komputindo
Risky, Soetam. 2008. “Panduan Belajar SQL Server 2005 Express Edition”.
Surabaya : Prestasi Pustaka.
Whitten, J.L. & Bentley, L.D. 2004. “System Analysis & Design Methods: Sixth
Edition”. New York: Mc.Graw-Hill.
Lampiran Coding
1. Modul Koneksi
Imports System.Data
Imports System.Data.SqlClient
Imports System.Security.SecurityException
Module koneksi
Public da As SqlDataAdapter
Public ds As DataSet
Public cmd As SqlCommand
Public cmd2 As SqlCommand
Public rd2 As SqlDataReader
Public rd As SqlDataReader
Public cmd3 As SqlCommand
Public rd3 As SqlDataReader
Public str As String
Public Function koneksi() As SqlConnection
Dim supernothing As New SqlConnection
supernothing = New SqlConnection("server=UZY-
PCSQLEXPRESS; database=Penjadwalan;
Connect Timeout=200; pooling='true'; Max Pool
Size=200; trusted_Connection=true")
supernothing.Open()
Return (supernothing)
End Function
End Module
2. Form Login
Imports System.Data.Sql
Imports System.Data.SqlClient
Public Class FrmLogin
Dim koneksi As SqlConnection
Dim Sql, username, password As String
Dim cmd As SqlCommand
Sub kosongkan()
TxtUser.Text = ""
TxtPass.Text = ""
End Sub
Private Sub BtnExit_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles BtnExit.Click
End
End Sub
Private Sub FormLogin_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Dim strKoneksi As String
strKoneksi = "Data Source=UZY-
PCSQLEXPRESS;Initial
Catalog=Penjadwalan;Integrated Security=True"
koneksi = New SqlConnection(strKoneksi)
Try
koneksi.Open()
Catch ex As Exception
End Try
End Sub
Private Sub BtnBatal_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles BtnBatal.Click
Call kosongkan()
End Sub
Private Sub BtnLogin_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles BtnLogin.Click
If TxtUser.Text = "" Or TxtPass.Text = "" Then
MsgBox("Masukan username dan password!!!")
Else
username = TxtUser.Text
password = TxtPass.Text
Sql = "select * from TblLogin where Username='"
+ username + "'and Password='" + password + "'"
cmd = New SqlCommand(Sql, koneksi)
rd = cmd.ExecuteReader()
rd.Read()
If rd.HasRows = True Then
MsgBox("Anda Berhasil Login!")
Me.Visible = False
Home.Show()
Home.TsUser.Text = rd.GetString(1)
Home.TsLevel.Text = rd.GetString(3)
Home.DataToolStripMenuItem.Enabled = True
Home.DosenToolStripMenuItem1.Enabled = True
Home.JadwalToolStripMenuItem.Enabled = True
Home.LoginToolStripMenuItem.Visible = False
Home.LogoutToolStripMenuItem.Visible = True
rd.Close()
Else
MessageBox.Show("Data Yang Anda Masukkan
Salah")
Call kosongkan()
rd.Close()
End If
End If
TxtUser.Focus()
Call kosongkan()
End Sub
End Class
3. Form Dosen
Imports System.Data
Imports System.Data.SqlClient
Public Class FrmDosen
Sub tampilcari()
Dim ds As New DataSet
Dim da As New SqlDataAdapter("Select *
from TblDosen where nidn like '%" & TxtCari.Text
& "%' or nama like '%" & TxtCari.Text & "%' ",
koneksi.koneksi)
da.Fill(ds, "TblDosen")
DGDosen.DataSource =
ds.Tables("TblDosen")
DGDosen.ReadOnly = True
Try
Koneksi.koneksi.Open()
Catch ex As Exception
End Try
End Sub
Sub cari()
If TxtCari.Text = "" Then
TxtCari.Focus()
rd = cmd.ExecuteReader
If rd.Read() Then
TxtCari.Focus()
Return
rd.Close()
End If
Else
cmd = New SqlCommand("Select * from
TblDosen where nidn like '%" & TxtCari.Text &
"%' or nama like '%" & TxtCari.Text & "%' ",
koneksi.koneksi)
rd = cmd.ExecuteReader
rd.Read()
Call tampilcari()
rd.Close()
End If
End Sub
Sub Kosongkan()
TxtNidn.Text = ""
TxtNama.Text = ""
TxtAlamat.Text = ""
TxtTelepon.Text = ""
TxtCari.Text = ""
TxtNidn.Focus()
End Sub
Sub batal()
TxtNidn.Enabled = False
TxtNama.Enabled = False
TxtAlamat.Enabled = False
TxtTelepon.Enabled = False
BtnTambah.Enabled = True
BtnHapus.Enabled = True
BtnEdit.Enabled = True
BtnSimpan.Enabled = False
BtnUpdate.Visible = False
TxtNidn.Focus()
Call Kosongkan()
End Sub
Sub Tampilkan()
Dim ds As New DataSet
Dim da As New SqlDataAdapter("Select *
from TblDosen ORDER by kode ASC",
koneksi.koneksi)
da.Fill(ds, "TblDosen")
DGDosen.DataSource =
ds.Tables("TblDosen")
DGDosen.ReadOnly = True
Try
Koneksi.koneksi.Open()
Catch ex As Exception
End Try
End Sub
Private Sub FormAnggota_Load(ByVal sender
As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Call koneksi.koneksi()
Call batal()
Call Tampilkan()
End Sub
Private Sub BtnTutup_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles BtnTutup.Click
Call Kosongkan()
Me.Close()
End Sub
Private Sub TxtNomor_KeyPress(ByVal sender
As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs)
Handles TxtNidn.KeyPress
If (InStr("0123456789", e.KeyChar) = 0) And
(e.KeyChar <> Chr(8)) Then
e.KeyChar = Chr(0)
MsgBox("Masukan Angka Saja!!!")
End If
End Sub
Private Sub TxtNama_KeyPress(ByVal sender
As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs)
Handles TxtNama.KeyPress
If e.KeyChar = Chr(50) Then
TxtNama.Text = UCase(TxtNama.Text)
TxtNidn.Focus()
End If
End Sub
Private Sub TxtTelepon_KeyPress(ByVal sender
As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs)
Handles TxtTelepon.KeyPress
If e.KeyChar = Chr(13) Then
BtnSimpan.Focus()
If Not ((e.KeyChar >= "0" And e.KeyChar <=
"9") Or e.KeyChar = vbBack) Then e.Handled() =
True
End Sub
Private Sub BtnSimpan_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles BtnSimpan.Click
If TxtNidn.Text = "" Or TxtNama.Text = "" Or
TxtAlamat.Text = "" Or TxtTelepon.Text = "" Then
MsgBox("Data Belum Lengkap")
Exit Sub
Else
cmd = New SqlCommand("Select * from
TblDosen where nidn='" & TxtNidn.Text & "'",
koneksi.koneksi)
rd = cmd.ExecuteReader
rd.Read()
If Not rd.HasRows Then
MsgBox("Dosen Berhasil di Tambah!!!")
Dim sqltambah As String = "Insert into
TblDosen(nidn,nama,alamat,telp) values " & _
"('" & TxtNidn.Text & "','" &
TxtNama.Text & "','" & TxtAlamat.Text & "','" &
TxtTelepon.Text & "')"
cmd = New SqlCommand(sqltambah,
Koneksi.koneksi)
cmd.ExecuteNonQuery()
Call batal()
Call Tampilkan()
Else
MsgBox("Id Telah Terdaftar, coba
lagi!!!")
Call Kosongkan()
Call Tampilkan()
End If
End If
End Sub
Private Sub BtnBatal_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles BtnBatal.Click
Call batal()
End Sub
Private Sub BtnHapus_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles BtnHapus.Click
If TxtNidn.Text = "" Then
MsgBox("Pilih Dosen Terlebih Dahulu")
TxtNidn.Focus()
Exit Sub
Else
If MessageBox.Show("Yakin akan
dihapus..?", "", MessageBoxButtons.YesNo) =
Windows.Forms.DialogResult.Yes Then
cmd = New SqlCommand("Delete from
TblDosen where nidn='" & TxtNidn.Text & "'",
koneksi.koneksi)
cmd.ExecuteReader()
Call batal()
Call Tampilkan()
Else
Call Kosongkan()
End If
End If
End Sub
Private Sub
DGAnggota_CellContentClick(ByVal sender As
System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventA
rgs) Handles DGDosen.CellContentClick
Dim i As Integer
i = DGDosen.CurrentRow.Index
With DGDosen.Rows.Item(i)
txtid.Text = .Cells(0).Value
TxtNidn.Text = .Cells(1).Value
TxtNama.Text = .Cells(2).Value
TxtTelepon.Text = .Cells(4).Value
TxtAlamat.Text = .Cells(3).Value
End With
End Sub
Private Sub BtnUpdate_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles BtnUpdate.Click
If TxtNidn.Text = "" Then
MsgBox("Pilih Dosen Terlebih Dahulu")
End If
Dim sqledit As String = "Update TblDosen set
" & _
"nidn='" & TxtNidn.Text & "', " & _
"nama='" & TxtNama.Text & "', " & _
"alamat='" & TxtAlamat.Text & "', " & _
"telp='" & TxtTelepon.Text & "' where
kode='" & txtid.Text & "'"
cmd = New SqlCommand(sqledit,
Koneksi.koneksi)
cmd.ExecuteNonQuery()
MsgBox("Data Berhasil di Ubah")
Call Tampilkan()
Call batal()
End Sub
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles BtnTambah.Click
TxtNidn.Enabled = True
TxtNama.Enabled = True
TxtAlamat.Enabled = True
TxtTelepon.Enabled = True
BtnSimpan.Enabled = True
BtnBatal.Enabled = True
BtnTambah.Enabled = False
BtnEdit.Enabled = False
BtnHapus.Enabled = False
TxtNidn.Focus()
End Sub
Private Sub BtnEdit_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles BtnEdit.Click
If TxtNidn.Text = "" Then
MsgBox("Pilih Dosen Terlebih Dahulu")
Else
TxtNidn.Enabled = True
TxtNama.Enabled = True
TxtAlamat.Enabled = True
TxtTelepon.Enabled = True
BtnTambah.Enabled = False
BtnHapus.Enabled = False
BtnBatal.Enabled = True
BtnSimpan.Enabled = False
BtnUpdate.Visible = True
End If
End Sub
Private Sub TxtCari_TextChanged(ByVal sender
As System.Object, ByVal e As System.EventArgs)
Handles TxtCari.TextChanged
Call cari()
Call tampilcari()
End Sub
Private Sub Btnapa_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles Btnapa.Click
MsgBox("Masukan NIDN atau Nama
Dosen!")
End Sub
End Class
4.

More Related Content

What's hot

Analisis Kebutuhan Sistem Informasi
Analisis Kebutuhan Sistem InformasiAnalisis Kebutuhan Sistem Informasi
Analisis Kebutuhan Sistem Informasi
Universitas Teknokrat Indonesia
 
Manajemen ruang-lingkup-proyek
Manajemen ruang-lingkup-proyekManajemen ruang-lingkup-proyek
Manajemen ruang-lingkup-proyek
Fajar Baskoro
 
Interaksi manusia dan komputer
Interaksi manusia dan komputerInteraksi manusia dan komputer
Interaksi manusia dan komputer
Miftahul Khair N
 
Laporan Konfigurasi Dasar Mikrotik
Laporan Konfigurasi Dasar MikrotikLaporan Konfigurasi Dasar Mikrotik
Laporan Konfigurasi Dasar Mikrotik
Rumah IT Jambi
 
Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...
Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...
Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...
naufals11
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
Uofa_Unsada
 
Laporan Makalah Pembuatan Website E-Commerce-Basis Data
Laporan Makalah Pembuatan Website E-Commerce-Basis DataLaporan Makalah Pembuatan Website E-Commerce-Basis Data
Laporan Makalah Pembuatan Website E-Commerce-Basis Data
Shofura Kamal
 
Kelompok 2 it forensik
Kelompok 2 it forensikKelompok 2 it forensik
Kelompok 2 it forensik
FarhanYazid6
 
Erd dan contoh kasus
Erd dan contoh kasusErd dan contoh kasus
Erd dan contoh kasus
haniputriheryanti26
 
Artikel teknologi informasi-dan-komunikasi
Artikel teknologi informasi-dan-komunikasiArtikel teknologi informasi-dan-komunikasi
Artikel teknologi informasi-dan-komunikasiAlexs Ys
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
Kelinci Coklat
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMK
Miftahul Muttaqin
 
Keamanan Komputer
Keamanan KomputerKeamanan Komputer
Kode etik profesi it
Kode etik profesi itKode etik profesi it
Kode etik profesi it
Bayu Aji Kusuma
 
Makalah pemrograman c++ yang revisi
Makalah pemrograman c++ yang revisiMakalah pemrograman c++ yang revisi
Makalah pemrograman c++ yang revisi
JoshuaMadewa
 
Proses Bisnis Aplikasi Perusahaan
Proses Bisnis Aplikasi PerusahaanProses Bisnis Aplikasi Perusahaan
Proses Bisnis Aplikasi PerusahaanTrivinaa Santoso
 
Soal dan jawaban kuis komputer dan masyarakat
Soal dan jawaban kuis komputer dan masyarakatSoal dan jawaban kuis komputer dan masyarakat
Soal dan jawaban kuis komputer dan masyarakat
Bay Setiyyow
 
Contoh Laporan Prakerin TKJ (Teknik Komputer Jaringan)
Contoh Laporan Prakerin TKJ (Teknik Komputer Jaringan)Contoh Laporan Prakerin TKJ (Teknik Komputer Jaringan)
Contoh Laporan Prakerin TKJ (Teknik Komputer Jaringan)
Charis Fitriyanto
 
MultiProgramming and Time Sharing
MultiProgramming and Time SharingMultiProgramming and Time Sharing
MultiProgramming and Time Sharing
Tri Sugihartono
 

What's hot (20)

Analisis Kebutuhan Sistem Informasi
Analisis Kebutuhan Sistem InformasiAnalisis Kebutuhan Sistem Informasi
Analisis Kebutuhan Sistem Informasi
 
Manajemen ruang-lingkup-proyek
Manajemen ruang-lingkup-proyekManajemen ruang-lingkup-proyek
Manajemen ruang-lingkup-proyek
 
Interaksi manusia dan komputer
Interaksi manusia dan komputerInteraksi manusia dan komputer
Interaksi manusia dan komputer
 
Laporan Konfigurasi Dasar Mikrotik
Laporan Konfigurasi Dasar MikrotikLaporan Konfigurasi Dasar Mikrotik
Laporan Konfigurasi Dasar Mikrotik
 
Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...
Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...
Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
 
Laporan Makalah Pembuatan Website E-Commerce-Basis Data
Laporan Makalah Pembuatan Website E-Commerce-Basis DataLaporan Makalah Pembuatan Website E-Commerce-Basis Data
Laporan Makalah Pembuatan Website E-Commerce-Basis Data
 
Kelompok 2 it forensik
Kelompok 2 it forensikKelompok 2 it forensik
Kelompok 2 it forensik
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Erd dan contoh kasus
Erd dan contoh kasusErd dan contoh kasus
Erd dan contoh kasus
 
Artikel teknologi informasi-dan-komunikasi
Artikel teknologi informasi-dan-komunikasiArtikel teknologi informasi-dan-komunikasi
Artikel teknologi informasi-dan-komunikasi
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMK
 
Keamanan Komputer
Keamanan KomputerKeamanan Komputer
Keamanan Komputer
 
Kode etik profesi it
Kode etik profesi itKode etik profesi it
Kode etik profesi it
 
Makalah pemrograman c++ yang revisi
Makalah pemrograman c++ yang revisiMakalah pemrograman c++ yang revisi
Makalah pemrograman c++ yang revisi
 
Proses Bisnis Aplikasi Perusahaan
Proses Bisnis Aplikasi PerusahaanProses Bisnis Aplikasi Perusahaan
Proses Bisnis Aplikasi Perusahaan
 
Soal dan jawaban kuis komputer dan masyarakat
Soal dan jawaban kuis komputer dan masyarakatSoal dan jawaban kuis komputer dan masyarakat
Soal dan jawaban kuis komputer dan masyarakat
 
Contoh Laporan Prakerin TKJ (Teknik Komputer Jaringan)
Contoh Laporan Prakerin TKJ (Teknik Komputer Jaringan)Contoh Laporan Prakerin TKJ (Teknik Komputer Jaringan)
Contoh Laporan Prakerin TKJ (Teknik Komputer Jaringan)
 
MultiProgramming and Time Sharing
MultiProgramming and Time SharingMultiProgramming and Time Sharing
MultiProgramming and Time Sharing
 

Similar to OPTIMASI PENJADWALAN MATA KULIAH DENGAN MENGGUNAKAN ALGORITMA GENETIKA (STUDI KASUS : PROGRAM STUDI TEKNIK INFORMATIKA) (UNIVERSITAS DARMA PERSADA)

Contoh lpj
Contoh lpjContoh lpj
Contoh lpj
Roqyal RA
 
186587270 tesis-sistem-pendukung-keputusan
186587270 tesis-sistem-pendukung-keputusan186587270 tesis-sistem-pendukung-keputusan
186587270 tesis-sistem-pendukung-keputusan
Abdul Gumbs
 
e-learning berbasis web menggunakan cms open source
e-learning berbasis web menggunakan cms open sourcee-learning berbasis web menggunakan cms open source
e-learning berbasis web menggunakan cms open source
lamone41
 
PENGEMBANGAN APLIKASI SISTEM PENDUKUNG PENGISIAN DATA BORANG 3A BAN-PT 2013
PENGEMBANGAN APLIKASI SISTEM PENDUKUNG PENGISIAN DATA BORANG 3A BAN-PT 2013PENGEMBANGAN APLIKASI SISTEM PENDUKUNG PENGISIAN DATA BORANG 3A BAN-PT 2013
PENGEMBANGAN APLIKASI SISTEM PENDUKUNG PENGISIAN DATA BORANG 3A BAN-PT 2013
Uofa_Unsada
 
2010 1-00485-mtif cover
2010 1-00485-mtif cover2010 1-00485-mtif cover
2010 1-00485-mtif coverVa Kim Hyun
 
PENERAPAN ALGORITMA APRIORI DALAM MENEMUKAN HUBUNGAN DATA AWAL MASUK DENGAN D...
PENERAPAN ALGORITMA APRIORI DALAM MENEMUKAN HUBUNGAN DATA AWAL MASUK DENGAN D...PENERAPAN ALGORITMA APRIORI DALAM MENEMUKAN HUBUNGAN DATA AWAL MASUK DENGAN D...
PENERAPAN ALGORITMA APRIORI DALAM MENEMUKAN HUBUNGAN DATA AWAL MASUK DENGAN D...
Uofa_Unsada
 
Analisis sistem informasi akademik online
Analisis sistem informasi akademik onlineAnalisis sistem informasi akademik online
Analisis sistem informasi akademik online
ukhti ziyah
 
OTOMATISASI UNTUK MENGETAHUI KELAYAKAN SIMPAN PINJAM
OTOMATISASI UNTUK MENGETAHUI KELAYAKAN SIMPAN PINJAMOTOMATISASI UNTUK MENGETAHUI KELAYAKAN SIMPAN PINJAM
OTOMATISASI UNTUK MENGETAHUI KELAYAKAN SIMPAN PINJAM
Uofa_Unsada
 
5302411032-S.pdf
5302411032-S.pdf5302411032-S.pdf
5302411032-S.pdf
apalahu3
 
Daftai Isi dan Potrait Landscape
Daftai Isi dan Potrait LandscapeDaftai Isi dan Potrait Landscape
Daftai Isi dan Potrait Landscape
200906
 
61511306200908101
6151130620090810161511306200908101
61511306200908101
Randy Marcellino
 
Panduan Praktis SMK Fullday
Panduan Praktis SMK FulldayPanduan Praktis SMK Fullday
Panduan Praktis SMK Fullday
Pristiadi Utomo
 
SISTEM PAKAR DIAGNOSA AWAL PENYAKIT JANTUNG MENGGUNAKAN METODE TSUKAMOTO DAN ...
SISTEM PAKAR DIAGNOSA AWAL PENYAKIT JANTUNG MENGGUNAKAN METODE TSUKAMOTO DAN ...SISTEM PAKAR DIAGNOSA AWAL PENYAKIT JANTUNG MENGGUNAKAN METODE TSUKAMOTO DAN ...
SISTEM PAKAR DIAGNOSA AWAL PENYAKIT JANTUNG MENGGUNAKAN METODE TSUKAMOTO DAN ...
Uofa_Unsada
 
Bab i, v, daftar pustaka
Bab i, v, daftar pustakaBab i, v, daftar pustaka
Bab i, v, daftar pustaka
irwanza
 
Metode penelitian HMKK 538
Metode penelitian HMKK 538Metode penelitian HMKK 538
Metode penelitian HMKK 538
wira nata
 
Metode penelitian HMKK 538
Metode penelitian HMKK 538Metode penelitian HMKK 538
Metode penelitian HMKK 538
wira nata
 
161862608201010101
161862608201010101161862608201010101
161862608201010101
Jhon P S
 
Buku panduan tugas ppk edisi 3 kompilasi
Buku panduan tugas ppk edisi 3 kompilasiBuku panduan tugas ppk edisi 3 kompilasi
Buku panduan tugas ppk edisi 3 kompilasi
adhapr
 

Similar to OPTIMASI PENJADWALAN MATA KULIAH DENGAN MENGGUNAKAN ALGORITMA GENETIKA (STUDI KASUS : PROGRAM STUDI TEKNIK INFORMATIKA) (UNIVERSITAS DARMA PERSADA) (20)

Contoh lpj
Contoh lpjContoh lpj
Contoh lpj
 
186587270 tesis-sistem-pendukung-keputusan
186587270 tesis-sistem-pendukung-keputusan186587270 tesis-sistem-pendukung-keputusan
186587270 tesis-sistem-pendukung-keputusan
 
e-learning berbasis web menggunakan cms open source
e-learning berbasis web menggunakan cms open sourcee-learning berbasis web menggunakan cms open source
e-learning berbasis web menggunakan cms open source
 
PENGEMBANGAN APLIKASI SISTEM PENDUKUNG PENGISIAN DATA BORANG 3A BAN-PT 2013
PENGEMBANGAN APLIKASI SISTEM PENDUKUNG PENGISIAN DATA BORANG 3A BAN-PT 2013PENGEMBANGAN APLIKASI SISTEM PENDUKUNG PENGISIAN DATA BORANG 3A BAN-PT 2013
PENGEMBANGAN APLIKASI SISTEM PENDUKUNG PENGISIAN DATA BORANG 3A BAN-PT 2013
 
2010 1-00485-mtif cover
2010 1-00485-mtif cover2010 1-00485-mtif cover
2010 1-00485-mtif cover
 
PENERAPAN ALGORITMA APRIORI DALAM MENEMUKAN HUBUNGAN DATA AWAL MASUK DENGAN D...
PENERAPAN ALGORITMA APRIORI DALAM MENEMUKAN HUBUNGAN DATA AWAL MASUK DENGAN D...PENERAPAN ALGORITMA APRIORI DALAM MENEMUKAN HUBUNGAN DATA AWAL MASUK DENGAN D...
PENERAPAN ALGORITMA APRIORI DALAM MENEMUKAN HUBUNGAN DATA AWAL MASUK DENGAN D...
 
Analisis sistem informasi akademik online
Analisis sistem informasi akademik onlineAnalisis sistem informasi akademik online
Analisis sistem informasi akademik online
 
OTOMATISASI UNTUK MENGETAHUI KELAYAKAN SIMPAN PINJAM
OTOMATISASI UNTUK MENGETAHUI KELAYAKAN SIMPAN PINJAMOTOMATISASI UNTUK MENGETAHUI KELAYAKAN SIMPAN PINJAM
OTOMATISASI UNTUK MENGETAHUI KELAYAKAN SIMPAN PINJAM
 
5302411032-S.pdf
5302411032-S.pdf5302411032-S.pdf
5302411032-S.pdf
 
Contoh data mining
Contoh data miningContoh data mining
Contoh data mining
 
Daftai Isi dan Potrait Landscape
Daftai Isi dan Potrait LandscapeDaftai Isi dan Potrait Landscape
Daftai Isi dan Potrait Landscape
 
61511306200908101
6151130620090810161511306200908101
61511306200908101
 
Panduan Praktis SMK Fullday
Panduan Praktis SMK FulldayPanduan Praktis SMK Fullday
Panduan Praktis SMK Fullday
 
SISTEM PAKAR DIAGNOSA AWAL PENYAKIT JANTUNG MENGGUNAKAN METODE TSUKAMOTO DAN ...
SISTEM PAKAR DIAGNOSA AWAL PENYAKIT JANTUNG MENGGUNAKAN METODE TSUKAMOTO DAN ...SISTEM PAKAR DIAGNOSA AWAL PENYAKIT JANTUNG MENGGUNAKAN METODE TSUKAMOTO DAN ...
SISTEM PAKAR DIAGNOSA AWAL PENYAKIT JANTUNG MENGGUNAKAN METODE TSUKAMOTO DAN ...
 
Bab i, v, daftar pustaka
Bab i, v, daftar pustakaBab i, v, daftar pustaka
Bab i, v, daftar pustaka
 
Metode penelitian HMKK 538
Metode penelitian HMKK 538Metode penelitian HMKK 538
Metode penelitian HMKK 538
 
Metode penelitian HMKK 538
Metode penelitian HMKK 538Metode penelitian HMKK 538
Metode penelitian HMKK 538
 
161862608201010101
161862608201010101161862608201010101
161862608201010101
 
Buku panduan tugas ppk edisi 3 kompilasi
Buku panduan tugas ppk edisi 3 kompilasiBuku panduan tugas ppk edisi 3 kompilasi
Buku panduan tugas ppk edisi 3 kompilasi
 
Tugas kompeng
Tugas kompengTugas kompeng
Tugas kompeng
 

More from Uofa_Unsada

PENERAPAN NOTIFIKASI ANDROID UNTUK MEMBANTU PENYEBARAN INFORMASI DAN KOMUNIKA...
PENERAPAN NOTIFIKASI ANDROID UNTUK MEMBANTU PENYEBARAN INFORMASI DAN KOMUNIKA...PENERAPAN NOTIFIKASI ANDROID UNTUK MEMBANTU PENYEBARAN INFORMASI DAN KOMUNIKA...
PENERAPAN NOTIFIKASI ANDROID UNTUK MEMBANTU PENYEBARAN INFORMASI DAN KOMUNIKA...
Uofa_Unsada
 
APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...
APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...
APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...
Uofa_Unsada
 
IMPLEMENTASI SINKRONISASI DATABASE MENGGUNAKAN SQL DAN VALIDASI DATA BERDASAR...
IMPLEMENTASI SINKRONISASI DATABASE MENGGUNAKAN SQL DAN VALIDASI DATA BERDASAR...IMPLEMENTASI SINKRONISASI DATABASE MENGGUNAKAN SQL DAN VALIDASI DATA BERDASAR...
IMPLEMENTASI SINKRONISASI DATABASE MENGGUNAKAN SQL DAN VALIDASI DATA BERDASAR...
Uofa_Unsada
 
MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...
MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...
MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...
Uofa_Unsada
 
APLIKASI PENILAIAN KINERJA KARYAWAN MENGGUNAKAN METODE SMART BERBASIS WEB STU...
APLIKASI PENILAIAN KINERJA KARYAWAN MENGGUNAKAN METODE SMART BERBASIS WEB STU...APLIKASI PENILAIAN KINERJA KARYAWAN MENGGUNAKAN METODE SMART BERBASIS WEB STU...
APLIKASI PENILAIAN KINERJA KARYAWAN MENGGUNAKAN METODE SMART BERBASIS WEB STU...
Uofa_Unsada
 
PERANCANGAN DAN PEMBUATAN APLIKASI DATAMINING BERBASIS WEB MENGGUNAKAN ALGORI...
PERANCANGAN DAN PEMBUATAN APLIKASI DATAMINING BERBASIS WEB MENGGUNAKAN ALGORI...PERANCANGAN DAN PEMBUATAN APLIKASI DATAMINING BERBASIS WEB MENGGUNAKAN ALGORI...
PERANCANGAN DAN PEMBUATAN APLIKASI DATAMINING BERBASIS WEB MENGGUNAKAN ALGORI...
Uofa_Unsada
 
ANALISA MONITORING KESEHATAN KARYAWAN BERBASIS WEB
ANALISA MONITORING KESEHATAN KARYAWAN BERBASIS WEBANALISA MONITORING KESEHATAN KARYAWAN BERBASIS WEB
ANALISA MONITORING KESEHATAN KARYAWAN BERBASIS WEB
Uofa_Unsada
 
PERANCANGAN SISTEM MONITORING SUHU MENGGUNAKAN RASPBERRY PI BERBASIS WEB DAN ...
PERANCANGAN SISTEM MONITORING SUHU MENGGUNAKAN RASPBERRY PI BERBASIS WEB DAN ...PERANCANGAN SISTEM MONITORING SUHU MENGGUNAKAN RASPBERRY PI BERBASIS WEB DAN ...
PERANCANGAN SISTEM MONITORING SUHU MENGGUNAKAN RASPBERRY PI BERBASIS WEB DAN ...
Uofa_Unsada
 
PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...
PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...
PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...
Uofa_Unsada
 
ANALISIS HARGA POKOK PRODUKSI BALL BEARING DENGAN METODE ACTIVITY-BASED COSTI...
ANALISIS HARGA POKOK PRODUKSI BALL BEARING DENGAN METODE ACTIVITY-BASED COSTI...ANALISIS HARGA POKOK PRODUKSI BALL BEARING DENGAN METODE ACTIVITY-BASED COSTI...
ANALISIS HARGA POKOK PRODUKSI BALL BEARING DENGAN METODE ACTIVITY-BASED COSTI...
Uofa_Unsada
 
ANALISIS PENERAPAN TOTAL QUALITY MANAGEMENT (TQM) UNTUK PENINGKATAN SUMBER DA...
ANALISIS PENERAPAN TOTAL QUALITY MANAGEMENT (TQM) UNTUK PENINGKATAN SUMBER DA...ANALISIS PENERAPAN TOTAL QUALITY MANAGEMENT (TQM) UNTUK PENINGKATAN SUMBER DA...
ANALISIS PENERAPAN TOTAL QUALITY MANAGEMENT (TQM) UNTUK PENINGKATAN SUMBER DA...
Uofa_Unsada
 
ANALISIS KINERJA JARINGAN SERAT OPTIK PADA RING 1 DI ARNET JATINEGARA
ANALISIS KINERJA JARINGAN SERAT OPTIK PADA RING 1 DI ARNET JATINEGARAANALISIS KINERJA JARINGAN SERAT OPTIK PADA RING 1 DI ARNET JATINEGARA
ANALISIS KINERJA JARINGAN SERAT OPTIK PADA RING 1 DI ARNET JATINEGARA
Uofa_Unsada
 
PERANCANGAN ANTENA MIKROSTRIP UNTUK SPEKTRUM ULTRA WIDEBAND PADA WLAN 5,2 GHz
PERANCANGAN ANTENA MIKROSTRIP UNTUK SPEKTRUM ULTRA WIDEBAND PADA WLAN 5,2 GHzPERANCANGAN ANTENA MIKROSTRIP UNTUK SPEKTRUM ULTRA WIDEBAND PADA WLAN 5,2 GHz
PERANCANGAN ANTENA MIKROSTRIP UNTUK SPEKTRUM ULTRA WIDEBAND PADA WLAN 5,2 GHz
Uofa_Unsada
 
Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...
Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...
Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...
Uofa_Unsada
 
PERANCANGAN ANTENA MIKROSTRIP PATCH BUJUR SANGKAR DENGAN FREKUENSI KERJA 2.6 ...
PERANCANGAN ANTENA MIKROSTRIP PATCH BUJUR SANGKAR DENGAN FREKUENSI KERJA 2.6 ...PERANCANGAN ANTENA MIKROSTRIP PATCH BUJUR SANGKAR DENGAN FREKUENSI KERJA 2.6 ...
PERANCANGAN ANTENA MIKROSTRIP PATCH BUJUR SANGKAR DENGAN FREKUENSI KERJA 2.6 ...
Uofa_Unsada
 
Aplikasi Layanan Informasi Pada Karyawan Berbasis PHP dan SMS Gateway di PT. ...
Aplikasi Layanan Informasi Pada Karyawan Berbasis PHP dan SMS Gateway di PT. ...Aplikasi Layanan Informasi Pada Karyawan Berbasis PHP dan SMS Gateway di PT. ...
Aplikasi Layanan Informasi Pada Karyawan Berbasis PHP dan SMS Gateway di PT. ...
Uofa_Unsada
 
ANALISIS SISTEM ANTRIAN SERVICE MOBIL DI PT. TUNAS MOBILINDO PERKASA DENGAN M...
ANALISIS SISTEM ANTRIAN SERVICE MOBIL DI PT. TUNAS MOBILINDO PERKASA DENGAN M...ANALISIS SISTEM ANTRIAN SERVICE MOBIL DI PT. TUNAS MOBILINDO PERKASA DENGAN M...
ANALISIS SISTEM ANTRIAN SERVICE MOBIL DI PT. TUNAS MOBILINDO PERKASA DENGAN M...
Uofa_Unsada
 
ANALISIS PERENCANAAN PENJADWALAN MAINTENANCE PADA MESIN CNC LINE EXHAUST MANI...
ANALISIS PERENCANAAN PENJADWALAN MAINTENANCE PADA MESIN CNC LINE EXHAUST MANI...ANALISIS PERENCANAAN PENJADWALAN MAINTENANCE PADA MESIN CNC LINE EXHAUST MANI...
ANALISIS PERENCANAAN PENJADWALAN MAINTENANCE PADA MESIN CNC LINE EXHAUST MANI...
Uofa_Unsada
 
ANALISIS LINE BALANCING UNTUK KESEIMBAGAN PROSES PRODUKSI DI LINE WRE PT. GEM...
ANALISIS LINE BALANCING UNTUK KESEIMBAGAN PROSES PRODUKSI DI LINE WRE PT. GEM...ANALISIS LINE BALANCING UNTUK KESEIMBAGAN PROSES PRODUKSI DI LINE WRE PT. GEM...
ANALISIS LINE BALANCING UNTUK KESEIMBAGAN PROSES PRODUKSI DI LINE WRE PT. GEM...
Uofa_Unsada
 
PERANCANGAN ANTENA BOW-TIE MIKROSTRIP PADA FREKUENSI 1.6 GHz UNTUK SISTEM GRO...
PERANCANGAN ANTENA BOW-TIE MIKROSTRIP PADA FREKUENSI 1.6 GHz UNTUK SISTEM GRO...PERANCANGAN ANTENA BOW-TIE MIKROSTRIP PADA FREKUENSI 1.6 GHz UNTUK SISTEM GRO...
PERANCANGAN ANTENA BOW-TIE MIKROSTRIP PADA FREKUENSI 1.6 GHz UNTUK SISTEM GRO...
Uofa_Unsada
 

More from Uofa_Unsada (20)

PENERAPAN NOTIFIKASI ANDROID UNTUK MEMBANTU PENYEBARAN INFORMASI DAN KOMUNIKA...
PENERAPAN NOTIFIKASI ANDROID UNTUK MEMBANTU PENYEBARAN INFORMASI DAN KOMUNIKA...PENERAPAN NOTIFIKASI ANDROID UNTUK MEMBANTU PENYEBARAN INFORMASI DAN KOMUNIKA...
PENERAPAN NOTIFIKASI ANDROID UNTUK MEMBANTU PENYEBARAN INFORMASI DAN KOMUNIKA...
 
APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...
APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...
APLIKASI ORASI SUCI DAN NOVENA KATOLIK BERBASIS ANDROID Diajukan untuk memenu...
 
IMPLEMENTASI SINKRONISASI DATABASE MENGGUNAKAN SQL DAN VALIDASI DATA BERDASAR...
IMPLEMENTASI SINKRONISASI DATABASE MENGGUNAKAN SQL DAN VALIDASI DATA BERDASAR...IMPLEMENTASI SINKRONISASI DATABASE MENGGUNAKAN SQL DAN VALIDASI DATA BERDASAR...
IMPLEMENTASI SINKRONISASI DATABASE MENGGUNAKAN SQL DAN VALIDASI DATA BERDASAR...
 
MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...
MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...
MEMBANGUN APLIKASI PERPUSTAKAAN ONLINE BERBASIS DESKTOP DAN MOBILE ANDROID ST...
 
APLIKASI PENILAIAN KINERJA KARYAWAN MENGGUNAKAN METODE SMART BERBASIS WEB STU...
APLIKASI PENILAIAN KINERJA KARYAWAN MENGGUNAKAN METODE SMART BERBASIS WEB STU...APLIKASI PENILAIAN KINERJA KARYAWAN MENGGUNAKAN METODE SMART BERBASIS WEB STU...
APLIKASI PENILAIAN KINERJA KARYAWAN MENGGUNAKAN METODE SMART BERBASIS WEB STU...
 
PERANCANGAN DAN PEMBUATAN APLIKASI DATAMINING BERBASIS WEB MENGGUNAKAN ALGORI...
PERANCANGAN DAN PEMBUATAN APLIKASI DATAMINING BERBASIS WEB MENGGUNAKAN ALGORI...PERANCANGAN DAN PEMBUATAN APLIKASI DATAMINING BERBASIS WEB MENGGUNAKAN ALGORI...
PERANCANGAN DAN PEMBUATAN APLIKASI DATAMINING BERBASIS WEB MENGGUNAKAN ALGORI...
 
ANALISA MONITORING KESEHATAN KARYAWAN BERBASIS WEB
ANALISA MONITORING KESEHATAN KARYAWAN BERBASIS WEBANALISA MONITORING KESEHATAN KARYAWAN BERBASIS WEB
ANALISA MONITORING KESEHATAN KARYAWAN BERBASIS WEB
 
PERANCANGAN SISTEM MONITORING SUHU MENGGUNAKAN RASPBERRY PI BERBASIS WEB DAN ...
PERANCANGAN SISTEM MONITORING SUHU MENGGUNAKAN RASPBERRY PI BERBASIS WEB DAN ...PERANCANGAN SISTEM MONITORING SUHU MENGGUNAKAN RASPBERRY PI BERBASIS WEB DAN ...
PERANCANGAN SISTEM MONITORING SUHU MENGGUNAKAN RASPBERRY PI BERBASIS WEB DAN ...
 
PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...
PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...
PROTOTYPE SMART HOME DENGAN KONSEP INTERNET OF THING (IOT) MENGGUNAKAN ARDUIN...
 
ANALISIS HARGA POKOK PRODUKSI BALL BEARING DENGAN METODE ACTIVITY-BASED COSTI...
ANALISIS HARGA POKOK PRODUKSI BALL BEARING DENGAN METODE ACTIVITY-BASED COSTI...ANALISIS HARGA POKOK PRODUKSI BALL BEARING DENGAN METODE ACTIVITY-BASED COSTI...
ANALISIS HARGA POKOK PRODUKSI BALL BEARING DENGAN METODE ACTIVITY-BASED COSTI...
 
ANALISIS PENERAPAN TOTAL QUALITY MANAGEMENT (TQM) UNTUK PENINGKATAN SUMBER DA...
ANALISIS PENERAPAN TOTAL QUALITY MANAGEMENT (TQM) UNTUK PENINGKATAN SUMBER DA...ANALISIS PENERAPAN TOTAL QUALITY MANAGEMENT (TQM) UNTUK PENINGKATAN SUMBER DA...
ANALISIS PENERAPAN TOTAL QUALITY MANAGEMENT (TQM) UNTUK PENINGKATAN SUMBER DA...
 
ANALISIS KINERJA JARINGAN SERAT OPTIK PADA RING 1 DI ARNET JATINEGARA
ANALISIS KINERJA JARINGAN SERAT OPTIK PADA RING 1 DI ARNET JATINEGARAANALISIS KINERJA JARINGAN SERAT OPTIK PADA RING 1 DI ARNET JATINEGARA
ANALISIS KINERJA JARINGAN SERAT OPTIK PADA RING 1 DI ARNET JATINEGARA
 
PERANCANGAN ANTENA MIKROSTRIP UNTUK SPEKTRUM ULTRA WIDEBAND PADA WLAN 5,2 GHz
PERANCANGAN ANTENA MIKROSTRIP UNTUK SPEKTRUM ULTRA WIDEBAND PADA WLAN 5,2 GHzPERANCANGAN ANTENA MIKROSTRIP UNTUK SPEKTRUM ULTRA WIDEBAND PADA WLAN 5,2 GHz
PERANCANGAN ANTENA MIKROSTRIP UNTUK SPEKTRUM ULTRA WIDEBAND PADA WLAN 5,2 GHz
 
Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...
Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...
Perancangan Antena Mikrostrip Pada Frekuensi 2,3 Ghz Untuk Aplikasi LTE (Long...
 
PERANCANGAN ANTENA MIKROSTRIP PATCH BUJUR SANGKAR DENGAN FREKUENSI KERJA 2.6 ...
PERANCANGAN ANTENA MIKROSTRIP PATCH BUJUR SANGKAR DENGAN FREKUENSI KERJA 2.6 ...PERANCANGAN ANTENA MIKROSTRIP PATCH BUJUR SANGKAR DENGAN FREKUENSI KERJA 2.6 ...
PERANCANGAN ANTENA MIKROSTRIP PATCH BUJUR SANGKAR DENGAN FREKUENSI KERJA 2.6 ...
 
Aplikasi Layanan Informasi Pada Karyawan Berbasis PHP dan SMS Gateway di PT. ...
Aplikasi Layanan Informasi Pada Karyawan Berbasis PHP dan SMS Gateway di PT. ...Aplikasi Layanan Informasi Pada Karyawan Berbasis PHP dan SMS Gateway di PT. ...
Aplikasi Layanan Informasi Pada Karyawan Berbasis PHP dan SMS Gateway di PT. ...
 
ANALISIS SISTEM ANTRIAN SERVICE MOBIL DI PT. TUNAS MOBILINDO PERKASA DENGAN M...
ANALISIS SISTEM ANTRIAN SERVICE MOBIL DI PT. TUNAS MOBILINDO PERKASA DENGAN M...ANALISIS SISTEM ANTRIAN SERVICE MOBIL DI PT. TUNAS MOBILINDO PERKASA DENGAN M...
ANALISIS SISTEM ANTRIAN SERVICE MOBIL DI PT. TUNAS MOBILINDO PERKASA DENGAN M...
 
ANALISIS PERENCANAAN PENJADWALAN MAINTENANCE PADA MESIN CNC LINE EXHAUST MANI...
ANALISIS PERENCANAAN PENJADWALAN MAINTENANCE PADA MESIN CNC LINE EXHAUST MANI...ANALISIS PERENCANAAN PENJADWALAN MAINTENANCE PADA MESIN CNC LINE EXHAUST MANI...
ANALISIS PERENCANAAN PENJADWALAN MAINTENANCE PADA MESIN CNC LINE EXHAUST MANI...
 
ANALISIS LINE BALANCING UNTUK KESEIMBAGAN PROSES PRODUKSI DI LINE WRE PT. GEM...
ANALISIS LINE BALANCING UNTUK KESEIMBAGAN PROSES PRODUKSI DI LINE WRE PT. GEM...ANALISIS LINE BALANCING UNTUK KESEIMBAGAN PROSES PRODUKSI DI LINE WRE PT. GEM...
ANALISIS LINE BALANCING UNTUK KESEIMBAGAN PROSES PRODUKSI DI LINE WRE PT. GEM...
 
PERANCANGAN ANTENA BOW-TIE MIKROSTRIP PADA FREKUENSI 1.6 GHz UNTUK SISTEM GRO...
PERANCANGAN ANTENA BOW-TIE MIKROSTRIP PADA FREKUENSI 1.6 GHz UNTUK SISTEM GRO...PERANCANGAN ANTENA BOW-TIE MIKROSTRIP PADA FREKUENSI 1.6 GHz UNTUK SISTEM GRO...
PERANCANGAN ANTENA BOW-TIE MIKROSTRIP PADA FREKUENSI 1.6 GHz UNTUK SISTEM GRO...
 

Recently uploaded

bahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gatewaybahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gateway
subbidtekinfo813
 
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis JurnalA.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
Ekhwan2
 
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIPPERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
Pemdes Wonoyoso
 
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptxKanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
ssuser283069
 
KTSP Raudhatul Athfal Kementerian Agama.pdf
KTSP Raudhatul Athfal Kementerian Agama.pdfKTSP Raudhatul Athfal Kementerian Agama.pdf
KTSP Raudhatul Athfal Kementerian Agama.pdf
khalisahumairahh
 
654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021
renprogarksd3
 
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITASSURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
Pemdes Wonoyoso
 
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptxTugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
fauzandika
 
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.pptBAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
Ggproject
 
Materi matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptxMateri matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptx
BanjarMasin4
 
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffffLAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
acehirfan
 
Apa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptxApa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptx
AssyifaFarahDiba1
 
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdfM. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
AjrunAzhiima
 

Recently uploaded (13)

bahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gatewaybahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gateway
 
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis JurnalA.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
 
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIPPERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
 
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptxKanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
 
KTSP Raudhatul Athfal Kementerian Agama.pdf
KTSP Raudhatul Athfal Kementerian Agama.pdfKTSP Raudhatul Athfal Kementerian Agama.pdf
KTSP Raudhatul Athfal Kementerian Agama.pdf
 
654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021
 
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITASSURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
 
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptxTugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
 
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.pptBAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
 
Materi matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptxMateri matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptx
 
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffffLAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
 
Apa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptxApa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptx
 
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdfM. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
 

OPTIMASI PENJADWALAN MATA KULIAH DENGAN MENGGUNAKAN ALGORITMA GENETIKA (STUDI KASUS : PROGRAM STUDI TEKNIK INFORMATIKA) (UNIVERSITAS DARMA PERSADA)

  • 1. OPTIMASI PENJADWALAN MATA KULIAH DENGAN MENGGUNAKAN ALGORITMA GENETIKA (STUDI KASUS : PROGRAM STUDI TEKNIK INFORMATIKA) (UNIVERSITAS DARMA PERSADA) diajukan oleh Rachmat Fauzi NIM: 2008230007 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS DARMA PERSADA JAKARTA 2015
  • 2. i LEMBAR BIMBINGAN TUGAS AKHIR TEKNIK INFORMATIKA – DARMA PERSADA NIM : 2008230007 NAMA LENGKAP : Rachmat Fauzi DOSEN PEMBIMBING : Timor Setiyaningsih ST, MTI JUDUL TUGAS AKHIR : MERANCANG OPTIMASI PENJADWALAN MENGGUNAKAN ALGORITMA GENETIKA No. Pertemuan Pokok Bahasan Paraf Dosen Pembimbing 1. 10/07/2015 BAB I 2. 14/07/2015 BAB II 3. 27/07/2015 Revisi BAB II 4. 28/07/2015 BAB III 5. 29/07/2015 Revisi BAB III 6. 03/08/2015 Aplikasi 7. 10/08/2015 Revisi Aplikasi 8. 18/08/2015 BAB IV & BAB V 9. 19/08/2015 Revisi BAB IV & BAB V 10. 21/08/2015 BAB I – V & Aplikasi Jakarta, 26 Agustus 2015 Dosen Pembimbing Timor Setiyaningsih ST, Mti
  • 3. ii LEMBAR PENGESAHAN MERANCANG APLIKASI OPTIMASI PENJADWALAN MENGGUNAKAN METODE ALGORITMA GENETIKA Disusun oleh : Rachmat Fauzi 200823008 Timor Setiyaningsih ST, MTI Adam Arif Budiman ST., M.Kom Pembimbing Laporan Kajur. Teknik Informatika
  • 4. iii LEMBAR PERNYATAAN Saya yang bertanda tangan di bawah ini : Nama : Rachmat Fauzi NIM : 2008230007 Fakultas : Teknik Jurusan : Teknik Informatika Judul Laporan : MERANCANG APLIKASI OPTIMASI PENJADWALAN DENGAN MENGGUNAKAN ALGORITMA GENETIKA Menyatakan bahwa laporan tugas akhir ini saya susun sendiri berdasarkan hasil peninjauan, penelitian lapangan, wawancara serta memadukannya dengan buku- buku literature atau bahan-bahan referensi lain yang terkait dan relevan di dalam menyelesaikan laporan tugas akhir ini. Demikian pernyataan ini saya buat dengan sesungguhnya. Jakarta, 30 Agustus 2015 Rachmat Fauzi
  • 5. iv PENGUJIAN LAPORAN TUGAS AKHIR Laporan Tugas Akhir ini telah dipresentasikan pada tanggal : 3 September 2015, Dengan judul “OPTIMASI PENJADWALAN PERKULIAHAN DENGAN METODE ALGORITMA GENETIKA” PENGUJI 1 PENGUJI 2 Herianto S.Pd M.T. Aji Setiawan MMSi PENGUJI 3 Bagus Tri Mahardika MMSi
  • 6. v ABSTRAK Penjadwalan perkuliahan merupakan proses penyusunan jadwal pelaksanaan yang menginformasikan sejumlah mata kuliah, dosen yang mengajar, ruang, serta waktu kegiatan perkuliahan. Perlu diperhatikan beberapa aspek untuk menyusun jadwal perkuliahan yang sesuai dengan kebutuhan. Aspek yang perlu diperhatikan antara lain adalah aspek dari dosen yang mengajar, mata kuliah yang diajar, serta tidak melanggar pembatasan yang sudah ditentukan. Penyusunan jadwal secara manual cenderung membutuhkan waktu yang lebih lama dan ketelitian yang cukup bagi pembuat jadwal. Untuk dapat membuat jadwa yang optional, dibutuhkan metode optimasi. Pada penelitian ini, akan diuji coba metode optimasi dalam pembuatan jadwal perkuliahan yaitu Algoritma Genetika. Algoritma genetika merupakan pendekatan komputasional untuk menyelesaikan masalah yang dimodelkan dengan proses biologi dari evolusi. Parameter- parameter Algoritma Genetika yang mempengaruhi jadwal perkuliahan yang dihasilkan adalah jumlah individu, probabilitas crossover, probabilitas mutasi serta metode seleksi, crossover, mutation yang digunakan. Pengujian dilakukan dengan cara mencari nilai parameter-parameter algoritma genetika yang paling optimal dalam jadwal perkuliahan. Hasil penelitian menunjukkan bahwa dengan 100 jumlah generasi, 10 jumlah individu, 30% probabilitas crossover dan 50% probabilitas mutation dapat menghasilkan jadwal yang paling optimal. Kata kunci : optimasi, penjadwalan perkuliahan, seleksi, crossover, mutasi, algoritma genetika,
  • 7. vi KATA PENGANTAR Assalamu’alaikum Wr. Wb. Puji syukur kehadirat Allah SWT, atas segala rahmat, bimbingan dan berkat-Nya, sehingga penulis dapat menyelesaikan penyusunan Tugas Akhir yang berjudul “Merancang Aplikasi Optimasi Penjadwalan Perkuliahan Dengan Menggunakan Algoritma Genetika” sebagai salah satu persyaratan akademik bagi mahasiswa program Strata 1 Fakultas Teknik, Universitas Darma Persada. Dalam pelaksanakan tugas akhir sampai proses pembuatan Laporan Tugas Akhir ini, penulis tidak jarang menemui berbagai macam kesulitan dan hambatan, namun berkat bantuan dan dorongan dari beberapa pihak, akhirnya penulis dapat mengatasi berbagai kesulitan tersebut. Pada kesempatan ini saya mengucapkan banyak terimakasih kepada pihak – pihak yang secara langsung atau tidak langsung membantu dalam tugas akhir dan penulisan laporan ini. Saya menyampaikan ucapan terimakasih yang tulus kepada : 1. Dekan Fakultas Teknik Universitas Darma Persada Ir. Agus Sun Sugiharto, MT. 2. Ketua Jurusan Teknik Informatika Adam Arif Budiman, ST., M.Kom. 3. Dosen Pembimbing Timor Setyaningsih ST, Mti yang telah sabar membimbing saya dalam penyusunan Tugas Akhir ini. 4. Dosen-dosen Universitas Darma Persada yang telah memberikan ilmu yang sangat bermanfaat kepada saya.
  • 8. vii 5. Orang Tua dan keluarga saya yang tidak pernah bosan memberikan semangat kepada saya. 6. Teman-teman seperjuangan saya Awal, Nando, Tyo, Handy B, Handi A, Putra, Igoy, Aji, Dana, Mas Ikhsan, Bintang, Eben, Ryan dan yang ada di Grup Pojok Kantek Bersaudara yang tidak bisa saya sebutkan satu persatu. 7. Mas Adi dan kang Asep dan teman-teman lainnya yang telah memberikan ilmu kepada saya dalam mengerjakan Tugas Akhir ini. 8. Keluarga besar SAUNG yang telah mensuport dan memberi semangat kepada saya tanpa henti. 9. Semua pihak yang tidak dapat saya sebutkan satu persatu, yang telah memberikan bantuan, waktu dan tenaga serta dukungannya dalam menyelesaikan penulisan laporan kerja praktek ini. Akhir kata, saya sampaikan terima kasih kepada semua pihak yang telah berperan serta dalam penyelesaian tugas akhir ini dari awal sampai akhir. Semoga Allah SWT senantiasa meridhai segala usaha kita. Amin. Wassalamu’alaikum Wr. Wb. Jakarta, 24 Agustus 2015 Rachmat Fauzi
  • 9. viii DAFTAR GAMBAR Gambar 1.1 Diagram Alir Algoritma Genetika .......................................................7 Gambar 1.2 Siklus Pengembangan Model RAD ................................................... 8 Gambar 2.1 Flowchart Algoritma Genetika ......................................................... 12 Gambar 2.2 Penyandian Biner Pada Operator Genetika ...................................... 13 Gambar 2.3 Siklus RAD ...................................................................................... 20 Gambar 2.4 Pemodelan UML .............................................................................. 24 Gambar 2.5 Use Case Diagram ............................................................................ 25 Gambar 2.6 Activity Diagram .............................................................................. 26 Gambar 2.7 Sequence Diagram ............................................................................ 27 Gambar 3.1 Diagram Alir Perancangan Sistem ................................................... 29 Gambar 3.2 Use Case Diagram ............................................................................ 30 Gambar 3.3 Activity Diagram Login .................................................................... 32 Gambar 3.4 Activity Diagram Input Data ........................................................... 33 Gambar 3.5 Activity Diagram Generate Jadwal .................................................. 34 Gambar 3.6 Activity Diagram Laporan ............................................................... 35 Gambar 3.7 Sequence Diagram Login ................................................................. 36
  • 10. ix Gambar 3.8 Sequence Diagram Input Data .......................................................... 37 Gambar 3.9 Sequence Diagram Laporan ..............................................................38 Gambar 3.10 Struktur Tabel Login ...................................................................... 38 Gambar 3.11 Struktur Tabel Dosen ..................................................................... 39 Gambar 3.12 Struktur Tabel Mata Kuliah ............................................................ 39 Gambar 3.13 Struktur Tabel Hari ......................................................................... 40 Gambar 3.14 Struktur Tabel Jam ......................................................................... 40 Gambar 3.15 Struktur Tabel Ruang ..................................................................... 41 Gambar 3.16 Struktur Tabel Pengampu ............................................................... 41 Gambar 3.17 Struktur Tabel Kesediaan ............................................................... 42 Gambar 3.18 Struktur Tabel Jadwal ..................................................................... 42 Gambar 3.19 Relasi Tabel Database .................................................................... 43 Gambar 3.20 Rancangan Menu Login ................................................................. 43 Gambar 3.21 Rancangan Menu Utama ................................................................ 44 Gambar 3.22 Rancangan Menu Dosen ................................................................. 44 Gambar 3.23 Rancangan Menu Mata Kuliah ....................................................... 45 Gamabr 3.24 Rancangan Menu Ruang Kuliah .................................................... 46 Gambar 3.25 Rancangan Menu Hari & Jam ........................................................ 46
  • 11. x Gambar 3.26 Rancangan Menu Dosen Pengampu ............................................... 47 Gambar 3.27 Rancangan Menu Kesediaan Dosen ............................................... 48 Gamabar 3.28 Rancangan Menu Generate Jadwal .............................................. 48 Gambar 3.29 Rancangan Menu Laporan ............................................................. 49 Gambar 4.1 Tampilan Login ................................................................................ 51 Gambar 4.2 Tampilan Menu Utama Administrator ............................................. 52 Gambar 4.3 Tampilan Menu Utama User ............................................................ 53 Gambar 4.4 Tampilan Input Data Dosen ............................................................. 53 Gambar 4.5 Tampilan Menu Data Mata Kuliah ................................................... 54 Gambar 4.6 Tampilan Menu Data Ruang ............................................................ 55 Gambar 4.7 Tampilan Menu Data Hari & Jam .................................................... 56 Gambar 4.8 Tampilan Menu Data Pengampu ...................................................... 57 Gambar 4.9 Tampilan Menu Data Kesediaan ...................................................... 58 Gambar 4.10 Tampilan Menu Generate Jadwal ................................................... 58 Gambar 4.11 Tampilan Laporan Jadwal .............................................................. 59 Gambar 4.12 Tampilan Laporan Dosen ............................................................... 59
  • 12. xi DAFTAR TABEL Tabel 2.1 Contoh Crossover 1 Titik ..................................................................... 15 Tabel 2.2 Contoh Crossover 2 Titik ..................................................................... 16 Tabel 2.3 Contoh Crossover Seragam .................................................................. 16 Tabel 3.1 Peran Aktor Petugas Penjadwal ........................................................... 30 Tabel 3.2 Peran Aktor User .................................................................................. 31 Tabel 4.1 Hasil Proses Pertama ............................................................................ 64 Tabel 4.2 Hasil Proses Kedua .............................................................................. 65 Tabel 4.3 Hasil Pengujian Per Modul Aplikasi .................................................... 68
  • 13. xii DAFTAR ISI Halaman judul LEMBAR BIMBINGAN ....................................................................................... i LEMBAR PENGESAHAN .................................................................................. ii LEMBAR PERNYATAAN ................................................................................. iii LEMBAR PENGUJI ............................................................................................ iv ABSTRAK ............................................................................................................. v KATA PENGANTAR ......................................................................................... vi DAFTAR GAMBAR ......................................................................................... viii DAFTAR TABEL ................................................................................................ xi DAFTAR ISI ....................................................................................................... xii BAB I PENDAHULUAN................................................................................... 1 1.1 Latar Belakang .................................................................................. 1 1.2 Rumusan Masalah ............................................................................. 2 1.3 Batasan Masalah ............................................................................... 3 1.4 Tujuan Penelitian .............................................................................. 3 1.5 Manfaat Penelitian ............................................................................ 4 1.6 Metode Penelitian ............................................................................. 4 1.7 Sistematika Penulisan ....................................................................... 8
  • 14. xiii BAB II LANDASAN TEORI .......................................................................... 10 2.1 Algoritma Genetika dan RAD ...................................................... 10 2.1.1 Algortima Genetika ...............................................................10 2.1.2 Struktur Umum Algoritma Genetika ....................................11 2.1.3 Penyandian .......................................................................... 12 2.1.4 Operator Genetika ................................................................13 2.1.5 Parameter Genetika ............................................................. 17 2.1.6 Rapid Application Development (RAD) ..............................18 2.2 Proses Algoritma Genetika 2.2.1 Individu / Krosom ................................................................ 20 2.2.2 Fitness .................................................................................. 20 2.2.3 Membangkitkan Populasi Awal .......................................... 20 2.2.4 Seleksi .................................................................................. 21 2.2.5 Crossover ............................................................................. 21 2.2.6 Mutasi .................................................................................. 21 2.3 Tool Yang Digunakan Pada Penelitian ......................................... 21 2.3.1 Microsoft Visual Basic 2010 ............................................... 21 2.3.2 Sql Server 2008 R2 .............................................................. 22 2.4 Pemodelan UML .......................................................................... 24 2.4.1 Pemodelan Sistem Dengan UML ........................................ 24 2.4.2 Use Case .............................................................................. 24 2.4.3 Activity Diagram ................................................................. 25 2.4.4 Sequence Diagram ............................................................... 26
  • 15. xiv BAB III ANALISA DAN PERANCANGAN ................................................. 28 3.1 Analisa Sistem dengan Algoritma Genetika ................................. 28 3.2 Rancangan Sistem ........................................................................ 28 3.2.1 Use Case Diagram ............................................................... 29 3.2.2 Activity Diagram ................................................................. 32 3.2.3 Sequence Diagram ............................................................... 36 3.3 Rancangan Database ..................................................................... 38 3.3.1 Tabel Login ......................................................................... 38 3.3.2 Tabel Dosen ......................................................................... 39 3.3.3 Tabel Mata Kuliah ............................................................... 39 3.3.4 Tabel Hari ............................................................................ 40 3.3.5 Tabel Jam ............................................................................. 40 3.3.6 Tabel Ruang ......................................................................... 40 3.3.7 Tabel Pengampu .................................................................. 41 3.3.8 Tabel Kesediaan .................................................................. 41 3.3.9 Tabel Jadwal ........................................................................ 42 3.4 Diagram Relasi Database ............................................................. 42 3.5 Rancangan Tampilan .................................................................... 43 3.5.1 Menu Login ......................................................................... 43 3.5.2 Menu Utama ........................................................................ 44 3.5.3 Menu Input Data Dosen ....................................................... 44 3.5.4 Menu Input Data Mata Kuliah ............................................. 45 3.5.5 Menu Input Data Ruang ...................................................... 46 3.5.6 Menu Input Data Hari & Jam .............................................. 46
  • 16. xv 3.5.7 Menu Input Dosen Pemngampu .......................................... 47 3.5.8 Menu Input Kesediaan Dosen ............................................. 48 3.5.9 Menu Generate Jadwal ........................................................ 48 3.6 Rancangan Laporan ...................................................................... 49 BAB IV IMPLEMENTASI DAN EVALUASI SISTEM ................................ 50 4.1 Implementasi Sistem .................................................................... 50 4.1.1 Hardware ............................................................................. 50 4.1.2 Software ............................................................................... 50 4.2 Implementasi Aplikasi .................................................................. 51 4.2.1 Rancangan Tampilan Login ................................................ 51 4.2.2 Rancangan Tampilan Menu Utama Admin ......................... 51 4.2.3 Rancangan Tampilan Menu Utama User .............................52 4.2.4 Rancangan Tampilan Input Data Dosen .............................. 53 4.2.5 Rancangan Tampilan Input Mata Kuliah ............................ 54 4.2.6 Rancangan Tampilan Input Data Ruang ...............................54 4.2.7 Rancangan Tampilan Input Hari & Jam .............................. 55 4.2.8 Rancangan Tampilan Input Data Pengampu ....................... 56 4.2.9 Rancangan Tampilan Input Data Kesediaan ....................... 57 4.2.10 Rancangan Tampilan Generate Jadwal ............................. 58 4.2.11 Rancangan Tampilan Laporan ........................................... 59 4.3 Sekilas Program .............................................................................60 4.3.1 Membangkitkan Populasi Awal .......................................... 60 4.3.2Menghitung Nilai Fitness ..................................................... 61 4.3.3 Croosover ............................................................................ 62
  • 17. xvi 4.3.4 Mutasi .................................................................................. 63 4.4 Evaluasi Sistem ............................................................................ 67 BAB V KESIMPULAN DAN SARAN ........................................................... 69 5.1 Kesimpulan ................................................................................... 69 5.2 Saran ............................................................................................. 70 DAFTAR PUSTAKA LAMPIRAN
  • 18. BAB I PENDAHULUAN 1.1 Latar Belakang Penjadwalan merupakan kegiatan yang harus dimiliki oleh setiap orang untuk dapat membantu dalam melakukan aktivitasnya sehari-hari. Terlebih lagi sebuah instansi atau lembaga yang memiliki agenda-agenda penting yang diselesaikan secara teratur dan rapi. Begitu pentingnya penjadwalan ini agar kegiatan dapat berjalan sesuai dengan yang telah direncanakan. Berbanding terbalik dengan pentingnya penjadwalan ini, proses pembuatan jadwal ini merupakan proses yang menyulitkan, karena proses ini membutuhkan ketelitian dan waktu yang cukup banyak agar tidak terjadi adanya tumpang tindih antara kegiatan yang satu dengan kegiatan yang lain. Sampai saat ini, metode yang dikenal sebagai metode yang diakui potensinya memiliki teknik optimasi untuk menyelesaikan permasalahan yang kompleks adalah Algoritma Genetika dan telah sukses dijalankan dikalangan teknik. Sehingga dalam pembuatan system penjadwalan pelajaran ini metode yang dipilih untuk dipergunakan adalah Algoritma Genetika. ( Mitsuo Gen, 1997)
  • 19. 2 Teknik Informatika merupakan salah satu jurusan yang ada di Universitas Darma Persada. Teknik Informatika di Universitas Darma Persada merupakan salah satu jurusan / prodi (program studi) yang memiliki jumlah mahasiswa yang cukup banyak. Dengan jumlah mahasiswa yang cukup banyak, tentu dibutuhkan dosen yang memadai. Penjadwalan kegiatan kuliah dalam suatu Perguruan Tinggi / kampus adalah suatu hal rumit dan sering mengalami kesulitan. Hal ini disebabkan beberapa faktor yang berkaitan yang harus dipertimbangkan antara lain jumlah mata kuliah yang diselenggarakan, jumlah ruangan, jumlah dosen dan jadwal dimana dosen yang bersangkutan tidak bisa mengajar yang seringkali menyebabkan munculnya masalah penjadwalan mata kuliah. Untuk memudahkan dalam proses penjadwalan tersebut, maka akan disusun tugas akhir dengan Judul “Optimasi Jadwal Mata Kuliah Dengan Menggunakan Algoritma Genetika (Studi Kasus: Program Studi Teknik Informatika Universitas Darma Persada)”. Diharapkan proyek tugas akhir ini dapat menyusun jadwal pelajaran perkuliahan yang meliputi jadwal perkuliahan disertai dengan dosen pengajar di masing-masing kelas yang ada dengan proses yang lebih memaka waktu sedikit dan hasil yang optimal. 1.2 Rumusan Masalah 1. Penarikan perumusan masalah Bagaimana sistem penjadwalan kegiatan menggunakan metode Algoritma Genetika.
  • 20. 3 2. Bagaimana membuat proses penjadwalan kegiatan yang belum optimal sesuai yang direncanakan. 3. Bagaimana meminimalisir terjadinya kesalahan-kesalahan dalam melakukan penjadwalan, dan laporan tentang jadwal perkuliahan. 1.3 Batasan Masalah Batasan masalah dalam penelitian ini adalah : 1. Metode pengembangan menggunakan metode RAD dan metode Algoritma Genetika. 2. Menentukan penjadwalan berdasarkan perkuliahan yang dilaksanakan, periode waktu, dan ruangan pada Program Studi Teknik Informatika Universitas Darma Persada. 3. Program aplikasi yang dibuat dengan meggunakan bahasa pemrograman Microsoft Visual Studio.NET dan aplikasi basis data Sql Server 2008 R2. 1.4 Tujuan Penelitian Maka disini akan dijabarkan beberapa tujuan penelitian yang akan dilakukan, diantaranya : 1. Untuk menerapkan algoritma genetika dalam menyelesaikan masalah penjadwalan perkuliahan pada Program Studi Teknik Informatika. 2. Mengoptimalisasikan penjadwalan mengajar dengan tepat waktu dan sesuai dengan yang di rencanakan, agar tidak terjadinya kesalahan-kesalahan yang dapat menyebabkan keterlambatan pelaksanaan kegiatan mengajar.
  • 21. 4 1.5 Manfaat Penelitian Adanya tugas akhir yang dibuat ini, diharapkan dapat memberikan manfaat antara lain : 1. Bagi mahasiswa : a. Dapat menerapkan disiplin ilmu dan memanfaatkannya. b. Meningkatkan pemahaman tentang penggunaan algoritma genetika. 2. Bagi pihak terkait: a. Dapat mengoptimalkan penyusunan jadwal mata kuliah. 1.6 Metode Penelitian Metode penelitian yang diperlukan sebagai bahan untuk menyusun tugas akhir ini adalah: 1.6.1 Metode Pengumpulan Data Metode pengumpulan data dengan menggunakan beberapa cara yaitu : 1. Studi Lapangan Pada metode studi lapangan ini terdapat 2 cara yaitu : a) Observasi Melalui observasi ke bagian yang berhubungan dengan kegiatan mengajar, untuk mendapatkan gambaran yang jelas mengenai pelaksanaan system yang sedang berjalan. b) Wawancara Melakukan serangkaian Tanya jawab pada bagian-bagian yang berhubungan dengan masalah yang terkait, untuk mengetahui masalah-masalah yang menjadi kendala bagi para pengguna system lama.
  • 22. 5 2. Studi Literatur Studi literature adalah cara penelitian yang dilakukan dengan membaca dan mempelajari buku-buku literature sejenis yang dapat dijadikan pendukung penyelesaian skripsi ini. 1.6.2 Metode pengembangan sistem Metode pengembangan sistem dilakukan dengan metode RAD (Rapid Application Development). RAD pertama kali diformulasikan oleh James Martin pada tahun 1991 (Hillary Berger, 2004). Dan penulis menerapkan empat tahap siklus pengembangan RAD (Kendal & Kendal, 2006), yaitu : 1. Fase Perencanaan Syarat-syarat Dalam fase ini, pengguna (pihak yang melakukan penilaian terhadap kandidat- kandidat) dan pihak yang menganalisa bertemu untuk mengidentifikasi syarat- syarat informasi yang ditimbulkan dari tujuan-tujuan tersebut. Fase ini memerlukan peran aktif dari kedua kelompok tersebut. Selain itu juga melibatkan pengguna dari beberapa level yang berbeda dalam organisasi. 2. Workshop Design Fase ini adalah fase untuk merancang dan memperbaiki yang dapat digambarkan sebagai workshop. Selama workshop desain RAD, pengguna merespon working prototype yang ada dan analyst memperbaiki modul-modul yang dirancang menggunakan perangkat lunak berdasarkan respon pengguna. 3. Fase Implementasi Pada fase ini dilakukan pengujian dan pengenalan terhadap sistem.
  • 23. 6 1.6.3 Sekilas Metode 1. Algoritma Genetika Menurut (Desiani dan Arhami, 2006) Algoritma Genetika (AG) diperkenalkan pertama kali oleh John Holland (1975) dari Universitas Michigan, John Holland mengatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan ke dalam terminology genetika. Kemudian menurut Goldberg (1989) mendefinisikan algoritma genetika ini sebagai suatu pencarian algoritma berdasarkan pada mekanisme seleksi alam dan genetika alam. Bauer (1993) mendefinisikan algoritma genetika sebagai perangkat lunak, prosedur yang dimodelkan setelah genetika dan evolusi. Selain itu juga Algoritma Genetika mempunyai karakteristik- karakteristik yang perlu diketahui sehingga dapat terbedakan dari prosedur pencarian atau optimasi yang lain, yaitu : 1. AG bekerja dengan pengkodean dari himpunan solusi permasalahan berdasarkan parameter yang telah ditetapkan dan bukan parameter itu sendiri. 2. AG melakukan pencarian pada sebuah populasi dari sejumlah individu- individu yang merupakan solusi permasalahan bukan hanya dari sebuah individu. 3. AG merupakan informasi fungsi objektif (fitness), sebagai cara untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari suatu fungsi. 4. AG menggunakan aturan-aturan transisi peluang, bukan aturan- aturan deterministic
  • 24. 7 2. Struktur Umum Algoritma Genetika Menurut (Kusumadewi, 2003) Pada algoritma ini, teknik pencarian dilakukan sekaligus atas sejumlah solusi yang mungkin dikenal dengan istilah populasi. Individu yang terdapat dalam satu populasi individu yang terdapat dalam satu populasi disebut dengan istilah kromosom, Charles L Karr (1999). Kromosom ini merupakan suatu solusi yang masih berbentuk simbol. Populasi awal dibangun secara acak, sedangkan populasinya merupakan hasil evolusi kromosom-kromosom melalui iterasi yang disebut dengan istilah generasi. Pada setiap generasi kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang disebut fungsi fitness. Nilai fitness dari suatu kromosom akan menunjukkan kualitas kromosom dalam populasi tersebut. Proses ini dapat direpresentasikan dalam algoritma sederhana Algoritma Genetika sebagai berikut : Gambar 1.1 Diagram Alir Genetic Alghorithms Sederhana (Kusumadewi, 2003)
  • 25. 8 1.6.4 RAD (Rapid Application Development) RAD adalah salah satu alternatif dalam melakukan suatu perkembangan system. RAD adalah sebuah strategi pengembangan sistem yang menekankan kecepatan pengembangan melalui keterlibatan pengguna yang ekstensif. RAD menekankan pada kecepatan pengembangan yang melibatkan peran user secara cepat, iterative dan meningkat dalam konstruksi prototype sebagai cikal bakal system final, (Kendall and Kendall, 2006). Gambar 1.2 Siklus Pengembangan Sistem Model RAD (Kendall and Kendall, 2010) 1.7 Sistematika Penulisan Penulisan tugas akhir ini terdiri dari 5 (lima) bab, berikut garis besar dari masing-masing bab : BAB I PENDAHULUAN Pada bab ini akan diuraikan tentang latar belakang, permasalahan, tujuan dan manfaat penelitian, metodologi penelitian dan sistematika penulisan.
  • 26. 9 BAB II LANDASAN TEORI Pada bab ini menjelaskan tentang konsep dasar system informasi (pengertian pengembangan sistem, pengertian penjadwalan, pengertian algoritma genetika dan metode pengembangan sistem). BAB III ANALISIS DAN PERANCANGAN SISTEM Bab ini akan dibahas mengenai analisa sistem yang akan di buat. Pemilihan tool yang digunakan untuk membuat aplikasi, baik database maupun pemrograman, serta rancangan program yang akan di buat. BAB IV PEMBAHASAN Bab ini akan membahas hasil aplikasi yang dibuat, meliputi interface aplikasi, cara kerja dan cara penggunaan aplikasi. BAB V PENUTUP Bab ini berisikan tentang kesimpulan dan saran dari pembahasan bab- bab sebelumnya.
  • 27. BAB II LANDASAN TEORI 2.1 Algoritma Genetika Dan Rapid Application Development (RAD) 2.1.1 Algoritma Genetika Algoritma ini ditemukan di Universitas Michigan, Amerika Serikat oleh John Holland (1975) melalui sebuah penelitian dan dipopulerkan oleh salah satu muridnya, David Goldberg (1989). Dimana mendefenisikan algoritma genetika ini sebagai metode algoritma pencarian berdasarkan pada mekanisme seleksi alam dan genetik alam. Algoritma genetika adalah algoritma yang berusaha menerapkan pemahaman mengenai evolusi alamiah pada tugas-tugas pemecahan-masalah (problem solving). Pendekatan yang diambil oleh algoritma ini adalah dengan menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu kumpulan untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada suatu kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness. Generasi ini akan merepresentasikan perbaikan-perbaikan pada populasi awalnya. Dengan melakukan proses ini secara berulang, algoritma ini diharapkan dapat mensimulasikan proses evolusioner. Pada akhirnya, akan didapatkan solusi-solusi yang paling tepat bagi permasalahan yang dihadapi. Untuk menggunakan algoritma genetik, solusi permasalahan direpresentasikan sebagai kromosom. Tiga aspek yang penting untuk enggunaan algoritma genetik:
  • 28. 11 1. Defenisi fungsi fitness 2. Defenisi dan implementasi representasi genetic 3. Defenisi dan implementasi operasi genetic Jika ketiga aspek di atas telah didefinisikan, algoritma genetika akan bekerja dengan baik. Tentu saja, algoritma genetika bukanlah solusi terbaik untuk memecahkan segala masalah. Sebagai contoh, metode tradisional telah diatur untuk untuk mencari penyelesaian dari fungsi analitis convex yang “berperilaku baik” yang variabelnya sedikit. Pada kasus-kasus ini, metode berbasis kalkulus lebih unggul dari algoritma genetika karena metode ini dengan cepat menemukan solusi minimum ketika algoritma genetika masih menganalisa bobot dari populasi awal. 2.1.2 Struktur Umum Algoritma Genetika Algoritma genetika memberikan suatu pilihan bagi penentuan nilai parameter dengan meniru cara reproduksi genetika, pembentukan kromosom baru serta seleksi alami seperti yang terjadi pada makhluk hidup. Algoritma Genetika secara umum dapat diilustrasikan dalam diagram alir berikut ini:
  • 29. 12 Gambar 2.1 Diagram Alir Algoritma Genetika (Kusumadewi, 2003) (Kusumadewi, 2003) Pada algoritma ini, teknik pencarian dilakukan sekaligus atas sejumlah solusi yang mungkin dikenal dengan istilah populasi. Individu yang terdapat dalam satu populasi individu yang terdapat dalam satu populasi disebut dengan istilah kromosom, Charles L Karr (1999). Kromosom ini merupakan suatu solusi yang masih berbentuk simbol. Populasi awal dibangun secara acak, sedangkan populasinya merupakan hasil evolusi kromosom- kromosom melalui iterasi yang disebut dengan istilah generasi. Pada setiap generasi kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang disebut fungsi fitness. Nilai fitness dari suatu kromosom akan menunjukkan kualitas kromosom dalam populasi tersebut. 2.1.3 Penyandian Teknik penyandian disini meliputi penyandian gen dari kromosom. Gen merupakan bagian dari kromosom. Satu gen biasanya akan mewakili satu variable.
  • 30. 13 Gen dapat direpresentasikan dalam bentuk : string bit, pohon, array bilangan real, daftar aturan, elemen permutasi, elemen program, atau representasi lainnya yang dapat diimplementasikan untuk operator genetika. Gambar 2.2 Penyandian Biner pada Operator Genetika (Kusumadewi, 2003) Demikian juga, kromosom dapat direpresentasikan dengan menggunakan :  String bit : 011, 01101, 11101, dst.  Bilangan Real : 65.65, -67.98. 562.88, dst.  Elemen Program : pemrograman genetika  Struktur lainnya 2.1.4 Operator Genetika Algoritma genetik merupakan proses pencarian yang heuristik dan acak sehingga penekanan pemilihan operator yang digunakan sangat menentukan keberhasilan algoritma genetik dalam menemukan solusi optimum suatu masalah yang diberikan. Hal yang harus diperhatikan adalah menghindari terjadinya konvergensi premature, yaitu mencapai solusi optimum yang belum waktunya, dalam arti bahwa solusi yang diperoleh adalah hasil optimum lokal.
  • 31. 14 Operator genetika yang digunakan setelah proses evaluasi tahap pertama membentuk populasi baru dari generasi sekarang. Operator-operator tersebut adalah operator seleksi, crossover dan mutasi. (Kusumadewi, 2003). Berikut ini akan di jelaskan masing-masing operator pada Genetika. 1. Seleksi Seleksi bertujuan memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling fit. Langkah pertama dalam seleksi ini adalah pencarian nilai fitness. Masing-masing individu dalam suatu wadah seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai objektif dirinya sendiri terhadap nilai objektif dari semua individu dalam wadah seleksi tersebut. Nilai fitness inilah yang nantinya akan digunakan pada tahap seleksi berikutnya (Kusumadewi, 2003). Kemampuan algoritma genetik untuk memproduksi kromosom yang lebih baik secara progresif tergantung pada penekanan selektif (selective pressure) yang diterapkan ke populasi. Penekanan selektif dapat diterapkan dalam dua cara. Cara pertama adalah membuat lebih banyak kromosom anak yang dipelihara dalam populasi dan memilih hanya kromosom-kromosom terbaik bagi generasi berikut. Walaupun orang tua dipilih secara acak, metode ini akan terus menghasilkan kromosom yang lebih baik berhubungan dengan penekanan selektif yang diterapkan pada individu anak tersebut. Cara lain menerapkan penekanan selektif adalah memilih orang tua yang lebih baik ketika membuat keturunan baru. Dengan metode ini, hanya kromosom sebanyak yang dipelihara dalam populasi yang perlu dibuat bagi generasi
  • 32. 15 berikutnya. Walaupun penekanan selektif tidak diterapkan ke level keturunan, metode ini akan terus menghasilkan kromosom yang lebih baik, karena adanya penekanan selektif yang diterapkan ke orangtua. Ada beberapa metode untuk memilih kromosom yang sering digunakan antara lain adalah seleksi roda rolet (roulette wheel selection), seleksi ranking (rank selection) dam seleksi turnamen (tournament selection). 2. Crossover Crossover (perkawinan silang) bertujuan menambah keanekaragaman string dalam populasi dengan penyilangan antar-string yang diperoleh dari sebelumnya. Beberapa jenis crossover tersebut adalah: 1. Crossover 1-titik Pada crossover dilakukan dengan memisahkan suatu string menjadi dua bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan dengan cara yang sama. Proses yang demikian dinamakan operator crossover satu titik seperti diperlihatkan pada gambar berikut: Tabel 2.1 Contoh Crossover 1 titik Kromosom Orangtua 1 11001011 Kromosom Orangtua 2 11011111 Keturunan 11001111 2. Crossover 2 Titik Proses crossover ini dilakukan dengan memilih dua titik crossover. Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal
  • 33. 16 kromosom sampai titik crossover pertama disalin dari orang tua pertama, bagian dari titik crossover pertama dan kedua disalin dari orang tua kedua, kemudian selebihnya disalin dari orang tua pertama lagi. Tabel 2.2 Contoh Crossover 2 titik Kromosom Orangtua 1 11001011 Kromosom Orangtua 2 11011111 Keturunan 11011111 3. Crossover Seragam Crossover seragam manghasilkan kromosom keturunan dengan menyalin bit- bit secara acak dari kedua orangtuanya. Table 2.3 Contoh Crossover Seragam Kromosom Orangtua 1 11001011 Kromosom Orangtua 2 11011111 Keturunan 11011111 3. Mutasi Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom. Operasi crossover yang dilakukan pada kromosom dengan tujuan untuk memperoleh kromosom-kromosom baru sebagai kandidat solusi pada generasi mendatang dengan fitness yang lebih baik, dan lama- kelamaan menuju solusi optimum yang diinginkan. Akan tetapi, untuk mencapai hal ini, penekanan selektif juga memegang peranan yang penting. Jika dalam proses pemilihan kromosom-kromosom cenderung pada kromosom yang
  • 34. 17 memiliki fitness yang tinggi saja, konvergensi premature, yaitu mencapai solusi yang optimal lokal sangat mudah terjadi. Mutasi ini berperan untuk menggantikan gen yang hilang dari populasi akibat proses seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi.  Mutasi bilangan real Pada mutasi bilangan real, ukuran langkah mutasi biasanya sangat sulit ditentukan. Ukuran yang kecil biasanya sering mengalami kesuksesan, namun adakalanya ukuran yang lebih besar akan berjalan lebih cepat.  Mutasi bilangan real Cara sederhana untuk mendapatkan mutasi biner adalah dengan mengganti satu atau beberapa nilai gen dari kromosom. 2.1.5 Parameter Genetika Pengoperasian algoritma genetik dibutuhkan 4 parameter (Juniawati, 2003) yaitu : 1. Probabilitas Persilangan (Crossover Probability) Menunjukkan kemungkinan crossover terjadi antara 2 kromosom. Jika tidak terjadi crossover maka keturunannya akan sama persis dengan kromosom orangtua, tetapi tidak berarti generasi yang baru akan sama persis dengan generasi yang lama. Jika probabilitas crossover 100% maka semua keturunannya dihasilkan dari crossover. Crossover dilakukan dengan harapan bahwa kromosom yang baru akan lebih baik.
  • 35. 18 2. Probabilitas Mutasi (Mutation Probability) Menunjukkan kemungkinan mutasi terjadi pada gen-gen yang menyusun sebuah kromosom. Jika tidak terjadi mutasi maka keturunan yang dihasilkan setelah crossover tidak berubah. Jika terjadi mutasi bagian kromosom akan berubah. Jika probabilitas 100%, semua kromosom dimutasi. Jika probabilitasnya 0%, tidak ada yang mengalami mutasi. 3. Jumlah Individu Menunjukkan jumlah kromosom yang terdapat dalam populasi (dalam satu generasi). Jika hanya sedikit kromosom dalam populasi maka algoritma genetik akan mempunyai sedikit variasi kemungkinan untuk melakukan crossover antara orangtua karena hanya sebagian kecil dari search space yang dipakai. Sebaliknya jika terlalu banyak maka algoritma genetik akan berjalan lambat. 4. Jumlah Populasi Menetukan jumlah populasi atau banyaknya generasi yang dihasilkan, digunakan sebagai batas akhir proses seleksi, persilangan dan mutasi. 2.1.6 Rapid Application Development (RAD) Rapid Application Development (RAD) adalah model pengembangan sistem yang melakukan beberapa penyesuaian terhadap System Development Life Cycle (SDLC) pada beberapa bagian sehingga lebih cepat untuk sampai ke tangan pengguna sistem. RAD adalah sebuah strategi pengembangan sistem yang menekankan kecepatan pengembangan melalui keterlibatan pengguna yang ekstensif dalam konstruksi, cepat, berulang dan bertambah ke serangkaian
  • 36. 19 prototype atau prototype yang bekerja ke sebuah sistem yang pada akhirnya berkembang kedalam sistem final. Pemaparan konsep yang lebih spesifik lagi dijelaskan oleh Pressman (2005) dalam bukunya, “Software Engineering: A Practition’s Approach”. Ia mengatakan bahwa RAD adalah proses model perangkat lunak inkremental yang menekankan siklus pengembangan yang singkat. Model RAD adalah sebuah adaptasi “kecepatan tinggi” dari model waterfall, di mana perkembangan pesat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. Jika tiap-tiap kebutuhan dan batasan ruang lingkup projek telah diketahui dengan baik, Proses RAD memungkinkan tim pengembang untuk menciptakan sebuah “sistem yang berfungsi penuh” dalam jangka waktu yang sangat singkat. Dari penjelasan Pressman (2012) ini, satu perhatian khusus mengenai metodologi RAD dapat diketahui, yakni implementasi metode RAD akan berjalan maksimal jika pengembang aplikasi telah merumuskan kebutuhan dan ruang lingkup pengembangan aplikasi dengan baik. Sedangkan menurut Kendall (2010), RAD adalah suatu pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode pengembangan serta perangkat-perangkat lunak. RAD bertujuan mempersingkat waktu yang biasanya diperlukan dalam siklus hidup pengembangan sistem tradisional antara perancangan dan penerapan suatu sistem informasi. Pada akhirnya, RAD sama-sama berusaha memenuhi syarat-syarat bisnis yang berubah secara cepat.
  • 37. 20 Gambar 2.3 Siklus RAD (Kendall, 2010) 2.2 Proses Algoritma Genetika 2.2.1 Individu / Kromosom Individu yang digunakan dalam proses pembuatan jadwal perkuliahan ini yaitu diambil dari kode mata kuliah dan kode dosen yang di jadikan gen dari data yang tela diinput, dan setiap gen mewakili mata kuliah tertentu dan dosen yang mengajar yang dinyatakan dalam suatu kode dalam bentuk integer. 2.2.2 Fitness Fitness dari jadwal kuliah dilakukan dengan menghitung jumlah mata kuliah dan dosen yang mengajar dalam satu waktu. Terdapat tiga fungsi fitness yaitu fitness, fitnessInduk dan fitnessAnak. Dimana ketiganya mempunyai algoritma yang sama. 2.2.3 Membangkitkan Populasi Awal Dari pendefinisian individu yang telah dilakukan diatas, selanjutnya proses pertama yang dilakukan adalah membangkitkan N individu sesuai dengan jumlah
  • 38. 21 individu (N) yang dimasukan oleh user dalam bentuk integer dari jadwal kuliah yang dibangkitkan secara acak. 2.2.4 Seleksi Proses menyeleksi individu yang bisa dijadikan induk untuk proses selanjutnya dengan membangkitkan bilangan random sebanyak jumlah fitness dan memilih individu tersebut sebagai induk berdasarkan nilai fitness yang terpilih. 2.2.5 Crossover Proses ini menyilangkan induk yang telah terseleksi dengan metode crossover langsung. Metodenya adalah mengacak 2 bilangan r1 dan r2 dengan r1 adalah batas awal dan r2 adalah batas akhir. 2.2.6 Mutasi Proses mutasi dalam jadwal mencari 2 gen dalam satu record yang dilakuakn secara acak.kemudian menukar diantara kedua gen tersebut. 2.3 Tool Yang Digunakan 2.3.1 Microsoft Visual Basic 2010 Menurut (Budi Prayudi 2012) Visual Studio .NET adalah sebuah tools pengembangan perangkat lunak untuk membangun aplikasi ASP Web, layanan XML Web, aplikasi desktop, dan aplikasi mobile. Visual Basic .NET, Visual C++ .NET, Visual C# .NET, dan Visual J# .NET semuanya menggunakan Integrated Development Environment (IDE) atau lingkungan pengembangan terintegrasi yang sama, yang membolehkan mereka untuk saling berbagi tools dan fasilitas dalam pembuatan solusi yang memadukan beberapa bahasa (mixed-language solutions). Selain itu, bahasa-bahasa ini mempengaruhi fungsionalitas dari .NET
  • 39. 22 Framework, dan menyediakan pengaksesan ke kunci teknologi yang menyederhanakan proses pengembangan dari aplikasi ASP Web dan layanan XML Web. Ada banyak perubahan dalam VBNet 2010 ini dibandingkan VB6, antara lain: 1. Bahasa pemprograman sekarang benar-benar bahasa berbasis objek (Object Oriented Programming), sedangkan VB6 bukan bahasa berbasis objek. 2. Aplikasi dan komponen yang ditulis di VBNet 2010 mempunyai akses penuh ke Net Framework, sedangkan di VB6 tidak dikenal atau tidak digunakan Net Framework. 3. Semua aplikasi yang dibuat beroperasi dalam manajemen Common Language Runtime (CLR). 2.3.2 Sql Server Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact- SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar. ( http://microsoft.com ) Menurut Wood, Leiter dan Turley (2007:1-5), SQL Server 2005 merupakan sebuah Relational Database Management System (RDBMS). Pada SQL Server 2005 merupakan lanjutan atau pengembangan feature-feature dari
  • 40. 23 produk SQL Server sebelumnya. Sebagai tamabahan SQL Server 2005 juga mempunyai kemampuan pelaporan yang kaya, analisis data yang kuat, dan data mining. Komponen utama dari SQL Server adalah engine basis data. Engine basis data ini merupakan Online Transaction Processing (OLTP) dari SQL Server. Engine basis data dari SQL Server terdapat beberapa pengembangan untuk mendukung scalability, availability, dan kemajuan ( dan juga keamanan). Seperti :  Partisi fisik tabel dan indeks  Pemicu Data Definition Language (DDL)  Lanjutan dari tipe data panjang variable  Tipe data XML  Multiple Active Result Set (MARS)  Penanganan error terstruktur Menurut Rizky Sotem dalam bukunya yang berjudul Panduan Belajar SQL Sqerver 2005 Express Edition, SQL Server memiliki keistimewaan, yaitu :  Microsoft SQL Server lebih mudah digunakan dan memiliki lebih banyak fitur.  Pemicunya antara lain adalah dukungan penuh dari Microsoft. Perangkat lunak yang ditawarkan oleh Microsoft juga menawarkan integrasi yang erat dengan .NET framework, dan ini tidak dimiliki oleh produk lain.  Microsoft SQL Server memiliki sejumlah fitur dalam restorasi data dan pemulihan data.
  • 41. 24 2.4 Pemodelan UML 2.4.1 Pemodelan Sistem Dengan UML Menurut Munawar (2005:17) UML (Unified Modelling Language) adalah Salah satu alat bantu yang sangat handal di dunia pengembangan system yang berorientasi objek. Hal ini di sebabkan karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembang sistem untuk membuat rancangan aplikasi yang mudah dimengerti. Gambar 2.4 Pemodelan UML (Munawar, 2005) 2.4.2 Use Case Menurut Munawar (2005:64) Use case adalah deskripsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antar user(pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor
  • 42. 25 adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu apabila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan clien, dan merancang test case untuk semua feature yang ada pada sistem. Gambar 2.5 Use Case Diagram (Munawar, 2005) 2.4.3 Activity Diagram Menurut (Adi Nugroho 2005: 61) dalam buku Rational Rose Untuk Pemodelan Berorientasi Objek, Activity diagram adalah salah satu cara untuk memodelkan event – event yang terjadi dalam suatu usecase. Diagram ini juga bisa di gantikan dengan sejumlah teks. Namun, penggunaan teks terlalu sulit untuk dipahami, terutama jika aliran – aliran event yang memiliki alternatif sehingga activity diagram yang bersifat garis lebih mudah di mengerti. Activity diagram digunakan untuk memodelkan aspek dinamis dari sistem, yang memperlihatkan aliran kendali dari suatu aktifitas ke aktifitas lainnya.
  • 43. 26 Gambar 2.6 Activity Diagram (Adi Nugroho,2005) 2.4.4 Sequence Diagram Menurut (Adi Nugroho 2005) dalam buku Rational Rose Untuk Pemodelan Berorientasi Objek, sequence diagram adalah iteraksi diagram yang memperlihatkan event – event yang berurutan sepanjang waktu menjelaskan secara detail urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi.
  • 44. 27 Gambar 2.7 Sequence Diagram (Adi Nugroho, 2005)
  • 45. BAB III ANALISIS DAN PERANCANGAN 3.1 Analisa Sistem dengan Metode Algoritma Genetika Metode yang digunakan adalah algoritma genetika karena dapat menyelesaikan permasalahan penjadwalan perkuliahan yang sangat rumit dan kompleks. Algoritma genetika merupakan metode pencarian dimana dalam proses encoding (pengkodean) menghasilkan string yang kemudian disebut kromosom yang terdiri dari sekumpulan bit-bit. Bit-bit ini dikenal sebagai penyusun sebuah kromosom. Jadi satu kromosom terdiri dari gen-gen. Gen dalam kasus ini adalah urutan tabel mata kuliah, tabel dosen, jadwal ruangan dan waktu telah dikodekan terlebih dahulu sehingga membentuk suatu kromosom, berarti bahwa panjang kromosom akan sesuai dengan jumlah penjadwalan perkuliahan. Sedangkan individu merupakan kumpulan kromosom, dalam kasus ini satu individu memiliki satu kromosom. Sedangkan populasi, merupakan kumpulan individu yang telah ditentukan jumlahnya oleh user. 3.2 Rancangan Sistem Proses rancangan sistem algoritma genetika pada penjadwalan perkuliahan terdiri dari proses data input, Pembentukan Kromosom dari Populasi, Evaluasi Fitness, Seleksi Poses, Perkawinan Silang (Crossevor, Proses Mutasi dan Kondisi selesai. Rancangan sistem dapat dijelaskan melalui flowchart. Flowchart adalah bagan-bagan yang menggambarkan langkah-langkah suatu masalah. Dibawah ini adalah flowchart algoritma genetika untuk menetukan permasalahan penjadwalan perkulihan.
  • 46. 29 Gambar 3.1 Diagram Alir Perancangan Sistem (Flowchart) 3.2.1 Use Case Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem dan bukan “bagaimana”. Sebuah use case mempresentasikan sebuah interaksi antara aktor dengan sistem.  a = mengambil total jumlah mata kuliah ( 35 kromosom)  b = mengambil total jumlah kode dosen ( 7 kromosom)  c = mengambil jumlah ruang ( 9 kromosom)  d = mengambil total waktu ( 8 kromosom)  e = mengambil total semester (4 koromoson)
  • 47. 30 Gambar 3.2 Use case diagram Berdasarkan Use Case pada gambar 3.2 dapat terlihat bahwa terdapat 2 aktor (Petugas, Jurusan dan PA) yang menggunakan aplikasi tersebut. Berikut ini akan di jelaskan peran-peran aktor Use Case diagram pada Aplikasi Penjadwalan. Tabel 3.1 Peran Aktor Petugas Penjadwal Aktor Use Case Deskripsi Petugas Penjadwal - Menambah / Merubah Data Dosen. - Menambah dan Merubah data Dosen yang akan mengajar - Menambah / Merubah Data Mata Kuliah - Menambah dan merubah data Mata Kuliah yang akan di Ajarkan
  • 48. 31 - Menambah / Merubah Data Ruangan - Menambah dan Merubah data Ruangan yang akan dipakai - Menamah / Merubah Data Jam Kuliah - Menambah dan Merubah data Jam Kuliah yang akan digunakan pada perkuliahan - Generate Jadwal - Membuat Jadwal Perkuliahan yang akan digunakan - Hasil Jadwal Kuliah - Melihat Jadwal Perkuliahan yang telah dibuat Tabel 3.2 Peran Aktor Jurusan dan Pembimbing Akademik Aktor Use Case Deskripsi Jurusan dan Pembimbing Akademik - Hasil Jadwal Kuliah - Melihat Jadwal Perkuliahan yang telah dibuat
  • 49. 32 3.2.2 Activity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. A. Activity Diagram Login Gambar 3.3 Activity Diagram Login Berdasarkan gambar 3.3 terlihat aktivitas dari Aplikasi Penjadwalan dengan Algoritma Genetika, yaitu pertama-tama seorang aktor (petugas) harus membuka aplikasi, kemudian petugas harus melakukan login, apabila valid maka petugas akan masuk ke menu utama sedangkan jika tidak valid maka admin harus melakukan login ulang.
  • 50. 33 B. Activity Diagram Input Data Gambar 3.4 Activity Diagram Input Data Berdasarkan gambar 3.4 terlihat aktivitas untuk menambah dan merubah data, yaitu pertama-tama petugas harus membuka aplikasi, kemudian petugas harus melakukan login, apabila valid maka petugas akan masuk ke menu utama, sedangkan jika tidak valid maka Petugas harus melakukan Login ulang.
  • 51. 34 Setalah login, petugas akan masuk ke menu utama dan setelah itu petugas akan memilih menu mana yang akan di input. Setelah memilih menu, petugas bias memilih apakah akan menambah atau merubah data yang sudah ada. Activity diagram input data ini berfungsi untuk Menambah atau merubah data pada data dosen, data mata kuliah, data ruangan, dan data jam kuliah. C. Activity Diagram Generte Jadwal Gambar 3.5 Activity Diagram Generate Jadwal (Algoritma Genetika) Berdasarkan gambar 3.4 terlihat aktivitas untuk menambah dan merubah data, yaitu pertama-tama petugas harus membuka aplikasi, kemudian petugas harus melakukan login, apabila valid maka petugas akan masuk ke menu utama, sedangkan jika tidak valid maka Petugas harus melakukan Login ulang.
  • 52. 35 Setalah login, petugas akan masuk ke menu utama dan setelah itu petugas akan memilih menu Generate Jadwal, setelah itu system akan membuat jadwal secara otomatis sesuai metode yang dipakai yaitu Algoritma Genetika. D. Activity Diagram Laporan . Gambar 3.6 Activity Diagram Laporan Berdasarkan gambar 3.4 terlihat aktivitas untuk menambah dan merubah data, yaitu pertama-tama petugas harus membuka aplikasi, kemudian petugas harus melakukan login, apabila valid maka petugas akan masuk ke menu utama, sedangkan jika tidak valid maka Petugas harus melakukan Login ulang.
  • 53. 36 Setalah login, petugas akan masuk ke menu utama dan setelah itu petugas akan memilih menu Laporan. Setelah memilih menu petugas bias melihat laporan yang ada, yaitu laporan Jadwal, laporan Dosen dan laporan Mata kuliah. 3.2.3 Sequence Diagram Sequence Diagram digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai sebuah respon dari suatu kejadian/event untuk menghasilkan output tertentu. Berikut Sequence diagram yang terdapat pada aplikasi Penjadwalan Perkuliahan dengan Algoritma Genetika. A. Sequence diagram login Pada sequence diagram login di bawah ini, petugas akan memasukan username dan password. Jika username dan password valid, maka petugas akan masuk ke menu utama. Tetapi jika username dan password tidak cocok, maka petugas akan diminta untuk mengisi kembali. Gambar 3.7 Sequence diagram Login
  • 54. 37 B. Sequence diagram Input Data Pada sequence diagram input data di bawah ini, petugas akan menambah data yang ingin di masukan ke dalam database seperti data Dosen, Mahasiswa, Mata Kuliah, Ruangan, dan Jam mata kuliah. Seluruh data yang disimpan ke database akan ditampilkan di datagrid yang ada di masing-masing form. Gambar 3.8 Sequence Diagram Input Data C. Sequence diagram Laporan Pada sequence diagram laporan dibawah ini, petugas, pembimbing akademik maupun pihak jurusan masuk ke form laporan, kemudian memilih laporan apa yang akan dicetak.
  • 55. 38 Gambar 3.9 Sequence Diagram Laporan 3.3 Rancangan Database Database sangat dibutuhkan dalam pembuatan aplikasi ini terutama pada penyimpanan data-data yang dibutuhkan dalam membuat jadwal perkuliahan. Berikut merupakan rancangan database yang dibutuhkan pada pembuatan aplikasi pembuatan jadwal perkuliahan 3.3.1 Tabel Login Tabel login digunakan untuk menyinpan data siapa saja yang erhak untuk menggunakan aplikasi membuat jadwal perkuliahan ini. Gambar 3.10 Struktur Tabel Login
  • 56. 39 3.3.2 Tabel Dosen Table dosen digunakan untuk menyimpan informasi tentang data dosen yang akan mengajar di jurusan Teknik Informatika Universitas Darma Persada. Gambar 3.11 Struktur Tabel Dosen 3.3.3 Tabel Mata Kuliah Tabel mata kuliah digunakan untuk menyimpan informasi tentang data mata kuliah yang akan di ajarkan di jurusan Teknik Informatika Universitas Darma Persada. Gambar 3.12 Struktur Tabel Mata Kuliah
  • 57. 40 3.3.4 Tabel Hari Table hari digunakan untuk menyimpan informasi tentang data hari-hari apa saja yang akan digunakan dalam kegiatan perkuliahan. Gambar 3.13 Struktur Tabel Hari 3.3.5 Tabel Jam Table jam digunakan untuk menyimpan informasi tentang data jam-jam berapa saja yang akan digunakan dalam kegiatan perkuliahan. Gambar 3.14 Struktur Tabel Jam 3.3.6 Tabel Ruang Table ruang digunakan untuk menyimpan informasi tentang data ruang- ruang mana saja yang akan digunakan dalam kegiatan perkuliahan.
  • 58. 41 Gambar 3.15 Struktur Tabel Ruang 3.3.7 Tabel Pengampu Tabel pengampu digunakan untuk menyimpan informasi tentang mata kuliah yang dipertanggung jawabkan kepada dosen untuk kegiatan perkuliahan. Gambar 3.16 Struktur Tabel Pengampu 3.3.8 Tabel Kesediaan Tabel kesediaan digunakan untuk menyimpan informasi tentang hari-hari dimana dosen berhalangan / tidak bias mengajar perkuliahan.
  • 59. 42 Gambar 3.17 Struktur Tabel Kesediaan 3.3.9 Tabel Jadwal Tabel jadwal digunakan untuk menyimpan informasi tentang jadwal perkuliahan yang telah dibuat dan akan digunakan dalam perkuliahan. Gambar 3.18 Struktur Tabel Jadwal 3.4 Diagram Relasi Database Diagram yang menggambarkan relasi / hubungan antara setiap tabel yang saling berinteraksi dalam database.
  • 60. 43 Gambar 3.19 Relasi Tabel Didalam Database 3.5 Rancangan Tampilan 3.5.1 Menu Login Gambar 3.20 Rancangan Menu Login Gambar 3.19 merupakan tampilan menu login dimana petugas login disini untuk masuk ke dalam menu utama. Keterangan : : Garis relasi antar table : Perintah INNER JOIN antar table
  • 61. 44 3.5.2 Menu Utama Gambar 3.21 Rancangan Menu Utama Gambar 3.20 merupakan tampilan menu utama dimana terdapat menu- menu yg bias dipilih petugas dalam menjalankan aplikasi seperti, data dosen, mata kuliah, ruang, jam & hari, dan juga laporan. 3.5.3 Menu Input Data Dosen Gambar 3.22 Rancangan Menu Dosen
  • 62. 45 Gambar 3.21 Merupakan tampilan menu dosen dimana petugas mengolah segala informasi tentang dosen, seperti NIDN, nama, alamat dan telepon. 3.5.4 Menu Input Data Mata Kuliah Gambar 3.23 Rancangan Menu Mata Kuliah Gambar 3.22 merupakan tampilan menu mata kuliah dimana petugas mengolah segala informasi tentang mata kuliah, seperti kode mata kuliah, nama mata kuliah, sks, semester dan kategori (teori & praktek).
  • 63. 46 3.5.5 Menu Input Data Ruang Gambar 3.24 Rancangan Menu Ruang Kuliah Gambar 3.23 merupakan tampilan menu ruang kuliah dimana petugas mengolah segala informasi tentang ruang yang akan dipakai untuk perkuliahan, seperti nama ruang, kapasitas ruang, dan jenis ruang. 3.5.6 Menu Input Data Hari & Jam Gambar 3.25 Rancangan Menu Hari & Jam
  • 64. 47 Gambar 3.24 merupakan tampilan menu hari & jam dimana petugas mengolah segala informasi tentang hari & jam yang digunakan untuk perkuliahan, seperti kode hari, nama hari, sesi jam kuliah dan range jam kuliah. 3.5.7 Menu Input Dosen Pengampu Gambar 3.26 Rancangan Menu Dosen Pengampu Gambar 3.25 merupakan tampilan menu dosen pengampu dimana petugas mengolah segala informasi tentang matakuliah yang akan di ajarkan oleh dosen.
  • 65. 48 3.5.8 Menu Input Kesediaan Dosen Gambar 3.27 Rancangan Menu Kesediaan Dosen Gambar 3.26 merupakan rancangan menu kesediaan dosen dimana petugas mengolah informasi tentang hari dimana dosen tidak bisa mengajar. 3.5.9 Menu Input Generte Jadwal Gambar 3.28 Rancangan Menu Generate Jadwal
  • 66. 49 Gambar 3.27 merupakan rancangan menu generate jadwal dimana petugas membuat jadwal perkuliahan yang akan digunakan dalam perkuliahan. 3.6 Rancangan Laporan Gambar 3.29 Rancangan Menu Laporan Gambar 3.28 merupakan rancangan menu laporan diamana seluruh pengguna aplikasi ini bisa melihat laporan-laporan yang telah dibuat oleh petugas, seperti laporan data dosen dan laporan jadwal perkuliahan.
  • 67. BAB IV IMPLEMENTASI SISTEM DAN EVALUASI SISTEM 4.1 Implementasi Sistem Pada bab ini akan menjelaskan hasil dari Aplikasi Optimasi Penjadwalan Perkuliahan dengan Metode Algoritma Genetika. Sesuai dengan alanisis-analisis kebutuhan yang sudah didapatkan, dengan menerapkan teori yang sudah ditentukan dalam membangun aplikasi dengan Algoritma genetika. Sekaligus untuk menjelaskan bagaimana system ini berjalan dan digunakan. Implementasi dari Aplikasi Optimasi Penjadwalan Perkuliahan dengan Metode Algoritma Genetika terbagi atas Hardware dan Software. 4.1.1 Hardware Perancangan dan uji coba ini dilakukan dengan menggunakan sebuah computer portable dengan konfigurasi sebagi berikut:  Perangkat Leptop Intel Core i3-2370M  Memory RAM 2 GB  Hardisk 500 GB  Sistem operasi Windows 7 Ultimate 32bit 4.1.2 Software Rancangan perangkat lunak yang digunakan dalam membuat aplikasi ini adalah menggunakan Microsoft Visual Studio 2010 sebagai sarana bahasa pemrograman yang berbasi windows, dan SQL Server 2008 R2 sebagai perangkat lunak sistem database, serta SAP Crystal Report sebagai perangkat lunak untuk membuat laporan.
  • 68. 51 4.2 Implementasi Aplikasi 4.2.1 Rancangan Tampilan Login Pada saat aplikasi dibuka, maka tampilan pertama yang muncul adalah tampilan login. Petugas harus mengisi username dan password untuk masuk ke menu utama. Di bawah ini adalah tampilan login. Gambar 4.1 Tampilan Login 4.2.2 Rancangan Tampilan Menu Utama Admin Setelah login, maka akan muncul tampilan menu utama dan akan muncul pula status login sebagai administrator. Dalam menu utama sebagai administrator, admin dapat mengakses semua fitur yang ada di dalam aplikasi. Di bawah ini adalah tampilan menu utama administrator.
  • 69. 52 Gambar 4.2 Tampilan Menu Utama Administrator 4.2.3 Rancangan Tampilan Menu Utama User Untuk pengguna / user selain admin, dapat pula mengkases menu utama yang dikhususkan untuk pengguna / user selain admin. Dalam menu utama pengguna / user hanya terdapat menu laporan yang dapat diakses, pada menu laporan tersebut terdapat sub menu seperti laporan jadwal dan laporan data dosen. Di bawah ini adalah tampilan menu utam pengguna / user.
  • 70. 53 Gambar 4.3 Tampilan Menu Utama User 4.2.4 Rancangan Tampilan Input Data Dosen Ketika login sebagai admin, dan admin memilih menu Data di menu utama, maka terdapat pilihan menu lain seperti dosen, mata kuliah, ruang, hari & jam. Setelah admin memilih menu dosen, maka akan muncul tampilan yang berfungsi untuk menginput segala informasi tentang dosen. Di bawah ini adalah tampilan input data dosen. Gambar 4.4 Tampilan Input Data Dosen
  • 71. 54 4.2.5 Rancangan Tampilan Input Mata Kuliah Ketika login sebagai admin, dan admin memilih menu Data di menu utama, maka terdapat pilihan menu lain seperti dosen, mata kuliah, ruang, hari & jam. Setelah admin memilih menu mata kuliah, maka akan muncul tampilan yang berfungsi untuk menginput segala informasi tentang mata kuliah. Di bawah ini adalah tampilan input mata kuliah. Gambar 4.5 Tampilan Menu Data Mata Kuliah 4.2.6 Rancangan Tampilan Input Data Ruang Ketika login sebagai admin, dan admin memilih menu Data di menu utama, maka terdapat pilihan menu lain seperti dosen, mata kuliah, ruang, hari & jam. Setelah admin memilih menu ruang, maka akan muncul tampilan yang berfungsi untuk menginput segala informasi tentang ruang yang akan dipakasi dalam kegiatan perkuliahan. Di bawah ini adalah tampilan input data ruang.
  • 72. 55 Gambar 4.6 Tampilan Menu Data Ruang 4.2.7 Rancangan Tampilan Input Data Hari & Jam Ketika login sebagai admin, dan admin memilih menu Data di menu utama, maka terdapat pilihan menu lain seperti dosen, mata kuliah, ruang, hari & jam. Setelah admin memilih menu hari & jam, maka akan muncul tampilan yang berfungsi untuk menginput segala informasi tentang hari & jam yang akan digunakan dalam perkuliahan. Di bawah ini adalah tampilan input data ruang & jam.
  • 73. 56 Gambar 4.7 Tampilan Menu Data Hari & Jam 4.2.8 Rancangan Tampilan Input Data Pengampu Ketika login sebagai admin, dan admin memilih menu dosen, maka akan terdapat pilihan menu lain yaitu pengampu dan kesediaan. Setelah admin memilih menu pengampu, maka akan muncul tampilan yang berfungsi untuk menginput segala informasi tentang data dosen dan mata kuliah yang akan diajarkan oleh dosen yang bersangkuta. Di bawah ini adalah tampilan input data pengampu.
  • 74. 57 Gambar 4.8 Tampilan Menu Data Pengampu 4.2.9 Rancangan Tampilan Input Data Kesediaan Ketika login sebagai admin, dan admin memilih menu dosen, maka akan terdapat pilihan menu lain yaitu pengampu dan kesediaan. Setelah admin memilih menu kesediaan, maka akan muncul tampilan yang berfungsi untuk menginput segala informasi tentang data kesediaan dosen mengajar dalam waktu 1 minggu. Di bawah ini adalah tampilan input data kesediaan.
  • 75. 58 Gambar 4.9 Tampilan Menu Data Kesediaan 4.2.10 Rancangan Tampilan Generate Jadwal Ketika login sebagai admin, dan admin memilih menu jadwal, maka hanya akan terdapat satu menu, yaitu menu proses. Setelah admin memilih menu proses maka akan muncul tampilan yang berfungsi untuk membuat jadwal yang akan digunakan dalam perkuliahan pada satu tahun pelajaran. Di bawah ini adalah tampilan proses pembuatan jadwal. Gambar 4.10 Tampilan menu Generate Jadwal
  • 76. 59 4.2.11 Rancangan Tampilan Laporan Ketika memilih menu laporan, maka akan terdapat pilihan menu lain, yaitu menu jadwal dan dosen. Setelah memilih salah satu dari menu laporan jadwal atau dosen, maka akan muncul tampilan yang berfungsi untuk melihat laporan hasil generate jadwal dan laporan data dosen. Di bawah ini adalah tampilan laporan jadwal dan dosen. A. Laporan Jadwal Gambar 4.11 Tampilan Laporan Jadwal B. Laporan Data Dosen Gambar 4.12 Tampilan Laporan Dosen
  • 77. 60 4.3 Sekilas Program 4.3.1 Membangkitkan populasi awal Adapun proses algortima genetika pertama yang dilakukan adalah membangkitkan populasi awal. Dimana user dalam bentuk integer dari data jadwal perkuliahan yang akan diambil dan dibangkitkan secara acak. Berikut coding untuk membangkitkan populasi awal : Dim jumkelas As Integer = 10 Dim jumSemester As Integer Dim arSks(jumkelas) As Integer Dim arFitness(jumkelas) As Integer Dim arSemester(jumkelas) As String Dim ar(10, 40) As String cmd = New SqlCommand("Select DISTINCT semester FROM TblPengampu ", koneksi.koneksi) rd = cmd.ExecuteReader Dim semester As String Dim m As Integer m = 0 While rd.Read() semester = rd("semester") arSemester(m) = semester Console.WriteLine("Semester-" + semester) cmd2 = New SqlCommand("Select * FROM TblPengampu where semester ='" & semester & "'", koneksi.koneksi) rd2 = cmd2.ExecuteReader Dim kode_dosen, kode_mk, kode As String Dim n As Integer n = 0 While rd2.Read() kode_dosen = rd2("kode_dosen") kode_mk = rd2("kode_mk") kode = rd2("kode") Dim js, i As Integer js = getSks(kode_mk) For i = 1 To js 'Console.WriteLine(kode) ar(m, n) = kode_mk Console.WriteLine(" =[" & ar(m, n) & "]") n = n + 1 Next i End While arSks(m) = n m = m + 1 End While jumSemester = m
  • 78. 61 4.3.2 Menghitung nilai fitness Proses kedua yang dilakukan adalah menghitung nilai fitness dari setiap individu dengan rumus dan algoritma yang telah ditetapkan dalam algortima genetika. Berikut coding yang digunakan: 4.3.3 Crossover Proses ini menyilangkan induk yang telah terseleksi dengan metode crossover langsung. Metodenya adalah mengacak 2 bilangan r1 dan r2 dengan r1 J = jumlah sks awal yang telah dibangkitkan Jj = sksmax = jumlah maksimal sks yang akan diolah Fitness = fitness +1 Keterangan : Jumlah fitness akan disimpan dalam array dan akan dicetak dalam arFitness(j) Dim jj, fitness As Integer For j = 0 To jumSemester - 1 Console.WriteLine("Fitness semester " & arSemester(j) & ":" & arSks(j)) fitness = 0 For jj = 0 To jumSemester - 1 If Not j = jj Then Dim sksmax As Integer sksmax = arSks(jj) If arSks(j) < arSks(jj) Then sksmax = arSks(j) End If For k = 0 To sksmax - 1 Dim data1 As String = ar(j, k) Dim data2 As String = ar(jj, k) Dim ar1() As String = data1.Split(":") Dim ar2() As String = data2.Split(":") If data1(0) = data2(0) Then fitness = fitness + 1 End If Next k End If Next jj arFitness(j) = fitness Console.WriteLine("================Sebesar " & arFitness(j)) Next j M = 0 (populasi semester awal) N = 0 ( populasi sks awal) Js = 0 (data sks yang di bangkitkan) Ar(m,n) = kode mata kuliah yang disimpan dalam array n = n + 1 m = m + 1
  • 79. 62 adalah batas awal dan r2 adalah batas akhir, yang selanjutnya menukan gen r1 sampai r2 pada record. Berikut coding yang digunakan. 4.3.4 Mutasi Proses mutasi adalah untuk mencari 2 gen dalam satu record yang dilakukan secara acak. Kemudian menukar diantar kedua gen tersebut. Berikut coding yang digunaka : For j = 0 To jumSemester - 1 Console.WriteLine("Mutasi-SMST " & arSemester(j) & " :" & arSks(j) & " sks") For k = 0 To arSks(j) - 1 Dim r1, r2 As Integer Dim ran As New Random Dim a As String r1 = ran.Next(arSks(j) + 1) r2 = ran.Next(arSks(j) + 1) a = ar(j, r1) ar(j, r1) = ar(j, k) ar(j, k) = a DgJadwal.Rows.Add() Console.WriteLine(ar(j, r1)) r1 = acak (jumlah jam) r2 = acak (jumlah jam) dummy = anak (m,j,k) anak (j,k) = anak (j, r1 + (r2-r1)) anak (j, r1 + (r2 – r1)) = dummy For j = 0 To jumSemester - 1 Console.WriteLine("Cross-SMST " & arSemester(j) & " :" & arSks(j) & " sks") For k = 0 To arSks(j) - 1 Dim r1, r2 As Integer Dim ran As New Random r1 = ran.Next(arSks(j)) r2 = ran.Next(arSks(j) - r1) Dim dummy As String dummy = ar(j, k) ar(j, k) = ar(j, r1 + (r2 - r1)) ar(j, r1 + (r2 - r1)) = dummy Console.WriteLine(" :" & ar(j, k)) Next k Next j
  • 80. 63 4.4 Analisis hasil Pengujian dilakukan dengan melakukan beberapa percobaan pada aplikasi untuk membuat jadwal perkuliahan dengan algoritma gentika. Dari percobaan yang dilakukan untuk pembuatan jadwal, dilakukan 2 kali proses pembuatan. Berikut hasil yang di peroleh. Tabel 4.1 Tabel Hasil Proses Pertama Hari Kode Mata Kuliah Jam Mata Kuliah Sks Seme ster Dosen Ruang Senin DF4140- 01 08:00- 10:30 Knowledge Management 3 8 Bagus Tri Mahardika, MMSI FT401 Senin IF1051- 01 08.00- 10.30 Prak. Struktur Data 3 2 Suzuki Syofian, M.Kom FT208 Senin IF2033- 02 10.30- 12:00 Prak. Basis Data 1 2 Herianto, S.Pd, MT FT305 Senin IF2051- 01 10.30- 12:00 Statistika 3 2 Bagus Tri Mahardika, MMSI FT402 Senin IF3242- 01 13:30- 16:00 Mobile Computing 3 6 Adam Arif Budiman, ST, M.Kom FT403 Senin DF3182- 01 13:30- 16:00 Prak. Pemrograman Visual Lanjut 4 6 Timor Setiyaningsih, ST, M.Ti FT305 Selasa IF1060- 01 08:00- 10:30 Struktur Data 2 2 Suzuki Syofian, M.Kom FT404 Selasa DF4142- 01 08.00- 10.30 Manajemen Jaringan 3 4 Herianto, S.Pd, MT FT403 Selasa UN2110- 10.30- Monozukuri 3 4 Linda Nur FT404 r1 = acak(jumlah sks) r2 = acak(jumlah sks) a = anak(j, r1) anak(j, r1) = anak (j, k) anak(j, k) = a m = m + 1
  • 81. 64 01 10.30 Data M.Kom Senin IF2033- 02 10.30- 12:00 Prak. Basis Data 1 2 Herianto, S.Pd, MT FT305 Senin IF2051- 01 10.30- 12:00 Statistika 3 2 Bagus Tri Mahardika, MMSI FT402 Senin IF3242- 01 13:30- 16:00 Mobile Computing 3 6 Adam Arif Budiman, ST, M.Kom FT403 Senin DF3182- 01 13:30- 16:00 Prak. Pemrograman Visual Lanjut 4 6 Timor Setiyaningsih, ST, M.Ti FT305 Selasa IF1060- 01 08:00- 10:30 Struktur Data 2 2 Suzuki Syofian, M.Kom FT404 Selasa DF4142- 01 08.00- 10.30 Manajemen Jaringan 3 4 Herianto, S.Pd, MT FT403 Selasa UN2110- 01 10.30- 12:00 Monozukuri 3 4 Linda Nur Afifa, ST., MT. FT404 Selasa IF4052- 01 10.30- 12:00 Komputer dan Masyarakat 4 4 Bagus Tri Mahardika, MMSI FT403 Selasa UN1022- 19P-TRL 13:30- 16:00 Bahasa Inggris II 4 4 Suzuki Syofian, M.Kom FT406 Selasa IF2052- 01 13:30- 16:00 Mikroprosesor & Bhs. Rakitan 3 4 Timor Setiyaningsih, ST, M.Ti FT405 Rabu DF3172- 01 08:00- 10:30 Pemrograman Visual Lanjut 3 6 Timor Setiyaningsih, ST, M.Ti FT403 Rabu UN1040- 01 08.00- 10.30 PPKN 3 2 Aji Setiawan, MMSI FT404 Rabu IF3081- 01 10.30- 12:00 Interpersonal Skill 3 6 Herianto, S.Pd, MT FT401 Rabu FT1082- 01 10.30- 12:00 Kalkulus II 3 2 Aji Setiawan, MMSI FT402 Rabu IF2252- 01 13:30- 16:00 Prak. Pemrograman Internet 3 2 Herianto, S.Pd, MT FT305 Rabu UN1031- 01P-TRL 13:30- 16:00 Bahasa Jepang II 3 4 Linda Nur Afifa, ST., MT. FT404 Kamis DF3162- 01 08:00- 10:30 Prak. Sql Lanjut 2 6 Herianto, S.Pd, MT FT306 Kamis IF3130- 01 08.00- 10.30 Teori Bahasa dan Automata 3 4 Timor Setiyaningsih, ST, M.Ti FT405 Kamis IF3023- 01 10.30- 12:00 Arsitektur & Organisasi Komputer 3 2 Timor Setiyaningsih, ST, M.Ti FT401 Kamis DF3152- 01 10.30- 12:00 Sql Lanjut 3 6 Herianto, S.Pd, MT FT406 Kamis IF2090- 01 13:30- 16:00 Interaksi Manusia & Komputer 3 4 Bagus Tri Mahardika, MMSI FT406
  • 82. 65 Kamis IF2053- 01 13:30- 16:00 Prak. Mikroprosesor & Bhs. Rakitan 3 4 Timor Setiyaningsih, ST, M.Ti FT305 Jumat IF3252- 01 08:00- 10:30 Prak. Mobile Computing 4 6 Adam Arif Budiman, ST, M.Kom FT306 Jumat IF2242- 01 08.00- 10.30 Pemrograman Internet 3 2 Herianto, S.Pd, MT FT404 Jumat IF2231- 01 10.30- 12:00 Sistem Informasi Enterprise 3 4 Timor Setiyaningsih, ST, M.Ti FT404 Jumat IF2032- 01 10.30- 12:00 Basis Data 2 2 Adam Arif Budiman, ST, M.Kom FT406 Jumat UN1032- 08P-TRL 13:30- 16:00 Bahasa Jepang 3 2 Linda Nur Afifa, ST., MT. FT404 Jumat UN1021- 02P-TRL 13:30- 16:00 Bahasa Inggris 2 2 Suzuki Syofian, M.Kom FT406 Tabel 4.2 Tabel Hasil Proses Kedua Hari Kode Mata Kuliah Jam Mata Kuliah Sks Semes ter Dosen Ruang Senin DF4140- 01 08:00- 10:30 Knowledge Management 3 8 Bagus Tri Mahardika, MMSI FT305 Senin DF3172- 01 08.00- 10.30 Pemrograman Visual Lanjut 2 2 Suzuki Syofian, M.Kom FT402 Senin IF3023- 01 10.30- 12:00 Arsitektur & Organisasi Komputer 3 2 Timor Setiyaningsi h, ST, M.Ti FT403 Senin IF3081- 01 10.30- 12:00 Interpersonal Skill 2 6 Herianto, S.Pd, MT FT401 Senin DF3182- 01 13:30- 16:00 Prak. Pemrograman Visual Lanjut 1 6 Timor Setiyaningsi h, ST, M.Ti FT305 Senin IF1051- 01 13:30- 16:00 Prak. Struktur Data 1 2 Suzuki Syofian, M.Kom FT208 Selasa IF2052- 01 08:00- 10:30 Mikroprosesor & Bhs. Rakitan 3 4 Timor Setiyaningsi h, ST, M.Ti FT403 Selasa IF4052- 01 08.00- 10.30 Komputer dan Masyarakat 2 4 Bagus Tri Mahardika, MMSI FT404 Selasa IF2053- 10.30- Prak. 1 4 Timor FT306
  • 83. 66 01 12:00 Mikroprosesor & Bhs. Rakitan Setiyaningsi h, ST, M.Ti Selasa DF4142- 01 10.30- 12:00 Manajemen Jaringan 3 4 Herianto, S.Pd, MT FT404 Selasa IF3242- 01 13:30- 16:00 Mobile Computing 2 6 Adam Arif Budiman, ST, M.Kom FT401 Selasa UN2110- 01 13:30- 16:00 Monozukuri 2 4 Linda Nur Afifa, ST., MT. FT402 Rabu IF2252- 01 08:00- 10:30 Prak. Pemrograman Internet 1 2 Herianto, S.Pd, MT FT305 Rabu UN1032- 08P-TRL 08.00- 10.30 Bahasa Jepang 2 2 Linda Nur Afifa, ST., MT. FT405 Rabu DF3152- 01 10.30- 12:00 Sql Lanjut 2 6 Herianto, S.Pd, MT FT401 Rabu IF1060- 01 10.30- 12:00 Struktur Data 2 2 Suzuki Syofian, M.Kom FT406 Rabu UN1040- 01 13:30- 16:00 PPKN 3 2 Aji Setiawan, MMSI FT406 Rabu DF3162- 01 13:30- 16:00 Prak. Sql Lanjut 1 6 Herianto, S.Pd, MT FT305 Kamis IF3130- 01 08:00- 10:30 Teori Bahasa dan Automata 3 4 Timor Setiyaningsi h, ST, M.Ti FT404 Kamis IF3252- 01 08.00- 10.30 Prak. Mobile Computing 1 6 Adam Arif Budiman, ST, M.Kom FT306 Kamis FT1082- 01 10.30- 12:00 Kalkulus II 3 2 Aji Setiawan, MMSI FT405 Kamis IF2090- 01 10.30- 12:00 Interaksi Manusia & Komputer 3 4 Bagus Tri Mahardika, MMSI FT406 Kamis IF2033- 02 13:30- 16:00 Prak. Basis Data 1 2 Herianto, S.Pd, MT FT305 Kamis IF2231- 01 13:30- 16:00 Sistem Informasi Enterprise 3 4 Timor Setiyaningsi h, ST, M.Ti FT401 Jumat IF2242- 01 08:00- 10:30 Pemrograman Internet 2 2 Herianto, S.Pd, MT FT402 Jumat UN1022- 19P-TRL 08.00- 10.30 Bahasa Inggris II 2 4 Suzuki Syofian, M.Kom FT404
  • 84. 67 Jumat UN1021- 02P-TRL 10.30- 12:00 Bahasa Inggris 2 2 Suzuki Syofian, M.Kom FT404 Jumat IF2032- 01 10.30- 12:00 Basis Data 2 2 Adam Arif Budiman, ST, M.Kom FT406 Jumat UN1031- 01P-TRL 13:30- 16:00 Bahasa Jepang II 2 4 Linda Nur Afifa, ST., MT. FT404 Jumat IF2051- 01 13:30- 16:00 Statistika 3 2 Bagus Tri Mahardika, MMSI FT406 4.5 Evaluasi system Setelah dipersentesikan kepada Ketua Jurusan Teknik Informatika dan 3 orang responden, maka dilakukan beberapa evaluasi. Banyak yang memberi masukan yang merupakan suatu tahap yang penting untuk aplikasi yang telah dibuat, yaitu: 1. Data mata kuliah agar ditambahkan lagi 2. Menu proses agar lebih ditata 3. Istilah dibuat lebih sederhana 4.4.1. Evaluasi Per Modul Aplikasi Tabel 4.3 Tabel Hasil Pengujian Per Modul Aplikasi No Nama Modul Hasil 1. Form login Berjalan
  • 85. 68 2. Form input data dosen Berjalan 3. Form input data mata kuliah Berjalan 4. Form lihat data ruang Berjalan 5. Form input jam & hari Berjalan 6. Form input dosen pengampu Berjalan 7. Form input ketidaksediaan dosen Berjalan 8. Form prosses generate jadwal Berjalan 9. Laporan jadwal kuliah Berjalan 10. Laporan data dosen Berjalan
  • 86. BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan Dari hasil analisa yang telah dilakuka pada bab sebelumnya, dapat diambil beberapa poin kesimpulan sebagai berikut : 1. Algoritma genetika dapat digunakan untuk mengoptimalkan penyusunan jadwal perkuliahan di jurusan Teknik Informatika Universitas Darma Persada. 2. Dalam mengoptimalkan penyusunan jadwal perkuliahan diperlukan empat parameter antara lain jumlah populasi, jumlah generasi, crossover dan mutasi. Besar kecilnya masing-masing parameter sangat mempengaruhi jadwal perkuliahan yang dihasilkan. Semakin besar nilai parameternya maka semakin baik pula nilai fitness yang dihasilkan atau jadwal perkuliahan yang dihasilkan semakin optimal. 3. Kelebihan dari metode algoritma genetika adalah terletak pada pendefinisian fitness yang beragam dan dapat ditambah dengan syarat-syarat yang diinginkan sebagai tambahan fungsi fitness.
  • 87. 70 5.2 Saran Untuk pengembangan sistem yang dibuat, maka diperlukan saran yang dapat membantu proses tersebut, diantaranya adalah : 1. Data yang dikumpulkan untuk membuat jadwal perkuliahan agar ditambah lagi. Agar ketika membuat jadwal yang lebih kompleks, hasil yang di dapat lebih optimal. 2. Metode yang telah digunakan dapat diaplikasikan untuk permasalahan penjadwalan lainnya, seperti penjadwalan perkuliahan dengan data yang jauh lebih kompleks dengan batasan masalah yang jauh lebih kompleks seperti jadwal penerbangan pesawat.
  • 88. Daftar Pustaka Desiani, A. dan Arhami, M. 2006. “Konsep Kecerdasan Buatan”. Yogyakarta : Andi. Gen, Mitsuo dan Runwei Cheng. 1997 “Genetic Algoritm and Engineering Design”. New York : John Wiley & Sons Inc. Goldberg, D.E. 1989 . “Genetik Algorithms In Search, Optimization And Machine Learning”. New York: Addison-Wesley Publishing. Kusumadewi, S. 2003. “Artificial Intelligence (Teknik dan Aplikasinya)”. Yogyakarta: Graha Ilmu. Kusumadewi, S., dan Purnomo, H. 2005. “Penyelesaian Masalah Optimasi Dengan Teknik-Teknik Heuristik”. Yogyakarta : Graha Ilmu. Munawar. 2005. “Pemodelan Visual Menggunakan UML”. Yogyakarta : Graha Ilmu. Nugroho Adi. 2005. “Rational Rose Untuk Pemodelan Berorientasi Objek”. Bandung : Informatika. Prayudi, Budi, Eri Mardiani, & Nur Rahmansyah. 2012. “Aplikasi Penjualan Menggunakan VB.NET”. Jakarta : PT Elex Media Komputindo Risky, Soetam. 2008. “Panduan Belajar SQL Server 2005 Express Edition”. Surabaya : Prestasi Pustaka.
  • 89. Whitten, J.L. & Bentley, L.D. 2004. “System Analysis & Design Methods: Sixth Edition”. New York: Mc.Graw-Hill.
  • 90. Lampiran Coding 1. Modul Koneksi Imports System.Data Imports System.Data.SqlClient Imports System.Security.SecurityException Module koneksi Public da As SqlDataAdapter Public ds As DataSet Public cmd As SqlCommand Public cmd2 As SqlCommand Public rd2 As SqlDataReader Public rd As SqlDataReader Public cmd3 As SqlCommand Public rd3 As SqlDataReader Public str As String Public Function koneksi() As SqlConnection Dim supernothing As New SqlConnection supernothing = New SqlConnection("server=UZY- PCSQLEXPRESS; database=Penjadwalan; Connect Timeout=200; pooling='true'; Max Pool Size=200; trusted_Connection=true") supernothing.Open() Return (supernothing) End Function End Module 2. Form Login Imports System.Data.Sql Imports System.Data.SqlClient Public Class FrmLogin Dim koneksi As SqlConnection Dim Sql, username, password As String Dim cmd As SqlCommand Sub kosongkan() TxtUser.Text = "" TxtPass.Text = "" End Sub Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExit.Click End End Sub Private Sub FormLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim strKoneksi As String strKoneksi = "Data Source=UZY- PCSQLEXPRESS;Initial Catalog=Penjadwalan;Integrated Security=True" koneksi = New SqlConnection(strKoneksi) Try koneksi.Open() Catch ex As Exception End Try End Sub Private Sub BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click Call kosongkan() End Sub Private Sub BtnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLogin.Click If TxtUser.Text = "" Or TxtPass.Text = "" Then MsgBox("Masukan username dan password!!!") Else username = TxtUser.Text password = TxtPass.Text Sql = "select * from TblLogin where Username='" + username + "'and Password='" + password + "'" cmd = New SqlCommand(Sql, koneksi) rd = cmd.ExecuteReader() rd.Read() If rd.HasRows = True Then MsgBox("Anda Berhasil Login!") Me.Visible = False Home.Show() Home.TsUser.Text = rd.GetString(1) Home.TsLevel.Text = rd.GetString(3) Home.DataToolStripMenuItem.Enabled = True Home.DosenToolStripMenuItem1.Enabled = True Home.JadwalToolStripMenuItem.Enabled = True Home.LoginToolStripMenuItem.Visible = False Home.LogoutToolStripMenuItem.Visible = True rd.Close() Else MessageBox.Show("Data Yang Anda Masukkan Salah") Call kosongkan() rd.Close() End If End If
  • 91. TxtUser.Focus() Call kosongkan() End Sub End Class 3. Form Dosen Imports System.Data Imports System.Data.SqlClient Public Class FrmDosen Sub tampilcari() Dim ds As New DataSet Dim da As New SqlDataAdapter("Select * from TblDosen where nidn like '%" & TxtCari.Text & "%' or nama like '%" & TxtCari.Text & "%' ", koneksi.koneksi) da.Fill(ds, "TblDosen") DGDosen.DataSource = ds.Tables("TblDosen") DGDosen.ReadOnly = True Try Koneksi.koneksi.Open() Catch ex As Exception End Try End Sub Sub cari() If TxtCari.Text = "" Then TxtCari.Focus() rd = cmd.ExecuteReader If rd.Read() Then TxtCari.Focus() Return rd.Close() End If Else cmd = New SqlCommand("Select * from TblDosen where nidn like '%" & TxtCari.Text & "%' or nama like '%" & TxtCari.Text & "%' ", koneksi.koneksi) rd = cmd.ExecuteReader rd.Read() Call tampilcari() rd.Close() End If End Sub Sub Kosongkan() TxtNidn.Text = "" TxtNama.Text = "" TxtAlamat.Text = "" TxtTelepon.Text = "" TxtCari.Text = "" TxtNidn.Focus() End Sub Sub batal() TxtNidn.Enabled = False TxtNama.Enabled = False TxtAlamat.Enabled = False TxtTelepon.Enabled = False BtnTambah.Enabled = True BtnHapus.Enabled = True BtnEdit.Enabled = True BtnSimpan.Enabled = False BtnUpdate.Visible = False TxtNidn.Focus() Call Kosongkan() End Sub Sub Tampilkan() Dim ds As New DataSet Dim da As New SqlDataAdapter("Select * from TblDosen ORDER by kode ASC", koneksi.koneksi) da.Fill(ds, "TblDosen") DGDosen.DataSource = ds.Tables("TblDosen") DGDosen.ReadOnly = True Try Koneksi.koneksi.Open() Catch ex As Exception End Try End Sub Private Sub FormAnggota_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call koneksi.koneksi() Call batal() Call Tampilkan() End Sub Private Sub BtnTutup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTutup.Click Call Kosongkan() Me.Close() End Sub Private Sub TxtNomor_KeyPress(ByVal sender As Object, ByVal e As
  • 92. System.Windows.Forms.KeyPressEventArgs) Handles TxtNidn.KeyPress If (InStr("0123456789", e.KeyChar) = 0) And (e.KeyChar <> Chr(8)) Then e.KeyChar = Chr(0) MsgBox("Masukan Angka Saja!!!") End If End Sub Private Sub TxtNama_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtNama.KeyPress If e.KeyChar = Chr(50) Then TxtNama.Text = UCase(TxtNama.Text) TxtNidn.Focus() End If End Sub Private Sub TxtTelepon_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtTelepon.KeyPress If e.KeyChar = Chr(13) Then BtnSimpan.Focus() If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled() = True End Sub Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click If TxtNidn.Text = "" Or TxtNama.Text = "" Or TxtAlamat.Text = "" Or TxtTelepon.Text = "" Then MsgBox("Data Belum Lengkap") Exit Sub Else cmd = New SqlCommand("Select * from TblDosen where nidn='" & TxtNidn.Text & "'", koneksi.koneksi) rd = cmd.ExecuteReader rd.Read() If Not rd.HasRows Then MsgBox("Dosen Berhasil di Tambah!!!") Dim sqltambah As String = "Insert into TblDosen(nidn,nama,alamat,telp) values " & _ "('" & TxtNidn.Text & "','" & TxtNama.Text & "','" & TxtAlamat.Text & "','" & TxtTelepon.Text & "')" cmd = New SqlCommand(sqltambah, Koneksi.koneksi) cmd.ExecuteNonQuery() Call batal() Call Tampilkan() Else MsgBox("Id Telah Terdaftar, coba lagi!!!") Call Kosongkan() Call Tampilkan() End If End If End Sub Private Sub BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click Call batal() End Sub Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click If TxtNidn.Text = "" Then MsgBox("Pilih Dosen Terlebih Dahulu") TxtNidn.Focus() Exit Sub Else If MessageBox.Show("Yakin akan dihapus..?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then cmd = New SqlCommand("Delete from TblDosen where nidn='" & TxtNidn.Text & "'", koneksi.koneksi) cmd.ExecuteReader() Call batal() Call Tampilkan() Else Call Kosongkan() End If End If End Sub Private Sub DGAnggota_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventA rgs) Handles DGDosen.CellContentClick Dim i As Integer i = DGDosen.CurrentRow.Index
  • 93. With DGDosen.Rows.Item(i) txtid.Text = .Cells(0).Value TxtNidn.Text = .Cells(1).Value TxtNama.Text = .Cells(2).Value TxtTelepon.Text = .Cells(4).Value TxtAlamat.Text = .Cells(3).Value End With End Sub Private Sub BtnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUpdate.Click If TxtNidn.Text = "" Then MsgBox("Pilih Dosen Terlebih Dahulu") End If Dim sqledit As String = "Update TblDosen set " & _ "nidn='" & TxtNidn.Text & "', " & _ "nama='" & TxtNama.Text & "', " & _ "alamat='" & TxtAlamat.Text & "', " & _ "telp='" & TxtTelepon.Text & "' where kode='" & txtid.Text & "'" cmd = New SqlCommand(sqledit, Koneksi.koneksi) cmd.ExecuteNonQuery() MsgBox("Data Berhasil di Ubah") Call Tampilkan() Call batal() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTambah.Click TxtNidn.Enabled = True TxtNama.Enabled = True TxtAlamat.Enabled = True TxtTelepon.Enabled = True BtnSimpan.Enabled = True BtnBatal.Enabled = True BtnTambah.Enabled = False BtnEdit.Enabled = False BtnHapus.Enabled = False TxtNidn.Focus() End Sub Private Sub BtnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEdit.Click If TxtNidn.Text = "" Then MsgBox("Pilih Dosen Terlebih Dahulu") Else TxtNidn.Enabled = True TxtNama.Enabled = True TxtAlamat.Enabled = True TxtTelepon.Enabled = True BtnTambah.Enabled = False BtnHapus.Enabled = False BtnBatal.Enabled = True BtnSimpan.Enabled = False BtnUpdate.Visible = True End If End Sub Private Sub TxtCari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtCari.TextChanged Call cari() Call tampilcari() End Sub Private Sub Btnapa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnapa.Click MsgBox("Masukan NIDN atau Nama Dosen!") End Sub End Class 4.