• Tidak ada hasil yang ditemukan

Lampiran 1 Matriks Jarak Tempuh Asal dan Tujuan Distribusi Gula di Wilayah Yogyakarta

N/A
N/A
Protected

Academic year: 2021

Membagikan "Lampiran 1 Matriks Jarak Tempuh Asal dan Tujuan Distribusi Gula di Wilayah Yogyakarta"

Copied!
41
0
0

Teks penuh

(1)
(2)

Lampiran 1

Matriks Jarak Tempuh Asal dan Tujuan Distribusi Gula di Wilayah Yogyakarta

Node 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 0 9,2 7,4 21 9,6 15 5,2 9,4 8,6 19 9,3 6 9 6,5 3,2 16 15 6,3 6,2 3,4 8,6 18 20 17 16 15 1 9,2 0 7,7 37 12 23 14 12 9,1 19 12 14 5 9,7 6,5 15 14 9,6 9,6 8,3 13 26 28 16 14 13 2 7,4 7,7 0 27 6,4 15 8 6 1,3 13 5,9 13 11 4,7 8,6 5,7 8 4,6 3,8 4 6,9 12 18 10 8,5 7,3 3 21 37 27 0 16 7,6 14 17 21 18 17 20 33 26 17 18 19 17 17 18 14 9,6 3,7 12 17 18 4 9,6 12 6,4 16 0 10 4 0,85 6,7 8,3 1,7 10 15 4,8 12 2,8 4,9 4,8 3,9 7,2 1,3 6,8 13 3,7 4,7 4,2 5 15 23 15 7,6 10 0 8,9 12 16 13 12 9,1 25 15 19 13 14 15 15 19 9,4 7,7 5,5 7,4 12 14 6 5,2 14 8 14 4 8,9 0 5 8,4 13 5,1 6,8 15 4,8 9,3 6,8 8,9 4,6 4,4 5,4 3,1 7,6 12 7,4 8,7 8,2 7 9,4 12 6 17 0,85 12 5 0 5,8 10 0,1 10 14 3,1 11 3,7 5,9 3,1 3,1 6,1 1,8 8,2 13 5,1 5,6 5,2 8 8,6 9,1 1,3 21 6,7 16 8,4 5,8 0 11 8,7 14 13 5,7 10 7,4 6,7 5,6 4,8 5,4 8 19 21 16 8,5 6 9 19 19 13 18 8,3 13 13 10 11 0 7,2 20 21 11 19 6 5,1 11 10 13 8,9 10 16 7 5,7 4,4 10 9,3 12 5,9 17 1,7 12 5,1 0,1 8,7 7,2 0 9,2 14 3,9 11 3,7 5,8 3,9 3,6 6 1,3 7 13 5 5,5 5,1 11 6 14 13 20 10 9,1 6,8 10 14 20 9,2 0 15 6 8,6 11 20 5,9 5,8 8,2 8,4 13 15 12 13 19 12 9 5 11 33 15 25 15 14 13 21 14 15 0 11 5,9 19 19 11 11 9,3 14 27 29 26 19 18 13 6,5 9,7 4,7 26 4,8 15 4,8 3,1 5,7 11 3,9 6 11 0 9 4,7 6,8 1,4 0,95 3,6 4,5 8,1 14 5,8 6,6 7,3 14 3,2 6,5 8,6 17 12 19 9,3 11 10 19 11 8,6 5,9 9 0 18 17 8,1 8,1 5,1 11 20 23 20 17 16 15 16 15 5,7 18 2,8 13 6,8 3,7 7,4 6 3,7 11 19 4,7 18 0 4,7 6,7 5,9 9,2 4,6 9,4 15 6,3 1,9 1,4 16 15 14 8 19 4,9 14 8,9 5,9 6,7 5,1 5,8 20 19 6,8 17 4,7 0 9,7 8,9 10 7,6 12 18 8,6 4,5 3,1 17 6,3 9,6 4,6 17 4,8 15 4,6 3,1 5,6 11 3,9 5,9 11 1,4 8,1 6,7 9,7 0 0,9 3,8 3 8,2 14 5,9 6,7 6,2 18 6,2 9,6 3,8 17 3,9 15 4,4 3,1 4,8 10 3,6 5,8 11 0,95 8,1 5,9 8,9 0,9 0 3 3,4 8,6 15 6,3 7,1 6,6 19 3,4 8,3 4 18 7,2 19 5,4 6,1 5,4 13 6 8,2 9,3 3,6 5,1 9,2 10 3,8 3 0 6,1 12 16 9 11 9,3 20 8,6 13 6,9 14 1,3 9,4 3,1 1,8 8 8,9 1,3 8,4 14 4,5 11 4,6 7,6 3 3,4 6,1 0 6,1 12 2,9 6,9 6,5 21 18 26 12 9,6 6,8 7,7 7,6 8,2 19 10 7 13 27 8,1 20 9,4 12 8,2 8,6 12 6,1 0 8,1 3,8 8,8 10 22 20 28 18 3,7 13 5,5 12 13 21 16 13 15 29 14 23 15 18 14 15 16 12 8,1 0 10 15 17 23 17 16 10 12 3,7 7,4 7,4 5,1 16 7 5 12 26 5,8 20 6,3 8,6 5,9 6,3 9 2,9 3,8 10 0 5,6 7 24 16 14 8,5 17 4,7 12 8,7 5,6 8,5 5,7 5,5 13 19 6,6 17 1,9 4,5 6,7 7,1 11 6,9 8,8 15 5,6 0 2 25 15 13 7,3 18 4,2 14 8,2 5,2 6 4,4 5,1 19 18 7,3 16 1,4 3,1 6,2 6,6 9,3 6,5 10 17 7 2 0

(3)

Lampiran 2

Matriks Waktu Tempuh Asal dan Tujuan Distribusi Gula di Wilayah Yogyakarta

