• Tidak ada hasil yang ditemukan

Implementasi Algoritma Genetika Untuk Travelling Salesman Problem (TSP)

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi Algoritma Genetika Untuk Travelling Salesman Problem (TSP)"

Copied!
82
0
0

Teks penuh

(1)

IMPLEMENTASI ALGORITMA GENETIKA UNTUK TRAVELLING SALESMAN PROBLEM ( TSP )

SKRIPSI

JAYANTI ARZAIN 050803024

MATEMATIKA KOMPUTASI

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(2)

IMPLEMENTASI ALGORITMA GENETIKA UNTUK TRAVELLING SALESMAN PROBLEM ( TSP )

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains

JAYANTI ARZAIN 050803024

MATEMATIKA KOMPUTASI

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : IMPLEMENTASI ALGORITMA GENETIKA UNTUK TRAVELLING SALESMAN PROBLEM (TSP)

Kategori : SKRIPSI

Nama : JAYANTI ARZAIN

Nomor Induk Mahasiswa : 050803024

Program Studi : SARJANA (S1) MATEMATIKA

Departemen : MATEMATIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Oktober 2009 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Syahriol Sitorus, S.Si, M.IT Drs. Marwan Harahap, M.Eng NIP 19710310 199703 1 004 NIP 19461225 197403 1 001

Diketahui/Disetujui oleh

Departeman Matematika FMIPA USU Ketua.

Dr. Saib Suwilo, M.Sc NIP 19640109 198803 1 004

(4)

PERNYATAAN

IMPLEMENTASI ALGORITMA GENETIKA UNTUK TRAVELLING SALESMAN PROBLEM (TSP)

SKRIPSI

Saya mengaku bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Oktober 2009

Jayanti Arzain 050803024

(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kehadirat Allah SWT yang Maha Pemurah dan Maha Penyayang, karena atas rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini dalam waktu yang telah ditetapkan.

Ucapan terima kasih penulis sampaikan kepada Bapak Drs.Marwan Harahap, M.Eng dan Bapak Syahriol Sitorus, S.Si, M.IT, selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan skripsi ini. Panduan ringkas, padat dan bermanfaat telah diberikan agar saya dapat menyelesaikan skripsi ini. Ucapan terima kasih juga ditujukan kepada Ketua dan sekretaris Departemen Dr.Saib Suwilo, M.Sc dan Drs.Henry Rani Sitepu, M.Si, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua Dosen pada Departemen Matematika FMIPA USU, Pegawai di FMIPA USU dan teman-teman seangkatan 2005. Tidak terlupakan kepada Ayah, Ibunda tercinta dan adik-adik yang selama ini memberikan dukungan dan doa. Spesial terima kasih buat Dicky Andryan atas bantuan dan inspirasinya dari awal hingga selesainya skripsi ini. Semoga Allah SWT membalas segala budi baik yang telah mereka berikan.

(6)

ABSTRAK

Algoritma Genetika merupakan algoritma pencarian hasil terbaik yang berdasarkan atas perkawinan dan seleksi gen secara alami. Algoritma Genetika merupakan perkembangan dalam dunia komputer di bidang kecerdasan buatan. Algoritma Genetika merupakan suatu algoritma yang terinspirasi dari teori evolusi Darwin dimana dinyatakan bahwa kelangsungan hidup suatu makhluk dipengaruhi aturan bahwa yang kuat adalah yang menang. Algoritma genetika didasarkan pada proses seleksi gen, perkawinan silang dan mutasi. Salah satu masalah yang dapat diselesaikan dengan Algoritma Genetika adalah persoalan Travelling Salesman

Problem (TSP). Travelling Salesman Problem adalah permasalahan dimana seorang

salesman harus mengunjungi semua kota, dimana tiap kota hanya boleh dikunjungi sekali dan dia harus mulai dan kembali ke kota asal. Tujuannya adalah menentukan rute dengan total jarak yang paling minimum.

Dalam tugas akhir ini permasalahannya adalah untuk mencari jalur terpendek dari 15 kota yang ada di Jawa Barat yang diwakili oleh kota-kota Bekasi, Karawang, Indramayu, Purwakarta, Subang, Bogor, Cirebon, Cianjur, Sumedang, Sukabumi, Bandung, Kuningan, Garut, Tasikmalaya, Ciamis. Penyelesaiannya dilakukan secara bertahap dengan Algoritma Genetika dengan terlebih dahulu merepresentasikannya kedalam bentuk pengkodean nomor urut kota, selanjutnya membangkitkan populasi awal diteruskan dengan proses seleksi, perkawinan silang dan mutasi sampai akhirnya diperoleh jalur terpendek yang diharapkan.

.

(7)

DAFTAR ISI

1.6 Kontribusi Penelitian ……… 6

1.7 Metodologi Penelitian ……….. 7

BAB II LANDASAN TEORI 2.1 Algoritma Genetika ………. 8

2.1.1 Sejarah Algoritma Genetika ……… 9

2.1.2 Karakteristik Algoritma Genetika …………...……… 9

2.1.3 Kelebihan Algoritma Genetika ……… 10

2.1.4 Komponen-komponen Algoritma Genetika ……… 11

2.1.5 Parameter Genetik ………... 17

2.1.6 Mekanisme Kerja Algoritma Genetika ……… 17

2.2 Travelling Salesman Problem ……….. 19

2.2.1 Pendahuluan ……… 20

2.3 Matlab 6.1 ……… 20

2.3.1 Sintak Dasar Matlab ……… 21

2.3.2 Fingsi M-file ……… 22

2.3.3 Interaksi File ……… 23

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 Analisis Kebutuhan ……….. 24

3.1.1 Analisis Kebutuhan Masukan (Input) ……….. 24

3.1.2 Analisis Kebutuhan Proses ……….. 25

3.1.3 Analisis Kebutuhan Keluaran (Output) ………... 25

3.1.4 Kebutuhan Perangkat Lunak ……… 25

3.1.5 Kebutuhan Perangkat Keras ……… 26

(8)

3.2.1 Implementasi Algoritma Genetika Untuk Menyelesaiakan TSP.. 27

3.2.2 Diagram Alir (Flowchard) ………... 29

BAB IV HASIL DAN PEMBAHASAN 4.1 Pengkodean Kromosom ……… 30

4.2 Inisialisasi Populasi ……….. 35

4.3 Evaluasi Individu ………. 38

4.3.1 Probabilitas Fitness ……….. 41

4.4 Roulette Wheel Selection ………. 42

4.5 Perkawinan Silang (Crossover) ……….... 43

4.6 Mutasi ………... 44

4.7 Penentuan Jalur Terbaik ………... 45

4.8 Analisa Grafik ……….. 54

BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ……….. 57

5.2 Saran ……… 58

DAFTAR PUSTAKA ……….. 59

LAMPIRAN LISTING PROGRAM

(9)

DAFTAR GAMBAR

Gambar 2.1 Tree Encoding ……….. 12

Gambar 2.2 Mekanisme Kerja Algoritma Genetika ………..……….. 19

Gambar 4.1 Peta Jawa Barat …...……….. 30

Gambar 4.2 Posisi 15 kota dalam Koordinat Kartesius ….……….. 32

Gambar 4.3 Jalur Terbaik Pada ρc= 0.6 dalam Koordinat Kartesius ....…….. 46

Gambar 4.4 Grafik Fitness Rata-rata pada ρc= 0.6 ………..……….. 47

Gambar 4.5 Jalur Terbaik Pada ρc= 0.7 dalam Koordinat Kartesius ....…….. 48

Gambar 4.6 Grafik Fitness Rata-rata pada ρc= 0.7 ………..……….. 49

Gambar 4.7 Jalur Terbaik Pada ρc= 0.8 dalam Koordinat Kartesius ....…….. 50

Gambar 4.8 Grafik Fitness Rata-rata pada ρc= 0.8 ………..……….. 51

Gambar 4.9 Jalur Terbaik Pada ρc= 0.9 dalam Koordinat Kartesius ....…….. 52

(10)

DAFTAR TABEL

(11)

ABSTRAK

Algoritma Genetika merupakan algoritma pencarian hasil terbaik yang berdasarkan atas perkawinan dan seleksi gen secara alami. Algoritma Genetika merupakan perkembangan dalam dunia komputer di bidang kecerdasan buatan. Algoritma Genetika merupakan suatu algoritma yang terinspirasi dari teori evolusi Darwin dimana dinyatakan bahwa kelangsungan hidup suatu makhluk dipengaruhi aturan bahwa yang kuat adalah yang menang. Algoritma genetika didasarkan pada proses seleksi gen, perkawinan silang dan mutasi. Salah satu masalah yang dapat diselesaikan dengan Algoritma Genetika adalah persoalan Travelling Salesman

Problem (TSP). Travelling Salesman Problem adalah permasalahan dimana seorang

salesman harus mengunjungi semua kota, dimana tiap kota hanya boleh dikunjungi sekali dan dia harus mulai dan kembali ke kota asal. Tujuannya adalah menentukan rute dengan total jarak yang paling minimum.

Dalam tugas akhir ini permasalahannya adalah untuk mencari jalur terpendek dari 15 kota yang ada di Jawa Barat yang diwakili oleh kota-kota Bekasi, Karawang, Indramayu, Purwakarta, Subang, Bogor, Cirebon, Cianjur, Sumedang, Sukabumi, Bandung, Kuningan, Garut, Tasikmalaya, Ciamis. Penyelesaiannya dilakukan secara bertahap dengan Algoritma Genetika dengan terlebih dahulu merepresentasikannya kedalam bentuk pengkodean nomor urut kota, selanjutnya membangkitkan populasi awal diteruskan dengan proses seleksi, perkawinan silang dan mutasi sampai akhirnya diperoleh jalur terpendek yang diharapkan.

.

(12)

BAB I PENDAHULUAN

1.1Latar Belakang

Pada awal diciptakan, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan zaman, maka peran komputer semakin mendominasi kehidupan. Lebih dari itu, komputer diharapkan dapat digunakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia baik dalam bidang pendidikan, kesehatan, industri, dan kehidupan sehari-hari sehingga peran komputer dan manusia akan saling melengkapi. Beberapa hal yang menjadi kekurangan manusia diharapkan dapat digantikan oleh komputer. Begitu juga dengan komputer yang tak akan berguna tanpa sentuhan manusia.

Dalam dunia komputer dan informatika adanya suatu ilmu dengan ide-ide untuk dapat membuat komputer menjadi lebih cerdas, ilmu tersebut dinamakan kecerdasan buatan (Artificial Intelligence). Pengertian dari Artificial Intelligence ini sendiri adalah bagian dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia bahkan bisa lebih baik daripada yang dilakukan manusia, dengan mengimplementasikannya dalam sebuah program.

(13)

Algoritma Genetika terinspirasi dari teori evolusi Darwin yang menyatakan bahwa kelangsungan hidup suatu makhluk dipengaruhi aturan bahwa yang kuat adalah yang menang. Algoritma Genetika merupakan algoritma pencarian hasil terbaik yang berdasarkan atas perkawinan dan seleksi gen secara alami. Untuk lebih memahami tentang Algoritma Genetika, terlebih dahulu harus memahami konsep genetika (rekayasa genetika). Pengertian dari rekayasa genetika adalah penerapa kepentingan manusia, kegiatannya melalui seleksi dalam populasi, penerapan mutasi buatan dan perkawinan silang antara individu yang satu dengan yang lainnya untuk menghasilkan individu baru.

Algoritma Genetika menggunakan istilah gen dalam menyimpan informasi, dimana gen merupakan struktur paling sederhana pada Algoritma Genetika. Solusi optimal direpresentasikan sebagai untaian gen yang disimpan dalam stukutur data yaitu kromosom. Kromosom merupakan material yang membawa bahan terwariskan dari gen. Proses pencarian solusi dilakukan dengan cara melakukan operasi terhadap kromosom yaitu rekombinasi kromosom yang dilakukan dengan persilangan dan mutasi dengan tujuan untuk memperoleh kromosom anak. Hal ini juga telah menjelaskan tentang konsep genetika.

Algoritma Genetika pertama kali dikembagkan oleh John Holland dari Michigan

University pada tahun 1975 dengan tujuan untuk meneliti proses adaptasi dari sistem

alam serta mendesain perangkat lunak yang memiliki kecerdasan buatan dengan mencontoh mekanisme sistem alam. Algoritma Genetika banyak digunakan untuk proses optimasi. Salah satu masalah optimasi yang dapat diselesaikan dengan Algoritma Genetika adalah Travelling Salesman Problem atau lebih dikenal dengan TSP.

Travelling Salesman Problem (TSP) adalah suatu kondisi dimana seorang salesman

keliling yang harus mengunjungi n kota dengan aturan bahwa ia harus mengunjungi setiap kota hanya sebanyak satu kali, meminimalisasi total jarak perjalanannya dan pada akhirnya ia harus kembali ke kota asalnya. Salah satu masalah yang berhubungan dengan TSP adalah menentukan jalur yang terpendek dari rute beberapa kota. (sirkular : kota tujuan sama dengan kota asal).

(14)

latar belakang inilah penulis memilih judul “Implementasi Algoritma Genetika untuk Travelling Salesman Problem ( TSP )”.

1.2Perumusan Masalah

Permasalahan yang dibahas dalam tugas akhir ini adalah penerapan Algoritma Genetika untuk menyelesaikan masalah Travelling Salesman Problem yaitu mencari jalur terpendek dari beberapa kota dengan hasil yang akurat dan menghasilkan rute terbaik yang optimal.

1.3Batasan Masalah

Agar permasalahan tidak menyimpang dari masalah yang dibahas, maka dalam pembahasan masalah terdapat batasan-batasan sebagai berikut :

1. Diasumsikan bahwa setiap kota yang terhubung selalu ada jalur yang menghubungkan antara satu kota dengan kota yang lainnya.

2. Kasus yang diambil adalah kota di Provinsi Jawa Barat dengan jumlah titik yang digunakan sebanyak 15 buah, dimana masing-masing titik mewakili kota yaitu Bekasi, Karawang, Indramayu, Purwakarta, Subang, Bogor, Cirebon, Cianjur, Sumedang, Sukabumi, Bandung, Kuningan, Garut, Tasikmalaya, Ciamis.

3. Jarak antar kota dihitung dengan bentuk euclidean

4. Parameter yang digunakan adalah ukuran populasi, peluang crossover, peluang mutasi, maksimum generasi dan panjang kromosom (jumlah gen).

1.4Tujuan Penelitian

(15)

titik kota pada peta Jawa Barat yang diketahui koordinatnya dengan menggunakan Matlab 6.1.

1.5Tinjauan Pustaka

Dalam melakukan penelitian ini, penulis menggunakan beberapa pustaka sebagai referensi pendukung teori. Beberapa sumber pustaka yang diperkenalkan akan digunakan untuk membantu penulis menyelesaikan permasalahan dalam penelitian ini. Sumber pustaka yang digunakan adalah :

Rachmayadi (2008) dalam jurnalnya yang berjudul Pencarian Solusi TSP (Travelling Salesman Problem) Menggunakan Algoritma Genetika, menguraikan mengenai struktur umum dari algoritma genetika adalah sebagai berikut :

1. Memilih populasi awal

2. Menghitung nilai fitness dari setiap individu 3. Repeat

3.1. Memilih indvidu-individu yang terbaik berdasarkan fungsi fitness untuk dilakukan reproduksi.

3.2. Menghasilkan generasi baru melalui reproduksi disertai operasi genetik berupa persilangan dan mutasi.

3.3. Menghitung nilai fitness generasi baru.

3.4. Mengganti individu-individu yang memiliki nilai fitness yang paling rendah dengan generasi baru yang nilai fitnessnya lebih baik.

4. Until terminasi. (terminasi dilakukan jika ditemukan solusi optimal, tidak

ditemukan solusi yang lebih baik, atau waktu yang dialokasikan telah digunakan sepenuhnya).

(16)

evolusi kromosom-kromosom melalui iterasi yang disebut dengan generasi. Individu adalah kumpulan gen dalam sistem Algoritma Genetika bisa dikatakan sama dengan kromosom. Gen adalah substansi hereditas yang terletak di dalam kromosom. Generasi adalah iterasi yang dilakukan untuk menentukan populasi berikutnya. Kromosom adalah individu yang terdapat dalam satu populasi. Kromosom ini merupakan solusi yang masih berbentuk simbol. Allela merupakan nilai yang berada dalam gen. sedangkan Locus adalah letak suatu gen berada dalam suatu kromosom. Offsprings adalah anak (generasi berikutnya) yang terbentuk dari gabungan 2 kromosom. Generasi sekarang yang bertindak sebagai induk (parent) dengan menggunakan operator penyilangan (crossover) maupun operator mutasi.

Suyanto (2005) dalam bukunya yang berjudul Algoritma Genetika dalam MATLAB menjelaskan tentang fungsi fitness. Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performasinya. Di dalam evolusi alam, individu yang bernilai fitness tinggi yang akan bertahan hidup. Sedangkan individu yang bernilai

fitness rendah akan mati.

Kusumadewi (2003) dalam bukunya yang berjudul Artificial Intelligence (Teknik dan Aplikasinya) menjelaskan tentang perkawinan silang (crossover) yang dilakukan atas 2 kromosom untuk menghasilkan kromosom anak (offspring). Kromosom anak yang terbentuk akan mewarisi sebagian sifat kromosom induknya. Proses perkawinan silang ini bertujuan untuk menambah keanekaragaman kromosom digenerasi berikutnya berdasarkan kromosom dari generasi saat ini.

Kusumadewi dan Purnomo (2005) dalam bukunya yang berjudul Penyelesaian Masalah Optimasi dengan Teknik-teknik Heuristik menjelaskan tentang mutasi menciptakan individu baru dengan melakukan modifikasi satu atau lebih gen dalam individu yang sama. Mutasi berfungsi untuk menggantikan gen yang hilang dari populasi selama proses seleksi serta menyediakan gen yang tidak ada dalam populasi awal. Mutasi dapat dilakukan dari semua gen yang ada dengan probabilitas mutasi tertentu. Jika bilangan random yang dibangkitkan kurang dari probabilitas mutasi yang ditentukan maka ubah gen tersebut menjadi nilai kebalikannya.

(17)

individu terpilih tersebut. Langkah yang dilakukan adalah pencarian nilai fitness. Masing-masing individu dalam suatu wadah seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai objektif dirinya sendiri terhadap nilai objektif dari semua individu dalam wadah seleksi tersebut. Nilai fitness inilah yang nantinya akan digunakan pada tahap-tahap berikutnya.

Menurut Fitrah, Zaky dan Fitrasani (2006), Persoalan pedagang keliling (Travelling Salesman Problem/TSP) merupakan salah satu persoalan optimasi kombinatorial, jika diberikan sejumlah kota (atau tempat) dan biaya perjalanan dari satu kota ke kota lain. Deskripsi persoalannya adalah bagaimana menemukan rute perjalanan paling murah dari suatu kota dan mengunjungi semua kota lainnya, masing masing kota hanya dikunjungi satu kali, dan harus kembali ke kota asal keberangkatan. Kombinasi dari semua rute perjalanan yang ada adalah faktorial dari jumlah kota. Biaya perjalanan bisa berupa jarak, waktu, bahan bakar, kenyamanan, dan sebagainya.

Travelling Salesman Problem (TSP) dapat direpresentasikan dalam bentuk graph,

dengan memisalkan kota sebagai verteks dan jalur penghubung antar kota dengan edge. Siang (2002) dalam bukunya yang berjudul Matematika Diskrit dan Aplikasinya dalam ilmu komputer menyatakan tentang sirkuit hamilton. Suatu graph terhubung G disebut sirkuit hamilton bila ada sirkuit yang mengunjungi setiap titiknya tepat 1 kali (kecuali titik awal yang sama denga titik akhirnya). Pencarian sirkuit hamilton dapat memecahkan problema kasus Travelling Salesman Problem.

1.6Kontribusi Penelitian

(18)

1.7Metodologi Penelitian

Metode yang digunakan pada penelitian ini merupakan metode pengumpulan data dan bersifat literatur pada teori-teori dari Algoritma Genetika dan Travelling Salesman

Problem sebagai studi kasusnya. Langkah pertama yang dilakukan yaitu menjelaskan

tentang Travelling Salesman Problem, Algoritma Genetika dan Sirkuit Hamilton. Langkah selanjutnya adalah menjelaskan penggunaan dan pengembangan Algoritma Genetika dalam menentukan jalur terpendek pada masalah Travelling Salesman

Problem dengan terlebih dahulu menentukan parameternya. Mengerjakannya secara

(19)

BAB II

LANDASAN TEORI

2.1Algoritma Genetika

Algoritma Genetika merupakan suatu algoritma yang terinspirasi dari teori evolusi Darwin yang menyatakan bahwa kelangsungan hidup suatu makhluk dipengaruhi aturan bahwa yang kuat adalah yang menang. Algoritma Genetika merupakan algoritma pencarian hasil terbaik yang berdasarkan atas perkawinan dan seleksi gen secara alami. Algortima genetika (AG) pertama kali dirintis oleh John Holland dari Universitas Michigan pada tahun 1960-an, Algoritma Genetika telah diaplikasikan secara luas pada berbagai bidang. Algoritma Genetika banyak digunakan untuk memecahkan masalah optimasi, walaupun pada kenyataannya juga memiliki kemampuan yang baik untuk masalah-masalah selain optimasi. John Holland menyatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan dalam terminologi genetika.

(20)

kromosom yang lainnya sehingga ukuran populasi (jumlah kromosom dalam suatu populasi) konstan. Setelah melalui beberapa generasi, maka Algoritma Genetika akan konvergen ke kromosom yang terbaik.

2.1.1 Sejarah Algoritma Genetika

Algoritma Genetika merupakan metode pencarian yang disesuaikan dengan proses genetika dari organisme-organisme biologi yang berdasar pada teori evolusi Charles Darwin. Algoritma Genetika pertama kali ditemukan oleh John Holland di dalam bukunya yang berjudul Adaption in Natural and Artificial Systems pada tahun 1960-an dan kemudian dikembangkan bersama murid-murid dan rekan kerjanya di Universitas Michigan pada tahun 1960-an sampai 1970-an. Tujuan Holland mengembangkan Algoritma Genetika saat itu bukan untuk mendesain suatu algoritma yang dapat memecahkan suatu masalah, namun lebih mengarah ke studi mengenai fenomena adaptasi di alam dan mencoba menerapkan mekanisme adaptasi alam tersebut ke dalam sistem komputer.

Algoritma Genetika yang dibuat Holland merupakan sebuah metode untuk memisahkan satu populasi kromosom (terdiri dari bit-bit 1 dan 0) ke populasi baru dengan menggunakan “seleksi alam” dan operator genetik seperti crossover, mutation (mutasi) dan inversion. Crossover menukar bagian kecil dari dua kromosom, mutasi mengganti secara acak nilai gen beberapa lokasi pada kromosom dan inversion membalikkan urutan beberapa gen yang berurutan dalam kromosom. Dasar teori inilah yang menjadi dasar kebanyakan program yang menggunakan Algoritma Genetika saat ini.

2.1.2 Karakteristik Algoritma Genetika

(21)

karakteristik-karakteristik yang perlu diketahui sehingga dapat terbedakan dari prosedur pencarian atau optimasi yang lainnya. Karakteristiknya dapat kita asumsikan sebagai berikut :

1. Algoritma Genetika bekerja dengan pengkodean dari himpunan solusi permasalahan berdasarkan parameter yang telah ditetapkan dan bukan parameter itu sendiri.

2. Algoritma Genetika malakukan pencarian pada sebuah populasi dari sejumlah individu-individu yang merupakan solusi permasalahan bukan hanya dari sebuah individu.

3. Algoritma Genetika merupakan informasi fungsi objektif (fitness), sebagai cara untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari suatu fungsi.

4. Algoritma Genetika aturan-aturan transisi peluang, bukan aturan-aturan deterministik.

2.1.3 Kelebihan Algoritma Genetika

Algoritma Genetika merupakan salah satu algoritma yang sangat tepat digunakan dalam menyelesaikan masalah optimasi yang kompleks dan sulit dilakukan oleh metode konvensional. Ada tiga kelebihan dari aplikasi Algoritma Genetika dalam proses optimasi, yaitu :

a. Algoritma Genetika tidak terlalu banyak memerlukan persyaratan matematika dalam penyelesaian proses optimasi. Algoritma Genetika dapat diaplikasikan pada beberapa jenis fungsi obyektif dengan beberapa fungsi pembatas baik berbentuk linier maupun non-linier.

b. Operasi evolusi dari Algoritma Genetika sangat efektif untuk mengobservasi posisi global secara acak.

(22)

2.1.4 Komponen-komponen Algoritma Genetika

Pada dasarnya algoritma genetika memiliki 7 komponen, antara lain : a. Pendefenisian Individu

Pendefenisian individu merupakan proses pertama yang harus dilakukan dalam Algoritma Genetika yang menyatakan salah satu solusi yang mungkin dari suatu permasalahan yang diangkat. Pendefenisian individu dilakukan dengan mendefenisikan jumlah dan tipe dari gen yang digunakan dan tentunya dapat mewakili solusi permasalahan yang diangkat. Sebuah kromosom dibentuk dari komponen-komponen penyusun yang disebut sebagai gen dan nilainya dapat berupa bilangan numerik, biner, simbol ataupun karakter tergantung dari permasalahan yang ingin diselesaikan. Menurut Marek Obitko terdapat beberapa macam teknik pengkodean antara lain :

1. Binary Encoding (Pengkodean Biner)

Pada binary encoding, setiap kromosom akan terdiri dari deretan bilangan biner, sehingga allela setiap gen-nya ada dua, yaitu bernilai 0 atau 1.

Contohnya:

Kromosom 1

1101100100110110

Kromosom 2

1101011000011110

2. Permutation Encoding (Pengkodean Permutasi)

Pada permutation encoding, setiap kromosom terdiri atas deretan angka yang menyatakan posisi dalam suatu urutan. Nilai dalam suatu lokus yang ada pada satu kromosom tidak boleh ada yang sama. Biasanya digunakan pada permasalahan TSP.

Contohnya :

Pada permasalahan TSP (Travelling Salesman Problem), dimana seorang

sales harus mengantarkan barang dengan melewati beberapa kota. Syaratnya

(23)

Kromosom 1

1 4 7 9 6 3 5 2 8

Kromosom 2

9 3 2 5 8 1 6 4 7

3. Value Encoding (Pengkodean Nilai)

Pada value encoding, setiap kromosom berupa kumpulan dari suatu nilai yang bisa berupa macam-macam nilai sesuai dengan permasalahan yang dihadapi. Seperti bilangan real, char dan lain-lain.

Contohnya:

Kromosom 1

A B E D B C A E D D

Kromosom 2

N W W N E S S W N N

4. Tree Encoding (Pengkodean Pohon)

Pada tree encoding, tiap kromosom adalah pohon dari objek-objek seperti fungsi atau perintah dalam bahasa pemrograman.

Contohnya: (+ x (/5 y))

Gambar 2.1 Tree Encoding

+

/

5

y

(24)

b. Nilai Fitness

Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performansinya. Di dalam evolusi alam, individu yang bernilai fitness tinggi yang akan bertahan hidup. Sedangkan individu yang bernilai fitness rendah akan mati. Pengertian nilai fitness ini sendiri adalah nilai yang menyatakan baik tidaknya suatu solusi (individu). Algoritma Genetika bertujuan mencari individu dengan nilai

fitness yang paling tinggi. Umumnya kromosom ber-fitness tinggi akan bertahan dan

berlanjut kegenerasi berikutnya. Kromosom yang telah terbentuk akan berevolusi secara berkelanjutan yang disebut dengan generasi. Dalam tiap generasi kromosom-kromosom tersebut dievaluasi tingkat keberhasilan nilai solusinya terhadap masalah yang ingin diselesaikan menggunakan ukuran yang disebut dengan nilai fitness. Nilai fitness inilah yang dijadikan acuan dalam mencapai nilai optimal dalam Algoritma Genetika.

c. Seleksi

Proses seleksi adalah proses evaluasi kualitas setiap kromosom di dalam populasi untuk memperoleh peringkat calon solusi. Seleksi bertujuan untuk memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling fit. Proses seleksi dilakukan dengan mencari kromosom terbaik dalam satu generasi, dimana untuk menentukan suatu kromosom terbaik dapat dilihat dari nilai

fitness-nya. Proses seleksi dilakukan dengan mengevaluasi setiap kromosom

berdasarkan nilai fitness untuk mendapatkan peringkat terbaik. Selanjutnya dipilih secara acak, kromosom-kromosom yang mengalami proses rekombinasi. Umumnya kromosom ber-fitness tingggi yang berpeluang lebih besar untuk terpilih. Kromosom dengan kualitas yang lebih baik akan memiliki peluang lebih besar untuk terpilih sebagai calon kromosom generasi berikutnya.

(25)

tersebut. Cara lainnya adalah dengan memilih induk yang lebih baik ketika membuat keturunan baru. Dengan metode ini, hanya kromosom sebanyak yang dipelihara dalam populasi yang perlu dibuat bagi generasi berikutnya. Walaupun penekanan selektif tidak diterapkan ke level keturunan, metode ini akan terus menghasilkan kromosom yang lebih baik, karena adanya penekanan selektif yang diterapkan ke induk.

Terdapat beberapa metode seleksi untuk mendapatkan calon induk yang baik, namun proses seleksi yang biasa digunakan adalah Roulette Wheel Selection (Seleksi Roda Roulette). Sesuai dengan namanya, metode ini menirukan permainan

roulette-wheel dimana masing-masing kromosom menempati potongan lingkaran

pada roda roulette secara proporsional sesuai dengan nilai fitness-nya.

d. Perkawinan Silang (Crossover)

Salah satu komponen paling penting dalam Algoritma Genetika adalah

crossover atau perkawinan silang, dikenal juga dengan pindah silang. Crossover

bertujuan menambah keanekaragaman kromosom digenerasi berikutnya berdasarkan kromosom-kromosom dari generasi saat ini. Crossover melibatkan dua induk untuk menghasilkan keturunan yang baru. Crossover dilakukan dengan melakukan pertukaran gen dari dua induk secara acak. Kromosom baru yang terbentuk akan mewarisi sebagian dari sifat kromosom induknya. Dalam proses ini dilakukan penukaran bagian gen yang telah dipilih posisinya secara acak dalam satu kromosom. Dalam proses ini, perkawinan silang yang terjadi adalah perkawinan antar seluruh gen dalam suatu generasi.

Perkawinan Silang (Crossover) juga dapat berakibat buruk jika ukuran populasinya sangat kecil. Dalam suatu populasi yang sangat kecil, suatu kromosom dengan gen-gen yang mengarah ke solusi akan sangat cepat menyebar ke kromosom-kromosom lainnya. Untuk mengatasi masalah ini digunakan suatu aturan bahwa perkawinan silang hanya bisa dilakukan dengan suatu probabilitas tertentu

c

(26)

Probabilitas crossover ρc merupakan nilai perbandingan jumlah kromosom yang diharapkan akan mengalami perkawinan silang terhadap jumlah kromosom dalam suatu populasi. Probabilitas crossover yang tinggi akan memungkinkan pencapaian alternatif solusi yang lebih bervariasi dan mengurangi kemungkinan menghasilkan nilai optimum yang tidak dikehendaki. Tetapi bila nilai ini terlalu tinggi akan mengakibatkan pemborosan waktu untuk melakukan perhitungan di daerah solusi yang tidak menjanjikan hasil yang optimal.

e. Mutasi

Mutasi menciptakan individu baru dengan melakukan modifikasi satu atau lebih gen dalam individu yang sama. Mutasi berfungsi untuk menggantikan gen yang hilang dari populasi selama proses seleksi serta menyediakan gen yang tidak ada dalam populasi awal, sehingga mutasi akan meningkatkan variasi populasi. Dalam proses ini dilakukan mutasi atau penukaran pasangan gen yang telah dipilih secara acak dalam satu kromosom. Penukaran pasangan ini dilakukan pada dua gen dalam suatu kromosom. Melalui mutasi, kromosom baru dapat diciptakan dengan melakukan modifikasi terhadap satu atau lebih karakter pada kromosom yang sama.

(27)

f. Elitisme

Proses seleksi dilakukan secara random sehingga tidak ada jaminan bahwa suatu individu yang bernilai fitness tertinggi akan selalu terpilih. Walaupun individu bernilai fitness tertinggi terpilih, mungkin saja individu tersebut akan rusak (nilai

fitness-nya menurun) karena proses perkawinan silang. Untuk menjaga agar individu

bernilai fitness tertinggi tersebut tidak hilang selama proses evolusi, maka perlu dibuat satu atau beberapa kopinya. Prosedur inilah yang dikenal sebagai elitisme.

Proses ini dilakukan untuk mempertahankan individu yang terbaik dari tiap generasi, karena setelah dilakukan proses perkawinan silang dan mutasi, kemungkinan untuk kehilangan kromosom yang terbaik sangat besar. Proses

elitisme ini dilakukan dengan menggantikan kromosom terburuk dari generasi

berikutnya dengan kromosom terbaik dari generasi sebelumnya apabila kromosom yang baru tersebut tidak lebih buruk dari yang lama.

g. Evaluasi Solusi

Proses evaluasi dilakukan dengan menghitung nilai fitness dari setiap kromosom dalam suatu generasi. Bila ada kromosom yang tidak mempunyai informasi titik tujuan maka kromosom ini dianggap mempunyai nilai fitness terbesar dan dikatakan tidak valid.

Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti.

Beberapa kriteria berhenti yang sering digunakan antara lain : 1. Berhenti pada generasi tertentu.

2. Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai

fitness tertinggi tidak berubah.

(28)

2.1.5 Parameter Genetik

Yang disebut dengan parameter disini adalah parameter kontrol Algoritma Genetika, yaitu : ukuran populasi (popsize), probabilitas crossover (peluang crossover - ρc) dan probabilitas mutasi (peluang mutasi - ρm ). Nilai parameter ini ditentukan juga berdasarkan permasalahan yang akan dipecahkan. Tidak ada aturan pasti tentang berapa nilai setiap parameter ini. (Koza, 2001). Ukuran populasi kecil berarti hanya tersedia sedikit pilihan untuk crossover dan sebagian kecil dari domain solusi saja yang dieksplorasi untuk setiap generasinya. Sedangkan bila terlalu besar, kinerja Algoritma Genetika menurun. Penelitian menunjukkan ukuran populasi besar tidak mempercepat proses pencarian solusi. Disarankan ukuran populasi berkisar antara 20-30, probabilitas

crossover umumnya berkisar antara 0,6 sampai dengan 0,9 dan probabilitas mutasi kecil

berkisar 0.5%-1% atau sekitar 1 dibagi dengan jumlah gen. Jumlah generasi besar berarti semakin banyak iterasi yang dilakukan, dan semakin besar domain solusi yang akan dieksplorasi (Nico saputro dan Yento, 2004).

Menurut Kusumadewi dan Purnomo (2005), ada beberapa rekomendasi yang bisa digunakan untuk menentukan nilai parameter tersebut, antara lain :

a. Untuk permasalahan yang memiliki kawasan solusi cukup besar, De Jong merekomendasikan untuk nilai parameter control :

(popsize; ρc; ρm) = (50; 0,6; 0,001)

b. Bila rata-rata fitness setiap generasi digunakan sebagai indikator, maka Grefenstette merekomendasikan :

(popsize; ρc; ρm) = (30; 0,95; 0,01)

c. Bila fitness dari individu terbaik dipantau pada setiap generasi, maka usulannya adalah :

(popsize; ρc; ρm) = (80; 0,45; 0,01)

2.1.6 Mekanisme Kerja Algoritma Genetika

(29)

sebagai kromosom, sedangkan kumpulan kromosom-kromosom tersebut disebut sebagai populasi. Sebuah kromosom dibentuk dari komponen-komponen penyusun disebut sebagai gen dan nilainya dapat berupa bilangan numerik, biner, simbol ataupun karakter tergantung dari permasalahan yang ingin diselesaikan.

Kromosom-kromosom tersebut akan berevolusi secara berkelanjutan yang disebut dengan generasi. Dalam tiap generasi, kromosom-kromosom tersebut dievaluasi tingkat keberhasilan nilai solusinya terhadap masalah yang ingin diselesaikan dengan menggunakan ukuran yang disebut dengan nilai fitness. Untuk memilih kromosom yang tetap dipertahankan untuk generasi selanjutnya dilakukan proses yang disebut dengan seleksi. Proses seleksi kromosom menggunakan konsep teori evolusi Darwin yaitu kromosom yang mempunyai nilai fitness tinggi akan memiliki peluang lebih besar untuk terrpilih lagi pada generasi selanjutnya.

(30)

Secara umum, blok diagram dari mekanisme kerja Algoritma Genetika ini adalah seperti yang terlihat pada gambar dibawah ini :

Gambar 2.2

Mekanisme Kerja Algoritma Genetika

2.2Travelling Salesman Problem

Traveling Salesman Problem (TSP) adalah suatu kondisi dimana seorang salesman

(31)

2.2.1 Pendahuluan

Permasalahan Traveling Salesman Problem merupakan salah satu permasalahan optimasi kombinatorial. Banyak permasalahan yang dapat direpresentasikan dalam bentuk Traveling Salesman Problem. Permasalahan ini sendiri menggunakan representasi graf untuk memodelkan persoalan yang diwakili sehingga lebih memudahkan penyelesaiannya.

Permasalahan yang dapat direpresentasikan dengan TSP ialah masalah transportasi, efisiensi pengiriman surat atau barang, perancangan pemasangan pipa saluran, proses pembuatan PCB (Printed Cirtcuit Board) dan lain-lain. Permasalahan yang muncul ialah bagaimana cara mengunjungi simpul (node) pada graf dari titik awal ke setiap titik-titik lainnya dengan bobot minimum. Bobot ini sendiri dapat mewakili berbagai hal, seperti biaya, jarak, bahan bakar, waktu, dan lainnya. Guna memudahkan permasalahan dalam penyelesaian TSP, permasalahan ini direpresentasikan terlebih dahulu dengan sebuah graph, dimana jumlah vertex dan edge-nya terbatas (sebuah

vertex akan mewakili sebuah kota dan sebuah edge akan mewakili jarak antar dua kota

yang dihubungkannya). Penanganan problem TSP ini ekuivalen dengan mencari sirkuit Hamiltonian terpendek.

2.3Matlab 6.1

Bahasa Pemrograman merupakan suatu media untuk berinteraksi antara manusia dengan komputer dibuat agar semakin mudah dan cepat. Sebagai contoh, dapat dilihat dari perkembangan bahasa pemrograman pascal yang terus memunculkan varian baru hingga akhirnya menjadi Delphi, demikian pula dengan Basic dan Visual Basic-nya serta C dengan C++ Builder-nya. Pada akhirnya semua bahasa pemrograman akan semakin memudahkan pemakainya dengan penambahan fungsi-fungsi baru yang sangat mudah digunakan bahkan oleh pemakai tingkat pemula sekalipun.

(32)

sekaligus alat visualisasi yang menawarkan banyak kemampuan untuk menyelesaikan berbagai kasus yang berhubungan langsung dengan disiplin keilmuan matematika, seperti bidang rekayasa teknik, fisika, statistika, komputasi dan modeling. Matlab dibangun dari bahasa induknya yaitu bahasa C, namun tidak dapat dikatakan sebagai varian dari C. Karena hubungan langsungnya terhadap C, Matlab memiliki kelebihan-kelebihan bahasa C bahkan mampu berjalan pada semua platform sistem operasi tanpa mengalami perubahan sintak sama sekali.

MATLAB (Matrix Laboratory) adalah sebuah bahasa pemrograman tingkat tinggi untuk analisa dan komputasi numerik, merupakan suatu bahasa pemrograman matematika lanjutan yang dibentuk dengan dasar pemikiran menggunakan sifat dan bentuk matriks. Matlab merupakan software yang paling efisien untuk perhitungan numerik berbasis matriks. Dengan demikian jika di dalam perhitungan kita dapat memformulasikan masalah ke dalam fomat matriks, maka Matlab merupakan software terbaik untuk penyelesaian numeriknya.

Cara termudah untuk menggambarkan matlab adalah dengan menganggapnya sebagai sebuah kalkulator. Seperti umumnya kalkulator biasa, Matlab sanggup mengerjakan perhitungan sederhana seperti penambahan, pengurangan, perkalian, dan pembagian. Seperti kalkulator sains, Matlab dapat menangani bilangan kompleks, akar dan pangkat, logaritma dan operasi trigonometri

Untuk menjalankan aplikasi Matlab, sebenarnya tidak membutuhkan spesifikasi komputer yang tinggi. Cukup dengan komputer Pentium 1 atau setara, program sudah bisa dijalankan. Namun untuk visualisasi dari program dengan iterasi (berulang) atau pengolahan data yang cukup besar (misalnya matriks berdimensi 1000 x 1000) perbedaan kecepatan processor akan signifikan. Untuk itu, pada tahap instalasi Matlab perlu diperhatikan versinya. Setiap versi akan membutuhkan spesifikasi komputer minimum yang berbeda [ Away, Gunaidi Abdia, 2006]

2.3.1 Sintak Dasar Matlab

(33)

dikenal dalam pemrograman matlab hanya dua yaitu numerik dan string. Tidak seperti bahasa pemrograman yang lain, dalam pemrograman Matlab tidak dibutuhkan deklarasi eksplisit yang menyatakan tipe data, karena Matlab memiliki kemampuan tersendiri untuk mengenali tipe data yang dimasukkan oleh pemakai pada setiap variabelnya dan dapat secara dinamis mengganti tipe data tersebut pada waktu yang relatif bersamaan tanpa adanya kesalahan. Namun ada beberapa hal penting yang harus diperhatikan dalam penulisan sintak, yaitu :

a. Peranan variabel bersifat case-sensitive, artinya Matlab akan membedakan adanya huruf besar dan kecil dalam penamaan.

b. Panjang nama variabel tidak dapat melebihi 31 karakter, dan karakter setelah karakter ke-31 diabaikan.

c. Penamaan variabel harus selalu diawali dengan huruf, diikuti dengan sembarang bilangan, huruf atau garis bawah, tidak boleh dengan bilangan dan simbol lain.

2.3.2 Fungsi M-file

Penulisan barisan ekspresi dalam Matlab biasanya dilakukan baris perbaris. Hal ini sangat tidak efisien. Fungsi M-file hampir sama dengan script file dimana keduanya merupakan suatu file teks dengan ekstensi.m. Fungsi M-file ini tidak dimasukkan dalam command window, melainkan diletakkan pada file tersendiri yang dibuat dalam editor teks (matlab editor).

Suatu fungsi M-file harus mengikuti beberapa aturan dan juga mempunyai sejumlah sifat penting. Aturan dan sifat-sifat tersebut meliputi :

1. Nama fungsi dan nama file harus identik. Contohnya fungsi flipud disimpan dalam file yang bernama flipud.m

(34)

3. Jumlah argumen input dan output yang digunakan jika suatu fungsi dipanggil hanya terdapat dalam fungsi tersebut.

4. Fungsi M-file berhenti dieksekusi dan kembali ke prompt jika telah mencapai akhir dari M-file atau jika menemui perintah return. Perintah return merupakan cara sederhana untuk menghentikan fungsi sebelum mencapai akhir file.

5. Fungsi M-file dapat memuat lebih dari sebuah fungsi.

2.3.3 Interaksi File

Berinteraksi dengan file eksternal merupakan senjata yang sangat diandalkan oleh

programmer, karena dengan cara inilah antar aplikasi yang berbeda dapat saling

bertukar data. Pembuat matlab pun menyadari hal ini, dan memberikan beberapa alternatif bagi programmer untuk menggunakan metode yang paling cocok dalam berinteraksi dengan file eksternal.

Dalam Matlab disediakan fungsi save dan load. Fungsi save digunakan untuk menyimpan data dari memori Matlab ke file, sedangkan fungsi load digunakan untuk mengambil data file ke memori Matlab. Secara default fungsi save dan load di desain untuk jenis file MAT. Dimana file dengan ekstensi mat adalah file biner yang hanya dapat dibuka oleh Matlab sendiri. Kelebihan menyimpan dengan jenis file ini adalah kemampuannya untuk menyimpan informasi data berupa variabel beserta nilai-nilainya tanpa direpotkan untuk mengatur format datanya. Berikut adalah sintak untuk menggunakan fungsi save :

Nama file : diisi dengan nama file simpan yang kita inginkan, diketikkan tanpa ekstensi. File tersebut akan berekstensi MAT dan menyimpan data nilai-nilai var1 dan var2.

Untuk mengambil kembali data yang telah disimpan dalam file berekstensi MAT, digunakan fungsi load yang mampu mengambil seluruh variabel dan nilai yang tersimpan dalam file. Sintak untuk mengambil fungsi load adalah sebagai berikut :

(35)

BAB III

ANALISIS DAN PERANCANGAN APLIKASI

3.1Analisis Kebutuhan

Aplikasi dalam menentukan jalur terpendek pada kasus TSP ini dirancang dengan menggunakan Algoritma Genetika. Dalam menjalankan proses aplikasi yang mencakup proses input dan proses outputnya, dinyatakan dengan menggunakan aplikasi bahasa pemrograman Matlab versi 6.1 yang diperjelas dengan diagram alir (flowchard). Pada tahap ini digunakan notasi-notasi untuk menggambarkan arus data dimana hal ini akan sangat membantu dalam proses komunikasi dengan pemakai.

3.1.1 Analisis Kebutuhan Masukan (Input)

Proses input atau masukan dari aplikasi dalam menentukan jaur terpendek pada permasalahan TSP ini, berupa parameter-parameter yang diperlukan dalam Algoritma Genetika yaitu :

a. Data jumlah kota yang menjadi masukan disimbolkan dengan (n) dan direpresentasikan dengan koordinat (x,y). n ditentukan oleh pengguna. Pada penentuan koordinat kota penulis menggunakan pilihan, yaitu :

Koordinat kota diinputkan langsung oleh pengguna. Proses ini menggunakan peta dua dimensi, kemudian dipindahkan kedalam koordinat kartesius (x,y) dengan menggunakan titik x dan y sebagai input yang kemudian ditentukan sebagai titik-titik dari peta tersebut. Pengguna mengisikan jumlah titik dan koordinat titik.

b. Parameter-parameter yang diperlukan dalam perhitungan Algoritma Genetika, yaitu :

1. Ukuran Polpulasi (Popsize) = 30

(36)

3. Peluang Mutasi (ρm) = 0.0667 4. Maksimum Generasi = 100 5. Panjang Kromosom/ Jumlah Gen = 15

3.1.2 Analisis Kebutuhan Proses

Kebutuhan proses yang dilakukan pada sistem menentukan jalur terpendek dalam penyelesaian permasalahan TSP ini antara lain :

1. Proses pembuatan kota dan rute pada peta

2. Proses menentukan jarak kota dengan bentuk Euclidean.

3. Proses perhitungan fungsi fitness, seleksi, crossover, mutasi, sampai dengan menentukan hasil populasi akhirnya.

4. Proses penyeleksian jalur terpendek

3.1.3 Analisis Kebutuhan Keluaran (Output)

Data keluaran yang diperoleh dari proses pengaplikasian dalam menentukan jalur terpendek dengan Algoritma Genetika pada permasalahan TSP ini adalah rute jalur terpendek dari 15 kota yang telah ditentukan disertai dengan jarak antar kota-kotanya serta panjang jalur minimumnya dan diperoleh juga grafik fitness rata-ratanya. .

3.1.4 Kebutuhan Perangkat Lunak

(37)

perintah-perintah yang menyulitkan, karena Matlab merupakan suatu aplikasi yang berbasis matematika.

Perangkat keras komputer tidak berarti tanpa perangkat lunak begitu juga sebaliknya. Jadi perangkat lunak dan perangkat keras saling mendukung satu sama lain. Perangkat keras hanya berfungsi jika diberikan instruksi-intruksi kepadanya. Instruksi-instruksi inilah disebut dengan perangkat lunak. Dalam penelitian ini penyusun menggunakan perangkat lunak MATLAB 6.1 Release 12.1, The Mathworks, Inc.

3.1.5 Kebutuhan Perangkat Keras

Penggunaan sistem komputer sebagai alat bantu dalam menyelesaikan tugas-tugas atau pekerjaan sudah bukan menjadi hal yang aneh lagi, akan tetapi merupakan suatu keharusan karena banyak kemudahan-kemudahan yang bisa diperoleh. Komputer terdiri dari 2 bagian yaitu perangkat keras dan perangkat lunak. Perangkat lunak memberikan instruksi-instruksi kepada perangkat keras untuk melakukan suatu tugas tertentu.

Penggunaan komputer sebagai alat bantu suatu kejadian yang benar-benar terjadi dikehidupan nyata sering kali digunakan. Perangkat keras komputer yang digunakan adalah perangkat keras yang dapat mendukung perangkat lunak yang memiliki kemampuan atau tampilan grafis yang cukup baik. Perangkat keras yang digunakan pada aplikasi Algoritma Genetika untuk Trvelling Salesman Problem dalam menentukan jalur yang terpendek dari beberapa kota yang telah ditentukan adalah sebuah personal notebook dengan spesifikasi sebagai berikut :

1. Processor Intel Core 2 Duo 1,83 GHz 2. RAM 1 GB

3. Hardisk 160 GB

4. O/S Windows XP Profesioanal SP2

(38)

3.2Perancangan 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.

(39)

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

(40)

3.2.2 Diagram Alir (Flowchard) Mulai

Set parameter

a. Jumlah kota b. Maksimum

generasi c. Popsize d. Pc e. kb

Input koordinat kota ( xi,yi )

Hitung jarak kota ke-i dan ke-j

(

) (

2

)

2

q i j i j

D = xx + yy

Pengkodean Kromosom

Bangkitkan populasi awal

Evaluasi Nilai fitness

Apakah kriteria optimasi

tercapai

Hasil Populasi Akhir

Urut Jalur Terpendek ya

Tidak

SELEKSI

PINDAH SILANG

MUTASI

(41)

BAB IV

HASIL DAN PEMBAHASAN

Pengkodean Kromosom

Gambar Peta Jawa Barat adalah sebagai berikut:

(42)

Dari gambar di atas, letak kota yang akan dijadikan sampel dipindahkan ke dalam koordinat katesius. Pada tahap pengkodean kromosom ini, kota-kota yang akan dikunjungi diberi nomor urut dan ditentukan pula posisinya dalam koordinat katesius. Berikut ini data nomor urut dan posisi 15 kota yang menjadi sampel dari peta Jawa Barat.

1. Bekasi 9. Sumedang

2. Karawang 10. Sukabumi

3. Indramayu 11. Bandung

4. Purwakarta 12. Kuningan

5. Subang 13. Garut

6. Bogor 14. Tasikmalaya

7. Cirebon 15. Ciamis

8. Cianjur

Tabel 4.1 NomorUrut Kota

Kota x y ( x,y )

1 5 21 (5,21)

2 10 20 (10,20)

3 27 19 (27,19)

4 12 15 (12,15)

5 17 15 (17,15)

6 1 14 (1,14)

7 31 13 (31,13)

8 7 11 (7,11)

9 20 11 (20,11)

10 4 9 (4,9)

(43)

12 29 8 (29,8)

13 20 5 (20,5)

14 25 3 (25,3)

15 26 2 (26,2)

Tabel 4.2

Posisi Kota dalam dalam koordinat katesius

15

(44)
(45)
(46)

Kota 7  Kota 14

Jarak dari satu kota ke kota yang lainnya dengan mengunakan rumus jarak kartesian yaitu: A B− =

(

XAXB

) (

2+ YAYB

)

2

Inisisalisasi Populasi

(47)

dalam satu kromosom. Masukan untuk fungsi ini adalah ukuran populasi yaitu jumlah kromososm dalam populasi dan jumlah gen dalam satu kromosom. Kromosom yang dibangkitkan adalah sebuah kromososm yang dibangkitkan secara acak. Untuk membangkitkan kromosom ini, kita gunakan fungsi random yang telah tersedia dalam Matlab. Sintak selengkapnya adalah sebagai berikut :

Fungsi di atas dideklarasikan dengan nama InisialisasiPopulasi. Dengan dua variabel yaitu popsize,N. Keluaran yang dihasilkan dari fungsi ini adalah Populasi. Untuk menyatakan kromosom ke-ii pada populasi yang jumlah kolomnya sama dengan jumlah gen digunakan perintah Populasi(ii,:). popsize menyatakan ukuran populasi atau jumlah kromosom dalam populasi, dimana nilainya kita masukkkan lewat perintah input ('Masukkan Ukuran Populasi: '). N menyatakan jumlah gen dalam kromosom, dimana gen ini merepresentasikan jumlah kota yang ada. Nilai dari N kita masukkan melalui perintah input ('Masukkan Jumlah Gen : '). Perintah sort (rand(1,N)) menyatakan pembangkitan matriks berukuran 1 x N yang berisi bilangan random dalam interval 0 – 1 yang terurut dari kecil ke besar. Kemudian kita simpan program ini dengan nama InisialisasiPopulasi.m melalui perintah save inisialisasi popsize N Populasi. Dari program di atas maka kita dapatkan kromosom yang terbentuk adalah sebagai berikut :

function Populasi = InisialisasiPopulasi (popsize,N) popsize = input ('Masukkan Ukuran Populasi: '); N = input ('Masukkan Jumlah Gen : ');

disp ('Kromosom yang terbentuk adalah sebagai berikut : ')

for ii=1:popsize;

[Xval,Ind] = sort (rand(1,N)); Populasi(ii,:) = Ind;

end

(48)

>> InisialisasiPopulasi

Masukkan Ukuran Populasi: 30 Masukkan Jumlah Gen : 15

Kromosom yang terbentuk adalah sebagai berikut :

Kromosom

ke- Bentuk Kromosom

1 8 15 2 10 7 4 3 11 14 6 12 9 5 13 1

2 9 6 10 12 15 11 14 7 1 4 13 8 5 3 2

3 1 12 9 14 6 3 5 8 10 13 2 15 11 7 4

4 10 5 6 8 4 12 3 1 9 15 7 11 2 14 13

5 8 12 9 7 15 1 10 14 4 6 11 5 3 13 2

6 10 13 12 3 8 2 5 4 1 15 6 14 9 7 11

7 2 9 1 4 7 5 14 12 15 8 13 11 6 3 10

8 15 13 6 1 7 10 4 11 2 14 5 9 3 8 12

9 4 11 2 13 1 9 10 12 15 5 8 3 14 6 7

10 10 11 7 3 14 1 4 15 12 9 13 6 2 8 5

11 5 12 13 3 9 2 8 14 4 6 1 15 11 10 7

12 1 6 10 9 2 8 7 14 15 3 11 5 12 4 13

13 13 14 1 11 8 12 6 5 2 15 3 9 7 4 10

14 13 12 4 3 1 8 7 9 10 6 14 11 2 15 5

15 10 11 3 5 2 13 6 8 15 12 9 4 14 1 7

16 15 4 3 5 2 13 6 12 11 10 8 1 9 7 14

17 12 2 8 1 11 7 13 6 9 4 3 10 14 15 5

18 6 10 13 3 15 11 8 4 9 14 5 2 7 1 12

19 15 7 3 4 8 14 12 10 9 1 5 2 11 13 6

20 15 6 9 8 5 10 7 12 1 4 3 11 14 2 13

21 5 14 3 1 11 2 6 4 12 7 10 9 13 15 8

22 15 9 3 11 13 7 5 10 2 14 6 12 4 1 8

(49)

24 15 1 2 11 3 8 4 5 9 14 7 10 12 6 13

25 4 12 7 6 5 15 10 2 3 14 1 8 9 13 11

26 11 14 6 4 12 5 8 9 7 13 10 1 15 3 2

27 1 11 15 9 7 12 8 10 4 13 3 5 2 14 6

28 4 1 8 7 2 14 3 12 5 9 6 10 15 13 11

29 9 2 12 11 3 10 8 7 4 6 5 14 1 13 15

30 2 13 6 11 15 12 8 1 3 7 10 4 9 14 5

Tabel 4.4

Populasi Awal Dibangkitkan Secara Acak

Dari tabel diatas dapat kita peroleh populasi awal yang dibangkitkan secara acak dengan merepresentasikannya melalui nomor urut setiap kota 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 satu kali di dalam satu kromosom.

Evaluasi Individu

Dalam Travelling Salesman Problem (TSP), permasalahannya adalah mencari jarak terpendek dari 15 kota yang akan dilalui. Untuk TSP, permasalahannya juga untuk meminimalkan total biaya. Oleh karena itu, nilai fitness yang bisa digunakan adalah 1 dibagi dengan total biaya. Dalam hal ini yang dimaksud total biaya adalah jumlah jarak antara satu kota dengan kota yang lainnya secara melingkar. Untuk menghitung jarak dari satu kota ke kota yang lainnya digunakan rumus jarak kartesian yaitu:

(

) (

2

)

2

A B A B

A B− = XX + YY

(50)

dari total jarak dari jalur yang didapatkan, dengan menggunakan rumus 1

x dimana x 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. Keluaran dari fungsi ini adalah nilai fitness dalam suatu populasi. Sintak selengkapnya dapat dilihat pada lampiran.

Kromosom ke-

Total Jarak dari Jalur (x)

Kromosom ke-

Total Jarak dari Jalur (x)

1 248.66258 16 201.55008

2 196.38105 17 215.77685

3 231.8275 18 201.10845

4 191.55955 19 187.78849

5 210.28846 20 237.67852

6 210.3533 21 201.46701

7 210.01073 22 213.61959

8 213.77136 23 238.47269

9 243.51555 24 220.61273

10 180.18419 25 217.57623

11 209.36062 26 221.39443

12 172.6155 27 188.56256

13 222.72157 28 196.43797

14 222.58578 29 233.9875

15 209.14286 30 205.72005

Tabel 4.5

(51)

Hasil yang diperoleh adalah nilai fitness dari setiap kromosom dalam suatu populasi sebagai berikut:

>> fitness

Fitness [1] = 1 0.004

248.66258= Fitness [16] =

1

0.005 201.55008=

Fitness [2] = 1 0.005

196.38105= Fitness [17] =

1

0.005 215.77685= Fitness [3] = 1 0.004

231.8275= Fitness [18] =

1

0.005 201.10845= Fitness [4] = 1 0.005

191.55955= Fitness [19] =

1

0.005 187.78849=

Fitness [5] = 1 0.005

210.28846= Fitness [20] =

1

210.01073= Fitness [22] =

1

0.005 213.61959=

Fitness [8] = 1 0.005

213.77136= Fitness [23] =

1

0.004 238.47269= Fitness [9] = 1 0.004

243.51555= Fitness [24] =

1

0.005 220.61273= Fitness [10] = 1 0.006

180.18419= Fitness [25] =

1

0.005 217.57623=

Fitness [11] = 1 0.005

209.36062= Fitness [26] =

1

0.005 221.39443=

Fitness [12] = 1 0.006

172.6155= Fitness [27] =

1

0.005 188.56256=

Fitness [13] = 1 0.004

222.72157= Fitness [28] =

1

0.005 196.43797=

Fitness [14] = 1 0.004

222.58578= Fitness [29] =

1

0.004 233.9875= Fitness [15] = 1 0.005

209.14286= Fitness [30] =

1

(52)

4.3.1 Probabilitas Fitness

Probabilitas fitness adalah perhitungan masing-masing nilai fitness pada setiap kromosom dalam suatu populasi terhadap jumlah total nilai fitness-nya. Rumus yang digunakan adalah nilai fitness

total fitness. Pada tahap ini juga dapat ditentukan nilai kumulatif

dari probabilitasnya. Perhitungan probabilitas fitness ini diimplementasikan dengan fungsi sort. Variabel yang digunakan untuk mencari probabilitas fitness yaitu popsize dan MaxGen. Keluarannya adalah probabilitas fitness dan nilai kumulatif dari probabilitasnya. Sintak selengkapnya dapat dilihat pada lampiran.

Nilai kumulatif dari probabilitas fitness yang diperoleh adalah 1, hal ini terjadi karena bila dilihat berdasarkan defenisi teori probabilitas, nilai probabilitas berkisar antara interval 0-1 dimana 0≤P E( ) 1≤ . Hal ini artinya nilai probabilitas yang dihasilkan tidak boleh lebih dari 1. Nilai probabilitas maksimum yang dihasilkan haruslah bernilai 1.

>> Probablitas fitness

(53)

Roulette Wheel Selection

Proses seleksi adalah proses mencari kromosom terbaik dalam satu generasi, dimana untuk menentukan suatu kromosom terbaik dapat dilihat dari nilai fitnessnya. Proses seleksi dilakukan dengan mengevaluasi setiap kromososm berdasarkan nilai fitnessnya untuk mendapatkan peringakat yang terbaik. Pada tahap ini, kromosom diseleksi sesuai dengan nilai fitnessnya. Tahap pertama yang dilakukan adalah nilai fitness yang telah diperoleh dijumlahkan, kemudian bangkitkan bilangan random. Setelah itu nilai

fitness yang telah terurut tadi dibandingkan dengan bilangan random yang

dibangkitkan. Jika nilai fitness

total fitness >bilangan random yang telah dibangkitkan, maka kromosom tersebut akan terpilih sebagai induk untuk melakukan proses selanjutnya. Sintak selengkapnya dapat dilihat pada lampiran. Variabel yang digunakan yaitu popsize. Diperoleh hasilnya sebagai berikut :

>> hasil seleksi Kromosom

ke- Bentuk Kromosom

1 9 6 10 12 15 11 14 7 1 4 13 8 5 3 2

2 6 12 13 1 3 2 15 4 5 14 11 8 9 10 7

3 1 11 15 9 7 12 8 10 4 13 3 5 2 14 6

4 4 11 2 13 1 9 10 12 15 5 8 3 14 6 7

5 15 13 6 1 7 10 4 11 2 14 5 9 3 8 12

6 4 1 8 7 2 14 3 12 5 9 6 10 15 13 11

>>bilangan random

(54)

7 10 5 6 8 4 12 3 1 9 15 7 11 2 14 13

8 9 2 12 11 3 10 8 7 4 6 5 14 1 13 15

9 15 9 3 11 13 7 5 10 2 14 6 12 4 1 8

10 11 14 6 4 12 5 8 9 7 13 10 1 15 3 2

11 2 9 1 4 7 5 14 12 15 8 13 11 6 3 10

12 13 12 4 3 1 8 7 9 10 6 14 11 2 15 5

13 1 12 9 14 6 3 5 8 10 13 2 15 11 7 4

14 11 14 6 4 12 5 8 9 7 13 10 1 15 3 2

15 12 2 8 1 11 7 13 6 9 4 3 10 14 15 5

16 10 11 7 3 14 1 4 15 12 9 13 6 2 8 5

17 1 6 10 9 2 8 7 14 15 3 11 5 12 4 13

18 1 11 15 9 7 12 8 10 4 13 3 5 2 14 6

19 1 6 10 9 2 8 7 14 15 3 11 5 12 4 13

20 1 12 9 14 6 3 5 8 10 13 2 15 11 7 4

21 2 9 1 4 7 5 14 12 15 8 13 11 6 3 10

22 9 6 10 12 15 11 14 7 1 4 13 8 5 3 2

23 12 2 8 1 11 7 13 6 9 4 3 10 14 15 5

24 10 5 6 8 4 12 3 1 9 15 7 11 2 14 13

25 15 4 3 5 2 13 6 12 11 10 8 1 9 7 14

26 10 5 6 8 4 12 3 1 9 15 7 11 2 14 13

27 15 1 2 11 3 8 4 5 9 14 7 10 12 6 13

28 1 6 10 9 2 8 7 14 15 3 11 5 12 4 13

29 4 12 7 6 5 15 10 2 3 14 1 8 9 13 11

30 9 6 10 12 15 11 14 7 1 4 13 8 5 3 2

Tabel 4.6

Hasil Seleksi Kromosom

Perkawinan Silang (Crossover)

(55)

nformasi dari kedua kromosom tersebut berdasarkan titik potong yang telah ditentukan. Sintak selengkapnya dapat dilihat pada lampiran.

Variabel yang digunakan yaitu Parent dan N. Parent yang melakukan crossover adalah parent yang berasal dari kromosom ke-1 dan kromosom ke-2 dari hasil seleksi yaitu:

9 6 10 12 15 11 14 7 1 4 13 8 5 3 2 1 11 15 9 7 12 8 10 4 13 3 5 2 14 6

Titik potong ditentukan pada posisi gen ke-8 dan gen ke-10 . Keluaran dari fungsi ini adalah anak hasil dari perkawinan silang sebagai berikut :

Dari hasil diatas diperoleh bahwa kromosom yang melakukan perkawinan silang adalah sebanyak 2 buah sehingga mengahasilkan 2 buah kromosom anak yang baru dari proses perkawinan silang tersebut.

Mutasi

Pada proses mutasi ini, dilakukan penukaran pasangan gen yang telah dipilih secara random dalam suatu kromosom. Penukaran pasangan ini dilakukan pada dua >> perkawinan silang

N = 11

popsize = 30

(56)

gen dalam suatu kromosom. Jika bilangan random [0,1] yang dibangkitkan kurang dari probabilitas mutasi, maka nilai gen tersebut akan ditukar dengan nilai gen lain yang dipilih secara random. Hal ini berlaku untuk semua gen dalam kromosom. Nilai dari probabilitas mutasi adalah

gen Jumlah

1

yaitu 1 0.0667

15 = . Sintak selengkapnya

dapat dilihat pada lampiran.

Ada 3 variabel yang digunakan pada proses mutasi ini yaitu Kromosom, Pmutasi dan N. Kromosom yang mengalami mutasi adalah kromosom yang berasal dari perkawinan silang yaitu :

11 15 9 7 12 8 10 13 1 4 3 5 2 14 6 6 10 12 15 11 14 7 1 4 13 8 5 3 2 9

Posisi mutasi adalah gen yang berada pada posisi gen ke-5 dan ke-10. Sehingga keluaran dari fungsi ini adalah kromosom hasil mutasi sebagai berikut :

Pada saat proses mutasi dilakukan, kromosom yang mengalami mutasi adalah sebanyak 2 buah, sehingga diperoleh 2 buah kromosom anak yang baru dari hasil mutasi tersebut.

Penentuan Jalur Terbaik

Pada tahap ini, kita tentukan probabilitas mutasi adalah 0.0667. Ukuran populasi adalah 30. Jumlah gen adalah 15. Maksimum generasi adalah 100 dan probabilitas >> mutasi

N=11

popsize = 30

(57)

perkawinan silang (ρc) diset berubah-ubah antara 0.6 sampai dengan 0.9. Hasil yang diperoleh adalah sebuah jalur terbaik dan diperoleh juga grafik fitness rata-rata. Sintak programnya dapat dilihat pada lampiran.

a. Saat Probabilitas Perkawinan Silang ρc= 0.6

15

0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233

Gambar 4.3

Jalur Terbaik Pada ρc= 0.6 dalam Koordinat Kartesius Jalur Terbaik

(58)

Gambar 4.4

Grafik Fitness Rata-rata Pada ρc= 0.6

Diperoleh  Panjang Jalur terbaik = 132.4107

Mencapai fitness mkasimum pada generasi ke-40

Dengan cara konvensional

= 21.84033+9.43398+5+14.14214+7.21110+11.18034+6.70820+6.70820+7.07107+14.56022 +8.06226+5.09902+5.38516+6.40312+3.60555

= 132.4107

(59)

b. Saat Probabilitas Perkawinan Silang ρc= 0.7

0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233

Gambar 4.5

Jalur Terbaik Pada ρc= 0.7 dalam Koordinat Kartesius Jalur Terbaik

(60)

Gambar 4.6

Grafik Fitness Rata-rata Pada ρc= 0.7

Diperoleh  Panjang Jalur terbaik = 106.4987

Mencapai fitness mkasimum pada generasi ke-91

Dengan cara konvensional

= 15.65248+6.70820+1.41421+12.20656+5.83095+6.40312+3.60555+5.83095+8.06226+5.09902 +8.60233+5+9.48683+5.38516+7.21110

= 106.4987

(61)

c. Saat Probabilitas Perkawinan Silang ρc= 0.8

0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233

Gambar 4.7

Jalur Terbaik Pada ρc= 0.8 dalam Koordinat Kartesius Jalur Terbaik

(62)

Gambar 4.8

Grafik Fitness Rata-rata Pada ρc= 0.8

Diperoleh  Panjang Jalur terbaik = 94.2668

Mencapai fitness mkasimum pada generasi ke-85

Dengan cara konvensional

= 3.60555+8.06226+5.38516+10.77033+7.21110+5.38516+6.40312+1.41421+6.70820+6 +8.94427+5.38516+5.09902+8.06226+5.83095

= 94.2668

(63)

d. Saat Probabilitas Perkawinan Silang ρc= 0.9

0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233

Gambar 4.9

Jalur Terbaik Pada ρc= 0.9 dalam Koordinat Kartesius Jalur Terbaik

(64)

Gambar 4.10

Grafik Fitness Rata-rata Pada ρc= 0.9

Diperoleh  Panjang Jalur terbaik = 89.0184

Mencapai fitness mkasimum pada generasi ke-42

Dengan cara konvensional

= 3.60555+8.06226+5.09902+6+5.38516+1.41421+6.70820+5.38516+7.21110+10.77033+5 +5.38516+5.09902+8.06226+5.83095

= 89.0184

Gambar

Tabel 4.2
Gambar 2.1 Tree Encoding
Gambar 2.2
Gambar Peta Jawa Barat adalah sebagai berikut:
+7

Referensi

Dokumen terkait

Penelitian ini bertujuan untuk mengetahui produk akhir modul elektronik berbasis 3DPageFlip Professional pada materi radioaktivitas dan reaksi nuklir mata kuliah Fisika

Pengaruh Faktor Pengetahuan Berdasarkan hasil analisis, faktor pengetahuan ibu terhadap pemakaian alat kontrasepsi oleh ibu pasangan usia subur (PUS) di Desa Sabungan

Pendekatan sistem yang lebih menekankan pada elemen-elemen atau kelompoknya, yang didalam hal ini system ini didefenisikan sebagai suatu jaringan kerja dari

Sedangkan, implementasi KM di MedcoEnergi, dapat dilihat dari (1) Leadership, faktor kepemimpinan yang mendukung secara penuh aktivitas KM; (2) Knowledge sharing,

Banyak pria ganteng dan kaya yang masih sering ditolak dan disakiti, ini kenyataan, karna banyak dari peserta Seminar PIS atau Workshop PIS yang beranggotakan

mendapatkan informasi mengenai panjang dan lebar porus stomata, jumlah stomata terbuka dan tertutup, serta kerapatan stomata berdasarkan estimasi waktu di daerah

Kelompok referensi dapat mempengaruhi keputusan pembelian karena saat ini konsumen membeli smartphone iPhone bukan hanya karena keinginan tetapi juga merupakan suatu kebutuhan

Dengan kata lain, generasi muda itu sumber asli yang paling berharga bagi Malaysia kerana mereka mempunyai tanggapan baru yang berbeza dengan yang dipunyai ibu bapa