implementasi algoritma genetika untuk penjadwalan …

74
IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN LATIHAN FITNESS DI GYM CENTER SKRIPSI Muhammad Najib Kusumonegoro 4815040019 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER POLITEKNIK NEGERI JAKARTA 2020

Upload: others

Post on 16-Oct-2021

16 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

IMPLEMENTASI ALGORITMA GENETIKA UNTUK

PENJADWALAN LATIHAN FITNESS DI GYM

CENTER

SKRIPSI

Muhammad Najib Kusumonegoro

4815040019

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER

POLITEKNIK NEGERI JAKARTA

2020

Page 2: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

IMPLEMENTASI ALGORITMA GENETIKA UNTUK

PENJADWALAN LATIHAN FITNESS DI GYM

CENTER

LAPORAN SKRIPSI

Dibuat untuk Melengkapi Syarat-Syarat yang Diperlukan

untuk Memperoleh Gelar Sarjana Terapan

Muhammad Najib Kusumonegoro

4815040019

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER

POLITEKNIK NEGERI JAKARTA

(2020)

Page 3: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

i Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

HALAMAN PERNYATAAN ORISINALITAS

Skripsi ini adalah hasil karya saya sendiri, dan semua sumber baik yang

dikutip maupun dirujuk telah saya nyatakan dengan benar

Nama : Muhammad Najib

Kusumonegoro

NPM : 4815040019

Tanggal : 5 Agustus 2020

Tanda Tangan :

Page 4: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

ii

LEMBAR PENGESAHAN

Skripsi diajukan oleh :

Nama : Muhammad Najib Kusumonegoro

NIM : 4815040019

Program Studi : Teknik Informatika

Judul Skripsi :Implementasi Algoritma Genetika untuk

Penjadwalan Latihan Fitness di GYM Center

Telah diuji oleh tim penguji dalam Sidang Skripsi pada hari Rabu, Tanggal 5,

Bulan Agustus, Tahun 2020 dan dinyatakan LULUS.

Disahkan oleh

Pembimbing I : Rizki Elisa Nalawati, S.T, M.T (………………..)

Penguji I : Euis Oktavianti, S.Si., M.T.I. (………………..)

Penguji II : Iklima Ermis Ismail, S.Kom., M.Kom. (………………..)

Penguji III : Muhammad Bagus Yusuf Rasyiidin,

S.Kom, M.TI.

(………………..)

Page 5: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

iii

KATA PENGANTAR

Alhamdulillahirobbilalamin, segala puji bagi Allah yang maha pengasih lagi maha

penyayang yang telah memberikan kenikmatan yang tiada terkira sehingga saya

dapat menyusun Skripsi yang berjudul “Implementasi Algoritma Genetika untuk

Penjadwalan Latihan Fitness di GYM Center.” dengan tepat waktu dan

semaksimal mungkin.

1. Ayah dan Ibu tercinta. Terimakasih atas segala do’a, kepercayaan, cinta

kasih yang tiada henti diberikan kepada penulis, dan senantiasa

memberikan motivasi yang luar biasa sehingga mampu memberikan

pencerahan dan penguatan yang sangat berarti bagi penulis.

2. Ibu Risna Sari selaku ketua Program Studi Teknik Informatika yang telah

memberikan bimbingan, motivasi serta arahan kepada penulis dalam

penyelesaian penulisan Skripsi.

3. Ibu Rizki Elisa Nalawati selaku dosen pembimbing yang telah

memberikan bimbingan, motivasi serta arahan kepada penulis dalam

penyelesaian penulisan Skripsi.

4. Seluruh dosen Program Studi Teknik Informatika Politeknik Negeri

Jakarta yang telah memberikan ilmu, pengetahuan, pengalaman dan

wawasannya, sebagai pedoman dan bekal bagi penulis.

Penulis sadar bahwa dalam penulisan ini masih jauh dari kata sempurna karena

terbatasnya pengalaman dan pengetahuan penulis. Oleh karena itu penulis siap

menerima kritik dan saran yang membangun sebagai bahan evaluasi.

Akhir kata penulis mengucapkan terima kasih banyak kepada semua pihak yang

telah membantu dan semoga Allah SWT melimpahkan karunianya dalam setiap

amal kebaikan kita, Aamiin.

Jakarta, 26 Maret 2020

Muhammad Najib Kusumonegoro

Page 6: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

iv

SURAT PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI UNTUK

KEPENTINGAN AKADEMIS

Sebagai sivitas akademik Politeknik Negeri Jakarta, saya yang bertanda tangan di

bawah ini:

Nama : Muhammad Najib Kusumonegoro

NIM : 4815040019

Program Studi : Teknik Informatika

Jurusan : Teknik Informatika

Jenis karya : Skripsi/Tesis/Disertasi/ Karya Ilmiah Lainnya*: Skripsi

demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada

Politeknik Negeri Jakarta Hak Bebas Royalti Noneksklusif (Non-exclusive

RoyaltyFree Right) atas karya ilmiah saya yang berjudul :

Implementasi Algoritma Genetika untuk Penjadwalan Latihan Fitness di GYM

Center

beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti

Noneksklusif ini Politeknik Negeri Jakarta berhak menyimpan,

mengalihmedia/format-kan, mengelola dalam bentuk pangkalan data (database),

merawat, dan memublikasikan skripsi saya selama tetap mencantumkan nama

saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di : ……………………. Pada tanggal : …………………….

Yang menyatakan

(Muhammad Najib Kusumonegoro )

*Karya Ilmiah: karya akhir, makalah non seminar, laporan kerja praktek, laporan

magang, karya profesi dan karya spesialis.

Page 7: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

v

ABSTRAK

Tahap perencanaan dan penjadwalan merupakan tahapan yang paling

menentukan keberhasilan suatu kegiatan latihan fitness. Sistem penjadwalan

latihan fitness yang disusun di GYM Center pada saat ini masih belum

terkomputerisasi. Sehingga kurang efektif dilakukan, karena masih terjadi

benturan keadaan input data, seperti benturan ketersediaan waktu, kelas,

ruangan dan jumlah materi pelatihan yang diselenggarakan dengan ketersediaan

trainer pengampu yang ada. Hal ini dikarenakan penjadwalan adalah tahap

ketergantungan antar aktivitas secara keseluruhan yaitu salah satu faktor

keberhasilan dalam pelaksanaan latihan fitness agar selesai tepat pada waktunya.

Skripsi ini menerapkan algoritma genetika untuk memecahkan masalah optimasi

dalam penjadwalan latihan fitness. Algoritma genetika merepresentasikan

kandidat solusi penjadwalan kedalam kromosom-kromosom secara acak,

kemudian dievaluasi menggunakan fungsi fitness dan seterusnya dilakukan

seleksi. Metode seleksi yang digunakan dalam penelitian ini adalah metode

roulette wheel selection, kemudian dilakukan pindah silang dan mutasi. Pada

setiap generasi, kromosom dievaluasi berdasarkan nilai fitness. Setelah beberapa

generasi maka algoritma genetika akan menghasilkan kromosom terbaik, yang

merupakan solusi optimal. Kelebihan Algoritma Genetika dibandingkan dengan

metaheuristic search optimization lainnya adalah waktu eksekusi yang relative

lebih cepat dan sedikitnya penggunaan memori untuk mencapai kandidat solusi

dengan nilai fitness terbaik. Implementasi aplikasi penjadwalan dengan algoritma

genetika dalam penelitian ini menggunakan Framework Codeigniter dan MySql.

Pengujian yang dilakukan menggunakan pengujian performansi dan blackbox.

Hasil dari pengimplementasian Algoritma Genetika sebagai pendekatan dalam

optimasi penjadwalan latihan fitness menghasilkan pencapaian nilai fitness yang

optimal dan mampu menghasilkan rekomendasi jadwal kegiatan-kegiatan dalam

latihan fitness yang dapat menjadi alternatif keputusan penjadwalan bagi para

latihan fitness.

Kata kunci: Codeigniter, Algoritma Genetika, Fungsi Fitness, Penjadwalan

Latihan Fitness, Pindah Silang, Mutasi.

Page 8: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

vi

DAFTAR ISI

HALAMAN PERNYATAAN ORISINALITAS ..................................................................... i

LEMBAR PENGESAHAN .................................................................................................... ii

KATA PENGANTAR ........................................................................................................... iii

SURAT PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI UNTUK

KEPENTINGAN AKADEMIS ..............................................................................................iv

ABSTRAK ............................................................................................................................... v

DAFTAR ISI ..........................................................................................................................vi

DAFTAR GAMBAR ........................................................................................................... viii

DAFTAR TABLE ..................................................................................................................ix

BAB I ....................................................................................................................................... 1

PENDAHULUAN.................................................................................................................... 1

1.1 Latar Belakang Kegiatan............................................................................................ 1

1.2 Perumusan Masalah ................................................................................................... 2

1.3 Batasan Masalah ......................................................................................................... 2

1.4 Tujuan dan Manfaat ................................................................................................... 2

1.5 Metode pengembangan sistem .................................................................................... 3

BAB II ..................................................................................................................................... 4

TINJAUAN PUSTAKA .......................................................................................................... 4

2.1 Penjadwalan ................................................................................................................ 4

2.2 Latihan Fitness............................................................................................................ 4

2.3 GYM Center ................................................................................................................ 4

2.4 Istilah dalam Algoritma Genetika .............................................................................. 5

2.5 Algoritma Genetika .................................................................................................... 5

2.6 Metode Pengembangan Sistem ................................................................................... 8

2.5.1 Waterfall ...................................................................................................................... 8

A. Analisis Sistem ............................................................................................................ 8

B. Perancangan Sistem Use Case Diagram ..................................................................... 8

C. Implementasi ............................................................................................................... 9

D. Uji Coba Sistem ........................................................................................................ 10

2.7 Penelitian Terdahulu ................................................................................................ 11

BAB III .................................................................................................................................. 22

Page 9: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

vii Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

PERANCANGAN DAN REALISASI................................................................................... 22

3.1 Perancangan Sistem .................................................................................................. 22

3.1.1 Deskripsi sistem ........................................................................................................ 22

3.1.2 Analisis kebutuhan ................................................................................................... 22

3.1.3 Alur kerja sistem ...................................................................................................... 24

3.1.4 Rancangan sistem ..................................................................................................... 25

3.2 Realisasi Sistem ......................................................................................................... 25

3.2.1 Implementasi tampilan sistem .................................................................................. 26

3.2.2 Implementasi Algoritma Genetika ........................................................................... 31

BAB IV .................................................................................................................................. 43

PEMBAHASAN .................................................................................................................... 43

4.1 Pengujian .................................................................................................................. 43

4.1.1 Deskripsi Pengujian .................................................................................................. 43

4.1.2 Prosedur Pengujian .................................................................................................. 43

4.1.3 Data Hasil Pengujian Algoritma Genetika............................................................... 47

4.2 Analisis Data ............................................................................................................. 48

BAB V .................................................................................................................................... 56

PENUTUP ............................................................................................................................. 56

5.1 Kesimpulan. .............................................................................................................. 56

5.2 Saran ......................................................................................................................... 56

DAFTAR PUSTAKA ............................................................................................................ 57

LAMPIRAN .......................................................................................................................... 59

Page 10: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

viii

DAFTAR GAMBAR

Gambar 2.1 Contoh Use Case Poliklinik Gigi ............................................................... 9

Gambar 2.2 Contoh User Acceptance Test Performa Aplikasi KMS ............................ 13

Gambar 3.1 Alur Kerja Sistem Penjadwalan Latihan Fitness ....................................... 24

Gambar 3.2 Use Case Diagram ................................................................................... 25

Gambar 3.3 Halaman Jam ........................................................................................... 26

Gambar 3.4 Halaman Hari .......................................................................................... 26

Gambar 3.5 Halaman Waktu ....................................................................................... 27

Gambar 3.6 Halaman Kelas......................................................................................... 27

Gambar 3.7 Halaman Trainer ...................................................................................... 28

Gambar 3.8 Halaman Data Materi ............................................................................... 28

Gambar 3.9 Halaman Materi ....................................................................................... 29

Gambar 3.10 Halaman Ruang ..................................................................................... 29

Gambar 3.11 Halaman Perhitungan Genetika .............................................................. 30

Gambar 3.12 Halaman Hasil Jadwal ............................................................................ 30

Gambar 3.13 Jadwal yang dihasilkan Algoritma Genetika 1 ........................................ 49

Gambar 3.14 Jadwal yang dihasilkan Algoritma Genetika 2 ........................................ 50

Gambar 3.15 Jadwal yang dihasilkan Algoritma Genetika 3 ........................................ 32

Page 11: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

ix Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

DAFTAR TABLE

Tabel 1 Rangkuman Penelitian Terdahulu ....................................................... 12

Tabel 2 Data Trainer ....................................................................................... 32

