BAB II
LANDASAN TEORI
2.1 Tinjauan Umum Sistem Informasi pada UMKM Sembako
2.1.1 Urgensi Digitalisasi Pencatatan Penjualan
Dalam ekosistem bisnis modern, transformasi digital menjadi kebutuhan
mendesak bagi Usaha Mikro, Kecil, dan Menengah (UMKM), termasuk toko
sembako. Toko sembako konvensional seringkali menghadapi kendala dalam
manajemen operasional, seperti ketidakakuratan data stok dan kesalahan
perhitungan manual (human error) saat transaksi berlangsung. Penelitian Prasetya
dan Putra (2023) menyebutkan bahwa aplikasi penjualan berbasis teknologi
informasi diperlukan untuk mengatasi permasalahan di pasar tradisional,
memungkinkan transaksi yang lebih cepat dan aman[1].
Selain itu, aspek pembukuan keuangan menjadi titik lemah banyak warung
sembako. Budiyanto (2023) dalam penelitiannya menemukan bahwa aplikasi
berbasis android mampu membantu pemilik warung di kawasan padat penduduk
untuk merekapitulasi pemasukan dan pengeluaran secara otomatis, menggantikan
pencatatan buku besar yang rentan rusak atau hilang[2]. Hal ini sejalan dengan
temuan Yusanto (2022) yang menekankan pentingnya sosialisasi penggunaan
aplikasi pembukuan digital untuk meningkatkan literasi keuangan dan kerapian
administrasi pelaku usaha kecil[3].
2.1.2 Manajemen Stok dan Inventaris
Keakuratan data inventaris adalah kunci keberlangsungan toko retail.
Penggunaan teknologi seperti pemindai kode batang (barcode scanner) pada
perangkat mobile terbukti meningkatkan efisiensi waktu pengecekan stok hingga
80% dibandingkan metode manual, serta meminimalisir kesalahan input data
barang[4], [5]. Permatasari dkk. (2024) juga menambahkan bahwa sistem
informasi penjualan yang terintegrasi memungkinkan pemilik toko beras dan
sembako untuk melacak riwayat transaksi yang selisih, sehingga kontrol terhadap
aset barang menjadi lebih ketat[6].
2.2 Metode Pengembangan Sistem
2.2.1 Metode Prototype
Dalam perancangan aplikasi pencatatan penjualan ini, metode
pengembangan yang diterapkan adalah Prototype. Metode ini dipilih karena
karakteristiknya yang iterative, dimana pengembang dan pengguna dapat
berinteraksi secara intensif sejak tahap awal untuk menyamakan persepsi terhadap
fitur aplikasi. Abidin dan Ayu (2023) menjelaskan bahwa pendekatan ini sangat
efektif dalam menganalisis kebutuhan sistem, karena dapat memberikan gambaran
langsung mengenai alur kerja yang diinginkan, sehingga meminimalkan
kesalahpahaman antara logika program dan kebutuhan nyata di lapangan[7].
Penerapan model prototype terbukti memiliki dampak signifikan dalam
mengurangi resiko kesalahan pengembangan. Chandra, Sutarno, dan Rokoyah
(2024) menekankan bahwa dengan adanya purwarupa (mock-up) yang diuji coba
lebih awal, pengembang dapat mengidentifikasi kekurangan sistem dengan lebih
cepat dan memastikan bahwa produk akhir benar-benar relevan dengan kebutuhan
operasional pengguna[8]. Hal ini sangat krusial bagi aplikasi bisnis seperti toko
sembako untuk mencegah kegagalan implementasi saat aplikasi dirilis.
Tahapan dalam metode ini meliputi analisis kebutuhan, perancangan cepat
(quick design), pembangunan prototipe, serta evaluasi pengguna. Wahyuni dkk.
(2025) menambahkan bahwa siklus ini memungkinkan terciptanya solusi yang
efisien, di mana setiap masukan dari evaluasi pengguna akan langsung
ditindaklanjuti dengan perbaikan sistem sebelum melangkah ke tahap produksi
massal[9]. Proses evaluasi ini juga menjadi sarana kontrol kualitas (Quality
Assurance) untuk memastikan setiap menu dan fungsi berjalan sesuai logika
bisnis yang diharapkan, seperti yang diterapkan dalam sistem monitoring proyek
di mana pemantauan progress dilakukan secara bertahap melalui umpan balik
pengguna[10].
2.2.2 Langkah-Langkah Prototype
Sebelum sistem final dikembangkan secara utuh, diperlukan sebuah
representasi dasar yang disebut prototipe untuk memberikan gambaran awal
produk. Metode ini dijalankan melalui tujuh langkah sistematis sebagaimana
diilustrasikan dalam Gambar 2.1
Gambar 2.1 Model Prototype
Siklus pengembangan dalam model prototype mencakup tujuh tahapan sistematis
sebagai berikut:
1. Analisis Kebutuhan (Requirement Gathering)
Fase inisiasi ini berfokus pada analisis mendalam untuk memetakan
kebutuhan sistem serta mengidentifikasi permasalahan operasional yang
ada. Tujuannya adalah mendefinisikan spesifikasi perangkat lunak dan
perangkat keras yang diperlukan agar solusi yang ditawarkan relevan
dengan masalah pengguna.
2. Perancangan Prototipe
Pada tahap ini, pengembang menciptakan model representasi awal dari
sistem, khususnya desain antarmuka input dan output. Meskipun sifatnya
sementara, desain ini harus memuat elemen-elemen kunci yang
memberikan gambaran jelas mengenai fungsionalitas sistem.
3. Evaluasi Prototipe
Model yang telah dibuat kemudian dievaluasi oleh pengguna untuk
memastikan kesesuaian konsep. Tahap ini sangat krusial; jika prototipe
awal tidak disepakati atau memiliki cacat logika, maka proses
pengembangan selanjutnya akan terhambat atau beresiko gagal.
4. Implementasi Sistem (Coding)
Setelah desain disetujui, tahap selanjutnya adalah menerjemahkan
rancangan tersebut ke dalam bahasa pemrograman yang relevan. Proses ini
mencakup Pembangunan logika aplikasi dan antarmuka pengguna menjadi
sebuah perangkat lunak yang utuh.
5. Pengujian Sistem (Testing)
Perangkat lunak yang telah dikodekan wajib melalui serangkaian uji coba.
Metode yang umum digunakan adalah White Box Testing (memeriksa
struktur logika internal kode) dan Black Box Testing (memvalidasi
fungsionalitas eksternal dan antarmuka) untuk menjamin sistem berjalan
bebas bug.
6. Evaluasi Sistem
Sistem yang telah jadi dievaluasi kembali untuk memvalidasi apakah
seluruh kebutuhan pengguna yang didefinisikan di awal telah terpenuhi.
Jika ditemukan ketidaksesuaian, siklus akan kembali ke tahap analisis atau
perancangan prototipe.
7. Operasional dan Pemeliharaan
Setelah dinyatakan layak, sistem didistribusikan untuk digunakan
(deployment). Tahap ini juga mencakup pemeliharaan rutin (maintenance)
guna menjaga performa sistem tetap optimal dan memastikan
produktivitas pengguna tidak terganggu.
2.3 Konsep Pengembangan Perangkat Lunak Berorientasi Objek
2.3.1 Definisi dan Paradigma OOP
Pemrograman Berorientasi Objek (PBO) atau yang dikenal secara global
sebagai Object Oriented Programming (OOP) merupakan paradigma
pengembangan perangkat lunak yang menjadikan “objek” sebagai komponen
fundamental penyusun sistem. Sugandi dkk. (2022) mendefinisikan OOP sebagai
pendekatan yang memanfaatkan fitur-fitur utama seperti enkapsulasi, pewarisan
(inheritance), dan polimorfisme untuk membangun struktur kode yang dinamis
dan mudah dikembangkan sesuai kebutuhan pengguna[11].
Berbeda dengan metode terstruktur konvensional yang memisahkan data
dan fungsi, OOP menggabungkan keduanya ke dalam entitas Tunggal. Asrin
(2023) menjelaskan bahwa dalam pemodelan sistem modern, pendekatan ini
sangat vital karena mampu merepresentasikan entitas dunia nyata (seperti data
tamu, barang, transaksi) ke dalam bentuk digital yang terorganisir, sehingga
memudahkan proses pelacakan dan pengelolaan informasi yang kompleks[12].
Alasan utama pemilihan metode ini dalam pengembangan aplikasi mobile
(seperti Android) adalah sifatnya yang multi-platform dan fleksibel. Hal ini
dikonfirmasi oleh Wulansari dan Sujatmiko (2024), yang menyatakan bahwa
kompetensi pemrograman berorientasi objek merupakan pondasi utama dalam
membangun aplikasi yang efisien, dimana siswa atau pengembang dituntut untuk
tidak hanya menulis kode, tetapi merancang arsitektur sistem yang logis[13].
2.3.2 Keuntungan Pendekatan Berorientasi Objek
Penerapan OOP menawarkan berbagai keuntungan strategis dalam siklus
hidup pengembangan sistem (Software Development Life Cycle):
1. Efisiensi Pengembangan (Reusability)
Kode yang telah dibuat dalam bentuk kelas dapat digunakan kembali
untuk proyek lain tanpa perlu menulis dari nol[11].
2. Kemudahan Modifikasi
Struktur kode yang berbasis objek memudahkan pengembang untuk
memodifikasi fitur tertentu tanpa menganggu keseluruhan sistem, yang
sangat menguntungkan bagi pengembang aplikasi skala UMKM yang
dinamis[11].
3. Representasi Nyata
Memudahkan transformasi logika bisnis (seperti penjualan sembako) ke
dalam logika pemrograman karena pendekatannya meniru interaksi objek
di dunia nyata[12].
2.3.3 Elemen dan Karakteristik Utama
Berdasarkan tinjauan pustaka dari Pratama dan Sujatmiko (2024) serta Sugandi
dkk. (2022), terdapat beberapa konsep kunci yang membangun fondasi OOP, [14],
[11] :
1. Kelas (Class) dan Objek (Object)
Kelas merupakan cetak biru (blueprint) atau definisi statis yang
menggambarkan karakteristik umum, sedangkan objek adalah bentuk nyata
(instance) dari kelas tersebut yang memiliki data spesifik. Sebagai analogi
dalam aplikasi penjualan: “Barang” adalah kelas, sedangkan “Beras 5kg”
adalah objek dari kelas barang[12].
2. Enkapsulasi (Encapsulation)
Mekanisme pembungkusan data dalam satu unit untuk melindungi integritas
data. Enkapsulasi memastikan bahwa detail internal objek tersembunyi dari
akses luar yang tidak sah, menjaga keamanan data transaksi[11],[14].
3. Pewarisan (Inheritance)
Kemampuan sebuah kelas untuk mewariskan atribut dan metodenya kepada
kelas lain (sub-kelas). Hal ini memungkinkan pengembang membuat fitur baru
berdasarkan fitur yang sudah ada, sehingga menghemat waktu penulisan
kode[11].
4. Polimorfisme (Polymorphism)
Konsep dimana satu antarmuka atau metode dapat memiliki banyak bentuk
implementasi yang berbeda. Ini memberikan fleksibilitas tinggi di mana objek
yang berbeda dapat merespons perintah yang sama dengan cara yang unik[11],
[13].
5. Abstraksi (Abstraction)
Proses penyederhanaan sistem yang kompleks dengan hanya menampilkan
informasi penting yang relevan bagi pengguna, serta menyembunyikan detail
latar belakang yang rumit[12].
2.4 Perangkat Pemodelan Sistem (Unified Modelling Language)
2.4.1 Definisi dan Urgensi UML
Unified Modelling Language (UML) merupakan standar Bahasa visual
yang fundamental dalam paradigma pengembangan sistem berorientasi objek.
Narulita, Nugroho dan Abdillah (2024) mendeskripsikan UML sebagai blueprint
atau cetak biru yang memberikan gambaran visual terstandarisasi sebelum sistem
dibangun secara nyata, mencakup aspek konstruksi, spesifikasi, hingga
dokumentasi sistem[15].
Pentingnya UML terletak pada kemampuannya menjembatani komunikasi
teknis. Suharni, Susilowati, dan Pakusadewa (2023) menekankan bahwa UML
memfasilitasi komunikasi yang efektif antara analis sistem, pengembang, dan
pemangku kepentingan lainnya, memastikan bahwa setiap pihak memiliki
pemahaman yang seragam mengenai alur logika aplikasi yang akan
dikembangkan[16]. Secara historis, UML dikembangkan oleh Grady Booch
dengan menggabungkan konsep Object Modelling Technique (OMT) dan Object-
Oriented Software Engineering (OOSE) untuk menciptakan notasi grafis yang
mampu mendefinisikan semantic hubungan antar objek secara presisi[17].
2.4.2 Diagram Utama dalam UML
Berdasarkan tinjauan Pustaka dari Binangkit dkk. (2023) dan Sahidah
(2022), terdapat empat diagram vital yang digunakan untuk memvisualisasikan
arsitektur aplikasi[18], [17] :
1. Use Case Diagram
Diagram ini berfungsi untuk memetakan fungsionalitas sistem dari
perspektif pengguna akhir (end-user). Binangkit, Voutama, dan Heryana
(2023) menjelaskan bahwa Use Case Diagram menggambarkan interaksi
antara faktor (pengguna) dengan sistem, serta mendefiniskan fitur apa saja
yang dapat diakses oleh aktor tanpa merinci proses teknis di baliknya[18].
Diagram ini menjadi acuan utama dalam memahami kebutuhan fungsional
aplikasi.
Gambar 2.2 Contoh Use Case Diagram
2. Activity Diagram
Untuk memvisualisasikan dinamika alur kerja (workflow), digunakan
Activity Diagram. Diagram ini merinci urutan aktivitas dalam sebuah
proses bisnis, mulai dari status awal, percabangan keputusan (decision),
hingga status akhir penyelesaian tugas. Narulita dkk. (2024)
menambahkan bahwa diagram ini sangat krusial untuk memvalidasi
logika prosedur sistem, seperti bagaimana sistem merespons input data
penelitian atau transaksi[15].
Gambar 2.3 Contoh Activity Diagram
3. Sequence Diagram
Jika activity diagram berfokus pada alur kerja, Sequence Diagram
menekankan pada urutan waktu interaksi antar objek. Suharni dkk. (2023)
menjabarkan bahwa diagram ini mengilustrasikan pesan (message) yang
dikirim dan diterima antar objek dalam durasi waktu tertentu untuk
menjalankan satu skenario use case[16]. Diagram ini membantu
pengembang memastikan bahwa kolaborasi antar objek berjalan sinkron.
Gambar 2.4 Contoh Sequence Diagram
4. Class Diagram
Class Diagram adalah representasi statis dari struktur sistem. Asrin (2023)
menyebutkan bahwa diagram ini merupakan pondasi dari perancangan
berorientasi objek karena menggambarkan himpunan kelas, atribut,
metode, serta hubungan (relationship) antar kelas tersebut[12]. Diagram
ini menjadi acuan langsung bagi programmer dalam membangun struktur
basis data dan kode program.
Gambar 2.5 Contoh Class Diagram
2.5 Teori Pendukung
Landasan teori dalam penyusunan laporan ini mencakup konsep
fundamental serta teknologi yang relevan untuk mendukung perancangan aplikasi
pencatatan penjualan pada Toko Sembako Sulis. Pembahasan diawali dengan
pemahaman mengenai sistem informasi penjualan, manajemen basis data, dan
operasional bisnis UMKM sebagai inti dari fungsionalitas sistem. Dari sisi teknis,
implementasi aplikasi melibatkan pemanfaatan teknologi Android, bahasa
pemrograman Java, format pertukaran data JSON, serta pengelolaan basis data
menggunakan MySQL. Proses pengembangan dan perancangan antarmuka
didukung oleh perangkat lunak seperti Android Studio, Visual Studio Code,
XAMPP, dan Canva. Guna menjamin kualitas perangkat lunak, metode Black Box
Testing diterapkan untuk memastikan sistem berjalan secara efisien, akurat, dan
sesuai dengan kebutuhan pencatatan transaksi toko. Berikut adalah uraian rinci
mengenai teori-teori pendukung tersebut:
2.5.1 Aplikasi Mobile
Aplikasi mobile didefinisikan sebagai perangkat lunak komputer yang
dirancang secara spesifik untuk beroperasi pada perangkat genggam nirkabel,
seperti smartphone atau tablet. Berbeda dengan perangkat lunak konvensional,
aplikasi jenis ini dikembangkan dengan mempertimbangkan keterbatasan dan
keunikan perangkat keras mobile, sehingga memungkinkan pengguna untuk
mengakses layanan dan informasi secara fleksibel tanpa terikat lokasi[19].
Dalam konteks operasional bisnis, aplikasi berfungsi sebagai instrumen
vital yang mentransformasi proses manual menjadi digital. Aplikasi tidak hanya
bertindak sebagai media hiburan atau komunikasi, tetapi juga sebagai alat
produktivitas yang mampu mengelola data transaksi, stok barang, dan laporan
keuangan secara real-time guna mendukung pengambilan keputusan yang cepat
dan akurat bagi penggunanya[2].
2.5.2 Pencatatan Penjualan
Pencatatan penjualan merupakan aktivitas fundamental dalam siklus
akuntansi yang berfungsi untuk mendokumentasikan setiap transaksi perdagangan
secara sistematis dan terperinci. Budiyanto (2023) mendefinisikan proses ini
sebagai upaya pengelolaan informasi kegiatan harian toko mulai dari input data
transaksi hingga pengelolaan stok yang kemudian diolah menjadi laporan
keuangan sebagai dasar pengambilan keputusan bisnis[2].
Berbeda dengan sekadar mencatat angka, sistem pencatatan penjualan
modern bertujuan untuk mentransformasi metode konvensional (buku besar) yang
rentan terhadap kesalahan manusia (human error) menjadi sistem digital yang
akurat. Permatasari, Parulian, dan Asma (2024) menekankan bahwa pencatatan
yang efektif harus mampu melacak riwayat transaksi secara real-time, sehingga
pemilik toko dapat menghindari redundansi data dan mempermudah penelusuran
jika terjadi selisih stok atau keuangan[6].
Implementasi pencatatan penjualan yang baik tidak hanya meningkatkan
efisiensi operasional, tetapi juga memberikan kontrol penuh terhadap arus kas
(cash flow). Rao, Triase, dan Alda (2024) menambahkan bahwa sistem Point of
Sales (POS) yang terintegrasi memungkinkan penjual untuk mengontrol laporan
pengeluaran dan pemasukan dengan mudah, memastikan transparansi, serta
mendukung keberlanjutan usaha melalui data yang valid[20].
2.5.1 Sistem Operasi Android
Android dipilih sebagai platform utama karena sifatnya yang terbuka
(open source) dan dominasinya di pasar perangkat seluler. Wijaya dkk. (2023)
menjelaskan bahwa Android sangat membantu pengelola toko yang mungkin
kurang memahami perhitungan matematika kompleks, karena logika penentuan
harga dan laba dapat diotomatisasi dalam genggaman smartphone[21].
Fleksibilitas android juga memungkinkan integrasi dengan berbagai fitur
perangkat keras seperti kamera untuk memindai produk dan GPS untuk fitur
pencarian lokasi toko[22].
2.5.2 Android Studio
Android Studio merupakan Integrated Development Environment (IDE)
resmi yang diinisiasi oleh Google untuk mendukung pengembangan aplikasi pada
ekosistem Android. Dirilis secara publik pada 16 Mei 2013 dengan lisensi Apache
2.0, perangkat lunak ini hadir untuk menggantikan Eclipse sebagai standar utama
dalam pemrograman mobile.
Sebagai lingkungan pengembangan yang komprehensif, Android Studio
menawarkan berbagai fitur vital yang terintegrasi dalam satu platform, mulai dari
penyunting kode cerdas (code editor), alat pelacak kesalahan (debugger), hingga
kompilator otomatis. Sugandi dkk. (2025) dalam penelitiannya mengenai aplikasi
keuangan berbasis Android menyatakan bahwa penggunaan lingkungan
pengembangan yang tepat seperti Android Studio sangat krusial untuk
memastikan kode program (seperti Java atau Kotlin) dapat dikonversi menjadi
aplikasi yang stabil dan mudah dikembangkan lebih lanjut[11].
Gambar 2.5 Android Studio
2.5.3 Visual Studio Code
Visual Studio Code (VS Code) adalah editor kode sumber lintas platform
yang dikembangkan oleh Microsoft, dikenal karena arsitekturnya yang ringan
namun memiliki kapabilitas tinggi untuk menangani proyek perangkat lunak yang
kompleks. Editor ini mendukung berbagai sistem operasi utama (Windows,
macOS, Linux) dan menawarkan fleksibilitas melalui ekosistem ekstensi yang
masif. Fitur ini memungkinkan pengembang untuk memperluas fungsionalitas
editor agar kompatibel dengan berbagai bahasa pemrograman, mulai dari
teknologi web (JavaScript, PHP) hingga pengembangan aplikasi mobile dan
backend (Java, Python, C++).
Dalam studi pengembangan sistem informasi berbasis website, Binangkit,
Voutama, dan Heryana (2023) menegaskan bahwa Visual Studio Code merupakan
perangkat lunak yang sangat andal untuk proses penulisan kode program (coding).
Kemampuannya dalam menyediakan fitur syntax highlighting, debugging, dan
integrasi Git menjadikannya alat yang efisien bagi pengembang pemula maupun
profesional untuk membangun struktur aplikasi yang valid dan terorganisir[18].
2.5.5 Basis Data (Database) dan MySQL
Aplikasi pencatatan penjualan memerlukan media penyimpanan data yang
handal. Basis data berfungsi sebagai gudang informasi yang menyimpan data
barang, harga dan riwayat transaksi. Dalam implementasinya, MySQL sering
digunakan sebagai Sistem Manajemen Basis Data (DBMS) karena
kemampuannya menangani relasi data yang kompleks (RDBMS) dan
kompatibilitasnya yang tinggi dengan berbagai bahasa pemrograman server-
side[1], [23].
2.5.6 XAMPP
Dalam ekosistem pengembangan aplikasi berbasis web, XAMPP
memegang peranan vital sebagai perangkat lunak open source yang menyediakan
lingkungan server lokal (localhost). Paket instalasi ini dirancang untuk
memudahkan pengembang dalam mensimulasikan kinerja server web secara
mandiri tanpa memerlukan koneksi internet aktif.
Binangkit, Voutama, dan Heryana (2023) menjelaskan bahwa XAMPP
merupakan kompilasi perangkat lunak yang mengintegrasikan Apache (sebagai
web server), MySQL (sebagai sistem manajemen basis data), serta penerjemah
bahasa skrip seperti PHP. Integrasi ini memungkinkan pengembang untuk
melakukan konfigurasi, pengujian, dan debugging aplikasi secara efisien dan
terpusat sebelum tahap deployment ke server publik dilakukan[18]. Secara
etimologis, akronim XAMPP merepresentasikan dukungan lintas sistem operasi
(Cross-platform), diikuti oleh komponen intinya: Apache, MySQL, PHP, dan Perl.
2.5.7 Black Box
Bagian ini menjabarkan esensi dari metode Black Box Testing, yang
meliputi pengertian, karakteristik, serta evaluasi terkait kelebihan dan
kekurangannya dalam pengujian perangkat lunak.
[Link] Definisi Black Box
Black Box Testing didefinisikan sebagai pendekatan pengujian perangkat
lunak yang berkonsentrasi penuh pada aspek fungsionalitas tanpa menginspeksi
struktur logika internal atau kode program (source code) penyusunnya. Metode ini
memperlakukan perangkat lunak seolah-olah sebagai "kotak hitam" tertutup, di
mana penguji hanya berfokus pada apakah sistem mampu merespons perintah
sesuai dengan spesifikasi yang diharapkan.
Dalam pelaksanaannya, pengujian ini memvalidasi kesesuaian antara data
masukan (input) dan hasil luaran (output). Narulita, Nugroho, dan Abdillah (2024)
menjelaskan bahwa metode ini sangat efektif untuk memastikan bahwa setiap fitur
dalam aplikasi berjalan sesuai dengan kebutuhan pengguna tanpa perlu membedah
kompleksitas teknis di baliknya[15]. Hal senada disampaikan oleh Binangkit,
Voutama, dan Heryana (2023), yang menggunakan pendekatan ini untuk
mengevaluasi kinerja sistem semata-mata berdasarkan hasil eksekusi program,
guna menjamin tidak adanya kesalahan fungsi pada antarmuka pengguna[18].
[Link] Karakteristik Black Box Testing
Metode Black Box Testing memiliki karakteristik unik yang
membedakannya dengan metode pengujian lain seperti White Box Testing.
Berdasarkan tinjauan implementasi oleh Narulita, Nugroho, dan Abdillah (2024),
karakteristik utama metode ini meliputi[15] :
1. Fokus Fungsionalitas
Pengujian berkonsentrasi penuh pada kebutuhan fungsional sistem.
Penguji mengabaikan mekanisme internal, struktur logika, maupun
sintaksis kode program yang membangun perangkat lunak tersebut
2. Orientasi Input-Output
Evaluasi dilakukan dengan cara memberikan serangkaian data dengan cara
memberikan masukan (input) ke dalam sistem dan mengamati apakah
luaran (output) yang dihasilkan sesuai dengan spesifikasi yang diharapkan,
3. Abstraksi Implementasi
Penguji tidak dituntut untuk memahami arsitektur teknis atau algoritma
pemrograman. Fokus utama adalah memvalidasi perilaku sistem dari sudut
pandang pengguna eksternal
[Link] Kelebihan Black Box Testing
Penerapan Black Box Testing menawarkan berbagai keuntungan, terutama
dalam memastikan kepuasan pengguna akhir. Mengacu pada penelitian Suharni,
Susilowati, dan Pakusadewa (2023), kelebihan metode ini antara lain[16] :
1. Perspektif Pengguna
Pengujian dilakukan dari sudut pandang end-user, sehingga sangat efektif
untuk memverifikasi apakah alur bisnis sistem telah sesuai dengan
kebutuhan operasional pengguna.
2. Efisiensi Sumber Daya
Penguji tidak harus memiliki keahlian pemrograman mendalam. Hal ini
memungkinkan pemisahan peran yang jelas antara pengembang
(developer) dan penguji (tester), menghindari bias dalam pengujian.
3. Fleksibilitas dan Skalabilitas
Metode ini cocok diterapkan pada sistem yang kompleks maupun
sederhana. Kasus uji (test case) dapat dirancang segera setelah spesifikasi
kebutuhan selesai dibuat, tanpa perlu menunggu kode program rampung
sepenuhnya.
4. Deteksi Dini Spesifikasi
Mampu mengungkap ambiguitas atau inkonsistensi dalam dokumen
persyaratan fungsional sebelum sistem masuk ke tahap produksi massal.
[Link] Kekurangan Black Box Testing
Meskipun efektif, metode ini memiliki keterbatasan yang perlu
diperhatikan. Binangkit, Voutama, dan Heryana (2023) dalam pengujian sistem
mereka mengindikasikan bahwa pengujian ini terbatas pada antarmuka luar, yang
berimplikasi pada beberapa kelemahan berikut[18] :
1. Cakupan Uji Terbatas (Limited Coverage)
Karena tidak memeriksa kode sumber, tidak ada jaminan bahwa
seluruh jalur logika program (termasuk kondisi looping atau
percabangan kompleks) telah teruji sepenuhnya. Bagian kode yang
tidak terekspos ke antarmuka pengguna mungkin luput dari
pemeriksaan.
2. Kesulitan Identifikasi Akar Masalah
Ketika ditemukan kesalahan (bug), metode ini hanya menunjukkan
bahwa ada yang salah, namun tidak dapat menunjukkan secara spesifik
dimana lokasi kesalahan tersebut dalam baris kode. Hal ini seringkali
mempersulit pengembang dalam proses perbaikan (debugging).
3. Redundansi Pengujian
Tanpa koordinasi yang baik, ada kemungkinan kasus uji yang
dijalankan oleh penguji Black Box sebenarnya sudah diuji oleh
pengembang (melalui Unit Testing), sehingga terjadi pemborosan
waktu.
4. Ketergantungan pada Spesifikasi
Efektivitas pengujian sangat bergantung pada kejelasan dokumen
kebutuhan. Jika spesifikasi awal tidak lengkap atau ambigu, maka
skenario pengujia yang dirancang menjadi tidak valid dan sulit
mencakup seluruh kemungkinan kesalahan.
2.5.8 Point of Sales (POS)
Sistem yang dibangun mengadopsi konsep Point of Sales (POS). Rao dkk.
(2024) mendefinisikan sistem POS berbasis android sebagai solusi modern yang
tidak hanya mencatat transaksi kasir, tetapi juga mencakup pengelolaan data
pelanggan dan laporan keuangan real-time[20].
2.5.9 Perancangan Antarmuka dan Pengalaman Pengguna
Desain antarmuka (User Interface) memegang peranan vital dalam
keberhasilan adopsi aplikasi oleh pemilik toko sembako yang mungkin awam
teknologi. Lesilolo dkk. (2022) menyarankan penggunaan metode Human-
Centered Design (HCD) dalam merancang aplikasi toko kelontong, di mana fokus
utama adalah menciptakan alur navigasi yang intuitif dan mudah dipahami agar
pengguna merasa nyaman saat mengoperasikan sistem[24].
2.6 Penelitian Terdahulu
Untuk mempermudah pemahaman mengenai referensi yang digunakan,
rangkuman penelitian terdahulu disajikan secara sistematis dalam Tabel 2.1
berikut ini :
Tabel 2.1 Ringkasan Penelitian Terdahulu
No Peneliti Tahun Judul Hasil
1 Budiyanto[2] 2023 Perancangan Menghasilkan aplikasi berbasis
Aplikasi Android yang membantu
Pembukuan pemilik warung sembako
Keuangan mencatat arus kas
Warung (pemasukan/pengeluaran) secara
Sembako digital untuk memggantikan
Jakarta Timur pembukuan manual yang rentan
Berbasis kesalahan.
Manajemen
Keuangan
dengan
Android.
2 Panchadria, 2022 Toko Sembako Mengembangkan aplikasi toko
Ferawati, Santoso Terintegrasi online untuk sembako yang
& Rahayu [25] Payment terintegrasi dengan gerbang
Gateway pembayaran digital,
Midtrans mempermudah transaksi dan
Berbasis pencatatan penjualan secara
Android real-time.
3 Wongkar, 2021 Rancang Membangun sistem aplikasi
Sambul, & Bangun yang menghubungkan pedagang
Sentinuwo[19] Aplikasi pasar dengan pembeli untuk
Layanan pemesanan sembako, dilengkapi
Pemesanan fitur pengelolaan pesanan
Produk Bahan dagang.
Pangan dan
Sembako di
Pasar
Karombasan
4 Rao, Triase, & 2024 Sistem Merancang sistem POS (Point
Alda[20] Informasi of Sales) berbasis Android yang
Point of Sales fokus pada kecepatan transaksi
Pada Toko kasir, pengelolaan stok barang
Distributor masuk/ keluar, dan rekapitulasi
Salah Duga laporan penjualan harian.
Berbasis
Android
5 Permatasari, 2024 Perancangan Menghasilkan sistem informasi
Parulian, & Sistem penjualan komoditas pokok
Asma[6] Informasi (beras) yang efektif dalam
Penjualan mengelola data pelanggan,
Barang Pada transaksi penjualan, dan laporan
Toko Liga stok gudang untuk
Beras Berbasis meminimalisir selisih stok.
Android
6 Fatkhiyah, 2025 Prototype Mengembangkan prototipe
Oktavia, Sutanta, Aplikasi aplikasi yang memanfaatkan
Kusumaningsih, Barcode fitur kamera smartphone
& Andayati[4] Scanner sebagai barcode scanner untuk
Berbasis mempercepat proses pencatatan
Android untuk penjualan pencatatan stok
Pengecekan opname dan penjualan barang.
Stok Barang
7 Mulyani & 2022 Rancang Membuat aplikasi kasir
Najiyah[5] Bangun sederhana yang
Aplikasi mengintegrasikan pemindaian
Penjualan kode batang untuk input
Menggunakan penjualan, sehingga proses
Barcode checkout pelanggan menjadi
Scanner lebih akurat dan cepat.
Berbasis
Android
8 Suharni, 2023 Perancangan (Referensi Metodologi)
Susilowati, & Website menerapkan UML (Use Case,
Pakusadewa[16] Rumah Makan Activity, Sequence, Class
Ninik Sebagai Diagram) dalam merancang
Media Promosi sistem informasi promosi dan
Menggunakan daftar menu, yang relevan
Unified sebagai acuan tahap
Modelling perancangan sistem.
Language
9 Binangkit, 2023 Pemanfaatan (Referensi Metodologi)
Voutama, & UML Dalam Menunjukan Implementasi
Heryana[18] Perencanaan UML Dan Pengujian Black Box
Sistem Testing yang sukses dalam
Pengelolaan membangun sistem pengelolaan
Sewa Alat administrasi dan transaksi jasa.
Musik
Berbasis
Website
10 Asrin[12] 2023 Pemodelan (Referensi Metodologi)
Website memberikan landasan teori yang
Sistem kuat mengenai penggunaan
Berorientasi diagram UML untuk
Objek pada e- memodelkan sistem berorientasi
Guest Book objek agar terstruktur dan
Menggunakan mudah dikembangkan.
Unified
Modelling
Language
DAFTAR PUSTAKA
[1] R. G. Prasetya, M. S. Putra, P. Studi, S. Informasi, and F. T. Informasi,
“Aplikasi Penjualan Barang Toko Sembako Di Kawasan Pasar Induk
Palembang Berbasis Android,” vol. 1, no. 15, pp. 424–433, 2023.
[2] A. Budiyanto, “Perancangan Aplikasi Pembukuan Keuangan Warung
Sembako Jakarta Timur Berbasis Manajemen Keuangan dengan Android,”
vol. 7, no. 1, pp. 90–94, 2023.
[3] Y. Yusanto, “Sosialisasi Pembukuan Keuangan Menggunakan Aplikasi
BukuWarung bagi Pelaku Usaha Warung Sembako di Desa Cisitu
Kabupaten Serang Banten,” J. Pengabdi. UNDIKMA, vol. 3, no. 1, p. 69,
2022, doi: 10.33394/jpu.v3i1.4844.
[4] E. Fatkhiyah, Y. P. Oktavia, E. Sutanta, and R. Y. Rachmawati, “Prototype
Aplikasi Barcode Scanner Berbasis Android untuk Pengecekan Stok
Barang,” pp. 66–74, 2025.
[5] N. S. Mulyani and I. Najiyah, “RANCANG BANGUN APLIKASI
PENJUALAN MENGGUNAKAN BARCODE SCANNER BERBASIS
ANDROID,” vol. 4, no. 1, pp. 49–55, 2022.
[6] C. F. Permatasari et al., “Perancangan sistem informasi penjualan barang
pada toko liga beras berbasis android,” vol. 05, no. 02, pp. 285–293, 2024.
[7] R. Abidin and N. DESTY AYU, “Analisa dan Pengembangan Sistem
Informasi Prestasi Dosen Dan Mahasiswa Menggunakan Metode
Prototype,” Adopsi Teknol. dan Sist. Inf., vol. 2, no. 2, pp. 132–141, 2023,
doi: 10.30872/atasi.v2i2.959.
[8] Y. I. Chandra, S. Sutarno, and K. Rokoyah, “Penerapan Model Prototype
Dalam Membangun Aplikasi Pendaftaran Travel di PT Digital Travel
Indonesia,” J. Esensi Infokom J. Esensi Sist. Inf. dan Sist. Komput., vol. 8,
no. 1, pp. 61–68, 2024, doi: 10.55886/infokom.v8i1.857.
[9] A. S. Wahyuni, A. I. Arifin, Nurdiasih, and W. Haryono, “Sistem Aplikasi
Berbasis Web SMK Solusi Efisien untuk Monitoring Kehadiran Siswa
SMK Menggunakan Model Prototype,” Modem J. Inform. dan Sains
Teknol., vol. 3, no. 3, pp. 37–46, 2025.
[10] R. Pratiwi and I. Kholil, “Implementasi Model Prototype untuk
Perancangan Sistem Informasi Project Monitoring Berbasis Web,” TIN
Terap. Inform. Nusant., vol. 5, no. 2, pp. 135–143, 2024, doi:
10.47065/tin.v5i2.5307.
[11] Sugandi Zain Arif Wildan, Nugraha Yoga Adi, Anam Nurul Syaiful, and
Darmayanti Irma, “Implementasi Konsep Pemrograman Berorientasi Objek
Dalam Aplikasi Pembukuan Keuangan Penjual Jus Buah Menggunakan
Bahasa Pemrograman Java Zain,” J. IT CIDA, vol. 8, no. 1, p. 2, 2022,
[Online]. Available:
[Link]
[12] F. Asrin, “PEMODELAN DESAIN SISTEM BERORIENTASI OBJEK
PADA e-GUEST BOOK MENGGUNAKAN UNIFIED MODELLING
LANGUAGE,” Comput. J. Comput. Sci. Inf. Syst., vol. 7, no. 1, pp. 50–62,
2023.
[13] A. D. Wulansari and B. Sujatmiko, “Pengembangan Media Pembelajaran
Berbasis Web Menggunakan Pjbl Untuk Mengukur Kompetensi
Pemrograman Pada Mata Pelajaran Pemrograman Berbasis Objek (Studi
Kasus : SMKN 2 Surabaya),” IT-Edu J. Inf. Technol. Educ., vol. 9, no. 2,
pp. 9–17, 2024, doi: 10.26740/it-edu.v9i2.61338.
[14] S. P. Pratama and B. Sujatmiko, “Pengembangan Aplikasi Goop Untuk
Meningkatkan Kompetensi Object Oriented Programming Menggunakan
Project Based Learning Pada Mata Pelajaran Pemrograman Berorientasi
Objek,” IT-Edu J. Inf. Technol. Educ., vol. 9, no. 2, pp. 1–8, 2024, doi:
10.26740/it-edu.v9i2.61262.
[15] S. Narulita, A. Nugroho, and M. Z. Abdillah, “Diagram Unified Modelling
Language ( UML ) untuk Perancangan Sistem Informasi Manajemen
Penelitian dan Pengabdian Masyarakat ( SIMLITABMAS ) Universitas
Nasional Karangturi Semarang , Indonesia ( deskripsi ) dan perancangan
sistem , khususnya pada pemrogr,” no. 3, pp. 244–256, 2024.
[16] Suharni, E. Susilowati, and F. Pakusadewa, “PERANCANGAN WEBSITE
RUMAH MAKAN NINIK SEBAGAI MEDIA PROMOSI
MENGGUNAKAN UNIFIED MODELLING LANGUAGE,” vol. 10, no.
2, pp. 1–12, 2023.
[17] K. Nistrina and L. Sahidah, “Unified Modelling Language (Uml) Untuk
Perancangan Sistem Informasi Penerimaan Siswa Baru Di Smk Marga
Insan Kamil,” J. Sist. Informasi, J-SIKA, vol. 4, no. 1, pp. 17–23, 2022.
[18] C. A. Binangkit, A. Voutama, and N. Heryana, “Pemanfaatan Uml (Unified
Modeling Language) Dalam Perencanaan Sistem Penyewaan Baju Adat
Berbasis Website,” I N F O R M a T I K a, vol. 14, no. 2, p. 26, 2023, doi:
10.36723/juri.v14i2.445.
[19] V. J. H. Wongkar, A. Sambul, and S. Sentinuwo, “Rancang Bangun
Aplikasi Layanan Pemesanan Produk Bahan Pangan dan Sembako di Pasar
Karombasan,” pp. 1–8, 2021.
[20] S. Rao, M. Alda, U. Islam, and N. Sumatera, “SISTEM INFORMASI
POINT OF SALES PADA TOKO DISTRIBUTOR,” vol. 4307, no.
August, pp. 1192–1200, 2024.
[21] D. S. Wijaya, W. G. Irngamsyah, E. Yulia, and S. Astutik, “Andeya :
Aplikasi Untuk Menentukan Harga Jual Barang Berbasis Android Pada
Toko Dedi Jaya,” vol. 2, pp. 73–78, 2023.
[22] K. Anam, I. Arif, and M. Farkhan, “Aplikasi Pencarian Toko UMKM
Terdekat Berbasis Android Menggunakan Api Google Maps,” BIOS J.
Teknol. Inf. dan Rekayasa Komput., vol. 5, no. 1, pp. 53–60, 2023, doi:
10.37148/bios.v5i1.93.
[23] D. Ninosari and N. Qurniati, “Sistem E- Kasir Bombaru Bar dan Resto
Kota Bengkulu Berbasis Android,” vol. 5, no. 1, pp. 150–156, 2025.
[24] P. S. Lesilolo, H. Tolle, and R. I. Rokhmawati, “Perancangan User
Experience Aplikasi Usaha Toko Kelontong dengan menggunakan Metode
Human-Centered Design ( Studi Kasus : Toko Assri Denpasar Bali ),” vol.
6, no. 3, pp. 1324–1331, 2022.
[25] P. A. Panchadria and E. Rahayu, “Toko Sembako Terintegrasi Payment
Gateway Midtrans Berbasis Android,” vol. 2, no. 2, pp. 63–68, 2022.