17
BAB III METODELOGI PENELITIAN
3.1 Metodelogi Penelitian
Metodelogi penelitian merupakan tahapan yang disusun secara teratur dalam
melaksanakan suatu penelitian yang akan dilakukan. Tujuan metodelogi penelitian
ini sebagai pedoman peneliti dalam menyelesaikan penelitian yang akan
dibangun. Adapun tahapan penelitian yang akan dilakukan dalam penelitian ini
dapat dilihat pada Gambar 3.1.
Mulai
Tinjauan Studi
Pengumpulan Data
Analisa Metode dan Perancangan
Implementasi dan Pengujian
Kesimpulan
Selesai
Perumusan Masalah
Optimasi
Gambar 3.1 Metodelogi Penelitian.
18
3.2 Pengumpulan Data
Pengumpulan data merupakan suatu alur yang bertujuan untuk mendapatkan
seluruh data dan informasi yang dibutuhkan dalam penelitian tugas akhir ini.
Data didapatkan secara langsung melalui wawancara laboran dan didapatkan
melalui kuesioner asisten.
Proses wawancara dilakukan dengan salah satu laboran di Kampus Institut
Teknologi Sumatera yaitu bapak M. Fitrah Ramadhan pada tanggal 13 September
2019. Wawancara bertujuan untuk mendapatkan data jadwal praktikum, data
asisten, serta kendala atau batasan yang dihadapi dalam penyusunan jadwal
asisten praktikum yang akan dihasilkan.
3.3 Analisa Algoritma Genetika
Tahapan analisa metode ini berguna untuk mengetahui alur dari proses kerja yang
akan dibuat dapat bekerja maksimal. Metode yang akan digunakan pada penelitian
ini menggunakan algoritma genetika. Diagram alir algoritma genetika dapat
dilihat pada Gambar 3.2.
Gambar 3.2 Alur Algoritma Genetika.
Gambar 3.2 menjelaskan alur algoritma genetika yang akan dilakukan pada
penelitian. Tahap pertama yaitu melakukan proses pengkodean gen,
19
membangkitkan populasi awal secara acak, evaluasi nilai fitness. Jika nilai fitness
terbaik didapatkan maka peluang suatu generasi untuk dapat bertahan ke generasi
selanjutnya. Jika nilai fitness yang didapatkan buruk maka melakukan proses
seleksi kemudian tahap crossover, mutasi, dan melakukan ulang untuk
menghitung nilai finess.
3.3.1 Data Testing
Data testing yang akan digunakan pada proses penelitian ini berupa data jadwal
asisten praktikum Semester Ganjil TA. 2020 yang berasal dari Perguruan Tinggi
Institut Teknologi Sumatera. Data yang diperoleh meliputi 60 kelas TPB, 40
asisten praktikum, 4 ruangan, dan 19 waktu. Data tersebut akan digunakan dalam
proses tahap pengujian yang dilakukan dalam penelitian. Contoh data yang akan
diolah adalah sebagai berikut :
1. Data jadwal ketersedian asisten praktikum dapat dilihat pada tabel 3.1
Tabel 3.1 Asisten Praktikum.
Nama Asisten Hari Jam
A
Senin 15.00 – 16.40 Rabu 15.00 – 16.40 Kamis 09.00 – 10.40 Kamis 15.00 – 16.40 Jumat 15.00 – 16.40
B
Senin 15.00 – 16.40 Selasa 15.00 – 16.40 Rabu 15.00 – 16.40 Kamis 09.00 – 10.40 Kamis 13.00 – 14.40
C
Senin 13.00 – 14.40 Selasa 07.00 – 08.40 Rabu 07.00 – 08.40 Kamis 09.00 – 10.40 Jumat 07.00 – 08.40
D
Senin 15.00 – 16.40 Selasa 13.00 – 14.40 Rabu 09.00 – 10.40 Kamis 13.00 – 14.40 Jumat 07.00 – 08.40
E Senin 07.00 – 08.40 Selasa 15.00 – 16.40
20
Nama Asisten Hari Jam
Rabu 13.00 – 14.40 Kamis 09.00 – 10.40 Jumat 09.00 – 10.40
F
Senin 09.00 – 10.40 Selasa 07.00 – 08.40 Rabu 07.00 – 08.40 Kamis 13.00 – 14.40 Jumat 15.00 – 16.40
G
Senin 07.00 – 08.40 Selasa 07.00 – 08.40 Rabu 07.00 – 08.40 Kamis 13.00 – 14.40 Jumat 13.00 – 14.40
H
Senin 07.00 – 08.40 Selasa 07.00 – 08.40 Rabu 13.00 – 14.40 Kamis 09.00 – 10.40 Jumat 07.00 – 08.40
I
Senin 09.00 – 10.40 Selasa 15.00 – 16.40 Rabu 09.00 – 10.40 Kamis 13.00 – 14.40 Jumat 09.00 – 10.40
J
Senin 13.00 – 14.40 Selasa 13.00 – 14.40 Rabu 15.00 – 16.40 Kamis 13.00 – 14.40 Jumat 15.00 – 16.40
K
Senin 15.00 – 16.40 Selasa 07.00 – 08.40 Rabu 07.00 – 08.40 Kamis 09.00 – 10.40 Jumat 13.00 – 14.40
L
Senin 09.00 – 10.40 Selasa 13.00 – 14.40 Rabu 07.00 – 08.40 Kamis 13.00 – 14.40 Jumat 15.00 – 16.40
M
Senin 09.00 – 10.40 Selasa 09.00 – 10.40 Rabu 09.00 – 10.40 Kamis 09.00 – 10.40 Jumat 15.00 – 16.40
N Senin 13.00 – 14.40 Rabu 07.00 – 08.40
21
Tabel 3.1 merupakan data asisten praktikum yang diambil dari data asisten
praktikum Semester Ganjil TA.2020. Data asisten praktikum diambil
sebanyak 15 asisten untuk dijadikan contoh pengolahan data.
2. Data terhadap waktu praktikum dapat dilihat pada tabel 3.2
Tabel 3.2 Waktu Praktikum Yang Telah Tersedia.
Pada tabel 3.2 merupakan data waktu praktikum yang diambil dari data
asisten praktikum Semester Ganjil TA. 2020. Data waktu praktikum diambil
sebanyak 1 slot waktu hari senin sampai dengan jumat.
3. Data ruangan praktikum dapat dilihat pada tabel 3.3
Tabel 3.3 Ruangan Praktikum.
Pada tabel 3.3 merupakan data ruangan praktikum yang diambil dari data asisten
praktikum Semester Ganjil TA. 2020. Data yang dipakai untuk contoh pengolahan
data sebanyak 1 ruangan.
Nama Asisten Hari Jam Kamis 13.00 – 14.40
Jumat 13.00 – 14.40 Jumat 15.00 – 16.40
O Senin 15.00 – 16.40 Selasa 07.00 – 08.40 Rabu 15.00 – 16.40
Hari Kode Waktu
Senin SN1 07.00 – 08.40
Selasa SL1 07.00 – 08.40
Rabu RB2 09.00 – 10.40
Kamis KM2 13.00 – 14.40
Jumat JM4 15.00 – 16.40
Kode Ruangan Ruangan
R1 Labtek 3 (TPB1)
22
3.3.2 Representasi Kromosom
Representasi kromosom menggambarkan tahapan melakukan teknik pengkodean
gen dari kumpulan individu. Kromosom direpresentasikan menggunakan daftar
aturan yang diambil dari data jadwal asisten praktikum Semester Ganjil TA. 2020.
Gen direpresentasikan oleh asisten, dan banyaknya gen dalam kromosom
direpresentasikan oleh slot waktu. Adapun representasi kromosom yang dilakukan
dapat dilihat pada Tabel 3.4.
Tabel 3.4 Teknik Representasi Kromosom
Solusi Hari Hari Hari Hari Hari
Waktu Waktu Waktu Waktu Waktu
Kromosom 1 Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Kromosom 2 Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Kromosom 3 Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Kromosom 4 Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Gen
Berdasarkan tabel 3.4, setiap baris pada tabel menyatakan satu individu, dimana
individu tertera mengutarakan satu penyelesaian jadwal praktikum yang terdiri
dari hari dan slot waktu, sedangkan pada kolom gen tersebut menyatakan slot
asisten.
3.3.3 Inisialisasi Individu
Pembentukan kromosom menggunakan representasi kromosom yang telah di
bentuk dalam susunan gen. Teknik inisialisasi individu melibatkan pembangkitan
secara acak sesuai representasi kromosom yang telah dibentuk. Untuk lebih jelas
terkait representasi kromosom yang dibangkitkan, dapat dilihat pada tabel 3.5
Tabel 3.5 Representasi kromosom.
Solusi Senin Selasa Rabu Kamis Jumat
07.00-08.40 07.00-08.40 09.00-08.40 13.00-14.40 15.00-16.40
Kromosom 1 L F H O B K M I I C O B A F A
Kromosom 2 E H E A N F M E H J N F L E J
Kromosom 3 B G O A I G A A I B J L B L H
Kromosom 4 A N D C C H A J J N D F J J L
23
Pada tabel 3.5 berisi tentang pembangkitan kromosom yang dilakukan secara
acak. Contohnya seperti kromosom 1 yang terdiri 15 asisten acak dari hari senin
sampai hari jumat dengan masing-masing satu waktu dipasangkan dengan 3
asisten. Setelah pembangkitan kromosom dilakukan, setiap kromosom akan
diseleksi dengan menggunakan fungsi evaluasi.
3.3.4 Fungsi Evaluasi
Fungsi evaluasi ini menggambarkan seberapa besar peluang suatu individu dalam
suatu generasi untuk dapat bertahan pada generasi berikutnya. Permasalahan yang
akan diselesaikan mengenai ketentuan yang dilanggar yaitu :
Tabel 3.6 Fungsi Penalty Constraint
Penalty Constraint Bobot 1. Asisten tidak mengajar lebih dari satu kali dalam sehari 1
2. Jadwal praktikum tidak bentrok dengan jadwal ketersediaan asisten
1
Jika terdapat asisten yang mengajar lebih dari satu kali dalam satu hari, maka
penalty akan dihitung 1.
Berikut adalah fungsi penalty yang direpresentasikan dalam bentuk kromosom
yang telah dibentuk
Tabel 3.7 Fungsi Penalty
Kromosom Penalty 1 Penalty 2
Kromosom 1 2 5
Kromosom 2 1 6
Kromosom 3 1 7
Kromosom 4 3 6
Dari fungsi evaluasi yang telah dilakukan, kromosom 1 melanggar aturan penalty
1 sebanyak 2 kali dan aturan penalty 2 sebanyak 5 kali. Sedangkan kromosom 2
melanggar aturan penalty 1 sebanyak 1 kali dan aturan penalty 2 sebanyak 6 kali.
Begitu juga dengan pelanggaran kromosom 3 dan 4. Selanjutnya menentukan nilai
fitness
24
Perhitungan nilai fitness dari fungsi penalty yang telah diperoleh :
Kromosom 1 : Fitness = = 0,125
Kromosom 2 : Fitness = = 0,125
Kromosom 3 : Fitness =
= 0,111
Kromosom 4 : Fitness = = 0,100
Setelah fungsi evaluasi telah ditetapkan maka proses selanjutnya adalah seleksi.
3.3.5 Seleksi
Proses seleksi yang dilakukan untuk menentukan individu-individu mana saja
yang akan diambil untuk teknik crossover (kawin silang) dan mutasi, teknik
ini dilakukan untuk memperoleh kandidat baru yang baik. Berikut merupakan
tahapan seleksi :
Hitung total fitness dari semua individu
Total fitness = 0,125 + 0,125 + 0,111 + 0,100 = 0,461
Kemudian hitung probabilitas masing-masing individu dengan cara dibagi
dengan nilai total fitness. Berikut merupakan perhitungan probabilitas
individu
P1 = 0,125/ 0,461 = 0,271
P2 = 0,125 / 0,461 = 0,271
P3 = 0,111 / 0,461 = 0,241
P4 = 0,100/ 0,461 = 0,217
Dari probabilitas tersebut, hitung jatah masing-masing individu pada angka 1
sampai 100. Penentuah jatah dilakukan dengan mencari nilai komulatif dari
probabilitas
PK1 = 0 + 0,271 = 0,271
PK2 = 0,271+ 0,271 = 0,542
PK3 = 0,542 + 0,241 = 0,783
PK4 = 0,217 + 0,783= 1
Bangkitkan bilangan random antara 0 sampai 1
25
Tentukan individu mana yang terpilih dalam proses seleksi dari bilangan
random tersebut. Proses seleksi dilakukan secara random, berikut hasil nilai
random seleksi pada Tabel 3.8
Tabel 3.8 Nilai Random Seleksi
Kromosom Bilangan random Bilangan random Kromosom 1 & 2 0,013 0,349 Kromosom 4 & 3 0,992 0,685
Tabel 3.8, kromosom 1 akan dikawin silang dengan kromosom 2, kromosom
4 dikawin silang dengan kromosom 3. Nilai random seleksi tersebut akan
digunakan untuk proses crossover.
3.3.6 Crossover
Proses crossover yang akan melibatkan kombinasi dua induk untuk
menghasilkan kromosom baru. Pindah silang yang diperoleh akan siap untuk
diuji.
Tabel 3.9 Crossover
Kromosom Lama (Parent) Kromosom Baru (Child)
Kromosom 1 – Kromosom 2 Kromosom 1
Kromosom 2
Kromosom 4 – Kromosom 3 Kromosom 3
Kromosom 4
Adapun hasil crossover yang telah dilakukan, dapat dilihat pada Tabel 3.10.
Tabel 3.10 Hasil Crossover
Solusi Senin Selasa Rabu Kamis Jumat
Kromosom 1 L F H O B K M I I C O B A F A
Kromosom 2 E H E A N F M E H J N F L E J
Uniform 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0
Kr 1(Child) E H H O N K M I H J N B L F A
Kr 2 (Child) L F E A B F M E I C O F A E J
26
Solusi Senin Selasa Rabu Kamis Jumat
Kromosom 3 B G O A I G A A I B J L B J H
Kromosom 4 A N D C C H A J J N D F J L L
Uniform 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0
Kr 3 (Child) A G O C C H A J J B J L B L H
Kr 4 (Child) B N D A I G A A I N D F J J L
Pada Tabel 3.10 merupakan proses crossover antara kromosom satu dengan
kromosom yang lainnya menggunakan Uniform Crossover, dimana penukaran
gen-gen dari parent 1 dengan parent 2 berdasarkan probabilitas. Nilai probabilitas
dibangkitkan secara random menggunakan fungsi randbetween dengan nilai 0 dan
1 sebanyak gen didalam individu. Jika nilai probabilitas yang muncul 0, maka gen
parent 1 dengan parent 2 tidak ditukar, dan sebaliknya jika nilai probabilitas yang
muncul 1 maka gen ditukar. Dari proses crossover akan mendapatkan hasil
kromosom yang baru, kemudian hasil kromosom tersebut akan digunakan ketahap
selanjutnya yaitu proses mutasi.
3.3.7 Mutasi
Proses mutasi berperan untuk menggantikan atau menambah gen yang hilang
dari proses sebelumnya. Mutasi tidak selalu dilakukan, karena memiliki
probabilitas yang telah ditentukan pada awal proses. Penentuan proses mutasi
dilakukan secara acak untuk menghasilkan kromosom baru yang lebih baik. Gen
yang dimutasi hanya asisten saja, untuk waktu dan ruangan tetap. Jumlah gen
yang akan diubah tergantung dari probabilitas mutasi.
Terdapat 4 kromosom dengan nilai gen 15 masing-masing kromosom, dengan
misal probabilitas mutasi 5% maka:
Total gen = 4 x 15 (jumlah kromosom x jumlah gen perkromosom)
= 60 gen
Jumlah mutasi = 5% x 60 = 3
Cara melakukan mutasi dengan membangunkan bilangan random yang terdiri dari
bilangan random index ke n untuk dimutasi dan bilangan acak untuk nilai gen
27
pengganti. Membangkitkan bilangan acak untuk index ke n dengan fungsi
randbetween rentang nilai 1 sampai sejumlah gen. Sedangkan membangkitkan
bilangan acak untuk nilai pengganti dengan menggunakan fungsi randbetween
rentang nilai 1 sampai sejumlah asisten praktikum. Bilangan acak nilai gen
pengganti tidak boleh sama dengan nilai gen yang sudah ada dalam satu hari.
Bilangan acak dibangkitkan sebanyak jumlah mutasi yaitu sebanyak tiga kali.
Untuk bilangan acak index ke n dan nilai pengganti dapat dilihat pada Tabel 3.10,
dan hasil mutasi dapat dilihat pada Tabel 3.11.
Tabel 3.11 Bilangan Acak
Kromosom Index ke n
Pengganti Index ke n
Pengganti Index ke n
Pengganti
Kromosom 1
2 G 9 D 5 C
Kromosom 2
11 G 3 O 14 B
Kromosom 3
1 H 4 F 8 D
Kromosom 4
13 A 7 C 6 G
Tabel 3.12 Hasil Mutasi
Solusi Senin Selasa Rabu Kamis Jumat
Kromosom 1 E G H O C K M I D J N B L F A
Kromosom 2 L F E A B F M E I C G F A E J
Kromosom 3 H G O F C H A D J B J L B L H
Kromosom 4 B N D A I G A A I N D F A J L
Pada Tabel 3.12, Gen yang berwarna hijau menyatakan bahwa gen mengalami
mutasi, gen lama digantikan dengan gen baru sesuai dengan nilai acak yang telah
dibangkitkan sebelumnya. Sedangkan gen yang berwarna merah menyatakan
bahwa nilai gen pengganti sudah ada didalam individu dihari yang sama dan nilai
pengganti tidak sesuai dengan ketersediaan asisten. Dari hasil mutasi yang
diperoleh dilakukan iterasi kembali yaitu menghitung nilai fitnessnya dengan cara
menentukan nilai penalti constraint terlebih dahulu. Nilai penalty dari mutasi
dapat dilihat pada Tabel 3.13.
28
Tabel 3.13 Fungsi Penalty
Kromosom Penalty 1 Penalty 2
Kromosom 1 0 0
Kromosom 2 0 7
Kromosom 3 0 6
Kromosom 4 1 6
Menentukan nilai fitness :
Perhitungan nilai fitness dari fungsi penalty yang telah diperoleh :
Kromosom 1 : Fitness = = 1
Kromosom 2 : Fitness = = 0,125
Kromosom 3 : Fitness = = 0,143
Kromosom 4 : Fitness = = 0,125
Jika nilai populasi belum mencapai hasil yang diinginkan maka akan dilakukan
proses iterasi kembali. Sebaliknya, jika nilai sudah mencapai hasil yang
diinginkan yaitu fitnees bernilai tinggi, maka algoritma genetika akan berhenti.
Karena pada tahap ini algoritma genetika telah memberikan solusi dari masalah
yang didefinisikan.
3.3.8 Rancangan Proses Jadwal
Rancangan proses penjadwalan asisten praktikum meliputi input data, proses
algoritma, dan output data. Rancangan proses penjadwalan asisten praktikum
dapat dilihat pada Gambar 3.3.
29
Gambar 3.3 Rancangan Proses Jadwal
Dalam proses rancangan jadwal, terdiri dari 3 tahap yaitu input data, proses
algoritma genetika dan output data. Input data digunakan sebagai awal untuk
menyusun jadwal yang terdiri jadwal ketersediaan asisten, slot waktu, kelas TPB
dan ruangan. Proses algoritma genetika terdiri dari inisialisasi individu, evaluasi,
seleksi, crossover, dan mutasi. Output data terdiri dari kelas TPB, hari, jam,
ruangan dan asisten.
Proses implementasi dalam penggunaan algoritma genetika diimplementasikan
menggunakan bahasa pemrograman php dengan platform website.
3.4 Menghitung Tingkat Hasil Akurasi
Pengujian akurasi didapatkan dengan menghitung persen kesalahan pada poses
yang telah dilakukan. Tingkat hasil akurasi pada suatu individu jika nilai fitness
suatu kromosom sebesar 100% dengan arti nilai fitness yang dihasilkan adalah
sebesar 1, maka tidak ada fungsi penalty constraint yang dilanggar. Sedangkan
nilai fitness yang kurang dari 1 maka masih terdapat penalty constraint yang
dilanggar.
3.5 Rancangan Sistem
Rancangan sistem merupakan gagasan ide untuk memenuhi tujuan pengembangan
sistem informasi, dimana suatu sistem tersebut dapat menyelesaikan suatu
permasalahan yang diangkat. Pada rancangan sistem terdiri dari flowchart,
usecase diagram dan Activity diagram.
3.5.1 Flowchart
Flowchart merupakan alur sistem yang akan dikembangkan yang terdiri dari mulai
dalam sistem, input data, proses dan output, kemudian selesai. Flowchart sistem
dapat dilihat pada Gambar 3.4.
30
Gambar 3.4 Flowchart Sistem
3.5.2 Usecase Diagram
Usecase diagram digunakan untuk mengetahui antar muka sistem yang dihasilkan
sesuai dengan kebutuhan dalam melakukan interaksi dengan sistem yang akan
dibuat. Rancangan Usecase diagram dapat dilihat pada Gambar 3.5.
Gambar 3.5 Usecase Diagram
3.5.3 Activity Diagram
Activity Diagram adalah sebuah rancangan aktivitas yang mengelompokan aliran
tampilan dalam sistem yang akan dijalankan. Adapun beberapa Activity diagram
yang dibuat sebagai berikut :
31
Activity Diagram Login
Activity diagram login dapat dilihat pada Gambar 3.6.
Gambar 3.6 Activity Diagram Login
Activity Diagram Data Asisten
Activity diagram data asisten dapat dilihat pada Gambar 3.7.
Gambar 3.7 Activity Diagram Data Asisten
32
Activity Diagram Data Kelas
Activity diagram data kelas dapat dilihat pada Gambar 3.8.
Gambar 3.8 Activity Diagram Data Kelas
Activity Diagram Data Waktu
Activity diagram data waktu dapat dilihat pada Gambar 3.9.
Gambar 3.9 Activity Diagram Data Waktu
33
Activity Diagram Data Ruang
Activity diagram data ruang dapat dilihat pada Gambar 3.10.
Gambar 3.10 Activity Diagram Data Ruang
34
Activity Diagram Proses Penjadwalan
Activity diagram proses penjadwalan dapat dilihat pada Gambar 3.11.
Proses Penjadwalan
Admin Sistem
Pros
es P
enja
dwal
an
Menampilkan Halaman
Penajdwalan
Membuka Halaman Sistem
Pilih Menu Penjadwalan
Menampilkan Halaman Utama
Masukan Nilai Crossover, Mutasi
dan Generasi
HasilGenerate Jadwal Ya
Tidak
Gambar 3.11 Activity Diagram Proses Jadwal