Pencarian Rute Terpendek dengan Adanya Forbidden Path Menggunakan Algoritma Genetika

(1)

PENCARIAN RUTE TERPENDEK DENGAN ADANYA FORBIDDEN

PATH MENGGUNAKAN GENETIK ALGORITMA

TESIS

ANANDA FARIDHATUL ULVA

127038008

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

PENCARIAN RUTE TERPENDEK DENGAN ADANYA

FORBIDDEN PATH MENGGUNAKAN GENETIK ALGORITMA

TESIS

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika

ANANDA FARIDHATUL ULVA 127038008

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(3)

PERSETUJUAN

Judul : PENCARIAN RUTE TERPENDEK DENGAN

ADANYA FORBIDDEN PATH MENGGUNAKA GENETIK ALGORITMA

Kategori : TESIS

Nama : ANANDA FARIDHATUL ULVA

Nomor Induk Mahasiswa : 127038008

Program Studi : Magister (S2) Teknik Informatika

Fakultas :ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dr. Erna Budhiarti Nababan, M.TI Prof. Dr. Herman Mawengkang NIP. 19461128 197403 1 001

Diketahui Oleh,

Program Studi Magister (S2) Teknik Informatika, Ketua,

Prof. Dr. Muhammad Zarlis NIP. 19570701 198601 1 003


(4)

PERNYATAAN

PENCARIAN RUTE TERPENDEK DENGAN ADANYA

FORBIDDEN

PATH

MENGGUNAKAN GENETIK ALGORITMA

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan masing-masing telah disebutkan sumbernya.

Medan, 21 Agustus 2014

Ananda Faridhatul Ulva 127038008


(5)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, sayan yang bertanda tangan di bawah ini :

Nama : ANANDA FARIDHATUL ULVA

NIM : 127038008

Program Studi : Magister (S2) Teknik Informatika Jenis Karya Ilmiah : Tesis

Demi pengembangan ilmu pengetahuan, menyetujui unutuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Ekslusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul

PENCARIAN RUTE TERPENDEK DENGAN ADANYA FORBIDDEN PATH

MENGGUNAKAN GENETIK ALGORITMA

Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Ekslusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tersis saya tanpa meminta izin dari saya selama tetap tercantum nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.

Demikian pernyataan ini dibuat dengan sebenarnya

Medan, 21 Agustus 2014

127038008


(6)

Telah diuji pada

Tanggal : 21 Agustus 2014

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Herman Mawengkang

Anggota : 1. Dr. Erna Budhiarti Nababan, M.TI 2. Prof. Dr. Muhammad Zarlis 3. Prof. Dr. Tulus


(7)

RIWAYAT HIDUP

DATA PRIBADI

Nama Lengkap : ANANDA FARIDHATUL ULVA

Tempat dan Tanggal Lahhir : Jakarta, 19 Juni 1988

Alamat Rumah : Jalan Sei Padang GG Langgar Medan Telepon/Faks/Hp : 082165387817

E-mail

Instansi Tempat Bekerja : Universitas Pembangunan Panca Budi Medan Alamat Kantor : Jalan Gatot Subroto Km 4,5 Seikambing

Medan Sumatera Utara

DATA PENDIDIKAN

SD : SDS Muhammadiyah 28 Jakarta TAMAT : 2000

SLTP : SLTP Negeri 31 Jakarta TAMAT : 2003

SMA : SMA Negeri 32 Jakarta TAMAT : 2006

S1 : Universitas Pembangunan Panca Budi Medan TAMAT : 2010


(8)

UCAPAN TERIMA KASIH

Kupersembahkan tesis ini untuk

Kedua orang tua ku, ayahanda Azhari Miharja, dan Ibunda Rukyati Zulfa Piliang, Am.Keb yang dengan penuh kasih sayang dan memberikan dukungan materi dan

motivasi, serta ketulusan mendoakan penulis

Suami tercinta Abdisyah, SE., yang telah memberikan dorongan, semangat, do’a dan kekuatan lahir batin serta pengorbanan hingga penulis dapat menyelesaikan tesis dan

studi kuliah

Anakku tersayang Muhammad Awliya Akbar yang telah membuat ibunda selalu semangat dalam menyelesaikan tesis dari engkau masih dalam kandungan hingga lahir

ke dunia

Ibuku Delmenita Piliang, nenek Hj. Marlis dan kakek H. Muchtaruddin yang juga selalu memberikan do’a, dukungan, materi yang sangat berharga dan motivasi kepada

penulis

Ibu mertua Nurjanah Sarong A.Ma., dan Bapak Mertua Abdul Gani yang juga selalu memberikan do’a, dukungan, materi yang sangat berharga dan motivasi kepada

penulis

Kepada adik-adik ku, Dio Imam Wibisana, Igo Mirza Maulana, Adinda Rizki Rira Hardiani, dan Marzuki, ST yang juga selalu memberikan dukungan, do’a dan juga


(9)

ABSTRAK

Masalah lintasan terpendek berkaitan dengan pencarian lintasan pada graf berbobot yang menghubungkan dua buah simpul sedemikian hingga jumlah bobot sisi-sisi yang terpilih merupakan bobot minimu. Dalam pencarian rute terpendek pada suatu masalah, terdapat banyak algoritma yang dapat digunakan. Pemilihan algoritma yang paling optimum seringkali menjadi mempunyai kelebihan dan kekurangan masing-masing. Dilihat dari berbagai permasalahan yang ada didalam pencarian rute terpendek, dalam hal ini tesis ini akan membicarakan bagaimana penyelesaian secara optimum dalam pencarian rute terpendek dengan adanya lintasan terlarang dengan menggunakan sebuah penyelesaian menggunakan algoritma genetika. Sehingga diharapkan penggunaan algoritma genetika pada masalah jalur terpendek dengan adanya lintasan terlarang menghasilkan suatu perhitungan yang akurat. Dalam hasil penelitian ini dapat ditarik kesimpulan dapat dilihat kenaikan signifikan rata-rata nilai

fitness untuk 20 kali percobaan mulai dari jumlah populasi 20 sampai dengan jumlah populasi 80 namun untuk jumlah populasi 80 sampai 120 sudah tidak terjadi perubahan yang cukup jauh. Hal ini menunjukkan bahwa pada jumlah populasi 80 merupakan jumlah populasi yang optimal untuk masalah ini. Semakin tinggi jumlah populasi maka berpengaruh pada rata-rata nilai fitness yang didapatkan namun pada jumlah populasi 80 adalah titik optimum dimana tidak terjadi lagi kenaikan yang signifikan rata-rata fitness untuk jumlah populasi diatas 80.


(10)

THE SEARCH SHORTEST PATH IS FORBIDDEN PATH USING GENETIC ALGORITHM

ABSTRACT

Shortest path problem related to the search path in a weighted graph that connects two vertices such that the number of sides of the weight is the weight of the selected minimum. In the search for the shortest route on a problem, there are many algorithms that can be used. The selection of the most optimal algorithm often has advantages and disadvantages of each. Judging from the various problems that exist within the shortest route search, in this case of this thesis will discuss how the optimum completion in the shortest route search with the forbidden path by using a solution using a genetic algorithm. So expect the use of genetic algorithms in the shortest path problem with forbidden trajectory produces an accurate calculation. In the results of this study can be deduced can be seen a significant increase in the average fitness value for 20 experiments ranging from 20 to the total population with a population of 80, but for a population of 80 to 120 have been no changes in far enough. This indicates that the population size of a population of 80 is optimal for this problem. The higher number of population, the average effect on fitness value is obtained, but the number 80 is the point of optimum population which does not happen again a significant increase in the average fitness for the population of above 80.


(11)

KATA PENGANTAR

Alhamdulillah, segala puji dan syukur saya panjatkan kehadirat Allah SWT., atas segala karunia dan ridha-Nya, sehingga tesis dengan judul “Pencarian Rute Terpendek dengan Adanya Forbidden Path Menggunakan Algoritma Genetika” ini dapat saya selesaikan.

Tesis ini disusun untuk memenuhi salah satu persyaratan memperoleh gelar Magister Komputer (M. Kom) pada program studi Magister Teknik Informatika Universitas Sumatera Utara.

Oleh karena itu, pada kesempatan ini penulis menyampaikan rasa hormat dan ucapan terimakasih yang sebesar-besarnya, kepada :

1. Rektor Universitas Sumatera Utara, Bapak Prof. Dr. dr. Syahril Pasaribu DTM&H, M.Sc (CTM), Sp. A(K) atas kesempatan yang telah diberikan kepada penulis untuk dapat mengikuti dan menyelesaikan pendidikan Program Magister. 2. Dekan Fakultas Ilmu Komputer Universitas Sumatera Utara, Bapak Prof. Dr.

Muhammad Zarlis atas kesempatan yang telah diberikan kepada penulis untuk menjadi mahasiswa Program Magister pada Program Pascasarjana FASILKOM Universitas Sumatera Utara.

3. Ketua Program Studi Magister Teknik Informatika, Bapak Prof. Dr. Muhammad Zarlis. Sekretaris Program Studi Teknik Informatika, Bapak M. Andri Budiman, ST, M.Comp. Sc, MEM. Beserta seluruh Staf Pengajar Program Studi Magister Teknik Informatika Program Pascasarjana Fakultas Ilmu Komputer Universitas Sumatera Utara.

4. Bapak Prof. Dr. Herman Mawengkang selaku pembimbing utama yang telah dengan penuh kesabarannya membimbing penulis, memberikan saran, serta arahan-arahan hingga selesainya tesis ini.

5. Ibu Dr. Erna Budhiarti Nababan, M.IT selaku pembimbing kedua dalam penyusunan tesis ini yang telah banyak memberikan saran dan arahan dalam proses bimbingan kepada penulis hingga tesis ini selesai.

6. Bapak Prof. Dr. Muhammad Zarlis, Bapak Prof. Tulus, Vor. Dipl. Math, M.Si, Bapak Dr. Mahyudin, M.IT selaku pembanding yang telah memberikan saran dan arahan, hingga selesainya tesis ini.


(12)

7. Kepada kedua orang tuaku tercinta, ayahanda Azhari Miharja, dan Ibunda Rukyati Zulfa Piliang, Am.Keb yang dengan penuh kasih sayang dan memberikan dukungan materi serta ketulusan mendoakan penulis hingga dapat menyelesaikan pendidikan di program Pascasarjan Magister Teknik Informatika Universitas Sumatera Utara.

8. Kepada suami tercinta Abdisyah, SE., yang telah memberikan dorongan, semangat, do’a dan kekuatan lahir batin serta pengorbanan hingga penulis dapat menyelesaikan tesis ini dengan tulus.

9. Kepada anakku tersayang Muhammad Awliya Akbar yang telah membuat ibunda selalu semangat dalam menyelesaikan tesis dari engkau masih dalam kandungan hingga lahir ke dunia.

10.Kepada ibuku Delmenita Piliang, nenek Hj. Marlis dan kakek H. Muchtaruddin yang juga selalu memberikan do’a, dukungan, materi yang sangat berharga dan motivasi kepada penulis

11.Kepada Ibu mertua Nurjanah A., Ma., dan Bapak Mertua Abdul Gani yang juga selalu memberikan do’a, dukungan, materi yang sangat berharga dan motivasi kepada penulis.

12.Kepada adik-adik ku, Dio Imam Wibisana, Igo Mirza Maulana, Adinda Rizki Rira Hardiani, dan Marzuki, ST yang juga selalu memberikan dukungan, do’a dan juga motivasi kepada penulis dalam penulisan tesisi ini.

13.Semua sahabat-sahabatku Aninda Muliani Harahap S.Kom., M.Kom, Dewi Wahyuni, S.Kom.,M.Kom, Sri Yusra Azida, S.Kom, Winda Erika, S.Kom dan rekan-rekan Mahasiswa/I yang tidak mungkin dapat penulis sebutkan namanya satu – persatu yang telah banyak membantu selama penyusunan tesis ini.

