STMKG

Tentang Sistem

Arsitektur & Teknologi

Sistem Monitoring dan Prediksi Curah Hujan

Sistem terintegrasi untuk pemantauan kondisi cuaca secara real-time dan prediksi curah hujan 7 hari ke depan menggunakan model Deep Learning (Bidirectional LSTM) berbasis data dari jaringan stasiun meteorologi AWS, ARG, dan AAWS di Provinsi Jawa Barat.

50
Stasiun Aktif
3
Tipe Sensor
7
Hari Prediksi
10
Menit Interval
24/7
Real-time

Arsitektur Sistem

Arsitektur Sistem Monitoring dan Prediksi Curah Hujan STMKG Jawa Barat — Data Integration • Bi-LSTM Deep Learning • Real-time Monitoring LAYER 1: Sumber Data Sensor (50 Stasiun Jawa Barat) AWS (12 Stasiun) Automatic Weather Station 9 Parameter | Interval: 1 menit Temp, RH, Press, WS, WD, Rain, SR ARG (30 Stasiun) Automatic Rain Gauge 3 Parameter | Interval: 1 menit Rain, Logger Temp, Battery AAWS (8 Stasiun) Automatic Agro Weather Station 9 Parameter | Interval: 10 menit AWS params + Agroklimat LAYER 2: Message Broker (MQTT) MQTT Broker BMKG (202.90.198.159:1883) Protocol: MQTT v3.1.1 | QoS: 0 | Publish-Subscribe | Real-time Data Stream LAYER 3: Application Server (Node.js + Express) Express REST API Modular MVC (src/) Controllers & Routes Port 3001 MQTT Subscriber Receive Sensor Data Parse & Store 50 Station Filter WebSocket Server Real-time Push Live Dashboard Update Bidirectional Prediction Cron Python Bridge Every 6 Hours predict.py LAYER 4: Storage, Database & Interfaces SQLite Local Database Metadata • Predictions Model Performance InfluxDB Time-Series DB Historical Data • Analytics Model Validation Browser Frontend Dashboard Visualisasi • Monitoring Data Analysis Python Engine Bi-LSTM Model TensorFlow / Keras predict.py 50 Stasiun Aktif | 3 Tipe Sensor | 7 Hari Prediksi | Real-time MQTT | 24/7 Monitoring

Alur Data (Data Flow)

1

Akuisisi Data (MQTT)

Datalogger di setiap stasiun mengirim data sensor setiap menit untuk AWS dan ARG serta 10 menit untuk AAWS ke broker MQTT BMKG. Server subscribe ke topic yang relevan dan menerima data secara real-time.

2

Penyimpanan (InfluxDB + SQLite)

Data time-series (suhu, kelembapan, curah hujan, dll) disimpan di InfluxDB untuk query cepat. Metadata stasiun dan prediksi disimpan di SQLite.

3

🧠 Prediksi (Bi-LSTM) & Filter Musim

Setiap 6 jam, model Bidirectional LSTM (TensorFlow 2.20.0) menganalisis data historis dan menghasilkan prediksi 7 hari ke depan per stasiun dengan pendekatan Modular OOP (aws_predictor, aaws_predictor, arg_predictor). Terdapat Adaptive Seasonal Filter untuk penyesuaian intensitas saat musim kemarau demi menekan tingkat error over-prediction.

4

Verifikasi Model & Metrik Aktual

Sistem memverifikasi hasil prediksi secara otomatis dan menghitung performa model harian (RMSE, MAE, R², POD, FAR, CSI) yang dapat dipantau langsung pada Dashboard Verifikasi untuk analisis Skripsi.

5

Visualisasi & Alert (WebSocket)

Dashboard menampilkan data real-time via WebSocket. Jika curah hujan melebihi ambang batas sangat lebat (>100mm) atau ekstrem, sistem otomatis mengirim peringatan ke semua client yang terhubung.

5

🤖 Otomatisasi & Peringatan Dini (n8n & Telegram Bot)

Workflow n8n memantau data secara berkala dan otomatis mendistribusikan peringatan dini cuaca buruk ke stakeholder terkait melalui bot Telegram.

Technology Stack

Node.js (Modular MVC)

Runtime server utama yang kini berjalan dengan arsitektur terstruktur (src/). Menangani REST API, MQTT, WebSocket, dan cron job.

InfluxDB

Database time-series untuk menyimpan data sensor dengan performa query tinggi. Mendukung retention policy dan downsampling.

SQLite

Database ringan untuk metadata stasiun, hasil prediksi, peringatan, dan performa model. Zero-configuration.

MQTT

Protokol IoT lightweight untuk komunikasi real-time antara datalogger stasiun dan server. QoS 0 untuk efisiensi bandwidth.

🤖 TensorFlow 2.20.0

Framework Deep Learning untuk model Bidirectional LSTM. Menggunakan arsitektur OOP modular dengan rekayasa fitur dinamis per tipe stasiun dan Adaptive Seasonal Filter untuk presisi tinggi.

Leaflet.js

Library peta interaktif open-source. Menampilkan lokasi stasiun, heatmap curah hujan, dan marker prediksi.

Chart.js

Library visualisasi data untuk grafik time-series, bar chart prediksi, dan scatter plot verifikasi model.

n8n & Telegram

Platform workflow automation (n8n) untuk mengintegrasikan peringatan sistem dengan Telegram Bot sebagai media diseminasi informasi ke pengguna.

WebSocket

Koneksi bidirectional untuk push data real-time ke browser tanpa polling. Update instan saat data baru masuk.

Tipe Stasiun

AWS (Automatic Weather Station)

12 stasiun — Mengukur 7 parameter utama: suhu, kelembapan, tekanan, kecepatan angin, arah angin, curah hujan, dan radiasi matahari.

ARG (Automatic Rain Gauge)

30 stasiun — Fokus pengukuran curah hujan dengan presisi tinggi. Parameter: curah hujan, suhu logger, dan tegangan baterai.

AAWS (Automatic Agro Weather Station)

8 stasiun — Stasiun agroklimatologi dengan parameter lengkap seperti AWS, ditambah parameter khusus pertanian.