Penarikan Simpulan IMPLEMENTASI ALGORITMA GENETIKA DENGAN TEKNIK KENDALI LOGIKA FUZZY UNTUK MENGATASI TRAVELLING SALESMAN PROBLEM MENGGUNAKAN MATLAB (Studi Kasus PT. Pos Indonesia DC Tugu Semarang)
Gambar 4.1 Posisi 22 Alamat dalam Grafik
4.1.2
Inisialisasi Populasi
Tahap ini adalah tahap membangkitkan sebuah populasi yang berisi sejumlah kromosom. Setiap kromosom berisi sejumlah gen dan setiap gen berisi
nomor dari semua kota yang menjadi sample. Masing-masing nomor urut hanya boleh muncul 1 kali di dalam 1 kromosom. Masukan untuk fungsi ini adalah
ukuran populasi yaitu jumlah kromosom dalam populasi dan jumlah gen dalam satu kromosom. Kromosom yang dibangkitkan adalah sebuah kromosom acak.
Untuk membangkitkan kromosom ini, digunakan fungsi random yang telah tersedia dalam MATLAB. Sintak dapat dilihat pada Gambar 4.2 sebagai berikut.
Gambar 4.2 Sintak Inisialisasi Populasi Fungsi
di atas
dideklarasikan dengan
nama
TSPInisialisasiPopulasi, dengan 2 variabel yaitu Ukpop,JumGen.
Ukpop merupakan ukuran populasi, dan JumGen adalah jumlah gen. Output yang dihasilkan dari fungsi ini adalah Populasi. Untuk menyatakan kromosom ke-
pada populasi yang jumlah kolomnya sama dengan jumlah gen digunakan
perintah Populasiii,:. Ukpop menyatakan ukuran populasi atau jumlah
kromosom dalam populasi, dimana nilainya dapat dimasukkan melalui perintah
function Populasi =
TSPInisiasiPopulasiUkPop,JumGen for
ii=1:UkPop, [Xval,Ind] = sortrand1,JumGen;
Populasiii,: = Ind; end
input ‘Masukkan Ukuran Populasi: ‘. JumGen menyatakan
jumlah gen dalam kromosom, dimana gen ini merepresentasikan jumlah alamat
yang ada. Nilai dari JumGen dimasukkan melalui perintah input ‘Masukkan Jumlah Gen : ‘.Perintah sort rand1,JumGen
manyatakan pembangkitan matriks berukuran 1 x JumGen yang berisi bilangan
random dalam interval 0 – 1 yang terurut dari kecil ke besar. Program tersebut
kemudian disimpan dengan nama TSPInisialisasiPopulasi.m.Dari
program tersebut, didapatkan kromosom yang terbentuk seperti pada Lampiran 8. Dari hasil tersebut dapat diperoleh populasi awal yang dibangkitkan secara
acak dengan merepresentasikannya melalui nomor urut setiap alamat yang merupakan jalur yang dilalui pada masing-masing kromosom secara melingkar.
Populasi awal ini diambil secara acak dari sekian banyak solusi jalur yang memungkinkan untuk dilalui. Masing-masing nomor urut hanya boleh muncul 1
kali dalam 1 kromosom.