Dengan keterbatasan pengalaman, pengetahuan maupun pustaka yang ditinjau, penulis menyadari bahwa tesis ini masih banyak kekurangan dan perlu pengembangan lebih lanjut agar benar-benar bermanfaat. Oleh sebab itu, penulis sangat mengharapkan kritik dan saran agar tesis ini lebih sempurna serta sebagai masukan bagi penulis untuk penelitian dan penulisan karya ilmiah di masa yang akan datang.


(13)

Akhir kata penulis berharap tesis ini memberikan mafaat bagi kita semua terutama untuk pengembangan ilmu pengetahuan.

Medan, 21 Agustus 2014 Penulis

Ananda Faridhatul Ulva NIM. 127038008


(14)

DAFTAR ISI

Halaman

HALAMAN JUDUL i

PENGESAHAN ii

PERNYATAAN ORISINALITAS iii

PESETUJUAN PUBLIKASI iv

PANITIA PENGUJI v

RIWAYAT HIDUP vi

UCAPAN TERIMA KASIH vii

ABSTRAK viii

ABSTRACT ix

KATA PENGANTAR x

DAFTAR ISI xiii

DAFTAR TABEL xv

DAFTAR GAMBAR xvi

BAB I PENDAHULUAN

1.1.Latar Belakang Masalah 1

1.2.Rumusan Masalah 3

1.3. Batasan Masalah 3

1.4. Tujuan Penelitian 3

1.5. Manfaat Penelitian 3

BAB II TINJAUAN PUSTAKA

2.1. Pendahuluan 4

2.2.Rute Terpendek 4

2.3.Rute Terpendek dengan Adanya Lintasan Terlarang 6

2.4. Algoritma Genetika 8

2.4.1. Encoding Kromosom 11

2.4.2. Genotype 11

2.4.3. Ukuran Populasi 12

2.4.4. Metode Seleksi 12

2.4.5. Crossover 14

2.4.6. Mutasi 15

BAB III. METODOLOGI PENELITIAN

3.1. Pendahuluan 17

3.2.Data yang Digunakan 17

3.3.Analisa Data Forbidden Path 17

3.4. Konsep Pencarian Rute terpendek dengan adanya lintasan terlarang 19 3.5. Pembentukkan Pohon Keputusan untuk penyelesaian rute terpendek

Dengan adanya lintasan terlarang 20

3.6.Genetik Algoritma untuk penyelesaian rute terpendek dengan adanya

Lintasan terlarang 23

3.6.1. Pembentukkan Kromosom 23

3.6.2. Inisialisasi Populasi 23


(15)

3.6.4. Spesifikasi Seleksi 27 3.6.5. Spesifikasi Metode persilangan (crossover) 31

3.6.6. Metode Mutasi 33

3.6.7. Kriteria Berhenti 36

3.7.Flowchart pencarian rute terpendek dengan adanya lintasan terlarang 37 3.7.1. flowchart pencarian rute terpendek dengan adanya

lintasan terlarang 37

3.7.2. Flwochart perhitungan nilai fitness 38

3.7.3. Flowchart Seleksi 39

BAB IV HASIL DAN PEMBAHASAN

4.1. Pendahuluan 40

4.2. Data Uji coba 40

4.3.Pembahasan 41

4.3.1. Percobaan dengan mengubah nilai parameter crossover (pc) 44 4.3.2. Percobaan dengan mengubah nilai parameter probabilitas mutasi 45 4.4. Hasil dan Analisa Uji coba perbandingan metode seleksi elitis dengan

Roulette wheel 46

4.5. Hasil dan Analisa Uji coba percobaan kombinasi probilitas crossover

Dan mutasi 49

4.6. Hasil dan Analisa Uji coba banyak populasi 50

BAB V PENUTUP

5.1. Kesimpulan 52

5.2. Saran 53

DAFTAR PUSTAKA 54


(16)

DAFTAR TABEL

Halaman

Tabel 3.1. Data Penelitian Rute Terpendek 17

Tabel 3.2 Jalur berkorespondensi dengan masing-masing kromosom 23 Tabel 3.3. Inisialisasi populasi awal yang terbentuk 24

Tabel 3.4 Evaluasi Kromosom 24

Tabel 3.5. Seleksi kromosom 26

Tabel 3.6. Nilai Probabilitas Fitness 28

Tabel 3.7. Pencarian Seleksi Kromosom Induk 30

Tabel 3.8. Hasil Seleksi 31

Tabel 3.9. Populasi offspring hasil crossover 33

Tabel 3.10. Gabungan populasi yang telah diurutkan berdasarkan nilai fitness 35 Tabel 3.11. Pembentukkan populasi untuk generasi berikutnya 35

Tabel 4.1. Masalah Pengujian dari OR-Library 41

Tabel 4.2. Hasil Percobaan untuk masalah pengujian dengan mengubah nilai

Parameter 41

Tabel 4.3. Waktu komputasi rata-rata masalah pengujian 42 Tabel 4.4. Hasil percobaan untuk masalah pengujian dengan mengubah nilai

Paramater crossover 44

Tabel 4.5. Hasil percobaan dengan mengubah nilai parameter probabilitas

Mutasi 45

Tabel 4.6. Nilai rata-rata fitness uji coba 47

Tabel 4.7. Hasil percobaan nilai fitness metode roulette wheel dan elitis 47

Tabel 4.8. Hasil percobaan banyak generasi 48

Tabel 4.9. Hasil kombinasi probabilitas crossover dan mutasi 49


(17)

DAFTAR GAMBAR

Halaman

Gambar 2.1.Graf Berbobot ABCDEFG 5

Gambar 2.2. Posisi Kota-kota yang akan dilewati 7

Gambar 2.3 Struktur Utama algoritma genetika 10

Gambar 2.4 Pemetaan PMX 15

Gambar 3.1. Flwochart Pencarian Rute Terpendek 18

Gambar 3.2. Penyelesain Rute Terpendek 19

Gambar 3.3. Jalur Terpendek dengan tepi yang berat 20

Gambar 3.4. jalur terpendek yang mengandung lintasan terlarang 21 Gambar 3.5. Jalur terpendek dengan melakukan replikasi 21

Gambar 3.6. Solusi masalah jalur terpendek 22

Gambar 3.7. Roulette Wheel kromosom yang terbentuk 30 Gambar 3.8. Flowchart jalur terpendek dengan adanya lintasan terlarang 37

Gambar 3.9. Flwochart perhitungan nilai fitness 38

Gambar 3.10. Flowchart perhitnungan seleksi 39

Gambar 4.1. Grafik hasil percobaan untuk masalah pengujian dengan mengubah

Nilai parameter 42

Gambar 4.2. Grafik waktu rata-rata hasil pengujian komputasi 43 Gambar 4.3 Grafik Hasil percobaan untuk masalah pengujian dengan mengubah

Nilai parameter crossover 44

Gambar 4.4. Grafik Hasil percobaan dengan mengubah nilai parameter probablitias

Mutasi 46

Gambar 4.5. Garfik nilai fitness metode roulette wheel dan elitis 47

Gambar 4.6. Grafik percobaan banyak generasi 48

Gambar 4.7. Grafik kombinasi probabilitas crossover dan mutasi 50


(18)

ABSTRAK

Masalah lintasan terpendek berkaitan dengan pencarian lintasan pada graf berbobot yang menghubungkan dua buah simpul sedemikian hingga jumlah bobot sisi-sisi yang terpilih merupakan bobot minimu. Dalam pencarian rute terpendek pada suatu masalah, terdapat banyak algoritma yang dapat digunakan. Pemilihan algoritma yang paling optimum seringkali menjadi mempunyai kelebihan dan kekurangan masing-masing. Dilihat dari berbagai permasalahan yang ada didalam pencarian rute terpendek, dalam hal ini tesis ini akan membicarakan bagaimana penyelesaian secara optimum dalam pencarian rute terpendek dengan adanya lintasan terlarang dengan menggunakan sebuah penyelesaian menggunakan algoritma genetika. Sehingga diharapkan penggunaan algoritma genetika pada masalah jalur terpendek dengan adanya lintasan terlarang menghasilkan suatu perhitungan yang akurat. Dalam hasil penelitian ini dapat ditarik kesimpulan dapat dilihat kenaikan signifikan rata-rata nilai

fitness untuk 20 kali percobaan mulai dari jumlah populasi 20 sampai dengan jumlah populasi 80 namun untuk jumlah populasi 80 sampai 120 sudah tidak terjadi perubahan yang cukup jauh. Hal ini menunjukkan bahwa pada jumlah populasi 80 merupakan jumlah populasi yang optimal untuk masalah ini. Semakin tinggi jumlah populasi maka berpengaruh pada rata-rata nilai fitness yang didapatkan namun pada jumlah populasi 80 adalah titik optimum dimana tidak terjadi lagi kenaikan yang signifikan rata-rata fitness untuk jumlah populasi diatas 80.


(19)

THE SEARCH SHORTEST PATH IS FORBIDDEN PATH USING GENETIC ALGORITHM

ABSTRACT

Shortest path problem related to the search path in a weighted graph that connects two vertices such that the number of sides of the weight is the weight of the selected minimum. In the search for the shortest route on a problem, there are many algorithms that can be used. The selection of the most optimal algorithm often has advantages and disadvantages of each. Judging from the various problems that exist within the shortest route search, in this case of this thesis will discuss how the optimum completion in the shortest route search with the forbidden path by using a solution using a genetic algorithm. So expect the use of genetic algorithms in the shortest path problem with forbidden trajectory produces an accurate calculation. In the results of this study can be deduced can be seen a significant increase in the average fitness value for 20 experiments ranging from 20 to the total population with a population of 80, but for a population of 80 to 120 have been no changes in far enough. This indicates that the population size of a population of 80 is optimal for this problem. The higher number of population, the average effect on fitness value is obtained, but the number 80 is the point of optimum population which does not happen again a significant increase in the average fitness for the population of above 80.


(20)

BAB 1 PENDAHULUAN

1.1. Latar Belakang Masalah

Masalah lintasan terpendek berkaitan dengan pencarian lintasan pada graf berbobot yang menghubungkan dua buah simpul sedemikian hingga jumlah bobot sisi-sisi yang terpilih merupakan bobot minimu. Dalam pencarian rute terpendek pada suatu masalah, terdapat banyak algoritma yang dapat digunakan. Pemilihan algoritma yang paling optimum seringkali menjadi mempunyai kelebihan dan kekurangan masing-masing.

Terdapat banyak algoritma untuk melakukan pencarian rute terpendek. Pemilihan algoritma yang paling optimum selalu menjadi permasalahan dalam pencarian rute terpendek, dimana masing-masing algoritma memiliki kelebihan dan kekurangan masing-masing

Dalam lingkup pencarian rute terpendek ini dapat dikatakan secara langsung algoritma mana yang paling optimum untuk keseluruhan kasus, karena belum tentu suatu algoritma yang memiliki optimasi yang tinggi untuk suatu kasus memiliki sebuah optimasi yang tinggi pula untuk kasus yang lain. Optimasi yang mencakup efesiensi waktu proses kerja algoritma, waktu tempuh yang diperlukan untuk mencapai tujuan akhir, dan jarak tempuh yang paling pendek ini selalu tergantung dari setiap kondisi permasalahan yang ada, dan kondisi yang paling mempengaruhi adalah banyak titik.

Masalah rute terpendek dengan adanya forbbiden path (dalam sekuel disebut sebagai SPFP (shortest path problem with forbidden path)) telah diperkenalkan baru-baru ini oleh Villenue and Desaulnier (2005). Hal ini dapat dipandang sebagai variasi permasalahan dari rute terpendek, dimana kendala yang diwakili oleh satu set jalan, yang tidak dapat dilewati.


(21)

Dalam tesis ini masalah yang akan dibahas adalah sebuah pencarian rute terpendek dengan adanya forbbiden path dari sumber ke tujuan. Forbidden path ini adalah sebuah kendala dalam proses pencarian optimasi pencarian rute terpendek, yang dimana tidak dapat menjadi bagian dari sebuah solusi dari pengoptimalan pencarian rute terpendek.

