123453. Internet of Things (IoT)
๐ŸŒ Internet of Things โ€ข Modul 3

Internet of Things (IoT)

Materi 15 pertemuan: konsep dan arsitektur IoT, sensor dan aktuator, mikrokontroler, konektivitas (WiFi, BLE, Zigbee, LoRaWAN, NB-IoT), protokol MQTT, platform cloud, penyimpanan data, edge computing, AI, keamanan, dan perancangan proyek akhir.

โ† Beranda Portal
Status Modul: Materi Kuliah Aktif
Pertemuan 1

๐ŸŒ Pengantar IoT, Ekosistem, dan Arsitektur

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 2)

  1. Konsep dan definisi IoT
  2. Karakteristik dan cara kerja
  3. Ekosistem IoT
  4. Arsitektur IoT
  5. Contoh, diskusi, dan kuis

Setelah pertemuan ini, mahasiswa mampu Menjelaskan konsep, ekosistem, dan arsitektur IoT serta memetakan contoh sistem ke lapisan arsitekturnya.

Dari Internet of People ke Internet of Things (slide 3)

๐Ÿง‘โ€๐Ÿ’ป
Internet tradisionalManusia mengakses dan membuat informasi lewat komputer dan ponsel.
โžœ
๐ŸŒก๏ธ
Internet of ThingsBenda mengukur, mengirim data, dan bertindak tanpa campur tangan manusia.

๐Ÿ’ก IoT memperluas internet dari pengguna manusia ke miliaran benda fisik

Definisi IoT (slide 4)

Definisi umum: jaringan benda fisik yang dilengkapi sensor, perangkat lunak, dan koneksi untuk mengumpulkan dan bertukar data.

ITU-T Y.2060 (2012): infrastruktur global untuk masyarakat informasi yang memungkinkan layanan lanjutan dengan menghubungkan benda fisik dan virtual.

๐Ÿ“ฆ
Benda fisiksensor dan aktuator
๐Ÿ”—
Koneksijaringan
๐Ÿ“Š
Datadikumpulkan dan ditukar

Karakteristik IoT (slide 5)

๐Ÿ”—
KonektivitasSetiap benda dapat terhubung ke jaringan
๐ŸŒก๏ธ
PenginderaanMengukur kondisi fisik secara terus-menerus
๐Ÿงฉ
HeterogenBeragam perangkat, protokol, dan vendor
๐Ÿ“ˆ
Skala masifJumlah perangkat sangat besar
๐Ÿ”‹
Sumber daya terbatasDaya, memori, dan prosesor kecil
๐Ÿค–
OtonomBertindak berdasarkan aturan atau AI

Cara Kerja IoT (slide 6)

๐Ÿ‘๏ธ
SenseSensor membaca
โžœ
๐Ÿ“ก
ConnectData dikirim
โžœ
๐Ÿงฎ
ProcessData dianalisis
โžœ
โš™๏ธ
ActAktuator bertindak

๐Ÿ’ก Contoh: sensor suhu membaca 31 ยฐC, ESP32 mengirim lewat WiFi, platform menerapkan aturan suhu di atas 30, relay menyalakan kipas.

Perjalanan IoT (slide 7)

โ˜•
1982Mesin Coca-Cola di Carnegie Mellon dapat dicek lewat jaringan
๐Ÿ’ก
1999Kevin Ashton memperkenalkan istilah Internet of Things
๐Ÿ“ฑ
2008Menurut perkiraan Cisco, perangkat terhubung melampaui jumlah penduduk
๐Ÿ“ก
2015LoRaWAN dan NB-IoT membuka jalan IoT berdaya rendah
๐Ÿ 
2022Standar Matter 1.0 dirilis untuk smart home

Ekosistem IoT (slide 8)

๐Ÿ“Ÿ
PerangkatSensor, aktuator, dan pengendali
๐Ÿ“ถ
KonektivitasJaringan pembawa data
โ˜๏ธ
PlatformManajemen dan penyimpanan
๐Ÿ“Š
AnalitikMengubah data menjadi wawasan
๐Ÿ“ฑ
AplikasiAntarmuka bagi pengguna
๐Ÿ”’
KeamananMelindungi seluruh lapisan

Komponen Ekosistem: Perangkat (slide 9)

๐ŸŒก๏ธ
SensorSuhu dan kelembapan โ€ข Gerak dan cahaya โ€ข Gas, jarak, tekanan
โš™๏ธ
AktuatorRelay dan motor โ€ข Pompa dan katup โ€ข Lampu dan buzzer
๐Ÿ“ท
Perangkat pintarTermostat pintar โ€ข Kamera dan wearable โ€ข Meter listrik pintar

๐Ÿ’ก Setiap benda butuh identitas unik, misalnya alamat IP, UUID, atau ID perangkat

Konektivitas: Jangkauan dan Kecepatan (slide 10)

PAN
Bluetooth LE, Zigbee ยท puluhan meter
LAN
WiFi ยท ruangan hingga gedung
LPWAN
LoRaWAN ยท hingga beberapa km
WAN
NB-IoT, LTE-M, 5G ยท cakupan operator

๐Ÿ’ก Panjang batang menggambarkan jangkauan. Pilih sesuai jarak, daya, dan kecepatan yang dibutuhkan

Komponen Ekosistem: Platform dan Analitik (slide 11)

Fungsi platform IoTAWS IoT Core
Azure IoT Hub Manajemen perangkat dan pembaruan Pengumpulan dan penyimpanan dataTerkelola, ekosistem AWS Skala besar, ekosistem Azure
ThingsBoard Aturan dan analitikOpen source, bisa self-host
Blynk API untuk integrasi Dasbor dan notifikasiPrototipe cepat

Pemangku Kepentingan Ekosistem (slide 12)

๐Ÿญ
Produsen perangkatMembuat sensor dan modul
๐Ÿ“ก
Operator jaringanMenyediakan konektivitas
โ˜๏ธ
Penyedia platformMengelola data dan perangkat
๐Ÿ‘ฉโ€๐Ÿ’ป
Pengembang aplikasiMembangun layanan
๐Ÿง‘
Pengguna akhirMemakai dan memberi nilai

๐Ÿ’ก Pemerintah dan regulator menetapkan standar, keamanan, dan perlindungan data.

Model Arsitektur: 3, 4, dan 5 Lapisan (slide 13)

3 lapisan
Application
Network
Perception
4 lapisan
Application
Processing
Network
Perception
5 lapisan
Business
Application
Processing
Transport
Perception

๐Ÿ’ก Model 4 lapisan dipakai pada kuliah ini

Arsitektur IoT Empat Lapisan (slide 14)

ApplicationAplikasi web, ponsel, API
ProcessingMenyajikan layanan dan dasbor ke pengguna Menyimpan, menganalisis, menerapkan aturan
NetworkMembawa data antar perangkat dan cloud
PerceptionMembaca dunia fisik dan bertindak

๐Ÿ’ก Fungsi

๐Ÿ’ก Contoh teknologi

๐Ÿ’ก Cloud, edge, basis data

๐Ÿ’ก WiFi, LoRaWAN, MQTT

๐Ÿ’ก Sensor, aktuator, ESP32

Application: layanan dan dasborProcessing: simpan, analisis, aturanNetwork: bawa data perangkat โ†” cloudPerception: baca dunia fisik, bertindakAplikasi web, ponsel, APICloud, edge, basis dataWiFi, LoRaWAN, MQTTSensor, aktuator, ESP32
Arsitektur IoT empat lapisan
๐Ÿ–ผ๏ธ Penjelasan Gambar (slide 14)

Dari bawah ke atas: Perception membaca dunia fisik dan bertindak, Network membawa data antara perangkat dan cloud, Processing menyimpan, menganalisis, dan menerapkan aturan, Application menyajikan layanan dan dasbor ke pengguna.

๐Ÿ’ก Poin kunci: Memetakan komponen ke lapisan membantu menentukan teknologi yang tepat di tiap tahap.

Arsitektur Referensi: Edge ke Cloud (slide 15)

๐Ÿ“Ÿ
Sensor dan aktuatorEdge
โžœLoRa, BLE
๐Ÿšช
GatewayFog
โžœWiFi, seluler
โ˜๏ธ
Cloud dan platformCloud
โžœMQTT, HTTPS
๐Ÿ“ฑ
AplikasiPengguna

๐Ÿ’ก Edge dekat sumber data untuk respons cepat; cloud menawarkan kapasitas penyimpanan dan analitik besar.

๐Ÿ’ป Contoh Aliran Data End-to-End (slide 16)

๐ŸŒก๏ธ
1. Sensor DHT22membaca suhu
โžœ
๐Ÿ“ค
2. ESP32mengirim JSON via MQTT
โžœ
๐Ÿ”€
3. Brokermeneruskan ke platform
โžœ
๐Ÿ“
4. Aturansuhu di atas 30 memicu perintah
โžœ
๐ŸŒ€
5. Relaymenyalakan kipas, ponsel dapat notifikasi
{ "ruang": "server", "suhu": 31.2 }

Contoh pesan JSON pada topic lab1/suhu

๐Ÿ’ก Aturan platform: jika suhu > 30, kirim perintah ON ke relay kipas.

Contoh Penerapan Berbagai Sektor (slide 17)

๐Ÿ 
Smart homeLampu, AC, dan kunci pintar
๐ŸŒพ
PertanianIrigasi sesuai kelembapan tanah
๐Ÿฅ
KesehatanWearable dan pemantauan jarak jauh
๐Ÿญ
IndustriPerawatan prediktif mesin
๐Ÿ™๏ธ
Kota pintarLampu jalan dan pemantau banjir
๐Ÿšš
LogistikPelacakan armada dan kargo

Manfaat dan Tantangan (slide 18)

โœ…
Manfaat
  • Efisiensi dan otomatisasi proses
  • Data waktu nyata untuk keputusan
  • Pemantauan jarak jauh
  • Penghematan energi dan biaya
โš ๏ธ
Tantangan
  • Keamanan dan privasi data
  • Interoperabilitas antar vendor
  • Konsumsi daya perangkat
  • Skalabilitas dan biaya

๐Ÿ“ Diskusi dan Kuis Singkat (slide 19)

1Sebutkan empat lapisan arsitektur IoT dan fungsi masing-masing.
2Mengapa gateway dibutuhkan di antara sensor dan cloud?
3Rancang alur data untuk sistem pemantau kelembapan tanah.

โœ… Rangkuman dan Tugas (slide 20)

1
2 IoT menghubungkan benda fisik yang merasakan, berkomunikasi, dan bertindak Ekosistem mencakup perangkat, konektivitas, platform, analitik, aplikasi, dan keamanan
3 Pilih satu perangkat IoT di sekitar Anda, lalu petakan Arsitektur empat lapisan: perception, network, ke empat lapisan arsitektur. processing, application
4 Edge dan cloud saling melengkapi

๐Ÿ’ก Tugas pekan depan

Pertemuan 2

๐ŸŒก๏ธ Sensor dan Aktuator

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 22)

  1. Peran di arsitektur IoT
  2. Sensor: jenis dan karakteristik
  3. Antarmuka dan pembacaan sinyal
  4. Aktuator: jenis, relay, motor, PWM
  5. Studi kasus dan pemilihan komponen

Setelah pertemuan ini, mahasiswa mampu Mengidentifikasi sensor dan aktuator, memilihnya sesuai kebutuhan, dan menghubungkannya ke mikrokontroler.

Peran Sensor dan Aktuator di Sistem IoT (slide 23)

๐Ÿ‘๏ธ
Sensormembaca lingkungan
โžœ
๐Ÿง 
Pengendalimemutuskan
โžœ
โš™๏ธ
Aktuatorbertindak

๐Ÿ” Umpan balik: efek aktuator terbaca lagi oleh sensor, sehingga siklus berulang.

๐Ÿ’ก Sensor dan aktuator adalah antarmuka sistem IoT dengan dunia fisik

Apa itu Sensor? (slide 24)

๐ŸŒก๏ธ
Besaran fisiksuhu 31 ยฐC
โžœ
๐Ÿ”ฌ
Sensor (transduser)DHT22
โžœ
โšก
Sinyal listriktegangan atau data
โžœ
๐Ÿ”ข
ADC atau bus digitalangka 0 sampai 4095
โžœ
๐Ÿง 
MikrokontrolerESP32

๐Ÿ’ก Sensor tidak mengukur angka; ia menghasilkan sinyal yang kemudian ditafsirkan sebagai angka

Sensor Analog dan Digital (slide 25)

ใ€ฐ๏ธ
Sensor analog
  • Output berupa tegangan yang berubah halus.
  • Contoh: LDR, LM35, MQ-2 (keluaran analog), sensor kelembapan tanah
๐Ÿ”ข
Sensor digital
  • Output berupa data atau nilai 0 dan 1.
  • Contoh: DHT22, DS18B20, PIR, BME280, BH1750

๐Ÿ’ก Pilih digital bila ingin kabel sedikit dan data siap pakai; analog bila perlu respons sederhana

Karakteristik Sensor (slide 26)

RentangBatas bawah dan atas besaran yang dapat diukur
AkurasiKedekatan hasil dengan nilai sebenarnya
PresisiKonsistensi hasil pada pengukuran berulang
ResolusiPerubahan terkecil yang dapat dibaca
SensitivitasPerubahan output per perubahan input
Waktu responsKecepatan sensor bereaksi terhadap perubahan

Sensor Suhu dan Kelembapan (slide 27)

SensorBesaranAntarmukaCatatan
LM35SuhuAnalogOutput sekitar 10 mV per ยฐC
DS18B20Suhu1-Wire digitalBanyak sensor di satu kabel, ada versi tahan air
DHT22Suhu dan kelembapanDigital satu kabelMurah, pembacaan lambat (sekitar 2 detik)
BME280Suhu, kelembapan, tekananI2C atau SPILebih lengkap dan stabil

๐Ÿ’ก Untuk lingkungan lembap atau luar ruang, pilih sensor dengan casing pelindung

Sensor Gerak, Cahaya, dan Jarak (slide 28)

PIR HC-SR501Mendeteksi perubahan inframerah dari tubuh. Output digital HIGH saat ada gerakan.
LDR dan BH1750LDR: resistansi turun saat terang (analog). BH1750: lux digital via I2C.
HC-SR04Pin trigger memancarkan gelombang ultrasonik, pin echo menerima pantulan.

๐Ÿ’ก jarak (m) = waktu pantul (s) ร— 343 / 2

Sensor Gas, Tanah, Gerak, dan Arus (slide 29)

SensorMengukurAntarmukaCatatan
MQ-2Gas mudah terbakar, asapAnalog atau digitalPerlu pemanasan awal sebelum stabil
Soil moisture kapasitifKadar air tanahAnalogLebih awet daripada tipe resistif
MPU6050Percepatan dan rotasiI2CUntuk gerak, getaran, dan kemiringan
ACS712Arus listrikAnalogPemantauan beban dan konsumsi daya

๐Ÿ’ก Baca datasheet: tegangan kerja, antarmuka, dan kebutuhan kalibrasi

Antarmuka Sensor ke Mikrokontroler (slide 30)

AntarmukaKabel dataContoh sensor
GPIO digital1PIR, tombol
ADC (analog)1LDR, LM35
1-Wire1DS18B20
I2C2 (SDA, SCL)BME280, BH1750, MPU6050
SPI4 (MOSI, MISO, SCK, CS)Modul kartu SD, sensor cepat
UART2 (TX, RX)Modul GPS

Pada I2C, beberapa sensor berbagi dua kabel selama alamatnya berbeda.

๐Ÿ’ป Membaca Sinyal Analog: ADC (slide 31)

โ˜€๏ธ
Cahaya berubah
โžœ
ใ€ฐ๏ธ
Resistansi LDR berubah
โžœ
โšก
Tegangan ke pin ADC berubah

LDR dan resistor tetap membentuk pembagi tegangan.

Vout = Vin ร— R2 / (R1 + R2)
๐Ÿ”Œ
Arduino Uno (10 bit)
  • 1024 level
๐Ÿ“Ÿ
ESP32 (12 bit)
  • 4096 level

๐Ÿ’ก ADC ESP32 tidak sepenuhnya linear, sehingga kalibrasi dianjurkan.

๐Ÿ’ป Kalibrasi dan Penyaringan Data (slide 32)

๐Ÿ“ฅ
1. Bacanilai mentah
โžœ
๐Ÿ”
2. Bandingkandengan alat referensi
โžœ
๐Ÿงฎ
3. Hitungoffset dan skala
โžœ
๐Ÿ› ๏ธ
4. Terapkankoreksi di program
โžœ
๐Ÿงน
5. Saringdengan rata-rata
nilai = nilaiMentah * skala + offset;
rata  = (r1 + r2 + ... + r10) / 10;

