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.

4.1.3 Evaluasi Individu

TSP bertujuan untuk meminimalkan jarak, maka nilai fitnessnya adalah inversi total jarak dari jalur yang didapatkan, dengan menggunakan rumus di mana adalah total jarak dari jalur yang didapatkan. Variabel yang digunakan untuk mencari nilai fitness yaitu populasi, jumlah gen, dan jarak antar kota dalam suatu kromosom. Output dari fungsi ini adalah nilai fitness dalam suatu populasi yang dapat dilihat pada Lampiran 9.

4.1.4 Probabilitas Fitness