Ahmed dan Lubiw (2009) memberikan ide untuk menangani lintasan terlarang oleh verteks replikasi dan menghapus edge sehingga salinan dari lintasan terlarang adalha edge terakhir dan pertama yang dihapus. Hasilnya adalah pengecualian lintasan terlarang yang memungkinkan dari semua lintasan bagiannya. Tantangan utamanya adalah verteks replikasi dapat dihasilkan dalam eksponensial jumlah salinan dari setiap lintasan terlarang yang saling tumpang tindih. Pasangan verteks replikasi dibangun dari pohon lintasan terpendek dengan petahankan susuanan dalam pohon memberikan bahwa salinan tambahan lintasan terlarang yang dihasilkan oleh verteks replikasi tidaklah penting. Villeneuveu dan Desaulniers (2005) mengatasi tantangan tersebut dengan mengidentifikasikan dan meringkas lintasan terlarang yang saling tumpang tindih, dan melakukan pendekatan yang tidak memungkinkan karena tidak memiliki akses terhadap X.

Nenna Irsa Syahputri (2012) meneliti masalah lintasan terpendek dapat diselesaikan dengan beberapa algoritma seperti algoritma warshall, algoritma djikstar, algoritma greedy, algoritma bellman. Lintasan terpendek juga dapat diselesaikan dengan adanya kendala sampingan yaitu dengan adanya lintasan terlarang. Dimana diberikan sebuah graf berbobot G, verteks-verteks s dan t, dan sebuah himpunan X (exception) sebagai lintasan terlarang di G, pencarian lintasan terpendek P dari s-t sehingga tidak ada lintasan bagian dari P yang mengandung X. Lintasan P diijinkan mengulang tiap verteksnya dan edgesnya.

Mathew dan Kevin (2008) dalam hal ini mengembangkan prosedur untuk menghitung lintasan terpendek yang mengarah ke algoritma untuk masalah kendala lintasan terpedendek. Permasalahan lintasan terpendek dalam jaringan dengan edge positif dimana diperbolehkan beberapa edege berbobot negatif tetapi panjang cycle

tidak boleh negatif dapat diselesaikan dengan mudah dalam waktu polinominal. Ada juga permasalahan dengan graf tidak berarah tanpa loop atau beberapa edge dan menggunakan kondisi dalam subgraf terlarang sebagai hasilnya (Fujisawa, et.al. 2008).


(22)

Dilihat dari berbagai permasalahan yang ada didalam pencarian rute terpendek, dalam hal ini tesis ini akan membicarakan bagaimana penyelesaian secara optimum dalam pencarian rute terpendek dengan adanya lintasan terlarang dengan menggunakan sebuah penyelesaian menggunakan algoritma genetika. Sehingga diharapkan penggunaan algoritma genetika pada masalah jalur terpendek dengan adanya lintasan terlarang menghasilkan suatu perhitungan yang akurat.

1.2. Rumusan Masalah

Berdasarkan latar belakang diatas dapat dirumuskan permasalahan yang akan diselesaikan yaitu bagaimana penyelesaian secara optimum dalam pencarian rute terpendek dengan adanya lintasan terlarang dengan menggunakan sebuah penyelesaian menggunakan algoritma genetika.

1.3. Batasan Masalah

Dalam penelitian ini yang akan dibahas adalah sebuah pencarian rute terpendek dengan adanya forbbiden path dari sumber ke tujuan. Forbidden path ini adalah sebuah kendala dalam proses pencarian optimasi pencarian rute terpendek, yang dimana tidak dapat menjadi bagian dari sebuah solusi dari pengoptimalan pencarian rute terpendek.

1.4. Tujuan Penelitian

Adapun yang menjadi tujuan dari penelitian in adalah menyelesaikan sebuah penyelesaian permasalahan tentang pengoptimalan untuk rute terpendek yang memiliki adanya kendala yaitu sebuah lintasan terlarang dengan menggunakan genetik algoritma.

1.5. Manfaat Penelitian

Adapun manfaat penelitian dari tesis ini adalah :

1. Memperkaya literature tentang pencarian rute terpendek dengan adanya sebuah lintasan terlarang (forbbiden path)

2. Serta dapat menjadi acuan terhadap peneliti selanjutnya untuk mengembangkan atau meneliti lebih kompleks lagi.


(23)

BAB 2

TINJAUAN PUSTAKA

2.1.Pendahuluan

Bab ini menjelaskan secara singkat tentang review untuk mengidentifikasikasi dalam penyelesaian pencarian rute terpendek dengan adanya lintasan terlarang (Forbidden Path) menggunakan genetika algoritma. Khusus penggunaan metode algoritma genetika akan dipaparkan secara teoritis mengenai tahap-tahap yang dilakukan dalam penggunaan metode algoritma mulai dari representasi kromosom, fungsi fitness, seleksi, crossover, dan mutasi.

2.2.Rute Terpendek

Lintasan terpendek adalah lintasan minimum yang diperlukan untuk mencapai suatu tempat dai tempat tertentu. Lintasan minimum yang dimaksud dapat dicari dengan menggunakan graf. Graf yang digunakan adalah graf yang tidak berbobot, yaitu graf yang tidak memiliki suatu nilai bobot.

Ada beberapa macam persoalan lintasan terpendek, antara lain : 1. Lintasan terpendek antara dua buah simpul tertentu (a pair shortest path). 2. Lintasan terpendek antara semua pasangan simpul (all pair shortest path).

3. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain (single-source shortest path).

4. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu (intermediate shortest path).

Jalur terpendek adalah suatu jaringan pengarahan perjalanan dimana seorang pengarah perjalanan dimana seorang pengarah jalan ingin menentukan jalur terpendek antara kota, berdasarkan beberapa jalur alternatif yang tersedia, dimana titik tujuan hanya satu (Saptono, Fajar dan Hidayat Taufik, 2007).


(24)

Gambar 2.1. Graf Berbobot ABCDEFG

Pada gambar 2.1, misalkan kita dari kota A ingin menuju kota G. Untuk menuju kota G dapat dipilih beberapa jalur yang tersedia, yaitu :

A  B  C  D  E  G A  B  C  D  F  G A  B  C  D  G A  B  C  F  G A  B  D  E  G A  B  D  F  G A  B  D  G A  B  E  G A  C  D  E  G A  C  D  F  G A  C  D  G A  C  F  G

Berdasarkan data diatas, dapat dihitung jalur terpendek dengan mencari jarak antara jalur-jalur tersebut. Apabila jarak antara jalur belum diketahui, jarak dapat dihitung berdasarkan koordinat kota-kota tersebut. Setelah didapatkan hasil jarak antar kota, jalur terpendek dapat dihitung menggunakan metode yang ada.

Secara umum penyelesaian masalah rute terpendek dapat dilakukan dengan dua buah metode, yaitu metode algoritma konvensional, dan metode heuristik. Metode algoritma konvensional diterpakan dengan cara perhitungan kecerdasan buatan, dengan menentukan basis pengetahuan da perhitungannya.


(25)

1. Metode konvensional

Metode konvensional berupa algoritma yang menggunakan perhitungan matematika biasa. Ada beberapa metode konvensional yang biasa digunakan untuk melakukan pencarian jalur terpendek, diantaranya algoritma Djikstar, algoritma Flyood-Warshal, dan algoritma Bellman-Ford.

2. Metode Heuristik

Metode heurisitik adalah sub bidang dari kecerdsan buatan yang digunakan untuk melakukan pencarian dan penentuan jalur terpendek. Ada beberapa algoritma pada metode heuristik yang biasa digunakan dalam pencarian jalur terpendek. Namun dalam penelitian dibatasi hanya membahas tiga macam algoritma, yaitu algoritma genetika, algoritma jaringan syaraf tiruan hopfield, dan algoritma ant colony.

2.3. Rute Terpendek dengan Adanya lintasan Terlarang

Ahmed dan Lubiw (2009) mengatakan bahwa pencarian lintasan terpendek dapat dilakukan dengan mengindentifikasi sebuah lintasan terlarang x dimana lintasan bagian dari P tidak mengandung x sebagai bagian dari lintasannya. Permasalahan dapat diselesaikan jika hanya x saja yang menjadi lintasan terlarang dalam G. Jika terdapat lebih dari satu lintasan terlarangnya maka mereka menggunakan algoritma untuk lintasan terpendek s − t. Setelah itu mereka memodifikasi graf, membangun tree, mengoreksi dan menganalisa kebenarannya. Mereka memperkenalkan versi baru dari masalah lintasan terpendek dimana selain menghindari jugamenemukan lintasan terlarang dengan memberikan implementasi algoritma dalam waktu polinomial dan penambahan dari Dijkstra. Kelemahan algoritma untuk lintasan terpendek s − t adalah tidak semua lintasan terlarang dapat ditemukan diX, dengan fakta lamanya waktu dari algoritma ditentukan oleh gangguan lintasanterpendek yang didapat dari s − t.

Dalam algoritma dimulai dengan pohon jalur terpendek berakar pada s, mengabaikan pengecualian. Kemudian "mencoba" jalan dari s ke t di pohon. Jika jalan bebas pengecualian, maka dapat dilakukan. Jika tidak, untuk mengambil pengecualian baru ditemukan ke jalur lain, dengan cara memodifikasi grafik menggunakan replikasi path, dan memodifikasi pohon jalur terpendek untuk mencocokkan. Secara umum,dimana graf dipertahankan grafik dimodifikasi dan pohon jalur terpendek dalam grafik yang memberikan jalur terpendek dalam grafik asli dari s ke setiap simpul lainnya menghindari semua pengecualian saat ini dikenal.


(26)

Pertama, kita akan menggambarkan gagasan dengan sebuah contoh. pertimbangkan graf G pada Gambar. 2.2. (a), di mana bilangan bulat menunjukkan bobot tepi, dan tanda panah putus-putus

Gambar 2.2. Posisi Kota yang dilalui Sumber ( Ahmed and Lubiw, 2009)

Carlyle dan Wood (2008) mengatakan bahwa prosedur yang paling efisien tersedia adalah masalah lintasan terpendek dengan satu atau lebih kendala sampingan dalam total bobot untuk lintasan yang optimal. Akan dilakukan pemeriksaan prosedur alternatif pada kendala samping, mengoptimalkan hasil fungsi Larang kemudian menutup kesenjangan dualitas melalui perhitungan dari lintasan terpendek. Pengembangan prosedur untuk perhitungan dari lintasan terpendek mengarah pada algoritma untuk masalah kendala samping lintasan terpendek. Masalah lintasan terpendek dalam jaringan dengan panjang edge tidak negatif atau panjang edge boleh negatif tetapi cyclenya tidak boleh negatif dapat diselesaikan dengan mudah. Bagaimanapun, jika masing-masing edge memiliki bobot disamping panjangnya, dan jika kendala samping tunggal ditempatkan pada lintasan total bobot yang optimal maka masalah ini menjadi program nonlinierlengkap (Garey dan Johnson, 1979).

Fujisawa, et al (2008) memutuskan bahwa batasan graf tak berarah tanpa loop atau beberapa edge. Lintasan atau cycle yang termasuk semua verteks dari graf dinamakan lintasan atau cycle hamilton. Ada banyak hasil dalam keberadaan dari lintasan atau cycle dalam graf. Meskipun subgraf terlarang adalah bagian utama dalam


(27)

mencari lintasan atau cycle hamilton, terdapat bebebrapa hasil yang meggunakan kondisi dalam subgraf terlarang untuk mencari cycle yang melalui verteks tertentu. Mereka menggunakan kondisi dalam subgraf terlarang sebagai hasilnya.

Istilah-istilah baku graf dalam tulisan ini diambil dari Gross dan Yellen (2006). Siang (2009) dalam buku matematika diskrit dan aplikasinya pada ilmu komputer menerangkan bahwa notasi-O (dibaca notasi big-oh/O-besar). dinyatakan sebagai laju pertumbuhan. Notasi-O memberikan cara untuk menyatakan laju pertumbuhan algoritma secara global/aproksimasi dan tidak memperhatikan perbedaan faktor konstanta serta perbedaa-perbedaan lain yang tidak begitu berpengaruh. Pach dan Tardos (2006) membantah dugaan umum yang terkait dengan permasalahan dan menggantikannya dengan beberapa alternatif lemah. Mereka membuktikan dugaan mereka dalam kasus spesial ketika P adalah matriks adjacent dari graf siklik dan mendiskusikan jawaban yang sama ketika pola terlarangnya adalah matriks adjacent dari cycle. Hasilnya mengarah pada bukti baru dari fakta bahwa jumlah waktu dan jarak unit dapat terjadi diantara batasan n dalam bidang O(n4/3).

Permasalahan lintasan terpendek dengan adanya lintasan terlarang diperkenalkan oleh Villeneuve dan Desaulniers (2005). Mereka menganggap variansi dibatasi oleh masalah lintasan terpendek dengan mengambil kendala berdasarkan bentuk lintasan terlarang (barisan dari arc) yang bukan menjadi bagian dari solusinya. Masalah lintasan terpendek dengan adanya lintasan terlarang (shortestpath problem with forbidden paths (SPPFP)) dapat mengijinkan atau tidaknya terjadi cycles, seperti untuk masalah k lintasan terpendek. Selain itu mereka juga memperkenalkan masalah SPPFP, menyediakan dua algoritma dalam menyelesaikannya dan mengijinkan solusi dari lintasannya mengandung cycles. Kelemahan dari algoritma adalah tidak dapat menangani kasus dimana himpunan lintasan terlarang tidak diberikan secara jelas.

2.4. Algoritma Genetika

Algoritma genetika pertama kali diperkenalkan oleh John Holland dalam bukunya yang berjudul “Adaption in natural and artificial systems”, dan oleh De Jong dalam bukunya “Adaption of the behaviour of a class of genetics adaptive systems”, yang keduanya diterbitkan pada tahun 1975, yang merupakan dasar dari algoritma genetik (Davis, 1991).


(28)

Teori Holland menerangkan suatu metode untuk mengklasifikasikan obyek-obyek, kemudian secara selektif mengawinkan obyek-obyek tersebut satu sama lain untuk menghasilkan obyek baru untuk kemudian diklasifikasikan lagi. Hal ini didasarkan atas kreasi untuk tujuan memodelkan teori seleksi natural Darwin dari suatu bentuk makhluk hidup.

Algoritma genetik merupakan teknik pencarian yang didasarkan atas mekanisme seleksi dan genetik natural. Algoritma genetik berbeda dengan tehnik pencarian konvensional, dimana pada algoritma genetik kondisi diawali dengan setting awal solusi acak yang disebut populasi. Tiap individu dalam populasi disebut kromosom, yang merepresentasikan suatu solusi atas permasalahan. Kromosom adalah suatu string simbol, yang umumnya merupakan string bit biner. Kromosom berevolusi melalui iterasi berkelanjutan, yang disebut generasi. Pada setiap generasi, kromosom dievaluasi berdasarkan suatu fungsi evaluasi (Gen M. et.all, 1997). Untuk menghasilkan generasi berikutnya, kromosom baru yang disebut offspring, dibentuk baik melalui penyatuan dua kromosom dari generasi awal menggunakan operator perkawinan silang (crossover) atau memodifikasi kromosom menggunakan operator mutasi (mutation). Suatu generasi baru dibentuk melalui proses seleksi beberapa induk (parents) dan anak (offspring), sesuai dengan nilai fitness, dan melalui eliminasi kromosom lainnya agar ukuran populasi tetap konstan. Kromosom yang sesuai memiliki kemungkinan tertinggi untuk dipilih. Setelah beberapa generasi, algoritma menghasilkan kromosom-kromosom terbaik yang diharapkan mewakili solusi optimal atau suboptimal atas permasalahan. Bila P(t) dan C(t) masing-masing merupakan parents dan offspring pada suatu generasi t, struktur umum algoritma genetik dapat dijelaskan sebagai berikut:

Procedure : Genetic Algorithm

begin

t  0;

initialize P(t); evaluate P(t);

while (not termination condition) do

recombine P(t) to yield C(t); evaluate C(t);

select P(t+)from P(t) and C(t); t  t + 1;

end end

Struktur algoritma tersebut merupakan versi modifikasi dari Grefenstette dan Baker (1989). Umumnya, inisialisasi diasumsikan acak (random). Rekombinasi umumnya


(29)

melibatkan crossover dan mutation untuk menghasilkan offspring. Sesungguhnya hanya ada dua macam operasi dalam algoritma genetik, yaitu:

1. Operasi genetik: crossover dan mutasi. 2. Operasi evolusi: selection.

Operasi genetik mencerminkan proses hereditas gen untuk menciptakan offspring baru pada tiap generasi. Operasi evolusi mencerminkan proses evolusi Darwin untuk menghasilkan populasi dari generasi ke generasi. Crossover merupakan operator genetik utama, yang dioperasikan pada dua kromosom pada suatu waktu dan menghasilkan offspring dengan mengkombinasikan pola-pola kedua kromosom. Cara termudah untuk melakukan crossover adalah dengan pemilihan cut-point secara acak dan membentuk offspring dengan mengkombinasikan segmen sebelah kiri dari cut-point salah satu parent dengan segmen sebelah kanan dari cut-cut-point parent lainnya. Metode ini berjalan baik pada representasi bit string. Kinerja algoritma genetik tergantung atas kinerja operator crossover yang digunakan.


(30)

Probabilitas crossover (p

c) didefinisikan sebagai rasio jumlah offspring yang

dihasillkan dalam tiap generasi atas ukuran populasi (pop_size). Rasio ini mengendalikan jumlah p

c x pop_size yang diharapkan dari kromosom untuk

menjalankan operasi crossover. Tingkat crossover yang tinggi memperbolehkan eksplorasi solusi lebih luas dan mengurangi kemungkinan menghasilkan kesalahan optimasi, tetapi apabila tingkat rasio terlalu tinggi, maka akan menghasilkan pemborosan waktu komputasi atas eksplorasi kondisi-kondisi ketidakpastian terhadap solusi permasalahan.

2.4.1. Encoding Kromosom

Langkah awal untuk mengimplementasikan suatu program komputer seringkali adalah pemilihan tipe data. Hal inilah yang merupakan variasi perbedaan awal antara teori asli Holland dan beberapa teori alternatif algoritma genetik lainnya yang kemudian muncul.

Holland meng-encoding kromosom ke dalam suatu string digit biner. Sejumlah operasi encoding biner digunakan untuk menghasilkan algoritma genetik yang sederhana, efektif dan sesuai. Akan tetapi ada banyak cara untuk merepresentasikan gen suatu obyek, yang masing-masing memiliki keuntungan implisit tersendiri (Davis, 1991).

Agar dapat merepresentasikan suatu problem ke dalam bentuk gen, substansi-substansi solusi harus direpresentasikan sebagai suatu kumpulan unit informasi (Davis, 1991).

2.4.2. Genotype

Pada aturan algoritma genetik, kumpulan gen yang diencoding disebut dengan genotype, sedangkan data aktual yang diencoding disebut dengan phenotype (Gen M. et.all, 1997). Apakah phenotype diencoding untuk membentuk suatu genotype atau genotype didecoding untuk membentuk suatu phenotype, hanyalah menyangkut perbedaan penafsiran dalam literatur (Heitkoetter, 1993). Pada banyak kasus, nilai aktual tiap gen disebut dengan allele (Gen M. et.all, 1997). Menurut realitasnya, gen dari makhluk hidup disimpan berpasangan dan tiap induk hanya memunculkan satu gen untuk tiap pasangan (Sherwod, 1993). Hal ini berbeda dengan algoritma genetik,


(31)

dimana gen tidak disimpan berpasangan, tetapi baik pada algoritma genetik dan bentuk nyata biologis, hanya sebagian gen induk yang diwariskan pada anak (offspring) (Davis, 1991).

2.4.3. Ukuran Populasi

Langkah awal pada algoritma genetik adalah menginisialisasi keseluruhan populasi kromosom. Jumlah populasi ini harus ditentukan, tergantung pada teknik komputasi yang tersedia, perbedaan ukuran akan menghasilkan hasil optimal. Apabila ukuran populasi yang dipilih terlalu kecil, maka tingkat eksplorasi atas ruang pencarian global akan terbatas, walaupun arah menuju konvergensi lebih cepat. Apabila ukuran populasi terlalu besar, maka waktu akan banyak terbuang karena berkaitan dengan besarnya jumlah data yang dibutuhkan dan waktu ke arah konvergensi akan lebih lama (Goldberg, 1989).

2.4.4. Metode Seleksi

Seleksi bertujuan untuk memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling fit. (Kusumadewi, 2005)

Apabila populasi awal obyek telah dibentuk, dimana masing-masing diukur oleh fitness (atau biaya), maka dapat ditemukan nilai fitness keseluruhan. Apabila nilai fitness keseluruhan tidak setinggi yang diharapkan, sebagian obyek dalam populasi dapat diseleksi untuk dieliminasi (punah). Hal ini berkaitan berkaitan operator seleksi natural elitist (elitist natural selection) (Davis, 1991).

Pada awal munculnya algoritma genetik, digunakan strategi penggantian untuk mempertahankan jumlah populasi tetap dengan menggantikan dua induk dengan dua offspring pada tiap generasi. Setelah itu strategi “crowding” dikembangkan dimana pada metode ini, satu offspring menggantikan induknya yang memiliki banyak kesamaan. Hal ini membutuhkan perbandingan gen per gen anak dengan tiap induknya, dan kondisi semacam ini membutuhkan perhitungan komputasi yang cukup rumit (Gen M. et.all, 1997).

Tournament selection merupakan teknik lain untuk menentukan obyek mana yang akan dieliminasi. Pada metode ini, dua obyek dipilih dan diadu, pemenangnya akan melakukan reproduksi dan yang kalah akan punah (Rich, 1995). Hal ini meniru


(32)

perilaku yang terjadi pada populasi rusa dalam jumlah besar dan kadang-kadang juga terjadi di antara manusia.

Banyaknya obyek yang akan dieliminasi pada tiap generasi merupakan suatu hal yang harus benar-benar diperhatikan. Proporsi terminasi prematur dalam populasi menciptakan apa yang dinamakan dengan tekanan seleksi. Misalnya, pada kejadian nyata peristiwa seperti wabah, perang, banjir, jaman es merepresentasikan periode dimana tekanan seleksi cukup tinggi, yang tingkat tekanannya berbeda pada tiap kasus.

Pada perkembangan teori algoritma genetik, metode seleksi obyek untuk melahirkan diatur dengan cara yang berbeda. Model dasar dari Holland mengunakan metode dimana yang paling sehat yang akan dipilih untuk melahirkan. Metode lain melakukan pilihan pada dua obyek secara acak untuk melahirkan. Kelahiran yang selektif dapat digunakan secara terpadu dengan atau tanpa operator elitist natural selection untuk melakukan evolusi (Gen M. et.all, 1997).

Pada populasi yang memiliki tingkat evolusi yang cukup tinggi, proses spesialisasi akan terjadi. Kondisi terjadinya intra-mating dari beberapa grup (spesies) menghasilkan offspring dengan nilai fitness tinggi dalam spesies, sedangkan perkawinan anggota spesies dengan anggota populasi yang bukan dalam spesies akan menghasilkan offspring dengan nilai fitness yang sangat rendah, yang disebut “lethals”. Lethal jarang bisa survive pada generasi selanjutnya (Heitkoetter, 1993).

Tujuan kelahiran selektif adalah menghasilkan kromosom dengan nilai fitness tinggi (Gen M. et.all, 1997) dan untuk menghindari kelebihan produksi lethal (Heitkoetter, 1993).

Beberapa metode seleksi dari induk, antara lain :

1. Rank Based Fitness Assignment 2. Roulette Wheel Selection 3. Stochastic Universal Sampling 4. Local Selection

5. Trunction Selection 6. Tournament Selection.


(33)

2.4.5. Crossover

Apabila induk telah dipilih, maka kelahiran dapat terjadi. Bagi tiap gen dalam kromosom obyek baru dihasilkan dari seleksi allele baik dari ibu atau bapak. Proses mengkombinasikan gen dapat dilakukan dengan beberapa cara. Metode paling sederhana disebut dengan single point crossover (Gen M. et.all, 1997; Davis, 1991). Metode ini dapat didemonstrasikan dengan jelas menggunakan gen yang diencoding dalam biner, walaupun begitu nantinya dapat ditranslasikan ke bentuk representasi gen manapun (Davis, 1991).