Contoh koreksi linear dan rata-rata 10 sampel

๐Ÿ’ก Hasil: pembacaan lebih akurat dan lebih stabil

Apa itu Aktuator? (slide 33)

๐ŸŽ›๏ธ
Sinyal kendali3,3 V dari GPIO
โžœ
๐Ÿ”Œ
Driver atau relaymenguatkan arus dan tegangan
โžœ
โš™๏ธ
Aktuatormotor, pompa, lampu
โžœ
โœจ
Efek fisikgerak, panas, cahaya, suara

๐Ÿ’ก Aktuator mengubah energi listrik menjadi gerak, panas, cahaya, atau suara

Jenis-Jenis Aktuator (slide 34)

LED dan lampuIndikator status dan penerangan
BuzzerAlarm dan peringatan bunyi
RelaySaklar elektronik untuk beban besar
Motor DCRoda, kipas, dan pompa kecil
ServoPosisi sudut untuk lengan atau kunci
Pompa dan katupMengalirkan air atau cairan

Relay: Mengendalikan Beban Besar (slide 35)

๐Ÿ“Ÿ
ESP32sinyal 3,3 V
โžœ
๐Ÿ”Œ
Modul relaysaklar elektronik
โžœ
๐Ÿ’ก
Bebanpompa atau lampu
โ“
Mengapa tidak langsung dari pin?
  • Pin GPIO hanya mampu arus kecil (puluhan mA)
  • Beban besar butuh sumber daya sendiri
  • Relay memisahkan sisi kontrol dan beban
โš ๏ธ
Keselamatan
  • Listrik 220 V AC berbahaya.
  • Gunakan modul berpelindung dan jangan menyentuh jalur AC saat menyala.
  • Kerjakan dengan pengawasan dosen atau asisten.

Motor DC, Servo, dan Stepper (slide 36)

AspekMotor DCServoStepper
KendaliPWM lewat driver H-bridgePWM untuk sudut (umumnya 0 sampai 180ยฐ)Pulsa langkah lewat driver
Cocok untukRoda, kipasLengan robot, kunciPrinter 3D, CNC
CatatanPerlu driver dan sumber terpisahPosisi tetap, torsi terbatasPresisi tinggi, boros daya

๐Ÿ’ก Motor memerlukan sumber daya terpisah agar mikrokontroler tidak reset

PWM: Mengatur Daya dengan Duty Cycle (slide 37)

Penggunaan

25%

  • Kecerahan LED
  • Kecepatan motor DC
  • Sudut servo

50% โ€ข Frekuensi tetap, lebar pulsa

berubah

75%

25%daya rata-rata kecil50%daya sedang75%daya besar
Sinyal PWM dengan duty cycle 25%, 50%, dan 75%
๐Ÿ–ผ๏ธ Penjelasan Gambar (slide 37)

PWM menjaga frekuensi tetap tetapi mengubah lebar pulsa. Semakin besar duty cycle, semakin lama sinyal berada pada level tinggi sehingga daya rata-rata yang diterima beban makin besar. Dipakai untuk kecerahan LED, kecepatan motor DC, dan sudut servo.

๐Ÿ’ก Poin kunci: Duty cycle = persentase waktu sinyal HIGH dalam satu periode.

๐Ÿ’ผ Studi Kasus: Penyiram Tanaman Otomatis (slide 38)

๐ŸŒฑ
Sensor kelembapan tanah
โžœ
๐Ÿ“Ÿ
ESP32memutuskan
โžœ
๐Ÿ”Œ
Relaymenyalakan
โžœ
๐Ÿ’ง
Pompa airmenyiram
if (kelembapan < 40) pompaON();
else if (kelembapan > 60) pompaOFF();

Contoh aturan dengan batas bawah 40% dan atas 60%

๐Ÿ’ก Histeresis: dua batas berbeda agar pompa tidak berkedip.

Memilih Sensor dan Aktuator (slide 39)

Besaran yang diukurTentukan apa yang perlu dibaca atau digerakkan
Rentang dan akurasiSesuaikan dengan kebutuhan aplikasi
Tegangan kerja3,3 V atau 5 V, cocokkan dengan papan
AntarmukaAnalog, I2C, SPI, atau 1-Wire
Daya dan arusPerlu driver atau sumber terpisah?
Biaya dan ketersediaanPastikan mudah dibeli dan diganti

โœ… Rangkuman dan Tugas 1 (slide 40)

1
2 Sensor mengubah besaran fisik menjadi sinyal listrik Pahami rentang, akurasi, resolusi, dan antarmuka sebelum memilih
3 Pilih satu sistem IoT, lalu daftar tiga sensor dan dua Aktuator bertindak; beban besar butuh relay atau aktuatornya beserta driver spesifikasi utama.
4 PWM mengatur daya dan kalibrasi memperbaiki data

๐Ÿ’ก Tugas 1

Pertemuan 3

๐Ÿงฉ Mikrokontroler Dasar: Arduino dan ESP32

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 42)

  1. Konsep mikrokontroler
  2. Arduino Uno dan ESP32
  3. Toolchain dan struktur sketch
  4. Variabel, kontrol, dan fungsi
  5. I/O, serial, dan millis()

Setelah pertemuan ini, mahasiswa mampu Menjelaskan arsitektur mikrokontroler, membandingkan Arduino dan ESP32, dan menulis sketch dasar.

Apa itu Mikrokontroler? (slide 43)

Komputer mini dalam satu chip. Mikrokontroler (MCU) menggabungkan prosesor, memori, dan antarmuka input/output untuk membaca sensor dan mengendalikan aktuator.

๐Ÿง 
CPUMenjalankan instruksi program
๐Ÿ’พ
MemoriFlash untuk program, SRAM untuk data
๐Ÿ”Œ
Pin I/OTerhubung ke sensor dan aktuator
โฑ๏ธ
TimerWaktu, PWM, dan interupsi

Mikrokontroler vs Mikroprosesor dan SBC (slide 44)

AspekMikrokontrolerMikroprosesor atau SBC
IsiCPU, memori, I/O dalam satu chipCPU terpisah, atau papan lengkap
Sistem operasiTanpa OS atau RTOSLinux atau OS penuh
DayaSangat hematLebih besar
TugasKontrol waktu nyata sederhanaKomputasi berat, kamera, AI
ContohArduino Uno, ESP32Raspberry Pi

Dalam IoT, keduanya sering dipakai bersama: MCU di sensor, SBC sebagai gateway

Arsitektur Internal Mikrokontroler (slide 45)

MikrokontrolerCPUFlash(program)SRAM(data)GPIO dan ADCTimer dan PWMUART, I2C, SPIInputsensorOutputaktuator
Arsitektur internal mikrokontroler

Anatomi Arduino Uno (slide 46)

USB: daya dan upload program

Digital 0 sampai 13
USB
ATmega328P
Jack DC
5V 3.3V GND
Analog A0 sampai A5

๐Ÿ’ก ATmega328P: otak papan

๐Ÿ’ก Reset: mulai ulang program

๐Ÿ’ก 14 pin digital, 6 bisa PWM

๐Ÿ’ก 6 input analog, ADC 10 bit

๐Ÿ’ก Pin daya: 5 V dan 3,3 V

Keluarga Arduino (slide 47)

PapanChipPin digitalFlashCocok untuk
UnoATmega328P1432 KBBelajar dan prototipe
NanoATmega328P1432 KBProyek kecil dan ringkas
Mega 2560ATmega256054256 KBProyek banyak pin

Arduino tanpa WiFi bawaan: untuk IoT perlu modul tambahan atau pakai ESP32

Anatomi ESP32 (slide 48)

Fakta kunci

RTC dan mode โ€ข Dual-core hingga 240 MHz

WiFi 802.11 b/g/n SRAM dan flash

hemat daya โ€ข SRAM 520 KB

  • Logika 3,3 V
  • ADC 12 bit

Bluetooth dan BLE CPU dual-core GPIO, ADC, DAC โ€ข Sensor sentuh bawaan

Enkripsi dan secure I2C, SPI, UART,

Antena

boot PWM

Gambar slide 48
Gambar dari slide 48 materi PDF

Arduino Uno vs ESP32 (slide 49)

AspekArduino UnoESP32
Prosesor8-bit AVR, 16 MHz32-bit dual-core, hingga 240 MHz
Tegangan logika5V3,3 V
KonektivitasTidak ada bawaanWiFi dan Bluetooth
ADC10 bit (0 sampai 1023)12 bit (0 sampai 4095)
SRAM2 KB520 KB
Cocok untukBelajar dasar elektronikaProyek IoT terhubung

Tegangan logika berbeda: jangan beri 5 V langsung ke pin ESP32.

Alur Kerja Arduino IDE (slide 50)

Tulis sketch Verify (compile) Upload via USB Serial Monitor

Menyiapkan ESP32 Jika upload gagal

  • Tambahkan paket board ESP32 di Boards โ€ข Periksa kabel USB data, bukan kabel daya saja Manager โ€ข Pilih port COM yang sesuai
  • Pilih board dan port yang benar
Gambar slide 50
Gambar dari slide 50 materi PDF

๐Ÿ’ป Struktur Dasar Sketch (slide 51)

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(500);
  digitalWrite(LED_BUILTIN, LOW);
  delay(500);
}

Contoh Blink: LED berkedip tiap 0,5 detik

setup()

Dijalankan sekali saat papan menyala atau direset

loop()

Diulang terus selama papan mendapat daya

delay(ms)

Menjeda program dalam milidetik

11

Variabel dan Tipe Data (slide 52)

TipeIsiContoh
intBilangan bulatint jumlah = 5;
floatBilangan desimalfloat suhu = 28.5;
booltrue atau falsebool aktif = true;
charSatu karakterchar huruf = 'A';
StringTeksString nama = "lab1";

๐Ÿ’ก int berukuran 16 bit di Arduino Uno, tetapi 32 bit di ESP32

๐Ÿ’ป Kontrol Alur: if, for, while (slide 53)

if / else

Mengambil keputusan

if (suhu > 30) {
  kipas = true;
} else {
  kipas = false;
}

for

Mengulang jumlah tetap

for (int i=0;i<5;i++) {
  Serial.println(i);
}

while

Mengulang selama kondisi

while (digitalRead(4)) {
  // tunggu
}

13

๐Ÿ’ป Fungsi dan Konstanta (slide 54)

Fungsi Konstanta pin

float bacaSuhu() {
  float t = dht.readTemperature();
  return t;
}
const int PIN_LED = 2;
const int PIN_TOMBOL = 4;
#define BATAS_SUHU 30

๐Ÿ’ก Nama yang jelas memudahkan pemindahan ke papan lain: cukup ubah satu baris konstanta.

14

๐Ÿ’ป Pin Digital: LED dan Tombol (slide 55)

Pin GPIO (OUTPUT)

Resistor 220 ohm

LED

GND

INPUT_PULLUP

Pin bernilai HIGH saat tombol dilepas dan LOW saat ditekan, tanpa resistor eksternal.

pinMode(4, INPUT_PULLUP);
if (digitalRead(4) == LOW) {
  digitalWrite(2, HIGH);
}

15

Pin Analog dan PWM (slide 56)

Membaca analog Menulis PWM

  • Uno: analogRead 0 sampai 1023 โ€ข Uno: analogWrite 0 sampai 255
  • ESP32: analogRead 0 sampai 4095 โ€ข ESP32: fungsi ledc, sintaks bergantung versi

core

int adc = analogRead(34);

int persen = map(adc, 0, 4095, 0, 100);

Contoh ESP32: ubah pembacaan ADC menjadi persen

๐Ÿ’ป Serial Monitor dan Debugging (slide 57)

void setup() {
  Serial.begin(115200);
}
void loop() {
  Serial.println(analogRead(34));
  delay(1000);
}

Mengirim nilai ADC tiap detik

Serial Monitor (115200 baud)

1873
1869
1880
1875

Contoh keluaran

๐Ÿ’ก Gunakan Serial.println() untuk melacak nilai variabel saat debugging

17

๐Ÿ’ป delay() vs millis() (slide 58)

delay(1000)

CPU menunggu, tombol tidak terbaca

millis()

Kuning: tugas berkala dijalankan; hijau: loop terus memeriksa sensor dan tombol

unsigned long t0 = 0;
void loop() {
  if (millis() - t0 >= 1000) {
    t0 = millis();
    // tugas tiap 1 detik
  }
}

Pola non-blocking

Simpan waktu terakhir, bandingkan dengan millis()

18

Jebakan Umum pada ESP32 (slide 59)

Logika 3,3 VJangan beri 5 V langsung ke pin GPIO
ADC2 dan WiFiPin ADC2 tidak dapat dibaca saat WiFi aktif
Pin strappingGPIO 0, 2, 12, 15 memengaruhi proses boot
Ground bersamaHubungkan GND semua modul menjadi satu
Resistor LEDSelalu pasang resistor pembatas arus
Daya tidak cukupReset acak sering tanda catu daya lemah

โœ… Rangkuman dan Praktikum 1 (slide 60)

1
2 Mikrokontroler menggabungkan CPU, memori, dan I/O dalam satu chip Arduino Uno cocok untuk belajar; ESP32 untuk IoT dengan WiFi dan Bluetooth
3 Blink LED, kontrol LED dengan tombol, dan tampilkan Sketch punya setup() sekali dan loop() berulang pembacaan sensor di Serial Monitor. Kumpulkan laporan.
4 Gunakan millis() agar program tidak terblokir delay()

๐Ÿ’ก Praktikum 1

Pertemuan 4

๐Ÿ”Œ Praktikum: Antarmuka Sensor dan Aktuator

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 62)

  1. Persiapan alat dan keselamatan
  2. Membaca sensor DHT22 dan LDR
  3. Mengendalikan LED dan tombol
  4. Mengendalikan modul relay
  5. Integrasi, pengujian, dan laporan

Setelah praktikum ini, mahasiswa mampu Merangkai dan memprogram ESP32 untuk membaca sensor DHT22 dan LDR serta mengendalikan LED dan relay.

Alat dan Bahan (slide 63)

Breadboard dan jumperUntuk merangkai tanpa solder
ESP32 DevKitPapan utama dengan kabel USB data
Sensor DHT22Suhu dan kelembapan, digital
LDR dan resistor 10 kilo ohm
  • Sensor cahaya analog
  • Aktuator sederhana
LED dan resistor 220 ohm
Modul relay 1 kanalDengan beban DC tegangan rendah

Keselamatan dan Aturan Lab (slide 64)

Keselamatan lab
  • Listrik jaringan 220 V AC berbahaya.
  • Praktikum memakai beban DC tegangan
  • rendah. Beban AC hanya dengan izin dan
  • pengawasan dosen atau asisten.
Matikan daya saat merangkai
Periksa polaritas sebelum menyalakan
Pasang resistor pada setiap LED
Laporkan komponen panas atau berbau

Mengenal Breadboard (slide 65)

Aturan sambungan

  • Satu kolom lima lubang saling tersambung
  • Rel merah dan biru untuk daya dan GND
  • Celah tengah memisahkan dua sisi
Gambar slide 65
Gambar dari slide 65 materi PDF

Pemetaan Pin ESP32 (slide 66)

KomponenPin ESP32Mode
LED eksternalGPIO 18OUTPUT
TombolGPIO 27INPUT_PULLUP
Modul relay (IN)GPIO 26OUTPUT
DHT22 (DATA)GPIO 4Digital (library)
LDR (titik tengah)GPIO 34Input analog ADC1

GPIO 34 hanya input; hindari GPIO 0, 2, 12, 15 saat boot

Merangkai Sensor DHT22 (slide 67)

DHT22 ESP32 Catatan

  • Modul 3 pin sudah memuat

VCC 3V3 resistor

  • Sensor 4 pin butuh pull-up

DATA GPIO 4 10 kilo ohm antara DATA

dan VCC

  • Baca paling cepat tiap 2

GND GND

detik

๐Ÿ’ป Kode Membaca DHT22 (slide 68)

#include <DHT.h>
DHT dht(4, DHT22);
void setup() {
  Serial.begin(115200);
  dht.begin();
}
void loop() {
  float t = dht.readTemperature();
  float h = dht.readHumidity();
  if (isnan(t) || isnan(h)) {
    Serial.println("Gagal baca");
  } else {
    Serial.println(t);
  }
  delay(2000);
}

Poin penting

  • isnan() memeriksa pembacaan

gagal

  • delay 2000 ms sesuai batas

sensor

  • Amati hasil di Serial Monitor

115200 baud

