1a genetika - institutional repository uin syarif...

117
OPTIMASI PENJADWALAN KULIAH MENGGUNAKAN METODE ALGORITI\1A GENETIKA RUSDIANA (100091020205) JURUSAN TEKNIK INFORMATIKA FAI(ULTAS SAINS DAN TEKNOLOGI UNIVERSIT AS ISLAl\tl NEGE.RI SYARIF HIDAYATULLAH JAKARTA 2004MI1425 H

Upload: haduong

Post on 03-Mar-2019

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

OPTIMASI PENJADWALAN KULIAH

MENGGUNAKAN METODE ALGORITI\1A GENETIKA

RUSDIANA

(100091020205)

JURUSAN TEKNIK INFORMATIKA

FAI(ULTAS SAINS DAN TEKNOLOGI

UNIVERSIT AS ISLAl\tl NEGE.RI

SY ARIF HIDAYATULLAH

JAKARTA

2004MI1425 H

Page 2: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

OPTIMASI PENJADWALAN l(ULIAH

MENGGUNAKAN METODE ALGORITMA GENETII<A

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

JAKARTA

2004MI1425 H

Page 3: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

OPTIMASI PENJADW ALAN KULIAH

MENGGUNAKAN METODE ALGORIT~vlA GENETIKA

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

<.._,_..,~~--~~ ........... --~~-~ Ir. Bakri La Katjong MT.M.Kom NIP. 470 035 764

Page 4: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

Dengan ini menyatakan bahwa skripsi yang ditulis oleh :

Nama Rusdiana

Nim 100091020205

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

De~,

DR. Syopiansvlaya Putra, M.S1s NIP. 150 317 965

Pembimbing II,

Khodijah ulliyah, S.Kom

Mengetahui,

Ketua Jurusan,

<JZy}i.{/L-~-·-Ir. Bakri La Katjong, MT. M.Kom NIP. 150 317 958

I /tr~ f /l

Page 5: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

PERNYATAAN

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

100091020205

Page 6: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

ABSTRAK

RUSDIANA (10001920205), Optimasi Penjadwalan Kuliah Menggunakan

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 D1~velopment) 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.

Optimalisasi pembuatan jadwal kuliah tersebut penulis lakukan

menggunakan konsep algoritma genetika yang dikembangkan oleh John Holland

dari Universitas Michigen (1975), ia mengatakan bahwa "setiap masalah yang

berbentuk adaptasi (alami maupun buatan) dapat diformulasikan dalam

terminologi genetika yang merupakan simulasi dari proses evolusi Darwin dan

Page 7: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

Operasi Genetika atas kromosom. Konsep algoritma genetika ini, penulis

interpretasikan kedalam sebuah bahasa pemrograman Borland Delphi 6.0 dan

database paradox melalui proses pembentukan populasi, evaluasi, seleksi,

rekombinasi, dan mutasi yang menghasilkan sistem optimasi penjadwalan kuliah.

Kata Kunci : Metode Algoritma Genetika, GAs (Genetic Algoritma Sistem)

Page 8: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

KATA PENGANTAR

Assalamu'alaikum Wr. Wb.

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

berharga baik moril rnaupun materil.

Page 9: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

6. Riza Abdul Aziz dan Ary Adithya, yang telah memberikan bantuan fasilitas

clalam mengerjakan skripsi ini.

7. !bu Ovah clan Bapak Gunacli, yang telah memberikan bantuan dalam

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

Penulis

Page 10: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

DAFTARISI

Hal am an

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

1.6.4 Metode Pengembru1gan Sistem ................................................ 4

Page 11: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

1.6.4 Metode Pengembangan Sistem ................................................ 4

1.7 Kerangka Pemikiran .......................................................................... 5

1.8 Sistematika Penulisan ....................................................................... 8

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.4.3 Stochastic Universal Sampling ................................................ 20

Page 12: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

2.4.4 Seleksi Lokal ............................................................................ 20

2.4.5 Seleksi Dcngan Pemotongan .................................................... 20

2.4.6 Seleksi Dengan Tournament .................................................... 21

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

2.8.2 Tool Bar ................................................................................... 36

Page 13: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

BAB III METODE PENELITIAN ................................................................... 38

3.1 Tahapan Pendekatan Sistem ........................................................... 38

3.2 Tahapan Pengembangan Sistem ..................................................... 39

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

5 .1.2 Perangkat Lunak .................................................................... 63

Page 14: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

5.2 Gambaran Dan Fungsi Modul-Modul Program ............................. 64

5.3 Rancangan Modul .......................................................................... 66

BAB VI PENUTUP ............................................................................................ 72

6.1 Kesimpulan .................................................................................... 76

6.2 Saran ............................................................................................... 77

DAFT AR PUST AKA ......................................................................................... 78

LAMPIRAN ........................................................................................................ 79

Page 15: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

DAFTAR LAMPIRAN

A. Lampiran Source Code ................................................................................... 76

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

7. Modul Jadwal Kuliah ................................................................................. 96

Page 16: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

1.1 Latar Belalrnng

BABI

PENDAHULUAN

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

program studi barn, Fakultas Sains dan Teknologi, merasa pt:rlu dibuatnya sistem

Page 17: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

2

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

sekal i parameter yang harus cligunakmi sehingga penulis merasa kesulitmi clalam

Page 18: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

3

mengembangkan sistem ini. Untuk itu penulis batasi p•~ngembangan 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.

f. Penggunaan lokal yang optimal.

Page 19: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

4

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

Development), Kendal & Kendal (1998, 200), Gambar 1.1.

Page 20: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

5

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,

rekombinasi, dan mutasi (lihat Gambar 3.1 dibawah ini).

Page 21: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

Data Dosen

Hari

[ Semester

Evaluasi Fungsi Tujuan

Data MataKuliah

Shift =1

~ BASIS Jurusan DATA

Inisialisasi Kesiapan Dosen

(Kesiapan Mengajar Dosen)

Bangki~·ka····w··~·:·P·1·~.~u.I ~~ .. ·; .. ···--1·

.... _(]/\5~ __ 1_=~-----------

Tidak

Rekombinasi

Mutasi

OUTPUT (Jadwal Kuliah)

Ya

___.-····

7 f1---'

Gambar 1.2 Diagram Alir Sistem Penjadwalan Dosen

6

Page 22: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

7

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

tersedia).

Page 23: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

8

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

meliputi, ta11apan pendekatan sistem dan ta11apan pengembangan sistem.

Page 24: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

9

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

dianggap perlu.

Page 25: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

BABU

TINJAUAN PUSTAKA

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

d. Simulated Annealing

Page 26: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

11

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

B

Gambar 2.1 Metode Generate clan Test

2.1.2 Pendakian Bulat (Hill Climbing).

Metode ini hampir sama dengan metode pembangkitan dan

pengujian, hanya saja proses pengujian dilakukan menggunakan fungsi

Page 27: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

12

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

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

memiliki nilai heuristik yang lebih baik, lain halnya dengan metode best

Page 28: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

13

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

buruk.

Gambar 2.3 Metode Best First Search

Page 29: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

14

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.

/

Garn bar 2.4 Metode Simulated Annealing

Page 30: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

15

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

Ya

Gambar 2.5 Diagram Alir Genetiic Algorithms Sederhana

Individu Individu Terbaik

Page 31: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

16

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

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

c

Page 32: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

17

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

lebih besar bagi anggota populasi yang paling fit.

Page 33: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

18

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

(pc) dan peluang muatasi (pm).

Page 34: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

19

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

random dibangkitkan dan individu yang memiliki segmen dalam kawasan

Page 35: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

20

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

sebagai seleksi buatan. Seleksi ini biasanya digunakan oleh populasi yang

Page 36: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

21

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

induk2: 123 4 34

Page 37: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

22

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

34

Page 38: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

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

23

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

Anak2: 23,l 22,9 7,9

Page 39: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

24

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

1 1 0 1 0 0 0 0 1 I 0 1

Page 40: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

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)

25

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

1 1 I I 0 0 I 0 I l I I

Page 41: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

26

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 7 I 8 9)

( 4 5 3 1 8 1 6 I 9 2)

(x x x 1 8 7 6 I x x)

(xx x I 4 5 6 7 I 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 6 I s 9)

Lakukan hal yang sama untuk anak2

Anak2:

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

Menurut Pressman (1997, 186) ada tiga alasan dalam memakai rancangan

untuk membuat suatu sistem :

Page 42: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

27

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