Crossover (perkawinan silang) bertujuan menambah keanekaragaman string dalam populasi dengan penyilangan antar-string yang diperoleh dari sebelumnya. Beberapa jenis crossover tersebut adalah:

1. Crossover 1-titik

Pada crossover dilakukan dengan memisahkan suatu string menjadi dua bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan dengan cara yang sama. Proses yang demikian dinamakan operator crossover satu titik.

Induk 1: 11001 | 010 Induk 2: 00100 | 111 Diperoleh :

Anak 1: 11001 | 111 Anak 2: 00100 | 010 2. Crossover 2-titik

Proses crossover ini dilakukan dengan memilih dua titik crossover. Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal kromosom sampai titik

crossover pertama disalin dari orangtua pertama, bagian dari titik crossover

pertama dan kedua disalin dari orangtua kedua, kemudian selebihnya disalin dari orangtua pertama lagi.

Induk 1: 110 | 010 | 10 Induk 2: 001 | 001 | 11 Diperoleh :

Anak 1 : 110 | 001 | 10 Anak 2 : 001 | 010 | 11


(34)

3. Partial Mapped Crossover (PMX).

PMX diciptakan oleh Goldberg dan Lingle. PMX merupakan rumusan modifikasi dari pindah silang dua-poin. Hal yang penting dari PMX adalah pindah silang dua poin ditambah dengan beberapa prosedur tambahan.

Pilih posisi untuk menentukan substring secara acak Induk 1 : 1 2 3 | 4 5 6 | 7 8

Induk 2 : 3 7 5 | 1 6 8 | 2 4 Diperoleh :

Anak 1 : 4 2 3 | 1 6 8 | 7 5 Anak 2 : 3 7 8 | 4 5 6 | 2 1

Gambar 2.4. Pemetaan PMX Sumber (Larranaga P., et.al, 1999)

Proses crossover dapat dilakukan dengan lebih dari satu crossover point (Gen M. et.all, 1997). Sesungguhnya, tiap titik dapat dipilih bagi crossover apabila kondisi tersebut lebih baik (Heitkoetter, 1993). Salah satu metode crossover yang seringkali digunakan dalam sistem multi-objective, adalah unity based crossover (Heitkoetter, 1993). Pada metode ini, tiap gen memiliki probabilitas yang sama muncul dari induk manapun, mungkin ada crossover point yang diletakkan di belakang pada tiap gen atau gen manapun (Heitkoettr, 1993).

2.4.6. Mutasi

Setelah crossover dilakukan dan sebelum anak dilepaskan ke rimba belantara, ada kemungkinan terjadinya mutasi. Kemungkinan terjadinya mutasi ini diukur dengan tingkat mutasi. Nilainya biasanya cukup rendah (Davis, 1991). Tujuan adanya mutasi adalah menghasilkan noise, pada khususnya allele baru ke dalam populasi. Hal ini


(35)

berguna untuk menghindari nilai minimum, juga membantu dalam eksplorasi wilayah baru pada ruang solusi multi dimensi (Gen M. et.all, 1997). Apabila tingkat mutasi yang terlalu tinggi, dapat menyebabkan gen yang dilahirkan dengan sempurna akan hilang dan oleh karena itu memperendah eksploitasi wilayah nilai fitness tinggi atas solusi. Beberapa sistem tidak menggunakan operator mutasi sama sekali (Heitkoetter, 1993). Sebaliknya, mereka mengandalkan populasi acak yang penuh perbedaan yang dihasilkan atas inisialisasi untuk menyediakan gen yang cukup dimana rekombinasi itu sendiri akan menghasilkan pencarian yang efektif (Heitkoetter, 1993).

Saat gen telah dipilih untuk bermutasi, mutasi tersebut dapat mengambil berbagai macam bentuk (Davis, 1991), hal ini tergantung atas implementasi algoritma genetik.


(36)

BAB 3

METODOLOGI PENELITIAN

3.1. Pendahuluan

Bab ini merangkum metodologi penelitian yang membentuk program penelitian keseluruhan, membahas dan menganalisa pemecahan masalah yang dihasilkan. Penulis akan melakukan pengujian berdasarkan metode yang diusulkan dan menganalisa kontribusi tesis secara keseluruhan.

3.2. Data Yang Digunakan

Adapun yang menjadi data dalam penelitian ini yang digunakan untuk melakukan analisa pencarian rute terpendek dengan adanya lintasan terlarang adalah algoritma genetika, penulis dalam hal ini mengambil data dari OR-Library dengan beberapa data di dalam OR-Library seperti pada Tabel 3.1.

Tabel 3.1. Data Penelitian Rute Terpendek

No File Jalur Jenis Ukuran

1 CCNFP10g2c Small

2 CCNFP12g1a Small

3 CCNFP15g1b Small

4 CCNFcP19g1b Medium

5 CCNFP25g1a Medium

6 CCNFP30g3a Medium

7 CCNFP40g3a Large

8 CCNFP50g2c Large

9 CCNFP50g2a Large

3.3.Analisa Data Forbidden Path

Dalam implementasinya, algoritma genetika membutuhkan populasi awal dengan anggota populasi yang beragam (nilainya diacak). Kemudian populasi ini akan dihitung nilai fitness-nya, dan diurutkan berdasarkan nilai fitness tersebut mulai dari yang terbesar hingga terkecil.


(37)

Individu-individu yang terpilih sebagai individu-individu elit akan dipastikan masuk kedalam populasi pada generasi berikutnya sedangkan individu-individu lain di dalam populasi kemudian diseleksi dengan menggunakan metode tournament untuk dimasukkan kedalam mating pool, dimana semua individu di dalam populasi (termasuk individu-individu elit) tetap terkena seleksi.

Semua individu di dalam matting pool tersebut kemudian dikawinkan atau disilangkan dengan metode order crossover, untuk menghasilkan anak-anak yang sama banyaknya dengan jumlah individu awal di dalam populasi. Kemudian sebagian dari anak-anak tersebut akan mengalami mutasi, hal ini dicapai dengan menggunakan metode swap. Semua anak yang dihasilkan dalam suatu generasi akan dihitung kembali nilai fitness-nya, untuk kemudian diurutkan mulai dari fitness terbesar ke nilai fitness yang terkecil.

Anak-anak tersebut akan dimasukkan ke dalam populasi untuk generasi berikutnya. Karena sudah terdapat beberapa invidual elit didalam populasi, maka untuk menjaga keseimbangan jumlah populasi (dan menuju pada perbaikan kualitas populasi secara keseluruhan) anak yang memiliki nilai fitness yang sangat rendah tidak akan masuk ke dalam populasi untuk generasi berikutnya.

Gambar 3.1. Flowchart Pencarian Rute Terpendek dengan adanya lintasan terlarang menggunakan algoritma genetika.


(38)

3.4. Konsep Pencarian Rute Terpendek dengan adanya Lintasan Terlarang (Forbidden Path)

Dalam algoritma yang ditentukan dimulai dengan beberapa sebuah lintasan jalur terpendek yang terlihat seperti data pada Gambar 3.2. dengan menginisialisasi s sebagai node sumber, dengan mengabaikan sebuah lintasan terlarang. Kemudian dalam hal ini penulis mencoba untuk melakukan uji coba melakukan perjalan dari node sumber (s) ke node tujuan (t), tanpa ada kendala dalam lintasan Jika tidak, untuk mengambil pengecualian baru ditemukan ke jalur lain, dengan cara memodifikasi grafik menggunakan replikasi path, dan memodifikasi pohon jalur terpendek untuk mencocokkan. Secara umum,dimana graf dipertahankan grafik dimodifikasi dan pohon jalur terpendek dalam grafik yang memberikan jalur terpendek dalam grafik asli dari s ke setiap simpul lainnya menghindari semua pengecualian saat ini dikenal. Pertama, kita akan menggambarkan gagasan dengan sebuah contoh. pertimbangkan graf G pada Gambar. 3.2. (a), di mana bilangan bulat menunjukkan bobot tepi, dan tanda panah putus-putus

Gambar 3.2 Penyelesaian Rute Terpendek (a) Jalur Rute Terpendek (b) Jalur Rute Terpendek dengan adanya forbbiden path dengan x = {s,ab,t} dan x adalah lintasan

terlarang.

Pada Gambar 3.1. terlihat bahwa yang menjadi titik lintasan terlarang yaitu x = {s,a,b,t}. Dalam hal ini penulis telah menggunakan tepi yang diarahkan diarahkan seperti pada Gambar 3.2. (a) untuk menunjukkan tepi dua arah. Pada Gambar 3.2.(b)


(39)

terlihat P = (s, c, a, b, t) bernilai sama dengan x yaitu sebagai sebuah lintasan terlarang dengan menghindari jalur terpendek dari s ke t.

3.5. Pembentukkan Pohon Keputusan untuk Penyelesaian Pencarian Rute Terpendek dengan adanya Forbidden Path.

Dalam hal ini penulis mencoba untuk melakukan efesiensi dalam pemecahan Pencarian rute terpendek dengan adanya lintasan terlarang tanpa pembatasan himpunan dari jalan yang dilarang, dimana akan diusulkan untuk memperketat penghubung antara masalah jalur terpendek dengan sebuah penyimpangan.

Untuk menemukan P, pertama-tama dibangunnya pohon jalur terpendek berakar pada s (ditandai dengan tepi yang berat) seperti yang terlihat pada Gambar 3.3 dan kemudian mencoba jalur (s, a, b, t) di pohon.

Gambar 3.3. Jalur Terpendek yang ditandai dengan tepi yang berat

Namun, jalan gagal karena mengandung x dikarenakan x merupakan sebagai sebuah lintasan terlarang, dimana x ={s,a,b,t}, seperti yang diperlihatkan pada Gambar 3.4.


(40)

Gambar 3.4. Jalur Rute Terpendek yang mengandung lintasan terlarang

