127
PENERAPAN ALGORITMA ANT COLONY OPTIMIZATION DALAM MENYELESAIKAN TRAVELING SALESMAN PROBLEM (Studi Kasus: PT Wahana Prestasi Logistik) Skripsi Oleh: Trivaldi Rahardja 1111091000038 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2018 M / 1438 H

(Studi Kasus: PT Wahana Prestasi Logistik)

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: (Studi Kasus: PT Wahana Prestasi Logistik)

PENERAPAN ALGORITMA ANT COLONY OPTIMIZATION DALAM

MENYELESAIKAN TRAVELING SALESMAN PROBLEM

(Studi Kasus: PT Wahana Prestasi Logistik)

Skripsi

Oleh:

Trivaldi Rahardja

1111091000038

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2018 M / 1438 H

Page 2: (Studi Kasus: PT Wahana Prestasi Logistik)

ii

PENERAPAN ALGORITMA ANT COLONY OPTIMIZATION DALAM

MENYELESAIKAN TRAVELING SALESMAN PROBLEM

(Studi Kasus: PT Wahana Prestasi Logistik)

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh :

Trivaldi Rahardja

1111091000038

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2018 M / 1438 H

Page 3: (Studi Kasus: PT Wahana Prestasi Logistik)

iii

Page 4: (Studi Kasus: PT Wahana Prestasi Logistik)

iv

Page 5: (Studi Kasus: PT Wahana Prestasi Logistik)

v

Page 6: (Studi Kasus: PT Wahana Prestasi Logistik)

vi

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI

UNTUK KEPENTINGAN AKADEMIS

Sebagai civitas akademik UIN Syarif Hidaytaullah Jakarta, saya yang bertanda

tangan di bawah ini:

Nama : Trivaldi Rahardja

NPM : 1111091000038

Program Studi : Teknik Informatika

Fakultas : Sains Dan Teknologi

Jenis Karya : Skripsi

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada

Universitas Islam Negeri Syarif Hidayatullah Jakarta Hak Bebas Royalti

Noneksklusif (Non-exclusive Royalty Free Right) atas karya ilmiah yang berjudul:

PENERAPAN ALGORITMA ANT COLONY OPTIMIZATION

DALAM MENYELESAIKAN TRAVELING SALESMAN PROBLEM

(STUDI KASUS: PT WAHANA PRESTASI LOGISTIK)

Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non

Eksklusif ini Universitas Islam Negeri Syarif Hidayatullah Jakarta berhak

menyimpan, mengalih media/formatkan, mengelola dalam bentuk pangkalan data

(database), merawat, dan mempublikasikan tugas akhir saya selama tetap

mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di : Jakarta

Pada tanggal : 25 Juni 2018

Yang menyatakan

(Trivaldi Rahardja)

Page 7: (Studi Kasus: PT Wahana Prestasi Logistik)

vii

KATA PENGANTAR

Assalamu’alaikum Wr. Wb.

Segala puji dan syukur penulis panjatkan kehadirat Allah SWT atas segala

karunia, rahmat, kekuatan dan segala petunjuk serta kemudahan sehingga penulis

dapat menyelesaikan penulisan skripsi ini dengan sebaik-baiknya. Shalawat serta

salam tak lupa penulis haturkan kepada junjungan kita Nabi besar Muhammad SAW,

para sahabat, keluarga serta muslimin dan muslimat, semoga kita mendapatkan

syafa’at-Nya di akhirat kelak Amiin.

Skripsi ini berjudul “Penerapan Algoritma Ant Colony Optimization Dalam

Menyelesaikan Traveling Salesman Problem (Studi Kasus: PT Wahana Prestasi

Logistik)”, yang disusun untuk memenuhi salah satu syarat dalam menyelesaikan

program S1 pada Program Studi Teknik Informatika di Universitas Islam Negeri

Syarif Hidayatullah Jakarta.

Penulis menyadari bahwa skripsi ini tidak dapat terselesaikan tanpa bantuan

dari pihak lain. Oleh karena itu, izinkanlah penulis mengucapkan “terimakasih”

kepada semua pihak yang telah membantu dalam penulisan skripsi ini, terutama

kepada:

1. Kedua Orang Tua Penulis yang tidak henti-hentinya selalu memberikan

semangat dan dukungan baik dalam bentuk do’a, materi serta kasih sayang

yang melimpah.

2. Bapak DR. Agus Salim, M.Si, selaku Dekan Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta.

3. Ibu Arini, ST. MT. Selaku Ketua Program Studi Teknik Informatika, dan

Bapak Feri Fahrianto, M.Sc. selaku Sekretaris Program Studi Teknik

Informatika, Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.

4. Bapak Hendra Bayu Suseno, M.Kom, dan Bapak Andrew Fiade, M.Kom,

selaku Dosen Pembimbing yang telah memberikan banyak nasihat, saran, dan

bimbingan yang bermanfaat kepada penulis selama penyusunan skripsi ini.

Page 8: (Studi Kasus: PT Wahana Prestasi Logistik)

viii

5. Seluruh Dosen di Program Studi Teknik Informatika UIN Syarif Hidayatullah

Jakarta yang telah memberikan ilmu, pengalaman, bantuan, dan kerjasama

yang sangat berharga bagi penulis.

6. Bapak Novel Zulham selaku General Marketing Operasional PT Wahana

Prestasi Logistik yang selalu membimbing penulis dalam melakukan

penelitian di kantor perusahaan.

7. Seluruh sahabat sahabati PMII Komisariat Fakultas Sains dan Teknologi

yang penulis cintai, dan Faiz Nur Faiqoh yang selalu memberikan semangat

dan support selama ini untuk mengerjakan skripsi.

8. Seluruh teman-teman Program Studi Teknik Informatika Fakultas Sains dan

Teknologi UIN Syarif Hidayatullah.

9. Semua pihak yang secara langsung maupun tidak langsung membantu penulis

dalam menyelesaikan skripsi ini.

Semoga kebaikan dan bantuan yang sudah diberikan kepada penulis kiranya

dicatat sebagai amal baik oleh Allah SWT. Penulis menyadari bahwa skripsi ini jauh

dari kata sempurna, oleh karena itu penulis sangat mengharapkan kritik dan saran

yang bersifat membangun dari pembaca ke alamat email

[email protected].

Akhir kata, semoga skripsi ini dapat memberi manfaat bagi semua. Amiin

Amiin ya Robbal ‘alamiin.

Wassalamu’alaikum Wr. Wb.

Jakarta, 25 Juni 2018

Penulis

Trivaldi Rahardja

1111091000038

Page 9: (Studi Kasus: PT Wahana Prestasi Logistik)

ix

TSP, Algoritma ACO, Rute Terpendek, Metode Heuristic,

RAD, Blackbox Testing.

Penerapan Algoritma Ant Colony Optimization Dalam

Menyelesaikan Traveling Salesman Problem (Studi Kasus: PT

Wahana Prestasi Logistik)

Penulis : Trivaldi Rahardja

Program Studi : Teknik Informatika

Judul :

ABSTRAK

Traveling Salesman Problem (TSP) adalah permasalahan yang dihadapi oleh

seorang salesman yang berangkat dari kota asalnya, berusaha menemukan rute

paling pendek ke semua kota pelanggan, lalu kembali ke kota asal, dengan syarat

semua kota hanya dikunjungi satu kali (Hardianto, 2013). TSP dapat diselesaikan

dengan metode heuristik yang menggunakan perhitungan kecerdasan buatan dalam

melakukan pencarian dan optimasi, salah satu contohnya adalah algoritma Ant

Colony Optimization (ACO) (Ridwan, Karima, 2015). Permasalahan TSP sering

dijumpai pada perusahaan ekspedisi termasuk PT Wahana Prestasi Logistik.

Berdasarkan hasil kuesioner terhadap 12 kurir yang beroperasi di wilayah Kecamatan

Ciputat pada perusahan tersebut, didapat 10 atau 83,3% responden mengalami

kesulitan dalam menentukan rute terpendek. Menurut Bapak Novel Zulham selaku

General Manager Operasional perusahaan, solusi dari permasalahan tersebut ialah

dengan membuat aplikasi yang dapat menemukan rute terpendek pada perjalanan

pengiriman paket kurir. Dalam mengembangkan aplikasi ini, peneliti menggunakan

metode Rapid Application Development (RAD), dan pengujiannya menggunakan

Blackbox Testing. Hasil dari aplikasi ini ialah mampu mencari rute pengiriman

dengan jarak terpendek dari 34 lokasi berbeda berbasis android dengan

menggunakan algoritma ACO.

Kata Kunci :

Page 10: (Studi Kasus: PT Wahana Prestasi Logistik)

x

DAFTAR ISI

HALAMAN PERSETUJUAN .................................................................................... iii

PERNYATAAN ORISINALITAS ............................................................................. iv

HALAMAN PENGESAHAN ..................................................................................... v

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI ................... v

KATA PENGANTAR ............................................................................................... vii

ABSTRAK .................................................................................................................. ix

DAFTAR ISI ................................................................................................................ x

DAFTAR GAMBAR ................................................................................................. xv

DAFTAR TABEL .................................................................................................... xvii

BAB 1 PENDAHULUAN ........................................................................................... 1

1.1. Latar Belakang Masalah ................................................................................ 1

1.2. Rumusan Masalah ......................................................................................... 3

1.3. Batasan Masalah ............................................................................................ 3

1.3.1. Metode ................................................................................................... 3

1.3.2. Tools ....................................................................................................... 4

1.3.3. Proses ..................................................................................................... 4

2.1. Tujuan Penelitian ........................................................................................... 4

2.2. Manfaat Penelitian ......................................................................................... 4

2.2.1. Bagi Peneliti ........................................................................................... 4

2.2.2. Bagi Universitas ..................................................................................... 5

2.2.3. Bagi Pengguna ....................................................................................... 5

2.3. Metodologi Penelitian ................................................................................... 5

Page 11: (Studi Kasus: PT Wahana Prestasi Logistik)

xi

2.3.1. Metode Pengumpulan Data .................................................................... 5

2.3.2. Metode Pengembangan Sistem .............................................................. 6

2.3.3. Metode Pengujian .................................................................................. 6

2.4. Sistematika Penulisan .................................................................................... 6

BAB II TINJAUAN PUSTAKA & LANDASAN TEORI .......................................... 8

2.1. Traveling Salesman Problem (TSP) .............................................................. 8

2.1.1. Definisi TSP ........................................................................................... 8

2.1.2. Metode Konvensional ............................................................................ 9

2.1.3. Metode Heuristik ................................................................................... 9

2.2. Ant Colony Optimization (ACO) ................................................................. 10

2.2.1. Definisi ACO ........................................................................................ 10

2.2.2. Langkah-langkah kerja algoritma ACO ............................................... 11

2.2.3. Pseudo Code Algoritma ACO .............................................................. 14

2.3. Graf .............................................................................................................. 14

2.3.1. Definisi Graf ........................................................................................ 14

2.3.2. Graf Hamilton ...................................................................................... 15

2.4. Android ........................................................................................................ 16

2.4.1. Definisi Android .................................................................................. 16

2.4.2. Fitur Android ....................................................................................... 18

2.5. Java .............................................................................................................. 23

2.5.1. Pengertian Java .................................................................................... 23

2.5.2. Karakteristik Java ................................................................................. 23

2.6. Google Map ................................................................................................. 24

2.7. Android Studio ............................................................................................ 25

2.8. JSON ........................................................................................................... 26

Page 12: (Studi Kasus: PT Wahana Prestasi Logistik)

xii

2.9. SQLite ......................................................................................................... 26

2.10. Application Program Interface (API) ...................................................... 27

2.11. Rapid Application Development (RAD) .................................................. 28

2.12. Flowchart ................................................................................................. 30

2.12.1. Definisi Flowchart ........................................................................... 30

2.12.2. Kelebihan Flowchart ........................................................................ 30

2.12.3. Kekurangan Flowchart ..................................................................... 31

2.12.4. Simbol-simbol Flowchart ................................................................ 31

2.13. Metode Pengumpulan Data...................................................................... 32

2.13.1. Pengertian Metode Pengumpulan Data ............................................ 32

2.13.2. Studi Pustaka .................................................................................... 32

2.13.3. Wawancara ....................................................................................... 32

2.13.4. Kuesioner ......................................................................................... 34

2.14. Pengujian Perangkat Lunak ..................................................................... 36

2.14.1. Definisi Pengujian ............................................................................ 36

2.14.2. Sasaran-saran Pengujian ................................................................... 36

2.14.3. Blackbox Testing .............................................................................. 37

2.15. Studi Literatur Sejenis ............................................................................. 38

BAB III METODOLOGI PENELITIAN .................................................................. 41

3.1. Metode Pengumpulan Data ......................................................................... 41

3.1.1. Studi Pustaka ........................................................................................ 41

3.1.2. Studi Lapangan .................................................................................... 41

3.2. Metode Pengembangan Sistem ................................................................... 43

3.2.1. Tahap Perencanaan Syarat ................................................................... 43

3.2.2. Tahap Workshop Desain ...................................................................... 43

Page 13: (Studi Kasus: PT Wahana Prestasi Logistik)

xiii

3.2.3. Tahap Implementasi ............................................................................. 44

3.3. Kerangka Berpikir Penelitian ...................................................................... 45

BAB IV ANALISIS, PERANCANGAN, IMPLEMENTASI DAN PENGUJIAN

SISTEM ..................................................................................................................... 46

4.1. Tahap Pengumpulan Data ........................................................................... 46

4.1.1. Studi Pustaka ........................................................................................ 46

4.1.2. Studi Lapangan .................................................................................... 46

4.2. Tahap Perencanaan Syarat........................................................................... 52

4.2.1. Analisis Masalah .................................................................................. 52

4.2.2. Penyelesaian Masalah .......................................................................... 52

4.2.3. Analisis Kebutuhan .............................................................................. 52

4.2.4. Analisis Fitur ........................................................................................ 53

4.2.5. Analisis Algoritma ACO ...................................................................... 54

4.3. Tahap Workshop Desain ............................................................................. 62

4.3.1. Desain Sistem dan Proses .................................................................... 63

4.3.2. Perancangan Basisdata ......................................................................... 64

4.3.3. Perancangan User Interface ................................................................. 67

4.3.4. Pengkodean .......................................................................................... 70

4.4. Tahap Implementasi .................................................................................... 80

4.4.1. Blackbox Testing .................................................................................. 80

BAB V HASIL DAN PEMBAHASAN .................................................................... 83

5.1. Hasil ............................................................................................................ 83

5.1.1. Hasil Tampilan Aplikasi ...................................................................... 83

5.1.2. Hasil Proses Algoritma ACO dengan 34 Lokasi .................................. 86

5.2. Pembahasan ................................................................................................. 91

Page 14: (Studi Kasus: PT Wahana Prestasi Logistik)

xiv

5.2.1. Perangkat Pengembangan Sistem ........................................................ 91

5.2.2. Penetapan Parameter Algortima ACO.................................................. 91

5.2.3. Perbandingan Algoritma ACO Dengan Metode Konvensional ........... 93

BAB VI PENUTUP ................................................................................................... 97

6.1. Kesimpulan .................................................................................................. 97

6.2. Saran ............................................................................................................ 97

DAFTAR PUSTAKA ................................................................................................ 99

LAMPIRAN ............................................................................................................. 101

Page 15: (Studi Kasus: PT Wahana Prestasi Logistik)

xv

DAFTAR GAMBAR

Gambar 1.1 Hasil Kuesioner Pertanyaan 4 .................................................................. 3

Gambar 2.1 Ilustrasi Masalah TSP ............................................................................... 9

Gambar 2. 2 (a) Semut melewati setiap jalur dengan probabilitas sama, (b)Seiring

berjalannya waktu, rute terpendek akan lebih menguatkan, (c), Semua semut

melewati rute terpendek. ............................................................................................ 11

Gambar 2. 3 Contoh Graf ........................................................................................... 15

Gambar 2.4 (a) Graf tak-berarah semi-Hamilton, (b) Graf tak-berarah Hamilton, (c)

Graf berarah semi-Hamilton, (d) Graf berarah Hamilton .......................................... 16

Gambar 2. 5 Logo Android ........................................................................................ 18

Gambar 2. 6 Layar notifikasi Android yang diakses dengan menggeser layar (swipe)

dari bagian atas layar.................................................................................................. 20

Gambar 2. 7 Google Play Android............................................................................. 22

Gambar 2. 8 Google Map ........................................................................................... 25

Gambar 2. 9 Model RAD ........................................................................................... 29

Gambar 3.1 Kerangka Berfikir Penelitian.................................................................. 45

Gambar 4.1 Flowchart Algoritma ACO ..................................................................... 55

Gambar 4.2 Desain Sistem dan Proses....................................................................... 63

Gambar 4.3 User Interface Halaman Login ............................................................... 67

Gambar 4.4 User Interface Halaman Register ........................................................... 67

Gambar 4. 5 User Interface Halaman Menu Utama .................................................. 68

Gambar 4. 6 User interface Halaman Lihat Surat Jalan ............................................ 68

Gambar 4. 7 User Interface Halaman Rute Pengiriman Berbentuk List ................... 69

Gambar 4. 8 User Interface Halaman Rute Pengiriman Berbentuk Maps ................ 69

Gambar 5. 1 Hasil Tampilan Halaman Login ............................................................ 83

Gambar 5. 2 Hasil Tampilan Halaman Register ........................................................ 84

Gambar 5. 3 Hasil Tampilan Halaman Menu Utama................................................. 84

Gambar 5. 4 Hasil Tampilan Halaman Lihat Surat Jalan .......................................... 85

Gambar 5. 5 Hasil Tampilan Halaman Rute Pengiriman Berbentuik List ................. 85

Page 16: (Studi Kasus: PT Wahana Prestasi Logistik)

xvi

Gambar 5. 6 Hasil Tampilan Halaman Rute Pengiriman Berbentuk Maps ............... 86

Gambar 5.7 Rute Terpendek 10 Lokasi ..................................................................... 96

Page 17: (Studi Kasus: PT Wahana Prestasi Logistik)

xvii

DAFTAR TABEL

Tabel 2.5 Simbol-simbol Pada Flowchart (Sumber: Kadir, 2013) ............................ 31

Tabel 2.6 Studi Literatur Sejenis ............................................................................... 39

Tabel 4.1 Pertanyaan Kuesioner ................................................................................ 47

Tabel 4.2 Hasil Kuesioner Pertanyaan 1 .................................................................... 48

Tabel 4.3 Hasil Kuesioner Pertanyaan 2 .................................................................... 49

Tabel 4.4 Hasil Kuesioner Pertanyaan 3 .................................................................... 50

Tabel 4.5 Hasil Kuesioner Pertanyaan 4 .................................................................... 50

Tabel 4.6 Hasil Kuesioner Pertanyaan 5 .................................................................... 51

Tabel 4.7 Hasil Kuesioner Pertanyaan 6 .................................................................... 51

Tabel 4.8 Analisis Fitur .............................................................................................. 53

Tabel 4.9 Lokasi Alamat Pengiriman ........................................................................ 56

Tabel 4.10 Jarak Antar-Lokasi /edge ......................................................................... 57

Tabel 4. 11 Banyak Semut Pada Satu Lokasi ............................................................ 58

Tabel 4.12 Rute Kunjungan Setiap Semut Beserta Total Jaraknya ........................... 59

Tabel 4.13 Intensitas pheromone Pada Setiap edge Antar-Lokasi............................. 61

Tabel 4.20 Basisdata Surat Jalan ............................................................................... 65

Tabel 4.21 Basisdata Item .......................................................................................... 65

Tabel 4.22 Basisdata Best Rute .................................................................................. 66

Tabel 4.23 Pengujian Aplikasi ................................................................................... 80

Tabel 5. 1 Hasil Tampilan Aplikasi ........................................................................... 83

Tabel 5. 2 Alamat 34 Lokasi Beserta Koordinat ........................................................ 86

Tabel 5. 3 Lintasan Rute Pengiriman Terpendek Dengan 34 Lokasi ........................ 91

Tabel 5.4 Hasil Uji Coba Parameter α dan β ............................................................. 92

Tabel 5.5 Hasil Uji Coba Parameter ants, α dan β ..................................................... 93

Tabel 5.6 Besaran Parameter yang Digunakan Dalam Proses Algoritma ACO ......... 93

Tabel 5. 7 Perbandingan Algoritma ACO Dengan Metode Konvensional ................ 95

Page 18: (Studi Kasus: PT Wahana Prestasi Logistik)

1

BAB 1

PENDAHULUAN

1.1. Latar Belakang Masalah

Traveling Salesman Problem (TSP) adalah permasalahan yang dihadapi oleh

seorang salesman yang berangkat dari kota asalnya, berusaha menemukan rute

paling pendek yang dapat ditempuh ke semua kota pelanggan dan kemudian kembali

ke kota asal, dengan syarat semua kota pelanggan hanya boleh dikunjungi satu kali

dalam tiap tournya (Hardianto, 2013).

TSP dapat diselesaikan dengan metode heuristik yang menggunakan

perhitungan kecerdasan buatan dalam melakukan pencarian dan optimasi, salah satu

contohnya adalah algoritma semut atau Ant Colony Optimization (ACO). Dari

berberapa algoritma yang telah dikembangkan untuk menyelesaikan persoalan jalur

terpendek, penulis memilih algoritma semut dikarenakan memiliki keunikan

tersendiri, yaitu terinspirasi dari tingkah laku semut di dunia nyata saat proses

pencarian sumber makanan dari sarangnya (Ridwan, Karima, 2015).

Salah satu bidang yang sering menghadapi permasalahan TSP ialah

perusahaan pengiriman barang. Menurut Johar (2016), perusahaan jasa pengiriman

barang adalah perusahaan yang bergerak dibidang layanan pengiriman barang. Salah

satu perusahaan ekspedisi yang menawarkan jasa pengiriman barang kepada

konsumen akhir ialah PT Wahana Prestasi Logistik.

Berdasarkan hasil wawancara yang telah penulis lakukan dengan bapak

Novel Zulham selaku General Manager PT Wahana Prestasi Logistik yang telah

penulis lakukan pada tanggal 22 November 2017, beliau menyatakan bahwa kurir

belum memiliki suatu rumus untuk menemukan rute terpendek saat melakukan

pengirimanan paket ke setiap alamat yang dituju. Hal ini tentu saja dapat merugikan

baik perusahaan maupun kurir tersebut. Kerugiannya ialah waktu yang ditempuh

menjadi lebih lama, tenaga yang dikerahkan lebih banyak, dan biaya dikeluarkan

lebih besar.

Page 19: (Studi Kasus: PT Wahana Prestasi Logistik)

2

Selain wawancara, penulis juga mengumpulkan data melalui kuesioner yang

disebarkan kepada kurir PT Wahana Prestasi Logistik yang telah penulis lakukan

pada tanggal 22 November 2017, dengan metode proporsional sampling. Dari hasil

kuesioner yang telah dilakukan terhadap 12 responden, sebanyak 9 orang atau 75%

responden mengalami kesulitan dalam menentukan rute yang paling optimal dalam

melakukan pengiriman paket.

Bapak Novel Zulham mengungkapkan bahwa permasalahan tersebut dapat

