• Tidak ada hasil yang ditemukan

PENERAPAN ALGORITMA GENETIKA HIBRIDA DENGAN SKEMA PENCARIAN LOKAL ADAPTIF UNTUK PENYELESAIAN TRAVELING SALESMAN PROBLEM PADA ANDROID

N/A
N/A
Protected

Academic year: 2017

Membagikan "PENERAPAN ALGORITMA GENETIKA HIBRIDA DENGAN SKEMA PENCARIAN LOKAL ADAPTIF UNTUK PENYELESAIAN TRAVELING SALESMAN PROBLEM PADA ANDROID"

Copied!
124
0
0

Teks penuh

(1)

DENGAN SKEMA PENCARIAN LOKAL ADAPTIF

UNTUK PENYELESAIAN

TRAVELING SALESMAN

PROBLEM

PADA ANDROID

Skripsi

diajukan sebagai salah satu syarat untuk memproleh gelar Sarjana Pendidikan Program Studi Pendidikan Teknik Informatika dan Komputer

Oleh

Teguh Narwadi NIM.5302411080

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS NEGERI SEMARANG

(2)

ii

Dengan ini saya menyatakan bahwa:

1. Skripsi ini, adalah asli dan belum pernah diajukan untuk mendapatkan gelar akademik (sarjana, magister, dan/atau doktor), baik di Universitas Negeri Semarang (UNNES) maupun di perguruan tinggi lain.

2. Karya tulis ini adalah murni gagasan, rumusan, dan penelitian saya sendiri

tanpa bantuan pihak lain, kecuali arahan Pembimbing dan masukan Tim Penguji.

3. Dalam karya tulis ini tidak terdapat karya atau pendapat yang telah ditulis

atau dipublikasikan orang lain, kecuali secara tertulis dengan jelas dicantumkan sebagai acuan dalam naskah dengan disebutkan nama pengarang dan dicantumkan dalam daftar pustaka.

4. Pernyataan ini saya buat dengan sesungguhnya dan apabila dikemudian

hari terdapat penyimpangan dan ketidakbenaran dalam pernyataan ini, maka saya bersedia menerima sanksi akademik berupa pencabutan gelar yang telah diperoleh karena karya ini, serta sanksi lainnya sesuai dengan norma yang berlaku di perguruan tinggi ini.

(3)

iii

Nama : Teguh Narwadi

NIM : 5302411080

Program Studi : S – 1 Pendidikan Teknik Informatika dan Komputer

Judul Skripsi : Penerapan Algoritma Genetika Hibrida Dengan Skema Pencarian

Lokal Adaptif Untuk Penyelesaian Traveling Salesman Problem

Pada Android

Skripsi ini telah disetujui oleh pembimbing untuk diajukan ke sidang panitia ujian

skripsi Program Studi S-1 Pendidikan Teknik Informatika dan Komputer Jurusan

Teknik Elektro FT. UNNES.

(4)

iv

Skripsi dengan judul Penerapan Algoritma Genetika Hibrida Dengan

Skema Pencarian Lokal Adaptif Untuk Penyelesaian Traveling Salesman Problem

pada Android telah dipertahankan di depan sidang Panitia Ujian Skripsi Fakultas Teknik UNNES pada tanggal Oktober 2015.

Oleh

Nama : Teguh Narwadi

NIM : 5302411080

(5)

v

Motto:

 Sesuatu yang belum dikerjakan, seringkali tampak mustahil, kita baru

yakin kalau kita melakukannya dengan baik. (Evelyn Underhill)

 Jangan biarkan opini orang-orang menghalangimu dari suara hatimu. Dan

yang paling penting, milikilah keberanian untuk mengikuti nurani dan

intuisimu. (Steve Jobs)

 Jangan kecewa apabila hasil yang diperoleh tidak seperti yang diharapkan,

percaya bahwa semuanya adalah kesuksesan, bukan kegagalan. (Thomas

Alva Edison)

Persembahan:

Tuhan Yang Maha Esa

 Bapak, Ibu, Adik, beserta keluarga tercinta

yang tak henti-hentinya memberikan doa, semangat, dan

dukungan.

Teman-teman seperjuangan Pendidikan Teknik Informatika

dan Komputer angkatan 2011.

(6)

vi

Segala puji dan syukur penulis ucapkan kehadirat Allah SWT dan

mengharapkan ridho yang telah melimpahkan rahmat-Nya sehingga dapat

diselesaikan penyusunan skripsi yang berjudul “Penerapan Algoritma Genetika

Hibrida Dengan Adaptasi Skema Pencarian Lokal Untuk Traveling Salesman

Problem Pada Android”. Skripsi ini disusun sebagai salah satu persyaratan meraih

gelar Sarjana Pendidikan pada Program Studi Pendidikan Teknik Informatika dan

Komputer Universitas Negeri Semarang.

Dalam penyusunan skripsi ini tidak bisa lepas dari dukungan berbagai

pihak. Oleh sebab itu pada kesempatan ini ingin diberikan rasa hormat dan ucapan

terima kasih kepada,

1. Prof. Dr. Fathur Rokhman, M.Hum., Rektor Universitas Negeri Semarang

yang telah memberikan kesempatan kepada saya untuk belajar di Universitas

Negeri Semarang.

2. Dr. Nur Qudus, M.T., Dekan Fakultas Teknik Universitas Negeri Semarang

yang telah memberikan ijin untuk melaksanakan penelitian.

3. Drs. Suryono, M.T., Ketua Jurusan Teknik Elektro Fakultas Teknik

Universitas Negeri Semarang yang telah memberikan kesempatan untuk

(7)

vii

5. Dr. Ir. Subiyanto, ST, MT, Dosen pembimbing yang telah memberikan

bimbingan, pengarahan, saran, dan motivasi kepada saya dalam penyusunan

skripsi ini.

6. Segenap dosen jurusan Teknik Elektro Fakultas Teknik Universitas Negeri

Semarang yang telah banyak membekali ilmu pengetahuan.

7. Teman-teman mahasiswa PTIK UNNES angkatan 2011 yang saling

memberikan semangat dan perhatian.

8. Semua pihak yang telah membantu dalam penyusunan skripsi ini.

Penulis hanya bisa memanjatkan doa semoga semua pihak yang telah

membantu penulis dalam penyusunan skripsi ini mendapatkan pahala dari Allah

SWT. Penulis berharap semoga skripsi ini bermanfaat bagi semua pihak

khususnya bagi penulis sendiri dan masyarakat serta pembaca pada umumnya.

Semarang, Oktober 2015

(8)

viii

Narwadi, Teguh. 2015. Penerapan Algoritma Genetika Hibrida Dengan

Skema Pencarian Lokal Adaptif Untuk Penyelesaian Traveling Salesman Problem pada Android. Skripsi, Jurusan Teknik Elektro, Program Studi Pendidikan Teknik Informatika dan Komputer, Fakultas Teknik, Universitas Negeri Semarang. Dr. Ir. Subiyanto S.T., M.T.

Kata Kunci: Traveling Salesman Problem, Algoritma Genetika Hibrida, Pencarian Lokal, Kesamaan Koefisien.

Algoritma genetika (GA) merupakan teknik pencarian berbasis populasi yang digunakan untuk menemukan perkiraan solusi terbaik dalam masalah

optimasi seperti mendapatkan jarak optimal dalam kasus traveling salesman

problem (TSP). Dimana permasalahan utama TSP adalah menemukan rute dengan jarak minimal. Namun terdapat kelemahan dari GA yaitu ketika terjebak pada optimal lokal dan tidak mampu melepaskan diri, sehingga kinerjanya terus memburuk. Salah satu metode perbaikan kelemahan tersebut dengan algoritma genetika hibrida dengan skema pencarian lokal adaptif (HGA). Dalam penelitian ini menyajikan pengaplikasian dari HGA untuk menyelesaian TSP secara efektif. Aplikasi ini dikembangkan pada android karena android saat ini telah banyak digunakan oleh sebagian besar masyarakat dunia dan bersifat mobile.

Penggunaan teknik pencarian lokal digunakan untuk mencari solusi terbaik dari populasi. Jika ditemukan solusi yang lebih baik maka solusi GA diganti dengan solusi yang lebih baik. Untuk mengefektifkan penggunaan pencarian lokal digunakan skema pencarian lokal yang dapat secara otomatis mengontrol penggunaan teknik pencarian lokal kedalam GA sehingga pencarian lokal menjadi adaptif. Solusi terbaik yang dihasilkan oleh algoritma ditampilkan kedalam Google Maps pada Android. Dalam pengujian, untuk menguji efektivitas HGA dengan skema pencarian lokal adaptif dibandingkan dengan GA tanpa pencarian lokal dengan 5 sample kabupaten/kota di Jawa Tengah dengan jumlah kota yang berbeda. Setiap sampel TSP dilakukan simulasi sebanyak 10 kali menggunakan parameter yang telah ditentukan.

(9)

ix

Halaman

HALAMAN JUDUL ... i

PERNYATAAN KEASLIAN TULISAN ... ii

PERSETUJUAN PEMBIMBING ... iii

PENGESAHAN ... iv

MOTTO DAN PERSEMBAHAN ... v

(10)

x

2.1 Penelitian Terdahulu ... 7

2.2 Landasan Teori ... 9

2.2.1 Traveling Salesman Problem ... 9

2.2.2 Algoritma Genetika ... 11

2.2.3 Pencarian Lokal ... 18

2.2.4 Skema Pencarian Lokal Adaptif... 19

2.2.5 Algoritma Genetika Hibrida ... 21

2.2.6 Android ... 23

BAB IIIMETODE PENELITIAN... 28

3.1 Studi Pustaka ... 28

3.2 Analisis Permasalahan ... 28

3.3 Mapping HGA dengan skema pencarian lokal adaptif pada TSP ... 30

3.3.1 Algoritma Genetika untuk menyelesaikan TSP ... 30

3.3.2 Algoritma Genetika Hibrida Dengan Skema Pencarian Lokal Adaptif untuk menyelesaikan TSP ... 34

3.4 Tahap Pengembangan Sistem ... 37

3.4.1 Analisis Hardware dan Software ... 37

(11)

xi

3.5.2 Pengkodean ... 44

3.6 Pengujian ... 51

BAB IVHASIL DAN PEMBAHASAN ... 54

4.1 Hasil Penelitian ... 54

4.1.1 Hasil Sistem TSP pada Android ... 54

4.1.2 Hasil Pengujian ... 58

4.2 Pembahasan ... 64

4.2.1 Perbandingan Hasil Pengujian ... 64

4.2.2 Analisis Hasil Pengujian ... 67

4.2.3 Analisis Penggunaan Pencarian Lokal dalam HGA ... 75

4.2.4 Komparasi dengan penelitian lain... 79

4.2.5 Hambatan Penelitian ... 80

BAB VPENUTUP ... 82

5.1 Simpulan ... 82

5.2 Saran ... 82

DAFTAR PUSTAKA ... 83

(12)

xii

Tabel 3.1 Sampel 5 Kota ... 30

Tabel 3.2 Jarak Antar Kota ... 31

Tabel 3.3 Populasi Awal ... 31

Tabel 3.4 Inverse fungsi objektif ke fungsi fitness ... 32

Tabel 3.5 Populasi Baru ... 34

Tabel 3.6 Individu baru yang dihasilkan ... 36

Tabel 3.7 Daftar Kabupaten/Kota di Jawa Tengah ... 51

Tabel 4.1 Hasil percobaan data case1... 59

Tabel 4.2 Hasil percobaan data case2... 60

Tabel 4.3 Hasil percobaan data case3... 61

Tabel 4.4 Hasil percobaan data case4... 62

Tabel 4.5 Hasil percobaan data case5... 63

Tabel 4.6 Perbandingan Hasil Pengujian Jarak ... 64

(13)

xiii

Halaman

Gambar 2.1 Posisi kota-kota yang akan dilewati ... 10

Gambar 2.2 Kerangka Kerja Algoritma Genetika (Zukhri, 2014) ... 12

Gambar 2.3 Proses Seleksi Turnamen ... 16

Gambar 2.4 Proses order crossover ... 17

Gambar 2.5 Proses Exchange Crossover ... 18

Gambar 2.6 Tampilan Awal Peta ... 26

Gambar 2.7 Contoh Penggunaan Markers ... 27

Gambar 2.8 Contoh Penggunaan Polyline ... 28

Gambar 3.1 Desain Penelitian dan Pengambangan HGA ... 29

Gambar 3.2 Permintaan marker pada Google Maps ... 39

Gambar 3.3 Alur proses sistem yang berjalan ... 40

Gambar 3.4 Tampilan Dashbord Admin ... 41

Gambar 3.5 Tampilan Halaman Awal User ... 41

Gambar 3.6 Tampilan Halaman Input Kota ... 42

Gambar 3.7 Tampilan Halaman Hasil Perhitungan Algoritma ... 42

(14)

xiv

Gambar 3.11 Source code swap mutasi ... 46

Gambar 3.12 Source code algoritma genetika ... 47

Gambar 3.13 Source code hill climbing ... 47

Gambar 3.14 Source code cosine similarity ... 49

Gambar 3.15 Source code cosine similarity dalam populasi ... 50

Gambar 3.16 Source code fungsi HGA ... 50

Gambar 4.1 Tampilan Halaman Utama Aplikasi ... 54

Gambar 4.2 Tampilan Halaman Select Kota ... 55

Gambar 4.3 Tampilan Halaman Markers Kota ... 56

Gambar 4.4 Tampilan Halaman Pilih Algoritma ... 56

Gambar 4.5 Tampilan Halaman Hasil Perhitungan ... 57

Gambar 4.6 Tampilan Dashboard Admin ... 58

Gambar 4.7 Tampilan Halaman Tentang Aplikasi ... 58

Gambar 4.8 Grafik Jarak Perjalanan pada Case1 ... 67

Gambar 4.9 Grafik Jarak Perjalanan pada Case2 ... 68

Gambar 4.10 Grafik Jarak Perjalanan pada Case3 ... 69

(15)

xv

Gambar 4.14 Grafik Waktu Komputasi pada Case2 ... 72

Gambar 4.15 Grafik Waktu Komputasi pada Case3 ... 73

Gambar 4.16 Grafik Waktu Komputasi pada Case4 ... 74

Gambar 4.17 Grafik Waktu Komputasi pada Case5 ... 74

Gambar 4.18 Presentase Pencarian Lokal dalam HGA pada Case1... 76

Gambar 4.19 Presentase Pencarian Lokal dalam HGA pada Case2... 76

Gambar 4.20 Presentase Pencarian Lokal dalam HGA pada Case3... 77

Gambar 4.21 Presentase Pencarian Lokal dalam HGA pada Case4... 78

(16)

xvi

Halaman

Lampiran 1. Hasi Sistem Algoritma Penyelesaian TSP ... 85

Lampiran 2. Hasil Rute Perjalanan Optimal Menggunakan HGA ... 87

Lampiran 3. Grafik Nilai Fitness HGA ... 88

Lampiran 4. Hasil Penggunaan Pencarian Lokal ... 89

(17)

1

BAB I

PENDAHULUAN

1.1

Latar Belakang Masalah

Traveling Salesman Problem (TSP) adalah masalah klasik optimasi

kombinatorial dan telah diaplikasikan dalam planning, scheduling, sequencing

dan vehicle routing problem (Rafsanjani, et al., 2015). TSP merupakan

permasalahan rute perjalanan untuk mengunjungi banyak kota dan setiap kota

dikunjungi satu kali, dimulai dan diakhiri pada kota yang sama dimana jarak

perjalanan minimal (Bryant, 2000). Dalam teori kompleksitas komputasi, TSP

termasuk dalam kelas masalah NP-hard (non-deterministic polynomial-time

hard), dengan demikian, bahwa tidak ada algoritma yang menjamin untuk

mendapatkan rute yang optimal dalam waktu singkat (Berninger, 2014).

Satu metode yang pasti akan menemukan solusi optimal dari TSP adalah

penghitungan menyeluruh dan evaluasi. Prosedur ini dimulai dengan

membangkitkan kemungkinan semua perjalanan dan mengevaluasinya sesuai

panjang perjalanan. Perjalanan dengan panjang terkecil dipilih sebagai yang

terbaik, dan dijamin akan optimal (Homaifar, et al., 1992). Dalam penelitian yang

dilakukan oleh Adullah Homaifar (1992) jika mampu mengidentifikasi dan

(18)

diperlukan hampir sepuluh juta tahun (jumlah kemungkinan tur = 3.2 × )

untuk mengevaluasi semua tur pada 25 kota TSP.

Untuk dapat menghasilkan solusi optimal dalam waktu yang singkat pada

TSP diperlukan sebuah metode heuristik. Beberapa metode heuristik yang biasa

digunakan untuk menyelesaikan TSP adalah Simulated Annealing, Tabu Search,

Ant Colony Optimization, Artificial Immune System, dan Genetic Algorithm

(Zukhri, 2014: 10). Genetic Algorithm/ Algoritma Genetika (GA) merupakan

teknik pencarian berbasis populasi yang digunakan untuk menemukan perkiraan

solusi terbaik dalam masalah optimasi menggunakan operator genetik (Reese,

2009). GA dapat menjadi alternatif untuk menyelesaikan TSP, karena telah

terbukti lebih efisien dalam menemukan solusi optimal atau mendekati optimal

(Chang, et al., 2010; Changdar, et al., 2013; Gupta dan Panwar, 2013).

Terdapat kelemahan besar didalam GA bahwa ketika terjebak pada lokal

optimum, kinerja GA terus memburuk dan tidak ada cara untuk melepaskan diri

(Yun, et al., 2009). Oleh karena itu, GA terkadang tidak mampu menemukan

