LAPORAN SKRIPSI
LAPORAN SKRIPSI
INTAN YOSHANA
4616010041
ii
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.
NIM : 4616010041
Tanda Tangan :
iii
HALAMAN PENGESAHAN
NIM : 4616010041
Disahkan oleh:
iv
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;
c. Orang tua penulis yang telah memberikan dukungan dalam pembuatan 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;
Penulis
v
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.
vi
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 :
NIM : 4616010041
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.
Yang menyatakan
(Intan Yoshana)
*Karya ilmiah: karya akhir, makalah non seminar, laporan kerja praktek, laporan
magang, karya profesi dan karya spesialis
vii
Jurusan Teknik Informatika dan Komputer – Poilteknik Negeri Jakarta
DAFTAR ISI
viii
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
ix
Jurusan Teknik Informatika dan Komputer – Poilteknik Negeri Jakarta
DAFTAR TABEL
x
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
xi
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
xii
Jurusan Teknik Informatika dan Komputer – Poilteknik Negeri Jakarta
DAFTAR LAMPIRAN
xiii
Jurusan Teknik Informatika dan Komputer – Poilteknik Negeri Jakarta
BAB I
PENDAHULUAN
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.
1
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.
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.
Perumusan masalah yang didasari oleh latar belakang di atas dapat diuraiakan
sebagai berikut:
2. Bagaimana cara membuat web admin FoodX untuk mengelola data donatur
dan komunitas?
2. Aplikasi admin untuk mengelola data aplikasi FoodX dibuat berbasis Web
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:
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
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.
5
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.
16. Perdamaian, Keadilan, dan Lembaga Kuat (Peace, Justice, and Strong
Institutions)
Penelitian ini difokuskan kepada dua objektif SDG, yakni SDG 2 (Tanpa
Kelaparan) dan SDG 12 (Konsumsi dan Produksi Bertanggung Jawab).
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).
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).
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
2. Desain
3. Membangun prototipe
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.
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).
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.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)
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,
Gambar 2.2 Perbedaan Garis Lintang dan Garis Bujur di Belahan Bumi
Sumber: Basyir, Nasir, Suryati, Mellyssa (2017)
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
Algoritma Haversine digunakan untuk mendapatkan jarak antara dua titik berbeda
di permukaan bumi menggunakan lintang dan bujur sebagai variabel. Algoritma ini
dapat didefinisikan sebagai
∅! − ∅" 5" − 5!
! = 2$ &$'()* +,()*! - 0 + '2((∅" ) '2((∅! )()*! - 06
2 2
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.1 Flowchart
Terminator flowchart.
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:
Simbol Keterangan
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
Simbol Keterangan
Swimlane
c. Sequence Diagram
Lifeline
Waktu aktif
Menyatakan suatu objek memanggil
operasi/metode yang ada pada suatu objek atau
Call message dirinya sendiri.
+ atribut
+ metode ()
2.16 Pengujian
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).
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.
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.
21
3.1.2 Cara Kerja Program Aplikasi
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
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.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
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.
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
Gambar 3.6 Activity Diagram Melihat Penerima Donasi Terdekat
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.14 Sequence Diagram 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.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.
D. Class Diagram
Kebutuhan user yang diperlukan dalam pembuatan aplikasi FoodX untuk Donatur
adalah sebagai berikut:
B. Prototype
- Halaman Register
- Halaman Login
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.24 merupakan prototype dari halaman form donasi dimana user harus
mengisi beberapa data penting perihal makanan yang ingin didonasikan.
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.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.29 merupakan halaman penerima donasi terdekat dari lokasi donatur saat
ini.
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.35 merupakan implementasi kode di form donasi dalam aplikasi donatur
makanan yang menangani seluruh field yang harus diisi oleh donatur untuk
membuat permohonan donasi.
Gambar 3.40 merupakan hasil implementasi halaman detail donasi dimana terdapat
laporan status, relawan, serta penerima donasi (jika donasi telah tersalurkan).
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.
- Admin dapat melihat seluruh transaksi donasi yang tercatat di sistem FoodX
B. Prototype
- Halaman Komunitas
- Halaman Donasi
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
- Halaman Komunitas
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 Implementasi Kode Komunitas Yang Telah Diterima oleh Admin
Gambar 3.51 merupakan implementasi kode ketika komunitas telah diterima oleh
admin. Hanya komunitas yang berstatus true yang akan ditampilkan di halaman
Komunitas.
- Halaman Donasi
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.
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.
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.
Jenis
Item Uji Detail Pengujian
Pengujian
71
Jenis
Item Uji Detail Pengujian
Pengujian
Halaman Komunitas di
Melakukan donasi di komunitas
Aplikasi Donatur Black-Box
yang dipilih
Halaman Donasi di
Aplikasi Admin Melihat seluruh donasi Black-Box
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.
penjemputan penjemputan
makanan
makanan
C.6 Memilih field Muncul jam, Berhasil [✓] Diterima
waktu penjemputan dapat memilih menampilkan jam, [ ] Ditolak
makanan waktu, waktu memilih waktu, dan
yang dipilih waktu yang dipilih
muncul di field muncul di field
waktu waktu penjemputan
penjemputan makanan
makanan
C.7 Menekan tombol Mengambil Berhasil mengambil [✓] Diterima
choose file untuk gambar dari galeri gambar dari galeri [ ] Ditolak
mengupload foto perangkat atau serta mengambil
makanan donasi mengambil dari dari kamera dan
kamera dan gambar muncul di
gambar muncul di field foto makanan
field foto
makanan
C.10 Hanya mengisi Tidak dapat Data tidak dapat [✓] Diterima
field nama mengirimkan data ditambahkan [ ] Ditolak
makanan menekan
tombol submit
C.11 Hanya mengisi Tidak dapat Data tidak dapat [✓] Diterima
field jumlah mengirimkan data ditambahkan [ ] Ditolak
makanan saja lalu dimasukkan data
memilih tombol
submit
C.12 Hanya mengisi Tidak dapat Data tidak dapat [✓] Diterima
field tanggal mengirimkan data ditambahkan [ ] Ditolak
produksi saja lalu
memilih tombol
submit
C.13 Hanya mengisi Tidak dapat Data tidak dapat [✓] Diterima
field tanggal mengirimkan data ditambahkan [ ] Ditolak
donasi dari
komunitas atau
relawan
46
&KLℎ& = G 100% = 100%
46
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:
b. Donatur makanan dapat mendapatkna laporan terkait status donasi, relawan yang
mengantarkan makanan, serta penerima makanan ketika donasi telah
tersalurkan.
d. Admin dapat melihat seluruh transaksi donasi yang terjadi di sistem FoodX
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
a. Memperbaiki user interface pada beberapa halaman dan fitur agar lebih nyaman
untuk dilihat.
86
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.
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.
Intan Yoshana
xvii
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Lampiran 1 Hasil Kuesioner
xviii
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Lampiran 2 Hasil Pengujian