BAB III PERANCANGAN. Gambar 3.1 di bawah ini mengilustrasikan jalur pada TSP kurva terbuka jika jumlah node ada 10:

dokumen-dokumen yang mirip
Implementasi Algoritma Genetika dalam Pembuatan Jadwal Kuliah

OPTIMISASI PENEMPATAN TURBIN ANGIN DI AREA LAHAN ANGIN

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

LAMPIRAN A TABEL KONSTANTA UNTUK MOMEN DISTRIBUSI

BAB IV ANALISIS MASALAH

BAB III. Metode Penelitian

8. Evaluasi Solusi dan Kriteria Berhenti Perumusan Masalah METODE PENELITIAN Studi Pustaka Pembentukan Data

ERWIEN TJIPTA WIJAYA, ST.,M.KOM

BAB 2 LANDASAN TEORI

Tabel Data Pendistribusian Raskin di Wilayah Kota Yogyakarta. No Kecamatan Kelurahan Banyak Keluarga

L1-1 Universitas Kristen Maranatha

Lampiran 1 Matriks jarak tempuh awal dan tujuan distribusi surat kabar Kedaulatan Rakyat di wilayah Kabupaten Sleman (satuan km)

Lampiran 1 Matriks jarak antara simpul dengan depot dan antar simpul. Lampiran 2 Iterasi Clarke and Wright Savings pada hari Senin

BAB II TINJAUAN PUSTAKA

Algoritma Evolusi Real-Coded GA (RCGA)

BAB II KAJIAN PUSTAKA. Pada bab kajian pustaka berikut ini akan dibahas beberapa materi yang meliputi

BAB 2 DASAR TEORI. 2.1 Teka-Teki Silang

BAB 2 LANDASAN TEORI

BAB III PEMBAHASAN. menggunakan model Fuzzy Mean Absolute Deviation (FMAD) dan penyelesaian

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP)

Optimisasi Penempatan Turbin Angin di Area Ladang Angin Menggunakan Algoritma Genetika

Lingkup Metode Optimasi

ALGORITMA GENETIKA PADA PEMROGRAMAN LINEAR DAN NONLINEAR

BAB III METODE PENELITIAN. Penelitian dilakukan dilingkungan Jurusan Ilmu Komputer Fakultas Matematika

BAB III PEMBAHASAN. Berikut akan diberikan pembahasan mengenai penyelesaikan CVRP dengan

Genetic Algorithme. Perbedaan GA

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

PENENTUAN JARAK TERPENDEK PADA JALUR DISTRIBUSI BARANG DI PULAU JAWA DENGAN MENGGUNAKAN ALGORITMA GENETIKA. Abstraksi

PENERAPAN ALGORITMA GENETIKA PADA PERSOALAN PEDAGANG KELILING (TSP)

BAB 2 LANDASAN TEORI. 2.1 Algoritma Genetika

Jl. Ahmad Yani, Pontianak Telp./Fax.: (0561)

Analisis Perbandingan Metode Local Search dan Population Based Dalam Algoritma Berevolusi untuk Penyelesaian Travelling Salesman Problem (TSP)

Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP)

KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA

BAB II LANDASAN TEORI

PENERAPAN ALGORITMA GENETIKA DALAM PENYELESAIAN TRAVELLING SALESMAN PROBLEM WITH PRECEDENCE CONSTRAINTS (TSPPC)

PENDAHULUAN. Latar Belakang

BAB 2 LANDASAN TEORI

Algoritma Evolusi Dasar-Dasar Algoritma Genetika

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

PENJADWALAN MESIN BERTIPE JOB SHOP UNTUK MEMINIMALKAN MAKESPAN DENGAN METODE ALGORITMA GENETIKA (STUDI KASUS PT X)

BAB III PEMBAHASAN. diperoleh menggunakan algoritma genetika dengan variasi seleksi. A. Model Matematika CVRPTW pada Pendistribusian Raskin di Kota