Node 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 0 11 9 25 12 18 6 12 10 23 11 7 11 8 4 19 18 8 8 4 10 22 24 20 19 18 1 11 0 9 44 14 28 16 14 11 23 14 17 6 12 8 18 17 12 12 10 16 31 34 19 17 16 2 9 9 0 32 8 18 10 7 2 16 7 16 13 6 10 7 10 6 5 5 8 14 22 12 10 9 3 25 44 32 0 19 9 17 20 25 22 20 24 40 31 20 22 23 20 20 22 17 11 4 14 20 22 4 12 14 8 19 0 12 5 1 8 10 7 12 18 6 14 3 6 6 6 9 2 8 16 4 6 5 5 18 28 18 9 12 0 11 14 19 16 14 11 30 17 23 16 17 18 18 23 11 9 7 9 14 17 6 6 16 10 17 5 11 0 6 10 16 6 8 18 6 11 8 11 6 5 6 4 9 14 9 10 10 7 12 14 7 20 1 14 6 0 7 12 1 12 17 5 13 4 7 5 4 7 2 10 16 6 7 6 8 10 11 2 25 8 19 9 7 0 13 10 17 16 7 12 9 8 7 6 7 10 23 25 19 9 7 9 23 23 16 22 10 16 16 13 13 0 9 24 25 13 23 7 6 13 12 16 11 12 19 8 7 5 10 11 14 7 20 7 14 6 1 10 9 0 11 17 5 13 4 7 5 4 7 2 8 16 6 7 6 11 7 17 16 24 12 11 8 12 17 24 11 0 18 7 10 13 24 7 7 10 10 16 18 14 16 23 12 11 6 13 40 18 30 18 17 16 25 17 18 0 13 7 23 23 13 13 11 17 32 35 31 23 22 13 8 12 6 31 6 18 6 5 7 13 5 7 13 0 11 6 8 2 1 4 3 10 17 7 8 9 14 4 8 10 20 14 23 11 13 12 23 13 10 7 11 0 22 20 10 10 6 13 24 28 24 20 19 15 19 18 7 22 3 16 8 4 9 7 4 13 23 6 22 0 3 8 7 11 6 11 18 8 2 2 16 18 17 10 23 6 17 11 7 8 6 7 24 23 8 20 3 0 12 11 14 9 14 22 10 5 4 17 8 12 6 20 6 18 6 5 7 13 5 7 13 2 10 8 12 0 1 5 4 10 17 7 8 7 18 8 12 5 20 5 18 5 4 6 12 4 7 13 1 10 7 11 1 0 4 4 10 18 8 9 8 19 4 10 5 22 9 23 6 7 7 16 7 10 11 4 6 11 14 5 4 0 7 14 19 11 13 11 20 10 16 8 17 2 11 4 2 10 11 2 10 17 3 13 6 9 4 4 7 0 7 14 4 8 8 21 22 31 14 11 8 9 9 10 23 12 8 16 32 10 24 11 14 10 10 14 7 0 10 5 11 12 22 24 34 22 4 16 7 14 16 25 19 16 18 35 17 28 18 22 17 18 19 14 10 0 12 18 20 23 20 19 12 14 4 9 9 6 19 8 6 14 31 7 24 8 10 7 8 11 4 5 12 0 7 8 24 19 17 10 20 6 14 10 7 9 7 7 16 23 8 20 2 5 8 9 13 8 11 18 7 0 2 25 18 16 19 22 5 17 10 6 7 5 6 23 22 9 19 2 4 7 8 11 8 12 20 8 2 0

(4)

Lampiran 3

Data Permintaan Harian Gula di Yogyakarta

Kode Alamat Agen Jumlah

0 DEPOT -

1 Pacar, Sewon, Trimulyo, Bantul 1050

2 Jl. Pramuka No.84, Giwangan, Umbulharjo 1250

3 Jl. Magelang Km. 15,5 350

4 Jl. Colombo No.26, Caturtunggal, Kec. Depok 50

5 Jl. Kebon Agung No.88, Tlogoadi, Mlati 700

6 Jl. HOS. Cokroaminoto No. 176, Tegalrejo 625

7 Jl. Urip Sumoharjo No.38A, Klitren, 500

8 Jl. Ngeksigondo No.7, RT.09 / RW.02, 500

9 Jl. Ringroad Utara - Maguwoharjo, Depok, 1000

10 Jl. Urip Sumoharjo, Klitren, Gondokusuman 375

11 Jalan Raya Wates No.256, Ambarketawang, 25

12 Jl. Parangtritis Km 11 Sabdodadi Bantul 1100

13 JL Madukismo, Yogyakarta, Ngupasan, 1100

14 Jl. Bantul, Pendowoharjo, Sewon, Bantul 175

15 Plaza Ambarukmo LG, Jl. Laksda Adisucipto 1000

16 Jl. Raya Solo KM 8 No. 234, Maguwoharjo 750

17 Jl. Mayor Suryotomo No.29, Ngupasan, 1500

18 Jl. Sultan Agung No.10, Wirogunan, 500

19 Jalan DI Panjaitan No.54, Suryodiningratan 625

20 Jl. C. Simanjuntak No.70, Terban, 1000

21 Jalan Palagan Tentara Pelajar No. 31, Ngaglik 750

22 Triharjo, Kec. Sleman, Kabupaten Sleman 1000

23 Jalan Kaliurang KM 6,2 No. 51, Sinduadi, 450

24 Jl. Raya Seturan Kav.IV, Depok Sports Center, 250

25 Jalan Yogya Solo KM. 7, Babarsari, 250

(5)

114

Lampiran 4

Langkah-langkah Menggambar Koordinat Kartesius dengan

Software Geogebra

1. Membuka software Geogebra

2. Memilih menu File > Insert image from > File

3. Memilih file gambar peta yang akan digambar dalam koordinat kartesius kemudian memilih Open

4. Setelah gambar peta ada di layar Software Geogebra selanjutnya klik kanan pada peta, kemudian memilih Object Properties

(6)

115

5. Pada kotak Preference, memilih pilihan Color kemudian mengatur Opacity yang berfungsi untuk mengatur tampilan gambar peta supaya gambar dapat terlihat transparan

6. Setelah gambar terlihat transparan selanjutnya memposisikan gambar peta sedemikian hingga depot (titik 0) berada di titik pusat koordinat kartesius

(7)

116

7. Memilih pilihan point untuk menandai masing-masing titik pada peta supaya diperoleh titik-titik pada koordinat kartesius

8. Menandai masing-masing titik pada peta dengan klik kiri satu kali sehingga titik koordinat kartesius akan muncul di bagian kiri Software Geogebra

(8)

117

9. Selanjutnya klik kanan pada gambar peta kemudian Show Object yang berfungsi untuk menghilangkan gambar peta sehingga di layar hanya ada tampilan koordinat kartesius

10. Langkah-langkah untuk menggambar koordinat kartesius dengan Software

(9)

118

Berikut tampilan koordinat kartesius yang ada pada Software Geogebra (apabila ingin menampilkan koordinat kartesius dengan kotak kecil-kecil seperti gambar dibawah ni maka klik kanan kemudian memilih Grid)

Selanjutnya untuk mengubah koordinat kartesius menjadi koordinat polar, klik kanan pada koordinat kartesius kem udian pilih Polar Coordinates

(10)

119

(11)

120

Lampiran 5

Surat Izin Penelitian

(12)

121

Lampiran 6

Prosedur algoritma genetika menggunakan software Matlab dalam penyelesaian

Capacitated Vehicle Routing Problem (CVRP) untuk distribusi gula di Kota

Yogyakarta. Prosedur ini dimodifikasi dari Suyanto (2005: 86).

1.

Membangkitkan Populasi Awal

