PENCARIAN RUTE DISTRIBUSI BARANG MENGGUNAKAN · 2017-12-18 · Distribusi adalah kegiatan...
Transcript of PENCARIAN RUTE DISTRIBUSI BARANG MENGGUNAKAN · 2017-12-18 · Distribusi adalah kegiatan...
i
PENCARIAN RUTE DISTRIBUSI BARANG MENGGUNAKAN
ALGORITMA SEMUT
(Studi Kasus PT.Circleka Indonesia Utama Region Yogyakarta)
Halaman Utama
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Disusun oleh
R ALEXANDER PURBO WIDYANTO
125314069
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
SEARCH DISTRIBUTION ROUTE USING ANT
ALGORITHM
(Case Study PT.Circleka Indonesia Utama Region Yogyakarta)
Halaman Utama
THESIS
Presented as Partial Fullfillment of the Requirments
To Obtain Sarjana Komputer Degree
In Department of Informatics Engineering
By
R. ALEXANDER PURBO WIDYANTO
125314069
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
HALAMAN PERSETUJUAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
HALAMAN PERSEMBAHAN SKRIPSI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PERNYATAAN KEASLIAN KARYA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
INTISARI
Distribusi adalah kegiatan penyaluran barang dan jasa yang dibuat dari
produsen ke konsumen agar tersebar luas. Kegiatan distribusi merupakan
penghubung antara kegiatan produksi dan konsumsi. Begitu pula yang dilakukan
oleh PT.Circleka Indonesia Utama, perusahaan ini bertanggung jawab untuk
mendistribusikan barang ke toko – toko Circle K yang ada. Hal tersebut bertujuan
agar para konsumen lebih mudah untuk menjangkau produk – produk yang dijual
oleh produsen. Dalam prosesnya, PT.Circleka Indonesia Utama memerlukan kurir
yang mengantarkan barang dari gudang ke toko – toko yang ada. Dalam tugas
tersebut seorang kurir akan mencari rute pendistribusian secara manual, tentu saja
hal tersebut kurang efektif.
Pada tugas akhir ini akan dibuat sistem yang dapat membantu kurir dalam memilih rute
pendistribusian barang. Dimana sistem tersebut akan menerapkan algoritma semut yang akan
membantu pencarian rute. Algoritma semut merupakan salah satu metode yang dapat membantu
memecahkan masalah pencarian rute.
Hasil dari sistem ini tentu saja sistem dapat menampilkan rute terpendek yang dilalui oleh
kurir untuk mengantarkan barang – barang ke toko cricle k. Dimana hasil tersebut diharapkan
dapat membantu kerja kurir dan juga PT.Circleka Indonesia Utama region Yogyakarta menjadi
lebih efektif.
Kata kunci: Distribusi, Algoritma Semut, Rute
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
Distribution is activities that link of goods and services that are made from
producers to consumers. Distribution activities is a link between production and
consumption. Similarly, conducted by PT.Circleka Utama Indonesia, the company
responsible for distributing the goods to the store - the existing Circle K stores. It is
intended that consumers are more likely to reach a product - a product that is sold
by the manufacturer. In the process, PT.Circleka Indonesia Utama require a courier
delivering goods from the warehouse to the store - the existing store. In the task
will be looking for a courier service distribution manually, of course it is less
effective.
In this final project will created a system that can help in choosing the
courier service distribution of goods. Where the system would apply ant algorithms
that will help the search route. Ant is one method that can help solve the problem
of route search.
The results of this system of course the system can display the shortest
route traversed by courier to deliver the goods to store cricle k. Where the results
are expected to help work courier and also PT.Circleka Utama Indonesia
Yogyakarta region becomes more effective.
Keywords: Distribution, Ant Algorithm, Routes
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
Kata Pengantar
Puji dan Syukur kepada Tuhan Yang Maha Esa yang telah senantiasa memberikan berkat
dan rahmat yang tak berkesudahan serta kesempatan yang sangat berharga sehingga penulis dapat
menyelesaikan skripsi dengan judul “Pencarian Rute Distibusi Barang Menggunakan
Algoritma Semut (Studi Kasus PT.Circleka Indonesia Utama Region Yogyakarta)”.
Dalam kesempatan ini, penulis ingin mengucapkan terima kasih yang sebesar besarnya
kepada seluruh pihak yang telah memberi dukungan dan semangat sehingga skripsi ini dapat
selesai:
1. Bapak Sudi Mungkasi, S.Si.,M.Math.Sc.,Ph.D selaku Dekan Fakultas Sains
dan Teknologi Universitas Sanata Dharma Yogyakarta.
2. Ibu Dr. Anastasia Rita Widiarti, S.Si.,M.Kom selaku Kaprodi Teknik
Informatika Universitas Sanata Dharma Yogyakarta dan juga Selaku Panitia
Penguji yang telah memberikan kritik dan saran dalam penulisan tugas
akhir.
3. Bapak Albertus Agung Hadhiatma, S.T.,M.T selaku Dosen Pembimbing,
yang telah sabar dalam memberikan bimbingan dan segala masukan
sehingga penulis dapat menyelesaikan tugas akhir ini.
4. Bapak JB. Budi Darmawan S.T., M.Sc. selaku panitia penguji yang telah
memberikan kritik dan saran dalam penulisan tugas akhir.
5. Seluruh dosen dan staff karyawan Program Studi Teknik Informatika
Universitas Sanata Dharma yang telah memberikan bekal ilmu, bimbingan
serta pengalaman dan fasilitas selama saya menempuh studi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
Daftar Isi
Halaman Utama ...................................................................................................................... i
Halaman Utama ..................................................................................................................... ii
HALAMAN PERSETUJUAN ............................................................................................... iii
HALAMAN PERSEMBAHAN SKRIPSI ............................................................................... iv
PERNYATAAN KEASLIAN KARYA.................................................................................... v
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI............................................. vi
INTISARI .......................................................................................................................... vii
ABSTRAK ........................................................................................................................ viii
Kata Pengantar ...................................................................................................................... ix
Daftar Isi .............................................................................................................................. xi
Daftar Gambar .................................................................................................................... xiv
Daftar Tabel ....................................................................................................................... xvi
BAB I .................................................................................................................................. 1
1.1 Latar Belakang ................................................................................................... 1
1.2 Rumusan Masalah .............................................................................................. 2
1.3 Tujuan Penelitian................................................................................................ 3
1.4 Batasan Masalah ................................................................................................. 3
1.5 Metodologi Penelitian ........................................................................................ 3
1.6 Sistematika penulisan ......................................................................................... 4
Bab II ................................................................................................................................. 6
2.1 Distribusi ............................................................................................................ 6
2.2 Graph.................................................................................................................. 6
2.3 Traveling Salesman Problem .............................................................................. 7
2.3.1 Aplikasi TSP .............................................................................................. 8
2.4. Algoritma Semut ................................................................................................ 9
2.4.1. Tentang Algorima Semut............................................................................ 9
2.4.2. Konsep Dasar ........................................................................................... 10
2.4.3 Cara Kerja Aloritma Semut ...................................................................... 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
2.4.4 Contoh Penerapan Algoritma Semut ........................................................ 12
BAB III ............................................................................................................................ 19
3.1 Analisis Sistem ................................................................................................. 19
3.1.1 Analisis Masalah ...................................................................................... 19
3.1.2 Aturan Pencarian Rute .............................................................................. 20
3.1.3 Sumber Data ............................................................................................. 21
3.2 Permodelan Algoritma Semut untuk Pencarian Rute ........................................ 24
3.2.1 Inisialisasi Parameter ................................................................................ 24
3.2.2 Mencari Urutan Node ............................................................................... 25
3.2.3 Update Solusi ........................................................................................... 26
3.3 Perancangan Sistem .......................................................................................... 26
3.3.1 Diagram Use case ..................................................................................... 26
3.3.2 Ringkasan Use Case ................................................................................. 27
3.3.3 Narasi Use Case........................................................................................ 27
3.3.4 Diagram Aktivitas .................................................................................... 29
3.4 Perancangan Basisdata ..................................................................................... 29
3.4.1 ER Diagram .............................................................................................. 29
3.4.2 Model Fisikal............................................................................................ 30
3.5 Design Interface ............................................................................................... 31
BAB IV ............................................................................................................................ 36
4.1 Implementasi Proses ......................................................................................... 36
4.1.1 Implementasi Algoritma Semut ................................................................ 36
4.2 Implementasi Tampilan Antar Muka ................................................................ 43
4.2.1 Implementasi Antar Muka Awal (Home) ................................................. 43
4.2.2 Implementasi Antar Muka Cari Rute ........................................................ 43
4.2.3 Implementasi Antar Muka Lihat Data ...................................................... 47
4.2.4 Implementasi Antar Muka Tambah Data .................................................. 48
4.2.5 Implementasi Antar Muka Perbarui Data ................................................. 51
4.2.6 Implementasi Antar Muka Hapus Data ..................................................... 53
BAB V ............................................................................................................................. 56
5.1 Analisa Hasil Pengujian ................................................................................... 56
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
5.1.1 Analisa Hasil untuk Pencarian Rute dengan Tujuan 3 Toko ..................... 56
5.1.2 Analisa Hasil untuk Pencarian Rute dengan Tujuan 4 Toko ..................... 61
5.1.3 Analisa Hasil untuk Pencarian Rute dengan Tujuan 5 Toko ..................... 66
5.2 Analisis Perbandingan Jumlah Semut............................................................... 71
5.2.1 Perbandingan Jumlah Semut..................................................................... 71
5.2.2 Kesimpulan Perbandingan ........................................................................ 78
BAB VI ............................................................................................................................ 79
6.1 KESIMPULAN ................................................................................................ 79
6.2 SARAN ............................................................................................................ 79
DAFTAR PUSTAKA ...................................................................................................... 80
LAMPIRAN..................................................................................................................... 81
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
Daftar Gambar
Gambar 2. 1 Graph antar Kota .......................................................................................... 7
Gambar 2. 2 Rumus Intensitas Jejak ............................................................................... 11
Gambar 2. 3 Rumus Penguapan Jejak ............................................................................. 11
Gambar 2. 4 Rumus mencari jejak yang ditinggalkan ..................................................... 11
Gambar 2. 5 Rumus Probabilitas ..................................................................................... 11
Gambar 2. 6 Graph .......................................................................................................... 12
Gambar 3. 1 Peta Persebaran Toko Circle K di Yogyakarta............................................ 20
Gambar 3. 2 Pencarian rute dengan google maps ............................................................ 24
Gambar 3. 3 Diagram Usecase ........................................................................................ 26
Gambar 3. 4 Diagram Aktifitas Cari Rute ....................................................................... 29
Gambar 3. 5 ER Diagram ................................................................................................ 29
Gambar 3. 6 Tampilan Home .......................................................................................... 31
Gambar 3. 7 Tampilan Cari Rute .................................................................................... 32
Gambar 3. 8 Tampilan Lihat Data ................................................................................... 32
Gambar 3. 9 Tampilan Tambahan Data........................................................................... 33
Gambar 3. 10 Tampilan Tambahan Data......................................................................... 34
Gambar 3. 11 Tampilan Hapus Data ............................................................................... 35
Gambar 4. 1 Tampilan Home .......................................................................................... 43
Gambar 4. 2 Antar Muka Cari Data ................................................................................ 44
Gambar 4. 3 Pemberitahuan ............................................................................................ 45
Gambar 4. 4 Pemberitahuan(2) ....................................................................................... 45
Gambar 4. 5 Antar Muka Lihat Data ............................................................................... 47
Gambar 4. 6 antar muka tambah data .............................................................................. 49
Gambar 4. 7 Pemberitahuan berhasil menambah data toko ............................................. 50
Gambar 4. 8 Pemberitauan rute berhasil ditambah .......................................................... 50
Gambar 4. 9 Antar Muka Perbarui Data .......................................................................... 51
Gambar 4. 10 Pemberitauan Data berhasil diperbarui ..................................................... 52
Gambar 4. 11 Pemberitauan rute berhasil diperbarui .................................................... 53
Gambar 4. 12 Antar muka hapus data ............................................................................. 53
Gambar 4. 13 Persetujuan menghapus data ..................................................................... 55
Gambar 4. 14 Pemberitahuan data berhasil dihapus ........................................................ 55
Gambar 5. 1 Hasil Pencarian Pertama oleh Sistem ......................................................... 56
Gambar 5. 2 Rute yang dilalui oleh pencarian pertama ................................................... 56
Gambar 5. 3 Hasil Pencarian Kedua oleh Sistem ............................................................ 57
Gambar 5. 4 Rute yang dilalui oleh pencarian kedua ...................................................... 57
Gambar 5. 5 Hasil Pencarian Ketiga Oleh Sistem ........................................................... 58
Gambar 5. 6 Rute yang dilalui oleh pencarian Ketiga ..................................................... 58
Gambar 5. 7 Hasil Pencarian Keempat oleh Sistem ........................................................ 59
Gambar 5. 8 Rute yang dilalui oleh pencarian Keempat ................................................. 59
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
Gambar 5. 9 Hasil Pencarian Kelima oleh Sistem ........................................................... 60
Gambar 5. 10 Rute yang dilalui oleh pencarian Kelima .................................................. 60
Gambar 5. 11 Hasil Pencarian Rute Keenam Menggunakan Sistem ............................... 61
Gambar 5. 12 Rute yang didapat dalam pencarian Keenam ............................................ 61
Gambar 5. 13 Hasil Pencarian Ketujuh oleh Sistem ........................................................ 62
Gambar 5. 14 Rute yang didapat dalam pencarian Ketujuh............................................. 63
Gambar 5. 15 Hasil Pencarian Kedelapan oleh Sistem .................................................... 63
Gambar 5. 16 Rute yang didapat dalam pencarian Kedelapan ........................................ 64
Gambar 5. 17 Hasil Pencarian Kesembilan oleh Sistem .................................................. 65
Gambar 5. 18 Rute yang didapat dalam pencarian Kesembilan ...................................... 65
Gambar 5. 19 Hasil Pencarian Sistem Kesepuluh ........................................................... 66
Gambar 5. 20 Rute yang didapat pada pencarian kesepuluh ........................................... 66
Gambar 5. 21 Hasil Pencarian Kesebelas oleh Sistem..................................................... 67
Gambar 5. 22 Rute yang didapat pada pencarian Kesebelas ........................................... 67
Gambar 5. 23 Hasil Pencarian Keduabelas oleh Sistem .................................................. 68
Gambar 5. 24 Rute yang didapat pada pencarian Keduabelas ......................................... 68
Gambar 5. 25 Hasil Pencarian Ketigabelas Oleh Sistem ................................................. 69
Gambar 5. 26 Rute yang didapat pada pencarian Ketigabelas ......................................... 69
Gambar 5. 27 Hasil Pencarian Keempatbelas Oleh Sistem ............................................ 70
Gambar 5. 28 Rute yang didapat pada pencarian Keempatbelas ..................................... 70
Gambar 5. 29 Hasil Pencarian Kelimabelas oleh Sistem ................................................. 71
Gambar 5. 30 Rute yang didapat pada pencarian Kelimabelas ........................................ 71
Gambar 5. 31 Hasil Percobaan Pertama dengan 2 semut ................................................ 72
Gambar 5. 32 Hasil Percobaan Pertama dengan 3 semut ................................................ 72
Gambar 5. 33 Hasil Percobaan Pertama dengan 5 semut ................................................ 72
Gambar 5. 34 Hasil Percobaan Kedua dengan 2 semut ................................................... 73
Gambar 5. 35 Hasil Percobaan Kedua dengan 3 semut .................................................. 73
Gambar 5. 36 Hasil Percobaan Kedua dengan 5 semut .................................................. 73
Gambar 5. 37 Hasil Percobaan Ketiga dengan 2 semut .................................................. 74
Gambar 5. 38 Hasil Percobaan Ketiga dengan 3 semut ................................................... 74
Gambar 5. 39 Hasil Percobaan Ketiga dengan 5 semut ................................................... 74
Gambar 5. 40 Hasil Percobaan Keempat dengan 2 semut ............................................... 75
Gambar 5. 41 Hasil Percobaan Keempat dengan 3 semut ............................................... 75
Gambar 5. 42 Hasil Percobaan Keempat dengan 5 semut ............................................... 76
Gambar 5. 43 Hasil Percobaan Kelima dengan 2 semut .................................................. 76
Gambar 5. 44 Hasil Percobaan Kelima dengan 3 semut .................................................. 76
Gambar 5. 45 Hasil Percobaan Kelima dengan 5 semut .................................................. 77
Gambar 5. 46 Hasil Percobaan Keenam dengan 2 semut ................................................ 77
Gambar 5. 47 Hasil Percobaan Keenam dengan 3 semut ................................................ 77
Gambar 5. 48 Hasil Percobaan Keenam dengan 5 semut ................................................ 78
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Daftar Tabel
Tabel 2. 1 Tabel Matrix antar titik .................................................................................. 13
Tabel 2. 2 Visibilitas ....................................................................................................... 13
Tabel 2. 3 Tabel intensitas jejak semut awal ................................................................... 14
Tabel 2. 4 pengisian node awal ....................................................................................... 14
Tabel 2. 5 probabilitas ..................................................................................................... 15
Tabel 2. 6 Probabilitas (2) ............................................................................................... 16
Tabel 2. 7 Probabilitas (3) ............................................................................................... 17
Tabel 2. 8 Tabel intensitas jejak semut untuk semut ke 1 ................................................ 18
Tabel 3. 1 Data Toko....................................................................................................... 22
Tabel 3. 2 Data Toko yang Digunakan ............................................................................ 23
Tabel 3. 3 Tabel data rute ................................................................................................ 23
Tabel 3. 4 Inisialisasi Parameter...................................................................................... 24
Tabel 3. 5 Ringkasan Usecase ......................................................................................... 27
Tabel 3. 6 Narasi Cari Rute ............................................................................................. 28
Tabel 3. 11 Design Tabel toko ........................................................................................ 30
Tabel 3. 12 Design Tabel Rute ........................................................................................ 30
Tabel 3. 13 Design Tabel Hasil ....................................................................................... 30
Tabel 3. 7 Narasi Cetak Hasil .......................................................................................... 83
Tabel 3. 8 Narasi Ubah Data ........................................................................................... 85
Tabel 3. 9 Narasi Tambah Data ....................................................................................... 86
Tabel 5. 1 Tabel Hasil Pencarian Konvensional Pertama ................................................ 56
Tabel 5. 2 Hasil Pencarian konvensional kedua .............................................................. 57
Tabel 5. 3 Hasil pencarian Konvensional Ketiga ............................................................ 58
Tabel 5. 4 Hasil Pencarian konvensional Keempat ......................................................... 59
Tabel 5. 5 Hasil Pencarian Konvensional Kelima ........................................................... 60
Tabel 5. 6 Tabel Hasil Pencarian Rute Secara Konvensional Keenam ............................ 61
Tabel 5. 7 Hasil Pencarian Secara Konvensional Ketujuh ............................................... 62
Tabel 5. 8 Hasil Pencarian Rute Secara Konvensional Kedelapan .................................. 63
Tabel 5. 9 Hasil Pencarian Secara Konvensional Kesembilan ........................................ 64
Tabel 5. 10 Hasil Pencarian Secara Konvensional Kesepuluh ........................................ 65
Tabel 5. 11 Hasil Pencarian Konvensional Kesebelas ..................................................... 66
Tabel 5. 12 Hasil pencarian Konvensional Keduabelas ................................................... 67
Tabel 5. 13 Tabel hasil pencarian Konvensional Ketigabelas ......................................... 68
Tabel 5. 14 Tabel hasil pencarian Konvensional Keempatbelas ...................................... 70
Tabel 5. 15 Hasil pencarian Konvensional Kelimabelas ................................................. 70
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
PT.CIRCLELKA INDONESIA UTAMA adalah badan usaha yang
membawahi toko ritel modern Circle K yang berada di Indonesia. PT
CIRCLEKA INDONESIA UTAMA sendiri memiliki kantor pusat yang
terletak di Jakarta Timur, lebih tepatnya berada di Jalan Jatinegara Barat No.
124. Sedangkan untuk di Yogyakarta sendiri memiliki kantor di Jl.
Magelang km.7 No.09 Mlatijati, Sendangadi, Mlati, Sleman. Perusahaan ini
memiliki beberapa tugas, dan salah satunya adalah mengatur
pendistribusian barang dari gudang ke toko - toko circle K yang tersebar di
berbagai tempat di Yogyakarta. Untuk kantor regional Yogyakarta sendiri
terdapat 34 toko di yogyakarta dan 2 lainya masing masing berada di kota
solo dan semarang.
Pendistribusian barang pada umumnya merupakan hal yang sangat
penting bagi setiap perusahaan, terlebih bagi toko seperti Circle K. Hal ini
tentu saja dikarenakan Circle K merupakan sebuah convension store yang
menjual berbagai produk makanan dan minuman kemasan dan keperluan
sehari – hari. Pendistibusian barang ke toko – toko circle K tersebut di atur
oleh PT.CIRCLEKA INDONESIA UTAMA melalui tiap regionalnya. Dan
dalam pendistribusiannya dibutuhkan kurir untuk mengantarkan stock
barang – barang tersebut. Dalam sekali jalan seorang kurir biasanya akan
mengantar barang – barang tersebut kurang lebih ke 3 hingga 4 toko Circle
K. Dan tentu saja dalam mengantar barang tersebut seorang kurir akan
memiliki banyak opsi rute. Sedangkan, dalam pendistribusian barang tentu
pendistribusian diharapkan bisa efisien, baik dari segi waktu maupun biaya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Melihat hal tersebut, muncul sebuah gagasan untuk membuat suatu
aplikasi yang dapat membantu dalam hal pendistibusian barang, khususnya
dalam pencarian rute pendistribusian barang. Dimana aplikasi tersebut
diharapkan dapat membantu dalam mencari jalur terpendek dalam
pendistribusian barang. Sehingga dalam pendistribusian barang ke gerai –
gerai Circle K dapat lebih efisien dan juga membantu kurir dalam mencari
rute.
Permasalahan pendistribusian barang tersebut termasuk dalam
sebuah Traveling Salesman Problem (TSP), dimana terdapat banyak macam
cara untuk menyelsaikan masalah ini. Terdapat dua macam dalam
penyelsaiannya, yaiutu dengan penghitungan secara konvensional (Manual,
mencari semua kemungkinan) ataupun dengan metode heuristik
(algoritma). Dalam kasus ini sistem akan menggunakan Algoritma Semut.
Algoritma Semut sendiri merupakan salah satu pendekatan dalam
penyelesaian masalah TSP. Algoritma semut merupakan salah satu
algoritma dalam metode heuristic. Dengan demikian diharapkan
permasalahan tersebut dapat diselsaikan dengan hasil yang maksimal. Dan
diharapkan aplikasi yang dibuat dapat membantu PT Circelka Indonesia
Utama khususnya regional Yogyakarta dalam melakukan kegiatan
pendistribusian barang.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah di jabarkan pada bagian
sebelumnya, maka di dapatlah rumusan permasalahan berikut:
1. Bagaimana menerapkan algoritma semut dalam sistem yang akan
membantu dalam mencari jalur terpendek untuk pendistribusian
barang?
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.3 Tujuan Penelitian
Tujuan penelitian yang ingin dicapai melalui penulisan Tugas Akhir
ini adalah sebagai berikut:
1. Mengimplementasikan algoritma semut dalam sistem yang berguna
untuk mencari jalur terpendek untuk melakukan pendistribusian
barang.
1.4 Batasan Masalah
Batasan Masalah pada sistem ini adalah sebagai berikut:
1. Data yang digunakan hanya mencakup circle k regional yogyakarta saja.
2. Penentuan jalur terpendek dari sistem ini berdasarkan dari letak gerai
Circle k yang ada.
3. Sistem ini hanya mampu menampilkan urutan – urutan tempat yang
akan dituju saja
4. Data Circle K yang dimasukan kedalam Sistem adalah data yang telah
di Update pada bulan April 2016.
1.5 Metodologi Penelitian
Metode yang digunakan dalam menyelsaikan traveling salesman problem
ini adalah metode System Development Life Cycle (paradigma Waterfall). Tahap
dari metode ini adalah sebagai berikut:
1. Analisa kebutuhan
Tahap ini akan menidentifikasi dan menganalisa kebutuhan dari
sistem. Selain itu pada tahap ini juga akan dilakukan pengumpulan
data yang diperlukan dalam pencarian jalur terpendek.
2. Peracangan Sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
Pada tahap ini akan dilakukan perancangan dari sistem yang akan
dibuat. Proses perancangan tersebut meliputi: Perancangan sistem,
design user interface dan implementasi program.
3. Penulisan Program
Pada tahap ini, akan dilakukan implementasi rancangan yang sudah
dibuat kedalam bahasa pemrograman yang akan digunakan.
4. Pengujian
Tahap ini merupakan tahap dimana sistem akan diujicoba untuk
mengetahui tingkat keberhasilan Sistem dan juga kesalahan –
kesalahan yang ada. Tujuannya agar diketahui tingkat keberhasilan
dari aplikasi yang dibuat.
1.6 Sistematika penulisan
Secara umum, dalam menyelesaikan laporan Tugas Akhir ini, sistematika
penulisan yang akan digunakan adalah sebagai berikut :
BAB I : PENDAHULUAN
Berisi tentang latar belakang masalah, rumusan
masalah, tujuan penelitian, batasan masalah, metodologi
penelitian, dan sistematika penulisan.
BAB II : LANDASAN TEORI
Pada bab ini, akan dibahas tentang berbagai landasan
teori yang mendasari pembuatan Aplikasi pencari jalur
terpendek ini
BAB III : ANALISA DAN PERANCANGAN SISTEM
Pada bab ini, penulis akan menjelaskan tentang
analisa permasalahan yang ada dan menjelaskan tentang
rancangan sistem yang akan dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB IV : IMPLEMENTASI SISTEM
Bab ini berisi implementasi dari rancangan yang
sudah dibuat pada bab sebelumnya.
BAB V : PENGUJIAN SISTEM
Bab ini berisi penjelasan tentang pengujian sistem
yang telah dibuat.
BAB VI : PENUTUP
Merupakan bab yang berisi kesimpulan dari penulis,
kemudian juga memberikan beberapa saran yang mungkin
dapat bermanfaat untuk pengembangan aplikasi yang telah
dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
Bab II
LANDASAN TEORI
Bab ini berisikan landasan dari penelitian ini, Seperti tentang Distribusi, Algoritma
Semut, Traveling Salesman Problem, maupun Grap. Setiap hal tesebut menjadi
Landasan dari penelitian yang dilakukan. Berikut adalah uraian dari landasan –
landasan tersebut:
2.1 Distribusi
Menurut para ahli, pengertian distribusi adalah kegiatan penyaluran barang
dan jasa yang dibuat dari produsen ke konsumen agar tersebar luas. Kegiatan
distribusi merupakan penghubung antara kegiatan produksi dan konsumsi.
Sedangkan untuk pelaku kegiatan distribusi sendiri dinamakan distributor.
1.1.1 Jenis – Jenis Distribusi:
a. Distribusi Langsung:
Adalah Distribusi yang dilakukan secara langsung oleh prosdusen
ke konsumen yang dilakukan tanpa perantara.
b. Distribusi Tak Langsung:
Adalah penyaluran atau penjualan barang dari produsen kepada
konsumen melalui perantara. Perantara tersebut diantaranya adalah
pedagang, agen, makelar dan juga toko – toko.
(http://www.artikelsiana.com/2014/11/pengertian-distribusi-fungsi-fungsi-
kegiatan.html)
2.2 Graph
Graph merupakan sebuah struktur data yang terdiri dari vertex(titik) dan
edge(garis atau juga busur/arc). Dimana setiap vertex akan dihubungkan oleh edge
sehingga membentuk suatu kesatuan yang disebut sebagai graf. Untuk lebih
jelasnya coba perhatikan gambar graph dibawah ini yang menggambarkan sebuah
kota
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Gambar 2. 1 Graph antar Kota
Gambar diatas merupakan senuah peta kota yang di gambarkan dalam bentuk
graph, diman kota merupakan titik(vertex) sedangkan garis yang menghubunhkan
kota adalah jalan(edge).
Terdapat beberapa graph yang dapat digunakan, diantaranya adalah sebagai
berikut:
• Graf berarah: adalah graf yang edgenya memiliki arah, misalnya
vertex A dan B dihubungkan oleh edge AB, namun untuk hubungan
vertex b ke A harus ada edge lain yaitu edge BA jika tidak ada maka
B ke A tidak memiliki hubungan, walaupun A ke B erdapat
hubungan.
• Graf tak berarah: berbeda dengan graf berarah, pada graf tidak
berarah jika terdapat edge AB maka edge tersebut menghubungkan
A ke B dan juga B ke A.
• Graf Berbobot : adalah sebuah graf yang memiliki edge yang bernilai
atau memiliki nilai tertentu.
• Graf tidak berbobot: adalah kebalikan dari graf berbobot.
2.3 Traveling Salesman Problem
Traveling Salesman Problem atau TSP sebenarnya adalah masalah klasik
dalam pencarian jalur terpendek. Masalah ini mungkin terdengar sederhana, namun
dalam pemecahanya sangatlah tidak sederhana. Banyak macam algoritma yang
dapat mengatasinya, namun mencari algoritma yang optimal merupakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
permasalahanya. Terkadang suatu algoritma bisa sangat optimal dalam kasus A
namun menjadi tidak optimal dalam kasus B. Biasanya TSP akan digambarkan
dalam sebuah Graph.
Permasalahan matematika tentang Traveling Salesman Problem atau TSP
sendiri dikemukakan pada tshun 1800 oleh Wiliam Rowan Hamilton dan Thomas
Penyngton. Wiliam Rowan Hamilton adalah seorang maematikawan dari Irlandia
sedangkan Thomas Penyngton adalah seorang matematikawan dari Inggris.
Kemudian bentuk umum dari TSP mulai dipelajari oleh matematikawan pada tahun
1930 dimana Karl Menger di Vienna dan Harvad mengawalinya. Lalu TSP
dipublikasikan oleh Hassler Whitney dan Merrill Flood di princeton.
Permasalahan TSP memiliki banyak teknik yang dapat digunakan dalam
menanganinya. Salah satunya adalah teknik Heuristik, dimana teknik ini adalah
teknik yang akan memberikan hasil yang mendekati optimal. Beberapa metode
heuristik seperti algoritma genetika, simulated annealing dan algoritma semut
sendiri merupakan suatu cara untuk mencari hasil traveling salesman problem yang
baik namun belum bisa dikatakan yang terbaik.
2.3.1 Aplikasi TSP
Traveling Salesman Problem yang awalnya merupakan sebuah masalah
pada akhirnya telah berkembang dan dapat dimanfaatkan dalam beberapa sektor.
Berikut adalah beberapa contohnya:
a. Logistik dan Supply Chain:
Logistik dan supply Chain secara umum mengandung pengertian
bahwa sistem tersebut dapat mengatur atau mengelola orang, suberdaya,
aktifitas, teknologi dan lain – lain guna kepentingan untuk mengantar
barang dari titik asal(suplier) kepada titik tujuan(pelanggan). Sehingga
diharapkan pemasokan tersebut dapat berjalan secara tepat waktu, tepat
jumlah, tepat lokasi, tepat sumber daya dan lain lain.
b. Transportasi:
Dalam bidang ini salah satu pionir yang memanfaatkan TSP adalah
Merril Flood, beliau adalah matematikawan Amerika yang merumuskan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Rute bus sekolah di New Jersy pada tahun 1940an. Dalam hal transportasi
memang TSP sangatlah berguna seperti untuk mencari jalur terpendek untuk
perjalanan.
c. Manufaktur:
Dalam bidang manufaktur TSP dapat dimanfaatkan dalam pencarian
jalur terpendek sehingga meningkatkan kecepatan produksi dan dapat
menekan biaya produksi.
d. Bidang lainnya:
Pada bidang lain TSP juga dapat dimanfaatkan dalam pendjadwalan
pengiriman koran, pengiriman surat oleh pos pemasangan jaringan
telekomunikasi dan lain lain.
2.4. Algoritma Semut
Membahas tentang Algoritma semut, dasar algoritma semut dan
algoritma semut itu sendiri.
2.4.1. Tentang Algorima Semut
Algoritma Semut merupakan simulasi multi agen yang menggunakan
metafora alami semut untuk menyelesaikan problem ruang fisik. Algoritma ini
merupakan algoritma yang diperkenalkan oleh Moyson dan Manderick dan secara
meluas dikembangkan oleh Marco Dorigo. Algoritma semut merupakan teknik
probabilistik untuk menyelesaikan masalah komputasi dengan menemukan jalur
terbaik melalui grafik. Sesuai dengan namanya, algoritma ini adalah algoritma yang
terinspirasi dari semut. Dimana perilaku semut yang meninspirasi algoritma ini
adalah saat semut menemukan jalur dari koloninya menuju makanan.
Semut mampu mengindra lingkunganya yang kompleks untuk mencari
makanan. Saat menemukan makanan semut akan kembali ke koloni atau sarangnya
dengan meninggalkan zat feromon pada jalur – jalur yang mereka lewati. Zat
Feromon adalah zat yang berasal dari kelenjar endokrim yang digunakan oleh
makhluk hidup untuk mengenali sesama jenis, individu lain, klompok bahkan
membantu untuk proses reproduksi. Berbeda dengan hormon, feromon meyebar
keluar tubuh dan hanya dapat mempengaruhi dan dikendalikan oleh individu lain
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
yang sejenis (satu spesies). Peninggalan fermon merupakan cara dari semut untuk
mengingat jalan pulang, selain itu hal tersebut juga berfungsi untuk berkomunikasi
dengan koloninya.
Dalam kejadian sehari – hari, algoritma semut biasa diterapkan dalam
beberapa persoalan seperti berikut:
1. Traveling Salesman Problem (TSP)
Merupakan sebuah permasalahan dalam pencarian jalur terpendek.
Dimana dalam pencarian jalur terpendek semua titik harus dilewati.
Contoh: pengantar surat yang harus mengantar semua surat pada
alamat tujuan.
2. Quadratic Assigment Problem (QAP)
Merupakan masalah dalam meng-asign sejumlah n resources untuk
ditempatkan pada sejumlah m lokasi dengan meminimalisir biaya
assignment.
3. Job-shop Scheduling Problem (JSP)
Merupakan sebuah permasalahan dalam penjadwalan sejumlah
j pekerjaan menggunakan sejumlah m mesin sedemikian rupa
agar seluruh pekerjaan dapat diselesaikan dalam waktu yang
minimal.
2.4.2. Konsep Dasar
Pada siklus semut, setiap semut akan berperan sebagai agen yang :
• Akan berpindah dari kota i ke kota j, pada interval antara t dan (t+1).
Kota j dipilih atas dasar probabilitas terhadap jarak d(Ci , Cj) dan
jumlah jejak pada edge(jalur) yang menghubungkan antara Ci dan Cj
• Akan mengunjungi kota yang belum pernah dikunjungi sebelumnya.
Hal ini diimplementasikan dengan cara menyimpan semua kota yang
telah dikunjungi semut hingga semut tersebut menyelesaikan
perjalanannya, dan akan mereset kembali setelah semut itu
menyelesaikan satu siklus.
• Setelah selesai dalam satu siklus semut itu akan meninggalkan jejak
pada setiap edge yang dilaluinya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Misalkan Ʈ𝑖𝑗 adalah intensitas jejak semut pada edge(i,j) pada saat t, maka
setelah suatu semut menyelsaikan perjalanan dalam suatu siklus, intensitas jejak
akan berubah menjadi:
Dengan ρ adalah koefisien dengan nilai 0 sampai 1, sedemikian hingga (1-
ρ) menunjukan penguapan jejak, dan
∑ ΔƮ𝑖𝑗𝑘𝑚
𝑘−1 (t,t+N) adalah jejak yag ditingkalkan oleh semut k pada edge (i,j)
pada saat antara t sampai(t+1), yang dihitung sebagai berikut:
Q = Konstanta
𝐿𝑘 = panjang jalur untuk perjalanan semut k
Tabu List digunakan untuk menyimpan nama kota yang telah dikunjungi
oleh semut. Tabu𝑘(s) adalah kota ke s yang dikunjngi oleh semut k. Sehingga jika
kota sudah dilewati maka akan disimpan di Tabu𝑘(s) dan tidak boleh dipilih lagi.
Sehingga Tabu𝑘(k= 1, 2,..,m) dikosongkan.
Probabilitas transisi dari kota i ke kota j diberikan dengan formula sebagai
berikut:
Parameter 𝛼 dan 𝛽 digunakan untuk mengendalikan tingkat kepentingan
relatif dari jejak dan visibilitas.
Ʈ𝑖𝑗(t+N) = ρƮ𝑖𝑗(t) + ΔƮ𝑖𝑗(t,t+N)
ΔƮ𝑖𝑗(t,t+N) = ∑ ΔƮ𝑖𝑗𝑘𝑚
𝑘−1 (t,t+N)
ΔƮ𝑖𝑗𝑘 (t,t+N) =
{
𝑄
𝐿𝑘 ; 𝑗𝑖𝑘𝑎 𝑠𝑒𝑚𝑢𝑡 𝑘 𝑚𝑒𝑛𝑔𝑔𝑢𝑛𝑎𝑘𝑎𝑛 𝑒𝑑𝑔𝑒(𝑖, 𝑗)
𝑑𝑎𝑙𝑎𝑚 𝑝𝑒𝑟𝑗𝑎𝑙𝑎𝑛𝑎𝑛𝑛𝑦𝑎
0; 𝑗𝑖𝑘𝑎 𝑠𝑒𝑚𝑢𝑡 𝑘 𝑡𝑖𝑑𝑎𝑘 𝑚𝑒𝑛𝑔𝑔𝑢𝑛𝑎𝑘𝑎𝑛 𝑒𝑑𝑔𝑒(𝑖, 𝑗)
𝑑𝑎𝑙𝑎𝑚 𝑝𝑒𝑟𝑗𝑎𝑙𝑎𝑛𝑎𝑛𝑛𝑦𝑎
𝑝𝑖𝑗(𝑡) = {
[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽; 𝑗𝑖𝑘𝑎 𝑗 𝜖 𝑑𝑖𝑖𝑗𝑖𝑛𝑘𝑎𝑛
0; 𝑗𝑖𝑘𝑎 𝑗 ∉ 𝑑𝑖𝑖𝑗𝑖𝑛𝑘𝑎𝑛
Gambar 2. 2 Rumus Intensitas Jejak
Gambar 2. 3 Rumus Penguapan Jejak
Gambar 2. 4 Rumus mencari jejak yang ditinggalkan
Gambar 2. 5 Rumus Probabilitas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
2.4.3 Cara Kerja Aloritma Semut
Urutan pengerjaan dalam algorima semut adalah sebagai berikut:
1. Inisialisasi Parameter α(tetapan intensitas jejak semut), β (tetapan
visibilitas), τ, m(jumlah semut), iterasi, dan Q (konstanta).
2. Letakan semut ke salah satu node secara acak.
3. Selama dalam iterasi lakukan langkah 4- 6
4. Untuk setiap semut, lakukan :
• Memilih probabilitas (berdasarkan persamaan sebelumnya) untuk
bergerak ke node berikutnya
• Tambahkan node yang sudah dilalui kedalam List
• Ulangi hingga semut menyelesaikan solusi
5. Untuk setiap semut yang telah menyelesaikan solusi lakukan:
Update feromon τ untuk tiap node yang dilalui semut.
6. Jika solusi lokal terbaik lebih baik daripada solusi global
Simpan solusi lokal terbaik sebagai solusi global
7. Selesai.
2.4.4 Contoh Penerapan Algoritma Semut
Terdapat Sebuah travel yang harus mengantarkan penumpang ke kota A, B,
C, D, E. Supir tersebut diminta untuk menemukan jalur terpendek yang harus
dilaluinya. Sedangkan kota yang pertama dimasuki adalah kota A sehingga supir
diminta menentukan tujuan selanjutnya agar dapat menjadi jalur terpendek. Berikut
ini adalah graf dari kota tujuannya:
Gambar 2. 6 Graph
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Gambar diatas adalah graph dari peta lokasi yang harus dikunjungi oleh supir travel
tersebut. Kemudian jarak antar kota di gambarkan dalam bentuk tabel seperti
berikut ini:
A B C D E
A 0 8 10 4 5
B 8 0 6 11 10
C 10 6 0 4 12
D 4 11 4 0 6
E 5 10 12 6 0
Tabel 2. 1 Tabel Matrix antar titik
Langkah 1:
Inisialisasi parameter :
• α (intensitas jejak semut) = 1.00
• β (visibilitas) = 1.00
• ρ = 0.5
• Ʈ𝑖𝑗 awal = 0.01
• m (jumlah siklus/semut) = 4
• Q = 1
Visibilitas antar kota (𝜂 = Q/jarak) :
A B C D E
A 0 0.125 0.100 0.250 0.200
B 0.125 0 0.167 0.091 0.100
C 0.100 0.167 0 0.250 0.083
D 0.250 0.091 0.250 0 0.167
E 0.200 0.100 0.083 0.167 0
Tabel 2. 2 Visibilitas
A B C D E
A 0 0.01 0.01 0.01 0.01
B 0.01 0 0.01 0.01 0.01
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
C 0.01 0.01 0 0.01 0.01
D 0.01 0.01 0.01 0 0.01
E 0.01 0.01 0.01 0.01 0
Tabel 2. 3 Tabel intensitas jejak semut awal
Langkah 2:
Memasukan semut ke salah satu node secara acak, dalam kasus ini dimasukan
kedalam kota A sebagai titik awal semua semut.
m1(semut1) Kota A
m2(semut2) Kota B
m3(semut3) Kota C
m4(semut4) Kota D
Tabel 2. 4 pengisian node awal
Langkah 3:
Melakukan Langkah 4 sampai 5
Langkah 4
Mencari probabilitas tertinggi
[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽
Menghitung [Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 :
Kota A – Kota B = [Ʈ𝐴𝐵(t)]𝛼[𝜂𝐴𝐵]
𝛽 = (0.01)1.00 (0.125)1.00 = 0.00125
Kota A – Kota C = [Ʈ𝐴𝐶(t)]𝛼[𝜂𝐴𝐶]
𝛽 = (0.01)1.00 (0.100)1.00 = 0.001
Kota A – Kota D = [Ʈ𝐴𝐷(t)]𝛼[𝜂𝐴𝐷]
𝛽 = (0.01)1.00 (0.250)1.00 = 0.0025
Kota A – Kota E = [Ʈ𝐴𝐸(t)]𝛼[𝜂𝐴𝐸]
𝛽 = (0.01)1.00 (0.200)1.00 = 0.002
Menghitung ∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 :
0.00125 + 0.001 + 0.0025 + 0.0002 = 0.00675
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 :
Kota A – Kota B = [Ʈ𝑖𝑗(t)]
𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = 0.00125/0.00675 = 0.185185
Kota A – Kota C = [Ʈ𝑖𝑗(t)]
𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = 0.001/0.00675 = 0.148148
Kota A – Kota D = [Ʈ𝑖𝑗(t)]
𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = 0.0025/0.00675 = 0.37037
Kota A – Kota E = [Ʈ𝑖𝑗(t)]
𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = 0.002/0.00675 = 0.296296
Kota B Kota C Kota D Kota E
0.185185 0.148148 0.37037 0.296296
Tabel 2. 5 probabilitas
Probabilitas terbesar adalah kota D maka :
A D
Lakukan hal yang sama untuk mendapat tujuan selanjutnya, dimana titik dimulai
dari kota D:
Kota D – Kota A = [Ʈ𝐷𝐴(t)]𝛼[𝜂𝐷𝐴]
𝛽 = (0.01)1.00 (0.250)1.00 = 0.0025
Kota D – Kota B = [Ʈ𝐷𝐵(t)]𝛼[𝜂𝐷𝐵]
𝛽 = (0.01)1.00 (0.091)1.00 = 0.00091
Kota D – Kota C = [Ʈ𝐷𝐶(t)]𝛼[𝜂𝐷𝐶]
𝛽 = (0.01)1.00 (0.250)1.00 = 0.0025
Kota D – Kota E = [Ʈ𝐷𝐸(t)]𝛼[𝜂𝐷𝐸]
𝛽 = (0.01)1.00 (0.167)1.00 = 0.001667
Menghitung ∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = 0.0025 + 0.00091 + 0.0025 + 0.001667
=0.007577
Probabilitas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Kota D – Kota B = [Ʈ𝑖𝑗(t)]
𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = 0.00091/0.007577= 0.120106
Kota D – Kota C = [Ʈ𝑖𝑗(t)]
𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = 0.0025/0.007577= 0.32996
Kota D – Kota E = [Ʈ𝑖𝑗(t)]
𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = 0.001667/0.007577= 0.219974
Kota B Kota C Kota E
0.120106 0.32996 0.219974
Tabel 2. 6 Probabilitas (2)
Probabilitas tertinggi pada kota C
A D C
Lakukan hal yang sama untuk mendapat tujuan selanjutnya, dimana titik dimulai
dari kota C :
Kota C – Kota A = [Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = (0.01)1.00 (0.100)1.00 = 0.001
Kota C – Kota B = [Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = (0.01)1.00 (0.167)1.00 = 0.00167
Kota C – Kota D = [Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = (0.01)1.00 (0.250)1.00 = 0.0025
Kota C – Kota E = [Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽= (0.01)1.00 (0.083)1.00 = 0.000833
Menghitung ∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = 0.001 + 0.00167+ 0.0025+ 0.000833 = 0.006
Probabilitas :
Kota C – Kota B = [Ʈ𝑖𝑗(t)]
𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = 0.00167/0.006= 0.278179
Kota C – Kota E = [Ʈ𝑖𝑗(t)]
𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽 = 0.000833/0.006= 0.138812
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Kota B Kota E
0.278179 0.138812
Tabel 2. 7 Probabilitas (3)
Probabilitas tertinggi pada kota B
A D C B
Karena yang belum terpilih adalah E maka tujuan terakhir adalah kota E
A D C B E
Langkah 5
Update intensitas jejak semut:
Ʈ𝑖𝑗(t+N) = ρƮ𝑖𝑗(t) + ΔƮ𝑖𝑗
(t,t+N)
Kota A ke Kota D:
Ʈ𝐴𝐸 = ρƮ𝑖𝑗+ ΔƮ𝑖𝑗
= (0.5*001)+(1/4)= 0.255
Kota E ke Kota C:
Ʈ𝐴𝐸 = ρƮ𝑖𝑗+ ΔƮ𝑖𝑗
= (0.5*001)+(1/4)= 0.255
Kota C ke Kota B:
Ʈ𝐴𝐸 = ρƮ𝑖𝑗+ ΔƮ𝑖𝑗
= (0.5*001)+(1/6)= 0.167167
Kota B ke Kota E:
Ʈ𝐴𝐸 = ρƮ𝑖𝑗+ ΔƮ𝑖𝑗
= (0.5*001)+(1/10)= 0.105
A B C D E
A 0 0.01 0.01 0.255 0.01
B 0.01 0 0.167167 0.01 0.105
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
C 0.01 0.167167 0 0.255 0.01
D 0.255 0.01 0.255 0 0.01
E 0.01 0.105 0.01 0.01 0
Tabel 2. 8 Tabel intensitas jejak semut untuk semut ke 1
Rute yang dilewati m1(semut1):
A D C B E
Selanjutnya ulangi Langkah 4 dan 5 untuk semut 2 sampai 4, selanjutnya
bandingkan hasil jarak antara semut 1 – 4 dan cari solusi terbaik sebagai hasil
akhir.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
BAB III
ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem
Sistem ini bertujuan untuk mencari rute terpendek untuk mendistribusikan
barang dari gudang PT CIRCLEKA Indonesia Utama cabang Yogyakarta ke gerai
– gerai Circle K yang ada di kota Yogyakarta. Dimana system ini akan menerapkan
algoritma semut dalam pencarian rute tersebut. Dan diharapkan algoritma ini dapat
membantu untuk mendapat hasil yang maksimal.
Dalam system ini akan terdapat data dari lokasi gudang dan gerai – gerai
Circle K yang ada di kota Yogyakarta. Dimana data tersebut menunjukan jarak
antara gerai dengan gudang dan juga jarak antara gerai satu dengan yang lainnya.
Lalu pengguna system ini dapat memilih gerai – gerai yang akan di tuju untuk
mendistribusikan barang. Lalu system akan mencari rute terpendek dalam
menjangkau gerai – gerai yang dipilih.
3.1.1 Analisis Masalah
Pendistribusian stock barang oleh PT.Circleka Indonesia Utama region
Yogyakarta meliputi 36 toko yang terdapat di wilayah Daerah Istimewa Yogyakarta
dan beberapa oko yang terdapat di luar daerah. Dalam melakukan pendistribusian
barang ke toko – toko Circle K tersebut digunakan sebuah mobil container
berukuran sedang. Dimana dalam sekali tempuh mobil tersebut dapat
mendistribusikan stock barang hingga mencakup 3 sampai 5 toko di
Yogyakarta.dalam melakukan pendistribusian barang tersebut perjalanan akan
dimulai dari Gudang milik PT Circleka Indonesia Utama region Yogyakarta.
Gudang tersebut terletak di Jl. Raya Magelang KM 7 No. 9 Sendangadi Mlati
Sleman yang mana juga merupakan alamat dari kantor region Yogyakarta.
Dalam pendistribusian barang biasanya akan membawa stock untuk 3
hingga 5 toko. Dimana untuk mengantar barang tersebut dilakukan dalam satu kali
perjalanan. Dan dalam menempuh perjalanan tersebut seorang supir akan
memutuskan ke toko mana dulu yang dituju. Lalu akan dilanjut dengan toko – toko
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
selanjutnya sehingga seluruh toko berhasil dituju dan seluruh barang
terdistribusikan.
Gambar 3. 1 Peta Persebaran Toko Circle K di Yogyakarta
3.1.2 Aturan Pencarian Rute
Dalam pembuatan sistem pencari rute ini memiliki beberapa aturan yang
harus dipenuhi agar sistem ini dapat dikatakan optimal. Aturan – aturan tersebut
merupakan beberapa kendala yang mungkin terjadi dalam sistem. Dan kendala
tersebut tentusaja harus dihindari uleh sistem. Kendala – kendala tersebut adalah
sebagai berikut:
1. Dalam sekali perjalanan tidak boleh ada toko yang sama
2. Dalam sekali perjalanan Tidak boleh mengunjungi toko yang sudah
dikunjungi.
3. Titik awal keberangkatan pendistribusian barang adalah Gudang
yang terletak di tempat yang sama dengan kantor pusat cabang
Yogyakarta.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
3.1.3 Sumber Data
Sumber data yang diperoleh merupakan data dari PT.Circleka Indonesia
Utama region Yogyakarta. Data tersebut merupakan data yang sudah diperbarui per
April 2016. Data yang digunakan untuk sistem ini adalah Toko dan Data Rute. Data
Toko meliputi 36 toko yang termasuk dalam region yogyakarta. Dimana data tiap
toko adalah data nama toko, kode toko, alamat toko dan koordinat lokasi dari toko.
Sedangkan untuk data rute merupakan data yang menyimpan data jalur antar toko
yang ada. Dimana data tersebut mencakup jarak toko dan rute yang ditempuh antar
toko. Berikut ini adalah data toko yang berada dibawah kantor region Yogyakarta:
Kode Nama Toko
YOG0101 YOG 0101 - CK 0101 Sosrowijayan
YOG0102 YOG 0102 - CK 0102 Parangtritis
YOG0104 YOG 0104 - CK 0104 Sudirman
YOG0109 YOG 0109 - CK 0109 Sudirman Tugu
YOG0111 YOG 0111 - CK 0111 Sosrowijayan II
YOG0112 YOG 0112 - CK 0112 Timoho
YOG0113 YOG 0113 - CK 0113 Taman Siswa 136
YOG0114 YOG 0114 - CK 0114 Kusumanegara 46
YOG0116 YOG 0116 - CK 0116 Kota Baru
YOG0117 YOG 0117 - CK 0117 AM Sangaji
YOG0209 YOG 0209 - CK 0209 Magelang KM.5
YOG0213 YOG 0213 - CK 0213 Ring Road
YOG0215 YOG 0215 - CK 0215 Magelang KM.7 No.9 (Gudang)
YOG0216 YOG 0216 - CK 0216 Monjali 86 B 230
YOG0301 YOG 0301 - CK 0301 Godean
YOG0201 YOG 0201 - CK 0201 Kaliurang
YOG0205 YOG 0205 - CK 0205 Babarsari
YOG0207 YOG 0207 - CK 0207 Kaliurang Bawah
YOG0210 YOG 0210 - CK 0210 Jl. Solo KM.8
YOG0211 YOG 0211 - CK 0211 Demangan
YOG0214 YOG 0214 - CK 0214 Seturan Atas
YOG0217 YOG 0217 - CK 0217 Kaliurang KM.8
YOG0221 YOG 0221 - CK 0221 Sorogenen I
YOG0222 YOG 0222 - CK 0222 Nologaten (Wahid Hasyim)
YOG0223 YOG 0223 - CK 0223 Anggajaya
YOG0224 YOG 0224 - CK 0224 Nusa Indah
YOG0227 YOG 0227 - CK 0227 Seturan
YOG0228 YOG 0228 - CK 0228 Affandi
YOG0229 YOG 0229 - CK 0229 Gatic Condong Sari
YOG1101 YOG 1101 - CK 1101 Bandara Adi Sucipto Franchise 1
YOG1102 YOG 1102 - CK 1102 Bandara Adi Sucipto Franchise 2
YOG1103 YOG 1103 - CK 1103 Bandara Adi Sucipto Franchise 3
YOG1104 YOG 1104 - CK 1104 Bandara Ahmad Yani Semarang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
YOG1106 YOG 1105 - CK 1105 Bandara Adi Sucipto Drop Zone Parkir
Utara
YOG1107 YOG 1107 - CK 1107 Bandara Adi Sucipto/ Terminal B
YOG1108 YOG 1108 - CK 1108 Bandara Adi Sumarmo SOLO
Tabel 3. 1 Data Toko
Data diatas adalah seluruh toko yang ada di regional Yogyakarta, namun tidak
semua toko diatas masuk kedalam sistem ini. Terdapat 2 toko yang terletak di luar
provinsi yogyakarta, yaitu CK 1108 Bandara Adi Sumarmo Solo dan CK 1104
Bandara Ahmad yani Semarang. 2 toko itu tidak dimasukan kedalam sistem karena
dalam pengiriman stock biasanya hanya dilakukan sekali jalan. Dimana mobil yang
mengantar stock barang tidak mengantar stock ke toko lain selain toko circle k yang
berada diluar provinsi tersebut. Sehingga kedua toko tersebut tidak perlu dimasukan
kedalam sistem ini. Selanjutnya terdapat 5 toko dalam ruang lingkup yang sama,
yaitu CK 1101, CK 1102, CK 1103, CK1105 dan Ck1107. Kelima toko itu terdapat
pada area yang sama, yaitu area Bandara Adisucipto. Sehingga dalam sistem kelima
toko Circle K tersebut dijadikan 1 nama saja.dan setelah itu hanya terdapat 30 data
toko saja yang digunakan dalam sistem ini. Namun data toko ini dapat diperbarui
sesuai dengan apa yang terjadi. Berikut ini adalah data toko CK yang digunakan
dalam sistem yang akan dibuat
kode Nama Toko
YOG0101 YOG 0101 - CK 0101 Sosrowijayan
YOG0102 YOG 0102 - CK 0102 Parangtritis
YOG0104 YOG 0104 - CK 0104 Sudirman
YOG0109 YOG 0109 - CK 0109 Sudirman Tugu
YOG0111 YOG 0111 - CK 0111 Sosrowijayan II
YOG0112 YOG 0112 - CK 0112 Timoho
YOG0113 YOG 0113 - CK 0113 Taman Siswa 136
YOG0114 YOG 0114 - CK 0114 Kusumanegara 46
YOG0116 YOG 0116 - CK 0116 Kota Baru
YOG0117 YOG 0117 - CK 0117 AM Sangaji
YOG0209 YOG 0209 - CK 0209 Magelang KM.5
YOG0213 YOG 0213 - CK 0213 Ring Road
YOG0215 YOG 0215 - CK 0215 Magelang KM.7 No.9
YOG0216 YOG 0216 - CK 0216 Monjali 86 B 230
YOG0301 YOG 0301 - CK 0301 Godean
YOG0201 YOG 0201 - CK 0201 Kaliurang
YOG0205 YOG 0205 - CK 0205 Babarsari
YOG0207 YOG 0207 - CK 0207 Kaliurang Bawah
YOG0210 YOG 0210 - CK 0210 Jl. Solo KM.8
YOG0211 YOG 0211 - CK 0211 Demangan
YOG0214 YOG 0214 - CK 0214 Seturan Atas
YOG0217 YOG 0217 - CK 0217 Kaliurang KM.8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
YOG0221 YOG 0221 - CK 0221 Sorogenen I
YOG0222 YOG 0222 - CK 0222 Nologaten (Wahid Hasyim)
YOG0223 YOG 0223 - CK 0223 Anggajaya
YOG0224 YOG 0224 - CK 0224 Nusa Indah
YOG0227 YOG 0227 - CK 0227 Seturan
YOG0228 YOG 0228 - CK 0228 Affandi
YOG0229 YOG 0229 - CK 0229 Gatic Condong Sari
YOG1101 YOG 1101 - CK 1101 Bandara Adi Sucipto
Tabel 3. 2 Data Toko yang Digunakan
Sedangkan untuk data Rute dari toko memiliki data sebagai berikut
Kode Toko Awal Kode Toko Tujuan Jarak Rute
YOG0101 YOG0101 0 ........
YOG0101 YOG0102 1000 .......
....... ...... ......... .........
......... ............. ....... .........
YOGnnnn YOGnnn ...... .....
Tabel 3. 3 Tabel data rute
Data diatas merupakan data rute yang digunakan sistem untuk mencari jarak dan
jalur yang harus dilalui. Dimana data tersebut terdiri dari 4 entitas yaitu kode toko
awal, kode toko tujuan, jarak dan rute. Kode toko awal merupakan titik awal dari
semut, sedangkan kode toko tujuan adalah toko yang dituju selanjutnya. Lalu untuk
data jarak adalah jarak antara toko awal dan toko tujuan. Sedangkan rute merupakan
jalur yang dilalui oleh semut untuk mencapai tujuan dari toko awal menuju ke toko
tujuan.
Untuk mendapatkan data diatas, diguanakan aplikasi google maps untuk
mendapatkan data jarak dan jalur yang dilewati. Untuk mencarinya diperlukan data
koordinat antar toko. Data koordinat tersebut dimasukan pada google maps maka
akan muncul hasil jarak antar toko beserta jalur yang dilewati. Data yang didapat
tersebut selanjutnya disimpan kedalam tabel data rute diatas. Berikut ini adalah
gambar contoh pengambilan data rute dan jarak antar toko.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Gambar 3. 2 Pencarian rute dengan google maps
3.2 Permodelan Algoritma Semut untuk Pencarian Rute
Pada proses penerapan algoritma semut untuk pencarian rute distribusi
barang, terdapat beberapa komponen yang harus diperhatikan
3.2.1 Inisialisasi Parameter
Inisialisasi parameter merupakan proses awal dalam penerapan algoritma
semut. Beberapa parameter yang digunakan dalam algoritma semut adalah α(alfa),
β(Beta),ρ(Rho), m(jumlah semut) dan Iterasi.
Parameter Nilai
α(alfa) 5
β(Beta) 2
ρ(Rho) 0.3
m(jumlah semut) 5
Iterasi 2
Tij 0.01
Tabel 3. 4 Inisialisasi Parameter
Data parameter diatas adalah data yang disesuaikan dengan buku refrensi dari Sri
Kusumadewi dkk (2003) dan Skripsi dari Roy Wiranta(2015). Selain parameter
diatas juga terdapat parameter visibilitas awal, dimana visibilitas awal diperoleh
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
dengan rumus η =1/Jarak. Sedangkan untuk mendapatkan nilai jarak digunakan
method cariJarak() untuk mendapat nilai jarak antar toko. Data jarak antar toko
sendiri disimpan didalam database.
Selanjutnya sebagai proses awal semut akn menuju ke node pertama secara
random. Dari node pertama ini semut akan mencari node – node selanjutnya untuk
dituju, sehingga membentuk senuah rute. Untuk menentukan node selanjutnya
diperlukan nilai probabilitas, dimana titik yang memiliki nilai probabilitas tertinggi
merupakan node selanjutnya. Untuk mendapat nilai probabilitas diperlukan nilai –
nilai dari parameter diatas.setelah mendapat semua node yang dituju pencarian
probabilitas akan dilakukan sesuai dengan banyaknya nilai iterasi.
3.2.2 Mencari Urutan Node
Proses Selanjutnya merupakan pencarian urutan node. Untuk mencari node
diperlukan pencarian probabilitas, dimana nilai probabilitas adalah nilai yang
digunakan untuk mencari titik node(toko) selanjutnya dalam pencarian rute.
Langkah untuk mendapatkan nilai probabilitas tertinggi adalah sebagai berikut:
1) Cari visibilitas antar toko i ketoko j sebanyak jumlah toko yang dipilih,
i merupakan toko yang disinggahi oleh semut sedangkan j adalah toko
yang belum dikunjungi oleh semut
2) Setelah seluruh visibilitas ditemukan maka jumlahkan nilai seluruh
visibilitas yang ada.
3) Langkah terakhir adalah membagi nilai visibilitas awal dengan nilai
dari jumlah visibilitas.
4) Hasil dari pembagian merupakan nilai probabilitas.
Setelah mendapat nilai probabilitas maka akan dicari nilai probabilitas tertinggi.
Nilai probabilitas tertinggi merupakan node selanjutnya yang akan dituju oleh
semut. Setelah mendapat node selanjutnya maka dilakukan lagi langkah diatas
hingga seluruh toko berhasil dikunjungi oleh semut. Disetiap kunjungan semut
maka jejak dari semut(fromon) harus diupdate, dimana langkah untuk mengupdate
feromon semut adalah:
Update feromon = (Rho * feromon awal) + (1/jarak)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Setelah semut berhasil mengunjungi seluruh toko maka lakukan langkah
tersebut sebanyak iterasi, namun dengan nilai feromon yang telah diupdate. Setelah
dilakukan pencarian node sebanyak iterasi maka hasil akhir dari pencarian rute
tersebut akan disimpan sebagai data dari semut ke-m. Iterasi tersebut biasanya akan
memiliki hasil yang konsisten antara ireasi terakhir dan iterasi sebelumnya.
Kemudian Langkah tersebut akan dilakukan sebanyak jumlah semut yang di
masukan. Proses yang dilakukan setiap semut untuk mendapat rute sama seperti
cara diatas, hanya saja nilai dari node pertama setiap semut berbeda karena node
pertama setiap semut didapat secara random. Setelah semua semut mendapatkan
rutenya maka akan dilakukan update solusi sebagai berikut.
3.2.3 Update Solusi
Langkah terakhir adalah update solusi, dimana langkah ini menentukan jalur
semut yang dipakai. Untuk melakukan update solusi maka langkah langkah
sebelumnya haruslah sudah terpenuhi. Setelah seluruh semut mengunjungi seluruh
node(toko) maka pada bagian ini akan ditentukan solusi terbaik.
3.3 Perancangan Sistem
3.3.1 Diagram Use case
Gambar 3. 3 Diagram Usecase
1) Selama cek lebih kecil dari jumlah semut maka lakukan langkah 2 dan 3
2) Bandingkan nilai jarak solusi akhir dengan nilai jarak semut ke-m
3) Jika nilai jarak semut ke-m tidak sama dengan 0 dan nilai jarak semut ke
m lebih kecil dari nilai solusi akhir maka:
a. Solusi akhir = nilai jarak semut ke-m
Jika tidak, maka:
b. Solusi akhir = solusi akhir
4) Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
3.3.2 Ringkasan Use Case
Nama Use Case Keterangan Pelaku
Cari Rute Use case ini merupakan fungsi utama dari
sistem dimana pada bagian ini sistem akan
melakukan pencarian rute sesuai dengan
tujuan yang diilih oleh pengguna, dimana
sebelumya data sudah disimpan pada database
Admin
Cetak Hasil Use case ini merupakan proses pencetakan
hasil dari pencarian rute terpendek. Dimana
rute terpendek akan dicetak dan dijadikan surat
pengantar untuk pendistribusian
Admin
Ubah Data Toko Use Case ini merupakan pengubahan data
jikalau terjadi perubahan data dari data yang
sudah ada dalam sistem
Admin
Tambah Data Toko Use case ini merupakan proses penambahan
data baru kedalam sistem.
Admin
Hapus Data Toko Use Case ini merupakan proses penghapusan
data pada sistem yang dirasa sudah tidak
diperlukan lagi.
Admin
Tabel 3. 5 Ringkasan Usecase
3.3.3 Narasi Use Case
Nama Use Case Cari Rute
Aktor Admin
Diskripsi Pengguna mencari rute terpendek
Prakondisi Sistem sudah dibukan dan dalam menu Home
Langkah Aksi Aktor Reaksi Sistem
Kerja Langkah 1:
Admin memilih tombol Cari
Rute
Langkah 2:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Langkah 3:
Admin memilih toko - toko
yang akan dicari rutenya
Langkah 5:
Setelah semua toko yang
diinginkan masuk tabel,
admin klik tombol Mulai
cari Rute
Langkah 7:
Admin menyetujui dengan
memilih OK.
Sistem menampilkan menu
Cari Rute.
Langkah 4:
Sistem memasukan toko –
toko yang dipilih kedalam
tabel
Langkah 6:
Sisem menampilkan pesan
persetujuan/konfirmasi
Langkah 8:
Sistem mencari rute
terpendek berdasarkan data
yang ada
Langkah 9:
Menampilkan field hasil dari
pencarian rute disertai urutan
toko, jarak yang ditempuh
beserta ruteny
Alternate Langkah 9:
Menampilkan pesan eror jika
terdapat kesalahan.
Tabel 3. 6 Narasi Cari Rute
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
3.3.4 Diagram Aktivitas
a. Cari Rute
Admin memilih tombol Cari
Rute
Sistem menampilkan menu Cari
Rute.Admin memilih toko - toko yang
akan dicari rutenya
Sistem memasukan toko – toko yang
dipilih kedalam tabel
Setelah semua toko yang diinginkan
masuk tabel, admin klik tombol Mulai
cari RuteSisem menampilkan pesan
persetujuan/konfirmasi
Admin menyetujui dengan memilih
OK.Sistem mencari rute terpendek
berdasarkan data yang ada
Menampilkan pesan rute terpendek
berhasil didapat disertai urutan rutenya
Mulai
Selesai Gambar 3. 4 Diagram Aktifitas Cari Rute
3.4 Perancangan Basisdata
3.4.1 ER Diagram
Gambar 3. 5 ER Diagram
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
3.4.2 Model Fisikal
a) Tabel Toko
Field Name Type Size Key
Kode_Toko Varchar2 10 *
Nama_Toko Varchar2 100
Nomer Number
Alamat Varchar2 100
Koordinat Varchar2 100
Tabel 3. 7 Design Tabel toko
b) Tabel Rute
Field Name Type Size Key
No_Rute Number *
Kode_Toko_Awal Varchar2 10
Kode_Tujuan Varchar2 10
Jarak Number 10
Rute_Tujuan Varchar2 4000
Tabel 3. 8 Design Tabel Rute
c) Tabel Hasil
Field Name Type Size Key
Nomer Number *
Tanggal Date
Rute Varchar2 4000
Jarak_Tempuh Varchar2 100
Urutan_Toko Varchar2 100
Tabel 3. 9 Design Tabel Hasil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
3.5 Design Interface
a) Home
Gambar dibawah adalah menu Home dimana akan tampil saat pertama kali
sistem dijalankan. Dalam menu tersebut terdapat tombol utama yaitu, Tombol
tombol Cari Rute. Pada tombol Cari Rute sistem akan mengantarkan kedalam menu
Cari Rute. Menu ini adalah fungsi utama dari sistem pencari jalur terpendek travel.
Dimana sistem akan mencari jalur terpendek tersebut. Setelah itu terdapat juga
pilihan keluar disudut kanan bawah. Pilihan tersebut berfungsi untuk menutup
sistem atau keluar dari sistem pencari rute terpendek distribusi ini.
Gambar 3. 6 Tampilan Home
b) Cari Rute
Menu Cari Rute merupakan menu yang menampilkan fungsi utama dari sistem,
yaitu mencari rute terpendek untuk perjalanan travel. Menu ini akan muncul setelah
Admin memilih tombol Cari Rute pada Menu Home. Dalam menu ini terdapat
combo box yang digunakan untuk memilih toko – toko yang akan dituju.
Selanjutnya nama – nama toko yang sudah terpilih akan muncul di tabel yang ada
di bawah. Lalu terdapat tulisan home di bagian atas yang berguna untuk kembali ke
dalam Menu Home dan Opsi keluar untuk langsung keluar dari sistem.sedangkan
tombol cari rute akan membuat sistem mencari rute sesuai toko toko yang ada dalam
tabel.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Gambar 3. 7 Tampilan Cari Rute
c) Lihat Data
Menu Lihat data adalah salah satu pilihan menu dari sistem ini. Menu ini dapat
diakses dengan menekan tombol lihat data pada menu Home. Didalam menu ini
akan ditampilkan data toko yang ada dalam sistem. Di menu ini juga terdapat
pilihan tambah data, ubah data dan juga hapus data. Dengan memilih salah satu dari
pilihan tersebut maka akan ditampilkan menu sesuai dengan yang dipilih.
Gambar 3. 8 Tampilan Lihat Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
d) Tambah Data
Menu ini juga merupakan menu tambahan dari sistem pencari rute distribusi
barang. Dimana menu ini berfungsi untuk menambahkan data rute sekaligus data
rute dari toko tersebut. Hal ini tentusaja mengantisipasi jika terdapat toko Circle K
baru yang akan dibangun di kota Yogyakarta. Dalam sistem ini ada textfield untuk
mengisi kode toko baru tersebut, lalu nama toko, alamat toko dan koordimat lokasi
dari toko tersebut. Setelah data – data tersebut diisi maka selanjutnya akan mengisi
data rute dari toko baru tersebut menuju toko lainyang sudah ada. Atribut yang
dimasukan adalah jarak antar toko dan rute yang dilewati.
Gambar 3. 9 Tampilan Tambahan Data
e) Perbarui Data
Menu ini juga merupakan menu tambahan dari sistem pencari rute distribusu
barang. Dimana menu ini berfungsi untuk mengubah data dari toko jikalau terjadi
perpindahan lokasi ataupun data lain dari toko yang sudah ada didalam sistem.
Hampir sama dengan tambah data hanya saja terdapat combo box yang digunakan
untuk memilih nama toko yang akan di ubah. Selanjutnya proses pengubahan data
toko yang dilanjut dengan pengubahan rute yang ditempuh dari toko yang ada
menuju toko yang baru dubah dan juga sebaliknya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Gambar 3. 10 Tampilan Tambahan Data
f) Hapus Data
Menu Hapus data merupakan menu tambahan dalam sistem ini, dimana sistem
ini berguna untuk menghapus data toko yang sudah tidak digunakan lagi. Dimana
menu ini memiliki combo box untuk memilih toko yang akan dihapus. Lalu
textfield akan terisi data dari toko yang terpilih. Lalu terdapat button hapus untuk
menghapus data toko tersebut beserta data rute – rute yang bersangkutan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Gambar 3. 11 Tampilan Hapus Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
BAB IV
IMPLEMENTASI
Dalam bab ini akan dibahas mengenai implementasi dari sistem
berdasarkan dari rancangan yang dibuat pada bab sebelumnya.
4.1 Implementasi Proses
4.1.1 Implementasi Algoritma Semut
Bagian ini menjelaskan pengimplementasian Algoritma semut kedalam
program, dimana cara kerja dari algoritma semut sudah dijelaskan pada Bagian
sebelumnya. Langkah pertama dari algoritma Semut adalah penentuan nilai dari
Alpa, Beta, Iterasi, Pheronom, banyak Semut(m) dan beberapa atribut lainya.
Berikut adalah penentuan nilai nilai atribut tersebut,
Nilai – nilai yang dimaskan kedalam atribut diatas adalah nilai yang dimasukan
secara random.
private static double ALPHA = 5;//bebas
private static double BETA = 2;//bebas
private static double RHO = 0.3;//antara 0 dan 1
int msemut = 5;//bebas
double TAU[][];//bebas
private static int iterasi = 2;//iterasi bebas
double ETA[][];// bebas
double Tij = 0.01;
for (int i = 0; i < jumChecklist; i++) {
for (int j = 0; j < jumChecklist; j++) {
if (i == j) {
feromonAwal[i][j] = 0;
} else {
feromonAwal[i][j] = 0.01;
}}}
for (int i = 0; i < jumChecklist; i++) {
for (int j = 0; j < jumChecklist; j++) {
System.out.print(feromonAwal[i][j] + " ");
System.out.print("");
}
System.out.println(" ");
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Selanjutnya dalam melakukan Inisialisasi Parameter adalah menentukan nilai
pheronome awal. Pheronome merupakan jejak yang dilalui oleh semut, sehingga
nilai dari pheronome awal adalah nilai yang kecil, dan pada kasus ini dipilih 0,01
sebagai nilai pheronome awal. Pheronome tersebut akan dibentuk kedalam sebuah
matrix dengan ukuran yang menyesuaikan dengan jumlah checklist(jumlah toko
yang dipilih).
Bagian ini merupakan pencarian jarak antar toko yang dipilih, dimana jarak
antar toko tersebut akan digunakan dalam pencarian Visibilitas yang juga
merupakan salah satu parameter yang harus diidentifikasi pada langkah pertama.
Selanjutnya adalah identifikasi visibilitas antar toko, dimana rumus yang
digunakan adalah (𝜂 = 1/jarak). Karena jarak menggunakan satuan meter maka
rumus menjadi 1000/jarak. Dimana nilai jarak adalah jarak antar toko circle k.
for (int x = 0; x < jumChecklist; x++) {
for (int y = 0; y < jumChecklist; y++) {
String baris = simpanTitik[x];
String kolom = simpanTitik[y];
String jarak = CariJarak.getJarakKoneksi().cari_jarak
(baris, kolom);
getJarak[x][y] = Double.parseDouble(jarak);
}}
for(int a=0; a<jumChecklist; a++){
for (int b=0; b<jumChecklist; b++){
if(a==b){
visibilitasAwal[a][b] = 0;
}else{
visibilitasAwal[a][b] = 1000 / getJarak[a][b];
}
System.out.print(visibilitasAwal[a][b]+" ");
}
System.out.println(" ");
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Data tersebut akan terbentuk kedalam matriks dengan ukuran yang disesuaikan
dengan jumlah toko yang dipilih.
Bagian ini merupakan langkah selanjutnya dari algoritma semut, yaitu
meletakan semut secara random. Semut diletakan berdasarkan atribut sem.
Selanjutnya bagian ini adalah langkah untuk menentukan nilai probabilitas,
dimana rumus untuk mencari nilai probabilitas adalah sebagai berikut:
𝑝𝑖𝑗(𝑡) = {
[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽
∑[Ʈ𝑖𝑗(t)]𝛼[𝜂𝑖𝑗]
𝛽; 𝑗𝑖𝑘𝑎 𝑗 𝜖 𝑑𝑖𝑖𝑗𝑖𝑛𝑘𝑎𝑛
0; 𝑗𝑖𝑘𝑎 𝑗 ∉ 𝑑𝑖𝑖𝑗𝑖𝑛𝑘𝑎𝑛
Dimana langkah pertama adalah mencari nilai pheronom awal di pankat nilai alfa
kemudian nilai visibilitas awal dipangkat nilai beta. Lalu nilai visibilitas tersebut di
total kedalam variabel nextprob. Kemudian nilai nilai yang sudah didapat tersebut
dimasukan kedalam rumus seperti diatas hingga didapat nilai probabilitas dari
setiap titik yang dituju semut m.
for(j = 0; j< jumChecklist; j++){
if(x==0){
visibilitasAkhir[nextI][j] = Math.pow(feromonAwal[nextI][j],
ALPHA) * Math.pow(visibilitasAwal[nextI][j], BETA);
}else{
visibilitasAkhir[nextI][j] = Math.pow(feromon[nextI][j],
ALPHA) * Math.pow(visibilitasAwal[nextI][j], BETA);
}
nextProb = nextProb + visibilitasAkhir[nextI][j];
}
System.out.println("Prob = " + nextProb);
for (j = 0; j < jumChecklist; j++) {
probabilitas[nextI][j] = visibilitasAkhir[nextI][j] / nextProb;}
For (int sem = 1; sem <= msemut; sem ++){
----------------
Tabu[1]=sem;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Langkah selanjutnya setelah nilai probabilitas didapat adalah mencari nilai
probabilitas tertinggi. Nilai probabilitas tertinggi menentukan tujuan selanjutnya
dalam perjalanan semut. Pada langkah tersebut akan memeriksa apakah nilai max
lebih kecil dari probabilitas[i][j]. Jika iya nilai max akan diisi dengan nilai dari
probabilitas[i][j] dan nextIsementara diisi oleh nilai j dengan syarat nilai j tidak
sama dengan nilai yang sudah disimpan didalam tabulist.
Setelah didapat nilai probabilitas tertinggi maka nilai yang disimpan
kedalam nextIsementara akan disimpan kedalam tabulist. Langkah diatas adalah
langkah dari penyimpanan nilai nextIsementara kedalam tabulist.nilai yang didapat
tersebut merupakan node selanjutnya dalam perjalanan semut. Dan setiap node
yang didapat akan disimpan kedalam tabu list secara urut berdasakan node pertama
yang terpilih.
Selain menyimpan node selanjutnya yang didapat dari pencarian
probabilitas, feronom dari node i menuju node j juga perlu di update. Untuk
for (j = 0; j < jumChecklist; j++) {
if (nilaiMax < probabilitas[nextI][j]) {
if (j!=tabu[0] && j!=tabu[1] && j!=tabu[2] &&
j!=tabu[3]
&& j!=tabu[4] && j!=tabu[5] && j!=tabu[6] ) {
nilaiMax = probabilitas[nextI][j];
nextIsementara = j;
} else {
nilaiMax = nilaiMax;
nextIsementara = nextIsementara; }
} else {
nilaiMax = nilaiMax;
nextIsementara = nextIsementara; }}
nextI = nextIsementara;
tabu[t]=nextI;
feromon[nextI][nextIsementara]=
((RHO*feromon[nextI][nextIsementara])+
(1000/getJarak[nextI][nextIsementara]));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
menupdate feronome atau jejak yang dilalui semut maka nilai Rho dikalikan dengan
nilai feronom awal kemudian ditambahkan dengan nilai visibilitas.
Setelah mengupdate nilai feronom sesuai dengan rute yang dilalui oleh
semut ke m, maka data feronom akan diupdate. Dimana nilai feronom yang dilewati
oleh semut nilainya akn disesuaikan dengan nilai feronom yang sudah diupdate
sebelumnya, sedangkan yang tidak dilewati maka nilai akan tetap 0.01.
Langkah – langkah tersebut dilakukan berulang hingga semua node berhasil
dikunjungi oleh semut ke m. Lalu semut yang lain juga akan mulai melakukan
pencarian rute dengan cara yang sama namun dengan node awal yang berbeda.
Setiap selesai mencari seluruh node dan sudah melakukan pencarian
sebanyak iterasi, maka hasil ddari pencarian tersebut akan disimpan. Bagian ini
merupakan penyimpanan urutan node yang disimpan dalam variabel urutan. Data
node yang disimpan kedalam urutan adalah data dari simpanTitik yang merupakan
sebuah kode toko.
for (int iupdt = 0; iupdt < jumChecklist; iupdt++) {
for (int jupdt = 0; jupdt < jumChecklist; jupdt++) {
if (iupdt == jupdt) {
feromon[iupdt][jupdt] = 0;
}else if(feromon[iupdt][jupdt] != 0){
feromon[iupdt][jupdt]=feromon[iupdt][jupdt];
feromon[jupdt][iupdt]=feromon[iupdt][jupdt];
}else {
feromon[iupdt][jupdt] = 0.01;
}}}
for(int c=0; c<jumChecklist; c++){
int no=c+1;
urutan=urutan+no+"."+simpanTitik[tabu[c]]+" "; }
for(int r=1; r<jumChecklist; r++){
rute[r]= CariJarak.getJarakKoneksi().
get_Rute(simpanTitik[tabu[r-1]], simpanTitik[tabu[r]]);
hitungtotal[r]=CariJarak.getJarakKoneksi().
cari_jarak(simpanTitik[tabu[r-1]], simpanTitik[tabu[r]]);
hittot[r]=Double.parseDouble(hitungtotal[r]);
jaraktotal=jaraktotal+hittot[r]; "+
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Selanjunya adalah menyimpan data rute yang akan digunakan untuk
mencapai node atau toko toko yang didapat oleh semut. Untuk mendapatkan data
rute yang dilalui dibutuhkan kode toko awal dan kode toko tujuan. Dimana dua
atribut tersebut digunakan untuk mendapat data rute dari database. Selanjutnya data
rute akan dirangkai kedalam ruteFix. Dimana ruteFix merupakan rangkaian ryte
dari gudang hingga toko terakhir yang akan dikunjungi.
Selanjutnya data nama toko juga disimpan kedalam variabel nama toko,
dimana data nama toko didapat dari database. Untuk mendapat nama toko
diperlukan kode toko untuk mencari nama toko dalam database. Selanjutnya nama
toko yang didapat dimasukan kedalam variabel namaToko.
Setelah data dari jarakTotal, urutanToko, ruteFix dan nama Toko diperoleh
maka data tersebut dimasukan kedalam array. Dimana array tersebut disesuaikan
dengan data semut. Sehingga data yang disimpan adalah data milik semut 1 hingga
semut ke 5. Oleh karena itu proses yang dilakukan dari Gambar 4.5 meletakkan
semut hingga proses pada Gambar 4.15 data fix akan dilakukan sebanyak jumlah
semut yang sudah ditentukan pada gambar 4.1 Inisialisasi. Maka proses ini akan
dilakukan dari semut ke 1 hingga semut ke 5. Sehingga setiap semut akan memiliki
hasil rute, jarak, nama toko dan urutan yang berbeda beda.
for(int tk=0; tk<jumChecklist; tk++){
toko[tk]=CariJarak.getJarakKoneksi().get_Toko(simpanTitik[tabu[tk]]);
int no = tk+1;
namaToko=namaToko+no+". "+toko[tk]+"\n";
}
JarakTotalAkhir[sem]=jaraktotal;
urutanakhir[sem]=urutan;
ruteAkhir[sem]=ruteFix;
namaTokoAkhir[sem]=namaToko;
for(int s = 1; s<=msemut; s++){
if(jaraktotalFix > JarakTotalAkhir[s]
&&JarakTotalAkhir[s]!=0){
simpanTitik[tabu[r]] +" melewati : "+rute[r]);
ruteFix=ruteFix+"\n"+"dari "+simpanTitik[tabu[r-1]]+"
ke "+simpanTitik[tabu[r]] +" melewati : "+rute[r]; }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Setelah seluruh semut melakukan perjalanan dan menemukan rutenya
masing masing dalam mengelilingi node, maka akan ditentukan nilai yang terkecil.
Dimana nilai jarak menjadi acuan untuk dipilihnya rute untuk dilalui. Hal ini
merupakan Langkah selanjutnya dari algoritma semut dalam menentukan rute.
Program akan mencari jarak terpendek dari kelima semut yang disebar, dan jarak
yang paling pendek akan digunakan sebagai rute yang dipilih. Sehingga data semut
ke m akan menjadi hasil akhir dari pencarian rute dalam pendistribusian barang.
Langak terakhir adalah mencetak hasil dari pencarian rute, dan dengan
demikian pencarian rute distribusi barang dengan pengopimalisasian algoritma
semut berakhir. Data yang telah diperoleh tersebut kemudian disimpan kedalam
database. Diana data tersebut dapat digunakan sebagai lampiran dan acuan dalam
melakukan pendistribusian barang.
System.out.println("Hasil akhir");
System.out.println("Jarak: "+jaraktotalFix);
System.out.println("uruan:");
System.out.println(urutanFix);
System.out.println("nama Toko: ");
System.out.println(namaTokoFix);
System.out.println("Rute: ");
System.out.println(ruteFinal);
jaraktotalFix=JarakTotalAkhir[s];
urutanFix=urutanakhir[s];
namaTokoFix=namaTokoAkhir[s];
ruteFinal = ruteAkhir[s];
}else{
jaraktotalFix=jaraktotalFix;
urutanFix=urutanFix;
namaTokoFix=namaTokoFix;
ruteFinal=ruteFinal; }}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
4.2 Implementasi Tampilan Antar Muka
4.2.1 Implementasi Antar Muka Awal (Home)
Antar muka awal (Home) merupakan halaman pertama yang akan muncul
saat pertama kali program dijalankan. Halaman tersebut menampilkan nama sistem
dan juga logo dari Circle K dibagian atas. Selain itu terdapat juga 2 tombol cari rute
dan juga lihat data toko. Tombol cari ute akan mengantar kedalam antar muka cari
rute dan lihat data toko akan menampilkan antar muka lihat data toko.terdapat juga
ikon keluar yang akan menutup sistem jika ikon tersebut dipilih.
Gambar 4. 1 Tampilan Home
4.2.2 Implementasi Antar Muka Cari Rute
Antar Muka cari rute adalah halaman yang ditampilkan jika dari antar muka
awal dipilih tombol cari rute. Antar muka ini adalah antar muka yang disediakan
untuk mencari rute pendistribusian barang. Antar muka ini dapat dilihat pada
gambar 4.2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Gambar 4. 2 Antar Muka Cari Data
Pada antar muka ini erdapat combobox yang berisikan nama toko circle k
yang terdapat di region yogyakarta. Untuk mencari rute toko maka pengguna akan
memilih toko yang terdapat pada combo box dan kemudian nama-nama toko yang
dipilih akan masuk kedalam tabel. Berikut adalah kode untuk memasukan nama -
nama toko yang dipilih kedalam tabel.
if(comboNamaToko.getSelectedItem().toString().equals("pilih toko")){
//Nothing to do
}else{
simpanTitik[0]="YOG0215";
nama = (String) comboNamaToko.getSelectedItem();
try {
System.out.println(nama);
List<DataRute> ListData =
CariJarak.getJarakKoneksi().cariToko(nama);
DataRute rt = new DataRute();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Kode ini akan memerintahkan sistem untuk memasukan data dari toko yang dipilih
dari combo box untuk masuk kedalam tableToko. Setelah semua toko yang akan
dituju dimasukan kedalam tabel maka akan digunakan perintah cari rute untuk
mencari rute yang akan menuju ke toko – toko yang sudah dipilih. Kode untuk
mencari rute sudah dijelaskan pada bagian 4.1.1 Implementasi Algoritma semut.
Jika dalam sstem belum ada toko yang dipilih maka sistem akan menampilkan
pemberitahuan seperti berikut
Gambar 4. 3 Pemberitahuan
Dan jika sudah ada toko yang dipilih, namun baru 1 toko maka akan muncul
pemberitahuan seperti berikut ini
Gambar 4. 4 Pemberitahuan(2)
DefaultTableModel model = (DefaultTableModel)
tableToko.getModel();
tableToko.setModel(model);
model.addRow(new Object[]{ListData.get(0).getKodeToko(),
ListData.get(0).getNamaToko()});
} catch (Exception ex)
{Logger.getLogger(FormCariRute.class.getName()).log(Level.SEVERE,
null, ex); }
jumChecklist=jumChecklist+1; }
comboNamaToko.removeItem(nama);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Selanjutnya jika sistem telah berhasil mendapatkan rute maka data tersebut
akan disimpan kedalam database. Berikut adalah kode untuk menyimpan data hasil
tersebut.
Perintah tersebut akan menyimpan data hasil dari pencarian rute kedalam database
hasil. Selain menyimpan hasil tersebut pada bagian ini juga dapat mencetak hasil
dari pencarian tersebut dengan perintah berikut:
PreparedStatement pstmt = null;
try{
conn.setAutoCommit(false);
String sql = "insert into hasil values(?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, rute.getNomer());
pstmt.setString(2, rute.getTgl_eksekusi());
pstmt.setString(3, rute.getRute());
pstmt.setDouble(4, rute.getJarak());
pstmt.setString(5, rute.getToko());
pstmt.executeQuery();
conn.commit();
}catch(SQLException ex){
conn.rollback();
throw ex; }
String reportSource = "./laporan/reportHasilRuteLndscp.jasper";
Map<String,Object> params = new
HashMap<String,Object>();
try {
JasperPrint jasperPrint =
JasperFillManager.fillReport(reportSource,params,kon);
JasperViewer.viewReport(jasperPrint,false);
} catch (JRException ex) {
ex.printStackTrace();
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
4.2.3 Implementasi Antar Muka Lihat Data
Antar muka Lihat Data adalah halaman yang akan menunjukan data toko
yang terdapat pada sisem ini. Selain menampilkan datatoko yang dimiliki, sistem
ini juga merupakan halaman yang dapat mengarahkan ke antar muka lain, yaitu
Tambah Data, Perbarui Data dan Hapus Data. Antar muka Lihat Data dapat dilihat
pada gambar 4.5
Gambar 4. 5 Antar Muka Lihat Data
Kode program untuk menampilkan data toko yang terdapat dalam sistem ini
adalah sebagai berikut:
public List<DataRute> tampilToko() throws SQLException, Exception {
PreparedStatement statement = null;
ResultSet result = null;
try {
conn.setAutoCommit(false);
statement = conn.prepareStatement("select kode_toko,"
+ "nama_toko "
+ "from toko_ck order by kode_toko");
result = statement.executeQuery();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Diatas merupakan kode untuk menampilkan data toko kedalam antar muka Lihat
Data. Selain melihat data toko pada antar muka ini terdapat tombol Tambah data
yang akan mengantar pada antar muka tambah data. Lalu terdapat tombol Perbarui
data yang akan mengantar pada antarmuka perbarui data. Terdapat juga tombol
hapus data yang akan mengantar pada antar muka hapus data. Selain itu juga
terdapat tombol kembali yang akan mengantar kembali ke antar muka Lihat Data.
4.2.4 Implementasi Antar Muka Tambah Data
Antar muka ini merupakan antar muka yang menampilkan halaman tambah
data, dimana tambah data berfungsi untuk menambahkan data toko jika terdapat
toko circle k baru di region Yogyakarta. Selain menambahkan data toko baru pada
halaman ini juga akan menambahkan data rute antara toko baru menuju ke toko
yang sudah ada sebelumnya. Berikut adalah gambar dari antar muka tambah data
List<DataRute> datarute = new ArrayList<DataRute>();
while (result.next()) {
DataRute rute = new DataRute();
rute.setKodeToko(result.getString("kode_toko"));
rute.setNamaToko(result.getString("nama_toko"));
datarute.add(rute); }
conn.commit();
return datarute;
} catch (SQLException exception) {
throw exception;
} finally {
try {
conn.setAutoCommit(true);
if (result != null) {
result.close();}
if (statement != null) {
statement.close();}
} catch (SQLException exception) {
throw exception; }}}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Gambar 4. 6 antar muka tambah data
Berikut ini adalah kode untuk menambahkan data toko baru:
public void tambahToko(Toko tk) throws SQLException{
PreparedStatement pstmt;
try{
conn.setAutoCommit(false);
String sql = "insert into toko_ck values(?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tk.getNo_toko());
pstmt.setString(2, tk.getKode_toko());
pstmt.setString(3, tk.getNama_toko());
pstmt.setString(4, tk.getAlamat_toko());
pstmt.setString(5, tk.getKoor_toko());
pstmt.executeQuery();
conn.commit();
}catch (SQLException ex){
conn.rollback();
throw ex; }}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Kode diatas adalah kode untuk menambahkan data toko baru, kemudian jika data
toko baru berhasil ditambahkan maka sistem akan menampilkan kode berikut ini
Gambar 4. 7 Pemberitahuan berhasil menambah data toko
Gambar 4.7 menunjukan pesan bahwa sistem berhasil menyimpan data mealui kode
yang dibahas sebelumnya. Selain itu sistem dapat menyimpan rute antar toko baru
dan toko yang sudah ada sebelumnya. Berikut adalah kode untuk menyimpan data
rute tersebut:
Selanjutnya jika data rute telah berhasil disimpan menggunakan kode diatas maka
akan muncul psan berikut:
Gambar 4. 8 Pemberitauan rute berhasil ditambah
public void tambahRute(Rute rt) throws SQLException{
PreparedStatement pstmt;
try{
conn.setAutoCommit(false);
String sql = "insert into rute_ck values(?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, rt.getNo());
pstmt.setString(2, rt.getKodeAwal());
pstmt.setString(3, rt.getKodeTujuan());
pstmt.setDouble(4, rt.getJarak());
pstmt.setString(5, rt.getRute());
pstmt.executeQuery();
conn.commit();
}catch (SQLException ex){
conn.rollback();
throw ex; }}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
4.2.5 Implementasi Antar Muka Perbarui Data
Antar muka ini menampilkan halaman perbarui data yang berfungsi untuk
memperbarui data toko dan rute yang sudah ada. Hal ini bisa saja dikarenakan
kesalahan penginputan data sebelumnya atau juga perpindahan toko ke tempat lain.
Berikut ini merupakan gambar dari antar muka perbarui data:
Gambar 4. 9 Antar Muka Perbarui Data
Sebelum memperbari data maka pengguna harus memilih nama toko yang akan
diperbarui dari combo box, berikut adalah kode untuk menampilkan toko yang
dipilih dari combo box:
nama = (String) comboNamaToko.getSelectedItem();
System.out.println(nama); kode = nama.substring(0, 8).replace(" ", "");
System.out.println(kode);
try {
textKodeLama.setText(kode);
labelKodeNamaToko.setText(nama.substring(0, 19));
textNamaLama.setText(nama.substring(19));
textAlamatLama.setText(KontrolUpdate.getKoneksiKontrolUpdate().AlamatToko(k
ode));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Setelah toko dipilih dan data dari toko ditampilkan maka selanjutnya adalah
memperbarui data dari toko tersebut. Berikut adalah kode untuk memperbarui data
toko:
Selanjutnya jika kode untuk memperbarui data toko diatas berhasil maka akan
muncul pesan seperti pada gambar 4.10 berikut:
Gambar 4. 10 Pemberitauan Data berhasil diperbarui
Selanjutnya setelah mengupdate data toko maka diperlukan juga untuk
mengupdate data rute dari toko baru yang baru saja diupdate ke toko yang lainya.
Berikut adalah kode untuk memperbarui data rute tersebut:
public void updateToko(Toko tk) throws SQLException{
Statement stmnt;
ResultSet rsult;
String nama = tk.getNama_toko();
String kode = tk.getKode_toko();
String alamat = tk.getAlamat_toko();
String koor = tk.getKoor_toko();
String sql = "update toko_ck set nama_toko = '"+nama+"', alamat =
'"+alamat+"', koordinat = '"+koor+"' where kode_toko = '"+kode+"'";
stmnt = conn.createStatement();
stmnt.executeUpdate(sql);
conn.commit();
conn.close();
}
public void updateRute(Rute rt) throws SQLException{
Statement stmnt;
String kode_awal = rt.getKodeAwal();
String kode_Tujuan = rt.getKodeTujuan();
textKoorLama.setText(KontrolUpdate.getKoneksiKontrolUpdate().KoorToko(kode);
} catch (Exception ex) {
Logger.getLogger(FormCariRute.class.getName()).log(Level.SEVERE, null,
ex); }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Kode tersbut merupakan kode untuk memperbarui data rute, dimana jika kode
tersebut berhasil dijalankan oleh sistem maka akan muncul pesan seperti pada
gambar 4.11
Gambar 4. 11 Pemberitauan rute berhasil diperbarui
4.2.6 Implementasi Antar Muka Hapus Data
Antar muka hapus data adalah antar muka yang menampilkan halaman
hapus data. Antar muka ini berfungsi untuk menghapus data toko yang sudah tidak
digunakan. Hal ini bisa terjadi karena kesalahan penginputan ataupun toko yang
sudah tutup. Berikut adalah gambar dari antar muka hapus data:
Gambar 4. 12 Antar muka hapus data
double jarak = rt.getJarak();
String rute = rt.getRute();
String sql = "update rute_ck set jarak = "+jarak+" , rute_tujuan = '"+rute+"'
where kode_toko_awal = '"+kode_awal+"'"
+ " and kode_tujuan = '"+kode_Tujuan+"'";
stmnt = conn.createStatement();
stmnt.executeUpdate(sql);
conn.commit();
conn.close(); }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Gambar diatas adalah antar muka hapus data, dimana combo box digunakan untuk
memilih toko yang akan dihapus. Kode untuk combo box dan menampilkan data
yang dipilih adalah sebagai berikut
Setelah data ditampilkan maka pengguna akan menghapus data tersebut, berikut
adalah kode untuk menghapus data
public void HapusRuteAwal(String kode) throws SQLException{
Statement stmnt;
String sql="delete from rute_ck where kode_toko_awal = '"+kode+"'";
stmnt = conn.createStatement();
stmnt.executeQuery(sql);
conn.commit();
conn.close();}
public void HapusRuteTujuan(String kode) throws SQLException{
Statement stmnt;
String sql="delete from rute_ck where kode_tujuan = '"+kode+"'";
stmnt = conn.createStatement();
if(comboToko.getSelectedItem().equals("pilih toko")){
textKodeToko.setText("");
textNamaToko.setText("");
textKoorToko.setText("");
textAlamatToko.setText("");
}else{
String nama = (String) comboToko.getSelectedItem();
String kode = nama.substring(0, 8).replace(" ", "");
textKodeToko.setText(kode);
textNamaToko.setText(nama);
String koor = null;
String alamat = null;
try {
alamat=KontrolUpdate.getKoneksiKontrolUpdate().AlamatToko(kode);
koor = KontrolUpdate.getKoneksiKontrolUpdate().KoorToko(kode);
} catch (SQLException ex) {
Logger.getLogger(FormHapusToko.class.getName()).log(Level.SEVERE,
null, ex); }
textAlamatToko.setText(alamat);
textKoorToko.setText(koor);
btnHapus.enable();}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Saat kode tersebut akan dijalankan oleh sistem maka akan muncul sebuah pesan
seperti pada gambar 4.13 berikut:
Gambar 4. 13 Persetujuan menghapus data
Jika pengguna menyetuji untuk menghapus data maka selanjutnya akan ada sebuah
pemberitauan seperti pada gambar 4.14 berikut:
Gambar 4. 14 Pemberitahuan data berhasil dihapus
Jika data tidak jadi dihapus maka akan kembali dalam konisi awal dari halaman
hapus data.
stmnt.executeQuery(sql);
conn.commit();
conn.close();
}
public void HapusToko(String kode) throws SQLException{
Statement stmnt;
String sql="delete from toko_ck where kode_toko = '"+kode+"'";
stmnt = conn.createStatement();
stmnt.executeQuery(sql);
conn.commit();
conn.close();}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
BAB V
PENGUJIAN SISTEM
5.1 Analisa Hasil Pengujian
Pada tahap ini akan dilakukan pengujian terhadap sistem dengan cara
membandingkan hasil pencarian menggunakan sistem dan secara konvensional.
5.1.1 Analisa Hasil untuk Pencarian Rute dengan Tujuan 3 Toko
a. Hasil Pertama
Data dibawah adalah data yang digunakan untuk pengujian pertama dimana
hasil yang didapat merupakan penghitungan secara konvensional. Dimana
penghitungan secara konvensional berarti menghitung semua kemungkinan yang
ada, dan didapat rute terpendek pada baris yang diberi warna biru.
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Jarak
YOG0215 YOG0213 YOG0116 YOG0111 9900
YOG0215 YOG0213 YOG0111 YOG0116 11600
YOG0215 YOG0116 YOG0213 YOG0111 19700
Tabel 5. 1 Tabel Hasil Pencarian Konvensional Pertama
Gambar 5. 1 Hasil Pencarian Pertama oleh Sistem
Gambar 5. 2 Rute yang dilalui oleh pencarian pertama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Data pada Gambar 5.1 adalah data yang dicari menggunakan sistem. Berdasarkan
data pada Tabel 5.1 dan gambar 5.1 hasil yang diperoleh sistem dan penghitungan
secara konvensional mendapatkan hasil yang sama yaitu melewati YOG0215 –
YOG0213 – YOG0116 – YOG0111 dengan jarak yang ditempuh adalah 9900m.
b. Hasil Kedua
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Jarak
YOG0215 YOG0228 YOG0229 YOG1101 14800
YOG0215 YOG0228 YOG1101 YOG0229 20300
YOG0215 YOG0229 YOG0228 YOG1101 19000
YOG0215 YOG0229 YOG1101 YOG0228 21700
YOG0215 YOG1101 YOG0228 YOG0229 23400
YOG0215 YOG1101 YOG0229 YOG0228 20800
Tabel 5. 2 Hasil Pencarian konvensional kedua
Data diatas adalah data yang digunakan untuk pengujian kedua dimana hasil
yang didapat merupakan penghitungan secara konvensional. Penghitungan secara
konvensional berarti menghitung semua kemungkinan yang ada, dan didapat rute
terpendek pada baris yang diberi warna biru.
Gambar 5. 3 Hasil Pencarian Kedua oleh Sistem
Gambar 5. 4 Rute yang dilalui oleh pencarian kedua
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Sedangkan pada Gambar 5.2 adalah gambar dari hasil pencarian rute menggunakan
sistem yang dibuat. Dari Gambar 5.2 dan Tabel 5.3 dapat dilihat bahwa hasil yang
didapat adalah sama.
c. Hasil Ketiga
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Jarak
YOG0215 YOG0101 YOG0107 YOG0217 16500
YOG0215 YOG0101 YOG0217 YOG0107 19900
YOG0215 YOG0107 YOG0101 YOG0217 18100
YOG0215 YOG0107 YOG0217 YOG0101 16500
YOG0215 YOG0217 YOG0101 YOG0107 19300
YOG0215 YOG0217 YOG0107 YOG0101 14300
Tabel 5. 3 Hasil pencarian Konvensional Ketiga
Data diatas adalah data yang digunakan untuk pengujian ketiga dimana hasil
yang didapat merupakan penghitungan secara konvensional. Penghitungan secara
konvensional berarti menghitung semua kemungkinan yang ada, dan didapat rute
terpendek pada baris yang diberi warna biru.
Gambar 5. 5 Hasil Pencarian Ketiga Oleh Sistem
Gambar 5. 6 Rute yang dilalui oleh pencarian Ketiga
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Sedangkan pada Gambar 5.3 adalah gambar dari hasil pencarian rute menggunakan
sistem yang dibuat. Dari Gambar 5.3 dan Tabel 5.5 dapat dilihat bahwa hasil yang
didapat adalah sama.
d. Hasil Keempat
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Jarak
YOG0215 YOG0210 YOG0211 YOG0214 22000
YOG0215 YOG0210 YOG0214 YOG0211 21700
YOG0215 YOG0211 YOG0210 YOG0214 17900
YOG0215 YOG0211 YOG0214 YOG0210 18300
YOG0215 YOG0214 YOG0210 YOG0211 17700
YOG0215 YOG0214 YOG0211 YOG0210 17600
Tabel 5. 4 Hasil Pencarian konvensional Keempat
Data diatas adalah data yang digunakan untuk pengujian keempat dimana hasil
yang didapat merupakan penghitungan secara konvensional. Penghitungan secara
konvensional berarti menghitung semua kemungkinan yang ada, dan didapat rute
terpendek pada baris yang diberi warna biru.
Gambar 5. 7 Hasil Pencarian Keempat oleh Sistem
Gambar 5. 8 Rute yang dilalui oleh pencarian Keempat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Sedangkan pada Gambar 5.4 adalah gambar dari hasil pencarian rute menggunakan
sistem yang dibuat. Dari Gambar 5.4 dan Tabel 5.7 dapat dilihat bahwa hasil yang
didapat adalah sama.
e. Hasil Kelima
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Jarak
YOG0215 YOG0111 YOG0112 YOG0113 17000
YOG0215 YOG0111 YOG0113 YOG0112 16800
YOG0215 YOG0112 YOG0111 YOG0113 20100
YOG0215 YOG0112 YOG0113 YOG0111 18900
YOG0215 YOG0113 YOG0111 YOG0112 19600
YOG0215 YOG0113 YOG0112 YOG0111 20000
Tabel 5. 5 Hasil Pencarian Konvensional Kelima
Data diatas adalah data yang digunakan untuk pengujian kelima dimana hasil
yang didapat merupakan penghitungan secara konvensional. Penghitungan secara
konvensional berarti menghitung semua kemungkinan yang ada, dan didapat rute
terpendek pada baris yang diberi warna biru.
Gambar 5. 9 Hasil Pencarian Kelima oleh Sistem
Gambar 5. 10 Rute yang dilalui oleh pencarian Kelima
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Sedangkan pada Gambar 5.5 adalah gambar dari hasil pencarian rute menggunakan
sistem yang dibuat. Dari Gambar 5.5 dan Tabel 5.9 dapat dilihat bahwa hasil yang
didapat adalah sama.
5.1.2 Analisa Hasil untuk Pencarian Rute dengan Tujuan 4 Toko
a. Hasil Pertama
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Tujuan 4 Jarak
YOG0215 YOG0301 YOG0201 YOG0205 YOG0207
25600
YOG0215 YOG0301 YOG0205 YOG0207 YOG0201
23650
YOG0215 YOG0301 YOG0207 YOG0201 YOG0205 18850
YOG0215 YOG0301 YOG0207 YOG0205 YOG0201
24400
Tabel 5. 6 Tabel Hasil Pencarian Rute Secara Konvensional Keenam
Data diatas adalah data yang digunakan untuk pengujian keenam dimana hasil
yang didapat merupakan penghitungan secara konvensional. Penghitungan secara
konvensional berarti menghitung semua kemungkinan yang ada, dan didapat rute
terpendek pada baris yang diberi warna biru. Pada tabel 5.6 tidak semua hasil
pencarian secara konvensional ditampilkan, hanya beberapa data saja termasuk data
rute terpendek yang didapat.
Gambar 5. 11 Hasil Pencarian Rute Keenam Menggunakan Sistem
Gambar 5. 12 Rute yang didapat dalam pencarian Keenam
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Sedangkan pada Gambar 5.11 adalah gambar dari hasil pencarian rute
menggunakan sistem yang dibuat. Pada pencarian konvensional hasil urutan rute
yang didapat adalah YOG0215 (Gudang) YOG0301 YOG0207 YOG0201
YOG0205 dengan jarak 18850 m. Sedangkan sistem menemukan dengan hasil jarak
dan urutan yang sama. Sehingga pada hasil pengujian pertama hasil adalah sama.
b. Hasil Kedua
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Tujuan 4 Jarak
YOG0215 YOG0209 YOG0117 YOG0213 YOG0216 11700
YOG0215 YOG0209 YOG0117 YOG0216 YOG0213 10700
YOG0215 YOG0209 YOG0216 YOG0117 YOG0213 12200
YOG0215 YOG0209 YOG0216 YOG0213 YOG0117 11100
Tabel 5. 7 Hasil Pencarian Secara Konvensional Ketujuh
Data diatas adalah data yang digunakan untuk pengujian ketujuh dimana hasil
yang didapat merupakan penghitungan secara konvensional. Penghitungan secara
konvensional berarti menghitung semua kemungkinan yang ada. Pada data diatas
baris yang berwarna merah adalah data yang didapat secara konvensional, dan yang
berwarna kuning adalah hasil dari sistem. Pada tabel 5.7 tidak semua hasil
pencarian secara konvensional ditampilkan, hanya beberapa data saja termasuk data
rute terpendek yang didapat. Sedangkan pada Gambar 5.7 adalah gambar dari hasil
pencarian rute menggunakan sistem yang dibuat.
Gambar 5. 13 Hasil Pencarian Ketujuh oleh Sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Gambar 5. 14 Rute yang didapat dalam pencarian Ketujuh
Hasil Pencarian secara manual rute terpendek adalah G-A-B-D-C dengan jarak
11100 meter dimana G adalah YOG0215 (Gudang) B adalah YOG0209 A adalah
YOG0117 D adalah YOG0216 dan C adalah YOG0213. Sedangkan sistem
menemukan rute dan jarak seperti pada gambar diatas. Sehingga pada percobaan
kedua sistem tidak mendapat rute terpendek
c. Hasil Ketiga
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Tujuan 4 Jarak
YOG0215 YOG0111 YOG0113 YOG0112 YOG0114 18400
YOG0215 YOG0111 YOG0113 YOG0114 YOG0112 17300
YOG0215 YOG0111 YOG0114 YOG0112 YOG0113 19100
Tabel 5. 8 Hasil Pencarian Rute Secara Konvensional Kedelapan
Data diatas adalah data yang digunakan untuk pengujian kedelapan dimana
hasil yang didapat merupakan penghitungan secara konvensional. Penghitungan
secara konvensional berarti menghitung semua kemungkinan yang ada, dan didapat
rute terpendek pada baris yang diberi warna biru. Pada tabel 5.8 tidak semua hasil
pencarian secara konvensional ditampilkan, hanya beberapa data saja termasuk data
rute terpendek yang didapat. Sedangkan pada Gambar 5.13 adalah gambar dari hasil
pencarian rute menggunakan sistem yang dibuat.
Gambar 5. 15 Hasil Pencarian Kedelapan oleh Sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
Gambar 5. 16 Rute yang didapat dalam pencarian Kedelapan
Berdasarkan Tabel 5.8 dan Gambar 5.8 diatas sistem dan penghitungan
konvensional memiliki hasil yang sama.
d. Hasil keempat
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Tujuan 4 Jarak
YOG0215 YOG0207 YOG0210 YOG0205 YOG0211 21500
YOG0215 YOG0207 YOG0210 YOG0211 YOG0205 22600
YOG0215 YOG0207 YOG0211 YOG0205 YOG0210 15300
YOG0215 YOG0207 YOG0211 YOG0210 YOG0205 16100
YOG0215 YOG0210 YOG0205 YOG0207 YOG0211 25200
YOG0215 YOG0210 YOG0205 YOG0211 YOG0207 23600
Tabel 5. 9 Hasil Pencarian Secara Konvensional Kesembilan
Data diatas adalah data yang digunakan untuk pengujian kesembilan dimana
hasil yang didapat merupakan penghitungan secara konvensional. Penghitungan
secara konvensional berarti menghitung semua kemungkinan yang ada. Pada data
diatas baris yang berwarna biru berarti data yang dicari sistem dan data
penghitungan secara konvensional adalah sama. Pada tabel 5.9 tidak semua hasil
pencarian secara konvensional ditampilkan, hanya beberapa data saja termasuk data
rute terpendek yang didapat. Sedangkan pada Gambar 5.15 adalah gambar dari hasil
pencarian rute menggunakan sistem yang dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
Gambar 5. 17 Hasil Pencarian Kesembilan oleh Sistem
Gambar 5. 18 Rute yang didapat dalam pencarian Kesembilan
Berdasarkan pada Tabel 5.9 dan Gambar 5.17 hasil pencarian secara konvensional
dan secara manual adalah sama.
e. Hasil kelima
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Tujuan 4 Jarak
YOG0215 YOG0223 YOG0222 YOG0224 YOG0221 20600
YOG0215 YOG0223 YOG0224 YOG0221 YOG0222 22900
YOG0215 YOG0223 YOG0224 YOG0222 YOG0221 18900
YOG0215 YOG0224 YOG0221 YOG0222 YOG0223 25200
YOG0215 YOG0224 YOG0221 YOG0223 YOG0222 26700
Tabel 5. 10 Hasil Pencarian Secara Konvensional Kesepuluh
Data diatas adalah data yang digunakan untuk pengujian kesepuluh dimana
hasil yang didapat merupakan penghitungan secara konvensional. Penghitungan
secara konvensional berarti menghitung semua kemungkinan yang ada. Pada data
diatas baris yang berwarna biru berarti data yang dicari sistem dan data
penghitungan secara konvensional adalah sama. Pada tabel 5.10 tidak semua hasil
pencarian secara konvensional ditampilkan, hanya beberapa data saja termasuk data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
rute terpendek yang didapat. Sedangkan pada Gambar 5.10 adalah gambar dari hasil
pencarian rute menggunakan sistem yang dibuat.
Gambar 5. 19 Hasil Pencarian Sistem Kesepuluh
Gambar 5. 20 Rute yang didapat pada pencarian kesepuluh
Berdasarkan pada Tabel 5.10 dan Gambar 5.19 hasil pencarian secara konvensional
dan secara manual adalah sama.
5.1.3 Analisa Hasil untuk Pencarian Rute dengan Tujuan 5 Toko
a. Hasil Pertama
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Tujuan 4 Tujuan 5 Jarak
YOG0215 YOG0104 YOG0109 YOG0102 YOG0101 YOG0111 16570
YOG0215 YOG0104 YOG0109 YOG0102 YOG0111 YOG0101 16870
YOG0215 YOG0104 YOG0109 YOG0111 YOG0101 YOG0102 13670
YOG0215 YOG0104 YOG0109 YOG0111 YOG0102 YOG0101 18100
Tabel 5. 11 Hasil Pencarian Konvensional Kesebelas
Data diatas adalah data yang digunakan untuk pengujian kesebelas dimana
hasil yang didapat merupakan penghitungan secara konvensional. Penghitungan
secara konvensional berarti menghitung semua kemungkinan yang ada. Pada data
diatas baris yang berwarna biru berarti data yang dicari sistem dan data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
penghitungan secara konvensional adalah sama. Pada tabel 5.11 tidak semua hasil
pencarian secara konvensional ditampilkan, hanya beberapa data saja termasuk data
rute terpendek yang didapat.
Gambar 5. 21 Hasil Pencarian Kesebelas oleh Sistem
Gambar 5. 22 Rute yang didapat pada pencarian Kesebelas
Berdasarkan pada Tabel 5.11 dan Gambar 5.21 hasil pencarian secara konvensional
dan secara manual adalah sama.
b. Hasil Kedua
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Tujuan 4 Tujuan 5 Jarak
YOG0215 YOG0209 YOG0213 YOG0117 YOG0116 YOG0114 16500
YOG0215 YOG0213 YOG0209 YOG0117 YOG0114 YOG0116 21300
YOG0215 YOG0213 YOG0209 YOG0117 YOG0116 YOG0114 17900
Tabel 5. 12 Hasil pencarian Konvensional Keduabelas
Data diatas adalah data yang digunakan untuk pengujian keduabelas dimana
hasil yang didapat merupakan penghitungan secara konvensional. Penghitungan
secara konvensional berarti menghitung semua kemungkinan yang ada. Pada data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
diatas baris yang berwarna merah adalah data yang didapat secara konvensional,
dan yang berwarna kuning adalah hasil dari sistem. Pada tabel 5.12 tidak semua
hasil pencarian secara konvensional ditampilkan, hanya beberapa data saja
termasuk data rute terpendek yang didapat. Sedangkan pada Gambar 5.23 adalah
gambar dari hasil pencarian rute menggunakan sistem yang dibuat.
Gambar 5. 23 Hasil Pencarian Keduabelas oleh Sistem
Gambar 5. 24 Rute yang didapat pada pencarian Keduabelas
Berdasarkan pada Tabel 5.24 dan Gambar 5.23 hasil pencarian secara konvensional
dan secara manual adalah Tidak sama.
c. Hasil Ketiga
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Tujuan 4 Tujuan 5 Jarak
YOG0215 YOG0216 YOG0201 YOG0207 YOG0301 YOG0205 20050 YOG0215 YOG0216 YOG0201 YOG0207 YOG0205 YOG0301 21050 YOG0215 YOG0216 YOG0205 YOG0301 YOG0201 YOG0207 25850
Tabel 5. 13 Tabel hasil pencarian Konvensional Ketigabelas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
Data diatas adalah data yang digunakan untuk pengujian ketigabelas dimana
hasil yang didapat merupakan penghitungan secara konvensional. Penghitungan
secara konvensional berarti menghitung semua kemungkinan yang ada. Pada data
diatas baris yang berwarna merah adalah data yang didapat secara konvensional,
dan yang berwarna kuning adalah hasil dari sistem. Pada tabel 5.13 tidak semua
hasil pencarian secara konvensional ditampilkan, hanya beberapa data saja
termasuk data rute terpendek yang didapat. Sedangkan pada Gambar 5.25 adalah
gambar dari hasil pencarian rute menggunakan sistem yang dibuat.
Gambar 5. 25 Hasil Pencarian Ketigabelas Oleh Sistem
Gambar 5. 26 Rute yang didapat pada pencarian Ketigabelas
Berdasarkan pada Tabel 5.13 dan Gambar 5.25 hasil pencarian secara konvensional
dan secara manual adalah Tidak sama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
d. Hasil Keempat
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Tujuan 4 Tujuan 5 Jarak
YOG0215 YOG0223 YOG0228 YOG0229 YOG0227 YOG0224 13600
YOG0215 YOG0223 YOG0229 YOG0224 YOG0227 YOG0228 18600
YOG0215 YOG0223 YOG0229 YOG0224 YOG0228 YOG0227 20000
Tabel 5. 14 Tabel hasil pencarian Konvensional Keempatbelas
Data diatas adalah data yang digunakan untuk pengujian kesebelas dimana hasil
yang didapat merupakan penghitungan secara konvensional. Penghitungan secara
konvensional berarti menghitung semua kemungkinan yang ada. Pada data diatas
baris yang berwarna biru berarti data yang dicari sistem dan data penghitungan
secara konvensional adalah sama. Pada tabel 5.11 tidak semua hasil pencarian
secara konvensional ditampilkan, hanya beberapa data saja termasuk data rute
terpendek yang didapat.
Gambar 5. 27 Hasil Pencarian Keempatbelas Oleh Sistem
Gambar 5. 28 Rute yang didapat pada pencarian Keempatbelas
Berdasarkan pada Tabel 5.14 dan Gambar 5.27 hasil pencarian secara konvensional
dan secara manual adalah sama.
e. Hasil Kelima
Gudang Tujuan 1 Tujuan 2 Tujuan 3 Tujuan 4 Tujuan 5 Jarak
YOG0215 YOG0217 YOG0211 YOG0222 YOG0214 YOG0221 23400 YOG0215 YOG0217 YOG0211 YOG0222 YOG0221 YOG0214 27600 YOG0215 YOG0217 YOG0214 YOG0221 YOG0222 YOG0211 28200 YOG0215 YOG0217 YOG0214 YOG0222 YOG0211 YOG0221 24100
Tabel 5. 15 Hasil pencarian Konvensional Kelimabelas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
Data diatas adalah data yang digunakan untuk pengujian kelimabelas dimana
hasil yang didapat merupakan penghitungan secara konvensional. Penghitungan
secara konvensional berarti menghitung semua kemungkinan yang ada. Pada data
diatas baris yang berwarna merah adalah data yang didapat secara konvensional,
dan yang berwarna kuning adalah hasil dari sistem. Pada tabel 5.15 tidak semua
hasil pencarian secara konvensional ditampilkan, hanya beberapa data saja
termasuk data rute terpendek yang didapat. Sedangkan pada Gambar 5.29 adalah
gambar dari hasil pencarian rute menggunakan sistem yang dibuat.
Gambar 5. 29 Hasil Pencarian Kelimabelas oleh Sistem
Gambar 5. 30 Rute yang didapat pada pencarian Kelimabelas
Berdasarkan pada Tabel 5.15 dan Gambar 5.29 hasil pencarian secara konvensional
dan secara manual adalah Tidak sama.
5.2 Analisis Perbandingan Jumlah Semut
5.2.1 Perbandingan Jumlah Semut
Pada bagian ini akan dibandingkan hasil dari sistem jika jumlah semut yang
digunakan adalah 2, 3 dan 5.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
a. Percobaan Pertama
Rute terpendek yang seharusnya didapat adalah seperti berikut ini YOG0215 -
YOG0301 - YOG0207 - YOG0201 - YOG0205 dengan jarak 18850 meter. Dalam
percobaan hasil yang didapat adalah sebagai berikut:
• Semut = 2
Gambar 5. 31 Hasil Percobaan Pertama dengan 2 semut
Pada percobaan pertama dengan jumlah semut 2 didapat hasil yang sama dengan
hasil yang seharusnya didapat, yaitu jarak 18850 meter dan urutan toko yang
dilaluipun sama.
• Semut = 3
Gambar 5. 32 Hasil Percobaan Pertama dengan 3 semut
Pada percobaan pertama dengan jumlah semut 3 didapat hasil yang sama dengan
hasil yang seharusnya didapat, yaitu jarak 18850 meter dan urutan toko yang
dilaluipun sama.
• Semut = 5
Gambar 5. 33 Hasil Percobaan Pertama dengan 5 semut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Pada Percobaan dengan jumlah semut 5 pun mendapat hasil yang sama. Ketiga hasil
mendapat jarak dan tujuan yang sama, jarak yang diperoleh adalah 18850 meter.
b. Percobaan Kedua
Rute terpendek yang seharusnya didapat adalah seperti berikut ini YOG0215 -
YOG0209 – YOG0117 – YOG0216 – YOG0213 dengan jarak 10700 meter. Dalam
percobaan hasil yang didapat adalah sebagai berikut:
• Semut = 2
Gambar 5. 34 Hasil Percobaan Kedua dengan 2 semut
Pada percobaan kedua dengan jumlah semut 2 mendapatkan hasil jarak 11100
meter, sedangkan jarak terpendek adalah 10700 meter.
• Semut = 3
Gambar 5. 35 Hasil Percobaan Kedua dengan 3 semut
Pada percobaan kedua dengan jumlah semut 3 mendapatkan hasil jarak 11100
meter, sedangkan jarak terpendek adalah 10700 meter.
• Semut = 5
Gambar 5. 36 Hasil Percobaan Kedua dengan 5 semut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Pada Percobaan kali ini ketiga hasil mendapat jarak dan tujuan yang sama, jarak
yang diperoleh adalah 11100 meter, walaupun jarak tersebut bukanlah jarak
terpendek.
c. Percobaan Ketiga
Rute terpendek yang seharusnya didapat adalah seperti berikut ini YOG0215 -
YOG0111 – YOG0113 – YOG0114 – YOG0112 dengan jarak 17300 meter. Dalam
percobaan hasil yang didapat adalah sebagai berikut:
• Semut = 2
Gambar 5. 37 Hasil Percobaan Ketiga dengan 2 semut
Pada percobaan ketiga dengan jumlah semut 2 mendapat hasil jarak 17400
sedangkan rute terpendek adalah 17300 meter.
• Semut = 3
Gambar 5. 38 Hasil Percobaan Ketiga dengan 3 semut
Pada percobaan ketiga dengan jumlah semut 3 mendapat hasil jarak 17400
sedangkan rute terpendek adalah 17300 meter.
• Semut = 5
Gambar 5. 39 Hasil Percobaan Ketiga dengan 5 semut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
Pada percobaan dengan jumlah semut 5 mendapatkan hasil jarak 17300 meter,
hasil tersebut merupakan rute dengan jarak terpendek. Sehingga pada percobaan
kali ini ketiga hasil mendapat jarak dan tujuan yang berbeda. Dengan jumlah semut
2 dan 3 mendapat jarak 17400 sedangkan dengan jumlah 5 semut sistem mendapat
jarak terpendek yaitu 17300.
d. Percobaan Keempat
Rute terpendek yang seharusnya didapat adalah seperti berikut ini YOG0215 -
YOG0207 – YOG0211 – YOG0205 – YOG0210 dengan jarak 15300 meter. Dalam
percobaan hasil yang didapat adalah sebagai berikut:
• Semut = 2
Gambar 5. 40 Hasil Percobaan Keempat dengan 2 semut
Pada percobaan keempat dengan jumlah semut 2 mendapat hasil jarak 15300 hasil
tersebut merupakan jarak terpendek. Sehingga pada percobaan kali ini berhasil
mendapat rute terpendek.
• Semut = 3
Gambar 5. 41 Hasil Percobaan Keempat dengan 3 semut
Pada percobaan keempat dengan jumlah semut 3 mendapat hasil jarak 15300 hasil
tersebut merupakan jarak terpendek. Sehingga pada percobaan kali ini berhasil
mendapat rute terpendek.
• Semut = 5
Pada percobaan dengan jumlah semut 3 pun hasilnya sama dengan percobaan
sebelumnya dan mendapat rute terpendek. Berikut adalah hasilnya:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
Gambar 5. 42 Hasil Percobaan Keempat dengan 5 semut
Pada Percobaan kali ini ketiga hasil mendapat jarak dan tujuan yang sama, jarak
yang diperoleh adalah 15300 meter dan hasil tersebut merupakan jarak terpendek.
e. Percobaan Kelima
Rute terpendek yang seharusnya didapat adalah seperti berikut ini YOG0215 -
YOG0223 – YOG0224 – YOG0222 – YOG0221 dengan jarak 18900 meter. Dalam
percobaan hasil yang didapat adalah sebagai berikut:
• Semut = 2
Gambar 5. 43 Hasil Percobaan Kelima dengan 2 semut
Pada percobaan kelima dengan jumlah semut 2 mendapat hasil jarak 21300.
Sehingga pada percobaan kali ini tidak mendapat rute terpendek.
• Semut = 3
Gambar 5. 44 Hasil Percobaan Kelima dengan 3 semut
Pada percobaan kelima dengan jumlah semut 3 mendapat hasil jarak 18900 meter.
Sehingga pada percobaan kali ini sistem berhasil mendapat rute terpendek.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
• Semut = 5
Gambar 5. 45 Hasil Percobaan Kelima dengan 5 semut
Percobaan dengan jumlah semut 5 mendapat hasil yang sama dengan percobaan
dengan semut 3. Sehingga Pada Percobaan kali ini ketiga hasil mendapat jarak dan
tujuan yang berbeda. Dengan jumlah semut 2 sistem mendapat jarak 21300
sedangkan dengan jumlah 3 dan 5 semut sistem mendapat jarak terpendek yaitu
18900.
f. Percobaan Keenam
Rute terpendek yang seharusnya didapat adalah seperti berikut ini YOG0215 -
YOG0104 – YOG0109 – YOG0111 – YOG0101 – YOG0102 dengan jarak 13670 meter.
Dalam percobaan hasil yang didapat adalah sebagai berikut:
• Semut = 2
Gambar 5. 46 Hasil Percobaan Keenam dengan 2 semut
Pada percobaan kelima dengan jumlah semut 2 mendapat hasil jarak 14170.
Sehingga pada percobaan kali ini tidak mendapat rute terpendek.
• Semut = 3
Gambar 5. 47 Hasil Percobaan Keenam dengan 3 semut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
Pada percobaan kelima dengan jumlah semut 3 mendapat hasil jarak 14170.
Sehingga pada percobaan kali ini tidak mendapat rute terpendek.
• Semut = 5
Gambar 5. 48 Hasil Percobaan Keenam dengan 5 semut
Pada percobaan keenam dengan semut 5 berhasil mendapatkan jarak terpendek.
Sehingga pada percobaan kali ini ketiga hasil mendapat jarak dan tujuan yang
berbeda. Dengan jumlah semut 2 dan 3 mendapat jarak 14170 sedangkan dengan
jumlah 5 semut sistem mendapat jarak terpendek yaitu 13670.
5.2.2 Kesimpulan Perbandingan
Pada percobaan perbandingan diatas . Pada pencarian dengan jumlah semut 2
didapat 2 kali percobaan yang mendapat jarak yang terpendek. Sedangkan 4 kali
percobaan lainya tidak mendapatkan hasil rute terpendek. Pada percobaan dengan
jumlah semut 3 didapatkan 3 kali percobaan yang mendapatkan hasil rute
terpendek. Sedangkan 3 percobaan lainnya mendapatkan rute yang pendek namun
bukan yang terpendek. Dan pada percobaan terakhir yang menggunakan 5 semut
didapatkan hasil 5 kali percobaan yang mendapat rute terpendek. Sedangkan 1
percobaan lain tidak mendapat rute terpendek namun dapat dikatakan sebagai rute
yang pendek.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
BAB VI
PENUTUP
6.1 KESIMPULAN
Dari penelitian ini dapat disimpulkan bahwa:
1. Berdasarkan percobaan yang dilakukan pada bagian analisis sistem,
Algoritma semut dapat digunakan dalam membantu pencarian rute
distribusi barang.
2. Dari 15 kali percobaan terdapat 4 percobaan yang tidak menemukan jalur
terpendek, namun jalur yang dihasilkan tetap merupakan jalur yang pendek.
3. Pada percobaan perbandingan jumlah semut, dari 6 kali percobaan didapat
bahwa dengan jumlah 6 semut sistem berhasil mendapatkan 5 kali
percobaan dengan rute terpendek. Sedangkan dengan 3 semut mendapatkan
4 rute terpendek dan 2 semut mendapat 3 rute terpendek.
4. Berdasarkan Percobaan perbandingan jumlah semut, semakin banyak
jumlah semut yang digunakan maka akan semakin besar peluang ntuk
mendapatkan rute terpendek.
5. Hasil dari sistem berhasil memenuhi syarat sesuai dengan aturan yang
dibuat pada bagian analisis dan perancangan sistem.
6.2 SARAN
1 Terapkan Sistem kedalam bentuk web.
2 Optimalkan variabel – variabel yang ada agar peluang sistem dalam
mendapat rute terpendek semakin besar.
3 Uji coba memuat sistem dengan menggunakan algoritma heuristik lainnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
DAFTAR PUSTAKA
ILWANDRI, S.Pd. 2012, Makalah Biofisika Algotitma Semut, Universitas Negri
Padang
Kusumadewi, S, Penyelesaian masalah Optimalisasi dengan teknik – teknik
Heuristik, Graha Ilmu, 2003
Kusumadewi, S., Artificial Intelligence (Teknik dan Aplikasinya), Yogyakarta:
Graha Ilmu, 2003
Wiranta, Roy (2015), Pendjadwalan Matakuliah Menggunakan Algoritma Semut,
Skripsi USD
Lusia, Gratiana (2015), Aplikasi Pencarian Rute Terpendek Menggunakan
Algoritma Semut, Skripsi USD
Wong, Edwin, 2011, Ant Colony Optimization
I’ing Muthakiroh dkk, 2007 PENCARIAN JALUR TERPENDEK
MENGGUNAKAN ALGORITMA SEMUT, Universitas Islam Indonesia
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
LAMPIRAN
Contoh data jarak antar toko
Kode Rute
Kode Toko Awal
Kode Tujuan
Jarak Rute
1 YOG0101 YOG0101
0
2 YOG0101 YOG0102
3800 Jl.Malioboro - Jl.Panembahan Senopati - Jl.Brigadir Jendral Katamso - Jl.Parangtritis
3 YOG0101 YOG0104
2900 Jl.Sosrowijayan - Jl.Pasar Kembang - Jl.Abu Bakar Ali - Jl.Suroto - Jl.Jendral Sudirman
4 YOG0101 YOG0109
2900 Jl.Sosrowijayan - Jl.Pasar Kembang - Jl.Abu Bakar Ali - Jl.Ahmad jazuli - Jl.Jendral Sudirman
5 YOG0101 YOG0111
270 Jl.Sosrowijayan
6 YOG0101 YOG0112
4600 Jl.Malioboro - Jl.Suryatmajan - Jl.Bausasran - Jl.Gayam - Jl.Kenari - Jl.Ipda Tut Harsono - Jl.Timoho
7 YOG0101 YOG0113
3500 Jl.Malioboro - Jl.Suryatmajan - Jl.Mayor Suryotomo - Jl.Sultan Agung - Jl.Taman Siswa
8 YOG0101 YOG0114
4300 Jl.Malioboro - Jl.Suryatmajan - Jl.Bausasran - Jl.Gayam - Jl.Cendana - Jl.Kusumanegara
9 YOG0101 YOG0116
1900 Jl.Sosrowijayan - Jl.Gandekan - Jl.Pasar Kembang - Jl.Abu Bakar Ali
10 YOG0101 YOG0117
3800 Jl.Sosrowijayan - Jl.Gandekan - Jl.Jlagaran Lor - Jl.Tentara Pelajar -Jl. Magelang - Jl.Monginsidi - Jl.AM Sangaji
11 YOG0101 YOG0209
5100 Jl.Sosrowijayan - Jl.Gandekan - Jl.Jlagaran Lor - Jl.Tentara Pelajar -Jl. Magelang
12 YOG0101 YOG0213
8000 Jl.Sosrowijayan - Jl.Gandekan - Jl.Jlagaran Lor - Jl.Tentara Pelajar - Jl.Magelang - Jl.Ring Road Utara
13 YOG0101 YOG0215
6600 Jl.Sosrowijayan - Jl.Gandekan - Jl.Jlagaran Lor - Jl.Tentara Pelajar - Jl.Magelang
14 YOG0101 YOG0216
7100 Jl.Sosrowijayan - Jl.Gandekan - Jl.Jlagaran Lor - Jl.Tentara Pelajar - Jl.Magelang - Jl.Monginsidi - Jl.A.M Sangaji - Jl.Monjali - Jl.Palagan Tentara Pelajar
15 YOG0101 YOG0301
2900 Jl.Sosrowijayan - Jl.Kemetiran - Jl.Pringgokusuman - Jl.Letjen Suprapto - Jl.Pembela Tanah Air - Jl.HOS Cokroaminoto - Jl.Kyai Mojo - Jl.Godean
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
16 YOG0101 YOG0201
5700 Jl.Sosrowijayan - Jl.Gandekan - Jl.Pasar Kembang - Jl.Abu Bakar Ali - Jl.Suroto - Jl.Cik Di Tiro - Jl.Terban - Jl.Persatuan - Jl.Kaliurang
17 YOG0101 YOG0205
7900 Jl.Malioboro - Jl.Suryatmajan - Jl.Mas Suharto - Jl.Krasak Timur - Jl.Kusibini - Jl.Langensari - Jl.Munggur - Jl.Laksda adisucipto - Jl.Babarsari
18 YOG0101 YOG0207
5000 Jl.Sosrowijayan - Jl.Gandekan - Jl.Pasar Kembang - Jl.Abu Bakar Ali - Jl.Suroto - Jl.Cik Di Tiro - Jl.Terban - Jl.Persatuan - Jl.Kaliurang
19 YOG0101 YOG0210
8900 Jl.Malioboro - Jl.Suryatmajan - Jl.Mas Suharto - Jl.Krasak Timur - Jl.Kusibini - Jl.Langensari - Jl.Munggur - Jl.Laksda adisucipto
20 YOG0101 YOG0211
5100 Jl.Malioboro - Jl.Suryatmajan - Jl.Mas Suharto - Jl.Krasak Timur - Jl.Kusibini - Jl.Langensari - Jl.Munggur - Jl.Laksda adisucipto - Jl.Demangan Baru
21 YOG0101 YOG0214
8700 Jl.Malioboro - Jl.Suryatmajan - Jl.Mas Suharto - Jl.Krasak Timur - Jl.Kusibini - Jl.Langensari - Jl.Munggur - Jl.Laksda adisucipto - Jl.Raya Seturan
22 YOG0101 YOG0217
8400 Jl.Sosrowijayan - Jl.Gandekan - Jl.Pasar Kembang - Jl.Abu Bakar Ali - Jl.Suroto - Jl.Cik Di Tiro - Jl.Terban - Jl.Persatuan - Jl.Kaliurang
23 YOG0101 YOG0221
9900 Jl.Malioboro - Jl.Suryatmajan - Jl.Mas Suharto - Jl.Krasak Timur - Jl.Kusibini - Jl.Langensari - Jl.Munggur - Jl.Laksda adisucipto - Jl.Raya Solo
24 YOG0101 YOG0222
6500 Jl.Malioboro - Jl.Suryatmajan - Jl.Mas Suharto - Jl.Tukangan - Jl.Krasak Timur - Jl.Kusbini - Jl.Langensari - Jl.Munggur - Jl.Laksda Adisucipto - Jl.Nologaten
25 YOG0101 YOG0223
7500 Jl.Malioboro - Jl.Suryatmajan - Jl.Mas Suharto - Jl.Tukangan - Jl.Krasak Timur - Jl.Kusbini - Jl.Langensari - Jl.Munggur - Jl.Affandi - Jl.Anggajaya
26 YOG0101 YOG0224
10100
Jl.Sosrowijayan - Jl.Gandekan - Jl.Pasar Kembang - Jl.Abu Bakar Ali - Jl.Suroto - Jl.Cik Di Tiro - Jl.Terban - Jl.Persatuan - Jl.Kaliurang - Jl.RingRoad Utara - Jl.Raya Candi Gebang
27 YOG0101 YOG0227
7700 Jl.Malioboro - Jl.Suryatmajan - Jl.Mas Suharto - Jl.Tukangan - Jl.Krasak Timur - Jl.Kusbini - Jl.Langensari - Jl.Munggur - Jl.Laksda Adisucipto - Jl.Raya Kledokan - Jl.Seturan Raya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
Narasi Usecase
Nama Use Case Cetak Hasil
Aktor Admin
Diskripsi Pengguna Mencetak Hasil
Prakondisi Sistem telah menyimpan Hasil dan menampilkan field hasil
dari pencarian rute
Langkah Aksi Aktor Reaksi Sistem
Kerja Langkah 1:
Admin memilih tombol
cetak pada field hasil dari
pencarian rute
Langkah 3:
Admin memilih perintah
print file
Langkah 2:
Menampilkan file yang akan
dicetak
Langkah 4:
Sistem akan mencetak file
Alternate Langkah 2:
Muncul pesan eror jika terjadi
kesalahan
Langkah 4:
Muncul pesan eror jika terjadi
kesalahan
Tabel 3. 10 Narasi Cetak Hasil
Nama Use Case Ubah Data
Aktor Admin
Diskripsi Pengguna mengubah data Toko yang sudah ada
Prakondisi Sistem sudah dibukan dan dalam menu Home
Langkah Aksi Aktor Reaksi Sistem
Kerja Langkah 1:
Admin memilih tombol
Lihat Data
Langkah 3:
Langkah 2:
Sistem menampilkan menu
Lihat Data.
Langkah 4:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
Admin memilih tombol ubah
data pada menu Lihat Data
Langkah 5:
Admin memilih toko yang
akan di ubah
Langkah 7:
Admin mengubah data roko
lama sesuai dengan
kebutuhan
Langkah 8:
Admin menekan tombol
Perbarui
Langkah 11:
Admin memasukan data
Jarak dan Rute sesuai
dengan toko dan koordinat
yang ditampilkan sistem
Langkah 12:
Admin menekan tombol
Perbarui
Langkah 15:
Admin mengubah data rute
hingga sistem berhasil
seluruh data rute yang
terhubung dengan data toko
yang diubah
Sistem menampilkan menu
untuk mengubah data
Langkah 6:
Sistem akan menampilkan
data dari toko yang akan di
ubah
Langkah 9:
Menampilkan pesan data toko
berhasil di ubah
Langkah 10:
Sistem meminta admin untuk
mengubah data Rute dan
menampilkan data toko
beserta koordinatnya
Langkah 13:
Sistem mengubah data rute
dalam database
Langkah 14:
Sistem akan meminta admin
untuk mengubah seluruh data
rute yang terhubung dengan
data toko yang diubah
Langkah 16:
Sistem akan menampilkan
pesan seluruh rute berhasil
diubah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
Langkah 17:
Sistem mengubah data toko
dalam database
Alternate Langkah 9:
Menampilkan pesan eror jika
terdapat kesalahan.
Tabel 3. 11 Narasi Ubah Data
Nama Use Case Tambah Data
Aktor Admin
Diskripsi Pengguna menambahkan data Toko
Prakondisi Sistem sudah dibukan dan dalam menu Home
Langkah Aksi Aktor Reaksi Sistem
Kerja Langkah 1:
Admin memilih tombol
Lihat Data
Langkah 3:
Admin memilih tombol
Tambah data pada menu
Lihat Data
Langkah 5:
Admin memasukan data
toko yang baru
Langkah 6:
Admin menekan tombol
tambah data
Langkah 9:
Admin memasukan data rute
antar toko lama dan toko
yang baru saja ditambahkan
Langkah 10:
Langkah 2:
Sistem menampilkan menu
Lihat Data.
Langkah 4:
Sistem menampilkan menu
untuk menambah data
Langkah 7:
Sistem Menambahkan data
toko baru kedalam database
Langkah 8:
Menampilkan Pesan data
berhasil disimpan dan
meminta untuk
menambahkan data rute
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
Admin menekan tombol
Tambah
Langkah 12:
Admin memasukan data
Jarak dan Rute sesuai
dengan toko dan koordinat
yang ditampilkan sistem
Langkah 13:
Admin menekan tombol
Tambah
Langkah 11:
Sistem meminta admin untuk
menambahkan data rute dari
seluruh toko yang sudah ada
menuju ke toko yan baru
ditambah, begitupun
sebaliknya
Langkah 14:
Sistem menyimpan data rute
kedalam database
Langkah 15:
Sistem menampilkan pesan
data berhasil ditambah
Alternate Langkah 8:
Menampilkan pesan eror jika
terdapat kesalahan.
Tabel 3. 12 Narasi Tambah Data
Nama Use Case Hapus Data Toko
Aktor Admin
Diskripsi Pengguna Menghapus Data Toko
Prakondisi Sistem sudah dibukan dan dalam menu Home
Langkah Aksi Aktor Reaksi Sistem
Kerja Langkah 1:
Admin memilih tombol
Lihat data pada menu Home
Langkah 3:
Admin memilih tombol
Hapus data
Langkah 2:
Menampilkan menu Lihat
data
Langkah 4:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
Langkah 5:
Admin memilih data yang
akan dihapus
Langkah 7:
Admin menekan tombol
Hapus
Langkah 9:
Admin memilih Yes
Sistem akan menampilkan
menu Hapus Data
Langkah 6:
Sistem menampilkan data
yang akan dihapus
Langkah 8:
Sistem menampilkan Pesan
untuk memastikan apakah
akan menghapus Data
Langkah 10:
Sistem menghapus data toko
pada databese
Langkah 11:
Sistem menampilkan pesan
data berhasil dihapus.
Alternate Langkah 8:
Admin memilih NO
Langkah 9:
Sistem membatalkan
penghapusan data
Langkah 10:
Sistem tidak menampilkan
data dari toko yang tidak jadi
dihapus pada menu hapus.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
Diagram Aktivitas
a. Cetak Hasil
Menampilkan file yang akan dicetak
Sistem akan mencetak file
Admin memilih tombol cetak pada
pesan
Admin memilih perintah print file
Mulai
Selesai
b. Hapus Data Toko
Admin memilih tombol Lihat DataSistem menampilkan menu Lihat
Data.
Admin memilih tombol Hapus dataSistem akan menampilkan menu
Hapus Data
Admin memilih data yang akan
dihapus
Sistem menampilkan data yang
akan dihapus
Admin menekan tombol Hapus
Selesai
Mulai
Sistem menghapus data toko pada
databese
Sistem menampilkan Pesan untuk
memastikan apakah akan
menghapus Data
Admin memilih Yes
Sistem menampilkan pesan data
berhasil dihapus.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
c. Ubah Data Toko
Admin memilih tombol Lihat DataSistem menampilkan menu Lihat
Data.
Admin memilih tombol ubah data
pada menu Lihat Data
Sistem menampilkan menu untuk
mengubah data
Admin memilih toko yang akan di
ubah
Sistem akan menampilkan data dari
toko yang akan di ubah
Admin mengubah data roko lama
sesuai dengan kebutuhan
Admin menekan tombol PerbaruiMenampilkan pesan data toko
berhasil di ubah
Sistem meminta admin untuk
mengubah data Rute dan
menampilkan data toko beserta
koordinatnya
Admin memasukan data Jarak dan
Rute sesuai dengan toko dan
koordinat yang ditampilkan sistem
Admin menekan tombol PerbaruiSistem mengubah data rute dalam
database
Sistem akan meminta admin untuk
mengubah seluruh data rute yang
terhubung dengan data toko yang
diubah
Admin mengubah data rute hingga
sistem berhasil seluruh data rute
yang terhubung dengan data toko
yang diubah
Sistem akan menampilkan pesan
seluruh rute berhasil diubah
Sistem akan menampilkan pesan
seluruh rute berhasil diubah
Selesai
Mulai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
d. Tambah Data Toko
Admin memilih tombol Lihat DataSistem menampilkan menu Lihat
Data.
Admin memilih tombol Tambah
data pada menu Lihat Data
Sistem menampilkan menu untuk
menambah data
Admin memilih toko yang akan di
ubah
Sistem akan menampilkan data dari
toko yang akan di ubah
Admin memasukan data toko yang
baru
Admin menekan tombol tambah
data
Sistem Menambahkan data toko
baru kedalam database
Menampilkan Pesan data berhasil
disimpan dan meminta untuk
menambahkan data rute
Admin memasukan data rute antar
toko lama dan toko yang baru saja
ditambahkan
Admin menekan tombol Tambah
Sistem meminta admin untuk
menambahkan data rute dari
seluruh toko yang sudah ada
menuju ke toko yan baru ditambah,
begitupun sebaliknya
Admin memasukan data Jarak dan
Rute sesuai dengan toko dan
koordinat yang ditampilkan sistem
Sistem menyimpan data rute
kedalam database
Selesai
Mulai
Admin menekan tombol Tambah
Sistem menampilkan pesan data
berhasil ditambah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI