Post on 24-Aug-2019
1
MODEL OPTIMASI PENEMPATAN GURU DENGAN MENGGUNAKAN
ALGORITMA GENETIKA
(Studi Kasus : Dinas Pendidikan Pemuda dan Olahraga Kabupaten Magelang)
SKRIPSI
Disusun Oleh:
Leo Krisnoto
145314097
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2018
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
i
OPTIMIZATION MODEL OF TEACHER PLACEMENT USING
GENETIC ALGORITHM
(Case Study : Dinas Pendidikan Pemuda dan Olahraga Kabupaten Magelang)
A THESIS
By:
Leo Krisnoto
145314097
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
UNIVERSITY SANATA DHARMA
YOGYAKARTA
2018
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini
tidak megandung atau memuat hasil karya orang lain, kecuali yang telah
disebutkan dalam daftar pustaka dan kutipan selayaknya karya ilmiah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma:
Nama : leo krisnoto
Nim : 145314097
Demi perkembangan ilmu pengetahuan, saya memberikan kepada perpustakaan
Universitas Sanata Dharma, karya ilmiah saya yang berjudul:
Model Optimasi Penempatan Guru Dengan Menggunakan Algoritma Genetika
(Studi kasus : Dinas Pendidikan Pemuda dan Olahraga Kabupaten Magelang)
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan
Kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan,
mengalihkan dalam bentuk media lain, mengelolanya di internet atau media lain
untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberi
royalti kepada saya, selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
ABSTRAK
Dinas pendidikan pemuda dan olahraga kabupaten magelang memiliki
masalah dalam pengelolaan guru pada tingkat sekolah dasar negeri. Masalah
tersebut diduga karena penataan dan pemerataan guru yang kurang baik sehingga
dapat menyebabkan kinerja guru di kabupaten magelang tidak optimal. Faktor
yang dapat menyebabkan kinerja guru tidak optimal adalah jarak antara rumah
guru ke tempat kerja.
Berdasarkan masalah tersebut maka dirancanglah sebuah model optimasi
penempatan guru dengan menggunakan algoritma genetika, menggunakan metode
single point crossover dan reversing mutation. Bahasa pemrograman yang
dipergunakan adalah php. Faktor penting yang dipergunakan untuk
mengoptimalkan kinerja guru sekolah dasar di kabupaten magelang adalah jarak,
umur, serta jenis kelamin.
Pengujian dilakukan dengan melakukan proses genetika pada data jarak
tempuh antara rumah guru dengan tempat kerja di sekolah tertentu. Proses
genetika akan terus dilakukan sampai pada batas yang sudah ditentukan, sehingga
guru akan mendapatkan posisi tempat kerja yang lebih ideal.
Pada setiap iterasi akan disimpan kromosom yang memiliki nilai fitness
yang paling baik, kemudian kromosom tersebut dimasukkan ke dalam populasi
baru untuk menggantikan kromosom yang memiliki nilai paling buruk pada
populasi baru tersebut. Hal ini akan mempengaruhi nilai fitness pada proses
program genetika yang dilakukan setiap beberapa kali iterasi.
Dari percobaan yang telah dilakukan dengan menggunakan dataset 1380
guru dan 230 sekolah, terlihat bahwa nilai fitness yang dihasilkan mengalami
penurunan. Rekomendasi yang mendekati optimal adalah pada probabilitas
corssover dengan nilai 0.7 dan probabilitas mutation dengan nilai 0.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
ABSTRACT
The Magelang District Education and Sports Office has problems in
managing teachers at the elementary school level. The problem is allegedly due to
the poor arrangement and distribution of teachers that can cause the performance
of teachers in Magelang regency is not optimal. Factors that can lead to teacher
performance is not optimal is the distance between the teacher's home to the
workplace.
Based on the problem, it is designed an optimization model of teacher
placement using genetic algorithm, using single point crossover and reversing
mutation method, programming language used is PHP, the important factor used
to optimize performance of elementary school teacher in Magelang regency is
distance, age, and gender.
Testing is done by performing genetic process on distance data between
teacher's house and workplace in certain school. The genetic process will continue
to the limit, so the teacher will get a more ideal workplace position.
In each interaction will be stored chromosome that has the best fitness
value, then the chromosome is inserted into the new population to replace the
chromosome that has the worst value in the new population. This will affect the
fitness value of the genetic program process performed every few interations.
From the experiments that have been done using the data set of 1380
teachers and 230 schools, it is seen that the value of fitness generated decreased.
The near optimum recommendation is on the probability of corssover with a value
of 0.7 and the probability of mutation with a value of 0.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, dengan
berkat dan karunia-Nya penulis dapat menyelesaikan tugas akhir ini dengan tepat
pada waktunya. Pada kesempatan ini penulis bermaksud menghaturkan terima
kasih kepada seluruh pihak yang telah memberikan dukungan doa, semangat dan
motivasi, ucapan terima kasih penulis sampaikan kepada:
1. Tuhan Yesus Kristus yang selalu hadir, memberkati, menyertai,
memberikan kekuatan, kemudahan dan semangat yang terus berkobar
dalam hidup dan pengerjaan skripsi ini.
2. Bapak, ibu, kakak, adik-adik, bude serta seluruh keluarga yang selalu
memberikan semangat, doa, materi serta moril dan mempercayakan
harapan mereka yang besar terhadap penulis.
3. Ibu PH. Prima Rosa, M. Sc. Selaku dosen pembimbing yang dengan sabar
dan sepenuh hati untuk memberikan waktu, saran serta masukkan terhadap
proses pengerjaan tugas akhir sehingga penulis mampu menyelesaikan
tugas akhir ini dengan tepat waktu.
4. Bapak dan ibu dosen yang telah mendidik dan memberikan ilmu selama
perkuliahan.
5. Cicilia intan sekar pitaloka yang selalu berbaik hati untuk membantu dan
memberikan dukungan yang besar dalam penyelesaian tugas akhir ini.
Serta Semua teman TI 2014 yang telah berdinamika bersama terutama
pada seluruh anggota keluarga sahabat ipul, anggota keluarga solo squad,
TI 2015 yang selalu memberikan dorongan agar cepat lulus, TI 2013 yang
selalu menemani dalam pengerjaan tugas akhir di laboratorium, TI 2012
yang telah memberikan pengalaman-pengalamannya serta TI 2016 dan TI
2017 yang mengingatkan saya bahwa penulis harus segera memperoleh
gelar sarjana.
Semoga dengan adanya tugas akhir ini dapat berguna bagi semua pihak, terlebih
bagi teman-teman Teknik Informatika.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
DAFTAR ISI
JUDUL ................................................................................ Error! Bookmark not defined.i
HALAMAN PERSETUJUAN ........................................... Error! Bookmark not defined.ii
HALAMAN PENGESAHAN ........................................... Error! Bookmark not defined.iii
PERNYATAAN KEASLIAN KARYA ............................................................................ iv
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI.............................................. v
ABSTRAK ........................................................................................................................ vi
ABSTRACT..................................................................................................................... vii
KATA PENGANTAR .................................................................................................... viii
DAFTAR ISI..................................................................................................................... ix
DAFTAR TABEL ............................................................................................................. xi
DAFTAR GAMBAR ....................................................................................................... xii
BAB I PENDAHULUAN ................................................................................................. 1
1.1 Latar Belakang ......................................................................................................... 1
1.2 Rumusan Masalah .................................................................................................... 2
1.3 Batasan Masalah ...................................................................................................... 2
1.4 Tujuan Penelitian ..................................................................................................... 3
1.5 Manfaat Penelitian ................................................................................................... 3
1.6 Sistematika Penulisan ............................................................................................... 3
BAB II LANDASAN TEORI ............................................................................................ 5
2.1 Definisi..................................................................................................................... 5
2.2 Algoritma Genetika .................................................................................................. 6
2.3 Langkah Perhitungan Algoritma Genetika ............................................................... 7
2.3.1 Representasi Kromosom .................................................................................... 7
2.3.2 Inisialisasi Populasi ........................................................................................... 8
2.3.3 Fungsi Evaluasi ................................................................................................. 8
2.3.4 Seleksi ............................................................................................................... 9
2.3.5 Operator Genetika ........................................................................................... 10
2.3.6 Elitsm .............................................................................................................. 14
BAB III METODE PENELITIAN ................................................................................... 15
3.1 Studi Pustaka .......................................................................................................... 15
3.2 Pengumpulan Data ................................................................................................. 15
3.3 Perancangan Sistem ............................................................................................... 15
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
3.4 Pembuatan Program ............................................................................................... 15
3.5 Evaluasi dan Analisis Hasil Penelitian ................................................................... 15
BAB IV ANALISIS DAN PERANCANGAN SISTEM .................................................. 17
4.1 Analisis Masalah .................................................................................................... 17
4.1.1 Analisis Model Lama ...................................................................................... 17
4.1.2 Analisis Model Baru ........................................................................................ 17
4.2 Analisis Kebutuhan Sistem .................................................................................... 17
4.2.1 Diagram Use Case ........................................................................................... 17
4.2.2 Narasi Use Case .............................................................................................. 18
4.3 Disain Proses .......................................................................................................... 18
4.3.1 Diagram Aktivitas ........................................................................................... 18
4.3.2 Model Kelas Analisis ...................................................................................... 18
4.3.3 Diagram Kelas UML ....................................................................................... 19
4.3.4 Algoritma method ........................................................................................... 19
4.4 Contoh Perhitungan Manual Algoritma Genetika .................................................. 25
4.4.1 Representasi kromosom .................................................................................. 25
4.4.2 Inisialisasi Populasi ......................................................................................... 26
4.4.3 Fungsi Evaluasi ............................................................................................... 27
4.4.4 Seleksi ............................................................................................................. 29
4.4.5 Crossover ........................................................................................................ 31
4.4.6 Mutation .......................................................................................................... 33
4.4.7 Elitsm .............................................................................................................. 34
4.6 Desain Antarmuka .................................................................................................. 34
BAB V IMPLEMENTASI, HASIL DAN PEMBAHASAN ............................................ 35
BAB IV PENUTUP ......................................................................................................... 50
DAFTAR PUSTAKA ...................................................................................................... 51
LAMPIRAN 1 NARASI USE CASE ............................................................................... 52
LAMPIRAN 2 DIAGRAM AKTIVITAS ........................................................................ 54
a. Memasukkan data proses...................................................................................... 54
b. Lihat hasil rekomendasi........................................................................................ 55
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
DAFTAR TABEL
Tabel 4. 1 Formasi Kromosom.............................................................................. 25
Tabel 4. 2 Struktur Array Sebuah Kromosom ...................................................... 26
Tabel 4. 3 Bobot Faktor umur ............................................................................... 28
Tabel 4. 4 Nilai fitness relatif dan kumulatif setiap kromosom ............................ 30
Tabel 4. 5 Kromosom terpilih sebagai induk ........................................................ 30
Tabel 4. 6 Pasangan induk acak ............................................................................ 31
Tabel 4. 7 Susunan gen ......................................................................................... 32
Tabel 4. 8 Susunan gen ......................................................................................... 34
Tabel 5. 1 Hasil Perhitungan Manual....................................................................40
Tabel 5. 2 Hasil Proses Genetika .......................................................................... 40
Tabel 5. 3 Percobaan 1 .......................................................................................... 42
Tabel 5. 4 Percobaan 2 .......................................................................................... 42
Tabel 5. 5 Percobaan 3 .......................................................................................... 43
Tabel 5. 6 Percobaan 4 .......................................................................................... 44
Tabel 5. 7 Percobaan 5 .......................................................................................... 45
Tabel 5. 8 Percobaan 6 .......................................................................................... 45
Tabel 5. 9 Percobaan 7 .......................................................................................... 46
Tabel 5. 10 Percobaan 8 ........................................................................................ 47
Tabel 5. 11 Percobaan Dengan PC 0.5 & PM 0.1 ................................................. 47
Tabel 5. 12 Percobaan Dengan PC 0.7 & PM 0.4 ................................................. 48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR GAMBAR
Gambar 2. 1 Ilustrasi Istilah Penting Algoritma Genetika ...................................... 5
Gambar 2. 2 Diagram Alur Algoritma Genetika ..................................................... 6
Gambar 2. 3 Diagram Alur Algoritma Genetika ..................................................... 7
Gambar 4. 1 Use Case................................................................................... ........18
Gambar 4. 2 Model Kelas Analisis ....................................................................... 18
Gambar 4. 3 Diagram Kelas UML ........................................................................ 19
Gambar 4. 4 Desain Halaman Utama .................................................................... 34
Gambar 5. 1 Implementasi Proses Pembentukan Kromosom ................................35
Gambar 5. 2 Implementasi Proses Fitness ............................................................ 36
Gambar 5. 3 Implementasi Proses Seleksi ............................................................ 36
Gambar 5. 4 Implementasi Proses Crossover ....................................................... 37
Gambar 5. 5 Implementasi Proses Mutation ......................................................... 38
Gambar 5. 6 Implementasi Proses Elitsm ............................................................. 38
Gambar 5. 7 Alat Uji Keberhasilan ....................................................................... 39
Gambar 5. 8 Percobaan Dengan PC 0.5 & PM 0.1 ............................................... 48
Gambar 5. 9 Percobaan Dengan PC 0.7 & PM 0.4 ............................................... 49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Penempatan guru merupakan tindakan pengaturan atas seseorang
untuk menempati suatu posisi atau jabatan tertentu. Penempatan tersebut
tentunya perlu memperhatikan beberapa faktor penting yang diantaranya
adalah jarak antara tempat tinggal guru dengan sekolah, jenis kelamin guru,
dan umur guru.
Faktor jarak antara tempat tinggal dengan tempat tugas ini akan
mempengaruhi penampilan serta fisik dari setiap guru tersebut. Guru yang
memiliki kondisi fisik yang prima tentunya akan meningkatkan konsentrasi
guru untuk mengajar setiap harinya. Guru harus bekerja secara optimal, maka
dari itu optimalisasi dalam kinerja guru sangat penting bagi dunia pendidikan.
Penempatan guru sekolah dasar negeri di Kabupaten Magelang
Provinsi Jawa Tengah Indonesia memiliki masalah yang dikarenakan hasil
penempatan guru sekolah dasar negeri tersebut tidaklah optimal. Jarak antara
tempat tinggal guru dengan tempat tugas cukup jauh, sehingga akan
mempengaruhi kondisi fisik dan penampilan guru.
Dalam mengatasi hal ini ada beberapa pendekatan algoritma yang
dapat digunakan sebagai dasar pencarian optimasi jarak, yang diantaranya
adalah Algoritma Exhaustive, Algoritma Genetika dan Algoritma Jaringan
Saraf Tiruan Hopfield Untuk Pencarian Rute Terpendek. Hasil dari penelitian
yang dilakukan oleh Adipranata (2011) mengatakan bahwa algoritma
Genetika bekerja lebih baik daripada Algoritma Exhaustive dan Algoritma
Jaringan Syaraf Tiruan Hopfield ditinjau dari jarak yang dihasilkan serta
waktu yang dibutuhkan untuk melakukan perhitungan pada algoritma.
Penelitian tentang penataan guru dengan menggunakan algoritma
genetika sudah pernah dilakukan sebelumnya oleh Sriwindono dkk. (2017).
Penelitian tersebut menggunakan beberapa faktor penting yang digunakan
untuk menentukan sebuah nilai fitness yang di antaranya adalah faktor umur
dan jenis kelamin. Penelitian tersebut menggunakan metode single point
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
crossover sebagai operator crossover-nya dan operator order changing
mutation atau yang disebut dengan swap mutation sebagai operator mutation-
nya.
Berdasarkan latar belakang yang telah dikemukakan di atas, maka
penulis tertarik, untuk melakukan penelitian mengenai penerapan Algoritma
Genetika untuk optimalisasi penataan guru dengan judul “SISTEM
OPTIMASI PENEMPATAN GURU DENGAN MENGGUNAKAN
ALGORITMA GENETIKA”, menggunakan metode single point crossover
dan reversing mutation pada operator genetika.
1.2 Rumusan Masalah
Berdasarkan latar belakang di atas maka dapat dirumuskan hal-hal sebagai
berikut:
1. Bagaimana membangun sebuah model optimasi penempatan guru
menggunakan algoritma genetika?
2. Seberapa optimalkah hasil keluaran sistem yang dibuat?
3. Berapa lama waktu yang dibutuhkan untuk menghasilkan
rekomendasi?
1.3 Batasan Masalah
Berdasarkan rumusan masalah maka dapat ditentukan batasan-batasan
masalah sebagai berikut:
1. Studi kasus Sekolah Dasar Negeri Kabupaten Magelang
2. Data yang digunakan untuk penelitian ini menggunakan data guru
sekolah dasar negeri Kabupaten Magelang.
3. Sistem dibangun dengan menggunakan bahasa pemrograman PHP
dan menggunakan basis data MYSQL
4. Setiap sekolah dianggap memiliki 6 rombongan belajar, sehingga
dalam satu sekolah memiliki 6 guru yang direkomendasikan.
5. Menggunakan metode single point crossover.
6. Menggunakan metode reversing mutation.
7. Dataset yang digunakan sebagai bahan percobaan sebanyak 230
sekolah dan 1380 guru.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.4 Tujuan Penelitian
Beberapa tujuan yang diharapkan atas penelitian ini adalah sebagai berikut:
1. Membangun sebuah model optimasi penempatan guru menggunakan
algoritma genetika untuk menangani penataan guru Sekolah Dasar di
Dinas Pendidikan Kabupaten Magelang
2. Mengetahui berapa optimal hasil rekomendasi yang dikeluarkan oleh
sistem.
3. Mengetahui durasi waktu yang dibutuhkan untuk memperoleh solusi
penempatan guru dengan menggunakan metode single point crossover
dan reversing mutation.
1.5 Manfaat Penelitian
Beberapa manfaat yang diharapkan atas penelitian ini adalah sebagai berikut:
1. Bagi Penulis
penelitian ini bermanfaat untuk menambah pengetahuan dan
pengalaman tentang pembuatan sebuah Model Optimasi Penataan
Guru dengan menggunakan Algoritma Genetika
2. Bagi Objek Penelitian
Model ini diharapkan dapat digunakan sebagai bahan rekomendasi
kebijakan Dinas Pendidikan Kabupaten Magelang untuk mengatasi
masalah penataan guru.
3. Bagi Peneliti Selanjutnya
Model ini diharapkan dapat digunakan sebagai bahan referensi
penelitian mengenai penerapan Algoritma Genetika pada kasus
Penempatan Guru
1.6 Sistematika Penulisan
Sistematika penulisan tugas akhir ini terdiri dari tujuh bab sebagai berikut:
1. Bab I Pendahuluan
Pada bab ini, penulis menjelaskan mengenai latar belakang,
rumusan masalah, tujuan penelitian, manfaat penelitian, batasan
masalah dan sistematika penulisan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
2. Bab II Landasan Teori
Pada bab ini berisi kajian atau uraian mengenai teori-teori
yang digunakan untuk mendukung pembuatan sistem optimasi
penataan guru. teori tersebut antara lain penjelasan mengenai
Algoritma Genetika.
3. Bab III Metode Penelitian
Pada bab ini berisi tentang metodelogi yang digunakan penulis
untuk menyelesaikan masalah yang diteliti. Metodelogi yang
digunakan antara lain adalah studi pustaka, pengumpulan data,
rancangan sistem. pembuatan program, evaluasi dan analisis hasil.
4. Bab IV Analisis Dan Desain Sistem
Pada bab ini berisi tentang analisis dan desain sistem yang
akan digunakan sebagai dasar dalam pengimplementasian ke dalam
bentuk kode program.
5. Bab V Implementasi Sistem
Pada bab ini berisi tentang implementasi sistem berdasarkan
analisis dan disain sistem kedalam bentuk program.
6. Bab VI Pengujian Dan Analisis Hasil
Pada bab ini berisi tentang analisis dari hasil keluaran sistem
yang telah diimplementasikan kedalam bentuk program. Bab ini juga
membahas tentang kelebihan dan kekurangan yang dimiliki oleh
sistem.
7. Bab VII Penutup
Pada bab ini berisi kesimpulan dari hasil penelitian dan saran
untuk para pengembang selanjutnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
LANDASAN TEORI
2.1 Definisi
Beberapa definisi penting yang perlu diperhatikan dalam algoritma
genetika adalah sebagai berikut (Kusumadewi, 2003), (Rich, 2010), (Luger,
2008), (Russell, 2009), (Negnevitsky, 2004), (Winston, 1993):
1. Gen, merupakan sebuah nilai yang menyatakan satuan dasar yang
membentuk suatu arti tertentu dalam satu kesatuan gen yang
dinamakan kromosom. Dalam algoritma genetika, gen ini bisa berupa
nilai biner, float, integer maupun karakter atau kombinatorial.
2. Allele, merupakan nilai dari gen.
3. Kromosom, merupakan gabungan gen-gen yang membentuk nilai
tertentu.
4. Populasi, merupakan sekumpulan individu yang akan diproses
bersama dalam satu siklus proses evolusi.
5. Generasi, menyatakan satu siklus proses evolusi atau satu iterasi di
dalam algoritma genetika.
Berikut adalah ilustrasi perbedaan istilah-istilah dari penjelasan diatas:
Gambar 2. 1 Ilustrasi Istilah Penting Algoritma Genetika
Sumber : (Kusumadewi, 2003), (Rich, 2010), (Luger, 2008), (Russell, 2009),
(Negnevitsky, 2004), (Winston, 1993).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
2.2 Algoritma Genetika
Algoritma genetika pertama kali dikembangkan pada tahun 1970-an
oleh Jhon Holland, seorang profesor di University of Michigan, Amerika.
Tujuan yang ingin dicapai Holland saat itu adalah mengabstraksikan proses-
proses evolusi yang terjadi di alam dan mendisain suatu software yang prinsip
kerjanya meniru proses-proses evolusi. Hasilnya, algoritma genetika ternyata
dapat menyelesaikan masalah-masalah yang tidak dapat diselesaikan dengan
menggunakan perhitungan matematika biasa.
Menurut Arkeman (2012), algoritma genetika adalah suatu teknik
pencarian (searching technique) dan teknik optimasi yang cara kerjanya
meniru proses evolusi dan perubahan struktur genetik pada makhluk hidup.
Prinsip kerja algoritma genetika adalah melalui persilangan dan mutation,
akan ada individu-individu yang baru pada populasi sebagai populasi generasi.
Persilangan atau mutation akan dilakukan lagi sehingga populasi yang baru
dapat menemukan nilai pembandingnya. Proses ini akan diulangi selama
beberapa generasi hingga dihasilkan suatu hasil yang optimal.
Secara umum diagram alur algoritma genetika diilustrasikan melalui
gambar 2.2:
Gambar 2. 2 Diagram Alur Algoritma Genetika
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Dalam penelitian ini penulis menggunakan alur algoritma genetika
yang telah dikembangkan oleh Zbigniew Michalewicz pada tahun 1992.
Michalewicz menambahkan proses baru yang bernama elitsm, proses ini
digunakan untuk menggantikan kromosom yang memiliki nilai fitness paling
buruk dengan kromosom yang paling baik. Kromosom yang paling baik
diambil saat proses hitung fitness dilakukan, sehingga alur algoritmanya
menjadi seperti gambar 2.3:
Gambar 2. 3 Diagram Alur Algoritma Genetika
Sumber: Michalewicz (1992)
2.3 Langkah Perhitungan Algoritma Genetika
Berikut adalah penjelasan mengenai alur yang digunakan dalam
algoritma genetika yang telah dikembangkan oleh Zbigniew Michalewicz:
2.3.1 Representasi Kromosom
Kromosom adalah kumpulan dari beberapa gen tertentu yang
dibentuk secara acak. Gen dapat direpresentasikan dalam bentuk bit,
bilangan real, daftar aturan, elemen permutation, elemen program atau
representasi lainnya yang dapat diimplementasikan untuk operator
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
genetika. Pengkodean representasi kromosom dapat bervariasi, sesuai
dengan sifat dari masalah itu sendiri. Metode yang paling sering
digunakan adalah metode pengkodean bit string (Man , 1998).
2.3.2 Inisialisasi Populasi
Membangkitkan populasi awal adalah membangkitkan sejumlah
individu secara acak atau melalui prosedur tertentu. Ukuran populasi
tergantung pada masalah yang akan dipecahkan dan jenis operator
genetika yang akan diimplementasikan. Setelah ukuran populasi
ditentukan, kemudian harus dilakukan inisialisasi terhadap kromosom
yang terdapat pada populasi tersebut. Inisialisasi kromosom dilakukan
secara acak, namun demikian harus tetap memperhatikan domain solusi
dan kendala permasalahan yang ada (Man , 1998).
Teknik dalam pembangkitan populasi awal yang diantaranya
adalah sebagai berikut:
1. Random Generator
Inti dari teknik ini adalah melibatkan pembangkitan bilangan yang
dilakukan secara random untuk nilai setiap gen sesuai dengan
representasi kromosom yang digunakan.
2. Pendekatan Tertentu
Cara ini adalah dengan memasukkan nilai tertentu ke dalam gen dari
populasi yang dibentuk.
3. Permutation Gen
Penggunaan permutation Josephus dalam permasalahan
kombinatorial seperti TSP adalah salah satu cara permutation gen
dalam pembangkitan populasi awal.
2.3.3 Fungsi Evaluasi
Evaluasi digunakan untuk mendapatkan hasil yang baik untuk
digunakan dalam metode fitness. Nilai fitness ini yang dijadikan acuan
dalam mencapai nilai optimal. Di dalam evolusi alam, individu yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
bernilai fitnes tinggi akan bertahan hidup. Sedangkan individu yang
bernilai fitnes rendah akan dihentikan. Pada tahap ini kromosom terbaik
akan disimpan untuk dimasukkan kedalam proses elitism Hasibuan
(2015).
2.3.4 Seleksi
Seleksi digunakan untuk memilih individu-individu mana saja
yang akan dipilih untuk proses kawin silang dan mutation. Seleksi
digunakan untuk mendapatkan calon induk yang baik. Semakin tinggi
nilai fitness suatu individu semakin besar kemungkinannya untuk
terpilih.
Metode seleksi yang digunakan pada skripsi ini adalah metode
roulette wheel selection. Metode seleksi roda roulette ini merupakan
metode yang paling sederhana serta paling banyak digunakan, dan sering
juga dikenal dengan nama stochastic sampling with replacement. Agar
metode ini dapat dilakukan maka Nilai fitness relatif dan nilai fitness
kumulatif harus diketahui terlebih dahulu, kemudian Sebuah bilangan
random akan dibangkitkan dan individu yang memiliki segmen dalam
kawasan bilangan random tersebut akan diseleksi. Proses ini diulang
hingga diperoleh sejumlah individu yang diharapkan.
Berikut adalah rumus yang digunakan untuk mencari nilai fitness
relatif:
[ ] [ ]
∑
Di mana:
f = nilai fitness
∑f = total nilai fitness semua kromosom
i = kromosom ke-i
P = probabilitas relatif
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Kemudian hasil dari perhitungan dengan menggunakan rumus
4.1 akan digunakan sebagai bahan nilai untuk mencari fitness kumulatif.
Perhitungan untuk mencari nilai kumulatif dilakukan sebanyak jumlah
populasi yang dimiliki, sehingga akan diperoleh kelompok yang
memiliki jarak nilai tertentu pada setiap kelompoknya. Fitness kumulatif
dihitung dengan cara berikut ini:
C[i] = C[i-1] + P[i] .......................................
Di mana:
C = fitness Kumulatif
i = kromosom ke-i
P = probabilitas relatif
Kemudian bentuk bilangan random antara 0 sampai 1 dan periksa
bilangan random tersebut masuk pada kelompok mana, kelompok
tersebutlah yang akan menjadi acuan orang tua yang terpilih untuk
dikawin silangkan.
2.3.5 Operator Genetika
Terdapat dua jenis operator genetika yaitu crossover dan
mutation.
2.3.5.1 Crossover
Menurut Padmavathi (2017) terdapat beberapa jenis crossover
yang dapat diterapkan untuk menghasilkan solusi, dalam penelitian ini
untuk mendapatkan sebuah solusi penulis menggunakan sebuah operator
single point crossover. Berikut ini adalah beberapa jenis dari operator
crossover:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
1. Single Point Crossover
Single point crossover adalah jenis crossover yang paling
banyak digunakan. Crossover ini bekerja dengan cara menyilangkan 2
individu dengan 1 batas tertentu pada kedua orang tua yang memiliki
kualitas terbaik, dengan harapan menghasilkan keturunan yang baik
pula. Kualitas terbaik dapat dilihat dari nilai fitness dari setiap
kromosom. Batas titik potong dari sebuah kromosom dapat dipilih
secara acak.
2. N Point Crossover
N Point Crossover pertama kali diimplementasikan oleh De
Jong pada tahun 1975. Dalam pengaplikasian N Point Crossover kita
menggunakan banyak titik potong Yaitu menyilangkan 2 individu
terbaik dengan 2 atau lebih batas tertentu pada kedua orang tua
terbaik yang dikawin silangkan. Aturan yang digunakan hampir sama
dengan pengaplikasian Single Point Crossover tetapi yang berbeda
adalah jumlah dari titik potongnya.
3. Uniform Crossover
Uniform Crossover dilakukan dengan cara menyalin gen dari
orang tua yang dipilih sesuai dengan panjang dan bit yang sama.
Jumlah dari titik potong tidak lah tetap sehingga keturunannya
memiliki campuran gen dari kedua orang tuanya.
4. Three Parent Crossover
Dalam Three Parent Crossover ketiga orang tua dipilih
secara acak, kemudian setiap gen dari induk pertama dibandingkan
dengan setiap gen dari induk kedua, jika induk pertama dan induk
kedua serupa gen tersebut diambil untuk dijadikan keturunan atau
dengan gen lain yang setara dengan orang tua ketiga yang digunakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
untuk anak-anaknya. Crossover ini biasanya digunakan untuk kasus
biner kromosom yang disandikan.
5. Arithmetic Crossover
Arithmetic Crossover digunakan dalam kasus pengkodean
nilai riil. Operator crossover aritmatika dijalankan dengan
menggabungkan kedua orang tua induk secara linier. Kedua orang tua
dipilih secara acak kemudian dilanjutkan dengan membuat dua anak
yang berasal dari campuran linear dari orang tua mereka.
6. Partially Mapped Crossover
Partially Mapped Crossover diusulkan oleh Goldberg dan
Lingle untuk penyelesaian kasus Traveling Salesman Problem. Orang
tua yang akan dikawin silangkan dipilih secara acak. Fraksi yang
berada di antara dua titik potong memberikan sebuah pilihan yang
sesuai untuk mengalami pertukaran posisi.
7. Crossover ORDER (OX)
Crossover ORDER diusulkan oleh Davis dan banyak
digunakan untuk kromosom dengan pengkodean permutation. Proses
yang digunakan untuk melakukan kawin silang hampir mirip dengan
cara Partially Mapped Crossover. Crossover ini menerapkan
pergerakan geser untuk mengisi bagian kiri dengan mengirim posisi
yang dipetakan. Crossover ini menyalin sebagian elemen permutation
antara titik potong langsung ke anak.
8. Cycle Crossover (CX)
Crossover ini digunakan untuk kromosom dengan
permutation encoding. Selama rekombinasi dalam Cycle Crossover
terdapat sebuah keterbatasan bahwa setiap gen yang baik berasal dari
satu orang tua atau orang tua lainnya. Model dari Cycle Crossover
menyatakan bahwa setiap allele berasal dari satu induk.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
2.3.5.2 Mutation
Mutation merupakan proses untuk mengubah nilai dari satu atau
beberapa gen dalam suatu kromosom. Operasi Mutation yang dilakukan
pada kromosom dengan tujuan untuk memperoleh kromosom-kromosom
baru sebagai kandidat solusi pada generasi mendatang dengan fitness
yang lebih baik, dan lama-kelamaan menuju solusi optimum yang
diinginkan
Menurut Soni (2014) ada berbagai macam jenis mutation yang
diantaranya adalah sebagai berikut:
1. Insert mutation
Digunakan untuk encoding permutation. Pertama-tama pilih
dua nilai allele secara random kemudian pindahkan allele yang kedua
untuk mengikuti yang pertama kemudian secara bersamaan
menggeser allele lainnya. Pada mutation ini mengutamakan
mempertahankan sebagian besar informasi dan pesan ketetanggaan.
2. Inversion mutation
Mutation ini dimulai dengan cara memilih dua gen secara
acak kemudia membalikkan posisi gen yang terdapat diantara 2 gen
yang telah dipilih secara acak sebelumnya.
3. Reversing mutation
Mutation ini dimulai dengan memilih secara acak titik yang
akan digunakan sebagai titik untuk membalikkan kromosom yang
berada di belakang titik gen yang dipilih dengan kromosom yang
berada di depan titik gen yang dipilih.
Selain dari ketiga mutation di atas masih terdapat beberapa
mutation lainnya yang diantaranya adalah Scramble mutation, Swap
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
mutation, Flip mutation, Interchanging mutation, Uniform mutation dan
Creep mutation menurut (Soni, 2014).
2.3.6 Elitsm
Kromosom elit adalah kromosom yang memiliki nilai terendah.
Kromosom elit disimpan dan akan dimasukkan ke dalam populasi baru
yang akan diproses pada iterasi selanjutnya. Proses elitism ditambahkan
karena terdapat kemungkinan bahwa kromosom terbaik pada generasi
sebelumnya tidak termasuk pada populasi baru atau nilai fitness
kromosom terbaik tersebut telah mengalami penurunan dikarenakan
proses crossover dan mutation. Elitism dilakukan dengan menyalin
kromosom terbaik yang telah disimpan pada tahap evaluasi yang
sebelumnya untuk menggantikan kromosom yang memiliki nilai fitness
paling rendah di dalam populasi baru (Hasibuan, 2015)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
BAB III
METODE PENELITIAN
3.1 Studi Pustaka
Penulis melakukan Pengumpulan informasi mengenai cara kerja
Algoritma Genetika dengan cara mengumpulkan serta membaca buku dan
jurnal penelitian yang membahas tentang penerapan Algoritma genetika.
3.2 Pengumpulan Data
Sumber data yang digunakan untuk menjalankan penelitian ini berupa
data internal yang bersumber dari Dinas Pendidikan Pemuda dan Olahraga
Kabupaten magelang. Data yang digunakan adalah umur pegawai, jenis
kelamin, tempat tugas dan jarak antara rumah guru dengan sekolah.
3.3 Perancangan Sistem
Pada tahap ini penulis melakukan analisa akan rancangan dan
kebutuhan sistem, yang diantaranya adalah arsitektur sistem berdasarkan
persyaratan yang sudah ditetapkan. Tahap ini penulis juga melakukan analisa
data yang akan digunakan dalam proses, seperti jumlah guru dan jumlah
sekolah. Struktur pembentukan sebuah kromosom menjadi hal yang sangat
penting dalam tahap ini. Dengan struktur yang tepat maka diharapkan akan
mendapatkan hasil yang optimal.
3.4 Pembuatan Program
Pada tahap ini penulis melakukan implementasi dari sebuah rancangan
sistem yang telah dibuat kedalam bentuk kode.
3.5 Evaluasi dan Analisis Hasil Penelitian
Pada tahap ini penulis melakukan evaluasi akan hasil yang telah
dikeluarkan oleh sistem serta menganalisis hasil tersebut dengan tujuan untuk
menjawab rumusan masalah yang telah dipaparkan sebelumnya. Lama waktu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
proses dapat diukur dengan membuat sebuah grafik berdasarkan durasi
running program dengan probabilitas crossover dan probabilitas mutation
yang berbeda-beda setiap beberapa kali percobaan. Variasi percobaan
dilakukan sebanyak dua kali yaitu dengan nilai probabilitas crossover 0.5 dan
0.7 serta probabilitas mutation-nya 0.1 dan 0.4. setiap satu kali variasi
dilakukan sebanyak empat kali variasi percobaan. Dari empat kali variasi
percobaan tersebut menggunakan boundary atau batasan yang berbeda-beda
yaitu 10, 15, 20 dan 25. Setiap satu boundary dilakukan 10 kali percobaan
untuk mendapatkan nilai rata-rata pada boundary dan probabilitas yang
ditetapkan.
Selanjutnya dari percobaan tersebut dapat dibandingkan nilai
probabilitas dan boundary dengan kombinasi yang tepat untuk memperoleh
nilai rekomendasi yang mendekati optimal. Solusi yang optimal dapat diukur
dengan melihat hasil keluaran dari setiap proses yang telah dijalankan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
BAB IV
ANALISIS DAN PERANCANGAN SISTEM
4.1 Analisis Masalah
4.1.1 Analisis Model Lama
Model yang dibangun adalah sebuah model yang dapat
memberikan rekomendasi penempatan guru berdasarkan jarak antara
tempat tinggal guru dengan tempat tugas, umur guru, dan jenis kelamin.
Sistem dibuat dengan menggunakan metode Single Point Crossover dan
metode Swap Mutation. Sistem lama yang dibuat masih memerlukan
waktu yang cukup lama untuk memperoleh rekomendasi penempatan
guru.
4.1.2 Analisis Model Baru
Model yang akan dibangun adalah sebuah model yang dapat
memberikan rekomendasi penempatan guru berdasarkan jarak antara
tempat tinggal guru dengan tempat tugas, umur guru, dan jenis kelamin.
Penempatan yang telah dilakukan saat ini masih memerlukan waktu
yang cukup lama untuk memperoleh hasil rekomendasi, oleh sebab itu
model ini diharapkan dapat memberikan waktu proses yang optimal dan
dapat digunakan untuk memperoleh rekomendasi penempatan guru,
model ini menggunakan metode Single Point Crossover dan metode
Reversing Mutation dan menggunakan alur algoritma genetika yang
telah dikembangkan oleh Zbigniew Michalewicz pada tahun 1992.
4.2 Analisis Kebutuhan Sistem
4.2.1 Diagram Use Case
Agar program dapat berjalan dengan lancar maka pengguna harus dapat
memasukkan data proses, data proses tersebut diantaranya adalah jumlah
populasi, batas boundary, jumlah sekolah, probabilitas crossover dan
probabilitas mutation. Kemudian pengguna dapat melihat hasil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
rekomendasi yang sudah diberikan oleh sistem. Gambar 4.1 adalah use
case diagram untuk pengguna.
Gambar 4. 1 Use Case
4.2.2 Narasi Use Case
Terdapat 12 narasi Use case pada lampiran 1.
4.3 Disain Proses
4.3.1 Diagram Aktivitas
Terdapat 12 diagram aktivitas pada lampiran 2.
4.3.2 Model Kelas Analisis
Berdasarkan diagram flow chart program pada gambar 2.3 maka
diperoleh sebuah model kelas analisis sebagai berikut:
Gambar 4. 2 Model Kelas Analisis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
4.3.3 Diagram Kelas UML
Berdasarkan model kelas analisis pada gambar 4.2 maka dibuat
sebuah kelas UML seperti pada gambar 4.3.
Gambar 4. 3 Diagram Kelas UML
4.3.4 Algoritma method
Nama function : Function pembentukanKromosom( );
Input : $jumlahPopulasi, $jumlahSekolah, $jumlahGuru;
Proses : 1. Inisialisasi variabel array bernama kromosom yang
digunakan untuk menyimpan hasil dari perhitungan
2. Inisialisasi variabel bantu yang digunakan sebagai
pointer ke-1 pembentukan krosmosom
3. Ulangi sebanyak jumlah populasi dan lakukan
langkah-langkah berikut:
a. Bentuk variabel baru untuk menyimpan hasil dari
perhitungan dari function randomSekolah
($jumlahSekolah)
b. Bentuk variabel baru untuk menyimpan hasil dari
perhitungan dari function randomGuru
($jumlahGuru)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
c. Bentuk variabel baru untuk menjadi pointer ke-2
d. Ulangi sebanyak jumlah guru dan lakukan
langkah-langkah berikut:
a. Bentuk variabel baru untuk menyimpan data
id guru sementara dengan nilai index dari
perulangan kedua bernama $g
b. Simpan nilai dari random guru kedalam
variabel baru kedalam variabel $g
c. Jika pointer ke-1 kurang dari 6 maka kerjakan
langkah berikut ini:
Simpan nilai dari random sekolah
kedalam variabel baru pada $g
Tambahkan variabel pointer ke-1
dengan 1
Jika variabel bantu pointer ke-1 sama
dengan 6 maka set pointer ke-1 dengan
0 dan tambahkan pointer ke-2 dengan 1.
d. Tambahkan variabel $kromosom dengan
nilai dari variabel $g
4. Kembalikan nilai dari kromosom
output : nilai dari kromosom berbentuk array 2 dimensi.
Nama function : Seleksi ($evaluasiFitness, $total_fitness, $kromosom)
Input : $jumlahPopulasi
Proses : 1. Bentuk variabel untuk menyimpan hasil dari
perhitungan dari function FitnessRelatif
($evaluasiFitness, $total_fitness, $jumlahPopulasi)
2. Bentuk variabel untuk menyimpan hasil dari
perhitungan dari function FitnessKumulatif
($fitness_relatif);
3. Bentuk variabel untuk menyimpan hasil dari
perhitungan dari function BilanganAcak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
($jumlahPopulasi);
4. Bentuk variabel untuk menyimpan hasil dari
perhitungan function KromosomInduk( ) yang terpilih
5. Mengembalikan nilai dari variabel yang bernama
$kromosom_terpilih
output : nilai dari kromosom berbentuk array 2 dimensi.
Nama function : evaluasiFitness ($kromosom, $jarak_kromosom,
$bobot_umur)
Input : $jumlahPopulasi, $jumlahSekolah, $jumlahGuru;
Proses : 1. Inisialisasi variabel array bernama $totalFitnesss yang
digunakan untuk menyimpan hasil dari perhitungan
2. Ulangi sebanyak jumlah populasi dan lakukan
langkah-langkah berikut:
a. Bentuk variabel array bernama simpanFitness
b. Ulangi sebanyak jumlah guru dan lakukan
langkah-langkah berikut:
Simpan kromosom pada variabel index yang
akan digunakan sebagai index pointer
Bentuk variabel yang digunakan untuk
menyimpan perhitungan bobot yang dikalikan
dengan jarak krosmosom
Tambahkan bobot nilai fitness kedalam
variabel simpan Fitness
c. Jumlahkan variabel array bernama
$simpanFitness dan simpan kedalam variabel
baru bernama $totalFitness
d. Tambahkan variabel $totalFitness kedalam
variabel $totalFitnesss
3. Kembalikan nilai dari variabel $totalFitnesss
output : Array dari nilai total fitnesss
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Nama function : Crossover($kromosom)
Input : $pc
Proses : 1. Inisialisasi variabel array bernama $pasang yang
digunakan untuk menyimpan hasil dari perhitungan
function PasanganInduk ($kromosom)
2. Inisialisasi variabel array bernama $bilanganAcak
yang digunakan untuk menyimpan hasil dari
perhitungan function BilanganAcak(count($pasang))
3. Ulangi sebanyak jumlah bilangan acak yang
tersimpan dalam variabel dan lakukan langkah-
langkah berikut:
a. Bentuk variabel array bernama simpanFitness
b. Ulangi sebanyak jumlah guru dan lakukan
langkah-langkah berikut:
Jika bilangan acak kurang dari sama dengan
nilai dari variabel $pc
Bentuk variabel baru bernama $a dan
disi dengan variabel $pasang [$index1]
[0]; variabel $index1 akan berubah setiap
kali berulang.
Bentuk variabel baru bernama $b dan disi
dengan variabel $pasang [$index1] [1];
variabel $index1 akan berubah setiap kali
berulang.
Bentuk variabel bernama $anak yang
digunakan untuk menyimpan hasil dari
perhitungan pada SinglePointCrosover
($kromosom[$a], $kromosom[$b]);
Bentuk variabel bernama $kromosom
[$a] yang digunakan untuk menyimpan
nilai dari variabel $anak[0];
Bentuk variabel bernama $anak[0] yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
digunakan untuk menyimpan nilai dari
variabel $kromosom[$a];
Bentuk variabel bernama $kromosom
[$a] yang digunakan untuk menyimpan
nilai dari variabel $anak[0];
Bentuk variabel bernama $kromosom
[$b] yang digunakan untuk menyimpan
nilai dari variabel $anak[1];
Bentuk variabel bernama $anak[1] yang
diguanakan untuk menyimpan nilai dari
variabel $kromosom[$b];
Bentuk variabel bernama $kromosom
[$b] yang digunakan untuk menuimpan
nilai dari variabel $anak[1];
Jika bilangan acak lebih besar dari nilai dari
variabel $pc maka break;
4. Kembalikan nilai dari variabel $kromosom
output : Nilai dari variabel array $kromosom
Nama function : mutasi($kromosom)
Input : $pm
Proses : 1. Bentuk variabel bernama $bilanganAcak yang
digunakan untuk menyimpan nilai dari function
BilanganAcak(count($kromosom))
2. Ulangi sebanyak jumlah bilangan acak yang
tersimpan dalam variabel dan lakukan langkah-
langkah berikut:
a. Jika bilangan acak kurang dari nilai variabel
$pm:
Bentuk variabel bernama $pointRanA untuk
menyimpan nilai random dari 0 sampai nilai
dari setengah jumlah nilai dari variabel
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
$kromosom
Bentuk variabel bernama $pointRanB yang
digunakan untuk menghitung jumlah dari
nilai variabel $kromosom yang dikurangi
dengan 1
Bentuk variabel bernama $pointRanC
yang digunakan untuk menyimpan hasil
perhitungan dari variabel ($pointRanB -
$pointRanA) + 1;
Bentuk variabel bernama $pointD yang
diguanakan untuk menyimpan nilai dari
function ulangMutasi($pointRanC);
Ulangi sebanyak nilai dari $pointD.
Bentuk variabel baru bernama $bantu1
yang diguanakan untuk menyimpan
nilai dari variabel $kromosom [$index]
[$pointRanA] [0];
Bentuk variabel baru bernama $bantu2
yang digunakan untuk menumpan nilai
dari variabel $kromosom [$index]
[$pointRanB] [0];
Tukar nilai barabel yang bernama
$kromosom[ $index] [$pointRanA] [0]
dengan variabel yang bernama $bantu2;
Tukar nilai barabel yang bernama
$kromosom [$index] [$pointRanB] [0]
dengan nilai dari variabel $bantu1;
Tambahkan nilai dari variabel
$pointRanA dengan 1
Kurangi nilai dari variabel $pointRanB
dengan 1
Kosongkan nilai dari variabel $bantu1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
Kosongkan nilai dari variabel $bantu2
3. Kembalikan nilai dari variabel $kromosom
output : Nilai dari variabel array $kromosom
4.4 Contoh Perhitungan Manual Algoritma Genetika
Berikut ini adalah contoh perhitungan dari penempatan guru dengan
menggunakan algoritma genetika.
4.4.1 Representasi kromosom
Setiap guru akan ditugaskan ke dalam sebuah rombongan belajar
tertentu pada sekolah tertentu, Penempatan guru tersebut dilakukan secara
acak. Seperti yang terlihat pada tabel 4.1. guru g1 ditugaskan pada
rombongan belajar 1 pada sekolah A, tidak menutup kemungkinan ketika
dilakukan penempatan secara acak guru g2 dapat ditugaskan di rombongan
belajar 1 pada sekolah A, begitu seterusnya sampai sejumlah guru yang akan
diproses.
Panjang dari kromosom yang ditentukan adalah jumlah total kelompok
belajar yang dikalikan dengan jumlah sekolah, misalnya jumlah sekolah
adalah 2, jumlah rombongan belajar dalam suatu sekolah adalah 6, maka
panjang dari kromosom atau jumlah sel dalam satu kromosom adalah 12
Representasi kromosom dalam penelitian ini diilustrasikan seperti pada
tabel 4.1.
Tabel 4. 1 Formasi Kromosom
s1 s2
g1 g2 g3 g4 g5 g6 g7 g8 g9 g10 g11 g12
Pada tabel 4.1, s1 menyatakan sekolah satu, s2 menyatakan sekolah
dua dan g1 sampai g12 menyatakan guru yang berbeda-beda. Data guru dan
sekolah tersebut akan diambil data jarak antara sekolah dengan tempat tinggal
guru tersebut, selain itu umur juga digunakan untuk menentukan nilai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
fitnessnya. g1 sampai g2 hanya akan muncul satu kali, sehingga tidak akan ada
guru yang direkomendasikan pada dua sekolah atau lebih.
Tabel 4.2 berikut digambarkan struktur data array dalam pembentukan
kromosom:
Tabel 4. 2 Struktur Array Sebuah Kromosom
Iterasi Kromosom Sel Allele
I[0]
K[0]
G[0] Id_guru[0] Id_sekolahA[1]
..... ..... .....
G[5] Id_guru[0] Id_sekolahA[1]
G[6] Id_guru[0] Id_sekolahB[1]
..... ..... .....
G[11] Id_guru[0] Id_sekolahB[1]
..... ..... ..... .....
K[n] ..... ..... .....
I[n]
K[0] ..... ..... .....
..... ..... ..... .....
K[n] ..... ..... .....
4.4.2 Inisialisasi Populasi
Teknik dalam membangkitkan populasi awal yang digunakan pada
skripsi ini adalah dengan menggunakan teknik random generator. Inti dari
cara ini adalah melibatkan pembangkitan bilangan random untuk nilai setiap
gen sesuai dengan representasi kromosom yang digunakan.
Setiap gen diisi dengan array 0 dan array 1. Array 0 diisi oleh id guru
sedangkan array 1 disi dengan id sekolah. Dikarenakan setiap kromosom
memiliki dua sekolah yang harus diisi dengan guru yang berbeda secara
acak, maka gen ke-1 sampai dengan gen ke-6 diisi dengan id sekolah yang
sama. Begitu pula dengan gen ke-7 sampai dengan gen ke-12 diisi dengan id
sekolah yang sama.
Jumlah kromosom yang ditentukan adalah sesuai dengan masukkan
yang diberikan oleh pengguna. berikut adalah ilustrasi pembentukan sebuah
kromosom.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
kromosom[0] => Array(
Gen [0] =>
([0] => 2776 [1] => 41)
Gen [1] =>
([0] => 1853 [1] => 41)
Gen [2] =>
([0] => 152 [1] => 41)
Gen [3] =>
([0] => 2264 [1] => 41)
Gen [4] =>
([0] => 2285 [1] => 41)
Gen [5] =>
([0] => 1808 [1] => 41)
Gen [6] =>
([0] => 926 [1] => 283)
Gen [7] =>
([0] => 1234 [1] => 283)
Gen [8] =>
([0] => 2826 [1] => 283)
Gen [9] =>
([0] => 1294 [1] => 283)
Gen [10]=>
([0] => 2733 [1] => 283)
Gen [11]=>
([0] => 2736 [1] => 283))
4.4.3 Fungsi Evaluasi
Langkah selanjutnya adalah setiap kromosom akan menjalani proses
evaluasi untuk mendapatkan nilai fitness dari masing – masing kromosom.
Nilai fitness ditentukan dengan cara menghitung jarak yang dikalikan
dengan bobot faktor umur. Rumus yang digunakan untuk menghitung nilai
fitness adalah sebagai berikut Sriwindono, dkk (2017):
∑
Dimana:
n = banyaknya guru
si = jarak antara rumah guru ke-i dengan sekolah
w = bobot faktor usia seperti pada tabel 4.3
i = indeks kromosom ke-i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Seorang guru perempuan atau laki-laki yang usianya kurang dari 46
tahun dimasukkan dalam kelompok normal dan diberi bobot jarak 1.
Seorang guru laki-laki yang usianya> = 46 tahun akan diberikan berat badan
0,8. Seorang guru perempuan yang usianya> = 46 tahun akan diberikan berat
0,6. Sriwindono, dkk.(2017). Berikut ini adalah tabel bobot faktor umur:
Tabel 4. 3 Bobot Faktor umur
Sumber: Sriwindono, dkk (2017)
Jenis kelamin Umur < 46 Umur > 46
Wanita 1 0.6
pria 1 0.8
Lakukan langkah perhitungan dengan menggunakan rumus 4.1 pada
setiap kromosom, agar setiap kromosom memiliki nilai fitness yang akan
digunakan untuk melihat seberapa optimal solusi yang diberikan oleh
sistem, seperti pada ilustrasi berikut ini:
Kromosom 1 = (umur) ((2776 => 41) . xi) + (umur) ((1853 => 41) . xi) +
(umur) ((152 => 41) . xi) + (umur) ((2264 => 41) . xi) +
(umur) ((2285 => 41) . xi) + (umur) ((1808 => 41) . xi) +
(umur) ((926 => 283) . xi) + (umur) ((1234 => 283) . xi)
+ (umur) ((2826 => 283) . xi) + (umur) ((1294 => 283) .
xi) + (umur) ((2733 => 283) . xi) + (umur) ((2736 =>
283) . xi)
= 9581787.2
Lakukan langkah-langkah perhitungan yang sama untuk kromosom
selanjutnya. Kemudian jumlahkan nilai fitness dari setiap kromosom. Total
fitness tersebut akan digunakan untuk menghitung fitness relative pada tahap
seleksi. Sehingga total fitness yang didapat adalah 72957925.4. kemudian
simpan kromosom yang memiliki nilai fitness paling rendah untuk dijadikan
kromosom elit yang nantinya akan menggantikan kromosom terburuk pada
tahap terakhir.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
4.4.4 Seleksi
Dari hasil perhitungan nilai fitness maka dapat dilanjutkan dengan
menggunakan rumus 2.1, lakukan perhitungan pencarian nilai fitness relatif
pada setiap kromosom seperti pada ilustrasi di bawah ini:
P[0] => 9581787.2 / 72957925.4 = 0.13133305459916
P[1] => 10163626.6 / 72957925.4 = 0.13930805384441
P[2] => 16391643.2 / 72957925.4 = 0.22467255079049
P[3] => 13831215.2 / 72957925.4 = 0.18957796735816
P[4] => 13699592 / 72957925.4 = 0.18777387000645
P[5] => 9290061.2 / 72957925.4 =0.12733450340133
Dari hasil perhitungan yang telah dilakukan di atas maka dapat
dilanjutkan dengan menggunakan rumus 2.2, lakukan perhitungan pencarian
nilai fitness kumulatif pada setiap kromosom seperti pada ilustrasi dibawah
ini:
C[0] = 0 + 0.13133305459916 = 0.13133305459916
C[1] = 0.13133305459916+0.13930805384441 = 0.27064110844358
C[2] = 0.27064110844358+0.22467255079049 = 0.49531365923407
C[3] = 0.49531365923407+0.18957796735816 = 0.68489162659222
C[4] = 0.68489162659222+0.18777387000645 = 0.87266549659867
C[5] = 0.87266549659867+0.12733450340133 = 1
Ketika hasil dari perhitungan fitness relatif dan fitness kumulatif
sudah ditemukan maka, untuk tahap selanjutnya adalah melakukan proses
seleksi kromosom berdasarkan dari proporsi dari fitness kumulatif seperti
pada tabel 4:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Tabel 4. 4 Nilai fitness relatif dan kumulatif setiap kromosom
Kromosom Fitness relative Fitness kumulatif
1 0.13133305459916 0 - 0.13133305459916
2 0.13930805384441 0.13133305459916 - 0.27064110844358
3 0.22467255079049 0.27064110844358 - 0.49531365923407
4 0.18957796735816 0.49531365923407 - 0.68489162659222
5 0.18777387000645 0.68489162659222 - 0.87266549659867
6 0.12733450340133 0.87266549659867 - 1
Kemudian lanjutkan dengan melakukan proses roulete-wheel yaitu
dengan bangkitkan bilangan acak 0 sampai 1 sebanyak jumlah populasi.
misal bilangan acak (R) yang dibangkitkan sebagai berikut:
R1 = 0,124
R2 = 0,835
R3 = 0,964
R4 = 0,235
R5 = 0,459
R6 = 0,345
Jika R[k] < C[k] maka kromosom ke- k sebagai induk. Selain itu
pilih kromosom ke-k sebagai induk dengan syarat C[k-1] < R[k] < C[k].
Sehingga kromosom induk yang terpilih untuk menjalani proses reproduksi
adalah seperti pada tabel 5.
Tabel 4. 5 Kromosom terpilih sebagai induk
Induk Ri Kromosom
terpilih
1 0,124 1
2 0,835 5
3 0,964 6
4 0,235 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
5 0,459 3
6 0,345 3
4.4.5 Crossover
Pada proses ini pemasangan induk dilakukan secara acak sebanyak
setengah dari ukuran populasi dan tentukan nilai probabilitas crossover.
misalnya Nilai probabilitas crossover yang sudah ditentukan adalah 0.6.
Tabel 4. 6 Pasangan induk acak
Pasangan 1 Induk 3
Induk 5
Pasangan 2 Induk 6
Induk 1
Pasangan 3 Induk 4
Induk 2
Bangkitkan bilangan acak Ri antara 0 sampai 1 sebanyak jumlah
pasangan induk. Jika bilangan acak Ri kurang atau sama dengan Pc, maka
pasangan ke-i akan mengalami crossover. Jika sebaliknya, maka pasangan
tersebut masuk ke tahap berikutnya. Misal bilangan acak yang dibangkitkan
adalah sebagai berikut:
R1 = 0,743
R2 = 0,536
R3 = 0,945
Dari bilangan acak yang telah dibangkitkan, terdapat satu nilai yang
kurang dari nilai Pc yakni pada R2. Artinya pasangan ke-2 akan mengalami
crossover yaitu induk 6 dan induk 1, dan sisanya akan masuk ke tahap
berikutnya tanpa mengalami crossover. Berikut ini merupakan proses
crossover satu titik pada pasangan induk yang telah terpilih:
Berikut ini merupakan proses Single Point Crossover, langkah-
langkahnya adalah dengan cara membangkitkan bilangan acak dari 1 sampai
panjang kromosom. Panjangnya kromosom adalah 12, maka akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
dibangkitkan nilai acak dari 1 sampai 12 sebanyak jumlah induk yang
mengalami crossover untuk menentukan titik pertukaran. Misalnya angka
yang di bangkitkan adalah sebagai berikut
R1 = 7
Dari angka yang dihasilkan secara acak diatas (R1), maka titik
pertukarannya adalah pada titik gen ke-7.
Induk 6 = [g11 g10 g1 g8 g2 g12 g3 g6 g7 g5 g4 g9]
Induk 1 = [g1 g3 g2 g4 g8 g5 g6 g10 g12 g9 g7 g11]
gen tersebut disalin dari induk pertama yaitu induk 6 sebagai bagian
pertama dari kromosom baru. Lalu yang kedua Orang tua dipindai dan jika
gen berikut pada orang tua kedua Belum muncul di kromosom baru, itu
ditambahkan sebagai bagian kedua dari kromosom baru. Maka generasi baru
yang akan muncul adalah
anak 1 =[ g11 g10 g1 g8 g2 g12 g3 g4 g5 g6 g9 g7]
anak 2 =[g1 g3 g2 g4 g8 g5 g6 g11 g10 g12 g7 g9]
Generasi baru akan menggantikan posisi dari induknya sehingga akan
menjadi populasi baru seperti pada tabel 4.7 berikut ini:
Tabel 4. 7 Susunan gen
Induk Susunan gen
1 g1 g3 g2 g4 g8 g5 g6 g11 g10 g12 g7 g9
2 g11 g2 g1 g8 g10 g12 g3 g6 g9 g5 g4 g7
3 g2 g6 g1 g8 g11 g12 g3 g10 g7 g5 g4 g9
4 g11 g10 g8 g1 g12 g2 g3 g6 g7 g5 g4 g9
5 g11 g10 g1 g8 g2 g12 g3 g6 g7 g5 g4 g9
6 g11 g10 g1 g8 g2 g12 g3 g4 g5 g6 g9 g7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
4.4.6 Mutation
Selanjutnya kromosom akan menjalani proses mutation. Pada
penelitian ini nilai probabilitas mutation yang ditentukan sebesar 0.1
kemudian bangkitkan bilangan acak antara 0 sampai 1 sebanyak jumlah
populasi misalnya bialangan acak yang di bangkitkan sebagai berikut:
R1 = 0,459
R2 = 0,345
R3 = 0,347
R4 = 0,235
R5 = 0,056
R6 = 0,633
Berdasarkan nilai bilangan acak yang di bangkitkan R5 memiliki
nilai lebih kecil dari pada probabilitas mutation sehingga hanya kromosom 6
yang akan mengalami mutation. Proses mutation dilakukan dengan
menggunakan metode reversing Mutation. Langkah-langkahnya sebagai
berikut:
a. Bangkitkan bilangan bulat acak antara 1 sampai sebanyak
jumlah sel dalam kromosom sebagai titik balik. misalkan
bilangan acak yang didapat adalah 4 maka
Kromosom 5 = [g11 g10 g1 g8 g2 g12 g3 g6 g7 g5 g4 g9]
b. Kemudian balikkan posisi setelah titik potong tersebut, maka
hasilnya akan menjadi seperti ilustrasi dibawah ini:
Kromosom 5 = [g11 g10 g1 g8 g9 g4 g5 g7 g6 g3 g12 g2]
Setelah mutation dilakukan, kromosom tersebut akan dikelompokkan
pada kromosom-kromosom yang tidak menjalani mutation sehingga
didapatkan populasi baru. Populasi baru hasil dari mutation tersebut terdapat
pada tabel 4.8:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Tabel 4. 8 Susunan gen
Induk Susunan gen
1 g1 g3 g2 g4 g8 g5 g6 g10 g12 g9 g7 g11
2 g11 g2 g1 g8 g10 g12 g3 g6 g9 g5 g4 g7
3 g2 g6 g1 g8 g11 g12 g3 g10 g7 g5 g4 g9
4 g11 g10 g8 g1 g12 g2 g3 g6 g7 g5 g4 g9
5 g11 g10 g1 g8 g9 g4 g5 g7 g6 g3 g12 g2
6 g11 g10 g1 g8 g2 g12 g3 g4 g5 g6 g9 g7
4.4.7 Elitsm
Elitism dilakukan dengan menyalin kromosom terbaik yang
telah disimpan pada tahap evaluasi yang sebelumnya untuk
menggantikan kromosom yang memiliki nilai fitness paling rendah di
dalam populasi baru. (Hasibuan, 2015).
4.6 Desain Manajemen Antarmuka
Gambar 4.4 berikut ini adalah antarmuka pengguna.:
Gambar 4. 4 Desain Halaman Utama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
BAB V
IMPLEMENTASI, HASIL DAN PEMBAHASAN
5.1. Implementasi Program Algoritma Genetika
5.1.1. Proses Pembentukan Kromosom:
Gambar 5.1 berikut adalah source code proses pembentukan
kromosom:
Gambar 5. 1 Implementasi Proses Pembentukan Kromosom
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
5.1.2. Proses Fitness
Gambar 5.2 berikut adalah source code proses fitness:
Gambar 5. 2 Implementasi Proses Fitness
5.1.3. Proses Seleksi
Gambar 5.3 berikut adalah source code proses seleksi:
Gambar 5. 3 Implementasi Proses Seleksi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
5.1.4. Proses Crossover
Gambar 5.4 berikut adalah source code proses crossover:
Gambar 5. 4 Implementasi Proses Crossover
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
5.1.5. Proses Mutation
Gambar 5.5 berikut adalah source code proses mutation:
Gambar 5. 5 Implementasi Proses Mutation
5.1.6. Proses Elitsm
Gambar 5.6 Berikut adalah source code proses elitism:
Gambar 5. 6 Implementasi Proses Elitsm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
5.2 Alat uji keberhasilan algoritma genetika
Gambar 5.7 berikut merupakan source code dari alat uji keberhasilan
algoritma genetika:
Gambar 5. 7 Alat Uji Keberhasilan
Untuk mengukur keberhasilan algoritma genetika dilakukan dengan
membandingkan jumlah total jarak penempatan guru yang sudah dilakukan Dinas
Pendidikan Pemuda dan Olahraga Kabupaten Magelang, dengan jumlah total yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
telah dihasilkan oleh sistem. Pengukuran dilakukan dengan memilih guru dan
sekolah tertentu. Guru dan sekolah yang dipilih adalah guru dan sekolah yang di
proses dalam model. Tabel 5.1 berikut adalah contoh pengujian jarak 12 guru
pada sekolah A dengan id sekolah 1 dan B dengan id sekolah 2.
Tabel 5. 1 Hasil Perhitungan Manual
guru Sekolah A (id sekolah 1) sekolah B (id sekolah 2)
1 84736 83279
2 84736 83279
3 21431 22672
4 21431 22672
5 21431 22672
6 21431 22672
7 21431 22672
8 47628 48868
9 47628 48868
10 47628 48868
11 12895 14136
12 12895 14136
Total Min 442387
Kemudian dilakukan percobaan dengan menggunakan proses genetika dan
diperoleh hasil sebagaimana tabel 5.2 berikut:
Tabel 5. 2 Hasil Proses Genetika
guru Sekolah A (id sekolah 1) sekolah B (id sekolah 1)
1 84736 83279
2 84736 83279
3 21431 22672
4 21431 22672
5 21431 22672
6 21431 22672
7 21431 22672
8 47628 48868
9 47628 48868
10 47628 48868
11 12895 14136
12 12895 14136
Total Genetika 447349
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Dari hasil percobaan dengan menggunakan 12 guru maka diperoleh hasil
total jarak sebesar 447349. Bila dengan perhitungan manual maka diperoleh hasil
442387. Proses genetika belum optimal bila dibandingkan dengan menggunakan
perhitungan manual, hal ini disebabkan oleh aturan yang sudah ditetapkan
sebelumnya pada program. Aturan tersebut adalah setiap sekolah hanya boleh
memiliki 6 guru yang direkomendasikan yang dianggap setiap sekolah memiliki 6
rombongan belajar. Sedangkan pada perhitungan manual tidak memperhatikan
jumlah guru yang direkomendasikan dalam satu sekolah.
5.3 Analisa hasil dan pembahasan
Pengujian dilakukan untuk mengetahui komposisi probabilitas mutation
dan crossover yang tepat agar memperoleh hasil yang mendekati optimal.
Percobaan yang dilakukan dengan menggunakan probabilitas crossover sebesar
0.5 dan 0.7, probabilitas mutation sebesar 0.1 dan 0.4, maksimum boundary 10,
15, 20 dan 25. Setiap maksimum boundary dilakukan sebanyak 10 kali percobaan,
kemudian diambil nilai rata-rata dari 10 kali percobaan tersebut. Berikut adalah
percobaan-percobaan yang telah dilakukan:
Data set berisi 230 sekolah dan 1380 guru:
Percobaan 1
Pada percobaan satu menggunakan 230 data sekolah, 1380 data guru, 0.5
probabilitas crossover, 0.1 probabilitas mutation dengan boundary 10,
jumlah rombongan belajar 1380. Percobaan satu mendapatkan nilai jarak
rata-rata 25611045.5 dengan jumlah generasi yang muncul sebanyak 15
generasi. Waktu rata-rata yang dihabiskan untuk percobaan pertama adalah
410.4 detik. berikut hasil percobaan pertama yang dilakukan sebanyak 10
kali. Tabel 5.3 merupakan percobaan 1 dengan menggunakan 1380 guru
dan 230 sekolah:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Tabel 5. 3 Percobaan 1
PERCOBAAN SEKOLAH GURU PC PM BOUNDARY GENERASI JARAK WAKTU
1 230 1380 0.5 0.1 10 15 25620745.8 320
2 230 1380 0.5 0.1 10 15 25729475.8 314
3 230 1380 0.5 0.1 10 18 25490669.4 705
4 230 1380 0.5 0.1 10 15 25729475.8 551
5 230 1380 0.5 0.1 10 15 25259544.2 278
6 230 1380 0.5 0.1 10 15 25362641.0 280
7 230 1380 0.5 0.1 10 15 25729475.8 313
8 230 1380 0.5 0.1 10 15 25729475.8 314
9 230 1380 0.5 0.1 10 15 25729475.8 516
10 230 1380 0.5 0.1 10 15 25729475.8 513
rata-rata 15.3 25611045.5 410.4
Percobaan 2
Pada percobaan dua menggunakan 230 data sekolah, 1380 data guru, 0.5
probabilitas crossover, 0.1 probabilitas mutation dengan boundary 15,
jumlah rombongan belajar 1380. Percobaan dua mendapatkan nilai jarak
rata-rata 25418674.9 dengan jumlah generasi yang muncul sebanyak 18
generasi. Waktu rata-rata yang dihabiskan untuk percobaan dua adalah
566.6 detik. Percobaan kedua memiliki nilai jarak yang lebih baik bila
dibandingkan dengan percobaan pertama, akan tetapi waktu yang
dibutuhkan untuk percobaan kedua lebih lama dari percobaan satu. berikut
hasil percobaan kedua yang dilakukan sebanyak 10 kali. Tabel 5.4
merupakan percobaan 2 dengan menggunakan 1380 guru dan 230 sekolah:
Tabel 5. 4 Percobaan 2
PERCOBAAN SEKOLAH GURU PC PM BOUNDARY GENERASI JARAK WAKTU
1 230 1380 0.5 0.1 15 15 25362641.0 154.0
2 230 1380 0.5 0.1 15 15 25362641.0 160.0
3 230 1380 0.5 0.1 15 15 25362641.0 218.0
4 230 1380 0.5 0.1 15 15 25362641.0 280.0
5 230 1380 0.5 0.1 15 25 25388586.8 904.0
6 230 1380 0.5 0.1 15 15 25567196.8 141.0
7 230 1380 0.5 0.1 15 24 25347545.6 1327.0
8 230 1380 0.5 0.1 15 28 25444831.6 1474.0
9 230 1380 0.5 0.1 15 18 25459429.4 141.0
10 230 1380 0.5 0.1 15 19 25528595.0 867.0
rata-rata 18.9 25418674.9 566.6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Percobaan 3
Pada percobaan tiga menggunakan 230 data sekolah, 1380 data guru, 0.5
probabilitas crossover, 0.1 probabilitas mutation dengan boundary 20,
jumlah rombongan belajar 1380. Percobaan tiga mendapatkan nilai jarak
rata-rata 25355779.2 dengan jumlah generasi yang muncul sebanyak 33
generasi. Waktu rata-rata yang dihabiskan untuk percobaan tiga adalah
1837.2 detik. Percobaan tiga memiliki nilai jarak yang lebih baik bila
dibandingkan dengan percobaan dua, akan tetapi waktu yang dibutuhkan
untuk percobaan tiga lebih lama dari percobaan dua. berikut hasil
percobaan tiga yang dilakukan sebanyak 10 kali. Tabel 5.5 merupakan
percobaan 3 dengan menggunakan 1380 guru dan 230 sekolah:
Tabel 5. 5 Percobaan 3
PERCOBAAN SEKOLAH GURU PC PM BOUNDARY GENERASI JARAK WAKTU
1 230 1380 0.5 0.1 20 35 25388586.8 1646
2 230 1380 0.5 0.1 20 30 25320012.8 1857
3 230 1380 0.5 0.1 20 35 25388586.8 1688
4 230 1380 0.5 0.1 20 35 25388586.8 1428
5 230 1380 0.5 0.1 20 32 25505369.0 1401
6 230 1380 0.5 0.1 20 36 25403481.2 2687
7 230 1380 0.5 0.1 20 32 25505369.0 1401
8 230 1380 0.5 0.1 20 34 25076215.2 2318
9 230 1380 0.5 0.1 20 34 25076215.2 2320
10 230 1380 0.5 0.1 20 32 25505369.0 1626
rata-rata 33.5 25355779.2 1837.2
Percobaan 4
Pada percobaan empat menggunakan 230 data sekolah, 1380 data guru,
0.5 probabilitas crossover, 0.1 probabilitas mutation dengan boundary 25,
jumlah rombongan belajar 1380. Percobaan empat mendapatkan nilai jarak
rata-rata 25278486.0 dengan jumlah generasi yang muncul sebanyak 47
generasi. Waktu rata-rata yang dihabiskan untuk percobaan empat adalah
2859.1 detik. Percobaan empat memiliki nilai jarak yang lebih baik bila
dibandingkan dengan percobaan tiga, akan tetapi waktu yang dibutuhkan
untuk percobaan empat lebih lama dari percobaan tiga. berikut hasil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
percobaan empat yang dilakukan sebanyak 10 kali. Tabel 5.6 merupakan
percobaan 4 dengan menggunakan 1380 guru dan 230 sekolah:
Tabel 5. 6 Percobaan 4
PERCOBAAN SEKOLAH GURU PC PM BOUNDARY GENERASI JARAK WAKTU
1 230 1380 0.5 0.1 25 40 25388586.8 1949
2 230 1380 0.5 0.1 25 40 25388586.8 1909
3 230 1380 0.5 0.1 25 39 25076215.2 2878
4 230 1380 0.5 0.1 25 70 25309067.8 4672
5 230 1380 0.5 0.1 25 44 25406603.0 2924
6 230 1380 0.5 0.1 25 59 25168966.8 3863
7 230 1380 0.5 0.1 25 59 25168966.8 3840
8 230 1380 0.5 0.1 25 45 25100692.8 2671
9 230 1380 0.5 0.1 25 40 25388586.8 1942
10 230 1380 0.5 0.1 25 40 25388586.8 1943
rata-rata 47.6 25278486.0 2859.1
Percobaan 5
Pada percobaan lima menggunakan 230 data sekolah, 1380 data guru, 0.7
probabilitas crossover, 0.4 probabilitas mutation dengan boundary 10,
jumlah rombongan belajar 1380. Percobaan lima mendapatkan nilai jarak
rata-rata 25334906.7 dengan jumlah generasi yang muncul sebanyak 17
generasi. Waktu rata-rata yang dihabiskan untuk percobaan lima adalah
2472.4 detik. Percobaan lima tidak memiliki nilai jarak yang lebih baik
bila dibandingkan dengan percobaan empat, dan waktu yang dibutuhkan
untuk percobaan lima tidak lebih lama dari percobaan empat. berikut hasil
percobaan lima yang dilakukan sebanyak 10 kali. Tabel 5.7 merupakan
percobaan 5 dengan menggunakan 1380 guru dan 230 sekolah:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Tabel 5. 7 Percobaan 5
PERCOBAAN SEKOLAH GURU PC PM BOUNDARY GENERASI JARAK WAKTU
1 230 1380 0.7 0.4 10 13 25393583.0 1784
2 230 1380 0.7 0.4 10 13 25393583.0 1945
3 230 1380 0.7 0.4 10 14 25329475.8 656
4 230 1380 0.7 0.4 10 24 25210587.8 2600
5 230 1380 0.7 0.4 10 18 25495401.8 2703
6 230 1380 0.7 0.4 10 16 25366564.6 1904
7 230 1380 0.7 0.4 10 23 25405463.0 3472
8 230 1380 0.7 0.4 10 17 25165593.8 2938
9 230 1380 0.7 0.4 10 17 25165593.8 3483
10 230 1380 0.7 0.4 10 24 25423220.2 3239
rata-rata 17.9 25334906.7 2472.4
Percobaan 6
Pada percobaan lima menggunakan 230 data sekolah, 1380 data guru, 0.7
probabilitas crossover, 0.4 probabilitas mutation dengan boundary 15,
jumlah rombongan belajar 1380. Percobaan enam mendapatkan nilai jarak
rata-rata 25328050.1 dengan jumlah generasi yang muncul sebanyak 31
generasi. Waktu rata-rata yang dihabiskan untuk percobaan enam adalah
3817.8 detik. Percobaan enam memiliki nilai jarak yang lebih baik bila
dibandingkan dengan percobaan lima, akan tetapi waktu yang dibutuhkan
untuk percobaan enam lebih lama dari percobaan lima. berikut hasil
percobaan enam yang dilakukan sebanyak 10 kali. Tabel 5.8 merupakan
percobaan 6 dengan menggunakan 1380 guru dan 230 sekolah:
Tabel 5. 8 Percobaan 6
PERCOBAAN SEKOLAH GURU PC PM BOUNDARY GENERASI JARAK WAKTU
1 230 1380 0.7 0.4 15 19 25430438.4 1486
2 230 1380 0.7 0.4 15 38 25332648.4 4416
3 230 1380 0.7 0.4 15 28 25195885.2 3906
4 230 1380 0.7 0.4 15 19 25195885.2 1544
5 230 1380 0.7 0.4 15 34 25307111.6 4117
6 230 1380 0.7 0.4 15 32 25530045.0 3647
7 230 1380 0.7 0.4 15 32 25530045.0 4616
8 230 1380 0.7 0.4 15 31 25215196.0 4585
9 230 1380 0.7 0.4 15 42 25094253,4 5281
10 230 1380 0.7 0.4 15 35 25215196.0 4580
rata-rata 31 25328050.1 3817.8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Percobaan 7
Pada percobaan lima menggunakan 230 data sekolah, 1380 data guru, 0.7
probabilitas crossover, 0.4 probabilitas mutation dengan boundary 20,
jumlah rombongan belajar 1380. Percobaan tujuh mendapatkan nilai jarak
rata-rata 25319739.1 dengan jumlah generasi yang muncul sebanyak 37
generasi. Waktu rata-rata yang dihabiskan untuk percobaan tujuh adalah
4799.6 detik. Percobaan tujuh memiliki nilai jarak yang lebih baik bila
dibandingkan dengan percobaan enam, akan tetapi waktu yang dibutuhkan
untuk percobaan tujuh lebih lama dari percobaan enam. berikut hasil
percobaan tujuh yang dilakukan sebanyak 10 kali. Tabel 5.9 merupakan
percobaan 7 dengan menggunakan 1380 guru dan 230 sekolah:
Tabel 5. 9 Percobaan 7
PERCOBAAN SEKOLAH GURU PC PM BOUNDARY GENERASI JARAK WAKTU
1 230 1380 0.7 0.4 20 43 25332648.0 4909
2 230 1380 0.7 0.4 20 43 25332648.0 5275
3 230 1380 0.7 0.4 20 33 25405463.0 5045
4 230 1380 0.7 0.4 20 42 25094253,4 5281
5 230 1380 0.7 0.4 20 43 25094253,4 5550
6 230 1380 0.7 0.4 20 41 25215196.0 5342
7 230 1380 0.7 0.4 20 42 25195885.2 5674
8 230 1380 0.7 0.4 20 24 25430438.4 2976
9 230 1380 0.7 0.4 20 44 25215196.0 5221
10 230 1380 0.7 0.4 20 24 25430438.4 2723
rata-rata 37.9 25319739.1 4799.6
Percobaan 8
Pada percobaan lima menggunakan 230 data sekolah, 1380 data guru, 0.7
probabilitas crossover, 0.4 probabilitas mutation dengan boundary 25,
jumlah rombongan belajar 1380. Percobaan delapan mendapatkan nilai
jarak rata-rata 25234859.5 dengan jumlah generasi yang muncul sebanyak
47 generasi. Waktu rata-rata yang dihabiskan untuk percobaan delapan
adalah 5336.3 detik. Percobaan delapan memiliki nilai jarak yang lebih
baik bila dibandingkan dengan percobaan tujuh, akan tetapi waktu yang
dibutuhkan untuk percobaan delapan lebih lama dari percobaan tujuh.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
berikut hasil percobaan delapan yang dilakukan sebanyak 10 kali. Tabel
5.10 merupakan percobaan 8 dengan menggunakan 1380 guru dan 230
sekolah:
Tabel 5. 10 Percobaan 8
PERCOBAAN SEKOLAH GURU PC PM BOUNDARY GENERASI JARAK WAKTU
1 230 1380 0.7 0.4 25 50 25094253,4 5423
2 230 1380 0.7 0.4 25 48 25215196.0 5132
3 230 1380 0.7 0.4 25 44 25195885.2 5476
4 230 1380 0.7 0.4 25 45 25332648.0 5876
5 230 1380 0.7 0.4 25 46 25215196.0 5968
6 230 1380 0.7 0.4 25 49 25195885.2 5634
7 230 1380 0.7 0.4 25 44 25215196.0 5342
8 230 1380 0.7 0.4 25 51 25195885.2 4534
9 230 1380 0.7 0.4 25 55 25215196.0 4756
10 230 1380 0.7 0.4 25 40 25332648.0 5222
rata-rata 47.2 25234859.5 5336.3
Dari delapan kali rangkaian percobaan dengan data set 230 sekolah dan
1380 guru maka diambil nilai rata-rata dari setiap rangkaian percobaan tersebut,
seperti pada tabel 5.11 dan tabel 5.12:
Tabel 5. 11 Percobaan Dengan PC 0.5 & PM 0.1
PC PM Boundary Generasi Fitness
(meter)
Waktu
(detik)
0.5 0.1 10 15.3 25611045.5 410.4
0.5 0.1 15 18.9 25418674.9 566.6
0.5 0.1 20 33.5 25355779.2 1837.2
0.5 0.1 25 47.6 25278486.0 2859.1
Berdasarkan pada tabel 5.11 maka diperoleh grafik seperti pada gambar
5.8 berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Gambar 5. 8 Percobaan Dengan PC 0.5 & PM 0.1
Tabel 5.11 menunjukkan penurunan nilai fitness dari serangkaian
percobaan yang telah dilakukan, pada probabilitas crossover 0.5 dan probabilitas
mutation 0.1. penurunan nilai tersebut disebabkan oleh nilai boundary yang
diubah mulai dari nilai 10, 15, 20 dan 25.
Tabel 5. 12 Percobaan Dengan PC 0.7 & PM 0.4
PC PM Boundary Generasi Fitness
(meter)
Waktu
(detik)
0.7 0.4 10 17.9 25334906.7 2472.4
0.7 0.4 15 31 25328050.1 3817.8
0.7 0.4 20 37.9 25319739.1 4799.6
0.7 0.4 25 47.2 25234859.5 5336.3
Berdasarkan pada tabel 5.12 maka diperoleh grafik seperti pada gambar
5.9 berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Gambar 5. 9 Percobaan Dengan PC 0.7 & PM 0.4
Tabel 5.12 menunjukkan penurunan nilai fitness dari serangkaian
percobaan yang telah dilakukan, pada probabilitas crossover 0.7 dan probabilitas
mutation 0.4. Pada tabel 5.12 menggunakan probabilitas crossover 0.7 dan
probabilitas mutation 0.4 menghasilkan nilai fitness yang lebih rendah dari tabel
5.11.
Kombinasi pada probabilitas mutation 0.7 dan probabilitas crossover 0.4
dengan maksimum boundary 25 memperoleh nilai fitness lebih kecil
dibandingkan dengan kombinasi probabilitas mutation dan probabilitas crossover
yang sama dengan maksimum boundary kurang dari 25.
Kombinasi pada probabilitas mutation 0.7 dan probabilitas crossover 0.4
dengan waktu 5336.3 memperoleh nilai fitness lebih kecil dibandingkan dengan
kombinasi probabilitas mutation dan probabilitas crossover yang sama dengan
waktu 4799.6.
Dapat diperhatikan pada tabel 5.12 dan tabel 5.11 terlihat bahwa tabel 5.12
lebih baik, dengan menghasilkan nilai fitness yang lebih kecil. Sedangkan pada
tabel 5.11 lebih baik dalam segi waktu dalam pencarian sebuah solusi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
BAB VI
PENUTUP
6.1 Kesimpulan
1. Model optimasi penempatan guru dengan menggunakan algoritma
genetika telah dibangun dengan menggunakan bahasa pemrograman PHP.
2. Berdasarkan hasil dari percobaan dengan menggunakan data set 1380 guru
dan 230 sekolah diperoleh kesimpulan sebagai berikut:
a. Nilai fitness terbaik didapat dari kombinasi nilai probabilitas
crossover 0.7 dan probabilitas mutation 0.4 dengan boundary 25.
b. Semakin besar nilai boundary pada probabilitas crossover 0.7 dan
probabilitas mutation 0.4 maupun probabilitas crossover 0.5 dan
probabilitas mutation 0.1 semakin baik nilai fitness yang diperoleh.
c. Semakin kecil nilai fitness yang dihasilkan maka semakin lama
pula waktu yang dibutuhkan untuk mencari solusi.
6.2 Saran
Saran untuk pengembangan sistem:
1. Pengembangan pada halaman antarmuka dapat dikembangkan agar
menjadi suatu sistem yang utuh.
2. Pengembangan dengan menambahkan nilai UKG (Uji Kompetensi Guru)
sebagai bahan pertimbangan untuk penyebaran guru, agar mengurangi
penumpukan guru-guru yang memiliki nilai UKG baik/kurang baik dalam
satu sekolah tertentu.
3. Pengembangan pada proses perhitungan genetika dengan kasus jumlah
rombongan belajar yang berbeda-beda di setiap sekolah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
DAFTAR PUSTAKA
Adipranata, Rudy, Felicia Soedjianto dan Wahyudi Tjondro. 2011. Perbandingan
Algoritma Exhaustive, Algoritma Genetika Dan Algoritma Jaringan
Syaraf Tiruan Hopfield Untuk Pencarian Rute Terpendek. Surabaya:
Universitas Kristen Petra.
Arkeman, Yandra, Kudang Boro Seminar dan Hendra Gunawan. 2012. Algoritma
Genetika: Teori dan Aplikasinya untuk Bisnis dan Industri, Bogor: IPB
Press.
Hasibuan. 2015. Pencarian Rute Terbaik Pada Travelling Salesman Problem
(TSP) Menggunakan Algoritma Genetika pada Dinas Kebersihan dan
Pertamanan Kota Pekanbaru, SATIN - Sains dan Teknologi Informasi,
Vol. 1, No. 1, Medrio Dwi Aksara Cipta.
Kusumadewi, Sri. 2003. Artificial Intelligence, Yogyakarta: Graha Ilmu.
Luger, George F. 2008 Artificial Intelligence: Structures and Strategies for
Complex Problem Solving (6th Edition), Addison Wesley.
Michalewicz. 1992. Genetic Algorithm + Data Structures = Evolution Programs
Departmens of Computer Science.
Negnevitsky, Michael. 2004. Artificial Intelligence: A Guide to Intelligent
Systems (2nd Edition), Addison Wesley.
Rich, Elaine. 2010. Artificial Intelligence, Tata McGraw Hill Education Private
Limited.
Russell, Stuart. 2009. Artificial Intelligence: A Modern Approach (3rd Edition),
Prentice Hall.
Soni, Natasha. 2014. Study of Various Mutation Operators in Genetic Algorithms.
Sriwindono, Haris, Paulina H. Prima Rosa, Agnes Maria Polina dan Robertus Adi
Nugroho. 2017. The Model of Elementary School Teachers Placement in
Magelang District by Using Genetic Algorithm,Yogyakarta: Universitas
Sanata Dharma
Winston, Patrick Henry.1993. Artificial Intelligence, USA: Addison Wesley.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
LAMPIRAN 1 NARASI USE CASE
a. Memasukkan Data Proses
Sistem Optimasi Penempatan Guru Dengan Menggunakan Algoritma
Genetika
Author(s): Leo Krinoto Date: 3 Maret
2018
Nama Use Case Memasukkan Data Proses
ID Use Case U-011
Prioritas Tinggi
Sumber -
Aktor Utama Pengguna
Deskripsi Use case ini digunakan memasukkan nilai yang nantinya
digunakan sebagai bahan perhitungan untuk menemukan
solusi
Kondisi Awal Pengguna berada pada halaman utama.
Skenario Use Case Aksi Aktor Reaksi Sistem
Pengguna memasukkan
jumlah populasi yang
diinginkan kedalam form
Pengguna memasukkan
jumlah generasi
Pengguna memasukkan
probabilitas crossover
Pengguna memasukkan
probabilitas mutation
Sistem menjalankan
program untuk
menemukan solusi
Skenario Alternatif
Kondisi Akhir Sistem memberikasn hasil rekomendasi
b. Lihat Hasil Rekomendasi
Sistem Optimasi Penempatan Guru Dengan Menggunakan Algoritma
Genetika
Author(s): Leo Krinoto Date: 3 Maret
2018
Nama Use Case Lihat Hasil Rekomendasi
ID Use Case U-012
Prioritas Tinggi
Sumber -
Aktor Utama Pengguna
Deskripsi Use case ini digunakan menampilkan hasil rekomendasi
kedalam sebuah tabel yang berada dihalaman utama.
Kondisi Awal Pengguna sudah melakukan input data proses dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
menjalankan proses pencarian solusi
Skenario Use Case Aksi Aktor Reaksi Sistem
Pengguna menjalankan
pencarian solusi dengan
memasukkan data proses
kedalam from
Sistem menjalankan
program untuk
menemukan solusi
Sistem menampilkan
solusi yang diberikan
kedalam tabel yang
berada dihalaman utama
pengguna.
Skenario Alternatif
Kondisi Akhir Sistem menampilkan hasil rekomendasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
LAMPIRAN 2 DIAGRAM AKTIVITAS
a. Memasukkan data proses
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
b. Lihat hasil rekomendasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI