Kenapa Kami Bangun Sistem Ganti Kasir Pakai PIN (dan Artinya untuk Akuntabilitas)
Login email-password untuk kasir itu nggak realistis di lapangan. Kami bangun sistem PIN 4-digit yang bikin ganti kasir secepat 2 detik — tanpa mengorbankan accountability.
Masalah yang Kami Lihat
Waktu kami mulai ngobrol dengan pemilik kafe tentang POS, satu hal yang terus muncul: pergantian kasir itu ribet. Logout dari akun satu, login ke akun lain — email, password, sometimes lupa password, sometimes salah ketik. Di jam sibuk, ini bisa makan waktu 30 detik sampai 1 menit.
30 detik kedengarannya nggak lama. Tapi kalau kamu pernah berdiri di antrian yang nggak bergerak karena kasir lagi loading login screen, kamu tahu itu terasa seperti selamanya.
Yang lebih parah: karena login ribet, banyak kafe yang akhirnya nggak ganti akun sama sekali. Semua orang pakai satu login. Dan di situlah accountability hilang.
Kenapa Bukan Email-Password?
Email-password itu standar industri untuk auth. Dan untuk admin panel, dashboard, atau akses dari jarak jauh — itu masih makes sense. Kamu butuh security layer yang kuat karena aksesnya dari mana saja.
Tapi kasir berdiri di depan perangkat yang ada di dalam toko kamu. Mereka nggak login dari kafe sebelah atau dari rumah. Konteks fisiknya sudah terbatas — orang yang bisa sentuh perangkat itu cuma orang yang ada di lokasi.
Di konteks ini, email-password itu overkill yang counterproductive. Terlalu secure untuk use case-nya, sampai orang skip security-nya sama sekali (pakai satu akun bareng).
PIN 4-Digit: Sweet Spot Antara Speed dan Security
Kami memutuskan pakai PIN 4-digit untuk cashier switching. Alasannya:
- Cepat. 4 digit bisa diinput dalam 1-2 detik. Nggak ada keyboard muncul, nggak ada text field, nggak ada "forgot password." Numpad langsung muncul, ketik PIN, masuk.
- Mudah diingat. Setiap kasir punya PIN sendiri yang bisa mereka pilih. 4 digit cukup simpel untuk diingat, bahkan oleh kasir yang nggak tech-savvy.
- Cukup aman untuk konteksnya. PIN di-hash dengan bcrypt di database — jadi bahkan kita (sebagai developer) nggak bisa lihat PIN siapa pun. Dan karena akses terbatas ke perangkat fisik di toko, 4 digit sudah cukup untuk membedakan siapa yang sedang operasi.
Kami sadar 4 digit nggak sekuat password 16 karakter. Tapi kami nggak mencoba mencegah hacker internet — kami mencoba memastikan bahwa transaksi yang terjadi bisa di-trace ke orang yang benar. Dan untuk itu, PIN sudah cukup.
Apa yang Berubah Setelah Ada PIN
Pergantian shift jadi instan. Kasir A selesai, kasir B tap PIN mereka — langsung jalan. Nggak ada downtime, nggak ada pelanggan nunggu login screen. Flow operasional jadi seamless.
Setiap transaksi punya nama. Setiap pesanan, setiap void, setiap diskon — tercatat di bawah kasir yang melakukannya. Bukan "akun toko" yang anonymous, tapi "Rina" atau "Budi."
Shift report jadi meaningful. Karena setiap kasir punya identitas sendiri, shift report bisa dipecah per orang. Kamu bisa lihat siapa yang handle berapa transaksi, siapa yang selisih kasnya paling kecil, siapa yang paling banyak void.
Orang berhenti sharing akun. Ini yang paling impactful. Ketika ganti kasir secepat tap PIN, alasan "males login" hilang. Orang naturally pakai akun sendiri karena lebih gampang daripada nggak pakai.
Detail Teknis yang Mungkin Menarik
Beberapa keputusan teknis yang kami buat:
- PIN di-hash, bukan disimpan plain text. Kami pakai bcrypt — library yang sama yang dipakai untuk password. Jadi PIN kasir kamu aman bahkan dari kami sendiri.
- PIN bisa di-reset oleh manager. Kalau kasir lupa PIN, nggak perlu telepon support. Manager bisa set PIN baru langsung dari admin panel.
- PIN entry pakai numpad custom. Bukan keyboard standar perangkat yang muncul-tutup dan bikin layout loncat. Kami bangun numpad sendiri yang terintegrasi di UI — fix di layar, nggak bikin elemen lain bergeser.
- Lock screen yang non-intrusive. Setelah idle, layar lock tapi nggak keluar dari POS. Kasir tinggal tap PIN untuk unlock — nggak perlu re-navigate ke mana mereka tadi.
Feedback dari Lapangan
Dari ngobrol dengan pemilik kafe yang pakai sistem ini, ada satu tema yang konsisten: mereka kaget betapa besar dampak dari perubahan sekecil ini.
"Dulu kasir-kasir saya pakai satu akun. Sekarang semua pakai PIN masing-masing dan mereka malah lebih prefer begitu — karena kalau ada selisih, mereka bisa buktikan itu bukan mereka."
Itu insight yang sering kami dengar. Accountability bukan cuma tool untuk pemilik mengawasi — tapi juga perlindungan untuk kasir yang jujur. Mereka punya data yang membuktikan pekerjaan mereka benar.
Pelajaran untuk Kami
PIN-based switching mengajarkan kami sesuatu yang penting tentang product design: security yang terlalu tinggi untuk konteksnya nggak bikin orang lebih aman — malah bikin orang bypass security-nya sama sekali.
Solusi yang right-sized — yang match sama konteks penggunaannya — selalu lebih efektif dari solusi yang technically superior tapi nggak praktis di lapangan.
Kalau kamu bikin sesuatu untuk dipakai orang yang berdiri 8 jam sehari di belakang counter, solusinya harus serealistis dan secepat pekerjaan mereka. Bukan lebih lambat.