Garn bar 2.6 Contoh Perubahan State

Page 43: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

28

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.

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.

Gambar 2.9 Notasi Tindakan

Page 44: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

29

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

mengambil keputusan. (decision making).

Page 45: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

30

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

sistem operasi DOS. Namun dalam perkembangan selanjutnya, Borland

Page 46: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

31

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

designer, code editor, dan objek inspector, dan objek treeview. Lihat

gambar 2.6 untuk lebih jelasnya.

Page 47: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

32

At 19,Scm lfl 17 Ccl I

Object Inspector Code Editor

Gambar 2.10 Bagian-bagian dari IDE Delphi

a. Menu

Menu pada delphi memiliki kegunaan seperti menu pada

aplikasi windows lainnya. Dari menu ini, kita bisa memanggil atau

menyimpan program, menjalankan dan melacak bug program, dan

sebagainya. Singkatnya segala sesuatu yang berhubungan dengan IDE

delphi, dapat anda lakukan dari menu.

Page 48: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

33

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 File I Open, dan seterusnya.

, ' . ~x l!i. l'.I ';'_jLl;.J•!Qlgi&l~~ ~ •m••••~-•µ•----- ---- --

2'1 =.I _J" a tL: i f!L:fl ~ v H 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~a Coniroisl DalaSnao I BDE I ADO I <lit"'""' I lnledl.,. j l\lebSeMce.il!.

: ~~! __ ~-_A ~~ Ll!J ~---"-~ ~""' [j lgj D ril

Gnmbar 2.12 Component Palette

Page 49: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

34

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 .. ..u..r/Cm1~.,,, ; 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 (Sea~"' TCbj<!<::<;);

JH'iyalo

( p,_-~ ... ,,,,., ,·/~"'""'""''"·· ) ·-0 / l'ubJ~<: daci"r«tion" / .,nd;

"""oodu.-.. TTor:m1.roni:.c::c .. •tc(!;lo:nder' Ta>.l"'""l'

""""' <>nd•

.........

:~J , I

Gambar 2.13 Code Editor pada IDE Delphi

Page 50: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

35

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

Dml§iiiW 1I§§tMWWtiilt~WMi1!~EI' CMt4;11.t1im;o !Form1 TForn-.1 :.::J !Form1 TForm1

Properties j Events l Properties Events I ·~~,-~~~~--.

I Action ... Action I Ar.tiver.nntrnl .. t\.ctiy.,~g~.~91.. ........................................................... . ' ...... 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 ·::·i:foGli~:::::::::::::::::: : ::::::::::::: ::::::::::::· 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 . i:i~~i~~i~~;u.P.::::: ::::::::::::;::::'.:'.':::::

BmderWidth 0 OnCreate Fo1mCreate caption i:m:i ····anoiliclicl<" ..................... -···································

. (;li~~tJ:loi$#1\ 273 . i:JiiQ.fili~iiY.~::::::::;: :::::::::::::;::::;:;::::::::: ClientWidth 825 .... .IJ..".'P<l"\I!?~ .................... : ......................... ::: ........ : .....•......

. ... c.a.1.or.... []deii1Face OnDockDr!:le · ·•· ··· ··• ··•··· ·· ·· ,1±1 constraints ······ irsi2et:~r;;trainisi· ··· onoockriver .............. ,, .......... .,.:, .. : .....•.......... r::::::¢\1~p :::::::::.::.::.:·:::·::.:::::::::· 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

Pada tab properties kita dapat mengubah properti dari komponen

kita. Secara mudah, properti dapat dijelaskan sebagai data yang

menentukan karakteristik komponen. Sebagai contoh pada gan1bar

2.1 Oa kita lihat properti-properti milik sebuah form, seperti Active

Page 51: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

36

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,

menyimpan tabel dan membuat tabel barn.

Page 52: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

37

Gambar2.15 IDE Paradox

Page 53: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

BAB III

METODE PENELITIAN

Seperti yang telah dibahas pada bab I, dalam pengembangan sistem

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

sistem yang dapat menangani pembuatanjadwal kuliah tersebut.

Page 54: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

39

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 Pengguna l -

Bckerja dcngan Membangun Pengguna untuk Sistem

Sistcrn Perancangan

.

I Menggunakan i I

masukkan dari r-I

pengguna ' I '

+ Mernperkenalkan Sistern

Fase Pclaksnnaan

Gambar 4.1 Siklus Pengembangan Sistem Model RAD

Page 55: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

40

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

pengenalan terhadap sistem.

Page 56: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

41

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,

rekombinasi dan mutasi yang menghasilkan jadwal kulia11 yang optimal.

Page 57: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

42

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

dilakukan sebagai berikut:

Page 58: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

43

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 SABTU

ft (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 BTU

ft (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

Mata Kuliah : Matematika

Page 59: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

44

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 SABTU

fi (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

Jurusan : Teknik Informatika

Semester : I

Page 60: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

45

~ 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

Tabel 3.3 Tabcl Pcmbangkitan Populasi (Kcsiapan Mcngajar Doscn)

Page 61: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

46

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)

berdasarkan banyaknya kesiapan mengajar dosen.

Page 62: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

47

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

402

Page 63: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

48

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

lx)s~ 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

kuliah yang optimal, dapat dilihat pada tabel 3.8.

Page 64: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

49

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

~--<>-*-+-<11--<>-@---<>---e-<11-&---e-<11-+-<11-+-e--e- 9 0 9 GI -e Ii ~

1 2 3 4 5 6 7 8 910111213 14151617181920212223 .. Populasi

Gambar 3.1 Grafik Pertambahan Populasi

Page 65: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

50

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

garnbar 3.2 dibawah ini :

Page 66: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

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 '--r--K_e_s_ia_p_a_n_d_o_s_e_n~·-

........_

Optimasi >-'Y"'•---, Tercapai

Tida~:

-~ Se!eksi Kesiapan Dostm

-~ Rekombinasi Kesiapan d~n

/ Selesai }----l Jadwal Kuliah

Gambar 3.2 STD Proses Penjadwalan Kuliah

51

Page 67: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

52

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 ·--~J TypeJ __ §.i.'!.e_J Key I !] A I 10 ..

I A I 70 A

1 70

I A I 15 I A i 15

Gambar 3.3 Spcsifikasi Tabcl Dosen

b. Tabel mata kuliah, untuk menyimpan data mata kul.iah.

Gambar 3.4 Spesifikasi Tabel Mata Kuliah

Page 68: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

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 21Jam

Gambar 3.6 Spesifikasi Tabel Shift

53

Page 69: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

54

e. Tabel semester, untuk menyimpan data semester.

Gambar 3. 7 Spesifikasi Tabel Semester

f. Tabel jurusan, untuk menyimpan data jurusan.

Gambar 3.8 Spesifikasi Tabel Jurusan

Page 70: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

55

g. Tabel lokal, untuk menyimpan data lokal.

Gambar 3.9 Spcsifikasi Tabel Lokal

h. Tabel kesiapan mengaJar, untuk menyimpan data kesiapan mengajar

do sen.

Gambar 3. 7 Spcsifikasi Tabel Kesiapan Mengajar

Page 71: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

56

1. Tabel jadwal, untuk menyimpan hasil proses GAs (Genetic Algoritms

Sis/em).

Field Name jTypej Sii~Keyj ~ • IB!l~ii, }iiii8¥1J-ii~iiiii;~iili!;jj"_... 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 50 8' Namamk A 50

~~ ~i: ---- -----~-J1 -~-~~~ 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

digambarkan dibawah ini (Gambar 3.8):

Page 72: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

57

FrmDataDosen_Klik ·I Form Data Dosen

I Layar Intro FnnDataMk_Klik

/ Form Data Mata Kuliah

Fm1DataLokal_Klik ~rm Data Lokal MENU

PILIHAN

. Form Set Kesiapan

FnnSctKesiapan_ Klik Mengajar

F01m Set Kesiapan

FnnSet\Vaktu_Klik Waktu Mengajar

Form Proses Pembuatan Jadwal

frmProses_Klik

Form Proses FnnJadwal_ Klik Tampilkan Jadwal

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 dosen. Kelima rancangan

masukan tersebut dapat dijelaskan sebagai berikut:

Page 73: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

58

• STD Rancangan Data Dosen

Rancangan Data Dosen, berfungsi untuk menambah data

dosen, mengurutkan data, menghapus data, mencari data, dan

navigasi untuk pindah ke record awal, record akhir, record sebelum,

dan record berikut. Hal ini digambarkan dalam STD dibawah ini

(Gambar 3.9).

SortingKlik . Pilihan Sorting (Kode/Nama)

Tampilkan . I ]

FORM DATADOSEN

NavigasiKlik I Pilihan Navigasi -,

AwalKlik I r AkhirKlik ~

BcrikutK\ik ~

TambahData_Klik

Scbc\umKlik

~' orm Tambah Data Dosen

OK Kiik

Cancel K1ik

Gambar 3.9 STD Rancangan Masukan Data Dosen

• STD Rancangan Data Mata Kuliah

Rancangan Data Mata Kuliah, berfungsi untuk menambah

data Mata Kuliah, mengumtkan data mata kuliah, menghapus data

Page 74: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

59

mata kuliah, mencari data mata kuliah, dan navigasi untuk pindah ke

record awal, record akhir, record sebelum, dan record berikut. Hal

ini digambarkan dalam STD dibawah ini (Gambar 3.10).

Sorting . Pilihan Sorting . (Kode/Nama)

Tampilkan I

FORM DATA MATAKULIAH I --

NavigasiKlik Pilihan Navigasi I

. Awa!KJik I f ' AkhirKlik Ta1nbahData_K!ik

BerikutKlik

Scbclu1nKlik "

I Form Tambah Data Mk I

OK Klik I

Cancel Klik

Gambar 3.10 STD Data Mata Kuliah

Page 75: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

60

• STD Rancangan Data Lokal

FORM DATALOKAL

NuvigasiKlik . I Pilihan Naviga

DelnilKlik

TutupKlik • : FormDetai!Lokal

OK_Klik TambahKlik Cancel_ Klik

- FrmTambahLokal } Garnbar 3.11 STD Rancangan Data Lokrnl

Rancangan data lokal, berfungsi untuk menampilkan data

local yang tersedia, menambah data local, clan rnenghapus data local.

STD rancangan data lokal dapat dilihat pada Gambar 3.11.

• Rancangan Set Data Kesiapan Mengajar

Rancangan Set Data Kesiapan Mengajar Dosen, berfungsi

untuk mengisi kesiapan mengajar mata kuliah. STD rancangan set

data kesiapan mengajar dapat dilihat pada gambar dibawah ini

(Gambar 3.12).

Page 76: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

61

L Tampilkan

LookUpDosenKlik Pilihan

FORM SET . DataDosen

KESIAPAN ~ MENGAJAR LookUpDbGridKlik

-1

Pilihan Mata Kuliah J t Tampilkan

Gambar 3.12 STD Rancangan Set Data Kusiapan Mengajar

• Rancangan Set Kesiapan Waktu Mengajar Dosen

Rancangan Set Kesiapan Waktu Mengajar Dosen,

berfungsi untuk mengisi kesiapan waktu mengajar dosen. STD

rancangan set data kesiapan waktu dosen dapat dilihat pada gambar

dibawah ini (Gambar 3.13)

ComboDosen_Klik . Pilihan Tampilkan DataDosen

FORM SET KESIAP AN LookUpDbgrid_Klik

' Pilihan __ Mata Kuliah I WAKTU I Tampilkan \

MENGAJAR

LookUpDbGrid Klik Pilihan _ \Vaktu Mengajar I i Tampilkan

Gambar 3.13 STD Rancangan Set Data Kesiapan Waktu Mengajar

Page 77: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

62

b. Rancangan Keluaran

Rancangan keluaran ditujukan untuk mendapatkan basil sesuai

dengan yang diinginkan oleh pengguna. Keluaran sistem berupa jadwal

kuliah untuk masing-masing jurusan pada Fakultas Sains dan Teknologi.

STD untuk rancangan keluaran dapat dilihat pada gambar dibawah ini

(Gambar3.14)

ComboSemestcrK!ik Pilihan Semester -·-·-

ComboK!sKlik

Pilihan Kelas Tampilkan

f--,..___ Pilihan Jurusan FORM ---

CmnboJurusanKlik JADWAL JADWAL f---- KULIAH - Pilihan Lokal --

Con1boHariK!ik Tampilkan

Pilihan Hari ComboLokalKlik ~--

Gambar 3.14 STD Rancangan Kelnara111

Page 78: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

BABV

IMPLEMENTASI

Kegiatan pada tahap implementasi meliputi pemrograman sistem dan

pengujian sistem. Pada bab ini membahas sarana-sarana pendukung yang diperlukan

agar sistem penjadwalan kuliah ini dapat be1jalan dengan baik dan modul-modul

fungsi program (kode program dapat dilihat pada lampiran).

5.1 Sarana-Sarana Pcndukung Sistcm Pcnjadwalan Kuliah

5.1.1 Perangkat Kcras

Perangkat keras untuk menjalankan sistem penjadwalan ini adalah

suatu unit komputer dengan konfigurasi sebagai berikut :

a. Prosesor setara Pentium II keatas.

b. A!femo1y minimal 64 MB.

c. Monitor dengan resolusi I 024 X 768

d. Keyboard dan Mouse.

e. VGA32MB.

5.1.2 Pcrangkat Lunak

Spesifikasi system operasi dan perangkat lunak yang digunakan

adalah sebagai berikut :

f. Windows 98/2000/XP/NT

g. Borland Delphi 6.0

h. Paradox

Page 79: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

64

5.2 Gambaran dan Fungsi Modul-Modul Program

Pada sistem ini terdapat 12 sub-program yang berbeda, dapat dilihat pada

gambar 4.1, yaitu:

a. Sub-program utama, berfungsi sebagai tempat sub-program lain dipanggil

untuk dijalankan dan gambaran keseluruhan program.

b. Sub-program data merupakan menu data yang terdiri dari data dosen, data

mata kuliab, data kurikulum dan data local.

c. Sub-program kesiapan, merupakan menu kesiapan megajar dan waktu

mengajar dosen.

d. Sub-program proses, merupakan menu proses pembuatan jadwal dan

menampilkan hasil Gadwal kuliuab).

e. Sub-program data dosen, berfungsi untuk pemasukan, penyimpanan,

pengubahan penghapusan, dan pencetakan data dosen.

f. Sub-program data mata kuliab, berfungsi untuk pemasukan, penyimpanan,

pengubaban dan penghapusan data mata kuliah.

Page 80: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

Sub-Program Data

Sub-Program Data Dosen Sub-Program Data mata kuliah Sub-Program Kurikulum Sub-Program Data Lokal

Pengguna

Sub-Program Utama

Sub-program Kesiapan

Sub-program Kesiapan Mengajar Sub-program Kesiapan Waktu Mengajar

Sub-program Proses

65

Sub-Program Proses Pembuatan Jadwal Kuliah Sub-Program Jadwal (hasil)

Gambar 4.1 Gambaran dan Fungsi Modul-Modul Program.

g. Sub program data lokal, berfungsi untuk pemasukan, penyimpanan,

pengubahan, dan penghapusan data lokal.

h. Sub program kmikulum, berfungsi untuk pemasukan, pengubahan

penyimpanan dan penghapusan data kuriknlum tiap seme:ster.

1. Sub program kesediaan mengajar, berfungsi untuk pemasukkan,

penyimpanan, pengubahan, dan penghapusan data kesiapan mengajar dosen.

J. Sub program kesiapan waktu mengajar, berfungsi lll1tuk pemasukan,

penyimpanan, pengubahan dan penghapusan data kesia.pan waktu mengajar

do sen.

Page 81: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

66

k. sub- program proses, berfungsi dalam pembuatan jadwal mengajar dosen dan

menampilkan hasil proses GAs (Genetic Algorithms Sistem) .

I. Sub program jadwal, berfungsi untuk melihat jadwal kuliah tiap semester,

mlihat local yang tidak terpakai, dan mencetak jadwal kulia11.

5.3 Rancangan Modul

Sesuai dengan modul-modul fungsi program diatas, terdapat 9 rancangan

yang penulis buat, meliputi :

5.3.1 Rancangan Menu Utama

Rancangan ini berli.mgsi sebagai interface tempat sub program lain

dipanggil untuk dijalankan, yang terdiri dari set data, set kesiapan, clan

proses penjadwalan kuliah (Gambar 4.2).

Gambar 4.2 Form Menu Utama

Page 82: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

67

5.3.2 Rancangan Data Dosen

Rancangan ini berfungsi sebagai interface untuk memodifikasi data

dosen yaitu menambah data dosen, mengubah data dosen, menyimpan data

dosen dan mencetak data dosen (Gambar 4.3).

Gambar 4.3 Form Data Dosen

5 .3 .3 Rancangan Mata Kuliah

Rancangan ini berfungsi sebagai interface untuk memodifikasi data

mata kuliah yaitu menambah data mata kuliah, mengubah data mata kuliah,

rnenyimpan data rnata kuliah clan mencetak data rnata lrnliah (Gambar 4.3).

Page 83: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

68

Gambar 4.3 Form Data Mata Kuliah

5.3.4 Rancangan Data Kurikulum

Rancangan ini berfungsi sebagai interface untuk memodifikasi data

kurikulum Fakultas Sains dan Teknologi. Kurikulum ini di buat untuk

setiap jurusan per semester. Interface ini memil iki fungsi tambah data

kurikulum, mengubah data kurikulum, mcnyimpan data kurikulum dan

mencetak data kurikulum (Gambar 4.4)

Page 84: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

69

Gambar 4.4 Form Data Kurikulum

5.3.5 Rancangan Lokal

Rancangan ini berfi.mgsi sebagai interface untulc memodifikasi data

lokal yaitu menambah data lokal, mengubah data lokal, menyimpan data

lokal dan mencetak data lokal (Gambar 4.5).

Page 85: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

70

Garn bar 4.5 Form Data Lokal

5.3.6 Rancangan Kesiapan ivlengajar Dosen

Rancangan ini berfungsi sebagai interface untuk memodifikasi data

kesiapan mengajar dosen yaitu menambah data kesiapan mengajar dosen,

mengubah data kesiapan mengajar dosen, clan menyimpan data kesiapan

mengajar dosen (Gambar 4.6).

Page 86: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

71

Gambar 4.6 Form Set Kesiapan Mcngajar ])oscn

5.3.7 Rancangan Kesiapan Waktu Mengajar Dosen

Rancangan ini berfungsi sebagai interface untuk memodifikasi data

kesiapan waktu mengajar dosen yaitu menambah data kesiapan waktu

mengajar dosen, mengubah data kesiapan waktu mengajar dosen, dan

menyimpan data kesiapan waktu mengajar dosen (Garnbar 4.7).

Page 87: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

72

Gambar 4. 7 Form Set Kcsiapan Waktu Mengajar Dosen

5.3.8 Rancangan Pembuatan Jadwal Kuliah

Rancangan ini berfungsi sebagai interface untuk membuat jadwal

kuliah. Fungsi-fungsi Proses algoritma genetika diterapakan pada form ini

(Gambar 4.8). pada form ini akan menampilkan hasil proses algoritma

genetika yang dapat dimodifikasi jika diperlukan.

Page 88: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

73

Gambar 4.8 Form Proses Pcmbuatan Jadwal Kuliah

5.3.9 Rancangan Jadwal Kuliah

Rancangan ini berfungsi sebagai interface untuk menampilkan

jadwal kuliah setiap jurusan per semester per kelas dan untuk melihat lokal

kosong. Disini tcrdapatjuga fungsi untuk mencetakjadwal kuliah (Gambar

4.9, Gambar 4.10).

Page 89: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

74

Gambar 4.9 Form .Jadwal Kuliah

Page 90: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

~~w;~:~j;jii$<iftffi:Plfffffllliit~r;yya;W'"" :·: [l)rifr~ H ~ ~ .i :ss!lil~!~

Semester

Thn AkademD<

Jurusan Kolas

Shift Jam

07.30 - 09.10

09.20- 11.00

11.10-12.50

JAOWAL KULIAH FAKULTAS SAINS DAN TEKNOL,OQI UNIVERSITAS !SLAM NEGERI SYARll' HIDAYATULLAH JllKARTA

2004/2005

TEKNIK INFORMATIKA

A

Ha~ Dos en Mata KuBllh Sks

GENIN NANI RAD!ASlUTl, Orn JAN!NGAN KCMPlITER 2

SEN!N NANI RAO!ASlUTI, D'a JA@NGAN KCMPlITER 2

SENJN NANJ RAOtA.SlUTI, D'a ALGffilMA GENE11KA 2

Garn bar 4.10 Form Mencetak Jadwal Kuliah

75

Lokal "'':.~·;_

401

401

401 'I

Page 91: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

77

6.2 Saran

Penulisan slaipsi ini akan Jebih bermanfaat lagi apabila memperhatikan

ha! - ha! sebagai berikut :

a. Dalam pembuatan sistem penjadwalan kuliah ini untuk pengembangan

kedepan di harapkan pengesetan kesiapan mengajar dosen tidak hanya untuk

regular.

b. Kesiapan mengajar dosen setiap semester per tahun akademik seharusnya

disimpan per tabel. Hal ini agar membantu pihak akademik sebagai referensi

untuk pembuatan jadwal kuliah selanjutnya.

c. Ada baiknya bila pengguna sistem penjadwalan kuliah ini setidalmya

memiliki dasar kemampuan tentang pengoperasian komputer.

Page 92: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

78

DAFT AR PUST AKA

Charles L. Karr, L. Michael Freeman, Industrial Applications Of Genetic Algorithms,

Series III: United State Of America: CRC Press LLC, 1999.

Sri Kusuma Dewi, Artificial Intelegence (Teknik dan Aplikasi), Edisi I ( Yogyakarta:

Graha llmu, 2003 ).

Mitsuo Gen, Runwei Cheng, Genetic Algorithms And Engineering Design, Third

Edition (New York: A Wiley-lnterscience Publication, 1997).

Jeffry L. Whitten, , Kevin C. Dittman, Lonny D. Bentley Systems Analysis And

Design Jvlethods, 5111 Edition (America, New York: McGrawHill Companies

Inc., 2000).

Kendal & Kendal, Analisis Dan Perancangan Sistem, Jilid Pertama Edisi Bahasa

Indonesia (Jakarta : Pearson Education Asia Pte. Ltd. clan PT. Prenhallindo,

2003).

Roger S. Pressman, Ph.D, Rekayasa Perangkat Lunak, Buku I (Yogyakarta : Andi

Y ogyakrta, 2001 ).

Antony Pranata, Pemrograman Borland Delphi, Edisi ke-3 (Yogyakarta: Andi

Y ogyakarta, 200 I).

Abdul Kadir, Pemrograman Database Menggunakan Delphi, Jilid ke-1 (Jakarta:

Salemba Infotek, 2001 ).

Page 93: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

A. Lampiran Source Code

I. Modul Data Dosen

unit Dasen;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls, DBCtrls, ComCtrls;

type TfrmDosen = class(TForm)

DBGridl: TDBGrid; Panel8: TPanel; Tambah: TStaticText; hapus: TStaticText; Awai: TStaticText; Akhir: TStaticText; Sebelum: TStaticText; Berikut: TStaticText; Image 1: Tlmage; In1age2: Tlinage; In1age3: Thnage; Image4: Tlmage; hnage5: 'rimage; I111age6: Tllnage; Panel J : TPanel; Label I: TLabel; Pane12: TPanel; Label2: TLabel; linage?: Thnage; Label4: TLabel; Tutup: TStaticText; RadioGroup I: TRadioGroup; Edit!: TEdit; StaticTextl: TStaticText; hnage8: Thnage; procedure TutupMouseMove(Sender: TObject; Shift: TShif!State; X, Y: Integer);

procedure Fo1mMouseMove(Sender: TObject; Shift: TShif!State; X, Y: Integer);

procedure FormActivate(Sender: TObject); procedure FonnClose(Sender: TObject; var Action: TC!oseAction); procedure TutupClick(Sender: TObject); procedure hapusMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer); procedure TambahMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

Page 94: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

procedure Awa!MouseMove(Sender: TObject;Shift: TShiftState; X, Y: Integer); procedure akhirMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer); procedure sebelumMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer); procedure berikutMouseMove(Sender: TObject; Shift: TShiflState; X,

Y: Integer); procedure RadioGroup I Click(Sender: TObject); procedure TambahClick(Sender: TObject); procedure Edit!KeyPress(Sender: TObject; var Key: Char); procedure Edit! Change(Sender: TObject); procedure hapusClick(Sender: TObject); procedure AwalClick(Sender: TObject); procedure AkhirClick(Sender: TObject); procedure SebelumClick(Sender: TObject); procedure BerikutClick(Sender: TObject); procedure StaticTextl Click(Sender: TObject);

private { Private declarations }

public { Public declarations }

end;

var frmDosen: TfrmDosen; canst nmtbdos='Tdosen';

in1plementation

uses dmSchedule, TambahDosen, CetakDosen;

{$R *dfm}

procedure Tfm1Dosen.TutupMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin Tutup.Font.Color := clRed; Tambah.Font.Color := clSilver; hapus.Font.Color := clSilver; Awai.Font.Color:= clSilver; Akhir.Font.Color := clSilver; Sebelum.Font.Color := clSilver; Berikut.Font.Color := clSilver;

end;

procedure TfrmDosen.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin Tutup.Font.Color := c!Silver; Tambah.Font.Color := clSilver; hapus.Font.Color := clSilver;

80

Page 95: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

Awai.Font.Color:= clSilver; Akhir.Font.Color := clSilver; Sebelum.Font.Color := clSilver; Berikut.Font.Color := cJSilver;

end;

procedure TfrmDosen.FormActivate(Sender: TObject); begin

DM.tbDosen.Open; //animate l .Active:=true;

end;

procedure TfrmDosen.FonnClose(Sender: TObjeet; var Action: TCloseAction); begin

DM.tbDosen.Close; end;

procedure TfrmDosen.TutupClick(Sender: TObject); begin

frmDosen.Close; end;

procedure TfrmDosen.hapusMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin Tutup.Font.Color := clSilver; Tambah.Font.Color := cJSilver; hapus.Font.Color := clRed; Awai.Font.Color:= clSilver; Akhir.Font.Color := cJSilver; Sebelum.Font.Color := clSilver; Berikut.Font.Color := clSilver;

end;

procedure TfrmDosen.TambahMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin Tutup.Font.Color := c!Silver; Tambah.Font.Color := clred; hapus.Font.Color := cJSilver; Awai.Font.Color:= c!Silver; Akhir.Font.Color := c!Silver; Sebelum.Font.Color :=cl Silver; Berikut.Font.Color :=cl Silver;

end;

procedure TfnnDosen.AwalMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin Tutup.Font.Color := cJSilver;

81

Page 96: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

Tambah.Font.Color := clSilver; hapus.Font.Color := clSilver; Awai.Font.Color:= clred; Akhir.Font.Color :=cl Silver; Sebelum.Font.Color := clSilver; Berikut.Font.Color := clSilver;

end;

procedure TfrmDosen.akhirMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin Tutup.Font.Color := clSilver; Tambah.Font.Color := clSilver; hapus.Font.Color := clSilver; Awai.Font.Color:= clSilver; Akhir.Font.Color := clRed; Sebelum.Font.Color := clSilver; Berikut.Font.Color := clSilver;

end;

procedure TfrmDosen.sebelumMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin Tutup.Font.Color := clSilvcr; Tambah.Font.Color := clSilver; hapus.Font.Color := clSilver; Awai.Font.Color:= clSilver; Akhir.Font.Color := clSilver; Sebelum.Font.Color := clRed; Berikut.Font.Color := clSilver;

end;

procedure TfrmDosen.berikutMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin Tutup.Font.Color := clSilver; Tambah.Font.Color := clSilver; hapus.Font.Color := clSilver; Awai.Font.Color:= c!Silvcr; Akhir.Font.Color :=cl Silver; Sebelum.Font.Color := clSilver; Berikut.Font.Color := c!Red;

end;

procedure TfrmDosen.RadioGroup I Click( Sender: TObject); begin

if radiogroup I .ltemlndex = O then Dm.tbDosen.IndexFieldNames := 'kode'

else

82

Page 97: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

D1n.tbDosen.IndexNan1c := 'Dosen I'; end:

procedure TfrmDosen.TambahClick(Sender: TObject); begin

frmTambah.ShowModal; end;

procedure TfnnDoscn.Edit I KeyPress(Sendcr: TObject; var Key: Char); begin

Drn.tbDosen.lndexFieldNames :~ 'nama': end;

procedure TfnnDosen.Editl Change(Sender: TObject): begin

Dn1.tbDosen.IndexNan1e:='dosen 1 '; Dm.tbDosen. FindNearest([ edit I .Text]);

end;

procedure TfrrnDosen.hapusCJick(Sendcr: TObjcct); begin

if Dm.tbDosen.IsEmpty then MessageDlg('Data Sudah Kosong OK ... !',mtlnfonnation,[mbOK],O)

else if MessageDlg('Anda yakin mau hapus data ini.', mtlnformation,

[rnbOk,mbCancel], O)~mrOk then Dm.tbDosen.Delete ;

end;

procedure TfrmDosen.AwalClick(Sender: TObject); begin

Dm.tbDosen.First; end;

procedure TfrmDosen.AkhirCJick(Sender: TObject); begin

Dm.tbDosen.Last; end;

procedure TfrmDosen.SebelumClick(Sender: TObject); begin

Dm.tbDosen.Prior; end;

procedure TfrmDosen.BerikutC!ick(Sender: TObject); begin

Dm.tbDosen.Next; end;

procedure TfrmDosen.StaticText I Click(Sender: TObject);

83

Page 98: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

begin Form 1.QuickRep I .Preview;

end;

end.

2. Modul Data Mata Kuliah

unit MataKuliah;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forn1s, Dialogs, StdCtrls, ExtCtrls, ComCtrls, Grids, DBGrids;

type TfnnMk ~ class(TForm)

DBGrid I: TDBGrid; Panel I: TPanel; lmage2: Tlmage; lmage3: Tlmage; lmage4: Tlmage; lmage5: Tlmage; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label?: TLabel; lmage6: Tlmage; Image!: Tlmage; Label2: TLabel; Panel2: TPanel; Labell: TLabel; Panel3: TPanel; RadioGroup l: TRadioGroup; Labell l: TLabel; Label! 0: TLabel; Edit!: TEdit; Label9: TLabel; Image?: Tlmage; Label8: TLabel; lmage8: Tlmage; procedure FormActivate(Sender: TObject); procedure Label2MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer); procedure Label3MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer); procedure Label4MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

84

Page 99: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

procedure Label5MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure Label6MouseMovc(Scnder: TObject; Shift: TShiftState; X, Y: Integer);

procedure Label7MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure Label9MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure Label9Click(Sender: TObject); procedure Label2Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Label3Click(Sender: TObject); procedure Label4Click(Sender: TObject); procedure Label5Click(Sender: TObject); procedure Label6Click(Sender: TObject); procedure Label7Click(Sender: TObject); procedure RadioGroup i Click(Sendcr: TObject); procedure Edit l Change( Sender: TObject);

private { Private declarations }

public { Public declarations }

end;

var frmMk: TfrmMk;

iluplementation

uses dmSchedule, TambahMk;

{$R *.dfm}

procedure TfrmMk.FormActivate(Sender: TObject); begin

dm.tbMk.Open; end;

procedure TfrmMk.Label2MouseMove(Sender: TObject; Shift: TShiftState; x, Y: Integer);

begin label2.Font.Color:=clred; label3.Font.Color:=clsilver; label3.Font.Color:=clsilver; label5.Font.Color:=clsilver; label6.Font.Color:=clsilver; label?. F ont.Color:=clsi Iver; //label8.Font.Color:=clsilver; label9.Font.Color:=clsilver;

85

Page 100: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

end;

procedure TfrmMk.Labe13MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin label2 .F ont.Color:=clsi Iver; label3.Font.Color:=clred; label4.Font.Color:=clsilver; label5.Font.Color:=clsilver; label6.Font.Color:=clsilver; label7.Font.Color:=clsilver; //label8.Font.Color:=clsilver; label9.Font.Color:=clsilver;

end;

procedure TfrmMk.Labe14MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin label2.Font.Color:=elsilver; label3.Font.Color:=clsilvcr; label4.Font.Color:=clred; label5 .Font.Color:=clsi Iver; labe16.Font.Color:=clsilver; label? .F ont.Color:=clsilver; //label8.Font.Color:=clsilver; label9.Font.Color:=clsilver;

end;

procedure TfrmMk.Label5MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin label2.Font.Color:=clsilver; labcl3.Font.Color:=clsilver; label4.Font.Color:=clsilver; label5.Font.Color:=clred; label6.Font.Color:=clsilver; label7.Font.Color:=clsilver; //label8,Font.Color:=clsilver; label9.Font.Color:=clsilver;

end;

procedure TfrmMk.Label6MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin label2.Font.Color:=clsilver;

label3.Font.Color:=clsilver; label3.Font.Color:=clsilver; label5.Font.Color:=clsilver; label6.Font.Color:=clred; label? .F ont.Color:=clsilver; //label8.Font.Color:=clsilver;

86

Page 101: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

la be 19. Fant.Co lor:=c lsi Iver: end;

procedure TfrmMk.Label7MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin label2.Font.Color:=clsilver;

iabel3.Font.Color:=clsilver; label4.Font.Color:=clsilver; label5.Font.Color:=clsilver; label6.Font.Color:=clsilver; label 7 .Fant.Co lor:=clred; l/label8.Font.Color:=clsilver; label9.Font.Color:=clsilver;

end;

procedure TfrmMk.Label9MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin label2.Font.Color:=clsilver;

labcl3. F ont.Color:=clsilver; labe14.Font.Color:=clsilver; label5.Font.Color:=clsilver; label6.Font.Color:=clsilvcr; la be 17. Fant.Co lor:=clsi Iver;

II label8.Font.Color:=clsilvcr; label9.Font.Color:=clred;

end;

procedure TfrmMk.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin label2.Font.Color:=clsilver;

labe13.Font.Color:=clsilver; label4.Font.Color:=clsilver; label5.Font.Color:=clsilver; label6.Font.Color:=clsilver; labe17 .Font.Color:=clsilver; //label8.Font.Color:=clsilver; label9.Font.Color:=clsilver;

end;

procedure TfrmMk.Label9Click(Sender: TObject); begin

close; end;

87

Page 102: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

procedure TfrmMk.Labe12Click(Sender: TObject); begin

frmTambahMk.ShowModal; frmTambahMk.Editl .Text:="; frmTambahMk.Edit2. Text:="; frmTambahMk.Edit3.Text:="; frmTambahMk.Edit4.Text:=";

end; procedure TfrmMk.FormClose(Sender: TObject; var Action: TCloseAction); begin

DM.tbMk.Close; end;

procedure TfrmMk.Label3Click(Sender: TObject); begin ifDm.tbMk.lsEmpty then

MessageDlg('Data Sudah Kosong OK ... !',mtlnformation,[mbOK],O) else

if messagedlg('Anda yak in mau hap us data ini?',mtconfirmation, [mbyes,mbcancel],O)=mryes then

DM.tbMk.Delete; end;

procedure TfrmMk.Label4Click(Sender: TObject); begin

DM.tbMk.First; dbgrid I.Canvas.Brush.Color := clred;

end;

procedure TfrmMk.Label5Click(Sender: TObject); begin

dm.tbMk.Last; end;

procedure TfrmMk.Label6Click(Sender: TObject); begin

dm.tbMk.Prior; end;

procedure TfrmMk.Label7Click(Sender: TObject); begin

dm.tbMk.Next; end;

procedure TfrmMk.RadioGroup I Click(Sender: TObject); begin

ifradiogroup I.Item Index = 0 then dm.tbMk.lndexFieldNames := 'kode'

else dm.tbMk.lndexName := 'mkl ';

end;

88

Page 103: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

procedure TfrmMk.Editl Change(Sender: TObject); begin

dm.tbMk.lndexName :~ 'mkl'; dm.tbMk.FindNearest([ edit I .Text]);

end;

end.

3. Modul Set Data Lokal

unit lokal;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DB, DBTables, TeEngine, Series, ExtCtrls, TeeProcs, Chart, DbChart, ComCtrls, StdCtrls;

type TfrmLokal ~ class(TForm)

Panel 1: TPanel; lmage7: Tlmage; Tutup: TStaticText; StaticTextl: TStaticText; lmage2: Tlmage; DBChartl: TDBChart; Series 1: TPieSeries; procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure TambahMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure StaticTextl MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure TutupMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure TutupClick(Sender: TObject); procedure StatieTextlC!ick(Sender: TObject);

private { Private declarations }

public { Public declarations )

end;

var frmLokal: TfrmLokal;

89

Page 104: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

i1nple111entation

uses tambahLokal, dmSchedule, DetailLokal;

{$R *.dfm}

procedure TfrmLokal.FormActivate(Sender: TObject); begin

dm.tbLokal.Open; //anilnate 1.Active :=true;

end;

procedure TfrmLokal.FormClose(Sender: TObject; var Action: TCloseAetion); begin

dm.tbLokal.Close; end;

procedure TfrmLokal.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

tutup.Font.Color:=clsilver; statictextl .Font.Color:=elsilver;

end;

procedure TfrmLokal.TambahMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

tutup.Font.Color:=clsilver; statictext I .Font. Color:=cisi Iver;

end;

procedure TfrmLokal.StaticText I MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

tutup.F ont. Co lor:=clsi Iver; statictext I .Font.Color:=clred;

end;

procedure TfrmLokal.TutupMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

tutup.Font.Color:=clred; statictext I .Font.Color:=clsi Iver;

end;

procedure TfrmLokal. TutupClick(Sender: TObject);

90

Page 105: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

begin close;

end;

procedure TfnnLokal.StaticText I Click(Sender: TObject); begin

frmDetail.Showmodal; end;

end.

4. Modul Kesiapan Mengajar Dosen

unit kesediaan;

intcrfrtcc

uses Windo\VS: Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DBCtrls, Grids, DBGrids, StdCtrls, ComCtrls, ExtCtrls, Mask., Buttons, DB, DBTables;

type TfrmMengajar ~ class(TForrn)

Panel4: TPanel; Label l: TLabel; Panell: TPanel; Label4: TLabel; Label5: TLabel; Label2: TLabel; DBLookupComboBox I: TDBLookupCornboBox; hapus: TStaticText; DBEdit I: TDBEdit; DBGrid I: TDBGrid; Tablel: TTable; Table!Kode: TStringField; Table !Nama: TStringField; Table!Alamat: TStringField; Table I Telp: TStringField; Table I Hp: TStringField; DataSource I: TDataSource; Table2: TTable; Table2Kode_dosen: TStringField; Table2Kode _mk: TStringField; Table2LUmk: TStringField; DataSource2: TDataSource; Panel2: TPanel; Tutup: TStaticText; StaticTextl: TStaticText; I1nage7: TI1nage; lmage3: Tlrnage;

91

Page 106: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure StaticText2MouseMove(Sender: TObject; Shift: TShiftStat<:; X, Y: Integer);

procedure StaticTextl MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure TutupMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure TutupClick(Sender: TObject); procedure StaticText2Click(Sender: TObject); procedure StaticTextl Click(Sender: TObject); procedure SpeedButton I Click(Sender: TObject);

private ( Private declarations }

public ( Public declarations }

end;

var fnnMengajar: 1'frn1Mcngajar;

implementation

uses dmSchedule, setWaktu, kesediaan I;

($R *.dfm}

procedure TfrmMengajar.Fo1111Activate(Sender: TObject); begin

Tablel.Open; table2.0pen;

end;

procedure TfrmMengajar.ForrnClose(Sender: TObject; var Action: TCloseAction); begin

table 1.Close; table2.Close;

end;

procedure TfrmMengajar.Fon11MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin tutup.Font.Color:=clsilver; statictext I .F ont.Color:=clsi Iver; //statictext2.Font.Color:=clsilver;

end;

procedure TfrmMengajar.StaticText2MouseMove(Sender: TObject;

92

Page 107: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

Shift: TShiftState; X, Y: Integer); begin

tutup.Font.Color:=clsilver; statictext I .Font.Color:=clsilver; //statictext2.Font.Color:=clred;

end;

procedure TfrmMengajar.StaticTextl MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin tutup.Font.Color:=clsilver; statictext 1.Font.Color:=clrcd; //statictext2.Font.Color:=clsilver;

end;

procedure TfrmMengajar.TutupMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin tutup.Font.Color:=clred; statictextl .Font.Color:=clsilver; //statictext2.Font.Color:=clsilver;

end;

procedure TfrmMengajar.TutupClick(Sender: TObject); begin

close; end;

procedure TfrrnMengajar.StaticText2Click(Sender: TOqject); begin

if messagedlg('Yakin and a ha pus data ini ?' ,mtlnformation,[ mb Y es,mbNo ],O)=mrY es then dm.tbKesediaan.Delete;

end;

procedure TfrmMengajar.StaticTextl Click(Sender: TObject); begin ifTable2.lsEmpty then

MessageDig('Data Sudah Kosong OK ... !',mtlnformation,[mbOK],O) else

ifmessagedlg('Hapus data ini ?',mtConfirmation,[mbyes,mbNo],O)=mrYes then table2.Delete;

end;

procedure TfrmMengajar.SpeedButton I Click(Sender: TObject); begin

frmsetWaktu.ShowModal; end;

end.

93

Page 108: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

5. Modul Kcsiapan Waktu Mengajar Dosen

unit kesediaan 1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, DBCtrls, ComCtrls, ExtCtrls, Grids, DBGrids, DB, DB Tables;

type TfrmKesediaan ~ class(TForm)

Panel2: TPanel; Labell: TLabel; Panel I: TPanel; Labcl5: TLabcl; Labcl4: TLabcl; Label2: TLabel; DBTextl: TDBText; Label3: TLabel; DBLookupComboBox I: TDBLookupComboBox; DBGrid I: TDBGrid; DBGrid2: TDBGrid; Panel4: TPanel; Image?: Tlmage; Tutup: TStaticText; StaticTextl: TStaticText; Image I: Tlmage; procedure FormActivate(Scndcr: TObjcct); procedure TutupClick(Sender: TObject); procedure DBLookupComboBox I Enter( Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure StaticTextl Click(Sender: TObject);

private { Private declarations }

public { Public declarations }

end;

var frmKesediaan: TifmKesediaan;

implementation

uses dmSchedule;

{$R *.dfm}

procedure TfrmKesediaan.FormActivate(Sender: TObject); begin

94

Page 109: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

Dm.TMengajar.Open; dm.tbDosen.Open; dm.tbMk.Open; dm.tbKesediaan.Open; dm.tbShift.Open; dm.tbHari.Open; DM.tbJurusan.Open; dm.tbKelas.Open; dm. tbSemester. Open;

end;

procedure TfrmKesediaan.TutupClick(Sender: TObjeet); begin CLOSE;

end;

procedure TfimKesediaan.DBLookupComboBox I Enter( Sender: TObject); begin

DbGrid I .DataSource:=Dm.dsMengajar; end;

procedure TfrmKesediaan.FormClose(Sender: TObject; var Action: TCloseAction);

begin Dm.TMengajar.Close; dm.tbKelas.Close; DM.tbJurusan.Close;

dm.tbDosen.Close; dm.tbMk.Close; dm.tbKesediaan.Close; dm.tbShift.Close; dm.tbHari.Close; dm.tbSemester.Close;

end;

procedure TfrmKesediaan.StaticText I Click(Sender: TObject); begin ifDm.tbKesediaan.lsEmpty then

MessageDlg('Data Sudah Kosong OK ... !',mtlnformation,[mbOK],O) else

ifmessagedlg('Yakin mau hapus data ini ... !',mtConfirmation,[mbyes,mbno],O)=mrYes then dm.tbKesediaan.Delete;

end;

end.

6. Modul Proses Pembuatan Jadwal unit Proses;

interface

95

Page 110: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, DbChart, StdCtrls, Buttons, Grids, DBGrids, DBTables, DB;

type TfrmProses ~ class(TForm)

DBGridl: TDBGrid; Query I: TQuery; DataSource 1: TDataSource; tbJadwal: TTable; Query2: TQuery; Query3: TQuery; Panel 1: TPanel; Panel2: TPanel; Button I: TButton; BitBtn I: TBitBtn; BitBtn2: TBitBtn; tbJadwalKode _ dosen: TStringField; tbJadwalKode_mk: TStringField; tbJadwalKode_Hari: TStringField; tbJadwalKode_shift: TStringField; tbJadwalLokal: TFloatField; tbJadwalNamados: TStringField; tbJadwalNamamk: TStringField; tbJadwalHari: TStringField; tbJadwalJam: TStringField; tbJadwalSks: TStringField; tbJadwalJurusan: TStringField; Panel3: TPanel; Label l: TLabel; Combo Box I: TComboBox; tbJadwalThnAk: TStringField; tbJadwalKelas: TStringFicld; tbJadwalSmt: TStringField; procedure Button l Click(Sender: TObject); procedure inisialisasi; procedure seleksi; procedure so1ting; procedure rekombinasi; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormActivate(Sender: TObject); procedure BitBtn !Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject);

private ( Private declarations }

public ( Public declarations }

end;

96

Page 111: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

var frn1Proses: TfimProses; gen 1,gen2,gen3,gen4,gen5,gen6,gen7 : array[ I .. 1000] of string; fitnees : array[ 1..1000] of integer; h,s : array [I.. I OJ of string; KHari, KShift: string;

i1nple1nentation

uses dmSchedule;

{$R *.dfm}

procedure TfrmProses.Button 1 Click( Sender: TObject); var i,j,k,jumHarijumShill,lok,jumlokal: integer;

begin if combobox I .Text= " then

n1essageDlg('1~ahun ajaran belun1 cliisi ... ! ! !',n1tConfinnation,[MBOI<],O) else begin

dm.tb Hari. First; for ju1nHari:= I to dn1.tbl-lari.RecordCount do begin

h [j um Hari] :=dm. tbHari. tie ldbyname('kode _hari').AsStri ng; dm.tbHari.Next;

end;

dm. tbSh i ft. First; for jumShit1:= I to dm.tbShift.RecordCounl do begin

sOmnshift]:=dm.tbShift.fieldbyname('shifl').AsString; dm.tbShifl.Next;

end;

for i:= 1 to dm.tbHari.RecordCount do begin for j:=l to dm.tbShift.RecordCount do begin

query I.Close; quetyl.SQL.Clear; KHari := h[i]; KShifl:= sOJ; query! .SQL.Add('select *from TKesediaan where kode_hari =:kh and kode_shift =:ks'); query 1.ParamByName('kh').AsString:=KHari ; query l .ParamByName('ks').AsString:=KShi fl ; query I.Open; inisialisasi; Dm.tbShift.Next;

end; dm.tbHari.Next; jumLokal:=dm.tbLokal.RecordCount; for lok:=l to jumLokal do begin que1y2.Close; que1y2.SQL.Clear;

97

Page 112: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

query2.SQL.Add('Delete From TKesediaan Where kode_dosen =:kd and kode_Mk =:km'); query2.Prepare; query2.ParamByName('kd').AsString:=gen I [lok]; que1y2.ParamByName('km').AsString:=gen2[lok]; query2.ExecSQL;

end; end;

end; end;

procedure TFrn1Proses. inisialisasi; var

ij : integer; begin

que1y I.First; for i:=l to queryl .RecordCount do begin

