Ringkasnya
- Offline-first berarti transaksi disimpan di perangkat lebih dulu, lalu dikirim ke server saat sinyal kembali — bukan sebaliknya.
- Yang sulit bukan menyimpan data di ponsel, melainkan mengirimkannya tepat sekali: tidak hilang dan tidak dobel.
- Cocok untuk pekerjaan yang terjadi di tempat tanpa sinyal: sopir, kasir di lokasi acara, petugas lapangan.
- Tidak semua layar perlu offline. Layar yang menampilkan angka bersama, seperti posisi kas, tetap perlu tersambung.
Pekerjaan tidak menunggu sinyal
Aplikasi biasanya dirancang dengan anggapan diam-diam: penggunanya duduk di depan komputer dengan internet yang stabil. Anggapan itu runtuh begitu pekerjaannya pindah ke luar kantor. Sopir mengantar ke lokasi tanpa sinyal. Kasir berjualan di lokasi acara yang jaringannya penuh. Petugas mencatat meter di tempat terpencil.
Ketika aplikasi menolak bekerja tanpa internet, orang lapangan tidak berhenti bekerja. Mereka mencatat di kertas, lalu seseorang mengetik ulang catatan itu di kantor — dan di situlah angka mulai berbeda.
Cara kerja offline-first
Aplikasi offline-first membalik urutannya. Setiap transaksi disimpan di perangkat lebih dulu, seolah-olah internet tidak ada. Mengirimnya ke server menjadi pekerjaan latar: dikerjakan begitu sinyal tersedia, tanpa pengguna perlu melakukan apa pun.
- Catat. Pengguna menekan simpan; data langsung tersimpan di ponsel atau tablet, dan layar langsung menjawab.
- Antre. Transaksi menunggu di perangkat sampai bisa dikirim.
- Kirim. Saat sinyal kembali, transaksi yang menunggu dikirim ke server.
- Cocokkan. Server memastikan setiap transaksi diterima tepat sekali, lalu perangkat menandainya terkirim.
Bagi pengguna, seharusnya tidak ada bedanya antara ada sinyal dan tidak. Itulah ukurannya.
Yang sulit: terkirim tepat sekali
Menyimpan data di ponsel itu mudah. Yang sulit adalah saat sinyal datang dan pergi di tengah pengiriman: ponsel mengirim, server menerima, tetapi jawabannya tidak sampai. Ponsel mengira gagal dan mengirim lagi. Tanpa penjagaan, satu setoran tercatat dua kali.
Penjagaan yang umum dipakai sama dengan di sistem pembayaran: setiap transaksi membawa tanda pengenal unik sejak dibuat di perangkat, sehingga server bisa mengenali kiriman ulang dan tidak mencatatnya dua kali. Prinsip itu saya tulis lebih panjang di integrasi payment gateway.
Hal kedua adalah benturan: dua orang mengubah data yang sama ketika sama-sama offline. Cara paling aman adalah merancang supaya benturan itu jarang mungkin terjadi. Di EQUA ERP aturannya ditulis sejak awal: setiap transaksi dicatat sekali, oleh orang yang mengerjakannya, dan koreksi selalu berupa transaksi pembalik yang beralasan — bukan dengan menimpa atau menghapus catatan lama.
Contoh: tiga aplikasi lapangan untuk usaha air
EQUA ERP dirancang untuk usaha air di Cianjur dengan empat lini: air truk, depot isi ulang, toko, dan sumber air. Uang dan barang berpindah di jalan, di depot, dan di sumber air, sering kali di tempat tanpa sinyal. Tiga aplikasi lapangannya dipasang di ponsel dan tablet, dan semuanya offline-first.
- Sopir dan kernet. Mencatat berangkat, tiba, dan selesai lengkap dengan lokasi, foto bukti kirim, pembayaran per rit, dan setoran.
- Kasir depot dan toko. Transaksi, shift, dan stok tercatat di perangkat lebih dulu.
- Operator sumber air. Pembacaan meter berfoto dan pengisian truk per rit dicatat di lokasi.
Transaksi disimpan di perangkat, lalu terkirim sendiri saat sinyal kembali, tanpa data dobel. Satu rincian kecil ikut menentukan apakah aplikasi seperti ini benar-benar dipakai: foto bukti diperkecil otomatis supaya hemat kuota data ponsel lapangan.
Contoh lain: kasir di lokasi acara
Pola yang sama dipakai di ERP Yoora Sarah untuk kasir event. Kasirnya berjalan di tablet: transaksi disimpan di perangkat, lalu dikirim saat kembali online. Barang dipindai lewat kamera, dan struknya dicetak dari kasir itu juga.
Status apa adanya: kedua contoh belum dipakai dalam operasional harian. EQUA ERP versi 1.0.1 lulus uji otomatis pada 30 September 2026 dan sedang menuju uji terima oleh pengguna; di proyek itu saya memegang arah produk dan keputusan rilisnya, sementara penulisan kodenya dikerjakan tim agen AI di bawah arahan itu. ERP Yoora Sarah rilis ke server produksi pada 21 Oktober 2026 dan sedang dalam uji terima bersama tim.
Kapan offline-first sepadan
| Perlu offline-first | Cukup online | |
|---|---|---|
| Tempat kerja | Jalan, lapangan, gudang, lokasi acara | Kantor dengan internet stabil |
| Jenis pekerjaan | Mencatat transaksi baru | Melihat laporan, menyetujui dokumen |
| Bila aplikasi macet | Pekerjaan pindah ke kertas | Menunggu sebentar |
| Data yang dipakai | Milik orang itu sendiri: rit, shift, kunjungannya | Angka bersama yang harus terkini |
Offline-first menambah pekerjaan rancangan dan pengujian, jadi tidak perlu dipasang di semua layar. Layar yang menampilkan angka bersama yang harus terkini — posisi kas, stok gabungan, persetujuan — tetap membutuhkan sambungan. Yang dibuat offline adalah layar tempat orang mencatat pekerjaannya sendiri.
Yang perlu ditanyakan sebelum membangun
- Di mana transaksi pertama kali terjadi, dan adakah sinyal di sana?
- Bila kiriman terulang, bagaimana sistem mencegah data dobel?
- Bila dua orang mengubah hal yang sama saat offline, catatan siapa yang dipakai?
- Berapa lama perangkat boleh offline sebelum datanya dianggap usang?
- Apa yang terjadi pada data yang belum terkirim bila perangkatnya hilang atau rusak?
Pertanyaan terakhir sering terlupa. Data yang belum terkirim hanya ada di satu perangkat, jadi aplikasinya perlu menunjukkan dengan jelas berapa transaksi yang masih menunggu.
Bekerja dulu, tersambung kemudian
Aplikasi untuk orang lapangan dinilai dari satu hal: apakah ia tetap bisa dipakai di tempat pekerjaan itu terjadi. Bila tidak, catatan kertas akan kembali, dan sistem di kantor hanya menerima salinannya.
Aplikasi seperti ini termasuk jasa pembuatan aplikasi web yang saya kerjakan: aplikasi web yang bisa dipasang di ponsel dan tablet, dan tetap mencatat ketika sinyal hilang.