diatasi dengan adanya aplikasi yang dapat menentukan rute perjalanan kurir ke setiap

lokasi pengiriman yang dituju dengan jarak paling pendek. Hal itu serupa dengan

hasil kuesioner yang menyatakan bahwa 11 orang atau 91,7% responden tertarik

dengan adanya sistem yang dapat mencari rute pengiriman paket yang paling optimal

atau terpendek ke setiap lokasi yang dituju.

Berdasarkan kuesioner yang telah penulis lakukan terkait dengan sistem

operasi yang digunakan oleh kurir PT Wahana Prestasi Logitsik, hasilnya

menyatakan bahwa 8 orang atau 66,7% responden menggunakan android, 3 orang

atau 25% responden menggunakan Blackberry, dan 1 orang atau 8,3% responden

menggunakan Symbian. Adapun hasil kuesioner tersebut dapat dilihat pada gambar

sebagai berikut:

Page 20: (Studi Kasus: PT Wahana Prestasi Logistik)

3

Gambar 1.1 Hasil Kuesioner Pertanyaan 4

Berdasarkan permasalahan diatas, penulis memutuskan untuk melakukan

penelitian dengan menggunakan judul “Penerapan Algoritma Ant Colony

Optimization Dalam Menyelesaikan Traveling Salesman Problem (Studi Kasus:

PT Wahana Prestasi Logistik)”.

1.2. Rumusan Masalah

Sesuai dengan latar belakang diatas, penulis telah merumuskan masalah

dalam penelitian ini, yaitu Bagaimana menerapkan algoritma ACO dalam

menyelesaikan TSP?

1.3. Batasan Masalah

Agar tidak menyimpang dari rumusan masalah, maka penulis membatasi

masalah dalam penelitian ini, yaitu sebagai berikut:

1.3.1. Metode

1. Metode pengumpulan data yang digunakan adalah studi literatur

sejenis, studi pustaka, kuesioner, dan wawancara.

66.70%8.30%

25%

Sistem Operasi

Android

BlackBerry

Symbian

Page 21: (Studi Kasus: PT Wahana Prestasi Logistik)

4

2. Metode pengembangan sistem menggunakan RAD (Rapid Application

Development), dengan 3 tahap yaitu perencanaan syarat, workshop

desain dan implementasi.

3. Metode pengujian sistem menggunakan blackbox testing.

1.3.2. Tools

1. Aplikasi ini dibangun menggunakan bahasa pemograman Java

Android, basisdata menggunakan SQLite, serta tools development

menggunakan Android Studio.

2. Aplikasi ini dapat berjalan pada smartphone dengan sistem operasi

Android minimal Jelly Bean (versi 4.1).

3. Aplikasi ini menggunakan PT Wahana Prestasi Logstik API untuk

menyimpan data secara online.

4. Aplikasi ini menggunakan Google Maps API untuk mencari koordinat

(longitude, langitude) suatu alamat, dan untuk menggambar peta pada

halaman rute pengiriman.

1.3.3. Proses

1. Algoritma yang digunakan untuk melakukan pencarian rute terpendek

ialah ACO (Ant Colony Optimization).

2. Pengguna (user) aplikasi ini ialah kurir PT Wahana Prestasi Logistik

yang beoperasi di wilayah kecamatan Ciputat.

2.1. Tujuan Penelitian

Tujuan pada penelitian ini yaitu menerapkan algoritma Ant Colony

Optimization (ACO) dalam menyelesaikan Traveling Salesman Problem (TSP).

2.2. Manfaat Penelitian

Sesuai dengan permasalahan dan tujuan penelitian yang telah disebutkan di

atas, maka manfaat penelitian yang dapat dirumuskan adalah sebagai berikut:

2.2.1. Bagi Peneliti

1. Menerapkan ilmu yang telah didapat selama kuliah.

Page 22: (Studi Kasus: PT Wahana Prestasi Logistik)

5

2. Untuk memenuhi salah satu syarat dalam menempuh gelar Strata Satu

(S1) program studi Teknik Informatika Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta.

2.2.2. Bagi Universitas

1. Sebagai bahan referensi yang dapat digunakan untuk penelitian

selanjutnya.

2. Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya dan

sebagai bahan evaluasi.

2.2.3. Bagi Pengguna

1. Memudahkan pengguna dalam menemukan rute terpendek

pengiriman barang.

2. Memudahkan pengguna dalam mencari lokasi yang dituju.

2.3. Metodologi Penelitian

Metodologi penelitian yang digunakan dan diterapkan dalam penulisan tugas

akhir ini meliputi:

2.3.1. Metode Pengumpulan Data

Untuk mendapatkan data-data serta informasi yang diperlukan dalam

perancangan aplikasi, peneliti menggunakan dua metode pengumpulan data,

yaitu :

1. Studi Pustaka

Penulis melakukan studi pustaka terkait dengan hal-hal yang

bekaitan dengan penelitian ini. Studi pustaka dilakukan dengan

berbagai literatur sejenis, membaca buku-buku referensi, jurnal

ilmiah, dan situs internet yang dibutuhkan dalam penelitian.

2. Studi Lapangan

Penulis melakukan studi lapangan dengan metode wawancara

dan kuesioner. Wawancara dilakukan kepada Bapak Novel Zulham

selaku General Manager Operasional PT Wahana Prestasi Logistik,

Page 23: (Studi Kasus: PT Wahana Prestasi Logistik)

6

lalu kuesioner diajukan kepada kurir PT Wahana Prestasi Logistik

yang beroperasi di wilayah kecamatan ciputat selaku pengguna akhir

aplikasi ini.

2.3.2. Metode Pengembangan Sistem

Metode Pengembangan sistem yang penulis gunakan adalah Rapid

Application Development (RAD) dengan tahap sebagai berikut:

1. Perencanaan syarat (Requirements planning).

2. Workshop desain (Workshop design).

3. Implementasi (Implementation).

2.3.3. Metode Pengujian

Pada penelitian ini penulis untuk melakukan pengujian jalannya

sistem menggunakan pengujian blackbox testing.

2.4. Sistematika Penulisan

Dalam penyusunan skripsi ini, penulis membagi pembahasan kedalam enam

bab pokok pembahasan yang secara singkat dijelaskan sebagai berikut:

BAB I PENDAHULUAN

Pada bab ini diuraikan mengenai latar belakang, rumusan

masalah, batasan masalah, tujuan penelitian, manfaat

penelitian, metode penelitian dan sistematika penulisan.

BAB II TINJAUAN PUSTAKA & LANDASAN TEORI

Pada bab ini diuraikan mengenai beberapa teori yang

digunakan guna mendukung penelitian ini.

BAB III METODOLOGI PENELITIAN

Page 24: (Studi Kasus: PT Wahana Prestasi Logistik)

7

Pada bab ini diuraikan mengenai metode pengumpulan data,

metode pengembangan sistem dan kerangka berpikir

penelitian.

BAB IV ANALISIS, PERANCANGAN, IMPLEMENTASI DAN

PENGUJIAN SISTEM

Pada bab ini berisi analisis mengenai kebutuhan sistem,

implementasi, dan hasil pengujianya.

BAB V HASIL DAN PEMBAHASAN

Pada bab ini diuraikan mengenai hasil dan pembahasan yang

didapat dari penelitian yang dilakukan penulis.

BAB VI PENUTUP

Pada bab ini diuraikan mengenai kesimpulan penelitian dan

saran yang dapat digunakan untuk pengembangan penelitian

selanjutnya.

Page 25: (Studi Kasus: PT Wahana Prestasi Logistik)

8 Uin Syarif Hidayatullah Jakarta

BAB II

TINJAUAN PUSTAKA & LANDASAN TEORI

2.1. Traveling Salesman Problem (TSP)

2.1.1. Definisi TSP

Travelling Salesman Problem (TSP) adalah permasalahan yang dihadapi oleh

seorang salesman yang berangkat dari kota asalnya, berusaha menemukan rute

paling pendek ke semua kota pelanggan, lalu kembali ke kota asal, dengan syarat

semua kota hanya dikunjungi satu kali (Hardianto, 2013).

Setiap perjalanan tersebut, dapat dipresentasikan kedalam sebuah graf G =

(V, E) dimana setiap tujuan, termasuk asalnya, merupakan sebuah verteks, dan jika

ada rute yang menghubungkan dua tujuan berbeda, maka batas antar kedua simpul

tersebut disebut dengan edge. Permasalahan TSP dapat terpecahkan jika ada rute

terpendek yang mengunjungi masing-masing tujuan hanya satu kali hingga kembali

ke asal (Hal ini disebut dengan lintasan Hamiltonian dan akan dijelaskan pada bab

2.3.2).

Meskipun kita semua bukanlah seorang penjual keliling, masalah ini menarik

minat bagi mereka yang ingin mengoptimalkan rute, baik dengan

mempertimbangkan jarak, biaya, maupun waktu. Jika seseorang memiliki empat

orang di mobil mereka untuk mengantar mereka masing-masing rumah, kemudian

secara otomatis mencoba memikirkan jarak terpendek yang mungkin. Dalam hal ini,

jarak diminimalkan. Jika seseorang bepergian ke berbagai bagian kota menggunakan

sistem transportasi umum, maka meminimalkan jarak mungkin bukan tujuan, tetapi

meminimalkan biaya (Brucato, 2013).

Menurut Joshi (2017), penjelasan mengenai TSP berawal dari masalah yang

dihadapi banyak orang. Contohnya sangat sederhana: seorang pedagang keliling

harus melakukan perjalanan ke setiap kota di suatu daerah, mengunjungi setiap kota

Page 26: (Studi Kasus: PT Wahana Prestasi Logistik)

9

Uin Syarif Hidayatullah Jakarta

hanya sekali, lalu berkahir di kota yang sama dimana dia memulai perjalanannya.

Berikut merupakan ilustrasi TSP:

Gambar 2.1 Ilustrasi Masalah TSP (Sumber: Joshi, 2017)

Menurut Hardianto (2013) Secara umum, penyelesaian masalah pencarian

jalur terpendek dapat dilakukan dengan menggunakan dua metode, yaitu metode

konvensiomal diterapkan dengan perhitungan matematis biasa, sedangkan metode

heuristik diterapkan dengan menentukan basis pengetahuan dan perhitungannya.

2.1.2. Metode Konvensional

Metode konvensional adalah metode yang menggunakan perhitungan

matematis biasa. Ada berberapa metode konvensional yang biasa digunakan untuk

melakukan pencarian jalur terpendek, diantaranya: algoritma djikstraa, algoritma

Floyd-Warshall, algoritma Greedy dan algoritma Bellman-Ford (Hardianto, 2013).

2.1.3. Metode Heuristik

Metode Heuristik adalah sub bidang dari kecerdasan buatan yang digunakan

untuk melakukan pencarian dan optimasi. Ada berberapa algoritma pada metode

heurisik yang biasa digunakan dalam permasalahan optimasi, diantaranya algoritma

genetika, algoritma koloni semut, logika fuzzy, jaringan syaraf tiruan, dan lain-lain

(Hardianto, 2013). Algoritma yang akan dibahas dalam penelitian ini adalah

algoritma heuristik dengan metode Ant Colony System (ACO).

Page 27: (Studi Kasus: PT Wahana Prestasi Logistik)

10

Uin Syarif Hidayatullah Jakarta

2.2. Ant Colony Optimization (ACO)

2.2.1. Definisi ACO

Metaheuristik adalah generasi baru dari algoritma heuristik. Metode ini telah

dikembangkan secara luas dan digunakan untuk meningkatkan kompleksitas masalah

kombinatorial. Salah satu dari banyak algoritma metaheuristik adalah ACO yang

mengingatkan pada perilaku semut dalam menemukan rute terpendek dari sarang

semut ke sumber makanan. Algoritma ACO awalnya dikembangkan oleh Dorigo

pada tahun 1996 untuk memecahkan persoalan TSP dengan mempertimbangkan

pedagang keliling sebagai semut buatan (Ramadhani, Hertono, Handari, 2016).

Di dunia nyata, semut memilih jalur ke sumber makanan secara acak.

Pergerakan semut juga dipengaruhi oleh intensitas jejak kaki semut atau feromon

yang terkandung pada jalur yang akan dilewati. Untuk menyelesaikan TSP

menggunakan algoritma ACO, seorang pedagang keliling diwakili oleh semut buatan

yang akan melakukan perjalanan sampai kembali ke titik asal. Proses pencarian

solusi TSP dengan menggunakan algoritma ACO terdiri dari tiga proses utama:

inisialisasi parameter, probabilitas transisi, dan pembaruan feromon (Ramadhani,

Hertono, Handari, 2016).

Menurut Ali, Kar (2018), sebuah fenomena luar biasa yang diamati di alam

adalah jejak yang hampir sempurna diikuti oleh semut saat mencari makan.

Sementara semut buta, antrian yang mereka bentuk dipatuhi oleh semua semut di

dalam gerombolan hampir sempurna. Para ilmuwan menemukan bahwa semut dapat

mencapai prestasi ini dengan memanfaatkan zat kimia yang disebut feromon yang

disekresikan semut ini. Gambar 2.2 menggambarkan fenomena semut mencari

makanan. Semut pemimpin pertama-tama mengeksplorasi semua jalur yang tersedia

ke sumber makanan, yang melibatkan probabilitas yang sama yang ditugaskan untuk

semua jalur awalnya. Semut pengikut mengendus feromon yang disekresikan oleh

semut di depan mereka dan mengikuti jejak. Karena semut membutuhkan waktu

lebih lama untuk melintasi jarak yang lebih jauh, semut yang lebih sedikit dapat

melintasi waktu unit yang lebih panjang. Oleh karena itu, jejak di jalur yang lebih

panjang dimulai menyusut seiring berjalannya waktu, karena tingkat deposisi

Page 28: (Studi Kasus: PT Wahana Prestasi Logistik)

11

Uin Syarif Hidayatullah Jakarta

feromon lebih rendah. Hal Ini menyiratkan dua hal. Satu, semut mulai terakumulasi

pada jalur yang lebih pendek (lebih menguntungkan). Dua, jalur yang lebih panjang

(kurang menguntungkan) mengakibatkan semut lebih menjadi sedikit dengan seiring

berjalannya waktu, hingga tidak ada semut lagi yang mengunjungi jalan ini.

Berdasarkan fenomena di atas, ACO cukup baik untuk memecahkan berbagai

masalah seperti memilih rute yang efisien untuk kendaraan, jadwal kegiatan lantai,

mengatur hidroelektrik Generasi, analisis pengelompokan, penjadwalan kursus,

optimalisasi waktu sinyal lalu lintas dan manajemen aset perkerasan.

Gambar 2. 2 (a) Semut melewati setiap jalur dengan probabilitas sama, (b)Seiring berjalannya waktu,

rute terpendek akan lebih menguatkan, (c), Semua semut melewati rute terpendek. (Sumber: Ali, Kar,

2018)

2.2.2. Langkah-langkah kerja algoritma ACO

Menurut Ramadhani, Hertono, Handari (2016), dalam algoritma semut

diperlukan berberapa variabel dan langkah-langkah untuk menentukan jalur

terpendek, yaitu:

2.2.2.1. Inisialisasi Parameter

Proses pencarian solusi TSP dimulai dengan inisialisasi parameter

yang di-inisialisasi ialah sebagai berikut:

• Intensitas pheromone antar kota dan perubahaannya τ𝑖𝑗

• Banyak kota (n) termasuk x dan y (koordinat) atau 𝑑𝑖𝑗

• Tetapan siklus semut (Q)

• Tetapan pengendali intensitas pheromone (α)

• Tetapan pengendali visibilitas (invers dari jarak) (β)

• Visibilitas antar kota (ƞ𝑖𝑗)

Page 29: (Studi Kasus: PT Wahana Prestasi Logistik)

12

Uin Syarif Hidayatullah Jakarta

• Jumlah semut (m)

• Tetapan penguapan jejak semut atau Pheromone (p)

Setelah inisialisasi τ𝑖𝑗 dilakukan, kemudian m semut ditempatkan

pada kota pertama yang ditentukan secara acak sebagai titik awal.

2.2.2.2. Penyusunan Kunjungan Setiap Semut ke Setiap Kota.

Koloni semut yang sudah terdistribusi ke kota pertama akan mulai

melakukan perjalanan dari kota pertama sebagai kota asal dan salah satu kota-

kota lainnya sebagai kota tujuan. Kemudian dari kota kedua, masing-masing

koloni semut akan melanjutkan perjalanan dengan memilih salah satu dari

kota-kota yang tidak terdapat pada 𝑡𝑎𝑏𝑢𝒌 sebagai kota tujuan selanjutnya.

Perjalan koloni semut berlangsung hingga melewati semua kota yang

tersedia. Jika ѕ menyatakan indek urutan kunjungan, kota asal dinyatakan

sebagai 𝑡𝑎𝑏𝑢𝒌(𝑠) dan kota-kota lainnya dinyatakan sebagai {N-𝑡𝑎𝑏𝑢𝒌},

maka untuk menentukan kota selanjutnya digunakan persamaan probabilitas

kota transisi sebagai berikut,

𝑃𝑖𝑗𝑘 =

[τ𝑖𝑗]𝛼

. [ƞ𝑖𝑗]𝛽

∑[τ𝑖𝑘]𝛼 . [ƞ𝑖𝑘]𝛽

Dimana 𝑃𝑖𝑗𝑘 merupakan probabilitas dari semut k pada tiitk i untuk

menuju ke titik j. τ𝑖𝑗 adalah jumlah Pheromone yang terdapat pada edge

antara titik i dan titik j. ƞ𝑖𝑗 adalah visibilitas dari titik i menuju titik j dengan

rumus 1

𝑑𝑖𝑗 , dimana 𝑑𝑖𝑗 = √(x𝑖 − x𝑗)

2+ (y𝑖 − 𝑦𝑗)

2 dengan syarat apabila

jarak dari titik i menuju titik j belum didefinisikan sebelumnya. α adalah

sebuah parameter yang mengontrol bobot relatif dari Pheromone dan β adalah

parameter pengendali jarak dengan aturan α > 0 dan β > 0.

2.2.2.3. Perolehan Harga Setalah Kunjungan

1. Perolehan panjang jalur setiap semut.

Page 30: (Studi Kasus: PT Wahana Prestasi Logistik)

13

Uin Syarif Hidayatullah Jakarta

Perhitungan panjang jalur tertutup atau L𝑘 setiap semut dilakukan

setelah satu siklus diselesaikan oleh semua semut. Disebut jalur tertutup

dikarenakan titik awal dan titik akhir perjalanan ialah sama. Perhitungan

dilakukan berdasarkan 𝑡𝑎𝑏𝑢𝑘 masing-masing.

2. Perolehan jalur terpendek

Setelah L𝑘 setiap semut dihitung, akan diperoleh harga minimal

panjang jalur tertutup setiap siklus atau L𝑚𝑖𝑛𝑁𝐶 dan harga minimal

panjang jalur tertutup secara keseluruhan atau L𝑚𝑖𝑛 .

3. Perhitungan perubahan harga intensitas jejak kaki semut antar kota.

Koloni semut akan meninggalkan jejak-jejak kaki pada rute antar kota

yang dilaluinya. Adanya penguapan dan perbedaan jumlah semut yang

lewat, menyebabkan kemungkinan terjadinya perubahan harga intensitas

jejak kaki semut antar kota. Persamaan perubahannya adalah:

𝛥Ʈ𝑖𝑗 = ∑ 𝛥

𝑚

𝑘=1

Ʈ𝑖𝑗𝑘

Dengan 𝛥 Ʈ𝑖𝑗𝑘 adalah perubahan harga intensitas pheromone antar kota

setiap semut yang dihitung berdasarkan perrsamaan:

𝛥 Ʈ𝑖𝑗𝑘 =

𝑄

L𝑘

untuk (i,j) ϵ kota asal dan kota tujuan dalam 𝑡𝑎𝑏𝑢𝑘

2.2.2.4. Perubahan nilai Pheromone.

Harga intensitas jejak kaki semut antar kota pada semua rute antar

kota ada kemungkinan berubah karena adanya penguapan dan perbedaan

jumlah semut yang melewati. Untuk siklus selanjutnya, semut yang akan

melewati rute tersebut harga intensitasnya telah berubah. Harga intensitas

jejak kaki semut antar kota untuk siklus selanjutnya dihitung dengan

persamaan:

Ʈ𝑖𝑗 = ƿ . Ʈ𝑖𝑗 + 𝛥Ʈ𝑖𝑗

Page 31: (Studi Kasus: PT Wahana Prestasi Logistik)

14

Uin Syarif Hidayatullah Jakarta

2.2.3. Pseudo Code Algoritma ACO

Menurut Ramadhani, Hertono, Handari (2016), berikut merupakan

pseudo code algoritma ACO dalam menyelesaikan permasalahan TSP:

inisialisasi kota, koordinat, kota sebagai depot, parameter ACO dan TSP

menyusun rute kunjungan setiap semut ke setiap depot

while proses belum memenuhi kriteria pemberhentian, lakukan

for setiap depot, lakukan

for setiap pedagang keliling pada depot, lakukan

proses probabilitas transisi hingga kembali ke depot

end for

end for

hitung total jarak perjalanan pedagang keliling

for setiap sisi, lakukan

ubah nilai Pheromone

end for

end while

return rute terpendek yang ditemukan

2.3. Graf

2.3.1. Definisi Graf

Menurut Perdana (2018), Secara sederhana graf didefinisikan sebagai

kumpulan titik yang dihubungkan oleh garis. Secara matematis, graf adalah pasangan

himpunan (V, E) dimana V adalah himpunan tak kosong yang memiliki elemen

disebut simpul (vertice) dan E adalah kumpulan dari dua elemen subsets V yang

disebut busur (edges).

Simpul direpresentasikan dengan titik dan busur yang hubungkan oleh garis.

Gambar berikut merupakan contoh graf (V, E) dimana:

V = {A,B,C,D,E,F,G,H,I}, dan

Page 32: (Studi Kasus: PT Wahana Prestasi Logistik)

15

Uin Syarif Hidayatullah Jakarta

E = {{A,B}, {A,C}, {B,D}, {C,D}, {C,E}, {E,F}, {E,G}, {H,I}}.

Gambar 2. 3 Contoh Graf (Sumber: Perdana, 2018)

Sebuah busur selalu memiliki dua endpoint, misalnya busur {H,I} memiliki

endpoint H dan I. Graf biasanya digunakan untuk memodelkan objek-objek diskrit

dan hubungan antar objek-objek tersebut.

2.3.2. Graf Hamilton

Lintasan dan Sirkuit Hamilton Pada graf G = (V, E), lintasan Hamilton

(Hamiltonian path) merupakan suatu lintasan sederhana yang melewati semua

simpul di G tepat satu kali. Sedangkan dalam graf G = (V, E) sirkuit Hamilton

(Hamiltonian circuit) merupakan suatu sirkuit sederhana yang melewati semua

simpul di G tepat satu kali. Graf yang mempunyai lintasan Hamilton dinamakan

dengan graf semi-Hamilton (semiHamiltonian graph), sedangkan graf yang

mempunyai sirkuit Hamilton disebut dengan graf Hamilton (Hamiltonian graph).

Contoh lintasan hamilton dapat diamati pada graf tak-berarah Gambar 3.6(a)

dan graf berararah Gambar 3.6(c). Salah satu lintasan Hamilton pada graf tak-berarah

Gambar 3.6(a) adalah: A-B-C-E-D. Sedangkan salah satu lintasan Hamilton pada

graf berarah Gambar 3.6(c) adalah: A-B-D-C.

Contoh sirkuit hamilton dapat diamati pada graf tak-berarah Gambar 3.6(b)

dan graf berararah Gambar 3.6(d). Salah satu sirkuit Hamilton pada graf tak-berarah

Gambar 3.6(b) adalah: A-B-D-C-A. Sedangkan salah satu sirkuit Hamilton pada graf

berarah Gambar 3.6(d) adalah: A-B-C-D-A

Page 33: (Studi Kasus: PT Wahana Prestasi Logistik)

16

Uin Syarif Hidayatullah Jakarta

Gambar 2.4 (a) Graf tak-berarah semi-Hamilton, (b) Graf tak-berarah Hamilton, (c) Graf berarah

semi-Hamilton, (d) Graf berarah Hamilton (Sumber: Perdana, 2018)

Hingga saat ini belum ada teorema yang menyatakan syarat perlu dan syarat

cukup yang sederhana untuk menentukan suatu graf memiliki lintasan/ sirkuit

Hamilton. Akan tetapi, terdapat beberapa teorema umum tentang keberadaan

lintasan/ sirkuit Hamilton dengan menggunakan beberapa syarat cukup (bukan syarat

perlu), yaitu:

• Teorema Dirac. Jika G adalah graf sederhana dengan n buah simpul (n≥3)

sedemikian sehingga derajat setiap simpul paling sedikit n/2 (yaitu, d(v) ≥ n/2

untuk setiap simpul v di G), maka G adalah graf Hamilton.

• Teorema Ore. Jika G adalah graf sederhana dengan n buah simpul (n≥3)

sedemikian sehingga d(v) + d(u) ≥ n untuk setiap pasang simpul tidak

bertetangga u dan v, maka G adalah graf Hamilton.

• Setiap graf lengkap adalah graf Hamilton.

• Di dalam graf lengkap G dengan n buah simpul (n≥3) terdapat sebanyak (n-

1)!/2 sirkuit Hamilton.

• Di dalam graf lengkap G dengan n buah simpul (n≥3 dan n gasal), terdapat

(n-1)/2 sirkuit Hamilton yang saling lepas (tidak ada sisi yang beririsan). Jika

n genap dan n≥4, maka di dalam G terdapat (n-2)/2 sirkuit Hamilton yang

saling lepas.

2.4. Android

2.4.1. Definisi Android

Menurut Wikipedia (2018), Android adalah sistem operasi berbasis Linux

yang dirancang untuk perangkat bergerak layar sentuh seperti telepon pintar dan

Page 34: (Studi Kasus: PT Wahana Prestasi Logistik)

17

Uin Syarif Hidayatullah Jakarta

komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan

dukungan finansial dari Google, yang kemudian membelinya pada tahun 2005.

Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan

didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaan

perangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk

memajukan standar terbuka perangkat seluler. Ponsel Android pertama mulai dijual

pada bulan Oktober 2008.

Antarmuka pengguna Android umumnya berupa manipulasi langsung,

menggunakan gerakan sentuh yang serupa dengan tindakan nyata, misalnya

menggeser, mengetuk, dan mencubit untuk memanipulasi objek di layar, serta papan

ketik virtual untuk menulis teks. Selain perangkat layar sentuh, Google juga telah

mengembangkan Android TV untuk televisi, Android Auto untuk mobil, dan

Android Wear untuk jam tangan, masing-masingnya memiliki antarmuka pengguna

yang berbeda. Varian Android juga digunakan pada komputer jinjing, konsol

permainan, kamera digital, dan peralatan elektronik lainnya.

Android adalah sistem operasi dengan sumber terbuka, dan Google merilis

kodenya di bawah Lisensi Apache. Kode dengan sumber terbuka dan lisensi

perizinan pada Android memungkinkan perangkat lunak untuk dimodifikasi secara

bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel, dan

pengembang aplikasi. Selain itu, Android memiliki sejumlah besar komunitas

pengembang aplikasi (apps) yang memperluas fungsionalitas perangkat, umumnya

ditulis dalam versi kustomisasi bahasa pemrograman Java. Pada bulan Oktober 2013,

ada lebih dari satu juta aplikasi yang tersedia untuk Android, dan sekitar 50 miliar

aplikasi telah diunduh dari Google Play, toko aplikasi utama Android. Sebuah survei

pada bulan April-Mei 2013 menemukan bahwa Android adalah platform paling

populer bagi para pengembang, digunakan oleh 71% pengembang aplikasi bergerak.

Di Google I/O 2014, Google melaporkan terdapat lebih dari satu miliar pengguna

aktif bulanan Android, meningkat dari 583 juta pada bulan Juni 2013.

Faktor-faktor di atas telah memberikan kontribusi terhadap perkembangan

Android, menjadikannya sebagai sistem operasi telepon pintar yang paling banyak

digunakan di dunia, mengalahkan Symbian pada tahun 2010. Android juga menjadi

Page 35: (Studi Kasus: PT Wahana Prestasi Logistik)

18

Uin Syarif Hidayatullah Jakarta

pilihan bagi perusahaan teknologi yang menginginkan sistem operasi berbiaya

rendah, bisa dikustomisasi, dan ringan untuk perangkat berteknologi tinggi tanpa

harus mengembangkannya dari awal. Sifat Android yang terbuka juga telah

mendorong munculnya sejumlah besar komunitas pengembang aplikasi untuk

menggunakan kode sumber terbuka sebagai dasar proyek pembuatan aplikasi,

dengan menambahkan fitur-fitur baru bagi pengguna tingkat lanjut atau

mengoperasikan Android pada perangkat yang secara resmi dirilis dengan

menggunakan sistem operasi lain.

Pada November 2013, Android menguasai pangsa pasar telepon pintar global,

yang dipimpin oleh produk-produk Samsung, dengan persentase 64% pada bulan

Maret 2013. Pada Juli 2013, terdapat 11.868 perangkat Android berbeda dengan

beragam versi. Keberhasilan sistem operasi ini juga menjadikannya sebagai target

ligitasi paten "perang telepon pintar" antar perusahaan-perusahaan teknologi. Hingga

bulan Mei 2013, total 900 juta perangkat Android telah diaktifkan di seluruh dunia,

dan 48 miliar aplikasi telah dipasang dari Google Play.

Berikut merupakan logo Android:

Gambar 2. 5 Logo Android (Sumber: Wikipedia, 2018)

2.4.2. Fitur Android

Adapun beberapa fitur – fitur menurut Wikipedia (2018) yang tersedia di

Android adalah sebagai berikut ini:

2.4.2.1. Antarmuka

Antarmuka pengguna pada Android didasarkan pada manipulasi

langsung, menggunakan masukan sentuh yang serupa dengan tindakan di

dunia nyata, misalnya menggesek (swiping), mengetuk (tapping), dan

mencubit (pinching), untuk memanipulasi objek di layar. Masukan pengguna

Page 36: (Studi Kasus: PT Wahana Prestasi Logistik)

19

Uin Syarif Hidayatullah Jakarta

direspon dengan cepat dan juga tersedia antarmuka sentuh layaknya

permukaan air, seringkali menggunakan kemampuan getaran perangkat untuk

memberikan umpan balik haptik kepada pengguna. Perangkat keras internal

seperti akselerometer, giroskop, dan sensor proksimitas digunakan oleh

beberapa aplikasi untuk merespon tindakan pengguna, misalnya untuk

menyesuaikan posisi layar dari potret ke lanskap, tergantung pada bagaimana

perangkat diposisikan, atau memungkinkan pengguna untuk mengarahkan

kendaraan saat bermain balapan dengan memutar perangkat sebagai simulasi

kendali setir.

Ketika dihidupkan, perangkat Android akan memuat pada layar depan

(homescreen), yakni navigasi utama dan pusat informasi pada perangkat,

serupa dengan desktop pada komputer pribadi. Layar depan Android biasanya

terdiri dari ikon aplikasi dan widget; ikon aplikasi berfungsi untuk

menjalankan aplikasi terkait, sedangkan widget menampilkan konten secara

langsung dan terbarui otomatis, misalnya prakiraan cuaca, kotak masuk surel

pengguna, atau menampilkan tiker berita secara langsung dari layar depan.

Layar depan bisa terdiri dari beberapa halaman, pengguna dapat menggeser

bolak balik antara satu halaman ke halaman lainnya, yang memungkinkan

pengguna Android untuk mengatur tampilan perangkat sesuai dengan selera

mereka. Beberapa aplikasi pihak ketiga yang tersedia di Google Play dan di

toko aplikasi lainnya secara ekstensif mampu mengatur kembali tema layar

depan Android, dan bahkan bisa meniru tampilan sistem operasi lain,

misalnya Windows Phone. Kebanyakan produsen telepon seluler dan

operator nirkabel menyesuaikan tampilan perangkat Android buatan mereka

untuk membedakannya dari pesaing mereka.

Di bagian atas layar terdapat status bar, yang menampilkan informasi

tentang perangkat dan konektivitasnya. Status bar ini bisa "ditarik" ke bawah

untuk membuka layar notifikasi yang menampilkan informasi penting atau

pembaruan aplikasi, misalnya surel diterima atau SMS masuk, dengan cara

tidak mengganggu kegiatan pengguna pada perangkat. Pada versi awal

Android, layar notifikasi ini bisa digunakan untuk membuka aplikasi yang

Page 37: (Studi Kasus: PT Wahana Prestasi Logistik)

20

Uin Syarif Hidayatullah Jakarta

relevan, namun setelah diperbarui, fungsi ini semakin disempurnakan,

misalnya kemampuan untuk memanggil kembali nomor telepon dari

notifikasi panggilan tak terjawab tanpa harus membuka aplikasi utama.

Notifikasi ini akan tetap ada sampai pengguna melihatnya, atau dihapus dan

di nonaktifkan oleh pengguna. Berikut merupakan gambar layar notifikasi

Android:

Gambar 2. 6 Layar notifikasi Android yang diakses dengan menggeser layar (swipe) dari bagian atas

layar (Sumber: Wikipedia, 2018)

2.4.2.2. Aplikasi

Android memungkinkan penggunanya untuk memasang aplikasi

pihak ketiga, baik yang diperoleh dari toko aplikasi seperti Google Play,

Amazon Appstore, ataupun dengan mengunduh dan memasang berkas APK

dari situs pihak ketiga. Di Google Play, pengguna bisa menjelajah,

mengunduh, dan memperbarui aplikasi yang diterbitkan oleh Google dan

pengembang pihak ketiga, sesuai dengan persyaratan kompatibilitas Google.

Google Play akan menyaring daftar aplikasi yang tersedia berdasarkan

Page 38: (Studi Kasus: PT Wahana Prestasi Logistik)

21

Uin Syarif Hidayatullah Jakarta

kompatibilitasnya dengan perangkat pengguna, dan pengembang dapat

membatasi aplikasi ciptaan mereka bagi operator atau negara tertentu untuk

alasan bisnis. Pembelian aplikasi yang tidak sesuai dengan keinginan

pengguna dapat dikembalikan dalam waktu 15 menit setelah pengunduhan.

Beberapa operator seluler juga menawarkan tagihan langsung untuk

pembelian aplikasi di Google Play dengan cara menambahkan harga

pembelian aplikasi pada tagihan bulanan pengguna. Pada bulan September

2012, ada lebih dari 675.000 aplikasi yang tersedia untuk Android, dan

perkiraan jumlah aplikasi yang diunduh dari Play Store adalah 25 miliar.

Aplikasi Android dikembangkan dalam bahasa pemrograman Java

dengan menggunakan kit pengembangan perangkat lunak Android (SDK).

SDK ini terdiri dari seperangkat perkakas pengembangan, termasuk

debugger, perpustakaan perangkat lunak, emulator handset yang berbasis

QEMU, dokumentasi, kode sampel, dan tutorial. Didukung secara resmi oleh

lingkungan pengembangan terpadu (IDE) Eclipse, yang menggunakan plugin

Android Development Tools (ADT). Perkakas pengembangan lain yang

tersedia di antaranya adalah Native Development Kit untuk aplikasi atau

ekstensi dalam C atau C++, Google App Inventor, lingkungan visual untuk

pemrogram pemula, dan berbagai kerangka kerja aplikasi web seluler lintas

platform. Beikut merupakan gambar Google Play Android:

Page 39: (Studi Kasus: PT Wahana Prestasi Logistik)

22

Uin Syarif Hidayatullah Jakarta

Gambar 2. 7 Google Play Android (Sumber: Wikipedia, 2018)

2.4.2.3. Pengelolaan Memori

Karena perangkat Android umumnya bertenaga baterai, Android

dirancang untuk mengelola memori (RAM) guna menjaga konsumsi daya

minimal, berbeda dengan sistem operasi desktop yang bisa terhubung pada

sumber daya listrik tak terbatas. Ketika sebuah aplikasi Android tidak lagi

digunakan, sistem secara otomatis akan menangguhkannya (suspend) dalam

memori – secara teknis aplikasi tersebut masih "terbuka", namun dengan

ditangguhkan, aplikasi tidak akan mengkonsumsi sumber daya (misalnya

daya baterai atau daya pemrosesan), dan akan "diam" di latar belakang

hingga aplikasi tersebut digunakan kembali. Cara ini memiliki manfaat

ganda, tidak hanya meningkatkan respon perangkat Android karena aplikasi

tidak perlu ditutup dan dibuka kembali dari awal setiap saat, tetapi juga

memastikan bahwa aplikasi yang berjalan di latar belakang tidak

menghabiskan daya secara sia-sia.

Page 40: (Studi Kasus: PT Wahana Prestasi Logistik)

23

Uin Syarif Hidayatullah Jakarta

Android mengelola aplikasi yang tersimpan di memori secara

otomatis: ketika memori lemah, sistem akan menonaktifkan aplikasi dan

proses yang tidak aktif untuk sementara waktu, aplikasi akan dinonaktifkan

dalam urutan terbalik, dimulai dari yang terakhir digunakan. Proses ini tidak

terlihat oleh pengguna, jadi pengguna tidak perlu mengelola memori atau

menonaktifkan aplikasi secara manual. Namun, kebingungan pengguna atas

pengelolaan memori pada Android telah menyebabkan munculnya beberapa

aplikasi task killer pihak ketiga yang populer di Google Play.

2.5. Java

2.5.1. Pengertian Java

Menurut Mary (2017) Pemrograman Java merupakan bahasa pemrograman

tingkat tinggi berorientasi objek yang bisa dijalankan diberbagai sistem operasi

(Multiplatform), yang diperkenalkan oleh Sun Microsystems sekitar tahun 1995.

Sebagai sebuah bahasa pemograman, Java dapat membuat seluruh bentuk

aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa

pemograman konvensional yang lain.

2.5.2. Karakteristik Java

• Sederhana.

• Berorientasi objek.

• Dapat didistribusikan dengan mudah.

• Intepreter.

• Robust.

• Aman.

• Architecture Neutral.

• Portable.

• Permormance.

• Multithreaded.

• Dinamis.

Page 41: (Studi Kasus: PT Wahana Prestasi Logistik)

24

Uin Syarif Hidayatullah Jakarta

2.6. Google Map

Menurut Firando (2014) Google Maps adalah peta online atau membuka

peta secara online, dapat dilakukan secara mudah melalui layanan gratis dari

Google. Bahkan layanan ini menyediakan API (Application Programming

Interface) yang memungkinkan developer lain untuk memanfaatkan aplikasi ini

di aplikasi buatannya. Tampilan Google Map pun dapat dipilih, berdasarkan foto

asli atau peta gambar rute saja.

Google Map adalah layanan gratis yang diberikan oleh Google dan

sangat popular. Google Map adalah suatu peta dunia yang dapat kita gunakan

untuk melihat suatu daerah. Dengan kata lain, Google Map merupakan suatu

peta yang dapat dilihat dengan menggunakan suatu browser. Kita dapat

menambahkan fitur Google Map dalam web yang telah kita buat atau pada blog

kita yang berbayar maupun gratis sekalipun dengan Google Map API.

Google Map API adalah suatu library yang berbentuk JavaScript. Cara

membuat Google Map untuk ditampilkan pada suatu web atau blog sangat

mudah hanya dengan membutuhkan pengetahuan mengenai HTML serta

JavaScript, serta koneksi Internet yang sangat stabil. Dengan menggunakan

Google Map API, kita dapat menghemat waktu dan biaya untuk membangun

aplikasi peta digital yang handal, sehingga kita dapat fokus hanya pada data-data

yang akan ditampilkan. Dengan kata lain, kita hanya membuat suatu data

sedangkan peta yang akan ditampilkan adalah milik Google sehingga kita tidak

dipusingkan dengan mambuat peta suatu lokasi, bahkan dunia. Berikut merupakan

gambar Google Map yang diakses menggunakan website:

Page 42: (Studi Kasus: PT Wahana Prestasi Logistik)

25

Uin Syarif Hidayatullah Jakarta

Gambar 2. 8 Google Map (Sumber: Firando, 2014)

Pada Google Map API terdapat 4 jenis pilihan model peta yang disediakan

oleh Google, diantaranya adalah:

• ROADMAP, untuk menampilkan peta biasa 2 dimensi.

• SATELLITE, untuk menampilkan foto satelit.

• TERRAIN, untuk menunjukkan relief fisik permukaan bumi dan

menunjukkan seberapa tingginya suatu lokasi, contohnya akan menunjukkan

gunung dan sungai.

• HYBRID, akan menunjukkan foto satelit yang diatasnya tergambar pula apa

yang tampil pada ROADMAP (nama jalan dan kota).

2.7. Android Studio

Android Studio adalah Integrated Development Environment (IDE) resmi

untuk pengembangan aplikasi Android, berdasarkan IntelliJ IDEA. IntelliJ IDEA

menawarkan beberapa keunggulan pada Android Studio, seperti:

• Sistem dibangun oleh gradle yang bersifat fleksibel.

• Dapat menghasilkan beberapa jenis varian dan generasi apk.

• Template diperluas untuk Google.

• Menyediakan layanan dan berbagai jenis perangkat.

• Layout editor memiliki banyak fitur pilihan.

Page 43: (Studi Kasus: PT Wahana Prestasi Logistik)

26

Uin Syarif Hidayatullah Jakarta

• Tersedia fitur Lint untuk mengoptimalkan kinerja, kegunaan, kompatibilitas,

serta masalah lainnya.

• Tersedia fitur Built-in untuk memudahkan pengembang aplikasi dalam

mengintegrasikan Google Cloud Messaging and App Engine

