APSI - EAS - Aplikasi POS Alfamart

Nama: Muhammad Razan Athallah
NRP: 5025211008
Kelas: PWEB A
Tahun: 2022/2023 (Genap)

Tuliskan kebutuhan fungsional dan non fungsional Aplikasi POS Alfamart!

Kebutuhan fungsional:
  • Mengelola informasi produk, termasuk kategori, harga, stok, dan detail produk lainnya. 
  • Mendukung penambahan, pengeditan, dan penghapusan produk dengan mudah. 
  • Menyediakan fitur pencarian dan filtrasi produk untuk memudahkan aksesibilitas. 
  • Memproses transaksi penjualan dengan cepat dan akurat. 
  • Menyediakan antarmuka kasir intuitif untuk memasukkan item belanjaan, mengatur kuantitas, dan menghitung total pembayaran. 
  • Dukungan untuk berbagai metode pembayaran, seperti tunai, kartu kredit, dan e-wallet. 
  • Menghasilkan struk atau faktur pembayaran yang mencantumkan detail pembelian kepada pelanggan. 
  • Memantau stok produk secara real-time dan memberikan peringatan saat stok mendekati atau mencapai batas minimum. 
  • Mengurangi stok secara otomatis saat ada penjualan atau pengiriman produk baru.
  • Menyediakan laporan inventaris yang akurat, termasuk stok saat ini, tingkat rotasi stok, dan pergerakan stok.
  • Mendukung penerapan promosi dan diskon pada produk tertentu.
  • Memungkinkan penggunaan kode promosi atau diskon saat transaksi dan menghitung ulang total pembayaran secara otomatis. 
  • Menghasilkan laporan penjualan berdasarkan promosi atau diskon yang diterapkan.
  • Menyediakan fitur pelaporan yang komprehensif, termasuk laporan penjualan harian, mingguan, bulanan, dan tahunan. 
  • Menghasilkan laporan analisis penjualan, seperti produk terlaris, produk dengan margin keuntungan tertinggi, dan performa penjualan berdasarkan waktu tertentu. 
  • Kemampuan untuk menyesuaikan laporan sesuai dengan kebutuhan toko atau manajemen Alfamart.
Kebutuhan non-fungsional:
Operasional:
  • Responsif dan mampu menangani beban transaksi yang tinggi tanpa mengalami penurunan kinerja yang signifikan. 
  • Tersedia sepanjang waktu dan mampu mengatasi gangguan sistem minimal untuk meminimalkan dampak pada operasional Alfamart.
  • Mudah diukur dan dapat dengan mudah ditingkatkan untuk mendukung pertumbuhan bisnis dan jumlah gerai Alfamart. 
Keamanan:
  • Melindungi data pelanggan, data transaksi, dan informasi bisnis lainnya dengan menggunakan enkripsi yang kuat, pengaturan akses yang tepat, serta menerapkan praktik keamanan terbaik.
  • Menyediakan metode otentikasi yang aman untuk mencegah akses yang tidak sah dan menjaga integritas data. 
  • Dilengkapi dengan langkah-langkah keamanan yang mencegah serangan seperti serangan DDoS, serangan injeksi, atau serangan kelemahan lainnya. 
Informasi:
  • Memiliki kemampuan untuk menghasilkan laporan transaksi, penjualan, persediaan, dan analisis data yang berguna untuk manajemen Alfamart. 
  • Terintegrasi dengan sistem lain yang digunakan dalam operasional Alfamart, seperti sistem manajemen persediaan atau sistem akuntansi.


Buatlah tahapan yang harus dilalui di dalam membangun aplikasi POS Alfamart!

Planning:
  • Mengidentifikasi tujuan aplikasi POS Alfamart. 
  • Menentukan kebutuhan bisnis dan persyaratan fungsional. 
  • Menentukan anggaran, sumber daya, dan jadwal proyek. 
  • Menyusun tim proyek dan menetapkan tanggung jawab mereka. 
Analysis
  • Mengumpulkan dan menganalisis informasi tentang proses bisnis Alfamart yang terkait dengan sistem POS. 
  • Memahami kebutuhan pengguna dan persyaratan sistem. 
  • Mengevaluasi teknologi yang sesuai untuk digunakan dalam aplikasi POS. 
Design
  • Merancang arsitektur aplikasi POS Alfamart, termasuk antarmuka pengguna (UI) dan antarmuka sistem (API). 
  • Mendefinisikan basis data yang diperlukan dan merancang skema basis data. Membuat desain rinci untuk komponen-komponen aplikasi, seperti manajemen inventaris, penjualan, pembayaran, dll. 
