TUGAS AKHIR – KI141502
PERANGKAT BERGERAK UNTUK PENCATATAN HASIL PENGUKURAN MAKANAN DAN
MINUMAN
ARYA PUTRA KURNIAWAN NRP. 05111440000107
Dosen Pembimbing 1
DANIEL O SIAHAAN, SKom, MSc, PDEng
Dosen Pembimbing 2
ABDUL MUNIF, S.Kom., M.Sc.
DEPARTEMEN INFORMATIKA
Fakultas Teknologi Informasi dan Komunikasi Institut Teknologi Sepuluh Nopember
Surabaya 2018
i
TUGAS AKHIR – KI141502PERANGKAT BERGERAK UNTUK PENCATATAN HASIL PENGUKURAN MAKANAN DAN
MINUMAN
ARYA PUTRA KURNIAWAN NRP. 05111440000107 Dosen Pembimbing 1
DANIEL O SIAHAAN, SKom, MSc, PDEng
Dosen Pembimbing 2
ABDUL MUNIF, S.Kom., M.Sc.
DEPARTEMEN INFORMATIKA
Fakultas Teknologi Informasi dan Komunikasi Institut Teknologi Sepuluh Nopember
Surabaya 2018
ii
[Halaman ini sengaja dikosongkan]
iii
UNDERGRADUATE THESES – KI141502MOBILE FOR DOCUMENTING FOOD AND DRINK MEASUREMENT RESULT
ARYA PUTRA KURNIAWAN NRP. 05111440000107 Supervisor I
DANIEL O SIAHAAN, SKom, MSc, PDEng Supervisor II
ABDUL MUNIF, S.Kom., M.Sc.
Informatics Department
Faculty of Information Technology and Communication Institut Teknologi Sepuluh Nopember
Surabaya 2018
iv
[Halaman ini sengaja dikosongkan]
vi
[Halaman ini sengaja dikosongkan]
vii
PERANGKAT BERGERAK UNTUK PENCATATAN HASIL PENGUKURAN MAKANAN DAN MINUMAN Nama Mahasiswa : Arya Putra Kurniawan
NRP : 05111440000107
Departemen : Informatika FTIK - ITS Dosen Pembimbing I : Daniel O Siahaan, SKom, MSc,
PDEng
Dosen Pembimbing 2 : Abdul Munif, S.Kom., M.Sc.
ABSTRAK
Makanan dan minuman adalah salah satu kebutuhan terpenting manusia. Namun adakalanya makanan dan minuman yang dikonsumsi oleh manusia justru mengakibatkan dampak negatif. Hal ini membuktikan perlunya pengukuran kualitas makanan dan minuman pada lokasi umum secara berkala. Ada 3 masalah terkait keabsahan dari hasil pengukuran kualitas makanan dan minuman. Pertama, bagaimana memastikan operator yang ditugaskan melakukan pekerjaan di lokasi dimana ia ditugaskan. Kedua, memastikan operator memberi data laporan yang valid (disertai dengan bukti pengerjaan). Terakhir, memastikan operator yang ditugaskan mengerjakan tugasnya tanpa digantikan orang lain.
Diperlukan sebuah sistem pencatatan hasil pengukuran kualitas makanan dan minuman yang mobile agar dapat menyelesaikan masalah yang ada. Selain memiliki sebuah tempat penyimpanan data sentral yang terhubung melalui koneksi internet, sistem ini tentunya harus memiliki beberapa fitur untuk mengatasi masalah pemalsuan data hasil pengukuran kualitas.
Hasil yang didapatkan dari tugas akhir ini adalah aplikasi
perangkat bergerak yang dapat mencatat rute lokasi dari
pengguna dan foto wajah pengguna untuk memastikan data yang
dimasukkan telah valid.
viii
Kata kunci: mobile, lokasi, valid, sistem pengukuran kualitas
ix
MOBILE FOR DOCUMENTING FOOD AND DRINK MEASUREMENT RESULT
Student Name : Arya Putra Kurniawan NRP : 05111440000107
Department : Informatics FTIK - ITS
Supervisor I : Daniel O Siahaan, SKom, MSc, PDEng Supervisor II : Abdul Munif, S.Kom., M.Sc.
ABSTRACT
Food and beverage is one of the most important human needs.
But sometimes food and drinks consumed by humans could result in negative impact. This proves the necessity of regularly measuring the quality of food and beverages. Measurement of the quality of food is certainly carried out by the relevant health institutions. There are 3 emerging problems related to the validity of the results of measuring the quality of food and beverages. First, how to make sure the assigned operator actually does the assignment at the location where he is assigned. Second, how to ensure the operator gives valid data (including assignment’s evidence). Last, how to make sure the operator actually does its assignment without being replaced by anyone.
A mobile record-keeping system of food and beverage quality measurements is needed in order to resolve the problem. In addition to having a central data storage that is connected through an internet connection, this system must have some ability, especially to overcome the problem of data quality falsification results.
The results obtained from this study is a mobile device application that can record the user's location route and the user's face image to make sure the data entered is valid.
Keywords: mobile, location, valid, quality measurement system
x
[Halaman ini sengaja dikosongkan]
xi
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Allah yang Maha Esa Karena atas segala karunia dan rahmat-Nya penulis dapat menyelesaikan tugas akhir yang berjudul “PERANGKAT
BERGERAK UNTUK PENCATATAN HASIL
PENGUKURAN MAKANAN DAN MINUMAN” kepada semua pihak yang telah memberikan dukungan baik secara langsung maupun tidak langsung selama proses pengerjaan.
Pengerjaan tugas akhir ini penulis lakukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Komputer di Program Studi S-1 Jurusan Teknik Informatika Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember.
Penulis mengucapkan terima kasih kepada beberapa individu karena telah membantu penulis dari awal tugas akhir ini hingga selesai, antara lain:Allah yang Maha Esa atas segala karunia dan rahmat-Nya yang telah diberikan selama ini.
1. Keluarga penulis, Ayah, Ibu, dan saudara kandung serta keluarga yang tidak dapat penulis tuliskan satu per satu yang telah memberi dukungan moral, material, dan juga doa untuk penulis.
2. Bapak Daniel O Siahaan, SKom, MSc, PDEng selaku dosen pembimbing I yang telah memberikan bimbingan dan arahan dalam pengerjaan tugas akhir ini.
3. Bapak Abdul Munif, S.Kom., M.Sc. selaku dosen pembimbing II yang telah memberikan bimbingan dan arahan dalam pengerjaan tugas akhir ini.
4. Bapak Dr. Eng. Darlis Herumurti, S.Kom.,M.Kom. selaku Kepala Jurusan Teknik Informatika ITS, Bapak Dr. Radityo Anggoro, S.Kom.,M.Sc. selaku koordinator TA, dan segenap dosen Teknik Informatika yang telah banyak memberikan ilmu kepada penulis.
5. Teman-teman dari RMP terutama William Suhud, Steven
Kurniawan dan Prasetyo Nugrohadi yang sudah banyak
xii
memberi bantuan dan dukungan moral selama proses pengerjaan buku ini.
6. Teman kos U-125 Muhammad Ghazian yang sering membantu penulis dengan memberi masukan dan inspirasi serta asupan gizi selama 4 tahun belajar di ITS.
7. Teman kos U-125 Dwika Setya Muhammad yang senantiasa sabar saat penulis sedang frustasi dalam mengerjakan tugas akhir ini.
8. Teman-teman angkatan 2014 yang telah membantu, berbagi ilmu, menjaga kebersamaan, dan memberi motivasi kepada penulis, serta adik-adik angkatan 2015 dan 2017 yang membuat penulis untuk selalu belajar.
Penulis menyadari bahwa masih terdapat banyak kekurangan dalam tugas akhir ini. Oleh karena itu, penulis menerima dengan rendah hati kritik dan saran untuk pembelajaran dan perbaikan ke depannya. Semoga tugas akhir ini dapat memberikan manfaat yang sebaik-baiknya.
Surabaya, Juni 2018
Penulis
xiii DAFTAR ISI
LEMBAR PENGESAHAN ... v
ABSTRAK ... vii
ABSTRACT ... ix
KATA PENGANTAR ... xi
DAFTAR ISI ... xiii
DAFTAR GAMBAR ... xvii
DAFTAR TABEL ... xix
DAFTAR KODE SUMBER ... xxi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 3
1.3 Batasan Masalah ... 3
1.4 Tujuan ... 3
1.5 Manfaat ... 4
1.6 Metodologi Pembuatan Tugas Akhir ... 4
1.7 Sistematika Penulisan Laporan Tugas Akhir ... 6
BAB II TINJAUAN PUSTAKA ... 9
2.1 Pengukuran ... 9
2.2 Makanan ... 9
2.3 Minuman ... 9
2.4 Pengukuran Makanan dan Minuman ... 10
2.5 Android ... 10
2.6 Android Studio ... 11
2.7 SQLite ... 12
2.8 Code Igniter ... 13
2.9 API ... 13
2.10 Google Play Services Location API ... 13
2.11 Google Maps Directions API ... 14
2.12 Aplikasi Web Sidata ... 15
2.13 JSON ... 16
2.14 Fast Android Networking Library ... 16
2.15 Kasus Pengguna ... 16
2.16 Hubungan Extend ... 17
xiv
2.17 Hubungan Include ... 17
2.18 Kebutuhan ... 17
2.19 Class Association ... 17
2.20 Class Composition ... 17
2.21 Boundary ... 17
2.22 Controller ... 17
2.23 Entity ... 18
2.24 Diagram Urutan ... 18
BAB III ANALISIS DAN PERANCANGAN ... 19
3.1 Analisis... 19
3.1.1 Analisis Permasalahan ... 19
3.1.2 Deskripsi Umum Sistem Lama ... 21
3.1.3 Deskripsi Umum Sistem Baru ... 22
3.1.4 Perbandingan Sistem Lama dan Sistem Baru ... 23
3.1.5 Alur Kerja Sistem ... 24
3.2 Perancangan ... 32
3.2.1 Diagram Kasus Pengguna ... 32
3.2.2 Kebutuhan Sistem ... 33
3.2.3 Ekstensi Kasus Pengguna ... 35
3.3 Desain Perangkat Lunak ... 38
3.3.1 Analisis Kata Benda ... 38
3.3.2 Perancangan Diagram Kelas ... 39
3.3.3 Analisis Kelas ... 41
3.3.4 Diagram Urutan Sistem ... 43
3.3.5 Diagram Hubungan Halaman ... 45
3.3.6 Desain Fitur Pelacakan Lokasi ... 46
3.3.7 Desain Fitur Validasi Identitas Pengguna... 46
3.3.8 Desain Basis Data ... 47
3.3.9 Desain Sinkronisasi Basis Data ... 52
3.4 Matriks Pelacakan Kebutuhan... 53
BAB IV IMPLEMENTASI ... 55
4.1 Lingkungan Implementasi ... 55
4.2 Kerangka Kerja Implementasi... 55
4.2.1 Implementasi Kelas ... 56
4.2.2 Implementasi Fitur ... 61
xv
4.3 Implementasi Fitur Pelacakan Lokasi ... 62
4.4 Implementasi Fitur Pengambilan Gambar Wajah ... 64
4.5 Implementasi Fitur Sinkronisasi Data ... 65
4.6 Penugasan ... 70
4.6.1 Baru ... 72
4.6.2 Sedang Dikirim... 72
4.6.3 Dikirim ... 72
4.6.4 Penugasan Selesai... 73
4.6.5 Penugasan Diulang ... 73
BAB V PENGUJIAN ... 75
5.1 Lingkungan Pengujian ... 75
5.2 Responden Pengujian ... 75
5.2.1 Pengujian Responden Umum ... 75
5.2.2 Pengujian Non Fungsional ... 84
5.3 Hasil Pengujian Usabilitas Responden Umum ... 85
5.4 Evaluasi ... 88
BAB VI KESIMPULAN DAN SARAN ... 89
6.1 Kesimpulan ... 89
6.2 Saran ... 90
DAFTAR PUSTAKA... 91
Lampiran 1 Dokumen Spesifikasi Kebutuhan Perangkat Lunak. 93 Lampiran 2 Deskripsi Kasus Pengguna ... 99
Lampiran 3 Kandidat Kelas ... 111
Lampiran 4 Matriks Pelacakan Kebutuhan Non Fungsional ... 113
Lampiran 5 Diagram Kelas Hasil Analisis Kata Benda ... 115
Lampiran 6 Diagram Kelas Hasil Analisis Kelas ... 117
Lampiran 7 Diagram Urutan ... 119
Lampiran 8 Struktur Kerangka Kerja Implementasi ... 133
Lampiran 9 Matriks Pelacakan Kelas Implementasi ... 135
Lampiran 10 Skenario Pengetesan ... 137
Lampiran 11 Hasil Skenario Pengetesan End User ... 151
Lampiran 12 Panduan Pengguna ... 159
BIODATA PENULIS... 205
xvi
[Halaman ini sengaja dikosongkan]
xvii
Gambar 2.1 Gambaran Kerangka Kerja Dasar Android Studio .. 12
Gambar 2.2 Potongan Kode Sumber Pengambilan Titik Lokasi . 14 Gambar 2.3 Flowchart alur penentuan lokasi melalui Google Maps API ... 14
Gambar 3.1 Deskripsi Umum Sistem Lama ... 21
Gambar 3.2 Deskripsi Umum Sistem Baru ... 22
Gambar 3.3 Alur Kerja Sistem Sidata ... 25
Gambar 3.4 Alur Kerja Membuat Penugasan ... 26
Gambar 3.5 Alur Kerja Sinkronisasi Penugasan ... 27
Gambar 3.6 Alur Kerja Melihat Deskripsi Penugasan ... 28
Gambar 3.7 Alur Kerja Membuat Laporan Hasil Pengukuran .... 29
Gambar 3.8 Alur Kerja Sinkronisasi Laporan ... 30
Gambar 3.9 Alur Kerja Mengecek Laporan ... 31
Gambar 3.10 Diagram Kasus Pengguna ... 33
Gambar 3.11 Ekstensi NUC001 ... 35
Gambar 3.12 Alur Dasar NUC001-3 ... 37
Gambar 3.13 Proses Pencarian Kata Kerja ... 38
Gambar 3.14 Diagram Kelas NUC 001 ... 40
Gambar 3.15 Diagram Kelas Dengan Pengelompokan ... 42
Gambar 3.16 Diagram Hubungan Halaman Aplikasi Android ... 45
Gambar 3.17 Skema Pengambilan Lokasi... 46
Gambar 3.18 Skema Pengambilan Gambar Wajah ... 47
Gambar 4.10 CDM Basis Data Android... 48
Gambar 3.20 PDM Basis Data Android ... 49
Gambar 3.21 CDM Basis Data Web ... 50
Gambar 3.22 PDM Basis Data Web ... 51
Gambar 3.23 Skema Sinkronisasi Data Sistem Sidata ... 53
Gambar 4.15 Diagram Implementasi Kelas ... 58
Gambar 4.2 Implementasi activity_report_list.xml dan fragment_report_list.xml ... 59
Gambar 4.3 Implementasi CreateReportActivity.java, MainController.java dan ReportListFragment ... 60
Gambar 4.4 Implementasi ReportModel.java ... 61
xviii
Gambar 4.5 State Diagram Penugasan ... 71
Gambar 5.1 Tampilan Rute Perjalanan ... 77
Gambar 5.2 Tampilan Gambar Wajah ... 78
Gambar 5.3 Status Baru Penugasan Setelah Disinkronisasikan .. 79
Gambar 5.4 Data Penugasan Pada Basis Data Web ... 80
Gambar 5.5 Data Penugasan Pada Basis Data Perangkat Bergerak ... 80
Gambar 5.6 Status Sedang Dikirim Laporan ... 81
Gambar 5.7 Status Dikirim Laporan ... 81
Gambar 5.8 Laporan Pada Basis Data Perangkat Bergerak ... 82
Gambar 5.9 Status Penugasan Selesai ... 83
Gambar 5.10 Laporan Pada Basis Data Web ... 83
Gambar 5.11 Status Penugasan Diulang ... 83
xix
Tabel 3.1 Perbandingan Sistem Lama dan Sistem Baru ... 23
Tabel 3.2 Kasus Pengguna Sistem Sidata ... 32
Tabel 3.3 Kebutuhan Fungsional NUC001 Sistem Sidata ... 33
Tabel 3.4 Kebutuhan Non Fungsional Sistem Sidata ... 34
Tabel 3.5 Kasus Pengguna Ekstensi NUC001 ... 35
Tabel 3.6 Hasil Pencarian Kata Benda ... 39
Tabel 3.7 Matriks Pelacakan Kebutuhan ... 53
Tabel 4.1 Lingkungan Implementasi Perangkat Lunak ... 55
Tabel 4.2 Matriks Pelacakan Kelas Implementasi Kasus Pengguna NUC001-3 ... 57
Tabel 4.3 Penjelasan Kode Sumber 4.1 ... 63
Tabel 4.4 Penjelasan Kode Sumber 4.2 ... 65
Tabel 4.5 Penjelasan Kode Sumber 4.3 ... 67
Tabel 4.6 Penjelasan Kode Sumber 4.4 ... 68
Tabel 4.7 Penjelasan Kode Sumber 4.5 ... 70
Tabel 5.1 Spesifikasi Sistem Pengujian ... 75
Tabel 5.2 Skenario Pengujian Pencatatan Lokasi ... 76
Tabel 5.3 Skenario Pengujian Pengambilan Gambar Wajah ... 77
Tabel 5.4 Skenario Pengujian Sinkronisasi Data Penugasan ... 79
Tabel 5.5 Skenario Pengujian Sinkronisasi Data Laporan ... 81
Tabel 5.6 Skenario Pengujian NFN-07 ... 84
Tabel 5.7 Hasil Pengujian Pengguna ... 85
Tabel 5.8 Hasil Pengujian Akhir Pengguna ... 86
xx
[Halaman ini sengaja dikosongkan]
xxi
Kode Sumber 4.1 Implementasi Pelacakan Lokasi Kerangka Kerja
Android... 63
Kode Sumber 4.2 Implementasi Pengambilan Gambar Wajah
Kerangka Kerja Android ... 65
Kode Sumber 4.3 Implementasi Sinkronisasi Data Menyimpan
Penugasan ... 67
Kode Sumber 4.4 Implementasi Sinkronisasi Data Mengirim
Laporan dan Lokasi ... 68
xxii
[Halaman ini sengaja dikosongkan]
1 1 BAB I PENDAHULUAN
Bab ini menjelaskan garis besar tugas akhir yang meliputi latar belakang, tujuan, rumusan, batasan permasalahan, metodologi pembuatan tugas akhir, dan sistematika penulisan.
1.1 Latar Belakang
Makanan dan minuman adalah salah satu kebutuhan terpenting manusia. Tanpa kedua hal ini, manusia tentunya tidak dapat mengembalikan energi yang dibutuhkan untuk aktivitas sehari- hari. Namun adakalanya makanan dan minuman yang dikonsumsi oleh manusia justru mengakibatkan dampak negatif. Seperti contohnya di daerah Pulang Pisau [1], sebanyak 7 murid sekolah dasar dilarikan ke rumah sakit karena timbul gejala keracunan makanan setelah mengkonsumsi jajanan kue di koperasi sekolah mereka. Hal ini membuktikan perlunya pegukuran kualitas makanan dan minuman yang ada baik di sekolah, warung, rumah tangga, hingga sumber air yang digunakan oleh masyarakat secara berkala.
Pengukuran kualitas makanan ini tentunya dilaksanakan oleh lembaga kesehatan yang dikontrol oleh pemerintah melalui dinas yang terkait. Pada kesehariannya kepala bagian dari dinas, yang disebut koordinator akan memberikan penugasan ke pegawai dinas terkait, yang disebut operator untuk melakukan pengukuran kualitas melalui pengambilan sampel makanan atau minuman dari tempat yang ditentukan. Dahulu sampel yang didapatkan akan dikirim ke lab untuk dilakukan pengetesan lebih lanjut mengenai zat yang terkandung. Namun cara ini dinilai kurang efisien, karena sampel yang diambil dapat terkontaminasi dan menjadi tidak layak untuk menjadi acuan dalam proses pengukuran kualitas makanan.
Sebelumnya, Hafiz [2] sudah membangun alat untuk menguji
tingkat keamanan makanan. Akan tetapi tidak ada fungsi untuk
memastikan bahwa pengujian sudah dilakukan di tempat dan oleh
petugas yang seharusnya. Maka dari itu dibuatlah sistem
pengecekan baru yang dipakai saat ini, yaitu selain ditugaskan mengambil sampel operator juga bertugas untuk mengecek langsung sampel yang didapatkan di tempat.
Ada 3 masalah muncul terkait keabsahan dari hasil pengukuran kualitas makanan dan minuman. Pertama, bagaimana memastikan operator yang ditugaskan benar-benar melakukan pekerjaan di tempat dimana ia ditugaskan. Beberapa lokasi yang sulit dijangkau tentunya akan mengakibatkan operator tidak ingin datang ke lokasi tersebut. Sehingga ia lebih memilih datang ke lokasi yang bukan merupakan tempat ia ditugaskan dan melakukan inspeksi secara asal-asalan. Kedua, bagaimana memastikan operator memberi data yang valid. Masih memiliki keterkaitan dengan masalah yang pertama, dikarenakan lokasi yang sulit dijangkau, operator kadang kala akan melakukan inspeksi asal-asalan. Hasil dari inspeksi yang tidak sah ini tentunya adalah data yang tidak valid sehingga tidak dapat digunakan. Terakhir adalah bagaimana memastikan operator benar-benar mengerjakan tugasnya tanpa digantikan oleh siapapun.
Adakalanya beberapa operator yang telah diberi tugas pengecekan dan malas mengerjakan pekerjaannya akan mendelegasikan tugasnya ke operator yang tidak seharusnya melakukan pengecekan. Hal ini tentunya akan sulit dipantau oleh petugas kantor dikarenakan masih belum adanya metode yang valid untuk memastikan hal tersebut.
Berdasarkan masalah yang ada di atas maka diperlukan sebuah
sistem pengumpulan hasil pengukuran kualitas baru agar dapat
menyelesaikan masalah yang ada. Selain memiliki sebuah tempat
penyimpanan data secara sentral yang terhubung melalui koneksi
internet, sistem ini tentunya harus memiliki beberapa kemampuan,
terutama untuk mengatasi masalah pemalsuan data hasil
pengukuran kualitas. Kemampuan terpenting yang perlu dimiliki
sistem adalah tracking operator yang bertugas untuk melakukan
pengukuran kualitas makanan. Proses tracking operator ini
diperlukan agar petugas kantor dapat terus memantau lokasi dari
operator yang telah ditugasi sebelumnya melalui sistem baru agar
dapat memastikan sang operator telah mengerjakan pekerjaannya ditempat yang benar.
1.2 Rumusan Masalah
Rumusan masalah yang diangkat dalam tugas akhir ini dapat dipaparkan sebagai berikut:
1. Bagaimana menerapkan teknologi pelacakan lokasi perangkat bergerak guna memantau lokasi operator lapangan?
2. Bagaimana membuat aplikasi perangkat bergerak pengukuran kualitas makanan dan minuman yang dapat memastikan operator memberikan data valid (menyertakan foto gambar wajah operator)?
3. Bagaimana membuat aplikasi perangkat bergerak pengukuran kualitas makanan dan minuman yang dapat menyinkronkan data dengan aplikasi web Sidata?
1.3 Batasan Masalah
Permasalahan yang dibahas dalam tugas akhir ini memiliki beberapa batasan, yaitu sebagai berikut:
1. Aplikasi hanya digunakan untuk memberikan hasil dari pengukuran kualitas makanan dan minuman, fitur pemberian tugas ke operator tetap dilakukan di situs web.
2. Aplikasi hanya untuk mencatat hasil pengukuran, bukan proses pengukurannya.
3. Antarmuka aplikasi akan menggunakan satu bahasa, yaitu Bahasa Indonesia.
1.4 Tujuan
Tujuan pembuatan tugas akhir ini yaitu melakukan analisis dan
mendesain sistem pengukuran kualitas makanan untuk
menyelesaikan permasalahan pemantauan pengukuran kualitas
makanan dan minuman yang dilakukan oleh operator.
1.5 Manfaat
Tugas akhir ini diharapkan dapat menjadi solusi untuk masalah yang dimunculkan terkait dengan keabsahan dari pemantauan proses pengukuran kualitas makanan dan minuman. Hasil jadi sistem dari Tugas Akhir ini akan menerapkan konsep dimana pengguna aplikasi tidak perlu memastikan adanya koneksi internet dalam pengerjaan inspeksi makanan atau minuman. Selain itu, aplikasi dari hasil Tugas Akhir ini akan mempermudah pekerjaan dari pemberi tugas dalam pemantauan pengukuran kualitas makanan dan minuman dengan fitur pelacakan lokasi dari operator dan pengecekan identitas melalui foto wajah saat melakukan tugas inspeksi yang telah diberikan.
1.6 Metodologi Pembuatan Tugas Akhir
Tahapan-tahapan yang dilakukan dalam pengerjaan tugas akhir ini adalah sebagai berikut:
1. Penyusunan proposal tugas akhir
Proposal tugas akhir berisi tentang perencanaan
“Perangkat Bergerak Untuk Pencatatan Hasil Pengukuran Makanan dan Minuman”.
Proposal tugas akhir terdiri dari deskripsi pendahuluan yang menjabarkan latar belakang dan rumusan masalah yang mendasari dibangunnya aplikasi, batasan masalah dalam pembagunan aplikas, serta tujuan dan manfaat yang diharapkan dapat dicapai dengan dibangunnya aplikasi ini.
Selain itu, pada proposal tugas akhir juga terdapat tinjauan pustaka yang menjelaskan teori-teori yang menjadi dasar pembuatan tugas akhir, ringkasan isi tugas akhir yang menggambarkan secara umum aplikasi yang akan dibangun dan algoritma yang digunakan, serta bagian metodologi dari penyusunan proposal tugas akhir ini.
2. Studi literatur
Studi literatur yang dilakukan dalam pengerjaan tugas
akhir ini adalah mengenai implementasi, sistem operasi
Android, basis data SqLite, location tracking pada aplikasi Android, penggunaan API Google untuk menampilkan rute lokasi pada peta, JSON, framework Code Igniter yang digunakan untuk menjadi dashboard sistem serta situs web Sidata yang menjadi dasar dari aplikasi perangkat bergerak.
Studi literatur diambil dari buku, internet, maupun materi mata kuliah yang berhubungan dengan metode yang digunakan.
3. Analisis dan desain perangkat lunak
Analisis kebutuhan dan perancangan sistem dilakukan untuk merumuskan solusi yang tepat dalam pembuatan aplikasi serta kemungkinan yang dapat dilakukan untuk mengimplementasikan rancangan tersebut. Tahap desain meliputi perancangan kasus penggunaan, diagram hubungan antar kasus pengunaan, dokumen deskripsi kasus penggunaan yang berisi kebutuhan dari sistem, pencarian kandidat kelas berdasarkan deskripsi kasus penggunaan serta kebutuhan dari sistem, desain perancagan diagram kelas, diagram sekuens dari tiap kasus penggunaan berdasarkan perancangan diagram kelas, traceability matrix kebutuhan non-fungsional ke fitur.
4. Implementasi perangkat lunak
Pengembangan aplikasi dalam tugas akhir akan menggunakan bahasa pemrograman Java, XML, PHP, SQL dengan kakas bantu IDE Android Studio, Sublime Text.
5. Pengujian dan Evaluasi
Pengujian dan evaluasi aplikasi perangkat lunak hasil dari tugas akhir ini akan diujicoba oleh penguji dari perusahaan Sitoho pada alat perangkat bergerak dengan sistem operasi Android. Sebelum pengujian, aplikasi sistem kehadiran mahasiswa akan di-install terlebih dahulu di perangkat bergerak yang akan diuji.
6. Penyusunan buku tugas akhir
Pada tahap ini dilakukan penyusunan laporan yang
menjelaskan dasar teori dan metode yang digunakan dalam
tugas akhir ini serta hasil dari implementasi aplikasi perangkat
lunak yang telah dibuat. Sistematika penulisan buku tugas akhir secara garis besar antara lain:
1. Pendahuluan
a. Latar Belakang b. Rumusan Masalah c. Batasan Tugas Akhir d. Tujuan
e. Manfaat
f. Metodologi Pembuatan Tugas Akhir g. Sistematika Penulisan Laporan Tugas Akhir 2. Tinjauan Pustaka
3. Analisis dan Perancangan Sistem 4. Pengujian dan Evaluasi
5. Kesimpulan dan Saran 6. Daftar Pustaka
1.7 Sistematika Penulisan Laporan Tugas Akhir
Buku tugas akhir ini bertujuan untuk mendapatkan gambaran dari pengerjaan tugas akhir ini. Selain itu, diharapkan dapat berguna untuk pembaca yang tertarik untuk melakukan pengembangan lebih lanjut. Secara garis besar, buku tugas akhir terdiri atas beberapa bagian seperti berikut ini.
Bab I Pendahuluan
Bab yang berisi mengenai latar belakang, rumusan masalah, batasan masalah, tujuan, dan manfaat dari pembuatan tugas akhir.
Selain itu metodologi yang digunakan dan sistematika penulisan laporan akhir juga merupakan bagian dari bab ini.
Bab II Tinjauan Pustaka
Bab ini berisi penjelasan secara detail mengenai dasar-dasar penunjang dan teori-teori yang digunakan untuk mendukung pembuatan tugas akhir ini.
Bab III Analisis dan Perancangan
Bab ini berisi tentang analisis permasalahan, deskripsi umum
sistem lama, dan deskripsi umum sistem baru.
Bab IV Implementasi
Bab ini membahas hasil yang didapatkan seperti desain dari sistem yang mencakup pembuatan spesifikasi kebutuhan perangkat lunak, diagram kelas dan diagram sekuens, implementasi dari desain yang telah dibuat.
Bab V Pengujian
Bab ini membahas pengujian yang akan dilakukan pada sistem yang akan dibangun berdasarkan scenario yang disusun dari kasus pengguna.
Bab VI Kesimpulan dan Saran
Bab ini merupakan bab terakhir yang menyampaikan kesimpulan
dari hasil uji coba yang telah dilakukan dan saran untuk
pengembangan perangkat lunak selanjutnya.
[Halaman ini sengaja dikosongkan]
9 2 BAB II
TINJAUAN PUSTAKA
Bab ini menjelaskan teori-teori yang berkaitan dengan pembangunan aplikasi perangkat gerak sistem kehadiran mahasiswa yang diajukan untuk tugas akhir ini. Penjelasan ini bertujuan untuk memberikan gambaran secara umum terhadap perangkat lunak yang dibuat dan berguna sebagai penunjang dalam pengembangan perangkat lunak.
2.1 Pengukuran
Pengukuran adalah proses untuk menghitung sesuatu berdasarkan format yang telah ditentukan sebelumnya [3].
Pengukuran dilakukan pada suatu objek agar objek yang diukur sesuai dengan standar dan dapat digunakan dengan aman.
2.2 Makanan
Makanan adalah segala sesuatu yang dimasukkan ke dalam tubuh yang berguna untuk menambah tenaga [4]. Makanan yang baik memiliki zat yang dapat membantu kinerja tubuh dalam kesehariannya. Namun ada juga makanan tidak baik yang mengandung zat yang berbahaya bagi tubuh. Zat ini umumnya secara alami tidak terkandung pada makanan namun tercampur baik secara sengaja maupun tidak sengaja.
2.3 Minuman
Minuman adalah segala sesuatu yang berbentuk cairan dan
dapat dikonsumsi oleh tubuh [5]. Minuman yang dikonsumsi tubuh
mengandung mineral yang dapat membantu kinerja tubuh dalam
kesehariannya. Minuman terutama yang didapatkan dari sumber air
mineral rentan terhadap pencemaran yang terjadi akibat
lingkungan sekitarnya.
2.4 Pengukuran Makanan dan Minuman
Pengukuran makanan atau minuman dilakukan untuk mengetahui zat yang terdapat pada makanan dan minuman. Selain mengecek kadar zat yang biasa ditemukan, pengukuran juga bertujuan untuk menemukan zat berbahaya yang seharusnya tidak terdapat pada makanan atau minuman. Hasil dari pengukuran digunakan untuk memastikan makanan atau minuman aman dikonsumsi. Proses pengukuran makanan atau minuman dilakukan oleh petugas inspeksi keseshatan.
Alur proses pengukuran dimulai dengan pemberian penugasan dan kertas form laporan kepada petugas inspeksi kesehatan oleh supervisor petugas lapangan. Penugasan meliputi informasi mengenai lokasi dan unsur yang harus diukur. Setelah mengetahui lokasi dan unsur yang harus diukur, petugas inspeksi kesehatan akan pergi menuju lokasi. Setelah tiba pada lokasi, petugas inspeksi kesehatan akan mengambil sampel yang akan diukur menggunakan alat pengukuran yang dibawa bersamanya.
Pengukuran dilakukan langsung di lapangan untuk mencegah agar sampel yang diambil masih tetap pada kondisi yang sesungguhnya.
Bila alat pengukur telah menunjukkan hasil pengukuran dari sampel yang telah diambil, petugas inspeksi kesehatan akan membuat laporan pada kertas form laporan. Form laporan berisi mengenai objek inspeksi dan hasil dari pengukuran zat yang terkandung pada objek inspeksi. Setelah pengukuran selesai, petugas inspeksi kesehatan akan menyerahkan form laporan kepada supervisor untuk dicek.
2.5 Android
Android adalah sistem operasi berbasis Linux yang dirancang
terutama untuk perangkat bergerak dengan layar sentuh seperti
ponsel pintar dan komputer tablet [6]. Pengembangan Android
didukung dengan beberapa bahasa pemrograman, salah satunya
adalah Java. Android menyediakan beberapa aplikasi yang menjadi penghubung perangkat keras di smartphone contohnya kamera, sensor gerak, dan perangkat WiFi. Khusus pada Tugas Akhir ini, akan digunakan kamera dan sensor lokasi untuk menyelesaikan masalah yang ada. Selain menyediakan aplikasi perangkat keras, Android juga menyediakan protokol untuk melakukan koneksi ke Internet. Untuk beberapa permintaan koneksi tertentu terdapat beberapa pustaka yang menyediakan layanan khusus contohnya Fast Android Networking. Versi terbaru dari android saat ini adalah android Oreo 8.0. Pada versi ini terdapat beberapa perubahan pada kerja sehari-hari dari OS fitur baru tersebut yaitu pengelolaan multi-aplikasi, dimana pengguna dapat membuka 2 aplikasi sekaligus selain itu terdapat juga penambahan notifikasi pada ikon aplikasi. Selain itu pada versi baru ini dilakukan optimalisasi kerja sistem yaitu optimalisasi penggunaan baterai dan meningkatkan kecepatan aplikasi. Pada pengerjaan tugas akhir ini, akan digunakan Android sebagai OS dari aplikasi dan versi SDK 24 sebagai batas minimal agar aplikasi dapat digunakan.
2.6 Android Studio
Android Studio adalah salah satu IDE yang dapat digunakan untuk mengembangkan aplikasi Android. Pada tugas akhir ini, perancangan diimplementasikan pada kerangka kerja dasar yang berasal dari IDE Android Studio. Pada kerangka kerja dasar Android Studio terdapat 3 package, yaitu manifests, java dan res.
Package manifests berisi pengaturan dari aplikasi yang akan
dibangun, pengaturan ini dapat berupa perizinan penggunaan fitur
yang berada pada sistem operasi Android, daftar Activity yang ada
pada project Android. Package java berisi kumpulan file yang
memiliki ekstensi .java, dimana package ini berfungsi untuk
mengatur operasi logika yang terdapat pada aplikasi perangkat
lunak. Sedangkan package res berisi file yang kebanyakan berisi
layout tampilan dan file gambar yang merupakan realisasi. Dapat
dilihat pada Gambar 2.1 merupakan struktur dasar dari kerangka kerja Android Studio.
Gambar 2.1 Gambaran Kerangka Kerja Dasar Android Studio
2.7 SQLite
SQLite adalah pustaka yang mengimplementasikan server basis data SQL yang mandiri, tanpa server, tanpa konfigurasi, dan bekerja secara transaksional. Kode untuk SQLite berada di domain publik dan dengan demikian bebas digunakan untuk tujuan apapun, baik untuk keperluan komersial atau pribadi. SQLite adalah basis data yang paling banyak digunakan di dunia. SQLite adalah mesin basis data SQL embedded. Tidak seperti kebanyakan basis data SQL lainnya, SQLite tidak memiliki proses server terpisah. SQLite membaca dan menulis langsung ke file disk biasa. Basis data SQL lengkap dengan banyak tabel, indeks, pemicu, dan tampilan, keseluruhan hal ini terdapat dalam satu file disk. Format file basis data adalah cross-platform - pengembang dapat dengan bebas menyalin basis data antara sistem 32-bit dan 64-bit. Fitur-fitur ini menjadikan SQLite pilihan populer sebagai Format File Aplikasi.
SQLite adalah pustaka yang ringkas. Dengan semua fitur
diaktifkan, ukuran pustaka bisa kurang dari 500KiB, tergantung
pada platform target dan pengaturan optimasi compiler. (Kode 64-
bit lebih besar. Dan beberapa pengoptimalan compiler seperti
inlining fungsi agresif dan penguraian loop dapat menyebabkan
kode objek menjadi jauh lebih besar). Terdapat tradeoff antara penggunaan memori dan kecepatan. SQLite umumnya berjalan lebih cepat, seiring dengan semakin banyak memori yang disediakan. Namun demikian, kinerja biasanya cukup baik bahkan di lingkungan memori rendah. Tergantung pada bagaimana digunakan, SQLite bisa lebih cepat daripada sistem file langsung [7].
2.8 Code Igniter
CodeIgniter adalah sebuah Application Development Framework bagi orang-orang yang ingin membangun website menggunakan PHP. Tujuannya adalah untuk memungkinkan pengguna mengembangkan proyek-proyek lebih cepat daripada memulai menulis kode dari awal, tersedia banyak pustaka untuk tugas-tugas yang biasa diperlukan, serta antarmuka dan struktur logis yang sederhana untuk mengakses pustaka ini. CodeIgniter memungkinkan pengguna fokus pada proyek dengan meminimalkan jumlah kode yang dibutuhkan untuk tugas yang diberikan [8].
2.9 API
API atau Application Programming Interface adalah perangkat lunak penghubung yang menghubungkan antara 2 perangkat lunak atau sistem [9]. API dibuat agar pengembang tidak perlu harus membuat ulang layanan pemrosesan data untuk aplikasi yang akan dikembangkan berulang kali.
2.10 Google Play Services Location API
Merupakan salah satu layanan API dari Google untuk
mengambil koordinat lokasi pada peta Google. Salah satu package
yang disediakan oleh Google untuk perangkat bergerak adalah
com.google.android.gms.location. Package ini memuat berbagai
layanan mengenai lokasi seperti pengambilan lokasi perangkat
bergerak saat ini melalui GPS. Layanan location API digunakan
untuk aplikasi yang membutuhkan layanan peta dan GPS contohnya adalah Uber di mana aplikasi Uber perlu menampilkan dan menyimpan lokasi driver Uber di peta agar pengguna aplikasi dapat dengan segera memesan driver yang berlokasi paling dekat.
Ada beberapa hal yang mempengaruhi proses penentuan lokasi [10] diantaranya yaitu:
1. Banyak provider yang bisa memberi lokasi di antaranya, GPS, Cell- ID, dan Wi-Fi.
2. Pergerakan device mengakibatkan perlu dilakukan kalibrasi secara berkala.
3. Akurasi yang tidak menentu dari berbagai provider, lokasi yang didapat 10 detik yang lalu dari satu provider bisa jadi lebih tidak akurat dibanding lokasi terbaru dari provider lain.
Gambar 2.2 Potongan Kode Sumber Pengambilan Titik Lokasi
Gambar 2.3Flowchart alur penentuan lokasi melalui Google Maps API
2.11 Google Maps Directions API
Google Maps Directions API adalah salah satu API dari Google yang menyediakan layanan untuk komputasi dari data lokasi ke salah satu peta yang disediakan oleh Google [11].
Beberapa fitur API ini adalah antara lain:
1. Mencari rute untuk beberapa model transportasi seperti transit, sepeda, berjalan, dan mengemudi mobil.
2. Mengembalikan arah dari beberapa rute dari serangkaian titik- titik lokasi.
3. Menentukan asal, tujuan, dan titik arah sebagai teks atau sebagai garis lintang/ garis bujur, atau sebagai ID tempat. API ini mengembalikan rute paling efisien saat menghitung arah.
Waktu perjalanan adalah faktor utama yang dioptimalkan, tetapi API juga dapat mempertimbangkan faktor-faktor lain seperti jarak, jumlah belokan, dan banyak lagi ketika memutuskan rute mana yang paling efisien. Menghitung arah adalah tugas yang memakan banyak waktu dan sumber daya.
Pada sistem yang akan dibangun, API ini akan digunakan untuk mengkalkulasi rute yang mungkin ditempuh dari beberapa titik lokasi yang ada.
2.12 Aplikasi Web Sidata
Web Sidata adalah aplikasi web yang digunakan untuk memanajemen proses yang terkait dengan proses pencatatan hasil pengukuran kualitas makanan dan minuman yang dibahas dalam tugas akhir ini. Web ini dirancang menggunakan kerangka kerja CodeIgniter dan menggunakan MySQL sebagai basis data penyimpanan data yang berhubungan dengan proses pada aplikasi web ini. Sementara ini, pada web Sidata melayani manajemen untuk 6 jenis user yang memiliki tugas masing-masing. User dan tugas yang terkait yaitu:
1. Admin: Mengelola parameter yang digunakan dalam pencatatan pengukuran kualitas makanan dan minuman.
Contoh: satuan pengukuran(cc, g, mg/L dan lainnya), subjek
pengukuran(air sungai, rumah, sekolah dan lainnya).
2. Pengguna: Operator yang bertugas memberi laporan hasil inspeksi makanan dan minuman.
3. Koordinator: mengubah profil operator, menonaktifkan operator, melihat laporan yang diberikan oleh operator, dan memberi pesan ke operator.
Dari sekian user yang sudah ada pada aplikasi web Sidata, pada tugas akhir ini akan dikembangkan aplikasi perangkat bergerak yang dapat menggantikan user pengguna di web ini.
2.13 JSON
JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan [12]. Format data ini sangat mudah bagi manusia untuk membaca dan menulis. Format ini juga merupakan salah satu yang paling mudah bagi mesin untuk membuat dan mem-parsing data. JSON adalah format teks yang berbahasa independen tetapi menggunakan konvensi yang mudah dimengerti bagi pengembang yang menggunakan Bahasa pemrograman yang berakar dari C, termasuk C ++, C #, Java, JavaScript, Perl, Python, dan banyak lainnya. Properti ini menjadikan JSON sebagai bahasa pertukaran data yang ideal.
2.14 Fast Android Networking Library
Fast Android Networking Library adalah salah satu pustaka yang digunakan untuk melakukan permintaan koneksi jaringan ke server [13]. FAN dikembangkan dikarenakan HttpClient dihapuskan dimulai dari Android Marshmellow. FAN merupakan salah satu pustaka yang paling lengkap dikarenakan dapat menagani segala macam layanan contohnya mengunggah file, mendownload file, memuat gambar dan lainnya.
2.15 Kasus Pengguna
Kasus pengguna adalah urutan tindakan yang dilakukan oleh
aktor dan sistem sehingga dapat menghasilkan nilai yang dapat
diobservasi oleh operator [14].
2.16 Hubungan Extend
Extend merupakan hubungan dimana kasus pengguna yang di extend dapat dapat melanjutkan alur kerja kasus pengguna yang merupakan dasarnya.
2.17 Hubungan Include
Include merupakan hubungan dimana kasus pengguna yang di include mernjadi bagian dari alur kerja kasus kebutuhan dasarnya.
2.18 Kebutuhan
Kebutuhan adalah kondisi atau kemampuan yang harus dapat dipenuhi oleh sistem [15].
2.19 Class Association
Relasi association berarti ada hubungan atau kombinasi diantara 2 kelas dalam komputasi logika atau secara fisik dengan agregasi tertentu [16].
2.20 Class Composition
Relasi Composition menunjukkan pada 2 kelas terdapat hubungan ikatan kuat dimana eksistensi kelas yang di agregasi memiliki ketergantungan dengan kelas dasarnya, bila kelas dasar dihapus maka obyek yang dibuat oleh kelas yang diagregasi akan ikut dihapus juga.
2.21 Boundary
Boundary adalah kelas yang merupakan bagian antarmuka dari sistem yang menerima tanggapan dari aktor. Boundary dapat berupa tombol, textbox, halaman kerja dan lainnya.
2.22 Controller
Controller adalah kelas yang melakukan operasi logika dari
interasksi aktor yang diterima oleh boundary. Hasil dari operasi
logika controller dapat di passing ke controller lain, ditampilkan di boundary, atau disimpan di basis data.
2.23 Entity
Entity adalah kelas yang menjadi objek untuk penyimpanan data yang didapat dari query ke basis data.
2.24 Diagram Urutan
Diagram urutan adalah diagram yang dibuat untuk
menggambarkan alur logika yang terdapat pada sistem, sehingga
dapat dilakukan dokumentasi dan validasi logika. Diagram urutan
memiliki beberapa komponen yaitu aktor, boundary, controller,
dan entity.
19 3 BAB III
ANALISIS DAN PERANCANGAN
Bab ini membahas analisis kebutuhan dan rancangan yang akan digunakan untuk membangun perangkat lunak yang diajukan sebagai tugas akhir
3.1 Analisis
Tahap analisis dilakukan untuk mencari gambaran besar sistem. Analisis dibagi menjadi beberapa bagian, antara lain analisis permasalahan, deskripsi umum sistem, perbandingan sistem dan alur kerja pada sistem.
3.1.1 Analisis Permasalahan
Sistem pencatatan hasil pengukuran makanan dan minuman yang dinamakan Sidata adalah merupakan sistem yang digunakan untuk mendata hasil pemeriksaan yang dilakukan pada makanan dan minuman. Sistem ini dibuat oleh perusahaan S yang berdomisili di kota Depok. Pada sistem ini terdapat 2 aktor utama, antara lain operator dan koordinator. Aktor operator pada sistem memiliki tanggung jawab untuk mencatat hasil pemeriksaan makanan dan minuman yang terjadi di lapangan serta melaporkannya ke koordinator. Aktor koordinator memiliki tugas untuk memeriksa hasil laporan yang dibuat oleh operator.
Sistem Sidata awal mulanya terbentuk dari aplikasi web yang dibuat dengan arsitektur CodeIgniter sedangkan basis penyimpanan data dari sistem sepenuhnya dibentuk dari MySQL.
Meskipun begitu sistem yang ada saat ini masih memiliki kelemahan antara lain dikarenakan sistem saat ini hanya terfokus pada proses pelaporan catatan hasil pemeriksaan dan masih belum ada cara untuk memastikan keabsahan dari laporan yang dibuat.
Selain keabsahan sistem juga masih belum memiliki fleksibilitas
yang tinggi dikarenakan harus terhubung dengan jaringan internet
agar dapat bisa diakses. Sedangkan menurut deskripsi kerja
operator yang harus mencatat dari lapangan, muncul kemungkinan
bahwa operator harus datang ke lapangan yang tidak memiliki akses jaringan internet yang lancar.
Seiring dengan berjalannya waktu, perkembang teknologi dan informasi khususnya pada teknologi perangkat bergerak Android semakin cepat terjadi. Dengan mobilitas dan fleksibilitas yang tinggi, perangkat bergerak Android mudah diterima oleh masyarakat dikarenakan harga yang terjangkau dan fitur khusus yang tidak bisa didapatkan dari komputer. Seiring dengan peminat yang banyak dan pengembangan yang open source pada pengembangan aplikasi perangkat bergerak Android terdapat banyak kemudahan agar aplikasi yang dikembangkan dapat memenuhi kebutuhan penggunanya. Oleh karena itu dalam pengerjaan tugas akhir ini, penulis memiliki ide untuk mengembangkan sistem Sidata yang terdiri dari 2 antarmuka yaitu antarmuka web dan antarmuka aplikasi perangkat bergerak Android.
Perangkat bergerak Android dipilih karena dapat memenuhi
kekurangan yang muncul pada sistem yang lama. Dengan
menggunakan perangkat bergerak Android, penulis berencana
untuk mengubah proses pencatatan laporan dengan menambahkan
fitur pencatatan lokasi dan fitur pengambilan foto wajah dari
operator. Dalam implementasi fitur penggambilan lokasi, penulis
akan menggunakan pustaka Google Play Service Location API
yang akan mencatat titik pergerakan dari perangkat bergerak yang
didapatkan dari sensor GPS. Sedangkan untuk fitur pengambilan
wajah, penulis akan menambahkan tahap pengambilan makanan
yang akan diinspeksi dalam proses pembuatan laporan. Pada saat
operator mencapai tahap ini, secara otomatis perangkat bergerak
akan mengambil wajah operator saat pengambilan foto hasil
inspeksi berlangsung. Selain penambahan fitur, penulis juga akan
mengimplementasikan basis data SQLite agar aplikasi perangkat
bergerak dapat digunakan pada tempat yang minim koneksi
jaringan.
3.1.2 Deskripsi Umum Sistem Lama
Gambar 3.1 Deskripsi Umum Sistem Lama
Gambar 3.1 merupakan arsitektur sistem yang telah ada.
Sistem yang telah ada meliputi proses pencatatan laporan dan pengecekan laporan. Pada gambar ini ditunjukkan tahapan input, proses, dan output pada sistem lama yang akan diperbaharui pada tugas akhir ini. Tahapannya adalah sebagai berikut.
1. Tahap input aplikasi web Sidata ditunjukkan pada nomor 1.
Input aplikasi yang diberikan adalah pelaporan hasil inspeksi.
2. Tahap proses ditunjukkan pada nomor 2. Pada tahap ini, aplikasi web Sidata melakukan proses penyimpanan data laporan dari operator ke sistem server dan proses pengambilan data laporan dari dan ke basis data server.
3. Tahap output aplikasi web Sidata ditunjukkan pada nomor 3.
Output dari aplikasi web Sidata ini adalah hasil laporan yang
telah dibuat sebelumnya oleh operator.
3.1.3 Deskripsi Umum Sistem Baru
Gambar 3.2 Deskripsi Umum Sistem Baru
Gambar 3.2 merupakan arsitektur sistem perangkat lunak yang akan dibangun. Aktor operator tidak lagi menggunakan aplikasi web untuk membuat laporan melainkan digantikan dengan aplikasi perangkat bergerak. Sedangkan dari sisi server, aplikasi web akan diubah dengan menambahkan proses penambahan penugasan.
Secara keseluruhan sistem yang dibangun meliputi proses pencatatan laporan, pengambilan gambar hasil inspeksi, pengambilan gambar wajah operator, pengambilan titik lokasi, pengiriman laporan ke basis data server, proses pengecekan laporan, dan pengecekan rute perjalanan berdasarkan titik lokasi.
Pada gambar ini ditunjukkan tahapan input, proses, dan output pada fokus pengerjaan tugas akhir ini. Tahapannya adalah sebagai berikut.
1. Tahap input sistem Sidata dilakukan di dua antarmuka yaitu melalui aplikasi Web Sidata dan aplikasi perangkat bergerak Sidata ditunjukkan pada nomor 1 dan 4. Pada nomor 1, input yang diberikan berupa penugasan yang ditujukan ke operator.
Sedangkan pada nomor 4 input yang diberikan berupa
laporan, yang termasuk juga data gambar hasil inspeksi, gambar wajah operator, dan titik-titik lokasi yang ditempuh.
2. Tahap proses ditunjukkan pada nomor 2 dan 5. Pada nomor 3, basis data server akan menyimpan penugasan yang telah dibuat oleh operator serta mengirim informasi dari penugasan jika sewaktu-waktu aplikasi perangkat bergerak Sidata melakukan request. Sedangkan pada nomor 5, basis data server akan menyimpan laporan hasil inspeksi yang telah dikirimkan oleh operator serta menampilkan deskripsi laporan hasil inspeksi ke halaman web, menampilkan gambar hasil inspeksi dan wajah operator, dan menampilkan rute dari titik-titik lokasi yang ada.
3. Tahap output sistem Sidata dilakukan di dua antarmuka yaitu melalui aplikasi Web Sidata dan aplikasi perangkat bergerak Sidata ditunjukkan pada nomor 3 dan 6. Pada nomor 3 output yang dikeluarkan berupa informasi mengenai penugasan yang akan dilakukan oleh operator. Sedangkan pada nomor 3 output yang dikeluarkan berupa laporan hasil inspeksi yang meliputi catatan teks, gambar hasil inspeksi, gambar wajah operator, dan titik-titik koordinat yang ditampilkan di peta membentuk sebuah rute.
3.1.4 Perbandingan Sistem Lama dan Sistem Baru
Berdasarkan analisa sistem lama dan perancangan sistem baru, terdapat beberapa perbedaan dari kedua sistem dapat dilihat pada Tabel 3.1.
Tabel 3.1 Perbandingan Sistem Lama dan Sistem Baru
Sistem Lama Sistem Baru
Terdiri dari 1 aplikasi yaitu aplikasi web Sidata
Terdiri dari 2 aplikasi yaitu aplikasi perangkat bergerak Sidata dan web Sidata Memiliki 1 basis data yaitu MySQL Memiliki 2 basis data yaitu SQLite untuk
aplikasi perangkat bergerak dan MySQL untuk aplikasi web
Penyampaian penugasan operator dilakukan di luar sistem
Penugasan operator dimasukkan dalam proses bisnis sistem
Pengerjaan laporan dilakukan pada aplikasi web
Pengerjaan laporan dilakukan pada aplikasi perangkat bergerak
Laporan tidak memiliki validitas lokasi dikarenakan sistem belum dapat melacak lokasi dimana operator mengerjakan penugasan
Pada proses pengerjaan laporan, lokasi pengerjaan operator akan dicatat sehingga dapat dipastikan jika operator
mengerjakan penugasan di tempat dia ditugaskan
Sistem tidak dapat memastikan apakah operator mengerjakan penugasan sendiri atau tidak
Identitas operator akan dipastikan dengan pengambilan gambar wajah tanpa disadari operator pada saat proses pengambilan gambar makanan Data terpusat pada 1 basis data, maka
tidak diperlukan sinkronisasi
Data terpisah diantara 2 basis data, maka diperlukan sinkronisasi pada kedua basis data
3.1.5 Alur Kerja Sistem
Alur kerja sistem akan menjelaskan gambaran kerja sistem secara besar. Pada sistem Sidata, alur kerja dimulai dengan koordinator membuat penugasan. Setelah penugasan tersimpan di basis data web, penugasan kemudian akan dikirim ke basis data perangkat bergerak saat ada permintaan dari operator. Setelah operator mengecek penugasan yang diberikan oleh koordinator, operator akan membuat laporan berdasarkan hasil dari inspeksi.
Setelah laporan dibuat, operator akan mengirim laporan, data lokasi dan gambar makanan serta wajah ke basis data web.
Koordinator kemudian akan mengecek laporan yang dikirim oleh
operator. Bila rute perjalanan atau gambar wajah operator tidak
sesuai, maka penugasan dinyatakan belum selesai. Bila rute
perjalanan dan gambar wajah sesuai, maka laporan dinyatakan
selesai. Alur kerja sistem dapat dilihat pada Gambar 3.3.
Gambar 3.3 Alur Kerja Sistem Sidata
3.1.5.1 Alur Kerja Membuat Penugasan
Bagian pertama pada proses bisnis sistem Sidata adalah membuat penugasan. Penugasan akan dibuat oleh koordinator pada aplikasi web. Tujuan dari penugasan adalah agar operator dapat mengetahui lokasi dan unsur yang harus diinspeksi. Koordinator membuat penugasan dengan mengisi form penugasan yang ada pada aplikasi web. Bagian penting dari penugasan adalah data lokasi penugasan dan unsur yang akan dicek. Setelah koordinator selesai mengisi form penugasan, ia akan mengklik tombol simpan penugasan. Penugasan kemudian akan disimpan pada basis data web. Gambar 3.4 menggambarkan alur membuat penugasan pada aplikasi web.
Gambar 3.4 Alur Kerja Membuat Penugasan
3.1.5.2 Alur Kerja Sinkronisasi Penugasan
Setelah penugasan dibuat dan disimpan pada basis data web, penugasan perlu disinkronisasikan dengan basis data perangkat bergerak. Sinkronisasi ini bertujuan agar penugasan dapat diakses pada aplikasi perangkat bergerak agar operator mengetahui lokasi dan unsur dari objek yang akan diinspeksi. Proses sinkronisasi dimulai saat operator men-swipe halaman daftar penugasan.
Perangkat bergerak kemudian akan meminta penugasan dari basis data web. Aplikasi web kemudian akan mengirim data penugasan ke aplikasi perangkat bergerak yang kemudian akan menyimpan data penugasan ke basis datanya sendiri. Gambar 3.5 menggambarkan alur sinkronisasi penugasan pada sistem Sidata.
Gambar 3.5 Alur Kerja Sinkronisasi Penugasan
3.1.5.3 Alur Kerja Melihat Deskripsi Penugasan
Penugasan baru yang masuk ke basis data perangkat bergerak akan dicek oleh operator. Pengecekan bertujuan agar operator mengetahui lokasi pengerjaan inspeksi dan unsur yang akan dicek.
Penugasan akan dipilih dari daftar penugasan yang tersedia pada
aplikasi perangkat bergerak. Aplikasi kemudian akan
menampilkan deskripsi penugasan yang dipilih. Setelah mengecek penugasan, operator akan pergi menuju lokasi yang tertera pada deskripsi penugasan untuk melakukan pengukuran zat yang ada pada makanan atau minuman. Gambar 3.6 menggambakan alur melihat deskripsi penugasan pada aplikasi perangkat bergerak.
Gambar 3.6 Alur Kerja Melihat Deskripsi Penugasan
3.1.5.4 Alur Kerja Membuat Laporan Hasil Pengukuran
Operator akan membuat laporan pengukuran makanan dan
minuman setelah mengecek deskripsi penugasan. Laporan dibuat
berdasarkan hasil dari pengukuran makanan dan minuman. Proses
pembuatan laporan dimulai dengan mengisi form laporan
berdasarkan hasil pengukuran. Setelah mengisi form laporan,
operator diharuskan mengambil foto makanan atau minuman yang
menjadi objek pengukuran. Setelah form terisi dan operator
berhasil mengambil gambar objek pengukuran, operator akan
mengklik tombol simpan laporan inspeksi. Aplikasi kemudian
akan menyimpan data laporan pada basis data perangkat bergerak.
Gambar 3.7 menggambarkan alur membuat laporan hasil pengukuran pada aplikasi perangkat bergerak.
Gambar 3.7 Alur Kerja Membuat Laporan Hasil Pengukuran
3.1.5.5 Alur Kerja Sinkronisasi Laporan
Setelah laporan dibuat dan disimpan pada basis data perangkat bergerak, laporan perlu disinkronisasikan dengan basis data web.
Sinkronisasi ini bertujuan agar laporan dapat diakses pada aplikasi web untuk menyelesaikan proses pengecekan oleh koordinator.
Proses sinkronisasi dimulai saat operator mengklik tombol kirim
laporan. Perangkat bergerak kemudian akan mengirim data
laporan, lokasi dan gambar ke basis data web. Data yang dikirim
dari perangkat bergerak berupa data laporan, lokasi dan gambar
akan disimpan pada basis data web. Gambar 3.8 menggambarkan alur sinkronisasi laporan pada sistem Sidata.
Gambar 3.8 Alur Kerja Sinkronisasi Laporan
3.1.5.6 Alur Kerja Mengecek Laporan
Setelah laporan berhasil disinkronisasikan, laporan akan dicek oleh koordinator. Pengecekan dilakukan untuk memastikan informasi yang tertera pada laporan valid. Pengecekan didasari pada rute lokasi yang dilalui oleh operator dan gambar wajah operator yang diambil pada proses inspeksi. Bila rute lokasi tidak sesuai berdasarkan penugasan atau gambar wajah operator tidak sesuai, maka laporan dinyatakan belum selesai. Setelah menyatakan laporan belum selesai, koordinator akan memberi feedback mengenai kesalahan yang dilakukan oleh operator.
Gambar 3.9 menggambarkan alur mengecek laporan pada aplikasi
web.
Gambar 3.9 Alur Kerja Mengecek Laporan
3.2 Perancangan
Perancangan dilakukan untuk mendapatkan gambaran yang lebih jelas dari sistem yang akan dibuat. Pada tugas akhir ini akan diambil pendekatan pemrograman berorientasi objek (PBO) yang berdasarkan pada panduan Rational Unified Process(RUP) [15]
dan buku analisa kebutuhan [17].Tahap perancangan meliputi perancangan diagram kasus pengguna, analisis kata benda, pembentukan diagram kelas, dan perancangan diagram urutan.
3.2.1 Diagram Kasus Pengguna
Berdasarkan analisis dari kasus yang ada, dibuat kasus penggunaan utama sistem. Kasus pengguna utama sistem digunakan untuk menjelaskan proses bisnis yang terjadi pada sistem. Tabel 3.2 menjelaskan kasus pengguna yang ada di sistem Sidata. Dari kasus pengguna utama yang ada, akan dibuat diagram kasus pengguna beserta aktor yang memiliki keterkaitan dengan kasus pengguna. Diagram kasus penggunaan sistem Sidata dapat dilihat pada Gambar 3.10.
Tabel 3.2 Kasus Pengguna Sistem Sidata
Nomor Nama Deskripsi
NUC001 Melihat Deskripsi Penugasan
Operator melihat deskripsi dari penugasan pada aplikasi perangkat bergerak sidata yang telah diberikan Petugas Kantor NUC002 Menghapus Laporan
Lama
Operator menghapus laporan lama yang tidak perlu disimpan lagi
NUC003 Memberi Penugasan
Petugas kantor memberi penugasan ke operator untuk melakukan inspeksi makanan atau minuman ke tempat tertentu NUC004 Melihat Laporan Hasil
Inspeksi
Petugas Kantor mengecek laporan hasil inspeksi dari Operator
Gambar 3.10 Diagram Kasus Pengguna
3.2.2 Kebutuhan Sistem
Pada sistem ini, kebutuhan didapat dari analisis sistem yang yang telah dijabarkan pada Bab 3. Kebutuhan sistem akan menjadi acuan fitur apa saja yang perlu dimiliki oleh sistem. Terdapat 2 kebutuhan yaitu kebutuhan fungsional dan kebutuhan non fungsional.
Kebutuhan fungsional adalah kebutuhan yang didapatkan dari kasus pengguna. Beberapa kebutuhan dari kasus pengguna NUC001 sistem Sidata dapat dilihat pada Tabel 3.3. Kebutuhan dari kasus pengguna selengkapnya dapat dilihat di Lampiran 1.
Tabel 3.3 Kebutuhan Fungsional NUC001 Sistem Sidata
Nomor Deskripsi Kasus
Pengguna Urgensitas FN-01 Operator dapat melihat deskripsi
dari penugasan yang diberikan NUC001 Harus FN-02
Operator dapat memberikan laporan hasil inspeksi makanan atau minuman
NUC001 Harus
FN-03
Operator dapat mengambil gambar makanan atau minuman yang diinspeksi
NUC001 Harus
FN-05 Operator dapat melihat daftar
penugasan NUC001 Harus
FN-06 Operator dapat melihat daftar
laporan NUC001 Harus
FN-09
Operator dapat mengirim laporan yang telah dibuat ke
penyimpanan data server
NUC001 Harus
FN-10
Operator dapat mengubah laporan yang belum dikirim ke penyimpanan data server
NUC001 Harus
FN-11 Sistem dapat menampilkan daftar
parameter kualitas NUC001 Harus
FN-12
Operator dapat menambahkan hasil pengecekan parameter kualitas
NUC001 Harus
FN-13
Operator dapat mengubah hasil pengecekan parameter kualitas yang belum dikirim ke penyimpanan data server
NUC001 Harus
Selain kebutuhan fungsional terdapat juga kebutuhan non fungsional yang muncul untuk memberi standardisasi sistem.
Beberapa contoh kebutuhan non fungsional dapat dilihat pada Tabel 3.4. Kebutuhan non fungsional dari sistem selengkapnya dapat dilihat di Lampiran 1.
Tabel 3.4 Kebutuhan Non Fungsional Sistem Sidata
Nomor Deskripsi Urgensitas
NFN-01
Format gambar makanan atau minuman yang dipergunakan pada laporan inspeksi adalah .jpg dengan ukuran gambar 100KB
Opsional
NFN-02 Format gambar wajah yang diambil oleh sistem
adalah .jpg dengan ukuran gambar 500x600 pixel Opsional NFN-03 Proses pembuatan laporan dapat dilakukan secara
offline / luar jaringan Harus
NFN-04 Hanya pengguna terotentifikasi yang dapat
menggunakan sistem Harus
3.2.3 Ekstensi Kasus Pengguna
Kasus pengguna utama yang ada perlu dijabarkan lagi. Dari penjabaran kasus pengguna utama akan didapatkan kasus pengguna lain yang dapat berupa ekstensi atau termasuk dari bagian kasus pengguna. Salah satu penjabaran dari kasus pengguna dapat dilihat pada Gambar 3.11 yang menggambarkan ekstensi dari kasus pengguna NUC001 beserta Tabel 3.5 yang menjelaskan seluruh ekstensi kasus pengguna pada NUC001. Ekstensi kasus pengguna yang lain selengkapnya dapat dilihat pada Lampiran 2.
Gambar 3.11 Ekstensi NUC001 Tabel 3.5 Kasus Pengguna Ekstensi NUC001 Nomor Kasus
Pengguna
Nama Kasus Pengguna Deskripsi Kasus Pengguna
NUC001
Melihat Deskripsi Penugasan
Operator dapat melihat deskripsi penugasan dari daftar penugasan yang tersedia
NUC001-1 Mengirimkan Laporan Operator mengirimkan laporan yang sudah dibuat untuk penugasan NUC001-2 Melihat Daftar Laporan Operator melihat daftar laporan
yang telah dibuat untuk penugasan NUC001-3 Memberi Laporan Hasil
Inspeksi
Operator membuat laporan hasil inspeksi untuk penugasan NUC001-4 Meng-update Laporan Operator mengubah data laporan
yang masih belum cocok NUC001-5 Melihat Daftar Parameter
Kualitas
Operator melihat daftar parameter kualitas yang telah dibuat NUC001-6
Menambahkan Parameter Kualitas
Operator membuat parameter kualitas dari hasil inspeksi sebagai bagian dari laporan
NUC001-7 Mengubah Parameter Kualitas
Operator mengubah data parameter kualitas yang telah dibuat