Membangkitkan populasi awal diimplementasikan menggunakan baris-baris perintah pada fungsi PopulasiAwal.m berikut ini.

function Populasi=PopulasiAwal(ukpop,jumgen) for ii=1:2ukpop

[X,Y] = sort(rand(1,jumgen)); Populasi(ii,:) = Y;

end

Perintah rand (1, jumgen) menyatakan pembangkitan matriks berukuran 1 x jumlah gen yang berisi bilangan random dalam interval [0,1). Pada perintah [X, Y] = sort (rand(1, jumgen)), X menyatakan bilangan-bilangan random dalam interval [0,1) hasil pengurutan dari kecil ke besar (ascending). Sedangkan Y merupakan indeks dari bilangan-bilangan yang dibangkitkan random. Indeks Y merupakan nomer urut pelanggan gula kemasan yang dibangkitkan. Iterasi di atas dilakukan sebanyak ukpop (banyaknya individu dalam populasi), sehingga didapatkan populasi awal.

2. Menghitung Nilai Fitness

Perhitungan nilai fitness dari populasi awal yang sudah terbentuk diimplementasikan dalam perintah pada fungsi NilaiFitness.m berikut ini.

FunctionFitness=

NilaiFitness(kromosom,jumgen,JarakAgen,JarakDepot) jalur=jd(kromosom(1))+jd(kromosom(jumgen));

(13)

122

jalur=jalur+JarakAgen(kromosom(ii),kromosom(ii+1)); end

fitness=1/jalur;

Variabel pada fungsi NilaiFitness.m adalah kromosom (individu dari populasi), jumgen (jumlah gen), JarakDepot (jarak depot dengan agen), dan JarakAgen (jarak antar lokasi agen). Sedangkan nilai fitness suatu individu dinyatakan dalam 1/jalur.

function LFR = linearfitnessranking(ukpop,fitness,maxF,minF) [s,h] = sort(fitness);

for rr=1:ukpop,

LFR(h(ukpop-rr+1))=maxF-(maxF-minF)*((rr-1)/(ukpop-1)); end

Variabel pada fungsi linearfitnessrangking.m yaitu ukpop (banyaknya individu dalam populasi), fitness (nilai fitness individu dalam populasi), maxF (nilai fitness tertinggi pada populasi), dan minF (nilai fitness terendah dalam populasi). Mula-mula urutkan nilai fitness dari yang terkecil sampai yang terbesar, kemudian simpan nilai

fitness yang sudah terurut pada sebuah variabel s dan indeks dari fitness yang

menyatakan nomer urut kromosom pada suatu populasi disimpan pada variabel h. Fungsi ini digunakan untuk mencegah terjadinya konvergen pada optimum lokal karena perbedaan nilai-nilai fitness yang terlalu kecil pada semua individu dalam populasi.

3. Roulette Wheel Selection

Operator seleksi dari populasi awal yang sudah terbentuk diimplementasikan dalam perintah pada fungsi RouletteWheel.m berikut ini.

function p = RouletteWheel(ukpop,linearfitness); jumfitness=sum(linearfitness); kumulatiffitness = 0; RN = rand; ii=1; while ii<=ukpop, kumulatiffitness=kumulatiffitness+linearfitness(ii);

(14)

123 if (kumulatiffitness/jumfitness)>RN, p=ii; break; end ii=ii+1; end

variabel pada fungsi RouletteWheel.m adalah ukpop (banyaknya individu dalam populasi) dan linearfitness (hasil dari fungsi linearfitness.m), sedangkan jumfitness = sum (linearfitness) merupakan jumlah keseluruhan nilai fitness dalam populasi. kumulatiffitness merupakan nilai fitness kumulatif dari individu. Jika kumulatif fitness dibagi jumlah fitness lebih dari bilangan random yang dibangkitkan pada interval [0,1) maka iterasi berhenti, sehingga didapatkan p (indeks) dari individu yang terpilih sebagai induk.

4. Pindah Silang (order crossover)

Operator pindah silang dari populasi awal yang sudah terbentuk diimplementasikan dalam perintah pada fungsi PindahSilang.m berikut ini.

function anak = pindahSilang(bapak,ibu,jumgen) cp1=1+fix(rand*(jumgen-1)); cp2=1+fix(rand*(jumgen-1)); while cp2==cp1, cp2=1+fix(rand*(jumgen-1)); end if cp1<cp2, cps=cp1; cpd=cp2; else cps=cp2; cpd=cp1; end anak(1,cps+1:cpd)=ibu(cps+1:cpd);

(15)

124 anak(2,cps+1:cpd)=bapak(cps+1:cpd); sisagenbapak=[]; sisagenibu=[]; for ii=1:jumgen, if ~ismember(bapak(ii),anak(1,:)), sisagenbapak=[sisagenbapak bapak(ii)]; end if ~ismember(ibu(ii),anak(2,:)), sisagenibu=[sisagenibu ibu(ii)]; end end anak(1,cpd+1:jumgen)=sisagenbapak(1:jumgen-cpd); anak(1,1:cps)=sisagenbapak(1+jumgen-cpd:length(sisagenbapak)); anak(2,cpd+1:jumgen)=sisagenibu(1:jumgen-cpd); anak(2,1:cps)=sisagenibu(1+jumgen-cpd:length(sisagenibu));

variabel pada fungsi PindahSilang.m adalah bapak (induk pertama yang terpilih), ibu (induk kedua yang terpilih) dan jumgen (jumlah gen). Pertama 2 buah bilangan dibangkitkan secara acak untuk menentukan titik potong kedua induk. Kemudian dua kromosom anak mendapatkan gen-gen dari kromosom bapak dan ibu. Posisi-posisi gen yang masih kosong pada anak pertama diisi dengan gen dari bapak yang belum ada pada anak pertama, dan anak kedua diisi dengan gen dari ibu yang belum ada pada anak kedua. Hasil dari fungsi ini adalah dua kromosom baru yang membawa sifat dari induknya.

6. Mutasi dengan Swapping Mutation

Operator pindah silang dari populasi awal yang sudah terbentuk diimplementasikan dalam perintah pada fungsi Mutasi.m berikut ini.

(16)

125 mutkrom=kromosom; for ii=1:jumgen, if rand<pmutasi, TM2=1+fix(rand*jumgen); while TM2==ii, TM2=1+fix(rand*jumgen); end tempopulasi=mutkrom(ii); mutkrom(ii)=mutkrom(TM2); mutkrom(TM2)=tempopulasi; end end

variabel pada fungsi Mutasi.m diatas adalah adalah kromosom (anak hasil pindah silang), jumgen (jumlah gen) dan pmutasi (probabilitas mutasi). Pertama membangkitkan bilangan random dalam interval [0,1). Jika bilangan random yang dibangkitkan kurang dari pmutasi maka akan ditentukan posisi gen dalam kromosom yang akan ditukar. Kemudian menukar nilai gen yang terpilih dalam kromosom sehingga didapatkan kromosom baru hasil mutasi (mutkrom).

