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
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%.
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.
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
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
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.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
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.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
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
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.