(http://developer.android.com, 2015).

2.8. JSON

Menurut Firando (2014) JSON (javaScript Object Notation) adalah format

pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah

diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan

bagian dari Bahasa Pemograman Javascript, Standar ECMA-262 Edisi ke-3 –

Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa

pemograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh

programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python, dll.

Oleh karena itu sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa

pertukaran-data.

JSON terbuat dari dua struktur:

• Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan

sebagai objek (object), rekaman (record), struktur (struct), kamus

(dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau

associative array.

• Daftar nilai terurutkan (ordered list of values). Pada kebanyakan bahasa, hal

ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan

(sequence).

2.9. SQLite

Menurut Ramadani, Tammam, Setyo, dkk (2017) SQLite merupakan sebuah

sistem manajemen basisdata relasional yang bersifat ACID-compliant dan memiliki

ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan

proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp.

Page 44: (Studi Kasus: PT Wahana Prestasi Logistik)

27

Uin Syarif Hidayatullah Jakarta

SQLite ini adalah mesin database SQL yang tertanam pada sistem yang kita

gunakan. Tidak seperti pada paradigma client-server umumnya, Inti SQLite bukanlah

sebuah sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan

sebagai bagian integral dari sebuah program secara keseluruhan.

Sehingga protokol komunikasi utama yang digunakan adalah melalui

pemanggilan API secara langsung melalui bahasa pemrograman. Mekanisme seperti

ini tentunya membawa keuntungan karena dapat mereduksi overhead, latency times,

dan secara keseluruhan lebih sederhana. Seluruh elemen basisdata (definisi data,

tabel, indeks, dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi disain

tersebut bisa diraih dengan cara mengunci keseluruhan file basis data pada saat

sebuah transaksi dimulai.

SQLite dapat digunakan di Windows Phone, Android, iPhone, PHP, Firefox,

Chrome dan lain – lain yang dapat dilihat di: http://www.sqlite.org/famous.html.

Pada browser, biasanya SQLite ini digunakan untuk menyimpan kongfigurasi seperti

history, bookmark, dan cache, sedangkan pada mobile, penggunaan SQLite ini

sangat banyak seperti kontak, database tabel dsb.

SQLite adalah produk public domain. Artinya tidak punya lisensi, anda boleh

mengambil binary atau source codenya secara free / gratis. Berikut merupakan tipe

data yang didukung SQLite :

• Numeric ( integer , float , double),

• Text ( Char , varchar , text )

• DATETIME

• BLOB

2.10. Application Program Interface (API)

API merupakan serangkaian instruksi dan standar pemrograman untuk

mengakses aplikasi atau layanan berbasis web. Sebuah perusahaan software atau

penyedia layanan berbasis web merilis API mereka kepada publik. Dengannya,

pengembang lain dapat mendesain aplikasi yang memanfaatkan layanan mereka.

API memungkinkan sebuah aplikasi berkomunikasi dengan aplikasi lain di

Internet melalui serangkaian panggilan (call). Sebuah API, berdasarkan definisinya,

Page 45: (Studi Kasus: PT Wahana Prestasi Logistik)

28

Uin Syarif Hidayatullah Jakarta

adalah sesuatu yang mendefinisikan cara dua entitas untuk berkomunikasi. Entitas di

sini adalah sebuah software yang nyata berbeda (dalam layanan) dengan software

lain.

Dengan API, panggilan-panggilan yang bolak-balik antar aplikasi diatur

melalui web service. Web service adalah kumpulan standar teknis dan protokol,

termasuk XML (Extensible Markup Language), bahasa umum yang digunakan oleh

aplikasi-aplikasi tersebut selama berkomunikasi di Internet.

Dengan demikian, API adalah standar komunikasi yang dibuka oleh

perusahaan software, agar dapat dimanfaatkan oleh pengembang pihak ketiga untuk

mendesain aplikasi yang memanfaatkan layanan mereka dengan mudah (Wulandari,

2013).

2.11. Rapid Application Development (RAD)

Rapid Application Development (RAD) merupakan salah satu metode dalam

pengembangan sistem (System Development Life Cycle), dimana metode ini dapat

digunakan untuk menyelesaikan adanya keterlambatan dalam permasalahan sistem

yang pengolahan datanya masih bersifat konvensional. Model RAD ini sesuai untuk

menghasilkan sistem pereangkat lunak dengan kebutuhan perangkat lunak dengan

waktu yang pendek. Model RAD membagi tim pengembang menjadi berberapa tim

untuk mengerjakan berberapa komponen masing-masing tim pengerjaan dapat

dilakukan secara paralel. berikut gambar model RAD:

Page 46: (Studi Kasus: PT Wahana Prestasi Logistik)

29

Uin Syarif Hidayatullah Jakarta

Gambar 2. 9 Model RAD (Sumber: Hidayati, 2018)

Berikut merupakan penjelasan mengenai model RAD:

1. Pemodelan Bisnis

Pemodelan bisnis ini merupakan pemodelan yang digunakan untuk

memodelkan fungsi bisnisnya, seperti apa saja yang berhubungan dengan

proses bisnis, informasi apa saja yang harus dihasilkan dan siapa yang

membuatnya, serta bagaimana alur dan proses informasi tersebut.

2. Pemodelan Data

Dalam pemodelan data ini, dapat ditentukan data-data yang

dibutuhkan dari pemodelan bisnisnya, menentukan atribut dan relasi dengan

data-data yang lain.

Page 47: (Studi Kasus: PT Wahana Prestasi Logistik)

30

Uin Syarif Hidayatullah Jakarta

3. Pemodelan Proses

Pemodelan proses ini merupakan tahapan dalam menerapkan fungsi

bisnis yang sudah didefinisikan sebelumnya, terutama yang berkaitan dengan

data.

4. Pemodelan Aplikasi

Dalam tahapan ini, aplikasi program yang sudah dibuat berdasarkan

pemodelan data dan proses siap diimplementasikan.

5. Pengujian dan Pergantian

Setelah tahapan pemodelan aplikasi, maka perlu dilakukan pengujian

terhadap komponen-komponen yang dibuat. Apabila pengujian ini dapat

dilakukan dengan baik, maka tim pengembang komponen dapat menuju ke

pengembangan komponen berikutnya.

Secara normal, seandainya pengembangan sistem membutuhkan waktu

sebanyak 180 hari, maka dengan adanya metode RAD ini, waktu tersebut dapat

dipersingkat menjadi 30-90 hari untuk menyelesaikan sistem perangkat lunak

tersebut. Keterlibatan pengguna dalam proses analisa dan perancangan sistemnya,

sangat diperlukan dalam model RAD. Dengan demikian dapat memnuhi kebutuhan

pengguna dengan baik dan secara nyata akan dapat meningkatkan tingkat kepuasan

pengguna sistem (Hidayati, 2018).

2.12. Flowchart

2.12.1. Definisi Flowchart

Menurut Kadir (2013), flowchart adalah bentuk penyajian grafis yang

menggambarkan solusi langkah demi langkah terhadap suatu permasalahan.

Flowchart tidak hanya dipakai untuk menggambarkan operasi yang sederhana, tetapi

juga dapat digunakan untuk menangani persoalan yang kompleks.

2.12.2. Kelebihan Flowchart

• Merupakan metode komunikasi yang andal, hanya menggunakan sedikit

simbol yang mudah dipahami oleh siapa saja.

Page 48: (Studi Kasus: PT Wahana Prestasi Logistik)

31

Uin Syarif Hidayatullah Jakarta

• Bentuknya mnecerminkan keadaaan yang sesungguhnya. Misalnya, secara

visual dapat menggambarkan pengulangan atau pencabangan.

• Keesalahan-kesalahan dapat terdeteksi secara visual (misalnya ada langkah

yang belum diarahkan ke langkah lain).

2.12.3. Kekurangan Flowchart

• Jika logika kompleks, flowchart menjadi rumit dan menyita tempat.

• Membosankan kalau simbol-simbol di flowchart harus digambar secara

manual. Namun, ini teratasi kalau program penggambar flowchart digunakan.

2.12.4. Simbol-simbol Flowchart

Tabel 2.1 Simbol-simbol Pada Flowchart (Sumber: Kadir, 2013)

Simbol Nama Fungsi

Terminator Permulaan/akhir program

Garis Alir Arah aliran program

Preparation Proses inisialisasi/ pembagian

harga awal

Proses Proses perhitungan/proses

pengolahan data

Input/output Data Proses input/output data,

parameter, informasi

Predefined

Process

Permulaan sub program/proses

menjalankan sub program

Decision Perbandingan pernyataan,

memberikan pilihan untuk langkah

selanjutnya

Onpage

Connector

Penghubung bagian-bagian

flowchart yang berada pada satu

halaman

Page 49: (Studi Kasus: PT Wahana Prestasi Logistik)

32

Uin Syarif Hidayatullah Jakarta

Simbol Nama Fungsi

Offpage

Connector

Penghubung bagian-bagian

flowchart yang berada pada

halaman berbeda

2.13. Metode Pengumpulan Data

2.13.1. Pengertian Metode Pengumpulan Data

Metode pengumpulan data adalah berbagai cara yang digunakan untuk

mengumpulkan data, mengambil, atau menjaring data penelitian (Suwartono, 2014).

2.13.2. Studi Pustaka

Studi pustaka merupakan usaha-usaha yang dilakukan oleh peneliti untuk

mendapatkan berbagai informasi, sesuai dengan topik yang sedang diteliti yaitu

dengan cara menggali berbagai informasi yang bersumber dari buku-buku ilmiah,

laporan penelitian, karangan-karangan ilmiah, tesis dan disertasi, peraturan-

peraturan, dan sumber lainnya baik secara tertulis maupun dari media elektronoik.

Kegunaan dari studi pustaka ini adalah untuk menjelaskan variabel yang menjadi

topik dalam penelitian (Fitrianti, 2016).

2.13.3. Wawancara

2.13.3.1. Pengertian Wawancara

Menurut Suwartono (2014), wawancara adalah cara menjaring

informasi atau data melalui interaksi verbal/lisan. Wawancara memungkinkan

peneliti untuk menyusup kedalam “alam” pikiran orang lain, tepatnya hal-hal

yang berhubungan dengan perasaan, pikiran, pengalaman, pendapat, dan

lainnya yang tidak dapat diamati.

Sedangkan menurut Winarno (2018), wawancara adalah sebuah dialog

yang dilakukan oleh pewawancara untuk memperoleh informasi dari orang

yang diwawancarai. Wawancara digunakan oleh peneliti untuk menilai

keadaan seseorang, misalnya untuk mencari data tentang variabel latar

Page 50: (Studi Kasus: PT Wahana Prestasi Logistik)

33

Uin Syarif Hidayatullah Jakarta

belakang murid, orang tua, pendidikan, perhatian, maupun sikap terhadap

sesuatu.

Secara fisik, wawancara dapat dibedakan atas wawancara terstruktur

dan wawancara tidak terstruktur. Pada umumnya wawancara terstruktur di

luat negeri telah dibuat terstandar. Wawancara terstruktur terdiri dari

serentetan pertanyaan di mana pewawancara tinggal memberikan tanda check

() pada pilihan jawaban yang telah disiapkan, wawancara terstandar ini

kadang-kadang disembunyikan oleh pewawancara akan tetapi tidak pula yang

diperlihatkan kepada responden, bahkan respondenlah yang dipersilahkan

memberikan tanda. Dalam keadaan terakhir, maka wawancara ini tidak

ubahnya sebagai kuesioner saja.

Bila ditinjau dari pelaksanaannya, maka wawancara dibedakan atas:

1. Wawancara bebas, dimana pewawancara bebas menanyakan apa

saja, tetapi juga mengingat akan data apa yang akan

dikumpulkan. Penulis menggunakan wawancara jenis ini.

2. Dalam pelaksanaannya, pewawancara tidak membawa pedoman

apa yang akan ditanyakan. Kebaikan metode ini adalah bahwa

responden tidak menyadari sepenuhnya bahwa iia sedang

diwawancarai. Dengan demikian, suasananya akan menjadi lebih

santai karena hanya omong-omong biasa. Kelemahan

penggunaan teknik ini adalah arah pertanyaan kadang-kadang

kurang terkendali.

3. Wawancara terpimpin, yaitu wawancara yang dilakukan oleh

pewawancara dengan membawa sederetan pertanyaan lengkap

dan terperinci seperti yang dimaksud dalam wawancara

terstruktur.

4. Wawancara bebas terpimpin, yaitu kombinasi antara wawancara

bebas dan wawancara terpimpin (Winarno, 2018).

Page 51: (Studi Kasus: PT Wahana Prestasi Logistik)

34

Uin Syarif Hidayatullah Jakarta

2.13.4. Kuesioner

2.13.4.1. Pengertian Kuesioner

Menurut Winarno (2018), kuesioner adalah sejumlah pertanyaan

tertulis yang digunakan untuk memperoleh informasi dari responden tentang

sesuatu yang akan diteliti. Secara umum, angket atau kuesioner digunakan

untuk mengungkap data yang berkaitan dengan data pribadi responden,

pendapat atau informasi lain yang berkaitan dengan masalah penelitian.

Teknik pengambilan sampel yang penulis gunakan dalam penelitian

ini adalah simple random sampling atau sampling acak sederhana. Menurut

Gayatri (2018), sampling acak sederhana ialah pemilihan sampel yang

dilakukan dengan cara acak, dimana setiap elemen memiliki peluang yang

sama untuk dipilih dari populisasi.

Secara garis besar, kuesioner dapat dibedakan atas berberapa jenis,

antara lain:

1. Berdasarkan cara menjawab:

• Kuesioner terbuka, yaitu jika memberi kesempatan kepada

responden untuk menjawab dengan kalimatnya sendiri. Penulis

menggunakan jenis kuesioner ini.

• Kuesioner tertutup, yaitu jika sudah disediakan jawabannya

sehingga responden tinggal memilih.

2. Berdasarkan jawaban yang diberikan:

• Kuesioner langsung, yaitu jika responden menjawab tentang

dirinya .Penulis menggunakan kuesioner jenis ini.

• Kuesioner tidak langsung, yaitu jika responden menjawab tentang

orang lain.

3. Berdasarkan bentuknya:

• Kuesioner pilihan ganda, jika yang dimaksud adalah sama dengan

kuesioner tertutup.

• Kuesioner isian, yang dimaksud adalah kuesioner terbuka. Penulis

menggunakan kuesioner jenis ini.

Page 52: (Studi Kasus: PT Wahana Prestasi Logistik)

35

Uin Syarif Hidayatullah Jakarta

• Check list (sebuah daftar), di mana responden tinggal

membubuhkan tanda check () pada kolom yang sesuai.

• Rating-scale (skala bertingkat), yaitu sebuah pernyataan diikuti

oleh kolom-kolom yang menunjukkan tingkat-tingkatan misalnya

mulai dari sangat setuju sampai ke sangat tidak setuju.

2.13.4.2. Keuntungan Kuesioner

• Tidak memerlukan hadirnya peneliti.

• Dapat dibagikan secara serentak kepada banyak responden.

• Dapat dijawab oleh responden menurut kecepatannya masing-masing,

dan menurut waktu senggang responden.

• Dapat dibuat anonim sehingga responden bebas jujur dan tidak malu-

malu menjawab.

• Dapat dibuat terstandar sehingga bagi semua responden dapat diberi

pertanyaan yang benar-benar sama.

2.13.4.3. Kelemahan Kuesioner

• Responden sering tidak teliti dalam menjawab sehingga ada

pertanyaan yang terlewati tidak dijawab, padahal sukar diulangi

diberikan kembali kepadanya.

• Seringkali sukar dicari validitasnya.

• Walaupun dibuat anonim, kadang-kadang responden dengan sengaja

memberikan jawaban yang tidak betul atau tidak jujur.

• Seringkali tidak kembali, terutama jika dikirim lewat pos. Menurut

penelitian, angket yang dikirim lewat pos angka pengembaliannya

sangat rendah, hanya sekitar 20%.

• Waktu pengembaliannya tidak bersama-sama, bahkan kadang-kadang

ada yang terlalu lama sehingga terlambat.

Page 53: (Studi Kasus: PT Wahana Prestasi Logistik)

36

Uin Syarif Hidayatullah Jakarta

Untuk mengatasi kelemahan-kelemahan angket atau kuesioner

terutama terkait dengan validitas data dan kejujuran pengisi data, maka perlu

disederhanakan dengan cara peneliti melakukan cross check antara jawaban

responden dengan data yang diperoleh melalu metode lain (Winarno, 2018).

2.14. Pengujian Perangkat Lunak

2.14.1. Definisi Pengujian

Menurut Karmilasari (2018), pengujian perangkat lunak adalah elemen kritis

dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari

spesifikasi, desain dan pengkodean. Pengujian menyajikan anomali yang menarik

bagi perekayasa perangkat lunak. Pada proses perangkat lunak, perekayasa pertama-

tama berusaha membangun perangkat lunak dari konsep abstrak ke implementasi

yang dapat dilihat, baru dilakukan pengujian. Perekayasa menciptakan sederetan test

case yang dimaksudkan untuk “membongkar” perangkat lunak yang sudah dibangun.

Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat

lunak yang dapat dianggap (paling tidak secara psikologis) sebagai hal yang

destruktif daripada konstruktif.

2.14.2. Sasaran-saran Pengujian

Berberapa sasaran pengujian diantaranya:

• Pengujian adalah proses eksekusi suatu program dengan maksud menemukan

kesalahan.

• Test case yang baik adalah memiliki probabilitas tinggi untuk menemukan

kesalahan yang belum pernah ditemukan sebelumnya.

• Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan

yang belum pernah ditemukan sebelumnya.

Sasaran tersebut mengimplikasikan adanya perubahan titik pandang yang

dramatis. Sasaran itu berlawanan dengan pandangan yang biasanya dipegang yang

menyatakan bahwa pengujian yang berhasil adalah pengujian yang tidak ada

kesalahan yang ditemukan. Sasarannya adalah mendesain pengujian yang secara

Page 54: (Studi Kasus: PT Wahana Prestasi Logistik)

37

Uin Syarif Hidayatullah Jakarta

sistematis mengungkap kelas kesalahan yang berbeda dan melakkukannya dengan

jumlah waktu dan usaha minimum.

Bila pengujian dilakukan secara sukses (sesuai dengan sasaran tersebut),

maka akan ditemukan kesalahan di dalam perangkat lunak. Sebagai keuntungan

sekunder, pengujian menunjukkan bahwa fungsi perangkat lunak bekerja sesuai

dengan spesifikasi dan bahwa persyaratan kinerja telah dipenuhi. Sebagai tambahan,

data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang

baik mengenai reliabilitas perangkat lunak dan beberapa menunjukkan kualitas

perangkat lunak secara keseluruhan.

2.14.3. Blackbox Testing

Menurut Karmilasari (2018), Pengujian blackbox berfokus pada persyaratan

fungsional perangkat lunak. Dengan demikian, pengujian blackbox memungkinkan

perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang

sepenuhnya menggunakan semua peryaratan fungsional untuk suatu program.

Pengujian blackbox bukan merupakan alternatif dari teknik whitebox tetapi

merupakan pendekatan komplementer yang kemungkinan besar mampu mengungkap

kelas kesalahan daripada metode whitebox.

Pengujian blackbox berusaha menemukan kesalahan dalam kategori sebagai

berikut:

• Fungsi-fungsi yang tidak benar atau hilang.

• Kesalahan interface.

• Kesalahan dalam struktur data atau akses database eksternal.

• Kesalahan kinerja.

• Inisialisasi dan kesalahan terminasi.

Tidak seperti pengujian whitebox yang dilakukan pada awal proses pengujian,

pengujian blackbox cenderung diaplikasikan selama tahap akhir pengujian. Karena

pengujian blackbox memperhatikan struktur kontrol, maka perhatian berfokus pada

domain informasi.

Page 55: (Studi Kasus: PT Wahana Prestasi Logistik)

38

Uin Syarif Hidayatullah Jakarta

2.15. Studi Literatur Sejenis

Studi literatur merupakan mencari secara literatur, melokalisasi, dan

menganalisis dokumen yang berhubungan dengan masalah yang akan kita teliti.

Adapun tujuan yang dilakukan studi literatur yaitu sebagai berikut:

• Mencari teori atau hasil penelitian yang akan digunakan sebagai sandaran

atau tempat berpijak. Misalnya bila permasalahan kita mengenai siswa

terhadap matematika, maka teori atau hasil penelitian yang akan digunakan

sebagai landasan adalah mengenai sikap atau faktor yang dapat

mempengaruhi sikap.

• Dengan telah dilakukannya studi literatur, peneliti dapat melihat seberapa

jauh hasil penelitian yang telah ditemukan orang lain yang berhubungan

dengan masalah yang akan kita teliti.

• Studi literatur bertujuan melihat strategi, prosedur, dan alat-alat ukur

(instrumen) yang sudah terbukti berhasil atau tidak (gagal) baik dalam

penelitian yang serupa atau berhubungan dengan penelitian yang akan kita

lakukan.

• Studi literatur dapat membantu peneliti dalam mengartikan atau

menterjemahkan hasil penelitian (E. M. Sangadji & Sopiah, 2013).

Page 56: (Studi Kasus: PT Wahana Prestasi Logistik)

39

Uin Syarif Hidayatullah Jakarta

Pada penelitian ini, peneliti mengumpulkan tiga penelitian sejenis yang

kemudian dijadikan perbandingan untuk diketahui kelebihan dan kekurangannya.

Berikut merupakan studi literatur sejenis yang penulis gunakan sebagai rujukan

dalam penulisan:

Tabel 2.2 Studi Literatur Sejenis

No Peneliti Judul Kelebihan Kekurangan

1. Anang Hanafi

Universitas

Brawijaya

Malang

2018

Penyelesaian

Multiple

Traveling

Salesman

Problem (M-TSP)

Dengan

Menggunakan

Algoritma

Genetika

Berhasil menerapkan

algoritma genetika

dalam

menyelesaikan

Traveling Salesman

Problem

Hanya melakukan perhitungan

dan belum dikembangkan ke

versi mobile sehingga lebih

praktis dalam penggunaannya

2. Olief Ilmandira

Ratu Farisi

Universitas Nurul

Jadid

Probolinggo

2017

Penerapan

Traveling

Salesman

Problem pada

Penyebaran

Brosur

Penerimaan

Mahasiswa Baru

Sekolah Tinggi

Teknologi Nurul

Jadid

Menggunakan

Ant Colony

Optimization

Berhasil menerapkan

algoritma koloni

semut serta

menjelaskan

bagaimana

menetapkan nilai

parameter yang

digunakan

Hanya melakukan

implementasi dan perhitungan

tanpa perancangan

Page 57: (Studi Kasus: PT Wahana Prestasi Logistik)

40

Uin Syarif Hidayatullah Jakarta

No Peneliti Judul Kelebihan Kekurangan

3. Himmawati Puji

Lestari

Kampus

Karangmalang

Yogyakarta

2014

Penerapan

Algoritma Koloni

Semut untuk

Optimasi Rute

Distribusi

Pengangkutan

Sampah di kota

Yogyakarta

Informasi yang dimuat

dari hasil optimasi

dengan menerapkan

algoritma koloni

semut sangat

lengkap

Tidak menjelaskan bagaimana

menetapkan nilai parameter

yang digunakan dalam

algoritma koloni semut

Page 58: (Studi Kasus: PT Wahana Prestasi Logistik)

41 Uin Syarif Hidayatullah Jakarta

BAB III

METODOLOGI PENELITIAN

Bab ini akan membahas tentang metode penelitian yang penulis gunakan

dalam menyusun skripsi ini. Metode penelitian yang digunakan terbagi menjadi dua

yaitu metode pengumpulan data dan metode pengembangan sistem. Penjelasan lebih

lanjutnya adalah sebagai berikut:

3.1. Metode Pengumpulan Data

Dalam menyusun sebuah penelitian dibutuhkan data dan informasi yang

menjadi bahan materi serta pembahasan. Metode pengumpulan data yang digunakan

dalam melakukan penelitian ini yaitu:

3.1.1. Studi Pustaka

Pada tahapan pengumpulan data dengan cara studi pustaka, penulis mencari

referensi-referensi yang relevan dengan objek yang akan diteliti. Pencarian referensi

dilakukan di toko buku, perpustakaan, dan secara online melalui internet. Setelah

mendapatkan referensi-referensi yang relevan, selanjutnya penulis mencari

informasi-informasi lain yang dibutuhkan dalam penelitian. Seperti informasi yang

digunakan dalam penyusunan latar belakang, landasan teori, metodologi penelitian

serta pengembangan aplikasinya secara langsung. Selain literatur sejenis, buku-buku,

situs internet, penulis juga mengumpulkan jurnal-jurnal ilmiah yang dijadikan acuan

dalam perancangan serta pembuatan sistem. Jumlah studi pustaka yang telah penulis

gunakan dalam penelitian ini ialah sebanyak 21, terdiri dari 4 buku, 10 jurnal, dan 7

website. Daftar studi pustaka yang penulis gunakan dapat dilihat pada bab Daftar

Pustaka.

3.1.2. Studi Lapangan

Penulis melakukan studi lapangan dengan dua metode, yaitu wawancara dan

kuesioner.

Page 59: (Studi Kasus: PT Wahana Prestasi Logistik)

42

Uin Syarif Hidayatullah Jakarta

3.1.2.1. Wawancara

Penulis telah melakukan wawancara dengan narasumber Bapak Novel

Zulham selaku General Manager Operasional PT Wahana Prestasi Logistik.

Wawancara ini dilakukan pada tanggal 22 November 2017, dan berlokasi di

kantor PT Wahana Prestasi Logistik Rempoa, Ciputat. Penulis melakukan

wawancara untuk memperoleh dan mengumpulkan data yang dibutuhkan

antara lain permasalahan yg dialami oleh tim operasional khususnya kurir

dalam upaya mencari rute terpendek pengiriman paket. Belum ada sistem

yang memudahkan para kurir untuk menemukan rute terpendek mereka

sehingga kurir diharuskan memilih sendiri rute nya dan mengakibatkan dapat

terjadi pemborosan waktu, biaya, dan tenaga. Hasil Wawancara dapat dilihat

pada lampiran 3.

3.1.2.2. Kuesioner

Peneliti membuat kuesioner yang berisi pertanyaan-pertanyaan untuk

memastikan latar belakang dari pembuatan penelitian ini yaitu untuk

mendapatkan presentase dari responden yang kesulitan dalam menemukan

rute paling pendek pada pengiriman paket ke setiap alamat tujuan, lalu

presentase minat mereka terhadap dibuatnya aplikasi pencarian rute terpendek

ini. Data-data tersebut penulis gunakan untuk memperkuat latar belakang

penelitian ini.

Responden dari kuesioner ini ditujukan kepada para kurir PT Wahana

Prestasi Logistik sebagai pengguna akhir aplikasi yang akan penulis bangun.

Kuesioner ini dilakukan pada tanggal 22 November 2017, dan berlokasi di

kantor PT Wahana Prestasi Logistik Rempoa, Ciputat. Dari hasil penyebaran

kuesioner didapat data seluruh kurir yang beroperasi di wilayah Kecamatan

Ciputat sejumlah 12 kurir sebagai responden. Hasil kuesioner dapat dilihat

pada lampiran 2.

Page 60: (Studi Kasus: PT Wahana Prestasi Logistik)

43

Uin Syarif Hidayatullah Jakarta

3.2. Metode Pengembangan Sistem

Penulis memilih model RAD karena tahapanya terstruktur, pengembangan

perangkat lunak dapat dilakukan dalam waktu yang cepat dan alasan utama

penggunaan RAD karena adalah pengembangan ini akan bekerja dengan baik bila

diterapkan pada aplikasi yang berskala kecil. RAD memiliki tiga fase utama dalam

pengembangan sistem, yaitu:

3.2.1. Tahap Perencanaan Syarat

Pada tahap perencanaan syarat-syarat dilakukan pengidentifikasian tujuan

sistem atau aplikasi yang akan dirancang serta untuk mengidentifikasi kebutuhan

kurir PT Wahana Prestasi Logistik dan merancangnya ke dalam sebuah sistem.

Dalam tahap ini dilakukan beberapa hal antara lain:

3.2.1.1. Analisis Masalah

Mengidentifikasi masalah yang menjadi alasan penulis membuat

aplikasi ini.

3.2.1.2. Penyelesaian Masalah

Penyelesaian dari permasalahan yang sudah dijelaskan.

3.2.1.3. Analisis Kebutuhan

Menjelaskan Kebutuhan apa saja yang dibutuhkan dalam membuat

aplikasi.

3.2.1.4. Analisis Fitur

Menjelaskan fitur-fitur yang digunakan dalam aplikasi ini.

3.2.1.5. Analisis Algoritma ACO

Menjelaskan mengenai algoritma yang dipakai untuk mencari rute

terpendek yaitu algoritma ant colony optimization (ACO).

3.2.2. Tahap Workshop Desain

Tahap perancangan atau workshop desain adalah tahap perancangan sistem.

Pada tahap ini dilakukan proses desain sistem dan perbaikan apabila masih terdapat

Page 61: (Studi Kasus: PT Wahana Prestasi Logistik)

44

Uin Syarif Hidayatullah Jakarta

ketidaksesuaian desain antara pengguna dan perancang sistem. Tahap perancangan

sistem terdiri dari 5 tahap, antara lain:

3.2.2.1. Tahap Desain Sistem dan Proses

Pada tahap ini penulus akan menjelaskan mengenai alur penggunaan

sistem, dan proses apa saja yang berjalan dalam sistem.

3.2.2.2. Tahap Perancangan Basisdata

Pada tahap ini penulis melakukan perancangan basisdata pada sistem.

Perancangan basisdata sistem meliputi tabel-tabel yang digunakan dalam

pengolahan data dan diimplementasikan pada sistem.

3.2.2.3. Tahap Perancangan User Interface

Desain antarmuka berfungsi sebagai media komunikasi antara sistem

dengan user. Desain antarmuka dirancang sebagai gambaran sistem yang

akan dibuat. Desain antarmuka ini penulis buat dengan menggunakan tools

Balsamic Mockup 3.

3.2.2.4. Pengkodean

Untuk tahap pengkodean (coding), bahasa pemrograman yang

digunakan adalah java dengan menggunakan tools Android Studio.

3.2.3. Tahap Implementasi

Pada tahap ini penulis menjelaskan tentang hasil implementasi aplikasi serta

melakukan pengujian terhadap aplikasi yang dibangun. Metode pengujian sistem

yang penulis gunakan adalah blackbox testing yang berfokus pada pesyaratan

fungsional perangkat lunak. Hal yang tidak kalah penting adalah aplikasi harus

berjalan dengan baik di lingkungan user yaitu kurir PT Wahana Prestasi Logistik

sehingga user dapat merasakan kemudahan serta manfaat dari aplikasi ini.

Page 62: (Studi Kasus: PT Wahana Prestasi Logistik)

45

Uin Syarif Hidayatullah Jakarta

3.3. Kerangka Berpikir Penelitian

Berdasarkan penjabaran metode diatas, maka penulis membuat kerangka

berpikir dalam penelitian ini sebagai berikut:

Gambar 3.1 Kerangka Berfikir Penelitian

Page 63: (Studi Kasus: PT Wahana Prestasi Logistik)

46

Uin Syarif Hidayatullah Jakarta

BAB IV

ANALISIS, PERANCANGAN, IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1. Tahap Pengumpulan Data

Dalam penelitian ini, penulis menggunakan dua metode pengumpulan data,

yaitu studi pustaka dan studi lapangan.

4.1.1. Studi Pustaka

Penulis menggunakan beberapa sumber sebagai bahan studi pustaka,

diantaranya adalah buku-buku, jurnal ilmiah, situs internet, dan literatur sejenis yang

berhubungan dengan penelitian ini. Studi literatur sejenis dapat dilihat pada bab 2.16.

Jumlah studi pustaka yang telah penulis gunakan dalam penelitian ini ialah sebanyak

21, terdiri dari 4 buku, 10 jurnal, dan 7 website. Daftar studi pustaka yang penulis

gunakan dapat dilihat pada bab Daftar Pustaka.

4.1.2. Studi Lapangan

Studi lapangan dilakukan dengan dua metode, yaitu wawancara dan

kuesioner.

4.1.2.1. Wawancara

Penulis melakukan wawancara kepada 1 narasumber, yaitu Pak Novel

Zulham selaku General Manager Operasional PT Wahana Prestasi Logistik.

General Manager Operasional membawahi berberapa divisi yang ada,

diantaranya ialah: kurir yang mengantarkan paket ke alamat penerima, supir

yang mengantarkan paket dari agen atau kantor menuju ke kantor lain, dan

tim sorting barang yang melakukan penyortiran barang sesuai dengan

wialyah alamat yang dituju.

Wawancara dilakukan seputar pertanyaan mengenai permasalahan

pencarian rute terpendek. Berdasarkan diskusi tersebut diketahui secara rinci

mengenai alur kerja kurir dalam melakukan pengiriman paket. Menurut Pak

Novel, tim kurir akan sangat terbantu bila ada aplikasi yang dapat

Page 64: (Studi Kasus: PT Wahana Prestasi Logistik)

47

Uin Syarif Hidayatullah Jakarta

menemukan rute terpendek perjalanan mereka saat mengantarkan paket ke

setiap alamat atau lokasi yang dituju, dikarenakan banyaknya paket yang

harus mereka antar setiap harinya. Jadi akan menghemat waktu, tenaga, dan

biaya dengan adanya aplikasi ini. Hasil wawancara tersebut dapat dilihat pada

lampiran.

4.1.2.2. Kuesioner

Responden yang mengisi kuesioner ini adalah kurir PT Wahana

Prestasi Logistik. Kuesioner ini dilakukan pada tanggal 22 November 2017,

dan berlokasi di kantor PT Wahana Prestasi Logistik Rempoa, Ciputat. Dari

hasil penyebaran kuesioner didapatkan data sebanyak 12 kurir yang menjadi

responden dalam penelitian ini. Tabel dibawah ini merupakan berberapa

pertanyaan yang ada dalam kuesioner:

Tabel 4.1 Pertanyaan Kuesioner

No. Indikator Pertanyaan Tujuan

1

Traveling

Salesman

Problem

Berapa banyak paket yang

Anda kirim dalam 1 hari?

Mengetahui berapa banyak

paket yang dikirim oleh

setiap kurir

2 Bagaimana Anda menentukan

rute pengiriman paket ke setiap

alamat yang dituju?

Mengetahui cara kurir

menentukan rute pengiriman

sebelum adanya aplikasi

yang akan dibangun

3 Apakah Anda mengalami

kesulitan dalam menentukan

rute terpendek pengiriman

paket?

Mengetahui seberapa

banyak kurir yang merasa

kesulitan dalam menentukan

rute pengiriman.

4 Sistem

Operasi

Sistem Operasi apa yang

digunakan pada smartphone

Anda?

Mengetahui sistem operasi

yang kurir gunakan pada

smartphone mereka.

Page 65: (Studi Kasus: PT Wahana Prestasi Logistik)

48

Uin Syarif Hidayatullah Jakarta

No. Indikator Pertanyaan Tujuan

5

Aplikasi

Pencarian

Lintasan

Terpendek

Apakah Anda pernah

menggunakan aplikasi yang

dapat mencari rute terpendek?

Mengetahui seberapa

banyak kurir yang pernah

menggunakan aplikasi

pencarian rute terpendek.

6

Menurut Anda, apakah penting

dan berguna jika ada sebuah

aplikasi pada smartphone Anda

yang mampu menemukan rute

terpendek dari setiap lokasi

yang dituju?

Mengetahui ketertarikan

kurir mengenai aplikasi

pencarian rute terpendek

yang akan dibangun.

Pertanyaan tersebut disebar untuk membuktikan dan menyelesaikan

permasalahan yang diangkat dalam penelitian ini, yaitu tentang kesulitan

dalam menentukan rute pengiriman terpendek. Berikut hasil kuesioner dari 6

pertanyaan diatas.

1. Hasil Kuesioner Pertanyaan 1

Berikut merupakan hasil kuesioner pertanyaan 1, “Berapa

banyak paket yang Anda kirim dalam 1 hari?”:

Tabel 4.2 Hasil Kuesioner Pertanyaan 1

No. Jumlah Paket yang Dikirim

dalam 1 Hari

1 28

2 31

3 26

4 34

5 53

6 24

7 20

8 52

Page 66: (Studi Kasus: PT Wahana Prestasi Logistik)

49

Uin Syarif Hidayatullah Jakarta

No. Jumlah Paket yang Dikirim

dalam 1 Hari

9 22

10 40

11 32

12 29

Jumlah 396

Rata-rata 33

2. Hasil Kuesioner Pertanyaan 2

Berikut merupakan hasil kuesioner pertanyaan 2, “Bagaimana

Anda menentukan rute pengiriman paket ke setiap alamat yang

dituju?:

Tabel 4.3 Hasil Kuesioner Pertanyaan 2

No. Cara Menentukan Lintasan Pengiriman Paket Responden

n %

1 Dari terdekat hingga ke yang terjauh 7 orang 58,3 %

2 Alamat yang diketahui akan lebih

diutamakan 2 orang 16,67 %

3 Tidak tentu 3 orang 25 %

Jumlah 12 orang 100 %

Page 67: (Studi Kasus: PT Wahana Prestasi Logistik)

50

Uin Syarif Hidayatullah Jakarta

3. Hasil Kuesioner Pertanyaan 3

Berikut merupakan hasil kuesioner pertanyaan 3, “Apakah

Anda mengalami kesulitan dalam menentukan rute terpendek

pengiriman paket?:

Tabel 4.4 Hasil Kuesioner Pertanyaan 3

No. Sulit dalam Menemukan Lintasan Terpendek Responden

n %

1 Ya 10 orang 83,3 %

2 Tidak 2 orang 16,7 %

Jumlah 12 orang 100 %

4. Hasil Kuesioner Pertanyaan 4

Berikut meurpakan hasil kuesioner pertanyaan 4, “Sistem

Operasi apa yang digunakan pada smartphone Anda?”:

Tabel 4.5 Hasil Kuesioner Pertanyaan 4

No. Sistem Operasi yang digunakan Responden

n %

1 Android 8 orang 66,7 %

2 Blackberry 1 orang 8,3 %

3 Symbian 3 orang 25 %

Jumlah 12 orang 100 %

Page 68: (Studi Kasus: PT Wahana Prestasi Logistik)

51

Uin Syarif Hidayatullah Jakarta

5. Hasil Kuesioner Pertanyaan 5

Berikut merupakan hasil kuesioner pertanyaan 5, “Apakah

Anda pernah menggunakan aplikasi yang dapat mencari rute

terpendek?”:

Tabel 4.6 Hasil Kuesioner Pertanyaan 5

No. Pernah Menggunakan Aplikasi yang Dapat

Menemukan Lintasan Terpendek

Responden

n %

1 Ya 2 orang 16,7 %

2 Tidak 10 orang 83,3 %

Jumlah 12 orang 100 %

6. Hasil Kuesioner Pertanyaan 6

Berikut merupakan hasil kuesioner pertanyaan 6, “Menurut

Anda, apakah penting dan berguna jika ada sebuah aplikasi pada

smartphone Anda yang mampu menemukan rute terpendek dari setiap

lokasi yang dituju?”:

Tabel 4.7 Hasil Kuesioner Pertanyaan 6

No.

Ketertarikan Menggunakan Aplikasi yang

Dapat Menemukan Lintasan Terpendek dari

Setiap Lokasi yang Dituju

Responden

n %

1 Ya 11 orang 91,7 %

2 Tidak 1 orang 8,3 %

Jumlah 12 orang 100 %

Page 69: (Studi Kasus: PT Wahana Prestasi Logistik)

52

Uin Syarif Hidayatullah Jakarta

4.2. Tahap Perencanaan Syarat

4.2.1. Analisis Masalah

Dari hasil kuesioner yang penulis lakukan sebelumnya, dapat disimpulkan

bahwa 9 dari 12 atau sama dengan 75 % responden memiliki kesulitan dalam

menemukan rute terpendek pengiriman paket ke setiap alamat atau lokasi yang

dituju.

Pak Novel menyarankan bahwa kesulitan dapat diatasi dengan aplikasi yang

dapat mencari rute terpendek perjalanan kurir wahana saat mengantarkan paket ke

setiap alamat atau lokasi yang dituju. Hal ini sesuai dengan data kuesioner yang

menyatakan bahwa 11 dari 12 atau sama dengan 91,7 % responden menyatakan

tertarik dengan adanya aplikasi yang akan dibangun. Manfaat dari aplikasi ini ialah

semoga dapat mempermudah semua kurir PT . Wahana Prestasi Logistik untuk

mencari rute terpdendek pengiriman barang. Karena dengan menemukan rute

terpendek maka akan menghemat biaya, waktu, serta tenaga yang dikerahkan oleh

setiap kurir saat mengirimkan paket.

4.2.2. Penyelesaian Masalah

Penyelesaian dari masalah diatas adalah dengan membangun sebuah aplikasi

yang dapat menemukan rute terpendek perjalanan kurir saat mengantarkan barang ke

setiap alamat atau lokasi yang dituju. Aplikasi tersebut dapat menampilkan sebuah

map dengan menyertakan setiap titik lokasi alamat penerima yang disebut marker

berserta lokasi nya saat ini lalu di pada setiap titik lokasi tersebut terhubung oleh

garis sebagai acuan kurir untuk menetapkan urutan lokasi pengiriman

4.2.3. Analisis Kebutuhan

Tahap ini ditujukan untuk mengidentifikasi semua kebutuhan sistem yang

akan dibangun. Kebutuhan sistem terbagi dalam 2, yaitu data sampel paket yang

akan dikirim dan user kurir. Data sampel paket yang digunakan dalam penelitian ini

terdiri dari 33 paket dengan alamat atau lokasi yang berbeda. Sampel paket ini

disesuaikan dengan jumlah rata-rata paket yang di kirim oleh kurir setiap harinya

berdasarkan hasil kuesioner pertanyaan 1, lalu 1 user kurir sebagai uji coba.

Page 70: (Studi Kasus: PT Wahana Prestasi Logistik)

53

Uin Syarif Hidayatullah Jakarta

Proses menemukan rute terpendek perjalanan kurir PT Wahana Prestasi

logistik ini ialah dengan menggunakan algoritma Ant Colony Optimization (ACO)

dikarenakan perhitungannya relatif lebih singkat dibandingkan dengan metode

konvensional.

Sebelum membuat aplikasi ini, penulis mencoba membuat rancangan sistem

terlebih dahulu agar saat aplikasi ini dibuat dapat berjalan dengan lebih baik.

Aplikasi ini akan dibuat berbasis smartphone android. Sistem operasi android dipilih

karena berdasarkan kuesioner yang telah dilakukan, terdapat 8 dari 12 responden

atau setara dengan 66,7 % dari total responden menggunakan Sistem Operasi

Android pada smartphone nya.

Pada pemakaian database, penulis menggunakan basisdata SQLite. Pemilihan

basisdata ini dikarenakan bisa disimpan secara offline atau lokal didalam Android.

4.2.4. Analisis Fitur

Dari penjelasan masalah yang sudah ada, didapatkan fitur yang akan

digunakan dalam aplikasi. Fitur-fitur dari aplikasi ini adalah login kurir, register,

lihat surat jalan, lihat rute, dan logout. Untuk lebih jelasnya akan dijelaskan dalam

tabel dibawah ini.

Tabel 4.8 Analisis Fitur

No Fitur Keterangan

1 Login Fitur ini berfungsi untuk membuat kurir

masuk ke dalam menu utama

2 Register Fitur ini berfungsi untuk mendaftarkan

user kurir yang belum terdaftar.

3 Lihat Surat Jalan Fitur ini berfungsi untuk menampilkan

surat jalan yang telah diinput

4

Lihat Rute

Pengiriman

Berbentuk Maps

Fitur ini berfungsi untuk menampilkan

rute pengiriman barang hasil dari

pencarian rute terpendek dalam bentuk

maps

Page 71: (Studi Kasus: PT Wahana Prestasi Logistik)

54

Uin Syarif Hidayatullah Jakarta

No Fitur Keterangan

5

Lihat Rute

Pengiriman

Berbentuk List

Fitur ini berfungsi untuk menampilkan

rute pengiriman barang hasil dari

pencarian rute terpendek dalam bentuk list

/ daftar

6

Mengulang Proses

Pencarian Rute

Terpendek

Fitur ini berfungsi untuk mengulang

kembali proses pencarian rute terpendek

yang telah tersimpan dalam basisdata local

sebelumnya

7 Logout Fitur ini berfungsi untuk membuat kurir

keluar dari menu utama

4.2.5. Analisis Algoritma ACO

Pada sub bab ini penulis akan menganalisis algoritma ACO yang digunakan

untuk menyelesaikan TSP pada sistem ini.

Page 72: (Studi Kasus: PT Wahana Prestasi Logistik)

55

Uin Syarif Hidayatullah Jakarta

4.2.5.1. Flowchart Algoritma ACO Untuk Menyelesaikan TSP

Berikut merupakan flowchart algoritma ACO yang penulis terapkan

untuk menyelesaikan TSP pada sistem ini:

Gambar 4.1 Flowchart Algoritma ACO

4.2.5.2. Perhitungan Algoritma ACO

Untuk menjelaskan cara kerja algoritma ACO yang diterapkan untuk

menyelesaikan TSP pada sistem yang penulis bangun, berikut akan diberikan

Page 73: (Studi Kasus: PT Wahana Prestasi Logistik)

56

Uin Syarif Hidayatullah Jakarta

contoh kasus TSP dari 10 lokasi berbeda. Penentuan jumlah lokasi ini penulis

gunakan agar lebih mudah dalam memahaminya.

1. Mendefinisikan Lokasi

Pada sistem yang penulis bangun, untuk mendapat koordinat dari

lokasi alamat pengiriman, penulis menggunakan salah satu fungsi

google maps API yaitu geocode(). Dengan menggunakan fungsi ini,

sistem dapat mendapatkan koordinat latitude dan longitude dari suatu

alamat. Untuk hasil lokasi alamat beserta koordinatnya dapat dilihat

pada tabel berikut:

Tabel 4.9 Lokasi Alamat Pengiriman

Id

Lokasi Alamat

Koordinat

Latitude Longitude

0 PT. Wahana Prestasi Logistik -6.290973 106.758483

1 Depok, sawangan, jawa barat -6.4085961 106.76474

2 Pondok indah jakarta -6.2656714 106.78314

3 Srengseng jakarta barat -6.20427 106.75295

4 Jalan Medan Merdeka Selatan

No. 8-9 Blok B Lt. 3,

RT.11/RW.2, Gambir,

RT.11/RW.2, Gambir, Kota

Jakarta Pusat, Daerah Khusus

Ibukota Jakarta 10110

-6.18157 106.82838

5 Kantor Walikota Jakarta Timur -6.21406 106.94425

6 Jalan Prapanca Raya kebayoran

baru

-6.24887 106.80701

7 Kebon Bawang Tanjung Priok -6.11946 106.89011

8 Jalan Raya Kembangan No.2

jakarta barat

-6.18447 106.73656

Page 74: (Studi Kasus: PT Wahana Prestasi Logistik)

57

Uin Syarif Hidayatullah Jakarta

Id

Lokasi Alamat

Koordinat

Latitude Longitude

9 Jalan Tanah Abang I No.1,

Petojo Selatan, Gambir

-6.172455 106.82057

2. Mencari Jarak Antar-Lokasi / edge

Dari koordinat tersebut dicari jarak masing-masing lokasi dengan

menggunakan fungsi distanceTo(). Untuk hasilnya dapat dilihat dalam

bentuk matriks 10x10 dengan satuan jarak kilometer pada tabel

berikut:

Tabel 4.10 Jarak Antar-Lokasi /edge

Id

Lokasi 0 1 2 3 4 5 6 7 8 9

0 0.0 13.02 13.02 9.60 14.35 9.60 22.24 23.91 12.02 14.79

1 13.02 0.0 15.93 22.63 26.07 18.27 29.27 34.85 24.98 26.83

2 13.02 15.93 0.0 7.56 10.56 3.22 18.71 20.04 10.35 11.10

3 9.60 22.63 7.56 0.0 8.71 7.75 21.19 17.84 2.84 8.26

4 14.35 26.07 10.56 8.71 0.0 7.80 13.31 9.68 10.16 1.32

5 9.60 18.27 3.22 7.75 7.80 0.0 15.66 17.01 10.56 8.58

6 22.24 29.27 18.71 21.19 13.31 15.66 0.0 2.05 23.21 14.44

7 23.91 34.85 20.04 17.84 9.68 17.01 2.05 0.0 18.45 9.67

8 12.02 24.98 10.35 2.84 10.16 10.56 23.21 18.45 0.0 9.39

9 14.79 26.83 11.10 8.26 1.32 8.58 14.44 9.67 9.39 0.0

3. Menetapkan Parameter

Terdapat berberapa parameter yang perlu didefinisikan diawal

sebelum menjalankan algoritma ini, diantaranya ialah:

• Banyak kota beserta koordinat. Sudah dijelaskan pada langkah

1

Page 75: (Studi Kasus: PT Wahana Prestasi Logistik)

58

Uin Syarif Hidayatullah Jakarta

• Jarak masing-masing kota. Sudah dijelaskan pada langkah 2

• Jumlah semut (ants) = jumlah kota x 3 = 30

• Jumlah siklus / generasi semut (generation) = jumlah kota x 3

= 30

• Penguapan (evap) = 0.5

• Pengendali intensitas jejak pheromone (α) / alpha = 2

• Pengendali visibilitas jarak (β) / beta = 7

Untuk menentukan besaran paramater, penulis telah melakukan uji

coba, hasilnya dapat dilihat pada bab 5.2.2.

4. Menempatkan Setiap Semut Pada Lokasi Secara Acak

Setiap semut akan ditempatkan pada lokasi secara acak dengan

menggunakan fungsi android random().

Tabel 4. 11 Banyak Semut Pada Satu Lokasi

Id

Lokasi Banyak semut

0 97

1 74

2 88

3 102

4 92

5 84

6 91

7 92

8 100

9 80

Jumlah 900

5. Penyusunan Rute Kunjungan Semut ke Setiap Lokasi Kemudian

Hitung Panjang Jalurnya

Page 76: (Studi Kasus: PT Wahana Prestasi Logistik)

59

Uin Syarif Hidayatullah Jakarta

Seperti yang telah dijelaskan sebelumnya, dalam memilih rute

kunjungan, semut memilih lokasi selanjutnya menggunakan

persamaan probabilities / keiinginan sebagai berikut:

𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑖𝑒𝑠 = 𝑝ℎ𝑒𝑟𝑜𝑚𝑜𝑛𝑒𝛼 . 𝑖𝑛𝑣𝑒𝑟𝑠 𝑗𝑎𝑟𝑎𝑘𝛽

∑(𝑝ℎ𝑒𝑟𝑜𝑚𝑜𝑛𝑒 lokal𝛼 . 𝑖𝑛𝑣𝑒𝑟𝑠 𝑗𝑎𝑟𝑎𝑘 𝑙𝑜𝑘𝑎𝑙𝛽)

Pengertian dari lokal pada persamaan diatas ialah jumlah nilai

pada lokasi yang belum dikunjungi. Jadi, pheromone lokal ialah

jumlah pheromone pada setiap sisi antar lokasi yang belum

dikunjungi oleh semut tersebut, begitu pula dengan invers jarak lokal,

yakni invers dari total jarak pada setiap sisi antar lokasi yang belum

dikunjungi.

Semakin tinggi nilai hasil probabilites maka semakin besar pula

kemungkinan lokasi tersebut menjadi tujuan rute semut selanjutnya.

Kemudian program akan meng-generate bilangan bertipe double

menggunakan fungsi random(). Bila probabilites tersebut melebihi

bilangan hasil generate, maka semut akan berpindah ke lokasi

terpilih, bila tidak, program akan mencari kota lain dan melakukan hal

yang sama hingga semut mendapatkan lokasi dengan probabilites-nya

melebihi bilangan hasil generate.

Berikut hasil rute kunjungan semut beserta total panjang rute yang

dilewatinya pada siklus pertama:

Tabel 4.12 Rute Kunjungan Setiap Semut Beserta Total Jaraknya

Id

Semut Rute Total Jarak (km)

0 2 - 5 - 3 - 8 - 9 - 4 - 7 - 6 - 0 - 1 - 2 97.5

1 2 - 5 - 0 - 3 - 8 - 9 - 4 - 7 - 6 - 1 - 2 100.46

2 0 - 2 - 5 - 3 - 8 - 4 - 9 - 7 - 6 - 1 - 0 93.26

3 4 - 9 - 7 - 6 - 5 - 2 - 0 - 3 - 8 - 1 - 4 109.37

4 9 - 4 - 7 - 2 - 5 - 0 - 3 - 8 - 1 - 6 - 9 122.54

Page 77: (Studi Kasus: PT Wahana Prestasi Logistik)

60

Uin Syarif Hidayatullah Jakarta

Id

Semut Rute Total Jarak (km)

5 9 - 4 - 5 - 2 - 0 - 3 - 8 - 7 - 6 - 1 - 9 115.35

6 2 - 0 - 5 - 3 - 8 - 4 - 9 - 7 - 6 - 1 - 2 100.05

7 5 - 2 - 0 - 9 - 4 - 3 - 8 - 7 - 6 - 1 - 5 112.88

8 4 - 9 - 5 - 2 - 0 - 3 - 8 - 7 - 6 - 1 - 4 115.36

9 2 - 5 - 3 - 8 - 4 - 9 - 7 - 6 - 0 - 1 - 2 98.26

10 5 - 2 - 0 - 3 - 8 - 9 - 4 - 7 - 6 - 1 - 5 99.6

11 2 - 5 - 4 - 9 - 8 - 3 - 0 - 1 - 7 - 6 - 2 112.86

12 2 - 5 - 3 - 8 - 4 - 9 - 7 - 6 - 0 - 1 - 2 98.26

13 3 - 8 - 9 - 4 - 5 - 2 - 0 - 1 - 6 - 7 - 3 100.71

14 4 - 9 - 7 - 3 - 8 - 2 - 5 - 0 - 1 - 6 - 4 108

15 9 - 4 - 5 - 2 - 0 - 3 - 8 - 7 - 6 - 1 - 9 115.35

16 5 - 2 - 0 - 3 - 8 - 4 - 9 - 7 - 6 - 1 - 5 100.36

17 4 - 9 - 3 - 8 - 5 - 2 - 0 - 1 - 6 - 7 - 4 94.19

18 2 - 5 - 4 - 9 - 7 - 6 - 0 - 3 - 8 - 1 - 2 109.71

19 2 - 5 - 9 - 4 - 3 - 8 - 0 - 1 - 7 - 6 - 2 115.38

20 2 - 0 - 5 - 3 - 8 - 9 - 4 - 7 - 6 - 1 - 2 99.29

21 5 - 2 - 0 - 4 - 9 - 7 - 6 - 1 - 3 - 8 - 5 109.87

22 2 - 5 - 0 - 3 - 8 - 9 - 4 - 7 - 6 - 1 - 2 100.46

23 4 - 9 - 5 - 2 - 0 - 3 - 8 - 7 - 6 - 1 - 4 115.36

24 9 - 4 - 8 - 3 - 2 - 5 - 0 - 1 - 6 - 7 - 9 96.28

25 2 - 5 - 0 - 3 - 8 - 9 - 4 - 7 - 6 - 1 - 2 100.46

26 9 - 4 - 3 - 8 - 5 - 2 - 0 - 1 - 6 - 7 - 9 94.62

27 0 - 2 - 5 - 4 - 9 - 7 - 6 - 8 - 3 - 1 - 0 99.72

28 8 - 3 - 9 - 4 - 5 - 2 - 0 - 1 - 6 - 7 - 8 100.2

29 4 - 9 - 3 - 8 - 5 - 2 - 0 - 1 - 6 - 7 - 4 94.19

Berdasarkan hasil kunjungan setiap semut dalam siklus pertama

tersebut, maka didapat hasil kunjungan semut dengan total jarak

terpendek yaitu semut dengan id = 2, rute kunjungan = 0 - 2 - 5 - 3 - 8

Page 78: (Studi Kasus: PT Wahana Prestasi Logistik)

61

Uin Syarif Hidayatullah Jakarta

- 4 - 9 - 7 - 6 - 1 - 0, dan total jarak sebesar 93.26 km. Hasil tersebut

kemudian disimpan kedalam tabu list sebagai hasil terbaik sementara.

6. Merubah Intensitas Jejak Kaki Semut / Pheromone

Setelah setiap semut menyelesaikan satu siklus, selanjutnya ialah

mengubah intensitas pheromone pada setiap sisi antar lokasi. Untuk

pheromone dari setiap sisi antar lokasi yang dilalui oleh semut,

dihitung dengan persamaan:

𝑝ℎ𝑒𝑟𝑜𝑚𝑜𝑛𝑒 = ƿ. 𝑝ℎ𝑒𝑟𝑜𝑚𝑜𝑛𝑒 + 𝑖𝑛𝑣𝑒𝑟𝑠 𝑡𝑜𝑡𝑎𝑙 𝑗𝑎𝑟𝑎𝑘 𝑠𝑖𝑘𝑙𝑢𝑠

Lalu untuk pheromone dari setiap sisi antar lokasi yang tidak

dilalui oleh semut, dihitung dengan persamaan:

𝑝ℎ𝑒𝑟𝑜𝑚𝑜𝑛𝑒 = ƿ . 𝑝ℎ𝑒𝑟𝑜𝑚𝑜𝑛𝑒

Untuk hasil perubahan pheromone pada siklus pertama dapat

dilihat dalam bentuk matriks 10x10 pada tabel berikut:

Tabel 4.13 Intensitas pheromone Pada Setiap edge Antar-Lokasi

Id

Lokasi 0 1 2 3 4 5 6 7 8 9

0 0.0 0.0194 0.0192 0.0188 0.0174 0.0183 0.0197 0.0180 0.0181 0.0178

1 0.0194 0.0 0.0195 0.0188 0.0174 0.0196 0.0187 0.0187 0.0180 0.0173

2 0.0192 0.0195 0.0 0.0189 0.0166 0.0194 0.0177 0.0180 0.0201 0.0171

3 0.0188 0.0188 0.0189 0.0 0.0192 0.0196 0.0190 0.0191 0.0194 0.0188

4 0.0174 0.0174 0.0166 0.0192 0.0 0.0190 0.0190 0.0189 0.020 0.0194

5 0.0183 0.0196 0.0194 0.0196 0.0190 0.0 0.0178 0.0174 0.0190 0.0174

6 0.0197 0.0187 0.0177 0.0190 0.0190 0.0178 0.0 0.0196 0.0158 0.0186

7 0.0180 0.0187 0.0180 0.0191 0.0189 0.0174 0.0196 0.0 0.0175 0.0196

8 0.0181 0.0180 0.0201 0.0194 0.020 0.0190 0.0158 0.0175 0.0 0.0197

9 0.0178 0.0173 0.0171 0.0188 0.0194 0.0174 0.0186 0.0196 0.0197 0.0

7. Mengulang Langkah 4 Sesuai Banyaknya Generasi / Siklus

Page 79: (Studi Kasus: PT Wahana Prestasi Logistik)

62

Uin Syarif Hidayatullah Jakarta

Setelah setiap semut menyelesaikan siklus pertama, lalu

menghitung panjang rute, kemudian mengubah nilai pheromone,

langkah selanjutnya ialah mengulang kembali ke langkah 4 sampai

mencapai jumlah siklus / generasi yaitu 30 perulangan.

Setelah semut telah mencapai siklus terakhir, maka program akan

menemukan rute dengan total jarak terpendek yang telah dilewati oleh

semut dan tersimpan didalam tabu list. Berikut merupakan hasil

pencarian rute terpendek dengan 10 lokasi:

• Rute : 0 -> 2 -> 5 -> 3 -> 8 -> 9 -> 4 -> 7 -> 6 -> 1 -> 0

• Total jarak : 92.50 km

• Untuk hasil tampilannya pada aplikasi, dapat dilihat pada

gambar 5.13

4.3. Tahap Workshop Desain

Dalam fase workshop desain ini, penulis menggunakan jenis pemodelan

Unified Modeling Language (UML) untuk menggambarkan pemodelan program

yang akan dibuat. Penulis menggunakan empat model diagram yaitu use case

diagram, activity diagram, sequence diagram, dan class diagram.

Page 80: (Studi Kasus: PT Wahana Prestasi Logistik)

63

Uin Syarif Hidayatullah Jakarta

4.3.1. Desain Sistem dan Proses

Gambar 4.2 Desain Sistem dan Proses

Gambar diatas menjelaskan semua proses yang ada di aplikasi sekaligus

menu-menu yang ada. Terdapat tujuh menu utama dalam aplikasi ini, yaitu:

4.3.1.1. Login

Merupakan hal pertama yang harus dilakukan oleh user untuk dapat

masuk ke dalam menu utama aplikasi ini. Bila user belum memiliki akun,

user dapat masuk ke menu utama dengan melakukan register. Setelah user

melakukan login atau register maka sistem akan memulai sesi yang berfungsi

untuk menyimpan informasi akun user.

4.3.1.2. Resgister

Merupakan proses pendaftaran akun baru oleh user yang belum

memiliki akun untuk dapat masuk ke dalam menu utama aplikasi ini.

Page 81: (Studi Kasus: PT Wahana Prestasi Logistik)

64

Uin Syarif Hidayatullah Jakarta

4.3.1.3. Lihat Surat Jalan

Merupakan proses yang berfungsi untuk menampilkan daftar surat

jalan yang telah ada. Surat jalan ialah kumpulan paket-paket barang yang

harus dikirim oleh kurir.

4.3.1.4. Lihat Rute Pengiriman Berbentuk Maps

Merupakan fungsi utama dari aplikasi ini, yaitu menampilkan rute

pengiriman hasil pencarian rute terpendek dari setiap alamat tujuan

pengiriman barang yang telah diproses dengan algoritma ACO. Setelah rute

terpendek ditemukan maka aplikasi akan menampilkan hasilnya dalam

bentuk Maps.

4.3.1.5. Lihat Rute Pengiriman Berbentuk List

Sama seperti menu Lihat Rute Pengiriman Berbentuk Maps, hanya

saja menu ini menampilkan rute pengiriman dalam bentuk list atau daftar.

4.3.1.6. Mengulang Proses Pencarian Rute Terpendek

Merupakan proses yang berfungsi untuk melakukan pencarian ulang

rute terpendek menggunakan algoritma ACO.

4.3.1.7. Logout

Merupakan proses yang berfungsi untuk menghapus sesi yang

sebelumnya dibuat oleh proses login maupun register. Setelah sesi dihapus,

maka untuk dapat masuk ke dalam menu utama user diharuskan untuk

melakukan login atau register kembali.

4.3.2. Perancangan Basisdata

Aplikasi ini memerlukan sebuah basisdata yg disimpan secara offlline atau

lokal untuk menjalankan fungsinya. Perancangan basisdata pada aplikasi ini

menggunakan 3 tabel, yaitu aco_item, aco_sj, aco_best_rute. Basisdata ini disimpan

pada device Android dengan menggunakan SQLite.

Page 82: (Studi Kasus: PT Wahana Prestasi Logistik)

65

Uin Syarif Hidayatullah Jakarta

4.3.2.1. Basisdata Surat Jalan

Tabel basisdata surat jalan berfungsi untuk menyimpan data surat

jalan yang telah terdaftar untuk user.

Tabel 4.14 Basisdata Surat Jalan

No Nama Field Tipe Data Keterangan

1 aco_id int (PK) id aco

2 aco_sj_id int (Unique) id surat jalan

3 aco_sj_no text nomor surat jalan

4 aco_jumlah_barang text jumlah barang

5 aco_tanggal_kirim text tanggal kirim

6 aco_best_distance text total jarak rute terpendek

7 aco_created_at text waktu data terbuat

8 aco_updated_at text waktu terakhir data diubah

4.3.2.2. Basisdata Item

Tabel basisdata item berfungsi untuk menyimpan data barang (item)

yang terdapat pada surat jalan.

Tabel 4.15 Basisdata Item

No Nama Field Tipe Data Keterangan

1 aco_item_id int (PK) id aco_item

2 aco_item_sj_id int id item

3 aco_item_no int nomor urutan barang

4 nama_barang text nama barang

5 nama_pengirim text nama pengirim

6 nama_penerima text nama penerima

7 alamat_penerima text alamat penerima

8 jumlah_barang text jumlah barang

9 Longitude text koordinat longitude alamat

penerima

Page 83: (Studi Kasus: PT Wahana Prestasi Logistik)

66

Uin Syarif Hidayatullah Jakarta

No Nama Field Tipe Data Keterangan

10 Latitude text Koordinat latitude alamat

penerima

4.3.2.3. Basisdata Best Rute

Tabel basisdata best rute berfungsi untuk menyimpan urutan lokasi

pengiriman sebagai rute terpendek hasil dari proses algoritma ACO.

Tabel 4.16 Basisdata Best Rute

No Nama Field Tipe Data Keterangan

1 aco_best_rute_id int (PK) id rute terbaik

2 aco_best_rute_sj_id int id surat jalan

3 aco_best_rute_rute_n

o

int nomor urutan item

4 aco_best_rute_item_n

o

int nomor item sesuai dengan surat

jalan

Page 84: (Studi Kasus: PT Wahana Prestasi Logistik)

67

Uin Syarif Hidayatullah Jakarta

4.3.3. Perancangan User Interface

Berikut merupakan rancangan tampilan yang penulis buat dengan

menggunakan tools balsamic mockup 3.5:

Keterangan Gambar

Berikut merupakan user interface

halaman login. Halaman login

merupakan halaman yang pertama kali

dilihat oleh user saat membuka aplikasi.

Gambar 4.3 User Interface Halaman Login

Berikut merupakan user interface

halaman Register. Halaman register

merupakan halaman saat user menekan

tombol register pada halaman login.

Gambar 4.4 User Interface Halaman Register

Page 85: (Studi Kasus: PT Wahana Prestasi Logistik)

68

Uin Syarif Hidayatullah Jakarta

Keterangan Gambar

Berikut merupakan user interface

halaman menu utama. Halaman menu

utama merupakan halaman yang dilihat

oleh user saat berhasil melakukan login

maupun register.

Gambar 4. 5 User Interface Halaman Menu

Utama

Berikut merupakan user interface

halaman lihat surat jalan. Halaman lihat

surat jalan merupakan halaman yang

dilihat oleh user saat memilih menu lihat

surat jalan pada halaman menu utama.

Gambar 4. 6 User interface Halaman Lihat Surat

Jalan

Page 86: (Studi Kasus: PT Wahana Prestasi Logistik)

69

Uin Syarif Hidayatullah Jakarta

Keterangan Gambar

Berikut merupakan user interface

halaman rute pengiriman berbentuk list.

Halaman rute pengiriman berbentuk list

merupakan tampilian rute pengiriman

berbentuk list yang dapat diakses oleh

user setelah memilih surat jalan dengan

bentuk list pada halaman lihat surat jalan.

Gambar 4. 7 User Interface Halaman Rute

Pengiriman Berbentuk List

Berikut merupakan user interface

halaman rute pengiriman berbentuk

maps. Halaman ini dapat diakses oleh

user setelah memilih surat jalan dengan

bentuk maps pada halaman lihat surat

jalan

Gambar 4. 8 User Interface Halaman Rute

Pengiriman Berbentuk Maps

Page 87: (Studi Kasus: PT Wahana Prestasi Logistik)

70

Uin Syarif Hidayatullah Jakarta

4.3.4. Pengkodean

Untuk tahap pengkodean (coding), bahasa pemrograman yang digunakan

adalah java dengan menggunakan tools Android Studio.

4.3.4.1. Login

Berikut merupakan code yang digunakan untuk menjalankan fungsi

login. Nama fungsi utama untuk melakukan login ialah checkLogin() dengan

paramater yang digunakan nik dan password kurir. Didalam fungsi ini

terdapat dialog yang berfungsi untuk menampilkan pop up “Logging in” saat

program melakukan request API login untuk memvalidasi akun user. API

login ini menggunakan paramater nik dan password yang diisi oleh user lalu

mengirimnya dengan method POST. Hasil request API login ini dikirim

dalam bentuk JSON.

Bila berhasil maka program akan menyimpan sesi lalu pindah

halaman ke menu utama dengan menggunakan fungsi intent dan menutup pop

up, bila login gagal maka sistem akan menampilkan pesan kesalahan dengan

menggunakan fungsi Toast.makeText().

private void checkLogin(final String nik, final String password) {

String tag_string_req = "req_login";

pDialog.setMessage("Logging in ...");

showDialog();

StringRequest strReq = new StringRequest(Method.POST,

AppConfig.URL_LOGIN, new Response.Listener<String>() {

@Override

public void onResponse(String response) {

try {

JSONObject jObj = new JSONObject(response);

boolean error = jObj.getBoolean("error");

if (!error) {

JSONObject user = jObj.getJSONObject("user");

String id_kurir = user.getString("id");

String name = user.getString("name");

session.setKurir(id_kurir, nik, name);

session.setLogin(true);

hideDialog();

Intent intent = new Intent(LoginActivity.this,MainActivity.class);

startActivity(intent);

finish();

Page 88: (Studi Kasus: PT Wahana Prestasi Logistik)

71

Uin Syarif Hidayatullah Jakarta

} else {

hideDialog();

String errorMsg = jObj.getString("error_msg");

Toast.makeText(getApplicationContext(),errorMsg,

Toast.LENGTH_LONG).show();

}

} catch (JSONException e) {

hideDialog();

e.printStackTrace();

Toast.makeText(getApplicationContext(), "Json error: " +

e.getMessage(), Toast.LENGTH_LONG).show();

}

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

Toast.makeText(getApplicationContext(),

error.getMessage(), Toast.LENGTH_LONG).show();

hideDialog();

}

}) {

@Override

protected Map<String, String> getParams() {

Map<String, String> params = new HashMap<>();

params.put("nik", nik);

params.put("password", password);

return params;

}

};

AppController.getInstance().addToRequestQueue(strReq, tag_string_req);

}

4.3.4.2. Register

Berikut merupakan code yang digunakan untuk menjalankan fungsi

register. Nama fungsi utama untuk melakukan register ialah registerUser()

dengan paramater yang digunakan name, nik, dan password kurir. Didalam

fungsi ini terdapat dialog yang berfungsi untuk menampilkan pop up

“Registering” saat program melakukan request API register untuk

mendaftarkan akun user. API register ini menggunakan paramater name, nik

dan password yang diisi oleh user lalu mengirimnya dengan method POST.

Hasil request API register ini dikirim dalam bentuk JSON.

Page 89: (Studi Kasus: PT Wahana Prestasi Logistik)

72

Uin Syarif Hidayatullah Jakarta

Bila berhasil maka program akan menyimpan sesi lalu pindah

halaman ke menu utama dengan menggunakan fungsi intent dan menutup pop

up, bila register gagal maka sistem akan menampilkan pesan kesalahan

dengan menggunakan fungsi Toast.makeText().

private void registerUser(final String name,final String nik,final String password) {

String tag_string_req = "req_register";

pDialog.setMessage("Registering ...");

showDialog();

StringRequest strReq = new

StringRequest(Method.POST,AppConfig.URL_REGISTER,new

Response.Listener<String>() {

@Override

public void onResponse(String response) {

hideDialog();

try {

JSONObject jObj = new JSONObject(response);

boolean error = jObj.getBoolean("error");

if (!error) {

JSONObject user = jObj.getJSONObject("user");

String name = user.getString("name");

String nik = user.getString("email");

String id_kurir = user.getString("id_kurir");

session.setKurir(id_kurir, nik, name);

session.setLogin(true);

Toast.makeText(getApplicationContext(), "User successfully

registered.!", Toast.LENGTH_LONG).show();

Intent intent = new Intent(RegisterActivity.this,MainActivity.class);

startActivity(intent);

finish();

} else {

String errorMsg = jObj.getString("error_msg");

Toast.makeText(getApplicationContext(),errorMsg,

Toast.LENGTH_LONG).show();

}

} catch (JSONException e) {

e.printStackTrace();

}

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

Toast.makeText(getApplicationContext(),

error.getMessage(), Toast.LENGTH_LONG).show();

hideDialog();

Page 90: (Studi Kasus: PT Wahana Prestasi Logistik)

73

Uin Syarif Hidayatullah Jakarta

}

}) {

@Override

protected Map<String, String> getParams() {

Map<String, String> params = new HashMap<String, String>();

params.put("name", name);

params.put("nik", nik);

params.put("password", password);

return params;

}

};

AppController.getInstance().addToRequestQueue(strReq, tag_string_req);

}

4.3.4.3. Lihat Surat Jalan

Berikut merupakan code yang digunakan untuk menjalankan fungsi

lihat surat jalan.. Didalamn fungsi ini terdapat API get surat jalan

menggunakan paramater id user yang tersimpan didalam sesi dengan method

POST. Hasil request API get surat jalan ini dikirim dalam bentuk JSON. API

get surat jalan ini berfungsi untuk mengambil data surat jalan yang telah

tersimpan dalam API lalu menampilkan hasilnya dalam bentuk list dengan

menggunakan fungsi list.setAdapter(). Hasil surat jalan ini ditampilkan

dengan urutan id surat jalan terkecil hingga terbesar dengan menggunakan

fungsi compare().

StringRequest SuratJalanReq = new

StringRequest(Method.POST,AppConfig.URL_GET_SURAT_JALAN,

new Response.Listener<String>() {

@Override

public void onResponse(String response) {

JSONArray jArr = null;

try { jArr = new JSONArray(response); } catch (JSONException e) {

e.printStackTrace();

}

if (jArr != null) {

for (int i = 0; i < jArr.length(); i++) {

try {

JSONObject obj = jArr.getJSONObject(i);

GetSuratJalanModel wp = new GetSuratJalanModel(

obj.getString("nomor"),

obj.getString("tanggal_kirim"),

Page 91: (Studi Kasus: PT Wahana Prestasi Logistik)

74

Uin Syarif Hidayatullah Jakarta

obj.getString("nama_kurir"),

obj.getInt("id_kurir"),

obj.getInt("id"),

obj.getInt("jumlah_barang")

);

arraylist.add(wp);

} catch (JSONException e) {

e.printStackTrace();

}

}

}

Collections.sort(arraylist, new Comparator<GetSuratJalanModel>() {

@Override

public int compare(GetSuratJalanModel lhs, GetSuratJalanModel

rhs) {

return rhs.getIdSJ().compareTo(lhs.getIdSJ());

}

});

adapter = new GetSuratJalanAdapter(GetSuratJalan.this, arraylist);

list.setAdapter(adapter);

hidePDialog();

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

hidePDialog();

}

}) {

@Override

protected Map<String, String> getParams() {

Map<String, String> params = new HashMap<>();

params.put("id_kurir", session.getIdKurir());

return params;

}

};

AppController.getInstance().addToRequestQueue(SuratJalanReq,

"get_surat_jalan");

}

4.3.4.4. Lihat Rute Pengiriman Berbentuk Maps

Berikut merupakan code yang digunakan untuk menjalankan fungsi

lihat rute pengiriman berbentuk maps. Nama fungsi utamanya ialah

showMap() yang merupakan library Google Maps. Didalam fungsi ini

terdapat fungsi getPaketSJ() yang berfungsi untuk melakukan request detail

Page 92: (Studi Kasus: PT Wahana Prestasi Logistik)

75

Uin Syarif Hidayatullah Jakarta

lokasi yang terdapat pada surat jalan dengan mengirim id surat jalan dalam

method POST. Lokasi yang ditangkap berupa bentuk JSON. Setelah sistem

mendapat semua lokasi yang tersedia, selanjutnya sistem akan mencari geo

lokasinya yang berupa longitude dan latitude dengan fungsi

geocoder.getFromLocationName(). Setelah geo lokasi-nya didapat, kemudian

sistem akan menjalankan algoritma ACO dengan menggunakan fungsi

runTSP().

Didalam fungsi runTSP() terdapat pemanggilan fungsi dari class

TravelingSalesman untuk mengeksekusi algoritma ACO dengan

menggunakan parameter ants yaitu jumlah semut, gen yaitu jumlah siklus

semut, evap yaitu nilai penguapan jejak kaki semut, alpha yaitu nilai

pengendali jejak kaki semut, dan beta sebagai nilai pengendali jarak. Setelah

algoritma berhasil mendapatkan rute terpendek, maka sistem akan

menampilkan garis penghubung sebagai rute dengan menggunakan fungsi

routeVertice.add().

private void showMap(){

mapFragment = (SupportMapFragment)

getSupportFragmentManager().findFragmentById(R.id.map);

mapFragment.getMapAsync(GetRuteSJ.this);

} private void getPaketSJ(){

StringRequest strReq = new StringRequest(Request.Method.POST,

AppConfig.URL_GET_RUTE_SJ, new Response.Listener<String>() {

@Override

public void onResponse(String response) {

JSONArray jArr = null;

try {jArr = new JSONArray(response); } catch (JSONException e) {

e.printStackTrace();

}if (jArr != null) {

for (int i = 0; i < jArr.length(); i++) {

try {

JSONObject obj = jArr.getJSONObject(i);

GetRuteSJModel wp = new GetRuteSJModel(

obj.getString("nama_kurir"),

obj.getString("sj_created_at"),

obj.getString("nomor"),

obj.getString("tanggal_kirim"),

obj.getString("nama_barang"),

obj.getString("alamat_penerima"),

Page 93: (Studi Kasus: PT Wahana Prestasi Logistik)

76

Uin Syarif Hidayatullah Jakarta

obj.getString("nama_penerima"),

obj.getString("nama_pengirim"),

obj.getString("jumlah_barang"),

obj.getInt("id_surat_jalan"),

obj.getInt("id_kurir")

);

arraylist.add(wp);

List<Address> addresses = null;

try {

addresses =

geocoder.getFromLocationName(obj.getString("alamat_penerima"), 1);

}

} catch (IOException e) {e.printStackTrace();}

} catch (JSONException e) { e.printStackTrace(); }}

runTSP();

showMap();

} }

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

Toast.makeText(getApplicationContext(),

error.getMessage(), Toast.LENGTH_LONG).show();

hidePDialog(); } }) {

@Override

protected Map<String, String> getParams() {

Map<String, String> params = new HashMap<String, String>();

params.put("sj_id", sj_intent[0]);

return params;

}};

AppController.getInstance().addToRequestQueue(strReq, "get_rute_sj");

}

private void runTSP(){

mst = setM.main(routeArray);

int ants = routeArray.size()*3

int gen = routeArray.size()*3;

double evap = 0.5;

int alpha = 2;

int beta = 7;

TravelingSalesman travelingSalesman = new TravelingSalesman(ants, gen,

evap, alpha, beta, mst, routeArray);

travelingSalesman.run(this);

for (int i = 0; i < best_route.length; i++) {

routeVertice.add(routeArray.get(best_route[i]));

};

}

Page 94: (Studi Kasus: PT Wahana Prestasi Logistik)

77

Uin Syarif Hidayatullah Jakarta

4.3.4.5. Lihat Rute Pengiriman Berbentuk List

Berikut merupakan code yang digunakan untuk menjalankan fungsi

lihat rute pengiriman berbentuk maps. Nama fungsi utamanya ialah

showList(). Didalam fungsi ini terdapat fungsi getPaketSJ() yang berfungsi

untuk melakukan request detail lokasi yang terdapat pada surat jalan dengan

mengirim id surat jalan dalam method POST. Lokasi yang ditangkap berupa

bentuk JSON. Setelah sistem mendapat semua lokasi yang tersedia,

selanjutnya sistem akan mencari geo lokasinya yang berupa longitude dan

latitude dengan fungsi geocoder.getFromLocationName(). Setelah geo lokasi-

nya didapat, kemudian sistem akan menjalankan algoritma ACO dengan

menggunakan fungsi runTSP().

Didalam fungsi runTSP() terdapat pemanggilan fungsi dari class

TravelingSalesman untuk mengeksekusi algoritma ACO dengan

menggunakan parameter ants yaitu jumlah semut, gen yaitu jumlah siklus

semut, evap yaitu nilai penguapan jejak kaki semut, alpha yaitu nilai

pengendali jejak kaki semut, dan beta sebagai nilai pengendali jarak. Setelah

algoritma berhasil mendapatkan rute terpendek, maka sistem akan

menampilkan garis penghubung sebagai rute dengan menggunakan fungsi

routeVertice.add().

public void showList(){

GetRuteSJAdapter adapter = new GetRuteSJAdapter(GetRuteSJList.this,

finallist);

ListView list = (ListView) findViewById(R.id.list_rute_sj);

list.setAdapter(adapter);

hidePDialog();

}

private void getPaketSJ(){

StringRequest strReq = new StringRequest(Request.Method.POST,

AppConfig.URL_GET_RUTE_SJ, new Response.Listener<String>() {

@Override

public void onResponse(String response) {

JSONArray jArr = null;

try { jArr = new JSONArray(response); } catch (JSONException e) {

e.printStackTrace();

} if (jArr != null) {

for (int i = 0; i < jArr.length(); i++) {

try {

Page 95: (Studi Kasus: PT Wahana Prestasi Logistik)

78

Uin Syarif Hidayatullah Jakarta

JSONObject obj = jArr.getJSONObject(i);

GetRuteSJModel wp = new GetRuteSJModel(

obj.getString("nama_kurir"),

obj.getString("sj_created_at"),

obj.getString("nomor"),

obj.getString("tanggal_kirim"),

obj.getString("nama_barang"),

obj.getString("alamat_penerima"),

obj.getString("nama_penerima"),

obj.getString("nama_pengirim"),

obj.getString("jumlah_barang"),

obj.getInt("id_surat_jalan"),

obj.getInt("id_kurir")

);

arraylist.add(wp);

List<Address> addresses = null;

try {

addresses =

geocoder.getFromLocationName(obj.getString("alamat_penerima"), 1);

} } catch (IOException e) {

e.printStackTrace();}

} catch (JSONException e) { e.printStackTrace();}}

for (int i=0; i < address_arr.size(); i++) {

LatLng ll = new LatLng(address_arr.get(i).get(0).getLatitude(),

address_arr.get(i).get(0).getLongitude());

routeArray.add(ll);}

runTSP();

showList();

}}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

Toast.makeText(getApplicationContext(),

error.getMessage(), Toast.LENGTH_LONG).show();

hidePDialog();

}}) {

@Override

protected Map<String, String> getParams() {

Map<String, String> params = new HashMap<String, String>();

params.put("sj_id", sj_intent[0]);

return params;

} };

AppController.getInstance().addToRequestQueue(strReq, "get_rute_sj");}

private void runTSP(){

mst = setM.main(routeArray);

int ants = routeArray.size()*3;

Page 96: (Studi Kasus: PT Wahana Prestasi Logistik)

79

Uin Syarif Hidayatullah Jakarta

int gen = routeArray.size()*3;

double evap = 0.5;

int alpha = 2;.

int beta = 7;

TravelingSalesman travelingSalesman = new TravelingSalesman(ants, gen,

evap, alpha, beta, mst, routeArray);

travelingSalesman.run(this); }

5.3.5.6. Mengulang Proses Pencarian Rute Terpendek

Fungsi ini merupakan fungsi yang berada dalam 1 class bersama

dengan fungsi lihat rute pengiriman berbentuk List. Nama fungsi utama

dalam melakukan mengulang proses pencarian rute terpendek ialah

onRefresh(). Ketika user melakukan swipe (menggeser layar dari atas

kebawah) maka sistem akan mengeksekusi fungsi onRefresh dimana fungsi

ini akan menjalankan ulang fungsi showList().

swipeRefreshLayout.setOnRefreshListener(this);

@Override

public void onRefresh() {

intent.putExtra("refresh_aco", true);

finish();

startActivity(intent);

}

5.3.5.7. Logout

Berikut merupakan code yang digunakan untuk melakukan logout.

Nama fungsi utamanya ialah logoutUser(). Ketika user menekan tombol

logout pada menu utama, maka sistem akan menjalankan fungsi ini lalu

menghapus sesi dengan menggunakan fungsi session.setLogin(false),

kemudian pindah ke halaman login dengan menggunakan fungsi intent().

private void logoutUser() {

session.setLogin(false);

Intent intent = new Intent(MainActivity.this, LoginActivity.class);

startActivity(intent);

finish();

}

Page 97: (Studi Kasus: PT Wahana Prestasi Logistik)

80

Uin Syarif Hidayatullah Jakarta

4.4. Tahap Implementasi

4.4.1. Blackbox Testing

Pada tahap ini akan dilakukan pengujian aplikasi. Pengujian ini dilakukan

untuk memastikan bahwa program dapat berjalan dengan baik saat digunakan. Dari

setiap tes yang dilakukan tidak menutup kemungkinan terdapat kesalahan dari

aplikasi yang sudah di tes, namun dengan dilakukannya pengujian ini setidaknya

dapat meminimalisir kesalahan yang ada pada aplikasi. Penulis menggunakan

blackbox testing dalam melakukan pengujian ini.

Tabel 4. 17 Pengujian Aplikasi