7. Program Utama

Sebagai program utama, fungsi SeptiaGenetika.m memanggil semua fungsi-fungsi diatas. Pada program utama berikut, memasukkan variabel-variabel jd (jarak depot dengan agen), kapasitas (permintaan dari setiap agen), JarakAgen (jarak tempuh antara agen dengan agen lainnya), jumgen (jumlah gen), kendaraan, q (kapasitas kendaraan), ukpop (ukuran populasi, yaitu banyaknya individu dalam populasi), psilang (probabilitas pindah silang), pmutasi (probabilitas mutasi), maxG (jumlah generasi). Program di bawah ini juga ditambahkan perintah untuk menampilkan grafik. Pada akhir program variabel jalur terbaik menyatakan rute optimal yang didapatkan.

(17)

126 JarakDepot = [9.2 7.4 21 9.6 15 5.2 9.4 8.6 19 9.3 6 9 6.5 3.2 16 15 6.3 6.2 3.4 8.6 18 20 17 16 15]; kapasitas = [1050 1250 350 50 700 625 500 500 1000 375 25 1100 1100 175 1000 750 1500 500 625 1000 750 1000 450 250 250]; JarakAgen = [0 7.7 37 12 23 14 12 9.1 19 12 14 5 9.7 6.5 15 14 9.6 9.6 8.3 13 26 28 15 14 13; 7.7 0 27 6.4 15 8 6 1.3 13 5.9 13 11 4.7 8.6 5.7 8 4.6 3.8 4 6.9 12 18 10 8.5 7.3; 37 27 0 16 7.6 14 17 21 18 17 20 33 26 17 18 19 17 17 18 14 9.6 3.7 12 17 18; 12 6.4 16 0 10 4 0.85 6.7 8.3 17 10 15 4.8 12 2.8 4.9 4.8 3.9 7.2 1.3 6.8 13 3.7 4.7 4.2; 23 15 7.6 10 0 8.9 12 16 13 12 9.1 25 15 19 13 14 15 15 19 9.4 7.7 5.5 7.4 12 14; 14 8 14 4 8.9 0 5 8.4 13 5.1 6.8 15 4.8 9.3 6.8 8.9 4.6 4.4 5.4 3.1 7.6 12 7.4 8.7 8.2; 12 6 17 0.85 12 5 0 5.8 10 0.1 10 14 3.1 11 3.7 5.9 3.1 3.1 6.1 1.8 8.2 13 5.1 5.6 5.2; 9.1 1.3 21 6.7 16 8.4 5.8 0 11 8.7 14 13 5.7 10 7.4 6.7 5.6 4.8 5.4 8 19 21 16 8.5 6; 19 13 18 8.3 13 13 10 11 0 7.2 20 21 11 19 6 5.1 11 10 13 8.9 10 16 7 5.7 4.4; 12 5.9 17 1.7 12 5.1 0.1 8.7 7.2 0 9.2 14 3.9 11 3.7 5.8 3.9 3.6 6 1.3 7 13 5 5.5 5.1; 14 13 20 10 9.1 6.8 10 14 20 9.2 0 15 6 8.6 11 20 5.9 5.8 8.2 8.4 13 15 12 13 19; 5 11 33 15 25 15 14 13 21 14 15 0 11 5.9 19 19 11 11 9.3 14 27 29 26 19 18; 9.7 4.7 26 4.8 15 4.8 3.1 5.7 11 3.9 6 11 0 9 4.7 6.8 1.4 0.95 3.6 4.5 8.1 14 5.8 6.6 7.3;

(18)

127 6.5 8.6 17 12 19 9.3 11 10 19 11 8.6 5.9 9 0 18 17 8.1 8.1 5.1 11 20 23 20 17 16; 15 5.7 18 2.8 13 6.8 3.7 7.4 6 3.7 11 19 4.7 18 0 4.7 6.7 5.9 9.2 4.6 9.4 15 6.3 1.9 1.4; 14 8 19 4.9 14 8.9 5.9 6.7 5.1 5.8 20 19 6.8 17 4.7 0 9.7 8.9 10 7.6 12 18 8.6 4.5 3.1; 9.6 4.6 17 4.8 15 4.6 3.1 5.6 11 3.9 5.9 11 1.4 8.1 6.7 9.7 0 0.9 3.8 3 8.2 14 5.9 6.7 6.2; 9.6 3.8 17 3.9 15 4.4 3.1 4.8 10 3.6 5.8 11 0.95 8.1 5.9 8.9 0.9 0 3 3.4 8.6 15 6.3 7.1 6.6; 8.3 4 18 7.2 19 5.4 6.1 5.4 13 6 8.2 9.3 3.6 5.1 9.2 10 3.8 3 0 6.1 12 16 9 11 9.3; 13 6.9 14 1.3 9.4 3.1 1.8 8 8.9 1.3 8.4 14 4.5 11 4.6 7.6 3 3.4 6.1 0 6.1 12 2.9 6.9 6.5; 26 12 9.6 6.8 7.7 7.6 8.2 19 10 7 13 27 8.1 20 9.4 12 8.2 8.6 12 6.1 0 8.1 3.8 8.8 10; 28 18 3.7 13 5.5 12 13 21 16 13 15 29 14 23 15 18 14 15 16 12 8.1 0 10 15 17; 16 10 12 3.7 7.4 7.4 5.1 16 7 5 12 26 5.8 20 6.3 8.6 5.9 6.3 9 2.9 3.8 10 0 5.6 7; 14 8.5 17 4.7 12 8.7 5.6 8.5 5.7 5.5 13 19 6.6 17 1.9 4.5 6.7 7.1 11 6.9 8.8 15 5.6 0 2; 13 7.3 18 4.2 14 8.2 5.2 6 4.4 5.1 19 18 7.3 16 1.4 3.1 6.2 6.6 9.3 6.5 10 17 7 2 0]; jumgen = length(JarakAgen(:,1)); ukpop = 25; q = 6000; kendaraan=3; psilang = 0.8; pmutasi = 0.05; maxG = 1500; pjh = 30;

(19)

128 fth = 1/pjh; bgraf = fth; % inisialisasi grafis hfig = figure; hold on set(hfig, 'position', [50,50,600,400]); set(hfig, 'doublebuffer', 'on');

axis([1 maxG 0 bgraf]);

hbestplot1 = plot(1:maxG,zeros(1,maxG)); hbestplot2 = plot(1:maxG,zeros(1,maxG));

