Teknis

Mode Offline PWA: Transaksi Tetap Jalan Saat Internet Mati

4 menit
Offline ModePWAIndexedDB
Bagikan:

Mode Offline PWA: Transaksi Tetap Jalan Saat Internet Mati

Realita di Indonesia: internet nggak selalu stabil. Listrik padam, putus kabel, sinyal lemah di daerah, atau ISP maintenance. POS tradisional (online-only) → toko harus tutup kalau internet putus.

PJTECH beda: Offline-First PWA pakai IndexedDB (database di browser).

Cara Kerja Offline-First PJTECH

┌─────────────────────────────────────────────────────────────┐
│                    NORMAL (ONLINE)                          │
│  Kasir → Transaksi → Server (PostgreSQL) → Sync Real-time  │
└─────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────┐
│                    OFFLINE (INTERNET PUTUS)                 │
│  Kasir → Transaksi → IndexedDB (Browser/Lokal) → Queue     │
└─────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────┐
│                    RECONNECT (INTERNET NYALA)               │
│  Queue → Auto Push ke Server → Sync Conflict Resolution    │
└─────────────────────────────────────────────────────────────┘

Apa Saja Yang Bisa Dilakukan Offline?

FiturStatus OfflineCatatan
--------------------------------
**Transaksi Penjualan**✅ **Full**Scan barcode, hitung total, cetak struk
**Pembayaran Tunai/QRIS**✅ **Full**QRIS offline pakai static QR (bayar nanti sync)
**Input Produk Baru**✅ **Full**Masuk queue, sync ke server nanti
**Update Stok**✅ **Full**Stok lokal kurangi, server update nanti
**Laporan Harian**✅ **Full**Generate dari data lokal
**KDS (Dapur)**✅ **Full**Order offline → tampil di KDS lokal
**Booking Rental/Jasa**✅ **Full**Masuk antrian lokal
**Sinkronisasi Multi-Cabang**⏳ **Queue**Sync begitu online, merge conflict auto

Teknologi: IndexedDB (Bukan localStorage)

AspeklocalStorage**IndexedDB (PJTECH)**
---------------------------------------------
Kapasitas~5 MB**Ratusan MB** (bisa ribuan transaksi)
QueryKey-value only**Index, Cursor, Transaction**
Offline ComplexSulit**Native support**
Browser SupportSemuaModern browsers (Chrome, Safari, Firefox, Edge)

Sinkronisasi Otomatis & Conflict Resolution

  1. **Detect online** → Service Worker trigger sync
  2. **Push queue** → Transaksi dikirim batch ke server
  3. **Conflict check** → Server bandingkan timestamp & user
  4. **Auto-merge** → Strategi: *Last write wins* + *Server authoritative untuk stok*
  5. **Clear queue** → Data lokal dihapus setelah sukses
  6. **Notifikasi** → "Sinkronisasi selesai: 23 transaksi, 0 conflict"

Conflict Resolution: Stok Produk (Critical)

Skenario: Cabang A & B offline keduanya. Cabang A jual 5 unit, Cabang B jual 3 unit. Stok server = 100.

LangkahAksi
---------------
1. Cabang A online → push 5 terjual → Server stok = 95
2. Cabang B online → push 3 terjual → Server cek: stok 95 ≥ 3 → OK → Server stok = 92
3. **Kalau stok tidak cukup** → Server reject → Cabang B notif: "Stok tidak cukup untuk sync 3 unit (tersisa 2). Hubungi admin."

Hasil: Nggak ada overselling. Stok selalu akurat.

PWA = Installable Seperti App Native

  • **Install di HP** → "Add to Home Screen" → icon seperti app
  • **Fullscreen** → Nggak ada address bar, feel seperti app native
  • **Push Notification** → Notifikasi stok minim, order baru, sinkronisasi selesai
  • **Background Sync** → Sync otomatis di background kalau HP unlock & online

Test Offline Sendiri (5 Menit)

  1. Buka POS di HP/Tablet
  2. **Matikan WiFi + Data Seluler** (Mode Pesawat)
  3. Lakukan transaksi: scan produk → bayar tunai → cetak struk Bluetooth
  4. Cek laporan harian → data lengkap
  5. **Nyalakan internet** → tunggu 5 detik → notifikasi "Sinkronisasi selesai"
  6. Cek dashboard Owner (Laptop) → transaksi sudah masuk

Cocok Untuk:

Lokasi / SituasiKenapa Butuh Offline
---------------------------------------
**Toko di mal/basement**Sinyal lemah / tidak stabil
**Warung pinggir jalan**Pakai hotspot HP, sering putus
**Restoran area luar kota**ISP cuma 1, sering maintenance
**Event/bazaar temporary**Nggak ada WiFi permanen
**Area rawan listrik padam**UPS kasir bisa, tapi router mati
**Backup line**Internet utama putus → auto pakai hotspot

Batasan (Jujur)

FiturOfflineButuh Online
------------------------------
**Login pertama kali**❌✅ (butuh auth ke server)
**Sinkronisasi multi-cabang**⏳ Queue✅
**Integrasi GoFood/GrabFood**❌✅ (API partner butuh internet)
**WA Notifikasi**⏳ Queue✅ (kirim via Meta API)
**Backup ke Cloud**⏳ Queue✅
**Update Aplikasi**❌✅ (Service Worker update)

Solusi: Login dulu saat online → setelah itu bisa offline seharian penuh.

Kesimpulan: Offline Bukan Fitur Tambahan — Wajib

Di Indonesia, offline-first = business continuity. POS yang online-only = risiko toko tutup tiap kali internet gangguan.

PJTECH: Offline-first dari hari 1, tanpa biaya tambah, tanpa setup rumit.


Coba Offline Mode Sendiri

[Gratis 14 Hari →](/sign-up?redirect_url=/onboarding)

*Test langsung: matikan internet → transaksi → nyalakan → lihat auto-sync. Tim kami bantu demo remote.

Siap Digitalisasi Bisnis Anda?

Coba PJTECH gratis 14 hari. Setup 5 menit. Fitur lengkap 4 vertikal. Support tim Indonesia.

Mulai Gratis Sekarang