Tugas Mata Kuliah E-Bisnis REVIEW TESIS

PARALEL ALGORITMA GENETIKA UNTUK MENYELESAIKAN TRAVELING SALESMAN PROBLEM MENGGUNAKAN MPI

HASIL DAN PEMBAHASAN. Gambar 7 Diagram alur proses mutasi.

Analisis Operator Crossover pada Permasalahan Permainan Puzzle

Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika

OPTIMASI JALUR TRANSPORTASI PRODUK HOUSING CLUTCH DENGAN MENGGUNAKAN METODE ALGORITMA GENETIKA PADA PT. SUZUKI INDOMOBIL MOTOR PLANT CAKUNG

PENERAPAN ALGORITMA GENETIKA PADA PERENCANAAN LINTASAN KENDARAAN Achmad Hidayatno Darjat Hendry H L T

Keywords Algoritma, Genetika, Penjadwalan I. PENDAHULUAN

IMPLEMENTASI ALGORITMA GENETIKA DALAM OPTIMASI JALUR PENDISTRIBUSIAN KERAMIK PADA PT. CHANG JUI FANG

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

Generator Jadwal Perkuliahan Menggunakan Algoritma Genetika

IMPLEMENTASI ALGORITMA GENETIK UNTUK MENYELESAIKAN MASALAH TRAVELING SALESMAN PROBLEM (STUDI KASUS: SATUAN KERJA PERANGKAT DAERAH KOTA MEDAN)

Data Alamat Pelanggan Sandwich Sari Roti di Kota Yogyakarta.

PENERAPAN ALGORITMA GENETIKA UNTUK TRAVELING SALESMAN PROBLEM DENGAN MENGGUNAKAN METODE ORDER CROSSOVER DAN INSERTION MUTATION

T I N J A U A N P U S T A K A Algoritma Genetika [5]

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB III PENERAPAN ALGORITMA MEMETIKA DAN GRASP DALAM MENYELESAIKAN PFSP

PERBANDINGAN ALGORITMA EXHAUSTIVE, ALGORITMA GENETIKA DAN ALGORITMA JARINGAN SYARAF TIRUAN HOPFIELD UNTUK PENCARIAN RUTE TERPENDEK

Pendekatan Algoritma Genetika pada Peminimalan Fungsi Ackley menggunakan Representasi Biner

Perbandingan Algoritma Exhaustive, Algoritma Genetika Dan Algoritma Jaringan Syaraf Tiruan Hopfield Untuk Pencarian Rute Terpendek

ABSTRAK. Universitas Kristen Maranatha

Optimasi Penjadwalan Ujian Menggunakan Algoritma Genetika

OPTIMASI QUERY DATABASE MENGGUNAKAN ALGORITMA GENETIK

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

Bab II Konsep Algoritma Genetik

BAB II TINJAUAN PUSTAKA

PENGEMBANGAN APLIKASI PENJADWALAN KULIAH SEMESTER I MENGGUNAKAN ALGORITMA GENETIKA

BAB III PEMBAHASAN. harga minyak mentah di Indonesia dari bulan Januari 2007 sampai Juni 2017.

Pencarian Rute Terpendek untuk Pengoptimalan Ditribusi Sales Rokok Gudang Garam di kecamatan Wuluhan Kabupaten Jember Menggunakan Algoritma Genetika

BAB 2 LANDASAN TEORI

BAB II KAJIAN TEORI. memindahkan barang dari pihak supplier kepada pihak pelanggan dalam suatu supply

IMPLEMENTASI ALGORITMA GENETIKA UNTUK MENYELESAIKAN TRAVELLING SALESMAN PROBLEM

BAB 3 METODOLOGI PENELITIAN

Meilinda Ayundyahrini Pembimbing: Ir. Rusdhianto Effendie A. K, MT Nurlita Gamayanti, ST., MT

DAFTAR ISI. Tim Redaksi... i Kata Pengantar... ii Daftar Isi... iii