solusi optimal untuk masalah TSP. Salah satu metode untuk mengatasi kelemahan

tersebut adalah hibridisasi dengan teknik pencarian lokal. Teknik ini dapat

meningkatkan performa dari GA dengan dengan memasukkan individu baru

terbaik ke dalam perulangan GA (Zhao, et al, 2009; Ahmed, 2013; Wang, 2014).

Penelitian ini menyajikan pengaplikasian dari hibridisasi GA dengan

menggunakan skema pencarian lokal adaptif untuk menyelesaikan TSP. Skema

pencarian lokal tersebut dapat mengontorol penggunaan teknik pencarian lokal

(19)

terbukti efektif dibandingkan dengan GA tanpa pencarian lokal dalam

menyelesaikan permasalahan optimasi seperti TSP (Yun, et al., 2009; Rafsanjani, et

al., 2015).

Kebutuhan aplikasi untuk menentukan rencana perjalanan dengan rute yang

optimal dibutuhkan banyak perusahaan pada saat ini. Sebagai contoh, pada

perusahaan jasa pengiriman barang seperti JNE, TIKI, dan POS Indonesia, dimana

seorang kurir/ salesman harus mengirimkan barang kepada konsumen dengan

tempat tujuan yang berbeda-beda. Tujuan dari perusahaan tersebut adalah untuk

mendapatkan keuntungan yang maksimal sehingga aplikasi yang mampu

memandu para kurir dan menentukan rute perjalanan yang optimal (dengan jarak

yang minimal) dibutuhkan untuk mencapai tujuan tersebut. Aplikasi tersebut

dikembangkan pada android karena android merupakan sistem operasi yang

paling banyak digunakan diseluruh dunia berdasarkan installed base dari semua

sistem operasi pada tahun 2015 (Manjoo, 2015). Selain itu android bersifat mobile

yang tentunya mudah untuk dibawa dan telah terintegrasi dengan Google Maps.

Dalam penelitian ini, penulis mengangkat judul Penerapan Algoritma Genetika

Dengan Skema Teknik Pencarian Lokal Adaptif untuk Penyelesaian

Traveling Salesman Problem pada Android.

1.2

Rumusan Masalah

Berdasarkan latar belakang di atas, kelemahan GA ketika terjebak dapat

keadaan optimal lokal, yang mengakibatkan GA terkadang tidak mampu

(20)

ditingkatkan menggunakan HGA dengan skema pencarian lokal adaptif, yang

secara otomatis dapat mengontrol penggunaan teknik pencarian lokal kedalam GA

secara efektif. Sehingga dapat dirumuskan masalah, bagaimanakah menerapkan

Algoritma Genetika Hibrida dengan Skema Pencarian Lokal Adaptif secara efektif

dalam menyelesaikan Traveling Salesman Problem pada Android.

1.3

Batasan Masalah

Berdasarkan masalah diatas maka dalam penelitian ini, permasalahan

dibatasi sebagai berikut:

a. Rute perjalanan yang digunakan dalam lingkup antar kota-kota di provinsi

Jawa Tengah.

b. Data jarak perjalanan diperoleh dari penghitungan jarak antar dua kota,

menggunakan fungsi jarak.

c. Penentuan rute optimum, dimana penjumlahan jarak-jarak semua kota yang

dikunjungi paling kecil/ terpendek berarti rute yang paling optimal.

d. Perencanaan perjalanan kota-kota yang akan dikunjungi ditampilkan

menggunakan Markers dalam Google Maps Android.

e. Hasil keluaran sistem menggambarkan rute optimum dari kota-kota yang

dikunjungi digambarkan dengan polyline.

f. Dalam perencanaan perjalanan tidak memperhatikan kota awal dan kota

(21)

1.4

Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk mewujudkan Algoritma Genetika

Hibrida dengan Skema Pencarian Lokal Adaptif efektif dalam menyelesaikan

Traveling Salesman Problem.

1.5

Manfaat Penelitian

Penelitian ini dapat memberikan manfaat sebagai berikut:

a. Penelitian ini diharapkan dapat membantu meningkatkan efektifitas

algoritma genetika dalam menyelesaikan traveling salesman problem.

b. Penelitian ini diharapkan dapat menghasilkan aplikasi dalam menyelesaikan

traveling salesman problem yang berjalan pada sistem operasi android.

1.6

Sistematika Penulisan

Sistematika penulisan terdiri dari tiga bagian, yaitu bagian awal, bagian isi

dan bagian akhir.

1. Bagian awal

Bagian awal skripsi terdiri dari halaman judul, halaman persetujuan,

halaman pengesahan, halaman moto dan persembahan, prakata, daftar isi, daftar

tabel, daftar gambar dan daftar lampiran.

2. Bagian isi

(22)

Bab I : Pendahuluan

Bagian pendahuluan berisi tentang latar belakang, rumusan masalah,

tujuan dan manfaat penelitian dan sistematika penulisan.

Bab II : Tinjauan Pustaka

Bagian tinjauan pustaka berisi tentang penelitian terdahulu dan landasan

teoritis yang dikemukakan tentang teori-teori yang mendukung

penelitian.

Bab III : Metode Penelitian

Bagian metode penelitian berisi tentang jenis penelitian, prosedur

penelitian, rancangan dan pengembangan sistem, implementasi dan

pengujian sistem

Bab IV : Hasil dan Pembahasan

Bagian ini berisi hasil penelitian dan pembahasan penelitian.

Bab V : Kesimpulan dan Saran

Bagian ini berisi tentang kesimpulan penelitian dan saran.

3. Bagian akhir

Bagian akhir skripsi terdiri dari daftar pustaka dari jurnal, buku dan

kepustakaan lain yang digunakan sebagai acuan dalam skripsi serta terdiri dari

(23)

7

BAB II

TINJAUAN PUSTAKA

2.1

Penelitian Terdahulu

Penelitian mengenai algoritma genetika hibrida untuk penyelesaian

traveling salesman problem sudah ada penelitian sebelumnya, diantaranya oleh

Feng-Gen Zhao, Jiang-Sheng Sun, Su-Jian Li, Wei-Min Liu (2009) dalam

penelitiannya yang berjudul A Hybrid Genetic Algorithm for the Traveling

Salesman Problem with Pickup and Delivery. Dalam penelitian ini untuk

menyelesaikan permasalahan traveling salesman problem digunakan algoritma

genetika hibrida. Hibridisasi yang dilakukan hanya menambahkan teknik

pencarian lokal kedalam algoritma genetika untuk mempercepat laju konvergen.

Hasil yang diperoleh membuktikan bahwa algoritma genetika hibrida mampu

mengungguli algoritma tabu search dalam akurasi hasil jarak.

Penelitian yang dilakukan oleh YoungSu Yun, Chiung Moon dan Dacho

Kim (2009) dengan judul penelitian Hybrid genetic algorithm with adaptive local

search scheme for solving multistage-based supply chain problems. Dalam

penelitian ini terdapat skema pencarian lokal untuk mengontrol penggunaan

teknik pencarian lokal kedalam algoritma genetika sehingga algoritma yang

dibangun lebih efisien. Algoritma tersebut diterapkan pada permasalahan

(24)

algoritma genetika hibrida mampu mengungguli algoritma genetika tanpa

pencarian lokal dalam menyelesaikan multistage-based supply chain problems.

Penelitian lain yang dilakukan oleh Marjan Kuchaki Rafsanjani, Sadegh

Eskandari dan Arsham Borumand Saeid (2015) dengan judul penelitian A

similarity-based mechanism to control genetic algorithm and local search

hybridization to solve traveling salesman problem. Penelitian ini dalam prosesnya

menggunakan mekanisme berbasis kesamaan untuk mengontrol penggunaan

pencarian lokal kedalam perulangan algoritma genetika. Hasil yang didapatkan

menunjukkan bahwa algoritma genetika hibrida mampu menemukan panjang rute

yang optimal disemua percobaan dibandingkan dengan algoritma genetika tanpa

pencarian lokal.

Dalam penelitian Anupriya dan Mansi Saxena (2013) dengan judul An

Android Application for Google Map Navigation System Implementing Traveling

Salesman Problem, dalam penelitian tersebut menggunakan algoritma genetika

sederhana yang diimplementasikan pada google maps yang berjalan pada sistem

operasi android. Hasil yang diperoleh bahwa implementasi algoritma genetika

untuk menyelesaikan traveling salesman problem mampu dibangun di sistem

operasi Android. Berdasarkan uraian diatas, penulis menerapkan algoritma

genetika hibrida dengan skema pencarian lokal adaptif untuk menyelesaikan

(25)

2.2

Landasan Teori

2.2.1 Traveling Salesman Problem

Traveling Salesman Problem (TSP) merupakan salah satu masalah yang

paling popular dalam optimasi kombinatorial dan telah diaplikasikan dalam

perencanaan, penjadwalan, sequencing dan vehicle routing problems (Rafsanjani,

et al., 2015).