8

Merangkai Sensor LDR (slide 69)

Resistor 10 kilo
3,3 V
LDR
ohm
GND
GPIO 34 (ADC1)Dengan susunan ini, cahaya makin terang membuat nilai ADC makin tinggi. Jika dibalik, nilainya

๐Ÿ’ก terbalik.

๐Ÿ’ป Kode LDR dan Penentuan Ambang (slide 70)

const int PIN_LDR = 34;
void setup() {
  Serial.begin(115200);
}
void loop() {
  int nilai = analogRead(PIN_LDR);
  Serial.println(nilai);
  delay(500);
}

Gelap

catat nilai minimum

Terang

catat nilai maksimum

Ambang

titik tengah keduanya

๐Ÿ’ก Catat nilai gelap dan terang di tabel data laporan

10

Merangkai LED (slide 71)

LED (anoda ke

GPIO 18 Resistor 220 ohm GND

katoda)

Cek polaritas Tanpa resistor

  • Kaki panjang: anoda (plus) Arus berlebih dapat merusak LED dan pin
  • Kaki pendek: katoda (minus) GPIO.
Gambar slide 71
Gambar dari slide 71 materi PDF

๐Ÿ’ป Kode LED dengan Tombol (slide 72)

const int PIN_LED = 18;
const int PIN_TOMBOL = 27;
void setup() {
  pinMode(PIN_LED, OUTPUT);
  pinMode(PIN_TOMBOL, INPUT_PULLUP);
}
void loop() {
  bool ditekan = (digitalRead(PIN_TOMBOL) == LOW);
  digitalWrite(PIN_LED, ditekan);
}

Hasil yang diharapkan

  • Tombol ditekan: LED menyala
  • Tombol dilepas: LED mati
  • Tombol lain bisa memantul

(debounce)

12

Mengenal Modul Relay (slide 73)

Fungsi terminal

IN NC โ€ข IN, VCC, GND: sisi kontrol dari

ESP32

  • COM: terminal bersama beban

VCC COM โ€ข NO: tersambung saat relay aktif

Relay โ€ข NC: tersambung saat relay mati

GND NO

Sisi kontrol Sisi beban

Merangkai Relay dan Beban DC (slide 74)

ESP32: GPIO 26, 5 V (VIN), GNDRelay: IN, VCC, GND
Sumber DC bebanRelay: COM dan NOBeban DC kecil

Atas: jalur kontrol. Bawah: jalur daya beban. Gunakan beban DC tegangan rendah.

๐Ÿ’ป Kode Mengendalikan Relay (slide 75)

const int PIN_RELAY = 26;
void setup() {
  pinMode(PIN_RELAY, OUTPUT);
  digitalWrite(PIN_RELAY, HIGH);
}
void loop() {
  digitalWrite(PIN_RELAY, LOW);   // aktif
  delay(2000);
  digitalWrite(PIN_RELAY, HIGH);  // mati
  delay(2000);
}

Aktif-LOW

  • LOW mengaktifkan relay, HIGH

mematikannya

  • Bunyi klik menandakan relay

bekerja

  • Jika terbalik, modul Anda

aktif-HIGH

15

Integrasi: Kipas Otomatis Berdasarkan (slide 76)

DHT22if (t > 30) digitalWrite(PIN_RELAY, LOW); else if (t < 28) digitalWrite(PIN_RELAY, HIGH);
ESP32
Relay
Kipas DC
Histeresis
  • Batas atas dan bawah berbeda
  • agar relay stabil

๐Ÿ’ก Kipas aktif di atas 30, mati di bawah 28

๐Ÿ’ป Integrasi: Lampu Otomatis dengan LDR (slide 77)

LDR

ESP32

LED

const int AMBANG = 1500;
int nilai = analogRead(PIN_LDR);
digitalWrite(PIN_LED, nilai < AMBANG);

Contoh: LED menyala saat nilai di bawah ambang

Ganti ambang

Angka 1500 hanya contoh; pakai hasil pengukuran Anda

17

Pengujian dan Pemecahan Masalah (slide 78)

GejalaKemungkinan penyebabSolusi
LED tidak menyalaPolaritas terbalik atau pin salahBalik kaki LED, cek nomor pin
DHT22 hasil NaNKabel data longgar, jeda terlalu singkatPeriksa kabel, tunggu 2 detik
Relay terbalikModul aktif-LOWBalik logika HIGH dan LOW
ESP32 reset saat relay aktifCatu daya lemahSumber daya terpisah
Nilai ADC acakGND tidak bersama atau pin menggantungSambung semua GND

Rubrik Laporan Praktikum (slide 79)

Rangkaian benar
  • Wiring sesuai skema
  • dan aman
Kode berjalan
  • Program kompilasi dan
  • berfungsi
Data pengujian
  • Tabel nilai sensor dan
  • foto
Analisis
  • Penjelasan hasil dan
  • masalah

โœ… Rangkuman dan Laporan Praktikum 2 (slide 80)

1
2 Rangkai dengan daya mati dan periksa polaritas Sensor digital dan analog dibaca dengan cara berbeda
3 Foto rangkaian, kode program, tabel data sensor, dan analisis Relay mengendalikan beban besar; cek logika aktif- hasil serta kendala. LOW
4 Pengujian dan kalibrasi memastikan sistem andal

๐Ÿ’ก Isi laporan

Pertemuan 5

๐Ÿ“ถ Konektivitas Jarak Pendek: WiFi, BLE, dan Zigbee

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 82)

  1. Posisi dan parameter perbandingan
  2. Pita 2,4 GHz bersama
  3. WiFi dan Bluetooth Low Energy
  4. Zigbee dan mesh
  5. Perbandingan dan pemilihan

Setelah pertemuan ini, mahasiswa mampu Menjelaskan karakteristik WiFi, BLE, dan Zigbee serta memilih yang tepat untuk kebutuhan IoT.

Posisi Konektivitas Jarak Pendek (slide 83)

PAN: BLE, Zigbee (puluhan meter)Fokus hari ini: dua baris teratas
LAN: WiFi (ruangan hingga gedung)
LPWAN: LoRaWAN (hingga beberapa km)

WAN: NB-IoT, LTE-M, 5G (cakupan operator)

Parameter Perbandingan (slide 84)

JangkauanJarak efektif antar node
Laju dataKapasitas bit per detik
Konsumsi dayaUmur baterai perangkat
TopologiStar, mesh, atau tree
LatensiWaktu tunda pengiriman
IntegrasiKemudahan terhubung ke internet

Berbagi Pita 2,4 GHz (slide 85)

WiFi (kanal 1, 6, 11)
Kanal 1
Kanal 6
Kanal 11
Zigbee (16 kanal)
BLE (40 kanal)Pilih kanal yang tidak tumpang tindih untuk mengurangi interferensi

๐Ÿ’ก 2400 MHz

๐Ÿ’ก 2440 MHz

๐Ÿ’ก 2480 MHz

WiFi: Ikhtisar (slide 86)

Karakteristik

  • Standar IEEE 802.11 (ESP32: b/g/n, 2,4 GHz)
  • Topologi star lewat access point
  • Jangkauan puluhan meter dalam ruangan
  • Laju data tinggi, puluhan Mbps
  • Daya relatif besar, dukungan IP bawaan

Topologi star: AP di pusat

Gambar slide 86
Gambar dari slide 86 materi PDF

WiFi: Menghubungkan ESP32 (slide 87)

Pindai SSID Autentikasi WPA2 Dapat IP (DHCP) MQTT atau HTTP

#include <WiFi.h> Perhatikan

WiFi.begin("NamaWiFi", "sandi");

while (WiFi.status() != WL_CONNECTED) โ€ข Jangan simpan sandi di kode

delay(500); publik

Serial.println(WiFi.localIP());

  • Gunakan jaringan 2,4 GHz untuk ESP32
Gambar slide 87
Gambar dari slide 87 materi PDF

Bluetooth Low Energy: Ikhtisar (slide 88)

Karakteristik

  • Bluetooth 4.0 ke atas, pita 2,4 GHz, 40 kanal
  • Laju 1 Mbps (2 Mbps pada Bluetooth 5)
  • Topologi star dan broadcast; mesh opsional
  • Daya sangat rendah, baterai koin awet
  • Ponsel menjadi gateway alami

Central (ponsel) dan peripheral

Gambar slide 88
Gambar dari slide 88 materi PDF

BLE: Advertising dan GATT (slide 89)

Perangkat (GATT server)1
2Peripheral mengiklankan diri (advertising) Central memindai dan menyambung
3Central menemukan service dan characteristic
4Data dibaca atau dikirim lewat notify

๐Ÿ’ก Nilai dan properti: read, write, notify

๐Ÿ’ก Characteristic, mis. pengukuran

๐Ÿ’ก Service, mis. Heart Rate

๐Ÿ’ป BLE: Contoh Kode dan Pemakaian (slide 90)

#include <BLEDevice.h>
void setup() {
  BLEDevice::init("ESP32-Lab");
  BLEDevice::getAdvertising()->start();
}
void loop() {}

Contoh minimal: perangkat terlihat di pemindai BLE

Beacon lokasi: Memancarkan ID untuk penentuan posisi

Wearable: Mengirim data kesehatan ke ponsel

Provisioning: Mengirim sandi WiFi ke perangkat baru

๐Ÿ’ก BLE cocok untuk data kecil dan jarang; bukan untuk streaming data besar

๐Ÿ’ก Kuis kilat: sebutkan dua alasan BLE hemat daya

10

Zigbee: Ikhtisar (slide 91)

Karakteristik

  • IEEE 802.15.4 dengan lapisan Zigbee
  • 2,4 GHz, 16 kanal, 250 kbps
  • Mesh yang dapat memulihkan diri
  • Enkripsi AES-128
  • Cocok untuk node dalam jumlah besar

Topologi mesh antar node

Gambar slide 91
Gambar dari slide 91 materi PDF

Zigbee: Peran Perangkat (slide 92)

Coordinator Membentuk jaringan dan menyimpan kunci

Router Meneruskan paket, biasanya berdaya listrik

End device Sensor berbaterai yang sering tidur

Gambar slide 92
Gambar dari slide 92 materi PDF

Zigbee: Cara Kerja Jaringan (slide 93)

Coordinator
Perangkat bergabung
membentuk jaringan
(join)
Routing mesh
Hub ke internet
Profil Zigbee 3.0Menyatukan perangkat lintas vendor agar dapat bekerja dalam satu jaringan.
Perangkat kerasESP32 klasik tidak punya radio 802.15.4. Pakai dongle Zigbee atau varian ESP32-H2 dan C6.

โš–๏ธ Perbandingan WiFi, BLE, dan Zigbee (slide 94)

AspekWiFiBLEZigbee
StandarIEEE 802.11Bluetooth SIG (BLE)IEEE 802.15.4 + Zigbee
Frekuensi2,4 dan 5 GHz2,4 GHz2,4 GHz (juga sub-GHz)
Laju dataTinggi (puluhan Mbps)1 sampai 2 Mbps250 kbps
JangkauanPuluhan meterPuluhan meterPuluhan meter per hop
TopologiStar (access point)Star, broadcastMesh, tree, star
Konsumsi dayaRelatif besarSangat rendahRendah
IP bawaanYaTidak, perlu gatewayTidak, perlu hub

Penilaian Kualitatif Tiga Teknologi (slide 95)

WiFiBLEZigbee
Laju data
Hemat daya
Jangkauan efektif
Skalabilitas jaringan
Terhubung ke internet langsung

Tidak ada pemenang mutlak: pilih sesuai kebutuhan sistem

Memilih Teknologi yang Tepat (slide 96)

WiFiKamera, streaming, pembaruan firmware
Perlu laju data besar dan akses internet langsung?
Perangkat berbaterai koin dan terhubung ke ponsel?
BLEWearable, beacon, aksesori
Banyak node di rumah atau gedung dengan mesh andal?Sering digabung: sensor BLE atau Zigbee, gateway WiFi ke cloud
ZigbeeLampu, sensor, saklar pintar

๐Ÿ’ผ Studi Kasus Pemilihan Teknologi (slide 97)

Lampu dan sensor smart home
Gelang kesehatan
Kamera pengawas
Pilihan: ZigbeeMesh dan hemat daya
Pilihan: BLETerhubung ke ponsel, baterai kecil
Pilihan: WiFiButuh laju data tinggi
Sensor pintu dan jendela
Pemantau suhu laboratorium
Beacon lokasi di toko
Pilihan: ZigbeeBaterai awet, jaringan mesh
Pilihan: BLEAdvertising berdaya rendah
Pilihan: WiFiLangsung ke cloud, listrik tersedia

Koeksistensi dan Keamanan (slide 98)

Koeksistensi 2,4 GHz Keamanan

  • Kanal WiFi 1, 6, 11 tidak tumpang tindih โ€ข WiFi: WPA2 atau WPA3
  • Pilih kanal Zigbee di celah kanal WiFi โ€ข BLE: pairing dengan LE Secure Connections
  • BLE memakai frequency hopping adaptif โ€ข Zigbee: AES-128 dengan network key

Kunci default yang tidak diganti adalah celah keamanan paling umum

Gambar slide 98
Gambar dari slide 98 materi PDF

Jembatan Baru: Thread dan Matter (slide 99)

Poin penting

Matter (lapisan aplikasi)

  • Matter 1.0 dirilis tahun 2022
  • Thread: mesh IPv6 hemat daya di

Thread (802.15.4 + atas 802.15.4

WiFi Ethernet โ€ข ESP32-C6 dan H2 memiliki radio

IPv6)

802.15.4

Radio dan lapisan MAC

โœ… Rangkuman dan Kuis 2 (slide 100)

1
2 WiFi: laju tinggi, IP bawaan, daya besar BLE: daya sangat rendah, dekat dengan ponsel
3 Bandingkan WiFi, BLE, dan Zigbee, lalu pilih teknologi Zigbee: mesh andal untuk banyak node hemat daya untuk satu kasus beserta alasannya.
4 Pilih teknologi dari kebutuhan, dan padukan dengan gateway

๐Ÿ’ก Kuis 2

Pertemuan 6

๐Ÿ“ก LPWAN: LoRa, LoRaWAN, dan NB-IoT

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 102)

  1. Mengapa LPWAN
  2. LoRa: lapisan fisik dan parameter
  3. LoRaWAN: arsitektur dan keamanan
  4. NB-IoT: jaringan seluler hemat daya
  5. Perbandingan dan pemilihan

Setelah pertemuan ini, mahasiswa mampu Menjelaskan cara kerja LoRa, LoRaWAN, dan NB-IoT serta memilih teknologi LPWAN untuk suatu kasus.

Mengapa LPWAN: Jauh, Hemat, Data Kecil (slide 103)

Jangkauan

Ciri LPWAN

NB-IoT 5G โ€ข Jangkauan kilometer

  • Baterai bertahun-

LTE-M tahun

LoRaWAN

  • Payload kecil
  • Laju data rendah
  • Modul murah

Zigbee WiFi

BLE

Laju data

Gambar slide 103
Gambar dari slide 103 materi PDF

Lanskap Teknologi LPWAN (slide 104)

Spektrum tak berlisensi Spektrum berlisensi

  • LoRa dan LoRaWAN โ€ข NB-IoT dan LTE-M (standar 3GPP)
  • Sigfox (kini di bawah UnaBiz) โ€ข Memakai menara dan jaringan operator
  • Bangun gateway sendiri atau pakai jaringan โ€ข Perlu kartu SIM dan paket data komunitas โ€ข Kualitas layanan lebih terjamin
  • Tanpa langganan operator pada jaringan privat
Gambar slide 104
Gambar dari slide 104 materi PDF

LoRa: Lapisan Fisik Chirp Spread Spectrum (slide 105)

Karakteristik Sinyal chirp: frekuensi naik terhadap waktu

  • Dikembangkan Semtech frekuensi
  • Modulasi chirp spread spectrum
  • Pita sub-GHz tak berlisensi
  • Dapat menerima sinyal di bawah noise floor
  • Hanya lapisan fisik, bukan protokol jaringan

waktu

Parameter Radio LoRa (slide 106)

Spreading factorSF7 sampai SF12: makin tinggi makin jauh dan lambat
BandwidthUmumnya 125, 250, atau 500 kHz
Coding rateKoreksi kesalahan, mis. 4/5 sampai 4/8
Daya kirimMenentukan jangkauan dan konsumsi daya
FrekuensiSesuai pita regional yang berlaku
AirtimeLama pesan mengudara di udara

Spreading Factor: Jangkauan vs Kecepatan (slide 107)