Algoritma Genetika dan Penerapannya dalam Mencari Akar Persamaan Polinomial

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

PENERAPAN ALGORITMA GENETIK UNTUK OPTIMASI TRANSFER DAYA PADA SISTEM SENSOR GAS. Muthmainnah

OPTIMASI PENDUGAAN PARAMETER DALAM ANALISIS STRESS DAN STRAIN TERHADAP MATERIAL MENGGUNAKAN ALGORITMA GENETIKA

PENYELESAIAN MINIMUM SPANNING TREE (MST) PADA GRAF LENGKAP DENGAN ALGORITMA GENETIKA MENGGUNAKAN TEKNIK PRUFER SEQUENCES

BAB I PENDAHULUAN. sejumlah aktivitas kuliah dan batasan mata kuliah ke dalam slot ruang dan waktu

Pengantar Kecerdasan Buatan (AK045218) Algoritma Genetika

Penggabungan Metode Replacement Strategy Steady State dan Generational Dalam Algoritma Berevolusi untuk Penyelesaian TSP

IMPLEMENTASI REPLACEMENT STRATEGY STEADY STATE DAN GENERATIONAL DALAM ALGORITMA BEREVOLUSI UNTUK PENYELESAIAN TSP

PERFORMANCE ALGORITMA GENETIKA (GA) PADA PENJADWALAN MATA PELAJARAN

ALGORITMA GENETIKA Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB II LANDASAN TEORI. digunakan sebagai alat pembayaran yang sah di negara lain. Di dalam

BAB 2 TINJAUAN PUSTAKA

PENYELESAIAN KNAPSACK PROBLEM MENGGUNAKAN ALGORITMA GENETIKA

BAB 2 TINJAUAN PUSTAKA

BAB II KAJIAN TEORI. berkaitan dengan optimasi, pemrograman linear, pemrograman nonlinear, quadratic

OPTIMASI PENJADWALAN CERDAS MENGGUNAKAN ALGORITMA MEMETIKA

Transkripsi:

BAB III PERANCANGAN Pada bagian perancangan ini akan dipaparkan mengenai bagaimana mencari solusi pada persoalan pencarian rute terpendek dari n buah node dengan menggunakan algoritma genetika (AG). Dari mulai penentuan komponen sampai dengan tahapantahapan penyelesaiannya. 3.1 Ilustrasi TSP Kurva Terbuka Persoalan TSP merupakan persoalan optimasi, dimana rute terpendek merupakan solusi yang paling optimal. Konsep TSP kurva terbuka yang akan dibahas pada tugas akhir ini adalah menentukan rute terpendek dari node asal ke node tujuan dengan melewati beberapa node yang telah ditentukan koordinatnya, setiap node hanya boleh dilewati satu kali. Setelah sampai di node tujuan tidak kembali lagi node asal. Koordinat node asal dan node tujuan tidak berubah. Gambar 3.1 di bawah ini mengilustrasikan jalur pada TSP kurva terbuka jika jumlah node ada 10: Jalur : Start-B-H-A-C-E-G-J-I-F-D-End Gambar 3.1 Ilustrasi jalur dalam TSP kurva terbuka Start adalah node awal dan End adalah node tujuan, node A sampai J adalah nodenode yang harus dilewati yang koordinatnya telah ditentukan. Gambar 3.1 di atas

mengilustrasikan salah satu kemungkinan solusi bentuk jalur yang akan diperoleh setelah program AG dijalankan. 3.2 Penyelesaian TSP Kurva Terbuka Menggunkan Algoritma Genetika Pencarian solusi pada TSP kurva terbuka dengan menggunakan AG terdiri dari beberapa tahapan, metode dan komponen. Berikut ini adalah flowchart dan pseudo-code AG untuk mencari solusi pada persoalan TSP kurva terbuka. Gambar 3.2 Flowchart Algoritma Genetika

