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
ii
PENERAPAN ALGORITMA ANT COLONY OPTIMIZATION DALAM MENYELESAIKAN TRAVELING SALESMAN PROBLEM
(Studi Kasus: PT Wahana Prestasi Logistik)
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh :
Trivaldi Rahardja 1111091000038
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
iv
vi
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI UNTUK KEPENTINGAN AKADEMIS
Sebagai civitas akademik UIN Syarif Hidaytaullah Jakarta, saya yang bertanda tangan di bawah ini:
Nama : Trivaldi Rahardja NPM : 1111091000038 Program Studi : Teknik Informatika Fakultas : Sains Dan Teknologi Jenis Karya : Skripsi
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Islam Negeri Syarif Hidayatullah Jakarta Hak Bebas Royalti Noneksklusif (Non-exclusive Royalty Free Right) atas karya ilmiah yang berjudul:
PENERAPAN ALGORITMA ANT COLONY OPTIMIZATION DALAM MENYELESAIKAN TRAVELING SALESMAN PROBLEM
(STUDI KASUS: PT WAHANA PRESTASI LOGISTIK)
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non Eksklusif ini Universitas Islam Negeri Syarif Hidayatullah Jakarta berhak menyimpan, mengalih media/formatkan, mengelola dalam bentuk pangkalan data (database), merawat, dan mempublikasikan tugas akhir saya selama tetap mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta. Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di : Jakarta Pada tanggal : 25 Juni 2018
Yang menyatakan
vii
KATA PENGANTAR
Assalamu’alaikum Wr. Wb.
Segala puji dan syukur penulis panjatkan kehadirat Allah SWT atas segala karunia, rahmat, kekuatan dan segala petunjuk serta kemudahan sehingga penulis dapat menyelesaikan penulisan skripsi ini dengan sebaik-baiknya. Shalawat serta salam tak lupa penulis haturkan kepada junjungan kita Nabi besar Muhammad SAW, para sahabat, keluarga serta muslimin dan muslimat, semoga kita mendapatkan syafa’at-Nya di akhirat kelak Amiin.
Skripsi ini berjudul “Penerapan Algoritma Ant Colony Optimization Dalam Menyelesaikan Traveling Salesman Problem (Studi Kasus: PT Wahana Prestasi Logistik)”, yang disusun untuk memenuhi salah satu syarat dalam menyelesaikan program S1 pada Program Studi Teknik Informatika di Universitas Islam Negeri Syarif Hidayatullah Jakarta.
Penulis menyadari bahwa skripsi ini tidak dapat terselesaikan tanpa bantuan dari pihak lain. Oleh karena itu, izinkanlah penulis mengucapkan “terimakasih” kepada semua pihak yang telah membantu dalam penulisan skripsi ini, terutama kepada:
1. Kedua Orang Tua Penulis yang tidak henti-hentinya selalu memberikan semangat dan dukungan baik dalam bentuk do’a, materi serta kasih sayang yang melimpah.
2. Bapak DR. Agus Salim, M.Si, selaku Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.
3. Ibu Arini, ST. MT. Selaku Ketua Program Studi Teknik Informatika, dan Bapak Feri Fahrianto, M.Sc. selaku Sekretaris Program Studi Teknik Informatika, Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta. 4. Bapak Hendra Bayu Suseno, M.Kom, dan Bapak Andrew Fiade, M.Kom,
selaku Dosen Pembimbing yang telah memberikan banyak nasihat, saran, dan bimbingan yang bermanfaat kepada penulis selama penyusunan skripsi ini.
viii
5. Seluruh Dosen di Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta yang telah memberikan ilmu, pengalaman, bantuan, dan kerjasama yang sangat berharga bagi penulis.
6. Bapak Novel Zulham selaku General Marketing Operasional PT Wahana Prestasi Logistik yang selalu membimbing penulis dalam melakukan penelitian di kantor perusahaan.
7. Seluruh sahabat sahabati PMII Komisariat Fakultas Sains dan Teknologi yang penulis cintai, dan Faiz Nur Faiqoh yang selalu memberikan semangat dan support selama ini untuk mengerjakan skripsi.
8. Seluruh teman-teman Program Studi Teknik Informatika Fakultas Sains dan Teknologi UIN Syarif Hidayatullah.
9. Semua pihak yang secara langsung maupun tidak langsung membantu penulis dalam menyelesaikan skripsi ini.
Semoga kebaikan dan bantuan yang sudah diberikan kepada penulis kiranya dicatat sebagai amal baik oleh Allah SWT. Penulis menyadari bahwa skripsi ini jauh dari kata sempurna, oleh karena itu penulis sangat mengharapkan kritik dan saran yang bersifat membangun dari pembaca ke alamat email [email protected].
Akhir kata, semoga skripsi ini dapat memberi manfaat bagi semua. Amiin Amiin ya Robbal ‘alamiin.
Wassalamu’alaikum Wr. Wb.
Jakarta, 25 Juni 2018 Penulis
Trivaldi Rahardja
ix
TSP, Algoritma ACO, Rute Terpendek, Metode Heuristic, RAD, Blackbox Testing.
Penerapan Algoritma Ant Colony Optimization Dalam
Menyelesaikan Traveling Salesman Problem (Studi Kasus: PT Wahana Prestasi Logistik)
Penulis : Trivaldi Rahardja Program Studi : Teknik Informatika Judul :
ABSTRAK
Traveling Salesman Problem (TSP) adalah permasalahan yang dihadapi oleh seorang salesman yang berangkat dari kota asalnya, berusaha menemukan rute paling pendek ke semua kota pelanggan, lalu kembali ke kota asal, dengan syarat semua kota hanya dikunjungi satu kali (Hardianto, 2013). TSP dapat diselesaikan dengan metode heuristik yang menggunakan perhitungan kecerdasan buatan dalam melakukan pencarian dan optimasi, salah satu contohnya adalah algoritma Ant Colony Optimization (ACO) (Ridwan, Karima, 2015). Permasalahan TSP sering dijumpai pada perusahaan ekspedisi termasuk PT Wahana Prestasi Logistik. Berdasarkan hasil kuesioner terhadap 12 kurir yang beroperasi di wilayah Kecamatan Ciputat pada perusahan tersebut, didapat 10 atau 83,3% responden mengalami kesulitan dalam menentukan rute terpendek. Menurut Bapak Novel Zulham selaku General Manager Operasional perusahaan, solusi dari permasalahan tersebut ialah dengan membuat aplikasi yang dapat menemukan rute terpendek pada perjalanan pengiriman paket kurir. Dalam mengembangkan aplikasi ini, peneliti menggunakan metode Rapid Application Development (RAD), dan pengujiannya menggunakan Blackbox Testing. Hasil dari aplikasi ini ialah mampu mencari rute pengiriman dengan jarak terpendek dari 34 lokasi berbeda berbasis android dengan menggunakan algoritma ACO.
x
DAFTAR ISI
HALAMAN PERSETUJUAN ... iii
PERNYATAAN ORISINALITAS ... iv
HALAMAN PENGESAHAN ... v
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI ... v
KATA PENGANTAR ... vii
ABSTRAK ... ix
DAFTAR ISI ... x
DAFTAR GAMBAR ... xv
DAFTAR TABEL ... xvii
BAB 1 PENDAHULUAN ... 1
1.1. Latar Belakang Masalah ... 1
1.2. Rumusan Masalah ... 3 1.3. Batasan Masalah ... 3 1.3.1. Metode ... 3 1.3.2. Tools ... 4 1.3.3. Proses ... 4 2.1. Tujuan Penelitian ... 4 2.2. Manfaat Penelitian ... 4 2.2.1. Bagi Peneliti ... 4 2.2.2. Bagi Universitas ... 5 2.2.3. Bagi Pengguna ... 5 2.3. Metodologi Penelitian ... 5
xi
2.3.1. Metode Pengumpulan Data ... 5
2.3.2. Metode Pengembangan Sistem ... 6
2.3.3. Metode Pengujian ... 6
2.4. Sistematika Penulisan ... 6
BAB II TINJAUAN PUSTAKA & LANDASAN TEORI ... 8
2.1. Traveling Salesman Problem (TSP) ... 8
2.1.1. Definisi TSP ... 8
2.1.2. Metode Konvensional ... 9
2.1.3. Metode Heuristik ... 9
2.2. Ant Colony Optimization (ACO) ... 10
2.2.1. Definisi ACO ... 10
2.2.2. Langkah-langkah kerja algoritma ACO ... 11
2.2.3. Pseudo Code Algoritma ACO ... 14
2.3. Graf ... 14 2.3.1. Definisi Graf ... 14 2.3.2. Graf Hamilton ... 15 2.4. Android ... 16 2.4.1. Definisi Android ... 16 2.4.2. Fitur Android ... 18 2.5. Java ... 23 2.5.1. Pengertian Java ... 23 2.5.2. Karakteristik Java ... 23 2.6. Google Map ... 24 2.7. Android Studio ... 25 2.8. JSON ... 26
xii
2.9. SQLite ... 26
2.10. Application Program Interface (API) ... 27
2.11. Rapid Application Development (RAD) ... 28
2.12. Flowchart ... 30
2.12.1. Definisi Flowchart ... 30
2.12.2. Kelebihan Flowchart ... 30
2.12.3. Kekurangan Flowchart ... 31
2.12.4. Simbol-simbol Flowchart ... 31
2.13. Metode Pengumpulan Data... 32
2.13.1. Pengertian Metode Pengumpulan Data ... 32
2.13.2. Studi Pustaka ... 32
2.13.3. Wawancara ... 32
2.13.4. Kuesioner ... 34
2.14. Pengujian Perangkat Lunak ... 36
2.14.1. Definisi Pengujian ... 36
2.14.2. Sasaran-saran Pengujian ... 36
2.14.3. Blackbox Testing ... 37
2.15. Studi Literatur Sejenis ... 38
BAB III METODOLOGI PENELITIAN ... 41
3.1. Metode Pengumpulan Data ... 41
3.1.1. Studi Pustaka ... 41
3.1.2. Studi Lapangan ... 41
3.2. Metode Pengembangan Sistem ... 43
3.2.1. Tahap Perencanaan Syarat ... 43
xiii
3.2.3. Tahap Implementasi ... 44
3.3. Kerangka Berpikir Penelitian ... 45
BAB IV ANALISIS, PERANCANGAN, IMPLEMENTASI DAN PENGUJIAN SISTEM ... 46
4.1. Tahap Pengumpulan Data ... 46
4.1.1. Studi Pustaka ... 46
4.1.2. Studi Lapangan ... 46
4.2. Tahap Perencanaan Syarat... 52
4.2.1. Analisis Masalah ... 52
4.2.2. Penyelesaian Masalah ... 52
4.2.3. Analisis Kebutuhan ... 52
4.2.4. Analisis Fitur ... 53
4.2.5. Analisis Algoritma ACO ... 54
4.3. Tahap Workshop Desain ... 62
4.3.1. Desain Sistem dan Proses ... 63
4.3.2. Perancangan Basisdata ... 64
4.3.3. Perancangan User Interface ... 67
4.3.4. Pengkodean ... 70
4.4. Tahap Implementasi ... 80
4.4.1. Blackbox Testing ... 80
BAB V HASIL DAN PEMBAHASAN ... 83
5.1. Hasil ... 83
5.1.1. Hasil Tampilan Aplikasi ... 83
5.1.2. Hasil Proses Algoritma ACO dengan 34 Lokasi ... 86
xiv
5.2.1. Perangkat Pengembangan Sistem ... 91
5.2.2. Penetapan Parameter Algortima ACO... 91
5.2.3. Perbandingan Algoritma ACO Dengan Metode Konvensional ... 93
BAB VI PENUTUP ... 97
6.1. Kesimpulan ... 97
6.2. Saran ... 97
DAFTAR PUSTAKA ... 99
xv
DAFTAR GAMBAR
Gambar 1.1 Hasil Kuesioner Pertanyaan 4 ... 3
Gambar 2.1 Ilustrasi Masalah TSP ... 9
Gambar 2. 2 (a) Semut melewati setiap jalur dengan probabilitas sama, (b)Seiring berjalannya waktu, rute terpendek akan lebih menguatkan, (c), Semua semut melewati rute terpendek. ... 11
Gambar 2. 3 Contoh Graf ... 15
Gambar 2.4 (a) Graf tak-berarah semi-Hamilton, (b) Graf tak-berarah Hamilton, (c) Graf berarah semi-Hamilton, (d) Graf berarah Hamilton ... 16
Gambar 2. 5 Logo Android ... 18
Gambar 2. 6 Layar notifikasi Android yang diakses dengan menggeser layar (swipe) dari bagian atas layar... 20
Gambar 2. 7 Google Play Android... 22
Gambar 2. 8 Google Map ... 25
Gambar 2. 9 Model RAD ... 29
Gambar 3.1 Kerangka Berfikir Penelitian... 45
Gambar 4.1 Flowchart Algoritma ACO ... 55
Gambar 4.2 Desain Sistem dan Proses... 63
Gambar 4.3 User Interface Halaman Login ... 67
Gambar 4.4 User Interface Halaman Register ... 67
Gambar 4. 5 User Interface Halaman Menu Utama ... 68
Gambar 4. 6 User interface Halaman Lihat Surat Jalan ... 68
Gambar 4. 7 User Interface Halaman Rute Pengiriman Berbentuk List ... 69
Gambar 4. 8 User Interface Halaman Rute Pengiriman Berbentuk Maps ... 69
Gambar 5. 1 Hasil Tampilan Halaman Login ... 83
Gambar 5. 2 Hasil Tampilan Halaman Register ... 84
Gambar 5. 3 Hasil Tampilan Halaman Menu Utama... 84
Gambar 5. 4 Hasil Tampilan Halaman Lihat Surat Jalan ... 85
xvi
Gambar 5. 6 Hasil Tampilan Halaman Rute Pengiriman Berbentuk Maps ... 86 Gambar 5.7 Rute Terpendek 10 Lokasi ... 96
xvii
DAFTAR TABEL
Tabel 2.5 Simbol-simbol Pada Flowchart (Sumber: Kadir, 2013) ... 31
Tabel 2.6 Studi Literatur Sejenis ... 39
Tabel 4.1 Pertanyaan Kuesioner ... 47
Tabel 4.2 Hasil Kuesioner Pertanyaan 1 ... 48
Tabel 4.3 Hasil Kuesioner Pertanyaan 2 ... 49
Tabel 4.4 Hasil Kuesioner Pertanyaan 3 ... 50
Tabel 4.5 Hasil Kuesioner Pertanyaan 4 ... 50
Tabel 4.6 Hasil Kuesioner Pertanyaan 5 ... 51
Tabel 4.7 Hasil Kuesioner Pertanyaan 6 ... 51
Tabel 4.8 Analisis Fitur ... 53
Tabel 4.9 Lokasi Alamat Pengiriman ... 56
Tabel 4.10 Jarak Antar-Lokasi /edge ... 57
Tabel 4. 11 Banyak Semut Pada Satu Lokasi ... 58
Tabel 4.12 Rute Kunjungan Setiap Semut Beserta Total Jaraknya ... 59
Tabel 4.13 Intensitas pheromone Pada Setiap edge Antar-Lokasi... 61
Tabel 4.20 Basisdata Surat Jalan ... 65
Tabel 4.21 Basisdata Item ... 65
Tabel 4.22 Basisdata Best Rute ... 66
Tabel 4.23 Pengujian Aplikasi ... 80
Tabel 5. 1 Hasil Tampilan Aplikasi ... 83
Tabel 5. 2 Alamat 34 Lokasi Beserta Koordinat ... 86
Tabel 5. 3 Lintasan Rute Pengiriman Terpendek Dengan 34 Lokasi ... 91
Tabel 5.4 Hasil Uji Coba Parameter α dan β ... 92
Tabel 5.5 Hasil Uji Coba Parameter ants, α dan β ... 93
Tabel 5.6 Besaran Parameter yang Digunakan Dalam Proses Algoritma ACO ... 93
1
BAB 1
PENDAHULUAN
1.1. Latar Belakang Masalah
Traveling Salesman Problem (TSP) adalah permasalahan yang dihadapi oleh seorang salesman yang berangkat dari kota asalnya, berusaha menemukan rute paling pendek yang dapat ditempuh ke semua kota pelanggan dan kemudian kembali ke kota asal, dengan syarat semua kota pelanggan hanya boleh dikunjungi satu kali dalam tiap tournya (Hardianto, 2013).
TSP dapat diselesaikan dengan metode heuristik yang menggunakan perhitungan kecerdasan buatan dalam melakukan pencarian dan optimasi, salah satu contohnya adalah algoritma semut atau Ant Colony Optimization (ACO). Dari berberapa algoritma yang telah dikembangkan untuk menyelesaikan persoalan jalur terpendek, penulis memilih algoritma semut dikarenakan memiliki keunikan tersendiri, yaitu terinspirasi dari tingkah laku semut di dunia nyata saat proses pencarian sumber makanan dari sarangnya (Ridwan, Karima, 2015).
Salah satu bidang yang sering menghadapi permasalahan TSP ialah perusahaan pengiriman barang. Menurut Johar (2016), perusahaan jasa pengiriman barang adalah perusahaan yang bergerak dibidang layanan pengiriman barang. Salah satu perusahaan ekspedisi yang menawarkan jasa pengiriman barang kepada konsumen akhir ialah PT Wahana Prestasi Logistik.
Berdasarkan hasil wawancara yang telah penulis lakukan dengan bapak Novel Zulham selaku General Manager PT Wahana Prestasi Logistik yang telah penulis lakukan pada tanggal 22 November 2017, beliau menyatakan bahwa kurir belum memiliki suatu rumus untuk menemukan rute terpendek saat melakukan pengirimanan paket ke setiap alamat yang dituju. Hal ini tentu saja dapat merugikan baik perusahaan maupun kurir tersebut. Kerugiannya ialah waktu yang ditempuh menjadi lebih lama, tenaga yang dikerahkan lebih banyak, dan biaya dikeluarkan lebih besar.
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:
Gambar 1.1 Hasil Kuesioner Pertanyaan 4
Berdasarkan permasalahan diatas, penulis memutuskan untuk melakukan penelitian dengan menggunakan judul “Penerapan Algoritma Ant Colony Optimization Dalam Menyelesaikan Traveling Salesman Problem (Studi Kasus:
PT Wahana Prestasi Logistik)”.
1.2. Rumusan Masalah
Sesuai dengan latar belakang diatas, penulis telah merumuskan masalah dalam penelitian ini, yaitu Bagaimana menerapkan algoritma ACO dalam menyelesaikan TSP?
1.3. Batasan Masalah
Agar tidak menyimpang dari rumusan masalah, maka penulis membatasi masalah dalam penelitian ini, yaitu sebagai berikut:
1.3.1. Metode
1. Metode pengumpulan data yang digunakan adalah studi literatur sejenis, studi pustaka, kuesioner, dan wawancara.
66.70% 8.30% 25%
Sistem Operasi
Android BlackBerry Symbian2. 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
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,
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.
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.
8
Uin Syarif Hidayatullah Jakarta 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
Uin Syarif Hidayatullah Jakarta
hanya sekali, lalu berkahir di kota yang sama dimana dia memulai perjalanannya. Berikut merupakan ilustrasi TSP:
Gambar 2.1 Ilustrasi Masalah TSP (Sumber: Joshi, 2017)
Menurut Hardianto (2013) Secara umum, penyelesaian masalah pencarian jalur terpendek dapat dilakukan dengan menggunakan dua metode, yaitu metode konvensiomal diterapkan dengan perhitungan matematis biasa, sedangkan metode heuristik diterapkan dengan menentukan basis pengetahuan dan perhitungannya.
2.1.2. Metode Konvensional
Metode konvensional adalah metode yang menggunakan perhitungan matematis biasa. Ada berberapa metode konvensional yang biasa digunakan untuk melakukan pencarian jalur terpendek, diantaranya: algoritma djikstraa, algoritma Floyd-Warshall, algoritma Greedy dan algoritma Bellman-Ford (Hardianto, 2013).
2.1.3. Metode Heuristik
Metode Heuristik adalah sub bidang dari kecerdasan buatan yang digunakan untuk melakukan pencarian dan optimasi. Ada berberapa algoritma pada metode heurisik yang biasa digunakan dalam permasalahan optimasi, diantaranya algoritma genetika, algoritma koloni semut, logika fuzzy, jaringan syaraf tiruan, dan lain-lain (Hardianto, 2013). Algoritma yang akan dibahas dalam penelitian ini adalah algoritma heuristik dengan metode Ant Colony System (ACO).
Uin Syarif Hidayatullah Jakarta 2.2. Ant Colony Optimization (ACO)
2.2.1. Definisi ACO
Metaheuristik adalah generasi baru dari algoritma heuristik. Metode ini telah dikembangkan secara luas dan digunakan untuk meningkatkan kompleksitas masalah kombinatorial. Salah satu dari banyak algoritma metaheuristik adalah ACO yang mengingatkan pada perilaku semut dalam menemukan rute terpendek dari sarang semut ke sumber makanan. Algoritma ACO awalnya dikembangkan oleh Dorigo pada tahun 1996 untuk memecahkan persoalan TSP dengan mempertimbangkan pedagang keliling sebagai semut buatan (Ramadhani, Hertono, Handari, 2016).
Di dunia nyata, semut memilih jalur ke sumber makanan secara acak. Pergerakan semut juga dipengaruhi oleh intensitas jejak kaki semut atau feromon yang terkandung pada jalur yang akan dilewati. Untuk menyelesaikan TSP menggunakan algoritma ACO, seorang pedagang keliling diwakili oleh semut buatan yang akan melakukan perjalanan sampai kembali ke titik asal. Proses pencarian solusi TSP dengan menggunakan algoritma ACO terdiri dari tiga proses utama: inisialisasi parameter, probabilitas transisi, dan pembaruan feromon (Ramadhani, Hertono, Handari, 2016).
Menurut Ali, Kar (2018), sebuah fenomena luar biasa yang diamati di alam adalah jejak yang hampir sempurna diikuti oleh semut saat mencari makan. Sementara semut buta, antrian yang mereka bentuk dipatuhi oleh semua semut di dalam gerombolan hampir sempurna. Para ilmuwan menemukan bahwa semut dapat mencapai prestasi ini dengan memanfaatkan zat kimia yang disebut feromon yang disekresikan semut ini. Gambar 2.2 menggambarkan fenomena semut mencari makanan. Semut pemimpin pertama-tama mengeksplorasi semua jalur yang tersedia ke sumber makanan, yang melibatkan probabilitas yang sama yang ditugaskan untuk semua jalur awalnya. Semut pengikut mengendus feromon yang disekresikan oleh semut di depan mereka dan mengikuti jejak. Karena semut membutuhkan waktu lebih lama untuk melintasi jarak yang lebih jauh, semut yang lebih sedikit dapat melintasi waktu unit yang lebih panjang. Oleh karena itu, jejak di jalur yang lebih panjang dimulai menyusut seiring berjalannya waktu, karena tingkat deposisi
Uin Syarif Hidayatullah Jakarta
feromon lebih rendah. Hal Ini menyiratkan dua hal. Satu, semut mulai terakumulasi pada jalur yang lebih pendek (lebih menguntungkan). Dua, jalur yang lebih panjang (kurang menguntungkan) mengakibatkan semut lebih menjadi sedikit dengan seiring berjalannya waktu, hingga tidak ada semut lagi yang mengunjungi jalan ini.
Berdasarkan fenomena di atas, ACO cukup baik untuk memecahkan berbagai masalah seperti memilih rute yang efisien untuk kendaraan, jadwal kegiatan lantai, mengatur hidroelektrik Generasi, analisis pengelompokan, penjadwalan kursus, optimalisasi waktu sinyal lalu lintas dan manajemen aset perkerasan.
Gambar 2. 2 (a) Semut melewati setiap jalur dengan probabilitas sama, (b)Seiring berjalannya waktu, rute terpendek akan lebih menguatkan, (c), Semua semut melewati rute terpendek. (Sumber: Ali, Kar,
2018) 2.2.2. Langkah-langkah kerja algoritma ACO
Menurut Ramadhani, Hertono, Handari (2016), dalam algoritma semut diperlukan berberapa variabel dan langkah-langkah untuk menentukan jalur terpendek, yaitu:
2.2.2.1. Inisialisasi Parameter
Proses pencarian solusi TSP dimulai dengan inisialisasi parameter yang di-inisialisasi ialah sebagai berikut:
• Intensitas pheromone antar kota dan perubahaannya τ𝑖𝑗 • Banyak kota (n) termasuk x dan y (koordinat) atau 𝑑𝑖𝑗 • Tetapan siklus semut (Q)
• Tetapan pengendali intensitas pheromone (α) • Tetapan pengendali visibilitas (invers dari jarak) (β) • Visibilitas antar kota (ƞ𝑖𝑗)
Uin Syarif Hidayatullah Jakarta
• Jumlah semut (m)
• Tetapan penguapan jejak semut atau Pheromone (p)
Setelah inisialisasi τ𝑖𝑗 dilakukan, kemudian m semut ditempatkan pada kota pertama yang ditentukan secara acak sebagai titik awal.
2.2.2.2. Penyusunan Kunjungan Setiap Semut ke Setiap Kota.
Koloni semut yang sudah terdistribusi ke kota pertama akan mulai melakukan perjalanan dari kota pertama sebagai kota asal dan salah satu kota-kota lainnya sebagai kota-kota tujuan. Kemudian dari kota-kota kedua, masing-masing koloni semut akan melanjutkan perjalanan dengan memilih salah satu dari kota-kota yang tidak terdapat pada 𝑡𝑎𝑏𝑢𝒌 sebagai kota tujuan selanjutnya.
Perjalan koloni semut berlangsung hingga melewati semua kota yang tersedia. Jika ѕ menyatakan indek urutan kunjungan, kota asal dinyatakan sebagai 𝑡𝑎𝑏𝑢𝒌(𝑠) dan kota-kota lainnya dinyatakan sebagai {N-𝑡𝑎𝑏𝑢𝒌}, maka untuk menentukan kota selanjutnya digunakan persamaan probabilitas kota transisi sebagai berikut,
𝑃𝑖𝑗𝑘 = [τ𝑖𝑗] 𝛼 . [ƞ𝑖𝑗] 𝛽 ∑[τ𝑖𝑘]𝛼 . [ƞ 𝑖𝑘]𝛽
Dimana 𝑃𝑖𝑗𝑘 merupakan probabilitas dari semut k pada tiitk i untuk menuju ke titik j. τ𝑖𝑗 adalah jumlah Pheromone yang terdapat pada edge antara titik i dan titik j. ƞ𝑖𝑗 adalah visibilitas dari titik i menuju titik j dengan rumus 1
𝑑𝑖𝑗 , dimana 𝑑𝑖𝑗 = √(x𝑖 − x𝑗)
2
+ (y𝑖− 𝑦𝑗)2 dengan syarat apabila jarak dari titik i menuju titik j belum didefinisikan sebelumnya. α adalah sebuah parameter yang mengontrol bobot relatif dari Pheromone dan β adalah parameter pengendali jarak dengan aturan α > 0 dan β > 0.
2.2.2.3. Perolehan Harga Setalah Kunjungan
Uin Syarif Hidayatullah Jakarta
Perhitungan panjang jalur tertutup atau L𝑘 setiap semut dilakukan setelah satu siklus diselesaikan oleh semua semut. Disebut jalur tertutup dikarenakan titik awal dan titik akhir perjalanan ialah sama. Perhitungan dilakukan berdasarkan 𝑡𝑎𝑏𝑢𝑘 masing-masing.
2. Perolehan jalur terpendek
Setelah L𝑘 setiap semut dihitung, akan diperoleh harga minimal panjang jalur tertutup setiap siklus atau L𝑚𝑖𝑛𝑁𝐶 dan harga minimal panjang jalur tertutup secara keseluruhan atau L𝑚𝑖𝑛 .
3. Perhitungan perubahan harga intensitas jejak kaki semut antar kota. Koloni semut akan meninggalkan jejak-jejak kaki pada rute antar kota yang dilaluinya. Adanya penguapan dan perbedaan jumlah semut yang lewat, menyebabkan kemungkinan terjadinya perubahan harga intensitas jejak kaki semut antar kota. Persamaan perubahannya adalah:
𝛥Ʈ𝑖𝑗 = ∑ 𝛥 𝑚
𝑘=1 Ʈ𝑖𝑗𝑘
Dengan 𝛥 Ʈ𝑖𝑗𝑘 adalah perubahan harga intensitas pheromone antar kota setiap semut yang dihitung berdasarkan perrsamaan:
𝛥 Ʈ𝑖𝑗𝑘 = 𝑄 L𝑘
untuk (i,j) ϵ kota asal dan kota tujuan dalam 𝑡𝑎𝑏𝑢𝑘
2.2.2.4. Perubahan nilai Pheromone.
Harga intensitas jejak kaki semut antar kota pada semua rute antar kota ada kemungkinan berubah karena adanya penguapan dan perbedaan jumlah semut yang melewati. Untuk siklus selanjutnya, semut yang akan melewati rute tersebut harga intensitasnya telah berubah. Harga intensitas jejak kaki semut antar kota untuk siklus selanjutnya dihitung dengan persamaan:
Uin Syarif Hidayatullah Jakarta 2.2.3. Pseudo Code Algoritma ACO
Menurut Ramadhani, Hertono, Handari (2016), berikut merupakan pseudo code algoritma ACO dalam menyelesaikan permasalahan TSP:
inisialisasi kota, koordinat, kota sebagai depot, parameter ACO dan TSP menyusun rute kunjungan setiap semut ke setiap depot
while proses belum memenuhi kriteria pemberhentian, lakukan for setiap depot, lakukan
for setiap pedagang keliling pada depot, lakukan
proses probabilitas transisi hingga kembali ke depot end for
end for
hitung total jarak perjalanan pedagang keliling for setiap sisi, lakukan
ubah nilai Pheromone end for
end while
return rute terpendek yang ditemukan
2.3. Graf
2.3.1. Definisi Graf
Menurut Perdana (2018), Secara sederhana graf didefinisikan sebagai kumpulan titik yang dihubungkan oleh garis. Secara matematis, graf adalah pasangan himpunan (V, E) dimana V adalah himpunan tak kosong yang memiliki elemen disebut simpul (vertice) dan E adalah kumpulan dari dua elemen subsets V yang disebut busur (edges).
Simpul direpresentasikan dengan titik dan busur yang hubungkan oleh garis. Gambar berikut merupakan contoh graf (V, E) dimana:
Uin Syarif Hidayatullah Jakarta
E = {{A,B}, {A,C}, {B,D}, {C,D}, {C,E}, {E,F}, {E,G}, {H,I}}.
Gambar 2. 3 Contoh Graf (Sumber: Perdana, 2018)
Sebuah busur selalu memiliki dua endpoint, misalnya busur {H,I} memiliki endpoint H dan I. Graf biasanya digunakan untuk memodelkan objek-objek diskrit dan hubungan antar objek-objek tersebut.
2.3.2. Graf Hamilton
Lintasan dan Sirkuit Hamilton Pada graf G = (V, E), lintasan Hamilton (Hamiltonian path) merupakan suatu lintasan sederhana yang melewati semua simpul di G tepat satu kali. Sedangkan dalam graf G = (V, E) sirkuit Hamilton (Hamiltonian circuit) merupakan suatu sirkuit sederhana yang melewati semua simpul di G tepat satu kali. Graf yang mempunyai lintasan Hamilton dinamakan dengan graf semi-Hamilton (semiHamiltonian graph), sedangkan graf yang mempunyai sirkuit Hamilton disebut dengan graf Hamilton (Hamiltonian graph).
Contoh lintasan hamilton dapat diamati pada graf tak-berarah Gambar 3.6(a) dan graf berararah Gambar 3.6(c). Salah satu lintasan Hamilton pada graf tak-berarah Gambar 3.6(a) adalah: A-B-C-E-D. Sedangkan salah satu lintasan Hamilton pada graf berarah Gambar 3.6(c) adalah: A-B-D-C.
Contoh sirkuit hamilton dapat diamati pada graf tak-berarah Gambar 3.6(b) dan graf berararah Gambar 3.6(d). Salah satu sirkuit Hamilton pada graf tak-berarah Gambar 3.6(b) adalah: A-B-D-C-A. Sedangkan salah satu sirkuit Hamilton pada graf berarah Gambar 3.6(d) adalah: A-B-C-D-A
Uin Syarif Hidayatullah Jakarta Gambar 2.4 (a) Graf tak-berarah semi-Hamilton, (b) Graf tak-berarah Hamilton, (c) Graf berarah
semi-Hamilton, (d) Graf berarah Hamilton (Sumber: Perdana, 2018)
Hingga saat ini belum ada teorema yang menyatakan syarat perlu dan syarat cukup yang sederhana untuk menentukan suatu graf memiliki lintasan/ sirkuit Hamilton. Akan tetapi, terdapat beberapa teorema umum tentang keberadaan lintasan/ sirkuit Hamilton dengan menggunakan beberapa syarat cukup (bukan syarat perlu), yaitu:
• Teorema Dirac. Jika G adalah graf sederhana dengan n buah simpul (n≥3) sedemikian sehingga derajat setiap simpul paling sedikit n/2 (yaitu, d(v) ≥ n/2 untuk setiap simpul v di G), maka G adalah graf Hamilton.
• Teorema Ore. Jika G adalah graf sederhana dengan n buah simpul (n≥3) sedemikian sehingga d(v) + d(u) ≥ n untuk setiap pasang simpul tidak bertetangga u dan v, maka G adalah graf Hamilton.
• Setiap graf lengkap adalah graf Hamilton.
• Di dalam graf lengkap G dengan n buah simpul (n≥3) terdapat sebanyak (n-1)!/2 sirkuit Hamilton.
• Di dalam graf lengkap G dengan n buah simpul (n≥3 dan n gasal), terdapat (n-1)/2 sirkuit Hamilton yang saling lepas (tidak ada sisi yang beririsan). Jika n genap dan n≥4, maka di dalam G terdapat (n-2)/2 sirkuit Hamilton yang saling lepas.
2.4. Android
2.4.1. Definisi Android
Menurut Wikipedia (2018), Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat bergerak layar sentuh seperti telepon pintar dan
Uin Syarif Hidayatullah Jakarta
komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya pada tahun 2005. Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaan perangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler. Ponsel Android pertama mulai dijual pada bulan Oktober 2008.
Antarmuka pengguna Android umumnya berupa manipulasi langsung, menggunakan gerakan sentuh yang serupa dengan tindakan nyata, misalnya menggeser, mengetuk, dan mencubit untuk memanipulasi objek di layar, serta papan ketik virtual untuk menulis teks. Selain perangkat layar sentuh, Google juga telah mengembangkan Android TV untuk televisi, Android Auto untuk mobil, dan Android Wear untuk jam tangan, masing-masingnya memiliki antarmuka pengguna yang berbeda. Varian Android juga digunakan pada komputer jinjing, konsol permainan, kamera digital, dan peralatan elektronik lainnya.
Android adalah sistem operasi dengan sumber terbuka, dan Google merilis kodenya di bawah Lisensi Apache. Kode dengan sumber terbuka dan lisensi perizinan pada Android memungkinkan perangkat lunak untuk dimodifikasi secara bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel, dan pengembang aplikasi. Selain itu, Android memiliki sejumlah besar komunitas pengembang aplikasi (apps) yang memperluas fungsionalitas perangkat, umumnya ditulis dalam versi kustomisasi bahasa pemrograman Java. Pada bulan Oktober 2013, ada lebih dari satu juta aplikasi yang tersedia untuk Android, dan sekitar 50 miliar aplikasi telah diunduh dari Google Play, toko aplikasi utama Android. Sebuah survei pada bulan April-Mei 2013 menemukan bahwa Android adalah platform paling populer bagi para pengembang, digunakan oleh 71% pengembang aplikasi bergerak. Di Google I/O 2014, Google melaporkan terdapat lebih dari satu miliar pengguna aktif bulanan Android, meningkat dari 583 juta pada bulan Juni 2013.
Faktor-faktor di atas telah memberikan kontribusi terhadap perkembangan Android, menjadikannya sebagai sistem operasi telepon pintar yang paling banyak digunakan di dunia, mengalahkan Symbian pada tahun 2010. Android juga menjadi
Uin Syarif Hidayatullah Jakarta
pilihan bagi perusahaan teknologi yang menginginkan sistem operasi berbiaya rendah, bisa dikustomisasi, dan ringan untuk perangkat berteknologi tinggi tanpa harus mengembangkannya dari awal. Sifat Android yang terbuka juga telah mendorong munculnya sejumlah besar komunitas pengembang aplikasi untuk menggunakan kode sumber terbuka sebagai dasar proyek pembuatan aplikasi, dengan menambahkan fitur-fitur baru bagi pengguna tingkat lanjut atau mengoperasikan Android pada perangkat yang secara resmi dirilis dengan menggunakan sistem operasi lain.
Pada November 2013, Android menguasai pangsa pasar telepon pintar global, yang dipimpin oleh produk-produk Samsung, dengan persentase 64% pada bulan Maret 2013. Pada Juli 2013, terdapat 11.868 perangkat Android berbeda dengan beragam versi. Keberhasilan sistem operasi ini juga menjadikannya sebagai target ligitasi paten "perang telepon pintar" antar perusahaan-perusahaan teknologi. Hingga bulan Mei 2013, total 900 juta perangkat Android telah diaktifkan di seluruh dunia, dan 48 miliar aplikasi telah dipasang dari Google Play.
Berikut merupakan logo Android:
Gambar 2. 5 Logo Android (Sumber: Wikipedia, 2018) 2.4.2. Fitur Android
Adapun beberapa fitur – fitur menurut Wikipedia (2018) yang tersedia di Android adalah sebagai berikut ini:
2.4.2.1. Antarmuka
Antarmuka pengguna pada Android didasarkan pada manipulasi langsung, menggunakan masukan sentuh yang serupa dengan tindakan di dunia nyata, misalnya menggesek (swiping), mengetuk (tapping), dan mencubit (pinching), untuk memanipulasi objek di layar. Masukan pengguna
Uin Syarif Hidayatullah Jakarta
direspon dengan cepat dan juga tersedia antarmuka sentuh layaknya permukaan air, seringkali menggunakan kemampuan getaran perangkat untuk memberikan umpan balik haptik kepada pengguna. Perangkat keras internal seperti akselerometer, giroskop, dan sensor proksimitas digunakan oleh beberapa aplikasi untuk merespon tindakan pengguna, misalnya untuk menyesuaikan posisi layar dari potret ke lanskap, tergantung pada bagaimana perangkat diposisikan, atau memungkinkan pengguna untuk mengarahkan kendaraan saat bermain balapan dengan memutar perangkat sebagai simulasi kendali setir.
Ketika dihidupkan, perangkat Android akan memuat pada layar depan (homescreen), yakni navigasi utama dan pusat informasi pada perangkat, serupa dengan desktop pada komputer pribadi. Layar depan Android biasanya terdiri dari ikon aplikasi dan widget; ikon aplikasi berfungsi untuk menjalankan aplikasi terkait, sedangkan widget menampilkan konten secara langsung dan terbarui otomatis, misalnya prakiraan cuaca, kotak masuk surel pengguna, atau menampilkan tiker berita secara langsung dari layar depan. Layar depan bisa terdiri dari beberapa halaman, pengguna dapat menggeser bolak balik antara satu halaman ke halaman lainnya, yang memungkinkan pengguna Android untuk mengatur tampilan perangkat sesuai dengan selera mereka. Beberapa aplikasi pihak ketiga yang tersedia di Google Play dan di toko aplikasi lainnya secara ekstensif mampu mengatur kembali tema layar depan Android, dan bahkan bisa meniru tampilan sistem operasi lain, misalnya Windows Phone. Kebanyakan produsen telepon seluler dan operator nirkabel menyesuaikan tampilan perangkat Android buatan mereka untuk membedakannya dari pesaing mereka.
Di bagian atas layar terdapat status bar, yang menampilkan informasi tentang perangkat dan konektivitasnya. Status bar ini bisa "ditarik" ke bawah untuk membuka layar notifikasi yang menampilkan informasi penting atau pembaruan aplikasi, misalnya surel diterima atau SMS masuk, dengan cara tidak mengganggu kegiatan pengguna pada perangkat. Pada versi awal Android, layar notifikasi ini bisa digunakan untuk membuka aplikasi yang
Uin Syarif Hidayatullah Jakarta
relevan, namun setelah diperbarui, fungsi ini semakin disempurnakan, misalnya kemampuan untuk memanggil kembali nomor telepon dari notifikasi panggilan tak terjawab tanpa harus membuka aplikasi utama. Notifikasi ini akan tetap ada sampai pengguna melihatnya, atau dihapus dan di nonaktifkan oleh pengguna. Berikut merupakan gambar layar notifikasi Android:
Gambar 2. 6 Layar notifikasi Android yang diakses dengan menggeser layar (swipe) dari bagian atas layar (Sumber: Wikipedia, 2018)
2.4.2.2. Aplikasi
Android memungkinkan penggunanya untuk memasang aplikasi pihak ketiga, baik yang diperoleh dari toko aplikasi seperti Google Play, Amazon Appstore, ataupun dengan mengunduh dan memasang berkas APK dari situs pihak ketiga. Di Google Play, pengguna bisa menjelajah, mengunduh, dan memperbarui aplikasi yang diterbitkan oleh Google dan pengembang pihak ketiga, sesuai dengan persyaratan kompatibilitas Google. Google Play akan menyaring daftar aplikasi yang tersedia berdasarkan
Uin Syarif Hidayatullah Jakarta
kompatibilitasnya dengan perangkat pengguna, dan pengembang dapat membatasi aplikasi ciptaan mereka bagi operator atau negara tertentu untuk alasan bisnis. Pembelian aplikasi yang tidak sesuai dengan keinginan pengguna dapat dikembalikan dalam waktu 15 menit setelah pengunduhan. Beberapa operator seluler juga menawarkan tagihan langsung untuk pembelian aplikasi di Google Play dengan cara menambahkan harga pembelian aplikasi pada tagihan bulanan pengguna. Pada bulan September 2012, ada lebih dari 675.000 aplikasi yang tersedia untuk Android, dan perkiraan jumlah aplikasi yang diunduh dari Play Store adalah 25 miliar.
Aplikasi Android dikembangkan dalam bahasa pemrograman Java dengan menggunakan kit pengembangan perangkat lunak Android (SDK). SDK ini terdiri dari seperangkat perkakas pengembangan, termasuk debugger, perpustakaan perangkat lunak, emulator handset yang berbasis QEMU, dokumentasi, kode sampel, dan tutorial. Didukung secara resmi oleh lingkungan pengembangan terpadu (IDE) Eclipse, yang menggunakan plugin Android Development Tools (ADT). Perkakas pengembangan lain yang tersedia di antaranya adalah Native Development Kit untuk aplikasi atau ekstensi dalam C atau C++, Google App Inventor, lingkungan visual untuk pemrogram pemula, dan berbagai kerangka kerja aplikasi web seluler lintas platform. Beikut merupakan gambar Google Play Android:
Uin Syarif Hidayatullah Jakarta Gambar 2. 7 Google Play Android (Sumber: Wikipedia, 2018)
2.4.2.3. Pengelolaan Memori
Karena perangkat Android umumnya bertenaga baterai, Android dirancang untuk mengelola memori (RAM) guna menjaga konsumsi daya minimal, berbeda dengan sistem operasi desktop yang bisa terhubung pada sumber daya listrik tak terbatas. Ketika sebuah aplikasi Android tidak lagi digunakan, sistem secara otomatis akan menangguhkannya (suspend) dalam memori – secara teknis aplikasi tersebut masih "terbuka", namun dengan ditangguhkan, aplikasi tidak akan mengkonsumsi sumber daya (misalnya daya baterai atau daya pemrosesan), dan akan "diam" di latar belakang hingga aplikasi tersebut digunakan kembali. Cara ini memiliki manfaat ganda, tidak hanya meningkatkan respon perangkat Android karena aplikasi tidak perlu ditutup dan dibuka kembali dari awal setiap saat, tetapi juga memastikan bahwa aplikasi yang berjalan di latar belakang tidak menghabiskan daya secara sia-sia.
Uin Syarif Hidayatullah Jakarta
Android mengelola aplikasi yang tersimpan di memori secara otomatis: ketika memori lemah, sistem akan menonaktifkan aplikasi dan proses yang tidak aktif untuk sementara waktu, aplikasi akan dinonaktifkan dalam urutan terbalik, dimulai dari yang terakhir digunakan. Proses ini tidak terlihat oleh pengguna, jadi pengguna tidak perlu mengelola memori atau menonaktifkan aplikasi secara manual. Namun, kebingungan pengguna atas pengelolaan memori pada Android telah menyebabkan munculnya beberapa aplikasi task killer pihak ketiga yang populer di Google Play.
2.5. Java
2.5.1. Pengertian Java
Menurut Mary (2017) Pemrograman Java merupakan bahasa pemrograman tingkat tinggi berorientasi objek yang bisa dijalankan diberbagai sistem operasi (Multiplatform), yang diperkenalkan oleh Sun Microsystems sekitar tahun 1995.
Sebagai sebuah bahasa pemograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemograman konvensional yang lain.
2.5.2. Karakteristik Java
• Sederhana.
• Berorientasi objek.
• Dapat didistribusikan dengan mudah. • Intepreter. • Robust. • Aman. • Architecture Neutral. • Portable. • Permormance. • Multithreaded. • Dinamis.
Uin Syarif Hidayatullah Jakarta 2.6. Google Map
Menurut Firando (2014) Google Maps adalah peta online atau membuka peta secara online, dapat dilakukan secara mudah melalui layanan gratis dari Google. Bahkan layanan ini menyediakan API (Application Programming Interface) yang memungkinkan developer lain untuk memanfaatkan aplikasi ini di aplikasi buatannya. Tampilan Google Map pun dapat dipilih, berdasarkan foto asli atau peta gambar rute saja.
Google Map adalah layanan gratis yang diberikan oleh Google dan sangat popular. Google Map adalah suatu peta dunia yang dapat kita gunakan untuk melihat suatu daerah. Dengan kata lain, Google Map merupakan suatu peta yang dapat dilihat dengan menggunakan suatu browser. Kita dapat menambahkan fitur Google Map dalam web yang telah kita buat atau pada blog kita yang berbayar maupun gratis sekalipun dengan Google Map API.
Google Map API adalah suatu library yang berbentuk JavaScript. Cara membuat Google Map untuk ditampilkan pada suatu web atau blog sangat mudah hanya dengan membutuhkan pengetahuan mengenai HTML serta JavaScript, serta koneksi Internet yang sangat stabil. Dengan menggunakan Google Map API, kita dapat menghemat waktu dan biaya untuk membangun aplikasi peta digital yang handal, sehingga kita dapat fokus hanya pada data-data yang akan ditampilkan. Dengan kata lain, kita hanya membuat suatu data sedangkan peta yang akan ditampilkan adalah milik Google sehingga kita tidak dipusingkan dengan mambuat peta suatu lokasi, bahkan dunia. Berikut merupakan gambar Google Map yang diakses menggunakan website:
Uin Syarif Hidayatullah Jakarta Gambar 2. 8 Google Map (Sumber: Firando, 2014)
Pada Google Map API terdapat 4 jenis pilihan model peta yang disediakan oleh Google, diantaranya adalah:
• ROADMAP, untuk menampilkan peta biasa 2 dimensi. • SATELLITE, untuk menampilkan foto satelit.
• TERRAIN, untuk menunjukkan relief fisik permukaan bumi dan menunjukkan seberapa tingginya suatu lokasi, contohnya akan menunjukkan gunung dan sungai.
• HYBRID, akan menunjukkan foto satelit yang diatasnya tergambar pula apa yang tampil pada ROADMAP (nama jalan dan kota).
2.7. Android Studio
Android Studio adalah Integrated Development Environment (IDE) resmi untuk pengembangan aplikasi Android, berdasarkan IntelliJ IDEA. IntelliJ IDEA menawarkan beberapa keunggulan pada Android Studio, seperti:
• Sistem dibangun oleh gradle yang bersifat fleksibel.
• Dapat menghasilkan beberapa jenis varian dan generasi apk. • Template diperluas untuk Google.
• Menyediakan layanan dan berbagai jenis perangkat. • Layout editor memiliki banyak fitur pilihan.
Uin Syarif Hidayatullah Jakarta
• Tersedia fitur Lint untuk mengoptimalkan kinerja, kegunaan, kompatibilitas, serta masalah lainnya.
• Tersedia fitur Built-in untuk memudahkan pengembang aplikasi dalam mengintegrasikan Google Cloud Messaging and App Engine (http://developer.android.com, 2015).
2.8. JSON
Menurut Firando (2014) JSON (javaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemograman Javascript, Standar ECMA-262 Edisi ke-3 – Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python, dll. Oleh karena itu sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.
JSON terbuat dari dua struktur:
• Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.
• Daftar nilai terurutkan (ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).
2.9. SQLite
Menurut Ramadani, Tammam, Setyo, dkk (2017) SQLite merupakan sebuah sistem manajemen basisdata relasional yang bersifat ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp.
Uin Syarif Hidayatullah Jakarta
SQLite ini adalah mesin database SQL yang tertanam pada sistem yang kita gunakan. Tidak seperti pada paradigma client-server umumnya, Inti SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai bagian integral dari sebuah program secara keseluruhan.
Sehingga protokol komunikasi utama yang digunakan adalah melalui pemanggilan API secara langsung melalui bahasa pemrograman. Mekanisme seperti ini tentunya membawa keuntungan karena dapat mereduksi overhead, latency times, dan secara keseluruhan lebih sederhana. Seluruh elemen basisdata (definisi data, tabel, indeks, dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi disain tersebut bisa diraih dengan cara mengunci keseluruhan file basis data pada saat sebuah transaksi dimulai.
SQLite dapat digunakan di Windows Phone, Android, iPhone, PHP, Firefox, Chrome dan lain – lain yang dapat dilihat di: http://www.sqlite.org/famous.html. Pada browser, biasanya SQLite ini digunakan untuk menyimpan kongfigurasi seperti history, bookmark, dan cache, sedangkan pada mobile, penggunaan SQLite ini sangat banyak seperti kontak, database tabel dsb.
SQLite adalah produk public domain. Artinya tidak punya lisensi, anda boleh mengambil binary atau source codenya secara free / gratis. Berikut merupakan tipe data yang didukung SQLite :
• Numeric ( integer , float , double), • Text ( Char , varchar , text ) • DATETIME
• BLOB
2.10. Application Program Interface (API)
API merupakan serangkaian instruksi dan standar pemrograman untuk mengakses aplikasi atau layanan berbasis web. Sebuah perusahaan software atau penyedia layanan berbasis web merilis API mereka kepada publik. Dengannya, pengembang lain dapat mendesain aplikasi yang memanfaatkan layanan mereka.
API memungkinkan sebuah aplikasi berkomunikasi dengan aplikasi lain di Internet melalui serangkaian panggilan (call). Sebuah API, berdasarkan definisinya,
Uin Syarif Hidayatullah Jakarta
adalah sesuatu yang mendefinisikan cara dua entitas untuk berkomunikasi. Entitas di sini adalah sebuah software yang nyata berbeda (dalam layanan) dengan software lain.
Dengan API, panggilan-panggilan yang bolak-balik antar aplikasi diatur melalui web service. Web service adalah kumpulan standar teknis dan protokol, termasuk XML (Extensible Markup Language), bahasa umum yang digunakan oleh aplikasi-aplikasi tersebut selama berkomunikasi di Internet.
Dengan demikian, API adalah standar komunikasi yang dibuka oleh perusahaan software, agar dapat dimanfaatkan oleh pengembang pihak ketiga untuk mendesain aplikasi yang memanfaatkan layanan mereka dengan mudah (Wulandari, 2013).
2.11. Rapid Application Development (RAD)
Rapid Application Development (RAD) merupakan salah satu metode dalam pengembangan sistem (System Development Life Cycle), dimana metode ini dapat digunakan untuk menyelesaikan adanya keterlambatan dalam permasalahan sistem yang pengolahan datanya masih bersifat konvensional. Model RAD ini sesuai untuk menghasilkan sistem pereangkat lunak dengan kebutuhan perangkat lunak dengan waktu yang pendek. Model RAD membagi tim pengembang menjadi berberapa tim untuk mengerjakan berberapa komponen masing-masing tim pengerjaan dapat dilakukan secara paralel. berikut gambar model RAD:
Uin Syarif Hidayatullah Jakarta Gambar 2. 9 Model RAD (Sumber: Hidayati, 2018)
Berikut merupakan penjelasan mengenai model RAD: 1. Pemodelan Bisnis
Pemodelan bisnis ini merupakan pemodelan yang digunakan untuk memodelkan fungsi bisnisnya, seperti apa saja yang berhubungan dengan proses bisnis, informasi apa saja yang harus dihasilkan dan siapa yang membuatnya, serta bagaimana alur dan proses informasi tersebut.
2. Pemodelan Data
Dalam pemodelan data ini, dapat ditentukan data-data yang dibutuhkan dari pemodelan bisnisnya, menentukan atribut dan relasi dengan data-data yang lain.
Uin Syarif Hidayatullah Jakarta
3. Pemodelan Proses
Pemodelan proses ini merupakan tahapan dalam menerapkan fungsi bisnis yang sudah didefinisikan sebelumnya, terutama yang berkaitan dengan data.
4. Pemodelan Aplikasi
Dalam tahapan ini, aplikasi program yang sudah dibuat berdasarkan pemodelan data dan proses siap diimplementasikan.
5. Pengujian dan Pergantian
Setelah tahapan pemodelan aplikasi, maka perlu dilakukan pengujian terhadap komponen-komponen yang dibuat. Apabila pengujian ini dapat dilakukan dengan baik, maka tim pengembang komponen dapat menuju ke pengembangan komponen berikutnya.
Secara normal, seandainya pengembangan sistem membutuhkan waktu sebanyak 180 hari, maka dengan adanya metode RAD ini, waktu tersebut dapat dipersingkat menjadi 30-90 hari untuk menyelesaikan sistem perangkat lunak tersebut. Keterlibatan pengguna dalam proses analisa dan perancangan sistemnya, sangat diperlukan dalam model RAD. Dengan demikian dapat memnuhi kebutuhan pengguna dengan baik dan secara nyata akan dapat meningkatkan tingkat kepuasan pengguna sistem (Hidayati, 2018).
2.12. Flowchart
2.12.1. Definisi Flowchart
Menurut Kadir (2013), flowchart adalah bentuk penyajian grafis yang menggambarkan solusi langkah demi langkah terhadap suatu permasalahan. Flowchart tidak hanya dipakai untuk menggambarkan operasi yang sederhana, tetapi juga dapat digunakan untuk menangani persoalan yang kompleks.
2.12.2. Kelebihan Flowchart
• Merupakan metode komunikasi yang andal, hanya menggunakan sedikit simbol yang mudah dipahami oleh siapa saja.
Uin Syarif Hidayatullah Jakarta
• Bentuknya mnecerminkan keadaaan yang sesungguhnya. Misalnya, secara visual dapat menggambarkan pengulangan atau pencabangan.
• Keesalahan-kesalahan dapat terdeteksi secara visual (misalnya ada langkah yang belum diarahkan ke langkah lain).
2.12.3. Kekurangan Flowchart
• Jika logika kompleks, flowchart menjadi rumit dan menyita tempat. • Membosankan kalau simbol-simbol di flowchart harus digambar secara
manual. Namun, ini teratasi kalau program penggambar flowchart digunakan.
2.12.4. Simbol-simbol Flowchart
Tabel 2.1 Simbol-simbol Pada Flowchart (Sumber: Kadir, 2013)
Simbol Nama Fungsi
Terminator Permulaan/akhir program
Garis Alir Arah aliran program
Preparation Proses inisialisasi/ pembagian harga awal
Proses Proses perhitungan/proses pengolahan data
Input/output Data Proses input/output data, parameter, informasi Predefined
Process
Permulaan sub program/proses menjalankan sub program Decision Perbandingan pernyataan,
memberikan pilihan untuk langkah selanjutnya
Onpage Connector
Penghubung bagian-bagian flowchart yang berada pada satu halaman
Uin Syarif Hidayatullah Jakarta
Simbol Nama Fungsi
Offpage Connector
Penghubung bagian-bagian flowchart yang berada pada halaman berbeda
2.13. Metode Pengumpulan Data
2.13.1. Pengertian Metode Pengumpulan Data
Metode pengumpulan data adalah berbagai cara yang digunakan untuk mengumpulkan data, mengambil, atau menjaring data penelitian (Suwartono, 2014).
2.13.2. Studi Pustaka
Studi pustaka merupakan usaha-usaha yang dilakukan oleh peneliti untuk mendapatkan berbagai informasi, sesuai dengan topik yang sedang diteliti yaitu dengan cara menggali berbagai informasi yang bersumber dari buku-buku ilmiah, laporan penelitian, karangan-karangan ilmiah, tesis dan disertasi, peraturan-peraturan, dan sumber lainnya baik secara tertulis maupun dari media elektronoik. Kegunaan dari studi pustaka ini adalah untuk menjelaskan variabel yang menjadi topik dalam penelitian (Fitrianti, 2016).
2.13.3. Wawancara
2.13.3.1. Pengertian Wawancara
Menurut Suwartono (2014), wawancara adalah cara menjaring informasi atau data melalui interaksi verbal/lisan. Wawancara memungkinkan peneliti untuk menyusup kedalam “alam” pikiran orang lain, tepatnya hal-hal yang berhubungan dengan perasaan, pikiran, pengalaman, pendapat, dan lainnya yang tidak dapat diamati.
Sedangkan menurut Winarno (2018), wawancara adalah sebuah dialog yang dilakukan oleh pewawancara untuk memperoleh informasi dari orang yang diwawancarai. Wawancara digunakan oleh peneliti untuk menilai keadaan seseorang, misalnya untuk mencari data tentang variabel latar
Uin Syarif Hidayatullah Jakarta
belakang murid, orang tua, pendidikan, perhatian, maupun sikap terhadap sesuatu.
Secara fisik, wawancara dapat dibedakan atas wawancara terstruktur dan wawancara tidak terstruktur. Pada umumnya wawancara terstruktur di luat negeri telah dibuat terstandar. Wawancara terstruktur terdiri dari serentetan pertanyaan di mana pewawancara tinggal memberikan tanda check () pada pilihan jawaban yang telah disiapkan, wawancara terstandar ini kadang-kadang disembunyikan oleh pewawancara akan tetapi tidak pula yang diperlihatkan kepada responden, bahkan respondenlah yang dipersilahkan memberikan tanda. Dalam keadaan terakhir, maka wawancara ini tidak ubahnya sebagai kuesioner saja.
Bila ditinjau dari pelaksanaannya, maka wawancara dibedakan atas: 1. Wawancara bebas, dimana pewawancara bebas menanyakan apa
saja, tetapi juga mengingat akan data apa yang akan dikumpulkan. Penulis menggunakan wawancara jenis ini.
2. Dalam pelaksanaannya, pewawancara tidak membawa pedoman apa yang akan ditanyakan. Kebaikan metode ini adalah bahwa responden tidak menyadari sepenuhnya bahwa iia sedang diwawancarai. Dengan demikian, suasananya akan menjadi lebih santai karena hanya omong-omong biasa. Kelemahan penggunaan teknik ini adalah arah pertanyaan kadang-kadang kurang terkendali.
3. Wawancara terpimpin, yaitu wawancara yang dilakukan oleh pewawancara dengan membawa sederetan pertanyaan lengkap dan terperinci seperti yang dimaksud dalam wawancara terstruktur.
4. Wawancara bebas terpimpin, yaitu kombinasi antara wawancara bebas dan wawancara terpimpin (Winarno, 2018).
Uin Syarif Hidayatullah Jakarta 2.13.4. Kuesioner
2.13.4.1. Pengertian Kuesioner
Menurut Winarno (2018), kuesioner adalah sejumlah pertanyaan tertulis yang digunakan untuk memperoleh informasi dari responden tentang sesuatu yang akan diteliti. Secara umum, angket atau kuesioner digunakan untuk mengungkap data yang berkaitan dengan data pribadi responden, pendapat atau informasi lain yang berkaitan dengan masalah penelitian.
Teknik pengambilan sampel yang penulis gunakan dalam penelitian ini adalah simple random sampling atau sampling acak sederhana. Menurut Gayatri (2018), sampling acak sederhana ialah pemilihan sampel yang dilakukan dengan cara acak, dimana setiap elemen memiliki peluang yang sama untuk dipilih dari populisasi.
Secara garis besar, kuesioner dapat dibedakan atas berberapa jenis, antara lain:
1. Berdasarkan cara menjawab:
• Kuesioner terbuka, yaitu jika memberi kesempatan kepada responden untuk menjawab dengan kalimatnya sendiri. Penulis menggunakan jenis kuesioner ini.
• Kuesioner tertutup, yaitu jika sudah disediakan jawabannya sehingga responden tinggal memilih.
2. Berdasarkan jawaban yang diberikan:
• Kuesioner langsung, yaitu jika responden menjawab tentang dirinya .Penulis menggunakan kuesioner jenis ini.
• Kuesioner tidak langsung, yaitu jika responden menjawab tentang orang lain.
3. Berdasarkan bentuknya:
• Kuesioner pilihan ganda, jika yang dimaksud adalah sama dengan kuesioner tertutup.
• Kuesioner isian, yang dimaksud adalah kuesioner terbuka. Penulis menggunakan kuesioner jenis ini.
Uin Syarif Hidayatullah Jakarta
• Check list (sebuah daftar), di mana responden tinggal membubuhkan tanda check () pada kolom yang sesuai.
• Rating-scale (skala bertingkat), yaitu sebuah pernyataan diikuti oleh kolom-kolom yang menunjukkan tingkat-tingkatan misalnya mulai dari sangat setuju sampai ke sangat tidak setuju.
2.13.4.2. Keuntungan Kuesioner
• Tidak memerlukan hadirnya peneliti.
• Dapat dibagikan secara serentak kepada banyak responden.
• Dapat dijawab oleh responden menurut kecepatannya masing-masing, dan menurut waktu senggang responden.
• Dapat dibuat anonim sehingga responden bebas jujur dan tidak malu-malu menjawab.
• Dapat dibuat terstandar sehingga bagi semua responden dapat diberi pertanyaan yang benar-benar sama.
2.13.4.3. Kelemahan Kuesioner
• Responden sering tidak teliti dalam menjawab sehingga ada pertanyaan yang terlewati tidak dijawab, padahal sukar diulangi diberikan kembali kepadanya.
• Seringkali sukar dicari validitasnya.
• Walaupun dibuat anonim, kadang-kadang responden dengan sengaja memberikan jawaban yang tidak betul atau tidak jujur.
• Seringkali tidak kembali, terutama jika dikirim lewat pos. Menurut penelitian, angket yang dikirim lewat pos angka pengembaliannya sangat rendah, hanya sekitar 20%.
• Waktu pengembaliannya tidak bersama-sama, bahkan kadang-kadang ada yang terlalu lama sehingga terlambat.