Airtime relatifLaju data relatif
SF7SF8SF9SF10SF11SF12SF7SF8SF9SF10SF11SF12

SF tinggi: jangkauan jauh, tetapi airtime panjang dan laju data rendah

Frekuensi Regional dan Duty Cycle (slide 108)

WilayahPitaCatatan
EU868863 sampai 870 MHzDuty cycle sekitar 1% pada sub-band umum
US915902 sampai 928 MHzFrequency hopping, batas dwell time
AS923Sekitar 920 sampai 923 MHzDipakai di Indonesia; cek regulasi terbaru

๐Ÿ’ก Contoh duty cycle 1%:

๐Ÿ’ก pesan dengan airtime 1 detik mengharuskan jeda minimal 100 detik

๐Ÿ’ก sebelum kirim berikutnya. Aturan berbeda tiap wilayah.

LoRa vs LoRaWAN (slide 109)

Aplikasi dan platform

Perbedaan

  • LoRa: modulasi radio
  • LoRaWAN: aturan akses, kelas perangkat, aktivasi, enkripsi

LoRaWAN: MAC, jaringan, keamanan (LoRa Alliance) โ€ข LoRa dapat dipakai tanpa

LoRaWAN (peer-to-peer)

LoRa: lapisan fisik (Semtech)

Radio sub-GHz

Arsitektur LoRaWAN: Star-of-Stars (slide 110)

End deviceGatewayNetwork dan application server
Network serverApplication server
RF (LoRa)Backhaul IP

Gateway hanya meneruskan paket; kecerdasan ada di network server

End deviceEnd deviceEnd deviceGatewayGatewayRF (LoRa)Backhaul IPNetwork serverApplication server
Arsitektur LoRaWAN star-of-stars
๐Ÿ–ผ๏ธ Penjelasan Gambar (slide 110)

Banyak end device mengirim lewat radio LoRa ke satu atau beberapa gateway. Gateway hanya meneruskan paket melalui jaringan IP (backhaul) ke network server, lalu data diteruskan ke application server.

๐Ÿ’ก Poin kunci: Kecerdasan jaringan ada di network server, bukan di gateway.

Kelas Perangkat LoRaWAN: A, B, C (slide 111)

Kelas AKirim dulu, lalu dua jendela terima singkat. Paling hemat daya.
Kelas BJendela terima terjadwal berdasarkan beacon dari gateway.
Kelas CHampir selalu mendengarkan. Latensi rendah, daya besar.
Kelas A: urutan satu pengiriman
tidurBawaan umum: RX1 sekitar 1 detik dan RX2 sekitar 2 detik setelah TX
TX
tunggu
RX1
tunggu
RX2
tidur lagi

Aktivasi dan Keamanan LoRaWAN (slide 112)

Kunci dan enkripsi

Aspek OTAA ABP

  • DevEUI, JoinEUI, AppKey untuk join

Join request, kunci sesi Kunci sesi ditanam โ€ข NwkSKey: integritas

Proses

dibuat dinamis manual jaringan

  • AppSKey: enkripsi payload end-to-end

Lebih kuat, kunci diperbarui

Keamanan Kunci tetap, lebih rentan โ€ข Algoritma AES-128

tiap join

Uji coba dan kasus

Saran Pilihan utama

khusus

Gambar slide 112
Gambar dari slide 112 materi PDF

Payload Efisien dan Adaptive Data Rate (slide 113)

JSON
13 byte
Biner
2{"suhu":28.5} lawan bilangan 285 sebagai int16
Adaptive Data Rate (ADR)Server mengatur SF dan daya kirim sesuai kualitas link agar hemat daya.
Batas payloadBeberapa puluh sampai sekitar 200 byte, tergantung data rate dan wilayah.

๐Ÿ’ป Mengirim Data dengan Modul LoRa (slide 114)

#include <LoRa.h>
void setup() {
  LoRa.setPins(5, 14, 2);
  LoRa.begin(923E6);
}
void loop() {
  LoRa.beginPacket();
  LoRa.print("suhu=28.5");
  LoRa.endPacket();
  delay(10000);
}

Modul

SX1276 atau SX1278 lewat SPI

Pustaka

LoRa atau RadioLib

Catatan

Ini LoRa murni, bukan LoRaWAN

๐Ÿ’ก Pastikan frekuensi 923E6 sesuai regulasi dan modul Anda

14

NB-IoT: Ikhtisar (slide 115)

Karakteristik Modul NB-IoT dan SIM

  • Standar 3GPP Release 13 (2016)
  • Spektrum berlisensi, lebar kanal 180 kHz
  • Perlu kartu SIM dan paket data Menara seluler (eNodeB)
  • Jangkauan dalam gedung yang baik
  • Hemat daya lewat PSM dan eDRX

Jaringan inti operator

Platform IoT

Gambar slide 115
Gambar dari slide 115 materi PDF

Mode Penerapan NB-IoT (slide 116)

In-bandDi dalam pembawa LTE
Pembawa LTE
NB
Guard-bandDi pita pengaman LTE
Pembawa LTE
NB
StandaloneSpektrum sendiri, mis. bekas GSM
NB

๐Ÿ’ก pita sendiri

Hemat Daya NB-IoT: PSM dan eDRX (slide 117)

Siklus satu perangkat
Aktif
eDRX
PSM: tidur dalam
Aktif
AktifKirim data lalu menerima respons dari jaringan.
eDRXInterval mendengarkan paging diperpanjang untuk hemat daya.
PSMRadio mati total; perangkat bangun saat timer habis atau perlu kirim.

โš–๏ธ Perbandingan LoRaWAN, NB-IoT, dan LTE-M (slide 118)

AspekLoRaWANNB-IoTLTE-M
SpektrumSub-GHz tak berlisensiBerlisensiBerlisensi
InfrastrukturGateway sendiri/komunitasOperator dan SIMOperator dan SIM
Laju data0,25 sampai 5,5 kbpsPuluhan kbpsHingga sekitar 1 Mbps
MobilitasTerbatasTerbatasBaik, ada handover
LatensiDetik, tanpa jaminanDetikLebih rendah
DayaSangat rendahSangat rendahRendah

๐Ÿ’ผ Studi Kasus Pemilihan LPWAN (slide 119)

Sensor tanah di lahan luas
Pelacak kendaraan bergerak
Meter air di basement
Pilihan: LoRaWANJauh dan tanpa langganan
Pilihan: NB-IoTTembus ke dalam gedung
Pilihan: LTE-MMobilitas dan handover baik
Meter listrik skala nasional
Pelacak lansia dengan suara
Pemantau banjir kota
Pilihan: LoRaWANGateway kota, baterai awet
Pilihan: NB-IoTCakupan operator luas
Pilihan: LTE-MMendukung suara dan gerak

โœ… Rangkuman dan Tugas 2 (slide 120)

1
2 LPWAN: jauh, hemat daya, payload kecil LoRa adalah radio; LoRaWAN adalah protokol jaringan
3 Pilih satu kasus IoT di Indonesia, bandingkan LoRaWAN dan NB- NB-IoT memakai jaringan operator, SIM, PSM, dan IoT, lalu beri rekomendasi eDRX beserta alasannya.
4 Pilih dari jangkauan, biaya, mobilitas, dan cakupan

๐Ÿ’ก Tugas 2

Pertemuan 7

๐Ÿ’ฌ Komunikasi IoT: MQTT, HTTP, CoAP, dan QoS

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 122)

  1. Protokol aplikasi IoT
  2. MQTT: arsitektur, topic, QoS
  3. Menyiapkan broker
  4. ESP32 publish dan subscribe
  5. Keamanan, perbandingan, kasus

Setelah pertemuan ini, mahasiswa mampu Menjelaskan MQTT, HTTP, dan CoAP serta mengimplementasikan publish dan subscribe MQTT pada ESP32.

Protokol Aplikasi di Tumpukan IoT (slide 123)

Mengapa penting

Aplikasi: MQTT, HTTP, CoAP

  • Protokol aplikasi menentukan cara pesan dipertukarkan
  • TCP andal tetapi lebih berat; UDP

TCP (MQTT, HTTP) UDP (CoAP)

ringan tanpa jaminan

  • Pilih sesuai daya, jaringan, dan kebutuhan

Jaringan: IPv4 dan IPv6

Tautan: WiFi, BLE, Zigbee, LoRa, seluler

Dua Model Komunikasi (slide 124)

Request/response
  • request
  • response
  • Klien meminta lalu server menjawab; untuk data baru klien harus bertanya lagi (polling).
Publish/subscribe
Klien
Server
Publisher
Broker
Subscriber

๐Ÿ’ก Pengirim dan penerima tidak saling mengenal; broker meneruskan pesan berdasarkan topic.

HTTP untuk IoT (slide 125)

HTTPClient http; Ciri HTTP

http.begin("http://server/api/suhu");

http.addHeader("Content-Type", "application/json"); โ€ข Request/response di atas

int kode = http.POST("{\"suhu\":28.5}");

http.end();

TCP

  • REST dan JSON mudah dipakai
  • Header relatif besar
  • Server tidak bisa

Contoh ESP32 mengirim JSON dengan POST mendorong data

  • Gunakan HTTPS untuk keamanan

Cocok untuk integrasi dengan API web yang sudah ada

CoAP: HTTP Ringan di Atas UDP (slide 126)

Karakteristik Pesan Confirmable (CON)

  • Model RESTful: GET, POST, PUT, DELETE
  • UDP, port 5683 (DTLS di 5684) CON GET /suhu
  • Header hanya 4 byte
  • Pesan CON, NON, ACK, RST Klien Server
  • ACK 2.05 (28.5)

Observe: server memberi tahu perubahan

Jika ACK tidak datang, klien mengirim ulang

MQTT: Ikhtisar dan Arsitektur (slide 127)

Karakteristik

Subscriber 1

  • Message Queuing Telemetry Transport
  • Dibuat 1999, standar OASIS Publisher Broker
  • TCP port 1883 (8883 untuk TLS)
  • Pub/sub lewat broker Subscriber 2
  • Header sangat kecil

Client ID Topic Payload

identitas klien alamat pesan isi data

Publisherpublish ke topicBrokersubscribeSubscriber 1Subscriber 2Pesan membawa Topic (alamat) dan Payload (isi data)
Arsitektur publish/subscribe MQTT
๐Ÿ–ผ๏ธ Penjelasan Gambar (slide 127)

Publisher tidak mengirim langsung ke penerima. Ia mengirim ke broker dengan sebuah topic, lalu broker meneruskannya ke semua subscriber yang berlangganan topic itu. MQTT berjalan di TCP port 1883 (8883 untuk TLS).

๐Ÿ’ก Poin kunci: Pengirim dan penerima tidak saling mengenal, sehingga mudah ditambah atau diganti.

Topic dan Wildcard (slide 128)

+ (satu tingkat)
kampus/+/suhu cocok dengan lab1 dan lab2
# (semua di bawahnya)
kampus/lab1/# cocok dengan suhu dan kelembapan lab1 Wildcard hanya dipakai saat subscribe, bukan publish

๐Ÿ’ก kampus

๐Ÿ’ก lab1

๐Ÿ’ก lab2

๐Ÿ’ก kelembapan

๐Ÿ’ก kelembapan

๐Ÿ’ก suhu

๐Ÿ’ก suhu

QoS 0, 1, dan 2: Urutan Pesan (slide 129)

QoS 0
QoS 1
QoS 2
Pengirim
Penerima
Pengirim
Penerima
Pengirim
Penerima
PUBLISH
PUBLISH
PUBLISH
PUBACK
PUBREC
PUBREL
PUBCOMP
Paling banyak sekali
Minimal sekali
Tepat sekali

Memilih Level QoS (slide 130)

QoSJaminanJumlah pesanContoh penggunaan
0Paling banyak sekali1Telemetri sering, kehilangan sesekali aman
1Minimal sekali, bisa duplikat2Perintah yang aman diulang
2Tepat sekali4Data kritis seperti transaksi

QoS efektif = nilai terkecil antara QoS publisher dan QoS subscriber

Fitur Penting MQTT (slide 131)

Retained messageBroker menyimpan pesan terakhir per topic untuk subscriber baru.
Last Will (LWT)Pesan otomatis dikirim broker saat klien terputus tidak wajar.
Keep aliveInterval ping agar broker tahu klien masih hidup.
Persistent sessionLangganan dan pesan QoS 1 dan 2 disimpan saat klien offline.

๐Ÿ’ป Menyiapkan Broker Mosquitto (slide 132)

sudo apt install mosquitto mosquitto-clients
mosquitto_sub -h localhost -t "lab1/suhu"
mosquitto_pub -h localhost -t "lab1/suhu" -m "28.5"

Terminal 1 subscribe, terminal 2 publish

Broker publik uji

Misalnya test.mosquitto.org dan broker.hivemq.com. Ketersediaan dapat berubah.

๐Ÿ’ก Peringatan: broker publik tidak aman dan terbuka bagi siapa saja. Jangan kirim data sensitif dan gunakan topic yang unik.

12

๐Ÿ’ป ESP32 Publish dengan PubSubClient (slide 133)

#include <WiFi.h>
#include <PubSubClient.h>
WiFiClient wifi;
PubSubClient mqtt(wifi);
void setup() {
  // sambungkan WiFi dulu
  mqtt.setServer("192.168.1.10", 1883);
}
void loop() {
  if (!mqtt.connected()) mqtt.connect("esp32-lab1");
  mqtt.publish("lab1/suhu", "28.5");
  mqtt.loop();
  delay(5000);
}

Poin penting

  • Client ID harus unik
  • mqtt.loop() menjaga koneksi
  • Tambahkan logika reconnect
  • Ganti IP dengan broker Anda

13

๐Ÿ’ป ESP32 Subscribe dan Kontrol LED (slide 134)

void callback(char* topic, byte* data,
              unsigned int n) {
  String pesan;
  for (int i = 0; i < n; i++) pesan += (char)data[i];
  digitalWrite(PIN_LED, pesan == "ON");
}
// di setup():
mqtt.setCallback(callback);
// setelah connect:
mqtt.subscribe("lab1/led");

1 Dasbor publish ON ke lab1/led

2 Broker meneruskan ke ESP32

3 Callback menyalakan LED

14

Pemecahan Masalah MQTT (slide 135)

GejalaPenyebabSolusi
Tidak bisa terhubungIP atau port salah, firewallCek IP, port 1883, uji dengan mosquitto_pub
Putus berulangClient ID kembar, loop() tidak dipanggilPakai client ID unik, panggil loop()
Pesan tidak diterimaTopic berbeda atau belum subscribeSamakan topic, periksa huruf besar kecil
Payload terpotongBuffer PubSubClient terbatas (256 byte)Naikkan dengan setBufferSize
Gagal setelah WiFi putusTidak ada logika reconnectSambungkan ulang WiFi dan MQTT

Keamanan MQTT (slide 136)

TLSAutentikasi
Enkripsi lalu lintas, biasanya port 8883. Username dan sandi atau sertifikat klien.
ACLHindari broker publik
Batasi topic yang boleh dipublish atau dilanggan. Untuk data sensitif, gunakan broker sendiri.

Jangan menyimpan sandi atau token di repositori publik

Dari MQTT ke Dasbor (slide 137)

ESP32
Broker Mosquitto
Node-RED
Dasbor dan DB
Node-REDNode mqtt in menerima data, node dashboard menampilkannya.
Platform IoTThingsBoard atau Home Assistant menerima MQTT langsung.
Riwayat dataInfluxDB dan Grafana menyimpan dan membuat grafik.

โš–๏ธ Perbandingan MQTT, HTTP, dan CoAP (slide 138)

AspekMQTTHTTPCoAP
ModelPublish/subscribeRequest/responseRequest/response, observe
TransportTCPTCPUDP
Beban headerKecilBesarSangat kecil (4 byte)
KeandalanQoS 0, 1, 2Lewat TCPCON dan NON
Dorongan dari serverYa, lewat subscribeTidak, perlu pollingYa, lewat observe
Cocok untukTelemetri banyak perangkatIntegrasi API webPerangkat sangat terbatas

๐Ÿ’ผ Studi Kasus Pemilihan Protokol (slide 139)

Telemetri ratusan sensor ke cloud
Unggah ke REST API sistem lama
Sensor berbaterai sangat terbatas
Pilihan: MQTTPub/sub dan ringan
Pilihan: HTTPKompatibel dengan web
Pilihan: CoAPUDP dan header kecil
Perintah on/off dari dasbor
Unduh firmware berukuran besar
Gateway lokal hemat daya
Pilihan: MQTTSubscribe dan QoS 1
Pilihan: HTTPUnduhan andal lewat HTTPS
Pilihan: CoAPPola REST ringan