htext1 = text(0.6*maxG,0.25*bgraf,sprintf('fitness terbaik:

%7.6f', 0.0));

htext2 = text(0.6*maxG,0.20*bgraf,sprintf('fitness rata-rata:

%7.6f', 0.0));

htext3 = text(0.6*maxG,0.15*bgraf,sprintf('panjang jalur

terbaik: %7.3f', 0.0));

htext4 = text(0.6*maxG,0.10*bgraf,sprintf('ukuran populasi:

%3.0f', 0.0));

htext5 = text(0.6*maxG,0.05*bgraf,sprintf('probabilitas mutasi:

%4.3f', 0.0)); xlabel('generasi'); ylabel('fitness'); hold off drawnow; % inisialisasi grafis hfig = figure; hold on set(hfig, 'position', [50,50,600,400]); set(hfig, 'doublebuffer', 'on');

axis([1 maxG 0 bgraf]);

hbestplot1 = plot(1:maxG,zeros(1,maxG)); hbestplot2 = plot(1:maxG,zeros(1,maxG));

(20)

129

htext1 = text(0.6*maxG,0.25*bgraf,sprintf('fitness terbaik:

%7.6f', 0.0));

htext2 = text(0.6*maxG,0.20*bgraf,sprintf('fitness rata-rata:

%7.6f', 0.0));

htext3 = text(0.6*maxG,0.15*bgraf,sprintf('panjang jalur

terbaik: %7.3f', 0.0));

htext4 = text(0.6*maxG,0.10*bgraf,sprintf('ukuran populasi:

%3.0f', 0.0));

htext5 = text(0.6*maxG,0.05*bgraf,sprintf('probabilitas mutasi:

%4.3f', 0.0)); xlabel('generasi'); ylabel('fitness'); hold off drawnow; %inisialisasi populasi Populasi=PopulasiAwal(ukpop,jumgen); for generasi=1:maxG, maxF = NilaiFitness(Populasi(1,:),jumgen,JarakAgen,JarakDepot); minF = maxF; indeksindividuterbaik = 1; for ii=1:ukpop, fitness(ii)= NilaiFitness(Populasi(ii,:),jumgen,JarakAgen,JarakDepot); if(fitness(ii)>maxF), maxF=fitness(ii); indeksindividuterbaik=ii; jalurterbaik=Populasi(ii,:); end if(fitness(ii)<=minF), minF=fitness(ii); end end

(21)

130 maxF; minF; fitnessratarata=mean(fitness); plotvector1=get(hbestplot1, 'YData'); plotvector1(generasi)=maxF;

set(hbestplot1, 'YData',plotvector1); plotvector2=get(hbestplot2, 'YData'); plotvector2(generasi)=fitnessratarata; set(hbestplot2, 'YData',plotvector2);

set(htext1,'String',sprintf('fitness terbaik: %7.6f', maxF));

set(htext2,'String',sprintf('fitness rata-rata: %7.6f',

fitnessratarata));

set(htext3,'String',sprintf('panjang jalur terbaik: %7.3f', 1/maxF));

set(htext4,'String',sprintf('ukuran populasi: %3.0f', ukpop)); set(htext5,'String',sprintf('probabilitas mutasi: %4.3f', pmutasi)); drawnow; if maxF>fth, break; end tempopulasi=Populasi; %etilisme:

%-buat satu kopi kromosom terbaik jika ukuran populasi ganjil %-buat dua kopi kromosom terbaik jika ukuran populasi genap

if mod(ukpop,2)==0 %ukuran populasi genap

iterasimulai=3; tempopulasi(1,:)=Populasi(indeksindividuterbaik,:); tempopulasi(2,:)=Populasi(indeksindividuterbaik,:); else iterasimulai=2; tempopulasi(1,:)=Populasi(indeksindividuterbaik,:);

(22)

131 end

linearfitness=linearfitnessranking(ukpop,fitness,maxF,minF);

%Roulette-wheel selection dan pindah silang

for jj=iterasimulai:2:ukpop, IP1=RouletteWheel(ukpop,linearfitness); IP2=RouletteWheel(ukpop,linearfitness); if(rand<psilang), anak=PindahSilang(Populasi(IP1,:),Populasi(IP2,:),jumgen); tempopulasi(jj,:)=anak(1,:); tempopulasi(jj+1,:)=anak(2,:); else tempopulasi(jj,:)=Populasi(IP1,:); tempopulasi(jj+1,:)=Populasi(IP2,:); end end

%mutasi dilakukan pada semua kromosom

for kk=iterasimulai:ukpop, tempopulasi(kk,:)=Mutasi(tempopulasi(kk,:),jumgen,p mutasi); end Populasi=tempopulasi; end jalurterbaik

save jalurterbaik.mat jalurterbaik

8. Pembagian rute

Setelah jalur terbaik di dapatkan dari program utama, selanjutnya dilakukan pembagian rute menjadi dua beserta jumlah total permintaan dari setiap masing-masing rute. Fungsi ini disimpan pada file bagidua.m berikut ini.

function [rute1,kap1,rute2,kap2]=bagidua(kromosom,kapasitas,q) kap1=kapasitas(kromosom(1));

(23)

132 kap2=0; akhir=1; while kap1<=q akhir=akhir+1; kap1=kap1+kapasitas(kromosom(akhir)); end if kap1>q kap1=kap1-kapasitas(kromosom(akhir)); akhir=akhir-1; end rute1=kromosom(1:akhir); rute2=kromosom(akhir+1:size(kromosom,2)); for ii=akhir+1:size(kromosom,2) kap2=kap2+kapasitas(kromosom(ii)); end

variabel pada fungsi bagidua.m diatas adalah kromosom (jalur terbaik yang telah dihasilkan dari program utama), kapasitas (permintaan dari setiap agen), dan q (kapasitas kendaraan yaitu 6000 kg). Kapasitas 1 merupakan kapasitas permintaan dari semua agen yang dilalui pada rute 1 dan tidak melebihi dari kapasitas maksimal mobil box yaitu 6000 kg, jika sudah melebihi 6000 kg maka akan terbentuk rute 2 beserta kapasitas permintaan dari semua agen yang dilalui pada rute 2.

(24)

133

Lampiran 7

Hasil pengambilan rute secara acak yang membentuk populasi pada generasi awal dengan bantuan software Matlab.

Individu 1 = 9 19 4 23 15 22 17 25 2 16 3 1 6 13 5 7 11 24 8 10 18 12 21 20 14 Individu 2 = 14 10 21 12 16 20 17 3 15 11 1 22 23 24 8 5 18 6 9 4 25 13 7 19 2 Individu 3 = 11 22 21 15 12 10 18 14 7 3 20 2 8 13 9 24 19 4 25 23 17 5 6 1 16 Individu 4 = 21 18 9 22 7 17 24 6 5 12 8 23 13 4 3 20 25 11 16 10 2 14 19 15 1 Individu 5 = 17 20 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 18 12 7 11 19 1 14 Individu 6 = 9 8 17 11 15 20 25 3 24 13 23 19 14 5 10 21 6 22 18 2 16 1 4 12 7 Individu 7 = 25 18 6 16 23 24 8 13 5 14 2 3 20 10 22 4 11 21 9 7 1 12 17 19 15 Individu 8 = 3 25 2 21 24 7 23 10 4 5 17 14 11 22 15 18 13 16 19 12 8 6 1 20 9 Individu 9 = 7 1 3 11 2 12 14 5 8 13 21 16 6 15 24 19 4 20 18 22 9 23 17 10 25 Individu 10 = 5 8 12 24 9 7 17 25 19 23 15 18 4 10 1 6 13 3 11 14 21 2 16 22 20

(25)

134 Individu 11 = 16 8 5 3 25 10 13 23 4 20 9 18 7 21 6 17 12 11 14 1 2 15 22 19 24 Individu 12 = 12 1 21 6 13 3 23 5 20 9 18 15 25 22 4 10 8 17 14 24 19 16 7 2 11 Individu 13 = 7 24 19 11 12 1 9 18 3 16 13 17 4 21 10 2 23 20 15 8 5 22 14 6 25 Individu 14 = 4 23 7 8 13 14 18 6 16 11 21 25 15 17 12 19 10 5 9 3 22 2 24 20 1 Individu 15 = 14 21 4 24 10 7 18 9 25 2 5 17 3 1 16 6 8 15 12 23 19 22 13 11 20 Individu 16 = 10 14 12 1 22 24 7 19 20 11 25 6 2 4 15 23 18 17 16 8 3 5 9 13 21 Individu 17 = 22 20 24 1 25 8 2 10 12 3 5 11 18 13 9 14 6 23 21 15 7 19 17 16 4 Individu 18 = 20 15 5 23 22 6 3 2 7 18 14 12 25 10 24 1 11 13 4 16 21 8 19 9 17 Individu 19 = 17 2 11 16 14 18 6 3 23 22 15 4 8 7 10 25 19 9 1 24 12 21 13 5 20 Individu 20 = 7 3 24 1 9 19 10 25 21 13 2 23 22 5 4 20 14 11 17 15 16 12 8 6 18

(26)

135

Lampiran 8

Individu yang terpilih sebagai induk dengan bantuan software Matlab.

1) Induk 1= Individu 5 17 20 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 18 12 7 11 19 1 14 Induk 2= Individu 5 17 20 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 18 12 7 11 19 1 14 2) Induk 1= Individu 18 20 15 5 23 22 6 3 2 7 18 14 12 25 10 24 1 11 13 4 16 21 8 19 9 17 Induk 2= Individu 12 12 1 21 6 13 3 23 5 20 9 18 15 25 22 4 10 8 17 14 24 19 16 7 2 11 3) Induk 1= Individu 4 21 18 9 22 7 17 24 6 5 12 8 23 13 4 3 20 25 11 16 10 2 14 19 15 1 Induk 2= Individu 7 25 18 6 16 23 24 8 13 5 14 2 3 20 10 22 4 11 21 9 7 1 12 17 19 15 4) Induk 1= Individu 5 17 20 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 18 12 7 11 19 1 14

(27)

136 Induk 2= Individu 8 3 25 2 21 24 7 23 10 4 5 17 14 11 22 15 18 13 16 19 12 8 6 1 20 9 5) Induk 1= Individu 11 16 8 5 3 25 10 13 23 4 20 9 18 7 21 6 17 12 11 14 1 2 15 22 19 24 Induk 2= Individu 7 25 18 6 16 23 24 8 13 5 14 2 3 20 10 22 4 11 21 9 7 1 12 17 19 15 6) Induk 1= Individu 5 17 20 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 18 12 7 11 19 1 14 Induk 2= Individu 17 22 20 24 1 25 8 2 10 12 3 5 11 18 13 9 14 6 23 21 15 7 19 17 16 4 7) Induk 1= Individu 18 20 15 5 23 22 6 3 2 7 18 14 12 25 10 24 1 11 13 4 16 21 8 19 9 17 Induk 2= Individu 19 17 2 11 16 14 18 6 3 23 22 15 4 8 7 10 25 19 9 1 24 12 21 13 5 20 8) Induk 1= Individu 4 21 18 9 22 7 17 24 6 5 12 8 23 13 4 3 20 25 11 16 10 2 14 19 15 1

(28)

137 Induk 2= Individu 11 16 8 5 3 25 10 13 23 4 20 9 18 7 21 6 17 12 11 14 1 2 15 22 19 24 9) Induk 1= Individu 16 10 14 12 1 22 24 7 19 20 11 25 6 2 4 15 23 18 17 16 8 3 5 9 13 21 Induk 2= Individu 8 3 25 2 21 24 7 23 10 4 5 17 14 11 22 15 18 13 16 19 12 8 6 1 20 9 10) Induk 1= Individu 13 7 24 19 11 12 1 9 18 3 16 13 17 4 21 10 2 23 20 15 8 5 22 14 6 25 Induk 2= Individu 5 17 20 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 18 12 7 11 19 1 14

(29)

138

Lampiran 9

Hasil crossover (pindah silang) dengan bantuan software Matlab.

1) Anak 1 17 20 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 18 12 7 11 19 1 14 Anak 2 17 20 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 18 12 7 11 19 1 14 2) Anak 1 1 11 13 4 16 21 8 19 17 9 18 15 25 20 5 23 22 6 3 2 7 14 12 10 24 Anak 2 10 8 17 24 19 16 7 2 11 18 14 12 25 1 21 6 13 3 23 5 20 9 15 22 4 3) Anak 1 21 18 9 22 7 17 24 6 5 12 8 23 13 4 3 20 25 11 16 10 2 14 19 15 1 Anak 2 25 18 6 16 23 24 8 13 5 14 2 3 20 10 22 4 11 21 9 7 1 12 17 19 15 4) Anak 1 10 13 22 21 3 25 24 5 2 23 15 9 4 18 7 11 14 16 19 12 8 6 1 20 17 Anak 2 25 2 21 24 23 10 5 17 14 22 15 13 16 8 6 20 9 4 18 12 7 11 19 1 3

(30)

139 5) Anak 1 22 19 24 16 8 5 3 25 10 13 23 4 20 9 18 7 21 6 17 12 11 14 1 2 15 Anak 2 17 19 15 3 25 18 6 16 23 24 8 13 5 14 2 20 10 22 4 11 21 9 7 1 12 6) Anak 1 7 19 24 1 25 8 2 10 12 3 5 11 18 13 9 14 6 23 17 20 22 21 16 15 4 Anak 2 19 17 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 20 1 12 11 18 14 7 7) Anak 1 16 21 9 17 14 18 6 3 23 22 15 4 8 7 10 25 19 20 5 2 12 24 1 11 13 Anak 2 21 13 5 20 22 6 3 2 7 18 14 12 25 10 24 1 11 17 16 23 15 4 8 19 9 8) Anak 1 1 8 5 21 18 9 22 7 17 24 6 12 23 13 4 3 20 25 11 16 10 2 14 19 15 Anak 2 24 18 9 16 8 5 3 25 10 13 23 4 20 7 21 6 17 12 11 14 1 2 15 22 19

(31)

140 9) Anak 1 2 16 8 3 9 21 23 10 4 5 17 14 11 22 15 18 13 12 1 24 7 19 20 25 6 Anak 2 13 16 12 8 1 9 7 19 20 11 25 6 2 4 15 23 18 3 21 24 10 5 17 14 22 10) Anak 1 1 9 18 3 16 13 17 4 21 10 2 23 20 15 8 5 22 14 6 25 7 11 19 24 12 Anak 2 10 8 13 21 3 25 16 24 2 23 15 6 9 4 18 12 7 11 19 1 5 22 14 17 20