Tabel 3 Data Member atau Kelas .................................................................... 32

Tabel 4 Data Materi Latihan ........................................................................... 32

Tabel 5 Data Ruangan ..................................................................................... 33

Tabel 6 Data Hari ............................................................................................ 33

Tabel 7 Data Jam ............................................................................................ 34

Tabel 8 Contoh Representasi Kromosom Bilangan Bulat (Integer) .................. 34

Tabel 9 Pengujian Blackbox............................................................................ 44

Tabel 10 Bobot Penilaian User Acceptance Test.............................................. 44

Tabel 11User Acceptance Test ........................................................................ 45

Tabel 12 Hasil Pengujian User Acceptance Test .............................................. 46

Tabel 13 Hasil Presentase User Acceptance Test ............................................ 47

Tabel 14 Parameter Algoritma Genetika.......................................................... 49

Tabel 15 Jadwal yang dihasilkan Algoritma Genetika 1 .................................. 49

Tabel 16 Jadwal yang dihasilkan Algoritma Genetika 2 .................................. 50

Tabel 17 Jadwal yang dihasilkan Algoritma Genetika 3 .................................. 52

Page 12: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

1

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

BAB I

PENDAHULUAN

1.1 Latar Belakang Kegiatan

Penjadwalan dalam dunia pelatihan merupakan hal yang sangat penting untuk

diperhatikan. Pada dasarnya kegiatan belajar mengajar akan berjalan dengan

lancar jika penyusunan jadwal sesuai dengan kebutuhan, serta kondisi di suatu

lembaga pelatihan tersebut.

Proses penjadwalan di GYM Center khususnya mengenai pengelolaan

penjadwalan latihan fitness tidak terkomputerisasi. Selain itu penjadwalan yang

ada saat ini masih memakan waktu yang lama dan benturan input data karena

banyaknya faktor yang harus dipertimbangkan. Seperti jumlah materi pelatihan

yang diselenggarakan, jumlah ruangan yang tersedia, jumlah trainer pembimbing,

serta kebutuhan member dan trainer pengampu materi pelatihan yang juga

menjadi pertimbangan dalam suatu penjadwalan. Maka dari itu dibutuhkan sistem

untuk mengatur penjadwalan latihan fitness agar tidak bentrok pada ruangan,

trainer, waktu.

Salah satu kelemahan dalam latihan fitness adalah mengatur waktu penjadwalan,

baik dalam stretching, latihan beban, pendinginan dan waktu menambah latihan.

Sehingga para member tidak memiliki alat ukur yang pasti untuk menyelesaikan

target diwaktu yang tepat. Untuk mengatasi masalah tersebut maka diperlukan

sebuah solusi dengan mengembangkan aplikasi penjadwalan sebagai solusi dari

masalah-masalah tersebut.

Adapun beberapa metode yang dapat digunakan dalam menyelesaikan

permasalahan penjadwalan antara lain seperti Tabu Search (Silaban, Puryani &

Nursubiyantoro, 2014), metode Particle Swarm Optimization (Wati & Rochman,

2013), metode Algoritma Genetika (Setyaningsih, 2014), dan metode Ant Colony

Optimization (Ashari, Muslim & Alamsyah, 2016). Penelitian terbaru menyatakan

bahwa algoritma genetika merupakan metode yang baik dan efektif dalam

menyelesaikan masalah penjadwalan (Hari, Putra & Hamdlani, 2018). Algoritma

genetika merupakan salah satu metode optimasi yang mudah diimplementasikan

Page 13: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

2

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

di berbagai macam studi kasus, baik kasus yang sederhana hingga kasus yang

kompleks karena menggunakan teori evolusi (Priambodo, 2015). Penggunaan

metode algoritma genetika pada penelitian ini diharapkan dapat membantu

mengoptimalkan dan menyelesaikan segala permasalahan dalam proses

penjadwalan latihan fitness.

Berdasarkan latar belakang diatas, perlu dibuat aplikasi penjadwalan latihan

fitness menggunakan algoritma genetika sebagai solusi dari permasalahan, maka

dibuatlah skripsi dengan judul “Implementasi Algoritma Genetika untuk

Penjadwalan Latihan fitness di Gym Center” diharapkan dengan adanya aplikasi

penjadwalan latihan fitness ini, latihan fitness menjadi lebih terikat, teratur dan

terarah.

1.2 Perumusan Masalah

Berdasarkan latar belakang yang telah disebutkan diatas, maka rumusan masalah

dalam penelitian ini adalah bagaimana menyelesaikan masalah penjadwalan

latihan fitness menggunakan algoritma genetika.

1.3 Batasan Masalah

Adapun batasan masalah dalam penelitian dan penyusunan skripsi ini adalah

Implementasi algoritma genetika hanya menampilkan hasil populasi awal,

evaluasi fungsi fitness, seleksi, crossover dan mutasi. Constraint terdiri dari data

waktu, data trainer pengajar pelatihan, data ruangan yang dipakai, data member

dan materi latihan fitness.

1.4 Tujuan dan Manfaat

1.4.1 Tujuan

Penelitian ini bertujuan untuk implementasi algoritma genetika untuk penjadwalan

latihan fitness di GYM Center.

1.4.2 Manfaat

Page 14: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

3

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

1. Meningkatkan keefektifan waktu bagi para member dalam latihan fitness dan para

trainer pengampu dalam mengontrol member di Gym Center melalui pengelolaan

penjadwalan yang akurat.

2 Memberikan kemudahan pengelolaan penjadwalan latihan fitness agar

proses penjadwalan yang dihasilkan tidak terjadi benturan terkait

ketersediaan waktu, trainer, ruangan, kelas dan member yang disusun di

Gym Center.

1.5 Metode pengembangan sistem

Metode pengembangan sistem yang diterapkan adalah metode Waterfall. Adapun

tahapan-tahapan berdasarkan metode waterfall adalah sebagai berikut:

1. Kebutuhan Analisis

Tahap ini diperlukan analisis tentang keperluan yang dibutuhkan dalam proses

yang akan diterapkan dalam implementasi algoritma genetika dalam penjadwalan

latihan fitness.

2. Sistem Desain

Spesifikasi kebutuhan dari tahap sebelumnya akan dipelajari dalam fase ini dan

desain sistem disiapkan. Desain Sistem membantu dalam menentukan perangkat

keras (hardware) dan sistem persyaratan dan juga membantu dalam

mendefinisikan arsitektur sistem secara keseluruhan.

3. Implementasi

Pada tahap ini, sistem pertama kali dikembangkan di program kecil yang disebut

unit, yang terintegrasi dalam tahap selanjutnya. Setiap unit dikembangkan dan

diuji untuk fungsionalitas yang disebut sebagai unit testing.

4. Pengujian

Pengujian yang digunakan dalam sistem informasi surat digital berupa black box

testing untuk mengetahui error fitur-fitur yang telah dibuat dalam implementasi

algoritma genetika dalam penjadwalan latihan fitness.

Page 15: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

4

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

BAB II

TINJAUAN PUSTAKA

2.1 Penjadwalan

Penjadwalan merupakan sebuah proses pengambilan keputusan yang sering

dilakukan di industri manufaktur maupun di industri yang bergerak di bidang

pelayanan atau jasa dan berkaitan dengan pengalokasian sumber daya ke dalam

tugas-tugas atau fungsi-fungsi tertentu serta tujuan penjadwalan adalah untuk

mengoptimalkan satu atau beberapa tujuan (Wati, et.al, 2013).

2.2 Latihan Fitness

Manusia mempunyai banyak kebutuhan, baik kebutuhan yang bersifat primer,

sekunder, maupun tersier. Kebutuhan primer adalah kebutuhan yang mutlak

diperlukan oleh manusia. Pemenuhan kebutuhan ini bersifat pokok, karena jika

tidak dipenuhi akan mengakibatkan terganggunya kehidupan manusia secara

signifikan. Salah satu contoh dari kebutuhan primer adalah kebutuhan manusia

akan kesehatan. Orang sehat jauh lebih baik dalam melakukan aktivitas sehari-hari

dari pada orang sakit. Orang sakit akan mengalami penurunan fungsi organ tubuh,

sehingga aktivitas yang berhubungan dengan fungsifungsi tubuh mengalami

penurunan. Jadi, orang sakit akan mengalami penurunan produktivitas kerjanya

(Widiyatno, Ari, 2015)

2.3 GYM Center

Dalam melakukan latihan kebugaran jasmani bahwa member fitness memiliki

motivasi tinggi dalam melakukan latihan fitness. Berdasarkan hasil penelitian

yang di temukan bahwa member fitness center melakukan latihan kebugaran

berdasarkan motivasi dari dalam dan dari luar terdapat pada kesenangan dan

kebugaran mencapai 100% dikatakan seluruhnnya. (Andi, et.al. 2015)

Page 16: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

2.4 Istilah dalam Algoritma Genetika

Terdapat beberapa definisi penting dalam algoritma genetika yang perlu

diperhatikan (Maharani, 2013).yaitu:

a. Genotype (gen), merupakan sebuah nilai yang menyatakan satuan dasar

yang membentuk suatu arti tertentu dalam satu keasatuan gen yang

dinamakan kromosom. Gen mengkodekan informasi yang disimpan di

dalam kromosom.

b. Individu atau kromosom, gabungan gen-gen yang membentuk nilai

tertentu dan merupakan suatu alternatif solusi terhadap permasalahan yang

akan diselesaikan.

c. Populasi, merupakan sekumpulan individu yang akan diproses bersama

dalam satu siklus proses evaluasi.

d. Generasi, merupakan satu siklus proses evolusi atau satu iterasi di dalam

algoritma genetika.

2.5 Algoritma Genetika

Algoritma Genetika adalah program komputer yang mensimulasikan proses

evolusi, dengan menghasilkan kromosom-kromosom dari tiap populasi secara

acak dan memungkinkan kromosom tersebut berkembang biak sesuai dengan

hukum-hukum evolusi (Qoiriah, 2014). Langkah – langkah algoritma genetika

adalah sebagai berikut :

1. Penentuan Batasan

Penentuan batasan diperlukan dalam algoritma genetika untuk mengetahuin

batasan-batasan dari penggunaan algoritma genetika.

2. Penentuan data

Penentuan data harus dilakukan setelah mengetahui batasan-batasan dalam

algoritma genetika, sehingga data dapat digunakan dalam algoritma genetika.

3. Proses inisiasi populasi awal

Inisialisasi populasi awal merupakan suatu metode untuk menghasilkan

kromosom-kromosom awal. Data kromosom akan memberikan solusi pada

Page 17: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

setiap percobaan. Jumlah gen yang akan dibangkitkan sesuai dengan jumlah data

yang akan digunakan.

4. Proses evaluasi

Mekanisme penghitungan nilai fitness untuk setiap kromosom dalam

penjadwalan latihan fitness adalah sebagai berikut: Pertama, menghitung nilai

fitness setiap gen dalam kromosom (fg) menggunakan rumus:

fg= 1/1+P1+ P2+ P3 (Pers. 3 1)

dengan,

g : Gen ke-g dengan g = 1, 2, 3, ..., n

P1 : Penalti untuk trainer sama waktu sama

P2 : Penalti untuk ruang sama waktu sama

P3 : Penalti untuk kelas sama waktu sama

Kemudian menghitung nilai fitness masing-masing kromosom(fk) menggunakan

rumus:

fk = ∑ fg (Pers. 3 2)

dengan k adalah kromosom ke-k untuk k = 1, 2, 3, ..., 100.

5. Proses seleksi

Proses seleksi dengan memilih satu individu dengan kemungkinan proporsi

secara langsung untuk nilai fitness-nya, yaitu memilih kromosom terbaik dengan

cara menghitung setiap nilai kromosom dan membandingkannya dengan nilai

kromosom lainnya. Cara menghitung Nilai masing-masing kromosom dilakukan

menggunakan pers 3.2. dan menghitung total nilai seluruh kromosom (yaitu ft)

menggunakan pers 3.3:

ft = f1 + f2 + f3 + ... + fn (Pers. 3 3)

Selanjutanya menghitung nilai probabilitas terpilihnya masing-masing

kromosom (yaitu Pi) menggunakan pers 3.4:

Pi = fk / ft (Pers. 3 4)

Kemudian, menghitung nilai probabilitas kumulatif masing-masing kromosom

(yaitu Ci) dengan cara sebagai berikut,

Untuk i = 1, probabilitas kumulatif kromosom adalah

Ci = Pi (Pers. 3 5)

Page 18: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Untuk i = 2, 3, ..., n, probabilitas kumulatif kromosom adalah

Ci = Pi + C(i - 1) (Pers. 3 6)

Selajutnya membangkitkan bilangan acak [0-1] untuk masing-masing

kromosom, yaitu Rj, dengan j = 1, 2, ..., n, dimana nantinya sebuah kromosom