Implementation:
  • Mengembangkan aplikasi POS Alfamart berdasarkan desain yang telah dibuat. 
  • Menulis kode, menguji fungsionalitas, dan melakukan debugging. 
  • Memastikan integrasi yang baik antara komponen-komponen sistem. 
Operation and Support:
  • Menginstal dan mengonfigurasi aplikasi POS Alfamart di lingkungan produksi. 
  • Melakukan uji coba dan verifikasi untuk memastikan aplikasi berfungsi dengan baik. 
  • Melatih pengguna dalam menggunakan sistem POS dan memastikan adopsi yang baik oleh tim Alfamart.
  • Menyediakan dukungan teknis dan pemeliharaan rutin untuk aplikasi POS Alfamart.
  • Menangani masalah dan pembaruan perangkat lunak yang diperlukan. 
  • Memantau kinerja aplikasi dan memberikan perbaikan jika diperlukan. 
  • Mengumpulkan umpan balik pengguna dan melakukan pengembangan berkelanjutan berdasarkan kebutuhan dan permintaan.


Buatlah Diagram Kontek dan DFD Level 1 dari aplikasi Alfamart !

Diagram Konteks


DFD Level 1


Apa perbedaan Model Analisis dan Model Desain. Jelaskan, lengkapi dengan gambar grafis!

Model Analisis
  • Model analisis digunakan untuk memahami masalah atau kebutuhan yang ada. Tujuannya adalah untuk mengidentifikasi masalah, menganalisis persyaratan, dan memahami konteks sistem yang akan dikembangkan.
  • Model analisis berfokus pada pemahaman terhadap masalah yang ada, mengidentifikasi persyaratan fungsional dan non-fungsional, serta menentukan batasan dan kendala proyek.
  • Model analisis sering kali lebih abstrak dan berfokus pada gambaran umum masalah atau persyaratan. Ini membantu dalam memahami kebutuhan pengguna, aliran informasi, dan proses bisnis yang terlibat.
  • Hasil dari model analisis adalah pemahaman yang lebih baik tentang masalah, persyaratan, dan konteks sistem. Ini berfungsi sebagai dasar untuk memulai proses desain.

Model Desain
  • Model desain digunakan untuk merencanakan solusi atau sistem yang akan dibangun. Tujuannya adalah untuk merancang arsitektur sistem, memilih teknologi yang tepat, dan merinci komponen-komponen sistem.
  • Model desain berfokus pada perencanaan solusi yang akan dibangun. Ini melibatkan pemilihan komponen, spesifikasi teknis, dan merancang struktur sistem secara keseluruhan.
  • Model desain lebih terperinci dan khusus. Ini mencakup rincian teknis, seperti desain antarmuka pengguna, struktur database, algoritma, dan integrasi sistem.
  • Hasil dari model desain adalah rancangan teknis yang mendetail, yang dapat digunakan untuk membangun sistem atau proyek. Ini mencakup spesifikasi perangkat lunak, diagram arsitektur, dan detail implementasi.
Gambar grafis model analisis dan model desain:


 

Buatlah model analisis dari studi kasus di atas!

Data Flow Diagram

Entity Relation Diagram dalam bentuk LDM



State-transition Diagram

Data Dictionary
Kode produk: 
  • Definisi: Kode identifikasi unik untuk setiap produk yang dijual di Alfamart. 
  • Tipe Data: Karakter.
Nama produk:
  • Definisi: Nama lengkap atau deskripsi produk.
  • Tipe Data: Karakter.
Harga: 
  • Definisi: Harga satuan produk.
  • Tipe Data: Numerik.
Stok: 
  • Definisi: Jumlah unit produk yang tersedia di inventaris.
  • Tipe Data: Numerik.
Kategori produk: 
  • Definisi: Kategori atau jenis produk. 
  • Tipe Data: Karakter. 
ID transaksi:
  • Definisi: ID unik untuk setiap transaksi penjualan.
  • Tipe Data: Karakter. 
Tanggal transaksi: 
  • Definisi: Tanggal dan waktu transaksi penjualan dilakukan. 
  • Tipe Data: Tanggal/Waktu. 
Jumlah: 
  • Definisi: Jumlah produk yang dibeli dalam transaksi.
  • Tipe Data: Numerik. 
Metode pembayaran: 
  • Definisi: Metode pembayaran yang digunakan dalam transaksi (contoh: tunai, kartu kredit, e-wallet). 
  • Tipe Data: Karakter. 
Total pembayaran: 
  • Definisi: Jumlah total pembayaran dalam transaksi.
  • Tipe Data: Numerik.

Data Object Description
Produk:
  • Atribut: Kode produk, Nama produk, Harga, Stok, Kategori produk, dll.
  • Relasi: Terkait dengan transaksi penjualan.
Transaksi Penjualan:
  • Atribut: ID transaksi, Tanggal transaksi, Produk yang dibeli, Jumlah, Metode pembayaran, Total pembayaran, dll.
  • Relasi: Terkait dengan produk yang dibeli.
Promosi dan Diskon:
  • Atribut: Kode promosi, Diskon, Produk terkait, dll.
  • Relasi: Terkait dengan produk.

Process Specification
Langkah 1: Buka aplikasi kasir Alfamart
Langkah 2: Kelola produk
  • Tambahkan produk baru.
  • Edit informasi produk.
  • Hapus produk.
  • Cari produk berdasarkan kategori.
Langkah 3: Proses transaksi penjualan
  • Masukkan item belanjaan.
  • Atur kuantitas produk.
  • Hitung total pembayaran.
  • Pilih metode pembayaran.
  • Cetak struk atau faktur pembayaran.
Langkah 4: Manajemen inventaris
  • Perbarui stok produk secara otomatis saat ada penjualan atau pengiriman produk baru.
  • Monitor stok produk secara real-time.
  • Berikan peringatan saat stok mendekati atau mencapai batas minimum.
  • Hasilkan laporan inventaris.
Langkah 5: Terapkan promosi dan diskon:
  • Masukkan kode promosi atau diskon saat transaksi.
  • Hitung ulang total pembayaran.
Langkah 6: Generate laporan dan analisis:
  • Hasilkan laporan penjualan harian, mingguan, bulanan, dan tahunan.
  • Buat laporan analisis penjualan, seperti produk terlaris dan performa penjualan.
  • Sesuaikan laporan sesuai kebutuhan.

Control Specification
  • Validasi input: Memastikan data yang dimasukkan valid dan sesuai format.
  • Otorisasi pengguna: Memverifikasi identitas pengguna sebelum memberikan akses ke fitur dan fungsi aplikasi.
  • Keamanan transaksi: Menggunakan protokol enkripsi dan mekanisme keamanan untuk melindungi transaksi dari ancaman keamanan.
  • Pembatasan akses: Mengatur izin akses pengguna berdasarkan peran atau tingkat keamanan untuk melindungi data dan mencegah akses yang tidak sah.
  • Audit trail: Merekam jejak aktivitas pengguna, termasuk transaksi, perubahan data, dan operasi sistem lainnya untuk tujuan pemantauan dan audit.
  • Pelaporan: Menghasilkan laporan penjualan dan analisis sesuai kebutuhan toko dan manajemen Alfamart.


Buatlah model desain dari studi kasus di atas!

Data design

Data (Storage) Design merupakan proses yang mengacu pada perancangan struktur data yang akan digunakan untk penyimpanan / pengelolaan / pengaksesan aplikasi. Data Design biasanya mengubah bentuk ERD yang bersifat Logical Data Model menjadi Physical Data Model yang digunakan untuk implementasi serta meningkatkan DFD. Noemalisasi juga perlu digunakan untuk menghindari anomali data. DFD di tahapan analisis belum mengimplementasi data storage, sehingga dalam konteks Data Design, DFD kurang lebih sebagai berikut:

Pada bagian ERD dalam bentuk Physical Data Model sebagai berikut:


Matriks CRUD  adalah alat yang digunakan dalam pengembangan perangkat lunak untuk menggambarkan operasi-operasi dasar yang dapat dilakukan pada entitas atau objek dalam sistem. Akronim CRUD merujuk pada empat operasi dasar: Create (Membuat), Read (Membaca), Update (Memperbarui), dan Delete (Menghapus). Matriks sebagai berikut:

Process

Pelanggan

Karyawan/Kasir

Admin

Manajeman Produk

R

CRUD

CRUD

Transaksi

CR

CR

CR

Inventaris

R

CR

CRUD

Promosi

R

CRUD

CRUD

Laporan


R

R




Architectural design

Desain Arsitektur merupakan perancangan skema struktur aplikasi untuk Alfamart POS yang terdiri dari komponen hardware, software aplikasi yang akan digunakan pada kasir Alfamart. Requirement yang berperan besar dalam hal ini adalah kebutuhan non-fungsional. Desain ini juga menjelaskan hardware dan software yang diperlukan untuk sistem.

Desain Arsitektur yang digunakan untuk Alfamart POS adalah arsitektur Client-Server karena dilihat dari cara kinerja kasir, seorang client (karyawan) yang menerima input, memproses transaksi, memberikan promosi/diskon dan menampilkan / mempresentasi informasi pada kasir dan bagian server yang melakukan manajemen produk, manajemen inventaris, dan laporan penjualan serta analisisnya.


