BAB 4
IMPLEMENTASI DAN PENGUJIAN
Pada bab ini akan dijelaskan implementasi dan pengujian sistem sesuai dengan analisis dan perancangan yang telah dibahas pada bab sebelumnya. Penjelasan tentang
implementasi sistem dilakukan untuk mengetahui hasil dari aplikasi yang dirancang, dan pengujian sistem dilakukan untuk membuktikan nilai probabilitas crossover dan
probabilitas mutasi terbaik sehingga program dapat mencari solusi mendekati solusi yang diharapkan.
6.4 Implementasi
Implementasi perancangan aplikasi Traveling Salesman Problem dengan Algoritma Genetik dibuat dengan menggunakan bahasa pemrograman C dengan menggunakan
editor Microsoft Visual Studio 2012. Aplikasi ini berjalan di komputer dengan sistem operasi Windows 7. Implementasi yang dilakukan yaitu melakukan pengujian sistem
algoritma genetik dengan mengubah-ubah probabilitas crossover Pc dan probabilitas mutasi Pm untuk mendapatkan jalur terbaik.
9.1.1 Implementasi Algoritma Genetik Pada Sistem
Implementasi penerapan algoritma Genetik dalam sistem yang dibuat, terletak pada proses representasi class pada kromosom, nilai fitness dan proses lain seperti seleksi
yang di implementasikan dalam bentuk simulasi. Satuan Kerja Perangkat Daerah SKPD Kota Medan akan dijadikan edges yang akan membentuk sebuah tour dan
kromosom akan dijadikan verteks. Pada representasi kromosom sebuah tour, verteks
Universitas Sumatera Utara
63
yang terakhir pada tour tidak dituliskan kembali, sebab tour pada TSP selalu berawal dan berakhir pada verteks yang sama.
Berikut ini akan diberikan contoh hasil perhitungan manual pencarian rute terpendek dengan menggunakan algoritma Genetik. Dalam implementasi pencarian
rute ini akan dicari rute terpendek antar SKPD Kota Medan. Sistem memerlukan data SKPD berupa titik X, Y yang dimuat daalam format file .csv. Sebagaimana terlihat
pada Tabel 4.1.
Misalkan titik pertama mempunyai kordinat 1,2. Titik kedua ada di kordinat 5,5. Caranya adalah kurangkan setiap kordinat titik kedua dengan titik yang pertama.
yaitu, 5-1,5-2 sehingga menjadi 4,3. Kemudian pangkatkan masing-masing sehingga memperoleh 16,9. Kemudian tambahkan semuanya sehingga memperoleh
nilai 16+9 = 25. Hasil ini kemudian diakarkan menjadi 5. Sehingga jarak euclideannya adalah 5.
Tabel 4.1 Koordinat SKPD No
X Y
SKPD ALAMAT
KET
1 13
DINAS PENDIDIKAN
Jl. Pelita IV No. 77
Tim 1 2
26 DINAS PERHUBUNGAN
Jl.Pinang Baris No.114 A
3 27
DINAS INFOKOM PDE
Jl. Sidorukun No. 35 Medan
4 39
BADAN KESBANG LINMAS
Jl.Balai Kota No.10 Medan
5 2
BADAN KETAHANAN PANGAN
Jln. Budi Pembangunan No. 3
6 5
13 BADAN
PENANGGULANGAN BENCANA DAERAH
Jl. Rahmad No. 1 Kompleks PIK
7 5
19 KECAMATAN MEDAN
Jl. HM. Said No.1
Universitas Sumatera Utara
64
TIMUR Medan
8 5
25 KECAMATAN MEDAN
BELAWAN Jl. Cimanuk No. 3
Belawan 9
5 31
KECAMATAN MEDAN MARELAN
Jl.Kapt.Rahmad Budin No.190 Medan
10 5
37 KECAMATAN MEDAN
DELI Jl. Rumah Potong
Hewan No. 24 Medan 11
5 43
KECAMATAN MEDAN LABUHAN
Jl. Medan Belawan Km. 16 Medan
12 5
8 DINAS KESEHATAN
Jl. Rotan
Tim 2 13
8 DINAS SOSIAL DAN
TENAGA KERJA Jl. K.H. Wahid Hasyim
No. 14 Medan 14
9 10
DINAS KEPENDUDUKAN DAN CAPIL
Jl. Iskandar Muda No.270 Medan
15 10
10 DINAS PENCEGAH
PEMADAM KEBAKARAN
Jl. Candi Borobudur No. 2 Medan
16 11
10 DINAS PEMUDA DAN
OLAH RAGA
Jl. Ibis Raya No 129-B Medan
17 12
10 BADAN PEMBERDAYAAN
PEREMPUAN DAN KB
JL. Ibus Raya no. 131
18 12
5 KANTOR
PERPUSTAKAAN Jl. Iskandar Muda
No.270 Medan 19
15 13
KECAMATAN MEDAN PETISAH
Jl. Iskandar Muda No. 270 A Medan
20 15
19 KECAMATAN MEDAN
POLONIA Jl.DC.Barito No.3
Medan 21
15 25
KECAMATAN MEDAN BARU
Jl. Rebab No. 34 Medan
22 15
31 KECAMATAN MEDAN
MAIMUN Jl. Melati No. 1 Medan
23 13
DINAS KEBERSIHAN
Jl. Pinang Baris No. 114 Medan
Tim 3 24
26 DINAS BINA MARGA
Jalan Pinang Baris No. 114
25 27
DINAS PERTAMANAN Jl.Pinang Baris No.114
B 26
39 KANTOR ARSIP
Jl. Pinang Baris No. 114-E Medan
27 2
SEKRETARIAT DPRD Jl. Kapten Maulana
Lubis No. 1 Medan 28
5 13
INSPEKTORAT Jl.Kapt.Maulana Lubis
No. 2 Medan 29
5 19
BADAN LINGKUNGAN HIDUP
Jl.Kapt.Maulana Lubis No. 2 Medan
Universitas Sumatera Utara
65
30 5
25 BADAN KEPEGAWAIAN
DAERAH Jl. Kapt.Maulana Lubis
No.2 Medan 31
5 31
KANTOR SANDI Jl. Kapt.Maulana Lubis
No.2 Medan 32
5 37
SEKRETARIAT PEMKO MEDAN
Jl.Kapt.Maulana Lubis No.2 Medan
33 5
43 KECAMATAN MEDAN
JOHOR Jl. Karya Cipta No. 16
Medan 34
5 8
KECAMATAN MEDAN BARAT
Jl.Budi Pembangunan No.1 Medan
35 8
KECAMATAN MEDAN HELVETIA
Jl. Beringin X No. 2 Medan
36 9
10 DINAS PERUMAHAN DAN
PEMUKIMAN Jl. A.H Nasution No.17
Medan
Tim 4 37
10 10
DINAS TATA RUANG DAN TATA BANGUNAN
Jl. Jend. Besar Dr.Abd.Haris Nasution
No. 17 Medan 38
11 10
DINAS PENDAPATAN Jalan Jenderal Abdul
Haris Nasution No. 32 Medan
39 12
10 DINAS PERINDUSTRIAN
DAN PERDAGANGAN Jl. A.H Nasution No.17
Medan 40
12 5
DINAS PERTANIAN DAN KELAUTAN
Jl. Kramat Indah No.4 Selambo
41 15
13 BPPT
Jl. Jon.Abdul Haris Nasution No.32 Medan
42 15
19 BADAN PENANAMAN
MODAL Jl. A. H. Nasution No.
112 Medan 43
15 25
KECAMATAN MEDAN KOTA
Jl. Stadion No. 3 Medan 44
15 31
KECAMATAN MEDAN AREA
Jl. Rahmadsyah No. 2 Medan
45 13
KECAMATAN MEDAN AMPLAS
Jl. Garu III No. 3 Medan
46 26
KECAMATAN MEDAN DENAI
Jl. Pancasila No. 96 Medan
47 27
KECAMATAN MEDAN PERJUANGAN
Jl. Pendidikan No.89 Medan
48 39
SATPOL PP Jl. Adinegoro
49 2
RSU.Dr. PRINGADI Jl. Prof. H. M. Yamin
SH No. 47, Medan 50
5 13
DINAS KEBUDAYAAN DAN PARIWISATA
Jl. Prof.H.M.Yamin, SH No. 40 Medan
51 5
19 BADAN PEMBERDAYAAN
MASYARAKAT Jl. Kapt.Maulana Lubis
No.2 Medan 52
5 25
BAPPEDA Jl. Kapt.Maulana Lubis
No.2 Medan
Universitas Sumatera Utara
66
53 5
31 KANTOR PENDIDIKAN
DAN PELATIHAN Jl. Kapt.Maulana Lubis
No.2 Medan Tim 5
54 5
37 DINAS KOPERASI UKM
Jl. Jend. Gatot Subroto Km 7,7 Medan
55 5
43 BALITBANG
Jl. Kapt.Maulana Lubis No. 2 Medan
56 5
8 KECAMATAN MEDAN
SUNGGAL Jl. TB Simatupang
No.193 Medan 57
8 KECAMATAN MEDAN
SELAYANG Jl. Bunga Cempaka No.
54 A Medan 58
9 10
KECAMATAN MEDAN TUNTUNGAN
Jl. Bunga Melati No.1 Medan
59 10
10 KECAMATAN MEDAN
TEMBUNG Jl. Kapt. M. jamil Lubis
No. 107 Medan
. 9.1.1.1 Proses Pencarian Rute Terpendek
Gambar 4.1 Graf SKPD Langkah 1:
Inisialisasi Misalkan menggunakan 6 buah populasi dalam satu generasi, yaitu:
Kromosom[1] = [B C D E F G H I J K L ] Kromosom[2] = [C D E F G H I J K L B ]
Kromosom[3] = [D E F G H I J K L B C ] Kromosom[4] = [E F G H I J K L B C D ]
Kromosom[5] = [F G H I J K L B C D E ] Kromosom[6] = [G H I J K L B C D E F ]
Langkah 2: Evaluasi Kromosom
a Pilih titik-titik acak yang berbeda untuk Parent 1 dan 2 Parent 7
5 2
3
9 A
B
C D
E 2
3
2 3
F
G
H I
J
K
L 2
2 2
2 6
3 2
2
4
2 3
6 1
3
8 2
Universitas Sumatera Utara
67
b Offspring 1 dibuat berdasarkan pada bagian kiri Induk 1 , dan sub permutasi dari
sisa SKPD
c Offspring 2 dibuat berdasarkan bagian kanan Induk 2 dan sub permutasi dari sisa
SKPD. Menghitung nilai fitness tiap kromosom
Fitness[1] = AB + BC + CD + DE + EF + FG + GH + HI + IJ + JK + KL + LA = 2 + 1 + 2 + 2 + 2 + 2 + 3 + 2 + 2 + 3 + 1 + 1 = 23
Fitness[2] = AC + CD + DE + EF + FG + GH + HI + IJ + JK + KL + LB + BA = 3 + 2 + 2 + 2 + 2 + 3 + 2 + 2 + 3 + 1 + 3 + 2 = 27
Fitness[3] = AD + DE + EF + FG + GH + HI + IJ + JK + KL + LB + BC + CA = 5 + 2 + 2 + 2 + 3 + 2 + 2 + 3 + 1 + 3 + 1 + 3 = 29
Fitness[4] = AE + EF + FG + GH + HI + IJ + JK + KL + LB + BC + CD + DA = 11 + 2 + 2 + 3 + 2 + 2 + 3 + 1 + 3 + 1+ 2 + 5 = 37
Fitness[5] = AF + FG + GH + HI + IJ + JK + KL + LB + BC + CD + DE + EA = 1 + 2 + 3 + 2 + 2 + 3 + 1 + 3 + 1 + 2 + 2 + 11 = 30
Fitness[6] = AG + GH + HI + IJ + JK + KL + LB + BC + CD + DE + EF + FA = 8 + 3 + 2 + 2 + 3 + 1 + 3 + 1 + 2 + 2 + 2 + 1 = 30
Langkah 3: Seleksi Kromosom
Persoalan TSP diinginkan kromosom dengan fitness paling kecil, maka digunakan invers.
Q[i] = 1Fitness[i]
Q[1] = 123 = 0,043 Q[2] = 127 = 0,037
Q[3] = 129 = 0,034 Q[4] = 137 = 0,027
Q[5] = 130 = 0,033 Q[6] = 130 = 0,033
Total = 0,043 + 0,037 + 0,034 + 0,027 + 0,033 + 0,033 = 0,207 Probabilitas
P[i] = Q[i]Total
P[i] = 0,0430,207= 0,208 P[i] = 0,0370,207= 0,179
Universitas Sumatera Utara
68
P[i] = 0,0340,207= 0,164 P[i] = 0,0270,207= 0,130
P[i] = 0,0330,207= 0,159 P[i] = 0,0330,207= 0,159
Proses Seleksi dengan roulette-wheel Nilai kumulatif dari probabilitas
C[1] = 0,028 C[1] = 0,028+0,179=0,387
C[1] = 0,387+0,164=0,551 C[1] = 0,551+0,130=0,681
C[1] = 0,681+0,159=0,840 C[1] = 0,840+0,159=1
Sehingga populasi baru akan terbentuk Kromosom[1]=[2]=[D B E C]
Kromosom[2]=[1]=[B D E C] Kromosom[3]=[3]=[C B D E]
Kromosom[4]=[5]=[E C B D] Kromosom[5]=[4]=[E B C D]
Kromosom[6]=[6]=[C D E B]
Langkah 4: Crossover Pindah Silang
a Misal dengan order crossover yaitu satu bagian kromosom dipertukarkan dengan tetap menjaga urutan kota yang bukan bagian dari kromosom tersebut.
b Kromosom yang dijadikan induk di pilih secara acak dan jumlah kromosom di pengaruhi oleh Crossover Probability pc.
c Misal pc=25 dBangkitkan bilangan acak sebanyak jumlah populasi yaitu 6 kali.
R[1] = 0,451 R[1] = 0,211
R[1] = 0,302 R[1] = 0,877
Universitas Sumatera Utara
69
R[1] = 0,771 R[1] = 0,131
Kromosom yang dipilih jika 50 yang mempunyai R[k] terendah, sehingga yang akan dijadikan induk adalah kromosom 2, 3 dan 6 Proses selanjutnya
menentukan 2 posisi crossover, dengan membangkitkan bilangan acak 1 sampai dengan panjang kromosom-1, yaitu 1 sampai dengan 3.
Misal Bilangan acak untuk 3 kromosom induk yang akan di crossover di tentukan pada posisi 1 dan 3.
Kromosom[2] Kromosom[3] [BDEC][CBDE]
O1:[XDEX], O2:[XBDX] seqP2:ECBD , seqP1:CBDE
K[1]=O1=[BDEC], K[2]=O1:[EBDC] [BDEC][CDEB]
O1:[ XDEX],O2: [XDEX] seqP2 :[BCDE], seqP1:[CBDE]
O1:[ CDEB],O2: [BDEC] [CDEB][CBDE]
O1:[ XDEX],O2:[XBDX] seqP2 :[ECBD], seqP1:[BCDE]
O1:[ BDEC],O2:[EBDC]
Langkah 5: Mutasi
a Misal mutasi yang digunakan yaitu swapping mutation yaitu dengan menukar gen yang dipilih secara acak dengan gen sesudahnya.
b Hitung total gen pada satu populasi Panjang total gen = jumlah gen dalam 1 kromosom Jumlah kromosom
= 4 6 = 24
c Memilih posisi gen yang mengalami mutasi dengan membangkitkan bilangan acak antara 1 sampai panjang total gen yaitu 1-24.
Universitas Sumatera Utara
70
d Misal ditentukan pm=20, maka jumlah gen yang akan dimutasi adalah = 0,2 x 24=4,8=5
e Setelah diacak misal pada posisi 3,7,10,20,24
9.2 Tampilan Antarmuka