rancang bangun aplikasi foodx modul donatur …
TRANSCRIPT
RANCANG BANGUN APLIKASI FOODX MODUL DONATUR MAKANAN BERBASIS ANDROID SERTA
MODUL ADMIN FOODX BERBASIS WEB
LAPORAN SKRIPSI
INTAN YOSHANA 4616010041
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
2020
ii
RANCANG BANGUN APLIKASI FOODX MODUL DONATUR MAKANAN BERBASIS ANDROID SERTA
MODUL ADMIN FOODX BERBASIS WEB
LAPORAN SKRIPSI
Dibuat untuk Melengkapi Syarat-Syarat yang Diperlukan untuk
Memperoleh Gelar Sarjana Terapan
INTAN YOSHANA
4616010041
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
2020
iii
HALAMAN PERNYATAAN ORISINALITAS
Skripsi/Tesis/Disertasi ini adalah hasil karya saya sendiri, dan semua sumber
baik yang dikutip maupun dirujuk telah saya nyatakan dengan benar.
Nama : Intan Yoshana
NIM : 4616010041
Tanggal : 8 Juli 2020
Tanda Tangan :
iv
HALAMAN PENGESAHAN
Skripsi diajukan oleh
Nama : Intan Yoshana
NIM : 4616010041
Program Studi : Teknik Informatika
Judul Skripsi : Rancang Bangun Aplikasi FoodX Modul Donatur
Makanan Berbasis Android serta Modul Admin
FoodX Berbasis Web
Disahkan oleh:
Pembimbing : Shinta Oktaviana R., S.Kom., M.Kom.
Penguji I : Dr. Dewi Yanti Liliana, S.Kom.,
M.Kom.
Penguji II : Iwan Sonjaya, S.T., M.T.
Penguji III : Fitria Nugrahaini, S.Pd., M.Si.
v
KATA PENGANTAR
Puji syukur saya panjatkan atas kehadirat Allah SWT karena atas rahmat dan
karunia Nya, penulis dapat menyelesaikan skrispsi ini. Penulisan skripsi ini
dilakukan dalam rangka memenuhi syarat untuk mencapai gelar Sarjana Terapan
di Politeknik Negeri Jakarta. Penyusunan skripsi ini dapat berjalan lancar tidak
terlepas dari bantuan, bimbingan, serta dukungan dari berbagai pihak. Oleh karena
itu, penulis mengucapkan terima kasih kepada:
a. Ibu Shinta Oktaviana R., S.Kom., M.Kom., selaku Dosen Pembimbing yang
telah menyediakan waktu, tenaga dan pikiran untuk membimbing serta
mengarahkan penulis dalam penyusunan skripsi ini;
b. Pihak Foodbank of Indonesia dan FoodCycle Indonesia yang telah membantu
penulis dalam memperoleh data-data yang diperlukan;
c. Orang tua penulis yang telah memberikan dukungan dalam pembuatan skripsi
ini;
d. Diana yang telah menjadi partner penyusunan skripsi ini;
e. Teman serta sahabat yang telah banyak membantu dan mendukung penulis
dalam menyelesaikan penyusunan skripsi ini, terkhusus untuk Naufal, Rizky,
Fiqih, dan Lyanita;
Demikian pengantar ini penulis sampaikan, berharap Allah SWT berkenan
membalas segala kebaikan semua pihak yang telah membantu. Semoga laporan
skripsi ini membawa manfaat bagi pengembangan ilmu. Penulis menyadari bahwa
skripsi ini masih jauh dari kata sempurna, oleh karena itu saran dan kritik yang
membangun sangat diharapkan.
Jakarta, 8 Juli 2020
Penulis
vi Jurusan Teknik Informatika dan Komputer – Poilteknik Negeri Jakarta
Rancang Bangun Aplikasi FoodX Modul Donatur Berbasis Android serta
Modul Admin FoodX Berbasis Web
Abstrak
Mayoritas individu belum memiliki kesadaran akan pentingnya isu limbah makanan. Sedangkan, masih banyak individu yang kekurangan pasokan makanan. Saat ini, terdapat banyak komuitas yang mengumpulkan makanan berlebih yang masih layak makan untuk diberikan kepada masyarakat yang membutuhkan. Namun, keberadaan komunitas tersebut belum diketahui oleh banyak orang. Maka dari itu aplikasi FoodX dibuat sebagai platform membantu menghubungkan donatur makanan serta komunitas yang menyalurkan makanan tersebut ke masyarakat yang membutuhkan. Metode pengembangan sistem yang digunakan adalah prototyping. Pembuatan aplikasi untuk donatur dibuat berbasis Android, serta aplikasi untuk admin dibuat berbasis Web dengan menggunakan framework Nuxt.JS, Laravel, dan database PostgreSQL. Pengujian alpha testing dilakukan untuk menuji keseluruhan fungsi sistem. Metode pengujian yang digunakan dalam alpha testing adalah metode Black Box Testing. Hasil dari pengujian alpha testing memperoleh informasi bahwa sistem yang dibangun dapat berjalan dengan lancar dan sesuai dengan harapan.
Kata kunci: Android, Alpha Testing, Black Box Testing, Laravel, Limbah
Makanan, PostgreSQL, Prototyping Method.
vii Jurusan Teknik Informatika dan Komputer – Poilteknik Negeri Jakarta
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI
UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Politeknik Negeri Jakarta, saya yang bertanda tangan di
bawah ini :
Nama : Intan Yoshana
NIM : 4616010041
Program Studi : Teknik Informatika
Jurusan : Teknik Informatika dan Komputer
Jenis Karya :Skripsi/Tesis/Disertasi/Karya Ilmiah Lainnya*
demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada
Politeknik Negeri Jakarta Hak Bebas Royalti Noneksklusif (Non-exclusive
Royalty-Free Right) atas karya ilmiah saya yang berjudul :
Rancang Bangun Aplikasi FoodX Modul Donatur Makanan Berbasis Android serta
Modul Admin Berbasis Web
beserta perangkat yang (jika diperlukan). Dengan Hak Bebas Royalti Noneksklusif
ini Politeknik Negeri Jakarta berhak menyimpan, mengalihmedia/format-kan,
mengelola dalam bentuk pangkalan data (database), merawat, dan memublikasikan
skripsi saya selama tetap mencantumkan nama saya sebagai penulis/pencipta dan
sebagai pemilik Hak Cipta.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di : Jagakarsa, Jakarta Selatan Pada tanggal : 8 Juli 2020
Yang menyatakan
(Intan Yoshana)
*Karya ilmiah: karya akhir, makalah non seminar, laporan kerja praktek, laporan
magang, karya profesi dan karya spesialis
viii Jurusan Teknik Informatika dan Komputer – Poilteknik Negeri Jakarta
DAFTAR ISI
HALAMAN PERNYATAAN ORISINALITAS ................................................... iii
HALAMAN PENGESAHAN ................................................................................ iv
KATA PENGANTAR ............................................................................................ v
ABSTRAK ............................................................................................................. vi
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI ............ vii
DAFTAR ISI ........................................................................................................ viii
DAFTAR TABEL ................................................................................................... x
DAFTAR GAMBAR ............................................................................................. xi
DAFTAR LAMPIRAN .......................................................................................... xi BAB I PENDAHULUAN ...................................................................................... 1
1.1 Latar Belakang .......................................................................................... 1
1.2 Perumusan Masalah .................................................................................. 3
1.3 Batasan Masalah ....................................................................................... 3
1.4 Tujuan dan Manfaat .................................................................................. 3
1.5 Metode Pelaksanaan Skripsi ..................................................................... 3
BAB II TINJAUAN PUSTAKA ........................................................................... 5 2.1 Kewirausahaan Sosial (Social Entrepreneurship) .................................... 5
2.2 Sustainable Development Goals ............................................................... 6
2.3 Metode Prototyping .................................................................................. 8
2.4 Mobile Application ................................................................................. 10
2.5 Business to Consumer (B2C) ................................................................. 10
2.6 Android ................................................................................................... 11
2.7 Android Studio ....................................................................................... 11
2.8 Kotlin ...................................................................................................... 11
2.9 Framework Laravel ................................................................................ 12
2.10 NuxtJS .................................................................................................... 12
2.11 JavaScript ............................................................................................... 12
2.12 PostgreSQL ............................................................................................. 12
2.13 Application Programming Interface (API) ............................................. 13
2.14 Algoritma Haversine .............................................................................. 13
2.15 Diagram Perancangan Sistem ................................................................. 14
ix Jurusan Teknik Informatika dan Komputer – Poilteknik Negeri Jakarta
2.16 Pengujian ................................................................................................ 20
BAB III PERENCANAAN DAN REALISASI ................................................. 21 3.1 Perancangan Program Aplikasi .............................................................. 21
3.1.1 Deskripsi Program Aplikasi ................................................................ 21 3.1.2 Cara Kerja Program Aplikasi .............................................................. 22 3.1.3 Rancangan Program Aplikasi ............................................................. 25
3.2 Realisasi Program Aplikasi .................................................................... 38 3.2.1 Aplikasi untuk Donatur ....................................................................... 39 3.2.2 Aplikasi untuk Admin ......................................................................... 62
BAB IV PEMBAHASAN .................................................................................... 71 4.1 Pengujian ................................................................................................ 71
4.2 Deskripsi Pengujian ................................................................................ 71
4.3 Prosedur Pengujian ................................................................................. 71
4.4 Data Hasil Pengujian .............................................................................. 73
4.5 Analisis Data / Evaluasi .......................................................................... 85 BAB V PENUTUP ............................................................................................... 86
5.1 Kesimpulan ............................................................................................. 86
5.2 Saran ....................................................................................................... 86
Daftar Pustaka ...................................................................................................... xiv
Daftar Riwayat Hidup ......................................................................................... xvii
x Jurusan Teknik Informatika dan Komputer – Poilteknik Negeri Jakarta
DAFTAR TABEL
Tabel 1. Simbol-simbol flowchart ......................................................................... 14 Tabel 2. Simbol-simbol dalam Use Case Diagram .............................................. 16 Tabel 3. Simbol-simbol dalam Activity Diagram ................................................. 17 Tabel 4. Simbol-simbol dalam Sequence Diagram ............................................... 18 Tabel 5. Simbol-simbol dalam Class Diagram ..................................................... 19 Tabel 6. Tabel Modul-modul Yang Diuji ............................................................. 71 Tabel 7. Tabel Pengujian Login ............................................................................ 74 Tabel 8. Tabel Pengujian Logout .......................................................................... 75 Tabel 9. Tabel Pengujian Memilih Komunitas ..................................................... 75 Tabel 10. Tabel Pengujian Donasi ........................................................................ 76 Tabel 11. Tabel Pengujian Pembuatan Permohonan Donasi ................................ 76 Tabel 12. Tabel Pengujian Riwayat Donasi .......................................................... 81 Tabel 13. Tabel Pengujian Penerima Donasi Terdekat ......................................... 81 Tabel 14. Tabel Pengujian Penerima Donasi Terdekat ......................................... 82 Tabel 15. Tabel Pengujian Halaman Donasi untuk Admin ................................... 83 Tabel 16. Tabel Pengujian Halaman Komunitas untuk Admin ............................ 84 Tabel 17. Tabel Pengujian Halaman Donatur untuk Admin ................................. 84
xi Jurusan Teknik Informatika dan Komputer – Poilteknik Negeri Jakarta
DAFTAR GAMBAR
Gambar 1.1 Hasil Survei Perilaku Masyarakat dalam Membuang Makanan ......... 1 Gambar 1.2 Hasil Survei Pengetahuan Masyarakat ................................................ 2 Gambar 2.1 Fase-fase dalam Metode Prototyping .................................................. 8 Gambar 2.2 Perbedaan Garis Lintang dan Garis Bujur di Belahan Bumi ............ 13 Gambar 3.1 Flowchart Aplikasi FoodX Secara Keseluruhan ............................... 22 Gambar 3.2 Flowchart Alur Aplikasi untuk Donatur ........................................... 23 Gambar 3.3 Flowchart Alur Aplikasi Web untuk Admin ..................................... 24 Gambar 3.4 Diagram Use Case dalam Sistem FoodX .......................................... 25 Gambar 3.5 Activity Diagram Permohonan Donasi dari Donatur ........................ 27 Gambar 3.6 Activity Diagram Melihat Penerima Donasi Terdekat ...................... 28 Gambar 3.7 Activity Diagram Melihat Report untuk Donatur .............................. 29 Gambar 3.8 Activity Diagram Mengelola Akun Donatur untuk Admin ............... 30 Gambar 3.9 Activity Diagram Validasi Akun Komunitas oleh Admin ................ 31 Gambar 3.10 Activity Diagram Mengelola Akun Komunitas untuk Admin ........ 32 Gambar 3.11 Activity Diagram Melihat seluruh transaksi .................................... 33 Gambar 3.12 Sequence Diagram Membuat Permohonan Donasi untuk Donatur 34 Gambar 3.13 Sequence Diagram Melihat Laporan Donasi untuk Donatur .......... 34 Gambar 3.14 Sequence Diagram Melihat Penerima Donasi Terduntuk Donatur . 35 Gambar 3.15 Sequence Diagram Melihat Seluruh Transaksi untuk Admin ......... 36 Gambar 3.16 Sequence Diagram Validasi Akun Komunitas oleh Admin ............ 36 Gambar 3.17 Sequence Diagram Melihat Akun Donatur untuk Admin ............... 37 Gambar 3.18 Sequence Diagram Mengelola Akun Komunitas untuk Admin ...... 37 Gambar 3.19 Class Diagram Aplikasi FoodX ...................................................... 38 Gambar 3.20 Prototype Halaman Register Donatur ............................................. 39 Gambar 3.21 Prototype Halaman Login Donatur ................................................. 40 Gambar 3.22 Prototype Halaman Komunitas di Donatur ..................................... 41 Gambar 3.23 Prototype Halaman Detail Komunitas di Donatur .......................... 42 Gambar 3.24 Prototype Halaman Form Donasi .................................................... 43 Gambar 3.25 Prototype Halaman Pilih Lokasi ..................................................... 44 Gambar 3.26 Prototype Halaman Riwayat Donasi ............................................... 45 Gambar 3.27 Prototype Halaman Detail Riwayat Donasi .................................... 46 Gambar 3.28 Prototype Halaman Penerima Donasi ............................................. 47 Gambar 3.29 Protoype Halaman Penerima Donasi Terdekat ............................... 48 Gambar 3.30 Hasil Implementasi Halaman Registrasi Donatur ........................... 49 Gambar 3.31 Hasil Implementasi Login Donatur ................................................. 50 Gambar 3.32 Hasil Implementasi Halaman Komunitas di Donatur ..................... 51 Gambar 3.33 Hasil Implementasi Halaman Detail Komunitas ............................. 52 Gambar 3.34 Hasil Implementasi Form Donasi .................................................... 53 Gambar 3.35 Implementasi Kode Permohonan Donasi di Android ..................... 54 Gambar 3.36 Implementasi Kode Permohonan Donasi di Laravel ....................... 55 Gambar 3.37 Hasil Implementasi Pemilihan Lokasi Penjemputan Makanan ....... 56 Gambar 3.38 Implementasi Kode Pemilihan Lokasi ............................................ 57
xii Jurusan Teknik Informatika dan Komputer – Poilteknik Negeri Jakarta
Gambar 3.39 Hasil Implementasi Riwayat Donasi ............................................... 58 Gambar 3.40 Hasil Implementasi Halaman Detail Donasi ................................... 59 Gambar 3.41 Hasil Implementasi Penerima Donasi Terdekat .............................. 60 Gambar 3.42 Implementasi Kode Penerima Donasi Terdekat di Android ........... 61 Gambar 3.43 Implementasi Kode Penerima Donasi Terdekat di Laravel ............ 62 Gambar 3.44 Prototype Halaman Komunitas untuk Admin ................................. 63 Gambar 3.45 Prototype Halaman Menerima Komunitas untuk Admin ............... 63 Gambar 3.46 Prototype Halaman Donasi untuk Admin ....................................... 64 Gambar 3.47 Prototype Halaman Donatur untuk Admin ..................................... 65 Gambar 3.48 Hasil Implementasi Halaman Komunitas untuk Admin ................. 66 Gambar 3.49 Implementasi Kode Halaman Menerima Komunitas di Nuxt.JS .... 67 Gambar 3.50 Implementasi Kode Komunitas Yang Telah Registrasi .................. 68 Gambar 3.51 Implementasi Kode Komunitas Yang Telah Diterima oleh Admin 68 Gambar 3.52 Hasil Implementasi Halaman Donatur untuk Admin ...................... 69 Gambar 3.53 Hasil Implementasi Halaman Donasi untuk Admin ........................ 69
xiii Jurusan Teknik Informatika dan Komputer – Poilteknik Negeri Jakarta
DAFTAR LAMPIRAN
Lampiran 1 Hasil Kuesioner ........................................................................... xviiiiii
Lampiran 2 Hasil Pengujian ................................................................................. xix
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Mayoritas individu belum memiliki kesadaran akan pentingnya isu limbah
makanan. Mereka hanya memakan dan membuang makanan yang diinginkan tanpa
pertimbangan lebih lanjut. Sedangkan, di sisi lain, masih banyak individu yang
kekurangan pasokan makanan. Berdasarkan data Perserikatan Bangsa-bangsa
(PBB), 1,3 miliar ton makanan di dunia terbuang setiap tahunnya, sementara hampir
2 miliar orang di dunia kelaparan atau kekurangan gizi. Di antara tahun 2000 hingga
2019, tingkat kelaparan Indonesia dalam skor Global Hunger Index (GHI) menurun
dari angka 25,8 ke 20,1. Walaupun terjadi penurunan, skor tersebut masih termasuk
ke dalam kategori serius (Pakpahan, 2017).
Ketidakefisienan dalam sistem pangan global ini memiliki dampak serius bagi
nutrisi, kesehatan, dan lingkungan. Berdasarkan sebuah studi dari The Economist
Intelligence Unit pada tahun 2016, Indonesia merupakan negara dengan limbah
makanan terbesar kedua di dunia, dengan pembuangan hampir 300kg makanan per
orang setiap tahun. Seperti yang tertera di Gambar 1.1, sebanyak 91,5 persen dari
234 responden pernah membuang makanan yang telah diolah yang masih layak
dikonsumsi. Bahkan 98,7 persen dari 234 responden pernah membuang makanan
yang belum diolah karena terlalu lama disimpan.
Menurut Food and Agriculture Organization dari PBB, 30 persen makanan
terbuang di seluruh rantai pasokan, berkontribusi 8 persen dari total emisi gas
rumah kaca global. Sehingga pada tahun 2015, seluruh anggota PBB membuat
Gambar 1.1 Hasil Survei Perilaku Masyarakat dalam Membuang Makanan
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2
sebuah tujuan global untuk memastikan bahwa semua orang dapat menikmati
perdamaian dan kemakmuran pada tahun 2030 yang disebut dengan Sustainable
Development Goals (SDG). SDG memiliki tujuh belas objektif yang saling
terintegrasi, dimana tindakan di satu bidang akan memengaruhi hasil di bidang lain.
Saat ini, terdapat banyak komunitas yang mengumpulkan makanan berlebih yang
masih layak makan untuk diberikan kepada masyarakat yang membutuhkan.
Makanan tersebut didapatkan dari para donatur. Donatur dapat berupa individu
maupun organisasi. Meski begitu, masih banyak masyarakat yang tidak tahu bahwa
mereka dapat mendonasikan makanan berlebih mereka kepada komunitas terkait.
Gambar 1.2 menunjukkan bahwa sebanyak 62,4 persen dari 234 responden tidak
tahu bahwa mereka dapat mendonasikan makanan berlebih mereka ke sebuah
komunitas. Bahkan, 64,1 persen dari 234 responden tidak mengetahui bahwa
terdapat komunitas yang dapat menyalurkan donasi makanan.
Proses bisnis donasi makanan yang terjadi pada saat ini masih kurang efektif karena
dari permohonan donasi oleh donatur hingga reporting penerima donasi dalam
bentuk foto dan deskripsi dari pihak komunitas masih menggunakan platform
komunikasi seperti WhatsApp atau telepon.
Uraian permasalahan di atas menjadi pemicu dibuatnya aplikasi FoodX ini untuk
menyebarkan kesadaran akan limbah makanan serta mengurangi masalah tersebut
dengan menyediakan platform bagi donatur untuk memberikan makanan berlebih
ke komunitas setempat. Keamanan serta kebersihan makanan menjadi isu lain
dalam pembuatan sistem ini untuk menentukan kelayakan konsumsi makanan yang
didonasikan. FoodX memiliki empat modul, yakni; modul donatur makanan, modul
komunitas penyalur makanan, modul relawan, serta modul admin FoodX.
Gambar 1.2 Hasil Survei Pengetahuan Masyarakat mengenai Komunitas
yang Menerima Donasi Makanan Yang Masih Layak Konsumsi
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3
1.2 Perumusan Masalah
Perumusan masalah yang didasari oleh latar belakang di atas dapat diuraiakan
sebagai berikut:
1. Bagaimana cara membuat aplikasi Android FoodX yang dapat
menghubungkan donatur makanan dengan komunitas penyalur makanan?
2. Bagaimana cara membuat web admin FoodX untuk mengelola data donatur
dan komunitas?
1.3 Batasan Masalah
Batasan masalah dalam pembuatan aplikasi ini adalah:
1. Aplikasi FoodX untuk donatur makanan dibuat berbasis Android
2. Aplikasi admin untuk mengelola data aplikasi FoodX dibuat berbasis Web
3. Aplikasi untuk donatur makanan terintegrasi dengan aplikasi untuk komunitas
penyalur makanan
1.4 Tujuan dan Manfaat
Tujuan dari penelitian ini adalah merancang bangun aplikasi Android FoodX untuk
donatur makanan serta aplikasi Web untuk admin yang berfungsi untuk mengelola
data. Adapun manfaat dari dibuatnya aplikasi ini, antara lain:
1. Individu atau sebuah organisasi yang terdaftar di aplikasi FoodX yang
memiliki makanan berlebih dapat menyumbangkan makanan tersebut kepada
komunitas setempat.
2. Komunitas yang terdaftar di aplikasi FoodX dapat terhubung langsung dengan
donatur makanan untuk mengambil makanan tersebut.
3. Donatur makanan dapat memantau bahwa makanan yang diberikan sampai ke
masyarakat yang membutuhkan.
1.5 Metode Pelaksanaan Skripsi
Dalam penyelesaian masalah penelitian terdapat dua metode, yakni:
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
4
1. Metode Pengumpulan Data
Data yang diperlukan dalam proses penelitian berupa data primer dan data
sekunder. Pengumpulan data yang diperlukan selama proses penelitian dilakukan
melalui observasi, wawancara pihak komunitas dan beberapa restoran, serta
penyebaran kuesioner yang dapat menjadi donatur makanan.
2. Metode Pengembangan
Proses pembangunan aplikasi ini akan dilakukan dengan menggunakan metode
Prototyping.
5
BAB II
TINJAUAN PUSTAKA
2.1 Kewirausahaan Sosial (Social Entrepreneurship)
Gagasan dari pengusaha social (social entrepreneur) atau kewirausahaan social
(social entrepreneurship) diciptakan oleh sekelompok orang, kebanyakan dari
negara-negara berkembang, yang mencoba untuk memilah masalah sosial,
ekonomi, dan lingkungan di sekitar mereka dalam bentuk wirausaha. Pengusaha
sosial merupakan orang yang memiliki kemampuan untuk menyelesaikan masalah
masyarakat dengan menerapkan ide inovatif. Tujuan utama pengusaha sosial bukan
untuk mendapatkan keuntungan melainkan untuk mengimplementasikan
peningkatan kesejahteraan masyarakat secara luas, keuntungan finansial yang
didapatkan dianggap sebagai sarana atau alat untuk menyelesaikan misi sosial
(Shukla & Singh, 2016).
Kewirausahaan sosial dibagi menjadi dua kategori berbeda; organisasi nirlaba (non-
profit organization) dan organisasi dengan tujuan finansial sekaligus sosial
(hybrid). Lembaga swadaya masyarakat (LSM), sebagai organisasi non-pemerintah
dikategorikan ke dalam organisasi nirlaba. Organisasi ini biasanya dibentuk oleh
warga negara biasa dan dapat didanai oleh pemerintah, yayasan, bisnis, atau
perorangan. Beberpa didirikan dengant idak memiliki dana sama sekali dan
dioperasikan oleh sukarelawan (Rahim & Mohtar, 2015).
Kategori kedua selanjutnya dibagi menjadi hibrida social (social hybrid) dan
hibrida ekonomi (economy hybrid). Keduanya adalah organisasi dengan tujuan
finansial dan sosial. Yang membedakan keduanya adalah tujuan utama, baik yang
lebih condong ke sosial atau ekonomi. Untuk organisasi hibrida sosial, ia lebih
berfokus pada misi sosial, sementara menghasilkan pendapatan adalah tujuan
sekunder. Biasanya keuntungan finansial digunakan untuk keberlanjutan
organisasi. Di sisi lain, tujuan utama organisasi ekonomi hibrida adalah laba.
Namun, secara aktif terlibat dalam kegiatan sosial. Dengan kata lain, organisasi
bisnis yang bertanggung jawab secara sosial dikelompokkan dalam kategori ini.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Salah satu contoh aplikasi social entrepreneurship yang berkontribusi dalam
pencegahan limbah makanan adalah Olio. Olio merupakan platform untuk berbagi
makanan yang menghubungkan para individu dengan tetangga dan toko-toko lokal
di seluruh dunia. Pengguna Olio dapat menyumbangkan sayuran segar, roti dari
toko roti dan makanan rumah tangga yang berlebih. Untuk mendaftarkan makanan,
pengguna hanya perlu menambahkan foto makanan, deskripsi, serta kapan dan di
mana makanan tersebut tersedia untuk diambil. Sedangkan, untuk melihat makanan
yang tersedia cukup dengan menelusuri halaman utama yang berisi daftar makanan
yang ada di daerah sekitar. Olio pertama kali dirilis pada awal 2015 oleh Tessa
Clarke dan Saasha Celestial One. Pada Oktober 2017 Olio berhasil mengumpulkan
dana sebanyak $2,2 juta. Olio juga memiliki sekitar 1,2 juta pengguna yang ada di
seluruh dunia pada Juli 2019. Selain itu, juga terdapat aplikasi Jokii yang
menyediakan platform jual beli makanan yang akan dibuang karena kelebihan
produksi dari restoran, toko roti, dan tempat makanan lainnya.
2.2 Sustainable Development Goals
Sustainable Development Goals (SDG) merupakan sebuah tujuan global yang
disetujui oleh anggota PBB sebagai panggilan universal untuk mengakhiri
kemiskinan, memerangi kelaparan, melindungi planet (dunia), dan memastikan
bahwa semua orang dapat menikmati perdamaian dan kemakmuran pada tahun
2030 yang disebut dengan Sustainable Development Goals (SDG). SDG memiliki
tujuh belas objektif yang saling terintegrasi, dimana tindakan di satu bidang akan
memengaruhi hasil di bidang lain (United Nations, 2015).Objektif-objektif tersebut,
antara lain:
1. Tanpa Kemiskinan (No Poverty)
2. Tidak Ada Kelaparan (Zero Hunger)
3. Kesehatan dan Kesejahteraan yang Baik (Good Health and Well-being)
4. Kualitas Pendidikan (Quality Education)
5. Kesetaraan Gender (Gender Equality)
6. Air Bersih dan Sanitasi (Clean Water and Sanitation)
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
7. Energi yang Terjangkau dan Bersih (Affordable and Clean Energy)
8. Pekerjaan yang Layak dan Pertumbuhan Ekonomi (Decent Work and
Economic Growth)
9. Industri, Inovasi, dan Infrastruktur (Industry, Innovation, and Infrastructure)
10. Mengurangi Ketimpangan (Reduce Inequalities)
11. Kota dan Komunitas Berkelanjutan (Sustainable Cities and Communities)
12. Konsumsi dan Produksi yang Bertanggung Jawab (Responsible Consumption
and Production)
13. Aksi Iklim (Climate Action)
14. Kehidupan di Bawah Air (Life below Water)
15. Kehidupan di Darat (Life on Land)
16. Perdamaian, Keadilan, dan Lembaga Kuat (Peace, Justice, and Strong
Institutions)
17. Kemitraan untuk Tujuan (Partnerships for the Goals)
Penelitian ini difokuskan kepada dua objektif SDG, yakni SDG 2 (Tanpa
Kelaparan) dan SDG 12 (Konsumsi dan Produksi Bertanggung Jawab).
2.2.1 Zero Hunger
SDG ke-2 menyatakan bahwa pada tahun 2030 harus mengakhiri kelaparan dan
segala bentuk kekurangan gizi. Hal tersebut dicapai dengan menggandakan
produktivitas pertanian dan pendapatan produsen makanan skala kecil, dengan
memastikan sistem produksi pangan berkelanjutan, dan dengan secara progresif
meningkatkan kualitas tanah. Pertanian adalah satu-satunya perusahaan terbesar di
dunia, yang menyediakan mata pencaharian bagi 40% populasi global, dimana
merupakan sumber pendapatan terbesar bagi rumah tangga pedesaan miskin.
Perempuan membentuk sekitar 43% dari tenaga kerja pertanian di negara-negara
berkembang, dan lebih dari 50% di sebagian Asia dan Afrika. Namun, perempuan
hanya memiliki 20% dari tanah (United Nations, 2015).
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.2.2 Responsible Consumption and Production
Industri makanan menyumbang sekitar 30% dari total konsumsi energi di dunia dan
juga berkontribusi 22% terhadap emisi gas rumah kaca. Oleh karena itu, SDG ke-
12 hanya dapat dicapai ketika setiap negara memastikan bahwa pola produksi dan
konsumsi mereka tidak merusak batas-batas lingkungan planet ini, dan juga kondisi
ekonomi dan sosial di negara-negara lain. Perencanaan utama dalam SDG ini adalah
untuk mengurangi ketidaksetaraan dalam pemanfaatan sumber daya alam. Negara-
negara maju diminta untuk memimpin dalam mengadopsi praktik-praktik konsumsi
dan produksi yang berkelanjutan, agar dapat meningkatkan mata pencaharian
negara-negara terbelakang. Misalnya, mengurangi limbah makanan dapat
berdampak pada penurunan harga pangan di seluruh dunia sehingga bermanfaat
bagi orang miskin. Selain itu, meningkatkan daya beli masyarakat miskin idealnya
harus diselaraskan dengan peningkatan kesadaran konsumsi berkelanjutan (United
Nations, 2015).
2.3 Metode Prototyping
Metode prototyping dimulai dengan membuat prototipe produk sebelum atau
selama tahap kompilasi user requirements untuk produk yang akan dibuat. User
yang menggunakan prototipe ini, mengidentifikasi kekuatan dan kelemahannya.
Kemudian hasilnya dilaporkan kepada pengembang produk tersebut. Dengan
demikian, umpan balik disediakan untuk user dan pengembang, yang kemudian
Gambar 2.1 Fase-fase dalam Metode Prototyping
Sumber: Al-Husseini & Obaid, 2018
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
digunakan untuk mengubah atau memperbaiki spesifikasi user requirements.
Sebagai hasil dari pekerjaan ini, produk akan mencerminkan kebutuhan nyata user
(Al-Husseini & Obaid, 2018).
Metode ini bersifat iteratif dan memiliki proses trial-and-error. Pada umumnya
digunakan jika pemilik sistem tidak mengetahui secara rinci atau belum menguasi
sistem yang akan dikembangankan sehingga diperlukan sebuah gambaran agar
pemilik memahami sistem yang dikerjakan (Mulyani, 2017). Metode protoyping
memiliki lima tahap, antara lain:
1. Analisis
Tahap pertama adalah mengidentifikasi kebutuhan sistem dan permasalahan yang
ada. Identifikasi dilakukan untuk mengetahui komponen apa saja yang dibutuhkan
dalam membuat aplikasi. Identifikasi kebutuhan sistem mencakup input, output
yang dihasilkan, operasi yang dilakukan, sumber, dan control.
2. Desain
Setelah mengidentifikasi kebutuhan sistem, dibuat perancangan sistem secara garis
besar. Hasil perancangan tersebut menjadi dasar pembangunan sistem secara
keseluruhan
3. Membangun prototipe
Pembuatan prototipe dibuat berdasarkan rancangan desain, ditujukan sebagai
gambaran kepada pelanggan bagaimana aplikasi akan berkerja secara garis besar.
4. Evaluasi user
Setelah mengetahui bagaimana alur kerja sistem yang dibuat, user memberikan
evaluasi. Saran dan komentar akan diberikan dan dijadikan acuan untuk tahap
selanjutnya.
5. Implementasi dan pemeliharaan
Tahap implentasi dilakukan setelah prototipe selesai dibuat. Dilakukan pengkodean
sistem sampai sistem selesai sesuai dengan prototipe yang sudah disetujui
sebelumnya. Tahap pengujian juga dilakukan setelah implementasi selesai.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Kemudian pemeliharaan yang akan dilakukan secara rutin agar sistem dapat
berjalan dengan lancar (Mohd & Shahbodin, 2015).
2.4 Mobile Application
Mobile application (mobile app) merupakan perangkat lunak yang dirancang untuk
dapat dijalankan di perangkat seluler (Hsiao, 2017). Mobile application memiliki
tiga jenis, yakni; web app, hybrid app, dan native app. Web app dibuat
menggunakan teknologi web seperti HTML, HTML5, JavaScript, dan CSS.
Aplikasi ini tidak perlu diinstal terlebih dahulu karena diakses melalui URL yang
dimasukkan di browser web. Native app merupakan aplikasi bawaan seluler yang
dikembangkan menggunakan alat dan bahasa pemrograman yang disediakan untuk
platform seluler tertentu, seperti Android atau iOS. Native app hanya berjalan di
ponsel dengan platform yang ditargetkan. Aplikasi asli dapat diunduh dan diinstal
dari toko digital yang mendistribusikan aplikasi seluler seperti Google Play. Hybrid
app adalah gabungan dari web app dan native app, yang dikembangkan
menggunakan teknologi web app tetapi dibuat di dalam native app menggunakan
kontrol tampilan web. Kemampuan perangkat terpapar ke Aplikasi hybrid melalui
lapisan abstraksi (API JavaScript). Pengembang aplikasi seluler membuat aplikasi
khusus untuk sistem operasi yang akan dijalankannya. Misalnya, aplikasi seluler
untuk iPad didukung oleh Apple iOS, bukan Google Android. Aplikasi Apple tidak
dapat berjalan di peranagkat Android, dan sebaliknya (Viswanathan, 2019).
2.5 Business to Consumer (B2C)
Business to Consumer (B2C) merupakan sebuah bisnis yang berusaha menjangkau
konsumen individu. B2C konvensional umumnya mengacu kepada belanja di mal,
makan di restoran, dan infomersial. Seiring berkembangnya teknologi, Internet
menyediakan platform baru untuk B2C dalam bentuk e-commerce atau penjualan
barang dan jasa (Kenton, 2019). Konsep B2C juga berlaku untuk organisasi yang
menyediakan barang atau jasa ke konsumennya melalui Internet (Sheikh, 2015).
Aplikasi FoodX tergolong aplikasi B2C karena menyediakan layanan jasa yang
menghubungkan antara donatur makanan dengan komunitas yang akan
mendistribusikan makanan tersebut ke masyarakat yang membutuhkan.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.6 Android
Android adalah sistem operasi mobile yang didasarkan pada versi Linux yang
dimodifikasi. Sejak 2005, sistem operasi Android bersifat open source sehingga
siapa pun yang ingin menggunakan Android dapat melakukannya dengan
mengunduh kode sumber Android lengkap. Sebagian besar kode Android dirilis di
bawah Lisensi Apache. Android juga menawarkan pendekatan terpadu dalam
pengembangan aplikasi. Pengembang hanya perlu mengembangkan Android secara
umum, dan aplikasi mereka harus dapat berjalan di banyak perangkat yang berbeda,
selama perangkat tersebut didukung menggunakan Android. Di dunia smartphone,
aplikasi adalah bagian terpenting dari rantai kesuksesan (Dimarzio, 2017).
2.7 Android Studio
Android Studio merupakan Integrated Development Environment (IDE), sebuah
perangakat lunak komputer yang memfasilitasi pengembangan aplikasi yang
didasarkan pada Intellij IDEA. Android Studio telah terintegrasi dengan fitur yang
diperlukan dalam pengembangannya, seperti fitur debugging, version control,
emulator, dan lainnya untuk membantu pengembang melakukan tindakan dengan
cepat tanpa perlu beralih ke aplikasi lain (Horton, 2015). Android Studio yang
digunakan untuk mengembangkan aplikasi ini adalah Android Studio versi 3.5
2.8 Kotlin
Kotlin merupakan bahasa pemrograman yang diketik secara statis yang berjalan
pada Java Virtual Machine (JVM) dan sepenuhnya beroperasi dengan Java.
Berdasarkan penelitian yang dilakukan oleh Informatics Center - UFPE Tempest
Security Intelligence Recife, Brazil, Kotlin mudah dimengerti dan diadopsi oleh
sebagian besar pengembang Android. Penggunaan Kotlin dapat meningkatkan
kualitas kode, keterbacaan, dan produktivitas karena interoperabilitas Java, fitur
null safety, verbositas yang minim, serta tersupport dengan baik di IDE. Namun,
Kotlin membawa banyak keuntungan ke platform Android, khususnya dalam aspek
mengadopsi bahasa yang lebih modern sambil mempertahankan lingkungan
pengembangan berbasis Java yang terkonsolidasi. (Oliveira, et al., 2020)
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.9 Framework Laravel
Laravel merupakan framework web berbasis PHP yang bersifat open-source, dan
menggunakan konsep model – view – controller (MVC). Laravel berada di bawah
lisesni MIT License dengan menggunakan Github sebagai tempat berbagi code
menjalankannya (Naista, 2017). Beberapa fitur Laravel adalah modular packaging
system dengan manajer ketergantungan khusus, berbagai cara untuk mengakses
basis data relasional, utilitas yang membantu dalam penerapan dan pemeliharaan
aplikasi (Bean, 2015). Framework Laravel yang digunakan untuk mengembangkan
aplikasi ini adalah Laravel versi 5.8.
2.10 NuxtJS
NuxtJS adalah framework progresif dari VueJS yang dirancang untuk membuat
arsitektur tampilan sebuah website yang kuat dengan performa yang tinggi dan
ramah dengan pengembang. Dengan kelebihan-kelebihan tersebut, maka NuxtJS
dapat menjalankan aplikasi yang statis maupun dinamis. NuxtJS juga bersifat
serbaguna karena mendukung target yang berbeda (server, serverless atau statis)
dan server side rendering bersifat switchable (Chopin, n.d.).
2.11 JavaScript
JavaScript adalah sebuah bahasa komputer atau kode pemrograman yang digunakan
pada website agar website tersebut menjadi lebih interaktif dan dinamis. Javascript
adalah jenis bahasa pemrograman client side. Penggunaan kode javascript pada
sebuah website bersifat opsional, artinya tidak harus selalu ada. JavaScript dapat
membuat halaman web menjadi interaktif dan merupakan bagian penting dari
aplikasi web. Sebagian besar situs web menggunakannya untuk perilaku halaman
sisi klien, dan semua browser web utama memiliki mesin JavaScript khusus untuk
menjalankannya. (Web Technology Surveys, 2020)
2.12 PostgreSQL
PostgreSQL adalah sistem manajemen basis data relasional (RDBMS) yang bersifat
open source, dirilis di bawah lisensi PostgreSQL. PostgreSQL kaya akan fitur
sehingga memungkinkan pengembang untuk melakukan tugas dengan gesit (agile).
Selain itu, PostgreSQL juga memiliki keunggulan dalam ekstensibilitas, kreativitas,
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
serta kompatibilitas. DBMS yang disediakan PostgreSQL juga bersifat lintas-
platform sehingga berjalan di sebagian besar sistem operasi modern termasuk
Windows, MacOS, dan Linux. (Juba & Volkov, 2017)
2.13 Application Programming Interface (API)
Application Programming Interface (API) membuka layanan atau data yang
difasilitasi oleh sebuah aplikasi perangkat lunak melalui serangkaian sumber daya
yang telah ditentukan, seperti method, object, atau URI (Uniform Resource
Identifier). Aplikasi lain dapat menggunakan sumber daya tersebut untuk
mengakses data atau layanan tanpa harus mengimplementasikan objek dan prosedur
yang mendasarinya. (Meng, et al., 2017). API menerima query melalui panggilan
web standar yang menggunakan request method dari HTTP (GET, POST dan
DELETE) untuk menandakan tindakan yang harus diambil. Hasil dari request
method tersebut, di-return dalam format JavaScript Object Notation (JSON)
(Jolley, et al., 2017).
2.14 Algoritma Haversine
Pemilihan metode perhitungan jarak pada permukaan bumi sangat mempengaruhi
keakuratan hasil yang akan diperoleh karena perhitungan jarak dari satu titik ke titik
lain dipengaruhi oleh tingkat kelengkungan tertentu. Gambar 2.2 menunjukkan
perbedaan antara garis lintang (latitude) dan garis bujur (longitude). Lintang
merupakan garis yang mendefinisikan jarak antara utara dan selatan bumi terhadap
Gambar 2.2 Perbedaan Garis Lintang dan Garis Bujur di Belahan Bumi
Sumber: Basyir, Nasir, Suryati, Mellyssa (2017)
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
garis khatulistiwa. Sedangkan garis bujur adalah garis yang mengukur jarak antara
barat dan timur bumi dari garis meridian utama.
Algoritma Haversine digunakan untuk mendapatkan jarak antara dua titik berbeda
di permukaan bumi menggunakan lintang dan bujur sebagai variabel. Algoritma ini
dapat didefinisikan sebagai
! = 2$&$'()* +,()*! -∅! −∅"
2 0 + '2((∅")'2((∅!)()*! -5" −5!
2 06
d adalah jarak dan r adalah jari-jari bumi (6367 km), sedangkan ϕ1 dan ϕ2 adalah
garis lintang dan λ1 dan λ2 adalah garis bujur (Harja & Sarno, 2018).
2.15 Diagram Perancangan Sistem
2.15.1 Flowchart
Flowchart merupakan skema yang digunakan untuk menggambarkan algoritma
atau proses penyelesaian masalah secara sistematis dan terurut. Flowchart tersusun
dari berbagai simbol yang dapat memberikan gambaran yang efektif dan jelas
mengenai prosedur logika (Harumy, et al., 2016). Berikut adalah simbol-simbol
yang digunakan untuk membuat flowchart.
Tabel 1. Simbol-simbol flowchart (Harumy, Windarto, & Sulistianingsing, 2016)
Simbol Keterangan
Terminator
Merupakan simbol untuk memulai dan mengakhiri
flowchart.
Input/Output
Simbol untuk menggambarkan proses menerima data
dan mengeluarkan data.
Process
Simbol untuk menggambarkan proses yang terjadi pada
algoritma.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Conditional/Decision
Simbol untuk menggambarkan kegiatan yang
membutuhkan keputusan.
Preparation
Digunakan untuk memberikan nilai diawal algoritma.
Arrow Sebagai penunjuk arah pada flowchart.
Connector (On-page)
Digunakan untuk menyatukan beberapa potongan
flowchart yang terletak pada halaman yang sama.
Connector (Off-page)
Digunakan untuk menyatukan beberapa potongan
flowchart yang terletak pada halaman yang berbeda.
2.15.2 Unified Modeling Language
Unified Modeling Language (UML) adalah bahasa grafis yang memvisualisasikan,
menetapkan, membangun, dan mendokumentasikan sistem perangkat lunak. UML
menyediakan standar cara penulisan cetak biru sebuah sistem yang mencakup hal-
hal konseptual, kelas yang ditulis dalam bahasa pemrograman tertentu, skema basis
data, dan komponen perangkat lunak yang reusable. UML adalah notasi standar,
yang digunakan oleh semua stakeholder yang terlibat dalam produksi, penyebaran,
dan pemeliharaan perangkat lunak. (Satapathy, et al., 2016)
a. Use Case Diagram
Use case diagram berfungsi untuk mendeskripsikan seluruh interaksi yang dapat
terjadi antara sistem dan pengguna secara grafis dan tekstual. Dalam bentuk paling
sederhana, use case diagram menunjukkan aktor yang terlibat dalam interaksi dan
nama dari interaksi tersebut. Pengembang dapat menambahkan informasi tambahan
yang mendeskripsikan interaksi antara aktor dengan sistem (Sommerville, 2016).
Berikut adalah notasi dalam use case diagram:
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Tabel 2. Simbol-simbol dalam Use Case Diagram (S. & Shalahuddin, 2018)
Simbol Keterangan
Use case
Fungsionalitas yang dimiliki sistem sebagai unit
yang dapat bertukar pesan atau berinteraksi dengan
aktor.
Aktor
Orang, proses, atau sistem lain yang berinteraksi
dengan lingkup sistem yang sedang
dikembangkan.
Asosiasi
Menggambarkan hubungan antara aktor dan use
case atau aktor yang berpartisipasi pada use case
tertentu.
<<extend>>
Ekstensi/extend
Hubungan antara use case dengan use case
tambahan dimana use case tambahan dapat berdiri
sendiri tanpa adanya use case utama
Generalisasi/generalization
Hubungan generalisasi dan spesialisasi antara dua
buah use case.
<<include>>
Include
Hubungan antara use case dengan use case
tambahan dimana use case tambahan tidak dapat
berdiri sendiri tanpa adanya use case utama.
b. Activity Diagram
Activity diagram menggambarkan aliran kontrol dan aliran data antara berbagai
langkah atau tindakan yang diperlukan untuk melakukan suatu kegiatan. Activity
diagram dapat penentuan perilaku yang ditentukan pengguna dalam bentuk
aktivitas, dimana aktivitas tersebut mendeskripsikan implementasi dari setiap use
case. Pada tingkat yang sangat terperinci, ia juga dapat menentukan perilaku operasi
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
dalam bentuk instruksi individu, atau pada tingkat yang kurang rinci, memodelkan
fungsi-fungsi proses bisnis. Proses bisnis menentukan bagaimana mitra bisnis harus
berinteraksi satu sama lain untuk mencapai tujuan mereka. Itu juga dapat
menggambarkan proses internal dalam suatu perusahaan. Perilaku dengan demikian
dapat didefinisikan pada berbagai tingkat granularitas. Suatu kegiatan dapat
ditugaskan untuk operasi kelas tetapi juga bisa mandiri.n (Seidl, et al., 2015)
Tabel 3. Simbol-simbol dalam Activity Diagram (S. & Shalahuddin, 2018)
Simbol Keterangan
Status awal
Status awal aktivitas pada sistem.
Aktivitas
Aktivitas yang dilakukan sistem, umumnya diawali
dengan kata kerja.
Decision
Asosiasi percabangan jika ada pilihan aktivitas
lebih dari satu
Join
Asosiasi penggabungan dimana lebih dari satu
aktivitas digabungkan menjadi satu.
Status akhir
Status akhir yang dilakukan oleh sistem.
Swimlane
Memisahkan organisasi bisnis yang bertanggung
jawab terhadap aktivitas yang terjadi
c. Sequence Diagram
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Sequence diagram menggambarkan sebuah event atau kejadian melakukan
perubahan dari satu objek ke objek lainnya (Pressman, 2015). Sequence diagram
seringkali digunakan untuk memodelkan interaksi antara aktor dan objek di sistem,
serta interaksi antar objek di sistem. Selain itu, sequence diagram juga
menunjukkan urutan dari setiap interaksi dan menggambarkan use case tertentu
(Sommerville, 2016). Oleh karena itu, jumlah dari sequence diagram akan sama
banyak dengan jumlah use case di use case diagram. Berikut adalah notasi dari
sequence diagram:
Tabel 4. Simbol-simbol dalam Sequence Diagram (S. & Shalahuddin, 2018)
Simbol Keterangan
Aktor
Orang, proses, atau sistem lain yang berinteraksi
dengan sistem yang dikembangkan.
Lifeline
Menyatakan kehidupan suatu objek.
Objek Menyatakan objek yang berinteraksi pada sistem.
Waktu aktif
Menyatakan periode aktif suatu objek.
Call message
Menyatakan suatu objek memanggil
operasi/metode yang ada pada suatu objek atau
dirinya sendiri.
Return message
Menyatakan bahwa suatu objek telah menjalankan
suatu operasi yang menghasilkan pesan kembalian
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
d. Class Diagram
Class diagram merepresentasikan kelas, komponen-komponen kelas dan relasi
pada masing-masing class. Diagram ini menunjukkan properti dan operasi sebuah
kelas serta Batasan-batasan yang terdapat dalam hubungan suatu objek (Mulyani,
2017). Class diagram juga memberikan gambaran sistem secara statis dan relasi
diantara mereka. Selain itu, class diagram menggambarkan struktur class dan
package.
Tabel 5. Simbol-simbol dalam Class Diagram (S. & Shalahuddin, 2018)
No. Simbol Deskripsi
1.
Nama_kelas
+ atribut
+ metode ()
Class: Kelas pada struktur sistem
2. Interface: Sama dengan konsep
interface dalam pemograman
berorientasi objek
3. Association: Relasi antar kelas dengan
makna umum, asosiasi biasanya juga
disertai dengan multiplicity
4. Directed Association: Relasi antar
kelas dengan makna kelas yang satu
digunakan oleh kelas yang lain, asosiasi
biasanya disertai dengan multiplicity.
5. Generalization: Relasi antar kelas
dengan makna generalisasi-spesialisasi
(umum-khusus)
6. Depedency: Relasi antar kelas dengan
makna ketergantungan kelas
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
7. Aggregation: Relasi antar kelas dengan
makna semua-bagian(whole-part)
2.16 Pengujian
2.16.1 Alpha Testing
Alpha testing pada dasarnya merupakan pendekatan untuk meningkatkan kualitas
suatu produk sebelum beta testing. Tujuan dari uji alpha adalah untuk menentukan
penerimaan dan kelayakan aplikasi yang dibuat dengan mengidentifikasi masalah
teknis (bug) sebelum uji coba beta testing (Ahonen, et al., 2017).
Proses pengujian alpha dilakukan untuk menjamin fitur-fitur yang terdapat pada
sistem dapat bekerja dengan baik. Dalam pengujian alpha sebenarnya belum dapat
menggambarkan volume data yang sebenarnya yang akan diproses oleh sistem. Hal
ini karena pada pengujian ini biasanya menggunakan data contoh bukan data real
(Muslihudin dan Oktafianto, 2016).
2.16.2 Black-Box Testing
Metode pengujian Black-Box yang dilakukan dengan menggunakan program
aplikasi dengan memasukkan data ke dalam form yang telah disediakan. Pengujian
ini memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi
input yang sepenuhnya semua persyaratan fungsional untuk suatu program.
Pengujian berfokus pada persyaratan fungsional perangkat lunak (Wahyudi et al.,
2016). Pengujian Black-Box adalah pengujian yang berfokus pada spesifikasi
fungsional dari perangkat lunak, penguji dapat mendefinisikan kumpulan kondisi
input dan melakukan pengetesan pada spesifikasi fungsional program (Hidayat &
Muttaqin, 2018).
21
BAB III
PERENCANAAN DAN REALISASI
ATAU RANCANG BANGUN
3.1 Perancangan Program Aplikasi
Bagian ini menguraikan deskripsi, cara kerja, serta rancangan aplikasi yang dibuat.
Proses perancangan serta realiasi aplikasi FoodX untuk donatur dibangun berbasis
Android, serta aplikasi untuk admin dibangun berbasis Web. Pengembangan kedua
aplikasi tersebut menggunakan metode Prototyping. Metode Prototyping
merupakan metode terstruktur yang membangun, menguji, dan kemudian
mengerjakan ulang sebuah prototipe hingga mencapai hasil yang diinginkan.
3.1.1 Deskripsi Program Aplikasi
Aplikasi penyaluran makanan layak konsumsi yang dibuat berbasis Android ini
bernama FoodX, aplikasi yang dibuat menjadi platform untuk donatur makanan. Di
aplikasi tersebut, pengguna dapat memilih komunitas yang akan menjadi penyalur
makanan yang ingin didonasikan. Penyaluran makanan dari donatur ke penerima
makanan akan dilakukan oleh relawan dari komunitas terkait. Aplikasi ini
terintegrasi dengan aplikasi untuk komunitas yang menjadi penyalur makanan yang
didonasikan. Serta akan menggunakan Algoritma Haversine untuk mencari
penerima donasi terdekat apabila tidak ada relawan yang dapat menjemput makanan
donasi. Selain aplikasi berbasis Android, sistem ini juga akan dibuat dalam bentuk
web yang akan digunakan untuk monitoring dan mengelola data oleh admin FoodX.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3.1.2 Cara Kerja Program Aplikasi
Gambar 3.1 Flowchart Aplikasi FoodX Secara Keseluruhan
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.1 merupakan gambaran alur keseluruhan aplikasi FoodX yang dimulai
dari donatur memilih komunitas yang diinginkan sebagai penyalur makanannya.
Kemudian donatur membuat permintaan donasi dengan mengisi form. Jika
makanan layak, maka komunitas akan memproses penjemputan makanannya.
Namun, jika makanan tidak layak, proses donasi selesai (cancel). Jika komunitas
tersebut memiliki relawan, proses selanjutnya adalah mencari relawan terdekat dari
titik lokasi penjemputan makanan menggunakan Algoritma Haversine.
Setelah mendapatkan relawan terdekat, relawan akan mendapatkan permintaan
penjemputan makanan. Jika relawan bersedia menjemput makanan donasi tersebut,
maka relawan akan menyalurkan makanan tersebut ke penerima donasi dan
kemudian mengupdate laporan/report donasi. Jika relawan tidak bersedia
menyalurkan makanan, komunitas akan mencari relawan terdekat yang lainnya.
Jika komunitas tersebut tidak memiliki relawan, maka komunitas tersebut akan
mencari kurir untuk menjemput makanan dari donatur serta mengantarkan makanan
tersebut ke penerima donasi yang telah dipilih oleh komunitas. Dan komunitas yang
akan mengupdate report penerimaan donasi.
Gambar 3.2 Flowchart Alur Permohonan Donasi Makanan di Aplikasi untuk Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.2 menggambarkan alur permohonan donasi dari donatur yang telah
memiliki akun FoodX. Donatur harus log in ke dalam sistem, jika belum memiliki
akun maka harus registrasi terlebih dahulu. Sebelum mendonasikan makanan, user
dapat melihat daftar komunitas yang terdaftar sebagai mitra FoodX yang dapat
dipilih sebagai penyalur makanan donasi. Setelah memilih satu komunitas sebagai
penyalur makanan, donatur harus memasukan data makanan yang ingin
didonasikan. Setelah selesai mengisi data makanan, user menekan tombol submit
sehingga data akan dilempar ke komunitas yang dipilih. Donatur dapat memantau
bahwa makanan yang mereka berikan sampai ke masyarakat yang membutuhkan
melalui laporan yang diberikan oleh komunitas.
Gambar 3.3 menjelaskan alur aplikasi Web untuk admin FoodX yang digunakan
untuk memantau atau mengelola seluruh data yang ada di dalam sistem FoodX.
Setelah login ke sistem, sistem akan menampilkan dashboard admin. Admin dapat
melihat seluruh data transasksi. Admin juga mengelola akun donatur maupun
komunitas, seperti menonaktifkan akun dontaur atau komunitas yang terbukti
melanggar peraturan. Admin juga dapat melakukan validasi terhadap komunitas
yang ingin mendaftar di FoodX dengan mengecek legalitas badan hokum
komunitas tersebut melalui AHU Online. Data yayasan yang dapat diakses melalui
AHU Online adalah data - data yayasan yang mengacu pada Undang - Undang
Nomor 16 tahun 2001 tentang Yayasan.
Gambar 3.3 Flowchart Alur Aplikasi Web untuk Admin
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3.1.3 Rancangan Program Aplikasi
A. Use Case Diagram
Gambar 3.4 merupakan Diagram use case untuk sistem FoodX, dimana sistem ini
melibatkan 4 aktor, antara lain: admin, komunitas, relawan, serta donatur makanan.
Pre-process di dalam diagram use case ini adalah semua user telah login ke dalam
sistem. Berikut adalah penjelasan terperinci dari diagram use case di atas:
a. Admin adalah aktor yang dapat melakukan validasi terhadap komunitas yang
mendaftarkan diri. Sebuah komunitas umumnya berdiri di dalam sebuah badan
Gambar 3.4 Diagram Use Case dalam Sistem FoodX
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
hukum, seperti yayasan. Validasi Yayasan dapat dilakukan melalui pengecekan
AHU Online.
b. Admin hanya dapat melihat seluruh data transaksi.
c. Admin dapat mengelola akun donatur dan komunitas yang terdaftar di FoodX.
Akun donatur dan/atau komunitas dapat dinonaktifkan oleh admin jika terbukti
melakukan hal yang melanggar peraturan.
d. Komunitas memvalidasi serta mengelola data relawan
e. Komunitas dapat menerima atau menolak donasi makanan yang ingin di
donasikan melalui form yang sudah diisi oleh donatur.
f. Komunitas akan mengurutkan serta memilih relawan terdekat dari titik
penjemputan makanan donasi dari donatur.
g. Komunitas yang tidak memiliki relawan mengupdate report terkait makanan
yang sudah disalurkan.
h. Relawan yang menjemput serta mengantarkan donasi makanan dari donatur
makanan ke penerima donasi makanan terlibat dalam pembuatan report.
i. Donatur terlibat dalam proses donasi makanan dimana harus membuat
permohonan donasi terlebih dahulu dengan mengisi form makanan yang ingin
didonasikan
j. Donatur mendapatkan laporan (report) dari relawan dan/atau komunitas perihal
makanan yang didonasikan.
k. Jika tidak terdapat komunitas yang bersedia menyalurkan makanan atau tidak
terdapat relawan yang dapat mejemput dan mengantarkan makanan, maka
donatur dapat melihat rekomendasi penerima makanan donasi terdekat.
27
B. Activity Diagram
a) Membuat Permohonan Donasi dari Donatur
Gambar 3.5 merupakan activity diagram dari donasi yang dibuat oleh donatur yang
dimulai dari donatur memilih komunitas yang akan menjadi penyalur makanannya.
Kemudian sistem akan menampilkan halaman detail dari komunitas yang dipilih,
lalu donatur dapat menekan button “Donasi” kemudian sistem akan menampilkan
form donasi yang harus diisi oleh donatur perihal data-data penting mengenai
makanan yang akan didonasikan. Setelah itu, donatur menekan button “Submit”
kemudian sistem akan mengirimkan permohonan donasi ke aplikasi yang dimiliki
komunitas.
b) Melihat Penerima Donasi Terdekat dari Donatur
Gambar 3.5 Activity Diagram Permohonan Donasi dari Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.6 merupakan activity diagram melihat penerima donasi terdekat dari
lokasi donatur saat ini. Dimulai dari donatur yang membuka halaman penerima
donasi, kemudian sistem akan menampilkan halaman tersebut. Lalu, donatur
membuka halaman penerima donasi terdekat sehingga kemudian sistem
menampilkan titik lokasi penerima donasi terdekat dari lokasi donatur saat ini.
Gambar 3.6 Activity Diagram Melihat Penerima Donasi Terdekat
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
c) Melihat Report untuk Donatur
Gambar 3.7 menampilkan activity diagram saat donatur melihat laporan/report dari
donasi yang telah mereka submit. Aktivitas dimulai dari donatur membuka halaman
riwayat donasi, kemudian sistem akan menampilkan halaman riwayat donasi. Lalu
Donatur dapat memilih donasi mana yang ingin dilihat lebih rinci. Kemudian sistem
akan menampilkan halaman detail dari donasi tersebut dimana terdapat seluruh data
Gambar 3.7 Activity Diagram Melihat Report untuk Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
mengenai donasi tersebut, seperti status donasi, nama komunitas yang dipilih, nama
relawan yang menjemput makanan, serta nama penerima donasi.
d) Melihat Akun Donatur untuk Admin
Gambar 3.8 merupakan activity diagram yang menggambarkan alur aktivitas saat
admin mengelola akun donatur. Aktivitas dimulai dari admin membuka halaman
donatur dimana kemudian sistem akan menampilkan halaman donatur yang berisi
seluruh data donatur yang terdaftar di sistem FoodX.
Gambar 3.8 Activity Diagram Mengelola Akun Donatur untuk Admin
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
e) Validasi Akun Komunitas oleh Admin
Gambar 3.9 merupakan activity diagram ketika admin memvalidasi akun
komunitas yang mendaftar di sistem FoodX. Dimulai dari admin membuka halaman
pendaftaran, kemudian sistem akan menampilkan halaman pendaftaran yang berisi
komunitas yang telah registrasi di sistem FoodX, Lalu admin akan melihat nomor
AHU yang dimiliki komunitas, kemudian nomor AHU tersebut akan dicek secara
manual di website AHU Online. Jika nomor AHU valid maka admin akan menekan
button “Accept” lalu sistem akan mengirim email ke komunitas jika telah
terkonfirmasi dan baru kemudian dapat login ke sistem FoodX.
Gambar 3.9 Activity Diagram Validasi Akun Komunitas oleh Admin
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
f) Mengelola Akun Komunitas untuk Admin
Gambar 3.10 merupakan activity diagram dari mengelola akun komunitas di modul
admin. Dimulai dari admin membuka halaman komunitas, kemudian sistem akan
menampilkan halaman yang berisi komunitas yang telah terdaftar di sistem FoodX.
Lalu, admin memilih salah satu komunitas sehingga sistem akan menampilkan
Gambar 3.10 Activity Diagram Mengelola Akun Komunitas untuk Admin
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
halaman detail dari komunitas yang telah dipilih tersebut. Kemudian admin
menekan button “non-aktifkan” yang terdapat di halaman detail komunitas tersebut.
g) Melihat Seluruh Transaksi untuk Admin
Gambar 3.11 menampilkan activity diagram dari melihat seluruh transaksi donasi
oleh admin. Alur dimulai dari admin yang membuka halaman donasi, kemudian
sistem akan menampilkan halaman donasi dimana terdapat seluruh data transaksi
donasi yang tercatat di sistem FoodX.
Gambar 3.11 Activity Diagram Melihat seluruh transaksi
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
C. Sequence Diagram
a) Membuat Permohonan Donasi dari Donatur
Gambar 3.12 Sequence Diagram Membuat Permohonan Donasi untuk Donatur
Gambar 3.12 menampilkan sequence diagram dari pembuatan permohonan donasi
oleh donatur. Proses ini melibatkan dua actor, yakni donatur dan komunitas.
Donatur membuat permohonan donasi di halaman form donasi dengan mengisi
seluruh field dalam form tersebut. Setelah mengirimkan form tersebut, sistem akan
menjalankan fungsi createDonasi() di DonasiController. Kemudian sistem akan
mencatat serta menyimpan data-data dari form donasi tersebut di tabel bernama
Donasi melalui fungsi postDataDonasi(). Kemudian, data permohonan donasi
tersebut akan ditampilkan di halaman Donasi yang ada di modul komunitas dengan
memanggil fungsi getDataDonasi().
b) Melihat Laporan Donasi untuk Donatur
Gambar 3.13 Sequence Diagram Melihat Laporan Donasi untuk Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.13 adalah sequence diagam dari melihat laporan donasi di modul
donatur. Donatur memilih donasi di halaman Laporan Donasi. Kemudian fungsi
sendResponse() berjalan. Lalu DonaturController menjalankan fungsi
getLaporanDonasi() untuk mendapatkan data donasi dari tabel Donasi. Kemudian
fungsi sendData() berjalan untuk mengirimkan data dari tabel Donasi ke
DonaturController. Lalu DonaturController menjalankan fungsi getData() untuk
bisa menampilkan data donasi ke halaman Laporan Donasi
c) Melihat Penerima Donasi Terdekat untuk Donatur
Gambar 3.13 merupakan sequence diagram ketika donatur melihat penerima donasi
terdekat dari lokasinya. Donatur membuka halaman Penerima Donasi, kemudian
fungsi sendResponse() berjalan untuk meminta data dari DonaturController.
DonaturController kemudian menjalankan fungsi getPenerimaDonasi() untuk
mengambil data penerima donasi dari tabel PenerimaDonasi. Setelah mendapatkan
data dari tabel PenerimaDonasi, DonaturController akan menampilkan data tersebut
ke halaman PenerimaDonasi.
Gambar 3.14 Sequence Diagram Melihat Penerima Donasi Terdekat untuk Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
d) Melihat Seluruh Transaksi untuk Admin
Gambar 3.15 merupakan sequence diagram ketika admin melihat seluruh transaksi
donasi yang tercatat di sistem FoodX. Admin membuka halaman Donasi, kemudian
halaman Donasi menjalankan fungsi sendResponse() ke DonasiController untuk
meminta data donasi. Lalu DonaturController akan menjalankan fungsi getDonasi()
untuk mengambil data dari tabel Donasi. Lalu data tersebut akan dikirim dengan
fungsi sendData(). Kemudian DonturController akan mengirimkan data ke
Halaman Donasi sehingga admin dapat melihat seluruh data donasi tersebut.
e) Memvalidasi Akun Komunitas oleh Admin
Gambar 3.16 Sequence Diagram Validasi Akun Komunitas oleh Admin
Gambar 3.16 adalah Sequence Diagram ketika admin memvalidasi akun komunitas
Gambar 3.15 Sequence Diagram Melihat Seluruh Transaksi untuk Admin
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
f) Melihat Akun Donatur oleh Admin
Gambar 3.17 adalah sequence diagram ketika admin melihat donatur yang terdaftar
di sistem FoodX. Dimulai dari admin yang memilih halaman Donatur. Kemudian
fungsi sendResponse() berjalan untuk meminta data donatur ke DonaturController.
Lalu DonaturController akan menjalankan fungsi getDonatur() untuk mengambil
data donatur dari tabel Donatur. Setelah mendapatkan data tersebut dari tabel
Donatur, DonaturController akan menampilkan data tersebut di halaman Donatur.
g) Mengelola Akun Komunitas untuk Admin
Gambar 3.18 Sequence Diagram Mengelola Akun Komunitas untuk Admin
Gambar 3.17 Sequence Diagram Melihat Akun Donatur untuk Admin
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.18 merupakan sequence diagram Ketika admin mengelola akun
komunitas yang terdaftar di sistem FoodX dimana admin menampilk
D. Class Diagram
Gambar 3.17 Merupakan class diagram dari aplikasi FoodX secara keseluruhan.
Dimana dimana terdapat sebelas kelas yang memiliki relasi dengan satu sama
lainnya. Kelas user merupakan tabel untuk keseluruhan user yang terdaftar dalam
sistem FoodX. Jenis-jenis user tersebut berada di dalam kelas role. Setiap user
memiliki role yang menentukan user tersebut merupakan seorang admin, donatur,
komunitas, atau relawan dimana penentuan role tersebut dihubungkan dengan
sebuah kelas yang bernama role_user.
3.2 Realisasi Program Aplikasi
Dalam merealisasikan program aplikasi di penelitian ini, digunakan Metode
Prototyping. Dimana pembuatannya dimulai dari menganalisis kebtuhan user,
membuat prototype atau mockup, baru kemudian diimplementasikan di Android
Gambar 3.19 Class Diagram Aplikasi FoodX
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Studio untuk aplikasi FoodX untuk Donatur, serta menggunakan Visual Studio
Code untuk membuat aplikasi Web untuk Admin.
3.2.1 Aplikasi untuk Donatur
A. Analisis Kebutuhan User
Kebutuhan user yang diperlukan dalam pembuatan aplikasi FoodX untuk Donatur
adalah sebagai berikut:
- Donatur dapat melihat seluruh komunitas yang terdaftar di FoodX
- Donatur dapat membuat permohonan donasi
- Donatur dapat melihat laporan status donasi, relawan yang mengantarkan
makanan, serta penerima donasi
- Donatur dapat melihat penerima donasi terdekat dari lokasi donatur
B. Prototype
- Halaman Register
Gambar 3.20 Prototype Halaman Register Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.20 merupakan prototype dari halaman registrasi akun agar donatur dapat
menggunakan aplikasi FoodX. User diminta untuk melengkapi beberapa data diri
untuk mendukung registrasi akun.
- Halaman Login
Gambar 3.20 Merupakan prototype dari halaman Login untuk donatur dimana
donatur diminta untuk memasukan email serta password yang telah terdaftar di
aplikasi FoodX
Gambar 3.21 Prototype Halaman Login Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Komunitas
Gambar 3.22 merupakan prototype untuk halaman yang berisi komunitas-
komunitas yang terdaftar di aplikasi FoodX
Gambar 3.22 Prototype Halaman Komunitas di Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Detail Komunitas
Gambar 3.23 merupakan prototype dari halaman yang menunjukan info lebih lanjut
perihal komunitas yang dipilih dari halaman list komunitas. Terdapat button
“donasi” untuk membuat permohonan donasi kepada komunitas tersebut.
Gambar 3.23 Prototype Halaman Detail
Komunitas di Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Form Donasi
Gambar 3.24 merupakan prototype dari halaman form donasi dimana user harus
mengisi beberapa data penting perihal makanan yang ingin didonasikan.
Gambar 3.24 Prototype Halaman Form Donasi
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.25 merupakan prototype untuk halaman memilih lokasi penjemputan
makanan ketika donatur mengisi form donasi. Donatur dapat memilih lokasi dengan
menitiki lokasi atau mengisi alamat di field Search.
Gambar 3.25 Prototype Halaman Pilih Lokasi
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Riwayat Donasi
Gambar 3.26 merupakan prototype dari halaman Riwayat Donasi yang berisi
seluruh doansi yang telah dilakukan donatur. Baik yang sudah tersalurkan mau pun
yang masih dalam proses penyaluran.
Gambar 3.26 Prototype Halaman Riwayat Donasi
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Detail Riwayat Donasi (Laporan)
Gambar 3.27 merupakan prototype halaman Detail Riwayat Donasi dimana donatur
dapat melihat status donasi, relawan yang mengantarkan makanan, serta nama dan
foto penerima donasi.
Gambar 3.27 Prototype Halaman Detail Riwayat Donasi
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Penerima Donasi
Gambar 3.28 adalah prototype untuk halaman Penerima Donasi.
Gambar 3.28 Prototype Halaman Penerima Donasi
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Penerima Donasi Terdekat
Gambar 3.29 merupakan halaman penerima donasi terdekat dari lokasi donatur saat
ini.
Gambar 3.29 Protoype Halaman Penerima Donasi
Terdekat
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
C. Implementasi
- Halaman Registrasi Donatur
Gambar 3.30 merupakan hasil implementasi dari pembuatan halaman registrasi
untuk donatur. Donatur harus mengisi seluruh field. Jika tidak diisi maka tidak akan
terregistrasi.
Gambar 3.30 Hasil Implementasi Halaman
Registrasi Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Login Donatur
Gambar 3.31 merupakan hasil implementasi halaman login donatur dimana donatur
harus mengisi field email serta password. Jika salah satunya tidak diisi maka akan
muncul alert.
Gambar 3.31 Hasil Implementasi Login Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Komunitas
Gambar 3.32 merupakan hasil implementasi halaman Komunitas di aplikasi
donatur. Donatur dapat melihat seluruh komunitas yang telah teregistrasi dan
tervalidasi oleh FoodX di halaman ini.
Gambar 3.32 Hasil Implementasi Halaman
Komunitas di Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Detail Komunitas
Gambar 3.33 merupakan hasil implementasi halaman detail komunitas yang dipilih
dari halaman komunitas. Di halaman detail komunitas ini terdapat data seperti
alamat, email, dan nomor telepon komunitas.
Gambar 3.33 Hasil Implementasi Halaman
Detail Komunitas
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Form Donasi
Merupakan hasil implementasi form donasi yang menyediakan beberapa field untuk
diisi oleh donatur mengenai makanan yang akan didonasikan. Seluruh field harus
diisi dengan benar. Form dilengkapi dengan pernyataan dari donatur bahwa data
yang diisi adalah benar atau valid, dimana pernyataan tersebut akan menjadi bukti
acuan bahwa makanan yang didonasikan betul masih layak konsumsi.
Gambar 3.34 Hasil Implementasi Form Donasi
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.35 Implementasi Kode Permohonan Donasi di Android
Gambar 3.35 merupakan implementasi kode di form donasi dalam aplikasi donatur
makanan yang menangani seluruh field yang harus diisi oleh donatur untuk
membuat permohonan donasi.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.36 Implementasi Kode Permohonan Donasi di Laravel
Gambar 3.36 merupakan implementasi kode membuat donasi di backend yang
menggunakan framework Laravel. Terdapat fungsi yang menyimpan seluruh data
yang dimasukkan oleh donatur dari Android ke dalam database.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.37 merupakan hasil implementasi dari pemilihan lokasi penjemputan
makanan yang terdapat di form donasi. Donatur dapat mengetik alamat secara
manual di field Search atau pun menitiki lokasi di peta.
Gambar 3.37 Hasil Implementasi Pemilihan Lokasi
Penjemputan Makanan
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.38 merupakan implementasi kode pengambilan lokasi penjemputan
makanan di Android dimana aplikasi akan menampilkan MapView dari GooleMap
dan terdapat dua button. Yakni button my_location serta button choose_location.
Ketiak button my_location ditekan maka akan menjalankan fungsi
navigatemylocation() yang berfungsi untuk menavigasi marker ke lokasi donatur
saat ini. Dan ketika button choose_location ditekan, maka akan menjalankan fungsi
sendBackLocation() yang berguna untuk mengirim lokasi yang telah dipilih user
untuk dijadikan lokasi penjemputan makanan donasi.
Gambar 3.38 Implementasi Kode Pemilihan Lokasi
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Riwayat Donasi
Gambar 3.39 merupakan hasil impelmentasi halaman riwayat donasi yang
menampilkan seluruh donasi yagn telah dilakukan oleh donasi. Baik yang sudah
tersalurkan maupun yang masih dalam proses.
Gambar 3.39 Hasil Implementasi Riwayat Donasi
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Detail Riwayat Donasi
Gambar 3.40 merupakan hasil implementasi halaman detail donasi dimana terdapat
laporan status, relawan, serta penerima donasi (jika donasi telah tersalurkan).
Gambar 3.40 Hasil Implementasi Halaman Detail Donasi
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Penerima Donasi Terdekat
Gambar 3.41 merupakan hasil implementasi halaman penerima donasi terdekat dari
lokasi donatur. Di halaman ini donatur dapat melihat beberapa penerima donasi
yang pernah mendapatkan donasi makanan yang disalurkan melalui FoodX yang
diurutkan berdasarkan jarak terdekat yang berada dalam radius 15 km.
Gambar 3.41 Hasil Implementasi Penerima Donasi Terdekat
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.42 merupakan implementasi kode penerima donasi terdekat yang
menampilkan marker di MapView dimana setiap marker tersebut
mengidentifikasikan setiap penerima donasi terdekat dari lokasi donatur saat ini.
Gambar 3.42 Implementasi Kode Penerima Donasi Terdekat di Android
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.43 merupakan implementasi kode penerima donasi terdekat di bagian
backend dengan menggunakan algoritma Haversine.
3.2.2 Aplikasi untuk Admin
A. Analisis Kebutuhan User
- Admin dapat melihat seluruh transaksi donasi yang tercatat di sistem FoodX
- Admin dapat menerima komunitas yang mendaftar
- Admin dapat melihat seluruh komunitas yang terdaftar di sistem FoodX
- Admin dapat melihat seluruh donatur yang terdaftar di sistem FoodX
B. Prototype
- Halaman Komunitas
Gambar 3.43 Implementasi Kode Penerima Donasi Terdekat di Laravel
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.44 Prototype Halaman Komunitas untuk Admin
Gambar 3.44 merupakan prototype dari Halaman Komunitas untuk Admin dimana
admin dapat melihat seluruh komunitas yang telah terdaftar di sistem FoodX. Di
halaman ini juga terdapat seluruh jumlah donasi yang tersalurkan, donatur yang
terdaftar, komunitas yang terdaftar, serta relawan yang terdaftar di tiap komunitas.
- Halaman Menerima Komunitas
Gambar 3.45 Prototype Halaman Menerima Komunitas untuk Admin
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.45 merupakan protoype halaman ketika admin melihat komunitas yang
registrasi di sistem kemudian admin mengecek AHU tersebut valid atau tidak. Baru
kemudian menekan button Terima. Setelah menekan button Terima, komunitas
tersebut akan masuk ke halaman Komunitas dan komunitas tersebut bisa login ke
website FoodX untuk komunitas
- Halaman Donasi
Gambar 3.46 Prototype Halaman Donasi untuk Admin
Gambar 3.46 adalah prototype dari halaman yang menampilkan seluruh transaksi
donasi yang tercatat di sistem FoodX, baik yang belum maupun sudah tersalurkan
ke penerima donasi.
- Halaman Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.47 Prototype Halaman Donatur untuk Admin
Gambar 3.47 merupakan prototype dari halaman donatur untuk admin yang
menampilkan seluruh data donatur yang terdaftar di sistem FoodX.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
C. Implementasi
- Halaman Komunitas
Gambar 3.48 merupakan hasil implementasi halaman komunitas untuk admin
dimana admin dapat melihat seluruh komunitas yang telah terdaftar di sistem
FoodX. Di halaman ini juga terdapat seluruh jumlah donasi yang tersalurkan,
donatur yang terdaftar, komunitas yang terdaftar, serta relawan yang terdaftar di
tiap komunitas.
- Halaman Menerima Komunitas
Gambar 3.49 merupakan hasil implementasi halaman menerima komunitas yang
registrasi di sistem kemudian admin mengecek AHU tersebut valid atau tidak. Baru
Gambar 3.48 Hasil Implementasi Halaman Komunitas untuk Admin
Gambar 3.49 Hasil Implementasi Halaman Menerima Komunitas
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
kemudian menekan button Terima. Setelah menekan button Terima, komunitas
tersebut akan masuk ke halaman Komunitas dan komunitas tersebut bisa login ke
website FoodX untuk komunitas
Gambar 3.49 merupakan implementasi kode untuk halaman menerima komunitas
di bagian frontend yang menggunakan framework Nuxt.JS.
Gambar 3.49 Implementasi Kode Halaman Menerima Komunitas di Nuxt.JS
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.50 Implementasi Kode Komunitas Yang Telah Registrasi
Gambar 3.50 merupakan implementasi kode komunitas yang telah registrasi di Web
FoodX untuk komunitas. Data komunitas tersebut akan dicatat di database namun
masih berstatus false karena belum diterima oleh admin. Akan muncul di halaman
pendaftaran.
Gambar 3.51 merupakan implementasi kode ketika komunitas telah diterima oleh
admin. Hanya komunitas yang berstatus true yang akan ditampilkan di halaman
Komunitas.
Gambar 3.51 Implementasi Kode Komunitas Yang Telah Diterima oleh Admin
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
- Halaman Donatur
Gambar 3.52 merupakan hasil implementasi halaman donatur untuk admin.
Halaman ini menampilkan seluruh data donatur yang terdaftar di sistem FoodX
dalam bentuk tabel.
- Halaman Donasi
Gambar 3.53 merupakan hasil implementasi halaman donasi untuk admin yang
menampilkan seluruh data donasi yang tercatat di sistem FoodX. Terdapat nama
Gambar 3.52 Hasil Implementasi Halaman Donatur untuk Admin
Gambar 3.53 Hasil Implementasi Halaman Donasi untuk Admin
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
donatur, alamat penjemputan, tanggal penjemputan, status donasi, nama komunitas,
serta nama penerima donasi
71
BAB IV
PEMBAHASAN
4.1 Pengujian
Bagian ini menjelaskan pengujian dari sistem yang telah dibuat, mulai dari deskripsi
pengujian, prosedur pengujian, data hasil pengujian. Setelah itu hasil dari pengujian
tersebut di analisis dan/atau dievaluasi.
4.2 Deskripsi Pengujian
Setelah selesai membangun suatu sistem langkah berikutnya yang dilakukan yaitu
pengujian sistem tersebut. Tujuan dari pengujian adalah untuk memastikan bahwa
sistem yang dibangun telah sesuai dengan kebutuhan yang sebelumnya telah
ditentukan. Selain itu, pengujian juga dilakukan untuk menjamin kualitas dari
sistem serta mencari apabila terdapat bug atau kesalahan yang terdapat di aplikasi
yang dirancang. Diharapkan setelah melalui pengujian, aplikasi dapat berjalan
sesuai dengan rancangan awal dan memenuhi kebutuhan. Jika ditemukan bug atau
kesalahan di sistem maka dapat dilakukan perbaikan.
4.3 Prosedur Pengujian
Pengujian sistem yang dilakukan memiliki dua prosedur pengujian, antara lain
pengujian alpha dan pengujian beta. Pengujian sistem dilakukan dengan metode
Black-box Testing dengan target fungsionalitas modul donatur serta modul admin
di sistem FoodX.
Tabel 6. Tabel Modul-modul Yang Diuji
Item Uji Detail Pengujian Jenis
Pengujian
Menu Autentikasi di
Aplikasi Donatur
Melakukan login Black-Box
Melakukan logout Black-Box
Melihat data satu komunitas Black-Box
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Item Uji Detail Pengujian Jenis
Pengujian
Halaman Komunitas di
Aplikasi Donatur
Melakukan donasi di komunitas
yang dipilih Black-Box
Halaman Form Donasi
di Aplikasi Donatur
Mengisi semua field dalam form
donasi Black-Box
Membuat nama makanan Black-Box
Membuat tanggal produksi Black-Box
Membuat tanggal kadaluwarsa Black-Box
Membuat waktu penjemputan
makanan Black-Box
Memilih atau mengambil foto
untuk foto makanan Black-Box
Memilih lokasi penjemputan
makanan Black-Box
Men-check kondisi makanan Black-Box
Men-check pernyataan data
makanan yang diisi adalah benar Black-Box
Halaman Riwayat
Donasi di Aplikasi
Donatur
Melihat riwayat donasi Black-Box
Melihat laporan/report donasi di
halaman detail donasi Black-Box
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Item Uji Detail Pengujian Jenis
Pengujian
Halaman Penerima
Donasi di Aplikasi
Donatur
Melihat penerima donasi yang
pernah mendapatkan donasi
makanan melalui FoodX
Black-Box
Mendapatkan lokasi penerima
donasi terdekat di Google Maps Black-Box
Menu Autentikasi di
Aplikasi Admin
Melakukan login Black-Box
Melakukan logout Black-Box
Halaman Donasi di
Aplikasi Admin
Melihat seluruh donasi Black-Box
Halaman Komunitas di
Aplikasi Admin
Melihat seluruh komunitas yang
terdaftar Black-Box
Menerima akun komunitas yang
mendaftar Black-Box
Halaman Donatur di
Aplikasi Admin
Melihat seluruh donatur yang
terdaftar Black-Box
4.4 Data Hasil Pengujian
Pengujian yang dilakukan pada tahapan ini adalah pengujian alpha testing.
Pengujian ini dilakukan dengan harapan tidak ada kesalahan sistem atau
ditemukannya bug sebelum diserahkan kepada user. Teknik pengujian yang
digunakan adalah Black-Box Testing.
1) Menu Autentikasi di Aplikasi Donatur
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Tabel 7. Tabel Pengujian Login
Skenario Pengujian (Data Normal) Hasil
Pengujian No. Data Masukan Harapan Pengamatan
A.1 Memasukkan
email dan
password yang
telah terdaftar
Field yang
tersedia untuk
email dan
password dapat
diketik
Dapat di masukkan
email dan
password
[✓] Diterima
[ ] Ditolak
A.2 Menekan tombol
login setelah
memasukkan email
dan password yang
terdaftar
Saat menekan
tombol login
maka user dapat
masuk ke sistem
Dapat masuk ke
sistem setelah
menekan tombol
login, dimana user
sebelumnya telah
memasukan email
dan password yang
terdaftar
[✓] Diterima
[ ] Ditolak
Skenario Pengujian (Data Salah) Hasil
Pengujian No. Data Masukan Harapan Pengamatan
A.3 Email dan
password tidak
dimasukkan lalu
menekan tombol
login
Tidak dapat
mengakses ke
dalam sistem dan
sistem
menampilkan
pemberitahuan
gagal login
Terdapatnya
pemberitahuan di
bawah field email
dan password yang
menyatakan email
dan password tidak
boleh kosong.
[✓] Diterima
[ ] Ditolak
A.4 Field yang diisi
hanya email,
sementara
password
dikosongkan lalu
Tidak dapat
mengakses ke
dalam sistem dan
sistem
menampilkan
Terdapatnya
pemberitahuan
yang menyatakan
filed password
tidak boleh
kosong.
[✓] Diterima
[ ] Ditolak
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
menekan tombol
login
pemberitahuan
gagal login
A.5 Field yang diisi
hanya password
sementara field
email dikosongkan
lalu memilih
tombol login
Tidak dapat
mengakses ke
dalam sistem dan
sistem
menampilkan
pemberitahuan
gagal login
Terdapatnya
pemberitahuan
field email tidak
boleh kosong.
[✓] Diterima
[ ] Ditolak
Tabel 8. Tabel Pengujian Logout
Skenario Pengujian (Data Normal) Hasil
Pengujian No. Data Masukan Harapan Pengamatan
A.6 Memilih tombol
logout
Proses logout
berhasil
dilakukan, user
keluar dari sistem,
menampilkan
halaman login
User berhasil
keluar dari sistem
serta berhasil
menampilkan
halaman login
[✓] Diterima
[ ] Ditolak
2) Halaman Komunitas di Aplikasi Donatur
Tabel 9. Tabel Pengujian Memilih Komunitas
Skenario Pengujian (Data Normal) Hasil
Pengujian No. Data Masukan Harapan Pengamatan
B.1 Memilih salah satu
card komunitas di
halaman yang
menampilkan
daftar komunitas
Menampilkan
detail data
komunitas
Dapat menampilkan
detail data
komunitas
[✓] Diterima
[ ] Ditolak
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Tabel 10. Tabel Pengujian Donasi
Skenario Pengujian (Data Normal) Hasil
Pengujian No. Data Masukan Harapan Pengamatan
B.2 Menekan tombol
donasi
Menampilkan
form donasi
Dapat menampilkan
form donasi
[✓] Diterima
[ ] Ditolak
3) Halaman Form Donasi di Aplikasi Donatur
Tabel 11. Tabel Pengujian Pembuatan Permohonan Donasi
Skenario Pengujian (Data Normal) Hasil
Pengujian No. Data Masukan Harapan Pengamatan
C.1 Mengisi semua
field dalam form
donasi lalu memilih
tombol submit
Seluruh data
yang diisi masuk
ke database
Data yang telah
dimasukkan
tersimpan di
database dan setelah
itu dapat tampil di
aplikasi Web
komunitas
[✓] Diterima
[ ] Ditolak
C.2 Memilih field nama
makanan
Muncul seluruh
daftar nama
makanan dari
database dalam
bentuk dropdown
Berhasil
menampilkan
seluruh data
makanan yang ada
di database dalam
bentuk dropdown
[✓] Diterima
[ ] Ditolak
C.3 Memilih field
tanggal produksi
Muncul kalender,
dapat memilih
tanggal, tanggal
yang dipilih
muncul di field
tanggal produksi
Berhasil
menampilkan
kalender, memilih
tanggal, dan tanggal
yang dipilih muncul
di field tanggal
produksi
[✓] Diterima
[ ] Ditolak
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
C.4 Memilih field
tanggal
kadaluwarsa
Muncul kalender,
dapat memilih
tanggal, tanggal
yang dipilih
muncul di field
tanggal
kadaluwarsa
Berhasil
menampilkan
kalender, memilih
tanggal, dan tanggal
yang dipilih muncul
di field tanggal
kadaluwarsa
[✓] Diterima
[ ] Ditolak
C.5 Memilih field
tanggal
penjemputan
makanan
Muncul kalender,
dapat memilih
tanggal, tanggal
yang dipilih
muncul di field
tanggal
penjemputan
makanan
Berhasil
menampilkan
kalender, memilih
tanggal, dan tanggal
yang dipilih muncul
di field tanggal
penjemputan
makanan
[✓] Diterima
[ ] Ditolak
C.6 Memilih field
waktu penjemputan
makanan
Muncul jam,
dapat memilih
waktu, waktu
yang dipilih
muncul di field
waktu
penjemputan
makanan
Berhasil
menampilkan jam,
memilih waktu, dan
waktu yang dipilih
muncul di field
waktu penjemputan
makanan
[✓] Diterima
[ ] Ditolak
C.7 Menekan tombol
choose file untuk
mengupload foto
makanan donasi
Mengambil
gambar dari galeri
perangkat atau
mengambil dari
kamera dan
gambar muncul di
field foto
makanan
Berhasil mengambil
gambar dari galeri
serta mengambil
dari kamera dan
gambar muncul di
field foto makanan
[✓] Diterima
[ ] Ditolak
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
C.8 Memilih lokasi
penjemputan dari
map
Mengambil lokasi
penjemputan
berdasarkan titik
maupun mengetik
alamat dan alamat
muncul di field
alamat
penjemputan
Berhasil mengambil
lokasi penjemputan
berdasarkan titik
maupun mengetik
alamat dan alamat
muncul di field
alamat
penjemputan
[✓] Diterima
[ ] Ditolak
Skenario Pengujian (Data Salah) Hasil
Pengujian No. Data Masukan Harapan Pengamatan
C.9 Tidak mengisi
semua field di form
donasi dan
menekan tombol
submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
C.10 Hanya mengisi
field nama
makanan menekan
tombol submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
C.11 Hanya mengisi
field jumlah
makanan saja lalu
memilih tombol
submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan
dimasukkan data
[✓] Diterima
[ ] Ditolak
C.12 Hanya mengisi
field tanggal
produksi saja lalu
memilih tombol
submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
C.13 Hanya mengisi
field tanggal
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
kadaluwarsa saja
lalu memilih
tombol submit
C.14 Hanya mengisi
field foto makanan
saja lalu memilih
tombol submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
C.15 Hanya mengisi
field tanggal
penjemputan
makanan saja lalu
memilih tombol
submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
C.16 Hanya mengisi
field waktu
penjemputan
makanan saja lalu
memilih tombol
submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
C.17 Hanya mengisi
field lokasi
penjemputan
makanan saja lalu
memilih tombol
submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
C.18 Hanya men-check
pernyataan “Tidak
terjadi perubahan
rasa” di field
kondisi makanan
lalu memilih
tombol submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
C.19 Hanya men-check
pernyataan “Tidak
terjadi perubahan
warna” di field
kondisi makanan
lalu memilih
tombol submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
C.20 Hanya men-check
pernyataan “Tidak
terjadi perubahan
tekstur” di field
kondisi makanan
lalu memilih
tombol submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
C.21 Hanya men-check
pernyataan “Tidak
berbau” di field
kondisi makanan
lalu memilih
tombol submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
C.22 Hanya men-check
pernyataan “Tidak
berlendir” di field
kondisi makanan
lalu memilih
tombol submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
C.23 Hanya men-check
pernyataan “Tidak
berjamur” di field
kondisi makanan
lalu memilih
tombol submit
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
C.24 Tidak men-check
pernyataan
kebenaran data
yang diisi perihal
makanan yang akan
didonasikan
Tidak dapat
mengirimkan data
Data tidak dapat
ditambahkan [✓] Diterima
[ ] Ditolak
4) Halaman Riwayat Donasi di Aplikasi Donatur
Tabel 12. Tabel Pengujian Riwayat Donasi
Skenario Pengujian (Data Normal) Hasil
Pengujian
No. Data Masukan Harapan Pengamatan
D.1 Memilih halaman
riwayat donasi
Menampilkan
seluruh donasi
yang telah
dilakukan oleh
user
Seluruh donasi yang
dilakukan user
muncul
[✓] Diterima
[ ] Ditolak
D.2 Memilih salah
satu donasi di
halaman riwayat
donasi
Menampilkan
detail donasi yang
berisi
laporan/report
donasi dari
komunitas atau
relawan
Berhasil
menampilkan
seluruh data laporan
donasi secara rinci
[✓] Diterima
[ ] Ditolak
5) Halaman Penerima Donasi di Aplikasi Donatur
Tabel 13. Tabel Pengujian Penerima Donasi Terdekat
Skenario Pengujian (Data Normal) Hasil
Pengujian No. Data Masukan Harapan Pengamatan
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
E.1 Memilih halaman
penerima donasi
Sistem
menampilkan
fitur penerima
donasi terdekat
dari donatur
Dapat menampilkan
fitur penerima
donasi terdekat
dari donatur
[✓] Diterima
[ ] Ditolak
E.2 Memilih fitur
penerima donasi
terdekat dari
donatur
Menampilkan
halaman berupa
map view dengan
titik lokasi
penerima donasi
terdekat dari
donatur
Berhasil
menampilkan map
view serta titik
lokasi penerima
donasi terdekat
dari donatur
[✓] Diterima
[ ] Ditolak
E.3 Memilih salah satu
titik lokasi
penerima donasi
terdekat dari
donatur
Mengarahkan ke
aplikasi Google
Maps sesuai titik
lokasi penerima
donasi terdekat
yang dipilih
Dapat mengarahkan
ke aplikasi Google
Maps sesuai titik
lokasi penerima
donasi terdekat
yang telah dipilih
[✓] Diterima
[ ] Ditolak
6) Autentikasi di Aplikasi Admin
Tabel 14. Tabel Pengujian Penerima Donasi Terdekat
Skenario Pengujian (Data Normal) Hasil
Pengujian No. Data Masukan Harapan Pengamatan
A.1 Memasukkan
email dan
password yang
telah terdaftar
Field yang
tersedia untuk
email dan
password dapat
diketik
Dapat di masukkan
email dan
password
[✓] Diterima
[ ] Ditolak
A.2 Menekan tombol
login setelah
memasukkan email
Saat menekan
tombol login
Dapat masuk ke
sistem setelah
menekan tombol
[✓] Diterima
[ ] Ditolak
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
dan password yang
terdaftar
maka user dapat
masuk ke sistem
login, dimana user
sebelumnya telah
memasukan email
dan password yang
terdaftar
Skenario Pengujian (Data Salah) Hasil
Pengujian No. Data Masukan Harapan Pengamatan
A.3 Email dan
password tidak
dimasukkan lalu
menekan tombol
login
Tidak dapat
mengakses ke
dalam sistem dan
sistem
menampilkan
pemberitahuan
gagal login
Terdapatnya
pemberitahuan di
bawah field email
dan password yang
menyatakan email
dan password tidak
boleh kosong.
[✓] Diterima
[ ] Ditolak
A.4 Field yang diisi
hanya email,
sementara
password
dikosongkan lalu
menekan tombol
login
Tidak dapat
mengakses ke
dalam sistem dan
sistem
menampilkan
pemberitahuan
gagal login
Terdapatnya
pemberitahuan
yang menyatakan
filed password
tidak boleh
kosong.
[✓] Diterima
[ ] Ditolak
A.5 Field yang diisi
hanya password
sementara field
email dikosongkan
lalu memilih
tombol login
Tidak dapat
mengakses ke
dalam sistem dan
sistem
menampilkan
pemberitahuan
gagal login
Terdapatnya
pemberitahuan
field email tidak
boleh kosong.
[✓] Diterima
[ ] Ditolak
7) Halaman Donasi di Aplikasi Admin
Tabel 15. Tabel Pengujian Halaman Donasi untuk Admin
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Skenario Pengujian (Data Normal) Hasil
Pengujian
No. Data Masukan Harapan Pengamatan
B.1
Memilh halaman
donasi
Menampilkan
seluruh data
donasi yang
tercatat di
database FoodX
Dapat menampilkan
seluruh data donasi
yang tercatat di
database FoodX
[✓] Diterima
[ ] Ditolak
8) Halaman Komunitas di Aplikasi Admin
Tabel 16. Tabel Pengujian Halaman Komunitas untuk Admin
Skenario Pengujian (Data Normal) Hasil
Pengujian
No. Data Masukan Harapan Pengamatan
C.1
Memilih halaman
pendaftaran
komunitas
Menampilkan
seluruh komunitas
yang mendaftar
dan dapat
menerima
Seluruh komunitas
ynag terdaftar
muncul di FoodX
dan dapat divalidasi
serta diterima
[✓] Diterima
[ ] Ditolak
C.2 Memilh halaman
komunitas
Menampilkan
seluruh data
komunitas yang
terdaftar di FoodX
Seluruh data
komunitas yang
terdaftar di FoodX
muncul
[✓] Diterima
[ ] Ditolak
9) Halaman Donatur di Aplikasi Admin
Tabel 17. Tabel Pengujian Halaman Donatur untuk Admin
Skenario Pengujian (Data Normal) Hasil
Pengujian
No. Data Masukan Harapan Pengamatan
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
D.1
Memilh halaman
donatur
Menampilkan
seluruh data
donatur yang
terdaftar di FoodX
dalam bentuk
tabel
Tabel yang berisi
seluruh data donatur
yang terdaftar di
FoodX muncul
[✓] Diterima
[ ] Ditolak
4.5 Analisis Data / Evaluasi
Setelah melakukan pengujian, langkah selanjutnya adalah melakukan analisis data
atau evaluasi sistem. Dilakukan perhitungan rata-rata persentase keberhasilan
dengan rumus sebagai berikut:
Persentasekeberhasilan = JumlahitemujiberhasilJumlahseluruhitemuji G100%
Pengujian alpha memiliki 47 skenario. Berikut ini adalah persentase keberhasilan
dari alpha testing:
&KLℎ& = 4646 G100% = 100%
Berdasarkan hasil pengujian alpha testing, dapat disimpulkan bahwa pengujian
alpha berjalan dengan baik karena hampir semua fungsi yang diuji dapat berjalan
seperti yang diharapkan di scenario, hanya satu fungsi yang tidak diterima dalam
pengujian.
86
BAB V
PENUTUP
5.1 Kesimpulan
Pembuatan rancang bangun aplikasi FoodX untuk modul donatur makanan berbasis
Android dan modul admin berbasis Web yang dikembangkan dengan metode
prototype dapat dinyatakan berhasil yang berdasar kepada hasil analisis data dengan
nilai seratus persen. Aplikasi ini dapat menjalankan fitur sebagai berikut:
a. Donatur makanan dapat membuat permohonan donasi yang langsung terhubung
dan muncul di aplikasi untuk komunitas.
b. Donatur makanan dapat mendapatkna laporan terkait status donasi, relawan yang
mengantarkan makanan, serta penerima makanan ketika donasi telah
tersalurkan.
c. Donatur mendapatkan lokasi penerima donasi terdekat dari lokasi donatur
makanan.
d. Admin dapat melihat seluruh transaksi donasi yang terjadi di sistem FoodX
e. Admin dapat mengelola akun donatur dan komunitas
Pengujian yang dilakukan hanya berupa alpha testing dikarenakan kondisi yang
tidak memungkinkan untuk menjalankan beta testing akibat adanya pandemi yang
sedang terjadi saat ini.
5.2 Saran
Saran untuk pengembangan aplikasi FoodX berdasarkan pelaksanaan dan
pengerjaan skripsi yang telah dilakukan adalah:
a. Memperbaiki user interface pada beberapa halaman dan fitur agar lebih nyaman
untuk dilihat.
b. Menambahkan konsep gamifikasi untuk donatur yang akan mendapatkan reward
jika sudah membuat donasi sebanyak jumlah yang ditentukan.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Daftar Pustaka
Ahonen, E. Q., Watson, D. P., Adams, E. L. & McGuire, A., 2017. Alpha test results for a Housing First eLearning strategy: the value of multiple qualitative methods for intervention design. Pilot and Feasibility Studies, pp. 1-11.
Al-Husseini, K. A. O. & Obaid, A. H., 2018. Usage of Prototyping in Software Testing. Multi-Knowledge Electronic Comprehensive Journal for Education and Science Publications.
Bean, M., 2015. Laravel 5 Essentials. Birmingham: Packt Publishing.
Chopin, S., n.d. NuxtJS. [Online] Available at: https://nuxtjs.org/guide/
Dimarzio, J. F., 2017. Beginning Android Programming with Android Studio. Indianapolis: John Wiley & Sons, Inc..
Harja, Y. D. & Sarno, R., 2018. Determine The Best Option for Nearest Medical Services Using Google Maps API, Haversine and TOPSIS Algorithm. 2018 International Conference on Information and Communications Technology (ICOIACT), pp. 814-819.
Harrington, J. L., 2015. Relational Database Design and Implementation: Fourth Edition. Cambridge: Elsevier.
Harumy, T. H. F., Windarto, A. P. & Sulistianingsing, I., 2016. Belajar Dasar Algoritma dan Pemograman C++. Yogyakarta: Deepublish.
Horton, J., 2015. Android Programming for Beginners. Birmingham: Packt Publishing.
Hsiao, K.-L., 2017. Compulsive mobile application usage and technostress: the role of personality traits. Emerald Insight.
Indrajani, 2017. Database Design - Theory, Practice, and Case Study. Jakarta: PT Elex Media Komputindo.
Jolley, K. A., Bray, J. E. & Maiden, M. C. J., 2017. A RESTful application programming interface for the PubMLST molecular typing and genome databases. Database, pp. 1-7.
Juba, S. & Volkov, A., 2017. Learning PostgreSQL 10: A Beginner's Guide to Building High-Performance PostgreSQL Database Solutions. Birmingham: Packt Publishing.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Kenton, W., 2019. Business-to-Consumer (B2C). [Online] Available at: https://investopedia.com/terms/b/btoc.asp [Accessed January 2020].
Meng, M., Steinhardt, S. & Schubert, A., 2017. Application Programming Interface Documentation: What Do Software Developers Want?. Journal of Technical Writing and Communication, pp. 1-36.
Mohd, C. K. & Shahbodin, F., 2015. Personalized Learning Environment: Alpha Testing, Beta Testing & User Acceptance Test. Elsevier, pp. 837-843.
Mulyani, S., 2017. Metode Analisis dan Perancangan Sistem. Bandung: Abdi Sistematika.
Oliveira, V., Teixeira, L. & Ebert, F., 2020. On the Adoption of Kotlin on Android Development: A Triangulation Study. 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 206-216.
Pakpahan, A., 2017. Shift in Global Hunger Index 2000-2017: Implications to Agricultural Policy, Food and Quality of Indonesian Human Resources. Forum Penelitian Argo Ekonomi, pp. 75-90.
Pressman, R. S., 2015. Software Engineering: A practitioner approach. 8th ed. New York: McGraw-Hill Education.
Rahim, H. L. & Mohtar, S., 2015. Social Entrepreneurship: A Different Perspective. IOSR Journal of Computer Engineering (IOSR-JCE), pp. 1-8.
S., R. A. & Shalahuddin, M., 2018. Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Bandung: Informatika Bandung.
Satapathy, S. C., Joshi, A., Modi, N. & Pathak, N., 2016. Proceedings of International Conference on ICT for Sustainable Development: Vol II. Singapore: Springer.
Seidl, M., Marion, S., Huemer, C. & Gerti, K., 2015. UML @ Classroom: An Introduction to Object-Oriented Modeling. Heidelberg: Springer Publishing Company.
Sheikh, S., 2015. Customer Satisfaction in Business to Consumer (B2C) E-commerce: A Comparative Study of Turkey and Pakistan. Eurasian Journal of Business and Economics, 8(16), pp. 73-100.
Shukla, S. & Singh, V., 2016. Social Entrpreneurship: A Concept Towards Societal Improvement. Journal of The Institute of Professional Excellence & Management, p. 38.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Sommerville, I., 2016. Software Engineering. 10th ed. Harlow: Pearson Education.
Sommerville, I., 2016. Software Engineering. Harlow: Pearson.
United Nations, 2015. Sustainable Development Goal 12. [Online] Available at: https://sustainabledevelopment.un.org/sdg12 [Accessed January 2020].
United Nations, 2015. Sustainable Development Goal 2. [Online] Available at: https://sustainabledevelopment.un.org/sdg2 [Accessed January 2020].
United Nations, 2015. Sustainable Development Goals. [Online] Available at: https://sustainabledevelopment.un.org/sdgs [Accessed 2020 January].
Viswanathan, P., 2019. What Is a Mobile Application?. [Online] Available at: https://lifewire.com/what-is-a-mobile-application-2373354 [Accessed 2020 February].
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
xvii
Daftar Riwayat Hidup
Intan Yoshana
Lahir di Jakarta, 31 Agustus 1998. Lulus dari SD Negeri
011 Pondok Labu pada tahun 2010, SMP Negeri 85
Jakarta pada tahun 2013, dan SMA Negeri 34 Jakarta
pada tahun 2016. Saat ini sedang menempuh Pendidikan
Diploma IV Program Studi Teknik Informatika Jursuan
Teknik Informatika dan Komputer di Politeknik Negeri
Jakarta.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
xviii
Lampiran 1 Hasil Kuesioner
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Lampiran 2 Hasil Pengujian
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Lampiran (lanjutan)
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Lampiran (lanjutan)
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Lampiran (lanjutan)
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Lampiran (lanjutan)