• Tidak ada hasil yang ditemukan

RANCANG BANGUN PERANGKAT LUNAK PENJADWALAN PERKULIAHAN MENGGUNAKAN METODE METAHEURISTIK (PENGGABUNGAN METODE ALGORITMA GENETIK DAN TABU SEARCH).

N/A
N/A
Protected

Academic year: 2017

Membagikan "RANCANG BANGUN PERANGKAT LUNAK PENJADWALAN PERKULIAHAN MENGGUNAKAN METODE METAHEURISTIK (PENGGABUNGAN METODE ALGORITMA GENETIK DAN TABU SEARCH)."

Copied!
84
0
0

Teks penuh

(1)

HEURISTIK (PENGGABUNGAN METODE ALGORITMA GENETIK DAN TABU SEARCH)

TUGAS AKHIR

Disusun Oleh :

RIO PRAYOGA SUPRAYANA NPM. 06 34 015 019

J URUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL ″ VETERAN″ J AWA TIMUR

(2)

Judul : Rancang Bangun Perangkat Lunak Penjadwalan Kuliah Menggunakan

Metode Meta-Heuristik (Penggabungan Metode Algoritma Genetik

dan Tabu Search)

Dosen Pembimbing 1 : Basuki Rahmat, S.Si, MT

Dosen Pembimbing 2 : Delta Ardy Prima, ST

ABSTRAK

Penjadwalan kegiatan perkuliahan dalam sebuah Perguruan Tinggi / Kampus adalah

suatu hal yang rumit dan sering mengalami kesulitan, yang menyebabkan pengalokasian mata

kuliah, dosen, dan ruangan sering bentrok dengan jadwal mata kuliah, dosen, dan ruangan

yang lain dalam suatu periode jadwal kuliah. Oleh karena itu dibutuhkan suatu sistem dan

metode optimasi yang dapat diterapkan untuk menyusun sebuah jadwal mata kuliah.

Dalam Algoritma Genetika, populasi awal dibangun secara acak, sedangkan pada

populasi berikutnya merupakan hasil evolusi kromosom-kromosom melalui interasi yang

disebut dengan istilah generasi. Setiap generasi, kromosom akan melalui proses evaluasi yang

akan menghasilkan nilai fitness. Nilai fitness suatu kromosom akan menunjukan kualitas tiap

kromosom dalam populasi tersebut.(Kusumadewi & Purnomo, 2005). Sedangkan Prinsip

dasar Tabu Search adalah untuk mengikuti kemampuan local search bertemu sebuah lokal

optimum dengan cara membiarkan nonimproving bergerak kembali ke solusi sebelumnya

yang dicegah dengan menggunakan memori yang disebut dengan Tabu List.

Dengan adanya perangkat lunak penjadwalan kuliah yang menggunakan

penggabungan metode Algoritma Genetika dan Tabu Search, aplikasi ini mampu membuat

sebuah jadwal yang meminimalisir jumlah bentrok pada sisi mahasiswa maupun dosen, baik

pada jam kuliah maupun hari.

(3)

ABSTRAK ... i

UCAPAN TERIMA KASIH ... ii

DAFTAR ISI ...iii

DAFTAR GAMBAR ... vi

DAFTAR TABEL ... vii

BAB I PENDAHULUAN

1.1

Latar Belakang ... 1

1.2

Perumusan Masalah ... 3

1.3

Batasan Masalah ... 3

1.4

Tujuan ... 4

1.5

Manfaat ... 4

1.6

Metodologi Pembuatan Tugas Akhir ... 5

1.7

Sistematika Penulisan ... 6

BAB II TINJ AUAN PUSTAKA

2.1

Penjadwalan ... 5

2.2

Konsep Sistem Kredit Semester ... 11

2.2.1 Nilai Satuan Kredit Semester Perkuliahan ... 12

2.2.2 Nilai Satuan Kredit Semester Praktikum ... 13

2.3

Algoritma Genetika ... 13

2.3.1 Struktur Umum Algoritma Genetika ... 14

2.3.2 Komponen - Komponen Algoritma Genetika ... 15

2.4

Tabu Search... 21

2.5

Konsep Dasar Sistem ... 24

(4)

2.5.4 Operasi ... 26

2.6

Permodelan Data ... 26

2.6.1 Entity Relationship Diagram (ERD) ... 26

2.6.2 Entitas dan Atribut ... 26

2.6.3 Relasi ... 27

2.6.4 Data Flow Diagram (DFD) ... 28

2.7

Visual Basic .NET 2010 ... 29

2.8

Microsoft Access ... 30

BAB III ANALISIS DAN PERANCANGAN SISTEM

3.1

Analisis Sistem ... 32

3.2

Perancangan Sistem ... 33

3.2.1 Pengolahan Data Menggunakan Penggabungan Metode Algoritma

Genetik dan Tabu Search ... 33

3.2.2 Pengkodean Kromosom dan Pembentukan Populasi Awal ... 34

3.2.3 Flowchart ... 36

3.2.4 Klasifikasi Constraint ... 38

3.2.4.1 Hard Constraint ... 38

3.2.4.2 Soft Constraint ... 38

3.2.5 Workflow ... 40

3.2.6 Aturan-aturan Terjadi Konflik ... 41

3.2.7 Context Diagram ... 42

3.2.8 DFD Level 1 ... 43

3.3

Perancangan Database... 45

3.3.1 Perancangan Data ... 45

3.3.2 Perancangan Tabel... 47

(5)

4.1.1 Perangkat Sistem ... 57

4.2

Implementasi Aplikasi ... 58

4.2.1 Tampilan Login ... 59

4.2.2 Tampilan Utama ... 59

4.2.3 Form Menu Data ... 60

4.2.3.1 Form Sub Menu Data Dosen ... 60

4.2.3.2 Form Sub Menu Mata Kuliah ... 61

4.2.3.3 Form Sub Menu Data Ruang ... 62

4.2.3.4 Form Sub Menu Data Kelas Paralel ... 63

4.2.3.5 Form Data Kompetensi Dosen ... 64

4.2.4 Form Sub Menu Jadwal

... 65

4.2.4.1 Form Sub Menu Genetic Algorithm Proccess and Tabu Search ... 65

4.2.4.2 Form Sub Menu Data Jadwal ... 67

4.2.5 Form Sub Menu User

... 67

BAB V UJ I COBA DAN EVALUASI

5.1

Data Uji Coba Pada Sistem Aplikasi

... 69

5.2

Uji Coba Pada Sistem Aplikasi Penjadwalan Kuliah ... 72

5.3

Analisa Hasil Uji Coba ... 73

BAB Vi PENUTUP

6.1

Data Uji Coba Pada Sistem Aplikasi

... 75

6.2

Uji Coba Pada Sistem Aplikasi Penjadwalan Kuliah ... 76

(6)

Gambar 2.1 Contoh Roulette Wheel Selection dari data pada tabel 2.4 ... 18

Gambar 2.2 Ilustrasi Order Based Crossover ... 19

Gambar 2.3 Ilustrasi one-cut-point crossover ... 20

Gambar 2.4 Ilustrasi One-Cut-Point Crossover Reeves ... 20

Gambar 2.5 Contoh tabel pegawai ... 30

Gambar 3.1 Contoh tabel pegawai ... 35

Gambar 3.2 Contoh tabel pegawai ... 36

Gambar 3.3 Flowchart pengolahan data dengan menggunakan penggabungan

metode Algoritma Genetik dan Tabu Search ... 37

Gambar 3.4 Workflow Penjadwalan Kuliah ... 40

Gambar 3.5 Context Diagram ... 42

Gambar 3.6 DFD Level 0 ... 43

Gambar 3.7 Conceptual Data Model (CDM) ... 46

Gambar 3.8 Physical Data Model (PDM) ... 47

Gambar 3.9 Form Data Dosen ... 53

Gambar 3.10 Form Data Mata Kuliah ... 54

Gambar 3.11 Form Data Ruang ... 55

Gambar 3.12 Form Kelas Paralel ... 56

Gambar 4.1 Tampilan Login ... 59

Gambar 4.2 Tampilan Utama ... 60

Gambar 4.3 Form Data Dosen ... 61

Gambar 4.4 Form Data Mata Kuliah... 62

Gambar 4.5 Form Data Ruang ... 63

Gambar 4.6 Form Data Kelas Paralel ... 64

Gambar 4.7 Form Data Kompetensi Dosen ... 65

Gambar 4.8 Form Sub Menu Genetic Algorithm and Tabu Search Proccess 66

Gambar 4.9 Form Sub Menu Data Jadwal ... 67

Gambar 4.10 Form Sub Menu User ... 68

(7)

Tabel 2.1 Contoh Binary Encoding ... 15

Tabel 2.2 Contoh Permutation Encoding ... 16

Tabel 2.3 Contoh Value Encoding ... 16

Tabel 2.4 Kromosom dengan Nilai Fitnessnya ... 18

Tabel 3.1 Tabel Sebaran Mata Kuliah ... 35

Tabel 3.2 Tabel User ... 46

Tabel 3.3 Tabel Dosen ... 46

Tabel 3.4 Tabel Matkul ... 46

Tabel 3.5 Tabel Kelas Paralel ... 47

Tabel 3.6 Tabel ruang... 47

Tabel 3.7 Tabel waktu ... 48

Tabel 3.8 Tabel jadwal ... 48

Tabel 3.9 Tabel jadwal_detail ... 49

