Kenapa Kami Pilih Sistem PIN untuk Ganti Kasir (Bukan Login Biasa)
Di kafe kecil, 2-3 orang gantian jaga kasir dalam satu shift. Login-logout pakai email dan password setiap kali ganti orang? Nggak realistis. Ini cerita kenapa kami pilih PIN 4 digit.
Masalah yang Kami Lihat
Di kebanyakan kafe kecil di Indonesia, kasir bukan satu orang yang berdiri di register dari buka sampai tutup. Yang terjadi biasanya: pagi si A yang jaga, siang si B gantiin karena A istirahat, sore si C yang masuk. Kadang owner sendiri yang turun ke kasir di jam sibuk.
Dengan POS yang menggunakan sistem login biasa (email + password), setiap pergantian kasir berarti:
- Logout dari akun si A
- Masukkan email si B
- Masukkan password si B
- Tunggu loading
- Baru bisa mulai terima pesanan
Proses ini butuh 20-30 detik — dan di jam sibuk, itu lama. Tapi masalah yang lebih besar bukan kecepatan: kasir di kafe kecil sering nggak punya email sendiri. Atau punya tapi nggak pernah buka. Atau lupa password-nya.
Sistem login yang dirancang untuk office worker nggak cocok untuk kasir kafe yang mungkin baru lulus SMA dan nggak pernah pakai email untuk kerja.
Kenapa Bukan Satu Akun Bersama?
Solusi yang paling sering dipakai di banyak POS: satu akun bersama. Semua kasir pakai login yang sama, nggak ada pembedaan.
Ini memang simple, tapi menciptakan masalah baru:
- Nggak bisa lacak siapa yang transaksi apa. Kalau ada selisih kas di akhir shift, siapa yang bertanggung jawab? Nggak ada cara untuk tahu
- Nggak ada akuntabilitas. Kalau semua transaksi tercatat atas nama "Kasir", nggak ada yang merasa bertanggung jawab atas keakuratan
- Nggak bisa lihat performa per kasir. Siapa yang paling cepat? Siapa yang sering salah input? Owner nggak punya data
Jadi kami butuh sesuatu yang secepat akun bersama tapi tetap bisa melacak individu.
Solusi: PIN 4 Digit
Kami memilih PIN 4 digit karena ini sweet spot antara kecepatan dan akuntabilitas:
- Cepat. Ketik 4 angka, tekan enter, selesai. Total waktu: 2-3 detik. Bandingkan dengan 20-30 detik untuk login biasa
- Nggak perlu email. Setiap kasir cukup ingat 4 angka. Nggak ada yang perlu buat akun email atau ingat password yang kompleks
- Tetap terlacak. Setiap transaksi tercatat atas nama kasir yang PIN-nya digunakan. Laporan per kasir jelas
- Mudah dikelola owner. Owner bisa bikin PIN baru untuk kasir baru, atau reset PIN yang lupa, langsung dari pengaturan. Nggak perlu kirim undangan email
Pertanyaan yang Sering Muncul: "Apa PIN 4 Digit Nggak Kurang Aman?"
Pertanyaan yang valid. Dan jawabannya: tergantung apa yang kamu amankan.
PIN kasir bukan pengaman untuk data sensitif atau transaksi keuangan tingkat bank. Fungsinya adalah identifikasi kasir — siapa yang lagi jaga register. Threat model-nya bukan hacker dari luar, tapi kasir yang salah input dan perlu diketahui siapa.
Untuk konteks ini, PIN 4 digit sudah lebih dari cukup. Dan kalau kita bandingkan dengan realitas di lapangan — dimana alternatifnya adalah "nggak ada login sama sekali karena terlalu ribet" — PIN 4 digit itu peningkatan keamanan yang masif.
Untuk akses admin, pengaturan, dan laporan keuangan, kami tetap pakai Devise authentication (email + password) dengan opsional 2FA. PIN hanya untuk switching kasir di layar POS — beda lapisan keamanan untuk beda kebutuhan.
Bagaimana Cara Kerjanya di CrescendPOS
Alur di lapangan:
- POS menampilkan layar PIN (numpad besar, optimized untuk tablet)
- Kasir masukkan PIN 4 digit-nya
- POS langsung berpindah ke sesi kasir tersebut — menu, keranjang baru, identitas tercatat
- Saat ganti shift, kasir berikutnya tinggal masukkan PIN-nya — nggak perlu logout yang sebelumnya
Yang penting: PIN switch nggak menghapus data apapun. Pesanan yang sedang diproses tetap jalan. Yang berubah hanya identitas kasir yang tercatat untuk transaksi berikutnya.
Detail Desain yang Kami Pikirkan
Beberapa keputusan desain kecil yang ternyata berdampak besar:
- Numpad besar. Tombol PIN didesain besar supaya nggak salah tekan di tablet 10 inch. Jari basah dari bikin kopi? Tetap bisa ditekan dengan akurat
- Nggak ada hint siapa yang PIN-nya salah. Kalau PIN salah, pesan error-nya generic: "PIN salah." Bukan "PIN untuk Kasir A salah." Ini mencegah orang coba-coba PIN orang lain
- Auto-lock setelah idle. Kalau POS ditinggal beberapa menit tanpa aktivitas, layar kembali ke PIN screen. Jadi kalau kasir lupa lock, sistem yang melakukannya
- PIN di-hash. PIN disimpan di database dalam bentuk bcrypt hash — sama seperti password. Nggak ada yang bisa lihat PIN asli, termasuk kami
Kenapa Ini Penting untuk Kafe Kecil
Fitur PIN switching ini mungkin kelihatan sederhana — dan memang itu intinya. Untuk kafe besar dengan sistem enterprise, mungkin ini nggak terlalu berbeda. Tapi untuk kafe kecil di Indonesia dimana:
- Kasir berganti 2-3 kali dalam sehari
- Owner sering turun ke kasir
- Staf mungkin nggak tech-savvy
- Kecepatan pergantian itu penting karena pelanggan nggak mau nunggu
Perbedaan antara login 30 detik vs PIN 3 detik itu bukan cuma soal detik — tapi soal apakah kasir benar-benar mau log in atau skip karena terlalu ribet. Dan kalau mereka skip, kamu kehilangan semua data tracking.
Desain terbaik bukan yang paling canggih — tapi yang paling mungkin dipakai secara konsisten oleh orang yang sebenarnya menggunakannya.