Jadi dalam hal ini digunakan teknik replikasi titik yang sama satu per satu dengan membuat duplikat dari simpul a dan b dan menghapus tepi (s, a ') dan (b, t), seperti yang ditunjukkan pada Gambar 3.5.

Gambar 3.5. Jalur Rute terpendek dengan melakukan repilkasi pada {a} menjadi {a’} dan {b} menjadi {b’}


(41)

Pada Gambar 3.6. terlihat grafik dengan dimodifikasi, dan mencoba jalan (s, c, a ', b', t) yang "mewakili" P dan jalan lainnya melalui G {s,c,d,b,e}.Dimana penulis melakukan jika x adalah satu-satunya jalan dilarang di G, pendekatan ini dapat melipat gandakan jumlah jalur terlarang yang belum ditemukan. Dengan mengira y = (c, a, b) adalah jalan lain dilarang di G. Dalam hal ini adanya dua salinan dari y dalam grafik diubah: (c, a, b) dan (c, a ', b'), dan dalam hal ini harus menghindari keduanya.

Gambar 3.6. Solusi Masalah Jalur Lintasan Terpendek yang terbentuk (a) Jalur P = {s,c,a’,b’,t} dengan lintasan terlarang {s,a,b,t} (b) Jalur G ={s,c,d,b,e} dengan lintasan

terlarang {c,a,b}

Solusi dari permasalahan untuk penggandaan ini adalah untuk membuat pohon jalur terpendek sedemikian rupa sehingga paling banyak satu dari kedua populasi baru akan ditemui.


(42)

3.6.Genetik Algoritma Untuk Penyelesaian Pencarian rute Terpendek dengan adanya forbidden Path.

3.6.1. Pembentukkan Kromosom

Pada algoritma genetika yang dijelaskan pada tesis ini, jenis representasi kromosom yang digunakan adalah representasi permutasi atau pengkodean permutasi. Dengan mengkodekan simpul-simpul pada jaringan bilangan bulat positif 1, 2,3, ...n dimana n

adalah banyaknya simpul pada jalur lintasan terlarang. Tiap kode dari simpul dapat dianggap sebagai gen pada kromosom, sehingga kromosom merupakan untaian kode-kode dari simpul pada lintasan terlarang yang tidak berulang dan merepresentasikan suatu urutan atau jalur.

Pada masalah jalur terpendek dengan adanya sebuah lintasan terlarang, panjang kromosom atau banyaknya gen sama dengan banyaknya simpul. Untuk masalah jalur terpendek, kromosom dirancang dengan menggunakan prinsip pengacakan, dimana untuk perhitungan atau penentuan nilai fitness dilakukan hanya untuk jalur yang dilalui dari node sumber ke node tujuan, dengan sisa kromosom (simpul yang tidak dilalui) berfungsi sebagai lintasan terlarang.

Tabel 3.2.akan memperlihatkan jalur yang terbentuk dengan masing-masing kromosomnya. Gen-gen yang ditebalkan merupakan representasi jalur yang valid atau jalur yang akan dilalui, sementara gen-gen lain yang tidak ditebalkan sebagai lintasan terlarang.

Tabel 3.2. Jalur berkorespondensi dengan masing-masing kromosom

Jalur Representasi Kromosom

1-3-5-7-9-10 1-3-5-7-9-10-2-4-6-8

1-3-5-7-9-8-10 1-3-4-5-7-9-8-10-2-4-6

1-2-4-6-8-10 1-2-4-6-8-10-3-5-7-9

3.6.2. Inisialisasi Populasi

Tahap ini bertujuan untuk membangkitkan sebuah populasi yang berisi sejumlah kromosom yang telah ditentukan banyaknya.

Pada tahap atau proses ini sebenarnya dapat ditambahkan algoritma baru untuk proses pencarian lokal agar algoritma genetika dapat menjamin solusi optimum global. Karena itu penulis memberikan memberikan saran untuk pengembangan tesis ini pada akhir bab, yaitu perlu adanya tambahan algoritma untuk membangkitkan jalur


(43)

yang mungkin (valid) dari node sumber ke node tujuan agar dapat muncul kromosom unggul pada populasi awal dan sebagai akibatnya dapat mengurangi waktu komputasi.

Adapun data kromosom sebagai populasi awal misalnya ditentukan dengan sebanyak 10 kromosom, misal kromosom yang terbentuk terlihat seperti pada Tabel 3.2. Kromosom dibentuk secara acak dengan menetapkan gen pertama sebagai node sumber, dalam hal ini adalah node 1.

Pada tahap atau proses ini sebenarnya dapat ditambahkan algoritma baru untuk proses pencarian lokal agar algoritma genetika dapat menjamin solusi optimum global. Karena itu penulis memberikan memberikan saran untuk pengembangan tesis ini pada akhir bab, yaitu perlu adanya tambahan algoritma untuk membangkitkan jalur yang mungkin (valid) dari node sumber ke node tujuan agar dapat muncul kromosom unggul pada populasi awal dan sebagai akibatnya dapat mengurangi waktu komputasi.

Tabel 3.3.Inisialisai Populasi awal yang Terbentuk

Kromosom Representasi Kromosom

Kromosom 1 1-2-4-7-9-8-10-3-6-5

Kromosom 2 1-2-4-7-9-10-5-8-6-3

Kromosom 3 1-3-5-6-8-9-10-4-7-2

Kromosom 4 1-3-5-7-9-10-4-6-2-8

Kromosom 5 1-3-5-7-9-10-6-4-8-2

Kromosom 6 1-2-4-7-9-10-5-3-8-6

Kromosom 7 1-3-2-4-7-5-6-8-9-10

Kromosom 8 1-2-4-6-8-10-9-7-5-3

Kromosom 9 1-2-4-7-9-10-3-8-5-6

Kromosom 10 1-2-4-7-5-6-8-9-10-3

Permasalahan yang akan diselesaikan adalah jalur-jalur yang terdapat pada Tabel 3.2. yang memenuhi total jarak dengan adanya lintasan terlarang, maka fungsi objektif yang dapat digunakan untuk mendapatkan solusi adalah fungsi objektif kromosom = total jarak setiap kromosom yang terbentuk. Adapun untuk melihat hasil fungsi objektif kromosom akan terlihat pada Tabel 3.4

Tabel 3.4 Evaluasi Kromosom

Kromosom Fungsi Objektif(kromosom)

Kromosom 1 15+8+5+10+10+6=54

Kromosom 2 15+8+5+10+8=46

Kromosom 3 10+9+6+12+10+8=55

Kromosom 4 10+9+2+10+8=39

Kromosom 5 10+9+2+10+8=39


(44)

Lanjutan

Tabel 3.4 Evaluasi Kromosom

Kromosom Fungsi Objektif(kromosom)

Kromosom 7 10+3+8+5+2+6+12+10+8=64

Kromosom 8 15+8+7+12+6=48

Kromosom 9 15+8+5+10+8=46

Kromosom 10 15+8+5+2+6+12+10+8=66

Terlihat pada Tabel 3.3 rata-rata dari fungsi objektif adalah : Rata-rata = (54+46+55+39+39+46+64+48+46+66)/10

= 503/10 = 50.3

3.6.3. Spesifikasi proses perhitungan fitness dari Populasi

Pada proses ini dilakukan perhitungan nilai fitness dari tiap individu di dalam populasi. Individu yang bagus (nilai fitness yang tinggi) adalah individu yang memiliki rute terpendek. Semakin besar jarak yang ditempuh pada satu rute, semakin rendah nilai fitness yang akan dimasukkan ke dalam individu. Pseudocode dari proses ini adalah sebagai berikut :

Mulai

Untuk tiap individu di dalam populasi lakukan Hitung panjang_rute_individu

Hitung nilai fitness. Fitness �����ℎ����∗�

�������_����_��������

Dimana C merupakan konstanta (C= 700)

Masukkan nilai fitness dan panjang rute individu ke dalam individu Urutkan populasi mulai dari individu dengan nilai fitness tertinggi ke rendah Jika individu yang terbaik untuk generasi ini lebih baik dari individu terbaik Maka individu terbaik  individu terbaik untuk generasi ini.

Akhir

Rumus fitness diata digunakan untuk menghasilkan jumlah nilai fitness yang konstan dalam setiap generasi. Hal ini dimungkinkan karena program ini membatasi nilai koordinat-koordinat yang akan digunakan untuk membuat rute terpendek yang memiliki lintasan terlarang. Nilai koordinat yang valid adalah mulai dari (0,0) sampai dengan (480, 480). Nilai C sendiri merupakan nilai konstanta, yaitu jarak terpanjang


(45)

yang dapat ditempuh pada dua kota yang bernilai √4802+ 4802 ≅ 700. Dengan demikian nilai fitness maksimal yang bisa diperoleh adalah jumlah_kota * C.

Nilai fitness ini juga bergantung pada keabsahan dari jalur yang terkandung dalam kromosom yang bersangkutan. Jika ada kromosom yang memiliki jalur dari node sumber ke node tujuan yang tidak valid, maka nilai fitness akan sama dengan nol, namun sebaliknya jika kromosom memiliki jalur dari node sumber ke node tujuan yang valid, maka nilai fitness akan sama dengan nilai dari fungsi fitness yang telah ditentukan. Berikut ini adalah penentuan nilai fitness pada tesis ini

� = �

1

∑�−1�=1 ��(��,�� + 1)

;����������

0 ;��������������� Dimana Ci(gi, gi+1) adalah cost antara gen gi dan gen tetangga gi

Proses seleksi kromosom dengan cara membuat kromosom yang mempunyai fungsi objektif kecil kemungkinan terpilih yang besar atau mempunyai nilai probabilitas yang tinggi. Untuk itu dapat digunakan fungsi fitnes = (1/(1+fungsi_objektif)), fungsi objektif perlu ditambah 1 untuk menghindari kesalahan program yang diakibatkan pembagian oleh 0.

+1 dalam kromosom dari n gen (simpul).

Tabel 3.5 Seleksi Kromosom

Kromosom Fungsi Objektif(kromosom) Nilai fitness

Kromosom 1 15+8+5+10+10+6=54 = (1/(1+54)

= 1/55 = 0.0182

Kromosom 2 15+8+5+10+8=46 =(1/(1+46)

=1/47 = 0.0213

Kromosom 3 10+9+6+12+10+8=55 =(1/(1+55)

=1/56 = 0.0179

Kromosom 4 10+9+2+10+8=39 = (1/(1+39))

= 1/40 = 0.0250

Kromosom 5 10+9+2+10+8=39 =(1/(1+39))

= 1/40 = 0.0250

Kromosom 6 15+8+5+10+8=46 = (1/(1+46))

=1/47 = 0.0213 Kromosom 7 10+3+8+5+2+6+12+10+8=64 =(1/(1+64)

= 1/65 = 0.0154

Kromosom 8 15+8+7+12+6=48 = (1/(1+48))

= 1/49 = 0.0204

Kromosom 9 15+8+5+10+8=46 = (1/1+46))


(46)

Lanjutan

Tabel 3.5 Seleksi Kromosom

Kromosom Fungsi Objektif(kromosom) Nilai fitness Kromosom 10 15+8+5+2+6+12+10+8=66 = (1/(1+66))

= 1/67 = 0.0149

Total Fitness 0.2007

3.6.4. Spesifikasi Seleksi

Setelah terbentuk populasi awal, selanjutnya hasil populasi tersebut akan diseleksi. Metode seleksi yang digunakan dalam algoritma genetika untuk pencarian jalur terpendek dalam kasus Travelling Salesman Problem dengan adanya lintasan terlarang ini adalah seleksi roda roulette.

Dalam metode roda roullete, proses seleksi individu diibararkan seperti dalam permainan judi roda roulette. Dimana pemain akan memutar roda yang telah terpartisipasi menjadi beberap bagian untuk mendapatkan suatu hadiah. Kaitannya dengan metode seleksi yang dibahas dalam tesis ini adalah suatu kromosom diibaratkan sebagai hadiah. Partisi-partisi pada roda roulette merupakan interval dari nilai kumulatif probabilitas masing-masing kromosom. Kemudian proses memutar roda dinyatakan dengan menetukan suatu bilangan acak pada interval [0, 100]. Pada proses seleksi ini, suatu kromosom kadang terpilih lebih dari sekali dan lebih dari satu. Kromosom-kromosom yang terpilih tersebut akan membentuk populasi orang tua.

Adapun tahapan dari proses seleksi sebagai berikut : Tahap 1 : hitung nilai fitness dari masing-masing kromosom Tahap 2 : hitung total fitness semua individu atau kromosom

Tahap 3 :hitung probabilitas dan nilai kumulatif probabilitas masing-masing Kromosom

Tahap 4 :dari probablitias tersebut, hitung jatah masing-masing individu pada angka 0 sampai 100, atau dengan kata lain menentukan interval kumulatif probabilitas masing-masing kromosom.

Tahap 5 :bangkitkan nilai acak antara 0 sampai 100

Tahap 6 :dari bilangan acak yang dihasilkan, tentukan kromosom mana yang terpilih dalam proses seleksi menurut interval yang bersesuaian yang telah ditentukan sebelumnya pada tahap 4.


(47)

Individu-individu akan diseleksi untuk dimasukkan ke dalam matting pool, yang dilakukan dengan menggunakan metode seleksi tournament. Metode ini berkerja dengan cara memilih k individu secara acak untuk kemudian mempertandingkan setiap pasangan individu yang memiliki probabilitas kemenangan p (sekitar 0,6 -0,7) bagi individu yang memiliki nilai fitness yang lebih baik. Kemudian pemenang yang didapat akan ditandingkan lagi, sampai tinggal tersisa satu pemenang yang akan dimasukkan ke dalam matting pool. Pseudocode dari metode seleksi adalah sebagai berikut :

Mulai

Untuk i=0 sampai i=k-1 lakukan

r nilai acak (0 ≤ r < 1) * jumlah populasi

masukkan populasi(r) ke dalam tournament_population

Untuk i-0 sampai dengan i = √� lakukan

Untuk x = 0 sampai dengan x = i dimana x =x+2(�+�), lakukan r nilai acak (0 ≤ r< 1)

Jika fitness tournament_population(x) > fitness Tournament_population (x + 2i

MAX  x, MIN  x + 2

) maka

i

, sebaliknya jika tidak MAX  x+2i MIN  x

,

Jika r< p maka tournament_population (x)

Tournament_population (MAX), sebaliknya jika tidak, maka

Tournament_population(x) Tournament_population (MIN) Masukkan pemenang, yaitu tournament_population (0) ke dalam matting pool

Akhir.

Setelah mencari nilai fitness, akan dihitung probabilitas pada setiap fitnes. Adapun rumus untuk mencari probabilitas P[i] = fitness[i]/total_fitness.

Tabel 3.6. Nilai Probabilitas Fitness

Kromosom Nilai Fitness Nilai Probabilitas Kromosom 1 0.0182 =0.0182/0.2007

= 0.0907

Kromosom 2 0.0213 = 0.0213 / 0.2007 = 0.1061

Kromosom 3 0.0179 = 0.0179/0.2007 = 0.0892

Kromosom 4 0.0250 = 0.0250/0.2007 = 0.1246


(48)

Lanjutan

Tabel 3.6. Nilai Probabilitas Fitness

Kromosom Nilai Fitness Nilai Probabilitas Kromosom 5 0.0250 = 0.0250/0.2007

= 0.1246

Kromosom 6 0.0213 = 0.0213/0.2007 = 0.1061

Kromosom 7 0.0154 = 0.0154/0.2007 = 0.0767

Kromosom 8 0.0204 = 0.0204/0.2007 = 0.1016

Kromosom 9 0.213 = 0.0213/0.2007 = 0.1061

Kromosom 10 0.0149 = 0.0149 /0.2007 = 0.0742

Dari probabilitas diatas dapat kita lihat kalau kromosom ke-10 dan kromosom mempunyai fitness paling kecil, maka kromosom tersebut mempunyai probabilitas untuk terpilih pada generasi selanjutnya lebih besar dari kromosom lainnya. Untuk proses seleksi penulis menggunakan roulete wheel, untuk itu pencarian selanjutnya adalah mencari nilai cumulative probabilitas.

C[1] = 0.0907

C[2] = 0.0907 + 0.1061 = 0.1968

C[3] = 0.0907 + 0.1061 + 0.0892 = 0.2860

C[4] = 0.0907 + 0.1061 + 0.0892 + 0.1246 = 0.4106

C[5] = 0.0907 + 0.1061 + 0.0892 + 0.1246 + 0.1246 = 0.5352

C[6] = 0.0907 + 0.1061 + 0.0892 + 0.1246 + 0.1246 + 0.1061 = 0.6413 C[7] = 0.0907 + 0.1061 + 0.0892 + 0.1246 + 0.1246 + 0.1061 + 0.0767 = 0.7180

C[8] = 0.0907 + 0.1061 + 0.0892 + 0.1246 + 0.1246 + 0.1061 + 0.0767 + 0.1061 = 0.8241

C[9] = 0.0907 + 0.1061 + 0.0892 + 0.1246 + 0.1246 + 0.1061 + 0.0767 + 0.1061 + 0.1061 = 0.9302

C[10] = 0.0907 + 0.1061 + 0.0892 + 0.1246 + 0.1246 + 0.1061 + 0.0767 + 0.1061 +0.1061 + 0.0742 = 1.0044


(49)

Gambar 3.7. Roulette Wheel Kromosom yang Terbentuk.

Setelah dihitung cumulative probabilitasnya maka proses seleksi menggunakan

route wheel dapat dilakukan. Prosesnya adalah dengan membangkitkan nilai acak R dalam range 0-1. Jika R[k] < C[1] maka pilih kromosom 1 sebagai induk, selain itu pilih kromosom ke-k sebagai induk dengan syarat C[k-1] < R < C[k]. Dalam hal ini

route wheel akan diputar sebanyak jumlah populasi yaitu 10 kali (bangkitkan bilangan acak R) dan pada tiap putaran, dipilih satu kromosom untuk populasi baru, yaitu seperti :

Tabel 3.7 Pencarian Seleksi Kromosom Induk Bilangan Acak

[R]

Kromosom

Parent

Kromosom Representasi

Kromosom 85.2042 Parent 1 Kromosom 9 1-2-4-7-9-10-3-8-5-6

82.512 Parent 2 Kromosom 9 1-2-4-7-9-10-3-8-5-6 90.505 Parent 3 Kromosom 9 1-2-4-7-9-10-3-8-5-6 80.2401 Parent 4 Kromosom 8 1-2-4-6-8-10-9-7-5-3 60.1012 Parent 5 Kromosom 6 1-2-4-7-9-10-5-3-8-6 95.201 Parent 6 Kromosom 10 1-2-4-7-5-6-8-9-10-3 39.2014 Parent 7 Kromosom 4 1-3-5-7-9-10-4-6-2-8

7.5001 Parent 8 Kromosom 1 1-2-4-7-9-8-10-3-6-5 62.5101 Parent 9 Kromosom 6 1-2-4-7-9-10-5-3-8-6 63.2431 Parent 10 Kromosom 6 1-2-4-7-9-10-5-3-8-6

Sehingga dapat menghasilkan sebuah populasi baru, dari bilangan acak yang telah dibangkitkan diatas, seperti pada Tabel 3.6 maka populasi kromosom baru hasil proses seleksi adalah :

Kromosom 1 9% Kromosom 2 11% Kromosom 3 9% Kromosom 4 12% Kromosom 5 12% Kromosom 6 11% Kromosom 7 8% Kromosom 8 10% Kromosom 9 11% Kromosom 10 7%

probablitas kromosom


(50)

Kromosom[1] = kromosom [9] Kromosom[2] = kromosom [9] Kromosom [3] = kromosom [9] Kromosom [4] = kromosom [8] Kromosom [5] = kromosom [6] Kromosom [6] = kromosom [10] Kromsom [7] = kromosom [4] Kromosom [8] = kromosom [1] Kromosom [9] = kromosom [6] Kromosom [10]= kromosom [6]

Kromosom baru hasil proses seleksi dapat dilihat pada Tabel 3.8. dibawah ini Tabel 3.8 Hasil Seleksi

Kromosom

Parent

Kromosom Representasi

Kromosom

Parent 1 Kromosom 9 1-2-4-7-9-10-3-8-5-6

Parent 2 Kromosom 9 1-2-4-7-9-10-3-8-5-6

Parent 3 Kromosom 9 1-2-4-7-9-10-3-8-5-6

Parent 4 Kromosom 8 1-2-4-6-8-10-9-7-5-3

Parent 5 Kromosom 6 1-2-4-7-9-10-5-3-8-6

Parent 6 Kromosom 10 1-2-4-7-5-6-8-9-10-3

Parent 7 Kromosom 4 1-3-5-7-9-10-4-6-2-8

Parent 8 Kromosom 1 1-2-4-7-9-8-10-3-6-5

Parent 9 Kromosom 6 1-2-4-7-9-10-5-3-8-6

Parent 10 Kromosom 6 1-2-4-7-9-10-5-3-8-6

3.6.5. Spesifikasi Metode Persilangan (Crossover)

Persilangan adalah proses dimana individu-individu di dalam matting pool

disilangkan/dikawinkan untuk menghasilkan anak-anak. Pada program ini metode persilangan yang digunakan adalah metode order, yang menyimpan urutan kota secara relatif.

Salah satu komponen yang paling penting dalam algoritma genetika adalah

crossover atau pindah silang. Crossover merupakan suatu proses persilangan sepasang kromosom parent untuk menghasilkan offspring yang akan menjadi individu pada populasi di generasi berikutnya. Offspring yang dihasilkan dari proses crossover diharapkan mewarisi sifat-sifat unggul yang dimiliki oleh kromosom parent. Pindah silang pada masalah jalur terpendek pada kasus Travelling Salesman Problem dengan


(51)

adanya lintasan terlarang ini menggunakan order crossover. Banyaknya kromosom yang di-crossover dipengaruhi oleh parameter probabilitas crossover (Pc).

Adapun tahapan dari proses crossover sebagai berikut :

Tahap 1 :Pilih dua kromosom berbeda dari populasi parent secara berurutan. Tahap 2 :Pilih substring dari parent secara berurut.

Tahap 3 :Salin substring dan node sumber ke offspring yang akan digenerasi dengan posisi yang sama.

Tahap 4 :Abaikan gen dengan nilai yang sama dengan yang sudah ada di tahap 2.

Tahap 5 :Tempatkan sisa substring kromosom parent ke offspring setelah daerah substring dari offspring dengan urutan yang sama.

Setelah offspring terbentuk dari proses crossover maka selanjutnya adalah memvalidasi jalur yang terkandung didalamnya, karena bisa jadi offspring yang terbentuk merepresentasikan jalur yang tidak valid (R. Kumar, dan M. Kumar, 2010). Jika jalur tersebut tidak valid, maka offspring tersebut tidak akan menjadi bagian dari generasi berikutnya.

Berikut ini cara kerja/pseudocode dari metode ini : Mulai

Start  nilai acak (0 ≤ start < 1) * panjang kromosom End  nilai acak (0 ≤ end < 1) * panjang kromosom Jika start > end maka, nilainya ditukar

Untuk i=start sampai dengan i = End lakukan

Kromosom_anak(i)  kromosom_parent1(i) j  (end + 1) modulus panjang kromosom

Untuk i=0 sampai dengan i =(End-Start) + 1 lakukan Selama kromosom_parent2(j) ada di dalam Kromosom_anak maka

j (j+ 1) modulus panjang kromosom Kromosom_anak(i)  kromosom_parent2(j)

Buat individu baru dengan mengeset kromosom menjadi kromosom_anak Akhir


(52)

Tabel 3.9 Populasi offspring hasil crossover

Offspring Representasi Kromosom Representasi Jalur

Offspring 1 1-4-6-9-7-10-3-8-5-2 Tidak Valid

Offspring 2 1-2-4-3-8-10-9-7-5-6 Tidak Valid

Offspring 3 1-3-4-6-8-10-9-5-2-7 Tidak Valid

Offspring 4 1-8-4-7-9-10-3-5-2-6 Tidak Valid

Offspring 5 1-9-10-7-5-6-3-8-2-4 Tidak Valid

Offspring 6 1-5-6-7-9-10-8-3-2-4 Tidak Valid

Offspring 7 1-2-4-7-9-8-10-3-6-5 Valid

Offspring 8 1-3-5-7-9-10-4-6-2-8 Valid

Offspring 9 1-2-4-7-9-10-5-3-8-6 Valid

Offspring 10 1-2-4-7-9-10-5-3-8-6 Valid

Pada tabel 3.9. diatas bahwa offspring ke-7 sampai 10 mengandung jalur yang valid, dalam hal ini yang dapat mencapai node 10 dari node sumber yaitu node 1. Sementara offspring 1 sampai offspring 6 mengandung jalur tidak valid. Offspring

yang mengandung jalur tidak valid tidak digunakan untuk generasi selanjutnya.

3.6.6. Metode Mutasi

Mutasi adalah proses yang bersifat exploit, yang berusaha untuk mendapatkan hasil yang optimal di daerah yang menjanjikan dengan melakukan perubahan pada elemen-elemen kromosom yang ada. Metode mutasi yang digunakan dalam program adalah metode swap, cara kerja dari metode ini adalah dengan memilih dua elemen di dalam kromosom secara acak, dan posisi diantara dua elemen ini diganti. Efek dari metode ini adalah menyimpan informasi elemen yang berdekatan, walaupun urutannya menjadi lebih berantakan.

Mutasi adalah proses yang dilakukan untuk mempertahankan keanekaragaman genetik populasi. Hal tersebut dilakukan untuk mencegah populasi terjebak dalam solusi optimal lokal.

Daftar populasi baru hasil crossover dipilih secara acak untuk dilibatkan dalam proses mutasi. Pada algoritma genetika, mutasi memainkan peran penting, yaitu menggantikan gen-gen yang hilang dari populasi selama proses seleksi atau mengembalikan kromosom optimal yang hilang akibat proses crossover. Dan memunculkan kromosom tidak ditampilkan pada populasi awal yang bisa jadi lebih baik dari kromosom pada populasi saat itu.


(53)

Adapun tahapan dari proses mutasi sebagai berikut :

Tahap 1 : Pilih satu kromosom pada populasi anak hasil crossover.

Tahap 2 :Pilih posisi secara acak. Posisi pertama digunakan untuk menandakan gen mana yang akan dimutasi atau disisipkan ke posisi kedua.

Tahap 3 : sisipkan gen pada posisi pertama ke posisi kedua.

Setelah offspring hasil mutasi terbentuk maka selanjutnya adalah memvalidasi jalur yang terkandung didalamnya dengan teknik yang sama pada setelah crossover, karena bisa jadi offspring hasil mutasi tersebut merepresentasikan jalur yang tidak valid. Jika jalur tersebut tidak valid, maka offspring tersebut tidak akan menjadi bagian dari generasi berikutnya. Sebaliknya, jika jalur valid, maka offspring tersebut dapat menjadi bagian dari generasi berikutnya.

Pseudocode dari metode ini adalah sebagai berkut : Mulai

Start  nilai acak (0 ≤ start <1) * panjang_kromosom End  nialai acak (0 ≤ End < 1) * panjang_kromosom Jika start > end maka, nilainya ditukar

Temp  kromosom_anak(start)

Kromosm_anak (start)  kromosom_anak (End) Kromosom_anak (End)  temp

Akhir.

Jumlah kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh parameter mutation_rate. Proses mutasi dilakukan dengan cara mengganti gen yang terpilih yang terpilih secara acak dengan suatu nilai baru yang didapat secara acak. Prosesnya adalah sebagai berikut. Pertama kita hitung dahulu panjang total gen yang ada dalam satu populasi. Dalam kasus inipanjang total gen adalah total_gen = (jumlah gen dalam chromosome) * jumlah populasi

=10 * 10 = 100

Untuk memilih posisi gen yang mengalami mutasi dilakukan dengan cara membangkitkan bilangan integer acak antara 1 sampai total_gen, yaitu 1 sampai 24. Jika bilangan acak yang kita bangkitkan lebih kecil daripada variabel mutation_rate (ρm) maka


(1)

120 0.00223661

Gambar 4.8. Grafik Percobaan Banyak Populasi

Grafik Gambar 4.8 bisa dilihat kenaikan signifikan rata-rata nilai fitness untuk 20 kali percobaan mulai dari jumlah populasi 20 sampai dengan jumlah populasi 80 namun untuk jumlah populasi 80 sampai 120 sudah tidak terjadi perubahan yang cukup jauh. Hal ini menunjukkan bahwa pada jumlah populasi 80 merupakan jumlah populasi yang optimal untuk masalah ini. Semakin tinggi jumlah populasi maka berpengaruh pada rata-rata nilai fitness yang didapatkan namun pada jumlah populasi 80 adalah titik optimum dimana tidak terjadi lagi kenaikan yang signifikan rata-rata fitness untuk jumlah populasi diatas 80. Mutasinya adalah 0.6 dengan rata-rata nilai fitness 0.00223. Ukuran populasi yang optimal adalah sebanyak 80 populasi dengan rata-rata nilai fitness adalah 0.00223.

0,00215 0,00216 0,00217 0,00218 0,00219 0,0022 0,00221 0,00222 0,00223 0,00224 0,00225

20 40 60 80 100 120

R

at

a

-r

a

ta

n

il

a

i

fi

tn

es

s

Banyak Populasi


(2)

BAB 5

PENUTUP

5.1. Kesimpulan

Kesimpulan yang dapat diambil dari tesis ini adalah :

1. Masalah jalur terpendek dengan adanya sebuah kendala yaitu lintasan terlarang yang semakin banyak akan dapat diselesaikan serta mengarah ke titik optimal bila diimbangi dengan pengingkatan ukuran populasi dan parameter lainnya dalam algoritma genetika.

2. Semakin besar nilai probabilitas mutasi maka cenderung semakin banyak solusi optimal yang tercapai dalam 10 kali percobaan untuk kedua masalah pengujian. Sehingga dapat dikatakan parameter Pm dapat mempengaruhi kinerja algoritma genetik bahwa proses mutasi dapat mencegah terjadinya optimum lokal.

3. semakin besar nilai probabilitas crossover maka semakin banyak pula solusi optimal yang tercapai dalam 10 kali percobaan. Sehingga dapat dikatakan parameter Pc dapat mempengaruhi kinerja algoritma genetika, hal ini dikarenakan semakin besar nilai probabilitas crossover maka semakin besar pula peluang melahirkan anak atau offspring dari kromosom orang tua yang unggul, sehingga pada akhir generasi akan terlahir offspring dengan nilai fitness yang terbaik.

4. Dari 10 kali percobaan dengan metode roulette wheel hasilnya selalu berada dibawah percobaan dengan menggunakan metode elitis Pada Tabel 4.6. dapat dilihat rata-rata nilai fitness metode seleksi elitis adalah 0.0022 lebih besar dari pada metode seleksi roulette wheel dengan nilai rata-rata fitness sebesar 0.001845. Hal ini membuktikan bahwa seleksi dengan menggunakan metode elitis lebih sesuai untuk masalah rute terpendek dengan adanya lintasan terlarang karena pada elitis semua individu yang bagus langsung dipilih menjadi indukan yang akan di proses pada generasi selanjutnya, sedangkan dengan metode roulette wheel


(3)

individu yang belum bagus masih punya kesempatan untuk menjadi induk untuk generasi selanjutnya.

5. Dilihat kenaikan signifikan rata-rata nilai fitness untuk 20 kali percobaan mulai dari jumlah populasi 20 sampai dengan jumlah populasi 80 namun untuk jumlah populasi 80 sampai 120 sudah tidak terjadi perubahan yang cukup jauh. Hal ini menunjukkan bahwa pada jumlah populasi 80 merupakan jumlah populasi yang optimal untuk masalah ini. Semakin tinggi jumlah populasi maka berpengaruh pada rata-rata nilai fitness yang didapatkan namun pada jumlah populasi 80 adalah titik optimum dimana tidak terjadi lagi kenaikan yang signifikan rata-rata fitness untuk jumlah populasi diatas 80.

5.2. Saran

Mengingat keterbatasan waktu untuk mengembangkan lebih jauh tesis ini, maka saran-saran untuk pengembangan tesis ini adalah :

1. Dapat digunakan jenis-jenis operator algoritma genetika yang lainnya untuk memperoleh hasil yang lebih baik dalam pencarian solusi.

2. Perlu dibuat algoritma tambahan untuk membangkitkan populasi awal, agar dapat menjamin keoptimalan algoritma genetika dengan waktu komputasi yang tidak terlalu banyak.


(4)

DAFTAR PUSTAKA

Ahmed, Zakir. 2013. Genetic Algorithm for The Travelling Salesman Problem Using sequential Constuctive Crossover Operator. International Journal of Biometric and Bioinformatics (IJBB)3(6):96-105

Ahmed, M dan Lubiw. A. 2009. Shortest path Avoiding forbidden subpaths. Symposium on Theoretical a Spects of Computer Science (Freiburg): hal 63-47.

D.A. Lubis. 2009. Implementasi Algoritma Ant colony System dalam Menentukan Optimasi Networking Routing. Skripsi. Universitas Sumatera Utara.

E. Satriyanto. 2009. Algoritma Genetika. (Online)

F. Saptono dan T. Hidayat. 2007. Perancangan Algoritma Genetika untuk Menentukan Jalur Terpendek. Seminar Nasional Aplikasi Teknologi Informasi (yogyakarta)

Fujisawa, J., Ota., K., Sugiyama, T, dan Tsukagi M. 2008. Forbidden subgraph and the existence of paths and cycles passing through specified vertices. Discrete Mathematics308:6111-6114.

Gross, L. J dan Yellen, J. 2006. Graph Theory and Its Applications. Chapman & Hall/CRC.

N.K Cauvery dan K. V. Viswanatha. 2009. Routing in Dynamic Networking using Ants and Genetic Algorithm. International Journal of Computer Science and Network Security.9(3).

Pach, J. dan Tardos, G. 2006. Forbidden paths and cycles in ordered graphs and matrices. Israel Journal of Mathematics:155,:359-380.

Szeider, S. 2003. Finding path in graphs avoiding forbidden transitions. Discrete Applied Mathematics: 126, 261-273.

Villaneuve, D. dan Desaulniers, G. 2005. The shortest path problem with forbidden paths. European Journal of Operational Research: 165,(1):97-107. Yinnone, H. 1997. On paths avoiding forbidden pairs of vertices in a graph. Discrete

Applied Mathematics74,:85-92.

Lampiran 1

DAFTAR PUBLIKASI ILMIAH PENULIS

N o.

Judul Artikel Penulis Publikasi

(Seminar/Jurna l. dll)

Waktu Publikasi

Tempat

1 Ananda

Faridhatul Ulva, Aninda Pencarian Rute Terpendek

dengan Adanya Forbidden Path Menggunakan Genetik

Jurnal Penelitian Teknik Informatika

Medan April 2014


(5)

DAFTAR PUSTAKA

Ahmed, Zakir. 2013. Genetic Algorithm for The Travelling Salesman Problem Using sequential Constuctive Crossover Operator. International Journal of Biometric and Bioinformatics (IJBB)3(6):96-105

Ahmed, M dan Lubiw. A. 2009. Shortest path Avoiding forbidden subpaths. Symposium on Theoretical a Spects of Computer Science (Freiburg): hal 63-47.

D.A. Lubis. 2009. Implementasi Algoritma Ant colony System dalam Menentukan Optimasi Networking Routing. Skripsi. Universitas Sumatera Utara.

E. Satriyanto. 2009. Algoritma Genetika. (Online)

F. Saptono dan T. Hidayat. 2007. Perancangan Algoritma Genetika untuk Menentukan Jalur Terpendek. Seminar Nasional Aplikasi Teknologi Informasi (yogyakarta)

Fujisawa, J., Ota., K., Sugiyama, T, dan Tsukagi M. 2008. Forbidden subgraph and the existence of paths and cycles passing through specified vertices. Discrete Mathematics308:6111-6114.

Gross, L. J dan Yellen, J. 2006. Graph Theory and Its Applications. Chapman & Hall/CRC.

N.K Cauvery dan K. V. Viswanatha. 2009. Routing in Dynamic Networking using Ants and Genetic Algorithm. International Journal of Computer Science and Network Security.9(3).

Pach, J. dan Tardos, G. 2006. Forbidden paths and cycles in ordered graphs and matrices. Israel Journal of Mathematics:155,:359-380.

Szeider, S. 2003. Finding path in graphs avoiding forbidden transitions. Discrete Applied Mathematics: 126, 261-273.

Villaneuve, D. dan Desaulniers, G. 2005. The shortest path problem with forbidden paths. European Journal of Operational Research: 165,(1):97-107. Yinnone, H. 1997. On paths avoiding forbidden pairs of vertices in a graph. Discrete

Applied Mathematics74,:85-92.

Lampiran 1

DAFTAR PUBLIKASI ILMIAH PENULIS

N o.

Judul Artikel Penulis Publikasi

(Seminar/Jurna l. dll)

Waktu Publikasi

Tempat

1 Ananda

Faridhatul Ulva, Aninda Pencarian Rute Terpendek

dengan Adanya Forbidden Path Menggunakan Genetik

Jurnal Penelitian Teknik Informatika

Medan April 2014


(6)

Algoritma Muliani Prima (Vol.7, No.1)

2 Pengaruh Kombinasi

Algoritma Nguyen Widrow dan Adaptive Learning Rate pada Jaringan Syaraf Tiruan Backpropagition untuk Pengenalan Karakter Alfanumerik

Aninda Muliani,

Ananda Faridhatul Ulva, Dewi

Wahyuni

Jurnal Penelitian Teknik Informatika Prima (Vol.7,

No.1)

Medan April 2014

3 Analisa Konsep Skema Digital Signature dalam

Keamanan Jaringan Menggunakan Elgamal

Ananda Faridhatul

Ulva

Jurnal Teknik dan Informatika

(Vol 1 No.1)

Medan Juli 2012