akan terpilih jika bilangan acak yang dibangkitkan berada dalam interval nilai

probabilitas seleksi antar kromosom.

6. Proses crossover

Metode crossover yaitu penyilangan satu titik (one-point crossover) dengan

memisahkan string kromosom menjadi dua bagian, selanjutnya salah satu bagian

dipertukarkan dengan salah satu bagian dari string yang lain yang telah

dipisahkan dengan cara yang sama.

7. Proses mutasi

Sebelum proses mutasi dapat dilakukan, terlebih dahulu menghitung Total Gen

yang ada pada kromosom menggunakan rumus:

∑g = ∑g(k) x ∑k (Pers. 3 7)

dengan,

∑g = Total Gen

∑g(k) = Total gen didalam kromosom

∑k = Jumlah Populasi

Kemudian menentukan total mutasi, persamaan yang digunakan untuk

menghitung total mutasi yang akan dilakukan adalah:

∑Mutasi = Pm * ∑g (Pers. 3 8)

dengan,

∑Mutasi = Total Mutasi

Pm = Probabilitas Mutasi

∑g = Total Gen

Jenis mutasi yang digunakan dalam penelitian ini adalah mutasi random (random

mutation). Metode ini dilakukan dengan mengambil substring secara acak yang

akan menggantikan isi gen yang terpilih untuk dimutasi.

Page 19: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

2.6 Metode Pengembangan Sistem

Metode pengembangan sistem berarti suatu metode yang digunakan untuk

melakukan pengembangan sistem berbasis komputer. Pengembangan sistem yang

berbasis komputer dapat merupakan tugas kompleks yang membutuhkan banyak

sumber daya dan memakan waktu untuk menyelesaikannya. Proses

pengembangan sistem melewati beberapa tahapan dari mulai sistem itu

direncanakan sampai dengan sistem tersebut diterapkan, dioprasikan, dan,

dipelihara (Hermawan, et al., 2015).

2.5.1 Waterfall

Metode air terjun atau yang sering disebut metode waterfall sering dinamakan

siklus hidup klasik (classic life cycle), dimana hal ini menggambarkan pendekatan

yang sistematis dan juga berurutan pada pengembangan perangkat lunak, dimulai

dengan spesifikasi kebutuhan pengguna sampai penyerahan sistem ke para

pelanggan/pengguna (Setiawan, 2015).

A. Analisis Sistem

Analisis sistem membutuhkan komunikasi terhadap kebutuhan yang diperlukan,

bertujuan untuk memahami perangkat lunak yang diinginkan oleh pengguna serta

batasan dari perangkat lunak tersebut. Informasi ini biasanya dapat diperoleh

melalui wawancara, diskusi atau survei langsung. Informasi dianalisis untuk

mendapatkan data yang dibutuhkan oleh pengguna (Setiawan, 2015).

B. Perancangan Sistem Use Case Diagram

Perancangan Sistem membantu dalam menentukan perangkat keras (hardware)

dan sistem persyaratan dan juga membantu dalam mendefinisikan arsitektur

sistem secara keseluruhan (Setiawan, 2015).

Use case diagram terdiri dari actor, use case dan serta hubungannya. Use case

diagram adalah sesuatu yang penting untuk memvisualisasikan, menspesifikasikan

dan mendokumentasikan kebutuhan perilaku sistem (Novita & Sari, 2015).

Page 20: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 2.1 Contoh Use Case Poliklinik Gigi

Sumber : (Zulfiandri, et al., 2014)

C. Implementasi

Pada tahap ini, sistem pertama kali dikembangkan di program kecil yang disebut

unit, yang terintegrasi dalam tahap selanjutnya. Setiap unit dikembangkan dan

diuji untuk fungsionalitas yang disebut sebagai unit testing.

a. Bahasa pemograman

Bahasa pemrograman merupakan sytnax instruksi terdiri dari banyak baris yang

berhubungan dengan logika benar tidaknya urutan statement yang dimengerti oleh

computer (Fridayanthie & Charter, 2016)

b. PHP

PHP merupakan bahasa pemrograman yang digunakan untuk membuat program

website dimana kode program yang telah dibuat dikompilasi dan dijalankan pada

sisi server untuk menghasilkan halaman website yang dinamis (Wirawan, et al.,

2016).

c. Codeigniter

Bahasa pemrograman merupakan sytnax instruksi terdiri dari banyak baris yang

berhubungan dengan logika benar tidaknya urutan statement yang dimengerti oleh

computer (Fridayanthie & Charter, 2016)

Page 21: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

d. Website

Website merupakan kumpulan dari halaman-halaman web yang berhubungan

dengan file lainnya yang terkait. Dalam sebuah website terdapat suatu halaman

yang dikenal dengan sebutan home page. Home page adalah sebuah halaman yang

pertama kali dilihat ketika seseorang mengunjungi website. Dari home page,

pengujung dapat mengklik hyperlink untuk pindah kehalaman lain yang terdapat

dalam website tersebut (Hendrianto, 2014).

D. Uji Coba Sistem

Pengujian software harus diujicobakan, agar software bebas dari error, dan

hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan

sebelumnya.

a. Black box testing

Black box testing berfokus pada spesifikasi fungsional dari perangkat lunak.

Tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan

pada spesifikasi fungsional program (Mustaqbal, et al., 2015). Black box testing

cenderung untuk menemukan hal-hal berikut :

1. Fungsi yang tidak benar atau tidak ada,

2. Kesalahan antarmuka (interface errors),

3. Kesalahan pada struktur data dan akses basis data,

4. Kesalahan performansi (performance errors),

5. Kesalahan inisialisasi serta terminasi.

b. User Acceptance Test

User Acceptance Test merupakan proses pengujian yang dilakukan oleh pengguna

dengan tujuan mengetahui bahwa software yang telah dikembangkan dapat

diterima oleh pengguna apabila hasil pengujian (testing) sudah bisa dianggap

memenuhi kebutuhan dari pengguna (Wahyuningsih & Wibawa, 2017).

Page 22: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 2.2 Contoh User Acceptance Test Peforma Aplikasi KMS

Sumber : (Pasaribu & Solichin, 2017)

2.7 Penelitian Terdahulu

Table 1 merupakan penelitian dengan 13 (tiga belas) jurnal yang memiliki

kesamaan dalam pengimplementasian teknologi, yakni sistem rekomendasi.

Page 23: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

12

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Tabel 1 Rangkuman Penelitian Terdahulu

No Judul Peneliti dan Tahun

Penelitian Isi Penelitian Perbedaan yang Terkait

1 Penjadwalan Mata Kuliah

Menggunakan Algoritma

Genetika di Jurusan Sistem

Informasi ITS

Wiga Ayu Puspaningrum,

Arif Djunaidy, dan Retno

Aulia Vinarti (2013)

Penerapan Algoritma Genetika pada

Sistem Penjadwalan Perkuliahan di

Jurusan Sitem Informasi ITS. Hasil dari

penelitian ini menyatakan bahwa

penjadwalan yang dibuat dapat

memenuhi constraint (tidak terjadi

benturan parameter penjadwalan) yang

dibuat seperti ketersediaan dosen,

mahasiswa yang mengambil mata

kuliah, serta ketersediaan waktu dan

ruang kelas.

Penerapan Algoritma

Genetika pada Sistem

Penjadwalan Latihan fitness

di GYM Center

menggunakan Roullete

Wheel Selection, One point

Crossover dan Random

Mutation.

2 Performance Comparison

of Genetic Algorithm,

Differential Evolution and

Particle Swarm

Lim, Seng Poh & Haron,

Habibollah (2013)

Membandingkan performansi antara

Algoritma Genetika, Algoritma

Differential Evlolution dan Particle

Swarm Optimization berdasarkan

Penerapan Algoritma

Genetika pada Sistem

Penjadwalan Latihan fitness

di GYM Center

Page 24: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

No Judul Peneliti dan Tahun

Penelitian Isi Penelitian Perbedaan yang Terkait

Optimization Towards

Benchmark Functions

pengukuran fungsi masing-masing

dengan ukuran parameter yang telah

ditentukan menyatakan bahwa GA

terbukti berkinerja lebih baik

dibandingkan dengan DE dan PSO.

Karena GA dapat memperoleh jumlah

tertinggi fitness minimum terbaik dan

lebih cepat dari kedua metode lainnya.

Kemudian performansi DE lebih cepat

dari PSO, namun berdasarkan nilai

fitness minimum dan rata-rata, PSO

lebih baik daripada DE.

menggunakan Roullete

Wheel Selection, One point

Crossover dan Random

Mutation.

3 A Comparative Study of

Crossover Operators for

Genetic Algorithms to

Jorge Mendes (2013) Membandingkan performansi operator

crossover (one point-crossover,

twopoint crossover, uniform crossover

Penerapan Algoritma

Genetika pada Sistem

Penjadwalan Latihan fitness

Page 25: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

No Judul Peneliti dan Tahun

Penelitian Isi Penelitian Perbedaan yang Terkait

Solve the Job Shop

Scheduling Problem

dan flat crossover) dalam algoritma

genetika untuk mengatasi masalah

penjadwalan. Hasil dari penelitian ini

menyatakan bahwa operator one point-

crossover memiliki hasil performansi

terbaik operator crossover lainnya,

diikuti oleh operator uniform crossover.

di GYM Center

menggunakan Roullete

Wheel Selection, One point

Crossover dan Random

Mutation.

4 Sistem Penjadwalan

Proyek Menggunakan

Algoritma Genetika

Febria Maharani (2013). Penerapan Algoritma Genetika dalam

mengoptimasi penjadwalan proyek

telah berhasil dibangun dan

diimplementasikan untuk mencari

solusi jadwal yang optimal yaitu

memenuhi persyaratan (constraints)

dalam penjadwalan proyek. Sistem

penjadwalan proyek ini mampu

menangani operasi input data,

Penerapan Algoritma

Genetika pada Sistem

Penjadwalan Latihan fitness

di GYM Center

menggunakan Roullete

Wheel Selection, One point

Crossover dan Random

Mutation.

Page 26: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

No Judul Peneliti dan Tahun

Penelitian Isi Penelitian Perbedaan yang Terkait

melakukan proses penjadwalan proyek

secara otomatis dan menghasilkan

jadwal yang optimal dengam

menggunakan Roullete Wheel

Selection, One point Crossover dan

Random Mutation.

5 Penjadwalan Ujian Akhir

Semester dengan

Algoritma Genetika

(Studi Kasus Jurusan

Teknik Informatika

Unesa)

Anita Qoiriah (2014). Penerapan Algoritma Genetika dalam

mengoptimasi penyusunan

penjadwalan ujian akhir semester dapat

terpenuhi dengan baik dengan

memenuhi constraint (tidak terjadi

benturan penjadwalan) antara lain data

matakuliah, peserta matakuliah, ruang

serta waktu ujian. Dengam

menggunakan Roullete Wheel

Selection, Singlepoint Crossover dan

Penerapan Algoritma

Genetika pada Sistem

Penjadwalan Latihan fitness

di GYM Center

menggunakan Roullete

Wheel Selection, One point

Crossover dan Random

Mutation.

Page 27: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

No Judul Peneliti dan Tahun

Penelitian Isi Penelitian Perbedaan yang Terkait

Random Mutation.

6 Resource Allocation

Using Metaheuristic

Search

Dr Andy M. Connor &

Amit Shah (2014)

Membandingkan antara beberapa

metode Metaheuristic Search

Algorithm antara lain Algoritma

Genetika, Simulated Annealing dan

Tabu Search untuk menyelesaikan

masalah Resourcing dan Scheduling.

Hasil penelitian tersebut menyimpulkan

bahwa Algoritma Genetika memiliki

tingkat performansi yang lebih baik dan

dapat menemukan opsi terbaik lebih

cepat untuk meyelesaikan Project

Management terkait Resourcing dan

Scheduling Problem dengan metode

lainnya.

Penerapan Algoritma

Genetika pada Sistem

Penjadwalan Latihan fitness

di GYM Center

menggunakan Roullete

Wheel Selection, One point

Crossover dan Random

Mutation.

Page 28: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

No Judul Peneliti dan Tahun

Penelitian Isi Penelitian Perbedaan yang Terkait

7 Sistem Penjadwalan

Otomatis Menggunakan

Algoritma Genetika di

Fakultas Sains dan

Teknologi.

Fitrian Larantika (2015) Penerapan Algoritma Genetika dalam

mengoptimasi penyusunan

penjadwalan mata kuliah mendapatkan

fitness rata-rata 0.93, serta hasil

fungsionalitas sebesar 99.26%.

Menghasilkan penjadwalan perkulihan

yang memenuhi constraint yang ada

pada Fakultas Sains dan Teknologi

UIN Sunan Kalijaga.

Penerapan Algoritma

Genetika pada Sistem

Penjadwalan Latihan fitness

di GYM Center

menggunakan Roullete

Wheel Selection, One point

Crossover dan Random

Mutation.

8 Comparison Performance

of Genetic Algorithm and

Ant Colony Optimization

in Course Scheduling

Optimizing

Imam Ahmad Ashari &

Much Muslim &

Alamsyah. (2016).

Membandingkan hasil performansi

yang lebih baik antara Algoritma

Genetika dan Algoritma Ant Colony

Optimization dalam menyelesaikan

permasalahan pengelolaan penjadwalan

mata kuliah pada solusi terbaik saat

komputasi dilakukan. Algoritma

genetika mendapatkan solusi terbaik

Penerapan Algoritma

Genetika pada Sistem

Penjadwalan Latihan fitness

di GYM Center

menggunakan Roullete

Wheel Selection, One point

Crossover dan Random

Mutation.

Page 29: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

No Judul Peneliti dan Tahun

Penelitian Isi Penelitian Perbedaan yang Terkait

lebih cepat dan lebih sedikit

menggunakan memori dibandingkan

dengan algoritma ant colony

optimization saat melakukan proses

komputasi. Dimana operator Genetika

yang digunakan antara lain Roullete

Wheel Selection, Singlepoint Crossover

dan Random Mutation.

9 On The Performance Of

Different Mutation

Operators Of A

Subpopulation-Based

Genetic Algorithm For

Multi-Robot Task

Allocation Problems.

Chun Liu & Andreas

Kroll (2016)

Membandingkan performansi operator

mutasi (Random, Swap, Insertion,

Inversion dan Displacement) pada

Algoritma Genetika dalam

menyelesaikan Multi-Robot Task

Allocation. Hasil dari penelitian ini

menyatakan bahwa operator Random

Mutation memiliki waktu eksekusi

lebih cepat untuk mendapatkan hasil

Penerapan Algoritma

Genetika pada Sistem

Penjadwalan Latihan fitness

di GYM Center

menggunakan Roullete

Wheel Selection, One-point

Crossover dan Random

Mutation.

Page 30: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

No Judul Peneliti dan Tahun

Penelitian Isi Penelitian Perbedaan yang Terkait

kinerja terbaik dibandingkan dengan

operator lainnya.

10 Evaluasi Kinerja Genetic

Algortihm (GA) dengan

Strategi Perbaikan

Kromosom Studi Kasus

Multi-Choice Multi-

Dimensional Knapsack

Problem

Rani Cahyani (2016). Penerapan Algoritma Genetika dengan

strategi perbaikan kromosom pada

studi kasus Multi-Choice Multi-

Dimensional Knapscak Problem

menggunakan Random Selection,

Twopoint Crossover dan Swap

Mutation. Hasil penelitian ini

menyatakan bahwa Metode GA dengan

strategi perbaikan kromosom mampu

menyelesaikan Multi-Choice Multi-

Dimensional Knapsack Problem

dengan optimal

Penerapan Algoritma

Genetika pada Sistem

Penjadwalan Latihan fitness

di GYM Center

menggunakan Roullete

Wheel Selection, One point

Crossover dan Random

Mutation.

11 Implementasi Algoritma

Genetika untuk

Penjadwalan Instruktur

Niki Min Hidayati Robbi,

Nurochman (2017).

Implementasi Algoritma Genetika

untuk penjadwalan instruktur training

ICT dengan nilai fitness terbaik yang

Penerapan Algoritma

Genetika pada Sistem

Penjadwalan Latihan fitness

Page 31: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

No Judul Peneliti dan Tahun

Penelitian Isi Penelitian Perbedaan yang Terkait

Training ICT UIN Sunan

Kalijaga.

dihasilkan adalah 0.9523 dengan 1 nilai

eror pada constraint pembagian ruang

kelas yang memiliki bobot 0.05.

menggunakan Roullete Wheel

Selection, Uniform Crossover dan

Random Mutation

di GYM Center

menggunakan Roullete

Wheel Selection, One point

Crossover dan Random

Mutation.

12 Algoritma Genetika untuk

Optimalisasi Klasifikasi

Kepuasan Pelayanan e-

KTP.

Castaka Agus Sugianto,

Tri Herdiawan Apandi

(2018).

Optimalisasi Klasifikasi Kepuasan

Pelayanan e-KTP dengan cara

menggabungkan metode Naïve Bayes

dan Algoritma Genetika dengan

pemilihan Roulette Wheel Selection.

Penerapan Algoritma

Genetika pada Sistem

Penjadwalan Latihan fitness

di GYM Center

menggunakan Roullete

Wheel Selection, One point

Crossover dan Random

Mutation.

Berdasarkan beberapa hasil penelitian sebelumnya, terdapat beberapa bagian yang menjadi bahan dan referensi dari penelitian ini yaitu

Algoritma Genetika. Adapun penelitian ini akan menggunakan metode Algoritma Genetika dengan mengunakan Roulette Wheel Selection

dalam proses seleksi, One-Point Crossover dalam proses pindah silang dan Random Mutation dalam proses mutasi. Aplikasi ini dibuat

Page 32: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

berbasiskan web dengan menggunakan Framework Codeigniter untuk dijadikan sebuah sistem penjadwal latihan fitness yang terikat,

teratur dan terarah.

Page 33: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

22

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

BAB III

PERANCANGAN DAN REALISASI

3.1 Perancangan Sistem

Perancangan dari sistem yang terdiri dari deksripsi sistem, cara kerja sistem,

rancangan sistem, dan realisasi sistem akan dibahas pada bab ini.

3.1.1 Deskripsi sistem

Sistem yang akan dibuat dalam penelitian ini adalah sistem penjadwalan latihan

fitness dengan menggunakan Algoritma Genetika. Hasil output dari sistem

penjadwalan latihan fitness yaitu perhitungan akan di optimasi dengan Algoritma

Genetika, sehingga akan dihasilkan suatu penjadwalan kegiatan-kegiatan latihan

fitness yang merata dan tidak ada benturan jadwal seperti benturan waktu, ruang,

trainer.

3.1.2 Analisis kebutuhan

Perancangan sistem penjadwalan latihan fitness dengan menggunakan Algoritma

Genetika diperlukan analisis sebagai berikut.

a. Kebutuhan data

Kebutuhan data merupakan hal yang utama dalam membuat sebuah

sistem,termasuk dalam perancangan sistem penjadwalan latihan fitness ini ini

yang menerapkan metode algoritma genetika sebagai proses pembentukan

kromosom atau jadwal terbaik. Data yang diperlukan yaitu data waktu terdiri dari

hari dan jam, data ruang, data materi terdiri dari materi, trainer, dan

member/kelas. Kriteria tersebut didapatkan dari wawancara dan diskusi kelompok

yang dilakukan dengan narasumber yaitu administrator yang mengatur jadwal

latihan.

b. Kebutuhan Fungsional

Kebutuhan fungsional berisi proses-proses yang dapat dilakukan oleh sistem.

Adapun kebutuhan fungsional yang di maksud adalah sebagai berikut:

Page 34: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

1. Fitur Form Data Waktu

membuat jadwal berdasarkan ketersediaan data hari dan jam yang sudah

diinputkan. berdasarkan case latihan tidak boleh bentrok dengan jam sholat

2. Fitur Form Data Ruang

Membuat data ruang yang tersedia. Terdapat lebih dari 4 ruangan, Semakin

banyak ruangan maka algoritma genetika akan semakin mudah mengenerate

jadwal terbaik

3. Fitur Form Data Materi

Form materi berisi data materi, member/kelas dan trainer. Bisa diinputkan secara

dinamik sesuai data materi, member/kelad dan trainer yang tersedia. Semakin

banyak data materi ini maka algoritma genetika akan semakin banyak melakukan

proses generasi kromosom untuk menghasilkan jadwal terbaik dalam case ini

terdapat 30 data materi

4. Fitur Generate Jadwal

Page generate jadwal terdapat angka default yang bisa diubah misal maksimal

generasi dibangkitkan jika telah mencapai maksimal tapi blm menghasilkan

jadwal terbaik maka kita bisa menambah angka maksimal jika tidak maka hanya

akan menghasilkan jadwal terbaik dengan bentrokan seminim mungkin

5. Fitur Lihat Jadwal

Melihat hasil jadwal yang telah sempurna dan tidak ada bentrok member bisa

memilih jadwal yang cocok dengannya.

c. Kebutuhan non-fungsional

Sistem penjadwalan latihan fitness GYM Center berbasis website. Pengembangan

menggunakan bahasa pemrograman PHP. Spesifikasi kebutuhan hosting minimal

CPU 2.4 Ghz, RAM 1024 MB, disk space 20 GB dengan akses kecepatan internet

yang baik.

Page 35: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

3.1.3 Alur kerja sistem

Sistem akan berhasil dan bekerja dengan baik apabila bekerja sesuai alur atau cara

kerja yang telah ditentukan. Adapun alur kerja sistem penjadwalan latihan fitnes

dapat dilihat pada gambar 3.1

Gambar 3.1 Alur Kerja Sistem Penjadwalan Latihan Fitness

Gambar 3.1 mengenai alur kerja penjadwalan latihan fitness. Pertama lakukan

login dan buka menu data waktu, data ruang dan data materi, setelah itu ke

halaman generate jadwal. Sistem selanjutnya akan memproses penjadwalan

dengan metode algoritma genetika dan sistem akan menampilkan hasil

penjadwalan yang sempurna tanpa bentrok.

Page 36: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

3.1.4 Rancangan sistem

Rancangan sistem untuk proses modeling dipaparkan dalam bentuk use case

diagram, activity diagram, class diagram.

a. Use case diagram

Gambar 3.2 Use Case Diagram

Use case dapat menjelaskan apa saja yang dapat dilakukan oleh user. Pada

Gambar 3.2 mengenai use case diagram, dijelaskan dalam kegiatan penjadwalan

latihan pada sistem terdapat satu aktor, yaitu admin. Aktor admin untuk mengatur

data waktu diantaranya jam dan hari. Admin dapat mengatur ruang tempat latihan

fitnes serta mengatur data materi yang terdiri dari materi, trainer, dan member

kelas. Admin dapat juga melakukan generate jadwal, jadwal akan terbuat secara

otomatis dengan algoritma genetika.

3.2 Realisasi Sistem

Realisasi sistem meliputi implementasi tampilan sistem, implementasi yang akan

dijelaskan sebagai berikut :

Page 37: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

3.2.1 Implementasi tampilan sistem

Implementasi tampilan sistem meliputi tampilan yang diberlakukan pada sistem.

a. Halaman Jam

Gambar 3.3 Halaman Jam

Gambar 3.3 adalah tampilan menu jam, dimana user dapat melakukan

pengolahan data jam, baik melakukan operasi insert, update dan delete data jam.

b. Halaman Hari.

Gambar 3.4 Halaman Hari

Gambar 3.4 adalah tampilan menu hari, dimana user dapat mengolah data hari,

baik melakukan operasi insert, update dan delete data hari.

c. Halaman Waktu

Page 38: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3.5 Halaman Waktu

Gambar 3.5 adalah tampilan data waktu, dimana user dapat menentukan hari dan

jam sesuai kebutuhan dalam melakukan proses perhitungan penjadwalan pelatihan

fitness.

d. Halaman Kelas

Gambar 3.6 Halaman Kelas

Gambar 3.6 adalah tampilan menu kelas, dimana user dapat mengisi data kelas

yang tesedia sesuai dengan jumlah kelas yang ada di GYM Center.

e. Halaman Trainer

Page 39: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3.7 Halaman Trainer

Gambar 3.7 adalah tampilan data trainer pengajar pelatihan fitness, dimana user

dapat mengolah data trainer, baik melakukan operasi insert, update dan delete data

trainer sesuai dengan kebutuhan dan ketersediaan trainer pengajar di GYM

Center.

f. Halaman Data Materi

Gambar 3.8 Halaman Data Materi

Gambar 3.8 adalah tampilan menu data materi, dimana user dapat melakukan

pengelolaan data materi yang diadakan di GYM Center.

g. Halaman Materi

Page 40: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3.9 Halaman Materi

Gambar 3.9 adalah tampilan menu latihan, dimana user dapat mengolah data

latihan dengan menentukan trainer pengajar mata latihan dan kelas yang diajar

oleh trainer di GYM Center.

h. Halaman Ruang

Gambar 3.10 Halaman Ruang

Gambar 3.10 adalah tampilan ruang, dimana user dapat mengolah data ruangan

baik melakukan operasi insert, update dan delete data ruang, sesuai dengan

jumlah ruangan yang tersedia di GYM Center.

i. Halaman Perhitungan Genetika

Page 41: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3.11 Halaman Perhitungan Genetika

Gambar 3.11 adalah tampilan menu proses perhitungan penjadwalan pelatihan

fitness menggunakan algoritma genetika, dimana user diwajibkan untuk mengisi 4

parameter syarat dari algoritma genetika, yaitu jumlah kromosom, jumlah

generasi, probabilitas crossover dan probabilitas mutasi.

j. Halaman Hasil Jadwal

Gambar 3.12 Halaman Hasil Jadwal

Page 42: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3.12 adalah tampilan dari menu hasil penjadwalan, yang menampilkan

data penjadwalan pelatihan fitness dari proses perhitungan penjadwalan

menggunakan algoritma genetika

3.2.2 Implementasi Algoritma Genetika

Persoalan penjadwalan latihan fitness ada beberapa data yang dibutuhkan untuk

mempermudah proses penetapan dan perhitungan algoritma genetika. Antara lain:

1. Penentuan batasan

Berdasarkan hasil observasi dan wawancara penulis di Gym Center ada beberapa

batasan yang perlu diperhatikan dalam proses perhitungan dan penetapan

penjadwal latihan fitness antara lain:

a. Jadwal latihan dapat dilakukan pada hari senin-minggu, setelah pukul 8:00

sampai pukul 11 malam.

b. Jadwal latihan tidak boleh bentrok dengan waktu sholat fardhu.

c. Khusus hari jumat pada pukul 11.00-13.00 tidak ada jadwal latihan.

d. Trainer pengajar materi latihan tidak boleh mengajar pada waktu

bersamaan.

e. Proses pelatihan tidak boleh dilakukan di Ruangan yang sama pada waktu

yang sama.

f. Kelas tidak boleh melaksanakan materi latihan secara bersamaan.

2. Penentuan data

Berdasarkan hasil interview penulis pada Trainer Ridwan selaku pengelola

penjadwalan latihan fitness di Gym Center, berikut Data-data terkait

pembentukan penjadwalan yang ada. Data Latihan berisi informasi data

latihan fitness dengan menyesuaikan batasan-batasan yang ada.

Pada persoalan penjadwalan latihan fitness ada beberapa data yang dibutuhkan

untuk mempermudah proses penetapan dan perhitungan algoritma genetika.

Antara lain:

1. Data Latihan

Page 43: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Data Latihan berisi rincian informasi Trainer, data Member dan data Materi

Pelatihan Fitness yang dilaksanakan di Gym centre Fitness.

a. Data Trainer

Tabel 2 Data Trainer

No Nama Trainer

1 Dody

2 Ridwan

3 Alex

4 Rofiq

5 Fadhil

Tabel 2 merupakan informasi data trainer pengajar materi latihan di gym centre

fitness yang berjumlah 5 trainer pengajar.

b. Data Member

Tabel 3 Data Member atau Kelas

No Nama Member

1 Member Group 1

2 Member Group 2

3 Member Group 3

4 Member Group 4

5 Member Group 5

Tabel 3 Merupakan informasi data kelas yang dijalankan di gym centre fitness

yang berjumlah 5 member latihan antara lain member 1 sampai member 5

c. Data Materi Latihan

Tabel 4 Data Materi Latihan

No Tema Materi Latihan SKS

1 Dada 2

2 Bahu 3

3 Back 2

4 Tangan 2

5 Perut 2

Page 44: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

6 Kaki 3

2. Data Ruangan

Tabel 5 Data Ruangan

No Nama Ruangan

1 Ruang 1

2 Ruang 2

3 Ruang 3

4 Sauna

5 Ruang Kardio

6 Teras Calisthenics

Tabel 5 merupakan informasi data ruangan yang akan menjadi tempat

berlangsungnya proses pelatihan, yang terdiri dari 3 data ruangan antara lain

Ruang 1-3.

3. Data Waktu

a. Data Hari

Tabel 6 Data Hari

No Nama Hari

1 Senin

2 Selasa

3 Rabu

4 Kamis

5 Jumat

6 Sabtu

Tabel 6 merupakan informasi data hari pelaksanaan pelatihan fitness digym

centre, yang dilaksanakan sebanyak 6 hari dalam seminggu, mulai hari senin

sampai sabtu.

b. Data Jam

Page 45: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Tabel 7 Data Jam

No Nama Jam

1 05:00:00

2 08:00:00

3 13:00:00

4 15:30:00

5 20:00:00

6 21:00:00

Tabel 7 merupakan informasi data Jam mulai diadakannya pelatihan fitness di

gym centre fitness.

Kemudian masing-masing informasi data Latihan (Kelas, Trainer dan Tema

Latihan), Waktu (Hari dan Jam) dan Ruangan yang tersedia akan

mempresentasikan isi kromosom yang akan di bangkitkan untuk memperoleh data

penjadwalan pelatihan fitness sesuai batasan-batasan yang telah didefinisikan

sebelumnya.

Dengan rincian data Keterangan Waktu diatas maka dapat diperoleh total waktu

pelatihan yang tersedia sebanyak 36 Waktu dengan mengalikan jumlah jam yang

tersedia dengan jumlah hari yang ada.

3. Proses inisiasi populasi awal

Inisialisasi populasi awal merupakan suatu metode untuk menghasilkan

kromosom-kromosom awal. Data kromosom akan memberikan solusi pada setiap

percobaan. Jumlah gen yang akan dibangkitkan sesuai dengan jumlah data materi

fitness yang ada sebanyak 30 gen. Adapun Parameter yang digunakan setiap gen

adalah data pada tabel yang berisi materi fitness, ruang dan waktu. Jadi, pada

setiap kromosom diisi dengan data gen berupa materi fitness, ruang dan waktu.

Berikut Contoh penerapannya, pada Tabel 8:

Tabel 8 Contoh Representasi Kromosom Bilangan Bulat (Integer)

Integer

K

r

o

([Data Materi, Data Ruang, Data Waktu])

([GEN(i)])

Page 46: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

m

o

s

o

m

[

0

]

K

r

o

m

o

s

o

m

[

0

]

([0,1,25],[1,5,26],[2,2,19],[3,5,17],[4,5,13],[5,5,19],[6,2,2],[7,4,15],[8,3,18],[9,0,29],[10,5,4],[11,1,8],[12,0,13],[13,0,0],[14,2,10],[15,0,18],[16,1,2],[17,4,23],[18,5,29],[19,3,4],[20,0,13],[21,1,20],[22,4,0],[23,0,21],[24,5,23],[25,0,3],[26,0,11],[27,3,10],[28,0,28],[29,2,24])

([GEN 1], [GEN 2], [ GEN 3], [GEN 4], [GEN 5], [GEN 30)

Alasan penggunaan pengkodean bilangan bulat (integer encoding) dalam

mewakili setiap gen dikarenakan data gen pada setiap kromosom yang mewakili

komposisi materi fitness, ruang dan waktu dapat berubah disaat proses

pembangkitan kromosom secara acak sebelumnya. Dengan metode pengkodean

bilangan bulat, sistem dapat dengan mudah membedakan jenis materi fitness,

ruang dan waktu yang terpilih meskipun isi gen pada kromosom berubah-ubah.

Untuk mempermudah perhitungan pengimplementasian algoritma genetika

dilakukan dengan melakukan contoh perhitungan bagaimana algoritma genetika

dapat menentukan nilai variable a, b dan c sehingga berjumlah 30. Angka 30

adalah angka permisalan dan bisa mengunakan angka berapapun dan apakah

Page 47: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

algoritma genetika mampu mendapatkan nilai berjumlah 30. Berikut persamaan

yang akan diselesaikan,

“a + 2b + 3c = 30”

Pers. 3. 1 Persamaan Algoritma

Karena yang dicari adalah nilai a, b dan c maka variabel a, b dan c dijadikan

sebagai gen-gen pembentuk kromosom. Dimana data materi akan diwakili oleh

variable a yang berjumlah sebanyak 30 dari hasil perkalian jumlah materi fitness

dengan dengan trainer, data ruangan diwakili oleh variable b sejumlah 6 data

ruang dan data waktu diwakili oleh variable c dengan rincian data waktu yaitu

dengan mengalikan hari dan jam maka dapat diperoleh total waktu pelatihan

yang tersedia sebanyak 36.

Proses inisialisasi dilakukan dengan cara memberikan nilai awal gen-gen dengan

nilai acak sesuai Batasan minimal dan maksimal yang telah ditentukan. Sebagai

contoh jumlah populasi yang akan dibangkitkan adalah 6 kromosom, maka:

Kromosom[1] = [a;b;c] = [12;06;03]

Kromosom[2] = [a;b;c] = [02;01;08]

Kromosom[3] = [a;b;c] = [10;04;03]

Kromosom[4] = [a;b;c] = [20;01;10]

Kromosom[5] = [a;b;c] = [01;04;03]

Kromosom[6] = [a;b;c] = [20;05;07]

Kemudian menghitung fungsi_objektif dari kromosom yang telah dibangkitkan,

fungsi objektif merupakan hasil nilai dari proses komputasi sesuai batasan yang

ada, misal:

fungsi_objektif(kromosom[1]) = Abs(( 12 + 2*6 + 3*3) – 30)

= Abs((12 + 12 + 9) – 30)

= Abs(32 – 30)

= 2

fungsi_objektif(kromosom[2]) = Abs(( 2 + 2*1 + 3*8) – 30)

= Abs(( 2 + 2 + 24) – 30)

= Abs(28 – 30)

= 2

fungsi_objektif(kromosom[3]) = Abs(( 10 + 2*4 + 3*3 ) – 30)

Page 48: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

= Abs(( 10 + 8 + 9 ) – 30)

= Abs(27 – 30)

= 3

fungsi_objektif(kromosom[4]) = Abs(( 20 + 2*1 + 3*10) – 30)

= Abs(( 20 + 2 + 30) – 30)

= Abs(52 – 30)

= 22

fungsi_objektif(kromosom[5]) = Abs(( 1 + 2*4 + 3*3) – 30)

= Abs(( 1 + 8 + 9) – 30)

= Abs(18 – 30) = 12

fungsi_objektif(kromosom[6]) = Abs(( 20 + 2*5 + 3*7) – 30)

= Abs(( 20 + 10 + 21) – 30)

= Abs(41 – 30)

= 11

Rata-rata dari fungsi objektif adalah:

rata-rata = (2+2+3+22+12+11)/6

= 52 / 6

= 8.1666666667

4. Proses evaluasi

Fungsi fitness menjadi penentu utama keberhasilan dari algoritma genetika. Tahap

evaluasi fitness ini akan menghitung nilai fitness dari kromosom yang sebelumnya

diinisialisasikan pada tahapan pertama. Tahapan ini akan menghitung nilai

kesesuaian pada setiap kromosom untuk mengidentifikasi variable nilai a, b dan c

yang dicari.

f1 = 1 / (fungsi_objektif[1]+1)

= 1 / 3 = 0.333

f2 = 1 / (fungsi_objektif[2]+1)

= 1 / 3 = 0.333

f3 = 1 / (fungsi_objektif[3]+1)

= 1 / 4 = 0.25

f4 = 1 / (fungsi_objektif[4]+1)

= 1 / 23 = 0.043

Page 49: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

f5 = 1 / (fungsi_objektif[5]+1)

= 1 / 13 = 0.076

f6 = 1 / (fungsi_objektif[6]+1)

= 1 / 12 = 0.083

5. Proses seleksi

Adapun metode yang bisa digunakan dalam tahap seleksi pada penelitian ini

adalah Roulette Wheel Selection. Diketahui Kj adalah kromosom ke-j,

a. Jika Rj < Ci, maka pilih K1 sebagai kromosom induk ke-j

b. Jika C(i - 1) < Rj < Ci , maka pilih K1 sebagai kromosom induk ke-j.

Angka acak pertama R[1] adalah lebih besar dari C[1] dan lebih kecil daripada

C[2] maka pilih kromosom[2] sebagai kromosom pada populasi baru, dari

bilangan acak yang telah dibangkitkan diatas maka populasi kromosom baru hasil

proses seleksi adalah:

kromosom[1] = kromosom[2]

kromosom[2] = kromosom[2]

kromosom[3] = kromosom[1]

kromosom[4] = kromosom[5]

kromosom[5] = kromosom[2]

kromosom[6] = kromosom[3]

6. Proses crossover

Tahap ini pertukaran susunan genetik dari kromosom menggunakan probability

crossover sebesar 75%-100%. Crossover dilakukan dengan harapan bahwa

kromosom yang baru akan lebih baik. Dengan membangkitkan bilangan acak r

0<1 sebanyak ukuran populasi. kromosom yang akan dipilih adalah kromosom

dengan nilai acak yang lebih kecil dari probability crossover. Kromosom tersebut

yang nantinya akan di crossover dengan menentukan cut-point menggunakan

penyilangan satu titik yaitu sub-kromosom mana yang akan di crossover.

Misalnya ditentukan crossover probability adalah sebesar 50%, maka diharapkan

dalam satu generasi ada 50% kromosom (3 kromosom) dari satu generasi

mengalami proses crossover. Prosesnya adalah sebagai berikut: Pertama

Page 50: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

membangkitkan bilangan acak R sebanyak jumlah populasi. Berikut bilangan acak

yang sudah dibangkitkan untuk masing-masing kromosom.

R[1] = 0.191

R[2] = 0.259

R[3] = 0.760

R[4] = 0.006

R[5] = 0.159

R[6] = 0.340

Maka kromosom ke k akan dipilih sebagai induk jika R[k] < ρc, dari bilangan

acak R diatas maka yang dijadikan induk adalah kromosom[1], kromosom[4] dan

kromosom[5]. Setelah melakukan pemilihan induk proses selanjutnya adalah

menentukan posisi crossover. Proses ini dilakukan dengan cara membangkitkan

bilangan acak dengan batasan 1 sampai (panjang kromosom-1), dalam kasus ini

bilangan acak yang dibangkitkan adalah 1 – 3. Diketahui posisi crossover adalah 1

maka kromosom induk akan dipotong mulai gen ke 1 kemudian potongan gen

tersebut saling ditukarkan antar induk.

kromosom[1] >< kromosom[4]

kromosom[4] >< kromosom[5]

kromosom[5] >< kromosom[1]

Posisi cut-point crossover dipilih menggunakan bilangan acak 1-3 sebanyak

jumlah crossover yang terjadi, missal

C[1] = 1

C[2] = 1

C[3] = 2

offspring[1] = kromosom[1] >< kromosom[4]

= [02;01;08] >< [01;04;03]

= [02;04;03]

offspring[4] = kromosom[4] >< kromosom[5]

= [01;04;03] >< [02;01;08]

= [01;01;08]

offspring[5] = kromosom[5] >< kromosom[1]

Page 51: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

= [02;01;08] >< [02;01;08]

= [02;01;08]

Dengan demikian populasi Kromosom setelah mengalami proses crossover

menjadi:

kromosom[1] = [02;04;03]

kromosom[2] = [02;01;08]

kromosom[3] = [12;05;03]

kromosom[4] = [01;01;08]

kromosom[5] = [02;01;08]

kromosom[6] = [10;04;03]

7. Proses mutasi

Pertama menghitung terlebih dahulu panjang total gen yang ada dalam satu

populasi. Diketahui total gen ∑g = 3 * 6 = 18. Kemudian untuk memilih posisi

gen yang mengalami mutasi dilakukan dengan cara membangkitkan bilangan

integer acak antara 1 sampai total_gen, yaitu 1 sampai 18. Jika bilangan acak yang

dibangkitkan lebih kecil daripada variabel Mutation Rate Probability (ρm) maka

pilih posisi tersebut sebagai sub-kromosom yang mengalami mutasi. Diketahui

ρm sebesar 10% maka diharapkan ada 10% dari total_gen yang mengalami

mutasi.

∑Mutasi = 0.1 * 18 = 1.8 = 2

Kemudian membangkitkan bilangan acak terpilih posisi gen 12 dan 18 yang

mengalami mutasi. Dengan demikian yang akan mengalami mutasi adalah

kromosom ke-4 gen nomor 3 dan kromosom ke-6 gen nomor 3. Maka nilai gen

pada posisi tersebut akan diubah dengan bilangan acak 0-30. Diketahui bilangan

acak yang terbangkitkan adalah 2 dan 5. Maka populasi kromosom setelah

mengalami proses mutasi adalah:

kromosom[1] = [02;04;03]

kromosom[2] = [02;01;08]

kromosom[3] = [12;05;03]

kromosom[4] = [01;01;02]

kromosom[5] = [02;01;08]

kromosom[6] = [10;04;05]

Page 52: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Setelah proses mutasi maka kita telah menyelesaikan satu iterasi dalam algoritma

genetika atau disebut dengan satu generasi. Maka fungsi_objective setelah satu

generasi adalah:

fungsi_objektif(kromosom[1]) = Abs(( 2 + 2*4 + 3*3) – 30)

= Abs((2 + 8 + 9) – 30)

= Abs(19 – 30)

= 11

fungsi_objektif(kromosom[2]) = Abs(( 2 + 2*1 + 3*8) – 30)

= Abs(( 2 + 2 + 24) – 30)

= Abs(28 – 30)

= 2

fungsi_objektif(kromosom[3]) = Abs(( 12 + 2*5 + 3*3) – 30)

= Abs(( 12 + 10+ 9 ) – 30)

= Abs(31 – 30)

= 1

fungsi_objektif(kromosom[4]) = Abs(( 1 + 2*1 + 3*2) – 30)

= Abs(( 1 + 2 + 6) – 30)

= Abs(9– 30)

= 21

fungsi_objektif(kromosom[5]) = Abs(( 2 + 2*1 + 3*8) – 30)

= Abs(( 1 + 2+ 24) – 30)

= Abs(28 – 30)

= 2

fungsi_objektif(kromosom[6]) = Abs(( 10 + 2*4 + 3*5) – 30)

= Abs(( 10 + 8 + 15) – 30)

= Abs(33 – 30)

= 3

Rata-rata dari fungsi objektif adalah:

rata-rata = (11+2+1+21+2+3)/6

= 40 / 6

= 6

Page 53: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Dapat dilihat dari hasil perhitungan fungsi objektif diatas bahwa setelah satu

generasi, nilai hasil rata-rata fungsi_objektif lebih menurun dibandingkan hasil

fungsi_objektif pada saat sebelum mengalami seleksi, crossover dan mutasi. Hal

ini menunjukkan bahwa kromosom atau solusi yang dihasilkan setelah satu

generasi lebih baik dibandingkan generasi sebelumnya. Maka pada generasi

selanjutnya kromosom-kromosom yang baru adalah:

kromosom[1] = [02;04;03]

kromosom[2] = [02;01;08]

kromosom[3] = [12;05;03]

kromosom[4] = [01;01;02]

kromosom[5] = [02;01;08]

kromosom[6] = [10;04;05]

Kromosom-kromosom ini akan mengalami proses yang sama seperti generasi

sebelumnya yaitu proses evaluasi, seleksi, crossover dan mutasi yang kemudian

akan menghasilkan kromosom-kromosom baru untuk generasi yang selanjutnya.

Proses ini akan berulang sampai sejumlah generasi yang telah ditetapkan

sebelumnya. Setelah 18 generasi didapatkan kromosom yang terbaik adalah:

Kromosom[6] = [11;05;03]

Diketahui, a = 11, b = 5 dan c = 3. Jika dihitung terhadap persamaan f = a+2b+3c.

Maka f = 11 + (2*5) + (3*3) = 30, memenuhi batasan nilai akhir sebesar 30.

Page 54: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

43

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

BAB IV

PEMBAHASAN

4.1 Pengujian

Tujuan dari pengujian ini agar sistem yang digunakan oleh pengguna dapat

berjalan secara optimal dan memenuhi rangkaian kebutuhan pengguna, serta

untuk mengetahui apakah masukan dan keluaran yang dihasilkan sistem sudah

sesuai dengan alur yang ada.

4.1.1 Deskripsi Pengujian

Setelah selesai pembuatan suatu sistem langkah berikutnya yang dilakukan yaitu

pengujian sistem. Pengujian memiliki tujuan untuk memastikan bahwa sistem

yang dibangun telah sesuai dengan kebutuhan yang sebelumnya telah ditentukan.

Pengujian dilakukan untuk menjamin kualitas dari sistem serta mengetahui

apabila terjadinya bugs atau kesalahan yang terdapat pada sistem yang dirancang.

Dengan ditemukannya bugs atau kesalahan-kesalahan pada sistem maka dapat

dilakukan perbaikan sistem.

4.1.2 Prosedur Pengujian

Prosedur pengujian yang dilakukan pertama adalah dengan menggunakan black

box testing. Pengujian ini agar dapat mengetahui fungsional sistem dan kesesuaian

dari data masukan hingga keluaran yang dihasilkan dari sistem yang telah

dirancang. Kedua menghitung tingkat akurasi yaitu menghitung tingkat kemiripan

hasil hitungan manual dengan hasil hitungan sistem.

a. Black box testing

Hasil pengujian fungsionalitas sistem berupa tabel pengujian. Pengujian dilakukan

untuk mengetahui bahwa sistem sesuai dengan yang diharapkan. Jika data yang

dimasukan sesuai dengan harapan. Maka, pada kolom keterangan pada tabel

pengujian, diberikan keterangan sukses. Namun, apabila tidak sesuai maka

keterangan gagal. Berikut adalah hasil pengujian black box testing :

Page 55: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Tabel 9. Pengujian Blackbox

Data Object Pengujian Hasil yang

diharapkan

Keterangan

Data Jam Button Tambah Menambah

Data Jam Sukses

Button Ubah Mengubah Data Jam Sukses

Button Hapus Menghapus Data

Jam Sukses

Data Hari

Button Tambah Menambah

Data Hari Sukses

Button Ubah Mengubah

Data Hari Sukses

Button Hapus Menghapus Data

Hari Sukses

Data Kelas

Button Tambah Menambah Data

Kelas Sukses

Button Ubah

Mengubah Data

Kelas

Sukses

Button Hapus Menghapus Data

Kelas Sukses

Data Trainer Menghapus Data

Trainer Menghapus Data

Trainer Sukses

Button Ubah Mengubah Data

Trainer Sukses

Button Hapus Menghapus Data

Trainer Sukses

Data Materi

Fitness

Button Tambah Menambah Materi

Fitness Sukses

Button Ubah Mengubah Materi

Fitness Sukses

Button Hapus Menghapus Materi

Fitness Sukses

Data Materi

Button Tambah Menambah Data

Materi Sukses

Button Ubah Mengubah Data

Materi Sukses

Page 56: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Data Object Pengujian Hasil yang

diharapkan

Keterangan

Button Hapus Menghapus Data

Materi Sukses

Data Ruang

Button Tambah Menambah Data

Ruang Sukses

Button Ubah Mengubah Data

Ruang Sukses

Button Hapus Menghapus Data

Ruang Sukses

Generate

Jadwal Button

Melakukan

Perhitungan AG Sukses

Data Hasil

Jadwal Button Lihat

Berhasil Lihat Hasil

Jadwal Sukses

b. User Acceptance Test

User acceptance test suatu proses pengujian oleh pengguna yang bertujuan untuk

menghasilkan dokumen yang bisa dijadikan bukti bahwa produk yang dibuat

dapat diterima pengguna.

Tabel 10. Bobot Penilaian User Acceptance Test

Sumber : (Pasaribu & Solichin, 2017)

No Keterangan Bobot Nilai

1 Sangat Setuju 5

2 Setuju 4

3 Cukup 3

4 Kurang Setuju 2

5 Sangat Kurang Setuju 1

Tabel 10 merupakan bobot penilaian yang digunakan dalam pengujian user

acceptance test

Tabel 11. User Acceptance Test

No. Pertanyaan Nilai (Responden)

Sangat Kurang Cukup Setuju Sangat

Page 57: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Kurang

Setuju

Setuju Setuju

1 Tampilan form data mudah

dipahami v

2 Indikator pengisian

mencakup untuk setiap data v

3

Desain Tampilan dan Tata

Letak

Interface mudah dipahami

v

4 Aplikasi membantu dalam

pembuatan jadwal latihan

fitness

v

Tabel 11 merupakan hasil UAT yang dilakukan terhadap 1 responden. Data pada

Tabel 4.11 kemudian mengalikan nilai hasil responden dengan bobot dari setiap

jawaban pada data Tabel 17.

Tabel 12. Hasil Pengujian User Acceptance Test

No. Pertanyaan

Nilai Hasil Pembobotan

Jumlah Sangat Kurang Setuju

x 1

Kurang Setuju

x 2

Cukup x 3

Setuju x 4

Sangat Setuju

x 5

1 Tampilan form data mudah

dipahami v 3

2

Indikator pengisian

mencakup untuk setiap

data

V 4

3

Desain Tampilan dan Tata

Letak

Interface mudah dipahami

V 4

4

Aplikasi membantu dalam

pembuatan jadwal latihan

fitness

v 5

Nilai presentase didapatkan dengan menghitung nilai rata-rata dibagi bobot

maximum dikali seratus persen (100%) (Pasaribu & Solichin, 2017).

Page 58: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Perhitungan presentase pertanyaan yang dilakukan untuk mendapatkan hasil

seberapa sistem untuk tim penilai layak untuk digunakan.

Hasil presentase dapat dilihat pada Tabel 20.

Tabel 13. Hasil Presentase User Acceptance Test

No Nilai rata-rata Presentase Keterangan

1 3/1 = 3 3/5 * 100% = 60% Persentase Pertanyaan 1

2 4/1 = 4 4/5 * 100 % =80% Persentase Pertanyaan 2

3 4/1 = 4 4/5 * 100% = 80% Persentase Pertanyaan 3

4 5/1 = 5 5/5 * 100% = 100% Persentase Pertanyaan 4

4.1.3 Data Hasil Pengujian Algoritma Genetika

Empat parameter yang digunakan pada algoritma genetika antara lain:

1. Jumlah Kromosom yang ingin dibangkitkan

2. Jumlah Generasi yang Dibangkitkan

3. Probabilitas Crossover (Pc)

4. Probabilitas Mutasi (Pm)

Diketahui jumlah kromosom yang dibangkitkan sebanyak 6 kromosom, dengan

maksimal generasi sebanyak 25 generasi, probabilitas crossover 75% dan

probabilitas mutasi 25%. Pendekatan melalui relational database management

system untuk memudahkan proses perhitungan algoritma genetika penjadwalan

pelatihan fitness dengan menyesuaikan batasan-batasan yang ada dalam

penjadwalan pelatihan fitness terkait rincian materi, rincian ruangan dan waktu.

Berikut hasil keseluruhan data pelatihan yang akan dipakai dalam proses

perhitungan penjadwalan pelatihan fitness menggunakan algoritma genetika.

Tabel 14 Paramater Algoritma Genetika

Page 59: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

NO Data proses Kode Jumlah Data

1 Data Materi (id_materi) A(1-30) 30

2 Data Ruang (id_ruang) B(1-6) 6

3 Data Waktu (id_waktu) C(1-30) 30

4.2 Analisis Data

a. Pengujian black box

Berdasarkan hasil pengujian black box dengan 23 pengujian terhadap sistem

penjadwalan latihan fitness dengan algoritma genetika sesuai dengan hasil yang

diharapkan.

b. User Acceptance Test

Berdasarkan hasil pengujian User Acceptance Test, didapatkan hasil sesuai

dengan harapan dan user requirement. Maka dapat disimpulkan bahwa terhadap

sistem penjadwalan latihan fitness dengan algoritma genetika berjalan dengan

baik dan seharusnya

c. Analisis pengujian algoritma genetika

Proses algoritma genetika yang digunakan dalam sistem penjadwalan latihan

fitness, yaitu: melakukan inisialisasi populasi awal untuk mengdapatkan solusi

awal dari suatu permasalahan. Inisialisasi akan dilakukan secara acak sebanyak

jumlah kromosom yang diinginkan. Selanjutnya dihitung nilai fitness dan

seterusnya dilakukan seleksi dengan menggunakan metode roda roullete (roulette

wheel selection). Kemudian dilakukan perkawinan silang (one-point crossover)

dan mutasi (random mutation). Algoritma akan terus menerus melakukan

pembangkitan populasi baru sampai kemudian proses perhitungan akan berhenti

ketika sistem telah menghasilkan fitness terbaik dari jumlah populasi dan

maksimal generasi yang telah dibangkitkan.

Berikut adalah hasil penjadwalan yang telah digenerate system dengan

menggunakan algoritma genetika:

Page 60: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3.13 Jadwal yang dihasilkan Algoritma Genetika 1

Tabel 15 Jadwal yang dihasilkan Algoritma Genetika 1

GYM Center

No Hari Jam Materi Total Waktu Kelas Ruang Trainer

1 Senin 05:00 - 06:30 Back 01 Jam 30 Menit MEMBER 5 Teras Calisthenics

Ridwan

2 Senin 05:00 - 07:15 Tangan 02 Jam 15 Menit MEMBER 1 Ruang 2 Rofiq

3 Senin 13:00 - 14:30 Perut 01 Jam 30 Menit MEMBER 3 Teras Calisthenics

Alex

4 Senin 15:30 - 17:00 Perut 01 Jam 30 Menit MEMBER 1 Ruang Kardio

Alex

5 Senin 20:00 - 22:15 Compound Data Tricep

02 Jam 15 Menit MEMBER 4 Ruang 3 Dody

6 Selasa 05:00 - 07:15 Compound Data Tricep

02 Jam 15 Menit MEMBER 1 Ruang 2 Dody

7 Selasa 08:00 - 10:15 Tangan 02 Jam 15 Menit MEMBER 4 Ruang 3 Rofiq

8 Selasa 08:00 - 10:15 Compound Data Tricep

02 Jam 15 Menit MEMBER 2 Sauna Dody

9 Selasa 13:00 - 15:15 Tangan 02 Jam 15 Menit MEMBER 5 Ruang 2 Rofiq

10 Selasa 15:30 - 17:00 Back 01 Jam 30 Menit MEMBER 3 Ruang 2 Ridwan

11 Selasa 15:30 - 17:00 Bahu 01 Jam 30 Menit MEMBER 1 Ruang 1 Dody

12 Rabu 05:00 - 06:30 Perut 01 Jam 30 Menit MEMBER 4 Teras Calisthenics

Alex

13 Rabu 08:00 - 09:30 Bahu 01 Jam 30 Menit MEMBER 5 Ruang 1 Dody

14 Rabu 08:00 - 09:30 Kaki 01 Jam 30 Menit MEMBER 4 Ruang 2 Rofiq

15 Rabu 15:30 - 17:45 Compound Data Tricep

02 Jam 15 Menit MEMBER 3 Ruang Kardio

Dody

16 Rabu 21:00 - 22:30 Back 01 Jam 30 Menit MEMBER 1 Ruang Kardio

Ridwan

17 Rabu 21:00 - 22:30 Bahu 01 Jam 30 Menit MEMBER 3 Ruang 1 Dody

18 Rabu 21:00 - 22:30 Perut 01 Jam 30 Menit MEMBER 5 Teras Calisthenics

Alex

Page 61: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

19 Kamis 05:00 - 06:30 Kaki 01 Jam 30 Menit MEMBER 1 Sauna Rofiq

20 Kamis 15:30 - 17:00 Back 01 Jam 30 Menit MEMBER 2 Ruang 1 Ridwan

21 Kamis 20:00 - 21:30 Bahu 01 Jam 30 Menit MEMBER 4 Ruang 1 Dody

22 Jumat 15:30 - 17:00 Perut 01 Jam 30 Menit MEMBER 2 Ruang 1 Alex

23 Jumat 21:00 - 22:30 Back 01 Jam 30 Menit MEMBER 4 Ruang Kardio

Ridwan

24 Jumat 21:00 - 22:30 Kaki 01 Jam 30 Menit MEMBER 3 Ruang 1 Rofiq

25 Jumat 21:00 - 22:30 Bahu 01 Jam 30 Menit MEMBER 2 Ruang 3 Dody

26 Sabtu 05:00 - 07:15 Tangan 02 Jam 15 Menit MEMBER 3 Sauna Rofiq

27 Sabtu 08:00 - 10:15 Tangan 02 Jam 15 Menit MEMBER 2 Ruang 2 Rofiq

28 Sabtu 13:00 - 14:30 Kaki 01 Jam 30 Menit MEMBER 5 Teras Calisthenics

Rofiq

29 Sabtu 15:30 - 17:00 Kaki 01 Jam 30 Menit MEMBER 2 Ruang 2 Rofiq

30 Sabtu 20:00 - 22:15 Compound Data Tricep

02 Jam 15 Menit MEMBER 5 Ruang 3 Dody

Gambar 3.14 Jadwal yang dihasilkan Algoritma Genetika 2

Tabel 16 Jadwal yang dihasilkan Algoritma Genetika 2

GYM Center

No Hari Jam Materi Total Waktu Kelas Ruang Trainer

1 Senin 05:00 - 06:30 Back 01 Jam 30 Menit MEMBER 2 Ruang 3 Ridwan

2 Senin 08:00 - 09:30 Perut 01 Jam 30 Menit MEMBER 5 Ruang Kardio

Alex

3 Senin 08:00 - 10:15 Compound Data Tricep

02 Jam 15 Menit MEMBER 2 Sauna Dody

4 Senin 15:30 - 17:45 Tangan 02 Jam 15 Menit MEMBER 3 Ruang 1 Rofiq

5 Senin 15:30 - 17:00 Bahu 01 Jam 30 Menit MEMBER 1 Sauna Dody

6 Senin 20:00 - 22:15 Compound 02 Jam 15 Menit MEMBER 5 Ruang 3 Dody

Page 62: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Data Tricep

7 Selasa 13:00 - 14:30 Bahu 01 Jam 30 Menit MEMBER 4 Teras Calisthenics

Dody

8 Selasa 15:30 - 17:45 Tangan 02 Jam 15 Menit MEMBER 2 Teras Calisthenics

Rofiq

9 Selasa 15:30 - 17:00 Bahu 01 Jam 30 Menit MEMBER 5 Ruang Kardio

Dody

10 Selasa 20:00 - 22:15 Compound Data Tricep

02 Jam 15 Menit MEMBER 3 Ruang Kardio

Dody

11 Rabu 05:00 - 06:30 Perut 01 Jam 30 Menit MEMBER 4 Ruang 3 Alex

12 Rabu 05:00 - 06:30 Bahu 01 Jam 30 Menit MEMBER 2 Ruang 1 Dody

13 Rabu 08:00 - 10:15 Tangan 02 Jam 15 Menit MEMBER 5 Ruang 3 Rofiq

14 Rabu 08:00 - 09:30 Perut 01 Jam 30 Menit MEMBER 3 Sauna Alex

15 Rabu 13:00 - 14:30 Back 01 Jam 30 Menit MEMBER 5 Teras Calisthenics

Ridwan

16 Rabu 15:30 - 17:00 Perut 01 Jam 30 Menit MEMBER 2 Ruang 1 Alex

17 Rabu 15:30 - 17:00 Kaki 01 Jam 30 Menit MEMBER 5 Sauna Rofiq

18 Kamis 21:00 - 22:30 Back 01 Jam 30 Menit MEMBER 3 Ruang 2 Ridwan

19 Kamis 21:00 - 23:15 Tangan 02 Jam 15 Menit MEMBER 4 Ruang 3 Rofiq

20 Jumat 05:00 - 06:30 Bahu 01 Jam 30 Menit MEMBER 3 Ruang 2 Dody

21 Jumat 05:00 - 06:30 Kaki 01 Jam 30 Menit MEMBER 1 Ruang 1 Rofiq

22 Jumat 08:00 - 09:30 Back 01 Jam 30 Menit MEMBER 4 Ruang 2 Ridwan

23 Jumat 13:00 - 14:30 Back 01 Jam 30 Menit MEMBER 1 Ruang 3 Ridwan

24 Jumat 13:00 - 14:30 Kaki 01 Jam 30 Menit MEMBER 4 Teras Calisthenics

Rofiq

25 Jumat 15:30 - 17:00 Kaki 01 Jam 30 Menit MEMBER 3 Ruang 1 Rofiq

26 Jumat 20:00 - 22:15 Tangan 02 Jam 15 Menit MEMBER 1 Teras Calisthenics

Rofiq

27 Sabtu 05:00 - 06:30 Perut 01 Jam 30 Menit MEMBER 1 Teras Calisthenics

Alex

28 Sabtu 05:00 - 07:15 Compound Data Tricep

02 Jam 15 Menit MEMBER 4 Ruang 1 Dody

29 Sabtu 15:30 - 17:45 Compound Data Tricep

02 Jam 15 Menit MEMBER 1 Teras Calisthenics

Dody

30 Sabtu 21:00 - 22:30 Kaki 01 Jam 30 Menit MEMBER 2 Ruang 2 Rofiq

Page 63: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Gambar 3.15 Jadwal yang dihasilkan Algoritma Genetika 3

Tabel 17 Jadwal yang dihasilkan Algoritma Genetika 3

GYM Center

No Hari Jam Materi Total Waktu Kelas Ruang Trainer

1 Senin 05:00 - 06:30 Bahu 01 Jam 30 Menit MEMBER 1 Sauna Dody

2 Senin 08:00 - 09:30 Perut 01 Jam 30 Menit MEMBER 5 Ruang 2 Alex

3 Senin 20:00 - 22:15 Tangan 02 Jam 15 Menit MEMBER 4 Ruang 3 Rofiq

4 Senin 20:00 - 21:30 Bahu 01 Jam 30 Menit MEMBER 5 Sauna Dody

5 Selasa 05:00 - 06:30 Perut 01 Jam 30 Menit MEMBER 1 Ruang 2 Alex

6 Selasa 08:00 - 10:15 Compound Data Tricep

02 Jam 15 Menit MEMBER 4 Ruang Kardio

Dody

7 Selasa 13:00 - 15:15 Compound Data Tricep

02 Jam 15 Menit MEMBER 5 Ruang 2 Dody

8 Selasa 15:30 - 17:45 Tangan 02 Jam 15 Menit MEMBER 2 Teras Calisthenics

Rofiq

9 Selasa 15:30 - 17:00 Bahu 01 Jam 30 Menit MEMBER 3 Ruang 2 Dody

10 Selasa 20:00 - 21:30 Bahu 01 Jam 30 Menit MEMBER 4 Ruang 3 Dody

11 Rabu 05:00 - 06:30 Kaki 01 Jam 30 Menit MEMBER 4 Teras Calisthenics

Rofiq

12 Rabu 08:00 - 09:30 Back 01 Jam 30 Menit MEMBER 5 Ruang 2 Ridwan

13 Rabu 08:00 - 09:30 Perut 01 Jam 30 Menit MEMBER 3 Ruang Kardio

Alex

14 Rabu 13:00 - 15:15 Compound Data Tricep

02 Jam 15 Menit MEMBER 3 Sauna Dody

15 Rabu 15:30 - 17:45 Tangan 02 Jam 15 Menit MEMBER 1 Sauna Rofiq

16 Rabu 15:30 - 17:00 Bahu 01 Jam 30 Menit MEMBER 2 Ruang 1 Dody

17 Rabu 20:00 - 21:30 Back 01 Jam 30 Menit MEMBER 2 Teras Calisthenics

Ridwan

18 Kamis 08:00 - 09:30 Kaki 01 Jam 30 Menit MEMBER 2 Teras Rofiq

Page 64: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Calisthenics

19 Kamis 13:00 - 14:30 Kaki 01 Jam 30 Menit MEMBER 5 Teras Calisthenics

Rofiq

20 Kamis 15:30 - 17:00 Perut 01 Jam 30 Menit MEMBER 4 Teras Calisthenics

Alex

21 Kamis 15:30 - 17:45 Compound Data Tricep

02 Jam 15 Menit MEMBER 1 Sauna Dody

22 Jumat 05:00 - 06:30 Back 01 Jam 30 Menit MEMBER 4 Ruang 2 Ridwan

23 Jumat 05:00 - 07:15 Tangan 02 Jam 15 Menit MEMBER 5 Teras Calisthenics

Rofiq

24 Jumat 08:00 - 09:30 Kaki 01 Jam 30 Menit MEMBER 1 Sauna Rofiq

25 Jumat 13:00 - 14:30 Back 01 Jam 30 Menit MEMBER 3 Ruang 3 Ridwan

26 Jumat 20:00 - 21:30 Kaki 01 Jam 30 Menit MEMBER 3 Teras Calisthenics

Rofiq

27 Jumat 21:00 - 22:30 Back 01 Jam 30 Menit MEMBER 1 Ruang Kardio

Ridwan

28 Sabtu 13:00 - 14:30 Perut 01 Jam 30 Menit MEMBER 2 Ruang 3 Alex

29 Sabtu 20:00 - 22:15 Compound Data Tricep

02 Jam 15 Menit MEMBER 2 Sauna Dody

30 Sabtu 21:00 - 23:15 Tangan 02 Jam 15 Menit MEMBER 3 Ruang 2 Rofiq

No Nama Trainer

1 Dody

2 Ridwan

3 Alex

4 Rofiq

5 Fadhil

No Tema Materi Latihan SKS

1 Dada 2

2 Bahu 3

3 Back 2

4 Tangan 2

5 Perut 2

6 Kaki 3

No Nama Ruangan

Page 65: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

No Nama Ruangan

1 Ruang 1

2 Ruang 2

3 Ruang 3

4 Sauna

5 Ruang Kardio

6 Teras Calisthenics

No Nama Hari

1 Senin

2 Selasa

3 Rabu

4 Kamis

5 Jumat

6 Sabtu

No Nama Jam

1 05:00:00

2 08:00:00

3 13:00:00

4 15:30:00

5 20:00:00

6 21:00:00

melakukan contoh perhitungan bagaimana algoritma genetika dapat menentukan

nilai variable a, b dan c sehingga berjumlah 30. Angka 30 adalah angka

permisalan apakah algoritma genetika mampu mendapatkan nilai berjumlah 30.

Berikut persamaan yang akan diselesaikan,

“a + 2b + 3c = 30”

Pers. 3. 1 Persamaan Algoritma

Karena yang dicari adalah nilai a, b dan c maka variabel a, b dan c dijadikan

sebagai gen-gen pembentuk kromosom. Dimana materi fitness akan diwakili oleh

Page 66: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

variable a, data ruangan diwakili oleh variable b dan data waktu diwakili oleh

variable c

Page 67: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

56

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

BAB V

PENUTUP

5.1 Kesimpulan.

Berdasarkan uraian rangkaian penelitian Sistem Penjadwalan Latihan Fitness

menggunakan pendekatan Algoritma Genetika dalam penyelesaian masalah

Constraint Penjadwalan Pelatihan Fitness menggunakan alat ukur inputan

operator genetika dengan jumlah pembangkitan kromosom 6 crossover 75% dan

mutasi 25%, menyimpulkan bahwa penjadwalan pelatihan fitness dapat berhasil

karena mampu mencari kombinasi penjadwalan yang tepat dengan nilai fitness

maksimal, dan solusi yang optimal (tidak terjadinya benturan penjadwalan

pelatihan fitness).

5.2 Saran

Adapun saran yang dapat digunakan dalam penelitian selanjutnya terkait

penelitian ini yaitu dapat dilakukan penelitian lebih lanjut dalam hal pengujian

terkait perbedaan hasil output (kecepatan eksekusi dan penggunaan memori)

dalam mencapai nilai fitness terbaik, jika menggunakan bilangan kromosom,

maksimal generasi dan rate yang berbeda-beda.

Page 68: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

57

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

DAFTAR PUSTAKA

Ahmad Ashari, Imam., Muslim, Much & Alamsyah. (2016). Comparison

Performance of Genetic Algorithm and Ant Colony Optimization in Course

Scheduling Optimizing. Scientific Journal of Informatics. 3. 51-60.

10.15294/sji.v3i2.7911.

Cahyani, R. (2016). Evaluasi Kinerja Genetic Algortihm (GA) dengan Strategi

Perbaikan Kromosom Studi Kasus Multi-Choice Multi-Dimensional

Knapsack Problem. Fakultas Matematika Dan Ilmu Pengetahuan Alam,

Universitas Lampung.

Connor, A.M. & Shah, A. (2014) Research allocation using metaheuristic search.

Proceedings of the Fourth International Conference on Computer Science &

Information Technology.

Hari, N, H., Putra, F, P, E & Hamdlani. (2018). Optimasi Penjadwalan

Menggunakan Metode Algoritma Genetika di Sekolah Menengah Kejuruan

Annuqayah. Program Studi Teknik Informatika, Universitas Madura.

Larantika, F. (2015). Sistem Penjadwalan Otomatis Menggunakan Algoritma

Genetika di Fakultas Sains Dan Teknologi. Fakultas Sains dan Teknologi,

Universitas Islam Negeri Sunan Kalijaga, Yogyakarta.

Lim, Seng Poh & Haron, Habibollah. (2013). Performance comparison of Genetic

Algorithm, Differential Evolution and Particle Swarm Optimization towards

benchmark functions. 2013 IEEE Conference on Open Systems, ICOS 2013.

41-46. 10.1109/ICOS.2013.6735045.

Liua, Chun & Kroll, Andreas. (2016). On The Performance Of Different Mutation

Operators Of A Subpopulation-Based Genetic Algorithm For Multi-Robot

Task Allocation Problems.

Maharani, F. (2013). Sistem Penjadwalan Proyek Menggunakan Algoritma

Genetika. Fakultas Sains dan Teknologi, Universitas Islam Negeri SUSKA,

Riau.

Mendes, Jorge. (2013). A comparative study of crossover operators for genetic

algorithms to solve the job shop scheduling problem. WSEAS Transactions

on Computers. 12. 164-173.

Page 69: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Priambodo, B. (2015). Pengembangan Aplikasi Penjadwalan Kuliah Semester I

Menggunakan Algoritma Genetika. Jurnal Ilmiah Fifo. P-ISSN 2085-4315 /

E-ISSN 2502-8332

Qoiriah, A. (2014). Penjadwalan Ujian Akhir Semester dengan Algoritma

Genetika (Studi Kasus Jurusan Teknik Informatika Unesa). Fakultas Teknik,

Universitas Negeri Surabaya.

Robbi, N, M, H., & Nurochman. (2017). Implementasi Algoritma Genetika untuk

Penjadwalan Instruktur Training ICT UIN Sunan Kalijaga. Fakultas Sains

dan Teknologi, UIN Sunan Kalijaga, Yogyakarta.

Setyaningsih, F., A. (2014). System Application of Genetic Algorithm for

Scheduling Optimization Study Using Java (Case Study: Department of

Computer System UNTAN). IPTEK, Journal of Proceeding Series, Vol. 1

2014 (eISSN: 2354-6026)

Sugianto, C, A., & Apandi, T, H. (2018). Algoritma Genetika untuk Optimalisasi

Klasifikasi Kepuasan Pelayanan e-KTP. Jurnal & Penelitian Teknik

Informatika, Volume 3, Nomor 1.

Wati, D, A, R., & Rochman, Y, A. (2013). Model Penjadwalan Matakuliah Secara

Otomatis Berbasis Algoritma Particle Swarm Optimization (PSO). Fakultas

Sains dan Teknologi, Universitas Islam Negeri SUSKA, Riau.

Wiga, A, P., Djunaidy, A., & Vinarti, R, A. (2013). Penjadwalan Mata Kuliah

Menggunakan Algoritma Genetika di Jurusan Sistem Informasi ITS.

Institut Teknologi Sepuluh Nopember, Surabaya.

Page 70: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

59

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

LAMPIRAN

Daftar Riwayat Hidup Penulis

Muhammad Najib Kusumonegoro

Lahir di Jakarta 24 Juni 1996, anak ke 2 dari 3 bersaudara dari pasangan Agus

Subarkah dan Ibu Esti Nurwidiyanti. Lulus dari MIN Kalisari tahun 2007, SMPN

217 Jakarta tahun 2011, MAN 14 Jakarta tahun 2014. Saat ini sedang menempuh

Pendidikan Diploma IV Program Studi Teknik Informatika Jurusan Teknik

Informatika dan Komputer di Politeknik Negeri Jakarta.

Page 71: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

60

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Lampiran Wawancara

Narasumber : Rofiq

Jabatan :Pengelola Penjadwalan Latihan Fitness dan Trainer di GYM

Center

Hari, Tanggal : Senin, 10 Februari 2020

Tempat : Monster GYM Condet

Jam : 20:00 – Selesai

No Pertanyaan Wawancara Jawaban

1.

Bagaimana proses kegiatan

penjadwalan pelatihan

fitnes yang dilakukan di

GYM Center selama ini?

Penjadwalan Pelatihan fitnes bersifat flexible

dengan memperhatikan kesesuaian sumber

daya yang ada seperti ketersediaan trainer,

waktu, ruang, kelas dan member.

2.

Apa saja yang dibutuhkan

dalam proses pengaturan

penjadawalan pelatihan

fitnes?

Beberapa hal yang dibutuhkan dalam proses

pengaturan penjadwalan pelatihan fitnes adalah

ketersediaan sumber daya. Adapun saat ini

terdapat 4 trainer, 5 kelas/member, 6 Materi

pelatihan, 6 Ruangan dan Waktu pelatihan

yang dilakukan setiap hari senin sampai sabtu.

3.

Kendala apa saja yang

dialami saat proses

pengaturan penjadwalan

pelatihan fitnes?

Adapun kendala-kendala yang dialami adalah

proses penjadwalan membutuhkan waktu yang

lama dan sangat sulit mengatur waktu

penjadwalan, baik dalam latihan, mengulang

latihan dan menambah latihan baru

dikarenakan terbatasnya ketersediaan jumlah

trainer, waktu, ruang, kelas dan member.

Sehingga para member tidak memiliki alat ukur

yang pasti untuk menyelesaikan latihan

diwaktu yang tepat.

Page 72: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

61

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

4 Apakah ada waktu khusus

dalam pengaturan

penjadwalan pelatihan

fitnes?

Tidak ada waktu khusus pelatihan fitnes, hanya

saja proses pelatihan hanya dapat dilakukan

pada hari senin-sabtu setelah sholat subuh

sampai pukul 11 malam, jadwal latihan tidak

boleh bentrok dengan waktu sholat fardhu,

khusus hari jumat pada pukul 11.00-13.00

tidak boleh ada jadwal latihan, trainer materi

pelatihan tidak boleh mengajar pada waktu

bersamaan dan proses pelatihan tidak boleh

dilakukan di ruangan yang sama pada waktu

yang sama dan kelas tidak boleh melaksanakan

materi pelatihan secara bersamaan.

Page 73: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

62

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta

Hasil UAT oleh Administrator GYM

Page 74: IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENJADWALAN …

63

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta