Anda di halaman 1dari 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
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

ii
iii
iv
v
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)

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

vii
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
trivaldirahardja.tr@gmail.com.
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

viii
Penulis : Trivaldi Rahardja
Program Studi : Teknik Informatika
Judul : Penerapan Algoritma Ant Colony Optimization Dalam
Menyelesaikan Traveling Salesman Problem (Studi Kasus: PT
Wahana Prestasi Logistik)

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 : TSP, Algoritma ACO, Rute Terpendek, Metode Heuristic,


RAD, Blackbox Testing.

ix
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

x
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

xi
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

xii
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

xiii
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

xiv
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

xv
Gambar 5. 6 Hasil Tampilan Halaman Rute Pengiriman Berbentuk Maps ............... 86
Gambar 5.7 Rute Terpendek 10 Lokasi ..................................................................... 96

xvi
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

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

1
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:
3

Sistem Operasi

25%
Android
BlackBerry

8.30% 66.70% Symbian

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


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

8
Uin Syarif Hidayatullah Jakarta
9

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

Uin Syarif Hidayatullah Jakarta


10

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

Uin Syarif Hidayatullah Jakarta


11

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 (ƞ𝑖𝑗 )

Uin Syarif Hidayatullah Jakarta


12

• 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

1 2 2
rumus , dimana 𝑑𝑖𝑗 = √(x𝑖 − x𝑗 ) + (y𝑖 − 𝑦𝑗 ) 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.

Uin Syarif Hidayatullah Jakarta


13

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:
Ʈ𝑖𝑗 = ƿ . Ʈ𝑖𝑗 + 𝛥Ʈ𝑖𝑗

Uin Syarif Hidayatullah Jakarta


14

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

Uin Syarif Hidayatullah Jakarta


15

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

Uin Syarif Hidayatullah Jakarta


16

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

Uin Syarif Hidayatullah Jakarta


17

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

Uin Syarif Hidayatullah Jakarta


18

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

Uin Syarif Hidayatullah Jakarta


19

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

Uin Syarif Hidayatullah Jakarta


20

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

Uin Syarif Hidayatullah Jakarta


21

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:

Uin Syarif Hidayatullah Jakarta


22

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.

Uin Syarif Hidayatullah Jakarta


23

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.

Uin Syarif Hidayatullah Jakarta


24

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:

Uin Syarif Hidayatullah Jakarta


25

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.

Uin Syarif Hidayatullah Jakarta


26

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

Uin Syarif Hidayatullah Jakarta


27

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,

Uin Syarif Hidayatullah Jakarta


28

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:

Uin Syarif Hidayatullah Jakarta


29

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.

Uin Syarif Hidayatullah Jakarta


30

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.

Uin Syarif Hidayatullah Jakarta


31

• 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 Permulaan sub program/proses
Process menjalankan sub program
Decision Perbandingan pernyataan,
memberikan pilihan untuk langkah
selanjutnya
Onpage Penghubung bagian-bagian
Connector flowchart yang berada pada satu
halaman

Uin Syarif Hidayatullah Jakarta


32

Simbol Nama Fungsi


Offpage Penghubung bagian-bagian
Connector 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

Uin Syarif Hidayatullah Jakarta


33

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

Uin Syarif Hidayatullah Jakarta


34

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.

Uin Syarif Hidayatullah Jakarta


35

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

Uin Syarif Hidayatullah Jakarta


36

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

Uin Syarif Hidayatullah Jakarta


37

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.

Uin Syarif Hidayatullah Jakarta


38

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

Uin Syarif Hidayatullah Jakarta


39

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 Penyelesaian Berhasil menerapkan Hanya melakukan perhitungan


Universitas Multiple algoritma genetika dan belum dikembangkan ke
Brawijaya Traveling dalam versi mobile sehingga lebih
Malang Salesman menyelesaikan praktis dalam penggunaannya
2018 Problem (M-TSP) Traveling Salesman
Dengan Problem
Menggunakan
Algoritma
Genetika
2. Olief Ilmandira Penerapan Berhasil menerapkan Hanya melakukan
Ratu Farisi Traveling algoritma koloni implementasi dan perhitungan
Universitas Nurul Salesman semut serta tanpa perancangan
Jadid Problem pada menjelaskan
Probolinggo Penyebaran bagaimana
2017 Brosur menetapkan nilai
Penerimaan parameter yang
Mahasiswa Baru digunakan
Sekolah Tinggi
Teknologi Nurul
Jadid
Menggunakan
Ant Colony
Optimization

Uin Syarif Hidayatullah Jakarta


40

No Peneliti Judul Kelebihan Kekurangan


3. Himmawati Puji Penerapan Informasi yang dimuat Tidak menjelaskan bagaimana
Lestari Algoritma Koloni dari hasil optimasi menetapkan nilai parameter
Kampus Semut untuk dengan menerapkan yang digunakan dalam
Karangmalang Optimasi Rute algoritma koloni algoritma koloni semut
Yogyakarta Distribusi semut sangat
2014 Pengangkutan lengkap
Sampah di kota
Yogyakarta

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.

41
Uin Syarif Hidayatullah Jakarta
42

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.

Uin Syarif Hidayatullah Jakarta


43

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

Uin Syarif Hidayatullah Jakarta


44

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.

Uin Syarif Hidayatullah Jakarta


45

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

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

46
Uin Syarif Hidayatullah Jakarta
47

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


Berapa banyak paket yang Mengetahui berapa banyak
1 Anda kirim dalam 1 hari? paket yang dikirim oleh
setiap kurir
2 Bagaimana Anda menentukan Mengetahui cara kurir
Traveling rute pengiriman paket ke setiap menentukan rute pengiriman
Salesman alamat yang dituju? sebelum adanya aplikasi
Problem yang akan dibangun
3 Apakah Anda mengalami Mengetahui seberapa
kesulitan dalam menentukan banyak kurir yang merasa
rute terpendek pengiriman kesulitan dalam menentukan
paket? rute pengiriman.
Sistem Operasi apa yang Mengetahui sistem operasi
Sistem digunakan pada smartphone yang kurir gunakan pada
4
Operasi Anda? smartphone mereka.

Uin Syarif Hidayatullah Jakarta


48

No. Indikator Pertanyaan Tujuan


Apakah Anda pernah Mengetahui seberapa
menggunakan aplikasi yang banyak kurir yang pernah
5
dapat mencari rute terpendek? menggunakan aplikasi
Aplikasi pencarian rute terpendek.
Pencarian Menurut Anda, apakah penting Mengetahui ketertarikan
Lintasan dan berguna jika ada sebuah kurir mengenai aplikasi
Terpendek aplikasi pada smartphone Anda pencarian rute terpendek
6
yang mampu menemukan rute yang akan dibangun.
terpendek dari setiap lokasi
yang dituju?

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

Jumlah Paket yang Dikirim


No.
dalam 1 Hari
1 28
2 31
3 26
4 34
5 53
6 24
7 20
8 52

Uin Syarif Hidayatullah Jakarta


49

Jumlah Paket yang Dikirim


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

Responden
No. Cara Menentukan Lintasan Pengiriman Paket
n %
1 Dari terdekat hingga ke yang terjauh 7 orang 58,3 %
Alamat yang diketahui akan lebih
2 2 orang 16,67 %
diutamakan
3 Tidak tentu 3 orang 25 %
Jumlah 12 orang 100 %

Uin Syarif Hidayatullah Jakarta


50

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

Responden
No. Sulit dalam Menemukan Lintasan Terpendek
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

Responden
No. Sistem Operasi yang digunakan
n %
1 Android 8 orang 66,7 %
2 Blackberry 1 orang 8,3 %
3 Symbian 3 orang 25 %
Jumlah 12 orang 100 %

Uin Syarif Hidayatullah Jakarta


51

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

Pernah Menggunakan Aplikasi yang Dapat Responden


No.
Menemukan Lintasan Terpendek 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

Ketertarikan Menggunakan Aplikasi yang Responden


No. Dapat Menemukan Lintasan Terpendek dari
n %
Setiap Lokasi yang Dituju
1 Ya 11 orang 91,7 %
2 Tidak 1 orang 8,3 %
Jumlah 12 orang 100 %

Uin Syarif Hidayatullah Jakarta


52

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.

Uin Syarif Hidayatullah Jakarta


53

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
Login Fitur ini berfungsi untuk membuat kurir
1
masuk ke dalam menu utama
Register Fitur ini berfungsi untuk mendaftarkan
2
user kurir yang belum terdaftar.
Lihat Surat Jalan Fitur ini berfungsi untuk menampilkan
3
surat jalan yang telah diinput
Lihat Rute Fitur ini berfungsi untuk menampilkan
Pengiriman rute pengiriman barang hasil dari
4
Berbentuk Maps pencarian rute terpendek dalam bentuk
maps

Uin Syarif Hidayatullah Jakarta


54

No Fitur Keterangan
Lihat Rute Fitur ini berfungsi untuk menampilkan
Pengiriman rute pengiriman barang hasil dari
5
Berbentuk List pencarian rute terpendek dalam bentuk list
/ daftar
Mengulang Proses Fitur ini berfungsi untuk mengulang
Pencarian Rute kembali proses pencarian rute terpendek
6
Terpendek yang telah tersimpan dalam basisdata local
sebelumnya
Logout Fitur ini berfungsi untuk membuat kurir
7
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.

Uin Syarif Hidayatullah Jakarta


55

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

Uin Syarif Hidayatullah Jakarta


56

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

Koordinat
Id
Alamat
Lokasi
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 -6.18157 106.82838
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
5 Kantor Walikota Jakarta Timur -6.21406 106.94425
6 Jalan Prapanca Raya kebayoran -6.24887 106.80701
baru
7 Kebon Bawang Tanjung Priok -6.11946 106.89011
8 Jalan Raya Kembangan No.2 -6.18447 106.73656
jakarta barat

Uin Syarif Hidayatullah Jakarta


57

Koordinat
Id
Alamat
Lokasi
Latitude Longitude
9 Jalan Tanah Abang I No.1, -6.172455 106.82057
Petojo Selatan, Gambir

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
0 1 2 3 4 5 6 7 8 9
Lokasi
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

Uin Syarif Hidayatullah Jakarta


58

• 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
Banyak semut
Lokasi
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

Uin Syarif Hidayatullah Jakarta


59

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
Rute Total Jarak (km)
Semut

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

Uin Syarif Hidayatullah Jakarta


60

Id
Rute Total Jarak (km)
Semut
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

Uin Syarif Hidayatullah Jakarta


61

- 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
0 1 2 3 4 5 6 7 8 9
Lokasi
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

Uin Syarif Hidayatullah Jakarta


62

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.

Uin Syarif Hidayatullah Jakarta


63

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.

Uin Syarif Hidayatullah Jakarta


64

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.

Uin Syarif Hidayatullah Jakarta


65

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
Longitude text koordinat longitude alamat
9
penerima

Uin Syarif Hidayatullah Jakarta


66

No Nama Field Tipe Data Keterangan


Latitude text Koordinat latitude alamat
10
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
aco_best_rute_rute_n int nomor urutan item
3
o
aco_best_rute_item_n int nomor item sesuai dengan surat
4
o jalan

Uin Syarif Hidayatullah Jakarta


67

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

Uin Syarif Hidayatullah Jakarta


68

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

Uin Syarif Hidayatullah Jakarta


69

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

Uin Syarif Hidayatullah Jakarta


70

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

Uin Syarif Hidayatullah Jakarta


71

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

Uin Syarif Hidayatullah Jakarta


72

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

Uin Syarif Hidayatullah Jakarta


73

}
}) {
@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"),

Uin Syarif Hidayatullah Jakarta


74

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

Uin Syarif Hidayatullah Jakarta


75

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"),

Uin Syarif Hidayatullah Jakarta


76

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

Uin Syarif Hidayatullah Jakarta


77

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 {

Uin Syarif Hidayatullah Jakarta


78

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;

Uin Syarif Hidayatullah Jakarta


79

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

Uin Syarif Hidayatullah Jakarta


80

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

Pengujian Fitur / Hasil yang diharapkan


No Hasil Pengujian
Menu

Tampilan halaman User dapat melihat tampilan


1 login untuk halaman login lalu Berhasil
melakukan login melakukan login
Tampilan halaman User dapat melihat tampilan
register untuk halaman register lalu
2 Berhasil
mendaftarkan user mendaftarkan akun barunya
baru (register).
Tampilan halaman User dapat melihat halaman
menu utama menu utama setelah
3 Berhasil
melakukan proses login
ataupun register
Tampilan halaman User dapat melihat tampilan
surat jalan untuk halaman surat jalan serta
4 Berhasil
melihat informasi informasi surat jalan yang
surat jalan telah terinput untuknya.
Tampilan halaman User dapat melihat
rute pengiriman informasi rute pengiriman
berbentuk maps berbentuk maps dengan
untuk melihat rute marker yang dihubungkan
5 terpendek surat oleh garis lurus sebagai Berhasil
jalan dengan penanda rute terpendek.
bentuk maps

Uin Syarif Hidayatullah Jakarta


81

Pengujian Fitur /
No Hasil yang diharapkan Hasil Pengujian
Menu

Tampilan halaman User dapat melihat


rute pengiriman informasi rute pengiriman
berbentuk list berbentuk list / daftar
6 untuk melihat rute dengan urutan nomor lokasi Berhasil
terpendek surat tujuan sesuai dengan rute
jalan dengan terpendek.
bentuk list
Fungsi mengulang User dapat mengulang
proses pencarian kembali proses pencarian
rute terpendek rute terpendek yang telah
untuk mencari dilakukan dan disimpan
7 Berhasil
hasil algoritma kedalam basisdata untuk
pencarian rute mencari hasil algoritma
terpendek yang yang lebih optimal.
lebih optimal.
Tombol Logout User dapat menghapus sesi
untuk menghapus login dengan menekan
sesi login dan tombol logout pada halaman
8 Berhasil
keluar dari menu menu utama kemudian
utama menuju ke sistem menampilkan
halaman login halaman login
Tampilan User dapat melihat tampilan
progress dialog progress dialog saat sistem
saat sistem menjalankan proses maupun
9 menjalankan fungsi hingga membuat user Berhasil
proses hingga menunggu
membuat user
menunggu
Pesan gagal saat User dapat melihat pesan
10 user gagal yang ditampilan oleh sistem Berhasil
melakukan login saat gagal melakukan login
Pesan gagal saat User dapat melihat pesan
user gagal yang ditampilan oleh sistem
melakukan saat gagal melakukan
register register
11 Berhasil

Uin Syarif Hidayatullah Jakarta


82

Pengujian Fitur /
No Hasil yang diharapkan Hasil Pengujian
Menu

User dapat User dapat melihat direksi


melihat direksi atau arah untuk dapat
untuk mengetahui menuju lokasi pengiriman
12 Berhasil
rute dari lokasi pada halaman rute
user menuju pengiriman berbentuk maps
lokasi pengiriman
User dapat User dapat menggeser peta
menggeser peta dan melakukan zoom in
dan melakukan maupun zoom out untuk
13 zoom in maupun memposisikan peta pada Berhasil
zoom out untuk halaman rute pengiriman
memposisikan berbentuk maps
peta
User dapat User dapat menggeser daftar
menggeser daftar rute pengiriman dengan
rute pengiriman melakukan swipe kebawah
untuk melihat untuk melihat detail lokasi
14 Berhasil
detail lokasi pengiriman pada nomor urut
pengiriman pada yang belum tampil pada
nomor urut yang halaman rute pengiriman
berada dibawah berbentuk list

Uin Syarif Hidayatullah Jakarta


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

83
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
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
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

Koordinat
Id Alamat
Longitude Latitude
0 PT Wahana Prestasi Logistik -6.290973 106.758483
-6.320615 106.760968
Jl. Lestari Pisangan Ciputat
1 Tim. Kota Tangerang Selatan
Banten 15419
87

Koordinat
Id Alamat
Longitude Latitude
Jl. Legoso Raya No.80a, -6.316703 106.753654
Pisangan, Ciputat Tim., Kota
2
Tangerang Selatan, Banten
15419
Jl. Legoso Raya 16-36 Pisangan -6.315913 106.753792
3 Ciputat Tim. Kota Tangerang
Selatan Banten 15419
JL.MURISALIM NO.27A -6.319242 106.75590
RT.006/02 KEL.PISANGAN,
4
KEC.CIPUTAT TIMUR,
TANGERANG SELATAN
Jl. H. Muri Salim II 49-52 -6.318785 106.756842
Pisangan Ciputat Tim. Kota
5
Tangerang Selatan Banten
15419
Jl Boyong (Gg Boyong) no -6.320352 106.755685
8 RT 2 RW 2 Pisangan, Ciputat
6
Timur, Tangerang Selatan
15419
JL.H MURI SALIM II NO.45 A -6.318836 106.757053
7
CIPUTAT TIMUR, TANGSEL
-6.318865 106.756658

Jl. H. Muri Salim II No.50


Pisangan Ciputat Tim. Kota
8
Tangerang Selatan Banten
15419
88

Koordinat
Id Alamat
Longitude Latitude
Jl. Legoso Raya No.41, -6.319974 106.754548
Pisangan, Ciputat Tim., Kota
9
Tangerang Selatan, Banten
15419
Jl. Puri Intan No.46 Pisangan -6.312643 106.758182
10 Ciputat Tim. Kota Tangerang
Selatan Banten 15419
Gg. Baping 26-57 Pisangan -6.321985 106.758148
11 Ciputat Tim. Kota Tangerang
Selatan Banten 15419
Jl. Tarumanegara Cireundeu -6.316167 106.763984
12 Ciputat Tim. Kota Tangerang
Selatan Banten 15419
Jl. Legoso Raya 125 Pisangan -6.321478 106.75509
13 Ciputat Tim. Kota Tangerang
Selatan Banten 15419
Jl. Legoso Raya 9-15 Pisangan -6.322140 106.75589
14 Ciputat Tim. Kota Tangerang
Selatan Banten 15419
Jl. Nurul Huda No.115 Cemp. -6.305727 106.75375
Putih Ciputat Tim. Kota
15
Tangerang Selatan
Banten 15412
-6.311689 106.753514
Jl. Ir H. Juanda No.40A Cemp.
Putih Ciputat Tim. Kota
16
Tangerang Selatan
Banten 15412
89

Koordinat
Id Alamat
Longitude Latitude
Jl. Lurah Disah No.23 Pisangan -6.3215219 106.754172
17 Ciputat Tim. Kota Tangerang
Selatan Banten 15419
Jl. Legoso Raya, Pisangan, -6.32284680 106.756937
18. Ciputat Tim., Kota Tangerang
Selatan, Banten 15419
: JALAN LEGOSO RAYA -6.30850700 106.7565242
NO.36 RT003 RW01 CIPUTAT
19
TIMUR KOTA TANGERANG
SELATAN BANTEN
Jl. Dahu Pisangan Ciputat Tim. -6.3183811 106.7537722
20 Kota Tangerang Selatan Banten
15419
Jl. Semanggi II 2 Cemp. Putih -6.3096067 106.7550756
21 Ciputat Tim. Kota Tangerang
Selatan Banten 15412
Jl. Ir H. Juanda No.40, Cemp. -6.311782 106.753445
Putih, Ciputat Tim., Kota
22
Tangerang Selatan,
Banten 15412
Jl.Ciputat Molek V no.54a. -6.314470 106.753157
Pisangan, Ciputat Timur, Kota
23
Tangerang Selatan, Banten
15419
-6.3154756 106.752773
Jl. H. Koweng No.54 Pisangan
24 Ciputat Tim. Kota Tangerang
Selatan Banten 15419
90

Koordinat
Id Alamat
Longitude Latitude
Jl. Pondok Hijau Raya Blok A2 -6.31794 106.7512069
No.18 Pisangan Ciputat Tim.
25
Kota Tangerang Selatan Banten
15419
Jl. Pondok Hijau Raya Kota -6.3189492 106.75110330000001
26
Tangerang Selatan Banten
Jl. Hijau Lestari Raya Pisangan -6.3188059 106.7515736
27 Ciputat Tim. Kota Tangerang
Selatan Banten 15419
Jalan Batan 35 Pisangan Ciputat -6.311889 106.756091
28 Tim. Kota Tangerang Selatan
Banten 15419
Jl. H. Limun 39-36 Pisangan -6.308994 106.757534
29 Ciputat Tim. Kota Tangerang
Selatan Banten 15419
Jl. H. Limun No.26A Pisangan -6.308377 106.75723
30 Ciputat Tim. Kota Tangerang
Selatan Banten 15419
Jl. Kertamukti Gg. H.Asen -6.3064288 106.75859
Saimin Pisangan Ciputat Tim.
31
Kota Tangerang Selatan Banten
15419
jl legoso raya no 1 rt 001/01 -6.3232168 106.758126
32 pisangan, ciputat timur,
tangerang selatan 15419
Jl. Lurah Disah No.9 Pisangan -6.321488 106.754167
33 Ciputat Tim. Kota Tangerang
Selatan Banten 15419
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
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 β

ants, Pengujian Pengujian Pengujian 3 Rata-rata


jumlah
generations α β 1 (km) 2 (km) (km)
lokasi
(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:
93

Tabel 5.5 Hasil Uji Coba Parameter ants, α dan β

Jumlah Pengujian Pengujian Pengujian Rata-


lokasi ants generations α β 1 (km) 2 3 rata
(km) (km) (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
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);
}
}
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)) + (jumlah lokasi)!