(32)

141

Lampiran 10

Hasil mutasi dengan bantuan software Matlab.

1) Individu baru anak 1

17 20 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 18 12 7 11 19 1 14

Individu baru anak 2

17 20 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 18 12 7 11 19 1 14

2) Individu baru anak 1

2 11 13 4 16 21 9 19 15 8 20 17 25 18 5

23 22 6 3 1 7 14 12 10 24 Individu baru anak 2

10 8 17 24 19 16 7 2 11 18 14 12 25 1 21 6 13 3 23 5 20 9 15 22 4

3) Individu baru anak 1

21 18 9 22 7 17 24 6 5 12 8 23 13 4 3 20 25 11 16 10 2 14 19 15 1

Individu baru anak 2

25 18 6 16 23 24 8 13 5 14 2 3 20 10 22 4 11 21 9 7 1 12 17 19 15

4) Individu baru anak 1

10 13 22 21 3 25 24 5 2 23 15 9 4 18 7 11 14 16 19 12 8 6 1 20 17

(33)

142

Individu baru anak 2

25 2 21 24 23 10 5 17 14 22 15 13 16 8 6 20 9 4 18 12 7 11 19 1 3

5) Individu baru anak 1

22 19 24 16 8 5 3 25 10 13 23 4 20 9 18 7 21 6 17 12 11 14 1 2 15

