• Tidak ada hasil yang ditemukan

Aplikasi Algoritma Genetika Untuk Mencari Jalur Terpendek.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Algoritma Genetika Untuk Mencari Jalur Terpendek."

Copied!
107
0
0

Teks penuh

(1)

Universitas Kristen Maranatha

ABSTRAK

Dalam beberapa tahun terakhir ini, peranan algoritma genetika terutama untuk

masalah optimisasi, berkembang dengan pesat. Masalah optimisasi ini beraneka

ragam tergantung dari bidangnya. Dalam tugas akhir ini, masalah optimisasi yang

dipilih adalah masalah dalam bidang transportasi, di mana akan dicari optimasi dalam

pencarian jalur terpendek untuk sebuah jalur perjalanan dari posisi awal secara acak

menyinggahi setiap kota tepat satu kali, dan kembali ke posisi awal pada suatu lokasi

kota.

Algoritma Genetika adalah salah satu bidang terapan dari kecerdasan buatan

yang merupakan salah satu teknik komputasi yang sangat sesuai untuk permasalahan

dengan ruang solusi yang sangat besar. Kelebihan utama algoritma genetika adalah

sifat adaptivitasnya. Begitu masalah dapat dikodekan ke dalam kromosom dan dapat

dibangun fungsi fitness yang tepat, maka dengan mudah dapat dibangun algoritma

genetika untuk menyelesaikan masalah tersebut.

Sistem algoritma genetika yang telah didisain, menggunakan representasi

kromosom dalam bentuk bit string. Adapun komponen-komponen algoritma genetika

yang digunakan adalah seleksi, rekombinasi, mutasi, dan penggantian kromosom.

Dari hasil simulasi, dapat disimpulkan bahwa secara keseluruhan, algoritma genetika

yang telah didisain dapat berjalan dengan baik dan dapat menyelesaikan

permasalahan. Untuk 6 buah kota didapatkan jalur terpendek sebesar 43,1154 unit

(dengan parameter : popsize=40; pc=0,5; pm=0,01; kb=0,01; maxgen=10) sedangkan

untuk 15 buah kota didapatkan jalur terpendek sebesar 53,9829 unit (dengan

(2)

Universitas Kristen Maranatha

ABSTRACT

In the last few years, the role of genetic algorithm, especially in optimization

problems, grows rapidly. There are various optimization problems depending on the

field. In this final project, the chosen optimization problem is the in transportation

field. The problem is to find the shortest track for one tour from the first random

position stops in every city once and then returns to the first position.

Genetic Algorithm is one of the artificial intelligence method. It is a

computation technique which is appropriate to solve problems with numerous variety

of solution. The strong advantage of genetic algorithm is the adaption characteristic.

When a problem can be coded into chromosome and build the appropriate fitness

function, can be built the genetic algorithm will easily be constructed to solve that

problem.

The Genetic Algorithm system that was designed for this final project uses

bit string chromosome representation. While the genetic algorithm components that

are used consist of selection, crossover, mutation, and chromosome replacement.

From the simulation, it can be concluded that the genetic algorithm system design is

working well and able to solve the optimization problems. For a system with six

cities the algorithm has shown the shortest track which is 43.1154 units (the

parameters are : popsize=40; pc=0.5; pm=0.01; kb=0.01; maxgen=10), and for a

system with fifteen cities the algorithm has shown the shortest track is 53.9829 units

(3)

Universitas Kristen Maranatha

DAFTAR ISI

LEMBAR PENGESAHAN

SURAT PERNYATAAN

ABSTRAK i

ABSTRACT ii

KATA PENGANTAR iii

DAFTAR ISI v

DAFTAR TABEL ix

DAFTAR GAMBAR x

BAB I PENDAHULUAN 1

I.1 Latar Belakang 1

I.2 Identifikasi Masalah 1

I.3 Tujuan 1

I.4 Pembatasan Masalah 2

I.5 Sistematika Penulisan 2

BAB II DASAR TEORI 4

II.1 Kecerdasan Buatan 4

II.1.1 Acting Humanly : Pendekatan Uji Turing 5

II.1.2 Thinking Humanly : Pendekatan Model Kognitif 5 II.1.3 Thinking Rationally : The Laws of Thought Approach 6 II.1.4 Acting Rationally : The Rational Agent Approach 6

II.2 Sejarah AI 7

II.2.1 Prehistoric Times (sebelum 1956) 7

II.2.2 Dawn Age (1956-1965) 8

II.2.3 Dark Age (1965-1970) 10

II.2.4 Renaissance (1970-1975) 10

(4)

Universitas Kristen Maranatha

II.2.6 Age of Entrepreneurs (mulai 1980) 12

II.3 Perbedaan Komputasi AI Dengan Proses Komputasi Konvensional 13

II.4 Area Aplikasi AI 13

II.5 Algoritma Genetika 14

II.5.1 Pendahuluan 14

II.5.2 Struktur Umum Algoritma Genetika 15

II.5.3 Komponen-Komponen Utama Algoritma Genetika 16

II.5.3.1 Teknik Penyandian 16

II.5.3.2 Prosedur Inisialisasi 16

II.5.3.3 Fungsi Evaluasi 16

II.5.3.4 Penentuan parameter 17

II.5.3.5 Seleksi 17

II.5.4 Rank-based Fitness 18

II.5.5 Seleksi Roda Rolet (Roulette Wheel Selection) 19

II.5.6 Stochastic Universal Sampling 19

II.5.7 Seleksi Lokal (Local Selection) 20

II.5.8 Seleksi Dengan Pemotongan (Truncation Selection) 21

II.5.9 Seleksi dengan Turnamen (Tournament Selection) 21

II.5.10 Rekombinasi 21

II.5.10.1 Rekombinasi Diskrit 21

II.5.10.2 Rekombinasi Menengah 22

II.5.10.3 Rekombinasi Garis 22

II.5.11 Penyilangan Satu Titik (Single-point Crossover) 22

II.5.12 Penyilangan Banyak Titik (Multipoint Crossover) 23

II.5.13 Penyilangan Seragam (Uniform Crossover) 23

II.5.14 Penyilangan Dengan Permutasi (Permutation Crossover) 23 II.5.15 Mutasi 24

II.5.15.1 Mutasi Bilangan Real 25

(5)

Universitas Kristen Maranatha

II.5.15.3 Mutasi Dalam Pengkodean Pohon 25

II.5.15.4 Mutasi Dalam Pengkodean Permutasi 26

II.5.16 Algoritma Genetika Sederhana 26

II.6 Teori Graf 27

II.6.1 Jenis-Jenis Graf 27

II.6.2 Lintasan dan Sirkuit Hamilton 28

II.7 Travelling Salesman Problem (TSP) 29

BAB III PERANCANGAN PERANGKAT LUNAK 32

III.1 Kriteria Perancangan 32

III.1.1 Fungsi Panjang Jalur GA 34

III.1.2 Jarak Antar Kota 34

III.1.3 Inisialisasi 35

III.1.4 Bangkitkan Populasi Awal 36

III.1.5 Iterasi 38

III.1.6 Seleksi 38

III.1.7 Crossover 41

III.1.8 Mutasi 48

III.1.9 Mengganti Kromosom Secara Acak Dengan Kromosom Terbaik 53

III.2 Hasil Akhir Setiap Generasi 56

BAB IV HASIL PENGAMATAN 57

IV.1 Simulasi 6 Buah Kota Dengan Algoritma Genetika 57

IV.2 Simulasi 15 Buah Kota Dengan Algoritma Genetika 78

IV.3 Grafik Hasil Percobaan 83

IV.3.1 Grafik Hasil Percobaan Untuk 6 Buah Kota 83

IV.3.2 Grafik Hasil Percobaan Untuk 15 Buah Kota 85

BAB V KESIMPULAN DAN SARAN 88

V.1 Kesimpulan 88

V.2 Saran 88

(6)

Universitas Kristen Maranatha

LAMPIRAN A A-1

LAMPIRAN B B-1

LAMPIRAN C C-1

LAMPIRAN D D-1

LAMPIRAN E E-1

LAMPIRAN F F-1

LAMPIRAN G G-1

LAMPIRAN H H-1

(7)

Universitas Kristen Maranatha

DAFTAR TABEL

Tabel II.1. Perbandingan AI dan Pemrograman Konvensional 13

Tabel III.1. Bilangan Acak Crossover Untuk 6 Buah Kota 43 Tabel III.2. Kromosom Induk Untuk 6 Buah Kota 45

Tabel III.3. Bilangan Acak Mutasi Untuk 6 Buah Kota 50

Tabel III.4. Bilangan Acak Pelestarian Untuk 6 buah Kota 54

Tabel IV.1. Koordinat Kota dan Nama Kota 57

Tabel IV.2. Jarak Antar Kota 57

Tabel IV.3. Populasi Awal 59

Tabel IV.4. ProbabilitasFitness 61

Tabel IV.5. Bilangan Acak Seleksi 63

Tabel IV.6. Hasil Seleksi 64

Tabel IV.7. Bilangan Acak Crossover 66

Tabel IV.8. Kromosom Induk 68

Tabel IV.9. Kromosom Anak 69

Tabel IV.10. Bilangan Acak Mutasi 70

Tabel IV.11. Kromosom Kena Mutasi 71

Tabel IV.12. Bilangan Acak Penggantian Kromosom 72

Tabel IV.13. Hasil Populasi Akhir Generasi ke 1 74

Tabel IV.14. Rekap Hasil 76

Tabel IV.15. Koordinat dan Nama Kota 78

Tabel IV.16. Jarak Antar Kota 79

Tabel IV.17. Populasi Awal 80

Tabel IV.18. Hasil Seleksi 81

Tabel IV.19. Kromosom Induk 81

Tabel IV.20. Hasil Populasi Akhir Generasi ke 1 81

(8)

Universitas Kristen Maranatha

DAFTAR GAMBAR

Gambar II.1 AI 14

Gambar III.1 Diagram Alir Algoritma Genetika yang Digunakan 33

Gambar III.2 Diagram Alir Jarak Antar Kota 35

Gambar III.3 Diagram Alir Populasi Awal 37

Gambar III.4 Diagram Alir Proses Seleksi 40

Gambar III.5 Diagram Alir Proses Crossover 49

Gambar III.6 Diagram Alir Proses Mutasi 52

Gambar IV.1 Tampilan Grafis Generasi ke 10 Dalam Matlab 74

Gambar IV.2. Tampilan Grafis Generasi ke 100 Dalam Matlab 82

Gambar IV.3 Grafik Dengan Maxgen Bernilai 1 83

Gambar IV.4 Grafik Dengan Maxgen Bernilai 5 84

Gambar IV.5 Grafik Dengan Maxgen Bernilai 10 84

Gambar IV.6 Grafik Dengan Maxgen Bernilai 20 85

Gambar IV.7 Grafik Dengan Maxgen Bernilai 10 85

Gambar IV.8 Grafik Dengan Maxgen Bernilai 50 86

(9)

SURAT PERNYATAAN

Yang bertandatangan di bawah ini : Nama : Andi

NRP : 0322045

menyatakan dengan sesungguhnya bahwa Tugas Akhir ini adalah hasil karya sendiri dan bukan duplikasi hasil karya orang lain.

Apabila kelak terbukti pernyataan ini tidak benar, maka saya bersedia menerima sanksi.

Demikian pernyataan saya.

Bandung, Januari 2007 Yang menyatakan,

(10)

LAMPIRAN A

Kode Program Untuk 6 Buah Kota :

function PjgJalurGA = PjgJalurGA(Indeks); global N D

PjgJalurGA = 0; for i=1:(N-1),

PjgJalurGA = PjgJalurGA + D(Indeks(i), Indeks(i+1)); end;

PjgJalurGA = PjgJalurGA + D(Indeks(N), Indeks(1));

% Program Penyelesaian TSP dengan Algoritma Genetika

clear; global N D

% koordinat kota

X = [... 1 10 3 10 7 5 16 6 16 3 21 5]; N = size(X,1);

% Jarak antar kota

for i=1:N, for j=1:N,

D(i,j)=sqrt((X(i,1)-X(j,1))^2+(X(i,2)-X(j,2))^2); end;

end;

% Inisialisasi

popsize = 40; pc = 0.5; pm = 0.01; MaxGen = 10; kb = 0.01;

% Bangkitkan populasi awal

(11)

pop(i,1) = i; pop(i,2:N+1) = x;

PjgJalur (i) = PjgJalurGA(x); pop(i,N+2) = 1/PjgJalur(i); end;

disp(x); generasi = 0;

besar = zeros(MaxGen,1); kecil = zeros(MaxGen,1); rata2 = zeros(MaxGen,1); Best = 0;

IBest = 0;

% Mulai iterasi

while generasi < MaxGen generasi = generasi + 1; gen(generasi) = generasi; F = sum(pop(:,N+2)); for i=1:popsize, p(i)=pop(i,N+2)/F; q(i)=sum(p(1:i)); end;

[Urut, indek] = sort(pop(:,N+2));

% Proses seleksi

r=rand(popsize,1); disp(r);

for i=1:(popsize), temu=0;

j=0;

while (j<(popsize-1)) & (temu==0), j=j+1;

if r(i)<=q(1),

selek(i,:)=pop(1,:); temu=1;

else

if (r(i)>q(j)) & (r(i)<=q(j+1)), selek(i,:)=pop(j+1,:); temu=1;

end; end; end; end;

(12)

selek(i,1)=i; end;

poplama=pop; pop = selek;

% Proses crossover

r=rand(popsize,1); disp(r);

k=0;

for i=1:(popsize), if r(i)<pc, k=k+1;

parent (k,:)=pop(i,:); idx_parent(k)=i; end;

end;

if mod(k,2)~=0, k=k-1; end; for i=1:2:(k-1),

posisiacak = randperm(N-1); posisiacak = sort(posisiacak(1:3)); pos = posisiacak(2:3);

parent(i,:);

tmp11 = parent(i,2:pos(1)+1);

tmp12 = parent(i,pos(1)+2:pos(2)+1); tmp13 = parent(i,pos(2)+2:N+1); tmp21 = parent(i+1,2:pos(1)+1);

tmp22 = parent(i+1,pos(1)+2:pos(2)+1); tmp23 = parent(i+1,pos(2)+2:N+1); Pjg1 = [tmp23 tmp21 tmp22]; Pjg2 = [tmp13 tmp11 tmp12]; h1 = [];

for t1=1:length(Pjg1), ada = 0;

for t2=1:length(tmp12), if Pjg1(t1)==tmp12(t2), ada=1;

break; end; end; if ada==0,

h1 = [h1 Pjg1(t1)]; end;

(13)

for t1=1:length(Pjg2), ada=0;

for t2=1:length(tmp22), if Pjg2(t1)==tmp22(t2), ada=1;

break; end; end; if ada==0,

h2 = [h2 Pjg2(t1)]; end;

end;

anak(1,pos(1)+1:pos(2)) = tmp12; anak(1,pos(2)+1:N) = h1(1:N-pos(2)); anak(1,1:pos(1)) = h1(N-pos(2)+1:end); anak(2,pos(1)+1:pos(2)) = tmp22; anak(2,pos(2)+1:N) = h2(1:N-pos(2)); anak(2,1:pos(1)) = h2(N-pos(2)+1:end); pop(parent(i,1),2:N+1)=anak(1,:); pop(parent(i+1,1),2:N+1)=anak(2,:); end;

% Proses mutasi

r=rand(popsize,1); disp(r);

k=0;

for i=1:(popsize), if r(i)<pm, k=k+1; mutan(k)=i; end;

end; j=1; for i=1:k, ada = 0; while ~ada if j==mutan(i), ada = 1;

posisiacak = randperm(N);

posisiacak = sort(posisiacak(1:3)); pos = posisiacak(2:3);

tmp = pop(j,pos(1)+1); else

(14)

end; end; end;

%Mengganti kromosom secara acak dengan kromosom terbaik

r=rand(popsize,1); disp(r);

k=0;

for i=1:(popsize), if r(i)<kb, k=k+1; replace(k)=i; end;

end; j=1; for i=1:k, ada = 0; while ~ada, if j==replace(i), ada = 1;

pop(j,:) = poplama(indek(popsize-i+1),:); else

j=j+1; end; end; end;

% Hasil akhir setiap generasi

for i=1:popsize, x=pop(i,2:N+1); pop(i,1) = i; pop(i,2:N+1) = x;

PjgJalur(i) = PjgJalurGA(x); pop(i,N+2)=1/PjgJalur(i); end;

[Terbesar, Id] = max(pop(:,N+2)); besar(generasi) = Terbesar

xbesar(generasi,:) = pop(Id,2:N+1); kecil(generasi) = min(pop(:,N+2)); rata2(generasi) = mean(pop(:,N+2)); if Terbesar > Best,

(15)

Jalur = fix(pop(Id,2:N+1));

PjgJalurTerpendek = 1/pop(Id,N+2); end;

subplot(211)

plot(gen,besar(1:generasi),'r-',gen,kecil(1:generasi),... 'b-',gen,rata2(1:generasi),'m-','linewidth',2);

xlabel('Generasi ke-'); ylabel('Fitness');

title('Hasil Pemrosesan Algoritma Genetika'); grid;

legend('Terbesar','Terkecil','Rata-rata',4); Jalur1=fix(pop(Id,2:N+1));

PjgJalur1=1/pop(Id,N+2); axis on

subplot(212);

plot(X(Jalur1,1),X(Jalur1,2),'r-','linewidth',2); hold on;

plot(X(Jalur1([N 1]),1),X(Jalur1([N 1]),2),... 'r-','linewidth',2);

plot(X(:,1),X(:,2),'bs','linewidth',3);

text(X(:,1)+1*ones(N,1),X(:,2)-1*ones(N,1),... int2str([1:N]'),'fontsize',10);

title(['Generasi ke: ' int2str(generasi) ... ', Jalur: ' int2str(Jalur1) ...

' -> Panjang jalur = ' num2str(PjgJalur1)]); axis off; axis equal;

pause(0.05); hold off;

disp(size(xbesar)); disp(size(besar)); disp(size(kecil)); disp(size(rata2));

rekap = [besar,kecil,rata2] JalurTerpendek = Jalur

(16)

LAMPIRAN B

Kode Program Untuk 15 Buah Kota :

function PjgJalurGA = PjgJalurGA(Indeks); global N D

PjgJalurGA = 0; for i=1:(N-1),

PjgJalurGA = PjgJalurGA + D(Indeks(i), Indeks(i+1)); end;

PjgJalurGA = PjgJalurGA + D(Indeks(N), Indeks(1));

% Program Penyelesaian TSP dengan Algoritma Genetika

clear; global N D

% koordinat kota

X = [... 1 10 3 10 3 8 4 9 5 7 7 5 8 6 10 8 12 4 13 6 16 6 16 3 21 5 21 2 25 1]; N = size(X,1);

% Jarak antar kota

for i=1:N, for j=1:N,

D(i,j)=sqrt((X(i,1)-X(j,1))^2+(X(i,2)-X(j,2))^2); end;

(17)

% Inisialisasi

popsize = 570; pc = 0.5; pm = 0.01; MaxGen = 100; kb = 0.01;

% Bangkitkan populasi awal

for i=1:popsize, x=randperm(N); pop(i,1) = i; pop(i,2:N+1) = x;

PjgJalur (i) = PjgJalurGA(x); pop(i,N+2) = 1/PjgJalur(i); end;

disp(x); generasi = 0;

besar = zeros(MaxGen,1); kecil = zeros(MaxGen,1); rata2 = zeros(MaxGen,1); Best = 0;

IBest = 0;

% Mulai iterasi

while generasi < MaxGen generasi = generasi + 1; gen(generasi) = generasi; F = sum(pop(:,N+2)); for i=1:popsize, p(i)=pop(i,N+2)/F; q(i)=sum(p(1:i)); end;

[Urut, indek] = sort(pop(:,N+2));

% Proses seleksi

r=rand(popsize,1); disp(r);

for i=1:(popsize), temu=0;

j=0;

while (j<(popsize-1)) & (temu==0), j=j+1;

if r(i)<=q(1),

(18)

temu=1; else

if (r(i)>q(j)) & (r(i)<=q(j+1)), selek(i,:)=pop(j+1,:); temu=1;

end; end; end; end;

for i=1:popsize, selek(i,1)=i; end;

poplama=pop; pop = selek;

% Proses crossover

r=rand(popsize,1); disp(r);

k=0;

for i=1:(popsize), if r(i)<pc, k=k+1;

parent (k,:)=pop(i,:); idx_parent(k)=i; end;

end;

if mod(k,2)~=0, k=k-1; end; for i=1:2:(k-1),

posisiacak = randperm(N-1); posisiacak = sort(posisiacak(1:3)); pos = posisiacak(2:3);

parent(i,:);

tmp11 = parent(i,2:pos(1)+1);

tmp12 = parent(i,pos(1)+2:pos(2)+1); tmp13 = parent(i,pos(2)+2:N+1); tmp21 = parent(i+1,2:pos(1)+1);

tmp22 = parent(i+1,pos(1)+2:pos(2)+1); tmp23 = parent(i+1,pos(2)+2:N+1); Pjg1 = [tmp23 tmp21 tmp22]; Pjg2 = [tmp13 tmp11 tmp12]; h1 = [];

for t1=1:length(Pjg1), ada = 0;

(19)

if Pjg1(t1)==tmp12(t2), ada=1;

break; end; end; if ada==0,

h1 = [h1 Pjg1(t1)]; end;

end; h2 = [];

for t1=1:length(Pjg2), ada=0;

for t2=1:length(tmp22), if Pjg2(t1)==tmp22(t2), ada=1;

break; end; end; if ada==0,

h2 = [h2 Pjg2(t1)]; end;

end;

anak(1,pos(1)+1:pos(2)) = tmp12; anak(1,pos(2)+1:N) = h1(1:N-pos(2)); anak(1,1:pos(1)) = h1(N-pos(2)+1:end); anak(2,pos(1)+1:pos(2)) = tmp22; anak(2,pos(2)+1:N) = h2(1:N-pos(2)); anak(2,1:pos(1)) = h2(N-pos(2)+1:end); pop(parent(i,1),2:N+1)=anak(1,:); pop(parent(i+1,1),2:N+1)=anak(2,:); end;

% Proses mutasi

r=rand(popsize,1); disp(r);

k=0;

for i=1:(popsize), if r(i)<pm, k=k+1; mutan(k)=i; end;

(20)

ada = 0; while ~ada if j==mutan(i), ada = 1;

posisiacak = randperm(N);

posisiacak = sort(posisiacak(1:3)); pos = posisiacak(2:3);

tmp = pop(j,pos(1)+1); else

j=j+1; end; end; end;

%Mengganti kromosom secara acak dengan kromosom terbaik

r=rand(popsize,1); disp(r);

k=0;

for i=1:(popsize), if r(i)<kb, k=k+1; replace(k)=i; end;

end; j=1; for i=1:k, ada = 0; while ~ada, if j==replace(i), ada = 1;

pop(j,:) = poplama(indek(popsize-i+1),:); else

j=j+1; end; end; end;

% Hasil akhir setiap generasi

for i=1:popsize, x=pop(i,2:N+1); pop(i,1) = i; pop(i,2:N+1) = x;

(21)

end;

[Terbesar, Id] = max(pop(:,N+2)); besar(generasi) = Terbesar

xbesar(generasi,:) = pop(Id,2:N+1); kecil(generasi) = min(pop(:,N+2)); rata2(generasi) = mean(pop(:,N+2)); if Terbesar > Best,

Best = Terbesar; IBest = generasi;

Jalur = fix(pop(Id,2:N+1));

PjgJalurTerpendek = 1/pop(Id,N+2); end;

subplot(211)

plot(gen,besar(1:generasi),' r-',gen,kecil(1:generasi),... ' b-' ,gen,rata2(1:generasi),' m-' ,' linewidth' ,2); xlabel(' Generasi ke-' );

ylabel(' Fitness' );

title(' Hasil Pemrosesan Algoritma Genetika' ); grid;

legend(' Terbesar' ,' Terkecil' ,' Rata-rata' ,4); Jalur1=fix(pop(Id,2:N+1));

PjgJalur1=1/pop(Id,N+2); axis on

subplot(212);

plot(X(Jalur1,1),X(Jalur1,2),' r-' ,' linewidth' ,2); hold on;

plot(X(Jalur1([N 1]),1),X(Jalur1([N 1]),2),... ' r-' ,' linewidth' ,2);

plot(X(:,1),X(:,2),' bs' ,' linewidth' ,3); text(X(:,1)+1*ones(N,1),X(:,2)-1*ones(N,1),... int2str([1:N]' ),' fontsize' ,10);

title([' Generasi ke: ' int2str(generasi) ... ' , Jalur: ' int2str(Jalur1) ...

' -> Panjang jalur = ' num2str(PjgJalur1)]); axis off; axis equal;

pause(0.05); hold off;

disp(size(xbesar)); disp(size(besar)); disp(size(kecil)); disp(size(rata2));

rekap = [besar,kecil,rata2] JalurTerpendek = Jalur

(22)

LAMPIRAN C

Hasil Simulasi Untuk 15 Buah Kota

Tabel IV.17. Populasi Awal

Populasi Kromosom Fitness

(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)

LAMPIRAN D

Hasil Simulasi Untuk 15 Buah Kota

Tabel IV.18. Hasil Seleksi

No Kromosom Fitness

(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)

LAMPIRAN E

Hasil Simulasi Untuk 15 Buah Kota

Tabel IV.19. Kromosom Induk (Parent)

No Kromosom Fitness

(51)
(52)
(53)
(54)
(55)
(56)
(57)
(58)

LAMPIRAN F

Hasil Simulasi Untuk 15 Buah Kota

Tabel IV.20. Hasil Populasi Akhir Generasi ke 1

No Kromosom Fitness

(59)
(60)
(61)
(62)
(63)
(64)
(65)
(66)
(67)
(68)
(69)
(70)
(71)
(72)

LAMPIRAN G

Hasil Simulasi Untuk 15 Buah Kota

Tabel IV.21. Rekap Hasil

No Kromosom Terbesar Terkecil Rata-rata

(73)
(74)
(75)

LAMPIRAN H

Hasil Percobaan Untuk 6 dan 15 Buah Kota

Keterangan :

• Percobaan masing-masing dilakukan sebanyak 3 kali.

• Untuk 6 buah kota : popsize (30, 40, 50); maxgen (1, 5, 10, 20).

• Untuk 15 buah kota : popsize (30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360, 390, 420, 450, 480, 510, 540, 570, 600); maxgen (10, 50, 100).

Percobaan untuk 6 buah kota

Dengan parameter : pc = 0,5 pm = 0,01 kb = 0,01

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 30 1 44,4956

2 30 1 44,1146 3 30 1 44,4956

44,3686

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 30 5 43,631

2 30 5 44,1146 3 30 5 44,2956

44,0137

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 30 10 44,1146

2 30 10 43,631 3 30 10 43,631

43,7922

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 30 20 43,1154

2 30 20 43,631 3 30 20 43,1154

43,2872

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 40 1 43,631

2 40 1 43,631 3 40 1 44,2956

(76)

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 40 5 44,4956

2 40 5 43,1154 3 40 5 43,631

43,7473

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 40 10 43,1154

2 40 10 43,1154 3 40 10 43,1154

43,1154

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 40 20 43,1154

2 40 20 43,1154 3 40 20 43,1154

43,1154

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 50 1 43,631

2 50 1 43,1154 3 50 1 43,1154

43,2872

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 50 5 43,1154

2 50 5 43,1154 3 50 5 43,631

43,2872

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 50 10 43,1154

2 50 10 43,1154 3 50 10 43,1154

43,1154

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 50 20 43,1154

2 50 20 43,1154 3 50 20 43,1154

43,1154

Percobaan untuk 15 buah kota

Dengan parameter :

pc = 0,5

pm = 0,01

(77)

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 30 10 98,7951

2 30 10 97,9382 3 30 10 106,0245

100,9192

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 30 50 81,9590

2 30 50 63,5479 3 30 50 69,4839

71,6636

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 30 100 72,5703

2 30 100 74,4504 3 30 100 68,0821

71,7009

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 60 10 70,8431

2 60 10 92,6960 3 60 10 78,4474

80,6621

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 60 50 63,4201

2 60 50 60,3627 3 60 50 70,8782

64,887

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 60 100 56,3006

2 60 100 59,6651 3 60 100 59,8775

58,6144

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 90 10 79,0564

2 90 10 71,6876 3 90 10 71,8970

74,2136

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 90 50 58,5007

2 90 50 60,4813 3 90 50 68,0821

(78)

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 90 100 54,9436

2 90 100 56,7719 3 90 100 54,9412

55,5522

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 120 10 78,8640

2 120 10 92,8981 3 120 10 84,0576

85,2732

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 120 50 62,4086

2 120 50 63,2800 3 120 50 56,4904

60,7263

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 120 100 56,1137

2 120 100 55,1707 3 120 100 57,6955

56,3266

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 150 10 70,8431

2 150 10 64,6354 3 150 10 78,5562

71,3449

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 150 50 56,9676

2 150 50 61,2579 3 150 50 58,5237

58,9164

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 150 100 55,1707

2 150 100 53,9829 3 150 100 56,0438

55,0658

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 180 10 79,3226

2 180 10 74,1207 3 180 10 71,5389

(79)

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 180 50 58,9162

2 180 50 55,6904 3 180 50 58,5237

57,7101

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 180 100 53,9829

2 180 100 54,9001 3 180 100 57,0343

55,3057

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 210 10 60,7238

2 210 10 66,1374 3 210 10 72,0072

66,2894

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 210 50 58,2685

2 210 50 60,1854 3 210 50 56,7624

58,4054

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 210 100 55,5746

2 210 100 54,9001 3 210 100 54,9001

55,1249

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 240 10 74,9151

2 240 10 74,7239 3 240 10 74,4504

74,6964

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 240 50 58,2033

2 240 50 56,3638 3 240 50 57,3202

57,2957

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 240 100 55,1707

2 240 100 56,3006 3 240 100 53,9829

(80)

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 270 10 75,1823

2 270 10 78,8857 3 270 10 82,7151

78,9277

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 270 50 60,2090

2 270 50 61,6340 3 270 50 57,0334

59,6254

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 270 100 53,9829

2 270 100 55,3264 3 270 100 54,9001

54,7364

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 300 10 76,0436

2 300 10 65,9428 3 300 10 73,9672

71,9845

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 300 50 57,7260

2 300 50 56,0438 3 300 50 56,9747

56,9148

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 300 100 55,5746

2 300 100 53,9829 3 300 100 55,3774

54,9783

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 330 10 72,9353

2 330 10 76,9071 3 330 10 66,5715

72,1379

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 330 50 58,9399

2 330 50 60,6152 3 330 50 58,2628

(81)

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 330 100 56,8653

2 330 100 53,9829 3 330 100 56,2970

55,7150

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 360 10 64,0119

2 360 10 68,7279 3 360 10 67,6677

66,8025

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 360 50 59,6150

2 360 50 57,3893 3 360 50 56,6782

57,8941

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 360 100 54,9001

2 360 100 56,0438 3 360 100 55,3774

55,4404

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 390 10 70,3664

2 390 10 63,5865 3 390 10 74,4780

69,4769

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 390 50 57,8848

2 390 50 58,3304 3 390 50 56,6782

57,6311

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 390 100 54,9001

2 390 100 55,1707 3 390 100 55,5141

55,1949

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 420 10 70,2838

2 420 10 62,4369 3 420 10 70,2104

(82)

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 420 50 55,5141

2 420 50 57,0158 3 420 50 56,2946

56,2748

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 420 100 53,9829

2 420 100 55,5746 3 420 100 56,1137

55,2237

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 450 10 57,9970

2 450 10 68,4981 3 450 10 71,3932

65,9627

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 450 50 55,5746

2 450 50 59,6174 3 450 50 55,5746

56,9222

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 450 100 54,9001

2 450 100 53,9829 3 450 100 55,5746

54,8192

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 480 10 65,7342

2 480 10 70,2760 3 480 10 74,4272

70,1458

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 480 50 56,9747

2 480 50 56,6248 3 480 50 53,8929

55,8308

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 480 100 55,3774

2 480 100 53,9829 3 480 100 56,6782

(83)

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 510 10 80,4487

2 510 10 66,1102 3 510 10 67,9686

71,5091

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 510 50 55,5746

2 510 50 55,5746 3 510 50 54,9001

55,3497

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 510 100 55,5746

2 510 100 55,1707 3 510 100 53,9829

54,9094

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 540 10 66,9131

2 540 10 70,9731 3 540 10 68,4282

68,7714

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 540 50 54,9001

2 540 50 57,2821 3 540 50 54,9412

55,7078

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 540 100 56,0575

2 540 100 53,9829 3 540 100 56,3006

55,447

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 570 10 71,6876

2 570 10 63,5479 3 570 10 70,8431

68,6928

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 570 50 55,2751

2 570 50 57,6955 3 570 50 55,3264

(84)

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 570 100 53,9829

2 570 100 53,9829 3 570 100 53,9829

53,9829

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 600 10 72,0113

2 600 10 68,5534 3 600 10 67,2284

69,2643

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 600 50 55,3774

2 600 50 56,1947 3 600 50 58,2221

56,5980

Percobaan Popsize Maxgen Jalur Terpendek Rata-Rata Jalur Terpendek 1 600 100 53,9829

2 600 100 53,9829 3 600 100 53,9829

(85)

LAMPIRAN I

Validasi Untuk 6 Buah Kota

(86)
(87)
(88)
(89)
(90)
(91)
(92)
(93)
(94)
(95)
(96)
(97)
(98)
(99)
(100)
(101)
(102)
(103)

1 Universitas Kristen Maranatha

BAB I

PENDAHULUAN

I.1 Latar Belakang Masalah

Ilmu pengetahuan dan teknologi pada akhir-akhir ini berkembang dengan

begitu pesatnya. Seiring dengan itu muncul berbagai masalah yang baru, antara lain

adalah masalah optimasi. Optimasi adalah metode untuk mendapatkan solusi

optimum antara lain, dengan pencarian nilai-nilai variabel pada metode yang

digunakan. Masalah optimisasi ini beraneka ragam tergantung dari bidangnya,

misalnya dalam industri antara lain, pengaturan jam kerja karyawan, jumlah

persediaan bahan baku, jalur distribusi yang optimal, dan sebagainya.

Dalam tugas akhir ini, metode optimasi yang dipilih adalah algoritma

genetika. Algoritma genetika adalah salah satu algoritma yang berfungsi untuk

menyelesaikan masalah optimisasi, aplikasi yang ingin diuji adalah optimisasi untuk

pencarian jalur terpendek untuk sebuah jalur perjalanan dari posisi awal secara acak

menyinggahi setiap kota tepat satu kali, dan kembali ke posisi awal pada suatu lokasi

kota.

I.2 Identifikasi Masalah

1. Apakah algoritma genetika dapat digunakan untuk mencari jalur terpendek?

2. Bagaimana pengaruh jumlah kota terhadap parameter algoritma genetika yang

digunakan?

I.3 Tujuan

Mempelajari Algoritma Genetika sebagai salah satu solusi dalam

(104)

Bab I : Pendahuluan 2

Universitas Kristen Maranatha jalur terpendek.

I.4 Pembatasan Masalah

1. Masalah optimisasi yang dibahas adalah menentukan jalur terpendek,

diselesaikan menggunakan metode artificial intelligence dengan teknik pencarian secara heuristik yaitu algoritma genetika dengan menggunakan

bahasa pemrograman Matlab versi 6.5.1.

2. Jumlah kota yang disimulasikan berjumlah 6 dan 15 kota dengan koordinat

kota yang telah ditentukan.

3. Berangkat dari sebuah kota asal secara acak dan menyinggahi setiap kota

tepat satu kali dan kembali lagi ke kota asal keberangkatan, tanpa adanya

ancaman, tantangan, hambatan, dan gangguan (ATHG).

4. Nilai parameter crossover (pc), mutasi (pm), dan penggantian kromosom (kb) dibuat konstan (dengan : pc=0,5; pm=0,01; kb=0,01). Alasan parameter

tersebut dibuat konstan karena dalam perancangan perangkat lunak, nilai

fitness dari kromosom terbaik dipantau pada setiap generasi. Hal ini berdasarkan rekomendasi dari buku teks[4] yang digunakan sebagai bahan referensi.

I.5 Sistematika Penulisan

Laporan tugas akhir ini disusun dengan urutan sebagai berikut :

• Bab I. Pendahuluan

Bab ini berisi latar belakang, identifikasi masalah, tujuan, pembatasan

masalah, serta sistematika penyusunan laporan tugas akhir.

• Bab II. Dasar Teori

Bab ini berisi teori-teori yang menunjang pembuatan laporan tugas akhir.

(105)

Bab I : Pendahuluan 3

Universitas Kristen Maranatha algoritma genetika, teori graf, dan Travelling Salesman Problem (TSP). • Bab III. Perancangan Perangkat Lunak

Dalam bab III akan dibahas mengenai diagram alir, kode program, dan cara

kerja untuk menyelesaikan pencarian jalur terpendek menggunakan metode

algoritma genetika.

• Bab IV. Hasil Pengamatan

Bab IV membahas mengenai hasil pengamatan yang dilakukan menggunakan

metode algoritma genetika.

• Bab V. Kesimpulan dan Saran

Sebagai penutup dari laporan tugas akhir ini, disajikan beberapa kesimpulan

(106)

Universitas Kristen Maranatha 88

BAB V

KESIMPULAN DAN SARAN

V.1 Kesimpulan

Dari hasil percobaan dapat ditarik beberapa kesimpulan, antara lain :

1. Secara keseluruhan, algoritma genetika yang telah didesain dapat berjalan

dengan baik dan dapat menyelesaikan permasalahan.

2. Hasil akhir simulasi menggunakan metode algoritma genetika :

• Untuk simulasi 6 buah kota didapatkan panjang jalur terpendek =

43,1154 unit (dengan parameter : popsize=40; pc=0,5; pm=0,01;

kb=0,01; maxgen=10).

• Untuk simulasi 15 buah kota didapatkan panjang jalur terpendek =

53,9829 unit (dengan parameter : popsize=570; pc=0,5; pm=0,01;

kb=0,01; maxgen=100).

3. Semakin banyak jumlah kota, maka semakin besar nilai parameter ukuran

populasi (popsize) dan maksimum generasi (maxgen) untuk menghasilkan

solusi optimum.

V.2 Saran

Adapun saran yang dapat diberikan adalah :

1. Pada tugas akhir nilai parameter pc, pm, dan kb dibuat konstan sehingga nilai

optimum dari pc, pm, dan kb perlu dianalisa kembali sehingga jalur terpendek

dapat dicapai lebih optimum.

2. Nilai popsize dan maxgen dibuat lebih bervariasi, dengan range yang tidak

(107)

Universitas Kristen Maranatha 89

DAFTAR PUSTAKA

1. Desiani, Anita, dan Arhami, Muhammad, “Konsep Kecerdasan Buatan.”,

ANDI OFFSET, Yogyakarta, 2006.

2. Gen, Mitsuo, and Cheng, Runwei, “Genetic Algorithms And Engineering

Design. Edited by Hamid R Parsaei, United State Of America, John Wiley

and Sons, 1997.

3. Johnsonbaugh, Richard, “Matematika Diskrit.”, PT Prenhallindo, Jakarta,

2002.

4. Kusumadewi, Sri dan Purnomo, Hari, “Penyelesaian Masalah Optimasi

dengan Teknik-teknik Heuristik.”, GRAHA ILMU, Yogyakarta, 2005.

5. Munir, Rinaldi, “Matematika Diskrit.”, Penerbit INFORMATIKA, Bandung,

2003.

6. Suyanto, “Algoritma Genetika dalam MATLAB.”, ANDI OFFSET,

Yogyakarta, 2005.

Gambar

Tabel IV.17. Populasi Awal
Tabel IV.18. Hasil Seleksi
Tabel IV.19. Kromosom Induk (Parent)
Tabel IV.20. Hasil Populasi Akhir Generasi ke 1
+2

Referensi

Dokumen terkait

Berdasarkan hasil penelitian, dapat diketahui bahwa secara spasial hiu paus selalu muncul di wilayah 4 (SPTN Wilayah I Kwatisore) pada setiap bulannya meskipun

Berdasarkan hasil-hasil yang telah diuraikan sebelumnya, dapat diambil kesimpulan sebagai berikut: surfaktan Sodium Lignosulfonat dapat dibuat dari Jerami Padi

Teorema 3.6 mengatakan bahwa untuk menentukan apakah suatu matriks sebarang atas suatu ring komutatif dapat didiagonalkan atau tidak, cukup dengan menyelidiki ruang-ruang

Sebagai akibat dari bibit yang lebih baik, maka bibit yang berasal dari benih tanam langsung maupun bahan tanaman berupa semaian dengan stadia atau fase benih

Berdasarkan bentuk-bentuk kritik sosial yang telah dikemukan oleh Soekanto tersebut, maka masalah sosial yang terdapat dalam kumpulan puisi Malu (Aku) Jadi Orang

Oleh sebab itu, tidak seperti pada pilihan demand-side di mana anda hanya perlu memasukkan data biaya untuk menggambarkan pilihan baru yang sedang diteliti, pada

Pelatihan ini diberikan kepada kader jumantik yang sdh dibentuk oleh warga Jemur Gayungan RW 01, telah melengkapi pengetahuan yang sudah didapatkan dari kelurahan

Observasi, dilaksanakan untuk mengamati aktivitas belajar siswa saat mengikuti pembelajaran melalui model cooperative learning tipe NHT dengan media grafis serta