โœ… Rangkuman dan Praktikum 3 (slide 140)

1
2 MQTT: pub/sub ringan lewat broker dan topic QoS 0, 1, 2 menukar keandalan dengan jumlah pesan
3 Publish suhu DHT22 ke broker dan kontrol LED lewat HTTP untuk integrasi API; CoAP untuk perangkat subscribe. Uji QoS 0 dan 1, lalu terbatas susun laporan.
4 Amankan broker dengan TLS, autentikasi, dan ACL

๐Ÿ’ก Praktikum 3

Pertemuan 8

๐Ÿ“ Ujian Tengah Semester (UTS)

๐ŸŽฏ Cakupan Materi

Usulan cakupan UTS: Pertemuan 1 sampai 7. Sesuaikan format dan bobot dengan kebijakan dosen pengampu. Slide PDF tidak memuat pertemuan ini.

PertemuanTopikSubtopik yang perlu dikuasai
P1Pengantar IoT, Ekosistem, dan ArsitekturDari Internet of People ke Internet of Things; Definisi IoT; Karakteristik IoT; Cara Kerja IoT; Perjalanan IoT; Ekosistem IoT
P2Sensor dan AktuatorPeran Sensor dan Aktuator di Sistem IoT; Apa itu Sensor?; Sensor Analog dan Digital; Karakteristik Sensor; Sensor Suhu dan Kelembapan; Sensor Gerak, Cahaya, dan Jarak
P3Mikrokontroler Dasar: Arduino dan ESP32Apa itu Mikrokontroler?; Mikrokontroler vs Mikroprosesor dan SBC; Arsitektur Internal Mikrokontroler; Anatomi Arduino Uno; Keluarga Arduino; Anatomi ESP32
P4Praktikum: Antarmuka Sensor dan AktuatorAlat dan Bahan; Keselamatan dan Aturan Lab; Mengenal Breadboard; Pemetaan Pin ESP32; Merangkai Sensor DHT22; Kode Membaca DHT22
P5Konektivitas Jarak Pendek: WiFi, BLE, dan ZigbeePosisi Konektivitas Jarak Pendek; Parameter Perbandingan; Berbagi Pita 2,4 GHz; WiFi: Ikhtisar; WiFi: Menghubungkan ESP32; Bluetooth Low Energy: Ikhtisar
P6LPWAN: LoRa, LoRaWAN, dan NB-IoTMengapa LPWAN: Jauh, Hemat, Data Kecil; Lanskap Teknologi LPWAN; LoRa: Lapisan Fisik Chirp Spread Spectrum; Parameter Radio LoRa; Spreading Factor: Jangkauan vs Kecepatan; Frekuensi Regional dan Duty Cycle
P7Komunikasi IoT: MQTT, HTTP, CoAP, dan QoSProtokol Aplikasi di Tumpukan IoT; Dua Model Komunikasi; HTTP untuk IoT; CoAP: HTTP Ringan di Atas UDP; MQTT: Ikhtisar dan Arsitektur; Topic dan Wildcard

๐Ÿ“š Cara Belajar

  1. Ulangi bagian rangkuman dan kuis di setiap pertemuan.
  2. Gambar ulang arsitektur 4 lapisan, aliran data end-to-end, dan topologi jaringan dari ingatan.
  3. Praktikan ulang rangkaian dan kode di Pertemuan 3 dan 4.
Pertemuan 9

โ˜๏ธ Platform Cloud IoT: Blynk dan ThingsBoard

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 142)

  1. Fungsi dan konsep platform IoT
  2. Blynk: setup, kode, dasbor
  3. ThingsBoard: device, telemetry, RPC
  4. Rule engine dan alarm
  5. Perbandingan dan Praktikum 4

Setelah pertemuan ini, mahasiswa mampu Menghubungkan ESP32 ke Blynk dan ThingsBoard, mengirim data sensor, dan mengendalikan LED dari dasbor.

Mengapa Perlu Platform IoT? (slide 143)

Platform IoT
  • Manajemen perangkat
  • Penerimaan dan penyimpanan data
  • Aturan, otomasi, dan alarm
  • API untuk integrasi
  • Dasbor dan notifikasi
Perangkat
Pengguna

Peta Platform: Kemudahan vs Kontrol (slide 144)

Kontrol dan skala

Kriteria memilih

AWS IoT

  • Waktu belajar dan prototipe
  • Kontrol atas data

ThingsBoard

Azure IoT โ€ข Skala dan biaya

  • Integrasi dan protokol

Blynk

Kemudahan

Gambar slide 144
Gambar dari slide 144 materi PDF

Konsep Umum dan Padanannya (slide 145)

KonsepBlynkThingsBoard
PerangkatDevice dari templateDevice (entity)
KredensialAuth tokenAccess token
Data sensorDatastream (virtual pin)Telemetry
Perintah ke perangkatDatastream tulis, BLYNK_WRITERPC
OtomasiAutomationRule engine
TampilanDasbor dan widgetDasbor dan widget

Alur Menghubungkan Perangkat (slide 146)

Buat template

Buat akun Salin kredensial Program ESP32 Lihat di dasbor

atau device

Masalah umum Keamanan kredensial

  • Token atau Template ID salah Token seperti sandi: jangan unggah ke repositori
  • Sandi WiFi keliru publik atau tampilkan di tangkapan layar.
  • Port 1883 diblokir jaringan
Gambar slide 146
Gambar dari slide 146 materi PDF

Blynk: Ikhtisar (slide 147)

Karakteristik

ESP32

  • Cloud terkelola dengan aplikasi web dan mobile
  • Template, datastream, dan widget drag-and-drop
  • Library khusus untuk ESP32
  • Cepat untuk prototipe

Blynk Cloud

Paket gratis terbatas: cek halaman harga

Aplikasi web dan mobile

Menyiapkan Blynk (slide 148)

1Daftar di blynk.cloud dan gunakan Blynk IoT
2Buat Template: hardware ESP32, koneksi WiFi
3Tambah datastream: V0 suhu (desimal) dan V1 LED (bilangan bulat 0 sampai 1)
4Buat device dari template tersebut
5Salin Template ID, Template Name, dan Auth Token ke kode

๐Ÿ’ป Blynk: Mengirim Data Sensor (slide 149)

#define BLYNK_TEMPLATE_ID "TMPLxxxx"
#define BLYNK_TEMPLATE_NAME "Lab IoT"
#define BLYNK_AUTH_TOKEN "token_anda"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
BlynkTimer timer;
void kirim() {
  Blynk.virtualWrite(V0, dht.readTemperature());
}
void setup() {
  Blynk.begin(BLYNK_AUTH_TOKEN, "SSID", "sandi");
  timer.setInterval(5000L, kirim);
}
void loop() { Blynk.run(); timer.run(); }

Poin penting

  • virtualWrite mengirim ke

datastream V0

  • Kirim tiap 5 detik atau

lebih

  • Ganti token dengan milik

Anda

9

๐Ÿ’ป Blynk: Dasbor dan Kontrol LED (slide 150)

BLYNK_WRITE(V1) {
  int nilai = param.asInt();
  digitalWrite(PIN_LED, nilai);
}

Saklar V1 di dasbor mengendalikan LED

Tambahkan widget Gauge ke V0, Switch ke V1, dan Chart ke V0 pada dasbor.

Dasbor Blynk (contoh)

LED 28.5

suhu

Suhu (V0)

10

ThingsBoard: Ikhtisar (slide 151)

Karakteristik Perangkat (MQTT, HTTP, CoAP)

  • Platform open source: edisi Community dan Professional
  • Protokol standar: MQTT, HTTP, CoAP Transport dan rule engine
  • Telemetry, attributes, RPC, rule engine
  • Dasbor dan widget bawaan
  • Dapat self-host atau memakai Cloud

Penyimpanan data

Dasbor dan API

Gambar slide 151
Gambar dari slide 151 materi PDF

ThingsBoard: Pilihan Instalasi (slide 152)

Live Demodemo.thingsboard.io untuk uji coba; data dapat dihapus berkala.
ThingsBoard CloudLayanan terkelola oleh vendor, berbayar.
Self-hostPasang Community Edition di server sendiri dengan Docker.

๐Ÿ’ก docker run -it -p 8080:9090 -p 1883:1883 -v ~/.mytb-data:/data --name mytb thingsboard/tb-postgres

๐Ÿ’ก Contoh perintah (tulis dalam satu baris); port bergantung versi

ThingsBoard: Membuat Device dan Token (slide 153)

1Masuk ke ThingsBoard (Live Demo, Cloud, atau server lokal)
2Buka Entities, Devices, lalu tambah device baru, mis. esp32-lab1
3Buka Manage credentials dan salin Access Token
4Isi Access Token sebagai username MQTT pada kode ESP32
5Kirim telemetry, lalu periksa tab Latest telemetry

ThingsBoard: Mengirim Telemetry via (slide 154)

MQTT

mqtt.setServer("demo.thingsboard.io", 1883); Parameter koneksi

if (!mqtt.connected()) โ€ข Host: server ThingsBoard

mqtt.connect("esp32-lab1", TOKEN, NULL);

  • Port: 1883

String json = "{\"suhu\":" + String(t) + "}"; โ€ข Username: access token

mqtt.publish("v1/devices/me/telemetry",

json.c_str());

  • Password: kosong

mqtt.loop(); โ€ข Topic:

v1/devices/me/telemetry

Telemetry dan Attributes (slide 155)

TelemetryData deret waktu dari perangkat, mis. suhu dan kelembapan.
Client attributesInformasi yang dilaporkan perangkat, mis. versi firmware.
Server dan shared attributesKonfigurasi dari server ke perangkat, mis. interval kirim.
Pilih telemetry untuk data yang berubah, attributes untuk pengaturan

ThingsBoard: Membuat Dasbor (slide 156)

1Dashboards, lalu Add dashboard
2Add widget
3Pilih jenis widget
4Pilih device dan key suhu
Digital gauge
Time series chart
Control widget (RPC)
LED
28.5suhu

๐Ÿ’ป ThingsBoard: Kontrol LED dengan RPC (slide 157)

mqtt.subscribe("v1/devices/me/rpc/request/+");
// di callback, payload mis.
// {"method":"setLed","params":true}
String s;
for (int i = 0; i < n; i++) s += (char)d[i];
digitalWrite(PIN_LED, s.indexOf("true") >= 0);

1 Widget saklar mengirim RPC

2 ThingsBoard meneruskan ke perangkat

3 Callback menyalakan LED

17

Rule Engine dan Alarm (slide 158)

Message type
Filter: suhu di
Telemetry masuk
switch
atas 30
Buat alarm
Kirim notifikasi
ThingsBoardRule chain berisi node filter, transformasi, dan aksi yang diproses untuk setiap pesan.
BlynkAutomation dan event memicu notifikasi saat nilai datastream melewati batas.

โš–๏ธ Perbandingan Blynk dan ThingsBoard (slide 159)

AspekBlynkThingsBoard
KemudahanSangat cepat, aplikasi mobile siap pakaiPerlu konfigurasi lebih banyak
ProtokolLibrary khusus BlynkMQTT, HTTP, CoAP standar
Kontrol dataData di cloud BlynkDapat self-host, data milik sendiri
DasborWidget drag-and-dropWidget dan dasbor fleksibel
BiayaPaket gratis terbatas, lalu berbayarCommunity gratis; Cloud berbayar
Cocok untukPrototipe dan proyek kelasProyek serius dan multi-perangkat

โœ… Rangkuman dan Praktikum 4 (slide 160)

1
2 Platform IoT mengelola perangkat, data, aturan, dan dasbor Blynk: cepat untuk prototipe dengan template dan datastream
3 Kirim suhu DHT22 ke Blynk dan ThingsBoard, buat dasbor, dan ThingsBoard: fleksibel dengan MQTT, telemetry, RPC, kendalikan LED. Susun laporan dan rule engine perbandingan.
4 Lindungi token dan kredensial perangkat

๐Ÿ’ก Praktikum 4

Pertemuan 10

๐Ÿ“ˆ Menyimpan dan Memvisualisasikan Data Sensor

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 162)

  1. Alur data dan data deret waktu
  2. Opsi dan model penyimpanan
  3. Kualitas data dan analitik dasar
  4. Deteksi anomali sederhana
  5. Dasbor Grafana dan desainnya

Setelah pertemuan ini, mahasiswa mampu Memilih penyimpanan, membangun jalur data ke basis data deret waktu, menganalisis data dasar, dan membuat dasbor.

Alur Data: Dari Sensor ke Dasbor (slide 163)

๐Ÿ“Ÿ
AmbilESP32 dan sensor membaca dan mengirim
โžœ
๐Ÿ”€
SalurkanBroker MQTT meneruskan pesan
โžœ
๐Ÿงน
OlahTelegraf atau Node-RED: parsing dan metadata
โžœ
๐Ÿ—„๏ธ
SimpanInfluxDB: deret waktu dengan timestamp
โžœ
๐Ÿ“Š
TampilkanGrafana: dasbor dan peringatan

๐Ÿ’ก Data mentah baru berguna setelah disimpan, dibersihkan, dan ditampilkan

Karakteristik Data Deret Waktu (slide 164)

Waktu Ruang Suhu Ciri khas

  • Ditulis terus-menerus, jarang diubah

08:00:00 lab1 28.5

  • Dikueri berdasarkan rentang waktu

08:00:05 lab1 28.6 โ€ข Volume cepat membesar

  • Perlu agregasi dan retensi

08:00:10 lab1 28.6

08:00:15 lab1 28.8

Contoh tabel: timestamp, tag (ruang), dan nilai (suhu)

Gambar slide 164
Gambar dari slide 164 materi PDF

Opsi Penyimpanan Data Sensor (slide 165)

OpsiKelebihanKeterbatasanContoh
File CSV di SD cardSederhana, jalan tanpa jaringanSulit dikueri dan ditumbuhkanLogger lapangan
Basis data SQLKueri fleksibel, relasiKurang optimal untuk volume besarPostgreSQL, MySQL
NoSQL dokumenSkema fleksibelAgregasi waktu lebih rumitMongoDB
Basis data deret waktuCepat untuk tulis dan agregasi waktuKueri relasi terbatasInfluxDB, TimescaleDB

๐Ÿ’ป Logging ke SD Card dalam Format CSV (slide 166)

configTime(8 * 3600, 0, "pool.ntp.org");
struct tm t;
getLocalTime(&t);
char waktu[20];
strftime(waktu, 20, "%Y-%m-%d %H:%M:%S", &t);
File f = SD.open("/log.csv", FILE_APPEND);
f.printf("%s,%.1f\n", waktu, suhu);
f.close();

Catatan

  • Sesuaikan zona waktu (WIB

7, WITA 8, WIT 9)

  • Tutup file agar data tidak

hilang

  • Tambahkan baris judul

kolom

6

Menyimpan ke Basis Data SQL (slide 167)

CREATE TABLE sensor ( Praktik baik

waktu TIMESTAMPTZ NOT NULL,

ruang TEXT, โ€ข Indeks pada kolom waktu

suhu REAL

); โ€ข Simpan waktu dalam UTC

  • Pisahkan tabel perangkat

SELECT date_trunc('hour', waktu) AS jam,

AVG(suhu) AS rata

FROM sensor

GROUP BY jam ORDER BY jam;

Contoh PostgreSQL: rata-rata suhu per jam

Model Data InfluxDB (slide 168)

suhu,ruang=lab1 nilai=28.5 1700000000

Measurement
Tag
Field
Timestamp
suhu
  • Kategori data, setara
  • nama tabel
ruang=lab1
  • Metadata terindeks
  • untuk filter
nilai=28.5
  • Nilai terukur, tidak
  • terindeks
1700000000Waktu pengukuran, bisa diisi otomatis

Ingest dengan Telegraf (slide 169)

[[inputs.mqtt_consumer]] Poin penting

servers = ["tcp://localhost:1883"]

topics = ["lab1/#"] โ€ข Input membaca topic MQTT

data_format = "json"

  • Output menulis ke InfluxDB

[[outputs.influxdb_v2]] โ€ข Simpan token di variabel

urls = ["http://localhost:8086"]

lingkungan

token = "$INFLUX_TOKEN"

organization = "kampus"

bucket = "sensor"

๐Ÿ’ป Alternatif Ingest: Node-RED (slide 170)

mqtt in

json

function

influxdb out

debug

msg.payload = { nilai: msg.payload.suhu };
msg.measurement = "suhu";
return msg;

Catatan

Pasang paket node-red-contrib- influxdb untuk node output.

10

Retensi dan Estimasi Kapasitas (slide 171)