Tabel 3.10 Tabel Dosen_Pengampu ... 49

Tabel 5.1 Tabel Mata Kuliah ... 70

Tabel 5.2 Tabel Dosen Pengajar ... 71

Tabel 5.3 Tabel Ruang Perkuliahan ... 72

(8)

PENDAHULUAN

1.1 Latar Belakang

Di era modern seperti sekarang bukan hal asing bila segala sesuatu

dilakukan dengan menggunakan bantuan komputer. Kemajuan teknologi yang

semakin meningkat, membuktikan bahwa kini teknologi komputer telah menjadi

kebutuhan pokok dalam kehidupan manusia. Hal tersebut diatas tentunya dapat

ditunjang dengan perkembangan teknologi informasi yang telah berkembang

dengan pesat. Salah satunya adalah dengan pemanfaatan bahasa pemrograman

komputer untuk membuat sebuah software dimana informasi yang didapatkan

akan dimanipulasi secara cepat, tepat, dan akurat. Tentunya hal tersebut juga akan

mengubah kebiasaan pengelolaan data secara manual yang membutuhkan waktu

cukup lama. Karena itu dibutuhkan sistem yang terkomputerisasi, yaitu dengan

cara mengubah sistem manual ke sistem komputerisasi. Sistem komputerisasi

tentunya akan lebih efisien, ini dapat dilihat dari proses kecepatan, ketepatan, dan

sebagainya.

Penjadwalan kegiatan kuliah dalam suatu Perguruan Tinggi adalah suatu

hal yang rumit dan sering mengalami kesulitan. Hal ini disebabkan beberapa

faktor yang berkaitan, yang harus dipertimbangkan. Faktor tersebut antara lain,

jumlah mata kuliah yang ada, jumlah dosen pengajar, jumlah ruangan, dan jadwal

dimana dosen yang bersangkutan tidak bisa mengajar yang sering menyebabkan

munculnya masalah penjadwalan mata kuliah seperti adanya konflik

(9)

sering bentrok dengan jadwal mata kuliah, dosen, serta ruangan yang lain dalam

satu periode jadwal kuliah. Distribusi jadwal perkuliahan juga diharapkan dapat

merata tiap harinya untuk setiap kelas.

Permasalahan seperti yang telah diuraikan diatas sering disebut dengan

University Timetabling Problems (UTP). Selain dilihat dari sisi mahasiswa,

permasalahan ini juga harus dilihat dari sisi dosen, yaitu kemungkinan dosen akan

mengajar lebih dari satu mata kuliah yang ada, sebab ada kemungkinan jumlah

mata kuliah dan jumlah dosen tidak sebanding, sehingga harus dipikirkan juga

solusi agar dosen tidak mengajar dua mata kuliah yang berbeda pada hari dan jam

yang sama. Selain itu, harus dipertimbangkan juga ketersediaan kelas sehinga

kegiatan belajar dapat dilaksanakan.

Disamping aspek-aspek diatas, dalam penyusunan jadwal kuliah ini juga

terdapat banyak sekali kemungkinan yang selayaknya dicoba untuk menemukan

penjadwalan terbaik. Karena itu, dibutuhkan metode optimasi yang dapat

diterapkan untuk mengerjakan penjadwalan mata kuliah. Terdapat banyak metode

heuristik yang dapat digunakan untuk menyelesaikan permasalahan penjadwalan,

salah satu metode yang dapat digunakan untuk menyelesaikan permasalahan

diatas adalah Metode Algoritma Genetik dan Metode Tabu Search.

Hal itulah yang mendorong penulis untuk merancang tugas akhir dengan

judul, Rancang Bangun Perangkat Lunak Penjadwalan Perkuliahan

(10)

1.2 Per umusan Masalah

Berdasarkan latar belakang yang telah dijelaskan diatas, maka dapat

dirumuskan beberapa masalah dalam Tugas Akhir ini, yaitu

1. Bagaimana mencari optimasi penjadwalan perkuliahan dengan

menggabungkan Metode Algoritma Genetik dan Metode Tabu Search

2. Bagaimana membuat sistem penjadwalan perkuliahan yang dapat

memecahkan masalah penjadwalan kuliah dengan kombinasi terbaik untuk

pasangan mata kuliah dan dosen pengajar secara keseluruhan.

3. Bagaimana menjadwalkan jam perkuliahan agar tidak terdapat jadwal yang

bentrok pada sisi mahasiswa serta ketersediaan ruang yang cukup dan

sesuai.

4. Bagaimana merancang sistem dengan antar muka keluaran dan antar muka

masukan agar lebih mudah dimengerti oleh user.

1.3 Batasan Masalah

Pada pembuatan aplikasi ini perlu didefinisikan batasan masalah

mengenai sejauh mana pembuatan aplikasi ini akan dikerjakan. Beberapa batasan

masalah tersebut antara lain:

1. Masalah yang akan dibahas hanya untuk penyusunan penjadwalan

perkuliahan di jurusan Teknik Informatika, Fakultas Teknologi Industri,

UPN “VETERAN” Jawa Timur.

2. Sistem hanya menangani penjadwalan kelas paralel malam.

(11)

4. Sistem hanya menggunakan penggabungan dua Metode Heuristik, yaitu

Metode Algoritma Genetik dan Metode Tabu Search.

5. Sistem tidak menangani optimasi pemakaian waktu (efektifitas) dalam

penjadwalan kuliah.

6. Adanya mata kuliah dengan ruangan khusus (Praktikum)

7. Durasi kuliah antara praktek dan teori yang berbeda per sks- nya.

8. Adanya batas hari dalam satu minggu.

9. Adanya batas jumlah mahasiswa dalam satu ruangan kelas.

10.Sistem penjadwalan perkuliahan ini berbasis desktop yang menggunakan

Microsoft Visual Basic .NET 2010 dan Microsoft Access 2010

1.4 Tujuan

Tujuan dari Tugas Akhir ini adalah untuk menghasilkan sebuah

perangkat lunak penjadwalan perkuliahan yang nantinya akan memudahkan

bagian pengajaran ataupun Kepala Jurusan Teknik Informatika dalam membuat

jadwal perkuliahan di pergantian semester ataupun pada tahun ajaran baru.

1.5 Manfaat

Adanya tugas akhir ini diharapkan dapat memberikan manfaat bagi

pihak kampus Universitas Pembangunan Nasional “Veteran” Jawa Timur

khususnya di Fakultas Teknologi Industri, Jurusan Teknik Informatika dalam

(12)

1.6 Metodologi Pembuatan Tugas Ak hir

Dalam pembuatan Tugas Akhir kali ini, penulis akan menjelaskan

tentang metode yang digunakan selama menyusun dan membuat Tugas Akhir ini.

a. Studi literatur.

Mengumpulkan referensi baik dari internet, maupun sumber-sumber yang

lainnya mengenai penjadwalan dengan menggabungkan Metode Algoritma

Genetk dan Metode Tabu Search serta optimasi-optimasi yang telah ada

sebagai tambahan referensi Tugas Akhir ini.

b. Analisa dan Perancangan Aplikasi.

Menganalisa dan merancang sebuah perangkat lunak penjadwalan

perkuliahan menggunakan metode meta-heuristk, yaitu dengan

menggabungkan Metode Algoritma Genetik dan Metode Tabu Search dalam

lingkungan kampus UPN ″Veteran″ Jawa Timur khususnya di Fakultas

Teknologi Industri, Jurusan Teknik Informatika.

c. Pembuatan Aplikasi.

Pada tahap ini merupakan tahap yang paling banyak memerlukan waktu

karena model dan rancangan aplikasi yang telah di buat di

implementasikan dengan menggunakan bahasa pemrograman Visual Basic

.NET 2008.

d. Uji coba dan evaluasi aplikasi.

Pada tahap ini setelah aplikasi selesai dibuat maka dilakukan pengujian

aplikasi untuk mengetahui apakah aplikasi tersebut telah bekerja dengan

(13)

e. Penyusunan Buku Tugas Akhir.

Pada tahap ini merupakan tahap terakhir dari pengerjaan Tugas Akhir. Buku

ini disusun sebagai laporan dari seluruh proses pengerjaan Tugas Akhir. Dari

penyusunan buku ini diharapkan dapat memudahkan pembaca yang ingin

menyempurnakan dan mengembangkan aplikasi lebih lanjut.

f. Pembuatan Kesimpulan.

Pada tahap ini dalam bagian akhir pembuatan Tugas Akhir. Dibuat

kesimpulan dan saran dari hasil pembuatan aplikasi yang diperoleh sesuai

dengan dasar teori yang mendukung dalam pembuatan aplikasi tersebut yang

telah dikerjakan secara keseluruhan.

1.7 Sistematika Penulisan

Pada laporan Tugas Akhir ini akan menjelaskan tentang pembuatan

Perangkat Lunak Penjadwalan Perkuliahan Menggunakan Metode Meta-Heuristik

(Penggabungan Metode Algoritma Genetik dan Tabu Search ). Agar lebih

memahami materi, laporan Tugas Akhir ini dibagi menjadi enam bab yang

dilengkapi dengan penjelasan langkah-langkah dan ilustrasinya.

BAB I PENDAHULUAN

Bab ini akan menjelaskan tentang Latar Belakang, Perumusan

Masalah, Batasan Masalah, Tujuan Penulisan, Manfaat, Metodologi

(14)

BAB II TINJ AUAN PUSTAKA

