# ERP Mobile dan PWA untuk Pekerja Lapangan: Desain Offline-First

> Cara memperluas ERP kustom Anda ke pekerja lapangan menggunakan Progressive Web Apps — mencakup sinkronisasi data offline, service worker, dan kendala dunia nyata ERP mobile di Indonesia.

URL: https://www.matthewswong.com/id/blog/erp-mobile-pwa-field-workers/

- Author: Matthews Wong (https://www.matthewswong.com/id/about/)
- Published: 2025-06-10
- Updated: 2025-06-10
- Category: ERP

Pekerja lapangan — teknisi, pengemudi pengiriman, staf gudang di lokasi terpencil, tenaga penjual yang mengunjungi pelanggan — selalu menjadi mil terakhir adopsi ERP. Mereka perlu mencatat perintah kerja, merekam pengiriman, memeriksa inventaris, dan mengirimkan formulir dari lapangan. Tetapi pekerja lapangan Indonesia sering beroperasi di area dengan konektivitas yang buruk atau terputus-putus. Progressive Web Apps (PWA) memecahkan ini dengan elegan.

## Mengapa PWA adalah Pilihan Tepat untuk ERP Lapangan

Untuk alat pekerja lapangan internal, PWA menawarkan keseimbangan kemampuan dan biaya yang tepat. PWA adalah aplikasi web yang berperilaku seperti aplikasi native: dapat ditambahkan ke layar beranda, menerima notifikasi push, bekerja offline, dan berjalan layar penuh. Biaya pengembangan dan pemeliharaan adalah sebagian kecil dari pengembangan aplikasi native karena menggunakan codebase yang sama dengan ERP web.

### Arsitektur Offline: Service Worker dan IndexedDB

Kemampuan offline dalam PWA dibangun di atas dua API browser. Service Workers: file JavaScript yang berjalan independen dari halaman, mencegat permintaan jaringan, dan melayani respons yang di-cache saat jaringan tidak tersedia. IndexedDB: database sisi klien yang menyimpan data terstruktur di browser. Pekerja lapangan dapat membaca catatan dan menulis catatan baru bahkan saat offline.

### Strategi Sinkronisasi Data: Merancang untuk Konflik

Sinkronisasi data offline menciptakan konflik ketika catatan yang sama dimodifikasi baik secara offline maupun di server sebelum sinkronisasi. Strategi sinkronisasi Anda harus mendefinisikan cara konflik diselesaikan. Untuk sebagian besar kasus penggunaan ERP lapangan, strategi 'last write wins' dapat diterima untuk data rendah risiko. Untuk data transaksional, sinkronisasi harus mengantrekan operasi secara berurutan.

> Dari pengalaman saya sebagai konsultan ERP lepas: rancang dataset offline sesekecil mungkin. Teknisi lapangan membutuhkan perintah kerja yang ditugaskan kepada mereka hari ini, informasi alamat dan kontak pelanggan, dan katalog produk/layanan untuk domain mereka. Mereka tidak memerlukan seluruh database pelanggan. Batasi dataset offline ke apa yang dibutuhkan untuk pekerjaan hari itu.

## Menginstal dan Mengonfigurasi PWA

PWA memerlukan tiga hal agar dapat diinstal: Web App Manifest (file JSON yang mendefinisikan nama aplikasi, ikon, mode tampilan, dan URL awal), Service Worker terdaftar, dan HTTPS (diperlukan agar service worker berfungsi). Di Android, browser secara otomatis akan meminta 'Tambahkan ke Layar Beranda'. Di iOS, pengguna harus menggunakan menu Share secara manual.

> **Jangan bangun aplikasi offline-first jika data Anda terlalu sensitif**

> PWA offline menyimpan data di perangkat. Jika perangkat pekerja lapangan hilang atau dicuri, data yang di-cache — termasuk informasi pelanggan, harga, detail perintah kerja — berpotensi dapat diakses. Terapkan persyaratan enkripsi tingkat perangkat dan kemampuan penghapusan jarak jauh sebelum men-deploy PWA lapangan yang berkemampuan offline.

## Notifikasi Push untuk Koordinasi Lapangan

Notifikasi push PWA memungkinkan ERP berkomunikasi dengan pekerja lapangan tanpa mengharuskan mereka membiarkan aplikasi tetap terbuka. Kasus penggunaan: perintah kerja baru telah ditugaskan, rute pengiriman telah berubah, pelanggan telah dihubungi untuk mengonfirmasi janji temu, inventaris di lokasi pengambilan telah diperbarui.

## Pertimbangan Kinerja Dunia Nyata

Jaringan seluler Indonesia sangat bervariasi berdasarkan lokasi. PWA lapangan Anda harus berkinerja pada koneksi 3G di area pedesaan. Optimalkan untuk kinerja jaringan: kompres semua gambar (format WebP), lazy-load sumber daya yang tidak kritis, gunakan HTTP/2 atau HTTP/3 di server, dan terapkan antrean permintaan dalam service worker yang mem-batch operasi sinkronisasi.

## Penilaian Jujur Saya: Di Mana PWA Gagal

PWA sangat baik untuk alur kerja lapangan berbasis formulir. Ini berjuang dengan integrasi hardware (pemindai Bluetooth, pembaca NFC, printer khusus) — ini memerlukan aplikasi native atau React Native. Untuk pekerja lapangan Indonesia yang kebutuhan utamanya adalah mencatat pekerjaan, mengirimkan formulir, dan mengakses data referensi, PWA mencakup 95% kasus penggunaan dengan sebagian kecil biaya aplikasi native.

## Sumber & Bacaan Lanjutan

- MDN — Offline and background operation (Progressive Web Apps) — https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Offline_and_background_operation
- Google Developers — Progressive Web Apps: Going Offline — https://developers.google.com/codelabs/pwa-training/pwa03--going-offline
- Wikipedia — Progressive Web App — https://en.wikipedia.org/wiki/Progressive_web_app

> **Key takeaway:** Pekerja lapangan adalah bagian terakhir dari adopsi ERP: teknisi, sopir dan staf gudang yang perlu mencatat work order dan pengiriman di tempat dengan koneksi yang tidak andal. Merancang klien mobile secara offline-first, lalu sinkron ketika koneksi kembali, adalah yang membuat datanya sampai sama sekali.

## Source links

- https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Offline_and_background_operation
- https://developers.google.com/codelabs/pwa-training/pwa03--going-offline
- https://en.wikipedia.org/wiki/Progressive_web_app

## FAQ

### Mengapa memilih PWA daripada aplikasi native untuk ERP lapangan?

PWA berbagi codebase yang sama dengan ERP web, sehingga biaya pengembangan dan pemeliharaannya jauh lebih rendah dibanding membangun aplikasi iOS dan Android secara terpisah. Pembaruan langsung tersedia saat pengguna membuka aplikasi tanpa proses persetujuan toko aplikasi. Untuk bisnis Indonesia yang tidak memiliki tim atau anggaran pengembangan mobile tersendiri, PWA adalah jawaban praktisnya.

### Bagaimana data offline bekerja dalam PWA lapangan?

Kemampuan offline mengandalkan dua API browser: Service Worker yang mencegat permintaan jaringan dan melayani respons dari cache saat jaringan tidak tersedia, serta IndexedDB, database sisi klien tempat pekerja lapangan dapat membaca dan menulis catatan meski tanpa koneksi. Ketika konektivitas pulih, service worker menyinkronkan data IndexedDB lokal kembali ke server.

### Bagaimana cara menangani konflik saat data offline disinkronkan kembali ke server?

Strategi sinkronisasi bergantung pada sensitivitas data. Pendekatan 'last write wins' dapat diterima untuk data rendah risiko seperti pembaruan lokasi GPS atau catatan waktu. Untuk data transaksional seperti konfirmasi pengiriman atau bukti pembayaran, operasi harus dimasukkan ke antrean secara berurutan agar konflik tidak terjadi karena dua pengguna mengubah catatan yang sama saat offline.

### Data apa yang sebaiknya disimpan secara offline di perangkat pekerja lapangan?

Dataset offline harus sekecil mungkin — hanya yang dibutuhkan untuk pekerjaan hari itu. Seorang teknisi lapangan membutuhkan perintah kerja yang ditugaskan hari itu, informasi alamat dan kontak pelanggan yang relevan, serta katalog produk atau layanan untuk domain mereka. Mereka tidak memerlukan seluruh database pelanggan atau semua faktur historis. Membatasi dataset menjaga IndexedDB tetap terkelola dan mengurangi kompleksitas sinkronisasi.

### Di mana PWA kurang memadai untuk pekerja lapangan?

PWA kesulitan dengan integrasi hardware seperti pemindai Bluetooth, pembaca NFC, dan printer khusus — skenario tersebut memerlukan aplikasi native atau React Native. Antarmuka yang sangat kompleks yang diharapkan terasa sepenuhnya native juga tidak cocok. Untuk pekerja lapangan Indonesia yang kebutuhan utamanya adalah mencatat pekerjaan, mengirimkan formulir, dan mengakses data referensi, PWA mencakup sekitar 95% kasus penggunaan dengan biaya jauh lebih rendah dari aplikasi native.

---

- HTML version: https://www.matthewswong.com/id/blog/erp-mobile-pwa-field-workers/
- English: https://www.matthewswong.com/en/blog/erp-mobile-pwa-field-workers/
- Site index for agents: https://www.matthewswong.com/llms.txt
- Sitemap: https://www.matthewswong.com/sitemap.xml
- API description (OpenAPI): https://www.matthewswong.com/openapi.json