Untuk merancang suatu arsitektur ada empat tipe penting dari kebutuhan non-fungsional:

1. Operational 
Ada beberapa jenis kebutuhan yang dipecah. Dalam hal Technical Enviroment Requirement untuk Alfamart POS, sistem aplikasi ini perlu dapat bekerja dalam setiap kasir yang ada di Alfamart dan harus terkoneksi pada server melalui internet. Dalam hal System Integration, aplikasi harus dapat mengirim transaksi pada server sebagai laporan, dapat melakukan Update dan Read pada stok product yang ada di dalam database agar dapat dilakukan secara real-time. Dalam hal Portablility, sistem aplikasi ini perlu dapat dijalankan pada komputer dengan minimal sistem operasi Windows 7 sampai dengan Windows 11 mengingat beberapa toko masih menggunakan komputer lama. Dalam Maintainability, sistem aplikasi perlu diperbarui minimal setiap 1 bulan agar konfigurasi tetap terjaga dan jika ada perubahan aplikasi, maka perlu diberikan waktu minimal 3 bulan agar aplikasi dapat berjalan dengan benar. 

2. Performa 
Performa ini fokus dalam hal kecepatan, kapasitas, dan reliabilitas. Dalam hal speed / kecepatan, response time harus 4 sekon atau kurang untuk perlakuan transaksi pada jaringan, database server juga harus terupdate secara real-time terutama dalam stok produk saat ini beserta gerakan. Dalam hal capacity / kapasitas, aplikasi harus dapat menyimpan data 50000 pelanggan dalam ukuran 2 GB. Dalam hal Availabilty / Reliabitlity, aplikasi sistem serve harus berjalan 24 jam / 7 hari kecuali ada maintenance, Maintenance perlu dijadwalkan  h - 1 minggu untuk setiap bulan. Aplikasi harus memiliki performa semaksimal mungkin. 

3. Keamanan 
Keamanan memungkinkan agar sistem informasi pada aplikasi terlindungi dari gangguan data / data hilang, entah dari tindakan hacking atau event random seperti disk rusak / bencana. Berdasarkan dalam hal estimasi System Value, diestimasi bakal kehilangan data seharga 10 miliar rupiah. Dalam hal Access Control, hanya admin / manajer yang dapat melakukan manajemen produk, karyawan dapat membuat transaksi baru dan memasukkan barang serta meng-update stok, dan pelanggan hanya bisa membuat data pengguna baru tapi tidak bisa menghapus dan memperbarui data. Dalam hal Encryption dan Authentication, data-data transaksi, pengguna, dan laporan akan dienkripsi saat dikirimkan kepada server kemudian setiap admin / karyawan yang masuk sistem perlu melakukan autentikasi. Virus Control harus dilakukan pada setiap manajemen produk / pemasukan transaksi/laporan baru pada sistem. 

4. Kultural dan Politikal 
Dalam hal ini, bahasa yang digunakan pada aplikasi Alfamart POS adalah bahasa Indonesia dan Inggris. Kostumisasi perlu disampaikan pada admin / manajer server agar kualitas Alfamart dapat terjaga. Ada beberapa aturan dalam penamaan data pada database seperti memenuhi atribut tabel dan tanggal diikuti dengan waktu. Aplikasi juga perlu mematuhi Undang-undang Indonesia serta memenuhi hak akses dalam pemerintahan Indonesia.


Interface design

Halaman login



Halaman dashboard: grafik penjualan


Halaman dashboard: produk terlaris


Halaman dashboard: margin terbanyak

Halaman transaksi


Halaman transaksi: setelah pembayaran


Halaman data produk: list produk


Halaman data produk: tambah produk


Halaman data produk: edit produk


Component-level design

Pada tahap ini, terlebih dahulu diidentifikasi semua komponen dari model analisis dan tahap arsitektur desain. Kemudian identifikasi interface untuk tiap komponen, tentukan atribut, tentukan tipe dan struktur data, serta gambarkan aliran proses dengan UML activity diagram.

Berikut UML activity diagram untuk login, transaksi, dan data produk: Link

Setelah UML activity diagram dibuat, maka nantinya akan dikembangkan dengan memperjelas menjadi UML state diagram, bisa juga dengan deployment diagram untuk detail implementasi tambahan. Kemudian represetasi component-level design akan difaktorkan dan dipertimbangkan alternatif solusi lain sebelum menetapkan model desain final.


Dokumentasikan dalam bentuk video presentasi kemudian diembeded di blog!







Comments

Popular posts from this blog

PWEB - EVALUASI AKHIR SEMESTER

APSI - TUGAS 1 - Sistem Akuntansi Aset Tetap