gen I [i] := queryl.fieldbyname('kode_dosen').AsString; gen2[i] :=query] .fieldbyname('kode_mk').AsString; gen3[i] := query I .fieldbyname('kode _ Hari').AsString; gen4[i] := queryl.fieldbyname('kode _shift').AsString; gen5[il := que1yl .fieldbyname('.jurusan').AsString; gen6[ i j := que1y l. lieldbyname('kelas').AsSlring; gen7[i] :=query I .fieldbyname('smt').AsString; query2.Close; query2.SQL.Clear;

98

query2.SQL.Add('Select * From TKesediaan where kode_dosen =:kd and Kode_Mk =:km'); query2.Prepare; que1y2.ParamByName('kd').AsString:=gen I [i]; que1y2.ParamByName('km').AsString:=gen2{i]; query2.0pen; fitnees[i] := query2.RecordCount; queryl .Next;

end; sorting; seleksi; rcko1nbinasi;

end;

Procedure TFrmProses.sorting; var ij,k,x: integer;

kd,km,kh,ks,jrs,kls,smt : string; begin

for i:= I to queryl.RecordCount-1 do begin k:=i; x:= fitnees[i];kd:=gen I [i]; km:=gen2[i]; kh:=gen3[i]; ks:=gen4[i];

jrs:=gen5[i];kls:=gen6[i];smt:=gen7[i]; · for j :=i+ I to query I .RecordCount do

iffitnees[j] < x then begin k:=j; x:=fitnees[j]; kd:=gen I [j]; km:=gen2[j];

Page 113: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

kh:=gen3[j]; ks:=gen4[j]; jrs:=gen5[j]; kls:=gen60J; smt:=gen70J

99

end; fitnees[k]:= fitnees[i]; fitnees[i]:=x; gen I [k]:= gen I [i]; gen2[k]:= gen2[i]; gen3 [I<]:= gen3 [i); gen4 [ k] :=gen4 [ i]; gen5 [k] :=gen5 [ i]; gen6[k]:=gen6[i]; gen 7[k] :=gen 7 [i]; gen! [i]:=kd; gen2[i]:=km; gen3[i]:=kh; gen4[i]:=ks; gen5[i]:=jrs; gen6[i]:=kls; gen7[i]:=smt;

end; end;

pro.cedure 'fFrn1Proses.seleksi; var ijjumLokal, JumKesediaan: integer; begin

dm.tbLokal.First; jumLokal:=dm.tbLokal.RecordCount; jumKesediaan:=query I .RecordCount;

if jumKesediaan <= jumLokal then for j:=l to jumKesediaan do begin

tbJadwal.Append; tbJadwal.FieldBy Name('kode _ dosen').AsString:=gen I [j]; tbJadwal.FieldB y N ame('kode _ mk').AsString:=gen2[j]; tbJadwal.FieldBy N ame('kode _ Hari').AsString:=gen3 [j]; tbJadwal .FieldB yName('kode _Shift') .AsString:=gen4 [j]; tbJadwal.FieldByName('smt').AsString:=gen7[j]; if dm.tbDosen.FindKey([gen 1 [j]]) then

tbJadwal.FieldByName('Namados').AsString:=dm.tbDosen.fieldbyname('nama').AsString; if dm.tbHari.FindKey([gen3[j]]) then

tbJadwal.FieldByName('Hari').AsString:=dm.tbHari.fieldbyname('Hari').AsString; if dm.tbShift.FindKey([gen4[j]]) then

tbJadwal.FieldByName('Jam').AsString:=dm.tbShift.fieldbyname('Jam').AsString; tbJadwal.FieldByName('ThnAK').AsString:=ComboBoxl .text; if dm.tbMk.FindKey([gen2[j]J) then begin

tbJadwal.FieldByName('Namamk').AsString:=dm.tbMk.fieldbyname('nama').AsString; tbJadwal.FieldByName('sks').AsString:=dm.tbMk.fieldbyname('sks').AsString;;

end; if dm.tbJurusan.FindKey([genS[j]]) then

tbJadwal.FieldByName(jurusan').AsString:=dm.tbJurusan.fieldbyname('Nama').AsString;

Page 114: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

100

if dm.tbKelas.FindKey([gen6U]]) then tbJadwal.FieldByName('kelas').AsString:=dm.tbkelas.fieldbyname('kelas').AsString;

tbJadwal.FieldByName('Lokal').Aslnteger := dm.tbLokal.fieldbyname('Lokal').Aslnteger; tbJadwal.Post; dm.tb Lokal. Next;

end else

for j:=I tojumLokal do begin tbJadwal.Append; tbJadwal.FieldByName('kode _ dosen').AsString:=gcn I UJ; tbJ adwal .FieldBy N ame('kode _mk').AsString:=gen2 Ul; tbJ adwal. FieldBy Name('kode _Hari'). AsString:=gen3 Lil; tbJ adwa I. FieldB y Namc('kode _Shi fl').AsString:=gen4[j]; tbJadwal.FieldByName('Lokal').Asl11leger := dm.tbLokal.fieldbyname('Lokal').Aslnteger; tbJadwal.Post; dm.tbLokal.Next; query I .Next;

end; end;

procedure TFnnProses.rekombinasi; var jum:integer; begin

jum:=query I .RecordCount; query I.Close; query l .SQL.Clear; query I .SQL.J\dd('Delete from TKesediaan Where kode_hari =:kd and kode_shift =:ks'); query I .Prepare; query I .ParamByName('kd').AsString:= KHari; query I .ParamByName('ks').AsString:= KSh if!; query I .ExecSQL;

end; procedure TfrmProses.FormCiose(Sender: TObject; var Action: TCloseAction); begin tbJadwal.Close; dm.tbLokal.Close; dm.tbSh i fl. Close; dm.tbHari.Close; dm.tbDosen.Close; dm.tbMk.Close; dm. tbJ urusan. Close; dm.tbKelas.Close; dm.tbSemester.Close;

end; procedure TfrmProses.FormActivate(Sender: TObject); begin

dm.tbLokal.Open; tbJadwal.Open; Dm.tbShift.Open; Dm.tbl-Jari.Open;

Page 115: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

dm.tbDosen.Open; dm.tbMk.Open; dm.tbJurusan.Open; dm.tbKelas.Open; dm.tbSemester.Open;

end; procedure TfrmProses.BitBtn I Click(Sender: TObject); begin

close; end; procedure TfrmProses.BitBln2Click(Sender: TObject); var i: integer; begin iftbJadwal.lsEmply then

MessageDlg('Data Sudah Kosong OK ... !',mtlnformation,[mbOK],O) else

101

if MessageDlg('Yakin Hapus data ini ... !',mlConfirmation,[mbYes,mbNo],O)=mrYes then begin tbJadwal.First; for i:=J to tbJadwal.RecordCount do begin

tbJadwal.Delete; tbJadwal.Next;

end; end end;

end.

7. Modul Jadwal Kuliah (Basil) unitjadwal;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, QRCtrls, QuickRpt, ExtCtrls, StdCtrls, DB, DBTables, DBCtrls, Grids, DBGrids, Mask, Buttons;

type TfrmJadwal = class(TForm)

Query I : TQuery; GroupBox I: TGroupBox; Button I: TButton; Labell: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; DB Edit I: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit;

Page 116: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

DBGridl: TDBGrid; DataSource 1: TDataSource; Labcl8: TLabel; Table 1: TTable; DataSource2: TDataSource; Label9: TLabel; Table2: rrable; DataSource3: TDataSource; Group8ox2: TGroupBox: Label I 0: TLabel; Labell2: TLabel; ComboBox 1: TComboBox; DBLookupComboBox2: TDBLookupComboBox; Button2: TButton; Panel 1: TPanel; BitBtn I: TBitBtn; Button3: TButton; Button4: TButton; Panel2: TPanel; Combo8ox2: TComboBox; Combo8ox3: TComboBox; DBLookupComboBox I: TDBLookupComboBox; Label7: TLabel; DBEdit4: TDBEdit; Panel3: TPanel; procedure FormActivate(Sender: TObject); procedure Button l Click( Sender: TObject); procedure Button2Click(Sender: TObject); procedure BitBtn 1 Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Bit8tn2Click(Sender: TObject);

private { Private declarations }

public { Public declarations }

end;

var frmJadwal: TfrmJadwal;

implementation

uses dmSchedule, Proses, CetakJadwal;

{$R *.dfm}

procedure TfrmJadwal.FormActivate(Sender: TObject); begin

table I .Open; Table2.0pen;

102

Page 117: 1A GENETIKA - Institutional Repository UIN Syarif ...repository.uinjkt.ac.id/dspace/bitstream/123456789/10836/1/RUS... · Pembuatan jadwal kuliah yang selama ini masih ... terminologi

end;

procedure TfrmJadwal.Button 1 Click(Sender: TObject); begin

Query! .Close; QUERYl .sq I.Clear;

103

query I .SQL.Add('select * from TJadwal Where Jurusan =:jrs and smt =:sand kelas =:kls order by Kode _ Hari');

query 1. ParamByName('.jrs').AsString:=DbLookUpComboBox ! .Text; query 1 .ParamByName('s').AsString:=Combobox2. Text; Query! .ParamByName('kls').AsString:=Combobox3 .Text ; quc1yl.Open; Db Edit I .DataField:='smt'; DbEdit2.DataField:='ThnAk'; Db Ed it3. DataField:='J urusan';

end; procedure TfrmJadwal.Button2Click(Sender: TObject); begin

Query! .Close; Query! .SQL.Clear; Queryl.SQL.Add('Select *From TJadwal Where Hari =:hand Lokal =:l Order by

Kode_Shift'); Query I. Prepare; Query l .ParamByName('h').AsString:=combobox I .Text ; Query! .ParamByName('l').Aslnteger:=strTolnt(DblookUpComboBox2.Text); Query I.Open;

end;

procedure TfrmJadwal.BitBtn 1 Click(Sender: TObject); begin

Close; end; procedure TfrmJadwal.Bntton4Click(Sender: TObject); begin

frmCetak.QuickRep ! .Preview; end; procedure TfrmJadwal.FormClose(Sender: TObject; var Action: TCloseAction); begin

table I.Close; Table2.Close;

end; procedure TfnnJadwal.BitBtn2Click(Sender: TObject); begin

{with frmProses do begin Query! .Close; query I. SQ L. Clear; queryl.SQL.Add('Select * From TJadwal Where Hari =:hr a) }

end;

end.