Retensi bertingkatData mentah tiap 5 detik: 7 hari
Estimasi kapasitas (contoh)
  • 1 pesan tiap 5 detik
  • 17.280 pesan per hari per sensor
  • 10 sensor: 172.800 pesan per hari
  • Asumsi 50 byte per catatan: sekitar 8,6 MB per hari
Sekitar 260 MB per bulan

๐Ÿ’ก Rata-rata 1 menit: 30 hari

๐Ÿ’ก Rata-rata 1 jam: 1 tahun

Kualitas Data Sensor (slide 172)

WaktuPakai NTP dan simpan dalam UTC
Nilai hilangTandai kosong, jangan diisi sembarang
Drift sensorKalibrasi berkala terhadap referensi
Outlier dan noiseValidasi rentang dan filter
DuplikatGunakan kunci waktu dan perangkat
SatuanTetapkan satuan baku di seluruh sistem

Statistik Dasar untuk Data Sensor (slide 173)

Minimum dan maksimumBatas ekstrem dalam periode
Rata-rataGambaran tren umum
Simpangan bakuSeberapa tersebar nilai
Laju perubahanKenaikan atau penurunan per menit
Rata-rata bergerakMenghaluskan noise jangka pendek
PersentilMis. P95 untuk nilai hampir tertinggi

๐Ÿ’ป Analitik dengan Python dan pandas (slide 174)

import pandas as pd
df = pd.read_csv("suhu.csv", parse_dates=["waktu"])
df = df.set_index("waktu")
per_jam = df["suhu"].resample("1h").mean()
halus = df["suhu"].rolling(5).mean()
print(df["suhu"].describe())

Fungsi kunci

  • resample: agregasi per

interval

  • rolling: rata-rata bergerak
  • describe: ringkasan statistik

14

Deteksi Anomali Sederhana (slide 175)

Metode sederhana

anomali โ€ข Ambang tetap

  • Z-score di luar 3
  • Rata-rata bergerak ditambah atau dikurangi k kali simpangan baku
  • Waspadai alarm palsu

pita normal

Gambar slide 175
Gambar dari slide 175 materi PDF

Membuat Dasbor di Grafana (slide 176)

1Tambahkan data source InfluxDB (URL, organisasi, token, bucket)
2Buat dashboard baru lalu pilih Add visualization
3Tulis query di editor (Flux atau query builder)
4Pilih jenis panel dan atur satuan, misalnya derajat Celsius
5Atur ambang warna, refresh otomatis, lalu simpan dashboard

Query Flux dan Jenis Panel (slide 177)

Time series
Gauge dan stat from(bucket: "sensor") |> range(start: -1h) tren |> filter(fn: (r) => r._measurement == "suhu") |> aggregateWindow(every: 5m, fn: mean) nilai terkini
Bar chart perbandingan
Table rincian Rata-rata suhu per 5 menit selama 1 jam terakhir

Memilih Jenis Grafik (slide 178)

72
Garis
  • Tren dari waktu ke
  • waktu
Gauge dan stat
  • Nilai terkini
  • Membandingkan
  • terhadap ambang
Batangkelompok
HistogramSebaran nilai
HeatmapPola jam dan hari

Prinsip Desain Dasbor (slide 179)

1 Prinsip

Suhu saat ini Kelembapan Status perangkat

  • Mulai dari pertanyaan pengguna
  • 1: KPI, 2: tren, 3: rincian

2 โ€ข

Tren suhu 24 jam Maksimal 6 sampai 8 panel

  • Warna ambang bermakna dan konsisten
  • Sumbu dan satuan jujur

Tabel peringatan Rata-rata per ruang

Gambar slide 179
Gambar dari slide 179 materi PDF

โœ… Rangkuman dan Tugas 3 (slide 180)

1
2 Data sensor adalah deret waktu: timestamp, tag, dan nilai Pilih penyimpanan sesuai skala; basis data deret waktu untuk volume besar
3 Simpan data sensor ke InfluxDB atau CSV, hitung statistik dasar, Kualitas data dan statistik dasar mendahului analitik dan buat dasbor dengan tiga lanjut panel.
4 Dasbor yang baik menjawab satu pertanyaan utama

๐Ÿ’ก Tugas 3

Pertemuan 11

โšก Edge dan Fog Computing

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 182)

  1. Mengapa tidak semua ke cloud
  2. Edge, fog, dan cloud
  3. Pola pemrosesan di edge
  4. Perangkat keras dan TinyML
  5. Kerangka keputusan dan kasus

Setelah pertemuan ini, mahasiswa mampu Menjelaskan edge, fog, dan cloud serta menentukan lokasi pemrosesan data berdasarkan latensi, bandwidth, keandalan, dan privasi.

Masalah Jika Semua Data ke Cloud (slide 183)

Latensi
Bandwidth Perjalanan pulang-pergi ke cloud terlalu lambat untuk kontrol cepat Video dan data frekuensi tinggi mahal dan memenuhi jaringan
Keandalan Koneksi putus berarti sistem berhenti
Privasi Semua data mengalir ke satu tempat Data sensitif sebaiknya tidak keluar dari lokasi

Tiga Lapis: Edge, Fog, Cloud (slide 184)

Edge: perangkat
Fog: gateway lokal
Cloud
Dekat sumber dataRespons paling cepat, kapasitas paling kecil
Di antara perangkat dan cloudAgregasi lokal, buffer, dan keputusan area
Pusat jauhKapasitas besar, analitik lintas lokasi, pelatihan model
Edgeperangkatdekat sumber dataFoggateway lokalagregasi, bufferCloudpusat jauhanalitik, latih modelโ† respons paling cepat kapasitas paling besar โ†’
Tiga lapis pemrosesan: edge, fog, cloud
๐Ÿ–ผ๏ธ Penjelasan Gambar (slide 184)

Edge memproses di perangkat sehingga respons paling cepat tetapi kapasitas kecil. Fog di gateway lokal melakukan agregasi, buffer, dan keputusan area. Cloud di pusat berkapasitas besar untuk analitik lintas lokasi dan pelatihan model.

๐Ÿ’ก Poin kunci: Makin dekat ke sumber data, makin cepat responsnya; makin jauh, makin besar kapasitasnya.

Edge, Fog, dan Cloud: Perbedaan (slide 185)

LapisLokasi pemrosesanLatensiKapasitasContoh
EdgeDi perangkat atau sangat dekatSangat rendahTerbatasESP32, kamera pintar
FogGateway atau server lokalRendahMenengahRaspberry Pi, mini-PC
CloudPusat data jauhLebih tinggiSangat besarAWS, Azure, server pusat

MEC (multi-access edge computing) menaruh komputasi di dalam jaringan operator seluler

Latensi: Seberapa Dekat Pemrosesan? (slide 186)

Di perangkatsangat kecil
Gateway lokalbeberapa milidetik
Cloud regionalpuluhan milidetik
Cloud jauhratusan milidetik

Kontrol waktu nyata menuntut respons cepat dan konsisten, bukan sekadar rata-rata rendah

Menghemat Bandwidth di Edge (slide 187)

Kirim video terus-menerus (4 Mbps)

sekitar 43 GB per hari

Kirim hanya event hasil deteksi (100 event, 50 KB per snapshot)

sekitar 5 MB per hari

Hitungan: 4 Mbps = 0,5 MB per detik; dikali 86.400 detik sekitar 43 GB. Model deteksi berjalan di edge, hanya hasilnya yang dikirim.

Pola Pemrosesan di Edge (slide 188)

FilterBuang data tidak relevan sebelum dikirim
AgregasiKirim rata-rata, bukan setiap sampel
Aturan lokalAmbil keputusan tanpa menunggu cloud
Terjemah protokolUbah Modbus atau BLE menjadi MQTT
BufferSimpan lokal saat internet putus lalu kirim
Inferensi MLJalankan model di dekat sensor

Report by Exception: Kirim Saat Berubah (slide 189)

Manfaat

  • Data jauh lebih sedikit
  • Hemat daya radio
  • Tetap kirim berkala (heartbeat) agar status terlihat

Batas perubahan: 0,15 dari nilai terakhir yang dikirim

Gambar slide 189
Gambar dari slide 189 materi PDF

๐Ÿ’ป Filter di Gateway dengan Python (slide 190)

import paho.mqtt.client as mqtt
akhir = None
def on_message(c, u, m):
    global akhir
    x = float(m.payload)
    if akhir is None or abs(x - akhir) >= 0.5:
        cloud.publish("lab1/suhu", x)
        akhir = x

Teruskan ke cloud hanya jika berubah 0,5 atau lebih

Poin penting

  • Gateway berlangganan

broker lokal

  • Keputusan diambil lokal
  • cloud adalah klien ke

broker pusat

10

Gateway Store-and-Forward (slide 191)

Broker lokal di
Sensor ESP32
gateway
Bridge MQTT
Broker cloud
Saat internet normalPesan mengalir langsung dari broker lokal ke cloud melalui bridge.
Saat internet putusPesan menumpuk di antrean lokal dan dikirim ulang setelah koneksi pulih.

๐Ÿ’ป Konfigurasi Bridge Mosquitto (slide 192)

connection cloud
address broker.contoh.com:8883
topic lab1/# out 1
bridge_cafile /etc/mosquitto/ca.crt
remote_username gateway1
cleansession false

Contoh; host dan kredensial hanya placeholder

topiclab1/#out1

kirim dari lokal ke cloud dengan QoS 1

bridge_cafile

sertifikat CA untuk TLS

cleansessionfalse

antrean pesan disimpan saat putus

12

Perangkat Keras Edge (slide 193)

KelasContohKemampuanDaya
MikrokontrolerESP32Filter, aturan, TinyML kecilSangat rendah
Komputer papan tunggalRaspberry PiLinux, broker lokal, Node-REDRendah sampai menengah
Akselerator AIJetson, Coral Edge TPUInferensi video dan model beratMenengah
Gateway industriMini-PC, gateway DIN-railBeban besar, tahan lingkunganMenengah sampai tinggi

Platform dan Perangkat Lunak Edge (slide 194)

AWS IoT GreengrassMenjalankan fungsi dan model di perangkat edge, terhubung ke AWS.
Azure IoT EdgeModul kontainer di edge yang dikelola dari Azure IoT Hub.
EdgeX FoundryKerangka edge open source yang netral terhadap vendor.
Node-RED dan DockerAlur visual lokal; cepat untuk prototipe di gateway.
K3sKubernetes ringan untuk mengelola banyak node edge.

TinyML: Inferensi di Mikrokontroler (slide 195)

Kumpulkan data
Latih model di PC
Konversi ke
Unggah ke
sensor
atau cloud
TensorFlow Lite
mikrokontroler
Inferensi lokal
Ukuran modelPuluhan hingga ratusan KB agar muat di memori.
Contoh pemakaianDeteksi anomali getaran, kata kunci suara, dan gestur.
KeterbatasanMemori dan daya terbatas; akurasi perlu diuji.

Latih di Cloud, Jalankan di Edge (slide 196)

Cloud: kumpulkan data terpilih, latih ulang, dan kelola model
Edge 1
Edge 2
Edge 3: inferensi lokal

๐Ÿ’ก model (OTA)

๐Ÿ’ก hasil dan

๐Ÿ’ก model (OTA)

๐Ÿ’ก hasil dan

๐Ÿ’ก model (OTA)

๐Ÿ’ก hasil dan

๐Ÿ’ก data terpilih

๐Ÿ’ก data terpilih

๐Ÿ’ก data terpilih

Keamanan dan Pengelolaan Node Edge (slide 197)

Sertifikat per perangkatIdentitas unik, bukan kunci bersama
Komunikasi terenkripsiTLS untuk semua tautan ke cloud
Secure bootHanya firmware bertanda tangan yang berjalan
Pembaruan OTATerjadwal dan dapat dibatalkan jika gagal
PemantauanKesehatan dan log node dilaporkan berkala
Keamanan fisikNode di lapangan mudah dicuri atau dibuka

Kerangka Keputusan: Di Mana Memproses? (slide 198)

Koneksi internet sering putus?
Data sensitif tidak boleh keluar lokasi? Kontrol cepat dan keselamatan Buffer dan keputusan lokal Kapasitas dan data terpusat Proses dan simpan lokal

๐Ÿ’ก Respons harus di bawah puluhan milidetik?

๐Ÿ’ก Perlu analisis lintas lokasi atau melatih model?

๐Ÿ’ก Edge

๐Ÿ’ก Fog

๐Ÿ’ก Cloud

๐Ÿ’ก Edge atau fog

๐Ÿ’ผ Studi Kasus Pemilihan Lokasi Pemrosesan (slide 199)

Kamera pengawas mendeteksi orang
Rem darurat mesin pabrik
Analisis tren produksi semua cabang
Pilihan: EdgeHanya kirim event, bukan video
Pilihan: EdgeLatensi harus sangat rendah
Pilihan: CloudData lintas lokasi dan kapasitas besar
Pemantau pasien di rumah
Kebun dengan internet tidak stabil
Melatih model prediksi kerusakan
Pilihan: HibridaPrivasi lokal, ringkasan ke cloud
Pilihan: FogBuffer dan aturan siram lokal
Pilihan: CloudButuh komputasi besar

โœ… Rangkuman dan Kuis 3 (slide 200)

1
2 Edge memproses dekat sumber; fog di gateway lokal; cloud di pusat Edge menjawab latensi, bandwidth, keandalan, dan privasi
3 Jelaskan edge, fog, dan cloud, lalu tentukan lokasi pemrosesan Filter, agregasi, dan buffer adalah langkah awal yang untuk satu kasus beserta murah alasannya.
4 Pola umum: latih di cloud, jalankan di edge

๐Ÿ’ก Kuis 3

Pertemuan 12

๐Ÿค– IoT dan AI: Dari Data Sensor ke Keputusan

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 202)

  1. Konsep AI, ML, dan jenis pembelajaran
  2. Alur proyek ML untuk data sensor
  3. Evaluasi model dan deteksi anomali
  4. Prediksi dan perawatan prediktif
  5. TinyML dan etika AI

Setelah pertemuan ini, mahasiswa mampu Menjelaskan konsep dan alur ML pada data sensor, menerapkan deteksi anomali, dan memahami dasar TinyML.

Dari Data ke Keputusan (slide 203)

Keputusan Jadwalkan perawatan sebelum gagal Pengetahuan Pola mirip kipas yang mulai rusak Informasi Suhu naik 3 derajat per jam Data 28,5 derajat tiap 5 detik

Data28,5 ยฐC tiap 5 detikInformasisuhu naik 3 ยฐC per jamPengetahuanpola mirip kipas mulai rusakKeputusanjadwalkan perawatan
Dari data ke keputusan
๐Ÿ–ผ๏ธ Penjelasan Gambar (slide 203)

Data mentah (28,5 ยฐC tiap 5 detik) diolah menjadi informasi (suhu naik 3 ยฐC per jam), lalu menjadi pengetahuan (pola mirip kipas yang mulai rusak), dan akhirnya keputusan (jadwalkan perawatan sebelum gagal).

๐Ÿ’ก Poin kunci: Nilai AI pada IoT ada pada ujung rantai: keputusan yang dapat ditindaklanjuti.

AI, Machine Learning, dan Deep Learning (slide 204)

AISistem yang meniru kemampuan kognitif, termasuk aturan manual
AI
Machine Learning
Machine LearningBelajar pola dari data, bukan aturan yang ditulis tangan
Deep
Learning
Deep LearningJaringan saraf berlapis, kuat untuk citra, suara, dan sinyal

Tiga Jenis Pembelajaran Mesin (slide 205)

Supervised
  • Belajar dari data berlabel.
  • Klasifikasi kondisi
Unsupervised
  • Mencari pola tanpa label.
  • Deteksi anomali
Reinforcement
  • Belajar dari hadiah dan hukuman.
  • Kontrol AC atau
Contoh IoT:mesin: normal, aus, rusak
Contoh IoT:dan pengelompokan pola pemakaian
Contoh IoT:irigasi yang beradaptasi

Tugas Umum AI pada Data IoT (slide 206)

KlasifikasiMengenali aktivitas dari akselerometer
RegresiMemprediksi konsumsi energi
Deteksi anomaliMenandai getaran mesin yang tidak wajar
PengelompokanMenemukan pola pemakaian serupa
PeramalanMemperkirakan kebutuhan air besok
Visi komputerMenghitung orang atau mendeteksi cacat

Alur Proyek Machine Learning (slide 207)

Bersihkan dan
Deploy dan
Kumpulkan data
beri label
Ekstrak fitur
Latih dan evaluasi
pantau
DataSensor, label, dan konteks pengukuran
ModelPilih algoritma, atur, dan uji
OperasiPasang, pantau drift, latih ulang