Bab ini menjelaskan tentang dasar teori yang berkaitan dengan

Metode Algoritma Genetik dan Metode Tabu Search yang digunakan

sebagai penunjang serta referensi dalam pembuatan laporan Tugas

Akhir ini.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Dalam bab ini dijelaskan tentang analisis dan perancangan sistem

informasi, yang antara lain berisi tentang analisis aplikasi yang akan

dibuat. Dalam bab ini juga akan dijelaskan semua kebutuhan yang

diperlukan dalam membuat Perangkat Lunak Penjadwalan

Perkuliahan Menggunakan metode Meta-Heuristik (penggabungan

metode Algoritma Genetik dan metode Tabu Search).

BAB IV IMPLEMENTASI SISTEM

Pada bab ini akan membahas tentang implementasi berdasarkan

konsep perancangan yang ada pada BAB III beserta penjelasan

tentang kebutuhan sistem supaya aplikasi yang dikerjakan sesuai

dengan tujuan dari penulisan Tugas Akhir.

BAB V UJ I COBA DAN ANALISIS SISTEM

Bab ini menjelaskan tentang pengujian yang dilakukan untuk

mengetahui apakah aplikasi yang dibuat bisa bekerja sesuai dengan

(15)

BAB VI PENUTUP

Bab ini akan menjelaskan tentang kesimpulan dari keseluruhan isi dari

laporan Tugas Akhir serta Saran yang disampaikan penulis untuk

pengembangan aplikasi yang ada demi kesempurnaan aplikasi yang

lebih baik.

DAFTAR PUSTAKA

Pada bagian ini akan dipaparkan tentang sumber-sumber literatur,

tutorial, buku maupun situs-situs yang digunakan dalam pembuatan

(16)

TINJ AUAN PUSTAKA

2.1 Penjadwalan

Jadwal adalah daftar output (tabel kegiatan) atau rencana kegiatan yang

harus dihasilkan dalam jangka waktu tertentu. Biasanya disusun menurut urutan

prioritas dengan pembagian waktu pelaksanaan yang terperinci. Sedangkan

penjadwalan merupakan suatu proses pembuatan atau cara menjadwalkan suatu

data menjadi sebuah jadwal.

Menurut Marthon, 1993. pendekatan terhadap metode penjadwalan

secara garis besar dapat dibagi sebagai berikut:

1. Penjadwalan dilakukan secara manual

Keuntungan dari penjadwalan yang dilakukan secara manual adalah

sebagai berikut:

a. cepat dan akurat dalam memadukan berbagai keahlian manusia

dan prioritas.

b. Mudah mengadaptasi bila terjadi perubahan.

Kekurangan dari penjadwalan yang dilakukan secara manual adalah

sebagai berikut:

a. Kurang mampu menguji sejumlah besar prioritas atau keakuratan

mengetahui dampak dari aktifitas yang berbeda.

b. Meningkatkan kekomplekan sistem (data overload)

c. Kesulitan dalam menangani permasalahan yang komplek.

(17)

2. Penjadwalan yang dilakukan dengan simulasi komputer.

Kelebihan dari penjadwalan yang dilakukan dengan simulasi komputer

adalah sebagai berikut:

a. Mudah dilakukan perubahan

b. Menunjukkan pendekatan yang lebih alami dalam menyajikan

keahlian manusia

c. Hampir sama dengan sistem nyata

Kekurangan dari penjadwalan yang dilakukan dengan simulasi komputer

adalah sebagai berikut:

a. Hasil tidak selalu optimal

b. Metode pendekatan tidak selalu tepat

3. Penjadwalan yang dilakukan secara sistematis, antara lain sebagai

berikut:

a. Integer dan Dynamic Programming

Kelebihan metode Integer dan Dynamic Programming adalah

hasil lebih baik. Sedangkan kekurangannya adalah, perhitungan

membutuhkan waktu yang lama.

b. Neighbourhood Search

Kelebihan dari metode Neighbourhood Search antara lain:

1. Hasil yang didapat relatif cepat

2. Keakuratan hasil cukup tinggi

Sedangkan kekurangan dari metode Neighbourhood Search

(18)

1. Keoptimalan hasil merupakan lokal optimal, bukan global

optimal

2. Adanya sedikit intuisi dalam mencapai solusi

2.2 Konsep Sistem Kr edit Semester

Penyelenggaraan perkuliahan di Fakultas Teknologi Industri UPN

”Veteran” Jawa Timur, menggunakan Sistem Kredit Semester (SKS). Sistem

Kredit Semester ini mengatur perencanaan, penyusunan, dan pelaksanaan program

pendidikan dengan menggunakan kredit perkuliahan dan kredit praktikum sebagai

tolok ukur beban pendidikan. Setiap mata kuliah dan praktikum diberi bobot

dengan keperluan untuk memenuhi pencapaian tujuan pendidikan. Dalam sistem

kredit ini, beban studi yang harus diselesaikan oleh mahasiswa pada satu jenjang

studi dinyatakan dalam jumlah satuan kredit.

Sistem Kredit Semester adalah suatu sistem penyelenggaraan pendidikan

dengan menggunakan Satuan Kredit Semester (SKS) untuk menyatakan beban

studi mahasiswa, beban kerja dosen, pengalaman belajar, dan beban

penyelenggaraan program.

Semester adalah satuan waktu kegiatan yang terdiri dari 16 – 19 minggu

kuliah atau kegiatan terjadwal lainnya, berikut kegiatan iringannya, termasuk 2 –

3 minggu kegiatan penilaian atau ujian.

Satuan Kredit Semester adalah takaran penghargaan terhadap

pengalaman belajar yang diperoleh selama satu semester melalui kegiatan

(19)

kerja lapangan, yang masing–masing diiringi oleh sekitar 1 – 2 jam kegiatan

terstruktur dan 1 – 2 jam kegiatan mandiri.

2.2.1 Nilai Satuan Kr edit Semester Per kuliahan

Nilai Satuan Kredit Semester (1 SKS) untuk perkuliahan ditentukan

berdasarkan atas beban kegiatan yang meliputi 3 (tiga) macam kegiatan

perminggu selama satu semester sebagai berikut:

a. Mahasiswa

1. 60 Menit acara tatap muka terjadwal dengan tenaga pengajar

misalkan dalam bentuk kuliah.

2. 60 Menit acara kegiatan akademik terstruktur, yaitu kegiatan studi

yang tidak terjadwal tetapi direncanakan oleh tenaga pengajar,

misalnya dengan mengerjakan pekerjaan rumah ataupun

mengerjakan soal-soal.

3. 60 Menit acara kegiatan akademik mandiri, yaitu kegiatan yang

harus diselesaikan oleh mahasiswa secara mandiri untuk

mendalami, mempersiapkan, atau tujuan lain suatu tugas akademik

seperti misalnya, membaca buku akademik.

b. Tenaga Pengajar (Dosen)

1. 60 menit acara tatap muka terjadwal dengan mahasiswa.

2. 60 menit acara perencanaan dan evaluasi kegiatan akademik

terstruktur.

(20)

2.2.2 Nilai Satuan Kr edit Semester Pr aktikum

a. Satu Kredit Semester sama dengan penyelesaian kegiatan selama 4 –

5 jam seminggu atau 64 – 80 jam dalam satu semester.

b. Nilai Satuan Kredit Semester untuk praktikum di laboraturium

adalah beban tugas di laboraturium sebanyak 2 – 3 jam seminggu

selama satu semester.

2.3 Algor itma Genetika

Algoritma Genetika atau Genetic Algorithm merupakan evolusi atau

perkembangan dunia komputer dalam bidang kecerdasan buatan (Artificial

Intellegencia). Algoritma Genetika merupakan teknik pencarian dan optimasi

yang terinspirasi oleh prinsip dari genetika dan seleksi alam (teori evolusi

Darwin).

Algoritma Genetika adalah algoritma pencarian yang bardasarkan pada

mekanisme sistem natural yaitu genetik dan seleksi alam. Dalam aplikasi

algoritma genetik, variabel solusi dikodekan kedalam struktur string yang

merepresentasikan barisan gen, yang merupakan karakteristik dari solusi problem.

Berbeda dengan teknik pencarian konvensional, Algoritma Genetika bermula dari

himpunan solusi yang diperoleh secara acak. Himpunan ini disebut dengan

populasi, sedangkan setiap individu dalam populasi disebut kromosom yang

merupakan representasi dari solusi. (Syamsuddin, 2004)

Kromosom-kromosom berevolusi dalam suatu proses iteraksi yang

berkelanjutan yang disebut generasi. Pada setiap generasi, kromosom dievaluasi

(21)

Setelah beberapa generasi maka Algoritma Genetika akan konvergen pada

kromosom terbaik, yang diharapkan merupakan solusi optimal (Goldberg dalam

Syamsuddin, 1997).

2.3.1 Str uktur Umum Algor itma Genetika

Dalam Algoritma Genetika, populasi awal dibangun secara acak,

sedangkan pada populasi berikutnya merupakan hasil evolusi

kromosom-kromosom melalui interasi yang disebut dengan istilah generasi. Setiap generasi,

kromosom akan melalui proses evaluasi yang akan menghasilkan nilai fitness.

Nilai fitness suatu kromosom akan menunjukan kualitas tiap kromosom dalam

populasi tersebut.(Kusumadewi & Purnomo, 2005). Pada generasi berikutnya