Gambar 3.3 Pseudo-code Algoritma Genetika Flowchart di atas merupakan program utama, dimana input yang diperlukan adalah koordinat semua node XYnode, banyaknya node (gen) dalam setiap kromosom JumGen, ukuran populasi PopSize dan jumlah generasi MaxG. Program utama ini terdiri dari beberapa subrutin yang secara terperinci dijelaskan di bawah ini: 3.2.1 Inisialisasi Populasi Tahapan pertama dalam AG adalah inisialisasi populasi yakni melakukan penentuan nilai awal. Bagian penentuan nilai awal ini merupakan input yang dilakukan oleh pengguna sendiri. Input-input yang diperlukan dalam AG pada tugas akhir ini meliputi: 1. Penentuan banyaknya node dalam setiap kromosom (JumGen). 2. Penentuan besar populasi dalam satu generasi (PopSize). 3. Penentuan banyak generasi yang akan dilakukan (MaxG). 4. Penentuan besar crossover probability, Pc (peluang terjadinya pindah silang). 5. Penentuan besar mutation probability, Pm (peluang terjadinya mutasi). 6. Node awal (XYst) dan tujuan (XYend). Setelah melakukan inisialisasi, proses berikutnya adalah proses pembentukan populasi awal. Proses ini berfungsi untuk membentuk sebuah populasi generasi pertama. Pembentukan populasi generasi pertama ini dilakukan dengan cara mengisi kromosom-kromosom yang ada secara random (acak) dari semua titik yang ada menggunakan fungsi yang telah disediakan oleh bahasa pemrograman Matlab.

Tahap pertama pada inisiliasasi populasi ini adalah pengkodean kromosom. Teknik pengkodean yang dipakai adalah Permutation Encoding. Dimana setiap kromosom merupakan string dari sejumlah angka (nomor) yang merepresentasikan suatu posisi dalam suatu urutan. Gambar 3.4 berikut ini adalah algoritma program dari prosedur inisialisasi populasi: Gambar 3.4 Flowchart inisialisasi populasi Pada subrutin inisialisasi populasi ini memerlukan input JumGen dan PopSize, dengan membangkitkan matriks 1 x JumGen secara random, kemudian mengurutkan nilai-nilai matriks secara menaik (ascending), indeks dari setiap nilai pada matriks tersebut kemudian disimpan pada sebuah variabel Ind. Indeks-indeks ini merepresentasikan nomor urut gen atau node pada sebuah kromosom. Nilai yang ada pada variabel Ind ini kemudian dikopi ke variabel Populasi yang mana Populasi ini

merupakan argumen output fungsi pada bahasa pemrograman Matlab. Pembangkitan, pengurutan dan penyimpanan indeks-indeks ini dilakukan sebanyak PopSize. Pada proses inisialisasi populasi ini akan menghasilkan sejumlah kromosom sebanyak PopSize yang terdiri dari beberapa node. Hasil akhir dari prosedur inisialisasi populasi ini adalah urutan node-node dalam setiap kromosom yang mereprsentasikan kemungkinan jalur yang akan terpilih sebagai solusi yang layak (feasible solution) dari persoalan. Hasil dari proses inisialisasi ini merupakan generasi pertama yang akan diuji nilai fitness setiap kromosomnya pada tahap berikutnya. 3.2.2 Evaluasi Individu Tahap kedua dari AG adalah evaluasi individu, dimana proses ini akan menghitung nilai fitness dari setiap kromosom yang telah dibangkitkan secara random pada tahap inisialisasi populasi di atas. Nilai fitness dari setiap koromosom dihitung berdasarkan panjang jalur linier yang dihasilkan dari jumlah jarak keseluruhan dari urutan node-node yang dilalui. Dalam masalah optimasi pada tugas akhir ini individu (kromosom) yang bernilai fitness yang tinggi yang akan bertahan hidup atau yang akan terpilih dan kromosom yang bernilai rendah akan mati atau tidak terpilih pada tahap selanjutnya. Karena solusi yang dicari adalah meminimalkan sebuah fungsi h, maka nilai fitness yang dicari adalah kromosom yang memiliki panjang jalur yang pendek. Oleh karena itu, rumus untuk mencari nilai fitness pada masalah minimasi ini adalah:... (3.1) keterangan : f = fungsi fitness h = fungsi yang akan dimaksimasi / diminimasi (TJ= Total Jarak) Gambar 3.5 berikut ini adalah algoritma program dari prosedur evaluasi individu:

Gambar 3.5 Flowchart evaluasi individu Pada tahap ini koordinat node XYnode, Populasi dan jumlah node JumGen merupakan input. Mula-mula hitung jarak antara node asal XYst dengan node pertama simpan hasilnya pada variabel TJ (total jarak), kemudian jumlahkan dengan jarak-jarak dari setiap node berikutnya yang dilalui yakni sebanyak JumGen. Setelah itu jumlahkan dengan jarak dari node terakhir ke node tujuan XYend. Total jarak disimpan pada variabel TJ. Jarak kartesian dari node satu ke node selanjutnya dihitung dengan rumus:...(3.2)

keterangan : A, B = node A dan node B X,Y = koordinat node (absis,ordinat) Setelah didapat total jarak atau panjang jalur satu kromosom, yang terakhir menghitung nilai fitness-nya dengan menggunakan rumus 3.1 di atas. Hasilnya disimpan pada variabel Fitness yang merupakan argumen output fungsi seperti halnya Populasi di atas. nilai fitness ini merupakan input bagi proses berikutnya pada program utama. Pada program utama, tahap evaluasi individu ini dilakukan (dilooping) sebanyak PopSize. Sehingga didapat nilai fitness dari semua kromosom dalam satu populasi. Nilai fitness suatu kromosom ini kemudian akan dibandingkan dengan fitness-fitness kromosom yang lainnya yang ada pada semua generasi. Dimana nilai fitness paling tinggi yang akan terpilih. 3.2.3 Elitisme Input pada prosedur ini adalah Populasi, indeks kromosm terbaik dan ukuran populasi PopSize. Apabila PopSize bernilai genap, maka variabel IterasiMulai diberi nilai 3 dan kromosom terbaik akan dikopi sebanyak 2 kali yang masing-masing disimpan pada variabel TempPopulasi. Namun jika PopSize bernilai ganjil maka variabel IterasiMulai diberi nilai 2 dan kromosom terbaik dikopi sebanyak 1 kali yag disimpan pada variabel TempPopulasi. Aturan pengkopian ini dilakukan megingat akan dilakukannya perkawinan silang antara dua induk (sepasang) dan nilai variabel IterasiMulai akan digunakan sebagai nilai awal counter atau iterasi pada proses pindah silang dan mutasi. Kromosom terbaik yang telah dikopi ini akan tetap dipilih sebagai salah satu kandidat induk yang akan dipindah silangkan. Nilai fitness terbaik ini akan dibandingkan dengan nilai fitness kromosom-kromosom generasi berikutnya hasil pindah silang dan mutasi. Kromosom hasil pengkopian ini pastinya akan disertakan lagi pada generasi berikutnya. Gambar 3.6 berikut ini adalah algoritma program dari prosedur elitisme:

Gambar 3.6 Flowchart elitisme 3.2.4 Penskalaan Nilai Fitness (Linear Fitness Ranking) Perbedaan nilai-nilai fitness yang terlalu kecil pada semua individu dalam populasi akan menyebabkan kencenderungan konvergen pada optimum lokal. Maka untuk menguranginya digunakan penskalaan nilai fitness. Prosedur ini juga akan mengurutkan nilai fitness secara ascending (menaik) dalam interval [f min, f max ]....(3.3) Keterangan: f(i) = fungsi nilai fitness f max f min = fitness maksimum = fitness minimum

R(i),I = iterasi ke-i N,n = ukuran populasi Gambar 3.7 berikut ini adalah algoritma program dari prosedur linear fitness ranking: Gambar 3.7 Flowchart linear fitness ranking Input dari tahap ini adalah PopSize, Fitness, fitness tertinggi MaxF dan fitness terendah MinF. Mula-mula urutkan nilai fitness dari yang terkecil sampai yang terbesar, kemudian simpan nilai fitness yang sudah terurut pada sebuah variabel SF dan indeks dari fitness yang menyatakan nomor urut kromosom pada suatu populasi disimpan pada variabel IndF. Setelah itu, lakukan penskalaan pada semua kromosom dengan menggunakan rumus 3.3.

Hasil akhir dari prosedur ini adalah nilai fitness baru hasil penskalaan yang disimpan pada variabel LFR yang akan dijadikan input pada proses-proses selanjutnya. 3.2.5 Seleksi Metode seleksi yang digunakan pada proses seleksi ini adalah metode roulette wheel. Pada tahap ini akan dilakukan penyeleksian kromosom berdasarkan nilai fitnessnya untuk memilih kromosom mana yang akan megalami proses perkawinan atau pindah silang. Kromosom yang benilai fitness tinggi memiliki kesempatan terpilih lebih besar. Namun, tidak menutup kemungkinan kromosom yang bernilai fitness rendah akan terpilih juga. Pada proses roulette wheel ini akan dihitung nilai kumulatif dari probabilitas fitness masing-masing kromosom. P[i] = fitness[i] / jumlah fitness...(3.5)...(3.6) Keterangan: P[i] = probabilitas fitness[i] C[i] = nilai kumulatif indeks ke-i i = indeks kromosom (1,2,3, n) k = counter (1,2,3, n) Input yang diperlukan pada prosedur ini adalah PopSize dan LFR, yakni nilai fitness yang telah mengalami penskalaan. Gambar 3.8 berikut ini adalah algoritma program dari prosedur roulette wheel:

: Gambar 3.8 Flowchart seleksi Proses roulette wheel ini dikendalikan oleh sebuah bilangan random (acak) RN yang dibangkitkan oleh program pada interval [0,1). Apabila nilai kumulatif > bilangan random yang dibangkitkan (C[i] > RN), maka kromosom dengan indeks-i akan terpilih sebagai induk atau individu generasi berikutnya. Indeks dari kromosom yang terpilih ini disimpan pada sebuah variabel Pindex yang merupakan nama fungsinya. Pindex ini merupakan input untuk proses-proses berikutnya. Proses roulette wheel diputar sebanyak ukuran populalsi (PopSize).

3.2.6 Pindah Silang (crossover) Prosedur pindah silang adalah prosedur untuk mengkawinkan dua induk yang telah dipilih pada proses roulette wheel, namun tidak semua induk akan mengalami pindah silang karena proses pindah silang ini banyak dikendalikan oleh beberapa bilangan random. Gambar 3.9 berikut ini adalah algoritma program dari prosedur pindah silang: Gambar 3.9 Flowchart pindah silang Pindah silang pada TSP dapat diimplementasikan dengan skema order crossover. Pada skema ini, satu bagian kromosom dipertukarkan dengan tetap menjaga

urutan kota yang bukan bagian dari kromosom tersebut. Pada skema order crossover digunakan teknik dua titik potong (two-point crossover), dimana titik potong ini menentukan gen mana saja yang akan dipertukarkan antarinduk. Titik potong (TP) diperoleh secara random, gen-gen yang terletak diantara dua titik potong akan saling dipertukarkan antarinduk. Input pada prosedur ini adalah kromosom bapak, kromosom ibu dan jumlah gen pada kromosom JumGen. Mula-mula tentukan dua titik potong (TP1 dan TP2) secara random, titik potong ini berisi nomor gen pada satu kromosom. Apabila TP1 sama dengan TP2 maka random kembali TP2 sampai didapat nilai yang tidak sama dengan TP1. Setelah proses pemilihan titik potong selesai maka kopikan gen-gen yang terletak diantara dua titik potong tersebut kepada anak dengan letak gen pada posisi yang sama dengan induknya. Gen dari ibu dikopikan kepada anak ke-1 dan anak ke-2 memperoleh gen dari kromosom bapak. Kemudian kopikan sisa gen ibu ke anak ke-2 dan sisa gen bapak ke anak ke-1 dengan tetap menjaga urutan kota yang bukan dari bagian kromosom tersebut. Hasil akhir dari prosedur pindah silang ini adalah dua buah kromosom anak hasil persilangan atau perkawinan dua induk. Anak ini merupakan input untuk proses berikutnya yakni mutasi. Pada program utama kromosom yang akan dipindahsilangkan diplilih secara acak dengan membangkitkan nilai acak RN pada interval [0,1). Jumlah kromosom yang akan dipindahsilangkan juga dipengaruhi probabilitas pindah silang (Pc) yang besarnya telah ditentukan pada tahap inisialisai populasi. Pindah silang dapat terjadi apabila nilai random yang dibangkitkan RN lebih kecil dari probabilitas pindah silang Pc (RN < Pc). Sehingga banyaknya pindah silang yang akan terjadi pada setiap generasinya adalah Pc x PopSize. Setelah mengalami proses pindah silang maka akan dihasilkan satu populasi baru hasil pindah silang termasuk di dalamnya kromosom terbaik hasil pengkopian pada prosedur elitisme di atas. Gen-gen pada populasi ini akan diseleksi lagi pada proses berikutnya yakni proses mutasi.

3.2.7 Mutasi Pada kasus TSP ini skema mutasi yang digunakan adalah skema swap mutation. Dengan skema swap mutation ini muatasi dilakkan dengan cara menukarkan gen-gen yang dipilih secara acak dengan gen yang dipilih secarak acak juga. Jumlah kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh parameter probabilitas mutasi Pm. Diperkirakan total gen yang mengalami mutasi pada seluruh generasi adalah Pm x PopSize x MaxG. Gambar 3.10 berikut ini adalah algoritma program dari prosedur mutasi: Gambar 3.10 Flowchart mutasi Input pada prosedur ini adalah kromosom-kromosom baru hasil pindah silang, jumlah gen JumGen dan probabilitas mutasi Pm. Mula-mula kromosom dikopi pada

sebuah variabel MutKrom, kemudian acak sebuah bilangan RN, apabila nilai RN lebih kecil dari probabilitas mutasi Pm maka pilih gen secara acak, indeks dari gen yang terpilih ini disimpan pada pvariabel TM. Apabila TM sama dengan nilai iterasi i saat itu maka cari lagi nilai TM secara random sampai didapat nilai indeks yang tidak sama dengan nilai itersi i pada saat itu. Terakhir tukar posisi gen yang ada pada indeks ke- TM dengan gen pada indeks ke-i. Pada program utama utama proses mutasi ini dieksekusi sebanyak jumlah populasi PopSize. Setelah proses muatasi selesai, maka akan didapatkan populasi baru. 3.2.7 Pergantian populasi Untuk pergantian populasi dalam suatu generasi digunakan general replacement yaitu pergantian populasi secara keseluruhan. Populasi pada generasi sebelumnya yang merupakan parent diganti seluruhnya dengan populasi baru yang merupakan anak atau turunannya (offspring). Populasi pada generasi berikutnya adalah kromosom bentukan baru hasil pindah silang dan mutasi serta ditambah kromosom hasil elitisme. Prosedur yang sama akan berlaku untuk populasi baru, yakni akan mengalami tahapan yang sama dengan populasi sebelumnya. Apabila perhitungan dilanjutkan sampai generasi ke MaxG maka akan didapatkan nilai fitness tertinggi dari seluruh genersi yang menunjukkan kromosom terbaik yang akan diambil sebagai solusi.