Membangun representasi digital dari aset fisik: konsep digital twin, perbedaannya dengan simulasi biasa, bagaimana twin membantu prediksi dan optimasi, serta praktik membangun digital twin sederhana dari perangkat IoT dengan device shadow.

Bayangkan kalian bisa "menjalankan" pabrik atau gedung di komputer — bereksperimen tanpa menyentuh aset fisik, memprediksi kegagalan sebelum terjadi, dan menguji perubahan tanpa risiko. Itulah janji digital twin, teknologi yang tumbuh paling cepat di industri 2026.
Mengapa digital twin penting? Karena aset fisik mahal dan berbahaya untuk dieksperimeni. Turbin yang bisa disimulasikan dulu sebelum dibeli, gedung yang dioptimasi HVAC-nya secara virtual — digital twin menggeser pengambilan keputusan dari "coba-coba di dunia nyata" ke "simulasi di dunia digital".
Digital twin sering disamakan dengan simulasi, tapi keduanya berbeda fundamental:
| Aspek | Simulasi | Digital Twin |
|---|---|---|
| Data | Input statis | Live feed dari aset nyata |
| Koneksi | Putus dari realita | Terkoneksi terus dengan aset |
| Tujuan | Menganalisis skenario | Memantau + memprediksi + mengoptimasi real-time |
| Siklus | Satu kali | Dua arah: twin ↔ aset terus-menerus |
Digital twin adalah simulasi yang hidup: ia diperbarui data nyata setiap saat dan bisa mengirim keputusan kembali ke aset.
| Level | Kemampuan | Contoh |
|---|---|---|
| Twin monitoring | Merepresentasikan state real-time | Suhu boiler ditampilkan sebagai model 3D |
| Twin analytics | Menganalisis pola & tren | Deteksi degradasi performa |
| Twin simulation | Menjalankan skenario "what-if" | Uji efek perubahan parameter |
| Twin control | Mengirim keputusan kembali ke aset | Optimasi otomatis HVAC |
Sebagian besar proyek IoT mulai dari twin monitoring lalu bertumbuh. Digital twin penuh bukan kebutuhan pertama — dimulai dari data yang akurat.
Kita sudah punya setengah digital twin di episode 7: device shadow. Shadow adalah representasi digital sederhana dari state perangkat — titik awal sempurna.
{
"state": {
"reported": {
"temperature": 26.5,
"humidity": 61.0,
"firmware": "v1.2.1",
"uptime_s": 86400
},
"desired": {
"target_temp": 24.0
}
},
"version": 42
}Shadow menyimpan state terakhir yang dilaporkan perangkat. Aplikasi membaca shadow tanpa menunggu perangkat online — dan model analitik bisa memakai riwayat shadow sebagai data twin.
Twin yang berguna butuh lebih dari state terakhir: ia butuh riwayat. Gabungkan shadow (state terkini) dengan time series (episode 12):
from(bucket: "telemetry")
|> range(start: -30d)
|> filter(fn: (r) => r.device == "boiler-01")
|> filter(fn: (r) => r._field == "temperature")
|> aggregateWindow(every: 1d, fn: mean)
|> yield(name: "daily_mean")Dengan data harian ini, model twin bisa menghitung tren: suhu rata-rata naik 0,3°C/hari selama seminggu — tanda awal efisiensi boiler menurun, jauh sebelum alarm kritis menyala.
Setelah twin punya model (relasi antar variabel), jalankan skenario:
# model sederhana: konsumsi gas vs suhu ambien
def simulate(gas_price, outside_temp, setpoint):
gas_used = 2.1 * (setpoint - outside_temp) # kWh
cost = gas_used * gas_price
return {"gas_kwh": gas_used, "cost": cost}
print(simulate(gas_price=14500, outside_temp=28, setpoint=24))
print(simulate(gas_price=14500, outside_temp=28, setpoint=22)){'gas_kwh': -8.4, 'cost': -121800}
{'gas_kwh': -12.6, 'cost': -182700}Bandingkan biaya dua setpoint — keputusan optimasi diambil dari simulasi, bukan tebakan. Ini pola twin simulation yang menghemat jutaan di industri energi.
Tip
Mulai digital twin dari pertanyaan bisnis, bukan dari "kita perlu digital twin". Pertanyaannya: keputusan apa yang ingin dibuat dari representasi digital ini? Kalau jawabannya tidak jelas, twin hanya menjadi dashboard 3D yang mahal. Twin yang baik = data akurat + model + keputusan yang bisa diambil.
Inti yang harus dibawa pulang:
Di episode 23 selanjutnya, kita akan menambah kekuatan prediksi: AI & predictive IoT — predictive maintenance, pipeline ML, dan streaming ML — plus praktik membangun model prediksi kegagalan dari data perangkat kalian. Mesin yang "bicara sebelum rusak"!