a. Deskripsi Umum

Travelling Salesmen Problem (TSP) termasuk ke dalam kelas NP hard yang

pada umumnya menggunakan pendekatan heuristik untuk mencari solusinya.

Permasalahan utama dari TSP adalah bagaimana seorang salesman dapat

menentukan rute perjalananannya untuk mengunjungi sejumlah kota yang

diketahui jarak satu kota dengan kota lainnya sehingga jarak yang ditempuh

merupakan jarak minimum dimana salesmen hanya dapat mengunjungi kota

tersebut tepat satu kali (Bryant, 2000).

Persoalan yang dihadapi TSP adalah bagaimana merencanakan total jarak

yang minimum. Untuk menyelesaikan persoalan tersebut, tidak mudah dilakukan

karena terdapat ruang pencarian dari sekumpulan permutasi sejumlah kota. Maka

TSP kemudian dikenal dengan persoalan Non Polinomial. Gambaran sederhana

(26)

Gambar 2.1 Posisi kota-kota yang akan dilewati

Persoalan TSP dapat dipecahkan dengan mengenumerasi , dengan n

adalah jumlah kota dan kemudian memilih rute dengan panjang terpendek. Posisi

kota dengan jumlah 4 kota (a, b, c, d) seperti ditunjukkan pada gambar 2.1

tersebut memiliki rute yang dapat dilalui, yaitu:

R1 = (a, b, c, d, a) atau (a, d, c, b, a) dengan panjang rute 10 + 12 + 8 + 15 = 45

R2 = (a, c, d, b, a) atau (a, b, d, c, a) dengan panjang rute 12 + 5 + 9 + 15 = 41

R3 = (a, c, b, d, a) atau (a, d, b, c, a) dengan panjang rute 10 + 5 + 9 + 8 = 32

Jadi, rute terpendek adalah R3 = (a, c, b, d, a) atau (a, d, b, c, a) dengan

panjang rute 10 + 5 + 9 + 8 = 32. Ini adalah solusi persoalan TSP untuk gambar

2.1

b. Fungsi Objektif

Fungsi objektif merupakan fungsi tujuan dari permasalahan, dalam TSP

tujuan utama adalah mendapatkan jarak minimal dari sebuah perjalanan. Secara

matematis, TSP dapat didefinisikan sebagai kumpulan dari n kota { , ,… },

dan permutasi ,..., !, tujuannya adalah untuk memilih sehingga jumlah

(27)

jarak antar kota digunakan fungsi objektif TSP pada persamaan 2.1 (Fajardo

dan Oppus, 2010).

Jika jarak tempuh antar kota , kota pertama adalah dan

merupakan kota terakhir dalam setiap perjalanan dan koordinat kota

dari seluruh kota , dimana salesman akan mengunjungi semua kota, kemudian

total jarak dalam semua perjalanan (f). Fungsi untuk menghitung jarak dalam

seluruh perjalanan dinyatakan dalam persamaan 2.2 (Davendra, 2010).

2.2.2 Algoritma Genetika

Algoritma genetika merupakan suatu metode heuristik yang dikembangkan

berdasarkan prinsip genetika dan proses seleksi alamiah Teori Evolusi Darwin.

Dalam algoritma genetika proses pencarian penyelesaian atau proses terpilihnya

sebuah penyelesaian berlangsung sama seperti terpilihnya suatu individu untuk

bertahan hidup dalam proses evolusi (Zukhri, 2014: 10).

a. Struktur Umum

Kerangka kerja yang biasa digunakan dalam penerapan algoritma genetika

(28)

Permasalahan optimasi yang diselesaikan dengan algoritma genetika perlu

dikodekan ke dalam kromosom. Hal ini disebabkan dalam proses komputasi yang

sebenarnya, kromosom-kromosom itulah yang diproses menggunakan

operator-operator genetika seperti seleksi, penyilangan, dan mutasi.

Gambar 2.2 Kerangka Kerja Algoritma Genetika (Zukhri, 2014)

Dalam algoritma genetika, pemrosesan kromosom-kromosom sebagai

sebuah populasi oleh operator genetika terjadi secara berulang. Pada mulanya

populasi awal dibangkitkan secara acak. Selanjutnya, operator-operator genetika

menggabungkan informasi genetis untuk membentuk populasi generasi

berikutnya. Pada generasi berikutnya, nilai fitness kromosom sebagai representasi