Individu baru anak 2

17 19 15 3 25 18 6 16 23 24 8 13 5 14 2 20 10 22 4 11 21 9 7 1 12

6) Individu baru anak 1

7 19 24 1 25 8 2 10 12 3 5 11 18 13 9 14 6 23 17 20 22 21 16 15 4

Individu baru anak 2

19 17 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 20 1 12 11 18 14 7

7) Individu baru anak 1

16 21 9 17 14 18 6 3 23 22 15 4 8 7 10 25 19 20 5 2 12 24 1 11 13

Individu baru anak 2

21 13 5 20 22 6 3 2 7 18 14 12 25 10 24 1 11 17 16 23 15 4 8 19 9

8) Individu baru anak 1

1 8 5 21 18 9 22 7 17 24 6 12 23 13 4 3 20 25 11 16 10 2 14 19 15

(34)

143

Individu baru anak 2

24 18 9 16 8 5 3 25 10 13 23 4 20 7 21 6 17 12 11 14 1 2 15 22 19

9) Individu baru anak 1

2 16 8 3 9 21 23 10 4 5 17 14 11 22 15 18 13 12 1 24 7 19 20 25 6

Individu baru anak 2

13 16 12 8 1 9 7 19 20 11 25 6 2 4 15 23 18 3 21 24 10 5 17 14 22

10) Individu baru anak 1

1 9 18 3 16 13 17 4 21 10 2 23 20 15 8 5 22 14 6 25 7 11 19 24 12

Individu baru anak 2

10 8 13 21 3 25 16 24 2 23 15 6 9 4 18 12 7 11 19 1 5 22 14 17 20

(35)

144

Lampiran 11

Hasil populasi baru pada generasi selanjutnya dengan bantuan software Matlab.

Individu 1 = 17 20 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 18 12 7 11 19 1 14 Individu 2 = 17 20 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 18 12 7 11 19 1 14 Individu 3 = 11 13 4 16 21 9 19 15 8 20 17 25 18 5 23 22 6 3 1 7 14 12 10 24 Individu 4 = 10 8 17 24 19 16 7 2 11 18 14 12 25 1 21 6 13 3 23 5 20 9 15 22 4 Individu 5= 21 18 9 22 7 17 24 6 5 12 8 23 13 4 3 20 25 11 16 10 2 14 19 15 1 Individu 6 = 25 18 6 16 23 24 8 13 5 14 2 3 20 10 22 4 11 21 9 7 1 12 17 19 15 Individu 7 = 10 13 22 21 3 25 24 5 2 23 15 9 4 18 7 11 14 16 19 12 8 6 1 20 17 Individu 8 = 25 2 21 24 23 10 5 17 14 22 15 13 16 8 6 20 9 4 18 12 7 11 19 1 3 Individu 9 = 22 19 24 16 8 5 3 25 10 13 23 4 20 9 18 7 21 6 17 12 11 14 1 2 15 Individu 10 = 17 19 15 3 25 18 6 16 23 24 8 13 5 14 2 20 10 22 4 11 21 9 7 1 12 Individu 11 = 7 19 24 1 25 8 2 10 12 3 5 11 18 13 9 14 6 23 17 20 22 21 16 15 4

(36)

145 Individu 12 = 19 17 10 8 13 22 21 3 25 16 24 5 2 23 15 6 9 4 20 1 12 11 18 14 7 Individu 13 = 16 21 9 17 14 18 6 3 23 22 15 4 8 7 10 25 19 20 5 2 12 24 1 11 13 Individu 14 = 21 13 5 20 22 6 3 2 7 18 14 12 25 10 24 1 11 17 16 23 15 4 8 19 9 Individu 15 = 1 8 5 21 18 9 22 7 17 24 6 12 23 13 4 3 20 25 11 16 10 2 14 19 15 Individu 16 = 24 18 9 16 8 5 3 25 10 13 23 4 20 7 21 6 17 12 11 14 1 2 15 22 19 Individu 17 = 2 16 8 3 9 21 23 10 4 5 17 14 11 22 15 18 13 12 1 24 7 19 20 25 6 Individu 18 = 13 16 12 8 1 9 7 19 20 11 25 6 2 4 15 23 18 3 21 24 10 5 17 14 22 Individu 19 = 1 9 18 3 16 13 17 4 21 10 2 23 20 15 8 5 22 14 6 25 7 11 19 24 12 Individu 20 = 10 8 13 21 3 25 16 24 2 23 15 6 9 4 18 12 7 11 19 1 5 22 14 17 20