No Pengujian Fitur /

Menu Hasil yang diharapkan Hasil Pengujian

1

Tampilan halaman

login untuk

melakukan login

User dapat melihat tampilan

halaman login lalu

melakukan login

Berhasil

2

Tampilan halaman

register untuk

mendaftarkan user

baru

User dapat melihat tampilan

halaman register lalu

mendaftarkan akun barunya

(register).

Berhasil

3

Tampilan halaman

menu utama

User dapat melihat halaman

menu utama setelah

melakukan proses login

ataupun register

Berhasil

4

Tampilan halaman

surat jalan untuk

melihat informasi

surat jalan

User dapat melihat tampilan

halaman surat jalan serta

informasi surat jalan yang

telah terinput untuknya.

Berhasil

5

Tampilan halaman

rute pengiriman

berbentuk maps

untuk melihat rute

terpendek surat

jalan dengan

bentuk maps

User dapat melihat

informasi rute pengiriman

berbentuk maps dengan

marker yang dihubungkan

oleh garis lurus sebagai

penanda rute terpendek. Berhasil

Page 98: (Studi Kasus: PT Wahana Prestasi Logistik)

81

Uin Syarif Hidayatullah Jakarta

No Pengujian Fitur /

Menu Hasil yang diharapkan Hasil Pengujian

6

Tampilan halaman

rute pengiriman

berbentuk list

untuk melihat rute

terpendek surat

jalan dengan

bentuk list

User dapat melihat

informasi rute pengiriman

berbentuk list / daftar

dengan urutan nomor lokasi

tujuan sesuai dengan rute

terpendek.

Berhasil

7

Fungsi mengulang

proses pencarian

rute terpendek

untuk mencari

hasil algoritma

pencarian rute

terpendek yang

lebih optimal.

User dapat mengulang

kembali proses pencarian

rute terpendek yang telah

dilakukan dan disimpan

kedalam basisdata untuk

mencari hasil algoritma

yang lebih optimal.

Berhasil

8

Tombol Logout

untuk menghapus

sesi login dan

keluar dari menu

utama menuju ke

halaman login

User dapat menghapus sesi

login dengan menekan

tombol logout pada halaman

menu utama kemudian

sistem menampilkan

halaman login

Berhasil

9

Tampilan

progress dialog

saat sistem

menjalankan

proses hingga

membuat user

menunggu

User dapat melihat tampilan

progress dialog saat sistem

menjalankan proses maupun

fungsi hingga membuat user

menunggu

Berhasil

10

Pesan gagal saat

user gagal

melakukan login

User dapat melihat pesan

yang ditampilan oleh sistem

saat gagal melakukan login

Berhasil

11

Pesan gagal saat

user gagal

melakukan

register

User dapat melihat pesan

yang ditampilan oleh sistem

saat gagal melakukan

register Berhasil

Page 99: (Studi Kasus: PT Wahana Prestasi Logistik)

82

Uin Syarif Hidayatullah Jakarta

No Pengujian Fitur /

Menu Hasil yang diharapkan Hasil Pengujian

12

User dapat

melihat direksi

untuk mengetahui

rute dari lokasi

user menuju

lokasi pengiriman

User dapat melihat direksi

atau arah untuk dapat

menuju lokasi pengiriman

pada halaman rute

pengiriman berbentuk maps

Berhasil

13

User dapat

menggeser peta

dan melakukan

zoom in maupun

zoom out untuk

memposisikan

peta

User dapat menggeser peta

dan melakukan zoom in

maupun zoom out untuk

memposisikan peta pada

halaman rute pengiriman

berbentuk maps

Berhasil

14

User dapat

menggeser daftar

rute pengiriman

untuk melihat

detail lokasi

pengiriman pada

nomor urut yang

berada dibawah

User dapat menggeser daftar

rute pengiriman dengan

melakukan swipe kebawah

untuk melihat detail lokasi

pengiriman pada nomor urut

yang belum tampil pada

halaman rute pengiriman

berbentuk list

Berhasil

Page 100: (Studi Kasus: PT Wahana Prestasi Logistik)

83

BAB V

HASIL DAN PEMBAHASAN

5.1. Hasil

5.1.1. Hasil Tampilan Aplikasi

Tabel 5. 1 Hasil Tampilan Aplikasi

Keterangan Gambar

Berikut merupakan hasil tampilan

halaman login. Halaman login

merupakan halaman yang pertama kali

dilihat oleh user saat membuka aplikasi.

Gambar 5. 1 Hasil Tampilan Halaman Login

Page 101: (Studi Kasus: PT Wahana Prestasi Logistik)

84

Keterangan Gambar

Berikut merupakan hasil tampilan

halaman register. Halaman register

merupakan halaman saat user menekan

tombol register pada halaman login.

Gambar 5. 2 Hasil Tampilan Halaman Register

Berikut merupakan Hasil tampilan

halaman menu utama. Halaman menu

utama merupakan halaman yang dilihat

oleh user saat berhasil melakukan login

maupun register.

Gambar 5. 3 Hasil Tampilan Halaman Menu

Utama

Page 102: (Studi Kasus: PT Wahana Prestasi Logistik)

85

Keterangan Gambar

Berikut merupakan hasil tampilan

halaman lihat surat jalan. Halaman lihat

surat jalan merupakan halaman yang

dilihat oleh user saat memilih menu lihat

surat jalan pada halaman menu utama.

Gambar 5. 4 Hasil Tampilan Halaman Lihat Surat

Jalan

Berikut merupakan hasil tampilan

halaman rute pengiriman berbentuk list.

Halaman rute pengiriman berbentuk list

merupakan tampilian rute pengiriman

berbentuk list yang dapat diakses oleh

user setelah memilih surat jalan dengan

bentuk list pada halaman lihat surat jalan.

Gambar 5. 5 Hasil Tampilan Halaman Rute

Pengiriman Berbentuik List

Page 103: (Studi Kasus: PT Wahana Prestasi Logistik)

86

Keterangan Gambar

Berikut merupakan user interface

halaman rute pengiriman berbentuk

maps. Halaman ini dapat diakses oleh

user setelah memilih surat jalan dengan

bentuk maps pada halaman lihat surat

jalan.

Gambar 5. 6 Hasil Tampilan Halaman Rute

Pengiriman Berbentuk Maps

5.1.2. Hasil Proses Algoritma ACO dengan 34 Lokasi

Berdasarkan data 33 alamat pengiriman yang didapat dari PT Wahana

Prestasi Logistik, penulis telah mengimplementasikan algoritma ACO untuk

melakukan pencarian rute terpendek dari 33 lokasi tersebut ditambah 1 lokasi awal

yaitu alamat PT Wahana Prestasi Logistik Rempoa. Berikut merupakan 34 lokasi

yang didapat penulis beserta longitude dan latitude-nya dengan menggunakan fungsi

Google Maps geocode():

Tabel 5. 2 Alamat 34 Lokasi Beserta Koordinat

Id Alamat Koordinat

Longitude Latitude

0 PT Wahana Prestasi Logistik -6.290973 106.758483

1

Jl. Lestari Pisangan Ciputat

Tim. Kota Tangerang Selatan

Banten 15419

-6.320615 106.760968

Page 104: (Studi Kasus: PT Wahana Prestasi Logistik)

87

Id Alamat Koordinat

Longitude Latitude

2

Jl. Legoso Raya No.80a,

Pisangan, Ciputat Tim., Kota

Tangerang Selatan, Banten

15419

-6.316703 106.753654

3

Jl. Legoso Raya 16-36 Pisangan

Ciputat Tim. Kota Tangerang

Selatan Banten 15419

-6.315913 106.753792

4

JL.MURISALIM NO.27A

RT.006/02 KEL.PISANGAN,

KEC.CIPUTAT TIMUR,

TANGERANG SELATAN

-6.319242 106.75590

5

Jl. H. Muri Salim II 49-52

Pisangan Ciputat Tim. Kota

Tangerang Selatan Banten

15419

-6.318785 106.756842

6

Jl Boyong (Gg Boyong) no

8 RT 2 RW 2 Pisangan, Ciputat

Timur, Tangerang Selatan

15419

-6.320352 106.755685

7 JL.H MURI SALIM II NO.45 A

CIPUTAT TIMUR, TANGSEL

-6.318836 106.757053

8

Jl. H. Muri Salim II No.50

Pisangan Ciputat Tim. Kota

Tangerang Selatan Banten

15419

-6.318865 106.756658

Page 105: (Studi Kasus: PT Wahana Prestasi Logistik)

88

Id Alamat Koordinat

Longitude Latitude

9

Jl. Legoso Raya No.41,

Pisangan, Ciputat Tim., Kota

Tangerang Selatan, Banten

15419

-6.319974 106.754548

10

Jl. Puri Intan No.46 Pisangan

Ciputat Tim. Kota Tangerang

Selatan Banten 15419

-6.312643 106.758182

11

Gg. Baping 26-57 Pisangan

Ciputat Tim. Kota Tangerang

Selatan Banten 15419

-6.321985 106.758148

12

Jl. Tarumanegara Cireundeu

Ciputat Tim. Kota Tangerang

Selatan Banten 15419

-6.316167 106.763984

13

Jl. Legoso Raya 125 Pisangan

Ciputat Tim. Kota Tangerang

Selatan Banten 15419

-6.321478 106.75509

14

Jl. Legoso Raya 9-15 Pisangan

Ciputat Tim. Kota Tangerang

Selatan Banten 15419

-6.322140 106.75589

15

Jl. Nurul Huda No.115 Cemp.

Putih Ciputat Tim. Kota

Tangerang Selatan

Banten 15412

-6.305727 106.75375

16

Jl. Ir H. Juanda No.40A Cemp.

Putih Ciputat Tim. Kota

Tangerang Selatan

Banten 15412

-6.311689 106.753514

Page 106: (Studi Kasus: PT Wahana Prestasi Logistik)

89

Id Alamat Koordinat

Longitude Latitude

17

Jl. Lurah Disah No.23 Pisangan

Ciputat Tim. Kota Tangerang

Selatan Banten 15419

-6.3215219 106.754172

18.

Jl. Legoso Raya, Pisangan,

Ciputat Tim., Kota Tangerang

Selatan, Banten 15419

-6.32284680 106.756937

19

: JALAN LEGOSO RAYA

NO.36 RT003 RW01 CIPUTAT

TIMUR KOTA TANGERANG

SELATAN BANTEN

-6.30850700 106.7565242

20

Jl. Dahu Pisangan Ciputat Tim.

Kota Tangerang Selatan Banten

15419

-6.3183811 106.7537722

21

Jl. Semanggi II 2 Cemp. Putih

Ciputat Tim. Kota Tangerang

Selatan Banten 15412

-6.3096067 106.7550756

22

Jl. Ir H. Juanda No.40, Cemp.

Putih, Ciputat Tim., Kota

Tangerang Selatan,

Banten 15412

-6.311782 106.753445

23

Jl.Ciputat Molek V no.54a.

Pisangan, Ciputat Timur, Kota

Tangerang Selatan, Banten

15419

-6.314470 106.753157

24

Jl. H. Koweng No.54 Pisangan

Ciputat Tim. Kota Tangerang

Selatan Banten 15419

-6.3154756 106.752773

Page 107: (Studi Kasus: PT Wahana Prestasi Logistik)

90

Id Alamat Koordinat

Longitude Latitude

25

Jl. Pondok Hijau Raya Blok A2

No.18 Pisangan Ciputat Tim.

Kota Tangerang Selatan Banten

15419

