Blog
Catatan lapangan dari proyek nyata: lisensi software, backend IoT, data recovery, sistem hotel, dan cara menjalankan proyek software.
Manajemen Tamu: Siapa yang Ada di Dalam Gedung?
Sistem tamu bukan soal cetak kartu. Intinya tahu siapa yang masih di dalam — dan bisa membuktikannya saat alarm kebakaran bunyi.
Saat Aplikasi Remote Balik Menyerang Teknisi
ConnectWise menambal celah ScreenConnect berskor 9,9 pada 8 September 2026. Yang dibobol bukan komputer klien, tapi laptop teknisi yang membantu.
Memilih Kode KBLI untuk Konsultan IT
Empat kode inti, lapis kedua sesuai layanan nyata, dan kode dagang yang murah diambil sekarang — plus kode yang diam-diam menyeret izin berat.
Vendor Alat Kini Wajib Lapor Celah dalam 24 Jam
Sejak 11 September 2026, penjual perangkat ke Uni Eropa wajib lapor celah yang sudah dipakai menyerang dalam 24 jam. Ini untungnya buat pembeli.
Router MikroTik Diserang: Cek Punya Anda Hari Ini
Router MikroTik yang terbuka ke internet sudah dibobol sebelum patch 3 September terbit. Indonesia punya 7.100 unit terpapar. Ini urutan ceknya.
Menemukan Listrik Terbuang lewat Data Meter Gedung
Data meter tiap 15 menit plus jadwal sewa ruangan mengubah keluhan 'AC-nya lupa dimatikan' jadi angka yang bisa dianggarkan dan dibenahi.
Saat ChatGPT, Claude, dan Grok Mati Bareng
Tiga penyedia AI tumbang di pagi yang sama, dengan tiga penyebab berbeda. Ini artinya buat sistem yang menaruh panggilan AI di jalur utama.
Smart Breaker Modbus: Monitoring Energi di Panel Lama
Breaker RS485 memberi metering per sirkuit cuma dengan tukar MCB. Yang tidak ditulis datasheet: register map, suplai 12V, dan kenapa ini bukan meter tagihan.
Nurse Call dan Code Blue: Desain Alarm Kelas Nyawa
Tombol nurse call punya kontrak lebih ketat daripada telemetri: batas latensi jelas, dedup, konfirmasi manusia, dan jalur kedua yang tidak ikut mati.
Hitung Storage CCTV: 30 Hari yang Tidak Genap
Rumusnya gampang, inputnya yang meleset. Kenapa janji retensi 30 hari butuh disk seukuran 35 hari, dan ke mana perginya hari-hari yang hilang.
Clock Drift: Saat Timestamp Berhenti Jadi Bukti
Kamera, controller, dan sensor menyimpan waktunya sendiri. Saat insiden memaksa log disandingkan, yang terbaca justru selisih jamnya.
KKI Masuk QRIS: Apa yang Harus Sistem Anda Urus
Kartu Kredit Indonesia kini jadi sumber dana QRIS. Sisi terima pembayaran tidak berubah, tapi nominal, kode penerbit, dan refund berubah.
RAID Bukan Backup: Berapa Mahal Sebenarnya Saat Array Gagal
RAID menjaga uptime, bukan kemampuan pulih. Hitungan rebuild, kegagalan di luar perlindungannya, dan kenapa recovery array mahal.
Kenapa SD Card Cepat Mati di Perangkat Edge dan Cara Mendesain Sistemnya
SD card konsumer mati di lapangan bukan karena nasib buruk. Solusinya bukan kartu lebih besar, tapi rootfs read-only dan anggaran tulis.
SBOM dalam Praktik: Otomatiskan Cek Lisensi Sebelum Serah Terima
Satu build membawa ribuan lisensi. SBOM plus policy gate di CI dipakai untuk menemukan tiga lisensi yang benar-benar bermasalah saat delivery.
SNMP untuk Fleet CCTV: Memantau Kamera Sebelum Rekaman Hilang
Deployment video analytics sebaik kameranya hidup. Polling SNMP dengan net-snmp plus cek frame-age RTSP menangkap kamera yang sudah mati.
Kenapa Pilot AI Coding Agent Mandek Sebelum Production
Mayoritas pilot AI coding agent mandek bukan karena model kurang bagus, tapi karena governance-nya belum ada.
Bus Factor: Ketika Satu Orang Jadi Titik Kegagalan Tunggal
Apa yang terjadi kalau satu-satunya orang yang tahu proses deploy, password vault, atau kontak vendor keluar dari perusahaan.
Retrofit vs Vendor Lock-In: Sistem Mahal, Tugas Sepele
Sistem bowling $120k diganti $1.600 ESP32. Pelajaran dari thread HN itu soal vendor lock-in, dan cara scoping retrofit yang aman.
Perubahan MDR QRIS 1 Oktober: Yang Wajib Diantisipasi Integrasi Pembayaran Anda
Perluasan MDR 0% QRIS oleh BI per 1 Oktober bukan sekadar biaya turun. Logika perhitungan fee di POS dan gateway Anda ikut berubah.
Denda UU PDP Berubah di Bawah KUHP Baru: Angka Mengecil, Kewajiban Tetap Sama
Denda pidana UU PDP mengecil di bawah KUHP baru, tapi sanksi administratif yang benar-benar dihadapi SME tidak berubah.
Checklist Hardening Firmware CCTV: Sebelum Kamera Live
Kredensial default, RTSP terbuka, dan tunnel P2P vendor bikin CCTV paling gampang dibobol. Checklist wajib di hari commissioning.
Dua Puluh Insiden dalam Delapan Hari: Arti Rentetan Cloudflare untuk Stack Anda
20 insiden status page Cloudflare dalam 8 hari, dan kesalahan rotasi kredensial di insiden sebelumnya. Yang perlu dicek SME.
Arti Sebenarnya di Balik Uptime 99.9%: Membaca SLA Seperti Engineer
Ubah persentase SLA jadi jam downtime nyata, pahami cakupan credit, dan pakai error budget bukannya mengejar angka nines.
Bug SQLite 16 Tahun dan Batas Teknologi 'Boring'
Bug SQLite 16 tahun diam-diam menghapus data yang sudah commit. Kenapa teknologi 'boring' berhenti aman begitu dipakai berbeda.
Agentic Tool Loop: Saat Chatbot Perlu Bertindak, Bukan Cuma Bicara
Tool bertipe, loop berbatas, guardrail per tool: cara chatbot agentic mengerjakan tugas multi-langkah yang tidak sanggup ditangani RAG biasa.
Mengintegrasikan Access Control dan VMS dengan Sistem Anda Sendiri
Mengeluarkan event dari panel access control dan VMS kamera yang tertutup — SDK bridge, baca database, polling, dan pemetaan ke domain model sendiri.
Paket Handover: Memastikan Software Anda Bertahan Lebih Lama dari Vendor
Isi paket handover yang sebenarnya, kenapa vendor juga jadi single point of failure, dan cara mengetesnya sebelum Anda butuh.
Memulihkan Video Terfragmentasi Saat File Carving Menyerah
Saat signature carving cuma menghasilkan file rusak, reassembly level cluster dengan loop verifikasi global masih bisa menyusun ulang video.
Fixed Price vs Time and Materials: Memilih Kontrak yang Tepat untuk Proyek Software
Fixed price, time and materials, atau milestone hybrid — siapa yang menanggung risiko, kenapa fixed price lebih mahal, dan red flag di keduanya.
Kontrol Energi per Kamar dengan Smart Breaker
Smart breaker gabungkan metering dan pemutus remote dalam satu perangkat DIN-rail — billing per kamar, alur penagihan, dan hitungan payback.
Siapa Pemilik Kodenya? Klausul IP yang Wajib Ada di Kontrak Klien
Work-for-hire vs license grant, carve-out toolkit, escrow, dan transfer kepemilikan terikat pembayaran — klausul IP wajib di kontrak freelance.
Kesalahan Integrasi PMS yang Diam-Diam Menggerus Revenue Hotel
Tiga failure mode integrasi PMS yang diam-diam menggerus revenue hotel setelah go-live — kenapa urutan koneksinya yang jadi kuncinya.
Dua Sengketa AGPL yang Sedang Berjalan dan Apa yang Sebenarnya Mereka Ajarkan
ONLYOFFICE vs. Nextcloud dan SFC vs. Bambu Lab: dua sengketa AGPL yang menunjukkan apa yang sebenarnya dibatasi lisensi ini.
Aturan Nol Data Recovery: Image Drive-nya Dulu
Setiap pembacaan dari drive sekarat cuma bisa diambil sekali. Kenapa imaging ddrescue mendahului semuanya, dan peran mapfile.
Mengambil Alih Sistem Legacy: Stabilkan Dulu, Rewrite (Hampir) Tidak Pernah
Dapat warisan codebase tanpa dokumentasi, developer-nya sudah pergi? Urutannya: jalankan dulu, backup, test, baru rombak bagian terburuk.
Merancang Dashboard HMI yang Benar-Benar Dipercaya Operator
Layar abu-abu, alarm yang disiplin, dan cause-and-effect matrix: bekal dashboard HMI yang dipercaya operator, bukan sekadar dekorasi.
Tanda-Tanda Proyek Software Mulai Menuju Kehancuran
Tujuh tanda proyek software bermasalah yang terlihat klien, kenapa masing-masing memprediksi kegagalan, dan cara murah memperbaikinya.
Mengendalikan Biaya LLM: Routing per Tugas, Batasi per Hari
Rutekan tugas murah ke model murah, batasi pengeluaran per hari, pasang deadline per giliran: kendali biaya LLM yang bisa scale.
Satu Platform Smart Lock, Dua Jenis Bangunan yang Sangat Berbeda
Keputusan arsitektur di balik platform smart lock untuk kos BLE-only dan hotel gateway-connected yang terikat siklus booking.
Memilih Lisensi untuk Produk Sendiri: MIT, Apache, AGPL, atau Closed
Closed untuk proyek klien, MIT untuk adopsi, Apache-2.0 untuk paten, AGPL saat produknya sendiri yang dijual — cara memilih lisensi yang tepat.
Webhook yang Tidak Membuat Uang Hilang
Cara verifikasi signature, respons cepat, dedupe event id, dan rekonsiliasi agar webhook pembayaran tidak diam-diam kehilangan uang.
Smart Door Access untuk Kos dan Properti Sewa Kecil
Smart lock untuk kos: kunci offline-first, kredensial PIN dan kartu, siklus hidup penghuni, dan kapan gateway sepadan harganya.
SPOF Tersembunyi di Fleet IoT: Gateway, Broker, SIM
Broker, gateway, uplink, NTP, dan OTA server adalah lima single point of failure terpisah di balik satu dashboard IoT yang terlihat sehat.
Self-Hosting Supabase di Production: Apa yang Sebenarnya Anda Tanggung
Self-host Supabase berarti mengelola belasan service — backup termasuk storage bucket, upgrade, disiplin JWT secret, dan kapan managed lebih jujur.
Perlukah Staging Environment? Biasanya Ya, dan Lebih Kecil dari Bayangan Anda
Apa yang wajib ditiru staging environment, apa yang boleh dilewati, dan cerita kegagalan yang membuktikan pentingnya.
Panic Button dalam Skala Besar: Alarm Darurat untuk 100 Lokasi
Membawa panic button ke 100 lokasi: WiFi dengan fallback GSM, heartbeat liveness, rantai eskalasi, test mode, dan audit trail.
Dual Licensing dari Sisi Vendor: Satu Produk, Dua Pintu
Merilis produk sebagai AGPL plus lisensi komersial berbayar — mekanismenya, disiplin file NOTICE, dan apa yang ditanyakan pembeli komersial.
Proyek Software dengan Tim Eksternal: Panduan untuk UKM
Scope sebagai outcome, pembayaran per milestone, demo mingguan, dan empat dokumen yang benar-benar menjaga kendali proyek.
PGMQ: Saat Postgres Sudah Cukup Jadi Message Queue
PGMQ menjadikan Postgres yang sudah berjalan sebagai message queue sungguhan — visibility timeout, enqueue transaksional, kapan harus pindah.
Multi-AZ Bukan Multi-Region: Pelajaran dari Outage us-west-2
Outage us-west-2 merusak pintu keluar region, bukan satu data center. Artinya bagi perencanaan redundansi dengan budget SME.
Playback Sinkron di Banyak Layar, Presisi Sampai Frame
NTP saja tidak cukup untuk video wall. Sync session, offset per perangkat, dan koreksi drift lewat rate adjustment — tanpa seeking yang kelihatan.
SDK Vendor Tanpa Teks Lisensi: Masalah Kontrak, Bukan Zona Abu-abu
SDK vendor tanpa teks lisensi berarti all rights reserved secara default. Solusinya di perjanjian pengadaan, bukan asumsi niat baik vendor.
Guardrail Melawan Halusinasi Saat Chatbot Menjawab Soal Uang
Jawaban yakin tapi salah adalah risiko sebenarnya — dan guardrail verifikasi, fallback, serta batas cakupan yang menjaga LLM jujur soal uang.
Bicara Serial dengan Kontroler Vending Machine
Mesin vending spring bicara serial lewat SDK Android tertutup. Cara membungkusnya, mendeteksi motor fault, dan menangkap telemetri yang berguna.
Monitoring untuk Sistem Kecil: Sinyal yang Cukup Tanpa Budget Enterprise
Dashboard enterprise lebih mahal dari yang dibutuhkan sistem kecil. Tiga check dan satu channel alert sudah menangkap yang benar-benar rusak.
Android Kiosk Mode yang Benar: Device Owner, Lock Task, Watchdog
Device owner, lock task mode, watchdog berlapis — resep mengubah hardware Android konsumer jadi kiosk yang sanggup ditinggal setahun tanpa penjaga.
Menemukan Single Point of Failure Sebelum Ia Menemukan Anda
Enam tempat single point of failure bersembunyi di bisnis SME, cara memetakannya dalam satu sore, dan kapan redundansi tidak sepadan biayanya.
Panel Meeting Room yang Sesuai Kenyataan: Integrasi Kalender Microsoft Teams
Room mailbox, webhook Graph dengan fallback polling, dan auto-release lewat check-in — cara panel pintu tetap jujur soal kondisi ruangan sebenarnya.
Lisensi LGPL di Produk Tertutup: Kasus FFmpeg
Kewajiban LGPL secara konkret: teks lisensi, dynamic linking yang bisa diganti, source LGPL — dan DLL FFmpeg bundelan vendor.
Saat Row Database Selamat tapi File-nya Tidak: Masalah Orphaned Blob
Studi kasus orphaned blob: 400 file media yang dirujuk row database sehat ternyata hilang dari storage — dan kenapa cuma 45% yang kembali.
Kamera Deteksi APD: Apa yang Dibutuhkan Deployment Sungguhan
Akurasi model itu bagian gampangnya. Penempatan kamera, alur alert, ekonomi false positive, dan penerimaan pekerja yang menentukan.
API Versioning Saat Vendor Tidak Mau Versioning Sama Sekali
API vendor bisa berubah tanpa peringatan. Tolerant reader, contract test, anti-corruption layer, dan pinning menjaga integrasi tetap hidup.
RAG untuk Sistem Bisnis: Jawaban yang Berpijak pada Data Anda
Bagaimana RAG membuat jawaban LLM berpijak pada data Anda sendiri, kenapa hybrid search mengalahkan satu metode saja, dan kapan RAG berlebihan.
pg_dump Bukan Backup Sebelum Pernah Di-restore
File dump bertanggal bukan backup. Uji restore, object storage dalam cakupan, dan pemeriksaan yang membuat recovery nyata.
Memilih Tech Stack untuk Sistem SME: Membosankan Itu Menang
Kenapa teknologi membosankan dan mudah dicari orangnya menang lawan framework terbaru untuk sistem SME, plus pertanyaan untuk vendor.
Membaca Meteran Utilitas Lama Pakai Kamera: OCR ESP32-CAM
Retrofit meteran analog dengan OCR ESP32-CAM — mounting, pencahayaan, confidence threshold, dan hitungan biaya versus ganti meteran.
Offline-First untuk Aplikasi Tim Lapangan: Desain untuk Sinyal Seadanya
Arsitektur queue lokal, aturan konflik yang diterima tim ops, ingestion idempotent, dan yang harus diuji sebelum rollout aplikasi lapangan.
AGPL di Computer Vision Komersial: Persoalan Ultralytics
Ultralytics YOLO berlisensi AGPL-3.0. Tiga opsi patuh untuk produk computer vision closed-source, plus pertanyaan wajib untuk vendor CV.
Mendigitalkan Alur Pesanan Jastip: Sistem Minimum yang Dibutuhkan
Pelaku social-commerce kecil melampaui kapasitas chat dan spreadsheet. Sistem minimum — status pesanan, status pembayaran — yang membenahinya.
Mengelola Banyak Android TV Box untuk Signage dan IPTV Rumah Sakit
Provisioning, lockdown kiosk, sync konten model pull, dan heartbeat untuk ratusan Android TV box signage dan IPTV rumah sakit.
File Carving Dengan PhotoRec: Yang Bisa Kembali dan Yang Tidak Akan Pernah
Apa yang bisa dipulihkan file carving PhotoRec dari drive NTFS rusak, apa yang hilang permanen, dan cara menyortir 1.600 dokumen yang kembali tanpa nama.
Database Index untuk Application Developer: Kapan, Index Mana, dan Kenapa Jangan Kebanyakan
Ongkos index di setiap write, urutan kolom composite index, cara baca EXPLAIN tanpa panik, kenapa index di semua kolom itu tanda bahaya.
Dari Pembacaan Meter ke Invoice: Arsitektur Billing Utilitas IoT
Billing utilitas IoT dari ujung ke ujung: ingestion meter, agregasi interval, tariff engine, siklus tagihan, dan audit trail yang tahan sengketa.
Lisensi AI: Kode, Weights, dan Dataset Adalah Tiga Kontrak Berbeda
Badge MIT di repo cuma meloloskan kodenya. Kenapa model weights dan training data adalah kontrak terpisah, dan cara membereskan ketiganya.
Idempotency di Payment API: Selamat dari Retry Tanpa Double Charge
Idempotency key mencegah retry payment request menyebabkan double charge. Cara Stripe, Adyen, Midtrans, dan Xendit menerapkannya.
Lisensi Open-Source di Software Komersial: Mana yang Beneran Berisiko
MIT, Apache, LGPL, GPL, AGPL — kewajiban tiap lisensi saat merilis software komersial, dan di titik mana tim biasanya kena masalah.
Grouping Data Multi-Zona Waktu di PostgreSQL Tanpa Salah
Grouping event per hari atau jam lokal di PostgreSQL kacau di zona setengah jam dan saat DST. Pola teruji agar dashboard multi-zona waktu tetap benar.
Otomatisasi WhatsApp untuk Operasional Hotel
Jadikan WhatsApp lapisan operasional hotel — konfirmasi, pengingat, pesan kamar siap, dan alert staf, masing-masing terhubung ke kejadian bisnis.
Modbus vs MQTT: Data Ditanya atau Dikirim Sendiri
Perangkat Modbus ditanya berkala (polling), perangkat MQTT mengirim data sendiri (event-driven). Cara kerja keduanya dan kapan pakai yang mana.
Cara Mencegah Overbooking Hotel
Cegah overbooking hotel dengan memisahkan inventori tipe kamar dari penugasan kamar fisik, plus constraint database dan lock reservasi singkat.
Menyatukan Perangkat IoT Beda Protokol di Satu Backend
Cara menyatukan perangkat Modbus, BLE, dan MQTT lewat adapter protokol dan lapisan normalisasi yang menulis satu model data telemetri umum.
Cara Memodelkan Status Kamar Hotel biar Anti-Salah
Kenapa status kamar hotel perlu state machine — bersih, kotor, diperiksa, maintenance, siap — supaya housekeeping dan front desk tidak bentrok.
MQTT vs WebSocket untuk IoT Real-Time: Kapan Pakai yang Mana
MQTT vs WebSocket untuk IoT — fungsi masing-masing, kenapa sistem nyata pakai keduanya, dan bagaimana data mengalir dari broker ke dashboard.
Panduan Lengkap Sistem Manajemen Hotel untuk Hotel Independen
Panduan sistem manajemen hotel (PMS) untuk hotel independen: status kamar, booking, overbooking, staf, otomatisasi WhatsApp.
Panduan Lengkap Backend IoT: MQTT, WebSocket, dan Telemetri Multi-Protokol
Panduan lengkap backend IoT: menyerap telemetri MQTT, WebSocket, Modbus, dan BLE lalu menyatukannya jadi satu model data real-time.
Merancang Sistem Manajemen Hotel yang Dipakai di Operasional Nyata
Membangun sistem manajemen hotel di Pekalongan: Next.js 16, Drizzle ORM, PostgreSQL, state machine status kamar, otomatisasi WhatsApp.
Membangun Dashboard yang Menghubungkan Sistem Berbeda
Cerita praktis menghubungkan kontrol sistem, visitor management, dan sinyal operasional ke satu dashboard yang bisa dipercaya tim.
Backend MQTT dan WebSocket untuk IoT Real-Time
Cerita nyata freelance IoT: ingest telemetri MQTT, dashboard live WebSocket, nurse call, integrasi PLC, sistem kontrol multi-brand.