Mata Kuliah: MKK.10.01.005 — Kecerdasan Buatan & Internet of Things (TW1). Durasi: 120 menit (Tatap Muka). Penyusun: Irfan Yusin Syahrullah.
Tujuan Pembelajaran
- Membuat model prediksi sederhana berbasis data sensor
- Menggunakan regresi linear untuk memprediksi nilai suhu
- Mengintegrasikan model pada Python dan memindahkan logika ke ESP32
- Membangun kendali proaktif berbasis prediksi
Capaian Pembelajaran
Mahasiswa mampu membangun dan menguji model prediksi sederhana serta mengintegrasikannya untuk kendali smart home yang proaktif.
Konsep Materi
Prediksi pada smart home, seperti memperkirakan suhu di menit berikutnya, dapat dilakukan dengan regresi linear sederhana yang memodelkan hubungan antara waktu dan nilai suhu dari data historis.
Regresi linear mencari garis terbaik y = a*x + b yang menyesuaikan data historis. Nilai a dan b diperoleh dari pelatihan pada dataset; Python dengan library NumPy atau scikit-learn memudahkan proses ini.
Setelah model dilatih, koefisien a dan b dapat dimasukkan ke ESP32 agar kipas dinyalakan sebelum suhu benar-benar tinggi (kendali proaktif), sebagai penyempurnaan dari aturan ambang yang reaktif.
Perbedaan reaktif vs proaktif: sistem reaktif menyalakan kipas saat suhu sudah > 30 C, sedangkan proaktif memprediksi suhu akan melewati ambang 15 menit lagi dan bertindak lebih dulu.
Prinsip ini menjadi dasar peralihan dari logika if-then sederhana menuju sistem yang mengambil keputusan berdasar model data, inti dari AI pada edge.
Langkah Praktik
- Kumpulkan data suhu ber-waktu dari DHT11 dan simpan sebagai dua kolom CSV (menit, suhu).
- Di Python, muat data dan latih regresi linear untuk mendapatkan koefisien a dan b.
- Evaluasi model dengan menghitung error prediksi pada data uji.
- Implementasi rumus prediksi (a*menit + b) pada ESP32 sebagai fungsi perkiraan.
- Hubungkan prediksi ke kendali kipas: nyalakan saat hasil prediksi mendekati ambang.
Kode Contoh
# Menyiapkan model regresi sederhana di Python
# pip install scikit-learn pandas
import pandas as pd
from sklearn.linear_model import LinearRegression
df = pd.read_csv('suhu.csv') # kolom: menit, suhu
X = df[['menit']]
y = df['suhu']
model = LinearRegression().fit(X, y)
print("a =", model.coef_[0], " b =", model.intercept_)
# Salin a dan b ke program ESP32 sebagai konstanta
Latihan / Proyek
- Latih model dengan data yang lebih banyak dan bandingkan hasil prediksinya.
- Integrasikan prediksi dengan kipas pada ESP32 dan bandingkan dengan mode reaktif.
- Eksperimen memakai fitur tambahan (kelembaban) dan lihat peningkatan akurasi model.
Rekap & Tindak Lanjut
Mahasiswa mampu membangun model prediksi sederhana, mengevaluasinya, dan menerapkannya pada kendali smart home yang proaktif. Pendekatan ini menunjukkan peran AI pada edge.