biasa dikenal dengan istilah anak (offspring) yang terbentuk dari dua kromosom

generasi sekarang yang bertindak sebagai induk (parent) dengan menggunakan

operator penyilangan crossover dan mutasi. Setelah mengalami beberapa generasi,

maka algoritma ini akan konvergen ke kromosom terbaik yang merupakan solusi

optimal (Suyanto 2005).

Langkah-langkah sederhana dalam Algoritma Genetika :

a. Membangkitkan populasi awal. Populasi awal ini dibangkitkan secara

random sehingga diperoleh solusi awal. Populasi itu sendiri terdiri dari

sejumlah kromosom yang merepresentasikan solusi yang diinginkan.

b. Membentuk generasi baru. Dalam hal ini digunakan tiga operator

diantaranya operator reproduksi atau seleksi, tukar silang (crossover) dan

mutasi. Pada proses ini dilakukan secara berulang- ulang sehingga diperoleh

(22)

merupakan representasi dari solusi baru.

c. Mengevaluasi populasi. Proses ini dilakukan dengan menghitung nilai

fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria

berhenti. Bila kriteria berhenti akan tetapi masih belum terpenuhi, maka

akan dibentuk kembali generasi baru dengan mengulang langkah 2.

Beberapa kriteria yang sering digunakan antara lain:

1. berhenti pada generasi tertentu.

2. berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai

fitness tertinggi tidak berubah.

3. berhenti bila dalam n generasi berikutnya tidak didapatkan nilai fitness

yang lebih tinggi.

2.3.2 Komponen - Komponen Algor itma Genetika

a. Pengkodean Kromosom

Menurut Syamsuddin, 2004. ada beberapa macam pengkodean dalam

Algoritma Genetika yaitu:

1. Binary Encoding, merupakan pengkodean yang paling sering

digunakan untuk bekerja dalam Algoritma Genetika dengan

setiap kromosom terdiri dari bit 0 dan 1.

Tabel 2.1 Contoh Binary Encoding

Kromosom A 1 0 1 1 0 0

(23)

2. Permutation Encoding, dalam pengkodean jenis ini setiap

kromosom adalah suatu angka yang merepresentasikan suatu

urutan.

Tabel 2.2 Contoh Permutation Encoding

Kromosom A 7 4 2 9 2 4

Kromosom B 1 5 3 6 8 3

3. Value encoding, dalam pengkodean ini setiap kromosom adalah

string dari suatu nilai. Nilai dapat berupa apapun yang

berhubungan dengan masalah, seperti bilangan bulat, desimal

atau karakter.

Tabel 2.3 Contoh Value Encoding

Kromosom A 1,232 5,324 0,455 2,329

Kromosom B (right), (left), (back), (forward)

b. Fungsi Evaluasi

Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai

ukuran performansinya yang disebut dengan fungsi fitness. Dalam evolusi

alam, individu yang memiliki nilai fitness tinggi yang akan mampu

(24)

Output dari fungsi fitness dipergunakan sebagai dasar untuk menyeleksi

individu pada generasi berikutnya.

Pada contoh permasalahan perjalanan salesman, tujuan yang ingin

dicapai yaitu meminimumkan total jarak yang harus ditempuh oleh

seorang salesman dari kota asal ke beberapa kota tujuan dan kembali lagi

ke kota asalnya. Misal n menyatakan ukuran populasi, maka fungsi fitness

yang digunakan adalah:

Fitness[i] = Total Jarak [i], dengan i = 1,2,3,..,n (2.1)

Karena fungsi tujuannya adalah meminimumkan total jarak, maka fungsi

fitness tersebut tidak bisa digunakan secara langsung. Hal tersebut

disebabkan adanya aturan bahwa individu yang memiliki nilai fitness

tinggi akan mampu bertahan hidup pada generasi berikutnya. Oleh karena

itu nilai fitness yang digunakan adalah:

Q [i] = 1 (2.2)

Fitness [i]

yang artinya semakin kecil nilai fitness[i] maka semakin besar nilai Q[i].

c. Seleksi

Seleksi adalah suatu operator algoritma genetika yang berfungsi

(25)

crossover atau memberikan kesempatan reproduksi yang lebih besar bagi

anggota populasi yang paling baik. Metode seleksi yang umum digunakan

yaitu Roulette Wheel merupakan salah satu metode seleksi yang banyak

dipergunakan. Roulette Wheel menyeleksi populasi baru dengan distribusi

probabilitas yang berdasarkan nilai fitness.

Tabel 2.4 Kromosom dengan Nilai Fitnessnya

Kromosom Nilai Fitness

K1 1

K2 2

K3 0,5

K4 0,5

Jumlah 4

Gambar 2.1 Contoh Roulette Wheel Selection dari data pada tabel 2.4 K3

K4

K1

(26)

d. Tukar Silang (Crossover)

Proses tukar silang pada masalah salesman dapat

diimplementasikan dengan skema order crossover. Operator crossover

yang akan dijelaskan disini order-based crossover dan one-cut-point

crossover (Syamsuddin, 2004).

Parent 1

Offspring

Parent 2

Gambar 2.2 Ilustrasi Order Based Crossover

One-cut-point crossover, metode ini analog dengan implementasi binary.

Algoritmanya adalah:

- Memilih site secara random dari parent pertama.

- Isi disebelah kanan site pada parent pertama ditukar dengan parent

kedua.

(Gen dan Cheng dalam Syamsuddin, 2004).

1 2 3 4 5 6 7 8 9

2 4 5 3 1 6 9 7 8

(27)

Parent 1

Parent 2

Offspring 1

Offspring 2

Gambar 2.3 Ilustrasi one-cut-point crossover

One-cut-point crossover yang dikembangkan oleh Reeves adalah:

1. Memilih satu cut-point secara random/acak dari parent pertama

2. Isi disebelah kanan site disesuaikan dengan urutan dari parent kedua

untuk menghasilkan offspring (Gen dan Cheng dalam Syamsuddin,

2004).

cut-point

Parent1

Offspring

Parent2

Gambar 2.4 Ilustrasi One-Cut-Point Crossover Reeves

0 1 1 0 1 0 1 1

1 1 0 0 0 1 1 1

0 1 1 0 0 1 1 1

1 1 0 0 1 0 1 1

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 9 7 8

(28)

e. Mutasi

Mutasi menciptakan individu baru dengan melakukan modifikasi

satu atau lebih gen dalam individu yang sama. Mutasi berfungsi untuk

menggantikan gen yang hilang dari populasi selama proses seleksi serta

menyediakan gen yang tidak ada dalam populasi awal. Sehingga mutasi

akan meningkatkan variasi populasi.

2.4 Tabu Sear ch

Tabu Search merupakan sebuah metode optimasi yang berbasis pada local search. Ide tentang Tabu Search pertama kali diperkenalkan oleh Fred

Glover pada tahun 1986. Kata Tabu sendiri berasal dari Tongan, sebuah bahasa

Polinesia, dimana bahasa tersebut digunakan oleh Suku Aborigin di Pulau Tongan

untuk menandakan bahwa sesuatu itu tidak dapat disentuh (tabu) karena hal itu

sakral atau terlarang.

Prinsip dasar Tabu Search adalah untuk mengikuti kemampuan local

search bertemu sebuah lokal optimum dengan cara membiarkan nonimproving

bergerak kembali ke solusi sebelumnya yang dicegah dengan menggunakan

memori yang disebut dengan Tabu List, yang merekam sejarah terbaru, sebuah ide

kunci yang bisa dihubungkan dengan konsep Artificial Intellegencia. Tabu List

yang ada pada Tabu Search digunakan untuk menyimpan sekumpulan solusi yang

baru saja dievaluasi. Selama proses optimasi, pada setiap iterasi, solusi yang akan

dievaluasi akan dicocokkan terlebih dahulu dengan isi tabu list. Apabila solusi

tersebut sudah ada pada pada tabu list, maka solusi tersebut tidak akan dievaluasi

(29)

menjadi anggota tabu list, maka nilai terbaik yang baru saja diperoleh merupakan

solusi yang sebenarnya.

Tabu Search mulai dengan cara yang sama seperti neighbourhood search (lokal) biasa dengan cara kerja secara iterasi dari suatu titik (solusi) ke

solusi lain hingga kriteria terminasi yang telah dipilih dipenuhi. Metode

”neigbourhood search” yang terkenal yang telah digunakan untuk menemukan

sebuah penaksiran untuk nilai minimum dari ”real valued function f” pada sebuah

kumpulan S adalah ”metode descent”, yang dijabarkan sebagai berikut:

Langkah 1: Pilih ”solution i” awal pada S

