View
226
Download
0
Category
Preview:
Citation preview
SIMULASI (TRAVELLING SALESMAN PROBLEM) TSP UNTUK
MENYELESAIKAN PERMASALAHAN DISTRIBUSI BARANG
MENGGUNAKAN GENETIC ALGORITHM BERBASIS JAVA
SKRIPSI
Untuk Memenuhi Persyaratan Guna Meraih Gelar Sarjana Strata 1
Teknik Informatika Universitas Muhammadiyah Malang
Rahmat Arief Hidayat
201110370311022
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2015
LEMBAR PERSEMBAHAN
Dengan menyebut nama Allah SWT yang maha pengasih dan penyayang.
Segala puji bagi Allah SWT karena atas rahmat dan hidayahNya-lah penulis dapat
menyelesaikan skripsi yang berjudul “Simulasi (Travelling Salesman Problem)
TSP Untuk Menyelesaikan Permasalahan Distribusi Barang Menggunakan
Algoritma Genetika Berbasis Java.” Shalawat dan salam atas junjungan besar kita
Nabi Muhammad S.A.W. beserta keluarga dan para sahabat sekalian. Skripsi ini
disusun untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana
Komputer di Fakultas Teknik Jurusan Informatika Universitas Muhammadiyah
Malang.
Melalui kesempatan ini, penulis ingin menyampaikan rasa hormat dan
terima kasih penulis yang sebesar-besarnya kepada semua pihak yang telah
memberikan bantuan-bantuan baik lahir maupun batin selama penulisan tugas akhir
ini. Oleh karena itu, pada kesempatan ini penulis ingin menyapaikan rasa hormat
dan terima kasih penulis kepada:
1. Ayahanda Laning Basir, Ibunda Warniati, Adikku Andini Aisyah, Kakak-
kakakku, dan seluruh keluarga besar atas segala nasehat, semangat, kasih
sayang, perhatian dan kesabarannya dalam membantu walapun secara tidak
langsung dalam penulisan skripsi ini dan senantiasa tiada henti memberika
doa dan semangat demi terselesaikannya skripsi ini.
2. Zamah Zari, S.T, M.T dan Ilyas Nuryasin, S.Kom, M.Kom selaku dosen
pembimbing skripsi yang senantiasa memberikan bimbingan skripsi dan
sabar mengarahkan penulis sehingga dapat menyelesaikan skripsi ini.
3. Affandi, Irvan, Lutfi selaku teman sahabat seperjuangan yang selalu sabar
membantu dan menemani penulis hingga selesainya skripsi ini.
4. Seluruh dosen dosen teknik informatika universitas muhammadiyah malang
atas kesediaannya mengajari ilmunya kepada penulis.
5. Teman seangkatan 2011 teknik informatika, terima kasih atas segala
bantuannya selama menempuh studi di teknik informatika universitas
muhammadiyah malang.
6. Semua pihak yang tidak dapat penulis sebutkan satu per satu yang terlibat
baik secara langsung maupun yang tidak langsung demi terselesaikannya
skripsi ini.
Hanya doa yang bisa penulis berikan semoga Allah SWT memberikan
pahala serta balasan kebaikan yang berlipat. Penulis menyadari bahwa skripsi ini
masih banyak kekurangan dan masih jauh dari sempurna. Untuk ini, saran dan kriti
yang membangun sangat penulis harapakan. Semoga skripsi ini membawa manfaat
bagi penyusun maupun pihak lain yang menggunakannya.
Malang, 03 September 2015
Penulis
ABSTRAK
Permasalahan yang sering dihadapi oleh perusahaan penyedia barang yang
memiliki banyak agen adalah masalah pemilihan rute yang efisien berdasarkan
jarak. Untuk saat ini masih banyak perusahaan seperti perusahaan rokok, media
cetak, dan lain-lain yang masih menggunakan metode prefrensi atau berdasarkan
pengalaman sales saja untuk menentukan rute terpendek. Dalam melakukan
pemilihan rute yang tepat dapat dilakukan berbagai macam metode, salah satunya
ialah menggunakan algoritma genetika. Algoritma genetika merupakan suatu
prosedur penelusuran yang berdasarkan pada mekanisme dari natural selection dan
natural genetics yang dapat digunakan untuk memecahkan masalah kombinasi yang
kompleks khususnya TSP(travelling salesman problem). Dari hasil penelitian ini
yang menggunakan 10 data dari 27 data yang ada di dalam database dan melakukan
7 kali percobaan di setiap parameter yang berbeda (PM, PC, Individu, dan Generasi)
diperoleh hasil yang paling baik adalah dengan pengujian individu yang berbeda
dimana didapatkan hasil rata-rata 25,06 km. dimana kombinasi probabilitas
crossovernya sebanyak 70% dan probabilitas mutasinya sebesar 20%.
Kata kunci: rute, algoritma genetika, Travelling Salesman Problem (TSP).
ABSTRACT
The problems often faced by providers of goods that have a lot of agents is
a matter of efficient route selection based on distance. For now there are many
companies like the tobacco companies, print media, and others that are still using
the method of preference or based on sales experience alone to determine the
shortest route. In choosing the right route can be done a variety of methods, one of
which is using genetic algorithms. The genetic algorithm is a search procedure
which is based on the mechanism of natural selection and natural genetics that can
be used to solve complex problems, especially the combination of TSP (traveling
salesman problem). From the results of this study which uses 10 data from 27
existing data in the database and perform 7 times the experiment in each of different
parameters (PM, PC, Individuals, and generation) obtained the best results is to test
different individuals where the obtained results an average of 25.06 km. where the
combination of probability crossovernya as muchs 70% and 20% probability of
mutation.
Key Word: route, genetic algorithm, Travelling Salesman Problem (TSP).
KATA PENGANTAR
Assalamu’alaikum Wr. Wb
Dengan memanjatkan puji syukur kehadirat Allah SWT, Atas limpahan
rahmat dan hidayah-Nya sehingga peneliti dapat menyelesaikan tugas akhir yang
berjudul:
“SIMULASI (TRAVELLING SALESMAN PROBLEM) TSP UNTUK
MENYELESAIKAN PERMASALAHAN DISTRIBUSI BARANG
MENGGUNAKAN ALGORITMA GENETIKA BERBASIS JAVA”
Peneliti menyadari sepenuhnya bahwa dalam penulisan tugas akhir ini
masih banyak kekurangan dan keterbatasan. Oleh karena itu peneliti mengharapkan
saran yang membangun agar tulisan ini bermanfaat bagi perkembangan ilmu
pengetahuan kedepan.
Akhir kata penulis mengucapkan terima kasih kepada semua pihak yang
telah membantu sehingga tugas akhir ini terselesaikan
Wassalamu’alaikum Wr. Wb.
Malang 03 September 2015
Penulis
Rahmat Arief Hidayat
DAFTAR ISI
LEMBAR PERSETUJUAN .......................................................................... ii
LEMBAR PENGESAHAN .......................................................................... iii
LEMBAR PERNYATAAN .......................................................................... iv
LEMBAR PERSEMBAHAN ....................................................................... vi
ABSTRAK ................................................................................................... viii
ABSTRACT ................................................................................................... ix
KATA PENGANTAR .................................................................................... x
DAFTAR ISI .................................................................................................. xi
DAFTAR GAMBAR ................................................................................... xiv
DAFTAR TABEL........................................................................................ xvi
BAB I PENDAHULUAN ............................................................................... 1
1.1. Latar Belakang .................................................................................... 1
1.2. Rumusan Masalah ............................................................................... 2
1.3. Tujuan Penelitian ................................................................................ 2
1.4. Batasan Masalah ................................................................................. 3
1.5. Metodologi .......................................................................................... 3
1.5.1. Analisa Dan Pengumpulan Data ................................................ 3
1.5.2. Observasi .................................................................................... 3
1.5.3. Wawancara ................................................................................. 3
1.5.4. Rancangan Sistem ...................................................................... 4
1.5.5. Desain Interface .......................................................................... 4
1.5.6. Flowchart .................................................................................... 4
1.6. Implementasi ....................................................................................... 5
1.7. Pengujian ............................................................................................. 5
1.8. Jadwal Kegiatan .................................................................................. 5
BAB II LANDASAN TEORI ........................................................................ 6
2.1. Travelling Salesman Problem ............................................................. 6
2.2. Algoritma Genetika ............................................................................. 7
2.3. Struktur Uum Algoritma Genetika.................................................... 11
2.3.1. Pengertian Kromosom .............................................................. 12
2.3.2. Pengertian Nilai Fitness............................................................ 12
2.4. Komponen Utama Algoritma Genetika ............................................ 13
2.4.1. Teknik Pengkodean .................................................................. 13
2.4.2. Prosedur Inisialisasi .................................................................. 13
2.4.3. Evaluasi .................................................................................... 13
2.4.4. Seleksi ...................................................................................... 14
2.4.5. Teknik Crossover ..................................................................... 16
2.4.6. Teknik Mutasi........................................................................... 18
BAB III ANALISA DAN PERANCANGAN SISTEM ............................. 20
3.1. Analisa Sistem .................................................................................. 20
3.1.1. Analisa Kebutuhan ................................................................... 20
3.1.1.1. Kebutuhan Fungsional .................................................... 20
3.1.1.2. Kebutuhan Nonfungsional .............................................. 21
3.1.2. Perancangan Algoritma Genetika ............................................. 21
3.1.3. Usecase Diagram ...................................................................... 24
3.2. Perancangan Sistem .......................................................................... 24
3.2.1. Activity Diagram ...................................................................... 25
3.2.2. Sequence Diagram .................................................................... 28
3.2.3. Class Diagram .......................................................................... 32
3.2.4. Perancangan Interface .............................................................. 33
BAB IV IMPLEMENTASI DAN PENGUJIAN APLIKASI ................... 34
4.1. Implementasi ..................................................................................... 34
4.1.1. Implementasi Algoritma Genetika ........................................... 35
4.1.1.1. Memilih Agen / toko Yang Akan Di lalui ...................... 35
4.1.1.2. Membangkitkan Populasi................................................ 36
4.1.1.3. Evaluasi Kromosom ........................................................ 37
4.1.1.4. Seleksi Roulette Wheel ................................................... 39
4.1.1.5. Crossover ........................................................................ 40
4.1.1.6. Mutasi ............................................................................. 41
4.1.2. Implementasi User Interface .................................................... 42
4.1.2.1. Implementasi Halaman Utama ........................................ 42
4.1.2.2. Implementasi Halaman Menu Manage Agen ................. 44
4.1.3. Implementasi Database ............................................................. 47
4.1.3.1. Tabel Matriks .................................................................. 47
4.1.3.2. Menghubungkan Java Dengan Database Mysql ............. 48
4.1.3.3. Mengambil Data Agen / toko Dari Database .................. 48
4.2. Pengujian Sistem ............................................................................... 49
4.2.1. Pengujian Dengan Parameter Yang Berbeda ........................... 49
4.2.2. Pengujian Dengan Persyaratan Pemberhentian Berbeda .......... 42
4.3. Pengujian Black Box......................................................................... 54
BAB V KESIMPULAN DAN SARAN ....................................................... 57
5.1. Kesimpulan ....................................................................................... 57
5.2. Saran ................................................................................................. 57
DAFTAR PUSTAKA ................................................................................... 58
BIOGRAFI PENULIS ................................................................................. 59
DAFTAR GAMBAR
Gambar 1.1 Graf............................................................................................... 1
Gambar 1.2 Flowchart ...................................................................................... 4
Gambar 2.1 Graf Travelling Salesman Problem dengan 5 kota....................... 7
Gambar 2.2 Flowchart algoritma genetika ....................................................... 9
Gambar 2.3 Struktur umum algoritma genetika ............................................. 11
Gambar 2.4 Ilustrasi Roulette Wheel Selection ............................................. 16
Gambar 3.1 Usecase diagram ......................................................................... 24
Gambar 3.2 Activity diagram create agen/toko ............................................. 25
Gambar 3.3 Activity diagram delete agen/toko ............................................. 26
Gambar 3.4 Activity diagram edit agen/toko ................................................. 26
Gambar 3.5 Activity diagram ceklist agen/toko ............................................ 27
Gambar 3.6 Activity diagram input nilai parameter algoritma genetika ....... 27
Gambar 3.7 Activity diagram generate algoritma genetika ........................... 28
Gambar 3.8 Sequence diagram create agen/toko ........................................... 29
Gambar 3.9 Sequence diagram delete agen/toko ........................................... 29
Gambar 3.10 Sequence diagram edit agen/toko ............................................. 30
Gambar 3.11 Sequence diagram memilih agen/toko ..................................... 30
Gambar 3.12 Sequence diagram input nilai parameter GA ........................... 31
Gambar 3.13 Sequence diagram generate algoritma genetika ....................... 31
Gambar 3.14 Class diagram ........................................................................... 32
Gambar 3.15 Rancangan user interface pada tampilan utama. ...................... 33
Gambar 4.1 Source code hitung agen/toko dipilih ......................................... 35
Gambar 4.2 Source code Menyimpan data agen/toko dalam bentuk array.... 35
Gambar 4.3 Source code membangkitkan populasi ....................................... 36
Gambar 4.4 Source code hitung nilai objektif ............................................... 37
Gambar 4.5 Source code hitung nilai fitness ................................................. 37
Gambar 4.6 Source code hitung nilai probabilitas ......................................... 38
Gambar 4.7 Source code hitung nilai komulatif ............................................ 38
Gambar 4.8 Source code seleksi roulette wheel............................................. 39
Gambar 4.9 Source code crossover ................................................................ 49
Gambar 4.10 Source code mutasi................................................................... 41
Gambar 4.11 Halaman utama ......................................................................... 42
Gambar 4.12 Proses algoritma genetika ketika dijalankan ............................ 43
Gambar 4.13 Proses algoritma genetika diberhentikan secara paksa ............ 43
Gambar 4.14 Halaman menu manage agen.................................................... 44
Gambar 4.15 Halaman tambah agen .............................................................. 44
Gambar 4.16 Halaman hapus agen................................................................. 45
Gambar 4.17 Edit agen ................................................................................... 46
Gambar 4.18 Source code menghubungkan java dengan mysql.................... 48
Gambar 4.19 Source code mengambil data agen/toko dari database ............. 48
Gambar 4.20 grafik pengujian dengan jumlah individu berbeda ................... 50
Gambar 4.21 grafik pengujian dengan PC berbeda ....................................... 51
Gambar 4.22 grafik pengujian dengan PM berbeda....................................... 52
Gambar 4.23 grafik pengujian dengan iterasi berbeda................................... 54
DAFTAR TABEL
Tabel 1.1 Jadwal kegiatan ............................................................................... 5
Tabel 4.1 Tabel matriks................................................................................. 47
Tabel 4.2 Pengujian dengan jumlah individu berbeda .................................. 49
Tabel 4.3 Pengujian dengan PC berbeda....................................................... 50
Tabel 4.4 Pengujian dengan PM berbeda ...................................................... 51
Tabel 4.5 Pengujian dengan iterasi berbeda .................................................. 53
Tabel 4.6 Pengujian black box ...................................................................... 54
DAFTAR PUSTAKA
Adipranata, R, Felicia Soedjianto, & Wahyudi Tjondro. Maret 2011.
“Perbandingan Algoritma Exhaustive, Algoritma Genetika Dan
Algoritma Jaringan Syaraf Tiruan Hpfiel untuk Pencarian Rute
Terpendek”.
Hardianti, Yayun & Purwanto. 2012. “Penerapan Agoritma Genetika
Dalam Penyelesaian Travelling Salesman Problem With Precedence
Constraints”. Volume 1, No. 2.
Jacobson, Lee. “Creating a genetic algorithm for beginners”. 12
Februari 2012. http://www.theprojectspot.com/tutorial-post/creating-a-
genetic-algorithm-for-beginners/3.
Jacobson, Lee. “Applying a genetic algorithm to the traveling salesman
problem”. 20 Agustus 2012. http://www.theprojectspot.com/tutorial-
post/applying-a-genetic-algorithm-to-the-travelling-salesman-
problem/5.
Joni, Dewa, Adi, Baskara & Vivine, Nurcahyawati. Juni 2014.
“Penentuan Jarak Terpendek Pada Jalur Distribusi Barang Di Pulau
Jawa Dengan Menggunakan Algoritma Genetika”.
Zukhri, Zainudin. Maret 2013 “Algoritma Genetika: Metode Komputasi
Evolusioner Untuk Menyelesaikan Masalah Optimasi.”
Wayan, F.M. September 2013. “Algoritma Evolusi”. Program
Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya.
Marianne, F. “The Travelling Salesman”. 22 Oktober 2012.
https://plus.maths.org/content/travelling-salesman
Recommended