Arsitektur & Roadmap Peternakan
Arsitektur & Roadmap Sistem Peternakan Terpadu
Dokumen ini adalah cetak biru resmi (master blueprint) pengembangan modul Peternakan pada ERP BUMDes. Ia mengintegrasikan rencana operasional, arsitektur data, dan tahapan implementasi teknis menjadi satu referensi tunggal bagi Direktur, Manajer Unit, dan Tim Pengembang.
I. Visi & Konteks Bisnis#
Unit Peternakan BUMDes beroperasi dalam model Holding dengan Sub-Unit Otonom. Setiap sub-unit (Ayam Petelur, Ikan Nila, Sapi Potong) memiliki siklus bisnis, KPI, dan struktur keuangan sendiri, namun konsolidasi laporan naik ke Pusat Peternakan sebagai induk.
Tiga Model Bisnis yang Aktif
| Sub-Unit | Model | Produk Utama | Metrik Kunci |
|---|---|---|---|
| 🐔 Ayam Petelur | Produksi Hasil (Layer) | Telur segar, ayam afkir | Production Rate, FCR |
| 🐟 Ikan Nila | Budidaya Siklus | Ikan konsumsi segar | Survival Rate, FCR Ikan |
| 🐄 Sapi Potong | Penggemukan (Fattening) | Daging karkas | ADG (Average Daily Gain) |
II. Arsitektur Data (Database Schema — As Implemented)#
Catatan: Schema di bawah ini mencerminkan tabel yang sudah ada di Supabase — bukan yang direncanakan.
Tabel Inti Peternakan
sql-- Siklus / Batch Produksi livestock_cycles ├── id UUID PRIMARY KEY ├── unit_id UUID → business_units (FK) [Sub-unit pemilik] ├── name VARCHAR [contoh: "Batch Ayam #3"] ├── animal_type VARCHAR ['ayam', 'ikan nila', 'sapi'] ├── status ENUM: active, closed ├── start_date DATE ├── end_date DATE (nullable) ├── initial_quantity INT ├── current_quantity INT [Auto-update saat ada kematian] ├── initial_valuation_per_unit DECIMAL [Nilai bibit/ekor untuk HPP] └── created_at, updated_at -- Log Operasional Harian (per siklus) livestock_daily_logs ├── id UUID PRIMARY KEY ├── cycle_id UUID → livestock_cycles (FK) ├── log_date DATE ├── death_count INT ├── feed_consumed_kg DECIMAL ├── production_qty_kg DECIMAL [Berat: telur/biomassa/daging] ├── production_qty_pcs INT [Pcs: butir telur] ├── production_good_pcs INT (nullable) [Telur grade A] ├── production_damaged_pcs INT (nullable) ├── water_temp, water_ph, water_do [Parameter air (Nila)] ├── water_ammonia, water_nitrite, water_nitrate, water_tds └── notes TEXT UNIQUE CONSTRAINT: (cycle_id, log_date) [Satu log per siklus per hari] -- Kandang / Kolam / Silo livestock_coops ├── id UUID PRIMARY KEY ├── unit_id UUID → business_units (FK) ├── name VARCHAR ├── capacity INT └── is_occupied BOOLEAN
Relasi dengan ERP
business_units (Sub-Unit Peternakan)
├──▶ livestock_cycles (Siklus produksi aktif/arsip)
│ └──▶ livestock_daily_logs (Log harian tiap siklus)
├──▶ livestock_coops (Infrastruktur kandang/kolam)
└──▶ journal_entries (Auto-jurnal dari setiap postDailyLog)
└──▶ journal_lines → accounts (COA)
III. Alur Bisnis & Keuangan (End-to-End)#
Fase 1 — Permodalan (Capital Injection)
APBDes Cair → BUMDes Pusat → Dropping ke Unit Peternakan
│
├── Jurnal Pusat: Dr. RK Unit Peternakan / Kr. Kas
└── Jurnal Unit: Dr. Kas / Kr. RK Induk (Kewajiban Modal)
⚠️ Modal yang diterima Unit adalah Kewajiban (bukan Pendapatan) yang harus dipertanggungjawabkan ke Holding.
Fase 2 — Investasi Aset (CapEx)
Modal → Konversi Aset Produktif
├── Kandang/Kolam → Aset Tetap (1-201), disusutkan
├── Bibit/Pullet/Bakalan → Aset Biologis (1-204), diamortisasi
└── Sewa Lahan → Dibayar Dimuka (1-106), dijurnal amortisasi per bulan
Contoh Amortisasi Sewa (5 Tahun = Rp 60 Juta):
Biaya Sewa/Bulan = Rp 60.000.000 / 60 = Rp 1.000.000/bulan
Jurnal Penyesuaian Bulanan:
Dr. 5-203 Beban Sewa Rp 1.000.000
Kr. 1-106 Sewa Dibayar Dimuka Rp 1.000.000
Fase 3 — Operasional (OpEx + Revenue)
Input Harian:
Pakan (5-102) + Obat (5-103) + Overhead (Gaji, Listrik)
↓
Akumulasi HPP per Batch
↓
Output:
Penjualan Telur (4-103) + Ayam Afkir + Limbah (4-202)
↓
Laba Kotor = Pendapatan - HPP [Target: min 20-30%]
Formula KPI Real-Time
FCR (Feed Conversion Ratio)
= Total Pakan (kg) / Total Bobot Pertumbuhan (kg)
Target Ayam Petelur: FCR ≤ 2.3
Production Rate (Hen Day Production)
= Telur Terkumpul / (Jumlah Ayam × Hari) × 100%
Target: > 75%
ADG Sapi (Average Daily Gain)
= (Bobot Akhir - Bobot Awal) / Hari Pemeliharaan
Target: ≥ 0.8 kg/ekor/hari
Survival Rate Ikan
= (Populasi Panen / Populasi Tebar) × 100%
Target: > 85%
IV. Roadmap Implementasi (3 Fase)#
✅ Fase 1 — Digitalisasi Dasar (Q3 2026) — SELESAI
Goal: Nol "Ghost Unit" — semua aktivitas tercatat digital.
- Daily Operations Logger (
/dashboard/peternakan/log-harian): Form input harian (Pakan, Produksi, Mortalitas)- Dynamic fields berdasarkan animal_type (Ayam: egg pcs; Nila: water quality 7 parameter)
- Auto-fetch semua siklus aktif lintas sub-unit
- Batch Management:
livestock_cyclesCRUD (start, update, close) - Auto-Journal ERP Sync:
postDailyLog→ otomatis buat jurnal (pakan, produksi, kematian) + sinkronisasi inventori - DailyLogStatusBanner: Banner 3-state (ok/warning/critical) di LayerHensDashboard & NilaDashboard
- LivestockKPIWidget: Widget FCR, HDP%, Mortalitas, Populasi (7-hari rolling) di kedua dashboard
- Ghost Unit Detection:
checkGhostUnitWarning— deteksi sub-unit tanpa log >24 jam
Manfaat Langsung:
Menghilangkan data gap — semua sub-unit wajib input log harian atau tampil sebagai "Ghost Unit".
✅ Fase 2 — Analitik & Efisiensi (Q4 2026) — SELESAI
Goal: Manager bisa buat keputusan berbasis data, bukan intuisi.
- KPI Dashboard (
/dashboard/peternakan/kpi): Kartu per sub-unit — FCR, HDP, Mortalitas, status log; filter "butuh perhatian" - FCR Alert: Badge visual merah/hijau di KPI Dashboard; real-time threshold per species
- HPP Auto-Calculation:
getBreakEvenData— HPP dari jurnal nyata (pakan, kesehatan, TK, overhead, kematian) - Break-Even Calculator (
/dashboard/peternakan/break-even): BEP per kg/butir/ekor + simulasi harga jual interaktif - Multi-Unit KPI Aggregator:
getMultiUnitKPISummary— 7-day rolling KPI semua sub-unit dalam satu query
✅ Fase 3 — Analitik Lanjut & Integrasi Platform (Feb 2026) — SELESAI
Goal: Visualisasi tren historis dan konsistensi lintas sub-unit ternak.
- Trend Analytics (
/dashboard/peternakan/trend): 4-view chart (FCR rolling, HDP/Biomassa, Pakan, Mortalitas) berbasis seluruh riwayat log- 7-day rolling FCR dengan reference line target per species
- Summary cards: avg FCR, avg HDP, total pakan, total kematian
- NilaDashboard Integration:
DailyLogStatusBanner+LivestockKPIWidgetkini tampil di dashboard Ikan Nila (FCR target ≤1.5, metric biomassa) - Sidebar Navigation Upgrade: Tiap unit livestock kini dapat 4 shortcut otomatis (Log Harian, KPI Dashboard, Trend Analytics, Break-Even)
- Command Center Enhancement: Page diperbaiki untuk multi-unit selection via
searchParams
🔮 Fase 4 — Smart Farming & IoT (2027)
Goal: Otomasi dan koneksi ke ekosistem luar.
- IoT Sensor Integration: Suhu & kelembaban kandang real-time (via MQTT/ESP32)
- Smart Scale: Timbangan digital Bluetooth → bobot ternak auto-update di sistem
- Marketplace Ternak: Portal jual-beli online terintegrasi (harga + sertifikat kesehatan digital)
- AI Prediction: Model prediksi produksi 30 hari ke depan berdasarkan tren historis
- PWA Offline Mode: Input data bisa di kandang tanpa sinyal, auto-sync saat online
V. Arsitektur Teknis Sistem#
┌─────────────────────────────────────────────────────────────┐
│ FRONTEND (Next.js App Router) │
│ /peternakan/kpi │ /trend │ /break-even │ /log-harian │
│ LayerHensDashboard │ NilaDashboard │
└────────────────┬───────────────────────────────────────────┘
│ React Server Components + Server Actions
┌────────────────▼───────────────────────────────────────────┐
│ SERVER ACTIONS (lib/actions/) │
│ livestock.ts livestock-finance.ts │
│ ├── postDailyLog ├── getCycleFinancialReport │
│ ├── calculateLivestockKPI ├── getBreakEvenData │
│ ├── checkGhostUnitWarning └── getMultiUnitKPISummary │
│ └── getLivestockCommandCenterData │
├────────────────────────────────────────────────────────────┤
│ SUPABASE (PostgreSQL + Auth + RLS) │
│ ├── business_units (Hirarki Holding → Sub-Unit) │
│ ├── livestock_cycles (Siklus/Batch Produksi) │
│ ├── livestock_daily_logs (Log Harian + ERP Sync Trigger) │
│ ├── livestock_coops (Kandang / Kolam) │
│ └── journal_entries + journal_lines (Akuntansi) │
└────────────────────────────────────────────────────────────┘
Prinsip Desain
- Data Flows Down: Input di sub-unit → otomatis konsolidasi ke Pusat Peternakan → BUMDes Holding
- Single Source of Truth: Satu jurnal untuk keuangan, satu log untuk operasional — tidak ada data ganda
- Role-Based Access: Petugas kandang hanya bisa input log; Manager lihat KPI; Super Admin lihat semua
VI. Risiko & Mitigasi#
| Risiko | Dampak | Mitigasi |
|---|---|---|
| Data tidak diinput petugas | "Ghost Unit" terulang | Notifikasi harian + gamifikasi pengisian |
| Data aset biologis tidak dicatat per PSAK 69 | Neraca tidak valid | Auto-journal saat ada mutasi populasi |
| FCR membengkak tanpa disadari | Rugi tersembunyi | Alert otomatis saat FCR > threshold |
| Satu kematian massal belum ter-record | Aset Neraca overstated | Log mortalitas real-time + konfirmasi manager |
VII. Indikator Keberhasilan (Success Metrics)#
Sistem dianggap berhasil jika:
- ✅ 100% sub-unit memiliki minimal 1 log harian
- ✅ FCR Ayam Petelur tersedia dan ≤ 2.3 setiap minggu
- ✅ Laporan Laba/Rugi per Sub-Unit bisa di-generate dalam < 5 detik
- ✅ Zero manual journal untuk transaksi operasional rutin
- ✅ Manager Unit bisa akses dashboard dari HP tanpa bantuan admin pusat
Dokumen ini diperbarui: Februari 2026 — Fase 1, 2, dan 3 telah selesai diimplementasi. Fase 4 (IoT/Smart Farming) direncanakan 2027.