📝 SRS - Sistem Informasi SANTAI
💻 Nama Perangkat Lunak: SANTAI (Sistem ATK Pintar & Informatif)
🎓 Untuk: UMKM EduTulis Stationery
🧑🏻💻 Dipersiapkan oleh: Raymondo Askara Wicaksana Purba / 241712966
Regina Caelia Bunga A.L / 241713103
🔏 Riwayat Revisi
Daftar Isi
1.3 Definisi, Akronim, dan Singkatan 2.1.3 Antarmuka Perangkat Keras 2.1.4 Antarmuka Perangkat Lunak 2.1.5 Antarmuka Komunikasi 2.3 Karakteristik Pengguna 2.5 Asumsi dan Ketergantungan 3.2 Kebutuhan Spesifik Fungsional Sistem 3.3 Kebutuhan Basis Data Logis Lampiran
Lampiran B: Format Input/Output Sampel Lampiran C: Hasil Studi Analisis Biaya Lampiran D: Survei Pengguna Indeks
1. Pendahuluan
1.1 Tujuan
Dokumen Spesifikasi Kebutuhan Perangkat Lunak (SRS) ini dibuat untuk menguraikan secara lengkap dan rinci kebutuhan sistem teknologi yang diajukan bagi Toko Buku dan Alat Tulis. Sistem ini dirancang untuk menyelesaikan berbagai persoalan utama yang ditemukan selama wawancara, seperti kesalahan hitung pada pencatatan stok yang dilakukan secara manual, kesulitan dalam melayani pelanggan pada musim puncak, proses rekonsiliasi transaksi digital (QRIS, dsb.) yang belum terotomatisasi, serta strategi promosi digital yang masih belum terstruktur. Lingkup utama dokumen ini meliputi kebutuhan fungsional (seperti sistem stok otomatis, integrasi pembayaran digital, laporan keuangan, dan notifikasi stok minimum) dan kebutuhan non-fungsional (yaitu sistem yang harus sederhana, terjangkau biayanya, dan mudah digunakan). Batasan sistem ini tidak mencakup pengelolaan inventaris yang berada di luar toko atau integrasi dengan platform pihak ketiga di luar sarana transaksi digital yang sudah digunakan.
Fokus utama dokumen ini adalah memberikan pandangan menyeluruh mengenai kemampuan dan batasan sistem yang diusulkan, yang akan menjadi fondasi kuat untuk tahap pengembangan dan pengujian perangkat lunak. Selain itu, dokumen ini berfungsi sebagai alat komunikasi yang efisien antara tim pengembang, manajer proyek, penguji sistem, dan Pemilik Toko Buku & Alat Tulis sebagai klien. Dokumen ini juga menjadi dasar persetujuan dan penerimaan akhir sistem. Keberhasilan sistem ini akan diukur berdasarkan kriteria kesuksesan yang ditetapkan oleh pemilik: ketersediaan stok produk vital yang terjamin , kecepatan pelayanan yang dipertahankan saat ramai, promosi digital yang lebih konsist, serta posisi toko yang tetap menjadi preferensi utama mahasiswa dibandingkan kompetitor online.
Dokumen ini diperuntukkan bagi tim pengembang perangkat lunak, manajer proyek, penguji sistem, serta Pemilik Toko Buku & Alat Tulis. Dengan adanya SRS ini, diharapkan semua pihak memiliki pemahaman yang jelas, seragam, dan mendalam tentang spesifikasi teknis dan sasaran bisnis dari sistem yang akan dibangun. Hal ini bertujuan untuk mendukung pemilik toko dalam mewujudkan pengelolaan yang lebih tertata rapi, menjamin keselarasan visi, keberhasilan proyek, dan kepuasan pengguna akhir.
1.2 Ruang Lingkup
Produk perangkat lunak yang akan dikembangkan diidentifikasi sebagai SANTAI (Sistem ATK Pintar & Informatif). Aplikasi ini diusulkan berbentuk berbasis web yang dirancang untuk meningkatkan efisiensi operasional dan manajemen Toko Buku & Alat Tulis.
Sistem SANTAI akan menyediakan seperangkat fitur terintegrasi untuk mengatasi masalah operasional toko:
Pengelolaan Stok Otomatis: Mencakup pencatatan yang akurat, pembaruan stok secara real-time setelah penjualan, dan fitur Pengingat Stok Habis untuk menjamin ketersediaan barang penting. Manajemen Penjualan: Mendukung pemrosesan transaksi cepat, baik tunai maupun integrasi pembayaran digital (QRIS, e-wallet) dalam satu sistem. Rekonsiliasi Otomatis: Mengotomatisasi pencocokan data transaksi di toko dengan laporan dari platform digital (QRIS, dsb.), menghilangkan kebutuhan rekap manual. Laporan Bisnis: Menyajikan laporan keuangan dan stok yang sederhana dan terperinci untuk mendukung keputusan bisnis dan administrasi yang lebih rapi. Dukungan Promosi: Mencakup modul untuk menjadwalkan dan mengelola konten promosi di media sosial (IG, WA), bertujuan agar promosi menjadi lebih konsisten dan efektif. Peningkatan Pelayanan: Menyediakan fitur tambahan (seperti manajemen antrean atau pra-pesan) untuk membantu menjaga kecepatan dan ketertiban pelayanan, terutama saat musim ramai (peak season). Guna menjaga agar sistem tetap sederhana, berbiaya terjangkau, dan mudah dipakai bagi pemilik toko, sistem SANTAI memiliki beberapa batasan sebagai berikut:
Pengelolaan Inventori Eksternal: Sistem tidak akan mengelola inventaris yang tersimpan di luar lokasi toko fisik atau terhubung dengan sistem Supply Chain pemasok. Integrasi Eksternal Kompleks: Tidak mencakup integrasi langsung dengan platform e-commerce pihak ketiga atau sistem eksternal yang memerlukan API canggih, di luar integrasi data transaksi QRIS/e-Wallet yang telah disepakati. Perubahan Dasar Pelayanan: Perangkat lunak ini dirancang untuk mendukung dan memperkuat keunggulan pelayanan cepat dan ramah yang telah dimiliki toko, bukan mengganti atau merombak total alur interaksi tersebut. Ruang lingkup dari dokumen SRS ini adalah untuk mendefinisikan secara mendalam semua kebutuhan fungsional dan non-fungsional (kemudahan penggunaan, biaya efisien) dari SIM-Toko SANTAI. Dokumen ini berfungsi sebagai panduan utama untuk pengembangan dan titik acuan bersama bagi tim pengembang dan semua pemangku kepentingan. Tujuannya adalah memastikan bahwa pengembangan sistem tetap fokus pada pencapaian kriteria sukses yang ditetapkan pemilik, yaitu: ketersediaan stok terjamin, kecepatan pelayanan saat ramai, promosi yang efektif, dan mempertahankan posisi toko sebagai pilihan utama mahasiswa.
1.3 Definisi, Akronim, dan Singkatan
Beberapa definisi, akronim, singkatan yang digunakan dalam SRS ini antara lain sebagai berikut
Tabel 1. Istilah dalam SRS
1.4 Referensi
Dokumen ini disusun dengan mengacu pada berbagai referensi standar, dokumen internal, dan hasil wawancara lapangan sebagai dasar penyusunan kebutuhan sistem.
IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications: Standar internasional yang menjadi kerangka acuan utama untuk format penulisan, struktur, dan konten dari dokumen Spesifikasi Kebutuhan Perangkat Lunak (SRS) ini. Laporan hasil wawancara dengan pemilik toko alat tulis EduTulis Stationery, tanggal 21 September 2025: Dokumen sumber yang memuat masalah utama toko (pengelolaan stok, pelayanan, rekonsiliasi, promosi), kebutuhan fungsional dan non-fungsional, serta kriteria sukses sistem SANTAI yang ditetapkan oleh pemilik toko. Standar Protokol Komunikasi Jaringan: HTTP/1.1 (RFC 2616) dan HTTPS/SSL (RFC 2818): Standar protokol yang digunakan untuk komunikasi antara client (browser) dan server, serta acuan untuk implementasi keamanan sistem (enkripsi). MySQL Database Server Documentation: Referensi teknis untuk konfigurasi, pengelolaan, dan optimasi basis data relasional (MySQL 8.x) yang digunakan sebagai penyimpanan data stok, transaksi, dan laporan sistem SANTAI. Laravel Framework Documentation: Referensi teknis yang digunakan sebagai panduan untuk pengembangan logika bisnis (backend), routing, autentikasi, dan manajemen dependensi (PHP 8.x) pada aplikasi web SANTAI. 1.5 Gambaran Umum
Dokumen Spesifikasi Kebutuhan Perangkat Lunak (SRS) ini adalah panduan komprehensif untuk pengembangan sistem SANTAI (Sistem ATK Pintar & Informatif). Dokumen ini disusun dalam format yang mengikuti standar IEEE 830-1998 yang telah dimodifikasi, dan terdiri dari beberapa bagian utama yang menjelaskan kebutuhan dan batasan sistem secara rinci.
Bagian 1: Pendahuluan. Bagian ini menjelaskan mengenai latar belakang, tujuan pembuatan SRS, ruang lingkup sistem SANTAI, definisi istilah, acuan dokumen (referensi), dan gambaran umum struktur dokumen. Bagian 2: Deskripsi Umum Produk. Berisi pemaparan deskripsi umum sistem dari berbagai perspektif, seperti: Perspektif Produk (2.1): Menjelaskan arsitektur (client-server berbasis web), antarmuka (sistem, pengguna, perangkat keras, perangkat lunak, dan komunikasi), serta kendala memori (RAM dan Storage) yang mendukung sistem. Fungsi Produk (2.2): Menguraikan sembilan fungsi utama sistem, mulai dari Login (PTR-000) hingga Backup & Keamanan Data (PTR-008). Karakteristik Pengguna (2.3): Mendefinisikan peran, tingkat pendidikan, pengalaman, dan keahlian teknis dari pengguna utama sistem (Admin dan Kasir). Keterbatasan (2.4) dan Asumsi & Ketergantungan (2.5): Merinci batasan hak akses pengguna, kendala teknis (hardware/software), serta asumsi lingkungan operasional yang menjadi dasar pengembangan. Pembagian Kebutuhan (2.6): Mengidentifikasi fitur-fitur yang ditunda implementasinya untuk versi sistem masa depan. Bagian 3: Kebutuhan Spesifik. Menyajikan beberapa persyaratan teknis yang spesifik: Kebutuhan Fungsional (3.1): Menggambarkan Use Case Diagram yang memetakan interaksi antara aktor (User dan Admin) dengan fungsi-fungsi utama sistem (UC-01 hingga UC-07). Kebutuhan Spesifik Fungsional Sistem (3.2): Menyediakan spesifikasi rinci untuk setiap Kasus Penggunaan (Use Case Specification), termasuk alur normal, alur alternatif, dan aturan bisnis terkait (contoh: UC-01: Login). Kebutuhan Basis Data Logis (3.3): Tempat untuk Diagram Hubungan Entitas (ERD) yang menjelaskan struktur data sistem. Dokumen ini bertujuan menjadi alat komunikasi yang tunggal dan terpadu antara Pemilik Toko (klien) dan Tim Pengembang, memastikan pemahaman yang seragam dan mendalam tentang spesifikasi teknis dan sasaran bisnis yang harus dicapai oleh sistem SANTAI.
2. Deskripsi Umum
2.1 Perspektif Produk
SANTAI adalah sebuah perangkat lunak yang dikembangkan untuk membantu pemilik dan karyawan toko alat tulis dalam mengelola aktivitas operasional toko secara efisien, cepat, dan terstruktur. Perangkat lunak ini berbasis web sehingga dapat diakses dari berbagai perangkat seperti komputer, laptop, dan smartphone yang terhubung ke internet.
Dari perspektif produk, sistem ini merupakan aplikasi dengan arsitektur client-server yang dikembangkan menggunakan bahasa pemrograman modern dan framework web terkini. Dalam lingkungan pengembangan, digunakan IDE dan version control untuk memastikan proses pengembangan perangkat lunak berjalan terarah dan terkoordinasi dengan baik. Seluruh data tersimpan dalam basis data relasional, sehingga mendukung pengelolaan transaksi dan pelaporan secara terintegrasi.
Pengguna berinteraksi dengan sistem melalui antarmuka grafis (GUI) yang intuitif dan responsif, dapat diakses melalui berbagai sistem operasi. Seluruh data pengguna, stok, dan transaksi disimpan secara terpusat pada server, sementara pengguna dapat mengakses informasi dan fitur sesuai hak akses melalui internet.
Ketika data diinput oleh pengguna (misalnya saat transaksi penjualan atau pencatatan stok), sistem akan menyimpannya dalam database server. Proses pencarian, pengambilan, dan analisis data dilakukan melalui query yang kemudian hasilnya dikirim kembali ke client. Sistem ini juga dilengkapi dengan fitur keamanan, skalabilitas, dan performa tinggi untuk mendukung operasional toko secara berkelanjutan.
2.1.1 Antarmuka Sistem
Gambar 1. Arsitektur Sistem SANTAI
Daftar Setiap Antarmuka Sistem:
Antarmuka Client (Workstation dan Tablet): Digunakan oleh kasir dan admin melalui browser web (Google Chrome, Firefox, Edge). Menyediakan tampilan aplikasi web interaktif untuk login, manajemen stok, transaksi penjualan, promosi digital, dan laporan keuangan.
Antarmuka Server Aplikasi (Web Server): Menangani logika bisnis, validasi data, dan komunikasi antar modul sistem melalui framework PHP Laravel.
Antarmuka Database (Server Data): Mengelola penyimpanan data transaksi, stok, pengguna, dan laporan menggunakan MySQL Database Server.
Antarmuka Jaringan (LAN Router/Switch): Menghubungkan semua perangkat client (komputer kasir dan tablet admin) ke server lokal melalui koneksi LAN lokal.
Antarmuka Backup & Recovery: Digunakan untuk menyimpan cadangan data ke penyimpanan lokal atau cloud, mendukung pemulihan (recovery) data saat dibutuhkan.
Identifikasi Fungsionalitas Perangkat Lunak:
Mengelola stok barang secara otomatis (update saat transaksi terjadi). Melayani transaksi penjualan cepat berbasis POS dengan metode pembayaran tunai, QRIS, dan transfer. Menyediakan laporan keuangan otomatis dan real-time. Menjalankan promosi digital terjadwal. Menyediakan autentikasi pengguna multi-role (admin dan kasir). Melakukan backup data otomatis untuk keamanan sistem. Deskripsi Antarmuka Sistem:
Sistem ini menganut arsitektur client-server berbasis web lokal yang terdiri dari tiga lapisan utama (3-layer architecture):
Layer Presentasi (Client Layer)
Diimplementasikan sebagai aplikasi web yang berjalan pada browser di perangkat pengguna, yaitu komputer kasir (workstation) dan tablet admin. Antarmuka dirancang responsif agar tampil optimal di berbagai ukuran layar dan perangkat.
Komponen utama: Login multi-role (admin & kasir) Dashboard laporan dan stok Notifikasi stok menipis dan promosi Layer Aplikasi (Application Layer)
Ditempatkan pada server lokal dengan konfigurasi: Apache Web Server sebagai web host, PHP Laravel Framework untuk logika aplikasi, validasi data, routing request, dan role-based access control (RBAC).
Layer ini mengatur seluruh alur bisnis toko (stok, transaksi, laporan, promosi) dan mengelola komunikasi antara client dan database. Layer Data (Database Layer)
Menggunakan MySQL Database Management System untuk menyimpan seluruh data penting seperti transaksi, data pengguna, stok, laporan keuangan, dan promosi.
Akses data menggunakan PDO (PHP Data Objects) untuk keamanan dan efisiensi query. Komunikasi antar komponen menggunakan protokol HTTP melalui jaringan LAN lokal, dengan router/switch sebagai pusat konektivitas.
Sistem juga mendukung RESTful API untuk integrasi masa depan (misalnya ke sistem e-commerce atau aplikasi mobile).
Arsitektur ini dirancang untuk mendukung skalabilitas vertikal, artinya kapasitas sistem dapat ditingkatkan dengan menambah spesifikasi server. Mekanisme backup manual dan otomatis tersedia untuk menjaga keandalan data, sementara recovery system memungkinkan pemulihan cepat jika terjadi gangguan.
Keamanan diterapkan melalui:
Autentikasi berbasis session login, Authorization dengan role-based access control (RBAC), Validasi input di sisi server dan client, Enkripsi password (bcrypt) untuk menjaga kerahasiaan pengguna. Pertimbangan khusus sistem:
Respon waktu maksimal: 2 detik per transaksi POS. Ketersediaan sistem: ≥99% selama jam operasional toko. Integrasi lokal: berjalan sepenuhnya di lingkungan offline (LAN lokal) agar tetap dapat digunakan tanpa internet. Biaya efisien: dapat dijalankan pada mini server atau PC kasir dengan spesifikasi menengah. 2.1.2 Antarmuka Pengguna
Wireframe Menu Dasbor atau Menu utama Admin
Spesifikasi Antarmuka Pengguna
Antarmuka pengguna sistem SANTAI (Sistem ATK Pintar & Informatif) dirancang menggunakan pendekatan responsive design yang berfokus pada pengalaman pengguna yang intuitif dan efisien.
Karakteristik logis antarmuka mencakup komponen navigasi menu sidebar sebagai navigasi utama, dilengkapi dengan search bar global di bagian atas dan panel notifikasi di sisi kanan layar. Skema warna menggunakan palet netral (putih, abu-abu, hitam) dengan tipografi sans-serif yang jelas dan mudah dibaca.
Format layar menggunakan tata letak card-based grid yang konsisten di seluruh halaman dengan resolusi optimal untuk 1280 × 720 px dan dukungan responsive design untuk tablet.
Tata letak halaman terdiri dari:
Menu sidebar di sebelah kiri berisi navigasi utama. Header atas dengan kolom pencarian dan profil pengguna. Area tengah berisi dashboard utama dengan ringkasan data dalam bentuk card (Total Barang, Transaksi Hari Ini, Saldo Kas, Stok Menipis). Panel kanan untuk notifikasi real-time terkait stok dan promosi. Laporan dan menu pada sistem SANTAI meliputi:
Menu utama: Dasbor, Manajemen Stok, Transaksi Penjualan, Rekonsiliasi, Promosi, Laporan Keuangan, Pelayanan Pelanggan, Pengguna, Backup Data, Keluar. Komponen interaksi terdiri dari form input menggunakan dropdown, checkbox, dan button yang mudah digunakan. Tampilan data menggunakan format table dan card dengan pagination untuk efisiensi navigasi. Sistem notifikasi menggunakan toast notification. Laporan disajikan dalam format PDF dan Excel dengan struktur menu flat yang logis. Dashboard menampilkan visualisasi data berupa card ringkasan dan notifikasi status stok. Optimasi antarmuka mencakup dukungan multi-device untuk desktop dan tablet, serta compliance dengan standar WCAG 2.1. Waktu loading maksimal adalah 3 detik, dan sistem mendukung Bahasa Indonesia sebagai bahasa utama.
Prinsip desain menerapkan:
Konsistensi visual pada seluruh halaman, Feedback immediate setelah setiap aksi pengguna, Error prevention melalui validasi real-time, Progressive disclosure untuk menyederhanakan tampilan fitur kompleks. Antarmuka ini dirancang untuk memenuhi kebutuhan admin dan karyawan toko ATK yang membutuhkan pengelolaan stok, transaksi, dan laporan secara cepat dan efisien tanpa memerlukan keahlian teknis tinggi. Sistem ini dikembangkan melalui proses usability testing sederhana guna memastikan kemudahan penggunaan dan aksesibilitas bagi pengguna.
2.1.3 Antarmuka Perangkat Keras
Diagram Arsitektur Perangkat Keras
Spesifikasikan Perangkat Keras:
Sistem SANTAI ATK (Sistem ATK Pintar & Informatif) dirancang untuk beroperasi pada konfigurasi perangkat keras yang efisien dan terjangkau bagi skala UMKM toko alat tulis. Arsitektur sistem ini mengadopsi model client-server berbasis jaringan lokal (LAN), di mana seluruh perangkat (komputer kasir, tablet admin, dan server lokal) terhubung melalui router atau switch.
Antarmuka antara perangkat lunak dan perangkat keras sistem SANTAI ATK bersifat dua arah (bidirectional), memfasilitasi komunikasi antara:
Komputer Kasir (Client) → sebagai perangkat utama untuk transaksi penjualan dan manajemen stok. Tablet Admin (Opsional) → untuk akses laporan, promosi digital, dan keuangan secara real-time. Server Lokal/Cloud (Application & Database Server) → mengelola logika aplikasi, validasi data, serta penyimpanan database MySQL. Semua komunikasi dilakukan melalui protokol HTTP/HTTPS di jaringan LAN lokal.
Server mengelola request–response dari client dan mengembalikan hasil sesuai role pengguna (admin/kasir).
Printer thermal berkomunikasi melalui driver sistem operasi standar (ESC/POS) dengan koneksi USB atau Bluetooth.
Konfigurasi sistem perangkat keras disesuaikan dengan kebutuhan toko berskala kecil hingga menengah, dengan kemampuan plug-and-play tanpa instalasi driver tambahan.
Perangkat Client (Komputer Kasir)
Prosesor: Intel Core i3 generasi ke-6 atau AMD Ryzen 3 (setara) Kecepatan Prosesor: 2.3 GHz atau lebih Storage: 128 GB SSD atau 500 GB HDD Monitor: Resolusi minimal 1280×720 piksel Perangkat Input: Keyboard dan Mouse standar Perangkat Output: Printer thermal 58mm atau 80mm (USB/Bluetooth) Koneksi Jaringan: Ethernet 100 Mbps atau WiFi 802.11n Sistem Operasi Didukung: Windows 10/11, Ubuntu 20.04+, atau macOS 10.15+ Perangkat Admin (Opsional – Tablet atau PC)
Tablet: Android 8.0+ atau iOS 12+ Koneksi: WiFi 802.11n atau Ethernet Browser yang Didukung: Chrome, Firefox, Edge Mode Akses: Web responsif melalui HTTP lokal Server Lokal / Cloud
Prosesor: Intel Core i3 atau setara Storage: 256 GB SSD (direkomendasikan untuk performa database) Network: Ethernet Gigabit Sistem Operasi: Windows Server 2019 / Ubuntu Server 20.04+ / Linux Distro ringan Web Server: Apache 2.4 / Nginx Backup Device: External HDD 500 GB untuk penyimpanan cadangan otomatis Perangkat Jaringan
Router: TP-Link / D-Link (WiFi Dual Band 2.4GHz & 5GHz) Switch (Opsional): Digunakan jika terdapat lebih dari 2 client Kabel LAN: Cat5e / Cat6 untuk koneksi stabil Kartu Jaringan: Realtek / Intel NIC mendukung protokol TCP/IP Kecepatan Transfer: Minimal 100 Mbps Sistem SANTAI ATK mendukung berbagai jenis perangkat keras yang umum digunakan UMKM, dengan kompatibilitas tinggi terhadap sistem operasi dan driver bawaan.
Dukungan Input: Keyboard dan Mouse dengan antarmuka USB plug-and-play. Dukungan Output: Printer thermal menggunakan driver ESC/POS standar yang otomatis terdeteksi oleh OS. Antarmuka Standar: USB 2.0/3.0, HDMI, LAN RJ45, dan WiFi IEEE 802.11n. Mekanisme Komunikasi: Browser client (kasir/admin) mengirimkan permintaan (HTTP Request) ke server lokal yang menjalankan framework Laravel (PHP 8.x) dan mengakses database MySQL menggunakan PDO (PHP Data Objects). Format Data: JSON untuk pertukaran data antara client dan server. Sistem ini dikembangkan agar kompatibel dengan arsitektur x86-64 dan dapat berjalan pada sistem operasi modern (Windows, Linux, macOS). Deteksi perangkat dilakukan secara otomatis menggunakan teknologi Plug-and-Play, sementara instalasi driver dilakukan secara native oleh OS tanpa konfigurasi manual. Monitoring dan troubleshooting perangkat dilakukan melalui browser console atau server log Laravel, memudahkan identifikasi kesalahan tanpa perlu software tambahan.
2.1.4 Antarmuka Perangkat Lunak
Diagram Integrasi Perangkat Lunak
Daftar Perangkat Lunak Pendukung:
Integrated Development Environment (IDE) Nomor Spesifikasi: ISO/IEC 30170:2012 (Standar Implementasi Editor dan Ekstensi) Versi: 1.90 atau lebih tinggi Sumber: Microsoft Corporation Deskripsi: Digunakan sebagai lingkungan pengembangan utama untuk menulis kode backend (PHP Laravel), frontend (HTML, CSS, JavaScript), serta integrasi dengan GitHub dan terminal bawaan. VSCode mendukung linting, debugging, dan extension management untuk framework Laravel serta integrasi MySQL secara langsung. Database Management System Nama: MySQL Database Server Nomor Spesifikasi: ISO/IEC 9075 (Standard SQL) Versi: 8.0 atau lebih tinggi Sumber: Oracle Corporation Deskripsi: Berfungsi sebagai penyimpanan utama seluruh data sistem, termasuk transaksi penjualan, data stok barang, pengguna, laporan keuangan, dan promosi. Mendukung query SQL standar dan akses terproteksi melalui PDO (PHP Data Object) dari sisi aplikasi. Database Administration Tool Nomor Spesifikasi: RFC 2616 (HTTP/HTML5 compatible) Versi: 5.2 atau lebih tinggi Sumber: phpMyAdmin Project (opensource) Deskripsi: Alat bantu berbasis web untuk administrasi database MySQL yang digunakan oleh admin sistem untuk melakukan manajemen database, backup, dan query manual. Mendukung autentikasi pengguna dan ekspor data dalam berbagai format (SQL, CSV, XML). Nomor Spesifikasi: W3C HTML5, CSS3, ECMAScript 6 Versi: 120.0 atau lebih tinggi Deskripsi: Berfungsi sebagai client interface utama bagi kasir dan admin untuk mengakses sistem SANTAI ATK. Browser digunakan untuk menjalankan aplikasi berbasis web, menampilkan halaman dashboard, laporan, form transaksi, serta login multi-role. Nomor Spesifikasi: POSIX.1 (IEEE Std 1003.1) Versi: 20.04 LTS atau lebih tinggi Deskripsi: Menjadi platform host server bagi Apache Web Server dan MySQL Database. Menyediakan stabilitas, keamanan tinggi, serta dukungan untuk manajemen jaringan dan backup otomatis. Sistem juga mendukung akses SSH untuk administrasi jarak jauh. Nomor Spesifikasi: RFC 2616 (HTTP/1.1) dan RFC 2818 (HTTPS/SSL) Versi: 2.4 atau lebih tinggi Sumber: Apache Software Foundation Deskripsi: Berfungsi untuk melayani request dan response dari client (browser) melalui protokol HTTP/HTTPS. Apache menjalankan framework Laravel (PHP 8.x) sebagai backend utama yang menangani autentikasi, validasi data, transaksi penjualan, serta komunikasi dengan database MySQL. Integrasi Perangkat Lunak:
Sistem SANTAI ATK terintegrasi dengan 6 komponen perangkat lunak utama melalui mekanisme client-server berbasis HTTP/HTTPS.
Integrasi dilakukan sebagai berikut:
Web Browser ↔ Web Server: Menggunakan protokol HTTP/HTTPS untuk komunikasi antara client dan server, dengan autentikasi session-based login dan role access (admin/kasir). Web Server ↔ Database MySQL: Menggunakan PHP PDO untuk query SQL aman dan efisien. Database Tool (phpMyAdmin): Terhubung langsung ke MySQL untuk pemantauan dan administrasi database. Dependensi perangkat lunak dikelola melalui Composer (PHP Dependency Manager) untuk memastikan kompatibilitas antar library Laravel, serta version locking pada versi stabil (PHP 8.2 dan Laravel 10.x).
Kompatibilitas:
Semua perangkat lunak yang digunakan kompatibel dengan standar web modern (W3C, SQL-92, HTTP/1.1) dan dilisensikan secara open-source atau free license.
Pembaruan (update dan patch) dilakukan secara manual atau melalui package manager bawaan (Composer, APT) dengan memperhatikan kebijakan keamanan sistem lokal UMKM.
Seluruh komponen dapat berjalan offline di jaringan LAN dan online jika terkoneksi ke internet (untuk backup atau update).
Catatan:
Spesifikasi versi dapat disesuaikan dengan kebutuhan sistem dan perkembangan keamanan di masa depan. Penggunaan teknologi open-source dipilih untuk mengurangi biaya lisensi dan mendukung fleksibilitas sistem. Dengan integrasi ini, sistem SANTAI ATK mampu memberikan respons cepat, pengelolaan data yang aman, dan kemudahan maintenance bagi pengguna (admin & kasir).
2.1.5 Antarmuka Komunikasi
Diagram Arsitektur Jaringan
Spesifikasi Antarmuka Komunikasi:
Sistem SANTAI ATK menggunakan arsitektur komunikasi berbasis client-server melalui jaringan lokal (LAN) dan protokol HTTP/HTTPS.
Komunikasi antar komponen dilakukan secara dua arah (bidirectional) antara:
Komputer Kasir → Router → Server Lokal/Cloud Tablet Admin → Router → Server Lokal/Cloud
Kedua jalur komunikasi mendukung koneksi kabel (LAN) dan nirkabel (Wi-Fi) dengan keamanan SSL/TLS encryption untuk memastikan integritas dan kerahasiaan data yang dikirim. Sistem ini akan berkomunikasi menggunakan beberapa jenis koneksi berikut:
1. Koneksi Jaringan Lokal
Untuk: Menghubungkan seluruh perangkat dalam satu lokasi toko (komputer kasir, printer, tablet admin, dan server lokal). Contoh: Komputer kasir mengakses sistem POS ke server lokal untuk mencatat transaksi, tablet admin menampilkan laporan keuangan. Kecepatan: Minimal 100/1000 Mbps (Gigabit Ethernet). Teknologi: Kabel LAN (Cat5e/Cat6) untuk kasir dan Wi-Fi 802.11n/ac untuk tablet admin. Protokol: TCP/IP untuk komunikasi dasar antar perangkat di jaringan internal. 2. Koneksi Internet
Untuk: Memberikan akses admin dari luar lokasi utama (misalnya dari rumah atau cabang lain). Contoh: Admin memantau stok atau laporan penjualan harian melalui browser menggunakan koneksi HTTPS. Keamanan: Menggunakan enkripsi SSL/TLS (AES-256) untuk melindungi data selama transmisi. Protokol: HTTP/HTTPS sebagai protokol komunikasi utama untuk semua permintaan (request) dan tanggapan (response). Firewall dan Authentication: Sistem memerlukan login dengan session token dan role-based access control (RBAC) untuk mencegah akses tidak sah. 3. Koneksi ke Perangkat Lain
Untuk: Integrasi dengan perangkat eksternal atau sistem tambahan. Contoh: Integrasi dengan sistem pembayaran QRIS atau laporan inventory ekspor ke aplikasi spreadsheet. Format Data: JSON untuk komunikasi data real-time antar sistem, serta dukungan CSV/XML untuk ekspor data laporan. Jadwal Sinkronisasi: Realtime untuk transaksi dan harian untuk backup otomatis database. Keamanan Data:
Semua data dikirim dan diterima melalui koneksi terenkripsi menggunakan TLS 1.3 dengan algoritma AES-256. Setiap koneksi memerlukan autentikasi pengguna (username & password) atau token session. Akses admin hanya dapat dilakukan melalui jaringan yang terdaftar (whitelisted IP). Sistem melakukan monitoring keamanan otomatis selama 24 jam, mendeteksi aktivitas mencurigakan dan mencatat seluruh log akses. Kebutuhan Bandwidth:
Minimal: 10 Mbps untuk operasional kasir tunggal dan 25 Mbps untuk dua client (kasir + admin). 1️⃣ Transaksi POS (Real-time data transfer)
2️⃣ Backup Database
3️⃣ Update sistem / notifikasi promosi
Backup Connection: Dapat menggunakan koneksi Wi-Fi router cadangan (failover) apabila jaringan utama kabel terputus.
Cara Kerja:
Pengguna (kasir/admin) mengirim permintaan melalui browser web (HTTP Request). Server aplikasi (Apache + Laravel) memverifikasi identitas pengguna melalui session login. Setelah diverifikasi, server mengakses database MySQL melalui PDO Connection (SQL Query) dan memproses permintaan. Data hasil proses dikembalikan ke pengguna melalui HTTP Response (JSON format) untuk ditampilkan pada antarmuka web. Pemantauan Jaringan dan Sistem:
System health dipantau secara realtime menggunakan modul bawaan Laravel dan server monitoring (phpMyAdmin log & Apache log). Log aktivitas pengguna dan koneksi disimpan selama 30 hari untuk audit keamanan. Jika terjadi gangguan jaringan atau server down, sistem mengirimkan notifikasi otomatis ke admin melalui pop-up dashboard atau pesan WhatsApp (fitur opsional). Antarmuka komunikasi ini dirancang sederhana agar mudah dipahamidan dioperasikan serta aman, dan efisien oleh semua pengguna dengan berbagai tingkat pengetahuan teknis.
2.1.6 Kendala Memori
Memori Primer (RAM)
Persyaratan Minimum
RAM yang Direkomendasikan: 4 GB DDR4 Penggunaan RAM Saat Idle: Maksimal 600 MB (untuk proses server, browser, dan background services) Penggunaan RAM Saat Operasi Normal: Maksimal 1,5 GB (termasuk PHP runtime, Apache, dan MySQL service) Penggunaan RAM Saat Beban Puncak: Maksimal 2,5 GB (saat transaksi bersamaan, laporan terbuka, dan backup otomatis berjalan) Alokasi Memori
Cache Aplikasi: 150–300 MB (menyimpan data form, template, dan file sementara Laravel) Buffer Data: 200–400 MB (untuk proses query SQL, transaksi, dan I/O jaringan) Session Management: 50–100 MB (penyimpanan session user kasir dan admin secara real-time) Temporary Data: 100–200 MB (untuk file log, cache, dan laporan sementara yang dibuat sistem) Batasan Operasional
Sistem masih dapat berjalan dengan RAM minimum 2 GB, namun performa dapat menurun ketika beberapa tab browser aktif bersamaan. Manajemen memori otomatis dilakukan oleh Laravel cache manager dan MySQL buffer pool, yang akan melepaskan memori idle setiap 5 menit. Threshold warning: muncul peringatan di dashboard admin jika penggunaan RAM server melebihi 80% kapasitas total. Mekanisme pelepasan memori: sistem akan membersihkan cache dan temporary data secara otomatis menggunakan scheduler setiap jam. Memori Sekunder (Storage)
Persyaratan Instalasi
Ukuran Instalasi Aplikasi: ± 350 MB (termasuk file Laravel, vendor composer, dan dependensi) Ruang Kosong Minimum yang Diperlukan: 2 GB Ruang yang Direkomendasikan: 10 GB atau lebih untuk mendukung penyimpanan database dan log jangka panjang Penggunaan Data
Database: 100–300 MB di awal implementasi; dapat bertambah ±10 MB per bulan tergantung volume transaksi. File Cache: Maksimal 500 MB (berisi hasil query sementara dan template web). File Log: Maksimal 1 GB; log dirotasi setiap 7 hari menggunakan Laravel Log Rotation. File Temporary: Maksimal 500 MB; file otomatis dihapus setelah 24 jam oleh scheduler task. User Data: Disimpan di database MySQL dengan kebijakan retensi data 12 bulan sebelum diarsipkan secara manual. Manajemen Storage
Pembersihan cache otomatis dilakukan menggunakan perintah php artisan cache:clear yang dijalankan terjadwal setiap 6 jam. Rotasi log: sistem menggunakan daily log rotation untuk membatasi file log maksimal 7 hari terakhir. Penghapusan file temporary: dijalankan otomatis oleh cron job setiap pukul 00.00. Sistem notifikasi storage: menampilkan peringatan di dashboard admin jika sisa ruang penyimpanan di bawah 15%. Optimasi Memori
Strategi Optimasi
Lazy Loading: diterapkan pada model Laravel untuk menghindari query berlebihan dan memuat data hanya saat diperlukan. Pagination: digunakan pada tampilan laporan dan daftar transaksi agar beban memori browser tetap rendah. Kompresi: file log dan backup database dikompresi otomatis dalam format .zip untuk menghemat ruang. Strategi Caching: memanfaatkan Laravel Cache Driver (File-based) untuk mempercepat akses data yang sering digunakan. Monitoring
Monitoring real-time: melalui panel Laravel Telescope atau phpMyAdmin Status Monitor. Logging memori: Apache dan Laravel mencatat statistik penggunaan RAM dan cache setiap 15 menit. Sistem alert: menampilkan notifikasi otomatis di dashboard jika server mencapai >85% kapasitas memori atau storage. Kompatibilitas Platform
Desktop
RAM Minimum 2 GB, Recommended 4 GB Storage Minimum 2 GB, Recommended 10 GB RAM Minimum 2 GB, Recommended 4 GB Storage Minimum 2 GB, Recommended 10 GB RAM Minimum 2 GB, Recommended 4 GB Storage Minimum 2 GB, Recommended 8 GB Mobile
Server (jika applicable)
RAM: Minimum 4 GB, Recommended 8 GB DDR4 Storage: Minimum 256 GB SSD (untuk performa tinggi), mendukung backup eksternal hingga 500 GB Database: MySQL 8.0 dengan buffer pool 512 MB–1 GB dan kapasitas ekspansi hingga 5 GB untuk data transaksi tahunan 2.2 Fungsi Produk
Fungsi produk perangkat lunak SANTAI ini antara lain adalah sebagai berikut.
1. Fungsi Login & Autentikasi Pengguna (PTR-000).
Merupakan fungsi yang digunakan oleh seluruh pengguna sistem (pemilik, admin, dan karyawan toko) untuk masuk ke sistem menggunakan kredensial akun.
Fungsi ini memastikan bahwa hanya pengguna terdaftar yang dapat mengakses fitur sistem.
Proses mencakup verifikasi username dan password, opsi “ingat saya”, serta fitur “lupa password” untuk mengatur ulang kata sandi melalui email atau WhatsApp.
Sistem juga menyediakan tombol logout untuk mengakhiri sesi pengguna dengan aman.
2. Fungsi Manajemen Stok Otomatis (PTR-001)
Merupakan fungsi yang digunakan oleh pemilik dan karyawan toko untuk mencatat, memantau, dan memperbarui stok barang secara otomatis. Sistem akan mendeteksi perubahan stok berdasarkan transaksi penjualan dan pembelian.
Fungsi mencakup beberapa sub-fungsi sebagai berikut:
a. Fungsi Input Barang Masuk (PTR-001-01). Digunakan untuk mencatat barang baru dari supplier termasuk nama barang, kode, harga, dan jumlah stok awal.
b. Fungsi Update Stok Otomatis (PTR-001-02). Stok otomatis berkurang setiap kali terjadi transaksi penjualan.
c. Fungsi Reminder Stok Menipis (PTR-001-03). Memberikan notifikasi otomatis ketika stok barang penting di bawah batas minimum.
d. Fungsi Riwayat Stok (PTR-001-04). Menampilkan riwayat keluar-masuk barang untuk audit atau pengecekan selisih stok.
3. Fungsi Manajemen Transaksi Penjualan (PTR-002)
Merupakan fungsi yang digunakan oleh karyawan toko untuk memproses penjualan barang kepada pelanggan secara cepat dan akurat.
Fungsi mencakup beberapa sub-fungsi sebagai berikut:
a. Fungsi Pemindaian Barang (PTR-002-01). Digunakan untuk memindai kode barang agar harga dan stok otomatis muncul.
b. Fungsi Pembayaran Digital & Tunai (PTR-002-02). Mengelola transaksi tunai maupun digital (QRIS, e-wallet) dalam satu sistem.
c. Fungsi Pencetakan Nota Digital (PTR-002-03). Mencetak atau mengirim nota elektronik via WhatsApp ke pelanggan.
d. Fungsi Laporan Penjualan Harian (PTR-002-04). Menghasilkan rekap otomatis penjualan harian dan mingguan untuk pemilik.
4. Fungsi Rekonsiliasi Transaksi Digital (PTR-003)
Merupakan fungsi yang digunakan oleh pemilik toko untuk mencocokkan catatan penjualan toko dengan transaksi digital (QRIS, e-wallet, transfer) secara otomatis.
Sistem akan menampilkan daftar transaksi yang cocok dan tidak cocok, serta memberikan notifikasi untuk pengecekan manual.
5. Fungsi Promosi Digital Otomatis (PTR-004)
Merupakan fungsi yang digunakan oleh pemilik atau admin toko untuk menjadwalkan dan mengelola promosi digital di platform seperti Instagram dan WhatsApp.
Fungsi mencakup beberapa sub-fungsi sebagai berikut:
a. Fungsi Penjadwalan Konten Promosi (PTR-004-01). Untuk mengatur jadwal posting promosi rutin, seperti diskon atau produk baru.
b. Fungsi Template Desain Promosi (PTR-004-02). Menyediakan template visual sederhana agar pemilik bisa membuat promosi tanpa aplikasi tambahan.
c. Fungsi Pengingat Promosi (PTR-004-03). Mengirim notifikasi otomatis jika jadwal promosi sudah tiba tetapi belum diposting.
6. Fungsi Laporan Keuangan Otomatis (PTR-005)
Merupakan fungsi yang digunakan oleh pemilik toko untuk melihat laporan keuangan harian, mingguan, dan bulanan secara otomatis berdasarkan data transaksi dan pengeluaran.
Fungsi mencakup beberapa sub-fungsi sebagai berikut:
a. Fungsi Laporan Pendapatan & Pengeluaran (PTR-005-01). Menampilkan ringkasan pemasukan dan biaya operasional toko.
b. Fungsi Analisis Keuntungan (PTR-005-02). Menghitung keuntungan bersih per periode.
c. Fungsi Grafik Keuangan (PTR-005-03). Menyajikan grafik visual tren penjualan dan laba.
7. Fungsi Manajemen Pelayanan Pelanggan (PTR-006)
Merupakan fungsi yang digunakan oleh karyawan toko untuk mengatur antrian atau pesanan pelanggan terutama saat jam sibuk, agar pelayanan tetap cepat dan terorganisir.
Fungsi mencakup beberapa sub-fungsi sebagai berikut:
a.Fungsi Antrian Pelanggan (PTR-006-01). Menampilkan nomor antrian digital agar pelanggan tahu urutannya.
b. Fungsi Pemesanan Pre-Order (PTR-006-02). Pelanggan dapat memesan alat tulis tertentu lebih dulu, dan sistem akan memberi tahu jika stok tersedia.
8. Fungsi Manajemen Pengguna (PTR-007)
Merupakan fungsi yang digunakan oleh pemilik toko untuk mengelola akun pengguna sistem (admin, karyawan) dengan hak akses berbeda.
Fungsi mencakup beberapa sub-fungsi sebagai berikut:
a. Fungsi Pengaturan Username dan password (PTR-007-01). Autentikasi, untuk memastikan hanya pengguna yang terdaftar yang dapat masuk.
b. Fungsi Pembatasan akses fitur (PTR-007-02). Otorisasi, untuk mengatur siapa saja yang boleh menggunakan fitur tertentu sesuai peran atau hak aksesnya.
9. Fungsi Backup & Keamanan Data (PTR-008)
Merupakan fungsi yang digunakan oleh pemilik toko untuk menyimpan data penting toko secara otomatis ke cloud lokal atau Google Drive. Mencegah kehilangan data akibat kerusakan perangkat dan menjaga keamanan informasi transaksi.
2.3 Karakteristik Pengguna
Sistem SANTAI ATK dirancang untuk digunakan oleh dua jenis pengguna utama, yaitu Kasir (Pengguna Akhir) dan Administrator (Pemilik Toko atau Manajer). Kedua jenis pengguna memiliki tingkat akses dan tanggung jawab yang berbeda, namun keduanya berinteraksi melalui antarmuka berbasis web yang sederhana dan responsif. Sistem ini dirancang agar mudah digunakan oleh pengguna dengan kemampuan teknis dasar, sekaligus menyediakan fitur manajemen lanjutan untuk administrator.
Tabel 2. Karakteristik Pengguna Sistem SANTAI ATK
2.4 Keterbatasan
Sistem SANTAI ATK (Sistem ATK Pintar & Informatif) memiliki dua peran utama pengguna, yaitu Admin dan Kasir. Keduanya memiliki hak akses dan batasan yang ditentukan secara ketat berdasarkan menu dan alur fungsi yang tercantum dalam sitemap.
1. Pengguna Admin
Hak Akses:
Admin memiliki akses penuh ke seluruh fitur sistem yang terdiri dari 9 menu utama:
Dashboard (PTR-HOME) – menampilkan ringkasan data transaksi, stok, dan notifikasi. Manajemen Stok (PTR-001) – menambah, menghapus, dan memperbarui data barang. Transaksi Penjualan (PTR-002) – memantau transaksi kasir dan laporan harian. Rekonsiliasi (PTR-003) – mencatat transaksi manual dan koreksi stok. Promosi Digital (PTR-004) – membuat banner promosi dan mengatur diskon produk. Laporan Keuangan (PTR-005) – melihat laporan penjualan dan analisis pendapatan. Pre-Order (PTR-007) – mengatur pesanan pelanggan yang belum terpenuhi. Manajemen Pengguna (PTR-007) – menambah, mengedit, dan menonaktifkan akun kasir. Backup Data (PTR-008) – melakukan backup dan restore data transaksi serta stok. Keterbatasan Admin:
Tidak dapat melakukan transaksi langsung di POS (kasir) — hanya dapat memantau hasil transaksi. Tidak dapat login dari dua perangkat berbeda secara bersamaan (hanya satu session aktif). Bergantung pada koneksi LAN lokal — akses tidak dapat dilakukan di luar jaringan toko. Aktivitas promosi digital terbatas hanya pada format gambar dan teks sederhana. Tidak dapat memodifikasi struktur database tanpa izin pengembang sistem. 2. Pengguna Kasir
Hak Akses:
Kasir memiliki akses terbatas hanya pada 2 menu utama, sesuai sitemap:
Transaksi Penjualan (PTR-002) Melakukan transaksi pembelian pelanggan. Mencetak nota atau struk pembayaran. Memasukkan metode pembayaran (tunai, non-tunai). Pelayanan Pelanggan (PTR-006) Mengelola antrean pelanggan. Melayani pemesanan pre-order. Menandai pesanan yang sudah siap. Keterbatasan Kasir:
Tidak dapat mengakses menu: Tidak memiliki hak untuk menambah, menghapus, atau mengedit data produk. Tidak dapat mengakses riwayat laporan keuangan toko. Tidak dapat mengubah harga barang — hanya bisa memilih barang yang tersedia. Tidak memiliki hak membuat akun baru atau mengubah kredensial pengguna lain. Dibatasi oleh role login — sistem otomatis menolak akses ke halaman admin jika login sebagai kasir. Keterbatasan item lain:
Sistem mengikuti prinsip keamanan data pengguna dan transaksi sesuai praktik umum industri, meskipun tidak wajib mematuhi standar global seperti GDPR.
Namun, sistem tetap dirancang sesuai dengan standar ISO/IEC 27001 untuk keamanan informasi internal dan kebijakan privasi UMKM lokal (berbasis LAN).
Keterbatasan Perangkat Keras Server yang digunakan bersifat lokal (on-premise) dengan kapasitas penyimpanan terbatas (256 GB SSD). Kinerja sistem bergantung pada RAM minimal 4 GB dan koneksi LAN 100 Mbps. Tablet admin dan komputer kasir harus berada dalam jaringan Wi-Fi atau LAN yang sama, tidak mendukung akses jarak jauh tanpa konfigurasi tambahan. Antarmuka dengan Aplikasi Lain Integrasi eksternal hanya mendukung format data JSON dan CSV. Sistem belum memiliki dukungan langsung untuk API pembayaran online (seperti Midtrans, OVO, atau GoPay). Sinkronisasi eksternal dilakukan secara manual melalui file ekspor/impor. Sistem mampu melayani 2–3 pengguna secara bersamaan di jaringan lokal. Tidak dirancang untuk pemrosesan paralel berskala besar seperti sistem multi-store atau cabang berbeda. Log aktivitas pengguna dicatat secara otomatis untuk semua tindakan penting (login, transaksi, edit data). File log disimpan selama 30 hari dan dapat diunduh oleh administrator. Tidak tersedia sistem audit eksternal otomatis (seperti SIEM), namun ada laporan Persyaratan Bahasa Tingkat Tinggi Sistem dibangun menggunakan PHP 8.x dengan framework Laravel, HTML5, CSS3, dan JavaScript (ES6). Database menggunakan MySQL 8.x. Pembatasan: Sistem tidak mendukung bahasa pemrograman lain di sisi server seperti Python atau Node.js. Protokol Jabat Tangan Sinyal Komunikasi antara client dan server menggunakan protokol HTTP/HTTPS melalui router LAN. Tidak menggunakan socket-based connection (seperti WebSocket), sehingga komunikasi bersifat request-response tradisional. Ketersediaan sistem (uptime) dijaga ≥99% selama jam operasional toko. Waktu pemulihan sistem (recovery time) maksimal 10 menit setelah gangguan lokal. Backup data dilakukan setiap akhir hari secara manual oleh admin. Sistem dikategorikan sebagai business-critical system karena kegagalannya dapat mempengaruhi transaksi harian dan pencatatan keuangan toko. Tidak termasuk sistem mission-critical, namun memiliki toleransi gangguan sangat rendah selama jam kerja. Pertimbangan Keamanan dan Keselamatan Autentikasi berbasis username dan password terenkripsi (bcrypt). Setiap session login dibatasi waktu aktif maksimal 2 jam. Data dikirim menggunakan protokol HTTPS dengan TLS 1.2 untuk mencegah sniffing. Akses hanya dapat dilakukan dari jaringan lokal (LAN) untuk mencegah serangan eksternal. 2.5 Asumsi dan Ketergantungan
Bagian ini menjelaskan faktor-faktor yang memengaruhi kebutuhan sistem SANTAI ATK, baik dari sisi perangkat keras, perangkat lunak, maupun kondisi lingkungan operasional.
Sistem diasumsikan berjalan pada sistem operasi modern yang stabil seperti:
Windows 10/11, Ubuntu Server 20.04+, atau Linux distro setara untuk server lokal. Windows 10/11 atau macOS 10.15+ untuk perangkat client (komputer kasir). Android 8.0+ atau iOS 12+ untuk perangkat tablet admin. Browser modern seperti Google Chrome, Microsoft Edge, atau Mozilla Firefox versi terbaru tersedia dan kompatibel dengan framework Laravel dan komponen HTML5/CSS3. Sistem operasi mendukung driver standar untuk printer thermal, kartu jaringan LAN/Wi-Fi, serta koneksi router lokal.
Sistem akan dijalankan pada jaringan lokal (LAN/Wi-Fi) dengan kecepatan minimal 100 Mbps. Server lokal minimal menggunakan:
Prosesor Intel Core i3 atau setara. Komputer kasir memiliki spesifikasi minimal:
Prosesor Intel Pentium/AMD Ryzen 3, RAM 4 GB, Display 1280x720, serta koneksi Ethernet/Wi-Fi. Tablet admin (opsional) terhubung pada jaringan yang sama melalui Wi-Fi router lokal. Semua perangkat client dan server harus berada pada jaringan yang sama (local subnet) agar sistem dapat berfungsi tanpa koneksi internet.
Ketergantungan pada layanan pihak ketiga Framework backend menggunakan Laravel 10+ (PHP 8.x) yang bergantung pada library Composer untuk manajemen dependensi. Database sistem menggunakan MySQL 8.x yang membutuhkan MySQL Server Service aktif di background. Proses backup data bergantung pada ekstensi PHP PDO dan file system OS untuk menulis file backup (*.sql). Browser client mengandalkan JavaScript (ES6+) dan AJAX untuk komunikasi asinkron antar halaman. Komponen UI (tombol, notifikasi, dropdown) menggunakan Bootstrap 5 atau framework CSS sejenis yang disertakan dalam server. Integrasi ke printer thermal struk membutuhkan driver bawaan OS (USB atau Bluetooth) tanpa integrasi cloud. Asumsi Lingkungan Operasional Sistem dijalankan sepenuhnya pada jaringan lokal (offline) agar transaksi tetap bisa berjalan meskipun koneksi internet tidak tersedia. Backup data dilakukan secara manual oleh admin setiap akhir hari kerja, menggunakan fitur Backup Data (PTR-008). Hanya pengguna yang telah memiliki akun login valid (admin/kasir) yang dapat mengakses sistem - tidak tersedia akses tamu. Akses eksternal (misalnya untuk pembaruan sistem) hanya dilakukan oleh pengembang menggunakan akses fisik ke server lokal. Koneksi internet dibutuhkan hanya untuk update sistem, bukan untuk operasi harian. Ketergantungan terhadap Keamanan dan Pemeliharaan Sistem keamanan login mengandalkan enkripsi password (bcrypt) dan autentikasi berbasis session. Validasi data dijalankan di sisi server menggunakan middleware Laravel untuk mencegah input tidak valid. Semua aktivitas login dan transaksi disimpan dalam log file lokal untuk audit internal. Pemeliharaan sistem dilakukan secara berkala oleh admin toko atau teknisi pengembang, termasuk: Pembersihan cache sistem. Update framework Laravel. Backup log lama untuk mencegah overload storage. Pengguna diasumsikan memiliki pengetahuan dasar penggunaan komputer dan aplikasi berbasis web. Sistem akan dioperasikan selama jam kerja toko (08.00–21.00) dengan uptime minimal 99%. Setiap transaksi harus diselesaikan dalam waktu kurang dari 2 detik untuk menjaga efisiensi pelayanan. Data transaksi dan laporan akan bertumbuh secara linear dan masih dapat ditangani hingga 5 tahun ke depan tanpa migrasi database besar. 2.6 Pembagian Kebutuhan
Bagian ini menjelaskan fitur-fitur yang tidak akan diimplementasikan pada versi awal Sistem SANTAI ATK, namun dapat dikembangkan pada versi sistem masa depan seiring meningkatnya kebutuhan UMKM atau ekspansi toko.
Fitur yang Ditunda dan Alasan Penundaannya
Integrasi Pembayaran Digital (E-Wallet & QRIS) Alasan Penundaan:
Fitur ini ditunda karena sistem SANTAI ATK versi awal beroperasi pada jaringan lokal (offline) tanpa koneksi internet. Integrasi pembayaran digital seperti OVO, GoPay, Dana, dan QRIS memerlukan API online dan sistem keamanan tambahan (SSL Certificate dan token API). Implementasi akan dipertimbangkan pada versi SANTAI ATK v2.0 saat sistem sudah mendukung mode hybrid online.
Notifikasi Otomatis Melalui WhatsApp atau Email Alasan Penundaan:
Sistem saat ini belum memiliki SMTP server dan API Gateway untuk komunikasi eksternal. Fitur pengiriman otomatis seperti notifikasi stok menipis atau laporan harian melalui WhatsApp/Email baru akan diterapkan jika toko terhubung dengan server cloud di masa depan.
3. Integrasi Multi-Cabang (Multi-Store Synchronization)
Alasan Penundaan:
Versi awal sistem hanya mendukung satu toko (single branch) karena fokus pada UMKM skala lokal. Sinkronisasi antar cabang memerlukan database terdistribusi dan sistem replikasi data (misalnya MySQL Cluster atau cloud-based). Fitur ini akan dirancang untuk versi enterprise dari SANTAI ATK.
4. Laporan Analitik dengan Grafik Interaktif (Data Visualization)
Alasan Penundaan:
Modul laporan saat ini hanya menyajikan data dalam bentuk tabel dan grafik statis.Implementasi grafik interaktif berbasis Chart.js atau Power BI embedding membutuhkan peningkatan performa server dan browser client. Oleh karena itu, fitur ini akan dimasukkan dalam rencana pengembangan tahap dua.
5. Sistem Pengingat Otomatis untuk Pengguna (Reminder System)
Alasan Penundaan:
Fitur ini melibatkan cron job atau task scheduler yang berjalan secara otomatis di server untuk mengingatkan admin terhadap backup data, stok menipis, atau pre-order pelanggan. Karena versi awal masih menggunakan server lokal tanpa daemon otomatis, fungsi ini belum diaktifkan.
6. Integrasi Barcode Scanner dan Printer Struk Otomatis Bluetooth
Alasan Penundaan:
Sistem SANTAI ATK saat ini masih mengandalkan input manual melalui keyboard dan pencetakan struk via printer USB. Integrasi dengan perangkat eksternal Bluetooth membutuhkan driver tambahan serta pengujian kompatibilitas lintas OS, sehingga ditunda untuk update berikutnya.
7. Dashboard Admin Mobile (Responsive Mobile App)
Alasan Penundaan:
Sistem sudah mendukung tampilan web responsif, namun belum dioptimalkan sebagai aplikasi mobile penuh. Versi aplikasi mobile native (Android/iOS) akan dikembangkan setelah evaluasi kestabilan sistem utama web selesai.
3. Kebutuhan Spesifik
3.1 Kebutuhan Fungsional
Use Case Diagram Sistem SANTAI
Sistem SANTAI memiliki dua aktor utama yaitu Kasir dan Admin, yang masing-masing memiliki hak akses berbeda terhadap fungsi-fungsi sistem.
Kasir merupakan pengguna operasional yang bertanggung jawab dalam proses pelayanan dan pencatatan transaksi. Sebelum dapat menggunakan sistem, Kasir harus melakukan login (UC-01) sebagai tahap awal untuk mendapatkan akses ke fitur yang tersedia. Setelah berhasil masuk, Kasir dapat melakukan masukkan transaksi penjualan (UC-02) dengan memasukkan data barang, jumlah pembelian, dan metode pembayaran pelanggan. Sistem akan mencatat transaksi tersebut dan secara otomatis memperbarui data stok barang. Selain itu, Kasir juga memiliki akses untuk mengelola pelayanan (UC-03), seperti mencatat antrean pelanggan atau pesanan pre-order, sehingga proses pelayanan dapat berlangsung lebih tertib dan efisien. Kasir juga dapat melihat informasi stok (UC-04) guna memantau ketersediaan barang secara langsung melalui sistem tanpa perlu memeriksa secara manual di gudang. Fitur ini membantu Kasir dalam memastikan bahwa produk yang dijual masih tersedia dan mempercepat proses pelayanan kepada pelanggan.
Sementara itu, Admin memiliki hak akses dan tanggung jawab yang lebih luas dibandingkan Kasir. Sama seperti Kasir, Admin juga diwajibkan untuk melakukan login (UC-01) terlebih dahulu sebelum dapat mengakses seluruh fitur sistem. Setelah berhasil login, Admin dapat mengelola pengguna (UC-05), termasuk menambah, mengubah, dan menghapus akun pengguna baik untuk Kasir maupun Admin lainnya. Selain itu, Admin dapat mengelola stok otomatis (UC-06) agar ketersediaan barang selalu terpantau dan diperbarui secara real-time berdasarkan setiap transaksi yang terjadi. Admin juga dapat membuat laporan keuangan (UC-07) berdasarkan data transaksi penjualan yang tercatat dalam sistem, yang mencakup total penjualan, pengeluaran, serta keuntungan dalam periode tertentu. Fungsi ini terhubung dengan fitur unduh laporan, yang memungkinkan Admin untuk mengekspor laporan ke dalam format digital seperti PDF atau Excel, sehingga memudahkan proses dokumentasi dan analisis keuangan.
Selain itu, Admin juga memiliki akses untuk mengelola promosi digital (UC-08) dengan membuat dan menjadwalkan program promosi seperti diskon atau penawaran khusus untuk menarik minat pelanggan. Fitur rekonsiliasi transaksi digital (UC-09) membantu Admin mencocokkan data penjualan dengan catatan pembayaran melalui platform digital seperti QRIS atau e-wallet, sehingga menghindari kesalahan pencatatan keuangan. Tidak kalah penting, Admin juga dapat melakukan pencadangan data (UC-10) untuk menjaga keamanan dan ketersediaan informasi apabila terjadi gangguan sistem atau kehilangan data.
Sistem SANTAI menerapkan kontrol akses berbasis peran (Role-Based Access Control / RBAC), di mana setiap aktor hanya dapat mengakses fitur sesuai dengan haknya masing-masing. Kasir hanya memiliki akses terhadap fitur operasional seperti transaksi, pelayanan, dan informasi stok, sedangkan Admin memiliki akses penuh untuk mengelola seluruh fitur sistem. Seluruh aktivitas di dalam sistem selalu diawali dengan proses login untuk menjaga keamanan data dan integritas sistem. Dengan pembagian hak akses yang jelas dan sistematis, Sistem SANTAI mampu meningkatkan efisiensi operasional toko, menjaga keamanan data, serta memastikan pengelolaan bisnis berjalan dengan lebih terstruktur dan profesional.
3.2 Kebutuhan Spesifik Fungsional Sistem
Persyaratan fungsional sistem ditentukan oleh kasus penggunaan (use case) dan kebutuhan khusus sistem. Kasus penggunaan membantu memahami bagaimana sistem SANTAI berperilaku dalam mendukung proses bisnis penjualan dan pelayanan, sedangkan kebutuhan khusus memperluas detail dari fungsi-fungsi tersebut.
Sistem harus mampu melakukan proses autentikasi (login) yang valid sebelum pengguna dapat mengakses fitur. Setelah login, Kasir dapat melakukan pencatatan transaksi dan pengelolaan pelayanan secara cepat dan terintegrasi. Sementara itu, Admin dapat melakukan pengelolaan akun pengguna, pemantauan dan pembaruan stok barang secara otomatis, pembuatan laporan keuangan periodik, pengelolaan promosi toko, rekonsiliasi transaksi digital untuk memastikan kesesuaian data keuangan, serta pencadangan data secara rutin untuk menjaga keamanan informasi.
Setiap fungsi sistem dirancang agar berjalan saling terhubung: transaksi penjualan secara otomatis mempengaruhi data stok, laporan keuangan terbuat berdasarkan transaksi yang tercatat, dan pencadangan data dapat dilakukan untuk seluruh informasi penting. Sistem juga mencatat seluruh aktivitas pengguna untuk keperluan pelacakan (audit log) dan menjaga keamanan. Dengan demikian, sistem SANTAI mendukung pengelolaan usaha yang efisien, aman, dan terotomatisasi sesuai peran pengguna.
3.2.1. Use Case Specification: Login
3.2.2 Use Case Specification: Masukkan Data Transaksi Penjualan
3.2.3 Use Case Specification: Kelola Pelayanan
3.2.4 Use Case Specification: Lihat Informasi Stok
3.2.5 Use Case Specification: Kelola Pengguna
3.2.6 Use Case Specification: Kelola Stok Otomatis
3.2.7 Use Case Specification: Buat Laporan Keuangan
3.2.8 Use Case Specification: Kelola Promosi Digital
3.2.9 Use Case Specification: Rekonsiliasi Transaksi Digital
3.2.10 Use Case Specification: Cadangkan Data
3.3 Kebutuhan Basis Data Logis
Deskripsi Struktur Database Sistem SANTAI
Sistem SANTAI menggunakan MySQL 8.0 dengan InnoDB storage engine untuk mendukung integritas relasional dan transaksi simultan. Database ini dinormalisasi hingga Third Normal Form (3NF) agar efisien, konsisten, dan bebas dari redundansi data. Database dirancang untuk mendukung seluruh fitur sistem, mulai dari pencatatan transaksi, promosi, laporan, hingga rekonsiliasi data digital oleh Kasir dan Admin.
Tabel-Tabel Utama
1. Tabel: pengguna
Menyimpan data pengguna sistem (terdiri dari Kasir dan Admin). Primary Key: ID_pengguna (VARCHAR 5) Atribut: nama_pengguna (VARCHAR 50), password (VARCHAR 10), kontak (VARCHAR 12) Fungsi: Digunakan untuk autentikasi dan identifikasi peran pengguna dalam sistem. 2. Tabel: produk
Menyimpan informasi produk yang dijual atau dikelola sistem. Primary Key: ID_produk (VARCHAR 4) Atribut: nama_produk (VARCHAR 25), kategori (VARCHAR 20), harga_beli (FLOAT 10), harga_jual (FLOAT 10), stok (VARCHAR 8) Index: kategori, nama_produk Fungsi: Menjadi sumber data utama transaksi dan laporan penjualan. 3. Tabel: laporan
Menyimpan data hasil rekap transaksi dan perhitungan keuangan. Primary Key: ID_laporan (VARCHAR 4) Atribut: periode (DATE), total_penjualan (FLOAT 15), total_pengeluaran (FLOAT 15), total_keuntungan (FLOAT 15) Fungsi: Digunakan untuk pelaporan bulanan dan analisis performa penjualan. 4. Tabel: log_aktivitas
Menyimpan log aktivitas pengguna sistem untuk kebutuhan audit. Primary Key: ID_log (VARCHAR 4) Foreign Key: ID_pengguna → pengguna(ID_pengguna) Atribut: aktivitas (VARCHAR 25), waktu (DATETIME) Fungsi: Mencatat setiap aktivitas penting seperti login, penambahan produk, dan transaksi. 5. Tabel: promosi
Menyimpan data promosi yang dibuat oleh Admin. Primary Key: ID_promosi (VARCHAR 4) Foreign Key: ID_pengguna → pengguna(ID_pengguna) Atribut: judul (VARCHAR 25), deskripsi (VARCHAR 300), tanggal_mulai (DATE), tanggal_selesai (DATE), status (VARCHAR 10) Fungsi: Digunakan untuk mencatat dan mengatur promosi produk. 6. Tabel: preOrder
Menyimpan data pesanan pelanggan sebelum transaksi dilakukan. Primary Key: ID_preOrder (VARCHAR 4) Foreign Key: ID_produk → produk(ID_produk) Atribut: nama_pelanggan (VARCHAR 50), tanggal_pesan (DATE), status_order (VARCHAR 10) Fungsi: Mencatat pemesanan pelanggan yang belum ditransaksikan langsung. 7. Tabel: transaksi
Menyimpan data transaksi penjualan. Primary Key: ID_transaksi (VARCHAR 4) Foreign Key: ID_pengguna → pengguna(ID_pengguna), ID_laporan → laporan(ID_laporan) Atribut: tanggal_transaksi (DATE), total_harga (FLOAT 12), metode_bayar (VARCHAR 10) Fungsi: Menjadi tabel utama dalam proses pencatatan penjualan. 8. Tabel: detail_transaksi
Menyimpan rincian item yang dijual dalam setiap transaksi. Primary Key: ID_detail (VARCHAR 4) Foreign Key: ID_transaksi → transaksi(ID_transaksi), ID_produk → produk(ID_produk) Atribut: subtotal (FLOAT 12) Fungsi: Menyimpan informasi detail jumlah dan subtotal produk dalam satu transaksi. 9. Tabel: rekonsiliasi
Menyimpan data hasil pencocokan transaksi keuangan. Primary Key: ID_rekonsiliasi (VARCHAR 4) Foreign Key: ID_transaksi → transaksi(ID_transaksi) Atribut: status_rekonsiliasi (VARCHAR 10), keterangan (VARCHAR 25) Fungsi: Memastikan transaksi tercatat dan sesuai dengan laporan keuangan. Relasi Antar Tabel
pengguna (1) → (N) log_aktivitas: Satu pengguna dapat memiliki banyak aktivitas yang tercatat. pengguna (1) → (N) promosi: Satu admin dapat membuat banyak promosi. pengguna (1) → (N) transaksi: Satu kasir dapat membuat banyak transaksi. produk (1) → (N) preOrder: Satu produk dapat dipesan oleh banyak pelanggan. produk (1) → (N) detail_transaksi: Satu produk dapat muncul di banyak transaksi. transaksi (1) → (N) detail_transaksi: Satu transaksi dapat memiliki banyak item produk. transaksi (1) → (1) rekonsiliasi: Setiap transaksi akan direkonsiliasi satu kali. laporan (1) → (N) transaksi: Satu laporan dapat mencakup banyak transaksi. Constraint dan Validation
UNIQUE: nama_pengguna, ID_produk, ID_promosi harga_beli, harga_jual, total_harga ≥ 0 tanggal_selesai ≥ tanggal_mulai NOT NULL: semua kolom kunci primer dan kolom relasi utama ID_pengguna pada log_aktivitas, promosi, transaksi → pengguna(ID_pengguna) ID_produk pada preOrder dan detail_transaksi → produk(ID_produk) ID_transaksi pada detail_transaksi dan rekonsiliasi → transaksi(ID_transaksi) ID_laporan pada transaksi → laporan(ID_laporan) Jika transaksi dihapus, detail_transaksi dan rekonsiliasi terkait ikut terhapus. Jika ID produk berubah, semua referensinya pada tabel lain ikut diperbarui. Lampiran
Lampiran A: Glosarium
Definisi tambahan istilah teknis yang digunakan dalam dokumen:
Admin: Pengguna dengan hak akses penuh untuk mengelola seluruh data, laporan, dan konfigurasi sistem. Kasir: Pengguna akhir yang bertugas melakukan transaksi dan melayani pelanggan dengan akses terbatas. SANTAI ATK: Singkatan dari Sistem ATK Pintar & Informatif, yaitu sistem informasi berbasis web untuk manajemen toko alat tulis. PTR: Kode fungsi sistem yang digunakan untuk menandai setiap fitur utama (contoh: PTR-001 untuk Manajemen Stok). LAN (Local Area Network): Jaringan lokal yang menghubungkan komputer kasir, tablet admin, dan server agar sistem dapat berfungsi tanpa internet. Server Lokal: Komputer pusat yang menyimpan aplikasi web dan database sistem di dalam jaringan lokal toko. Client: Perangkat pengguna (kasir atau admin) yang mengakses sistem melalui browser. Router/Switch: Perangkat jaringan yang menghubungkan semua perangkat di LAN dan mengatur lalu lintas data. MySQL Database: Sistem manajemen basis data relasional yang menyimpan data transaksi, stok, pengguna, dan laporan. Apache Web Server: Perangkat lunak server yang memproses permintaan HTTP/HTTPS dari browser pengguna. PHP Laravel: Framework pengembangan web berbasis PHP yang digunakan sebagai backend utama sistem. HTTP/HTTPS: Protokol komunikasi antara client dan server; HTTPS menggunakan enkripsi SSL/TLS untuk keamanan. Session: Penyimpanan sementara untuk melacak status pengguna selama proses login berlangsung. Backup Data: Proses penyalinan data sistem untuk mencegah kehilangan akibat kesalahan atau kerusakan. Restore Data: Proses pemulihan data dari hasil backup ke sistem utama. Rekonsiliasi Transaksi: Fitur yang mencocokkan data transaksi digital dengan catatan manual untuk menjaga akurasi laporan. Promosi Digital: Modul sistem untuk mengatur banner promosi, diskon, atau pengumuman toko. Pre-Order: Pemesanan barang oleh pelanggan yang belum tersedia di stok toko. RBAC (Role-Based Access Control): Sistem pengaturan hak akses pengguna berdasarkan peran mereka (admin atau kasir). Encryption (Enkripsi): Proses mengubah data menjadi bentuk terenkripsi agar tidak bisa dibaca pihak tidak berwenang. Cache: Penyimpanan sementara data agar sistem dapat diakses lebih cepat. Log File: Catatan otomatis aktivitas sistem seperti login, transaksi, dan perubahan data. UI (User Interface): Tampilan antarmuka pengguna yang berisi menu, tombol, dan form sistem. Wireframe: Rancangan visual sederhana dari tata letak antarmuka sistem sebelum desain final. Dashboard: Halaman utama admin berisi ringkasan data penjualan, stok, dan keuangan. Prototype: Model awal sistem yang digunakan untuk uji konsep sebelum implementasi penuh. Browser: Aplikasi seperti Chrome atau Firefox yang digunakan untuk mengakses sistem web. Session Timeout: Batas waktu sesi pengguna sebelum sistem otomatis keluar untuk alasan keamanan. Uptime: Persentase waktu sistem beroperasi tanpa gangguan (target ≥99%). Recovery Time: Waktu yang diperlukan sistem untuk pulih setelah terjadi gangguan. Bandwidth: Kapasitas transfer data maksimum pada jaringan yang memengaruhi kecepatan akses. API (Application Programming Interface): Antarmuka pemrograman untuk integrasi sistem dengan layanan eksternal. Cron Job: Tugas otomatis yang dijalankan server secara terjadwal, seperti backup atau notifikasi (fitur masa depan). JSON (JavaScript Object Notation): Format pertukaran data antara client dan server. PDO (PHP Data Object): Antarmuka standar PHP untuk koneksi database yang aman dan efisien. HTTPS (Hypertext Transfer Protocol Secure): Versi aman dari HTTP yang mengenkripsi data antara browser dan server. Session Management: Pengelolaan sesi login pengguna agar tidak tumpang tindih dan tetap aman. Authentication: Proses verifikasi identitas pengguna untuk mengakses sistem. Authorization: Proses pemberian izin kepada pengguna sesuai hak aksesnya. Firewall: Sistem keamanan jaringan yang mengontrol lalu lintas data masuk dan keluar dari server. SSL/TLS: Protokol keamanan yang digunakan untuk mengenkripsi komunikasi antara client dan server. Lampiran B: Format Input/Output Sampel
Contoh format data, laporan, dan antarmuka:
Sitemap/Navigation Map Sistem SANTAI 2. Contoh Tampilan Profil Pengguna
3. Contoh Tampilan Detail Pengguna
4. Contoh Tampilan Detail Barang
5. Contoh Tampilan Input Restock Barang
6. Contoh Tampilan Detail Promosi
7. Contoh Tampilan Detail Transaksi
8. Contoh Tampilan Cetak Nota
9. Diagram Laporan Penjualan
Lampiran C: Hasil Studi Analisis Biaya
1. Tujuan Analisis Biaya
Analisis biaya ini bertujuan untuk mengidentifikasi estimasi pengeluaran, sumber daya, serta potensi manfaat (tangible dan intangible) yang dihasilkan dari implementasi Sistem SANTAI ATK. Analisis ini membantu menentukan efisiensi investasi sistem informasi pada UMKM EduTulis Stationery.
2. Komponen Biaya
2.1. Biaya Pengembangan Awal
2.2. Biaya Operasional Tahunan
3. Manfaat Implementasi Sistem
3.1. Manfaat Tangible (Terukur)
3.2. Manfaat Intangible (Tidak Terukur)
Meningkatkan profesionalitas dan citra toko. Meningkatkan kepuasan pelanggan karena pelayanan lebih cepat. Meningkatkan motivasi kerja kasir melalui sistem modern. Menjadi dasar pengembangan sistem promosi digital di masa depan. 4. Analisis Cost-Benefit
Lampiran D: Survei Pengguna
Responden Survei
10 Pemilik toko alat tulis (UMKM EduTulis dan rekan usaha sejenis di Yogyakarta dan sekitarnya) 8 Kasir toko alat tulis dengan pengalaman kerja 1–3 tahun Periode Survei: September 2025 1. Tujuan dan Ruang Lingkup Survei
Survei ini dilakukan untuk memahami kebutuhan nyata pengguna dan permasalahan operasional harian yang dihadapi oleh pelaku UMKM di sektor toko alat tulis, guna mendukung perancangan sistem SANTAI (Sistem ATK Pintar & Informatif). Tujuan utama survei adalah mengidentifikasi pain point, kebutuhan fitur prioritas, dan preferensi pengguna terhadap teknologi sistem informasi berbasis web. Ruang lingkup survei meliputi dua kelompok pengguna utama sistem, yaitu Admin (Pemilik Toko) dan Kasir, sesuai dengan karakteristik pengguna yang diuraikan dalam bagian 2.3 SRS.
2. Hasil dan Temuan Survei
A. Pain Points Utama yang Ditemukan
Berdasarkan hasil wawancara dan kuesioner tertutup, diperoleh temuan sebagai berikut:
90% responden masih mencatat stok barang secara manual di buku atau Excel. 75% responden mengaku sering mengalami kesalahan pencatatan transaksi atau stok. 70% responden merasa kesulitan melakukan rekap penjualan harian dan bulanan. 65% responden menyatakan antrian pelanggan sering panjang karena proses kasir lambat. 60% responden belum memiliki sistem promosi digital yang terjadwal atau terukur. Hasil tersebut menunjukkan perlunya sistem yang otomatis, cepat, dan mudah digunakan, terutama untuk mengelola stok, transaksi, dan laporan keuangan.
B. Kebutuhan Fitur Berdasarkan Prioritas
Dari hasil survei, pengguna menginginkan sistem yang memiliki fitur inti berikut:
Sistem POS (Point of Sale) untuk pencatatan transaksi cepat dan akurat (95%). Manajemen stok otomatis dengan pembaruan real-time (87%). Laporan penjualan dan keuntungan harian (83%). Rekonsiliasi otomatis antara transaksi manual dan digital (QRIS/e-wallet) (75%). Promosi digital terjadwal melalui dashboard admin (68%). Notifikasi stok menipis agar tidak kehabisan barang penting (65%). Responden memprioritaskan kemudahan penggunaan (user-friendly) dan tampilan yang sederhana dibandingkan fitur kompleks.
C. Preferensi Teknologi
80% responden lebih memilih sistem berbasis web lokal agar dapat diakses dari komputer kasir dan tablet admin tanpa internet. 60% menyatakan sistem harus bisa dijalankan di perangkat spesifikasi menengah (RAM 4GB, LAN lokal). 75% pengguna menghendaki pelatihan singkat, maksimal 1 hari, untuk adaptasi sistem. 70% menyatakan anggaran maksimal untuk sistem berada di bawah Rp 15 juta. Preferensi ini memperkuat desain sistem SANTAI yang ringan, offline-first, dan hemat biaya.
D. Kekhawatiran dan Hambatan Pengguna
Selain kebutuhan, survei juga menemukan beberapa kekhawatiran pengguna dalam penerapan sistem digital baru:
65% khawatir sistem terlalu rumit digunakan oleh karyawan. 50% takut kehilangan data akibat error sistem. 45% menganggap biaya pemeliharaan sistem bisa memberatkan. 35% khawatir koneksi jaringan lokal (LAN/Wi-Fi) tidak stabil. Temuan ini menjadi dasar pengembangan sistem dengan antarmuka sederhana, enkripsi data (bcrypt), dan mekanisme backup manual/otomatis untuk menjaga keandalan dan keamanan informasi toko.
3. Kesimpulan Survei
Berdasarkan hasil survei, dapat disimpulkan bahwa sistem SANTAI (Sistem ATK Pintar & Informatif) dibutuhkan untuk menjawab permasalahan utama toko alat tulis, yaitu pencatatan manual, keterlambatan pembaruan stok, dan rekap keuangan yang tidak efisien.
Sistem ini harus berfokus pada:
Kemudahan penggunaan bagi kasir dan admin, tanpa memerlukan keahlian teknis tinggi. Fitur esensial seperti transaksi POS, stok otomatis, laporan keuangan, promosi, dan rekonsiliasi. Operasional offline, karena sebagian besar UMKM belum mengandalkan koneksi internet stabil. Biaya implementasi rendah, agar sesuai dengan kemampuan finansial UMKM. Dengan demikian, hasil survei ini menjadi dasar validasi kebutuhan pengguna dan arah pengembangan sistem SANTAI versi awal (v1.0), yang menekankan kesederhanaan, efisiensi, dan keandalan untuk mendukung transformasi digital UMKM EduTulis Stationery.
Indeks
A
Analisis Biaya – Lampiran C API (Application Programming Interface) – 2.3, 4.5 Apache Web Server – 2.3, 3.2 Arsitektur Jaringan – 2.2.5, 3.4 Autentikasi – 2.2.3, 2.4, 3.1 B
Backup Data – 2.2.4, 3.1, 4.2 C
Client (Perangkat Pengguna) – 2.2.3, 2.3 CRUD (Create, Read, Update, Delete) – 2.2.2, 3.1 Communication Protocol (HTTP/HTTPS) – 2.2.5, 3.4 D
Database MySQL – 2.2.3, 2.3 Data Enkripsi – 2.2.3, 3.1 E
EduTulis Stationery – 1.1, 2.1, 2.3 F
Form Transaksi Penjualan – 2.2.1 Framework Laravel – 2.2.3, 3.2 G
H
Hasil Analisis Biaya – Lampiran C I
Integrasi Perangkat Lunak – 2.3 Inventory Management – 2.2.1 IoT (optional future integration) – 4.5 J
Jaringan LAN – 2.2.5, 3.4 K
Koneksi Jaringan – 2.2.5, 3.4 L
LAN (Local Area Network) – 2.2.5, 3.4 Laravel Framework – 2.3, 3.2 Laporan Penjualan – 2.2.1 Login Multi-Role – 2.2.1, 3.1 M
Manajemen Transaksi – 2.2.1 Mekanisme Backup – 2.2.3, 3.1 Monitoring Sistem – 3.1, 3.4 N
Notifikasi Stok Menipis – 2.2.1 Normalisasi Database – 3.2 P
Pengguna (Admin & Kasir) – 2.4 Protokol Komunikasi – 2.2.5, 3.4 Proses Login – 2.2.1, 3.1 R
RBAC (Role-Based Access Control) – 2.2.3, 3.1 Rekonsiliasi Transaksi – 2.2.1 Recovery Data – 2.2.3, 3.1 S
Server Lokal – 2.2.3, 3.4 Session Management – 2.1.6, 3.1 Sistem Informasi – 1.1, 2.0 Storage (Memori Sekunder) – 2.1.6 T
Transaksi Digital – 2.2.1 U
UI (User Interface) – 2.2.2, 3.1 User Role – 2.4, 3.1
W
Wireframe – 2.2.2, Lampiran A