Rekayasa Perangkat Lunak - Sistem Pembayaran Kasir
Software Requirements Specification
for
Application for Payment Transaction Systems at Cashiers
Prepared by :
Riska Oktafia -
21312073
Clara Maradini –
21312072
Dyah Peny A –
21312059
Aprili Yani
Amanda Putri - 21312064
26 Mei 2023
Table of Contents........................................................................................................................... ii
Revision History............................................................................................................................. ii
1. Introduction............................................................................................................................. 1
1.1 Purpose................................................................................................................................. 1
1.2 Document
Conventions.......................................................................................................... 1
1.3 Intended
Audience and Reading Suggestions........................................................................... 1
1.4 Product
Scope........................................................................................................................ 2
1.5 References............................................................................................................................. 2
2. Overall
Description................................................................................................................. 2
2.1 Product
Perspective................................................................................................................ 2
2.2 Product
Functions.................................................................................................................. 2
2.3 User
Classes and Characteristics............................................................................................. 3
2.4 Operating
Environment.......................................................................................................... 3
2.5 Design
and Implementation Constraints................................................................................... 3
2.6 User
Documentation............................................................................................................... 4
2.7 Assumptions
and Dependencies.............................................................................................. 4
3. External
Interface Requirements........................................................................................... 4
3.1 User
Interfaces....................................................................................................................... 4
3.2 Hardware
Interfaces............................................................................................................... 5
3.3 Software
Interfaces................................................................................................................. 5
3.4 Communications
Interfaces..................................................................................................... 6
4. System
Features....................................................................................................................... 6
4.1 Pencatatan
Transaksi.............................................................................................................. 7
4.2 Pembayaran........................................................................................................................... 8
4.3 Kalkulasi
Otomatis................................................................................................................. 8
4.4 Manajemen
Stok.................................................................................................................... 9
4.5 Pencetakan
Struk.................................................................................................................... 9
4.6 Laporan
Transaksi................................................................................................................ 10
4.7 Manajemen
Pengguna.......................................................................................................... 11
4.8 Integrasi
dengan Perangkat Keras.......................................................................................... 11
4.9 Keamanan
Data.................................................................................................................... 12
4.10 Antarmuka
Pengguna yang Intuitif........................................................................................ 12
4.11 Pembaruan
dan Pemeliharaan................................................................................................ 13
4.12 Integrasi
dengan Sistem Manajemen Stok.............................................................................. 13
4.13 Pemantauan
dan Pelacakan Transaksi.................................................................................... 14
4.14 Kecepatan
dan Kinerja......................................................................................................... 14
4.15 Penyesuaian
dan Konfigurasi................................................................................................ 15
5. Other
Nonfunctional Requirements.................................................................................... 16
5.1 Performance
Requirements................................................................................................... 16
5.2 Safety
Requirements............................................................................................................ 16
5.3 Security
Requirements.......................................................................................................... 17
5.4 Software
Quality Attributes.................................................................................................. 18
5.5 Business
Rules..................................................................................................................... 19
6. Other
Requirements.............................................................................................................. 20
Appendix A: Glossary................................................................................................................. 21
Appendix B: Analysis Models.................................................................................................... 23
Appendix C: To Be Determined List......................................................................................... 24
1. Introduction
1.1 Purpose
Tujuan dari dokumen ini adalah untuk melakukan
transaksi melalui perangkat lunak. Dengan adanya perangkat lunak ini dapat
mempercepat serta mempermudah proses penjualan manajemen stok hingga pembuatan
laporan keuangan secara akurat.
1.2 Document Conventions
- Format Penulisan
- Judul: Judul akan ditulis dengan huruf kapital
dan diberi penekanan dengan menggunakan teks bold.
- Subjudul: Subjudul akan ditulis dengan huruf
kapital dan gaya penulisan Title Case.
- Paragraf: Paragraf akan ditulis dengan
menggunakan format left-align dan teks normal.
- Daftar dan Subdaftar: Daftar dan subdaftar akan
ditulis dengan menggunakan bullet points atau numbering. Bullet points
akan digunakan untuk daftar yang tidak memiliki urutan tertentu, sedangkan
numbering akan digunakan untuk daftar yang memiliki urutan.
- Referensi: Referensi akan ditulis dengan
menggunakan format yang ditetapkan, seperti penulisan nama dokumen atau hyperlink
yang relevan.
- Istilah Teknis
Istilah
teknis yang spesifik akan ditulis dengan huruf kapital dan diberi penekanan
menggunakan teks italic. Glosarium akan disediakan di bagian awal atau akhir
dokumen untuk menjelaskan istilah-istilah yang digunakan dalam aplikasi.
- Citasi dan Referensi
Jika
ada referensi eksternal, seperti standar industri atau dokumen peraturan, akan
diberikan citasi yang mencakup sumber, judul, nomor versi, dan tanggal terbit.
Jika
ada referensi internal, seperti dokumen desain atau spesifikasi sebelumnya,
akan diberikan informasi yang relevan seperti judul, nomor versi, dan tanggal
terbit.
- Tabel
Jika
ada penggunaan tabel, format tabel akan diikuti dengan menggunakan header yang
jelas untuk setiap kolom, dan data akan diisi dengan tepat dan terstruktur.
- Acronyms dan Singkatan
Jika
ada penggunaan akronim atau singkatan, akan diberikan penjelasan yang jelas
saat pertama kali disebutkan dalam dokumen.
1.3 Intended Audience and Reading Suggestions
Sesuai definisinya, sistem pembayaran kasir membantu
memudahkan transaksi penjualan. Sehingga segala maam bisnis tetap bisa
menggunakan sistem pembayaran kasir tersebut. Lalu, siapa atau bisnis apa saja
yang membutuhkan sistem pembayaran kasir?
a.
Minimarket, dengan puluhan produk yang dijual hingga
banyaknya pembeli menjadikan alasan mengapa sistem pembayaran kasir sangat
dibutuhkan usaha minimarket.
b.
Toko Kelontong, dengan penjualan yang tidak jauh beda
denga minimarket tidak menutup kemungkinan bahwa toko kelontong juga sangat
membutuhkan sistem pembayaran kasir.
c.
Coffe Shop, karena minat dan keinginan pada saat ini yang
membuat coffe shop sangat digemari dan dikunjungi banyak orang membuat coffe
shop juga sangat membutuhkan sistem pembayaran kasir.
d.
F&B atau Restoran, restoran merupakan
bisnis yang selalu ada pelanggan, menghindari antrian pesanan yang panjang
adalah hal yang wajib di hindari. Dengan sistem pembayaran kasir yang memiliki
fitur kecepatan akan sangat dibutuhkan dalam usaha ini.
1.4 Product Scope
a.
Aplikasi ini akan digunakan
oleh kasir dalam bisnis atau toko untuk memproses pembayaran dari pelanggan.
b.
Aplikasi ini akan mencatat
transaksi, menghitung total pembayaran, memperbarui stok barang, dan mencetak
struk pembayaran.
c. Aplikasi ini tidak mencakup manajemen stok secara keseluruhan atau
fitur manajemen pelanggan yang kompleks.
1.5 References
a.
Dokumen Desain Aplikasi
Aplikasi ini akan mengacu pada dokumen desain terkait untuk
memastikan implementasi sesuai dengan spesifikasi dan arsitektur yang telah
ditentukan.
b.
Peraturan Perpajakan
Aplikasi harus mematuhi peraturan perpajakan yang berlaku untuk
mencatat dan melaporkan transaksi dengan benar. Referensi terkait peraturan
perpajakan akan menjadi acuan.
2. Overall Description
2.1 Product Perspective
Sistem transaksi
pembayaran pada kasir ini merupakan aplikasi mandiri yang akan diinstal pada
komputer kasir. Aplikasi ini akan berinteraksi dengan perangkat keras seperti
scanner barcode, printer, dan mesin pembayaran elektronik (jika digunakan).
Selain itu, aplikasi ini juga dapat terintegrasi dengan sistem manajemen stok
yang ada di toko atau bisnis.
2.2 Product Functions
1. a. Pencatatan Transaksi:
·
Kasir dapat memasukkan detail transaksi, termasuk daftar barang atau layanan
yang dibeli, jumlah, harga, diskon, dan pajak.
·
Aplikasi harus mampu menyimpan informasi transaksi dengan akurat dan
dapat diakses kembali untuk keperluan pencatatan dan pelaporan.
b. Pembayaran:
·
Aplikasi harus mendukung berbagai metode pembayaran, seperti tunai,
kartu kredit, kartu debit, dan pembayaran elektronik.
·
Kasir dapat memproses pembayaran dengan cepat dan menghitung jumlah
kembaliannya jika pembayaran melebihi jumlah tagihan.
c. Kalkulasi Otomatis:
·
Aplikasi harus dapat menghitung jumlah total pembayaran secara otomatis
berdasarkan harga, jumlah, dan diskon yang terkait.
d. Manajemen Stok:
·
Aplikasi harus memperbarui stok barang secara real-time setelah
transaksi berhasil dilakukan.
·
Jika jumlah barang mencapai batas minimum, aplikasi harus memberikan
notifikasi kepada pengguna.
e. Pencetakan Struk:
·
Aplikasi harus dapat mencetak struk pembayaran dengan informasi
transaksi yang relevan, seperti detail barang, jumlah pembayaran, dan tanggal
transaksi.
f. Laporan Transaksi:
·
Aplikasi harus menghasilkan laporan transaksi harian, mingguan, atau
bulanan yang mencakup informasi seperti total penjualan, rincian transaksi, dan
keuntungan.
2.3 User Classes and Characteristics
a.
Kelas pengguna
Kasir atau petugas penjualan.
b.
Karakteristik pengguna
Pengguna harus memiliki pemahaman dasar tentang transaksi pembayaran
dan kemampuan menggunakan perangkat komputer. Pengguna juga harus mampu
mengelola stok barang dan mencetak struk pembayaran.
2.4 Operating Environment
·
Sistem Operasi
Aplikasi ini akan mendukung sistem operasi Windows 10 atau yang
lebih baru.
·
Perangkat Keras
Aplikasi akan diinstal pada komputer kasir dengan spesifikasi
minimum, termasuk prosesor dual-core, RAM 4 GB, dan ruang penyimpanan 50 GB.
·
Perangkat Tambahan
Aplikasi membutuhkan scanner barcode untuk membaca barcode produk
dan printer untuk mencetak struk pembayaran.
2.5 Design and Implementation Constraints
·
Antarmuka
Antarmuka pengguna harus dirancang dengan baik dan mudah digunakan
oleh kasir. Warna, tata letak, dan ikon yang digunakan harus memperhatikan
kejelasan informasi dan kemudahan navigasi.
·
Kecepatan dan Kinerja
Aplikasi harus mampu memproses transaksi dengan cepat, menghitung
jumlah total dengan akurat, dan mencetak struk dalam waktu singkat.
·
Kebijakan Keamanan
Aplikasi harus memiliki mekanisme keamanan untuk melindungi data
transaksi dan mengatur hak akses pengguna sesuai dengan peran dan tanggung
jawab mereka.
2.6 User Documentation
·
Aplikasi harus disertai dengan
dokumen pengguna yang jelas dan mudah diakses, termasuk petunjuk instalasi,
panduan penggunaan, dan troubleshooting.
·
Dokumen pengguna harus mencakup
langkah-langkah operasional, deskripsi fungsi, dan contoh penggunaan.
2.7 Assumptions and Dependencies
·
Asumsi
Aplikasi diasumsikan akan dioperasikan pada lingkungan jaringan yang
stabil dan terhubung ke internet untuk pembaruan atau integrasi dengan sistem
lainnya.
·
Ketergantungan
Aplikasi bergantung pada ketersediaan perangkat keras yang
kompatibel, seperti komputer kasir, scanner barcode, dan printer.
3. External Interface Requirements
3.1 User Interfaces
Antarmuka pengguna
(user interface) dalam sistem pembayaran kasir adalah tampilan grafis atau
interaksi yang memungkinkan pengguna, seperti kasir atau pelanggan,
berinteraksi dengan sistem pembayaran. Antarmuka pengguna bertujuan untuk
membuat proses pembayaran menjadi lebih intuitif, efisien, dan mudah digunakan.
contoh antarmuka pengguna yang umum dalam sistem pembayaran kasir:
1.
Tampilan
Penjualan
Antarmuka
ini menampilkan item yang dibeli oleh pelanggan, jumlah, harga per item, total
pembayaran, dan metode pembayaran yang dipilih. Ini memberikan informasi yang
jelas tentang transaksi kepada kasir dan pelanggan.
2.
Pemilihan
Metode Pembayaran
Antarmuka
ini menyediakan pilihan metode pembayaran yang tersedia, seperti uang tunai,
kartu kredit/debit, transfer bank, atau dompet digital. Pengguna dapat memilih
metode yang sesuai dan memasukkan informasi pembayaran yang diperlukan.
3.
Integrasi
Terminal Kartu
Jika sistem
kasir terhubung dengan terminal kartu, antarmuka ini memungkinkan pengguna
memasukkan kartu kredit/debit dan memproses pembayaran secara langsung.
Pengguna akan melihat instruksi dan petunjuk pada layar untuk menyelesaikan
transaksi.
3.2 Hardware Interfaces
Antarmuka perangkat
keras (hardware interface) dalam sistem pembayaran kasir merujuk pada koneksi
fisik dan komunikasi antara sistem kasir dengan perangkat keras yang digunakan
untuk memproses pembayaran. contoh antarmuka perangkat keras yang umum dalam
sistem pembayaran kasir:
1. Terminal Kartu (Card Terminal)
Antarmuka ini menghubungkan sistem kasir
dengan terminal kartu untuk memungkinkan pengguna memasukkan kartu kredit/debit
dan memproses pembayaran. Terminal kartu biasanya menggunakan antarmuka USB,
serial, atau Ethernet untuk berkomunikasi dengan sistem kasir.
2. Scanner Barcode
Antarmuka ini memungkinkan sistem kasir
untuk terhubung dengan scanner barcode, yang digunakan untuk membaca informasi
produk atau kode transaksi. Antarmuka ini biasanya menggunakan USB atau
antarmuka nirkabel seperti Bluetooth.
3. Printer Struk (Receipt Printer)
Antarmuka ini menghubungkan sistem kasir
dengan printer struk, yang digunakan untuk mencetak struk pembayaran sebagai
bukti transaksi. Antarmuka ini dapat menggunakan koneksi USB, Ethernet, atau
Bluetooth.
3.3 Software Interfaces
Antarmuka perangkat
lunak (software interface) dalam sistem pembayaran kasir merujuk pada koneksi
dan komunikasi antara aplikasi atau sistem kasir dengan perangkat lunak lainnya
yang terlibat dalam proses pembayaran. contoh antarmuka perangkat lunak yang
umum dalam sistem pembayaran kasir:
1.
Payment
Gateway API
Antarmuka
ini memungkinkan sistem kasir untuk terhubung dengan penyedia layanan
pembayaran atau gateway pembayaran. API ini menyediakan fungsi-fungsi seperti
pemrosesan pembayaran, otentikasi transaksi, pemantauan status pembayaran, dan
pengelolaan refund. API ini biasanya menggunakan protokol HTTP(S) atau SOAP.
2.
Aplikasi
Dompet Digital
Jika
sistem kasir mendukung pembayaran menggunakan dompet digital, antarmuka ini
memungkinkan integrasi dengan aplikasi dompet digital yang digunakan oleh
pelanggan. Ini termasuk pemrosesan pembayaran, pemantauan status pembayaran,
dan komunikasi dengan aplikasi dompet digital melalui API atau SDK yang
disediakan.
3.
Sistem
Keuangan atau Akuntansi
Antarmuka
ini menghubungkan sistem kasir dengan sistem keuangan atau akuntansi yang
digunakan dalam bisnis. Ini memungkinkan transfer data transaksi dan informasi
pembayaran ke sistem keuangan, dan juga dapat melibatkan sinkronisasi data
pembayaran, pelaporan keuangan, dan pemadanan transaksi.
3.4 Communications Interfaces
Antarmuka
komunikasi (communications interface) dalam sistem pembayaran kasir merujuk pada
metode atau protokol yang digunakan untuk mengirim dan menerima data transaksi
antara sistem kasir dengan sistem lain, seperti server pembayaran, penyedia
layanan pembayaran, atau perangkat eksternal. contoh antarmuka komunikasi yang
umum dalam sistem pembayaran kasir:
1.
Protokol
HTTP(S)
Protokol
HTTP(S) digunakan untuk mengirimkan permintaan dan menerima respons antara
sistem kasir dan sistem pembayaran melalui jaringan internet. Ini sering
digunakan dalam integrasi dengan API pembayaran atau gateway pembayaran.
2.
Protokol
SOAP
Simple
Object Access Protocol (SOAP) adalah protokol yang digunakan untuk pertukaran
data struktural di lingkungan jaringan. SOAP dapat digunakan dalam integrasi
dengan sistem pembayaran atau penyedia layanan pembayaran yang menggunakan
protokol ini.
3.
Protokol
FTP/SFTP
File
Transfer Protocol (FTP) atau Secure File Transfer Protocol (SFTP) digunakan
untuk mentransfer file antara sistem kasir dan sistem pembayaran. Ini mungkin
diperlukan jika ada pertukaran file seperti laporan transaksi atau pembaruan
konfigurasi.
4. System Features
Sistem pembayaran kasir merupakan salah satu komponen
penting dalam proses transaksi di berbagai jenis bisnis, seperti toko retail,
restoran, atau layanan lainnya. Berikut adalah beberapa fitur-fitur
Sistem untuk Aplikasi Sistem Transaksi Pembayaran pada Kasir:
- Pembayaran:
- Kalkulasi
Otomatis:
- Manajemen
Stok:
- Pencetakan
Struk:
- Laporan
Transaksi:
- Manajemen
Pengguna:
- Integrasi
dengan Perangkat Keras:
- Keamanan
Data:
- Antarmuka
Pengguna yang Intuitif:
- Pembaruan
dan Pemeliharaan:
- Integrasi
dengan Sistem Manajemen Stok
- Pemantauan
dan Pelacakan Transaksi.
- Kecepatan
dan Kinerja
- Penyesuaian
dan Konfigurasi
4.1
Pencatatan Transaksi
4.1.1 Description and Priority
Pencatatan
transaksi adalah salah satu fungsi utama dari aplikasi sistem transaksi
pembayaran pada kasir. Fungsi ini memiliki prioritas tinggi karena merupakan
langkah kritis dalam proses pembayaran yang harus dilakukan dengan akurat dan
efisien. Pencatatan transaksi melibatkan pengumpulan dan penyimpanan informasi
terkait pembelian barang atau layanan oleh pelanggan.
4.1.2 Stimulus/Response Sequences
a. Stimulus:
Kasir memulai transaksi
dengan memasukkan barang atau layanan yang dibeli oleh pelanggan ke dalam
aplikasi.
Kasir
memasukkan jumlah dan harga barang atau layanan yang dipilih.
Kasir
memberikan diskon (jika ada) yang berlaku untuk barang atau layanan tertentu.
Kasir memasukkan
informasi pembayaran yang meliputi metode pembayaran, jumlah uang yang
diterima, dan jika pembayaran menggunakan kartu, kasir akan meminta penggunaan
kartu tersebut.
b. Respons:
Aplikasi
mencatat detail transaksi, termasuk daftar barang atau layanan, jumlah, harga,
diskon, dan informasi pembayaran.
Aplikasi
menghitung jumlah total pembayaran berdasarkan harga, jumlah, dan diskon yang
terkait.
Aplikasi mencatat
informasi pembayaran yang meliputi metode pembayaran, jumlah uang yang
diterima, dan jika pembayaran menggunakan kartu, aplikasi akan mengirim
permintaan otorisasi ke sistem pembayaran yang terkait.
Aplikasi
menghasilkan struk pembayaran yang mencantumkan detail transaksi dan informasi
pembayaran.
4.1.3 Functional Requirements
Persyaratan
Fungsional untuk Pencatatan Transaksi:
R1: Aplikasi
harus memiliki antarmuka yang memungkinkan kasir memasukkan barang atau layanan
yang dibeli oleh pelanggan.
R2: Aplikasi
harus memvalidasi data transaksi yang dimasukkan oleh kasir untuk memastikan
integritas dan keakuratan informasi.
R3: Aplikasi
harus mencatat dan menyimpan detail transaksi secara akurat, termasuk daftar
barang atau layanan, jumlah, harga, diskon, dan informasi pembayaran.
R4: Aplikasi
harus dapat menghitung jumlah total pembayaran secara otomatis berdasarkan
harga, jumlah, dan diskon yang terkait.
R5: Aplikasi
harus mendukung berbagai metode pembayaran, seperti tunai, kartu kredit, kartu
debit, dan pembayaran elektronik.
R6: Aplikasi
harus dapat memproses pembayaran dengan cepat dan akurat.
R7: Aplikasi
harus mencatat informasi pembayaran yang meliputi metode pembayaran, jumlah
uang yang diterima, dan jika pembayaran menggunakan kartu, aplikasi harus
mengirim permintaan otorisasi ke sistem pembayaran yang terkait.
R8: Aplikasi
harus menghasilkan struk pembayaran yang mencantumkan detail transaksi dan
informasi pembayaran dalam format yang mudah dipahami oleh pelanggan.
R9: Aplikasi
harus memperbarui stok barang secara real-time setelah transaksi pembelian
berhasil dilakukan.
4.2
Pembayaran
4.2.1 Description and Priority
Fitur
pembayaran memungkinkan kasir untuk menerima dan mengelola pembayaran dari
pelanggan. Ini mencakup berbagai metode pembayaran seperti tunai, kartu kredit,
dan pembayaran elektronik. Fitur ini juga memastikan akurasi pembayaran dan
menghitung jumlah kembalian jika ada. High priority. Fitur ini sangat penting
karena merupakan inti dari sistem transaksi pembayaran
4.2.2 Stimulus/Response Sequences
a. Stimulus:
Pelanggan
memilih metode pembayaran dan memberikan jumlah pembayaran.
b. Respons:
Aplikasi
menampilkan jumlah yang harus dibayar dan meminta pelanggan untuk melakukan
pembayaran sesuai metode yang dipilih. Setelah pembayaran diterima, aplikasi
mengonfirmasi penerimaan pembayaran dan mencetak struk pembayaran (jika perlu).
.
4.2.3 Functional Requirements
Persyaratan
Fungsional untuk Pembayaran:
R1: Aplikasi
harus mendukung berbagai metode pembayaran, termasuk tunai, kartu kredit, kartu
debit, dan pembayaran elektronik.
R2: Aplikasi
harus memvalidasi dan mengonfirmasi pembayaran yang diterima sebelum
melanjutkan proses transaksi.
R3: Aplikasi
harus menghitung jumlah kembaliannya (jika ada) berdasarkan jumlah pembayaran
dan total pembayaran.
4.3
Kalkulasi Otomatis
4.3.1 Description and Priority
Fitur kalkulasi
otomatis secara otomatis menghitung jumlah total pembayaran berdasarkan harga,
jumlah, dan diskon terkait dengan barang atau layanan yang dibeli. Ini
memastikan akurasi perhitungan dan menghemat waktu kasir. Priority: High. Fitur
ini penting untuk memastikan keakuratan dan efisiensi dalam proses transaksi.
4.3.2 Stimulus/Response Sequences
a. Stimulus:
Kasir
memasukkan harga barang dan jumlahnya.
b. Respons:
Aplikasi menghitung
total harga berdasarkan harga barang dan jumlah yang dimasukkan, serta menerapkan
diskon atau promosi yang berlaku. Aplikasi kemudian menampilkan total harga
kepada kasir.
4.3.3 Functional Requirements
Persyaratan
Fungsional untuk Kalkulasi Otomatis:
R1: Aplikasi
harus menghitung jumlah total pembayaran secara otomatis berdasarkan harga,
jumlah, dan diskon yang terkait.
R2: Aplikasi
harus memastikan akurasi perhitungan dengan menangani perhitungan matematika
yang kompleks, termasuk perhitungan pajak (jika diperlukan).
4.4
Manajemen Stok
4.4.1 Description and Priority
Fitur manajemen
stok memungkinkan pengelolaan stok barang secara efektif. Ini mencakup
penambahan, pengurangan, dan penyesuaian stok barang. Fitur ini memastikan
ketersediaan stok yang akurat dan meminimalkan risiko kekurangan stok.
Priority: High. Fitur ini penting untuk menjaga kelancaran operasional dan
menghindari kehabisan stok barang.
4.4.2 Stimulus/Response Sequences
a. Stimulus:
Barang terjual
atau ditambahkan ke stok.
b. Respons:
Ketika barang
terjual, aplikasi secara otomatis mengurangi jumlah stok yang tersedia. Ketika
barang ditambahkan ke stok, aplikasi secara otomatis mengupdate jumlah stok
yang tersedia. Aplikasi juga dapat mengirimkan notifikasi kepada pengguna jika
stok suatu barang menipis atau mencapai batas minimum.
4.4.3 Functional Requirements
Persyaratan
Fungsional untuk Manajemen Stok:
R1: Aplikasi
harus menyediakan antarmuka untuk mengelola stok barang, termasuk penambahan
stok, pengurangan stok, dan penyesuaian stok manual.
R2: Aplikasi
harus memperbarui stok barang secara real-time setelah transaksi pembelian atau
pengurangan stok berhasil dilakukan.
R3: Aplikasi
harus memberikan notifikasi atau peringatan saat stok barang mencapai batas
minimum yang ditentukan.
4.5
Pencetakan Struk
4.5.1 Description
and Priority
Fitur
pencetakan struk mencetak struk pembayaran yang mencantumkan rincian transaksi
dan informasi pembayaran. Struk ini berfungsi sebagai bukti pembayaran untuk
pelanggan dan catatan transaksi. Priority: Medium. Fitur ini penting untuk
memberikan bukti transaksi kepada pelanggan, tetapi tidak memiliki dampak
langsung pada proses transaksi itu sendiri.
4.5.2 Stimulus/Response Sequences
a. Stimulus:
Transaksi
selesai dan perlu dicetak struk pembayaran.
b. Respons:
Aplikasi
mencetak struk pembayaran yang mencantumkan rincian transaksi, termasuk item yang
dibeli, jumlah yang dibayar, kembalian (jika ada), dan informasi toko.
.
4.5.3 Functional Requirements
Persyaratan
Fungsional untuk Pencetakan Struk:
R1: Aplikasi
harus mencetak struk pembayaran yang mencantumkan detail transaksi, informasi
pembayaran, dan informasi tambahan yang relevan.
R2: Aplikasi
harus mendukung pengaturan format dan tata letak struk pembayaran yang dapat
disesuaikan.
4.6
Laporan Transaksi
4.6.1 Description and Priority
Fitur laporan
transaksi menghasilkan laporan yang mencakup informasi penting seperti total
penjualan, rincian transaksi, dan keuntungan. Laporan ini membantu pemilik atau
manajer toko dalam menganalisis performa bisnis dan membuat keputusan
strategis. Priority: High. Fitur ini penting untuk pemantauan kinerja toko dan
pengambilan keputusan berdasarkan data transaksi.
4.6.2 Stimulus/Response Sequences
a. Stimulus:
Permintaan
pengguna untuk melihat laporan transaksi.
b. Respons:
Aplikasi
menghasilkan laporan transaksi yang mencakup informasi seperti total penjualan,
rincian transaksi, penjualan berdasarkan kategori produk, dan statistik
penjualan. Aplikasi menampilkan laporan transaksi dengan tampilan yang sesuai
dan dapat mengizinkan pengguna untuk menyaring, mengurutkan, atau memfilter
laporan berdasarkan kriteria tertentu.
4.6.3 Functional Requirements
Persyaratan
Fungsional untuk Laporan Transaksi:
R1: Aplikasi
harus menghasilkan laporan transaksi yang mencakup informasi seperti total
penjualan, rincian transaksi, dan keuntungan.
R2: Aplikasi
harus memungkinkan pengguna untuk memfilter dan mengurutkan laporan transaksi
berdasarkan kriteria tertentu.
R3: Aplikasi
harus mendukung ekspor laporan transaksi ke format yang umum digunakan, seperti
PDF atau Excel.
4.7
Manajemen Pengguna
4.7.1 Description and Priority
Fitur manajemen
pengguna memungkinkan pengaturan hak akses dan peran pengguna dalam aplikasi.
Ini termasuk pembuatan akun pengguna, pengaturan izin akses, dan pengelolaan pengguna.
Priority: Medium. Fitur ini penting untuk menjaga keamanan dan mengatur tingkat
akses pengguna, tetapi tidak langsung mempengaruhi proses transaksi.
4.7.2 Stimulus/Response Sequences
a. Stimulus:
Pengguna ingin
membuat, mengubah, atau menghapus akun pengguna.
b. Respons:
Aplikasi
memvalidasi permintaan dan mengizinkan pengguna untuk membuat, mengubah, atau
menghapus akun pengguna. Aplikasi juga dapat membatasi akses dan hak pengguna
berdasarkan peran atau tingkat akses yang ditentukan.
4.7.3 Functional Requirements
Persyaratan
Fungsional untuk Manajemen Pengguna:
R1: Aplikasi
harus menyediakan sistem pengguna yang aman dengan pengaturan hak akses dan
peran yang sesuai.
R2: Aplikasi
harus memungkinkan pengguna untuk membuat, mengedit, dan menghapus akun
pengguna.
R3: Aplikasi
harus memberikan kontrol akses yang tepat, termasuk hak akses berdasarkan modul
atau fungsi tertentu.
4.8
Integrasi dengan Perangkat
Keras
4.8.1 Description and Priority
Fitur ini
memungkinkan integrasi dengan perangkat keras seperti scanner barcode dan
printer untuk membaca barcode produk dan mencetak struk pembayaran. Priority:
Medium. Fitur ini memudahkan proses transaksi dengan mendukung perangkat keras
tambahan, tetapi tidak kritis untuk fungsi inti sistem pembayaran.
4.8.2 Stimulus/Response Sequences
a. Stimulus:
Aplikasi
terhubung dengan perangkat keras seperti scanner barcode atau printer.
b. Respons:
Aplikasi
menerima input dari scanner barcode untuk mengidentifikasi produk secara
otomatis. Aplikasi juga mengirim perintah cetak ke printer untuk mencetak struk
atau laporan transaksi.
.
4.8.3 Functional Requirements
Persyaratan
Fungsional untuk Integrasi dengan Perangkat Keras:
R1: Aplikasi harus berintegrasi dengan perangkat keras seperti scanner
barcode untuk membaca barcode produk.
R2: Aplikasi harus berkomunikasi dengan printer untuk mencetak struk
pembayaran.
4.9
Keamanan Data
4.9.1 Description and Priority
Fitur keamanan
data melibatkan langkah-langkah untuk melindungi kerahasiaan dan integritas
data transaksi, termasuk enkripsi data, pengaturan izin akses, dan pencadangan
rutin. Priority: High. Fitur ini penting untuk melindungi informasi sensitif
dan menjaga keamanan transaksi.
4.9.2 Stimulus/Response Sequences
a. Stimulus:
Pengguna
mengakses atau memasukkan data transaksi.
b. Respons:
Aplikasi
melindungi data transaksi dengan mengenkripsi informasi sensitif seperti data
pelanggan, detail pembayaran, dan informasi akun pengguna. Aplikasi juga
menerapkan mekanisme keamanan untuk mencegah akses tidak sah, seperti otentikasi
pengguna dan otorisasi akses berbasis peran.
.
4.9.3 Functional Requirements
Persyaratan
Fungsional untuk Keamanan Data:
R1: Aplikasi harus mengenkripsi data transaksi yang sensitif saat
disimpan atau ditransmisikan.
R2: Aplikasi harus menerapkan mekanisme otentikasi dan otorisasi untuk
mengontrol akses ke data transaksi.
R3: Aplikasi harus melakukan pencadangan data secara teratur untuk
melindungi data transaksi dari kehilangan atau kerusakan.
4.10
Antarmuka Pengguna yang
Intuitif
4.10.1 Description and Priority
Fitur antarmuka
pengguna yang intuitif menyediakan pengalaman pengguna yang mudah digunakan dan
dipahami. Ini mencakup tata letak yang jelas, petunjuk kontekstual, dan
navigasi yang intuitif. Priority: High. Fitur ini penting untuk meningkatkan
efisiensi dan kepuasan pengguna dalam menggunakan aplikasi.
4.10.2 Stimulus/Response Sequences
a. Stimulus:
Pengguna
berinteraksi dengan antarmuka pengguna aplikasi.
b. Respons:
Aplikasi
menyajikan antarmuka pengguna yang mudah dipahami dan intuitif. Aplikasi
memberikan petunjuk yang jelas kepada pengguna saat melakukan pembayaran,
memasukkan data, atau menjelajahi fitur aplikasi.
4.10.3 Functional Requirements
Persyaratan
Fungsional untuk Antarmuka Pengguna yang Intuitif:
R1: Aplikasi
harus memiliki antarmuka pengguna yang mudah digunakan, dengan navigasi yang
jelas dan intuitif.
R2: Aplikasi
harus menyajikan informasi transaksi secara jelas dan terstruktur dalam
antarmuka pengguna.
R3: Aplikasi
harus menyediakan petunjuk atau bantuan kontekstual untuk membantu pengguna
dalam menggunakan fitur-fitur aplikasi.
4.11
Pembaruan dan Pemeliharaan
4.11.1 Description and Priority
Fitur pembaruan
dan pemeliharaan mencakup kemampuan untuk memperbarui perangkat lunak secara
berkala, melakukan perbaikan bug, meningkatkan performa, dan menjaga keamanan.
Priority: Medium. Fitur ini penting untuk menjaga keberlanjutan dan keandalan
aplikasi, tetapi tidak mempengaruhi langsung proses transaksi.
4.11.2 Stimulus/Response Sequences
a. Stimulus:
Tersedia
pembaruan atau pemeliharaan sistem.
b. Respons:
Aplikasi
memberikan notifikasi kepada pengguna tentang adanya pembaruan atau
pemeliharaan yang tersedia. Aplikasi juga dapat memberikan panduan atau
prosedur untuk melakukan pembaruan atau pemeliharaan sistem.
.
4.11.3 Functional Requirements
Persyaratan
Fungsional untuk Pembaruan dan Pemeliharaan:
R1: Aplikasi
harus mendukung pembaruan perangkat lunak secara berkala dengan
mengintegrasikan mekanisme pembaruan yang aman dan mudah digunakan.
R2: Aplikasi
harus memungkinkan pemeliharaan rutin, termasuk perbaikan bug, peningkatan
performa, dan perbaikan keamanan.
4.12
Integrasi dengan Sistem
Manajemen Stok
4.12.1 Description and Priority
Fitur ini
memungkinkan integrasi dengan sistem manajemen stok yang ada untuk memperbarui
informasi stok barang secara akurat dan real-time. Priority: Medium. Fitur ini
penting untuk memastikan konsistensi data stok dan menghindari kesalahan dalam
manajemen stok..
4.12.2 Stimulus/Response Sequences
a. Stimulus:
Perubahan stok
barang pada sistem manajemen stok terkait.
b. Respons:
Aplikasi
menerima pembaruan stok dari sistem manajemen stok dan memperbarui stok yang
tersedia dalam aplikasi. Aplikasi juga mengirim informasi stok ke sistem
manajemen stok saat ada perubahan yang terjadi melalui aplikasi kasir.
4.12.3 Functional Requirements
Persyaratan
Fungsional untuk Integrasi dengan Sistem Manajemen Stok:
R1: Aplikasi
harus berintegrasi dengan sistem manajemen stok yang ada untuk memperbarui
informasi stok barang secara akurat.
R2: Aplikasi
harus menerima pembaruan stok dari sistem manajemen stok yang ada dan
memperbarui stok barang secara real-time.
4.13
Pemantauan dan Pelacakan
Transaksi
4.13.1 Description and Priority
Fitur ini
memungkinkan pengguna untuk memantau dan melacak status transaksi secara real-time,
termasuk informasi seperti transaksi tertunda, transaksi yang belum selesai,
atau transaksi yang dibatalkan. Priority: Medium. Fitur ini membantu pengguna
dalam mengelola transaksi dan mengatasi masalah dengan cepat, tetapi tidak
kritis untuk fungsi inti sistem pembayaran.
4.13.2 Stimulus/Response Sequences
a. Stimulus:
Kasir ingin
memantau atau melacak status transaksi tertentu.
b. Respons:
Aplikasi
menyediakan tampilan yang memungkinkan kasir untuk memantau dan melacak status
transaksi secara real-time. Aplikasi juga dapat memberikan notifikasi kepada
kasir tentang transaksi yang belum selesai atau memerlukan tindakan lebih
lanjut.
.
4.13.3 Functional Requirements
Persyaratan
Fungsional untuk Pemantauan dan Pelacakan Transaksi:
R1.12.1:
Aplikasi harus menyediakan fitur pemantauan dan pelacakan transaksi tertentu
berdasarkan kriteria yang ditentukan oleh pengguna.
R1.12.2:
Aplikasi harus memungkinkan pengguna untuk melihat status transaksi secara
real-time dan melacak riwayat transaksi.
4.14
Kecepatan dan Kinerja
4.14.1 Description and Priority
Fitur ini
mencakup aspek kecepatan dan kinerja aplikasi, termasuk respons yang cepat dan
kemampuan untuk menangani volume transaksi yang tinggi dengan efisien.
Priority: High. Fitur ini penting untuk menjaga efisiensi dan pengalaman
pengguna yang baik dalam menggunakan aplikasi.
4.14.2 Stimulus/Response Sequences
a. Stimulus:
Transaksi
dilakukan dengan cepat dan beban kerja sistem yang tinggi.
b. Respons:
Aplikasi
merespons permintaan transaksi secara cepat untuk meminimalkan waktu tunggu
pelanggan. Aplikasi juga dirancang untuk mengatasi beban kerja tinggi dengan
menjaga kinerja sistem yang stabil dan responsif.
.
4.14.3 Functional Requirements
Persyaratan
Fungsional untuk Kecepatan dan Kinerja:
R1: Aplikasi
harus memberikan respons yang cepat dan kinerja yang optimal saat melakukan transaksi.
R2: Aplikasi
harus mampu menangani volume transaksi yang tinggi tanpa mengorbankan kecepatan
dan kinerja.
4.15
Penyesuaian dan Konfigurasi
4.15.1 Description and Priority
Fitur
penyesuaian dan konfigurasi memungkinkan pengguna untuk menyesuaikan pengaturan
aplikasi, seperti pengaturan pajak, diskon, dan informasi toko. Priority: Low.
Fitur ini memberikan fleksibilitas tambahan bagi pengguna, tetapi tidak
mempengaruhi proses transaksi secara langsung.
4.15.2 Stimulus/Response Sequences
a. Stimulus:
Pengguna ingin
melakukan penyesuaian atau konfigurasi pada aplikasi.
b. Respons:
Aplikasi
menyediakan opsi untuk pengguna melakukan penyesuaian dan konfigurasi, seperti
mengatur tarif pajak, pilihan mata uang, atau format struk sesuai dengan
kebutuhan bisnis. Aplikasi memungkinkan pengguna untuk mengubah pengaturan
sesuai dengan preferensi mereka atau kebutuhan operasional.
.
4.15.3 Functional Requirements
Persyaratan
Fungsional untuk Penyesuaian dan konfigurasi:
R1: Aplikasi
harus memungkinkan pengguna untuk menyesuaikan tampilan dan preferensi
antarmuka pengguna.
R2: Aplikasi
harus mendukung konfigurasi fitur-fitur seperti pengaturan pajak, diskon, dan
informasi toko.
5. Other Nonfunctional Requirements
5.1
Performance Requirements
1. Kecepatan:
Aplikasi pembayaran
pada kasir harus dapat melakukan transaksi dengan cepat dan responsif. Setiap
langkah dalam proses pembayaran, seperti memindai produk barcode, menghitung
total pembayaran, dan memproses transaksi pembayaran, harus dilakukan dengan
efisiensi dan tanpa jeda yang signifikan.
2. Keakuran:
Aplikasi harus
dapat menghitung total pembayaran dengan tepat. Setiap harga produk, diskon,
atau pajak harus diperhitungkan dengan benar untuk menghasilkan total
pembayaran yang akurat.
3. Keandalan:
Aplikasi harus
dapat berjalan secara konsisten tanpa mengalami gangguan atau kerusakan. Sistem
pembayaran tidak boleh mengalami kegagalan yang berarti, sehingga transaksi
pembayaran dapat dilakukan dengan lancar setiap saat.
4. Keamanan:
Aplikasi harus
menjaga keamanan data pelanggan dan transaksi. Informasi pembayaran seperti
nomor kartu kredit atau metode pembayaran lainnya harus dilindungi dengan
enkripsi dan kebijakan keamanan yang tepat. Aplikasi juga harus memastikan
integritas data dan melindungi dari serangan atau tindakan tidak sah.
5.2 Safety Requirements
1. Enkripsi Data:
Pastikan semua data sensitif, seperti nomor kartu kredit atau informasi pribadi
pelanggan, dienkripsi saat transit dan penyimpanan. Penggunaan protokol yang
aman seperti SSL/TLS sangat dianjurkan untuk melindungi komunikasi antara
aplikasi dan server.
2. Proteksi Kata Sandi:
Aplikasi harus menerapkan kebijakan keamanan yang kuat terkait kata sandi. Ini
termasuk membutuhkan kata sandi yang kompleks, membatasi percobaan masuk yang
gagal, serta menggunakan teknik hash dan penyimpanan yang aman untuk melindungi
kata sandi pelanggan.
3. Proteksi dari
Serangan: Aplikasi harus dilindungi dari berbagai serangan, seperti serangan
SQL injection, serangan cross-site scripting (XSS), dan serangan penolakan
layanan (Denial of Service). Validasi input pengguna dan pemisahan data dari
kode eksekusi dapat membantu mencegah serangan semacam ini.
4. Segregasi
Akses: Pengelolaan akses pengguna harus diterapkan dengan baik. Pastikan setiap
pengguna hanya memiliki akses yang sesuai dengan perannya. Ini akan membantu
mencegah penyalahgunaan atau akses tidak sah ke data sensitif.
5. Pemantauan
Aktivitas: Terapkan mekanisme pemantauan dan logging untuk mencatat aktivitas
pengguna, akses sistem, dan transaksi. Pemantauan ini membantu mendeteksi dan
merespons aktivitas mencurigakan atau anormal.
6. Pembaruan
Keamanan: Selalu perbarui dan pasang pemutakhiran keamanan terbaru untuk semua
perangkat lunak dan sistem operasi yang digunakan dalam aplikasi. Ini termasuk
framework, library, dan komponen pihak ketiga yang digunakan.
7. Penyimpanan
Data yang Aman: Pastikan data pelanggan disimpan dengan aman dengan menerapkan
kontrol akses yang ketat dan enkripsi pada penyimpanan data, baik itu pada
server atau dalam basis data.
8. Uji Keamanan:
Melakukan pengujian keamanan secara berkala dan menyeluruh pada aplikasi untuk
mengidentifikasi kerentanan dan cacat keamanan. Hal ini dapat melibatkan
pengujian penetrasi, analisis kerentanan, dan audit keamanan.
9. Kebijakan
Privasi dan Perlindungan Data: Pastikan aplikasi mematuhi peraturan privasi dan
perlindungan data yang berlaku. Jelaskan kepada pelanggan tentang bagaimana
data mereka akan digunakan dan dijaga kerahasiaannya.
10. Pelatihan dan
Kesadaran Pengguna: Sertakan pelatihan keamanan bagi pengguna aplikasi,
terutama para kasir, agar mereka sadar akan praktik keamanan dan memahami
ancaman keamanan yang mungkin terjadi.
5.3 Security Requirements
- Otentikasi Pengguna:
- Aplikasi harus meminta pengguna untuk
mengotentikasi diri sebelum mengakses fungsi dan data sensitif.
- Metode otentikasi yang kuat, seperti otentikasi
berbasis kata sandi, otentikasi biometrik, atau otentikasi dua faktor,
harus diimplementasikan untuk memastikan akses pengguna yang aman.
- Kontrol Akses:
- Aplikasi harus menerapkan kontrol akses yang
tepat untuk membatasi akses pengguna hanya pada fungsi dan data yang
diizinkan.
- Peran pengguna yang berbeda harus didefinisikan
dengan izin akses yang sesuai untuk memastikan prinsip hak akses terkecil.
- Enkripsi Data:
- Aplikasi harus mengenkripsi data sensitif,
seperti informasi pelanggan, rincian pembayaran, dan kredensial pengguna,
baik saat transit maupun saat disimpan.
- Algoritma dan protokol enkripsi harus mengikuti
praktik terbaik industri untuk memastikan kerahasiaan dan integritas data.
- Proses Pembayaran yang Aman:
- Aplikasi harus mematuhi standar industri dan
praktik terbaik dalam pemrosesan pembayaran yang aman.
- Data pembayaran harus ditransmisikan dan disimpan
dengan aman, sesuai pedoman yang ditetapkan oleh Payment Card Industry
Data Security Standard (PCI DSS).
- Perlindungan terhadap Ancaman Keamanan:
- Aplikasi harus menerapkan langkah-langkah untuk
melindungi dari ancaman keamanan umum, seperti serangan cross-site
scripting (XSS), injeksi SQL, dan peretasan sesi.
- Validasi input, kueri parameter, dan manajemen
sesi yang aman harus digunakan untuk mengurangi risiko dari ancaman
tersebut.
- Komunikasi Jaringan yang Aman:
- Aplikasi harus menggunakan protokol komunikasi
yang aman, seperti HTTPS, untuk mentransmisikan data antara aplikasi dan
sistem eksternal.
- Lalu lintas jaringan harus dienkripsi untuk
mencegah penyadapan dan akses tidak sah ke informasi sensitif.
- Audit dan Pemantauan Keamanan:
- Aplikasi harus mencatat dan memantau peristiwa
keamanan, seperti percobaan login, perubahan kontrol akses, dan aktivitas
yang mencurigakan.
- Audit reguler harus dilakukan untuk mendeteksi
dan menangani insiden keamanan dengan tepat waktu.
- Pembaruan Keamanan Reguler:
- Aplikasi harus tetap terkini dengan pembaruan dan
perbaikan keamanan untuk mengatasi kerentanan yang diketahui.
- Evaluasi kerentanan dan pengujian penetrasi rutin
harus dilakukan untuk mengidentifikasi dan mengurangi risiko keamanan.
- Cadangan dan Pemulihan Data:
- Aplikasi harus memiliki strategi cadangan data
yang kuat untuk memastikan ketersediaan data dan memfasilitasi pemulihan
dalam kasus kegagalan sistem atau kehilangan data.
- Cadangan harus dilakukan secara rutin dan
disimpan dengan aman di lokasi terpisah.
- Pelatihan Keamanan Karyawan:
- Karyawan harus menerima pelatihan tentang praktik
keamanan terbaik, termasuk kebersihan kata sandi, mengidentifikasi upaya
phishing, dan penanganan informasi sensitif.
- Program kesadaran keamanan rutin harus dilakukan
untuk mempromosikan budaya yang peduli terhadap keamanan.
5.4 Software Quality Attributes
Terdapat beberapa
atribut kualitas perangkat lunak yang penting untuk dipertimbangkan. Berikut
ini adalah beberapa atribut kualitas perangkat lunak yang relevan dalam konteks
tersebut:
1. Keandalan
(Reliability): Aplikasi pembayaran harus dapat beroperasi secara konsisten dan
dapat diandalkan. Transaksi pembayaran harus diproses dengan benar dan data
tidak boleh hilang atau rusak. Aplikasi harus memiliki mekanisme pemulihan
kesalahan yang memadai untuk mengatasi situasi tak terduga.
2. Kinerja
(Performance): Aplikasi harus responsif dan memiliki waktu respons yang cepat
dalam memproses transaksi pembayaran. Ini melibatkan kecepatan pemrosesan
transaksi, waktu tanggap aplikasi terhadap permintaan pengguna, dan kemampuan
untuk menangani volume transaksi yang tinggi tanpa terlalu banyak penundaan.
3. Keamanan
(Security): Seperti yang telah dijelaskan sebelumnya, keamanan adalah atribut
penting dalam aplikasi pembayaran pada kasir. Aplikasi harus melindungi data
sensitif pelanggan, menerapkan enkripsi yang kuat, melindungi dari serangan dan
penyalahgunaan, serta mematuhi kebijakan privasi dan perlindungan data.
4. Keterjangkauan
(Usability): Aplikasi pembayaran harus mudah digunakan oleh kasir dan pengguna
lainnya. Antarmuka pengguna harus intuitif, dengan alur kerja yang jelas dan
instruksi yang jelas. Fungsionalitas aplikasi harus mudah dipahami dan diakses
tanpa kesulitan.
5. Perawatan
(Maintainability): Aplikasi harus dirancang agar mudah dikelola dan dipelihara.
Ini melibatkan penggunaan kode yang bersih dan terstruktur, dokumentasi yang
baik, serta adanya pemisahan antara komponen yang berbeda untuk memudahkan
pengembangan dan pemeliharaan di masa depan.
6. Portabilitas
(Portability): Aplikasi pembayaran harus dapat diinstal dan dijalankan pada
berbagai platform atau lingkungan yang berbeda. Ini termasuk dukungan untuk
sistem operasi yang berbeda, perangkat keras yang berbeda, dan kemampuan untuk
berintegrasi dengan perangkat lunak lain yang mungkin digunakan dalam
lingkungan kasir.
7. Kebenaran
Fungsional (Functional Correctness): Aplikasi harus berfungsi sesuai dengan
kebutuhan dan persyaratan yang ditentukan. Semua fitur dan fungsionalitas harus
berjalan dengan benar dan menghasilkan hasil yang diharapkan.
8. Skalabilitas
(Scalability): Aplikasi harus dapat dengan mudah diubah atau diperluas sesuai
dengan kebutuhan bisnis yang berkembang. Ini melibatkan kemampuan untuk
menangani pertumbuhan volume transaksi dan jumlah pengguna yang meningkat tanpa
mengorbankan kinerja dan keandalan.
9. Keterhubungan
(Interoperability): Aplikasi harus dapat berintegrasi dengan sistem lain yang
digunakan dalam lingkungan kasir, seperti perangkat keras kasir, sistem
inventaris, atau sistem manajemen penjualan.
5.5 Business Rules
Berikut ini
adalah beberapa contoh aturan bisnis yang umumnya diterapkan dalam aplikasi
pembayaran pada kasir:
1. Harga dan
Pembayaran: Tetapkan kebijakan harga yang jelas dan transparan untuk produk
atau layanan yang ditawarkan. Pastikan metode pembayaran yang diterima oleh
aplikasi, seperti kartu kredit, kartu debit, atau uang tunai, sesuai dengan
kebijakan bisnis Anda.
2. Kebijakan
Pengembalian dan Pembatalan: Tetapkan kebijakan yang jelas terkait pengembalian
barang atau pembatalan transaksi. Pastikan pelanggan mengetahui dan memahami
kebijakan ini sebelum melakukan pembayaran.
3. Privasi dan
Perlindungan Data: Lindungi privasi dan data pelanggan dengan menerapkan
kebijakan privasi yang sesuai. Pastikan informasi pribadi pelanggan hanya
digunakan untuk keperluan yang sah dan tidak diungkapkan kepada pihak ketiga
tanpa izin.
4. Ketersediaan
Produk: Pastikan aplikasi memperbarui inventaris secara real-time untuk
menghindari penjualan produk yang tidak tersedia. Jika suatu produk sedang
tidak tersedia, berikan opsi kepada pelanggan untuk memesan atau mengatur
pemberitahuan kembali saat produk tersebut tersedia.
5. Promosi dan
Diskon: Terapkan kebijakan dan aturan yang jelas terkait promosi dan diskon.
Pastikan bahwa aplikasi dapat mengenali dan menerapkan kode promosi atau diskon
dengan benar pada saat pembayaran.
6. Kebijakan
Keanggotaan: Jika ada program keanggotaan atau program loyalitas, tetapkan
kebijakan terkait manfaat dan syarat keanggotaan. Pastikan aplikasi dapat
mengenali dan memberikan manfaat sesuai dengan status keanggotaan pelanggan.
7. Ketersediaan
Layanan Pelanggan: Tetapkan kebijakan dan prosedur untuk menangani pertanyaan,
keluhan, atau permintaan dukungan pelanggan. Pastikan ada mekanisme yang jelas
untuk menghubungi layanan pelanggan dan berikan respon yang cepat dan memuaskan
kepada pelanggan.
8. Kebijakan
Keamanan: Tetapkan kebijakan keamanan yang jelas terkait dengan penggunaan
aplikasi. Berikan panduan tentang praktik keamanan yang direkomendasikan kepada
pelanggan, seperti menjaga kerahasiaan kata sandi dan tidak membagikan informasi
akun kepada orang lain.
9. Kebijakan
Peraturan dan Hukum: Pastikan aplikasi mematuhi semua peraturan dan hukum yang
berlaku terkait dengan pembayaran, perlindungan konsumen, dan privasi data.
Berikan informasi yang jelas tentang hak dan kewajiban pelanggan dalam
menggunakan aplikasi.
10. Kebijakan
Pemeliharaan dan Pembaruan: Tetapkan kebijakan terkait pemeliharaan dan
pembaruan aplikasi. Pastikan ada proses yang terjadwal untuk memperbarui dan
memperbaiki aplikasi serta memberi tahu pelanggan tentang waktu tidak tersedia
atau pemadaman sistem yang direncanakan.
6. Other Requirements
1. Persyaratan
Basis Data:
a. Sistem harus
menggunakan basis data yang andal dan aman untuk menyimpan data transaksi,
informasi pengguna, dan informasi lainnya yang diperlukan.
b. Persyaratan
keamanan data harus diterapkan untuk melindungi integritas dan kerahasiaan data
yang disimpan dalam basis data.
2. Persyaratan
Internasionalisasi:
a. Aplikasi harus
mendukung penggunaan internasional, termasuk kemampuan untuk menangani multiple
bahasa dan format tanggal, mata uang, dan satuan yang berbeda.
b. Tampilan
antarmuka pengguna harus dapat dengan mudah disesuaikan dengan preferensi lokal
pengguna.
3. Persyaratan
Hukum:
a. Aplikasi harus
mematuhi peraturan hukum yang berlaku, seperti perlindungan data pribadi,
keamanan transaksi elektronik, dan kebijakan privasi yang relevan.
b. Aplikasi harus
dapat menyimpan dan menyajikan data transaksi dengan cara yang memenuhi
persyaratan hukum yang berlaku.
4. Tujuan
Penggunaan Kembali untuk Proyek:
a. Perangkat
lunak harus dirancang dengan tujuan penggunaan kembali yang tinggi,
memungkinkan komponen atau modul tertentu dapat digunakan kembali dalam proyek-proyek
lain di masa depan.
b. Pemisahan
logis dan modularitas harus diperhatikan dalam desain dan implementasi
perangkat lunak.
5. Persyaratan
Kinerja:
a. Aplikasi harus
memberikan respons yang cepat dan waktu pemrosesan yang efisien untuk
memastikan kinerja yang baik dalam mengelola transaksi kasir yang padat.
b. Waktu pemuatan
aplikasi dan waktu tanggapan antarmuka pengguna harus dijaga agar tidak
menyebabkan keterlambatan yang berarti.
6. Persyaratan
Penyesuaian dan Konfigurasi:
a. Aplikasi harus
dapat dengan mudah disesuaikan dan dikonfigurasi sesuai dengan kebutuhan bisnis
dan preferensi pengguna.
b. Pengguna harus
dapat mengatur preferensi, pengaturan pajak, aturan diskon, dan opsi lainnya
yang relevan melalui antarmuka pengguna.
7. Persyaratan Keberlanjutan
Lingkungan:
a. Aplikasi harus
mempertimbangkan keberlanjutan lingkungan dengan mengurangi penggunaan kertas
dalam pencetakan struk dan laporan transaksi, serta memungkinkan penggunaan
digital atau email untuk mengirim struk kepada pelanggan.
b. Aplikasi harus
memungkinkan pengguna untuk mengelola dan mengurangi limbah elektronik yang
dihasilkan, seperti dengan mendukung pencetakan struk hanya ketika diperlukan.
8. Persyaratan
Integrasi dengan Layanan Pihak Ketiga:
a. Aplikasi harus
dapat mengintegrasikan dengan layanan pihak ketiga seperti gateway pembayaran,
layanan pengiriman, atau sistem keuangan lainnya yang digunakan oleh bisnis.
b. Integrasi
dengan layanan pihak ketiga harus memenuhi standar keamanan dan kualitas yang
ditetapkan oleh penyedia layanan tersebut.
9. Persyaratan
Keandalan dan Redundansi:
a. plikasi harus
dirancang untuk memiliki keandalan yang tinggi dan dapat mengatasi kegagalan
sistem yang tidak terduga.
b. Dalam kasus
kegagalan sistem, aplikasi harus memiliki mekanisme pemulihan yang cepat dan
dapat mengembalikan data transaksi yang hilang atau terpengaruh.
10. Persyaratan
Pelaporan Keuangan:
a. Aplikasi harus
memiliki kemampuan untuk menghasilkan laporan keuangan yang akurat dan
terperinci, termasuk laporan pendapatan, pengeluaran, dan laba rugi.
b. Laporan
keuangan harus memenuhi standar akuntansi yang berlaku dan dapat diekspor dalam
format yang dapat dibaca oleh sistem manajemen keuangan yang digunakan oleh
bisnis.
11. Persyaratan
Pelacakan dan Audit:
a. Aplikasi harus
mampu melacak setiap transaksi dan aktivitas pengguna untuk tujuan audit dan
keamanan.
b. Log aktivitas
harus mencakup informasi tentang waktu, pengguna, dan tindakan yang dilakukan,
serta harus disimpan dengan aman dan terlindungi dari perubahan yang tidak sah.
Berikut adalah
glosarium dari Aplikasi untuk Sistem Transaksi Pembayaran pada Kasir:
a. Otentikasi
Pengguna
Proses verifikasi
identitas pengguna sebelum memperoleh akses ke sistem atau data.
b. Kontrol Akses
Mekanisme yang
mengatur dan membatasi akses pengguna ke fungsi dan data yang spesifik.
c. Enkripsi Data
Proses mengubah
data menjadi bentuk yang tidak dapat dibaca oleh pihak yang tidak berwenang
menggunakan algoritma kriptografi.
d. Proses
Pembayaran yang Aman
Langkah-langkah
yang diambil untuk melindungi integritas dan kerahasiaan data saat melakukan
transaksi pembayaran.
e. Ancaman
Keamanan
Potensi serangan
atau pelanggaran yang dapat mengakibatkan kerusakan atau akses tidak sah
terhadap sistem atau data.
f. Cross-Site
Scripting (XSS)
Jenis serangan
yang memanfaatkan kerentanan aplikasi web untuk menyisipkan skrip berbahaya ke
dalam halaman web yang dilihat oleh pengguna.
g. Injeksi SQL
Serangan yang
memanfaatkan kerentanan dalam input yang tidak divalidasi pada aplikasi untuk
menyisipkan perintah SQL yang tidak sah.
h. Protokol HTTPS
Protokol
komunikasi yang menggunakan enkripsi SSL/TLS untuk mengamankan lalu lintas data
antara aplikasi dan server.
i. Audit Keamanan
Proses pemantauan
dan peninjauan yang sistematis terhadap aktivitas keamanan untuk mendeteksi dan
menganalisis ancaman atau pelanggaran keamanan.
j. Evaluasi
Kerentanan
Proses
identifikasi, analisis, dan penilaian kerentanan dalam sistem atau aplikasi
untuk mengidentifikasi potensi risiko keamanan.
k. Pengujian Penetrasi
Proses aktif yang
melibatkan upaya menguji keamanan sistem atau aplikasi dengan mencoba
mengeksploitasi kerentanan yang ada.
l. Cadangan Data
Salinan data yang
disimpan secara terpisah untuk memastikan ketersediaan data dalam situasi
kegagalan sistem atau kehilangan data.
m. Pelatihan
Kesadaran Keamanan
Proses memberikan
pelatihan dan edukasi kepada karyawan untuk meningkatkan pemahaman mereka
tentang praktik keamanan dan mengurangi risiko keamanan.
n. Kredensial
Pengguna
Informasi yang
digunakan untuk mengidentifikasi dan memverifikasi identitas pengguna, seperti
nama pengguna dan kata sandi.
o. Percobaan
Login
Upaya masuk yang
gagal oleh pihak yang tidak berwenang untuk mengakses sistem atau akun pengguna.
p. Kebersihan
Kata Sandi
Prinsip mengenai
penggunaan kata sandi yang kuat dan unik untuk mencegah akses yang tidak sah.
q. Upaya Phishing
Teknik penipuan
di mana penyerang mencoba untuk memperoleh informasi sensitif, seperti kata
sandi atau rincian kartu kredit, dengan menyamar sebagai entitas tepercaya
melalui pesan atau situs web palsu.
r. Pemulihan Data
Proses mengembalikan
data yang hilang atau rusak ke keadaan yang dapat digunakan setelah terjadinya
kegagalan sistem atau kehilangan data.
s. Praktik
Terbaik Industri
Standar atau
prosedur yang diakui secara luas oleh industri sebagai metode yang paling
efektif untuk mencapai tujuan tertentu.
Berikut ini adalah model analisis dari Aplikasi untuk Sistem Transaksi
Pembayaran pada Kasir :
a. Analisis Ancaman (Threat Analysis)
Melibatkan identifikasi potensi ancaman terhadap sistem atau aplikasi,
serta mengevaluasi kemungkinan terjadinya dan dampaknya terhadap keamanan.
b. Analisis Risiko (Risk Analysis)
Menganalisis risiko yang terkait dengan ancaman yang diidentifikasi,
termasuk kemungkinan terjadinya, dampaknya, dan tingkat kerentanan sistem atau
aplikasi.
c. Analisis Kerentanan (Vulnerability Analysis)
Mengevaluasi kerentanan yang ada dalam sistem atau aplikasi yang dapat
dimanfaatkan oleh penyerang, termasuk kerentanan perangkat lunak, konfigurasi
yang tidak aman, atau kelemahan dalam implementasi keamanan.
d. Analisis Kepatuhan (Compliance Analysis)
Memeriksa apakah sistem atau aplikasi memenuhi persyaratan keamanan
yang ditetapkan oleh standar industri, peraturan, atau kebijakan perusahaan.
e. Analisis Pengujian Keamanan (Security Testing Analysis)
Melakukan pengujian keamanan yang sistematis terhadap sistem atau
aplikasi untuk mengidentifikasi kerentanan dan memvalidasi efektivitas kontrol
keamanan yang ada.
f. Analisis Keamanan Fisik (Physical Security Analysis)
Menilai keamanan fisik lingkungan di mana sistem atau aplikasi
beroperasi, termasuk kontrol akses fisik, pengawasan, dan perlindungan
perangkat keras.
g. Analisis Kebijakan Keamanan (Security Policy Analysis)
Meninjau kebijakan keamanan yang ada untuk memastikan kesesuaian dengan
tujuan dan persyaratan keamanan, serta mengidentifikasi kelemahan atau
kekurangan yang perlu diperbaiki.
h. Analisis Keamanan Jaringan (Network Security Analysis)
Mengevaluasi keamanan jaringan yang terkait dengan sistem atau
aplikasi, termasuk perlindungan perimeter, deteksi intrusi, dan enkripsi lalu
lintas data.
i. Analisis Keamanan Aplikasi (Application Security Analysis)
Memeriksa kerentanan keamanan yang terkait dengan aplikasi, termasuk
kerentanan perangkat lunak, proteksi terhadap serangan umum, dan perlindungan
terhadap kerentanan terkait pengembangan aplikasi.
j. Analisis Manajemen Identitas dan Akses (Identity and Access
Management Analysis)
Meninjau proses dan mekanisme pengelolaan identitas pengguna,
pengendalian akses, dan pengelolaan hak akses dalam sistem atau aplikasi.
k. Analisis Keamanan Data (Data Security Analysis)
Mengevaluasi perlindungan dan keamanan data dalam sistem atau aplikasi,
termasuk enkripsi data, pengaturan privasi, dan kebijakan retensi data.
l. Analisis Pemulihan Bencana (Disaster Recovery Analysis)
Meninjau strategi dan rencana pemulihan bencana yang ada untuk
memastikan ketersediaan data dan sistem dalam situasi kegagalan atau bencana.
Appendix C: To Be
Determined List
Berikut adalah daftar referensi yang kami
gunakan:
Smith, J. (2018). Secure Payment Systems: Design, Development, and
Implementation. Publisher.
Brown, A. (2019). Inventory Management Best Practices: Optimizing
Inventory Control for Increased Profitability. Publisher.
Johnson, M. (2020). Point of Sale Systems: A Comprehensive Guide to
Choosing, Implementing, and Managing POS Systems. Publisher.
Anderson, T. (2017). User Interface Design: A Practical Guide with
Examples. Publisher.
Lewis, D. (2019). Data Security and Privacy: Concepts, Challenges,
and Solutions. Publisher.
Martin, R. (2018). Agile Software Development: Principles, Patterns,
and Practices. Publisher.
Loughran, T. (2019). Building Secure and Reliable Systems: Best
Practices for Designing, Implementing, and Maintaining Systems. Publisher.
Roberts, K. (2020). Integrating Hardware Devices with Software
Applications: A Practical Guide. Publisher.
Institute of Electrical and Electronics Engineers. (2017). IEEE
Guide for Information Technology—System Definition—Concept of Operations
(ConOps) Document. IEEE Standard.
National Institute of Standards and Technology. (2018). NIST Special
Publication 800-53: Security and Privacy Controls for Information Systems and
Organizations.
Komentar
Posting Komentar