DISTRIBUSI BARANG MENGGUNAKAN ALGORITMA NEAREST … · Penelitian terkait routing pendistribusian...
Transcript of DISTRIBUSI BARANG MENGGUNAKAN ALGORITMA NEAREST … · Penelitian terkait routing pendistribusian...
i
DISTRIBUSI BARANG
MENGGUNAKAN ALGORITMA NEAREST NEIGHBOUR
(Studi kasus : Pengiriman Air di CV. OXYO)
SKRIPSI Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Diajukan oleh :
KATARINA HERLITA
105314067
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
VEHICLE ROUTING PROBLEM
USING NEAREST NEIGHBOUR
(Study Case : Water Distribution CV. OXYO) A Thesis
Presented As A Partial Fulfillment of The Requerements
To Obtain The Sarjana Komputer Degree
Informatics Engineering Study Program
By :
KATARINA HERLITA
105314067
DEPARTMENT OF IFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
DISTRIBUSI BARANG
MENGGUNAKAN ALGORITMA NEAREST NEIGHBOUR
(Studi kasus : Pengiriman Air di CV. OXYO)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PERNYATAAN KEASLIAN SKRIPSI
Dengan ini saya menyatakan dengan sesungguhnya bahwa dalam Skripsi
ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar
kesarjanaan di suatu Perguruan Tinggi dan sepanjang sepengetahuan saya juga
tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan orang lain,
kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar
pustaka.
Yogyakarta, Mei 2017
Penulis,
Katarina Herlita
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata
Dharma :
Nama : Katarina Herlita
NIM : 105314067
Demi pengembangan ilmu pengetahuan, saya memberikan kepada
Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
DISTRIBUSI BARANG
MENGGUNAKAN ALGORITMA NEAREST NEIGHBOUR
(Studi kasus : Pengiriman Air di CV. OXYO)
Dengan demikian saya memberikan kepada Perpustakaan Universitas
Sanata Dharma Yogyakarta hak untuk menyimpan, mengalihkan dalam bentuk
media lain, mengolahnya dalam bentuk pangkalan data, mendistribusikan secara
terbatas dan mempublikasikan di internet atau media lain untuk kepentingan
akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada
saya selama tetap menyantumkan nama saya sebagai penulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
Yogyakarta, Mei 2017
Yang Menyatakan,
Katarina Herlita
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
ABSTRAK
Penelitian terkait routing pendistribusian barang ini adalah memberikan
informasi kepada pengemudi kendaraan tentang path rute terpendek dari
distributor ke beberapa tempat konsumen. Pengambilan data sampel dalam
penelitian ini adalah distribusi produk air mineral bernama OXYO dengan
pengemasan menggunakan gallon. Banyak alternatif jalan di peta yang dapat
dilalui pengemudi dari distributor menuju konsumen yang memasarkan produk
ini, maka menentukan path rute terpendek untuk distributor OXYO merupakan
sebuah tujuan untuk meminimalisasi waktu dan biaya perjalanan.
Penelitian ini menggunkan algoritma nearest neighbour untuk menghasilkan
path rute terpendek untuk distributor OXYO dari distributor ke beberapa tempat
tujuan yang diinputkan user sesuai dengan pemesanan konsumen. Algoritma
nearest neighbour yang diteliti menampilkan hasil rute dengan pendekatan
minimum global sebagai algoritma nearest neighbour yang memiliki cara kerja
seperti algoritma greedy.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRACT
This research deals with routing distribution, giving information to
vehicle’s driver about which is shortest path route from a warehouse to multiple
shop destinations. The example case in this research is distribution of a water
mineral product named OXYO, packaged in a gallon of water. There are many
alternative road paths in map from OXYO warehouse to several shops which are
selling this product, so finding the shortest path route for OXYO distribution
aims to minimize time and cost.
This research propose the nearest neighbor algorithm to generate the
shortest path route for OXYO distribution from the warehouse to several
destinations entered by a user. The nearest neighbor algorithm which has been
tested show that the routing result is approaching the global minimum as the
nearest neighbor algorithm works like a greedy algorithm.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas
rahmat yang diberikan dalam penyusunan Skripsi ini sehingga semuanya berjalan
dengan baik dan lancar.
Skripsi ini merupakan salah satu syarat wajib mendapatkan gelar sarjana
S-1 pada Jurusan Teknik Mesin, Fakultas Sains dan Teknologi, Universitas Sanata
Dharma Yogyakarta.
Berkat bimbingan dan dukungan dari berbagai pihak, akhirnya skripsi ini
dapat terselesaikan dengan baik. Pada kesempatan ini dengan segenap kerendahan
hati penulis menyampaikan rasa terimakasih yang sebesar-besarnya kepada :
1. Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D.selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
2. Dr. Anastasia Rita Widiarti selaku Ketua Program Studi Teknik Informatika
Universitas Santa Dharma Yogyakarta, sekaligus pendamping dikala susah,
dan Bapak Albertus Hadhiatma, S.T., M.T. sebagai dosen pembimbing yang
telah memberikan dorongan motivasi dan perhatian sehingga penulis dapat
menyelesaikan Skripsi ini.
3. Yulita Sri Subandari dan Maria Asumpta Yunani selaku orang tua dan
keluarga penulis yang tidak dapat disebutkan satu persatu yang telah
mendukung dan memberi semangat penulis dalam menyelesaikan Skripsi.
4. Teman-teman Teknik Informatika Universitas Sanata Dharma Yogyakarta,
Vinsen, dan teman-teman lainnya yang tidak dapat disebutkan satu persatu
yang telah membantu penulis.
5. Semua pihak yang telah membantu yang tidak dapat disebutkan satu persatu.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
Penulis menyadari dalam penulisan Skripsi ini masih jauh dari sempurna.
Segala kritik dan saran yang membangun akan sangat penulis harapkan demi
penyempurnaan dikemudian hari. Semoga Skripsi ini dapat memberi manfaat bagi
kita semua.
Yogyakarta, Mei 2017
Penulis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
DAFTAR ISI HALAMAN JUDUL…………………………………….………… i
TITLE PAGE……………………………………………………… ii
HALAMAN PERSETUJUAN……………………….…………… iii
HALAMAN PENGESAHAN………..……………………….…… iv
PERNYATAAN KEASLIAN SKRIPSI…………………..……… v
PUBLIKASI KARYA ILMIAH UNTUK KEPERLUAN
AKADEMIS……………………………………………………..… vi
ABSTRAK………………………………………..….……..……… vii
ABSTRACT………………………….……………………..……… viii
KATA PENGANTAR……………………………….……..……… ix
DAFTAR ISI………………………………………………..……… xi
DAFTAR GAMBAR……………………………..….……..……… xiii
DAFTAR TABEL…………………………………………..……… xv
BAB I : PENDAHULUAN………………………….……..……… 1
1.1 Latar Belakang ………………………….….…....……… 1
1.2 Rumusan Masalah …………………………....………… 2
1.3 Tujuan …………………………..……………………… 2
1.4 Batasan Masalah ……………….……………...……..… 2
1.5 Manfaat Penelitian ………………………….…....…..… 2
1.6 Luaran Penelitian …………………………………..…… 2
BAB II : TINJAUAN PUSTAKA……………….….……..……… 3
2.1 Pengertian Algoritma ………………………..…………. 3
2.2 Vehicle Routing Problem ……………………….……… 4
2.3 Nearest Neighbour ……………………..….……..……… 4
BAB III : ANALISIS DAN PERANCANGAN SISTEM..……… 9
3.1 Sumber Data ……………………………..…...………… 9
3.2 Analisis Pengolahan Data ………………………….…… 9
3.3 Perangkat Proses Penelitian…………..………….……… 9
3.4 Tahap Penelitian……………………………….………… 10
3.5 Perancangan Umum Sistem ……………………..……… 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
BAB IV : IMPLEMENTASI ……………………………………… 13
4.1 Implementasi Antarmuka Pemakai…..…………..…….… 13
4.2 Pemrosesan Input…………..……….…………………… 15
4.3 Implementasi Algoritma pada Sistem…..……...………… 15
BAB V : PENGUJIAN DAN ANALISA HASIL…..……..……… 27
5.1 Pengujian dan Analisa Hasil Sistem…………………….. 27
5.2 Pengujian dan Analisa Hasil Nearest Neighbour………… 27
BAB VI : KESIMPILAN DAN SARAN…….…….……..……..… 65
6.1 Kesimpulan …..……………………………….…….…… 65
6.2 Saran ……. …..……………….………………….……… 65
DAFTAR PUSTAKA……………………..………….……..….…… 66
LAMPIRAN………………………….……………………………… 67
Lampiran 1 : Daftar pelanggan …..….………………………... 67
Lampiran 2 : Tabel Jarak Awal……………………………….. 68
Lampiran 3 : Source Code Kota. java………………………… 72
Lampiran 4 : Source Code MainView.java……………..…...… 73
Lampiran 5 : Source Code DistanceMeasurment……………… 87
Lampiran 6 : Tabel Jarak Percobaan 1 dari Distributor dengan
9 sample………………………………………… 96
Lampiran 7 : Tabel Total Jarak Percobaan 1 dari Distributor
Dengan 9 sample………...……………………… 97
Lampiran 8 : Tabel Jarak Percobaan 2 dari Distributor dengan
9 sample………………………………………… 98
Lampiran 9 : Tabel Total Jarak Percobaan 2 dari Distributor
Dengan 9 sample………...……………………… 99
Lampiran 10 : Tabel Jarak Percobaan 3 dari Distributor dengan
9 sample………………………………………… 100
Lampiran 11 : Tabel Total Jarak Percobaan 3 dari Distributor
Dengan 9 sample………...……………………… 101
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
Lampiran 12 : Tabel Jarak Percobaan 4 dari Distributor dengan
9 sample………………………………………… 102
Lampiran 13 : Tabel Total Jarak Percobaan 4 dari Distributor
Dengan 9 sample………...……………………… 103
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR GAMBAR Gambar 2.1 Gambar Graph ………………………………………... 5
Gambar 3.5.1 Gambar Diagram Use Case………….……….……... 11
Gambar 4.1.1.1 Tampilan Halaman Utama...……………….……... 14
Gambar 4.1.1.2 Tampilan Hasil Rute...……………………..……... 14
Gambar 4.1.2 Tampilan Cara Menggunakan..….………………..... 15
Gambar 4.3.1 Source Code Method Terpendek. …………….…..... 16
Gambar 4.3.2 Source Code Method MainView….……….….…..... 17
Gambar 5.2.1 Percobaan 1 dari distributor dengan 3 sample…..…... 28
Gambar 5.2.2 Hasil percobaan 1 dari distributor dengan 3 sample.... 28
Gambar 5.2.3 Percobaan 2 dari distributor dengan 3 sample..……... 30
Gambar 5.2.4 Hasil percobaan 2 dari distributor dengan 3 sample.... 30
Gambar 5.2.5 Percobaan 3 dari distributor dengan 3 sample………... 32
Gambar 5.2.6 Hasil percobaan 3 dari distributor dengan 3 sample.... 32
Gambar 5.2.7 Percobaan 4 dari distributor dengan 3 sample…...…... 34
Gambar 5.2.8 Hasil percobaan 4 dari distributor dengan 3 sample…. 34
Gambar 5.2.9 Percobaan 1 dari distributor dengan 5 sample……...... 36
Gambar 5.2.10 Hasil percobaan 1 dari distributor dengan 5 sample.... 36
Gambar 5.2.11 Percobaan 2 dari distributor dengan 5 sample..……... 38
Gambar 5.2.12 Hasil percobaan 2 dari distributor dengan 5 sample.... 39
Gambar 5.2.13 Percobaan 3 dari istributor dengan 5 sample...……... 41
Gambar 5.2.14 Hasil percobaan 3 dari distributor dengan 5 sample..... 41
Gambar 5.2.15 Percobaan 4 dari distributor dengan 5 sample…..…... 43
Gambar 5.2.16 Hasil percobaan 4 dari distributor dengan 5 sample..... 44
Gambar 5.2.17 Percobaan 1 dari distributor dengan 7 sample………... 45
Gambar 5.2.18 Hasil percobaan 1 dari distributor dengan 7 sample...... 46
Gambar 5.2.19 Percobaan 2 dari distributor dengan 7 sample………... 48
Gambar 5.2.20 Hasil percobaan 2 dari distributor dengan 7 sample…... 48
Gambar 5.2.21 Percobaan 3 dari distributor dengan 7 sample…..……... 51
Gambar 5.2.22 Hasil percobaan 3 dari distributor dengan 7 sample....... 51
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
Gambar 5.2.23 Percobaan 4 dari distributor dengan 7 sample….……... 54
Gambar 5.2.24 Hasil percobaan 4 dari distributor dengan 7 sample...... 54
Gambar 5.2.25 Percobaan 1 dengan 9 sample………………………… 57
Gambar 5.2.26 Hasil percobaan 1 dengan 9 sample…………………... 57
Gambar 5.2.27 Percobaan 2 dengan 9 sample………………………… 59
Gambar 5.2.28 Hasil percobaan 2 dengan 9 sample………………….. 59
Gambar 5.2.29 Percobaan 3 dengan 9 sample………………………... 61
Gambar 5.2.28 Hasil percobaan 3 dengan 9 sample………………….. 61
Gambar 5.2.31 Percobaan 4 dengan 9 sample………………………... 63
Gambar 5.2.32 Hasil percobaan 4 dengan 9 sample…………………. 63
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR TABEL
Tabel 2.1 Tabel Jarak ……………………………………………... 5
Tabel 2.2 Tabel Langkah 1 Nearest Neighbour ……………..……... 5
Tabel 2.3 Tabel Langkah 2 Nearest Neighbour …………...………... 6
Tabel 2.4 Tabel Langkah 3 Nearest Neighbour …………..………... 6
Tabel 2.5 Tabel Langkah 4 Nearest Neighbour …………..………... 6
Tabel 2.6 Tabel Langkah 5 Nearest Neighbour …………..………... 6
Tabel 3.5.2 Tabel Deskripsi Use Case …………………...………... 11
Tabel 3.5.4.1 Tabel Use Case Menentukan Rute ………...………... 12
Tabel 3.5.4.2 Tabel Use Case Melihat Bantuan…………..………... 12
Tabel 4. Tabel Use Case Melihat Bantuan…………...……………... 10
Tabel 5.1 Tabel Hasil Pengujian Sistem………..…………...……... 28
Tabel 5.2.1 Tabel jarak percobaan 1 dari distributor dengan
3 sample……………………………………………….. 30
Tabel 5.2.2 Tabel total jarak percobaan 1 dari distributor dengan
3 sample ……………………………………..………... 31
Tabel 5.2.3 Tabel jarak percobaan 2 dari distributor dengan
3 sample………………………………………………... 33
Tabel 5.2.4 Tabel total jarak percobaan 2 dari distributor dengan
3 sample ………….…………………………………... 34
Tabel 5.2.5 Tabel jarak percobaan 3 dari distributor dengan
3 sample……………………………………………….. 36
Tabel 5.2.6 Tabel total jarak percobaan 3 dari distributor dengan
3 sample ……………………………………..………... 37
Tabel 5.2.7 Tabel jarak percobaan 4 dari distributor dengan
3 sample………………………………………………... 39
Tabel 5.2.8 Tabel total jarak percobaan 4 dari distributor dengan
3 sample ………….…………………………………... 40
Tabel 5.2.9 Tabel jarak percobaan 1 dari distributor dengan
5 sample……………………………………………….. 42
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Tabel 5.2.10 Tabel total jarak percobaan 1 dari distributor dengan
5 sample ……………………………………..………... 43
Tabel 5.2.11 Tabel jarak percobaan 2 dari distributor dengan
5 sample………………………………………………... 45
Tabel 5.2.12 Tabel total jarak percobaan 2 dari distributor dengan
5 sample ………….…………………………………... 46
Tabel 5.2.13 Tabel jarak percobaan 3 dari distributor dengan
5 sample……………………………………………….. 48
Tabel 5.2.14 Tabel total jarak percobaan 3 dari distributor dengan
5 sample ……………………………………..………... 49
Tabel 5.2.15 Tabel jarak percobaan 4 dari distributor dengan
5 sample………………………………………………... 51
Tabel 5.2.16 Tabel total jarak percobaan 4 dari distributor dengan
5 sample ………….…………………………………... 52
Tabel 5.2.17 Tabel jarak percobaan 1 dari distributor dengan
7 sample……………………………………………….. 54
Tabel 5.2.18 Tabel total jarak percobaan 1 dari distributor dengan
7 sample ……………………………………..………... 55
Tabel 5.2.19 Tabel jarak percobaan 2 dari distributor dengan
7 sample………………………………………………... 57
Tabel 5.2.20 Tabel total jarak percobaan 2 dari distributor dengan
7 sample ………….…………………………………... 58
Tabel 5.2.21 Tabel jarak percobaan 3 dari distributor dengan
7 sample……………………………………………….. 60
Tabel 5.2.22 Tabel total jarak percobaan 3 dari distributor dengan
7 sample ……………………………………..………... 62
Tabel 5.2.23 Tabel jarak percobaan 4 dari distributor dengan
7 sample………………………………………………... 64
Tabel 5.2.24 Tabel total jarak percobaan 4 dari distributor dengan
7 sample ………….…………………………………... 65
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Pada zaman globalisasi ini masih banyak pengusaha air
kemasan galon yang tidak pemperhatikan proses pengiriman galon
pada konsumen salah satunya adalah pengiriman air kemasan galon
oxyo di Klaten. Banyak konsumen yang memesan air galon dengan
tempat yang terpencar, sehingga sulit membuat pengusaha air galon
oxyo menentukan rute pengiriman yang efisien. Selain itu pengusaha
air kemasan galon oxyo juga kesulitan untuk menghafal jarak terdekat
konsumen dari gudang pengiriman air kemasan galon oxyo.
Pengetahuan tentang rute pengiriman galon pada konsumen
pada saat ini biasanya ditentukan oleh pengetahuan para sopir. Posisi
sopir yang sering berganti – ganti menyebabkan rute pengiriman sering
berubah.Dalam hal tersebut maka diperlukan suatu metode untuk
merumuskan rute pengiriman galon pada konsumen yang efisien.
Metode yang digunakan adalah pengambilan jarak dari konsumen ke
distributor dan konsumen satu ke konsumen lain. Masalah yang dibahas
meliputi pengiriman air kemasan galon.
Dalam masalah tersebut maka saya menggunakan metode
nearest neighbour menentukan rute pengiriman air galon. Sebelumnya
sudah ada penenlitian masalah pengiriman barang menggunakan
metode nearest neighbour dan hasilnya cukup efesien dengan beberapa
pilihan rute dari beberapa percobaan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Dengan menentukan rute efesien pengiriman air galon oxyo
maka pengusaha dapat menekan biaya pengiriman barang meliputi
biaya bahan bakar, upah tenaga kerja, dan biaya penyusutan kendaraan.
1.2 RUMUSAN MASALAH
1. Bagaimana cara mengetahui rute pengiriman air galon yang efisien?
2. Bagaimana cara membuktikan rute pengiriman galon yang dihasilkan
efisien?
1.3 TUJUAN
1. Untuk mengetahui rute pengiriman air galon yang efisien.
2. Untuk membuktikan rute pengiriman gallon yang dihasilkan.
1.4 BATASAN MASALAH
Dalam tugas akhir ini penulis menentukan beberapa batasan masalah
untuk mempersempit lingkup permasalahan, antara lain:
1. Jarak yang digunakan diperoleh dari jarak terpendek dalam google
map.
2. Data yang digunakan 30 data.
1.5 MANFAAT PENILITIAN
Manfaat yang didapat :
Menghasilkan rute pengiriman air kemasan galon bagi pengusaha air
kemasan galon yang efisien.
1.6 LUARAN PENELITIAN
Luaran penelitian ini adalah rute pengiriman air kemasan galon.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
BAB II
DASAR TEORI
Pada bab ini akan dijelaskan mengenai teori – teori yang dapat mendukung
penelitian diantaranya analisis algoritma, VRP, dan nearest neighbour.
2.1 PENGERTIAN ALGORITMA Dalam pemecahan sebuah masalah diperlukan sebuah proses atau
prosedur. Pemecah masalah dilakukan secara berurutan, jika tidak dilakukan
sesuai dengan prosedur maka dapat menyebabkan munculnya masalah baru dan
memyebabkan masalah utama tidak terselesaikan atau malah bertambah rumit.
Proses adalah langkah – langkah yang dilakukan berurutan, karna itu maka usaha
yang mempunyai proses dinamakan algoritma. Algoritma berbeda dengan bahasa
pemrograman meskipun kadang – kadang sintaknya mirip ( Rinaldi Munir, 2001),
sebab algoritma mendeskripsikan langkah – langkah yang harus dikerjakan
computer ( lebih berkaitan dengan logika manusia untuk memecahkan masalah
tertentu.
Algoritma bersifat universal, artinya bahasa pemrograman apapun yang
digunakan untuk mengkomunikasikan perintah – perintah manusia kepada
computer pada dasarnya memiliki algoritma yang sama ( Rinaldi Munir, 2001 ).
Namun dalam pemecahan sebuah masalah, algoritma yang digunakan dapat
berbeda – beda. Misalnya dalam pemecahan kasus pengiriman barang, dalam
kasus ini sudah banyak metode yang digunakan, salah satunya menggunakan
metode Nearest Neighbour.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
2.2 VEHICLE ROUTING PROBLEM Menurut Pujawan dan Mahendrawati (2010), manajemen distribusi dan
transportasi pada umumnya melakukan sejumlah fungsi dasar yaitu melakukan
segmentasi dan menentukan target service level, menentukan mode transportasi
yang akan digunakan, melakukan konsolidasi informasi dan pengiriman,
melakukan penjadwalan dan penentuan rute pengiriman, memberikan pelayanan
nilai tambah, menyimpan persediaan, dan menangani pengembalian.
Vehicle Routing Problem (VRP) adalah masalah penentuan rute-rute yang
optimal dari satu depot menuju sejumlah pelanggan yang tersebar secara geografis
dengan memperhatikan sejumlah batasan (Laporte, 1992). Batasan yang muncul
dalam VRP antara lain berupa setiap pelanggan dikunjungi hanya satu kali oleh
satu kendaraan, setiap kendaraan berawal dan berakhir di depot, setiap kendaraan
dapat melayani lebih dari satu rute atau banyak trip (multiple trips), waktu
pengiriman tiap rute tidak melebihi waktu tertentu (time horison), suatu pelanggan
hanya dapat dikunjungi pada waktu tertentu atau adanya jendela waktu (time
windows), dan sebuah pelanggan hanya dapat dikunjungi setelah pelanggan
tertentu.
2.3 NEAREST NEIGHBOUR Algoritma Nearest Neighbour adalah metode heuristik yang digunakan
dalam pemecahan masalah VRP. Pemecahan masalah dilakukan dengan memulai
titik awal kemudian mencari titik terdekat . Metode ini merupakan teknik
pemecahan VRP yang sangat efektif, berjalan cepat, dan biasanya menghasilkan
kualitas yang cukup layak ( Johnson, Bentley, McGeoch, dan Ronthberg, 1997).
Nearest Neighbour merupakan algoritma yang mudah untuk diimplementasikan
dan mudah untuk dieksekusi, tetapi tidak menghasilkan solusi yang optimal.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
Prosedur metode Nearest Neighbour adalah sebagai berikut :
1. Pilih kota secara random.
2. Cari kota terdekat yang belum dikunjungi dan pergi kesana.
3. Apakah ada kota yang belum dikunjungi ? jika ya, lakukan langkah 2.
4. Kembali ke kota pertama.
Penggunaan algoritma Nearest Neighbour dalam pemecahan masalah
pencarian jalur terpendek dapat diilustrasikan dengan menggunakan tabel dan
graf. Tabel dan graf berikut ini menggambarkan hubungan antara tempat yang
satu dengan tempat yang lain.
Gambar 2.1 Gambar Graph
A
D
C
B
E
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
Tabel 2.1 Tabel Jarak
Jarak A B C D E A 0 10 30 35 40 B 10 0 15 30 20 C 30 15 0 25 45 D 35 30 25 0 10 E 40 20 45 10 0
Langkah pertama yang dilakukan adalah menentukan titik awal dan titik
akhir ( dalam kasus ini node A adalah titik awal dan titik akhir).
Tabel 2.2 Tabel Langkah 1 Nearest Neighbour
Jarak A B C D E A 0 10 30 35 40 B 10 0 15 30 20 C 30 15 0 25 45 D 35 30 25 0 10 E 40 20 45 10 0
Berdasar graf tersebut maka akan dihasilkan tabel langkah pertama.
Lihatlah jarak terpendek pada kolom A. Pada kolom A jarak terpendek adalah 10
menuju B.
Tabel 2.3 Tabel Langkah 2 Nearest Neighbour
Jarak A B C D E A 0 10 30 35 40 B 10 0 15 30 20 C 30 15 0 25 45 D 35 30 25 0 10 E 40 20 45 10 0
Setelah itu lihatlah jarak terpendek pada kolom B. Pada kolom B jarak
terpendek yang belum dilewati adalah 15 menuju C.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Tabel 2.4 Tabel Langkah 3 Nearest Neighbour
Jarak A B C D E A 0 10 30 35 40 B 10 0 15 30 20 C 30 15 0 25 45 D 35 30 25 0 10 E 40 20 45 10 0
Lihatlah jarak terpendek pada kolom C yang belum dilewati. Pada kolom
C jarak terpendek yang belum dilewati adalah 25 menuju D.
Tabel 2.5 Tabel Langkah 4 Nearest Neighbour
Jarak A B C D E A 0 10 30 35 40 B 10 0 15 30 20 C 30 15 0 25 45 D 35 30 25 0 10 E 40 20 45 10 0
Lihatlah jarak terpendek pada kolom D yang belum dilewati. Pada kolom
D jarak terpendek yang belum dilewati adalah 10 menuju E.
Tabel 2.6 Tabel Langkah 5 Nearest Neighbour
Jarak A B C D E A 0 10 30 35 40 B 10 0 15 30 20 C 30 15 0 25 45 D 35 30 25 0 10 E 40 20 45 10 0
E adalah node terakhir, karena harus kembali ke titik awal, maka akan
diambil jarak dari E menuju A yaitu 40.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Dari langkah menggunakan Nearest Neighbour maka akan mendapat rute
A – B – C – D – E – A dengan jarak tempuh 10 + 15 + 25 + 10 + 40 = 100 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
BAB III
ANALISIS DAN PERANCANGAN SISTEM
Dalam bab Perancangan data ini akan dikaji sumber data, analisis
pengolahan data, perangkat penelitian, tahap penelitian, dan perencanaan umum
sistem yang akan dibahas satu – persatu.
3.1 SUMBER DATA
Dalam penelitian ini, obyek yang digunakan adalah data pengiriman air
kemasan galon OXYO dari Bapak Adhitya pemilik air kemasan galon OXYO
( data juni 2015 ). Pelanggan berjumlah 4021 pelanggan, dan digunakan 30 sample
untuk data penelitian. Pengiriman pada pelanggan berdasarkan pemesanan pada hari
sebelumnya sehingga OXYO mengirimkan air berdasarkan pada data pengiriman.
Saat ini OXYO melayani pengiriman di kota Yogyakarta, Klaten, dan sekitarnya
menggunakan mobil pick up.
3.2 ANALISIS PENGOLAHAN DATA
Data yang didapat dari OXYO berupa data alamat pelanggan. Data
pengiriman air kemasan galon OXYO diproses diproses secara manual
menggunakan google map untuk mendapatkan jarak antar pelanggan dan jarak
antar distributor sehingga menghasilkan tabel jarak.
3.3 PERANGKAT PROSES PENELITIAN
Perangkat yang digunakan adalah Notebook standar dengan menggunakan
sistem operasi Windows dan applikasi yang digunakan adalah exel, google map,
dan java.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
3.4 TAHAP PENELITIAN
Tahap – tahap yang dilakukan dalam proses penelitian adalah study
literatur, olah data, membuat sistem, dan analisis sistem.
1. Study literatur
Study literatur ini meliputi membaca buku – buku tentang struktur data dan
jurnal terkait dengan karya ilmiah ini yaitu jurnal VRP menggunakan
Nearest Neighbour. Jurnal – jurnal tersebut yang akan menjadi referensi
penulis dalam mengerjakan karya ilmiah ini.
2. Olah data
Pada proses olah data, penulis memproses data alamat pelanggan dengan
menggunkan aplikasi google map secara manual untuk mendapatkan jarak.
Jarak yang didapatkan dimasukan ke dalam tabel sebagai inputan dalam
proses menentukan rute.
3. Pembuatan sistem
Proses membuat sistem dilakukan untuk membangan sistem penentuan
rute sehingga dapat menghasilkan rute pengiriman dari inputan jarang
yang didapat dari hasil olah data.
4. Analisis sistem
Dalam proses analisis sistem maka sistem yang telah dibuat akan diuji
hasilnya.
3.5 PERENCANAAN UMUM SISTEM
Pada subbab ini kan dijelaskan gambaran yang akan dibangun berupa
diagram use case, deskripsi use case, perancangan umum algoritma, dan skenario
use case.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
A. Diagram Use Case
Aktor dari sistem ini hanya ada satu yaitu pemilik yang akan disebut
sebagai pengguna. Fungsi utama pengguna yang dapat dilakukan
pengguna adalah menentukan rute.
Gambar 3.5.1 Diagram use case.
B. Deskripsi Use Case
Fungsi yang dapat dilakukan oleh pengguna terhadap system digambarkan
dengan diagram use case pada gambar 3.5.1 dengan penjelasan sebagai
berikut :
Tabel 3.5.1 Tabel Deskripsi Use Case
No Nama Use Case Deskripsi Use Case 1. Menentukan
Rute Use case ini digunakan untuk
menentukan rute. Pengguna dapat melihat rute yang dihasilkan.
2. Melihat Bantuan Use case ini digunakan untuk melihat bantuan untuk menentukan rute.
C. Perancangan Umum Algoritma Pseudocode :
1. Tentukan distributor sebagai titik awal.
2. Cari tempat terdekat yang belum dikunjungi dan pergi kesana.
3. Jika ada tempat yang belum dikunjungi maka lakukan langkah 2.
4. Kembali ke distributor .
5. Selesai.
Mengimpor data
Menentukan rute Pengguna
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
D. Skenario Use Case
Skenario use case merupakan penjabaran use case yang terdapat pada
diagram use case.
Nama use case : Menentukan Rute
Aktor : User
Kondisi awal : Aktor berada di Main View.
Tabel 3.5.2 Tabel Use Case Menentukan Rute
Aksi Aktor Reaksi Sistem 1. Aktor memberi tanda centang nama pelanggan lalu klik tombol proses. 2. Sistem menampilkan rute perjalanan.
Nama use case : Melihat Bantuan
Aktor : User
Kondisi awal : Aktor berada di Main View.
Tabel 3.5.3 Tabel Use Case Melihat Bantuan
Aksi Aktor Reaksi Sistem 1. Klik tombol "bantuan". 2. Sistem menampilkan halaman bantuan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
BAB IV
IMPLEMENTASI SISTEM
Bab ini berisi tentang hasil penelitian berupa sistem yang dibangun
berdasar analisis dan perancangan yang telah dibahas pada bab sebelumnya dan
pembahasan mengenai hasil yang didapatkan.
4.1 Implementasi Antarkuka Pemakai (User Interface)
Pada subbab ini akan dibahas mengenai implementasi dari sistem yang telah
direncanakan pada bab sebelumnya. Sistem akan mempunyai satu halaman
yaitu halaman utama dengan kotak dialog untuk “cara menggunakan” dan
“proses data”.
A. Halaman Utama
Halaman utama adalah halaman yang muncul pertama kali muncul saat
sistem dijalankan. Halaman ini memiliki checkbox nama pelanggan. Beri
tanda pada nama pelanggan yang memesan setelah itu klik tombol proses
data, maka akan menampilkan rute pengiriman.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Gambar 4.1.1 Tampilan Halaman Utama
Gambar 4.1.2 Tampilan Hasil Rute
B. Kotak Dialog Cara Menggunakan
Pada halaman utama terdapat tombol Bantuan, jika di-klik maka akan
menampilkan kotak dialog halaman bantuan. Halaman bantuan merupakan
halaman yang berisi cara penggunaan sistem bagi pengguna.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Gambar 4.1.3 Tampilan Cara Menggunakan
4.2 Pemrosesan Input
Data yang dibutuhkan adalah tabel jarak dan data pemesan. Data pemesan ini
sudah dibuat pada hari sebelumnya. Data disimpan dalam file excel yang
mengandung 2 sheet. Berikut ini adalah penjelasan dari masing – masing sheet :
1. Sheet Jarak
Sheet ini digunakan untuk menyimpan jarak tiap halte. Jarak yang dicari
secara manual menggunakan google map diisikan pada tabel ini. Tabel ini
berisi lebih dari 2 kolom, kolom distributor untuk menyimpan jarak
distributor ke tiap pelanggan dan kolom lainnya digunakan untuk menyimpan
jarak antar pelanggan.
2. Sheet Pelanggan
Sheet ini digunakan untuk menyimpan id dan nama pelanggan. Nama inilah
yang kemudian akan dibentuk menjadi node – node pada graf yang akan
dibentuk. Sheet ini terdiri dari 2 kolom yang berisi id dan nama pelanggan.
4.3 Implementasi Algoritma pada Sistem
A. Kelas distance_measurment
Kelas distance_measurment digunakan untuk melakukan perhitungan.
Perhitungan ini adalah perhitungan untuk mencari jalur terpendek dengan
menggunakan nearest neighbour. Method “terpendek” digunakan untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
menentukan distributor sebagai node pertama dan menyimpan jarak
terpendek ke tempat selanjutnya setelah distributor dan melanjutkan
perjalanan. Setelah itu proses dilanjutkan dengan menyimpan tempat
dengan jarak tependek yang bukan 0 dan pergi kesana lalu menghapusnya
agar tidak mencari jarak terpendek ke tempat yang sudah dilewati hingga
semua tempat tujuan terlewati dan menyimpan semua jarak yang dilewati.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Gambar 4.3.1 Source Code Method Terpendek
B. User Interface
Source code untuk halaman menu utama disimpan dalam MainView.java.
Pada halaman ini berisi checkbox dan label nama pemesan yang nantinya
menjadi input untuk memproses rute pengiriman. Dalam MainView.java
ini terdapat tiga tombol yaitu “cara menggunakan”, “proses data”, dan
“keluar”. “ Cara menggunakan” memiliki actionPerformed menampilkan
kotak dialog yang berisi tutorial cara menggunakan. “ Proses data
memiliki actionPerformed menampilkan kotak dialog yang berisi hasil
rute dari kelas DistanceMeasurement. “ Keluar” memiliki
actionPerformed keluar dari halaman utama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Gambar 4.3.2 Source Code MainView
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
BAB V
PENGUJIAN DAN ANALISA HASIL
Bab ini berisi tentang hasil penelitian berupa sistem yang dibangun
berdasar analisis dan perancangan yang telah dibahas pada bab sebelumnya dan
pembahasan mengenai hasil yang didapatkan.
5.1 Pengujian dan Analisa Hasil Sistem
Pengujian ini dilakukan dengan menggunakan skenario pengujian yang telah
dituliskan pada bab ketiga. Tujuan dari pengujian ini adalah untuk menguji
apakah sistem mampu memberi tanggapan yang benar terhadap tindakan
pengguna serta memberikan solusi yang benar. Hasil pengujiannya adalah
sebagai berikut ini.
Tabel 5.1 Tabel Hasil Pengujian Sistem
No Use Case Masukan
Hasil yang
diharapkan
Hasil yang
Didapatkan
1 Menentukan cityName Rute perjalanan Rute perjalanan
Rute
dengan jarak dengan jarak
terpendek. terpendek.
5.2 Pengujian dan Analisa Hasil Nearest Neighbour
Solusi yang diharapkan dalam penentuan rute adalah hasil rute terpendek
berdasar dari table jarak. Dari tabel jarak tersebut maka sistem diuji masing –
masing 4 kali pengujian dengan menggunakan 3 sample, 5 sample, 7 sample
dan 9 sample. Hasil dari pengujian sebagai berikut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Percobaan 1 dari distributor dengan 3 sample :
Gambar 5.2.1 Percobaan 1 dari distributor dengan 3 sample
Gambar 5.2.2 Hasil percobaan 1 dari distributor dengan 3 sample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Tabel 5.2.1 Tabel jarak percobaan 1 dari distributor dengan 3 sample
Distributor Mbak Miranda Happy Juice Potong Rambut Mbak Miranda 3490 0 270 220 Happy Juice 3660 270 0 50
Potong Rambut 3650 220 50 0 Distributor 0 3490 3660 3650
Berdasar dari tabel sample diatas, maka akan mendapat rute dimulai dari
Distributor ke Mbak Miranda sebagai node terdekat yang pertama dikunjungi
dengan jarak 3490 meter. Setelah itu cari jarak terdekat dari Mbak Miranda lalu
menuju kesana. Jarak terdekat dari Mbak Miranda adalah jarak menuju
Potong Rambut dengan jarak 220 meter. Setelah itu cari jarak terdekat yang
belum dikunjungi dari Potong Rambut lalu menuju kesana. Jarak terdekat yang
belum dikunjungi dari Potong Rambut adalah jarak menuju Happy Juice dengan
jarak 50 meter. Happy Juice adalah node terakhir yang belum dikunjungi, maka
akan kembali menuju distributor dengan jarak 3660 meter. Hasilnya adalah seperti
pada tabel dibawah.
Tabel 5.2.2 Total jarak percobaan 1 dari distributor dengan 3 sample
Distributor Mbak Miranda Happy Juice Potong Rambut Mbak Miranda 3490 0 270 220 Happy Juice 3660 270 0 50
Potong Rambut 3650 220 50 0 Distributor 0 3490 3660 3650
Dari langkah - langkah yang telah dilalui, maka didapatlah rute
Distributor – Mbak Miranda – Potong Rambut – Happy Juice – distributor dengan
total jarak 7420 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Percobaan 2 dari distributor dengan 3 sample :
Gambar 5.2.3 Percobaan 2 dari distributor dengan 3 sample
Gambar 5.2.4 Hasil percobaan 2 dari distributor dengan 3 sample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Tabel 5.2.3 Tabel jarak percobaan 2 dari distributor dengan 3 sample
Distributor Potong Rambut Mbak Septi Bu Surip Potong Rambut 3650 0 210 280
Mbak Septi 3970 210 0 40 Bu Surip 3940 280 40 0
Distributor 0 3650 3970 3940
Berdasar dari tabel sample diatas, maka akan mendapat rute dimulai dari
Distributor ke Bu Surip sebagai node terdekat yang pertama dikunjungi dengan
jarak 3940 meter. Setelah itu cari jarak terdekat dari Bu Surip lalu menuju
kesana. Jarak terdekat dari Bu Surip adalah jarak menuju Mbak Septi dengan
jarak 40 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari
Mbak Septi lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari
Mbak Septi adalah jarak menuju Potong Rambut dengan jarak 210 meter.
Potong Rambut adalah node terakhir yang belum dikunjungi, maka akan kembali
menuju distributor dengan jarak 3650 meter. Hasilnya adalah seperti pada tabel
dibawah.
Tabel 5.2.4 Total jarak percobaan 2 dari distributor dengan 3 sample
Distributor Potong Rambut Mbak Septi Bu Surip Potong Rambut 3650 0 210 280
Mbak Septi 3970 210 0 40 Bu Surip 3940 280 40 0
Distributor 0 3650 3970 3940 Dari langkah – langkah yang telah dilalui, maka didapatlah rute
distributor – Bu Surip – Mbak Septi – Potong Rambut– distributor dengan total
jarak 7840 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Percobaan 3 dari distributor dengan 3 sample :
Gambar 5.2.5 Percobaan 3 dari distributor dengan 3 sample
Gambar 5.2.6 Hasil percobaan 3 dari distributor dengan 3 sample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Tabel 5.2.5 Tabel jarak percobaan 3 dari distributor dengan 3 sample
Distributor BT PN Bu Sulami Bu Waluyo BT PN 3760 0 600 210
Bu Sulami 3550 600 0 350 Bu Waluyo 3910 210 350 0 Distributor 0 3760 3550 3910
Berdasar dari tabel sample diatas, maka akan mendapatkan rute dimulai
dari Distributor ke Bu Sulami sebagai node terdekat yang pertama dikunjungi
dengan jarak 3550 meter. Setelah itu cari jarak terdekat dari Bu Sulami lalu
menuju kesana. Jarak terdekat dari Bu Sulami adalah jarak menuju Bu Waluyo
dengan jarak 350 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari
Bu Waluyo lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari
Bu Waluyo adalah jarak menuju BTPN dengan jarak 210 meter. BTPN adalah
node terakhir yang belum dikunjungi, maka akan kembali menuju distributor
dengan jarak 3760 meter. Hasilnya adalah seperti pada tabel dibawah.
Tabel 5.2.6 Total jarak percobaan 3 dari distributor dengan 3 sample
Distributor BT PN Bu Sulami Bu Waluyo BT PN 3760 0 600 210
Bu Sulami 3550 600 0 350 Bu Waluyo 3910 210 350 0 Distributor 0 3760 3550 3910
Dari langkah – langkah yang telah dilalui, maka didapatlah rute
distributor – Bu Sulami – Bu Waluyo – BTPN – distributor dengan total jarak
7870 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Percobaan 4 dari distributor dengan 3 sample :
Gambar 5.2.7 Hasil percobaan 4 dari distributor dengan 3 sample
Gambar 5.2.8 Hasil percobaan 4 dari distributor dengan 3 sample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Tabel 5.2.7 Tabel jarak percobaan 4 dari distributor dengan 3 sample
Distributor Pak Mujiyono Mbak Ismi Mbak Miranda
Pak Mujiyono 3520 0 120 140
Mbak Ismi 3500 120 0 90
Mbak Miranda 3490 140 90 0
Distributor 0 3520 3500 3490
Berdasar dari tabel sample diatas, maka akan mendapatkan rute dimulai
dari Distributor ke Mbak Miranda sebagai node terdekat yang pertama dikunjungi
dengan jarak 3490 meter. Setelah itu cari jarak terdekat dari Mbak Miranda lalu
menuju kesana. Jarak terdekat dari Mbak Miranda adalah jarak menuju Mbak Ismi
dengan jarak 90 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari
Mbak Ismi lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari
Mbak Ismi adalah jarak menuju Pak Mujiyono dengan jarak 120 meter.
Pak Mujiyono adalah node terakhir yang belum dikunjungi, maka akan kembali
menuju distributor dengan jarak 3520 meter. Hasilnya adalah seperti pada tabel
dibawah.
Tabel 5.2.8 Total jarak percobaan 4 dari distributor dengan 3 sample
Distributor Pak Mujiyono Mbak Ismi Mbak Miranda
Pak Mujiyono 3520 0 120 140
Mbak Ismi 3500 120 0 90
Mbak Miranda 3490 140 90 0
Distributor 0 3520 3500 3490
Dari langkah – langkah yang telah dilalui, maka didapatlah rute
distributor – Mbak Miranda – Mbak Ismi – Pak Mujiyono - distributor dengan
total jarak 7220 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Percobaan 1 dari distributor dengan 5 sample :
Gambar 5.2.9 Percobaan 1 dari distributor dengan 5 sample
Gambar 5.2.10 Hasil percobaan 1 dari distributor dengan 5 sample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Tabel 5.2.9 Tabel jarak percobaan 1 dari distributor dengan 5 sample
Berdasar dari tabel sample diatas, maka akan mendapatkan rute dimulai
dari Distributor ke Potong Rambut sebagai node terpendek yang pertama dengan
jarak 3650 meter. Setelah itu cari jarak terdekat dari Potong Rambut lalu menuju
kesana. Jarak terdekat dari Potong Rambut adalah jarak menuju Bu Wiwik dengan
jarak 130 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari
Bu Wiwik lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari
Bu Wiwik adalah jarak menuju Bu Yayuk dengan jarak 40 meter. Setelah itu cari
jarak terdekat yang belum dikunjungi dari Bu Yayuk lalu menuju kesana. Jarak
terdekat yang belum dikunjungi dari Bu Yayuk adalah jarak menuju Bu Jum
dengan jarak 160 meter. Setelah itu cari jarak terdekat yang belum dikunjungi
dari Bu Jum lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari
Bu Jum adalah jarak menuju Bu Murni dengan jarak 50 meter. Bu Murni adalah
node terakhir yang belum dikunjungi, maka akan kembali menuju distributor
dengan jarak 4080 meter. Hasilnya adalah seperti pada tabel dibawah.
distributor Potong Rambut
Bu Wiwik
Bu Yayuk
Bu Jum
Bu Murni
Potong Rambut 3650 0 130 170 300 350
Bu Wiwik 3980 130 0 40 140 230 Bu Yayuk 3850 170 40 0 160 210 Bu Jum 4030 300 140 160 0 50
Bu Murni 4080 350 230 210 50 0 distributor 0 3650 3980 3850 4030 4080
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Tabel 5.2.10 Total jarak percobaan 1 dari distributor dengan 5 sample
distributor Potong Rambut
Bu Wiwik Bu Yayuk Bu Jum Bu
Murni Potong Rambut 3650 0 130 170 300 350
Bu Wiwik 3980 130 0 40 140 230 Bu Yayuk 3850 170 40 0 160 210 Bu Jum 4030 300 140 160 0 50
Bu Murni 4080 350 230 210 50 0 distributor 0 3650 3980 3850 4030 4080
Dari langkah – langkah yang telah dilalui, maka didapatlah rute
distributor – Potong Rambut – Bu Wiwik – Bu Yayuk – Bu Jum – Bu Murni -
distributor dengan total jarak 8110 meter.
Percobaan 2 dengan 5 sample :
Gambar 5.2.11 Percobaan 2 dengan 5 sample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Gambar 5.2.12 Hasil percobaan 2 dengan 5 sample
Tabel 5.2.11 Tabel jarak percobaan 2 dari distributor dengan 5 sample
distributor Bu Heni
Ny suyatmin
Bu Nita
Bu Sugiyem
Bu Murni
Bu Heni 3720 0 160 190 230 300 Ny
suyatmin 3970 160 0 120 60 190 Bu Nita 3950 190 120 0 60 130
Bu Sugiyem 3940 230 60 60 0 110 Bu Murni 4080 300 190 130 110 0 distributor 0 3720 3970 3950 3940 4080
Berdasar dari tabel sample diatas, maka rute akan dimulai dari Distributor
ke Bu Heni sebagai node terpndek yang pertama dengan jarak 3720 meter.
Setelah itu cari jarak terdekat dari Bu Heni lalu menuju kesana. Jarak terdekat
dari Bu Heni adalah jarak menuju Ny Suyatmin dengan jarak 160 meter. Setelah
itu cari jarak terdekat yang belum dikunjungi dari Ny Suyatmin lalu menuju
kesana. Jarak terdekat yang belum dikunjungi dari Ny Suyatmin adalah jarak
menuju Bu Sugiyem dengan jarak 60 meter. Setelah itu cari jarak terdekat yang
belum dikunjungi dari Bu Sugiye lalu menuju kesana. Jarak terdekat yang belum
dikunjungi dari Bu Sugiyem adalah jarak menuju Bu Nita dengan jarak 60 meter.
Setelah itu cari jarak terdekat yang belum dikunjungi dari Bu Nita lalu menuju
kesana. Jarak terdekat yang belum dikunjungi dari Bu Nita adalah jarak menuju
Bu Murni dengan jarak 130 meter. Bu Murni adalah node terakhir yang belum
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
dikunjungi, maka akan kembali menuju distributor dengan jarak 4080 meter.
Hasilnya adalah seperti pada tabel dibawah.
Tabel 5.2.12 Total jarak percobaan 2 dari distributor dengan 5 sample
distributor Bu Heni
Ny suyatmin Bu Nita Bu
Sugiyem Bu
Murni Bu Heni 3720 0 160 190 230 300
Ny suyatmin 3970 160 0 120 60 190 Bu Nita 3950 190 120 0 60 130
Bu Sugiyem 3940 230 60 60 0 110 Bu Murni 4080 300 190 130 110 0 distributor 0 3720 3970 3950 3940 4080
Dari langkah – langkah yang telah dilalui, maka didapatlah rute
distributor – Bu Heni – Ny Suyatmin – Bu Sugiyem – Bu Nita – Bu Murni -
distributor dengan total jarak 8210 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Percobaan 3 dengan 5 sample :
Gambar 5.2.13 Percobaan 3 dengan 5 sample
Gambar 5.2.14 Hasil percobaan 3 dengan 5 sample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Tabel 5.2.13 Tabel jarak percobaan 3 dari distributor dengan 5 sample
distributor Bu Mamik
Bu Sulami
Bu Sugiyem
Bu Murni
Mas Damar
Bu Mamik 3860 0 260 160 260 210 Bu Sulami 3550 260 0 300 400 450
Bu Sugiyem 3940 160 300 0 110 150 Bu Murni 4080 260 400 110 0 210
Mas Damar 3950 210 450 150 210 0 distributor 0 3860 3550 3940 4080 3950
Berdasar dari tabel sample diatas, maka rute akan dimulai dari Distributor
ke Bu Sulami sebagai node terdekat yang pertama dengan jarak 3550 meter.
Setelah itu cari jarak terdekat dari Bu Sulami lalu menuju kesana. Jarak terdekat
dari Bu Sulami adalah jarak menuju Bu Mamik dengan jarak 260 meter. Setelah
itu cari jarak terdekat yang belum dikunjungi dari Bu Mamik lalu menuju kesana.
Jarak terdekat yang belum dikunjungi dari Bu Mamik adalah jarak menuju
Bu Sugiyem dengan jarak 160 meter. Setelah itu cari jarak terdekat yang belum
dikunjungi dari Bu Sugiyem lalu menuju kesana. Jarak terdekat yang belum
dikunjungi dari Bu Sugiyem adalah jarak menuju Bu Murni dengan jarak
110 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari Bu Murni
lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari Bu Murni adalah
jarak menuju Mas Damar dengan jarak 2100 meter. Mas Damar adalah node
terakhir yang belum dikunjungi, maka akan kembali menuju distributor dengan
jarak 3950 meter. Hasilnya adalah seperti pada tabel dibawah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Tabel 5.2.14 Total jarak percobaan 3 dari distributor dengan 5 sample
distributor Bu Mamik
Bu Sulami
Bu Sugiyem
Bu Murni
Mas Damar
Bu Mamik 3860 0 260 160 260 210 Bu Sulami 3550 260 0 300 400 450
Bu Sugiyem 3940 160 300 0 110 150 Bu Murni 4080 260 400 110 0 210
Mas Damar 3950 210 450 150 210 0 distributor 0 3860 3550 3940 4080 3950
Dari langkah – langkah yang telah dilalui, maka didapatlah rute
distributor – Bu Sulami – Bu Mamik – Bu Sugiyem – Bu Murni – Mas Damar –
distributor dengan total jarak 8240 meter.
Percobaan 4 dengan 5 sample :
Gambar 5.2.15 Percobaan 4 dengan 5 sample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Gambar 5.2.16 Hasil percobaan 4 dengan 5 sample
Tabel 5.2.15 Tabel jarak percobaan 4 dari distributor dengan 5 sample
distributor Bu Endah
Bu Sulami
Bu Sugiyem
Bu Waluyo
Bu Murni
Bu Endah 3800 0 350 220 200 280 Bu Sulami 3550 350 0 300 350 400
Bu Sugiyem 3940 220 300 0 90 110 Bu Waluyo 3910 200 350 90 0 120 Bu Murni 4080 280 400 110 120 0
distributor 0 3800 3550 3940 3910 4080
Berdasar dari tabel sample diatas, maka rute akan dimulai dari Distributor
ke Bu Sulami sebagai node terdekat yang pertama dengan jarak 3550 meter.
Setelah itu cari jarak terdekat dari Bu Sulami lalu menuju kesana. Jarak terdekat
dari Bu Sulami adalah jarak menuju Bu Sugiyem dengan jarak 300 meter. Setelah
itu cari jarak terdekat yang belum dikunjungi dari Bu Sugiyem lalu menuju
kesana. Jarak terdekat yang belum dikunjungi dari Bu Sugiyem adalah jarak
menuju Bu Waluyo dengan jarak 90 meter. Setelah itu cari jarak terdekat yang
belum dikunjungi dari Bu Waluyo lalu menuju kesana. Jarak terdekat yang belum
dikunjungi dari Bu Waluyo adalah jarak menuju Bu Murni dengan jarak
120 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari Bu Murni
lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari Bu Murni adalah
jarak menuju Bu Endah dengan jarak 280 meter. Bu Endah adalah node terakhir
yang belum dikunjungi, maka akan kembali menuju distributor dengan jarak
3800 meter. Hasilnya adalah seperti pada tabel dibawah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Tabel 5.2.16 Total jarak percobaan 4 dari distributor dengan 5 sample
distributor Bu Endah
Bu Sulami
Bu Sugiyem
Bu Waluyo
Bu Murni
Bu Endah 3800 0 350 220 200 280 Bu Sulami 3550 350 0 300 350 400
Bu Sugiyem 3940 220 300 0 90 110 Bu Waluyo 3910 200 350 90 0 120 Bu Murni 4080 280 400 110 120 0 distributor 0 3800 3550 3940 3910 4080
Dari langkah – langkah yang telah dilalui, maka didapatlah rute
distributor – Bu Sulami – Bu Sugiyem – Bu Waluyo – Bu Murni – Bu Endah –
distributor dengan total jarak 8140 meter.
Percobaan 1 dengan 7 sample :
Gambar 5.2.17 Percobaan 1 dengan 7 sample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Gambar 5.2.18 Hasil percobaan 1 dengan 7 sample
Tabel 5.2.17 Tabel jarak percobaan 1 dari distributor dengan 7 sample
distributor BTPN Bu Ripto
Potong Rambut
Bu Sulami
Bu Wiwik
Bu Jum
Bu Maryani
BT PN 3760 0 60 400 600 160 280 350 Bu Ripto 3820 60 0 350 550 220 350 400 Potong Rambut 3650 400 350 0 50 130 300 400
Bu Sulami 3550 600 550 50 0 180 400 450
Bu Wiwik 3980 160 220 130 180 0 140 270 Bu Jum 4030 280 350 300 400 140 0 80
Bu Maryani 4180 350 350 400 450 270 80 0
distributor 0 3760 350 3650 3550 3980 4030 4180
Berdasar dari tabel sample diatas, maka rute akan dimulai dari Distributor
ke Bu Sulami sebagai node terdekat yang pertama dengan jarak 3550 meter.
Setelah itu cari jarak terdekat dari Bu Sulami lalu menuju kesana. Jarak terdekat
dari Bu Sulami adalah jarak menuju Potong Rambut dengan jarak 50 meter.
Setelah itu cari jarak terdekat yang belum dikunjungi dari Potong Rambut lalu
menuju kesana. Jarak terdekat yang belum dikunjungi dari Potong Rambut adalah
jarak menuju Bu Wiwik dengan jarak 130 meter. Setelah itu cari jarak terdekat
yang belum dikunjungi dari Bu Wiwik lalu menuju kesana. Jarak terdekat yang
belum dikunjungi dari Bu Wiwik adalah jarak menuju Bu Jum dengan jarak
140 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari Bu Jum lalu
menuju kesana. Jarak terdekat yang belum dikunjungi dari Bu Jum adalah jarak
menuju Bu Maryani dengan jarak 80 meter. Setelah itu cari jarak terdekat yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
belum dikunjungi dari Bu Maryani lalu menuju kesana. Jarak terdekat yang belum
dikunjungi dari Bu Maryani adalah jarak menuju BTPN dengan jarak 350 meter.
Setelah itu cari jarak terdekat yang belum dikunjungi dari BTPN lalu menuju
kesana. Jarak terdekat yang belum dikunjungi dari BTPN adalah jarak menuju
Bu Ripto dengan jarak 60 meter. Bu Ripto adalah node terakhir yang belum
dikunjungi, maka akan kembali menuju distributor dengan jarak 3820 meter.
Hasilnya adalah seperti pada tabel dibawah.
Tabel 5.2.18 Total jarak percobaan 1 dari distributor dengan 7 sample
distributor BT PN Bu Ripto
Potong Rambut
Bu Sulami
Bu Wiwik
Bu Jum
Bu Maryani
BT PN 3760 0 60 400 600 160 280 350 Bu Ripto 3820 60 0 350 550 220 350 400 Potong Rambut 3650 400 350 0 50 130 300 400
Bu Sulami 3550 600 550 50 0 180 400 450 Bu Wiwik 3980 160 220 130 180 0 140 270
Bu Jum 4030 280 350 300 400 140 0 80 Bu
Maryani 4180 350 350 400 450 270 80 0
distributor 0 3760 3820 3650 3550 3980 4030 4180
Dari langkah – langkah yang telah dilalui, maka didapatlah rute
distributor – Bu Sulami – Potong Rambut – Bu Wiwik – Bu Jum – Bu Maryani –
BTPN – Bu Ripto – distributor dengan total jarak 8180 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Percobaan 2 dengan 7 sample :
Gambar 5.2.19 Percobaan 2 dengan 7 sample
Gambar 5.2.20 Hasil percobaan 2 dengan 7 sample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Tabel 5.2.19 Tabel jarak percobaan 2 dari distributor dengan 7 sample
distributor BT PN Bu Ripto
Bu Endah
Happy Juice
Bu Nita
Bu Maryani
Bu Sri Sukarti
BT PN 3760 0 60 80 240 200 350 300 Bu Ripto 3820 60 0 140 290 220 400 300 Bu Endah 3800 80 140 0 230 160 300 240
Happy Juice 3660 240 290 230 0 210 350 280
Bu Nita 3950 200 220 160 210 0 160 90 Bu
Maryani 4180 350 400 300 350 160 0 150 Bu Sri Sukarti 4000 300 300 240 280 90 150 0
distributor 0 3760 3820 3800 3660 3950 4180 4000
Berdasar dari tabel sample diatas, maka rute akan dimulai dari Distributor
ke Happy Juice sebagai node terdekat yang pertama dengan jarak 3660 meter.
Setelah itu cari jarak terdekat dari Happy Juice lalu menuju kesana. Jarak terdekat
dari Happy Juice adalah jarak menuju Bu Nita dengan jarak 210 meter. Setelah
itu cari jarak terdekat yang belum dikunjungi dari Bu Nita lalu menuju kesana.
Jarak terdekat yang belum dikunjungi dari Bu Nita adalah jarak menuju
Bu Sri Sukarti dengan jarak 90 meter. Setelah itu cari jarak terdekat yang belum
dikunjungi dari Bu Sri Sukarti lalu menuju kesana. Jarak terdekat yang belum
dikunjungi dari Bu Sri Sukarti adalah jarak menuju Bu Maryani dengan jarak
150 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari Bu Maryani
lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari Bu Maryani
adalah jarak menuju Bu Endah dengan jarak 300 meter. Setelah itu cari jarak
terdekat yang belum dikunjungi dari Bu Endah lalu menuju kesana. Jarak terdekat
yang belum dikunjungi dari Bu Endah adalah jarak menuju BTPN dengan jarak
80 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari BTPN lalu
menuju kesana. Jarak terdekat yang belum dikunjungi dari BTPN adalah jarak
menuju Bu Ripto dengan jarak 60 meter. Bu Ripto adalah node terakhir yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
belum dikunjungi, maka akan kembali menuju distributor dengan jarak 3820
meter. Hasilnya adalah seperti pada tabel dibawah.
Tabel 5.2.20 Total jarak percobaan 2 dari distributor dengan 7 sample
distributor BT PN Bu Ripto
Bu Endah
Happy Juice
Bu Nita
Bu Maryani
Bu Sri Sukarti
BT PN 3760 0 60 80 240 200 350 300 Bu Ripto 3820 60 0 140 290 220 400 300 Bu Endah 3800 80 140 0 230 160 300 240
Happy Juice 3660 240 290 230 0 210 350 280 Bu Nita 3950 200 220 160 210 0 160 90
Bu Maryani 4180 350 400 300 350 160 0 150 Bu Sri Sukarti 4000 300 300 240 280 90 150 0
distributor 0 3760 3820 3800 3660 3950 4180 4000 Dari langkah – langkah yang telah dilalui, maka didapatlah rute
distributor – Happy Juice – Bu Nita – Bu Sri Sukarti – Bu Maryani – Bu Endah –
BTPN – Bu Ripto – distributor dengan total jarak 8370 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Percobaan 3 dengan 7 sample :
Gambar 5.2.21 Percobaan 3 dengan 7 sample
Gambar 5.2.22 Hasil percobaan 3 dengan 7 sample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Tabel 5.2.21 Tabel jarak percobaan 3 dari distributor dengan 7 sample
distributor BT PN Bu Heni
Happy juice
Bu Nita
Bu Karni
Bu Sugiyem
Mas Damar
BT PN 3760 0 240 240 200 270 230 220 Bu Heni 3720 240 0 100 190 260 230 270 Happy juice 3660 240 100 0 210 260 220 350
Bu Nita 3950 200 190 210 0 70 60 80 Bu Karni 4030 270 260 260 70 0 40 150
Bu Sugiyem 3940 230 230 220 60 40 0 150
Mas Damar 3950 220 270 350 80 150 150 0
distributor 0 3760 3720 3660 3950 4030 3940 3950
Berdasar dari tabel sample diatas, maka rute akan dimulai dari Distributor
ke Happy Juice sebagai node terdekat yang pertama dengan jarak 3660 meter.
Setelah itu cari jarak terdekat dari Happy Juice lalu menuju kesana. Jarak terdekat
dari Happy Juice adalah jarak menuju Bu Heni dengan jarak 100 meter. Setelah
itu cari jarak terdekat yang belum dikunjungi dari Bu Heni lalu menuju kesana.
Jarak terdekat yang belum dikunjungi dari Bu Heni adalah jarak menuju Bu Nita
dengan jarak 190 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari
Bu Nita lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari Bu Nita
adalah jarak menuju Bu Sugiyem dengan jarak 60 meter. Setelah itu cari jarak
terdekat yang belum dikunjungi dari Bu Sugiyem lalu menuju kesana. Jarak
terdekat yang belum dikunjungi dari Bu Sugiyem adalah jarak menuju Bu Karni
dengan jarak 40 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari
Bu Karni lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari Bu Karni
adalah jarak menuju Mas Damar dengan jarak 150 meter. Setelah itu cari jarak
terdekat yang belum dikunjungi dari Mas Damar lalu menuju kesana. Jarak
terdekat yang belum dikunjungi dari Mas Damar adalah jarak menuju BTPN
dengan jarak 220 meter. BTPN adalah node terakhir yang belum dikunjungi,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
maka akan kembali menuju distributor dengan jarak 3660 meter. Hasilnya adalah
seperti pada tabel dibawah.
Tabel 5.2.22 Total jarak percobaan dari distributor dengan 7 sample
distributor BTPN Bu
Heni
Happy
juice
Bu
Nita
Bu
Karni
Bu
Sugiyem
Mas
Damar
BT PN 3760 0 240 240 200 270 230 220
Bu Heni 3720 240 0 100 190 260 230 270
Happy juice 3660 240 100 0 210 260 220 350
Bu Nita 3950 200 190 210 0 70 60 80
Bu Karni 4030 270 260 260 70 0 40 150
Bu Sugiyem 3940 230 230 220 60 40 0 150
Mas Damar 3950 220 270 350 80 150 150 0
distributor 0 3760 3720 3660 3950 4030 3940 3950
Dari langkah – langkah yang telah dilalui, maka didapatlah rute
distributor – Happy Juice – Bu Heni – Bu Nita – Bu Sugiyem – Bu Karni –
Mas Damar – BTPN – distributor dengan total jarak 8180 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Percobaan 4 dengan 7 sample :
Gambar 5.2.23 Percobaan 4 dengan 7 sample
Gambar 5.2.24 Hasil percobaan 4 dengan 7 sample
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Tabel 5.2.23 Tabel jarak percobaan 4 dari distributor dengan 7 sample
distributor Bu Endah
Happy Juice
Bu Karni
Bu Sugiyem
Bu Jum
Mas Damar
Pak Broto
Bu Endah 3800 0 230 230 220 270 200 290 Happy Juice 3660 230 0 260 220 270 350 550
Bu Karni 4030 230 260 0 40 90 150 200 Bu
Sugiyem 3940 220 220 40 0 180 150 260 Bu Jum 4030 270 270 90 180 0 200 300
Mas Damar 3950 200 350 150 150 200 0 120
Pak Broto 4010 290 550 200 260 300 120 0 distributor 0 3800 3660 4030 3940 4030 3950 4010
Berdasar dari tabel sample diatas, maka rute akan dimulai dari Distributor
ke Happy Juice sebagai node terpendek yang pertama dengan jarak 3660 meter.
Setelah itu cari jarak terdekat dari Happy Juice lalu menuju kesana. Jarak terdekat
dari Happy Juice adalah jarak menuju Bu Sugiyem dengan jarak 220 meter.
Setelah itu cari jarak terdekat yang belum dikunjungi dari Bu Sugiyem lalu
menuju kesana. Jarak terdekat yang belum dikunjungi dari Bu Sugiyem adalah
jarak menuju Bu Karni dengan jarak 40 meter. Setelah itu cari jarak terdekat yang
belum dikunjungi dari Bu Karni lalu menuju kesana. Jarak terdekat yang belum
dikunjungi dari Bu Karni adalah jarak menuju Bu Jum dengan jarak 90 meter.
Setelah itu cari jarak terdekat yang belum dikunjungi dari Bu Jum lalu menuju
kesana.Jarak terdekat yang belum dikunjungi dari Bu Jum adalah jarak menuju
Mas Damar dengan jarak 200 meter. Setelah itu cari jarak terdekat yang belum
dikunjungi dari Mas Damar lalu menuju kesana. Jarak terdekat yang belum
dikunjungi dari Mas Damar adalah jarak menuju Pak Broto dengan jarak
120 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari Pak Broto
lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari Pak Broto adalah
jarak menuju Bu Endah dengan jarak 290 meter. Bu Endah adalah node terakhir
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
yang belum dikunjungi, maka akan kembali menuju distributor dengan jarak
3800 meter. Hasilnya adalah seperti pada tabel dibawah.
Tabel 5.2.24 Total jarak percobaan 4 dari distributor dengan 7 sample
distributor Bu Endah
Happy Juice
Bu Karni
Bu Sugiyem
Bu Jum
Mas Damar
Pak Broto
Bu Endah 3800 0 230 230 220 270 200 290 Happy Juice 3660 230 0 260 220 270 350 550
Bu Karni 4030 230 260 0 40 90 150 200 Bu
Sugiyem 3940 220 220 40 0 180 150 260 Bu Jum 4030 270 270 90 180 0 200 300
Mas Damar 3950 200 350 150 150 200 0 120
Pak Broto 4010 290 550 200 260 300 120 0 distributor 0 3800 3660 4030 3940 4030 3950 4010 Dari langkah – langkah yang telah dilalui, maka didapatlah rute
distributor – Happy Juice – Bu Sugiyem – Bu Karni – Bu Jum – Mas Damar –
Pak Broto – Bu Endah – distributor dengan total jarak 8420 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Percobaan 1 dengan 9 sample :
Gambar 5.2.25 Percobaan 1 dengan 9 sample
Gambar 5.2.26 Hasil percobaan 1 dengan 9 sample
Berdasar dari tabel jarak percobaan 1 dari distributor ke 9 sample yang
terdapat pada lampiran 6, maka rute akan dimulai dari Distributor ke Bu Endah
sebagai node terdekat yang pertama dengan jarak 3800 meter. Setelah itu cari
jarak terdekat dari Bu Endah lalu menuju kesana. Jarak terdekat dari Bu Endah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
adalah jarak menuju Bu Mamik dengan jarak 70 meter. Setelah itu cari jarak
terdekat yang belum dikunjungi dari Bu Mamik lalu menuju kesana. Jarak
terdekat yang belum dikunjungi dari Bu Mamik adalah jarak menuju Ny Suyatmin
dengan jarak 90 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari
Ny Suyatmin lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari
Ny Suyatmin adalah jarak menuju Mbak Septi dengan jarak 40 meter. Setelah itu
cari jarak terdekat yang belum dikunjungi dari Mbak Septi lalu menuju kesana.
Jarak terdekat yang belum dikunjungi dari Mbak Septi adalah jarak menuju
Bu Sugiyem dengan jarak 70 meter. Setelah itu cari jarak terdekat yang belum
dikunjungi dari Bu Sugiyem lalu menuju kesana. Jarak terdekat yang belum
dikunjungi dari Bu Sugiyem adalah jarak menuju Bu Nita dengan jarak 60 meter.
Setelah itu cari jarak terdekat yang belum dikunjungi dari Bu Nita lalu menuju
kesana. Jarak terdekat yang belum dikunjungi dari Bu Nita adalah jarak menuju
Bu Jum dengan jarak 110 meter. Setelah itu cari jarak terdekat yang belum
dikunjungi dari Bu Jum lalu menuju kesana. Jarak terdekat yang belum
dikunjungi dari Bu Jum adalah jarak menuju Bu Maryani dengan jarak 80 meter.
Setelah itu cari jarak terdekat yang belum dikunjungi dari Bu Maryani lalu
menuju kesana. Jarak terdekat yang belum dikunjungi dari Bu Maryani adalah
jarak menuju Bu Ripto dengan jarak 400 meter. Bu Ripto adalah node terakhir
yang belum dikunjungi, maka akan kembali menuju distributor dengan jarak
3820 meter. Hasilnya adalah seperti pada tabel total jarak percobaan 2 dari
distributor dengan 9 sample pada lampiran 7.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Percobaan 2 dengan 9 sample :
Gambar 5.2.27 Percobaan 2 dengan 9 sample
Gambar 5.2.28 Hasil percobaan 2 dengan 9 sample
Berdasar dari tabel jarak percobaan 2 dari distributor ke 9 sample yang
terdapat pada lampiran 8, maka rute akan dimulai dari Distributor ke
Mbak Miranda sebagai node terdekat yang pertama dengan jarak
3490 meter. Setelah itu cari jarak terdekat dari Mbak Miranda lalu menuju kesana.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Jarak terdekat dari Mbak Miranda adalah jarak menuju Pak Mujiono dengan jarak
140 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari Pak Mujiono
lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari Pak Mujiono
adalah jarak menuju Happy Juice dengan jarak 110 meter. Setelah itu cari jarak
terdekat yang belum dikunjungi dari Happy Juice lalu menuju kesana. Jarak
terdekat yang belum dikunjungi dari Happy Juice adalah jarak menuju Bu Wiwik
dengan jarak 80 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari
Bu Wiwik lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari
Bu Wiwik adalah jarak menuju Ny Suyatmin dengan jarak 80 meter. Setelah itu
cari jarak terdekat yang belum dikunjungi dari Ny Suyatmin lalu menuju kesana.
Jarak terdekat yang belum dikunjungi dari Ny Suyatmin adalah jarak menuju
Mas Ragil dengan jarak 140 meter. Setelah itu cari jarak terdekat yang belum
dikunjungi dari Mas Ragil lalu menuju kesana. Jarak terdekat yang belum
dikunjungi dari Mas Ragil adalah jarak menuju Bu Jum dengan jarak 30 meter.
Setelah itu cari jarak terdekat yang belum dikunjungi dari Bu Jum lalu menuju
kesana. Jarak terdekat yang belum dikunjungi dari Bu Jum adalah jarak menuju
Bu Murni dengan jarak 50 meter. Setelah itu cari jarak terdekat yang belum
dikunjungi dari Bu Murni lalu menuju kesana. Jarak terdekat yang belum
dikunjungi dari Bu Murni adalah jarak menuju Bu Sulami dengan jarak
400 meter. Bu Sulami adalah node terakhir yang belum dikunjungi, maka akan
kembali menuju distributor dengan jarak 3550 meter. Hasilnya adalah seperti pada
tabel total jarak percobaan 2 dari distributor dengan 9 sample pada lampiran 9.
Dari langkah – langkah yang telah dilalui, maka didapatlah rute
distributor – Mbak Miranda – Pak Mujiono – Happy Juice – Bu Wiwik -
Ny Suyatmin – Mas Ragil – Bu Jum – Bu Murni – Bu Sulami – distributor dengan
total jarak 8060 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Percobaan 3 dengan 9 sample :
Gambar 5.2.29 Percobaan 3 dengan 9 sample
Gambar 5.2.30 Hasil percobaan 3 dengan 9 sample
Berdasar dari tabel jarak percobaan 3 dari distributor ke 9 sample yang
terdapat pada lampiran 10, maka rute akan dimulai dari Distributor ke
Pak Mujiono sebagai node terdekat yang pertama dengan jarak 3520 meter.
Setelah itu cari jarak terdekat dari Pak Mujiono lalu menuju kesana. Jarak terdekat
dari Pak Mujiono adalah jarak menuju Potong Rambut dengan jarak 160 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Setelah itu cari jarak terdekat yang belum dikunjungi dari Potong Rambut lalu
menuju kesana. Jarak terdekat yang belum dikunjungi dari Potong Rambut adalah
jarak menuju Bu Wiwik dengan jarak 130 meter. Setelah itu cari jarak terdekat
yang belum dikunjungi dari Bu Wiwik lalu menuju kesana. Jarak terdekat yang
belum dikunjungi dari Bu Wiwik adalah jarak menuju Ny Suyatmin dengan jarak
70 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari Ny Suyatmin
lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari Ny Suyatmin
adalah jarak menuju Bu Sugiyem dengan jarak 60 meter. Setelah itu cari jarak
terdekat yang belum dikunjungi dari Bu Sugiyem lalu menuju kesana. Jarak
terdekat yang belum dikunjungi dari Bu Sugiyem adalah jarak menuju Bu Nita
dengan jarak 60 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari
Bu Nita lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari Bu Nita
adalah jarak menuju Bu Supardi dengan jarak 80 meter. Setelah itu cari jarak
terdekat yang belum dikunjungi dari Bu Supardi lalu menuju kesana. Jarak
terdekat yang belum dikunjungi dari Bu Supardi adalah jarak menuju Pak Broto
dengan jarak 110 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari
Pak Broto lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari
Pak Broto adalah jarak menuju BTPN dengan jarak 350 meter. BTPN adalah node
terakhir yang belum dikunjungi, maka akan kembali menuju distributor dengan
jarak 3760 meter. Hasilnya adalah seperti pada tabel jarak percobaan 3 dari
distributor dengan 9 sample pada lampiran 11.
Dari langkah – langkah yang telah dilalui, maka didapatlah rute
Distributor – Pak Mujiono – Potong Rambut – Bu Wiwik – Ny Suyatmin –
Bu Sugiyem – Bu Nita – Bu Supardi – Pak Broto – BTPN – Distributor dengan
total jarak 8300 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Percobaan 4 dengan 9 sample :
Gambar 5.2.31 Percobaan 4 dengan 9 sample
Gambar 5.2.32 Hasil percobaan 4 dengan 9 sample
Berdasar dari tabel jarak percobaan 4 dari distributor ke 9 sample yang
terdapat pada lampiran 12, maka rute akan dimulai dari Distributor ke
Mbak Miranda sebagai node terdekat yang pertama dengan jarak 3490 meter.
Setelah itu cari jarak terdekat dari Mbak Miranda lalu menuju kesana. Jarak
terdekat dari Mbak Miranda adalah jarak menuju Happy Juice dengan jarak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
270 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari Happy Juice
lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari Happy Juice
adalah jarak menuju Bu Yayuk dengan jarak 120 meter. Setelah itu cari jarak
terdekat yang belum dikunjungi dari Bu Yayuk lalu menuju kesana. Jarak terdekat
yang belum dikunjungi dari Bu Yayuk adalah jarak menuju Bu Suhari dengan
jarak 40 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari
Bu Suhari lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari
Bu Suhari adalah jarak menuju Bu Nita dengan jarak 50 meter. Setelah itu cari
jarak terdekat yang belum dikunjungi dari Bu Nita lalu menuju kesana. Jarak
terdekat yang belum dikunjungi dari Bu Nita adalah jarak menuju Bu Sugiyem
dengan jarak 60 meter. Setelah itu cari jarak terdekat yang belum dikunjungi dari
Bu Sugiyem lalu menuju kesana. Jarak terdekat yang belum dikunjungi dari Bu
Sugiyem adalah jarak menuju Bu Sri Sukarti dengan jarak 60 meter. Setelah itu
cari jarak terdekat yang belum dikunjungi dari Bu Sri Sukarti lalu menuju kesana.
Jarak terdekat yang belum dikunjungi dari Bu Sri Sukarti adalah jarak menuju
Mbak Septi dengan jarak 120 meter. Setelah itu cari jarak terdekat yang belum
dikunjungi dari Mbak Septi lalu menuju kesana. Jarak terdekat yang belum
dikunjungi dari Mbak Septi adalah jarak menuju Pak Broto dengan jarak 450
meter. Pak Broto adalah node terakhir yang belum dikunjungi, maka akan kembali
menuju distributor dengan jarak 4010 meter. Hasilnya adalah seperti pada tabel
jarak percobaan 3 dari distributor dengan 9 sample pada lampiran 13.
Dari langkah – langkah yang telah dilalui, maka didapatlah rute
Distributor – Mbak Miranda – Happy Juice – Bu Yayuk – Bu Suhari – Bu Nita –
Bu Sugiyem – Bu Sri Sukarti – Mbak Septi – Pak Broto – Distributor dengan total
jarak 8670 meter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
BAB VI
KESIMPULAN DAN SARAN
Bab ini berisi akan membahas mengenai kesimpulan dan saran dari
penelitian yang telah dibuat.
6.1 Kesimpulan
Kesimpulan dari penelitian yang telah dilakukan adalah :
1. Penggunaan metode nearest neighbour mampu memberikan
solusipada kasus pencarian jalur tependek pada distribusi OXYO
kepada konsumen.
2. Penggunaan metode nearest neighbour mampu diimplementasikan
pada kasus pencarian jalur tependek pada distribusi OXYO kepada
konsumen.
6.2 Saran
Saran yang dapat diberikan setelah dilakukan penelitian ini adalah :
Aplikasi yang dibuat dalam penelitian ini dapat dibuat kembali
dengan fungsi jalur pengiriman karena akan mampu menolong pengguna
dalam melihat jalur pengirimannya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
DAFTAR PUSTAKA
Nugroho, Adi. 2008. Algoritma dan Struktur Data dalam Bahasa Java. Andi. Yogyakarta. Nugroho, Adi. 2009. Algoritma dan Struktur Data dengan C#. Andi. Yogyakarta. Suarga. 2009. Dasar Pemrograman Komputer dalam Bahasa Java. Andi. Yogyakarta. Kizilateş Gozde, Nuriyeva Fidan. (2013) On the Nearest Neighbor Algorithms for the Traveling Salesman Problem. Advances in Intelligent Systems and Computing, vol 225. Springer, Heidelberg. Diambil dari : https://link.springer.com/chapter/10.1007%2F978-3-319-00951-3_11 (1 Juni 2017)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
LAMPIRAN
Lampiran 1 : Daftar Pelanggan
ID Pelanggan Nama Pelanggan C.11 BT PN C.12 Bu Ripto C.13 Bu Endah C.14 Bu Mamik C.15 Bu Heni C.16 Pak Mujiyono C.17 Mbak Ismi C.18 Mbak Miranda C.19 Happy Juice C.20 Potong Rambut C.21 Bu Sulami C.22 Bu Wiwik C.23 Ny Suyatmin C.24 Bu Yayuk C.25 Bu Suhari C.26 Bu Nita C.27 Pak Adam C.28 Bu Karni C.29 Bu Sugiyem C.30 Mbak Septi C.31 Bu Surip C.32 Bu Waluyo C.33 Mas Ragil C.34 Bu Jum C.35 Bu Murni C.36 Bu Maryani C.37 Bu Sri Sukarti C.38 Mas Damar C.39 Bu Supardi C.40 Pak Broto
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
Lampiran 2 : Tabel Jarak Awal
BT PN Bu
Ripto Bu
Endah Bu
Mamik Bu
Heni Pak
Mujiyono Mbak Ismi
BT PN 0 60 80 120 240 350 210 Bu Ripto 60 0 140 130 180 260 140 Bu Endah 80 140 0 70 180 300 280 Bu Mamik 120 130 70 0 60 180 360 Bu Heni 240 180 180 60 0 120 200
Pak Mujiyono 350 260 300 180 120 0 120 Mbak Ismi 210 140 280 360 200 120 0
Mbak Miranda 300 230 350 400 290 140 90 Happy Juice 240 290 230 150 100 110 260
Potong Rambut 400 350 280 200 140 160 210
Bu Sulami 600 550 350 260 200 190 400 Bu Wiwik 160 220 150 80 90 280 350
Ny Suyatmin 160 230 160 90 160 230 350 Bu Yayuk 120 180 110 50 110 260 300 Bu Suhari 150 210 150 80 140 300 350 Bu Nita 200 220 160 120 190 400 400
Pak Adam 100 160 90 100 160 400 300 Bu Karni 270 290 230 200 260 350 450
Bu Sugiyem 230 290 220 160 230 280 500 Mbak Septi 170 230 160 100 160 300 350
Bu Surip 220 270 210 140 200 300 400 Bu Waluyo 210 270 200 130 200 300 400 Mas Ragil 250 300 250 180 250 350 450
Bu Jum 280 350 270 210 270 400 500 Bu Murni 290 350 280 260 300 450 550
Bu Maryani 350 400 300 290 350 500 550 Bu Sri Sukarti 300 300 240 220 290 400 500
Mas Damar 220 270 200 210 270 550 400 Bu Supardi 210 270 200 210 270 550 400 Pak Broto 350 400 290 400 450 700 550 Distributor 3760 3820 3800 3860 3720 3520 3500
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
Mbak
Miranda Happy Juice
Potong Rambut
Bu Sulami
Bu Wiwik
Ny Suyatmin
Bu Yayuk
Bu Suhari
300 240 400 600 160 160 120 150 230 290 350 550 220 230 180 210 350 230 280 350 150 160 110 150 400 150 200 260 80 90 50 80 290 100 140 200 90 160 110 140 140 110 160 190 280 230 260 300 90 260 210 400 350 350 300 350 0 270 220 300 450 450 400 450
270 0 50 100 80 160 120 160 220 50 0 50 130 210 170 210 300 100 50 0 180 260 220 270 450 80 130 180 0 70 40 80 450 160 210 260 70 0 50 170 400 120 170 220 40 50 0 40 450 160 210 270 80 170 40 0 500 210 260 300 130 120 90 50 400 220 280 350 140 140 110 110 550 260 300 350 180 100 150 120 650 220 270 300 140 60 120 110 450 150 210 260 80 40 50 100 500 200 280 350 120 30 140 240 500 190 290 350 110 170 90 130 550 240 290 400 160 140 130 190 600 270 300 400 140 150 160 160 600 300 350 400 230 190 210 180 650 350 400 450 270 120 240 210 600 280 350 500 200 120 170 140 500 350 400 450 250 210 210 130 500 350 400 450 250 210 210 130 650 550 600 650 450 300 400 240 3490 3660 3650 3550 3980 3970 3850 3940
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Bu Nita Pak
Adam Bu
Karni Bu
Sugiyem Mbak Septi
Bu Surip
Bu Waluyo
Mas Ragil
200 100 270 230 170 220 210 250 220 160 290 290 230 270 270 300 160 90 230 220 160 210 200 250 120 100 200 160 100 140 130 180 190 160 260 230 160 200 200 250 400 400 350 280 300 300 300 350 400 300 450 500 350 400 400 450 500 400 550 650 450 500 500 550 210 220 260 220 150 200 190 240 260 280 300 270 210 280 290 290 300 350 350 300 260 350 350 400 130 140 180 140 80 120 110 160 120 140 100 60 40 30 170 140 90 110 150 120 50 140 90 130 50 110 120 110 100 240 130 190 0 60 70 60 140 180 180 150 60 0 130 130 150 200 190 210 70 130 0 40 100 130 130 120 60 130 40 0 70 100 90 110 140 150 100 70 0 40 30 80 180 200 130 100 40 0 10 40 180 190 130 90 30 10 0 50 150 210 120 110 80 40 50 0 110 180 90 180 110 70 80 30 130 190 100 110 160 120 120 80 160 250 130 130 190 150 150 110 90 150 120 60 120 150 150 140 80 110 150 150 210 300 300 230 80 110 150 150 210 300 300 230 190 220 200 260 450 500 500 350 3950 3860 4030 3940 3970 3940 3910 4050
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
Bu Jum
Bu Murni
Bu Maryani
Bu Sri Sukarti
Mas Damar
Bu Supardi
Pak Broto Distributor
280 290 350 300 220 210 350 3760 350 350 400 300 270 270 400 3820 270 280 300 240 200 200 290 3800 210 260 290 220 210 210 400 3860 270 300 350 290 270 270 450 3720 400 450 500 400 550 550 700 3520 500 550 550 500 400 400 550 3500 600 600 650 600 500 500 650 3490 270 300 350 280 350 350 550 3660 300 350 400 350 400 400 600 3650 400 400 450 500 450 450 650 3550 140 230 270 200 250 250 450 3980 150 190 120 120 210 210 300 3970 160 210 240 170 210 210 400 3850 160 180 210 140 130 130 240 3940 110 130 160 90 80 80 190 3950 180 190 250 150 110 110 220 3860 90 100 130 120 150 150 200 4030 180 110 130 60 150 150 260 3940 110 160 190 120 210 210 450 3970 70 120 150 150 300 300 500 3940 80 120 150 150 300 300 500 3910 30 80 110 140 230 230 350 4050 0 50 80 110 200 200 300 4030
50 0 30 120 210 210 300 4080 80 30 0 150 270 270 400 4180 110 120 150 0 160 160 280 4000 200 210 270 160 0 10 120 3950 200 210 270 160 10 0 110 3920 300 300 400 280 120 110 0 4010 4030 4080 4180 4000 3950 3920 4010 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
Lampiran 3 : Source Code Kota.java package Modal;
import java.util.List;
import java.util.ArrayList;
public class Kota {
private List <Kota> kotaList = new ArrayList<>();
private String cityName;
private int distance;
public Kota() { }
public Kota(String cityName, int distance) {
this.cityName = cityName;
this.distance = distance;
}
public String getCityName() { return cityName; }
public void setCityName(String cityName) {
this.cityName = cityName;
}
public int getDistance() { return distance; }
public void setDistance(int distance) {
this.distance = distance; }
public void addCity(String cityName, int distance) {
Kota kota = new Kota();
kota.setCityName(cityName);
kota.setDistance(distance);
kotaList.add(kota);
} }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Lampiran 4 : Source Code MainView.java
package View;
import Modal.MainModal;
import distance_measurement.Controller.DistanceMeasurement;
import java.awt.Font;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.HashMap;
public class MainView extends JFrame implements ActionListener {
private JButton exitButton, processButton, howToUseButton;
private ArrayList<JCheckBox> checkBoxes = new ArrayList<>();
private HashMap<String, String> changeName = new HashMap<>();
private ArrayList<JLabel> labelCollection = new ArrayList<>();
private JCheckBox checkC11, checkC12, checkC13, checkC14, checkC15,
checkC16,checkC17, checkC18, checkC19, checkC20, checkC21, checkC22,
checkC23, checkC24, checkC25, checkC26, checkC27, checkC28, checkC29,
checkC30, checkC31, checkC32, checkC33, checkC34, checkC35, checkC36,
checkC37, checkC38, checkC39, checkC40;
private JLabel labelA,labelC11, labelC12, labelC13, labelC14, labelC15,
labelC16, labelC17, labelC18, labelC19, labelC20, labelC21, labelC22,
labelC23, labelC24, labelC25, labelC26, labelC27, labelC28, labelC29,
labelC30, labelC31, labelC32, labelC33, labelC34, labelC35, labelC36,
labelC37, labelC38, labelC39, labelC40, titleLabel;
public MainView() {
setLayout(null);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
setVisible(true);
setSize(630 , 510);
setTitle("Penentuan Rute");
setDefaultCloseOperation(EXIT_ON_CLOSE);
labelA = new JLabel("Pemesan Air");
labelA.setBounds(40, 20, 150, 25);
add(labelA);
labelC11 = new JLabel("BT PN");
labelC11.setBounds(60, 60, 250, 25);
labelC11.setLabelFor(checkC11);
labelCollection.add(labelC11);
add(labelC11);
checkC11 = new JCheckBox();
checkC11.setBounds(30,60, 30, 25);
checkBoxes.add(checkC11);
checkC11.setToolTipText("C 11");
add(checkC11);
labelC12 = new JLabel("Bu Ripto");
labelC12.setBounds(60, 90, 250, 25);
labelC12.setLabelFor(checkC12);
labelCollection.add(labelC12);
add(labelC12);
checkC12 = new JCheckBox();
checkBoxes.add(checkC12);
checkC12.setToolTipText("C 12");
checkC12.setBounds(30, 90, 30, 25);
add(checkC12);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
labelC13 = new JLabel("Bu Endah");
labelC13.setBounds(60, 120, 250, 25);
labelC13.setLabelFor(checkC13);
labelCollection.add(labelC13);
add(labelC13);
checkC13 = new JCheckBox();
checkBoxes.add(checkC13);
checkC13.setToolTipText("C 13");
checkC13.setBounds(30, 120, 30, 25);
add(checkC13);
labelC14 = new JLabel("Bu Mamik");
labelC14.setBounds(60, 150, 250, 25);
labelC14.setLabelFor(checkC14);
labelCollection.add(labelC14);
add(labelC14);
checkC14 = new JCheckBox();
checkBoxes.add(checkC14);
checkC14.setToolTipText("C 14");
checkC14.setBounds(30, 150, 30, 25);
add(checkC14);
labelC15 = new JLabel("Bu Heni");
labelC15.setBounds(60, 180, 250, 25);
labelC15.setLabelFor(checkC15);
labelCollection.add(labelC15);
add(labelC15);
checkC15 = new JCheckBox();
checkBoxes.add(checkC15);
checkC15.setToolTipText("C 15");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
checkC15.setBounds(30, 180, 30, 25);
add(checkC15);
labelC16 = new JLabel("Pak Mujiono");
labelC16.setBounds(60, 210, 250, 25);
labelC16.setLabelFor(checkC16);
labelCollection.add(labelC16);
add(labelC16);
checkC16 = new JCheckBox();
checkBoxes.add(checkC16);
checkC16.setToolTipText("C 16");
checkC16.setBounds(30, 210, 30, 25);
add(checkC16);
labelC17 = new JLabel("Mbak Ismi");
labelC17.setBounds(60, 240, 250, 25);
labelC17.setLabelFor(checkC17);
labelCollection.add(labelC17);
add(labelC17);
checkC17 = new JCheckBox();
checkBoxes.add(checkC17);
checkC17.setToolTipText("C 17");
checkC17.setBounds(30, 240, 30, 25);
add(checkC17);
labelC18 = new JLabel("Mbak Miranda");
labelC18.setBounds(60, 270, 250, 25);
labelC18.setLabelFor(checkC18);
labelCollection.add(labelC18);
add(labelC18);
checkC18 = new JCheckBox();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
checkBoxes.add(checkC18);
checkC18.setToolTipText("C 18");
checkC18.setBounds(30, 270, 30, 25);
add(checkC18);
labelC19 = new JLabel("Happy Juice");
labelC19.setBounds(60, 300, 250, 25);
labelC19.setLabelFor(checkC19);
labelCollection.add(labelC19);
add(labelC19);
checkC19 = new JCheckBox();
checkBoxes.add(checkC19);
checkC19.setToolTipText("C 19");
checkC19.setBounds(30, 300, 30, 25);
add(checkC19)
labelC20 = new JLabel("Potong Rambut");
labelC20.setBounds(60, 330, 250, 25);
labelC20.setLabelFor(checkC20);
labelCollection.add(labelC20);
add(labelC20);
checkC20 = new JCheckBox();
checkBoxes.add(checkC20);
checkC20.setToolTipText("C 20");
checkC20.setBounds(30, 330, 30, 25);
add(checkC20);
labelC21 = new JLabel("Bu Sulami");
labelC21.setBounds(290, 60, 250, 25);
labelC21.setLabelFor(checkC21);
labelCollection.add(labelC21);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
add(labelC21);
checkC21 = new JCheckBox();
checkBoxes.add(checkC21);
checkC21.setToolTipText("C 21");
checkC21.setBounds(260,60, 30, 25);
add(checkC21);
labelC22 = new JLabel("Bu Wiwik");
labelC22.setBounds(290, 90, 250, 25);
labelC22.setLabelFor(checkC22);
labelCollection.add(labelC22);
add(labelC22);
checkC22 = new JCheckBox();
checkBoxes.add(checkC22);
checkC22.setToolTipText("C 22");
checkC22.setBounds(260, 90, 30, 25);
add(checkC22);
labelC23 = new JLabel("Ny Suyatmin");
labelC23.setBounds(290, 120, 250, 25);
labelC23.setLabelFor(checkC23);
labelCollection.add(labelC23);
add(labelC23);
checkC23 = new JCheckBox();
checkBoxes.add(checkC23);
checkC23.setToolTipText("C 23");
checkC23.setBounds(260, 120, 30, 25);
add(checkC23);
labelC24 = new JLabel("Bu Yayuk");
labelC24.setBounds(290, 150, 250, 25);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
labelC24.setLabelFor(checkC24);
labelCollection.add(labelC24);
add(labelC24);
checkC24 = new JCheckBox();
checkBoxes.add(checkC24);
checkC24.setToolTipText("C 24");
checkC24.setBounds(260, 150, 30, 25);
add(checkC24);
labelC25 = new JLabel("Bu Suhari");
labelC25.setBounds(290, 180, 250, 25);
labelC25.setLabelFor(checkC25);
labelCollection.add(labelC25);
add(labelC25);
checkC25 = new JCheckBox();
checkBoxes.add(checkC25);
checkC25.setToolTipText("C 25");
checkC25.setBounds(260, 180, 30, 25);
add(checkC25);
labelC26 = new JLabel("Bu Nita");
labelC26.setBounds(290, 210, 250, 25);
labelC26.setLabelFor(checkC26);
labelCollection.add(labelC26);
add(labelC26);
checkC26 = new JCheckBox();
checkBoxes.add(checkC26);
checkC26.setToolTipText("C 26");
checkC26.setBounds(260, 210, 30, 25);
add(checkC26);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
labelC27 = new JLabel("Pak Adam");
labelC27.setBounds(290, 240, 250, 25);
labelC27.setLabelFor(checkC27);
labelCollection.add(labelC27);
add(labelC27);
checkC27 = new JCheckBox();
checkBoxes.add(checkC27);
checkC27.setToolTipText("C 27");
checkC27.setBounds(260, 240, 30, 25);
add(checkC27);
labelC28 = new JLabel("Bu Karni");
labelC28.setBounds(290, 270, 250, 25);
labelC28.setLabelFor(checkC28);
labelCollection.add(labelC28);
add(labelC28);
checkC28 = new JCheckBox();
checkBoxes.add(checkC28);
checkC28.setToolTipText("C 28");
checkC28.setBounds(260, 270, 30, 25);
add(checkC28);
labelC29 = new JLabel("Bu Sugiyem");
labelC29.setBounds(290, 300, 250, 25);
labelC29.setLabelFor(checkC29);
labelCollection.add(labelC29);
add(labelC29);
checkC29 = new JCheckBox();
checkBoxes.add(checkC29);
checkC29.setToolTipText("C 29");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
checkC29.setBounds(260, 300, 30, 25);
add(checkC29);
labelC30 = new JLabel("Mbak Septi");
labelC30.setBounds(290, 330, 250, 25);
labelC30.setLabelFor(checkC30);
labelCollection.add(labelC30);
add(labelC30);
checkC30 = new JCheckBox();
checkBoxes.add(checkC30);
checkC30.setToolTipText("C 30");
checkC30.setBounds(260, 330, 30, 25);
add(checkC30);
labelC31 = new JLabel("Bu Surip");
labelC31.setBounds(490, 330, 250, 25);
labelC31.setLabelFor(checkC31);
labelCollection.add(labelC31);
add(labelC31);
checkC31 = new JCheckBox();
checkBoxes.add(checkC31);
checkC31.setToolTipText("C 31");
checkC31.setBounds(460, 330, 30, 25);
add(checkC31);
labelC32 = new JLabel("Bu Waluyo");
labelC32.setBounds(490, 60, 250, 25);
labelC32.setLabelFor(checkC32);
labelCollection.add(labelC32);
add(labelC32);
checkC32 = new JCheckBox();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
checkBoxes.add(checkC32);
checkC32.setToolTipText("C 32");
checkC32.setBounds(460, 60, 30, 25);
add(checkC32);
labelC33 = new JLabel("Mas Ragil");
labelC33.setBounds(490, 90, 250, 25);
labelC33.setLabelFor(checkC33);
labelCollection.add(labelC33);
add(labelC33);
checkC33 = new JCheckBox();
checkBoxes.add(checkC33);
checkC33.setToolTipText("C 33");
checkC33.setBounds(460, 90, 30, 25);
add(checkC33);
labelC34 = new JLabel("Bu Jum");
labelC34.setBounds(490, 120, 250, 25);
labelC34.setLabelFor(checkC34);
labelCollection.add(labelC34);
add(labelC34);
checkC34 = new JCheckBox();
checkBoxes.add(checkC34);
checkC34.setToolTipText("C 34");
checkC34.setBounds(460, 120, 30, 25);
add(checkC34);
labelC35 = new JLabel("Bu Murni");
labelC35.setBounds(490, 150, 250, 25);
labelC35.setLabelFor(checkC35);
labelCollection.add(labelC35);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
add(labelC35);
checkC35 = new JCheckBox();
checkBoxes.add(checkC35);
checkC35.setToolTipText("C 35");
checkC35.setBounds(460, 150, 30, 25);
add(checkC35);
labelC36 = new JLabel("Bu Maryani");
labelC36.setBounds(490, 180, 250, 25);
labelC36.setLabelFor(checkC36);
labelCollection.add(labelC36);
add(labelC36);
checkC36 = new JCheckBox();
checkBoxes.add(checkC36);
checkC36.setToolTipText("C 36");
checkC36.setBounds(460, 180, 30, 25);
add(checkC36);
labelC37 = new JLabel("Bu Sri Sukarti");
labelC37.setBounds(490, 210, 250, 25);
labelC37.setLabelFor(checkC37);
labelCollection.add(labelC37);
add(labelC37);
checkC37 = new JCheckBox();
checkBoxes.add(checkC37);
checkC37.setToolTipText("C 37");
checkC37.setBounds(460, 210, 30, 25);
add(checkC37);
labelC38 = new JLabel("Mas Damar");
labelC38.setBounds(490, 240, 250, 25);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
labelC38.setLabelFor(checkC38);
labelCollection.add(labelC38);
add(labelC38);
checkC38 = new JCheckBox();
checkBoxes.add(checkC38);
checkC38.setToolTipText("C 38");
checkC38.setBounds(460, 240, 30, 25);
add(checkC38);
labelC39 = new JLabel("Bu Supardi");
labelC39.setBounds(490, 270, 250, 25);
labelC39.setLabelFor(checkC39);
labelCollection.add(labelC39);
add(labelC39);
checkC39 = new JCheckBox();
checkBoxes.add(checkC39);
checkC39.setToolTipText("C 39");
checkC39.setBounds(460, 270, 30, 25);
add(checkC39);
labelC40 = new JLabel("Pak Broto");
labelC40.setBounds(490, 300, 250, 25);
labelC40.setLabelFor(checkC40);
labelCollection.add(labelC40);
add(labelC40);
checkC40 = new JCheckBox();
checkBoxes.add(checkC40);
checkC40.setToolTipText("C 40");
checkC40.setBounds(460, 300, 30, 25);
add(checkC40);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
howToUseButton = new JButton("CARA MENGGUNAKAN");
howToUseButton.setBounds(30, 380, 555, 25);
howToUseButton.addActionListener(this);
howToUseButton.setToolTipText("Tutorial cara menggunakan");
add(howToUseButton);
processButton = new JButton("PROSES DATA");
processButton.setBounds(30, 420, 250, 25);
processButton.addActionListener(this);
processButton.setToolTipText("Proses data");
add(processButton);
exitButton = new JButton("EXIT");
exitButton.setBounds(335, 420, 250, 25);
exitButton.addActionListener(this);
exitButton.setToolTipText("Keluar dari aplikasi");
add(exitButton);
}
public static void main(String[] args) {
MainView mainView = new MainView();
mainView.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == exitButton) {
System.exit(EXIT_ON_CLOSE);
}
if (e.getSource() == howToUseButton) {
JOptionPane.showMessageDialog(null, "Cara Menggunakan" +
"\n01. Berikan tanda centang pada nama pemesan" +
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
"\n02. Klik tombol PROSES DATA untuk menentukan rute"
+ "\n03. Rute yang akan dilalui akan muncul pada kotak dialog"); }
if (e.getSource() == processButton) {
int nrofCity = 0;
MainModal mainModal = new MainModal();
ArrayList<String> cityList = new ArrayList<>();
for (JCheckBox visitedCity : checkBoxes) {
if (visitedCity.isSelected()) {
nrofCity++;
cityList.add(visitedCity.getToolTipText());
mainModal.addCity(visitedCity.getToolTipText(), 0);
} }
try {
DistanceMeasurement distanceMeasurement = new
DistanceMeasurement();
JOptionPane.showMessageDialog(null,
distanceMeasurement.terpendek(cityList));
} catch (Exception ex) {
ex.printStackTrace();
System.err.println("Something wrong");
System.err.println("Error message : " + ex.getMessage());
JOptionPane.showMessageDialog(null, "Something wrong");
} finally {
cityList.clear(); // clear all values caught in cityList ArrayList
} } } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
Lampiran 5 : Source Code DistanceMeasurment package distance_measurement.Controller;
import java.io.*;
import java.util.*;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class DistanceMeasurement {
private static final File FILE = new File("dataJWfix.xlsx");
private static final int MAXIMUM = Integer.MAX_VALUE;
private String first_city = null;
private String current_city = null;
private List <String> actual_route = new ArrayList<String>();
private Map <String, String> cityName = new HashMap<>();
private Map <String, Integer> route = new TreeMap<String,
Integer>(Collections.reverseOrder());
public String rowCoordinate(String target) throws Exception {
int index = 0;
XSSFRow row = null;
String foundCell[] = new String[2];
FileInputStream fileInputStream = new FileInputStream(FILE);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);
XSSFSheet sheet = workbook.getSheetAt(0);
workbook.close();
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
row = (XSSFRow) rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
if (cell.getCellType() == Cell.CELL_TYPE_STRING &&
cell.getStringCellValue().equals(target)) {
foundCell[index] = cell.getAddress().toString();
index++;
} } }
fileInputStream.close();
return foundCell[0];
}
public String cellCoordinate(String target) throws Exception {
int index = 0;
XSSFRow row = null;
String foundCell[] = new String[2];
FileInputStream fileInputStream = new FileInputStream(FILE);
XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);
XSSFSheet sheet = workbook.getSheetAt(0);
workbook.close();
Iterator<Row> rowIterator = sheet.iterator();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
while (rowIterator.hasNext()) {
row = (XSSFRow) rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
if (cell.getCellType() == Cell.CELL_TYPE_STRING &&
cell.getStringCellValue().equals(target)) {
foundCell[index] = cell.getAddress().toString();
index++;
} } }
workbook.close();
return foundCell[1];
}
public String distributor(String selected_cell) throws Exception {
String cellCoor = cellCoordinate(selected_cell);
FileInputStream fileInputStream = new FileInputStream(FILE);
XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);
CellReference cellReference = new CellReference(cellCoor);
workbook.close();
return "AF" + cellReference.getCellRefParts()[1];
}
public String intersectPoint(String where, String from) throws Exception {
String whereCell = cellCoordinate(where).replaceAll("[a-zA-Z]*", "");
String fromCell = rowCoordinate(from).replaceAll("[0-9]*", "");
return fromCell + whereCell;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
public String getValue(String selected_cell) throws Exception {
FileInputStream fileInputStream = new FileInputStream(FILE);
XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);
XSSFSheet sheet = workbook.getSheetAt(0);
CellReference cellReference = new CellReference(selected_cell);
workbook.close();
Row row = sheet.getRow(cellReference.getRow());
Cell cell = row.getCell(cellReference.getCol());
fileInputStream.close();
if (Cell.CELL_TYPE_NUMERIC == cell.getCellType()) {
int result = (int) cell.getNumericCellValue();
return String.valueOf(result);
} else {
return cell.getStringCellValue();
} }
public void shortestPath(ArrayList<String> cityList) throws Exception {
HashMap<String, Integer> store = new HashMap<String, Integer>();
int shortest = MAXIMUM;
String city = "";
for (int i = 0; i < actual_route.size(); i++) {
if (getValue(intersectPoint(current_city, actual_route.get(i))) != "") {
store.put(actual_route.get(i),
Integer.parseInt(getValue(intersectPoint(current_city, actual_route.get(i)))));
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
for (Map.Entry<String, Integer> eachCity : store.entrySet()) {
if (shortest > eachCity.getValue()) {
shortest = eachCity.getValue();
} }
for (Map.Entry<String, Integer> getKey : store.entrySet()) {
if (getKey.getValue() == shortest) {
city = current_city;
current_city = getKey.getKey();
actual_route.remove(getKey.getKey());
} }
route.put(city + " - " + current_city, shortest);
}
public String terpendek(ArrayList<String> cityList) throws Exception {
HashMap<String, Integer> distance_map = new HashMap<String,
Integer>();
for (int i = 0; i < cityList.size(); i++) {
if (getValue(distributor(cityList.get(i))) == "") {
distance_map.put(cityList.get(i), 0); }
else { distance_map.put(cityList.get(i),
Integer.parseInt(getValue(distributor(cityList.get(i))))); }
}
int pointer = 0;
for (Map.Entry<String, Integer> eachCity : distance_map.entrySet()) {
actual_route.add(eachCity.getKey()); }
for (Map.Entry<String, Integer> cityMap : distance_map.entrySet()) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
if (pointer == 0) {
int temp = MAXIMUM;
for (Map.Entry<String, Integer> cityCityMap :
distance_map.entrySet()) {
if (temp > cityCityMap.getValue() && cityCityMap.getValue() != 0)
{ temp = cityCityMap.getValue(); }
}
for (Map.Entry<String, Integer> cityCityMap :
distance_map.entrySet()) {
if (cityCityMap.getValue() == temp) {
first_city = cityCityMap.getKey();
current_city = cityCityMap.getKey();
actual_route.remove(cityCityMap.getKey());
route.put("DIST - " + current_city, temp);
} }
} else {
String cityRoute = ""; // store the crossed route to reach the destination
for (int index = 0; index < cityList.size(); index++) { cityRoute +=
cityList.get(index) + " - "; }
shortestPath(cityList);
}
pointer++; }
route.put(current_city + " - " + first_city,
Integer.parseInt(getValue(intersectPoint(current_city, first_city))));
int indeks = 0;
String firstCity = "";
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
List <String> sorted = new ArrayList<>();
for (String string : route.keySet()) {
if (indeks == 0) {
sorted.add(string);
firstCity = string.split(" - ")[1];
} else if (indeks < cityList.size()) {
for (String strings : route.keySet()) {
if (sorted.size() != cityList.size()) {
if (strings.split(" - ")[0].equals(firstCity)) {
sorted.add(strings);
firstCity = strings.split(" - ")[1];
} } } }
indeks++;
}
cityName.put("C 11", "BT PN");
cityName.put("C 12", "Bu Ripto");
cityName.put("C 13", "Bu Endah");
cityName.put("C 14", "Bu Mamik");
cityName.put("C 15", "Bu Heni");
cityName.put("C 16", "Pak Mujiyono");
cityName.put("C 17", "Mbak Ismi");
cityName.put("C 18", "Mbak Miranda");
cityName.put("C 19", "Happy Juice");
cityName.put("C 20", "Potong Rambut");
cityName.put("C 21", "Bu Sulami");
cityName.put("C 22", "Bu Wiwik");
cityName.put("C 23", "Ny Suyatmin");
cityName.put("C 24", "Bu Yayuk");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
cityName.put("C 25", "Bu Suhari");
cityName.put("C 26", "Bu Nita");
cityName.put("C 27", "Pak Adam");
cityName.put("C 28", "Bu Karni");
cityName.put("C 29", "Bu Sugiyem");
cityName.put("C 30", "Mbak Septi");
cityName.put("C 31", "Bu Surip");
cityName.put("C 32", "Bu Waluyo");
cityName.put("C 33", "Mas Ragil");
cityName.put("C 34", "Bu Jum");
cityName.put("C 35", "Bu Murni");
cityName.put("C 36", "Bu Maryani");
cityName.put("C 37", "Bu Sri Sukarti");
cityName.put("C 38", "Mas Damar");
cityName.put("C 39", "Bu Supardi");
cityName.put("C 40", "Pak Broto");
int indeksu = 0;
int distanceTotal = 0;
String late_city = "";
String routes = "";
for (String string : sorted) {
if (indeksu == 0) {
routes += "Distributor";
distanceTotal += Integer.parseInt(getValue(distributor(string.split(" -
")[1])));
} else {
String first = string.split(" - ")[0];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
String last = string.split(" - ")[1];
late_city = last;
distanceTotal += Integer.parseInt(getValue(intersectPoint(first, last)));
routes += " - " + cityName.get(first); }
Indeksu++; }
routes += " - " + cityName.get(late_city) + " - Distributor";
distanceTotal += Integer.parseInt(getValue(distributor(late_city)));
System.out.println(routes);
return "Rute pengiriman yang dihasilkan adalah " + routes + ". Total jarak =
" + distanceTotal +"."; } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI