Implementasi Algoritma Genetika Untuk menyelesaikan Masalah Travelling Salesman Problem TSP

3.2 Perancangan Perangkat Lunak

Perancangan perangkat lunak dibuat dengan menggunakan bahasa pemrograman Matlab yang pada dasarnya penulis tidak membuat tampilan GUI, akan tetapi penulis menyajikan dalam kode program tersebut. Perancangan aplikasi yang dibuat pada dasarnya mengikuti metode Algoritma Genetika yang disajikan oleh penulis. Program yang dibuat berdasarkan langkah demi langkah untuk menyelesaikan permasalahan TSP dengan Algoritma Genetika.

3.2.1 Implementasi Algoritma Genetika Untuk menyelesaikan Masalah Travelling Salesman Problem TSP

a. Pengkodean kromosom  Pada tahap ini kota-kota yang akan dikunjungi diberi nomor urut. Kemudian dibentuk ke dalam suatu kromosom yang berisi gen-gen yang merepresentasikan nomor urut dari semua kota yang ada. Jumlah gen dalam setiap kromosom adalah sama dengan jumlah kota. Masing-masing nomor urut kota hanya boleh muncul sekali di dalam suatu kromosom dan dibangkitkan secara acak dengan menggunakan perintah yang ada dalam Matlab. b. Inisialisasi Populasi  Tahap ini bertujuan untuk membangkitkan sebuah populasi yang berisi sejumlah kromosom. Setiap kromosom berisi sejumlah gen. Masukan untuk fungsi ini adalah ukuran populasi jumlah kromosom dalam populasi dan jumlah gen dalam satu kromosom. Keluaran dari fungsi tersebut adalah variabel populasi berupa matriks dua dimensi. c. Menentukan nilai fitness  Dalam permasalahan TSP yaitu untuk mancari jarak terpendek dari 15 kota yang akan dilalui. Untuk TSP, masalahnya adalah meminimalkan total biaya. Oleh karena itu, nilai fitness yang bisa digunakan adalah 1 dibagi dengan total biaya. Dalam hal ini yang dimaksud dengan total biaya adalah jumlah jarak antara satu kota dengan kota yang lainnya secara melingkar. Misalkan, untuk sejumlah n kota, total biaya adalah jarak kota 1 ke kota 2 ditambah jarak dari kota 2 ke kota 3 dan seterusnya sampai dengan jarak dari kota n ke kota 1. Universitas Sumatera Utara d. Seleksi  Seleksi yang digunakan pada permasalahan TSP ini adalah dengan metode roulette wheel roda roulette. Pada tahap ini masing-masing kromosom menempati potongan lingkaran pada roda roulette secara proporsioanal sesuai dengan nilai fitness-snya. Kromosom yang memiliki nilai fitness lebih besar menempati potongan lingkaran yang lebih besar dibandingkan dengan kromosom bernilai fitness rendah. Pertama, dibuat interval nilai kumulatif dalam interval [0,1] dari nilai fitness masing-masing kromosom dibagi dengan total nilai fitness dari semua kromosom. Sebuah kromosom akan terpilih jika bilangan random yang dibangkitkan berada dalam interval akumulatifnya. e. Proses Perkawinan Silang crossover  Pada tahap ini, kita akan memilih dua kromosom induk yang akan mengalami proses perkawinan silang secara acak, kemudian menentukan titik potongnya. Setelah titik potongnya terpilih, maka dilakukan penukaran informasi dari kedua kromosom tersebut berdasarkan titik potong yang telah ditentukan. Pada proses ini, akan dihasilkan kromosom anak hasil dari perkawinan silang kedua induknya, dimana kromosom anak ini berisi gen-gen gabungan dari bagian kromosom bapak dan kromosom ibu. f. Proses mutasi  yaitu penukaran pasangan gen yang telah terpilih secara random dalam satu kromosom. Penukaran pasangan ini dilakukan pada dua gen dalam suatu kromosom. Untuk semua gen dalam kromosom, jika bilangan random [0,1] yang dibangkitkan kurang dari probabilitas mutasi, maka nilai gen tersebut akan ditukarkan dengan nilai gen lain yang dipilih secara random. g. Evaluasi dan kriteria penghentian generasi  Pada tahap ini kita akan menghitung jumlah generasi sampai mencapai batas maksimum generasi yang diberikan. Bila dalam jumlah generasi yang ditentukan tidak ada kromosom yang lebih baik, maka proses iterasi akan berhenti. Universitas Sumatera Utara

3.2.2 Diagram Alir Flowchard