RUSDIANA
(100091020205)
JURUSAN TEKNIK INFORMATIKA
FAI(ULTAS SAINS DAN TEKNOLOGI
UNIVERSIT AS ISLAl\tl NEGE.RI
SY ARIF HIDAYATULLAH
Oleh:
RUSDIANA
100091020205
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
JURUSAN TEKNIK INFORMA.TIKA
FAI\:ULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGEIU
SYAIUF HIDAYATULLAH
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
RUSDIANA
(100091020205)
Mengetahui
Pembimbing II,
Victor Amrizal, M.Kom Khodijah lulliyah, S.Kom
Mengetahui,
Ketua Jurusan Teknik Informatika
\NN⦅L⦅NNLセセMMセセ@ ... MMセセMセ@
Program Studi: Tekoik Infommtika
Judul Skripsi : Optimasi Penjadwalan Kuliah Menggunakan
AlgoritmaGenetika.
Dapat diterima sebagai syarat kelulusan untuk memperoleh gelar Saijana Komputer
pada jurusan Teknik Informatika, Fakultas Sains dan Tekoologi Universitas Islam
Negeri Syarif Hidayatullah Jakarta.
Jakarta, Juli 2004
Menyetujui,
Dosen Pembimbing
Pembimbing I,
Victor Amrizal, M.Kom
d・セL@
DR. Syopiansvlaya Putra, M.S1s NIP. 150 317 965
Pembimbing II,
Khodijah ulliyah, S.Kom
Mengetahui,
Ketua Jurusan,
\jzケスゥNサOlMセM
·-Ir. Bakri La Katjong, MT. M.Kom NIP. 150 317 958
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR
ASLI HASIL I(ARYA SENDJRI YSNG BELUM PERNAH DIAJUKAN SEBAGAI
SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU
LEMBAGA MANAPUN.
Jakarta, Juli 2004
Rusdiana
Metode Algoritma Genetika. (Di bawah bimbingan VICTOR AMRIZAL, M.Kom dan KHODIJAH HULLIYAH S.Kom).
Pembuatan jadwal kuliah yang selama ini masih bersifat manual mcnggunakan file-file excel dirasakan sangat sulit oleh pihak Fakultas Sains dan Teknologi. Hal ini disebabkan terbatasnya kesiapan waktu mengajar dosen (khususnya dosen luar) dan terbatasnya lokal yang tersedia, yang mengakibatkan adanya jadwal kuliah yang bentrok sehingga menghambat proses belajar mengajar.
Untuk mengatasi hal tersebut, penulis melakukan penelitian pada Fakultas Sains dan Teknologi dengan menggunakan metode observasi, metode interview, metode studi pustaka dan metode RAD (Rapid Application dQセカ・ャッーュ・ョエI@ untuk membuat suatu sistem (perangkat lunak) sebagai fasilitas yang membantu dalam pembuatan jadwal kuliah yang diharapkan mampu menempatkan kesiapan mengajar dosen pada lokal yang tersedia secara optimal.
rekombinasi, dan mutasi yang menghasilkan sistem optimasi penjadwalan kuliah.
Segala puji bagi Allah yang telah melimpahkan rahmat, hidayah serta
inayah-Nya sehingga penulis dapat menyelesaikan skripsi ini. Selanjutnya shalawat beserta
salam penulis sampaikan kepada Rasulullah SAW, yang telah membawa umatnya
dari zaman kebodohan menjadi zaman yang penuh dengan ilmu pengetahuan.
Dalarn penyusunan skripsi ini penulis rnenyadari sepenuhnya bahwa
penyelesaian skripsi ini tidak akan berhasil dengan baik tanpa bimbingan serta
dukungan yang pcnuh kctulusan dari berbagai pihak. Untuk itu penulis ingin
mengucapkan terima kasih yang sedalam-dalarnnya kepada:
1. Bapak DR. Syopyansyah Jaya Putra, M.Sis, selaku dekan Fakultas Sains dan
Telmologi.
2. Bapak Viktor Amrizal, M.Korn dan Ibu Khodijah Hulliyah, S.Kom, selaku
pembimbing skripsi yang secara kooperatif telah rnernberikan bimbingan dan
saran-saran yang sangat berharga.
3. Ayahanda Yusuf Arifin dan ibunda Julaeha yang telah rnemberikan dukungan
baik rnoril maupun rnateril dalam menyelesaikan skripsi ini.
4. Kakak dan adik tercinta yang telea11 memberikan bantuan, dukungan dan
saran-saran yang sangat berharga bagi penulis.
5. Naily Ulva Sa'adah, yang telah mernberikan motivasi dan bantuan yang sangat
menyelesaikan skripsi ini.
8. Teman-teman KPA, Anas Dainuri, Alhacli Mustakim, Dedi Ahmad Dinuri, Luthfy
Burhanudin, Ujang Husni!, Dadan Luthfi Firdaus, Dade dan Iman yang telah
membantu dan mendukung dalam pengerjaan skripsi ini.
9. teman- teman kelas yang tak clapat penulis sebutkan satu persatu yang telah
memberikan dukungan dan saran dalam mengerjakan skripsi ini.
"Tidak ada gading yang retak'', penulis menyadari bahwa masih perlu
penyempumaan dalam skripsi ini. Segala saran dan kritik untuk penyempumaan
skripsi ini sangat diharapkan penulis. Akhir kata penulis berharap semoga skripsi ini
dapat memberikan manfaat bagi yang membutuhkan.
Wassalam
Jakarta, Juli 2004
Halaman Sampul ... i
Halaman Judul ... · ... ii
Halaman Persetujuan Pembimbing ... iii
Halaman Pengesahan ... iv
Halaman Pernyataan ... v
Abstraksi ... vi
Kata Pengantar ... vii
Daftar Isi ... x
Daftar Lampiran ... xv
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... I 1.2 Perumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.5 Tujuan dan Manfaat Penelitian ... 3
1.6 Metode Penelitian ... 4
1.6.1 Metode Studi Pusataka ... 4
1.6.2 Metode Interview ... 4
1.6.3 Metode Observasi ... 4
BAB II TINJAUAN PUSTAKA ... 10
2.1 Pengertian Algoritma Genetika ... 11
2.1.1 Pembangkitan dan Pengujian ... 11
2.1.2 Pendakian Bukit ... 11
2.1.3 Pencarian Terbaik Pertama ... 12
2.1.4 Simulated Annealing ... 14
2.2 Struktur Umum Algoritma Genetika ... 15
2.3 Komponen-Komponen Utama Algoritma Genetika ... 16
2.3.1 Teknik Penyandian ... 16
2.3 .2 Prosedur Inisialisasi ... 17
2.3.3 Fungsi Evaluasi ... 17
2.3.4 Seleksi ... 17
2.3.5 Operator Genetika ... 18
2.3.6 Penentuan Parameter ... 18
2.4 Seleksi ... 19
2.4. l Rank Based Fitnees ... 19
2.4.2 Seleksi Roda Roulette ... 19
2.5 Rekombinasi ... 21
2.5. I Rekombinasi Diskret.. ... 21
2.5.2 Rekombinasi Menengah ... 22
2.5.3 Rekombinasi Garis ... 23
2.5.4 Penyilangan Satu Titik ... 24
2.5.5 Penyilangan Banyak Titik ... 24
2.5.6 Penyilangan Seragam ... 25
2.5.7 Penyilangan Dengan Permutasi.. ... 26
2.6 Alat Perancangan Sistem ... 26
2.6.1 STD (State Transition Diagram) ... 27
2.6.2 Spesipikasi Proses ... 29
2.6.3 Struktur Program ... 29
2.7 Sekilas Tentang Delphi 6.0 ... 30
2. 7 .1 Sejarah Delphi ... 30
2.7.2 Mengenal IDE Delphi ... 31
2.8 Sekilas Tentang Paradox ... 36
2.8. I Menu ... 36
BAB IV ANALISA DAN PERANCANGAN SISTEM ...•.•.•... 41
4.1 Analisa Kebutuhan Sistem ... 41
4.2 Konsep Penjadwalan Kuliah Menggunakan Algoritma Genetika ... 41
4.2.1 Prosedur Inisialisasi ... 42
4.2.2 Pembangkitan Populasi Awai ... 45
'1.2.3 Evaluasi ... 46
4.2.4 Seleksi ... 46
4.2.5 Rekombinasi ... 47
4.2.6 Mutasi ... 48
4.3 Perancangan Sistem ... 50
4.3. l Rancangan Proses ... 50
4.3 .2 Rancangan Basis Data ... 52
4.3.3 Rancangan Menu ... 56
BAB V IMPLEMENT ASI ... 63
5.1 Sarana-Sarana Pendukung Sistem Penjadwalan Kuliah ... 63
5 .1.1 Perangkat Keras ... 63
6.1 Kesimpulan ... 76
6.2 Saran ... 77
DAFT AR PUST AKA ... 78
1. Modul Data Dosen ... 76
2. Modul Data Mata Kuliah ... 80
3. Modul Set Data Lokal ... 84
4. Modul Data Kesiapan Mengajar ... 86
5. Modul Data Kesiapan Waktu Mengajar ... 89
6. Modul Proses Pembuatan Jadwal Kuliah ... 90
1.1 Latar Belalrnng
Universitas Islam Negeri (UIN) Syarif Hidayatullah Jakarta, merupakan
salah satu institusi pendidikan tinggi agama 1slam terbesar di Indonesia sejak
tahun 1963 yang kemudian berubah statusnya menjadi sebuah universitas pada
tahun 2002. Perubahan status ini memunculkan program-program studi baru yang
bersifat umum seperti teknik informatika, sistem informasi, agribisnis, MIPA,
ekonomi, manajemen, dan lain-lain. Program studi baru tersebut memerlukan
dosen-dosen yang berkualitas dalam ha! belajar mengajar, yang saat ini masih
menggunakan dosen-dosen dari luar. Adanya dosen-dosen :tuar ini menyebabkan
sulitnya menentukan jadwal kuliah yang tepat sesuai dengan kesiapan waktu
mereka dan lokal yang tersedia, dimana kesiapan waktu mengajar dosen ( dosen
luar) dan lokal sangatlah terbatas.
Kesulitan menentukan jadwal kuliah tersebut dikarenakan proses
pembuatan jadwal kuliah yang masih bersifat manual dalam bentuk arsip dan
file-file micro>oft excel. Proses seperti ini sangat membutuhkan ketelitian dan waktu
yang banyak, sehingga sering kali terjadi jadwal yang bentrok yang menyebabkan
proses belajar mengajar terhan1bat.
Untuk mengatasi kesulitan tersebut, salah satu fakultas yang memiliki
yang dapat memudahkan pembuatan jadwal kuliah ym1g secara otomatis
menempatkan kesiapan mengajar dosen pada lokal yang tersedia secara optimal.
Optimalisasi kesiapan mengajar dosen ini penulis lakukan menggunakmi metode
algoritma genetika yang selmna ini banyak digunakmi untuk menyelesaikmi
masalah optimasi, Orvosh dan Davis (1997, 202).
Berdasarkan latar belakang permasalahan tersebut, maka dilakukan
penelitian terhadap jadwal kuliah Fakultas Sains dm1 Teknologi untuk membuat
fasilitas yang mmnpu mengatasi masalah-masalah diatas clengmi mengmnbil judul
OPTIMASI PENJADW ALAN KULIAH MENGGUNAKAN METODE
ALGORITMA GENETIKA.
1.2 Perumusan Masalah
Permasalahan penelitian ini di runrnskmi sebagai berikut :
a. Bagaimana mernbuat jadwal dosen agar tidak terjadi bentrok.
b. Bagaimmia membuat jadwal kuliah ym1g secara otomatis menempatkmi
kesiapan mengajar dosen pada lokal yang terseclia secara optimal.
c. Bagaimmia menampilkan jadwal kuliah yang clapat dilihat oleh pihak
akaclemik, closen, dan mahasiswa.
1.3 Batasan Masalah
Berclasm·kan penelitimi yang penulis lakukmi, kenyataarmya, bmiyak
mengembangkan sistem ini. Untuk itu penulis batasi ーセョァ・ュ「。ョァ。ョ@ sistem ini
hanya pada optimalisasi kesiapan mengajar dosen untuk shift yang telah
ditetapkan.
1.4 Tujuan dan Manfaat Penelitian
Tujuan penelitian yang penulis lakukan adalah untuk membuat sistem
(perangkat lunak) sebagai fasilitas yang membantu pihak akademik Fakultas
Sains dan Teknologi dalam pembuatan jadwal kuliah yang diharapkan dapat
ditcrapkan scbagai pengganti sistcm yang selama ini masih manual.
Sesuai dcngan pcnnasalahan pcnclitian yang sudah disebutkan, maka
manfaat penelitian dapat dirumuskan sebagai berikut:
a. Manfaat yang bersifat akademis, yaitu : Memberikan sumbangan ilmiah bagi
pengembangan sistem menggunakan metode algoritma genetika.
b. Manfaat yang bersifat praktis, yaitu : Membantu memecahkan
kesulitan-kesulitan yang dihadapi dalam pembuatan jadwal kuliah, diantaranya:
c. Proses pembuatan jadwal kuliah tidak memerlukan waktu yang banyak
(cepat).
d. J adwal kuliah tidak ada yang bentrok.
e. Kendali lokal dapat dilakukan dengan cepat.
1.6 Metodologi Pcnelitian
Untuk memperoleh data clan informasi yang cliperlukan, acla beberapa
metocle yang penulis lakukan :
1.6.1 Metode Studi Pustaka
Yaitu pengumpulan data dan infonnasi dengan ca.ra membaca buku-buku
referensi yang dapat dijadikan acuan pembahasan dalam masalah ini.
1.6.2 Metode Interview
Koentjaraningrat (1985:167) mengartikan interview sebagai sebuah
tindakan pengumpulan informasi dengan cara mengajukan sejumla11
pertanyaan secara lisan dan dijawab secara lisan pula. Dalam ha! ini penulis
mengadakan tanya jawab dengan staff akademik Fakultas Sains dan
Teknologi yang mengurusi pembuatanjaclwal kuliah.
1.6.3 Metode Observasi
Observasi adalah sebuah metode pengumpulan informasi dengan cara
pengamatan atau peninjauan langsung terhaclap obyek penelitian, yaitu
mengumpulkan dan menelaah data-datajadwal kuliah yang telah cliterapkan
di Fakultas Sains dan Teknologi.
1.6.4 Metode Pengembangan Sistem
Pengembangan sistem dalam penelitian ini penulis lakukan menggunakan
tiga tahap siklus pengembangan model RAD (Rapid Aplication
a. Perencanaan Syarat-Syarat
Pada tahap ini masalah, tujuan, dan syarat-syarat informasi
didcfinisikan dari hasil pcngumpulan data dan informasi dari Fakultas
Sains dan Teknologi serta mempelajari proses-proses yang te1jadi
dalam pembuatan jadwal kuliah.
b. Workshop Desain
Pada tahap ini dilakukan perancangan dan kontruksi yang melibatkan
pengguna dan penganalisis dalam mendefinisikan proses-proses bisnis
yang te1jadi.
c. Pelaksanan
Pada tahap ini dilakukan pengujian terhadap sistem dan melakukan
pengenalan terhadap sistem.
1.7 Kerangka Pcmikiran
Jadwal kuliah terdiri dari 6 variabel yang menentukan yaitu dosen, mata
kuliah, hari, shift, semester, dan jurusan. Keenam variabel ini dikombinasikan
(inisialisasi) menjadi kesiapan mengajar dosen dan disimpan dalam basis data.
Agar kesiapan mengajar dosen dapat secara otomotis dibuat dan ditempatkan
pada lokal yang tersedia secara optimal maka semua kesiapan mengajar dosen ini
harus melalui proses algoritma genetika yang disebut GAs (Genetic Algorithms
Sistem) yang terdiri dari proses pembangkitan populasi awal, evaluasi, seleksi,
Data Dosen
Hari
[
SemesterEvaluasi Fungsi Tujuan
Data MataKuliah
Shift
=1
セ@
BASIS JurusanDATA
Inisialisasi Kesiapan Dosen
(Kesiapan Mengajar Dosen)
b。ョァォゥセᄋォ。ᄋᄋᄋᄋキᄋᄋセᄋZᄋpᄋ
Q
ᄋセNセオNi@ セセ@
.. ·; ..···--1·
....
⦅H}O|
U
セ@
__Q⦅]セMMMMMMMMMMM
Tidak
Rekombinasi
Mutasi
OUTPUT (Jadwal Kuliah)
Ya
___.-····
7
[image:21.595.52.413.111.628.2]f1---'
1.7.l Pembangkitan Populasi Awai
Pada proses ini dilakukan pembangkitkan kesiapan mengajar dosen yang
telah diinisialisasi menggunakan keenam data diatas.
1. 7 .2 Evaluasi
Pada proses ini, kesiapan mengajar dosen yang sudah dibangkitkan diatas
dievaluasi dengan menjumlahkan kesiapan mengajar dosen masing-masing.
1.7.3 Seleksi
Proses ini akan menyeleksi kesiapan mengajar dosen yang telah dievaluasi
untuk menentukan kesiapan mengajar dosen mana yang sesuai untuk
menempati lokal yang tersedia. Proses seleksi ini dilakukan dengan
menggunakan hari dan shift yang telah ditetapkan.
1.7.4 Rekombinasi
Setelah proses seleksi dilakukan, kesiapan mengajar dosen hasil seleksi
akan mengalami rekombinasi dengan cara mengambil data hasil seleksi
sebanyak lokal yang tersedia dan melakukan penyilangan (crossover)
terhadap proses seleksi untuk hari dan shift berikutnya.
1.7.5 Mutasi
Proses mutasi akan dilakukan pada kesiapan mengajar dosen yang
benar-benar be! um mendapatkan lokal.
Proses algoritma genetika ini akan dilakukan berulang-nlang sampai
kesiapan mengajar dosen yang telah di inisialisasi kosong (menempati lokal yang
1.8 Sistcmatika Penulisan
BAB I PENDAHULUAN
Dalam bab ini, penulis mengemukakan tentang latar belakang penelitian,
tujuan penelitian, perumusan masalah, batasan masalah, manfaat
penelitian, metodologi penelitian, kerangka pemikiran dan sistematika
penulisan.
BAB II TINJAUAN PUSTAKA
Dalam bab ini, penulis mengemukakan dan membahas teori tentang
pengertian A!goritma Genetika, struktur umum Algoritma Genetika,
komponen-komponen Algoritma Genelika, seleksi, rekombinasi, mutasi,
alat perancangan sistem, sekilas tentang delphi 6.0 sebagai aplikasi yang
digunakan dan paradox sebagai media penyimpanan data dalan1 sistem
penjadawalan kuliah.
BAB III METODE PENELITIAN
Dalam bab ini dijelaskan tahap-tahap pengembangan sistem yang
BAB IV ANALISA DAN PERANCANGAN
Dalam bab ini, penulis menjelaskam analisa kebu.tuhan sistem, konsep
penjadwalan kuliah menggunakan algoritma genetika, perancangan
sistem yang meliputi perancangan proses, perancangan basis data,
perancangan menu perancangan masukan dan perancangan keluaran.
BAB V IMPLEMENT ASI
Dalam bab ini penulis mendeskripsikan sarana-sarana pendukung sistem
penjadwalan kuliah, gambaran modul-modul fungsi program dan rancangan
interface (antamrnka) masing-masing modul.
BAB VI PENUTUP
Dalarn bab ini penulis mencoba rnenyimpulkan
pe1masalahan-perrnasalahan yang dibahas serta mengemukakan saran-saran yang
2.1 Pcngcrtian Algoritma Genetika
Algoritma Genetika adalah algoritma pencarian heuristik yang didasarkan
alas mekanisme evolusi biologis, Sri Kusuma Dewi (2003, 279). Keberagaman
pada evolusi biologis adalah variasi dari kromosom antar individu organisme.
Variasi kromosom ini akan mempengaruhi laju reproduksi dan tingkat
kemampuan organisme untuk !etap hidup. Pada dasarnya1 ada 4 kondisi yang
sangat mempengaruhi proses evolusi, Sri Kusuma Dewi (2003, 279), yaitu :
a. Kemampuan organisme untuk melakukan reproduksi.
b. Keberadaan populasi organisme yang bisa melakukan reproduksi.
c. Keberagaman organisme dalam populasi
d. Perbedaan kemampuan untuk survive.
Ada 4 metode pencarian heuristik, Sri Kusuma Dewi (2003, 31) :
a. Pembamgkitan dan Pengujian (Generate and Test).
b. Pendakian Bukit (Hill Climbing).
c. Pencarian Terbaik Pertama (Best First Search).
2.1.1 Pembangkitan Dan Pengujian (Generate a11d Test).
Pada prinsipnya metode ini merupakan penggabungan antara depth
first search dengan pelacakan mundur (backtracking), yaitu bergerak ke
belakang menuju pada suatu keadaan awal. Nilai pengujian berupajawaban
'ya' atau 'tidak'.
[image:26.595.73.417.172.573.2]B
Gambar 2.1 Metode Generate clan Test
2.1.2 Pendakian Bulat (Hill Climbing).
Metode ini hampir sama dengan metode pembangkitan dan
heuristik. Pembangkitan keadaan berikutnya sangat tergantung pada
feedback dari prosedure pengetesan. Tes yru1g berupa fungsi heuristik ini
akan menunjukkan seberapa baiknya nilai tekanan yang dirunbil terhadap
keadaan-keadaan lainnya yang mungkin.
ABCD
BACD
ACBD
ABCD
DACB
J
[image:27.595.46.450.174.484.2]BACD
DCAB
Gambar 2.2 Metode Hill Climbing
2.1.3 Pencarian Terbaik Pertama (Best First Search).
DBCA
Metode Best First Search ini merupakan kombinasi dari metode
depth first search dan metode bread first search dengan mengrunbil
kelebihan dari kedua metode tersebut. Apabila pada pencarian dengan
metode hill climbing tidak diperbolehkan untulc kemba.li ke node pada level
yang lebih rendah meskipun node pada level yang lebih rendah tersebut
first search ini. Pada metode best first search, pencarian diperbolehkan
mengunjungi node yang ada di level yang lebih rendah, jika ternyata node
pada level yang lebih tinggi ternyata memiliki nilai heuristik yang lebih
[image:28.595.79.414.155.670.2]buruk.
2.1.4 Simulated Annealing.
Ide dasar simulated annealing terbentuk dari pemrosesan logam.
Annealing (memanaskan kemudian mendinginkan) dalam pemrosesan
logam ini adalah suatu proses bagaimana membuat bentuk cair
berangsur-angsur menjadi bentuk yang lebih padat. Seiring dengan penurunan
temperatur. Simulated Annealing biasanya digunakan untuk penyelesaian
masalah yang mana perubahan keadaan dari suatu kondisi ke kondisi yang
lainnya membutuhkan ruang yang sangat luas, misalkan perubahan gerakan
dengan menggunakan permutasi pada traveling salesman problem.
/
2.2 Struktur Um um A/goritnw Genetika
Pada algoritma ini, teknik pencarian dilakukan sekaligus atas sejumlah
solusi yang mungkin yang dikenal dengan istilah populasi. Individu yang
terdapat dalam satu populasi disebut dengan istilah kromosom, Charles L Karr (1999, 94). Kromosom ini merupakan suatu solusi yang masih berbentuk simbol.
Populasi awal dibangun secara acak, sedangkan populasi berikutnya merupakan
basil evolusi kromosom-kromosom melalui iterasi yang disebut dengan istilah
gcncrasi, Sri Kusuma Dewi (2003, 280). Pada setiap generasi kromosom akan
melalui proses evaluasi dengan menggunakan alat ukur yang disebut fungsi
fitnees. Nilai fitnees dari suatu kromosom akan menunjukkan kualitas kromosom
dalam populasi tersebut. Proses ini dapat direpresentasikan dalam algoritma
sederhana Algoritma Genetika sebagai berikut:
Bangkitkan Populasi
Awai
i
Awai
Evaluasi Fungsi Awai
Apakah Kriteria Optimasi Tcrcapai
Tidak
Seleksi
J
._____,.__
Rekombinasi
J
Mutasi
J
[image:30.595.27.443.180.664.2]Ya
Gambar 2.5 Diagram Alir Genetiic Algorithms Sederhana
2.3 Komponcn-Komponcn Utama Algoritma Ge11etika
Ada 6 komponen utama dalam A lgoritma Genetika Charles L Kan· & L. Michael Freeman (1999, 93-97) dan Sri Kusuma Dewi (2003, 280-283) yaitu: 2.3.1 Teknik Penyandian
[image:31.595.61.445.158.691.2]Teknik penyandian disini meliputi penyandian gen dari kromosom. Gen merupakan bagian dari kromosom. Satu gen biasanya akan mewakili satu variabel. Gen dapat direpresentasikan dalam bentuk : string bit, pohon, array, bilangan real, daftar aturan, elemen permutasi, elemen program, atau representasi lainnya yang dapat di implementasikan untuk operator genetika. Gambar 2.6 menunjukkan representasi string bit clan pohon.
• String Biner
0 0 0 0 0
Gen 1 Gen 2 Gen3
• Pohon
(*(-(ab))( +(*(CD))(/(EF))))
A B
Demikian juga, kromosom dapat direpresentasikan dengan menggunakan :
String bit
Bilangan real
Elemen permutasi
Daftar Aturan
Elemen program
Struktur lainnya
2.3.2 Prosedur lnisialisasi
: !OOOJ l,010011,001100, dan seternsnya.
: 66,65,-67,68,69,567,578,987, dan seterusnya.
: E2,E I O,E8,E20, dan seterusnya.
: Rl,R2,R3, dan seterusnya.
: pemrograman genetika.
Ukuran populasi tcrganlung pada masalah yang akan dipecahkan clan
jenis operator genetika yang diimplementasikan. Setelah ukuran populasi
ditentukan, kemudian harus dilakukan inisialisasi terhadap kromosom yang
terdapat pada populasi tersebut.
2.3.3 Fungsi Evaluasi
Ada 2 hal yang harus dilakukan dalam melakukan evaluasi
kromosom, yaitu: evaluasi fungsi objektif (fungsi tujuan) clan konversi
fungsi objektif ke dalam fungsi fitnees. Secara mnum, fungsi fitnees
diturunkan dari fimgsi objektif dengan nilai yang tidak negatif. Apabila
ternyata fungsi objektif memiliki nilai negatif, maka perlu ditambahkan
suatu konstanta c agar nilai fitnees yang terbentuk mertjadi tidak negatif.
2.3.4 Seleksi
Seleksi ini bertujuan untuk memberikan kesempatan reproduksi yang
2.3.5 Operator Genetika.
Ada 2 operator genetika, yaitu :
a. Operator untuk rnelakukan rekombinasi, yang terdiri dari :
• Rekombinasi bernilai real, yaitu : rekombinasi diskret, rekombinasi
intermediate ( rnenengah ), rekombinasi garis, dan rekombinasi garis
yang diperluas.
• Rekombinasi bernilai biner (crossover), yaitu : crossover satu titik,
crossover banyak titik, dan crossover seragam.
• Crossover dengan pennutasi.
b. Mutasi , yang terdiri dari :
• Mutasi bernilai real.
• Mutasi bernilai biner.
Kemungkinan te1jadinya mutasi sangat jarang sekali, dan diharapkan
tidak te1jadi.
2.3.6 Penentuan parameter.
Yang dimaksud dengan parameter disini adalah parameter kontro l
algoritma genetika, yaitu : ukuran populasi (popsize ), peluang croosover
2.4 Seleksi
Seleksi akan menentukan individu-individu mana :mja yang akan dipilih
untuk dilakukan rekombinasi dan bagaimana offspring terbentuk dari
individu-individu terpilih tersebut. Langkah pertama yang dilakukan dalam seleksi ini
adalah pencarian nilai fitnees. 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 Jitnees inilah yang nantinya akan digunakan pada tahap-tahap seleksi
b<.:rikutnya. Ada beberapa rnetode seleksi dari induk, Sri Kusuma Dewi (2003,
283-289), yaitu:
2.4.1 Rank-Based Fitnees
Pada rank-based fitnees, populasi diurutkan menurut nilai
objektifnya. Nilai fitnees dari tiap-tiap individu hanya tergantung pada
posisi individu tersebut dalam urutan, dan tidak dipengaruhi oleh nilai
objektifnya.
2.4.2 Seleksi Roda Roulette (Roulette Whele Selection)
Metode seleksi roda roullette ini merupakan metode yang paling
sederhana, dan sering juga dikenal dengan nama stochastic sampling with
replacement. Pada metode ini, individu-individu dipetakan dalam suatu
segmen garis secara berurutan sedemikian hingga tiap·-tiap segmen individu
merniliki ukuran yang sama dengan ukuran fitneesnya. Sebuah bilangan
bilangan random tersebut akan terseleksi. Proses ini diulang hingga
diperoleh sejumlah individu yang diharapkan.
2.4.3 Stochastic Universal Sampling
Stochastic universal sampling memiliki nilai bias no! dan
penyebaran yang minimum. Pada metode ini, individu-individu dipetakan
dalam suatu segmen garis secara berurutan sedmikian hingga tiap-tiap
segmen individu memiliki ukuran yang sama dengan ukuran fitneesnya
seperti halnya pada seleksi roda roulette. Kemudian diberikan sejumlah
pointer sebanyak individu yang ingin diseleksi pada garis tersebut.
Andaikan N adalah jumlah individu yang akan diseleksi, maka jarak anatar
pointer adalah JIN, dan posisi pointer pe1tama diberikan secara acak pada
pada range [I, I IN].
2.4.4 Seleksi Lokal (Local Selection).
Pada seleksi lokal, setiap individu yang berada didalam konstrain
tertentu disebut dengan nama lingkungan lokal. Interaksi antar individu
hanya dilakukan didalam wilayah tersebut. Lingkungan tersebut ditetapkan
sebagai struktur dimana populasi tersebut didistribusi. Lingkungan tersebut
j uga dapat dipandang sebagai kelompok pasangan-pasangan yang potensial.
2.4.5 Seleksi dengan Pemotongan (Truncation Selection)
Pada metode-metode seleksi yang telah dijelaskan terdahulu, seleksi
dilakukan secara alami. Pada seleksi dengan pemotongan ini, lebih berkesan
jumlahnya sangat besar. Pada metode ini, individu-individu diurutkan
bcrdasarkan nilai fitncesnya. Hanya individu-individu yang terbaik saja yang
akan diseleksi scbagai induk. Parameter yang digunakan dalam metode ini
adalah suatu nilai an1bang trunc yang mengindikasikan ukuran populasi yang
akan diseleksi sebagai induk yang berkisar antara 50% - 10%.
Individu-individu yang ada dibawah nilai ambang ini tidal< al<an menghasilkan
keturunan.
2.4.6 Seleksi dengan Turnamcn (Tournamen Selection)
Pada metode seleksi dengan tournarnen ini, al<an ditetapkan suatu
nilai tour imtuk individu-individu yang dipilih secara random dari suatu
populasi. Individu-individu yang terbaik dalam kelompok ini akan diseleksi
sebagai induk. Parameter yang digunakan pada metode ini adalal1 ukuran
tour yang bernilai antara 2 sampai N (jumlah individu dalarn suatu populasi).
2.5 Rekombinasi
Ada tujuh bentuk rekombinasi menurut Sri Kusuma Dewi (2003, 290-299)
yaitu:
2.5.1 Rekombinasi Diskret
Rekombinasi diskret akan menukar nilai variabel antar kromosom
induk. Misalkan ada 2 individu dengan 3 variabel, yai1u :
induk I : 12 25 5
untuk tiap-tiap variabel induk yang menyumbangkan variabelnya ke anak
dipilih secara random dengan probabilitas yang sama.
Sampell : 2 2
Sampel2: I 2 1
Setelah rekombinasi, kromosom-kromosom baru yang terbentuk :
Anakl :
Anak2:
123
12 4
4
5 5
Rekombinasi ini dapat digunakan untuk sembarang variabel (biner, real,
atau simbol).
2.5.2 Rekombinasi Menengah
Rekombinasi menengah merupakan metode rekombinasi yang
hanya dapat digunakan untuk variabel real (clan variabel yang bukan biner).
Nilai variabel anak dipilih disekitar dan antara nilai-nilai variabel induk.
Anak dihasilkan menurut aturan sebagai berikut :
Anak = indukl +alpha (induk2-indukl)
dengan alpha adalah faktor skala yang dipilih secara random pada interval
[-d, 1 +d], biasanya d=0.25. Tiap-tiap variabel pada anak merupakan basil
kombinasi variabel-variabel menurut aturan diatas dengan nilai alpha
dipilih ulang untuk tiap variabel.
Misalkan ada 2 individu dengan 3 variabel, yaitu :
Induk I :
Induk2:
12 25
123 4
5
Misalkan nilai alpha yang dipilih adalah : Sampell :
Sampel2:
0,5 0,1
] , 1
0,8
-0,1 0,5
setelah rekombinasi, kromosom-kromosom baru yang terbentuk : Anakl : 67,5 1,9 2,1
Anak2: 23,1 8,2 19,5
Rekombinasi ini dapat digunakan untuk sembanmg variabel (biner, real, atau simbol).
2.5.3 Rekombinasi Garis
Pada dasarnya rekombinasi gar1s ini sama dengan rekombinasi menengah, hanya, saja nilai alpha untuk semua variabel sama. Misalkan ada 2 kromosom dengan 3 variabel, yaitu :
Indukl : Induk2:
12 25
123 4
5
34
Untuk tiap-tiap variabel induk yang menyumbangkan variabelnya ke anak dipilih secara random dengan probabilitas yang sania.
San1pell : 0,5 Sampel2 : 0, 1
setelah rekombinasi, kromosom-kromosom baru yang terbentuk : Anakl: 67,5 14,5 19,5
2.5.4 Penyilangan Satu Titik
Pada penyilangan satu titik, posisi penyilangan k (k=l,2 ... ,N-1)
dengan N adalah panjang kromosom yang diseleksi secara random.
Variabel-variabel ditukar antar kromosom pada titik tersebut untuk
menghasilkan anak.
Misalkan ada 2 kromosom dengan panjang 12,
Jndukl :
lnduk2:
0 1 1 1 0
1 1 0 1 0
0101110
0 0 0 1 1 0 1
posisi penyilangan terpilih misalkan 5, maka setelah penyilangan diperoleh
kromosom-kromosom barn :
Anakl:
Jnduk2:
01110 0001101
11010 0101110
2.5.5 Penyilangan Banyak Titik (Multi-Point Croosover)
Pada penyilangan banyak titik, m posisi penyilangan k;
(k=l,2, ... ,N-1, i=l,2 ... ,m) dengan N adalah panjang kromosom diseleksi
secara random dan tidak diperbolehkan ada posisi yang sama, serta
diurutkan naik. Variabel-variabel ditukar antar kromosom pada titik
tersebut untuk menghasilkan anak.
Misalkan ada 2 kromosom dengan panjang 12,
Indukl :
Induk2:
011100101110
Posisi penyilangan yang terpilih,
Misalkan (m=3) : 2 6 10
Setelah penyilangan, diperoleh kromosom-kromosom baru :
Anakl:
Anak2:
01 0100 !Oil 01
11 1100 0011 10
2.5.6 Penyilangan Seragam (Unifilrm Croosover)
Pada penyilangan seragam, setiap lokasi memiliki potensi sebagai
tempat penyilangan. Sebuah mask penyilangan dibuat sepanjang panjang
kromosom secara random yang menwtjukkan bit-bit dalam mask yang
mana induk akan mensupply anak dengan bit-bit yang ada. Induk mana
yang akan menyumbangkan bit ke anak dipilih secara random dengan
probabilitas yang sama. Disini, anakl akan dihasilkan dari induk2 jika bit
mask bernilai 0. sedangkan anak2 dihasilkan dari kebalikan mask.
Misalkan ada 2 kromosom dengan panjang 12,
Indukl : 0 I I I 0 0 I 0 I I I 0
Induk2:
Maka bit,
Sampell :
Sampel2:
110100001101
100111001101
011000110010
Setelah penyilangan diperoleh, kromosom-kromosom baru,
Indukl :
Induk2:
010100001100
2.5.7 Penyilangan dengan Permutasi
Pada penyilangan dengan permutasi ini, kromosom-kromosom anak diperoleh dengan cara memilih sub-barisan suatu tour dari satu induk
dengan tetap menjaga urutan dan posisi sejumlah kota yang mungkin terhadap induk yang lainnya.
Misalnya: lndukl : lnduk2: Anakl : Anak2:
(1 2 3
I
4 5 6 7I
8 9)( 4 5 3 1 8 1 6
I
9 2)(x x x 1 8 7 6
I
x x) (xx xI
4 5 6 7I
xx)Disini, kita memperoleh pemetaan, 1-4, 8-5, 7-6, 6-7 kemudian kita copy sisa gen di indukl ke anakl dengan menggunakan pemetaan yang sudah ada.
Anakl : Anakl :
(1-4 2 3 ( 4 2 3
8 1 6
I
8-5 9) 8 7 6I
s
9) Lakukan hal yang sama untuk anak2Anak2: Anak2:
C 4-1 5-8 3 I 4 5 6 7 / 9 2)
( 8 3
I
4 5 6 7 / 9 2)2.6 Alat Perancangan Sistem
a. agar dapat terfokus pada bagian sistern yang penting.
b. Agar dapat terfokus pada bagian yang akan rnengalarni perubahan-perubahan
clan koreksi, serta clokumentasi.
c. Agar clapat rnengerti akan lingkungan pernakai, sehingga sistern tersebut lebih baik.
2.6.1 STD (State Transition Diagram)
State transition diagram merupakan suatu diagran1 yang
rnrnggarnbarkan bagairnana slate dihubungkan dengan slate yang lain pada satu waktu. Stale Transition Diagram menggarnbarkan suatu stale yang mernpunyai konclisi climana clapat rnenyebabkan perubahan satu state ke
state yang lain (Hoffer, George, clan Valacich, 1996, 364).
State Transition Diagram pada dasarnya merupakan sebuah
diagram yang terdiri dari state clan transisi atau perpinclahan slate. Transisi atau perpinclahan state tercliri dari kondisi clan aksi. Transisi cliantara keclua keaclaan pada urnumnya clisebabkan oleh suatu konclisi. Kondisi aclalah suatu kejadian yang dapat diketahui oleh system. Seclangkan aksi adalah tinclakakn yang dilakukan oleh sistem apabila terjacli perubahan stale atau rnerupakan reaksi clari sistern.
State 1
Aksi
State 2
Adapun komponen atau simbol yang digunakan dalam diagram ini
aclalah:
a. Modul
Menggunakan simbol lingkaran kecil (Gambar 2.7) yang mewakili
modul yang dipanggil apabila te1jadi suatu tinclakan.
[image:43.595.78.450.155.498.2]0
Gambar 2.7 Notasi Modul
b. Tam pi Ian kondisi (state)
Merupakan layer yang ditampilkan menurut keadaan atau atribut, untuk
memenuhi suatu tindakan pada waktu tertentu yang mewakili suatu
bentuk keberaclaan atau kondisi tertentu, disimbolkan dengan gambar
kotak (Gambar 2.8)
Gambar 2.8 Notasi Tampilan
c. Tinclakan (state transition)
Menggunakan symbol anak panah (Gambar 2.9) disertai keterangan
tindakan yang dilakukan.
2.6.2 Spesifikasi Proses
Spesifikasi proses merupakan penjelasan dari proses-proses yang
te1jadi cliclalam sistem, spesifikasi proses harus dimengerti baik oleh
pemakai maupun pembuat sistem. Spesifikasi proses akan menjadi
pecloman bagi pembuat program dalam membuat kode program maupun
clokumentasi. Ada banyak cara untuk membuat spesifikasi proses antara
lain clnegan memakai (Pressman, 1997, 341-358):
a. Tabel keputusan (Decision Tables).
b. Bahasa terstruktur (pseudocode) dengan :
• Bahasa inggris terstruktur.
• Bahasa Indonesia terstruktur.
c. Bagan alur (flowchart).
cl. Diagram notasi - Shneiclerman (Diagram N - S)
e. Bentuk narasi atatu cerita (missal dalam bahasa lnggris, Indonesia).
2.6.3 Struktur Program
Struktur program menggambarkan bagan atau diagram control
distribusi yang bersipat top - down, penampilnya clibagi tingkat-pertingkat,
antara lain:
a. Top Level Module yaitu sebagai model yang menentukan atau
b. Low level module yaitu digunakan sebagai masukan, pemrosesan atau
control sehingga menghasilkan keluaran.
Struktur program ini bertujuan untuk memb<:rikan gambaran proses
informasi yang masuk, mengalir dan keluar, pada program yang akan
dibuat secara garis besar dengan menggunakan bagan terstruktur
(Pressman, 1997, 337).
2.7 Sckilas Tentang Delphi 6.0
2.7.1 Sejarah Delphi
Ide munculnya delphi sebenarnya berasal dari bahasa pemrograman
terkenal, yaitu pascal, Antony Pranata (2001, 1-2). Bahasa pascal sendiri
telah diciptakan pada tahun 1971 oleh ilmuwan dari Swiss, yaitu Niklaus Wirth. Nama pascal diambil dari ahli matematika dm1 filsafat dari prancis,
yaitu Blaise Pascal (1623 - 1662).
Sejak saat itu, muncul beberapa versi pascal diantaranya Turbo
Pascal yang dirilis oleh Borland International Incorporation tahun 1983.
Turbo Pascal ini memiliki sedikit perbedaan dengan pascal standar, antara
lain dalam ha! pengolahan string, penambahan beberapa prosedure, fungsi
dan sebagainya.
Turbo pascal yang muncul pertama kali hanya dapat dijalankan di
International Incorporation juga merilis Turbo pascal yang berjalan di
Windows 3.X, yaitu Turbo Pascal For Windows.
Pada tahun 1992, Borland International menggabungkan turbo
Pascal For Dos dan Turbo Pascal For Windows menjadi satu paket bahasa
pemrograman yang dikenal dengan nama Borland Pascal Versi 7. Karena
pemrograman Windows dengan Borland Pascal masih dirasa cukup sulit,
sejak tahun I 993 Borland International mengembangkan bahasa pascal
yang bcrsi l'at visual . hasi I dari pcngcmbangan ini adalah dirilisnya Delphi
1 pada tahun 1995.
Perkembangan delphi tidak sampai disitu. Satu tahun berikutnya,
pada tahun 1996, Borland International merilis delphi 2 yang sudah bersifat
32 bit. Dengan kata lain delphi 2 hanya bisa dijalankan pada windows 95
dan windows NT.
Pada tahun 1997, I 998, dan 1999, Borland International yang
berganti nama menjadi Inprise Corporation berturut-turut kembali merilis
menyempurnakan delphi, yaitu 3, 4, dan 5. Sampai sekarang 2004 Borland
International telah merilis delphi 7.
2.7.2 Mengenal IDE Delphi
Pada dasarnya IDE milik delphi dibagi menjadi enam bagian utama,
Antony Pranata (2001, 2) yaitu menu, speed bar, component palette, form
[image:46.595.74.443.163.484.2]designer, code editor, dan objek inspector, dan objek treeview. Lihat
At 19,Scm lfl 17 Ccl I
[image:47.595.27.443.93.563.2]Object Inspector Code Editor
Gambar 2.10 Bagian-bagian dari IDE Delphi a. Menu
b. Speed Bar
Speed bar atau sering juga disebut toolbar berisi kurnpulan tombol yang tidak lain adalah pengganti beberapa item menu yang sering digunakan. Dengan kata lain, setiap tombol pada speed bar menggantikan salah satu item menu. Sebagai contoh, tombol kiri atas aclalah pengganti menu File
I
New, tombol clisebelah kanannya aclalah pengganti menu FileI
Open, dan seterusnya., ' .
セク@
l!i.
l'.IG[G⦅ェlャ[NjAqャァゥFャセセ@ セ@
ュセMᄉMMMMM - - - -
-2'1 =.I
_J"
a
tL:
i
f!L:fl セ@ vH
I
·a.
'il
Gambar 2.11 Speed Bar pada IDE Delphi
c. Component Palette
Component palette berisi kumpulan ikon yang melambangkan komponen-komponen pada VCL (Visual Component Library). VCL adalah pustaka komponen milik clelphi, yang clapat cligunakan untuk membangun sebuah aplikasi. Pada Component Palette, terclapat beberapa tab, yaitu Standard, Aclditionals, Data Access, dan sebagainya. Untuk lebih jelasnya perhatikan gambar 2.8.
rn.J3JIJ.!r1§ilj@fflh· ' AWifu4@&001 MmiUI®
S<and&d
I
Ad&iornii I Win32 I s...iem I DalaAccm I dセ。@ Coniroisl DalaSnao I BDE I ADO I <lit"'""' I lnledl.,. j l\lebSeMce.il!.:
セセA@
__
セM⦅a@
セセ@
Ll!J
セMMMBMセ@
セBBG@
[j lgjD
ril
d. Form Designer
Sesuai dengan namanya, fo1m designer merupakan tempat
dimana kita merancang jendela dari aplikasi windows kita. Perancangan
forn1 dilakukan dengan meletakkan komponen-komponen yang diambil
dari Component Palette.
e. Code Editor
Code editor adalah tempat dimana kita menuliskan program.
Disini kita dapat meletakkan pernyataan-pernyataan dalam bahasa
object pascal. Pemrogram borland Pascal pasti tidak asing lagi dengan
code editor karena sangat serupa dengan editor milik Borland Pascal.
Yang perlu kita perhatikan pada code inspector adalah kita tidak perlu
menulis seluruh kode sumber. Delphi telal1 menuliskan semacam
kerangka w1tuk anda. Untuk lebih jelasnya perhatikan gambm· 2.9
lci!fltibi!,f
• "'! lf<>1ml ,!I) Ur.ll I • ....J v .. NNオNNイOcュ QセNLLL@ ; unu. lhuc1i
• ....J U•a1
li'indmm, fl""""1J""• !'lyallt:tl"' Va,,iQnt:D, Cl"""""• <lr<1;;>htc .. , Con"ralo, T<>-""""• 1>.1- .. t<>l:i"'
typ<1
1Tor>nl • c.1-'1•• p'Fo.-ru)
pro<>odoro Forl»Cro:<>te Hs・。セBG@ TCbj<!<::<;);
JH'iyalo
( ーL⦅Mセ@ ... ,,,,., LᄋOセBGBBGBBGGBᄋᄋ@ )
·-0
/ ャGオ「jセ\Z@ daci"r«tion" /.,nd;
"""oodu.-.. TTor:m1.roni:.c::c .. •tc(!;lo:nder' Ta>.l"'""l'
""""'
<>nd• ...
Zセj@
, I
f. Object Inspector
Object Inspector digunakan untuk mengubah karakteristik sebuah komponen. Pada object inspector, ada 2 buah tab yaitu properties dan event. Anda dapat mengaktiflrn.n salah satu tab 1111 dengan mengkl ik teks properties a.tau events (Iihat. gambar 2.10).
dュャᄃゥゥゥw QiᄃᄃエmwwエゥゥャエセwmゥQAセeiG@
CMt4;11.t1im;o
!Form1 TForn-.1
:.::J
!Form1 TForm1Properties
j
Eventsl
Properties EventsI
ᄋセセLMセセセセMMN@
I Action ... Action
I
Ar.tiver.nntrnl ..エ|N」エゥケNLセァセNセYQNN@
... . ' ... t\li.Qll.... alNone ... tvl . .,n.u ... .AlphaBlf3f\d · ··· · ··· Fal;e ObjectMenulto•m . · ·
AlphaBlellcfllalue... . 255
····oi\4CiiVate ... , ... .
l±lAnchms (akleft,akT.opl....····iJnc;;Fie$ize ... , ... .
AutoScroH True ᄋZZᄋゥZヲッgャゥセZZZZZZZZZZZZZZZZZZ@ : ::::::::::::: ::::::::::::·
AutoSize False OnC!ose
BiDiMode bdLefff oRiQbt... . ...
i'inciOseQue;y··· ... .
1±1 Borderlcons lloiSY.stemtvl"nu,b,itvl
rincoliSi;:;;;;Ji'i'e;t·
. Borch;r§tY,le bsSizeable . ゥZゥセセゥセセゥセセ[オNpNZZZZZ@
::::::::::::;::::'.:'.':::::
BmderWidth 0 OnCreate Fo1mCreate
caption
i:m:i
····anoiliclicl<" ... -···
. H[ャゥセセエjZャッゥDCQ|@ 273 . ゥZjゥゥqNヲゥャゥセゥゥyNセZZZZZZZZ[Z@
:::::::::::::;::::;:;:::::::::
ClientWidth 825 .... NijNNBNGp\ャB|iA_セ@
... : ... ::: ... : ...•...
. ... c.a.1.or....
[]deii1Face
OnDockDr!:le · ·•· ··· ··• ··•··· ·· ··,1±1 constraints ··· ゥイウゥR・エZセイ[[エイ。ゥョゥウゥᄋ@ ···
onoockriver ... ,, ... .,.:, .. : ...•...
イZZZZZZᄁ|Qセー@
:::::::::.::.::.:·:::·::.:::::::::·
fru;;···:·.:·::::::::::::.:J
i:iiii:iiiii!P.1-;;P.::::::::::=::;:: :::::::::::::::::::r:::::::::::.:.i
[Alishown ,i 1A11 shown
,z
a) Properties b) Events (kt:iadian)
Gambar 2.14 Object Inspector pada IDE Delphi
Control, Auto Scrool, Auto Size, Border Icons, Border Style dan
lain-lain.
Pada tab events, kita dapat menyisipkan kode untuk menangani
kejadian tertentu. Kejadian bisa dibangkitkan karena beberapa ha!,
pengklikan mouse, penekanan tombol keyboard, penutupan jendela, dan
sebagainya. Untuk lebih jelasnya perhatikan gambar 2. lOb. pada
gambar ini kita bisa melihat beberapa kejadian, seperti onActive,
onClick, onClose, dan sebagainya.
2.8 Sekilas Tentang Paradox
Paradox adalah sebuah database yang berfungsi untuk menyimpan data.
Sama seperti database lainnya, paradox memiliki IDE yang dibagi menjadi dua
bagian yaitu menu dan tool bar ( Gambar 2.15).
2.8.1 Menu
Menu pada paradox memiliki kegunaan seperti menu pada database
lai1mya. Dari menu ini, kita bisa memanggil atau menyimpan tabel,
membuat tabel baru dan lain-lain.
2.8.2 Toolbar
Toolbar berisi tombol-tombol yang berfungsi untuk membuka tabel,
penjadwalan kuliah ini, ada beberapa tahapan yang dilakukan diantaranya :
3.1 Tahapan Pendekatan Sistem
Tahapan ini dilakukan sebelum tahap pengembangan sistem. Pada talmp
ini dilakukan analisis kebutuhan dan identifikasi. sistem.
a. Analisis Kebutuhan
Pada talmp ini, ditentukan pengguna dan kebutuhannya terhadap
sistem. Pengguna dari sistem yang akan dibangun adalal1 pihalc akademik
Fakultas Sains dan Teknologi yang mengurusi penjadwalan kuliah.
b. Identifikasi Sistem
Jadwal kuliah merupalcan salah satu bentuk pengaturan proses belajar
mengajar yang diarahkan untuk mencapai tujuan y:mg diharapkan oleh
Fakultas Sains dan Teknologi. Dalam pembuatannya, pihalc Falcultas Sains
dan Teknologi merasa kesulitan. Hal ini disebabkan pembuatan jadwal kuliah
yang bersifat manual sehingga terjadi jadwal kuliah yang bentrok. Oleh
karena itu pihak Fakultas Sains dan Teknologi merasa perlu dibuatnya suatu
3.2 Tahapan Pengembangan Sistem
Pengembangan sistem yang penulis Jakukan menggunakan tiga tahap
siklus pengembangan model RAD (Rapid Aplication Development), Kendall &
Kendall (2003 : 237), (Gambar 3.1).
Fasc Pcrencanaan Syarat syarat
Menentukan Tujuan dan syarat-syarat
lnformasi
Fase Kontruksi I Workshop Desain PAC
Umpan Balik
1
Penggunal
-Bckerja dcngan Membangun
Pengguna untuk Sistem
Sistcrn Perancangan
.
I
Menggunakani
I
masukkan dari
r
-I
pengguna ' I
'
+
Mernperkenalkan Sistern
Fase Pclaksnnaan
a. Perencanaan Syarat-Syarat
Dalam fase ini, pengguna (pihak Fakultas Sains dan Teknologi) dan
penganalisis be1iemu untuk mengidentifikasi tujuan··tujuan aplikasi atau
sistem serta untuk mengidentifikasi syarat-syarat informasi yang ditimbulkan
dari tujuan-tujuan tersebut. Hal ini penulis uraikan sebagai analisa terhadap
sistem yang berjalan dan sistem yang akan diterapkan.
b. Workshop Deasin
Pada tahap ini dilakukan perancangan proses yaitu perancangan proses-proses
yang akan terjadi di dalam sistem, perancangan basis data yaitu perancangan
tabel-tabel yang akan digunakan, perancangan antarmuka yaitu perancangan
antarmuka masukkan dan antarmuka keluaran, serta dilakukan pengkodean
terhadap rancangan-rancangan yang telah didefinisikan.
c. Pelaksanan
Pada taliap ini dilalrnkan pengujian terhadap sistem dan melakukan
BAB IV
ANALISA DAN PERANCANGAN SISTEM
4.1 Analisa Kebntuhan Sistem
Proses pembuatan jadwal kulial1 pada Fakultas Sains dan Teknologi
selama ini masih secara manual menggunakan file-file excel. Proses ini dilakukan
oleh pihak jurusan rnasing-masing (Kepala Jurusan). Kepala jurusan akan
rneminta setiap dosen untuk bersedia mengajar mata kuliah yang telah ditetapkan
dan meminta kesiapan waktu mengajar pada hari dan jam yang telal1 ditetapkan
pula. Setelal1 semua kesiapan mengajar dosen terkumpul, dilakukan pembuatan
jadwal kulial1 berdasarkan lokal yang tersedia pada Fakultas Sains dan Teknologi.
Dari proses pembuatan jadwal kuliah tersebut penulis definisikan
data-data yang diperlukan dalam pengembangan sistem yang akan dibuat, diantaranya,
data dosen, data mata kuliah, data hari, data jam (shift), data lokal, data jurusan,
dan data semester.
4.2 Konsep Penjadwalan Kuliah Menggunakan Metode Algoritma Genetika.
Data-data yang diperlukan dalam pembuatan jadwal kulial1 akan
dikombinasikan (prosedur inisialisasi) menjadi kesiapan mengajar dosen.
Kesiapan mengajar dosen ini akan diproses pada sistem Algoritma Genetika
(GAs) yang terdiri dari proses pembangkitan populasi awal, evaluasi, seleksi,
4.2.1 Prosedur Inisialisasi
NO I 2
3
4 5
NO I 2
3
4 5
Pada proses ini dilakukan inisialisasi kesiapan mengaJm· dosen.
Sebagai contoh diberikan 5 data dosen dan 5 data mata kuliah (Tabel 3 .1
dan Tabel 3.2) yang akan ditempatkan pada lokal 401dan402.
KODE NAMA
DOSOOI Dra. Nani Radiastuti
DOS002 Ria Arafiah, S.Si
DOS003 Budi Sudrajat, M. Hum
.
DOS004 Dra Nuriyah Thohir, MM
DOS005 Ir Rahmat Kurnia, M.Si
Tabel 3.1 Data Dosen Fakultas Sains dan Teknologi
KODE NAMA
MKOOI Dasar-dasar Agronomi
MK002 Biologi
MK003 Matematika
MK004 Bhs. Arab
MKOOS Kalkulus
Tabet 3.2 Data Mata Kuliah Fakultas Sains dan Teknologi
Dari 2 tabel diatas maka inisialisasi kesiapan mengajar dosen
a. Kade Dasen : DOSOOl
Nama : Dra. Nani Radiastuti
Kade Mk : MKOOl
Mata Kuliah : Dasar-dasar Agronon1i
Jurusan : Teknik lnformatika
Semester : 1
セ@
SENIN SELASA RABU KAMIS JUMAT SABTUft (l) (2) (3) (4) (5) (6)
I. 07.30-09.10 A A II. 09.20-11.00 B B 111.11.10-12.50
IV.13.00-14.40
v. 14.50-16.30 Vl.16.40-18.20
b. Kade Dasen : DOS002
Nama : Ria Arafiah, S.Si Kade Mk : MK002
Mata Kuliah : Bialogi
Jurusan : Teknik lnformatika
Semester : I
セ@
SENIN SELASA RABU KAM IS JUMAT SA BTUft (l) (2) (3) (4) (5) (6)
I. 07.30-09.10 A A
1!. 09.20-11.00 B A B
111.11.10-12.50 B
lV.13.00-14.40
v. 14.50-16.30 Vl.16.40-18.20
c. Kade Dasen : DOS003
Na1na : Budi Sudrajat, M. Hum
Kade Mk : MK003
Jurusan : Teknik lnforn1atika
Sen1ester : I
セ@
SENIN SE LAS A RABU KAMIS JUMAT SA BTU(I) (2) (3) (4) (5) (6)
fi
I. 07.30-09.10 A 11. 09.20-11.00 B
111.11.10-12.50 IV.13.00-14.40
v. 14.50-16.30
Vl.16.40-18.20 __J
d. Kode Dasen : DOS004
Nania : Dra Nuriyah Thohir, MM
Kade Mk : MK004
Mata Kuliah : Algorit1na Pen1rogran1an
Jurusan : Teknik lnfonnatika
Semester : I
セ@
SENIN SE LAS A RABU KAM JS JUMAT SABTUfi (I) (2) (3) (4) (5) (6)
I. 07.30-09.10 II. 09.20-11.00
Ill.I l.10-12.50 A
IV.13.00-14.40 B
v. 14.50-16.30 Vl.16.40-18.20
e. Kade Dasen : DOS005
Na1na : Ir Rahmat Kurnia, M.Si
Kade MK : MK005
Mata Kuliah : Kalkulus
セ@
SENIN SELASA RABU KAMIS JUMAT SA BTU\ (I l (2) (3) (4) (5) (6)
I. 07.30-09.10 A
11. 09.20-11.00 13 II I. I I.I 0-12.50
IV .13.00-14.40
v. 14.50-16.30 Vl.16.40-18.20
4.2.2 Pembangkitan Populasi Awai
Pada proses ini dilakukan pembangkitan populasi (kesiapan
mengajar dosen) yang telah diinisialisasi diatas (Tabel 3.3).
Kodc Nama Kodc Mata Jurusan SMT Kc las Hari Shill
Doscn Dos en ivlk Kuliah
DOSOOI Drn. Nani Radi<L'ituti MKOOI D<L'iar-dasar Agronomi Tl I A I I
DOSOOI Ora. Nani R<1diastuli MKOOI Dasar-dasar Agronomi Tl I B I II
DOSOOI Dra. Nani Radiastuli MKOOI Dasar-dasar Agronomi Tl I A 2 I
DOSOOI Dra. Nani Radiastuti MKOOI Dasar-dasar Agronoml Tl I B 2 II
DOS002 Ria Arafiah, S.Si MK002 Biologi Tl Ill A I I
DOS002 Ria Arafiuh, S.Si MK002 Bio!ogi Tl Ill B I II
DOS002 Ria Arafiah, S.Si MK002 Biologi Tl Ill A 2 II
DOS002 Ria Arafiah, S.Si MK002 Biologi Tl Ill B 2 Ill
DOS002 Ria Arafiah, S.Si MK002 Biologi Tl Ill A 3 I
DOS002 Ria Arafiah, S.Si MK002 Biologi TI Ill B 3 II
DOS003 Budi SudnUat, M. I-Im MK003 Matematika Tl I A I I
DOS003 Budi Sudrajat, M. Hn1 MK003 Matematika Tl I B I II
DOS004 Ora Nuriyah Thohir MK004 Bhs. Arab Tl lll A 2 Ill
DOS004 Ora Nuriyah Thohir MK004 Bhs. Arab Tl Ill B 2 IV
DOSOOS Ir Rah1ilat Kurnia MK005 Kalkulus TI I A 2 I
DOSOOS Ir Rahmat Kurnia MKOOS Kalkulus Tl I B 2 II
4.2.3 Evaluasi
Pada proses ini, kesiapan mengajar dosen yang dibangkitkan diatas
dievaluasi dengan menjumlahkan kesiapan mengajar dosen masing-masing
(Tabel 3.4).
No Kode Dosen Kode MK Banyak Kesiapan
-1 DOSOOI MKOOI 4
2 DOS002 MK002 6
3 DOS003 MK003 2
-4 DOS004 MK004 2
-5 DOS005 MK005 2
-Tabel 3.4 Evaluasi Kesiapan Mcngajar Ji)osen
4.2.4 Seleksi
Setelah proses evaluasi dilakukan, kesiapan mengajar dosen akan
mengalami seleksi berdasarkan hari dan shift yang telah ditetapkan. Seleksi
ini bertujuan untuk menentukan kesiapan mengajar dosen mana yang sesuai
untuk menempati lokal yang tersedia. Seleksi yang penulis gunakan adalah
Rank-basedfitnees yaitu dengan cara mengurutkan kesiapan mengajar dosen
menurut nilai objektifnya (banyaknya kesiapan mengajar dosen). Penerapan
untuk contoh diatas, dapat dilihat pada Tabel 3.5 di bawah ini.
Seleksi (1,I) : Tampilkan semua kesiapan mengajar dosen dengan hari =
senin dan shift= l (07.30- 09.10) yang diurutkan secara tidak turun (naik)
Kodc Nmna Kodc Mata Jurusan SMT Ke las Hari Shift
Doscn Dos en Mk Kuliah
DOS003 Budi Sudrajat, M. Hin MK003 Matc1natika TI I A I I
DOSOOI Dra. Nani Radiasluti MKOOI Dasar-dasar Agronomi TI I A I I
JJOS002 Ria Aratiah, S.Si MK002 Biologi TI III A I I
Tabcl 3.5 Kcsiapan Mcngajar dosen Hasil Selcksi
4.2.5 Rekombinasi
Ko de
Dos en
DOS003
DOSOOI
Dari proses seleksi diatas, diambil kesiapan mengaJar dosen
sebanyak lokal yang tersedia dan disimpan pada tabel jadwal (Tabel 3.6).
Proses ini menyebabkan populasi (kesiapan mengajar dosen) berkurang I
mengalami rekombinasi (Tabel 3.7). Rekombinasi juga terjadi terhadap
proses seleksi dengan melakukan penyilangan satu titik (single point
crossover) untuk hari dan shift berikutnya terhadap kesiapan mengajar
dosen (seleksi(l ,II) dan seterusnya).
Nama Ko de Mata Jurusan SMT Ke las Hari Shift
Doscn Mk Kuliah
Budi Sudrnjat, M. Hm MK003 Matcmatika TI I A I I
Dra. Nani Radiastuti MKOOI Dasar-dasar Agronomi TI I A I I
Tabcl 3.6 Tabcl Jadwal (Generasi ke-1)
Total
Kcsia
pan
2
4
6
Lok al
40I
Kodc Nama Ko de Mata Jurusan SMT Ke las Hari Shift
Doscn Dosen Mk Kuliah
DOSOOJ Dru. Nani Radiastuti MKOOI Dasar-dasar Agronomi Tl I B I II
DOSOOJ Dra. Nani Radiastuti MKOOJ Dasar-dasar Agronomi Tl I A 2 I
DOSOOI Dra. Nani Radiastuti MKOOI Dac;ar-dasar Agronomi Tl I B 2 II
DOS002 Ria Arafiah, S.Si MK002 Bio!ogi Tl Ill B I II
ll0S002 Ria Arafiah, S.Si MK002 Biologi Tl 111 A 2 II
DOS002 Ria Arafiah, S.Si MK002 Biologi TI III B 2 III
DOS002 Ria Arafiah, S.Si MK002 Bio!ogi Tl Ill A 3 I
llOS002 Ria Aral1:1h, S.Si MK002 13iologi TI 111 B 3 II
DOSOOJ Budi Sudrajal, M. 1-hn MK003 Matcmatika Tl I ll I II
ャクIウセ@ Dni Nuriyah Thohir MK004 Bhs. Arab Tl 111 A 2 Ill
DOS001l Dra Nuriyal1 Thohir MK004 Bhs. Arab Tl 111 ll 2 IV
-DOSOOS Ir Rahmut Kurnia MKOllS Ka!kulus TI I A 2 I
DOSll05 Ir Rahmal Kurnia MKllOS Kalkulus Tl I ll 2 II
Tabcl 3. 7 Populasi Setclah Rekombinasi
4.2.6 Mutasi
Proses mutasi terjadi pada kesiapan mengajar dosen yang
benar-benar belum mendapatkan lokal.
Proses 3 sampai 6 ini akan dilakukan berulang-ulang selama populasi (kesiapan
mengajar dosen) belum kosong. Basil akhir (generasi terakhir) merupakanjadwal
Kodc Nama Kodc fvlata Jurusan SMT Kclas Hari Shift Lokal
I
Dos en Dos en Mk Kuliah
DOS003 Budi Sudntjat, M. Hm MK003 /vlatcmutika Tl I A I I 401
--DOSOOI Dra. Nani Radiastuti MKOOI Dasar-dasar Agrono1ni Tl I A I I 402
DOS003 Budi Sudn\iat, M. Hm MK003 Matematika Tl I B I 11 401
DOSOOI Dra. Nani Radiastuti MKOOI Dusar-dasar Agronmni Tl I B I II 402
DOSOOS Ir Rahmat Kurnia MKOOS Kalkulus Tl I A 2 I 401
DOSOOS Ir Rahmat Kurnia MKOOS Kalku!us Tl I B 2 II 401
DOS002 Ria Arafiah, S.Si MK002 Biologi Tl 111 A 2 II 402
DOS004 Dra Nuriyah Thohir MK004 Bhs. Arab Tl 111 A 2 111 401
DOS002 Ria Arafiah, S.Si MK002 Blologi Tl Ill B 2 Ill 402
IJOS004 Ora Nuriyah Thohir MK004 Bhs. Arab Tl Ill B 2 IV 401
Tabcl 3.8 .Jadwal Kuliah (gcncrasi tcrakhir)
Proses penempatan kesiapan dosen mengajar diatas dapat di gambarkan dalam
grafik clibawah ini dari generasi pe1iama sampai generasi terakhir .
Lokal
402
401
セMM\^MJMKM\QQMM\^M`MMM\^MMM・M\QQMFMMM・M\QQMKM\QQMKM・MM・M 9 0 9 GI -e Ii セ@
1 2 3 4 5 6 7 8 910111213 14151617181920212223 .. Populasi
4.3 Perancangan Sistem
Dalam merancang sistem ini penulis melakukan konsultasi dengan pihak akadernik Fakultas Sains dan Teknologi untuk rnemperoleh kesepakatan antara kedua belah pihak. Adapun rancangan ym1g diperoleh terdiri dari rancangan proses, rancangan basis data, rancangan menu, rancangan masukkan, dan rancangan keluaran.
4.3.1 Rancangan Proses
Rancangan proses ditujukan untuk menentukan urutan kejadian, sehingga dihasilkan keluaran dan masukan yang diharapkan, meliputi :
a. Proses rnasukan, proses ini merupakan proses pemasukan data yaitu
tarnbah data dosen, tambah data mata kuliah, tambah data hari, tarnbah data shift, tambah data jurusan, tmnbah data semester, tmnbah data lokal, tambah data kesiapan rnengajm· closen dan tan1bah data kesiapm1 waktu rnengajar dosen. Proses ini dilakukan oleh pihak akademik yang rnengurusi pernbuatan jadwal kuliah.
b. Proses GAs (Genetic Algorithms Sistem), yaitu proses algoritma genctika untuk rnelakukan otornatisasi dan optimalisasi kesiapan rnengajar closen, meliputi pembangkitan populasi, evaluasi, seleksi, rekornbinasi, clan mutasi.
STD (stale transition diagram) dari rancangm1 proses dapat dilihat pada
Mulai
'---P_e_n_g_g_un_a_m.,.e_m_1_·h-·h_m_e_n_u_1_· n_p_u_• ' . ' ' ]
Bangkitkan Kesiapan dosen
Pengguna memasukan data dosen, data mata kuliah, data lokal, data kesiapan
mengajar, data kesiapan waktu
Evaluasi
J
GMMイMMk⦅・⦅ウ⦅ゥ。⦅ー⦅。⦅ョ⦅、⦅ッ⦅ウ⦅・⦅ョセᄋM
..._
Optimasi
>-'Y"'•---,
Tercapai
tゥ、。セZ@
Mセ@
Se!eksi Kesiapan Dostm
Mセ@
Rekombinasi Kesiapan 、セョ@
/ Selesai
}----l
Jadwal [image:66.595.46.416.125.650.2]Kuliah
4.3.2 Rancangan Basis Data
Data-data yang diperlukan pada proses masukan disimpan dalam
basis data. Hal ini dimaksudkan agar data bersifat dinamis yaitu dapat
melakukan penambahan dan penghapusan data. Ada 9 tabel yang
clidefinisikan dari rancangan proses yaitu :
a. Tabel dosen, untuk menyimpan data dosen.
Field Name ᄋMMセj@ TypeJ __ §.i.'!.e_J Key
I
!]
AI
10 ..I
A
I
70A
1 70
I A
I
15 [image:67.595.69.434.162.650.2]I
Ai
15Gambar 3.3 Spcsifikasi Tabcl Dosen
b. Tabel mata kuliah, untuk menyimpan data mata kul.iah.
c. Tabel hari, untuk menyimpan data hari.
Garn bar 3.5 Spesifikasi Tabel Hari
d. Tabel shift, untuk menyimpan data shift.
: Field Name
· - -.. J
1
I
[image:68.595.75.408.123.546.2]21Jam
e. Tabel semester, untuk menyimpan data semester.
Gambar 3. 7 Spesifikasi Tabel Semester
f. Tabel jurusan, untuk menyimpan data jurusan.
g. Tabel lokal, untuk menyimpan data lokal.
Gambar 3.9 Spcsifikasi Tabel Lokal
h. Tabel kesiapan mengaJar, untuk menyimpan data kesiapan mengajar
do sen.
1. Tabel jadwal, untuk menyimpan hasil proses GAs (Genetic Algoritms
Sis/em).
Field Name jTypej sゥゥセk・ケェ@
セ@
•ibAャセゥゥL@ スゥゥゥゥ
X
ᆬQjMゥゥセゥゥゥゥゥ[セゥゥャゥA[ェェB⦅NNN@
1111!1
1
·
セ@
セセ@
3 l<ode)lari A 2
4.Kode shift I A 2
5'
Lokal-1
1 N
6 ThnAk A 10
7. Namados
!
1' A 508' Namamk A 50
セセ@ セゥZ@
----
MMMMMセMjQ@
MセMセセセ@
Garnhar 3.7 Spcsifikasi Tahcl .Ja<lwal
4.3.3 Rancangan Menu
Rancangan menu berfungsi untuk mernanggil sub-program lain
untuk dijalankan. STD (slale lransilion diagram) rancangan menu dapat
[image:71.595.49.445.149.474.2]FrmDataDosen_Klik
·I
Form Data Dosen
I
Layar Intro
FnnDataMk_Klik
/ Form Data Mata Kuliah
Fm1DataLokal_Klik
セイュ@
Data LokalMENU PILIHAN
.
Form Set KesiapanFnnSctKesiapan_ Klik Mengajar
F01m Set Kesiapan
FnnSet\Vaktu_Klik Waktu Mengajar
Form Proses Pembuatan Jadwal
frmProses_Klik
Form Proses
FnnJadwal_ Klik Tampilkan Jadwal
[image:72.595.49.446.101.494.2]Tutup_Klik
Gambar 3.8 STD Rancangan Menu
a. Rancangan Masukan
Rancangan masukan dilakukan agar tingkatan keakuratan data
tinggi dan proses pemasukan data benar sehingga dapat diterima dan
dimengerti oleh penggnna sistem. Ada 5 rancangan masukkan yang
didefinisikan yaitu rancangan data dosen, rancangan mata kuliah,
rancangan data lokal, rancangan data kesiapan mengajar dosen, dan
rancangan data kesiapan waktu mengajar d