dari penyelesaian masalah diharapkan bertambah semakin bagus (Zukhri, 2014:

(29)

Procedure: Algoritma Genetika

Input: Permasalahan optimasi, parameter GA

Output: Solusi terbaik

Menghasilkan populasi secara acak sebanyak jumlah populasi

Step4: Operator Genetika

Step4.1: Seleksi

Memilih dua orang tua menggunakan metode seleksi

Step4.2: Crossover

Menyilangkan dua orangtua yang dipilih menggunakan metode crossover

Step4.3: Mutasi

Menukar gen anak yang dihasilkan menggunakan metode mutasi

Step5: Kondisi Berhenti

Kondisi berhenti telah ditetapkan menggunakan jumlah generasi. Jika jumlah generasi terpenuhi maka proses perulangan berhenti

End

b. Representasi

Hal pertama yang harus dilakukan dalam algoritma genetika adalah

bagaimana solusi dari masalah direpresentasikan sebagai kumpulan kromosom.

Representasi meliputi pengkodean gen dari kromosom. Gen merupakan bagian

dari kromosom, dimana satu gen mewakili satu variabel. Gen dapat

direpresentasikan dalam bentuk: string bit, array bilangan real, path/jalur, elemen

permutasi, dan lain-lain (Kusumadewi, 2003:280). Representasi path merupakan

representasi paling nyata dari perjalanan dalam TSP, solusi direpresentasikan

(30)

Misalkan dalam kasus TSP, biasanya kromosom tersusun dari indeks setiap

kota. Jika banyaknya kota adalah 9, maka kromosom terdiri dari 9 gen. Setiap gen

dapat berisi bilangan bulat yang merupakan indeks dari kota-kota tersebut. Misal

P Є {Pati, Kudus, Grobogan, Solo, Semarang, Demak, Jepara, Rembang,

Boyolali}, maka kromosom dapat dikodekan sebagai kombinasi bilangan 1

sampai 9. Jika kesembilan kota diindeks dengan urutan seperti itu, maka

kromosom

1 2 3 4 5 6 7 8 9

Mempresentasikan rute,

Pati–Kudus–Grobogan–Solo–Semarang–Demak–Jepara–Rembang–Boyolali.

c. Inisialisasi Populasi

Inisialisasi populasi merupakan proses pembentukan populasi awal dari

kromosom sebanyak ukuran populasi (UkPop). Ukuran populasi mempengaruhi

kinerja algoritma genetika jika masalahnya menjadi lebih sulit maka ukuran

populasi harus meningkatkan (Reese, 2009). Mengingat setiap kromosom

menyatakan urutan kota yang harus dikunjungi oleh salesman, maka representasi

kromosom yang paling sederhana untuk menyatakan penyelesaian TSP adalah

dalam bentuk permutasi dari indeks kota dan dapat dinyatakan sebagai vector v

berikut:

vi = [g1, g2, … , gN],

(31)

Populasi awal dibentuk secara acak. Hal ini berarti bahwa penyelesaian

yang dihasilkan oleh algoritma genetika pada generasi pertama didapat dari

penjumlahan jarak antar kota yang didekode dari bilangan kromosom v1, v2, … ,

vUkPop (Zukhri, 2014).

d. Proses Evaluasi

Proses evaluasi merupakan proses untuk menghitung nilai fitness yang

menyatakan tingkat kualitas kromosom. Dalam masalah TSP, fungsi fitness tidak

dapat didefinisikan secara langsung dari fungsi objektif karena TSP merupakan

masalah pencarian nilai minimum (Zukhri, 2014). Oleh karena itu, fungsi fitness

harus dipetakan dari fungsi objektifnya, dengan persamaan 3.

eval(v )=

Dimana eval(v) merupakan fungsi fitness dan f (v) adalah fungsi objektif TSP.

e. Proses Seleksi

Seleksi merupakan operator dalam algoritma genetika yang bertujuan untuk

memilih kromosom yang tetap bertahan dalam populasi untuk mengalami proses

penyilangan. Salah satunya adalah Seleksi Turnamen, Dalam seleksi ini,

kromosom-kromosom dalam suatu populasi dibagi menjadi beberapa grup secara

acak. Setiap grup harus beranggotakan paling tidak dua kromosom. Seleksi

dilakukan dengan mempertahankan kromosom dengan nilai fitness tertinggi pada

(32)

yang lebih kecil, menyebabkan komputasi dalam model seleksi ini lebih ringan

dibandingakan dengan model seleksi peringkat (Zukhri, 2014: 43).

Pada metode seleksi dengan turnamen ini, akan ditetapkan suatu nilai

turnamen untuk individu-individu yang dipilih secara random dari suatu populasi.

Individu-individu yang terbaik dalam kelompok ini akan diseleksi sebagai induk.

Parameter yang digunakan pada metode ini adalah ukuran turnamen yang bernilai

antara 2 sampai N jumlah individu dalam suatu populasi (Kusumadewi, 2003:

289). Seleksi turnamen lebih efisien dan sederhana dalam implementasi

dibandingkan metode seleksi yang lain (Razali dan Geraghty, 2011). Pada gambar

2.3 ditunjukkan proses seleksi turnamen dengan N=3.

Gambar 2.3 Proses Seleksi Turnamen

f. Crossover

Crosover atau penyilangan merupakan operator dalam algoritma genetika

yang bertujuan untuk melahirkan kromosom baru yang mewarisi sifat-sifat

induknya (Zukhri, 2014:43). Salah satu metode crossover adalah Order

Crossover, pada order crossover (OX) untuk menghasilkan keturunan dipilih dua

(33)

pertama yang berada diantara titik penyilangan digantikan oleh gen-gen pada

induk kedua. OX tepat digunakan untuk representasi path / permutasi, karena OX

bukan merupakan masalah permutasi melingkar (Liu, et al., 2014). Dalam gambar

2.8 akan dijelaskan proses dari OX (Berninger, 2014).

Gambar 2.4 Proses order crossover

g. Mutasi

Fungsi mutasi adalah untuk menambah keragaman dalam populasi dan

mencegah kromosom jatuh ke dalam minimum lokal (Wang, 2014). Salah satu

metode mutasi adalah Mutasi Exchange Dalam metode mutasi exchange, proses

(34)

(Berninger, 2014). Untuk lebih jalasnya dapat dilihat ilustrasi metode mutasi ini

dalam gambar 2.12.

Gambar 2.5 Proses Exchange Crossover

h. Elitisme

Karena seleksi dilakukan secara random, maka tidak ada jaminan bahwa

suatu individu bernilai fitness tertinggi akan selalu terpilih. Atau bahkan dapat

rusak (nilai fitnessnya menurun) karena proses pindah-silang dan proses mutasi.

Untuk menjaga agar individu bernilai fitness tertinggi tersebut tidak hilang selama

proses evolusi, maka perlu dibuat satu atau beberapa kopinya. Prosedur ini sering

dikenal sebagai elitisme (Suyanto, 2005).

2.2.3 Pencarian Lokal

Pencarian lokal merupakan metode optimasi klasik yang menghasilkan

solusi optimal lokal dengan mengeksplorasi lingkungan dari solusi awal yang

diberikan. Penggunaan teknik pencarian lokal telah terbukti berguna dalam

memecahkan masalah kombinatorial. Untuk teknik pencarian lokal, Hill Climbing

yang disarankan oleh Michalewicz (1994) digunakan dalam penelitian ini. Hill

Climbing (HC) merupakan algoritma pencarian untuk solusi yang lebih baik di

(35)

menemukan solusi yang lebih baik, perubahan solusi saat ini dengan solusi baru.

Jika solusi baru tidak lebih baik dari solusi saat ini maka algoritma berhenti dan

menyimpan solusi optimal lokal saat ini. Metode ini dapat menjamin sifat yang

diinginkan dari teknik pencarian lokal untuk hibridisasi dengan GA (Yun, 2006).

Prosedur HC adalah sebagai berikut:

Procedure: Perulangan metode hill climbing

Begin

Pilih individu terbaik dari populasi sekarang menggunakan nilai fitness

Hasilkan individu secara acak sebanyak ukuran populasi dari lingkungan

Pilih individu dengan nilai fitness terbaik dari individu yang baru

2.2.4 Skema Pencarian Lokal Adaptif

Konsep dasar dari penerapan skema pencarian lokal adaptif ke dalam GA

adalah mempertimbangkan apakah GA konvergen ke solusi optimal global atau

optimal lokal. Ketika GA konvergen ke solusi optimal global, solusi yang

dihasilkan terus meningkat. Namun, ketika GA konvergen ke solusi optimal lokal,

kinerja GA terus memburuk (Yun, et al., 2009). Dalam situasi ini GA terjebak

dalam kondisi optimum lokal, dimana sulit bagi GA menghindari konvergensi

dini untuk solusi optimal lokal. Istilah konvergensi dini berarti bahwa populasi

(36)

awal. Dalam hal ini, keturunan yang dihasilkan dari orang tua menggunakan

bantuan operator genetik tidak lebih unggul dibandingkan orang tua mereka.

Kelemahan tersebut dapat ditingkatkan dengan teknik pencarian lokal yang dapat

mencari di sekitar area konvergensi di perulangan GA dan memasukkan individu

baru dengan nilai fitness yang lebih tinggi kedalam perulangan GA (Yun, 2006;

Yun et al, 2009).

Berdasarkan konsep tersebut di atas, skema pencarian lokal adaptif

diusulkan dalam penelitian ini. Skema pencarian lokal adaptif yang diusulkan

adalah dengan menggunakan similarity coefficient method (SCM). Untuk

informasi tentang SCM yang digunakan dalam skema pencarian lokal adaptif,

penulis merujuk pada penelitian yang dilakukan oleh Rafsanjani, et al., 2015.

SCM menggunakan kesamaan koefisien untuk mengukur kesamaan dua individu.

Dalam penelitian ini metode kesamaan koefisien yang digunakan adalah cosine

similarity, sebagai metode cosinus tepat untuk mengukur kesamaan yang ada antar

individu berbasis prioritas dalam populasi GA untuk traveling salesman problem

karena urutan traveling tidak berubah dengan skala individu.

Cosine similarity merupakan ukuran kesamaan antara dua vektor dari hasil

kali yang mengukur cosinus dari sudut yang dihasilkan. Untuk menghitung

Cosine similarity antara dua individu dan

dari populasi, di hitung menggunakan persamaan 2.4.

(37)

= vektor dot produk dari l dan m, dihitung dengan

= panjang dari vector l, dihitung dengan

= panjang dari vector m, dihitung dengan

Untuk menghitung rata-rata cosine similarity untuk semua individu dari

populasi GA, dihitung menggunakan persamaan 5 (Rafsanjani, et al., 2015).

dimana,

P = Populasi dari GA

|P| = Ukuran opulasi

Penggunaan teknik pencarian lokal ke GA diatur oleh kondisi berikut ini:

2.2.5 Algoritma Genetika Hibrida

Dalam algoritma genetika hibrida (HGA) penulis menggabungkan algoritma

genetika dengan pencarian lokal menggunakan skema pencarian lokal adaptif

(38)

perulangan GA. Skema pencarian lokal adaptif yang digunkan adalah metode

kesamaan koefisien. Ketika GA terus konvergen maka kesamaan antara individu

dalam populasi menjadi lebih tinggi. Menyebabkan nilai fitness antara individu

menjadi mirip satu sama lain dan keragaman dari populasi berkurang, yang

pastinya kinerja GA akan memburuk.

Oleh karena itu, alternatif yang dapat digunakan untuk meningkatkan

kinerja GA adalah menambahkan individu baru ke dalam populasi GA dengan

menggunakan metode pencarian lokal hill climbing. Individu-individu baru tidak

harus memiliki kesamaan yang sama dengan populasi saat ini dan juga menjaga

nilai fitness tinggi tertentu yang mirip dengan kesamaan populasi.

Individu-individu yang dihasilkan dari metode pencarian lokal dapat mencari di sekitar area

konvergensi menggunakan perulangan GA. Untuk prosedur dari HGA dalam

menyelesaikan TSP adalah sebagai berikut:

Algoritma: HGA untuk Traveling Salesman Problem

Input: Data kota-kota TSP

Output: Rute perjalanan terbaik

Begin

Step1: Algoritma Genetika

Step1.1: Representasi

Pengkodean masalah menggunakan path representasi

Step1.2: Inisialisasi populasi

Menghasilkan populasi secara acak sebanyak jumlah populasi

Step1.3: Evaluasi

Evaluasi populasi sekarang dengan fungsi fitness kemudian salin individu terbaik menggunakan elitism

Step1.4: Operator genetika

Step1.4.1: Seleksi

Menghasilkan dua orangtua menggunakan seleksi turnamen

(39)

Pindah silang dua orangtua yang dipilih menggunakan order crossover

Step1.4.3: Mutasi

Tukar gen anak yang dihasilkan menggunakan mutasi exchange

Step1.5: Kondisi berhenti

Kondisi berhenti telah ditetapkan menggunakan jumlah generasi. Jika jumlah generasi terpenuhi maka proses perulangan akan berhenti

Step2: Pencarian lokal

Terapkan teknik pencarian lokal jika kondisi pada skema pencarian lokal adaptif telah terpenuhi. Lanjutkan ke Step 1.3

End

2.2.6 Android

Dalam pembahasan ini dirujuk dari website resmi Developer Android

(2015). Android menyediakan framework aplikasi yang memungkinkan untuk

membangun aplikasi dan game yang inovatif untuk perangkat mobile dalam

bahasa pemrograman Java. Android telah terintegrasi dengan Google API yang

memungkinkan developer untuk membangun aplikasi menggunakan berbagai API

Android yang disediakan oleh Google diantaranya Google Maps API Android V2.

a. Google Maps API Android V2

Google Maps Android API merupakan layanan dari Google yang berfungsi

untuk mengintegrasikan peta pada aplikasi yang dibangun berdasarkan pada

Google Maps data. API secara otomatis menangani akses ke Google Maps server

seperti data download, dan tampilan peta. Fungsi lain dari API yaitu dapat

(40)

pandangan user dari peta ke area tertentu. API memberikan informasi tambahan

untuk lokasi pada peta, dan memungkinkan untuk menambahkan grafis pada peta:

- Menambahkan ikon untuk menentukan posisi tertentu pada peta (Markers).

- Menambahkan segmen garis (Polyline).

- Menambahkan segmen tertutup (Poligon).

- Menambahkan grafik bitmap ke posisi tertentu di peta (Ground Overlays).

- Menambahkan gambar yang ditampilkan diatas peta (Tile Overlays).

Google Maps Android API tidak terdapat dalam platform Android, tetapi

tersedia pada perangkat dengan Google Play Store yang berjalan pada Android 2.2

atau lebih tinggi, melalui Google Play Services.

b. Integrasi Google Maps Android

Untuk mengintegrasikan Google Maps ke dalam aplikasi, perlu menginstal

Google Play services libraries pada framework ADT. Kemudian untuk

mendapatkan akses Google Maps API, diperlukan Android API key dan

menambahkan kedalam aplikasi yang dibangun. Untuk mendapatkan API key

harus dihasilkan dengan menggunakan SHA1 fingerprint dari komputer

developer, berikut perintah yang harus dijalankan:

keytool -list -v -keystore

"%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey

(41)

Daftarkan SHA1 fingerprint di Google APIs Console untuk mendapatkan

API key dan dapat mengakses Google Maps Android V2. Dalam

AndroidManifest.xml, tambahkan API key seperti baris kode berikut:

<meta-data

android:name="com.google.android.geo.API_KEY"

android:value="API_KEY"/>

Menentukan izin kebutuhan aplikasi, dengan menambahkan

<uses-permission> elemen sebagai sub dari <manifest> elemen dalam

AndroidManifest.xml. Tambahkan izin berikut untuk menggunakan Google Maps

Android API:

<uses-permission android:name="android.permission.INTERNET"/> <uses-permission

android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission

android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Setelah beberapa pengaturan, tampilan peta pada Aplikasi Android

(42)

Gambar 2.6 Tampilan Awal Peta

c. Markers

Markers mengidentifikasi lokasi pada peta. Markers default menggunakan

ikon standar yang umum untuk Google Maps. Dengan API dapat untuk mengubah

warna, gambar atau anchor point ikon. Markers adalah objek dari jenis Marker,

dan ditambahkan ke peta dengan metode GoogleMap.addMarker

(43)

Gambar 2.7 Contoh Penggunaan Markers

Pada aplikasi yang dibangun marker digunakan untuk penanda lokasi awal

sebagai kota keberangkatan dan kota-kota tujuan dari salesman. Markers menjadi

sebuah penanda perjalanan akan dimulai dari mana dan berakhir ke kota awal

perjalanan dimulai.

d. Polyline

Polyline mendefinisikan satu set segmen garis yang terhubung pada peta.

Sebuah objek Polyline terdiri dari satu set lokasi LatLng, dan menciptakan

serangkaian segmen garis yang menghubungkan lokasi-lokasi dalam urutan.

Untuk membuat Polyline, pertama buat objek dengan PolylineOptions dan

menambah titik dari LatLng. Segmen garis yang ditarik dari titik-titik sesuai

dengan urutan yang sesuai ke objek PolylineOptions. Untuk menambah titik ke

objek PolylineOptions, panggilan PolylineOptions.add(). Contoh penggunaan

polyline dengan garis berwarna merah dan ditandai dengan marker sebagai titik

(44)
(45)
(46)

28

BAB III

METODE PENELITIAN

3.1

Studi Pustaka

Studi pustaka yang dilakukan dalam penelitian ini dengan cara membaca

literatur yang berkaitan dengan algoritma genetika, skema pencarian lokal adaptif,

hill climbing dan traveling salesman problem dari jurnal, paper dan buku yang

berkaitan. Langkah-langkah penelitian secara keseluruhan dalam penelitian ini

disajikan pada gambar 3.1.

3.2

Analisis Permasalahan

Analisis masalah merupakan tahapan setelah melakukan studi pustaka.

Analisis Permasalahan dilakukan untuk mengetahui sistem yang sudah ada

sebelumnya dalam penyelesaian traveling salesman problem. Algoritma genetika

telah banyak diteliti untuk menyelesaikan traveling salesman problem, disini

penulis menerapkan skema pencarian lokal adaptif untuk hibridisasi algoritma

genetika yang diimplementasikan pada android. Di Indonesia belum ada peneliti

yang menerapkan algoritma genetika dengan skema pencarian lokal adaptif untuk

(47)

Mulai

(48)

3.3 Mapping HGA dengan skema pencarian lokal adaptif pada TSP

Ada 2 program yang dikembangkan dalam skripsi ini. Salah satu program

adalah algoritma genetika sederhana untuk penyelesaian TSP dan satu program

adalah algoritma genetika hibrida dengan skema pencarian lokal adaptif untuk

penyelesaian TSP. Kedua program tersebut diterapkan pada sistem Android

menggunakan software ADT-Bundle dengan Bahasa pemrograman Java.

3.3.1 Algoritma Genetika untuk menyelesaikan TSP

Algoritma genetika telah dijelaskan pada bagian teori, proses operasi

algoritma genetika diulangi dalam perulangan generasi. Langkah pertama dalam

GA yaitu merepresentasikan masalah kedalam kromosom / rute dan

membangkitkan populasi secara acak, sehingga terdapat banyak rute dengan

panjang yang berbeda. Sebuah rute akan disilangkan dengan rute yang lain dan

dilakukan proses mutasi. Setelah proses mutasi selesai didapatkan rute terbaik

yang disimpulkan sebagai penyelesaian TSP. Tabel merupakan sampel TSP

dengan 5 kota tujuan.

Tabel 3.1 Sampel 5 Kota

Kota Latitude Longitude

Kendal -6.920633 110.20483

Semarang -6.990155 110.422515

Batang -6.906720 109.732468

Banjarnegera -7.399196 109.688866

(49)

Untuk menghitung jarak antar dua kota digunakan fungsi Eucidean pada

Persamaan 1, sehingga jarak antar kota ditunjukkan pada tabel 3.2.

Tabel 3.2 Jarak Antar Kota

Jarak Kendal Semarang Batang Banjarnegera Purwokerto

Kendal 0 0.228 0.472 0.703 1.087

Semarang 0.228 0 0.695 0.839 1.258

Batang 0.472 0.695 0 0.494 0.715

Banjarnegera 0.703 0.839 0.494 0 0.447

Purwokerto 1.087 1.258 0.715 0.447 0

Pembentukan populasi awal

Pembentukan populasi awal dibentuk secara acak dari kromosom sebanyak

jumlah populasi, pada penyelesaian yang dihasilkan oleh algoritma genetika pada

generasi pertama didapat dari penjumlahan jarak semua kota yang dikunjungi oleh

salesman menggunakan persamaan 2.2. Pembentukan populasi awal dengan 4

populasi, ditunjukkan pada Tabel 3.3.

Tabel 3.3 Populasi Awal

Kromosome Representasi Path

(50)

Evaluasi

Proses evaluasi dilakukan dengan fungsi fitness, kromosom dengan nilai

fitness tertinggi merupakan kromosom terbaik. Dalam permasalahan TSP fungsi

fitness tidak dapat didefinisikan secara langsung dari fungsi objektif karena TSP

merupakan masalah pencarian nilai minimum. Oleh karena itu fungsi fitness

merupakan kebalikan (inverse) dari fungsi objektif, sehingga,

Semakin kecil fungsi objektif maka semakin besar fungsi fitness, dalam

permasalahan TSP untuk meminimalkan jarak maka perlu memaksimalkan fungsi

fitnessnya. Hasil pemetaan fungsi objektif ke fungsi fitness dari populasi awal

terlihat pada Tabel 3.4.

Tabel 3.4 Inverse fungsi objektif ke fungsi fitness

Kromosom

Pada tahap ini kromosom terbaik disimpan untuk menghindari kromosom

terbaik yang hilang selama proses crossover dan mutasi. Dari populasi awal

(51)

merupakan kromosom terbaik dengan nilai fitness terbesar. Selanjutnya ada 3

kromosom yang akan dihasilkan melalui proses crossover dan mutasi.

Seleksi

Proses seleksi memilih dua orang tua dari populasi menggunakan seleksi

turnamen. Dalam seleksi turnamen memilih kromosom dalam populasi secara

acak sebanyak ukuran turnamen, kemudian dari kromosom tersebut dipilih satu

yang terbaik. Ukuran turnamen adalah 3, kromosom acak dari populasi adalah

kemudian pilih yang terbaik dari kromosom acak menggunakan metode

evaluasi. Jadi kromosom merupakan yang terbaik dan dijadikan sebagai

parent1. Untuk mendapatkan parent2 dilakukan prosedur seleksi yang sama

seperti mendapatkan parent1.

Crossover

Hasil dari seleksi kemudian dipindah silang menggunakan order crossover.

Setelah operator penyilangan, kromosom-kromosom hasil penyilangan akan

(52)

Tabel 3.5 Populasi Baru

Kromosom Representasi Path

Semarang Kendal Banjarnegera Purwokerto Batang 2.790

Semarang Kendal Banjarnegera Purwokerto Batang 2.790

Purwokerto Semarang Batang Kendal Banjarnegera 3.577

Semarang Banjarnegera Batang Purwokerto Kendal 3.366

3.3.2 Algoritma Genetika Hibrida Dengan Skema Pencarian Lokal Adaptif

untuk menyelesaikan TSP

Dalam HGA terdapat penambahan teknik pencarian lokal kedalam algoritma

genetika yang dikontrol dengan skema pencarian lokal. Untuk menentukan teknik

pencarian lokal digunakan didalam GA atau tidak diperlukan perhitungan

kesamaan antara individu didalam populasi menggunakan Persamaan 2.5. Sebagai

contoh menghitung kesamaan kromosom dan kromosom .

= Semarang Kendal Banjarnegera Purwokerto Batang

= Purwokerto Semarang Batang Kendal Banjarnegera

Koordinat kromosom dan adalah sebagai berikut,

= {(-6.990155, 110.422515) (-6.920633, 110.20483)

(-7.399196, 109.688866) (-7.427879, 109.242443)

(-6.906720, 109.732468)}

= {(-7.427879, 109.242443) (-6.990155, 110.422515)

(53)

(-7.399196, 109.688866)}

Dalam menghitung kesamaan antar individu dapat dihitung dengan persamaan

2.4. Untuk vektor,

dan

Maka,

Sehingga perhitungan kesamaan cosine menjadi seperti berikut:

= 60597.74

(54)

Untuk menghitung kesamaan antar individu dalam suatu populasi dapat

dihitung dengan persamaan 2.5, hasil perhitungan adalah sebagai berikut.

Kondisi dimana teknik pencarian lokal digunakan didalam algoritma

genetika adalah , jadi sehingga kondisi

tersebut terpenuhi untuk menerapkan teknik pencarian lokal.

Langkah yang harus dikerjakan untuk teknik pencarian lokal menggunakan

metode hill climbing yang diusulkan oleh Michalewicz adalah memilih individu

terbaik dari populasi yang dihasilkan oleh GA.

= Semarang Kendal Banjarnegera Purwokerto Batang

Kemudian hasilkan individu secara acak sebanyak ukuran populasi dari

individu terbaik, dengan menggunakan operator genetika, proses yang dilakukan

sama seperti menghasilkan populasi baru pada algoritma genetika.

(55)

Kromosom Representasi Path

Batang Semarang Kendal Banjarnegera Purwokerto 2.790

Batang Semarang Kendal Banjarnegera Purwokerto 2.790

Banjarnegera Semarang Kendal Batang Purwokerto 2.703

Batang Semarang Kendal Banjarnegera Purwokerto 2.790

Pilih individu terbaik dari populasi yang baru dihasilkan menggunakan

fungsi fitness

= Banjarnegera Semarang Kendal Batang Purwokerto

Selanjutnya bandingkan fitness = 0.358 dengan fitness = 0.369,

sehingga fitness( ) < fitness( ), kemudian substitusikan individu terbaik dari

GA

= Semarang Kendal Banjarnegera Purwokerto Batang

dengan individu terbaik populasi yang baru

= Banjarnegera Semarang Kendal Batang Purwokerto

Berdasarkan perhitungan dari algoritma genetika hibrida dengan skema

pencarian lokal adaptif didapatkan jarak terbaik dengan panjang 2.703 dengan rute

perjalanan yaitu Banjarnegera → Semarang → Kendal → Batang → Purwokerto.

3.4 Tahap Pengembangan Sistem

(56)

Dibutuhkan perangkat keras dan perangkat lunak dengan spesifikasi tertentu

untuk menunjang dalam pembuatan sistem. Berikut spesifikasi minimum

perangkat keras dan perangkat lunak yang dibutuhkan untuk mengimplentasikan

racangan pengembangan sistem dalam penelitian ini.

a. Perangkat Keras

Minimum spesifikasi perangkat keras yang digunakan dalam implementasi

sistem adalah:

- Prosesor Dual Core+, Harddisk Space 25 GB, Ram 2 GB.

- Smartphone Single Core+, 512 GB RAM.

b. Perangkat Lunak

Perangkat lunak yang digunakan dalam implementasi sistem adalah sebagai

berikut:

- Windows 7/8/Vista (32/64-bit) sebagai sistem operasi laptop.

- Terinstal Java Developer Kit (JDK) 7.

- ADT Bundle sebagai software pemrograman java.

- Android 4.0 (IceCreamSandwich) sebagai sistem operasi smartphone.

(57)

Desain sistem meliputi alur proses sistem yang berupa flowchart sistem dan

desain interface yang meliputi desain antarmuka user dan desain antarmuka

admin.

a. Desain alur proses sistem

Dalam aplikasi ini, fungsi google maps adalah untuk mendapatkan dan

menampilkan marker dari lokasi geografi (latitude dan longitude) pada Maps

sebagai tempat tujuan dari salesman. Berikut rancangan alur sistem untuk

menampilkan marker:

(58)

Proses berjalannya sistem terdiri dari permintaan Markers sebagai penanda

lokasi tujuan salesman, kemudian proses penghitungan rute terbaik menggunakan

algoritma genetika hibrida dengan skema pencarian lokal adaptif. Berikut

rancangan perhitungan rute optima menggunakan algoritma yang dibangun:

Masukan Lokasi

(59)

b. Desain perencangan interface

Desain perancangan antarmuka meliputi desain tampilan dashboard admin,

desain tampilan user. Berikut desain interface sistem yang dikembangkan:

Dashboard Tambah

No Kota Latitude Longitude

Hybrid Optimization Select Direction Login About

Google Maps

Gambar 3.4 Tampilan Dashbord Admin

(60)

Select Finish

Semarang

Kendal

Batang

Banjarnegara

Purwokerto

Blora

Pati

Kudus

Hybrid Optimization Reset Result Evolusi

Petunjuk Arah Google Maps

Gambar 3.6 Tampilan Halaman Input Kota

(61)

3.5 Implementasi

3.5.1 Integrasi Google Maps

Untuk menampilkan peta diperlukan untuk menambahkan baris kode

berikut pada layout dan java file, baris kode untuk main_activity.xml sebagai

berikut:

<fragment

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:id="@+id/map"

tools:context=".MapsActivity"

android:name="com.google.android.gms.maps.SupportMapFragment"

/>

Baris kode untuk java file yang terdapat pada MainActivity.java adalah

sebagai berikut:

public class MapsActivity extends FragmentActivity { @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_maps);

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()

.findFragmentById(R.id.map); }

