• Tidak ada hasil yang ditemukan

Pencarian rute distribusi barang menggunakan algoritma semut (studi kasus PT.Circleka Indonesia Utama Region Yogyakarta)

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pencarian rute distribusi barang menggunakan algoritma semut (studi kasus PT.Circleka Indonesia Utama Region Yogyakarta)"

Copied!
106
0
0

Teks penuh

(1)

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

(2)

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

(3)

iii

(4)

iv

(5)

v

(6)

vi

(7)

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.

(8)

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.

(9)

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

(10)
(11)

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

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

(12)

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

(13)

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

(14)

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. 9 Tampilan Tambahan Data... 33

Gambar 3. 10 Tampilan Tambahan Data... 34

Gambar 3. 11 Tampilan Hapus Data ... 35

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

(15)

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

(16)

xvi

Tabel 3. 4 Inisialisasi Parameter... 24

Tabel 3. 5 Ringkasan Usecase ... 27

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

(17)

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

(18)

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

(19)

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.

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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.

(27)

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

∑� ΔƮ

− (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) Gambar 2. 2 Rumus Intensitas Jejak

Gambar 2. 3 Rumus Penguapan Jejak

Gambar 2. 4 Rumus mencari jejak yang ditinggalkan

(28)

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:

(29)

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

(30)

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

Kota A – Kota C = [Ʈ t ] [� ] = ( . . ( . . = 0.001

Kota A – Kota D = [Ʈ t ] [� ] = ( . . ( . . = 0.0025

Kota A – Kota E = [Ʈ t ] [� ] = ( . . ( . . = 0.002

Menghitung ∑[Ʈ t ] [� ] :

(31)

[Ʈ 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.0025

Kota D – Kota B = [Ʈ t ] [� ] = ( . . ( . . = 0.00091

Kota D – Kota C = [Ʈ t ] [� ] = ( . . ( . . = 0.0025

Kota D – Kota E = [Ʈ t ] [� ] = ( . . ( . . = 0.001667

Menghitung ∑[Ʈ t ] [� ] = 0.0025 + 0.00091 + 0.0025 + 0.001667

=0.007577

(32)

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

Kota C – Kota B = [Ʈ t ] [� ] = ( . . ( . . = 0.00167

Kota C – Kota D = [Ʈ t ] [� ] = ( . . ( . . = 0.0025

Kota C – Kota E = [Ʈ t ] [� ] = ( . . ( . . = 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 ] [� ]

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

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

(40)

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

(41)

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:

(42)

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:

(43)

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

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

(44)

Langkah 3:

Admin memilih toko - toko yang akan dicari rutenya

Menampilkan pesan eror jika

terdapat kesalahan.

(45)

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 Rute

Sisem 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

(46)

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

(47)

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

(48)

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.

(49)

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

(50)

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

(51)
(52)

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.

(53)

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

(54)

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 ] [� ] ; � � � ; � ∉ �

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){

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 ++){

(55)

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

(56)

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++) {

(57)

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;

simpanTitik[tabu[r]] +" melewati : "+rute[r]);

(58)

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;

(59)

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

(60)

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);

(61)

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; }

(62)

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;

(63)

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 "

(64)

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();

Gambar

Tabel 2.  3 Tabel intensitas jejak semut awal
Tabel 2.  5 probabilitas
Tabel 2.  6 Probabilitas (2)
Tabel 2.  7 Probabilitas (3)
+7

Referensi

Dokumen terkait

Dapat dilihat bahwa di setiap saat, grafik amplitudo sel[1,1] pada simulasi tanpa anomali (warna merah) selalu lebih tinggi daripada grafik simulasi dengan anomali.

Pertunjukan Nini Thowong merupakan salah satu kesenian yang ada di Desa Panjangrejo Kecamatan Pundong Kabupaten Bantul.Pada awalnya warga sekitar mempunyai keyakinan bahwa

Semakin meneguhkan bahwa memang misi baru Rumah Ceria ini adalah rencana dan proyek besar TUHAN untuk Yayasan Sungai Kasih di masa yang akan datang.. Sampai Desember 2017 ini,

47 Desa Sukamantri Kecamatan Paseh 74 TBM Putra Indonesia Eva Noersyarifah Kampung Rajadesa RT 06/ 05 Desa Cipaku Kecamatan Paseh 75 TBM Nurhasanah Ina Winarni, S.Pdi Kampung Sadang

disampaikan oleh Arifin (2005) bahwa surplus beras nasional hanya terjadi pada bulan Februari-Mei sedangkan delapan bulan lainnya harus dipenuhi oleh beras impor, mengingat

Puji dan syukur kami ucapkan kepada Tuhan Yang Maha Esa karena berkat rahmat dan karunia-Nya, penulis dapat menyelesaikan skripsi yang berjudul “Analisis dan Perancangan

Maka dilakukan penelitian terhadap daerah rawan kecelakaan lalu lintas untuk menghasilkan status daerah rawan kecelakaan yang berasal dari rekaman data kecelakaan lalu

Kavitasi akan terjadi bila tekanan statis suatu aliran zat cair turun di bawah tekanan uap jenuhnya, sehingga untuk mencegah kavitasi harus diusahakan agar tidak ada satu bagianpun