Langkah 2: Temukan ”j” yang terbaik pada N(i) (contoh:

f(j)<=f(k) untuk k apa saja yang ada pada N(i)

Langkah 3: Hentikan jika f(j)>=f(i). Yang lain, susun i=j

dan lanjutkan ke langkah 2.

Pada kasus atau penelitian ini, Tabu Search hanya digunakan untuk memfilter

kromosom yang mengalami crossover agar kromosom yang sama tidak dilakukan

crossover berulang–ulang. Saat iterasi pertama kali, semua kromosom yang

mengalami crossover disimpan ke dalam tabu list, kemudian baru dilakukan

crossover. Untuk iterasi berikutnya, kromosom yang mengalami crossover, akan

di cek terlebih dahulu pada tabu list, apakah kromosom tersebut sudah ada atau

(30)

akan dilakukan mutasi, jika belum maka kromosom tersebut disimpan pada tabu

list, kemudian dilakukan crossover.

Komponen paling penting dari Tabu Search adalah strategi intersifikasi

dan diversifikasi. Strategi intersifikasi didasarkan pada modifikasi aturan

pemilihan untuk mendorong kombinasi move-move dan ciri-ciri solusi terdahulu

yang baik, menentukan kembali pada area yang menarik untuk diselidiki lebih

dalam lagi. Sebaliknya, strategi diversifikasi mendorong proses pencarian untuk

menyelidiki area yang belum dikunjungi.

Tabu Search dapat diaplikasikan secara langsung baik verbal maupun

pernyataan simbolik dari berbagai masalah keputusan tanpa harus mengubah

dalam bentuk formulasi matematika untuk mengekspresikan masalah secara jelas

ruang lungkup dan batasan masalah yang dihadapi. Permasalahan tersebut dapat

dikarakteristikkan sebagai permasalahan optimasi (maksimum atau minimum)

dari fungsi tujuan f(x) dengan konstrain x € x dimana f(x) merupakan formulasi

linier ataupun non linier, dan satuan x merupakan himpunan variabel keputusan x

pada konstrain yang ada.

Tabu Serach dapat memiliki kemampuan untuk keluar dari local optimal, tetapi Tabu Search tidak dapat menentukan global optimal. Tabu Search

harus memiliki batas maksimum jumlah iterasi, parameter maksimal iterasi, dan

ukuran tabu list yang ditentukan sendiri oleh individu yang menggunakan metode

ini. Jumlah iterasi yaitu banyaknya iterasi yang akan dilakukan untuk

mengeksplorasi berbagai Space Search Area. Semakin besar jumlah maksimum

iterasi, semakin besar pula peluang untuk menentukan solusi optimal secara

(31)

parameter maksimal, iterasi yang merupakan suatu batasan jumlah iterasi yang

dilakukan pada suatu area tertentu mendorong suatu langkah diversifikasi demi

menghindari keterjebakan dalam suatu local optimal.

Secara garis besar, elemen-elemen utama pada Tabu Search antara lain

adalah sebagai berikut:

1. Representasi solusi, setiap solusi pada suatu permasalahan optimasi

harus dipresentasikan secara unik.

2. Fungsi cost, setiap funsi cost (fungsi tujuan) akan memetakan fungsi ke

nilai cost-nya.

3. Neighbourhood (tetangga), setiap fungsi cost akan memetakan setiap

solusi S ke solusi-solusi yang lainnya.

4. Tabu List, suatu list yang berisi gerakan terakhir (T).

5. Jumlah elemen yang harus selalu ada pada suatu solusi.

Solusi akhir adalah best, dengan cost sebesar GlobalMin

2.5 Konsep Dasar Sistem

Sistem adalah suatu jaringan kerja dari prosedur–prosedur yang saling

berhubungan, berkumpul bersama–sama untuk melakukan kegiatan atau untuk

menyelesaikan suatu sasaran yang tertentu. Istilah lain dari suatu sistem adalah,

kumpulan elemen–elemen yang masing–masing elemen saling berinteraksi atau

saling mempengaruhi untuk mewujudkan suatu kegiatan bersama.

Suatu sistem mempunyai tujuan atau sasaran. Tujuan biasanya

dihubungkan dengan ruang lingkup yang lebih luas dan sasaran dalam ruang

(32)

keluaran yang akan dihasilkan. Sistem dikatakan berhasil jika dapat mencapai

sasaran atau tujuan.

Siklus hidup sistem adalah sebuah aplikasi dalam pendekatan sistem

untuk mengembangkan sistem informasi berbasis komputer. Siklus hidup sistem

terbagi menjadi 4 tahap, yaitu:

2.5.1 Per encanaan

Meliputi perumusan masalah, pendefinisian masalah, penentuan

keobyektifan sistem, mengenali bagian–bagian sistem, melakukan studi

kelayakan, menyiapkan sebuah proposal sistem, menyetujui atau menolak proyek,

serta menetapkan sebuah mekanisme kontrol.

2.5.2 Desain

Meliputi persiapan detail desain sistem, mengenali konfigurasi

alternatif sistem, melakukan evaluasi konfigurasi alternatif sistem, menyeleksi

konfigurasi terbaik, menyiapkan proposal penerapan, serta menyetujui atau

menolak penerapan sistem

2.5.3 Implementasi

Meliputi perencanaan penerapan, perumusan penerapan, pengenalan

hardware, pengenalan software, menyiapkan database, menyiapkan fasilitas fisik,

menyiapkan pelatihan terhadap user, menyiapkan proposal penerapan sistem baru,

menyetujui atau menolak proposal sistem baru, serta menerapkan penggunaan

(33)

2.5.4 Oper asi

Meliputi penggunaan sistem, audit sistem, perawatan sistem,

menyiapkan proposal perencanaan ulang, serta menyetujui atau menolak

proposal perencanaan ulang.

2. 6 Per modelan Data

Model data adalah kumpulan perangkat konseptual untuk

menggambarkan data, hubungan data, semantik (makna) data, dan batasan data.

2.6.1 Entity Relationship Diagram (ERD)

Sesuai dengan namanya, Entity Relationship Diagram (ERD) dibentuk

dari 2 komponen utama, yaitu:

1. Entitas (Entity)

2. Hubungan (Relation)

Yang dideskripsikan lebih detail dengan sejumlah attribute (properti).

2.6.2 Entitas Dan Atr ibut

Entitas (entity), merupakan objek yang mewakili sesuatu dalam dunia

nyata, baik secara fisik (manusia, rumah, mobil, laptop, sepeda motor dsb)

ataupun secara konsep (departemen, pekerjaan, mata kuliah dsb) dan dapat

dibedakan antara satu dengan yang lainnya (unique).

Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik

(34)

fakta yang ada atau berdasarkan kebutuhan. Atribut identik dengan kolom data

atau field dalam sebuah tabel.

Key Atribute

Atribute Key adalah satu atau gabungan atribut yang dapat membedakan

setiap baris data dalam sebuah tabel secara unik.

Atribute Key dibagi menjadi 3: 3. Super Key

Merupakan satu atau gabungan atribut yang dapat membedakan

setiap baris datadalam sebuah tabel secara unik.

4. Candidate Key

Adalah Super Key yang jumlah atributnya paling sedikit (minimal)

5. Primary Key

Adalah Candidate Key yang dipilih berdasarkan:

a. Key tersebut lebih sering untuk dijadikan acuan.

b. Key tersebut lebih ringkas.

c. Jaminan keunikan key tersebut lebih baik.

2.6.3 Relasi

Relasi menyatakan hubungan antar entitas termasuk terhadap entitas itu

(35)

Der ajat Kar dinalitas Rasio (Cardinality Ratio)

Kardinalitas relasi menunjukkan jumlah maksimum data entitas yang

dapat berelasi dengan entitas lain.

1. Satu Ke Satu (One to one)

Setiap data pada entitas A bisa berhubungan dengan maksimal satu

data pada entitas B, begitu pula sebaliknya.

2. Satu Ke Banyak (One to many)

Setiap data pada entitas A bisa berhubungan dengan banyak data

pada entitas B, tetapi data pada entitas B berhubungan maksimal

hanya dengan sebuah data di entitas A.

3. Banyak Ke Satu (Many to One)

Relasi ini merupakan kebalikan dari relasi satu ke banyak

6. Banyak Ke Banyak (Many to many)

Setiap data pada entitas A bisa berhubungan dengan banyak data pada

entitas B. Demikian pula sebaliknya, setiap data pada entitas B bisa

berhubungan dengan banyak data pada entitas A. Derajat Kardinalitas

satu ke banyak, maupun banyak ke satu bisa dianggap sama.

2.6.4 Data Flow Diagram (DFD)

Pada Data Flow Diagram (DFD) atau diagram aliran data ini disebutkan

(36)

a. Eksternal Entity

Merupakan kesatuan di luar lingkungan sistem yang dapat berupa

orang, organisasi, dan sebagainya yang akan memberi input atau

menerima output dari sistem.

b. Arus Data

Menunjukan arus dari data yang dapat berupa masukan untuk sistem

atau hasil dari proses sistem. Arus data ini mengalir diantara proses

Data Store dan External Entity.

c. Proses

Merupakan kegiatan atau kerja yang dilakukan oleh orang, mesin atau

komputer dari hasil suatu arus data yang masuk ke dalam proses untuk

dihasilkan arus data yang akan keluar dari proses.

d. Penyimpanan Data

Merupakan simpanan dari data yang berupa file atau database dari

komputer, arsip atau catatan manual. (Annynomous, 2005)

2.7 Visual Basic .NET 2010

Visual Basic adalah bahasa pemrograman klasik, legendaris, dan tiada

duanya yang paling banyak dipakai oleh programmer di dunia. Dari jaman

pemrograman visual di komputer berbasis Windows 3.x hingga kini di jaman

web. Bahasa pemrograman ini dipakai oleh jutaan programmer, dan tercatat

sebagai program yang paling dikuasai oleh mayoritas orang.

Visual Basic digunakan dari mulai programmer professional yang

(37)

mahasiswa yang membuat program untuk kuliah dan tugas akhir. Visual Basic

memang bisa diandalkan. Selain digunakan untuk melakukan pemrograman

desktop (yang merupakan asal mula kegunaan Visual Basic), kini Visual Basic

2010 juga sudah lazim dipakai untuk mengembangakan aplikasi web. Ini karena

Visual Studio sudah memberikan fasilitas visual web designer yang

memungkinkan Visual Basic 2010 digunakan untuk membuat web dengan bahasa

pemrograman ASP.NET (Winarno dkk, 2011).

2.8 Microsoft Access

Pengertian database yang paling sederhana adalah kumpulan dari tabel.

Suatu tabel merepresentasikan suatu entitas tertentu. Suatu entitas terdiri dari

beberapa atribut.

Gambar 2.5 Contoh tabel pegawai

Keterangan:

• Tabel Pegawai mewakili entitas pegawai

[image:37.612.175.490.395.585.2]
(38)

Atribut-atribut yang ada pada Tabel Pegawai disebut Field atau

Kolom

Isi dari masing-masing atribut atau field disebut record atau baris.

Tabel-tabel yang ada dikumpulkan dalam suatu container atau wadah.

Wadah inilah yang sering disebut database. Jadi dalam satu database terdiri atas

tabel Pegawai, Jabatan, Golongan, Absen.

Pengertian database dalam Microsoft Access adalah sekumpulan objek

yang terdiri dari tabel, query, form, report, pages, macro, dan module.

Objek-objek ini ditampung dalam satu database. Jadi dalam MS Access yang dimaksud

database adalah kumpulan dari tabel, query, form, report, page, macro, dan module. Database di dalam MS Access selain terdiri dari objek atau objects

(39)

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Melakukan analisis terhadap data-data yang telah dikumpulkan serta

melakukan desain sistem yang akan dibuat. Ada beberapa bagian penting dalam

melakukan perancangan dan pembuatan suatu sistem, yaitu melakukan

perancangan dan pembuatan workflow (aliran kerja), Context Diagram, DFD

(Data Flow Diagram), Flowchart dan penggabungan Algoritma Genetika dengan

Tabu Search, serta penyusunan database sistem.

Alur sistem merupakan bagan yang menggambarkan alur atau

tahapan-tahapan yang membentuk suatu aplikasi. Bagian ini juga menampilkan suatu

keterlibatan entitas yang berhubungan dengan aplikasi. Data Flow Diagram

merupakan dokumentasi dari suatu sistem yang baik, karena dapat

menggambarkan arus data di dalam sistem dengan terstruktur dan jelas. Flowchart

dan penggabungan Algoritma Genetika dengan Tabu Search merupakan gambaran

alur dan tahapan bagaimana penggabungan metode meta-heuristik tersebut

melakukan penyusunan jadwal kuliah.

Pada bagian selanjutnya, dilakukan pembuatan rancangan entitas-entitas

yang saling berhubungan serta membentuk suatu database yang relasional.

Struktur database yang terbentuk akan berfungsi sebagai tempat penyimpanan

(40)

3.2 Per ancangan Sistem

Perancangan sistem berisikan penjelasan tentang deskripsi umum sistem,

konsep perancangan penggabungan metode Algoritma Genetik dan Tabu Search

dalam bentuk flowchart diagram, perancangan proses, perancangan data,

perancangan tabel basis data, dan perancangan antar muka.

3.2.1 Pengolahan Data Menggunakan Penggabungan Metode Algoritma

Genetik dan Tabu Search

Pada penelitian ini di uji cobakan otomatisasi masalah penjadwalan

kuliah di Perguruan Tinggi dengan metode meta-heuristik, yaitu: kombinasi

Algoritma Genetika dan Tabu Search. Tabu Search pada kombinasi ini digunakan

untuk memfilter kromosom yang mengalami crossover agar kromosom yang sama

tidak dilakukan crossover berulang-ulang. Saat iterasi pertama kali, semua

kromosom yang mengalami crossover disimpan ke dalam tabu list, kemudian

baru dilakukan crossover. Untuk iterasi berikutnya, kromosom yang mengalami

crossover, terlebih dahulu di cek pada tabu list, apakah kromosom tersebut sudah

ada atau belum. Jika kromosom tersebut sudah ada pada tabu list, maka

kromosom tersebut akan dilakukan mutasi, jika belum maka kromosom

tersebut disimpan pada tabu list, kemudian dilakukan crossover.

Untuk jumlah data yang kecil (45 hingga 88 data), kombinasi

Algoritma Genetika dan Tabu Search dapat menyelesaikan masalah

penjadwalan dengan baik, dengan nilai fitness sama dengan 0 dan iterasi atau

jumlah generasi maksimum 1000 generasi. Sedangkan untuk data yang cukup

(41)

kombinasi Algoritma Genetika dan Tabu Search masih mampu memperoleh

fitness 0, tetapi dengan jumlah iterasi atau generasi maksimum 10.000

generasi.

3.2.2 Pengkodean Kr omosom dan Pembentukan Populasi Awal

Pengkodean kromosom yang digunakan disini mengadopsi aturan

pengkodean kromosom Algoritma Genetika, yaitu pengkodean dengan bilangan

integer. Dimana bilangan integer ini diperoleh dari indeks array dari

komponen-komponen identitas penjadwalan.

Panjang satu kromosom adalah jumlah dari seluruh mata kuliah yang

ditawarkan pada semester aktif. Sebagai contoh untuk pembentukan kromosom

ini, misalkan ada sebaran mata kuliah seperti pada Tabel 3.1. Dilihat dari Tabel

tersebut, diasumsikan bahwa mata kuliah yang ditawarkan ada 7 (tujuh), dan

setelah dipetakan yang mengasuh mata kuliah-mata kuliah tersebut adalah dosen

dengan kode dosen seperti pada kolom Id Dosen, serta kategori ruangan yang

digunakan pada perkuliahan tersebut adalah kode kategori seperti pada kolom

Id_Ruang. Data pemetaan ini dibaca dari database pemetaan yang selanjutnya

dipindahkan ke variabel array yang sudah dideklarasikan sebelumnya. Susunan

gen dari salah satu kromosom yang dapat dibentuk dari tabel 3.1, adalah seperti

pada Gambar 3.1. Urutan angka pada setiap gen mewakili id Mata Kuliah, id

Ruang yang digunakan, id waktu, Id dosen pengampu, sks mata kuliah, semester,

(42)
[image:42.612.127.504.468.507.2]

Tabel 3.1 Contoh Sebaran Mata Kuliah

Id wkt Id MK Nama MK Id Dosen Id r uang Har i Par alel

6 ISI4001 Praktikum BP 1 Asisten 1 Lab. BP Jumat A

8 UPN1006 Pancasila 00 0015 101 Senin A

8 FTI002 Fisika 00 0010 102 Senin A

8 FTI1291 Kalkulus 1 00 0013 102 Rabu A

6 ISI1002 Bhs Pemrograman 00 0005 301 Jumat A

6 ISI1004 Pengantar TI 00 0014 301 Rabu A

6 FTI2107 Metode Numerik 00 0009 302 Senin A

Dari data pada tabel tersebut, nantinya akan menjadi sebuah gen, dan

kumpulan dari gen tersebut dinamakan kromosom. Pada permasalahan pemetaan

jadwal kuliah ini, dalam proses regenerasi, sebuah kromosom hanya dilakukan

proses crossover atau mutasi saja. Hal ini dilakukan dengan asumsi bahwa dengan

cara ini akan didapatkan keturunan yang lebih baik (solusi yang optimal).

1 2 3 4 5 … n Kromorom

gen ke-1 gen ke-2 gen ke-3 gen ke-4 gen ke-5 … gen ke-n

Gambar 3.1 Contoh Skema Kromosom

Data yang terkumpul pada sebuah gen dinamakan allele. Apabila didapat

dari tabel allele tersebut adalah, Mata kuliah – Kelas paralel – id Dosen – ruang

(43)

FTI1001-1H-00 0002-G3R102-1-8 ISI2001-3H-00 005-G3R301-4-8 UPN1001-1H-00 006-G3R304-2-8

gen ke-1 gen ke-2 gen ke-3

FTI1001-1H-00 0002- G3R304-2-8 ISI2001-3H-00 005--G3R102-1-8 UPN1001-1H-00 006- G3R301-4-8

gen ke-1 gen ke-2 gen ke-3

Gambar 3.2 Contoh Crossover Kromosom

Saat Proses crossover dan mutasi , hanya data ruang – hari – jam saja

yang dipindah silangkan dan dimutasi. Sedangkan data Mata kuliah – Kelas

paralel – Dosen tetap pada lokasi gen-nya.

3.2.3 Flowchart

Dalam sub-bab ini akan dijelaskan alur kerja sistem penjadwalan kuliah

dalam bentuk flowchart diagram. Untuk lebih jelasnya dapat dilihat pada gambar

[image:43.612.122.522.83.197.2]
(44)

Gambar 3.3 Flowchart pengolahan data dengan menggunakan penggabungan

[image:44.612.202.490.78.614.2]
(45)

3.2.4 Klasifikasi Constraint

Peraturan-peraturan yang digunakan dalam pembuatan tabel

penjadwalan perkuliahan dapat dikelompokkan menjadi 2, sesuai dengan tingkat

kewajiban peraturan itu dipenuhi. Kedua kelompok tersebut akan diuraikan pada

bagian Hard Constraint dan Soft Constraint dibawah ini.

3.2.4.1 Hard Constraint

Hard constraint didefinisikan sebagai constraint wajib yang harus

dipenuhi dalam proses perhitungan algoritma. Sebuah solusi hanya dapat

dikatakan sah dan valid, apabila dalam solusi tersebut sama sekali tidak ada hard

constraint yang terlanggar. Berikut adalah daftar hard constraint dalam masalah

penjadwalan kuliah:

1. Jadwal dosen dan mahasiswa tidak boleh bentrok.

2. Ruangan yang digunakan tidak boleh bentrok.

3. Adanya mata kuliah dengan ruangan khusus (praktikum).

4. Durasi kuliah antara praktek dan teori yang berbeda persksnya.

5. Seluruh kelas yang dibuka harus mendapatkan waktu dan ruangan

perkuliahan.

3.2.4.2 Soft Constrainvt

Kendala yang termasuk dalam kelompok soft constraint adalah kendala

yang tidak selalu dapat terpenuhi dalam proses pembuatan tabel jadal kuliah.

(46)

semaksimal mungkin berusaha memenuhi ketentuan soft constraint ini. Dan

berikut adalah daftar daftar soft constraint dalam masalah penjadwalan kuliah:

1. Diusahakan seorang dosen tidak mendapatkan jadwal mengajar lebih

dari 3 pertemuan dalam sehari.

2. Jadwal mengajar seorang dosen dalam sehari diusahakan urut tanpa

jeda waktu.

3. Jadwal kuliah mahasiswa diusahakan dalam sehari diusahakan urut

(47)

3.2.5 Workflow

Ga mbar 3.4 Workflow Penjadwalan Kuliah

Workflow tersebut menerangkan bagaimana alur kerja dalam proses

[image:47.612.145.491.97.611.2]
(48)

mata kuliah, dan ruangan ke dalam sebuah sistem. Kemudian Kajur menentukan

pengampuan mata kuliah oleh dosen yang bersangkutan. Setelah selesai

menentukan pengampuan mata kuliah oleh dosen yang bersangkutan, Kajur

menentukan constraint dan menyimpannya ke dalam sebuah database sistem.

Lalu Kajur diminta untuk menentukan periode semester yang diadakan, serta mata

kuliah yang diadakan pada periode tersebut dan kembali menyimpannya ke dalam

database sistem. Baru setelah itu, sistem akan melakukan proses optimasi jadwal

dengan menggunakan penggabungan metode meta-heuristik, yaitu metode

Algoritma Genetik dan Tabu Search. Setelah mendapatkan jadwal terpilih dari

sistem, Kajur mencetak laporan jadwal kuliah dan memberikannya kepada dosen

yang bersangkutan dan mahasiswa.

3.2.6 Atur an-atur an Terjadi Konflik

Aturan terjadinya konflik merupakan aturan-aturan dari kondisi yang

dapat menimbulkan terjadinya suatu konflik antara dosen pengajar, mata kuliah,

ruangan, dan kelas parallel dalam satu hari dan jam yang sama yang akan

diberlakukan pada aplikasi penyusun jadwal kuliah ini. Fungsi konflik tersebut

adalah:

K = Σ Bentrok (3.1)

Nilai konflik ini nantinya digunakan untuk menghitung nilai fitness dari

setiap kromosom. Fungsi dari fitness kromosom adalah sebagai berikut:

(49)

Ket :

F (i) = Nilai fitness kromosom ke-i

K (i) = Nilai konflik kromosom ke-i

Dari fungsi diatas, dapat ditarik sebuah kesimpulan, bahwa semakin

banyak bentrok yang terjadi semakin kecil nilai fitness, dan akan semakin kecil

pula kemungkinan kromosom tersebut untuk terpilih ke generasi berikutnya.

3.2.7 Context Diagr am

Context diagram akan menjelaskan gambaran umum mengenai sistem

penjadwalan kuliah yang akan dibuat. Pada context diagram penjadwalan kuliah

ini terdapat 2 entitas yang saling berhubungan, yaitu:

1. Entitas Kajur Sekjur,

2. Entitas Mahasiswa dan Dosen,

Penjelasan Entitas User seperti yang terlihat pada konteks diagram berikut ini :

Jadwal Terpilih

Laporan jadwal kuliah data ruangan dan waktu kuliah data dosen_mata kuliah_kelas paralel

1

Penjadwalan Kuliah Menggunakan GA

dan TS

+

Kajur Sekjur Mahasiswa dan Dosen

[image:49.612.129.529.507.615.2]
(50)

3.2.8 DFD Level 1

data dosen input data dosen

Jadwal Terpilih Laporan jadwal kuliah

data solusi

solusi terpilih

data kompetensi dosen data kelas paralel

data wkt kuliah data ruangan

data matkul data dosen_mata kuliah_kelas paralel

data ruangan dan waktu kuliah

input data wkt kuliah input data ruangan

input kelas paralel input data matkul Kajur Sekjur Kajur Sekjur Kajur Sekjur Mahasiswa dan Dosen 1 memasukkan data dosen matkul dan kelas paralel + tabel mata kuliah tabel kelas paralel 2 memasukkan data ruangan dan wkt kuliah

tabel waktu kuliah tabel ruangan 3 memasukkan data pengampuan matkul 4

proses optimasi GA dan TS

tabel kompetensi dosen

[image:50.612.144.532.160.501.2]

Jadwal Terpilih Tabu List

tabel data dosen

Gambar 3.6 DFD Level 0

Penjelasan Gambar 3.4 DFD Level 0:

1. Proses memasukkan data dosen, mata kuliah, dan kelas paralel

Pada proses ini, Kajur atau Sekjur akan memasukkan data dosen yang

(51)

Kajur memasukkan data dosen dan mata kuliah, selanjutnya data tersebut

akan masuk dalam proses ke-3. Sedangkan untuk kelas paralel, data

tersebut akan masuk dalam proses ke-4.

2. Proses memasukkan data ruangan dan waktu kuliah

Pada proses ke-2 ini, Kajur akan memasukkan data ruangan yang akan

digunakan sebagai kegiatan perkuliahan beserta dengan waktunya.

Kemudian, data ruangan dan waktu kuliah yang telah masuk tersebut akan

menuju ke dalam proses ke-4.

3. Proses memasukkan data pengampuan mata kuliah

Proses ini merupakan kelanjutan dari proses pertama diatas, setelah data

dosen dan mata kuliah masuk, Kajur akan menentukan pengampuan mata

kuliah oleh dosen yang bersangkutan. Dari proses ini, kemudian akan

dilanjutkan menuju proses ke-4.

4. Proses Optimasi Algoritma Genetik dengan Tabu Search

Proses ini merupakan proses inti dari sistem penjadwalan kuliah ini.

Seluruh data dari semua proses diatas akan dioptimasi dengan

menggunakan penggabungan metode Algoritma Genetik dengan Tabu

Search. Pada proses optimasi ini, akan menghasilkan data solusi yang akan

dimasukkan kedalam tabu list, dan solusi terpilih yang akan menjadi

(52)

3.3 Per ancangan Database

Pada perancangan database ini akan dibahas mengenai perancangan

data dan perancangan tabel yang akan digunakan pada sistem ini. Database atau

Basis data dapat didefinisikan dalam sejumlah sudut pandang sebagai berikut:

1. Himpunan kelompok data (arsip) yang saling berhubungan yang

diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan

kembali dengan cepat dan mudah.

2. Kumpulan data yang saling berhubungan yang disimpan secara

bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang

tidak perlu untuk memenuhi berbagai kebutuhan.

3. Kumpulan file atau tabel atau arsip yang saling berhubungan yang

tersimpan dalam media penyimpanan elektronik.

Dalam perancangan data ini, akan dijelaskan tentang 2 model data yaitu:

Model Data Konseptual, dan Model Data Fisik. Untuk lebih jelasnya, akan

dijelaskan pada sub-bab dibawah ini.

3.3.1 Per ancangan Data

a) Model Data Konseptual (Conceptual Data Model)

Model data konseptual atau yang biasa disebut dengan CDM

(Conceptual Data Model) adalah rancangan dalam bentuk diagram sebelum

pembuatan database secara detail. Model data konseptual ini dibuat tanpa harus

mempertimbangkan data DBMS (Database Management System) apa saja yang

nanti dipakai, karena bentuk ini hanya sebuah konsep rancangan yang nantinya

(53)

ini akan mempresentasikan bagaimana rancangan basis data konseptual yang

nantinya akan digunakan oleh sistem ini. Model data konseptual ini, dibuat

dengan menggunakan software Power Designer 12.0.

Diinput Diinput2 Di input3 Dii nput4 Di input5 memiliki mengampu memiliki3 memiliki4 memiliki5 memiliki7 memili ki2

memil iki 6 User

username password

<pi > Characters (25) Characters (25)

<M>

Identifi er_1 <pi>

Dosen

id_dosen nm_dosen

<pi> Characters (20) Characters (150)

<M>

Identi fier_1 <pi>

MatKul kd_MK nm_MK smt sks ket

<pi > Characters (10) Characters (150) Characters (1) Integer Characters (10) <M> Identifier_1 <pi> Dosen Pengampu Kelas Paralel KP smt Kelas

<pi> Characters (2) Characters (1) Characters (10) <M> Identifier_1 <pi> Jadwal_Detail Waktu kd_waktu hari jam