Pada aplikasi yang dikembangkan polyline digunakan untuk panduan

(62)

oleh salesman, kemudian dilakukan perhitungan menggunakan algoritma genetika

hibrida dengan skema pencarian lokal adaptif untuk pengoptimalan sebuah

perjalanan. Setelah perhitungan selesai, ditampilkan pada Google Maps dengan

nomor urutan Marker dengan garis merah sebagai penanda perjalanan. Baris kode

berikut digunakan untuk menampilkan polyline.

PolylineOptions rectOptions = new PolylineOptions() .add(new LatLng(37.35, -122.0))

.add(new LatLng(37.45, -122.0)) .add(new LatLng(37.45, -122.2))

.add(new LatLng(37.35, -122.0));

Polyline polyline = myMap.addPolyline(rectOptions);

3.5.2 Pengkodean

Sistem simulasi penyelesaian TSP menggunakan HGA dengan skema

pencarian lokal adaptif diimplementasikan dalam bahasa pemrograman java.

Berikut ini akan disajikan beberapa potongan source code yang berhubungan

dalam proses HGA untuk menyelesaikan TSP.

a. Fungsi Objektif TSP

public double distanceTo(City city){

int xDistance = Math.abs(getX() - city.getX());

int yDistance = Math.abs(getY() - city.getY());

double distance = Math.sqrt((xDistance*xDistance) +

(yDistance*yDistance));

return distance;

}