-6.31794 106.7512069

26 Jl. Pondok Hijau Raya Kota

Tangerang Selatan Banten

-6.3189492 106.75110330000001

27

Jl. Hijau Lestari Raya Pisangan

Ciputat Tim. Kota Tangerang

Selatan Banten 15419

-6.3188059 106.7515736

28

Jalan Batan 35 Pisangan Ciputat

Tim. Kota Tangerang Selatan

Banten 15419

-6.311889 106.756091

29

Jl. H. Limun 39-36 Pisangan

Ciputat Tim. Kota Tangerang

Selatan Banten 15419

-6.308994 106.757534

30

Jl. H. Limun No.26A Pisangan

Ciputat Tim. Kota Tangerang

Selatan Banten 15419

-6.308377 106.75723

31

Jl. Kertamukti Gg. H.Asen

Saimin Pisangan Ciputat Tim.

Kota Tangerang Selatan Banten

15419

-6.3064288 106.75859

32

jl legoso raya no 1 rt 001/01

pisangan, ciputat timur,

tangerang selatan 15419

-6.3232168 106.758126

33

Jl. Lurah Disah No.9 Pisangan

Ciputat Tim. Kota Tangerang

Selatan Banten 15419

-6.321488 106.754167

Page 108: (Studi Kasus: PT Wahana Prestasi Logistik)

91

Kemudian, berikut merupakan hasil lintasan rute pengiriman terpendek

dengan total jarak 10.18 km dan lama waktu eksekusi algoritma 59 detik:

Tabel 5. 3 Lintasan Rute Pengiriman Terpendek Dengan 34 Lokasi

0 -31 - 30 -29 - 21 - 19 - 28 - 10 - 12 - 1 - 32 - 11 - 18 - 14 - 13 - 33 - 17 - 9 - 6 - 8 - 5

- 7 - 4 - 25 - 27 - 26 - 20 - 2 - 3 - 24 - 23 - 22 - 16 - 15 - 0

Hasil tampilan rute pengiriman terpenden dengan 34 lokasi dapat dilihat pada

gambar 5.8.

5.2. Pembahasan

5.2.1. Perangkat Pengembangan Sistem

Berikut ini adalah spesifikasi perangkat keras dan perangkat lunak yang telah

penulis gunakan untuk dapat membuat aplikasi ini.

5.2.1.1. Perangkat Keras

• laptop Lenovo T440s, Intel® Core(TM) i5-4300 (4 CPUs), 2.5GHz,

8192MB RAM, DirectX 12, Intel® HD Graphics Family 2160MB

• Smartphone Samung Galaxy J3 Pro, CPU type Quad-Core, CPU

speed 1.4GHz, RAM 2GB, internal memory 16GB.

5.2.1.2. Perangkat Lunak

• Windows 10 64-bit sebagai sistem operasi laptop.

• Android Studio 3.1.2 untuk membuat logika program.

• SQLite DB Browser 3.10 untuk mengelola basisdata.

• Android Nougat 7.0 sebagai sistem operasi android perangkat

pengujian.

5.2.2. Penetapan Parameter Algortima ACO

Agar proses algoritma mendapatkan hasil yang paling optimal, pengaruh

besar paramater yang digunakan sangat penting. Untuk itu, dalam menentukan nilai α

(alpha) dan β (beta), penulis melakukan uji coba dengan beragam nilai paramater α

dan β dengan ketentuan 0 < α < 4, dan 1 < β < 8. Setiap nilai dilakukan sebanyak tiga

kali, dengan nilai ants dan gens sebesar 34. Angka 34 ini penulis gunakan

Page 109: (Studi Kasus: PT Wahana Prestasi Logistik)

92

berdasarkan hasil kuesioner rata-rata jumlah pengiriman yang dilakukan oleh kurir

PT Wahana Prestasi Logistik dalam satu hari yaitu 33 pengiriman ditambah 1 lokasi

awal. Lalu nilai p (pengendali penguapan pheromone) sebesar 0.5. Berikut

merupakan hasil uji coba parameter nilai α dan β dengan 3 kali pengujian:

Tabel 5.4 Hasil Uji Coba Parameter α dan β

jumlah

lokasi

ants,

generations α β

Pengujian

1 (km)

Pengujian

2

(km)

Pengujian 3

(km)

Rata-rata

(km)

34 34 1 3 11.68 11.44 11.33 11.49

34 34 1 4 10.97 10.83 10.91 10.90

34 34 1 5 10.71 10.59 11.00 10.77

34 34 1 6 10.96 10.77 10.87 10.87

34 34 1 7 10.61 10.83 10.92 10.79

34 34 2 2 11.49 12.55 12.41 12.15

34 34 2 4 10.92 10.92 11.04 10.96

34 34 2 5 10.67 10.88 11.05 10.87

34 34 2 6 10.64 10.65 10.58 10.63

34 34 2 7 10.73 10.75 10.61 10.69

34 34 3 7 10.80 10.80 10.90 10.83

Berdasarkan hasil uji coba tersebut, terdapat 3 kandidat nilai α dan β dengan

nilai rata-rata yang paling optimal, diantaranya ialah 1 dan 5, 2 dan 6, serta 2 dan 7.

Selanjutnya, untuk lebih mengoptimalkan hasil proses dari algoritma ACO, penulis

akan melakukan uji coba dengan menggunakan parameter ants dan generations

sebesar 2 kali lipat dan 3 kali lipat dari besaran yang dipakai sebelumnya, yaitu 34

ants dan generations menjadi 68 dan 102, dengan menggunakan besar parameter α

dan β dari 3 kandidat terbaik sebelumnya. Berikut merupakan hasil uji coba

parameter nilai ants, α dan β dengan 3 kali pengujian:

Page 110: (Studi Kasus: PT Wahana Prestasi Logistik)

93

Tabel 5.5 Hasil Uji Coba Parameter ants, α dan β

Jumlah

lokasi ants generations α β

Pengujian

1 (km)

Pengujian

2

(km)

Pengujian

3

(km)

Rata-

rata

(km)

34 68 68 1 5 10,78 10.72 10.65 10.71

34 68 68 2 6 10.31 10.48 10.71 10.50

34 68 68 2 7 10.83 10.82 10.56 10.74

34 102 102 1 5 10.59 10.71 10.06 10.45

34 102 102 2 6 10.51 10.65 10.75 10.64

34 102 102 2 7 10.78 10.37 10.18 10.44

Berdasarkan hasil uji coba tersebut, didapatkan besar paramter ants,

generations, α, dan β yang paling optimal dengan 34 lokasi ialah berturut-turut

sebesar 34, 102, 2, dan 7. Maka, penulis menetapkan besaran parameter yang

digunakan dalam proses algoritma ACO ialah sebagai berikut:

Tabel 5.6 Besaran Parameter yang Digunakan Dalam Proses Algoritma ACO

Variabel Nilai

α (alpha) 2

β (beta) 7

p (pengendali penguapan pheromone) 0,5

Ants (jumlah semut) 3 𝑥 𝑗𝑢𝑚𝑙𝑎ℎ 𝑙𝑜𝑘𝑎𝑠𝑖

Generations (jumlah siklus semut) 3 𝑥 𝑗𝑢𝑚𝑙𝑎ℎ 𝑙𝑜𝑘𝑎𝑠𝑖

5.2.3. Perbandingan Algoritma ACO Dengan Metode Konvensional

Untuk menguji tingkat akurasi dari hasil proses pencarian rute terpendek oleh

algoritma ACO, maka penulis membandingkan hasilnya dengan perhitungan TSP

menggunakan permutasi yaitu dengan cara membangkitkan semua kemungkinan

solusi yang ada. Motode ini penulis gunakan sebagai perbandingan dikarenakan

tingkat akurasi mencapai 100%, permutasi membangkitkan semua kemungkinan

solusi yang ada, lalu mencari lintasan yang memiliki total jarak terpendek. Dalam

Page 111: (Studi Kasus: PT Wahana Prestasi Logistik)

94

menjalankan permutasi, penulis membuat program berbasis java Android dengan

menggunakan source code berikut:

public class Konvensional {

private static int mst_length, k_length;

private static Float[][] mst = new Float[99][99];

private static Float best;

private static int p;

private static void permutation(int[] a, int n) {

if (n == 1) {

p++;

Float eval = 0.0f;

List<String> perm = new ArrayList<>();

List<Float> edge = new ArrayList<>();

for (int k = 0; k < mst_length; k++) {

perm.add(String.valueOf(a[k]));

if (k>0){

eval += mst[a[k-1]][a[k]];

edge.add(mst[a[k-1]][a[k]]);

if (k == (mst_length-1)) {

eval += mst[a[0]][a[k]];

edge.add(mst[a[0]][a[k]]);

}

}

}

if (eval < best)

best = eval;

Log.d("BESTEVAL", "EVAL : "+eval.toString()+", BEST : " + best.toString());

return;

}

for (int i = 0; i < n; i++) {

swap(a, i, n-1);

permutation(a, n-1);

swap(a, i, n-1);

}

}

private static void swap(int[] a, int i, int j) {

int c = a[i];

a[i] = a[j];

a[j] = c;

}

public Konvensional(Float[][] mst1, int l) {

p =0;

mst = mst1;

mst_length = l;

best = 999999.0f;

int a[] = new int[99];

for (int i = 0; i < mst_length; i++) {

a[i] = i;

}

permutation(a, mst_length);

}

}

Page 112: (Studi Kasus: PT Wahana Prestasi Logistik)

95

Selanjutnya, penulis akan menggunakan 10 sampel lokasi yang diambil

secara acak untuk membandingkan algoritma ACO dengan metode konvensional.

Jumlah sampel lokasi ini penulis ambil dikarenakan bila lebih dari 10 sampel lokasi,

maka proses eksekusi program dengan menggunakan permutasi akan memakan

waktu yang cukup lama dan membuat aplikasi pada alat pengembang menjadi force

close. Sampel lokasi yang penulis gunakan untuk uji coba dapat dilihat pada tabel

4.9. Berikut merupakan tabel perbandingan penyelesaian TSP menggunakan

algoritma ACO dan konvensional hasil pengujian yang telah penulis lakukan:

Tabel 5. 7 Perbandingan Algoritma ACO Dengan Metode Konvensional

Indikator ACO Konvensional

total iterasi (jumlah lokasi x (jumlah lokasi − 1)) +

(𝑎𝑛𝑡𝑠) x (𝑔𝑒𝑛𝑒𝑟𝑎𝑡𝑖𝑜𝑛𝑠) x (jumlah lokasi −

1)

(jumlah lokasi)!

total iterasi pada

10 lokasi

(10 𝑥 (10 − 1)) +

(10 𝑥 3) 𝑥 (10 𝑥 3) 𝑥 (10 − 1) = 8,190

10! = 3,628,800

lama waktu

proses pada 10

lokasi

0.1 detik 341 detik

jarak terpendek 92.50 km 92.50 km

lintasan

terpendek

0 - 2 - 5 - 3 - 8 - 9 - 4 - 7 - 6 - 1 - 0 [0,2,5,3,8,9,4,7,6,1]

Page 113: (Studi Kasus: PT Wahana Prestasi Logistik)

96

Berdasarkan hasil uji coba tersebut, didapatkan hasil jarak terpendek dan

lintasan terpendek yang sama, tetapi dengan lama waktu proses yang berbeda.

Berikut merupakan hasil tampilan rute terpendek dengan 10 lokasi:

Gambar 5.7 Rute Terpendek 10 Lokasi

Page 114: (Studi Kasus: PT Wahana Prestasi Logistik)

97 Uin Syarif Hidayatullah Jakarta

BAB VI

PENUTUP

6.1. Kesimpulan

Penerapan algoritma Ant Colony Optimization (ACO) bertujuan

menyelesaikan Traveling Salesman Problem (TSP) terkait dengan pencarian rute

pengiriman terpendek di PT Wahana Prestasi Logistik berbasis sistem operasi

Android. Penelitian dilakukan dengan metode wawancara, kemudian kuesioner,

hingga melakukan pengujian terhadap aplikasi. Selanjutnya, dapat diambil sejumlah

kesimpulan sebagai berikut:

• Aplikasi yang dibangun sudah berjalan pada perangkat Android dan bisa

mengakses data surat jalan yang berada di PT Wahana Prestasi Logstik API,

serta berhasil menunjukkan rute pengiriman terpendek dalam bentuk maps

maupun list.

• Algoritma Ant Colony Optimization (ACO) mampu mencari rute terpendek

dari 34 lokasi berbeda dengan total jarak 10.18 kilometer dan lama waktu

eksekusi algoritma selama 59 detik.

• Aplikasi pencari rute pengiriman terpendek ini sudah bisa menampilkan

berberapa fitur yaitu login, logout, lihat surat jalan, lihat rute pengiriman

berbentuk maps, lihat rute pengiriman berbentuk list, mengulang proses

pencarian rute terpendek, dan melakukan register.

6.2. Saran

Berdasarkan kekurangan serta keterbatasan ilmu yang dimiliki oleh penulis

dalam mengembangkan aplikasi ini, maka ada beberapa hal yang penulis sarankan

dalam pengembangan aplikasi selanjutnya, yaitu:

Page 115: (Studi Kasus: PT Wahana Prestasi Logistik)

98

Uin Syarif Hidayatullah Jakarta

• Pada pengembangan aplikasi selanjutnya diharapkan dapat dioperasikan tidak

hanya pada smartphone android saja, melainkan juga bisa dioperasikan pada

platform lain.

• Sistem yang dibuat untuk melakukan update database masih statis (belum

dinamis) sehingga membutuhkan admin panel untuk dapat mengelola

database yang terdapat pada PT Wahana Prestasi Logistik API.

• Pada pengembangan aplikasi selanjutnya diharapkan dapat membandingkan

algoritma yang dipakai dengan metode heuristik lainnya dalam melakukan

pencarian atau optimasi rute terpendek, seperti algoritma genetika, logika

fuzzy, atau jaringan syaraf tiruan.

Page 116: (Studi Kasus: PT Wahana Prestasi Logistik)

99

Uin Syarif Hidayatullah Jakarta

DAFTAR PUSTAKA

Abdul Aziz, Wiharto, Bayu W. (2013). Pemanfaatan Web Service Moodle berbasis

Rest-Json untuk Membangun Moodle Online Learning Extension berbasis

Android. Surakarta: Universitas Sebelas Maret.

Achmad Ridwan, Aisyatul Karima, S.Kom, MCS (2015), Perbandingan Algoritma

Djikstra dan Algoritma Ant Colony Optimation dalam Traveling Salesman

Problem (TSP) Pada Kota Semarang. Semarang: Universitas Dian

Nuswantoro.

Aldio Firando (2014). Pemanfaatan Teknologi GPS dan Kompas Dalam

Pembangunan Aplikasi Friend Finder Berbasis Mobile Pada Platform

Android. Bandung: Perpustakaan UNIKOM.

Artha Johar (2016). Mengenal Perusahaan Jasa Pengiriman Barang (Online).

(http://www.arthanugraha.com/mengenal-perusahaan-jasa-pengiriman-

barang), diakses pada tanggal 18 Januari 2018.

Corinne Brucato (2013). The Traveling Salesman Problem. University of Pittsburgh.

Dewi Gayatri (2018). Teknik Pengambilan Sampel (Online).

(http://staff.ui.ac.id/system/files/users/dewi_g/material/teknikpengambilansa

mpel.pdf), diakses pada tanggal 27 Juni 2018.

Farnanda Herda Perdana (2018). Modul Ajar Teori Graf dan Otomata (Online).

(https://edoc.site/modul-tgo-pdf-free.html), diakses pada tanggal 15 Juni

2018.

Hardianto (2013), Implementasi Algoritma Heuristik untuk Optimasi Rute Terpendek

Bontang.: Sekolah Tinggi Teknologi Bontang.

Hasnain Ali, Arpan Kumar Kar (2018), Discriminant Analysis using Ant Colony

Optimization – An Intra Algorithm Exploration. Procedia Computer Science:

International Conference on Computational Inteligence and Data Science

(ICCIDS).

Kairanbay Magzhan, Hajar Mat Jani. (2013). A Review And Evaluations Of Shortest

Path Algorithms. International Journal of Scientific & Tecknology Research.

Page 117: (Studi Kasus: PT Wahana Prestasi Logistik)

100

Uin Syarif Hidayatullah Jakarta

Karmilasari (2018). Testing & Implementation Sistem (Online).

(http://karmila.staff.gunadarma.ac.id/Downloads/folder/0.18), diakses pada

tanggal 17 Juni 2018.

M. E. Winarno (2018). Metode Penelitian Dalam Pendidikan Jasmani. Malang:

Penerbit Universitas Negeri Malang.

Nila Wulandari (2013). Rancang Bangun Aplikasi Multi Bahasa. Perpustakaan

UNIKOM.

N. D. Ramadani, K. B. Tammam, A. B. Setyo, A. A. B. Pratama, M. C. Firmansyah,

E. Faizah (2017). Pertemuan 9, Android Database SQLitep (Online).

(http://hirupmotekar.com/2017/12/28/pertemuan-9-android-database-sqlite/),

diakses pada tanggal 17 Juni 2018.

Nur Hidayati (2018). Penggunaan Rapid Application Development Dalam Rancang

Bangun Program Simpan Pinjam Pada Koperasi. Jakarta: AMIK BSI.

Sangadji, Etta M., Sopiah. 2013. Perilaku Konsumen – Pendekatan Praktis disertai

Himpunan Jurnal Penelitian. Yogyakarta: Penerbit Andi.

Suwartono. (2014). Dasar-dasar Metodologi Penelitian. Yogyakarta: Penerbit Andi.

Thomsom Mary, M.Kom (2017). Modul Bahasa Pemrograman Java.Padang: STKIP

PGRI.

T. Ramadhani, G. F. Hertono, dan B.D. Handari (2016). An Ant Colony Optimization

Algorithm for Solving the Fixed Destination Multi-depot Multiple Traveling

Salesman Problem with Non-rando Parameters. Depok: Universitas

Indonesia.

Vaidehi Joshi, 2017. The Trials and Tribulations of the Traveling Salesman (Online).

(https://medium.com/basecs/the-trials-and-tribulations-of-the-traveling-

salesman-56048d6709d), diakses pada tanggal 15 Juni 2018.

Wahana Logistik. (2017). Tentang Kami | PT Wahana Prestasi Logistik (Online).

(http://wahana.com/), diakses pada tanggal 3 Januari 2018.

Wikipedia (2018). Android Sistem Operasi (Online).

(https://id.wikipedia.org/wiki/Android_sistem_operasi), diakses pada tanggal

16 Juni 2018.

Page 118: (Studi Kasus: PT Wahana Prestasi Logistik)

101

Uin Syarif Hidayatullah Jakarta

LAMPIRAN

1. Responden Kuesioner

No. Nama NIK Wilayah

1. Erika Butar 55151060 Ciputat

2. Agus Setiawan 55153577 Ciputat

3. Cipta Yuana 55160816 Ciputat

4. Afri Susiyanto 55161870 Ciputat

5. Ihsan Hakim Noor 55171627 Ciputat

6. Rio Abadi 55171935 Ciputat

7. Darmawan 55172641 Ciputat

8. Angga Adi Saputra 55172670 Ciputat

9. Muhammad Ali Akbar 69161896 Ciputat

10. Arpan Asri 69162097 Ciputat

11. Rio Chandra Yaniolizza 69162619 Ciputat

12. Nanang Triyanto 69162620 Ciputat

Page 119: (Studi Kasus: PT Wahana Prestasi Logistik)

102

Uin Syarif Hidayatullah Jakarta

2. Hasil Kuesioner

2831

26

34

53

2420

52

22

40

3229

0

10

20

30

40

50

60

1 2 3 4 5 6 7 8 9 10 11 12

Jumlah Paket

Jumlah Paket

58.33%16.67%

25%

Cara Menentukan Lintasan Pengiriman Paket

Dari terdekat hingga ke yangterjauh

Alamat yang diketahui akanlebih diutamakan

Tidak tentu

Page 120: (Studi Kasus: PT Wahana Prestasi Logistik)

103

Uin Syarif Hidayatullah Jakarta

83.30%

16.70%

Kesulitan dalam Menemukan LintasanTerpendek

Ya Tidak

16.70%

83.30%

Penggunaan Aplikasi Sejenis

Ya Tidak

Page 121: (Studi Kasus: PT Wahana Prestasi Logistik)

104

Uin Syarif Hidayatullah Jakarta

66.70%8.30%

25%

Sistem Operasi

Android

BlackBerry

Symbian

91.70%

8.30%

Tertarik dengan Aplikasi

Ya Tidak

Page 122: (Studi Kasus: PT Wahana Prestasi Logistik)

105

Uin Syarif Hidayatullah Jakarta

3. Hasil Wawancara

No. Pertanyaan Jawaban Narasumber

1. Profil Narasumber

Novel Zulham,

General Manager Operasional PT

Wahana Prestasi Logistik

2. Bagaimana prosedur yang harus dilakukan

oleh kurir untuk melakukan pengiriman paket

Pertama kurir datang ke kantor

untuk mengambil surat jalan serta

paket yang akan kirim pada hari

tersebut, lalu kurir mengirim paket

ke setiap lokasi tujuan pengiriman,

setelah itu kurir kembali ke kantor

untuk melaporkan hasilnya

3.

Apakah ada rumus tertentu yang dimiliki oleh

kurir untuk menentukan rute atau rute

perjalanan saat mengirim paket?

Sampai saat ini belum ada, itu

diserahkan sepenuhnya kepada

kurir

4.

Menurut Anda, faktor apa saja yang menjadi

acuan kurir untuk menentukan rute perjalanan

saat mengirim paket?

Memilih lokasi yang terdekat

terlebih dahulu

5.

Menrut Anda, apakah penting untuk

menemukan rute terpendek saat kurir

mengirim paket?

Penting, agar kurir bisa menghemat

waktu yang ditempuh, tenaga yang

dikerahkan serta biaya yang

dikeluarkan saat melakukan

perjalanan pengiriman paket

6.

Apakah perlu dibuatkan suatu sistem yang

dapat menemukan rute atau rute terpendek

pengiriman paket oleh kurir?

Perlu, akan bermanfaat untuk kurir,

perusahaan kami akan mendukung

pembuatan sistem tesebut

7. Bagaimana pendapat Anda bila sisterm

tersebut nantinya ada

Kurir akan dimudahkan dalam

pemilihan rute pengiriman paket,

mereka akan terbantu.

Page 123: (Studi Kasus: PT Wahana Prestasi Logistik)

106

Uin Syarif Hidayatullah Jakarta

4. Permohonan Riset

Page 124: (Studi Kasus: PT Wahana Prestasi Logistik)

107

Uin Syarif Hidayatullah Jakarta

5. SK Penelitian

Page 125: (Studi Kasus: PT Wahana Prestasi Logistik)

108

Uin Syarif Hidayatullah Jakarta

6. Pernyataan Wawancara

Page 126: (Studi Kasus: PT Wahana Prestasi Logistik)

109

Uin Syarif Hidayatullah Jakarta

7. Blackbox Testing

Page 127: (Studi Kasus: PT Wahana Prestasi Logistik)

110

Uin Syarif Hidayatullah Jakarta