<pi> Characters (4) Characters (10) Integer <M> Identifier_1 <pi> Ruang kd_ruang ket

<pi> Characters (15) Characters (10)

<M>

Identifier_1 <pi >

Jadwal

kd_jadwal Kelas semester thn

<pi> Characters (20) Characters (10) Characters (7) Characters (20)

<M>

Identifi er_1 <pi>

Ga mbar 3.7 Conceptual Data Model (CDM)

b) Model Data Fisik (Physical Data Model)

Model data fisik yang biasa kita sebut dengan PDM (Physical Data

[image:53.612.130.535.185.563.2]
(54)

yang telah dijelaskan pada gambar diatas. Model data ini mempresentasikan

rancangan fisik basis data yang disimpan. Dan model data ini akan menghasilkan

tabel-tabel yang nantinya akan digunakan dalam implementasi sistem yang dibuat.

FK_DOSEN_DIINPUT _USER

FK_MAT KUL_DIINPUT 2_USER

FK_KELAS_PA_DIINPUT3_USER FK_RUANG_DIINPUT4_USER FK_WAKTU_DIINPUT 5_USER FK_DOSEN_PE_MEMILIKI_DOSEN FK_DOSEN_PE_MENGAMPU_MAT KUL FK_JADWAL_D_MEMILIKI3_KELAS_PA FK_JADWAL_D_MEMILIKI4_RUANG

FK_JADWAL_D_M EMILIKI5_WAKT U FK_JADWAL _D_MEMILIKI7_MAT KUL

FK_JADWAL_D_MEMILIKI2_DOSEN FK_JADWAL_D_MEMILIKI6_JADWAL User username password char(25) char(25) <pk> Dosen id_dosen username nm_dosen char(20) char(25) char(150) <pk> <fk> MatKul kd_MK username nm _MK smt sks ket char(10) char(25) char(150) char(1) integer char(10) <pk> <fk> Dosen Pengampu id_dosen kd_MK char(20) char(10) <fk1> <fk2> Kelas Paralel KP username smt Kelas char(2) char(25) char(1) char(10) <p k> <fk> Jadwal_Detail kd_waktu kd_jadwal kd_ruang id_dosen kd_MK KP char(4) char(20) char(15) char(20) char(10) char(2) <fk3> <fk6> <fk2> <fk5> <fk4> <fk1> Waktu kd_waktu username hari jam char(4) char(25) char(10) integer <pk> <fk> Ruang kd_ruang username ket char(15) char(25) char(10) <pk> <fk> Jadwal kd_jadwal Kelas semester thn char(20) char(10) char(7) char(20) <pk>

[image:54.612.140.528.182.534.2]
(55)

3.3.2 Per ancangan Tabel

Dari tabel yang telah dihasilkan dalam pembuatan CDM (Conceptual

Data Model) dan PDM (Physical Data Model), adapun rincian tabel seperti

dibawah ini.

1. Tabel user

Tabel user ini digunakan untuk menyimpan data pengguna atau user.

Dalam tabel user ini terdapat 1 primary key yaitu username.

Tabel 3.2 Tabel user

No Nama Fields Type Panjang Const Keter angan

1. Username CHAR 25 PK Nama user

2. Passwords CHAR 25 Passwords user

2. Tabel dosen

Tabel dosen ini digunakan untuk menyimpan data dosen pengajar.

Dalam tabel dosen ini terdapat 1 primary key yaitu id_dosen.

Tabel 3.3 Tabel dosen

No Nama Fields Type Panjang Const Keter angan

1. Id_dosen CHAR 20 PK Merupakan nomor id

yang dimiliki setiap

dosen pengajar

2. Nm_dosen CHAR 150 Nama dosen pengajar

3. Tabel Matkul

Tabel Matkul ini digunakan untuk menyimpan data mata kuliah.

(56)
[image:56.612.125.513.107.291.2]

Tabel 3.4 Tabel Matkul

No Nama Fields Type Panjang Const Keter angan

1. Id_MK CHAR 10 PK Merupakan nomor id

yang dimiliki setiap

nama mata kuliah

2. Nm_MK CHAR 150 Nama mata kuliah

3. Smt CHAR 1 Semester mata kuliah

4. Sks INT Sks mata kuliah

5. Ket CHAR 10 Status mata kuliah

(Ganjil/Genap)

4. Tabel Kelas Paralel

Tabel kelas paralel ini digunakan untuk menyimpan data kelas paralel

di tiap-tiap semester. Dalam tabel kelas paralel ini terdapat 1 primary

key yaitu KP.

Tabel 3.5 Tabel Kelas Paralel

No Nama Fields Type Panjang Const Keter angan

1. KP CHAR 2 PK Merupakan kode kelas

Paralel

2. smt CHAR 1 Semester

3. Kelas CHAR 10 Kelas

5. Tabel ruang

Tabel ruang ini digunakan untuk menyimpan data ruangan yang akan

digunakan dalam perkuliahan. Dalam tabel ruang ini terdapat 1

(57)
[image:57.612.122.513.111.227.2]

Tabel 3.6 Tabel ruang

No Nama Fields Type Panjang Const Keter angan

1. Id_ruang CHAR 15 PK Merupakan nomor id

ruangan yg digunakan

dalam perkuliahan

2. Ket CHAR 10 Keterangan ruangan

(ruang kelas/praktek)

6. Tabel waktu

Tabel waktu ini digunakan untuk menyimpan data waktu perkuliahan.

Dalam tabel waktu ini terdapat 1 primary key yaitu id_waktu.

Tabel 3.7 Tabel waktu

No Nama Fields Type Panjang Const Keter angan

1. Id_waktu CHAR 4 PK Merupakan nomor id

waktu

2. Hari CHAR 10 Hari perkuliahan

3. Jam INT Jam perkuliahan

7. Tabel Jadwal

Tabel Jadwal ini digunakan untuk menyimpan jadwal terpilih yang

telah teroptimasi. Dalam tabel jadwal ini terdapat 1 primary key

(58)
[image:58.612.125.512.108.230.2]

Tabel 3.8 Tabel Jadwal

No Nama Fields Type Panjang Const Keter angan

1. Id_jadwal CHAR 20 PK Merupakan nomor id

jadwal

2. Kelas CHAR 10 Kelas

3. Semester CHAR 7 Semester

4. Tahun CHAR 20 Tahun ajaran

8. Tabel Jadwal_Detail

Tabel Jadwal ini digunakan untuk menyimpan jadwal terpilih yang

telah teroptimasi. Dalam tabel jadwal_detail tidak terdapat primary

key, tetapi mempunyai 6 foreign key yaitu kd_waktu, kd_ruang,

[image:58.612.125.513.434.654.2]

kd_jadwal, id_dosen, id_MK, KP.

Tabel 3.9 Tabel Jadwal_Detail

No Nama Fields Type Panjang Const Keter angan

1. Kd_waktu CHAR 4 Fk Merupakan nomor id

jadwal

2. Kd_ruang CHAR 20 Fk Merupakan kode ruang

kuliah

3. Kd_jadwal CHAR 15 Fk Merupakan kode jdwl

kuliah

4. Id_dosen CHAR 20 Fk Merupakan id dosen

5. Id_MK CHAR 10 Fk Merupakan id Mata

kuliah

(59)

9. Tabel Dosen_Pengampu

Tabel Dosen_Pengampu ini digunakan untuk menyimpan data

kompetensi dosen pengajar. Dalam tabel Dosen_Pengampu tidak

terdapat primary key, tetapi mempunyai 2 foreign key yaitu

id_dosen, dan id_MK.

Tabel 3.10 Tabel Dosen_Pengampu

No Nama Fields Typ

Gambar

Gambar 2.5  Contoh tabel pegawai
Tabel 3.1 Contoh Sebaran Mata Kuliah
Gambar  3.2  Contoh Crossover Kromosom
Gambar 3.3 Flowchart pengolahan data dengan menggunakan penggabungan
+7

Referensi

Dokumen terkait

Aplikasi yang akan dibuat adalah aplikasi yang dapat menyimpan data mata kuliah, data dosen, data penugasan dosen, serta data ruangan, kemudian melakukan

 Satu dosen tidak mungkin berada di sebuah jadwal untuk dua mata kuliah atau satu mata kuliah 2 kelas.  Struktur kromosom, yang terdiri dari gen-gen dengan aturan

Batasan yang dilibatkan diantaranya adalah dosen dan suatu kelas tidak boleh dijadwalkan kuliah berturut-turut lebih dari dua kali mata kuliah, tidak boleh

Kesimpulan dari hasil penelitian penjadwalan mata kuliah menggunakan algoritma tabu search dalam pewarnaan simpul graf yaitu tidak ada jadwal mata kuliah, jadwal dosen,

1) Semut adalah kombinasi dosen, mata kuliah dan kelas 2) Sumber makanan adalah pasangan ruang, hari dan jam 3) Feromon adalah jadwal yang diambil oleh dosen. 4) Jarak yang

Hasil dari sistem tersebut adalah dapat terbentuknya daftar mahasiswa beserta dosen pembimbing dan jadwal seminar tugas akhir dalam waktu satu periode dengan menggunakan dua

Masalah penyusunan jadwal mata kuliah yang ada saat ini seringkali terdapat satu dosen harus mengajar banyak kelas dalam satu waktu atau jam yang sama, pemakaian ruang kelas/

Lihat utilitas ruang pada semester lalu √ 14 Mengelola jadwal kuliah Tambah √ Ubah √ Ubah (bertabrakan) √ Hapus √ 15 Mencetak jadwal kuliah prodi Cetak jadwal