Jendela dan Fitur dari Sinyal Sensor (slide 208)

Sinyal akselerometer dipotong menjadi jendela waktu Fitur umum

  • Rata-rata dan simpangan baku
  • Minimum, maksimum, RMS
  • Energi sinyal
  • Puncak frekuensi (FFT)

Jendela 1 Jendela 2 Jendela 3

Gambar slide 208
Gambar dari slide 208 materi PDF

Membagi Data dan Bahaya Overfitting (slide 209)

Pembagian data tipikal Error vs kompleksitas model

Overfitting: error latih turun, error validasi naik

Latih 70% 15% 15%

Latih, validasi, uji validasi

  • Latih: mempelajari parameter
  • Validasi: menyetel pengaturan
  • Uji: ukuran akhir, jangan dipakai menyetel

latih

kompleksitas model

Gambar slide 209
Gambar dari slide 209 materi PDF

Metrik Evaluasi: Akurasi Bisa Menipu (slide 210)

Prediksi: anomali
Prediksi: normal
Contoh yang menyesatkan
  • 1000 pembacaan, hanya 10 yang anomali.
  • Model yang selalu menjawab normal
  • mendapat akurasi 99%, tetapi recall 0%:
  • tidak satu pun kerusakan terdeteksi.
Aktual: anomali
TPanomali terdeteksi
FNanomali terlewat
Aktual: normal
FPalarm palsu
TNnormal benar
Precision = TP / (TP + FP) TP / (TP + FN)
Recall =

Memilih Algoritma untuk Data IoT (slide 211)

AlgoritmaCocok untukCatatan
Regresi linear atau logistikPrediksi dan klasifikasi dasarMudah ditafsirkan
Decision tree, random forestData tabular dari fitur sensorRingan dan tahan outlier
k-meansPengelompokan tanpa labelJumlah klaster ditentukan manual
AutoencoderDeteksi anomaliButuh data normal yang bersih
CNNCitra dan sinyalLebih berat, dapat dikuantisasi
LSTMDeret waktu panjangBerat untuk mikrokontroler

Deteksi Anomali dengan Autoencoder (slide 212)

InputEncoderLatentDecoderOutput

Dilatih dengan data normal; error rekonstruksi besar menandakan anomali

๐Ÿ’ป Contoh Kode: Isolation Forest (slide 213)

from sklearn.ensemble import IsolationForest Poin penting

import pandas as pd

  • contamination: perkiraan

df = pd.read_csv("mesin.csv")

fitur = df[["suhu", "getaran"]]

proporsi anomali

  • Latih pada data yang

model = IsolationForest(contamination=0.01) sebagian besar normal

model.fit(fitur)

  • Evaluasi dengan precision

df["anomali"] = model.predict(fitur)

dan recall

Perawatan Prediktif (slide 214)

Indeks kesehatan: biru aktual, oranye prediksi

Manfaat

  • Kurangi waktu henti mendadak

ambang gagal โ€ข Perawatan sesuai kondisi,

bukan jadwal tetap

  • Data getaran, suhu, dan arus

prediksi gagal

Gambar slide 214
Gambar dari slide 214 materi PDF

TinyML: Mengapa dan Batasannya (slide 215)

Latensi rendahKeputusan tanpa perjalanan ke cloud
Privasi terjagaSuara dan gambar tidak perlu keluar
Hemat dayaCocok untuk perangkat berbaterai
Bekerja offlineTidak bergantung pada koneksi
Memori terbatasModel harus muat dalam puluhan hingga ratusan KB
Komputasi terbatasTanpa GPU; model harus sangat ringan

Alur TinyML dan Kuantisasi (slide 216)

Kumpulkan data
Latih model
Kuantisasi int8
Ubah ke larik C
Jalankan di MCU
Ukuran model (contoh)
  • float32
  • int8
sekitar 400 KB
KuantisasiBobot 32 bit diubah ke 8 bit: ukuran sekitar 4 kali lebih kecil, akurasi dapat turun sedikit.
100 KB

Contoh Proyek TinyML: Klasifikasi Getaran (slide 217)

1Rekam data akselerometer untuk kondisi normal dan tidak normal
2Buat impulse: jendela waktu, fitur spektral, dan classifier
3Latih dan evaluasi model di Edge Impulse atau TensorFlow
4Ekspor sebagai pustaka Arduino atau larik C
5Jalankan inferensi di ESP32 dan tampilkan hasil di Serial Monitor

๐Ÿ’ป Kerangka Inferensi TensorFlow Lite Micro (slide 218)

#include "model.h"   // model dalam larik C
tflite::MicroInterpreter interpreter(
    model, resolver, arena, kArenaSize);
interpreter.AllocateTensors();
input->data.f[0] = suhu;
interpreter.Invoke();
float skor = output->data.f[0];

Poin penting

  • Model disimpan di flash
  • Arena tensor memakai

SRAM

  • Invoke menjalankan satu

inferensi

18

Risiko dan Etika AI pada IoT (slide 219)

Bias dataData latih tidak mewakili kondisi nyata
Concept driftKondisi berubah, akurasi menurun
PrivasiProses data pribadi di lokal bila mungkin
Keamanan modelSerangan adversarial dan pencurian model
KeterjelasanKeputusan harus dapat dijelaskan ke operator
KeselamatanKeputusan kritis perlu pengaman manual

โœ… Rangkuman dan Tugas 4 (slide 220)

1
2 AI mengubah data sensor menjadi informasi dan keputusan Alur ML: data, fitur, latih, evaluasi, lalu pantau
3 Pilih satu dataset sensor, latih model deteksi anomali Evaluasi anomali dengan precision dan recall, bukan sederhana, evaluasi dengan akurasi saja precision dan recall, lalu jelaskan penerapannya di IoT.
4 TinyML menjalankan model kecil di mikrokontroler

๐Ÿ’ก Tugas 4

Pertemuan 13

๐Ÿ”’ Keamanan dan Privasi IoT

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 222)

  1. Ancaman dan insiden IoT
  2. Kontrol teknis: sandi, TLS, boot aman
  3. Segmentasi dan keamanan fisik
  4. Privasi dan regulasi
  5. Model ancaman dan studi kasus

Setelah pertemuan ini, mahasiswa mampu Mengidentifikasi ancaman IoT, menerapkan kontrol keamanan dan privasi, serta menimbang aspek etika dan regulasi.

Mengapa Perangkat IoT Rentan? (slide 223)

Sumber daya terbatasEnkripsi berat sulit dijalankan di MCU kecil
Jumlah masifSatu celah dapat dieksploitasi di ribuan perangkat
Kredensial bawaanSandi default sering tidak diganti
Jarang diperbaruiTidak ada mekanisme tambalan yang mudah
Fisik di lapanganMudah dijangkau dan dibongkar
Umur panjangDipakai bertahun-tahun, dukungan vendor berhenti

Insiden IoT yang Pernah Terjadi (slide 224)

2015
2016
2017
2021
Pola yang berulang: kredensial lemah dan jaringan tanpa pemisahan

๐Ÿ’ก Jeep Cherokee diambil

๐Ÿ’ก Botnet Mirai memakai

๐Ÿ’ก Termometer akuarium

๐Ÿ’ก Platform kamera

๐Ÿ’ก alih dari jarak jauh

๐Ÿ’ก kredensial bawaan

๐Ÿ’ก kasino dilaporkan

๐Ÿ’ก Verkada ditembus lewat

๐Ÿ’ก melalui sistem

๐Ÿ’ก perangkat untuk

๐Ÿ’ก menjadi pintu masuk ke

๐Ÿ’ก kredensial admin yang

๐Ÿ’ก infotainment,

๐Ÿ’ก serangan DDoS skala

๐Ÿ’ก jaringan internal.

๐Ÿ’ก terekspos.

๐Ÿ’ก didemonstrasikan

๐Ÿ’ก besar.

๐Ÿ’ก peneliti keamanan.

Permukaan Serangan per Lapisan (slide 225)

ApplicationPhishing, akses lemah, API tidak diamankan
ProcessingKebocoran basis data, kredensial cloud, injeksi
NetworkPenyadapan, man-in-the-middle, replay, jamming
PerceptionPencurian fisik, pembacaan firmware, sensor dimanipulasi

Segitiga CIA pada IoT (slide 226)

Kerahasiaan Data kesehatan atau kamera tidak boleh dibaca pihak lain.

Integritas Keamanan Data sensor dan perintah tidak boleh diubah di tengah jalan.

Ketersediaan Sistem tetap berjalan saat diserang atau terjadi gangguan.

Gambar slide 226
Gambar dari slide 226 materi PDF

OWASP IoT Top 10 (Edisi 2018) (slide 227)

1Sandi lemah, mudah ditebak, atau tertanam6Perlindungan privasi tidak memadai
2Layanan jaringan tidak aman7Transfer dan penyimpanan data tidak aman
3Antarmuka ekosistem tidak aman8Tidak ada manajemen perangkat
4Tidak ada mekanisme pembaruan aman9Pengaturan bawaan tidak aman
5Komponen usang atau tidak aman10Tidak ada pengerasan fisik

๐Ÿ’ป Kredensial: Jangan Tertanam di Firmware (slide 228)

Hindari Lebih baik

const char* sandi = "admin123";
const char* token = "abc123xyz";
Preferences pref;
pref.begin("cfg", true);
String s = pref.getString("pass", "");
pref.end();

๐Ÿ’ก Tambahan: isi kredensial saat provisioning, beri sandi unik per perangkat, dan aktifkan enkripsi NVS atau flash encryption agar rahasia tidak terbaca dari flash.

8

Mengamankan Komunikasi dengan TLS (slide 229)

#include <WiFiClientSecure.h> Poin penting

WiFiClientSecure klien; โ€ข setCACert memeriksa

klien.setCACert(ca_cert);

identitas server

PubSubClient mqtt(klien); โ€ข Hindari setInsecure() di

mqtt.setServer("broker.contoh.com", 8883); produksi

  • Port 8883 untuk MQTT dengan TLS

Alur Singkat Jabat Tangan TLS (slide 230)

Klien (ESP32)Server (broker)
ClientHello: versi TLS dan cipher suite
ServerHello dan sertifikat server
Klien memverifikasi sertifikat dengan CA tepercaya
Pertukaran kunci menghasilkan kunci sesi

Data aplikasi terenkripsi dua arah

Autentikasi dan Otorisasi Perangkat (slide 231)

MetodeKelebihanRisiko
Token atau API keyMudah dipasangBocor berarti akses penuh
Username dan sandiUmum dan familiarMudah ditebak atau dipakai ulang
Pre-shared key (PSK)Hemat untuk MCU kecilKunci dibagi ke banyak perangkat
Sertifikat X.509Kuat, unik per perangkatManajemen dan pembaruan lebih rumit

Otorisasi: beri hak akses minimum, mis. ACL per topic MQTT

Boot Aman dan Pembaruan OTA (slide 232)

Secure boot
ROM bootloader
Periksa tanda tangan
Verifikasi firmware
Aplikasi berjalan
OTA aman
Unduh lewat
Verifikasi tanda
Tulis ke partisi
Boot dan uji
Rollback bila gagal
HTTPS
tangan
cadangan

Keamanan Fisik Perangkat (slide 233)

Matikan debugNonaktifkan JTAG dan UART debug pada produksi.
Enkripsi flashFirmware dan rahasia tidak terbaca walau chip dibongkar.
Deteksi pembukaanSensor tamper memberi tahu bila casing dibuka.
Rahasia unikSatu kunci untuk semua perangkat berbahaya.

Segmentasi Jaringan IoT (slide 234)

VLAN IoT: akses dibatasi
Firewall
Internet
VLAN kantor: komputer dan data internal

๐Ÿ’ก lalu lintas antar-zona dibatasi aturan firewall

Data Pribadi yang Dikumpulkan IoT (slide 235)

Kamera dan mikrofonWajah, suara, dan percakapan
LokasiPola pergerakan dan rutinitas
KesehatanDetak jantung dan pola tidur
Meter listrik pintarDapat menunjukkan kapan rumah kosong
Perangkat rumahKebiasaan penghuni sehari-hari
KendaraanRute dan perilaku mengemudi

Prinsip Perlindungan Privasi (slide 236)

Minimisasi dataKumpulkan hanya data yang benar-benar dibutuhkan.
Pembatasan tujuanPakai data hanya untuk tujuan yang dinyatakan.
Persetujuan dan transparansiPengguna tahu apa yang dikumpulkan dan mengapa.
Batas retensiHapus data yang tidak lagi diperlukan.
Anonimisasi dan pseudonimisasiHilangkan atau samarkan identitas dalam data.
Privacy by designPertimbangkan privasi sejak tahap perancangan.

Regulasi dan Standar Terkait (slide 237)

Regulasi atau standarLingkupCatatan
UU No. 27 Tahun 2022 (UU PDP)Pelindungan data pribadi di IndonesiaCek peraturan pelaksana terbaru
GDPRData pribadi warga Uni EropaBerlaku lintas negara
ETSI EN 303 645Keamanan IoT konsumenAntara lain: tanpa sandi default
NIST IR 8259Aktivitas keamanan bagi produsen IoTPanduan pengembangan perangkat
IEC 62443Keamanan sistem kontrol industriRelevan untuk IIoT

Model Ancaman STRIDE (slide 238)

AncamanContoh pada IoTKontrol
SpoofingPerangkat palsu mengirim dataAutentikasi dengan sertifikat
TamperingFirmware atau data diubahTanda tangan dan integritas
RepudiationPengguna menyangkal perintahLog yang tidak dapat diubah
Information disclosureData tersadap atau bocorTLS dan enkripsi data diam
Denial of serviceBroker dibanjiri pesanRate limit dan redundansi
Elevation of privilegePerangkat membaca topic lainOtorisasi minimal (ACL)

๐Ÿ’ผ Studi Kasus: Kamera IP Kantor Bermasalah (slide 239)

Sandi bawaan admin tidak pernah digantiWajibkan sandi unik dan kuat
Port kamera terbuka langsung ke internet

๐Ÿ’ก Firmware tidak diperbarui selama tiga tahun

๐Ÿ’ก Video dikirim tanpa enkripsi dalam satu jaringan datar

๐Ÿ’ก Tutup port; akses lewat VPN

๐Ÿ’ก Jadwalkan pembaruan dan pantau rilis

๐Ÿ’ก Gunakan TLS dan pisahkan VLAN

โœ… Rangkuman dan Kuis 4 (slide 240)

1
2 Keamanan IoT mencakup perangkat, jaringan, cloud, dan aplikasi Kontrol inti: kredensial unik, TLS, boot aman, OTA bertanda tangan, segmentasi
3 Sebutkan ancaman IoT beserta kontrolnya, jelaskan alur TLS, dan tentukan prinsip privasi retensi terbatas untuk satu kasus.
4 Gunakan STRIDE untuk menganalisis ancaman secara sistematis

๐Ÿ’ก Kuis 4

๐Ÿ’ก Privasi: minimisasi data, tujuan jelas, persetujuan, dan

Pertemuan 14

๐Ÿ“ Merancang Sistem IoT untuk Kasus Nyata

๐ŸŽฏ Tujuan dan Alur Pertemuan (slide 242)

  1. Siklus perancangan dan masalah
  2. Kebutuhan dan ide kasus
  3. Arsitektur, daya, dan komponen
  4. Data, kontrol, keamanan, pengujian
  5. Rencana proyek dan presentasi

Setelah pertemuan ini, mahasiswa mampu Merumuskan masalah, menurunkan kebutuhan ke arsitektur, memilih komponen, dan merencanakan pengujian serta proyek.

Siklus Perancangan Sistem IoT (slide 243)

Definisikan
Rumuskan
Rancang
masalah
kebutuhan
arsitektur
Bangun prototipe
Uji dan iterasi
Masalah duluPahami pengguna dan konteks sebelum memilih teknologi.
Kebutuhan terukurTulis kebutuhan yang dapat diuji, bukan keinginan umum.
Iterasi cepatBangun prototipe kecil, uji, perbaiki, lalu ulangi.
DefinisikanmasalahRumuskankebutuhanRancangarsitekturBangunprototipeUji daniterasiulangi bila perlu
Siklus perancangan sistem IoT
๐Ÿ–ผ๏ธ Penjelasan Gambar (slide 243)

Lima langkah: definisikan masalah, rumuskan kebutuhan, rancang arsitektur, bangun prototipe, lalu uji dan iterasi. Prinsipnya: pahami pengguna dan konteks sebelum memilih teknologi, tulis kebutuhan yang dapat diuji, dan iterasi cepat dengan prototipe kecil.

