RANCANG BANGUN PERANGKAT LUNAK PENJADWALAN PERKULIAHAN MENGGUNAKAN METODE METAHEURISTIK (PENGGABUNGAN METODE ALGORITMA GENETIK DAN TABU SEARCH).
RANCANG BANGUN PERANGKAT LUNAK
PENJ ADWALAN PERKULIAHAN MENGGUNAKAN METODE METAHEURISTIK (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
SURABAYA
2011
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Nama
: Rio Prayoga Suprayana
NPM
: 0634015019
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.
Kata Kunci: penjadwalan, Algoritma Genetika, Tabu Search
i
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR ISI
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
2.5.1
Perencanaan ...................................................................................... 25
iii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.5.2
Desain ............................................................................................... 25
2.5.3
Implementasi ..................................................................................... 25
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
3.4
Perancangan Antar Muka................................................................... 52
iv
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB IV
IMPLEMENTASI PROGRAM
4.1
Kebutuhan Sistem.............................................................................. 57
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
DAFTAR PUSTAKA ....................................................................................... 77
v
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR GAMBAR
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
2.1
2.2
2.3
2.4
2.5
3.1
3.2
3.3
Contoh Roulette Wheel Selection dari data pada tabel 2.4 .......... 18
Ilustrasi Order Based Crossover ................................................ 19
Ilustrasi one-cut-point crossover ............................................... 20
Ilustrasi One-Cut-Point Crossover Reeves ................................ 20
Contoh tabel pegawai ................................................................ 30
Contoh tabel pegawai ................................................................ 35
Contoh tabel pegawai ................................................................ 36
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
Gambar 5.1 Sub Menu GA TA Proccess ....................................................... 73
vi
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR TABEL
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
Tabel 5.4
Tabel Hasil Uji Coba ..................................................................... 74
vii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB I
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
yang disebabkan pengalokasian mata kuliah dengan dosen dan ruangan yang
1
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2
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
Menggunakan Metode Meta-Heuristik (Penggabungan Metode Algoritma Genetik
dan Tabu Search).
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
3
1.2
Perumusan 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.
3. Semua Dosen bersedia mengajar kapan saja dan di ruang manapun.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
4
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
mengatur jadwal perkuliahan baru di setiap pergantian semester ataupun tahun
ajaran baru.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
5
1.6
Metodologi Pembuatan Tugas Akhir
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
perkuliahan
menggunakan
sebuah
metode
perangkat
lunak
meta-heuristk,
penjadwalan
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
benar sesuai dengan konsep yang diajukan.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
6
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
Penulisan, dan Sistematika Penulisan.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
7
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
konsep yang sebenarnya.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
8
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
laporan Tugas Akhir ini.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB II
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.
d. Kesulitan dalam menghadapi perubahan yang cepat.
9
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
10
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
adalah:
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
11
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
terjadwal perminggu sebanyak 1 jam perkuliahan atau 2 jam praktikum atau 4 jam
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
12
kerja lapangan, yang masing–masing diiringi oleh sekitar 1 – 2 jam kegiatan
terstruktur dan 1 – 2 jam kegiatan mandiri.
2.2.1
Nilai Satuan Kredit 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.
3. 60 menit pengembangan materi kuliah.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
13
2.2.2
Nilai Satuan Kredit 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
Algoritma 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
berdasarkan suatu fungsi evaluasi (Gen dan Cheng dalam Syamsuddin, 1997).
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
14
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 kromosomkromosom 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
jumlah kromosom yang cukup untuk membentuk generasi baru yang
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
15
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
Kromosom B
1
1
1
1
1
1
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
16
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
bertahan hidup, sedangkan yang memiliki nilai fitness rendah akan mati.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
17
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
memilih individu-individu yang akan dijadikan induk pada proses
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
18
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
K4
K1
K3
K2
Gambar 2.1 Contoh Roulette Wheel Selection dari data pada tabel 2.4
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
19
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).
1
2
3
4
5
6
7
8
9
2
4
5
3
1
6
9
7
8
5
4
6
3
1
9
2
7
8
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).
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
20
Parent
1
0
1
1
0
1
0
1
1
Parent
2
1
1
0
0
0
1
1
1
Offspring 1
0
1
1
0
0
1
1
1
Offspring 2
1
1
0
0
1
0
1
1
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
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
9
7
8
5
4
6
3
1
9
2
7
8
Parent1
Offspring
Parent2
Gambar 2.4 Ilustrasi One-Cut-Point Crossover Reeves
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
21
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
lagi pada iterasi berikutnya. Apabila sudah tidak ada lagi solusi yang tidak
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
22
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(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
belum. Jika kromosom tersebut sudah ada pada tabu list, maka kromosom tersebut
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
23
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
global, namun tetap memerlukan waktu perhitungan yang lama. Sedangkan
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
24
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
lungkup yang lebih sempit. Sasaran dari sistem sangat menentukan masukan dan
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
25
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
sistem baru.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
26
2.5.4
Oper asi
Meliputi
penggunaan
menyiapkan proposal
sistem,
audit
sistem,
perawatan
perencanaan ulang, serta menyetujui atau
sistem,
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
(property) dari entitas tersebut. Penetapan atribut dari sebuah entitas berdasarkan
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
27
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
sendiri (rekursif).
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
28
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 pu
PENJ ADWALAN PERKULIAHAN MENGGUNAKAN METODE METAHEURISTIK (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
SURABAYA
2011
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Nama
: Rio Prayoga Suprayana
NPM
: 0634015019
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.
Kata Kunci: penjadwalan, Algoritma Genetika, Tabu Search
i
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR ISI
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
2.5.1
Perencanaan ...................................................................................... 25
iii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.5.2
Desain ............................................................................................... 25
2.5.3
Implementasi ..................................................................................... 25
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
3.4
Perancangan Antar Muka................................................................... 52
iv
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB IV
IMPLEMENTASI PROGRAM
4.1
Kebutuhan Sistem.............................................................................. 57
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
DAFTAR PUSTAKA ....................................................................................... 77
v
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR GAMBAR
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
2.1
2.2
2.3
2.4
2.5
3.1
3.2
3.3
Contoh Roulette Wheel Selection dari data pada tabel 2.4 .......... 18
Ilustrasi Order Based Crossover ................................................ 19
Ilustrasi one-cut-point crossover ............................................... 20
Ilustrasi One-Cut-Point Crossover Reeves ................................ 20
Contoh tabel pegawai ................................................................ 30
Contoh tabel pegawai ................................................................ 35
Contoh tabel pegawai ................................................................ 36
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
Gambar 5.1 Sub Menu GA TA Proccess ....................................................... 73
vi
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR TABEL
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
Tabel 5.4
Tabel Hasil Uji Coba ..................................................................... 74
vii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB I
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
yang disebabkan pengalokasian mata kuliah dengan dosen dan ruangan yang
1
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2
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
Menggunakan Metode Meta-Heuristik (Penggabungan Metode Algoritma Genetik
dan Tabu Search).
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
3
1.2
Perumusan 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.
3. Semua Dosen bersedia mengajar kapan saja dan di ruang manapun.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
4
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
mengatur jadwal perkuliahan baru di setiap pergantian semester ataupun tahun
ajaran baru.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
5
1.6
Metodologi Pembuatan Tugas Akhir
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
perkuliahan
menggunakan
sebuah
metode
perangkat
lunak
meta-heuristk,
penjadwalan
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
benar sesuai dengan konsep yang diajukan.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
6
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
Penulisan, dan Sistematika Penulisan.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
7
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
konsep yang sebenarnya.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
8
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
laporan Tugas Akhir ini.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB II
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.
d. Kesulitan dalam menghadapi perubahan yang cepat.
9
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
10
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
adalah:
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
11
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
terjadwal perminggu sebanyak 1 jam perkuliahan atau 2 jam praktikum atau 4 jam
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
12
kerja lapangan, yang masing–masing diiringi oleh sekitar 1 – 2 jam kegiatan
terstruktur dan 1 – 2 jam kegiatan mandiri.
2.2.1
Nilai Satuan Kredit 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.
3. 60 menit pengembangan materi kuliah.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
13
2.2.2
Nilai Satuan Kredit 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
Algoritma 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
berdasarkan suatu fungsi evaluasi (Gen dan Cheng dalam Syamsuddin, 1997).
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
14
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 kromosomkromosom 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
jumlah kromosom yang cukup untuk membentuk generasi baru yang
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
15
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
Kromosom B
1
1
1
1
1
1
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
16
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
bertahan hidup, sedangkan yang memiliki nilai fitness rendah akan mati.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
17
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
memilih individu-individu yang akan dijadikan induk pada proses
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
18
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
K4
K1
K3
K2
Gambar 2.1 Contoh Roulette Wheel Selection dari data pada tabel 2.4
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
19
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).
1
2
3
4
5
6
7
8
9
2
4
5
3
1
6
9
7
8
5
4
6
3
1
9
2
7
8
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).
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
20
Parent
1
0
1
1
0
1
0
1
1
Parent
2
1
1
0
0
0
1
1
1
Offspring 1
0
1
1
0
0
1
1
1
Offspring 2
1
1
0
0
1
0
1
1
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
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
9
7
8
5
4
6
3
1
9
2
7
8
Parent1
Offspring
Parent2
Gambar 2.4 Ilustrasi One-Cut-Point Crossover Reeves
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
21
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
lagi pada iterasi berikutnya. Apabila sudah tidak ada lagi solusi yang tidak
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
22
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(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
belum. Jika kromosom tersebut sudah ada pada tabu list, maka kromosom tersebut
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
23
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
global, namun tetap memerlukan waktu perhitungan yang lama. Sedangkan
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
24
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
lungkup yang lebih sempit. Sasaran dari sistem sangat menentukan masukan dan
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
25
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
sistem baru.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
26
2.5.4
Oper asi
Meliputi
penggunaan
menyiapkan proposal
sistem,
audit
sistem,
perawatan
perencanaan ulang, serta menyetujui atau
sistem,
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
(property) dari entitas tersebut. Penetapan atribut dari sebuah entitas berdasarkan
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
27
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
sendiri (rekursif).
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
28
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 pu