(𝑎𝑛𝑡𝑠) x (𝑔𝑒𝑛𝑒𝑟𝑎𝑡𝑖𝑜𝑛𝑠) x (jumlah lokasi −
1)
total iterasi pada (10 𝑥 (10 − 1)) + 10! = 3,628,800
10 lokasi (10 𝑥 3) 𝑥 (10 𝑥 3) 𝑥 (10 − 1) = 8,190
lama waktu 0.1 detik 341 detik
proses pada 10
lokasi
jarak terpendek 92.50 km 92.50 km
lintasan 0-2-5-3-8-9-4-7-6-1-0 [0,2,5,3,8,9,4,7,6,1]
terpendek
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


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:

97
Uin Syarif Hidayatullah Jakarta
98

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

Uin Syarif Hidayatullah Jakarta


99

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.

Uin Syarif Hidayatullah Jakarta


100

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.

Uin Syarif Hidayatullah Jakarta


101

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

Uin Syarif Hidayatullah Jakarta


102

2. Hasil Kuesioner

Jumlah Paket
60
53 52
50
40
40
34
31 32
28 29
30 26
24 Jumlah Paket
22
20
20

10

0
1 2 3 4 5 6 7 8 9 10 11 12

Cara Menentukan Lintasan Pengiriman


Paket