(37)

146

Lampiran 12

Nilai fitness generasi selanjutnya yang didapatkan dengan bantuan software Matlab.

Nilai Fitness individu 1 = 0.0046

Nilai Fitness individu 2 = 0.0046

Nilai Fitness individu 3 = 0.0037 Nilai Fitness individu 4 = 0.0039 Nilai Fitness individu 5 = 0.0034 Nilai Fitness individu 6 = 0.0036 Nilai Fitness individu 7 = 0.0036 Nilai Fitness individu 8 = 0.0036 Nilai Fitness individu 9 = 0.0042 Nilai Fitness individu 10 = 0.0037

Nilai Fitness individu 11 = 0.0045 Nilai Fitness individu 12 = 0.0043 Nilai Fitness individu 13= 0.0041 Nilai Fitness individu 14 = 0.0036 Nilai Fitness individu 15 = 0.0033 Nilai Fitness individu 16 = 0.0045 Nilai Fitness individu 17 = 0.0045 Nilai Fitness individu 18= 0.0036 Nilai Fitness individu 19 = 0.0035 Nilai Fitness individu 20 = 0.0040

(38)

149

Lampiran 13

Hasil populasi baru pada generasi ke-1000 dengan bantuan software Matlab.

Individu 1 = 11 13 18 17 6 24 9 16 25 5 3 22 21 23 4 20 7 10 15 2 8 19 1 12 14 Individu 2 = 11 13 18 17 6 24 9 16 25 5 3 22 21 23 4 20 7 10 15 2 8 19 1 12 14 Individu 3 = 20 7 15 2 19 24 9 16 22 5 3 25 21 23 11 1 13 4 6 12 18 8 14 10 17 Individu 4 = 15 2 19 1 14 3 4 25 6 24 17 12 18 8 11 13 5 9 16 22 21 23 20 7 10 Individu 5 = 23 4 20 7 8 15 1 14 24 5 25 22 13 21 10 19 2 16 3 11 18 6 17 12 9 Individu 6 = 14 5 17 24 9 23 8 1 4 20 7 12 3 11 18 6 15 13 22 21 10 19 2 16 25 Individu 7 = 24 9 16 25 5 22 21 23 4 7 8 20 18 10 15 2 3 19 1 12 14 11 13 17 6 Individu 8 = 5 9 18 3 19 1 12 14 13 11 17 22 21 23 4 20 7 10 15 2 8 6 24 16 25 Individu 9 = 16 17 24 3 22 2 13 10 8 25 21 7 5 23 1 19 15 4 20 9 12 14 11 18 6 Individu 10 = 5 15 1 12 2 19 21 9 23 14 11 7 4 18 25 13 6 24 16 17 3 22 8 20 10

(39)

150 Individu 11 = 18 6 19 13 24 4 16 25 9 8 17 5 3 22 2 14 21 23 15 1 10 20 7 12 11 Individu 12 = 14 12 2 11 5 3 24 21 9 23 13 19 1 10 6 15 4 16 25 17 22 7 20 8 18 Individu 13 = 25 5 3 22 21 23 4 20 7 10 152 8 19 1 16 14 24 11 13 18 17 6 9 12 Individu 14 = 6 24 21 7 10 15 19 12 14 4 16 25 9 8 17 1 5 3 22 23 2 20 11 13 18 Individu 15 = 12 17 10 18 6 15 13 22 9 23 2 16 25 14 5 3 24 21 8 19 1 11 4 20 7 Individu 16 = 12 17 11 18 6 15 13 22 9 23 2 16 25 14 5 3 24 21 8 19 1 10 4 20 7 Individu 17 = 13 24 17 6 18 9 16 25 5 14 3 22 21 23 4 20 7 10 15 2 8 19 1 12 11 Individu 18 = 13 18 17 6 24 9 16 25 20 11 322 21 23 4 5 7 10 15 2 8 19 1 12 14 Individu 19 = 14 11 9 22 13 3 4 25 6 24 5 12 18 8 16 17 1 21 23 20 7 10 15 2 19 Individu 20 = 19 13 18 17 6 24 9 16 11 5 3 22 21 23 20 25 1 12 8 14 10 4 7 15 2

(40)

151

Lampiran 14

Nilai fitness generasi ke-1000 yang didapatkan dengan bantuan software Matlab.

Nilai Fitness individu 1 = 0.0080

Nilai Fitness individu 2 = 0.0080

Nilai Fitness individu 3 = 0.0052 Nilai Fitness individu 4 = 0.0047 Nilai Fitness individu 5 = 0.0044 Nilai Fitness individu 6 = 0.0054 Nilai Fitness individu 7 = 0.0033 Nilai Fitness individu 8 = 0.0050 Nilai Fitness individu 9 = 0.0057 Nilai Fitness individu 10 = 0.0047

Nilai Fitness individu 11 = 0.0042 Nilai Fitness individu 12 = 0.0044 Nilai Fitness individu 13= 0.0041 Nilai Fitness individu 14 = 0.0044 Nilai Fitness individu 15 = 0.0048 Nilai Fitness individu 16 = 0.0043 Nilai Fitness individu 17 = 0.0046 Nilai Fitness individu 18= 0.0042 Nilai Fitness individu 19 = 0.0042 Nilai Fitness individu 20 = 0.0041

(41)

Referensi

Dokumen terkait

Selanjutnya diperj e las oleh Janis , bahwa kelompok yang sangat kompak (cohesiveness) dimungkinkan t erlalu ban y ak menyimpan atau menginvestasikan energi

Tugas Akhir merupakan salah satu persyaratan yang harus dipenuhi oleh setiap mahasiswa Jurusan Sipil Fakultas Teknik Universitas Diponegoro Semarang untuk menyelesaikan

(Velasco-Velasco et al. 2011 ), observed that high temper- ature and low moisture content during vermicomposting of sheep manure are responsible for ammonia emission, Nitrogen loss

  Top  Ten  Thoughts  about  Communication  in  Mathematics.   Curriculum  and  Content 

Masalah yang terjadi di Industri ini adalah kecelakaan kerja dari segi bahaya kimia di area stock fit proses produksi bottom sepatu yang banyak menggunakan

Berdasarkan latar belakang tersebut dan tingginya jumlah wanita yang menderita kanker leher rahim penulis tertarik untuk meneliti lebih jauh tentang faktor- faktor

Peraturan Menteri Dalam Negeri Nomor 16 Tahun 2007 tentang Tata Cara Evaluasi Rancangan Peraturan Daerah tentang Anggaran Pendapatan dan Belanja Daerah dan

Dari hasil pemodelan dapat dilihat untuk jenis A-Jack round end dan square end bahwa untuk mutu beton, K-225, K-250, K-275 dan K-300, hanya pada kondisi