(63)

b. Operator genetika

Pada operator genetika terdapat tiga operator yang digunakan dalam

penelitian yaitu seleksi, crossover dan mutasi.

- Seleksi Turnamen

- Order Crossover

private static Tour tournamentSelection(Population pop) {

Population tournament = new Population(tournamentSize,

public static Tour crossover(Tour parent1, Tour parent2) {

Tour child = new Tour();

(64)

- Mutasi Swap

c. Algoritma Genetika

private static void mutate(Tour tour) {

for(int tourPos1=0; tourPos1<tour.tourSize(); tourPos1++){

if(Math.random() < mutationRate){

public static Population evolvePopulation(Population pop) {

Population newPopulation = new

for(int i=elitismOffset; i<newPopulation.populationSize();

i++){

for (int i=elitismOffset;i<newPopulation.populationSize();

i++){

Gambar 3.10 Source code order crossover

(65)

d. Algoritma Genetika Hibrida dengan Skema Pencarian Lokal Adaptif

Dalam algoritma genetika hibrida terdapat beberapa tambahan seperti

metode hill climbing dan penghitungan cosine similarity.

- Hill Climbing

public static Population hillClimbing(Population newPopulation) {

Population currentPop = newPopulation;

double neighborhoodFitness =

neighborhoodPop.getFittest().getFitness();

Gambar 3.12 Source code algoritma genetika

(66)
(67)

- Cosine Similarity

- Menghitung Cosine Similarity dalam suatu populasi

public static double Scosine(Population pop) {

double Scosinelm = 0;

public static double ScosineML(Tour M, Tour L) {

double MdotL = 0;

(68)

- Fungsi algoritma genetika hibrida

int bil2 = bil - 2;

BigDecimal kombinasi = faktorial.divide(bfaktorial);

for (int l = 0; l < pop.populationSize()-1; l++) {

protected void generateHGA() {

Population hga_pop = new Population(int_popsize, true);

hga_pop = hGA.evolvePopulation(hga_pop);

double hga_temp_distance = hga_pop.getFittest().getDistance();

for (int i = 0; i < int_gen; i++) {

hga_pop = hGA.evolvePopulation(hga_pop);

ScosineP = hGA.Scosine(hga_pop);

TourManager.scosine.add(String.valueOf(ScosineP));

// Not convergen

if (ScosineP < alpha) {

hga_temp_distance = hga_pop.getFittest().getDistance(); }

// Convergen

else if (ScosineP >= alpha) {

hga_pop = hGA.hillClimbing(hga_pop);

hga_temp_distance = hga_pop.getFittest().getDistance(); }

hga_distance = String.valueOf(hga_temp_distance);

} }

Gambar 3.15 Source code cosine similarity dalam populasi

(69)

3.6

Pengujian

Untuk menguji efektifitas algoritma genetika hibrida (HGA) dengan skema

pencarian lokal adaptif dibandingkan dengan algoritma genetika (GA) tanpa

pencarian lokal dalam menemukan panjang rute terpendek permasalahan traveling

salesman. Langkah-langkah dari strategi pengujian adalah sebagai berikut:

a. Data Pengujian

Sampel data untuk TSP dari kabupaten/kota di Jawa Tengah, Indonesia.

Data berupa lokasi geografis didapatkan dari https://maps.google.co.id. Berikut

daftar kabupaten/kota di Jawa Tengah.

Tabel 3.7 Daftar Kabupaten/Kota di Jawa Tengah

No. City Latitude Longitude

1 Semarang -6.990155 110.422515

2 Kendal -6.920633 110.20483

3 Batang -6.906720 109.732468

4 Banjarnegera -7.399196 109.688866

5 Purwokerto -7.427879 109.242443

6 Blora -6.970731 111.421695

7 Boyolali -7.538509 110.611589

8 Brebes -6.875365 109.053143

9 Cilacap -7.727205 109.009361

10 Demak -6.894602 110.638154

11 Purwodadi -7.083219 110.913327

12 Jepara -6.590626 110.667318

13 Karanganyar -7.597301 110.950577

(70)

15 Klaten -7.705463 110.600388

16 Kudus -6.808916 110.842946

17 Magelang -7.476794 110.218917

18 Pati -6.753899 111.042784

19 Kajen -7.027724 109.590379

20 Pemalang -6.879946 109.380047

21 Purbalingga -7.389535 109.363185

22 Purworejo -7.713033 110.009351

23 Rembang -6.705611 111.348445

24 Ungaran -7.127487 110.403562

25 Sragen -7.427645 111.023387

26 Sukoharjo -7.683752 110.846919

27 Slawi -6.974607 109.139532

28 Temanggung -7.316753 110.178341

29 Wonogiri -7.813768 110.926073

30 Wonosobo -7.358785 109.902953

31 Kota Salatiga -7.320499 110.498854

32 Kota Surakarta -7.581987 110.826337

33 Kota Tegal -6.867419 109.137794

34 Kota Pekalongan -6.890554 109.676231

35 Mungkid -7.561907 110.256464

Dalam pengujian ini 5 sampel TSP diambil dengan jumlah kota yang berbeda,

meliputi:

- Case1 dengan jumlah kota 7 meliputi Semarang, Kendal, Batang,

(71)

- Case2 dengan jumlah kota 14 meliputi Semarang, Kendal, Batang,

Banjarnegera, Purwokerto, Blora, Boyolali, Brebes, Cilacap, Demak,

Purwodadi, Jepara, Karanganyar, Kebumen.

- Case3 dengan jumlah kota 20 meliputi Semarang, Kendal, Batang,

Banjarnegera, Purwokerto, Blora, Boyolali, Brebes, Cilacap, Demak,

Purwodadi, Jepara, Karanganyar, Kebumen, Klaten, Kudus, Magelang, Pati,

Kajen, Pemalang.

- Case4 dengan jumlah kota 25 meliputi Semarang, Kendal, Batang,

Banjarnegera, Purwokerto, Blora, Boyolali, Brebes, Cilacap, Demak,

Purwodadi, Jepara, Karanganyar, Kebumen, Klaten, Kudus, Magelang, Pati,

Kajen, Pemalang, Purbalingga, Purworejo, Rembang, Ungaran, Sragen.

- Case5 dengan jumlah kota 35 meliputi Semarang, Kendal, Batang,

Banjarnegera, Purwokerto, Blora, Boyolali, Brebes, Cilacap, Demak,

Purwodadi, Jepara, Karanganyar, Kebumen, Klaten, Kudus, Magelang, Pati,

Kajen, Pemalang, Purbalingga, Purworejo, Rembang, Ungaran, Sragen,

Sukoharjo, Slawi, Temanggung, Wonogiri, Wonosobo, Kota Salatiga, Kota

Surakarta, Kota Tegal, Kota Pekalongan, Mungkid.

b. Parameter Algoritma

Parameter yang digunakan untuk algoritma genetika hibrida dengan skema

pencarian lokal dan algoritma genetika tanpa pencarian lokal berada dalam

kondisi yang sama yaitu probabilitas mutasi 0.05, ukuran turnamen 3 dan nilai

(72)

TSP dilakukan uji 10 kali, dengan jumlah populasi 7, 14, 20, 25, 35 dan jumlah

generasi 70, 140, 200, 250, 350 pada masing-masing sample TSP.

c. Perbandingan hasil optimasi

Dari 10 percobaan yang dilakukan didapatkan hasil yang berupa jarak

terbaik, jarak rata-rata dan jarak terburuk. Hasil percobaan yang dihasilkan oleh

algoritma genetika hibrida dan algoritma genetika tanpa pencarian lokal dari 5

(73)

Gambar

Gambar 2.4 Proses order crossover
Gambar 3.1 Desain Penelitian dan Pengambangan HGA
Gambar 3.2 Permintaan marker pada Google Maps
Gambar 3.3 Alur proses sistem yang berjalan
+7

Referensi

Dokumen terkait

Nyak Arief Jeulingke Banda Aceh, sistem pelayanan Mobile Banking yang diberikan oleh Customer Service kepada nasabah sudah sangat baik yakni dengan memberikan pelayanan yang

Kitosan mikrokristalin yang telah diproduksi kemudian dilakukan analisis mutu berupa analisis kadar air, kadar mineral, kadar nitrogen, derajat deasitilasi (DD)

Bibit Jati dengan pemberian aquasorb jenis A dan B tidak memiliki perbedaan yang signifikan dalam mencapai waktu layu awal, tengah dan akhir sama halnya terhadap parameter

Bagaimana media pembelajaran dengan menggunakan modul berbasis web dapat meningkatkan motivasi belajar siswa dengan pembelajaran yang tidak memakai modul berbasis

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

Berdasarkan hasil dan pembahasan di atas, maka dapat disimpulkan bahwa kerapatan dan kerusakan stomata daun mangga (Mangifera indica) dapat dipengaruhi oleh kondisi

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

Batang semu yang berada di dalam tanah akan berubah bentuk dan fungsinya menjadi umbi lapis (bulbus), antara lapis kelopak bulbus terdapat mata tunas yang dapat membentuk tanaman