Dari terdekat hingga ke yang


25%
terjauh
Alamat yang diketahui akan
58.33% lebih diutamakan
16.67%
Tidak tentu

Uin Syarif Hidayatullah Jakarta


103

Kesulitan dalam Menemukan Lintasan


Terpendek

16.70%

Ya Tidak

83.30%

Penggunaan Aplikasi Sejenis

16.70%

Ya Tidak

83.30%

Uin Syarif Hidayatullah Jakarta


104

Sistem Operasi

25%
Android
BlackBerry

8.30% 66.70% Symbian

Tertarik dengan Aplikasi

8.30%

Ya Tidak

91.70%

Uin Syarif Hidayatullah Jakarta


105

3. Hasil Wawancara

No. Pertanyaan Jawaban Narasumber


Novel Zulham,
1. Profil Narasumber General Manager Operasional PT
Wahana Prestasi Logistik
Pertama kurir datang ke kantor
untuk mengambil surat jalan serta
paket yang akan kirim pada hari
Bagaimana prosedur yang harus dilakukan
2. tersebut, lalu kurir mengirim paket
oleh kurir untuk melakukan pengiriman paket
ke setiap lokasi tujuan pengiriman,
setelah itu kurir kembali ke kantor
untuk melaporkan hasilnya
Apakah ada rumus tertentu yang dimiliki oleh Sampai saat ini belum ada, itu
3. kurir untuk menentukan rute atau rute diserahkan sepenuhnya kepada
perjalanan saat mengirim paket? kurir
Menurut Anda, faktor apa saja yang menjadi
Memilih lokasi yang terdekat
4. acuan kurir untuk menentukan rute perjalanan
terlebih dahulu
saat mengirim paket?
Penting, agar kurir bisa menghemat
Menrut Anda, apakah penting untuk waktu yang ditempuh, tenaga yang
5. menemukan rute terpendek saat kurir dikerahkan serta biaya yang
mengirim paket? dikeluarkan saat melakukan
perjalanan pengiriman paket
Apakah perlu dibuatkan suatu sistem yang Perlu, akan bermanfaat untuk kurir,
6. dapat menemukan rute atau rute terpendek perusahaan kami akan mendukung
pengiriman paket oleh kurir? pembuatan sistem tesebut
Kurir akan dimudahkan dalam
Bagaimana pendapat Anda bila sisterm
7. pemilihan rute pengiriman paket,
tersebut nantinya ada
mereka akan terbantu.

Uin Syarif Hidayatullah Jakarta


106

4. Permohonan Riset

Uin Syarif Hidayatullah Jakarta


107

5. SK Penelitian

Uin Syarif Hidayatullah Jakarta


108

6. Pernyataan Wawancara

Uin Syarif Hidayatullah Jakarta


109

7. Blackbox Testing

Uin Syarif Hidayatullah Jakarta


110

Uin Syarif Hidayatullah Jakarta

Anda mungkin juga menyukai