๐Ÿ’ก Poin kunci: Mulai dari masalah, bukan dari perangkat atau teknologi tertentu.

Merumuskan Masalah dengan Jelas (slide 244)

ElemenPertanyaan pemanduContoh kasus
PenggunaSiapa yang memakai dan terdampak?Petani cabai di 10 petak
MasalahApa yang terjadi sekarang?Penyiraman manual sering telat atau berlebih
DampakApa akibatnya?Hasil panen turun dan air terbuang
Ukuran suksesBagaimana tahu berhasil?Kelembapan tanah terjaga di rentang target tanpa petani hadir

๐Ÿ’ก Tulis masalah dalam satu kalimat sebelum memilih sensor atau jaringan

Kebutuhan Fungsional dan Kualitas (slide 245)

Sistem harus Kualitas yang diharapkan

  • Membaca kelembapan tanah tiap 15 menit โ€ข Hemat daya: baterai bertahan berbulan-bulan
  • Menyalakan pompa otomatis di bawah batas โ€ข Mencakup seluruh lahan 5 hektare
  • Mengirim data ke dasbor di ponsel โ€ข Tahan cuaca luar ruang
  • Memberi peringatan saat baterai rendah โ€ข Aman dari akses tidak sah
  • Mudah dirawat oleh petani

Ide Kasus untuk Proyek Kelompok (slide 246)

Penyiraman otomatisSensor tanah, LoRa, katup air
Pemantau banjir sungaiSensor ketinggian air dan peringatan dini
Parkir pintar kampusSensor slot dan papan informasi
Rantai dinginPencatat suhu penyimpanan ikan atau vaksin
Sampah pintarSensor tinggi sampah di tempat penampungan
Kelas pintarCO2, suhu, dan pemakaian listrik

Dari Kebutuhan ke Keputusan Desain (slide 247)

Kebutuhan atau kendalaKeputusan desain
Lahan 5 hektare tanpa WiFiLoRaWAN dengan satu gateway di titik tinggi
Tanpa listrik PLNBaterai dan panel surya, node tidur di antara pengiriman
Pantau dari ponselPlatform cloud dengan dasbor web dan mobile
Data tiap 15 menitPayload kecil dan interval pengiriman 15 menit
Aman dari akses ilegalOTAA, kunci unik per node, TLS ke platform

Arsitektur End-to-End Kasus Penyiraman (slide 248)

Node sensor di
Gateway
Platform dan
petak
LoRaWAN
Network server
dasbor
Ponsel petani
Data naikKelembapan tanah, baterai, dan status pompa dikirim tiap 15 menit.
Perintah turunPerintah manual dan perubahan batas dikirim ke node melalui jendela terima.

Anggaran Daya Node (Contoh Hitungan) (slide 249)

Pembagian energi per jam
Aktif 97%Walau aktif hanya 20 detik per jam, hampir seluruh energi dipakai saat aktif; kurangi waktu aktif.
Baterai 2000 mAh: sekitar 121 hari

๐Ÿ’ก Aktif: 2400 mA detik, sekitar 0,67 mAh per jam

๐Ÿ’ก Tidur: sekitar 0,02 mAh per jam

๐Ÿ’ก Total sekitar 0,69 mAh per jam

๐Ÿ’ก Sekitar 16,5 mAh per hari

๐Ÿ’ก Asumsi: aktif 120 mA selama 5 detik, 4 kali per jam; tidur 0,02 mA; baterai 2000 mAh; tanpa panel surya dan tanpa faktor keamanan.

Memilih Komponen Berdasarkan (slide 250)

FungsiPilihanAlasan
Sensor tanahKapasitifLebih awet daripada tipe resistif
Mikrokontroler dan radioESP32 dengan modul LoRaHemat daya dan jangkauan jauh
Catu dayaBaterai Li-ion dan panel surya kecilLokasi tanpa listrik PLN
AktuatorKatup solenoid lewat relay atau MOSFETMengatur aliran air ke petak
PelindungCasing tahan cuaca (IP65)Lingkungan luar ruang

Biaya: Lebih dari Harga Komponen (slide 251)

PerangkatNode, gateway, sensor, dan aktuator
InstalasiTenaga, kabel, tiang, dan casing
KonektivitasLangganan jaringan atau SIM bila ada
CloudPlatform, penyimpanan, dan lisensi
PemeliharaanKalibrasi, pembersihan, dan perbaikan
PenggantianBaterai dan sensor yang aus

Merancang Format Data (slide 252)

Kelembapan tanah (x10)Payload biner 6 byte, dibanding JSON sekitar 54 byte untuk data yang sama
Suhu (x10)
Baterai %
Status pompa
Topic data
Topic perintah
kebun/petak3/kelembapanStruktur hierarkis memudahkan langganan per petak dengan wildcard.
kebun/petak3/pompaPisahkan topic perintah dan data; beri ACL berbeda.

Logika Kontrol Penyiraman (slide 253)

kelembapan di bawah batas bawah
Idle: pompa mati
Menyiram: pompa nyala
batas atas tercapai atau waktu maksimum
habis
Galat: pompa mati, kirim alarm

๐Ÿ’ก sensor tidak valid

Keamanan dan Privasi Sejak Perancangan (slide 254)

Kredensial unik per nodeHindari satu kunci untuk semua; gunakan OTAA pada LoRaWAN.
Enkripsi komunikasiLoRaWAN memakai AES-128; gunakan TLS ke platform.
Hak akses minimumDasbor petani hanya menampilkan petaknya.
Pembaruan firmwareRencanakan OTA atau prosedur pembaruan di lapangan.
Privasi dataData lahan milik koperasi; batasi siapa yang melihat.
PencadanganSimpan data penting di lebih dari satu tempat.

Strategi Pengujian Bertingkat (slide 255)

Uji unit sensor
Uji node ke gateway
Uji end-to-end
Uji lapangan
Packet delivery ratioPesan diterima dibagi pesan dikirim.
LatensiWaktu dari pembacaan sensor sampai tampil di dasbor.
Umur bateraiUkur arus nyata, bukan hanya angka datasheet.

Risiko dan Mitigasi (slide 256)

RisikoDampakMitigasi
Baterai habis lebih cepatNode matiAnggaran daya, panel surya, alarm baterai
Gateway berhentiSemua node putusCatu daya cadangan, gateway kedua
Sensor drift atau rusakData salahKalibrasi dan validasi rentang
Cuaca ekstremKerusakan perangkatCasing IP65 dan uji lapangan
Kredensial bocorAkses tidak sahKunci unik dan rotasi

Rencana Proyek Enam Minggu (Contoh) (slide 257)

Definisi masalah
Desain arsitektur
Prototipe node
Integrasi platform
Uji dan perbaikan
Dokumentasi dan presentasi

๐Ÿ’ก M1

๐Ÿ’ก M2

๐Ÿ’ก M3

๐Ÿ’ก M4

๐Ÿ’ก M5

๐Ÿ’ก M6

Deliverable dan Rubrik Progres Proyek (slide 258)

Komponen penilaian Bobot Deliverable

  • Pernyataan masalah

Kejelasan masalah dan kebutuhan 20

  • Diagram arsitektur
  • Daftar bahan dan alasan

Kelayakan arsitektur 30

  • Skema rangkaian dan kode
  • Rencana uji dan risiko

Komponen dan anggaran daya 20

Rencana uji dan risiko 20

Dokumentasi dan kerja tim 10

Gambar slide 258
Gambar dari slide 258 materi PDF

Struktur Presentasi dan Demo (10 Menit) (slide 259)

Masalah
Solusi dan arsitektur
Demo 3 mnt
Hasil uji
Pelajaran
1 mnt
2 mnt
2 mnt
2 mnt
Ceritakan masalahnyaMulai dari pengguna dan dampak, bukan daftar komponen.
Demo terencanaSingkat, fokus pada satu skenario, dan siapkan rekaman cadangan.
Tunjukkan buktiSajikan data hasil uji, bukan sekadar klaim.

โœ… Rangkuman dan Persiapan Proyek Akhir (slide 260)

1
2 Mulai dari masalah dan kebutuhan yang dapat diuji Setiap keputusan desain tertaut ke satu kebutuhan
3 Presentasikan prototipe selama 10 menit dengan demo, lalu Anggaran daya, keamanan, dan pengujian dirancang kumpulkan dokumentasi akhir. sejak awal
4 Rencana dan risiko diperbarui di setiap iterasi

๐Ÿ’ก Pekan depan

Pertemuan 15

๐ŸŽค Presentasi dan Demo Proyek Akhir

๐ŸŽฏ Tujuan dan Agenda Sesi (slide 262)

1Format dan jadwal presentasi
2
3Mempresentasikan rancangan,
4mendemokan prototipe, menunjukkan hasil uji, dan menjawab pertanyaan.
5

๐Ÿ’ก Hari ini setiap kelompok

๐Ÿ’ก Struktur, isi slide, dan demo

๐Ÿ’ก Rubrik dan umpan balik

๐Ÿ’ก Dokumentasi dan etika

๐Ÿ’ก Tindak lanjut menuju UAS

Format Waktu per Kelompok: 15 Menit (slide 263)

1 2 3 2 2 5

Masalah: 1 menit Solusi dan arsitektur: 2 menit Demo: 3 menit

Hasil uji: 2 menit Pelajaran: 2 menit Tanya jawab: 5 menit

  • Total 15 menit: 10 menit presentasi dan demo, 5 menit tanya jawab
  • Semua anggota harus berbicara atau mengoperasikan demo
  • Urutan tampil ditentukan dengan undian
Gambar slide 263
Gambar dari slide 263 materi PDF

Jadwal Presentasi (slide 264)

SlotWaktuKelompokKasus proyek
1[..:..][Kelompok ..][....]
2[..:..][Kelompok ..][....]
3[..:..][Kelompok ..][....]
4[..:..][Kelompok ..][....]
5[..:..][Kelompok ..][....]
6[..:..][Kelompok ..][....]

Struktur Presentasi yang Efektif (slide 265)

Masalah dan
Solusi dan arsitektur
Pelajaran dan
pengguna
Demo langsung
Hasil uji
langkah lanjut
AwalSatu kalimat masalah, siapa penggunanya, dan ukuran sukses.
TengahDiagram arsitektur sederhana dan alasan memilih komponen.
AkhirData hasil uji, keterbatasan, dan perbaikan berikutnya.

Isi Slide yang Wajib Ada (slide 266)

Judul dan timNama proyek, anggota, dan peran
MasalahPengguna, dampak, ukuran sukses
ArsitekturDiagram end-to-end satu halaman
Risiko dan pelajaranKeterbatasan dan rencana perbaikan
KomponenDaftar bahan dan alasan pemilihan
Hasil ujiGrafik atau tabel metrik

Tips Demo yang Berhasil (slide 267)

Satu skenario utamaTunjukkan alur lengkap dari sensor sampai dasbor.
Rekaman cadanganSiapkan video 1 sampai 2 menit bila perangkat bermasalah.
Jaringan cadanganSiapkan hotspot ponsel sebagai pengganti WiFi.
Data uji siapIsi dasbor dengan data riwayat agar grafik tidak kosong.
Peran jelasSatu orang bicara, satu orang mengoperasikan.
Periksa daya dan kabelBawa power bank, kabel cadangan, dan steker.

Jika Demo Bermasalah (slide 268)

MasalahTindakan
WiFi tidak terhubungPindah ke hotspot ponsel yang sudah disiapkan
Sensor tidak terbacaTunjukkan data rekaman dan jelaskan penyebab dugaan
Dasbor kosongTampilkan tangkapan layar atau rekaman demo
Perangkat matiPakai daya cadangan, lanjutkan dengan rekaman
Kode errorKembali ke versi stabil terakhir

Rubrik Penilaian Proyek Akhir (Usulan) (slide 269)

Pemahaman masalah dan kebutuhan15
Kualitas rancangan dan arsitektur20
Implementasi dan demo berfungsi25
Pengujian dan analisis hasil15
Keamanan dan privasi 10
Presentasi dan tanya jawab 10
Dokumentasi 5

Level Kinerja: Implementasi dan Demo (slide 270)

LevelDeskripsi
Sangat baik (85 sampai 100)Semua fitur inti berfungsi; demo lancar dengan data nyata
Baik (70 sampai 84)Fitur inti berfungsi; ada kendala kecil saat demo
Cukup (55 sampai 69)Sebagian fitur berfungsi; demo tersendat
Kurang (di bawah 55)Sistem tidak berfungsi atau tidak dapat didemokan

Rubrik dibagikan sebelum presentasi agar kelompok tahu apa yang dinilai

Pertanyaan yang Sering Diajukan Penguji (slide 271)

Mengapa teknologi ini?Kaitkan pilihan dengan kebutuhan
Apa batasannya?Akui keterbatasan dengan jujur
Bagaimana diuji?Tunjukkan metrik dan hasilnya
Bagaimana keamanannya?Sebut kontrol yang diterapkan
Berapa daya dan biayanya?Jawab dengan hitungan dan asumsi
Jika koneksi putus?Jelaskan buffer atau perilaku aman

Teknik Menjawab Tanya Jawab (slide 272)

Dengarkan
Ulangi
Akui bila belum
sampai selesai
pertanyaan
Jawab langsung
Rujuk data uji
tahu
Contoh jawaban jujur:cuaca cerah dan itu menjadi rencana perbaikan berikutnya."

๐Ÿ’ก "Kami belum menguji di hujan deras. Pengujian lapangan kami baru di

Lembar Umpan Balik Teman Sejawat (slide 273)

Kriteria12345
Kejelasan masalah dan solusi
Kualitas demo
Kualitas data hasil uji
Kerja sama tim

Satu hal yang sudah baik dan satu saran perbaikan: ..............................................................

Etika Akademik pada Proyek (slide 274)

AtribusiCantumkan pustaka, tutorial, dan kode orang lain.
Kontribusi jujurTulis peran dan kontribusi tiap anggota apa adanya.
Data asliJangan mengarang atau mengubah hasil uji.
Alat bantu AISebutkan bila memakai AI dan pahami kode yang dihasilkan.

Dokumentasi Akhir yang Dikumpulkan (slide 275)

Laporan akhirMengikuti struktur laporan pada slide berikutnya.
Repositori kodeREADME lengkap tanpa token atau sandi.
Diagram dan skemaArsitektur sistem dan skema rangkaian.
Daftar bahan (BOM)Komponen, alasan, dan perkiraan biaya.
Hasil pengujianTabel metrik, grafik, dan analisis.
Video demoRekaman 2 sampai 3 menit sebagai cadangan.

Struktur Laporan Akhir (slide 276)

1Pendahuluan: masalah dan tujuan5Pengujian dan hasil
2Analisis kebutuhan dan batasan6Pembahasan dan keterbatasan
3Perancangan arsitektur dan komponen7Penutup dan saran
4Implementasi perangkat keras dan lunak8Lampiran: kode, skema, BOM

๐Ÿ’ป Struktur README Repositori (slide 277)

# Nama Proyek
## Latar belakang
## Arsitektur sistem
## Daftar bahan (BOM)
## Cara membangun dan menjalankan
## Hasil pengujian
## Anggota tim

Ingat

  • Sertakan diagram dan tangkapan

layar

  • Jangan commit token atau sandi
  • Cantumkan lisensi dan sumber

17

Pembagian Peran Saat Tampil (slide 278)

PenyajiOperator demo
Membawakan narasi dan menjaga alur cerita. Mengoperasikan sistem selama demo.
Penjawab teknisPenjaga waktu
Menjawab pertanyaan teknis secara rinci. Memantau pengatur waktu dan memberi isyarat.

Setelah Presentasi: Tindak Lanjut (slide 279)

Presentasi dan
Revisi dokumen
UAS pertemuan
demo
Umpan balik
dan kode
Kumpul final
Umpan balikTertulis dari dosen dan teman sejawat.
RevisiPerbaiki laporan, kode, dan README.
Batas waktuDitentukan dosen; terlambat dapat mengurangi nilai.

Penutup dan Pengumuman (slide 280)

1
2 Presentasi yang baik bercerita dari masalah ke bukti Siapkan rencana cadangan untuk demo
3 Materi pertemuan 9 sampai 15. Format dan aturan dijelaskan Kejujuran dan atribusi adalah bagian penilaian pada sesi berikutnya.
4 Dokumen akhir dikumpulkan sesuai batas waktu

๐Ÿ’ก Pekan depan: UAS

Definisi istilah

Disimpan di browser ini. Klik istilah yang ditandai untuk mengubah atau menghapus penjelasan.