{"type":"word","content":"# SOAL LATIHAN URAIAN SAT IOT KELAS XI RPL\n## Mata Pelajaran: Internet of Things (IoT)\n## Kelas \/ Jurusan: XI \/ Rekayasa Perangkat Lunak (RPL)\n\n---\n\n### KUMPULAN SOAL URAIAN & KUNCI JAWABAN\n\n#### Soal 1: Arsitektur IoT (Lapisan Persepsi & Keamanan)\n**Pertanyaan:** Jelaskan fungsi utama dari *Perception Layer* (Lapisan Persepsi) pada arsitektur IoT dan sebutkan 2 tantangan keamanan yang sering dihadapi pada lapisan ini beserta solusinya!\n**Kunci Jawaban:**\n*   **Fungsi Utama:** *Perception Layer* berfungsi sebagai \"panca indra\" sistem IoT. Lapisan ini bertugas mengidentifikasi objek, mengumpulkan data fisik dari lingkungan sekitar (seperti suhu, kelembapan, gerakan) menggunakan sensor, dan melakukan aksi fisik menggunakan aktuator.\n*   **Tantangan Keamanan & Solusi:**\n    1.  **Physical Tampering (Perusakan Fisik):** Perangkat IoT diletakkan di area terbuka sehingga rentan dimanipulasi secara fisik. *Solusi:* Menempatkan perangkat di casing pelindung yang kokoh dan menggunakan sensor tamper-detection.\n    2.  **Eavesdropping (Penyadapan Data):** Data yang dikirim dari sensor ke gateway disadap karena tidak dienkripsi. *Solusi:* Menerapkan enkripsi data ringan (lightweight cryptography) pada level mikrokontroler.\n\n---\n\n#### Soal 2: Sensor vs Aktuator\n**Pertanyaan:** Analisis perbedaan mendasar antara sensor dan aktuator dalam ekosistem IoT, serta berikan contoh integrasi keduanya dalam sistem *Smart Greenhouse*!\n**Kunci Jawaban:**\n*   **Perbedaan Mendasar:**\n    *   **Sensor:** Berfungsi menerima input fisik dari lingkungan dan mengubahnya menjadi sinyal elektrik\/digital yang dapat dipahami oleh mikrokontroler (mengubah besaran fisik menjadi data).\n    *   **Aktuator:** Berfungsi menerima sinyal elektrik\/perintah dari mikrokontroler dan mengubahnya menjadi gerakan mekanis atau aksi fisik (mengubah data\/perintah menjadi besaran fisik).\n*   **Contoh Integrasi di Smart Greenhouse:**\n    *   **Sensor LDR (Light Dependent Resistor)** mendeteksi intensitas cahaya matahari yang rendah di dalam greenhouse.\n    *   Data dikirim ke mikrokontroler (misal: ESP32). Jika intensitas cahaya di bawah ambang batas, mikrokontroler mengirim perintah ke **Aktuator Motor Servo** untuk membuka tirai atap secara otomatis agar cahaya masuk.\n\n---\n\n#### Soal 3: Protokol Komunikasi (MQTT vs HTTP)\n**Pertanyaan:** Bandingkan protokol komunikasi **MQTT** dan **HTTP** dalam konteks implementasi IoT. Mengapa MQTT lebih direkomendasikan untuk perangkat dengan sumber daya terbatas (resource-constrained devices)?\n**Kunci Jawaban:**\n*   **Tabel Perbandingan:**\n    | Karakteristik | MQTT | HTTP |\n    | :--- | :--- | :--- |\n    | **Arsitektur** | Publish\/Subscribe | Request\/Response |\n    | **Ukuran Header** | Sangat kecil (minimal 2 bytes) | Besar (ratusan bytes) |\n    | **Konsumsi Bandwidth** | Sangat rendah | Tinggi |\n    | **Koneksi** | Keep-alive (persisten) | Short-lived (buka-tutup koneksi) |\n*   **Alasan MQTT Lebih Direkomendasikan:**\n    *   MQTT menggunakan arsitektur *Publish\/Subscribe* yang sangat ringan dengan overhead header yang sangat kecil (2 byte), sehingga menghemat bandwidth dan daya baterai perangkat IoT.\n    *   Sifat koneksinya yang persisten (*keep-alive*) menghindari proses *handshake* berulang-ulang seperti pada HTTP, yang sangat membebani RAM dan prosesor mikrokontroler yang terbatas.\n\n---\n\n#### Soal 4: Mikrokontroler (ESP32 vs Arduino Uno)\n**Pertanyaan:** Mengapa chip **ESP32** lebih sering digunakan dalam proyek IoT tingkat lanjut dibandingkan dengan **Arduino Uno R3**? Berikan analisis teknis berdasarkan spesifikasi hardware keduanya!\n**Kunci Jawaban:**\n*   **Konektivitas Built-in:** ESP32 sudah memiliki modul Wi-Fi (802.11 b\/g\/n) dan Bluetooth (BLE) terintegrasi langsung di dalam chipnya. Sedangkan Arduino Uno memerlukan modul tambahan seperti Ethernet Shield atau ESP8266 eksternal.\n*   **Kecepatan Prosesor:** ESP32 menggunakan prosesor Dual-Core 32-bit dengan kecepatan clock hingga 240 MHz, jauh lebih cepat dibanding Arduino Uno yang hanya menggunakan prosesor Single-Core 8-bit dengan clock 16 MHz.\n*   **Kapasitas Memori:** ESP32 memiliki SRAM sekitar 520 KB, sedangkan Arduino Uno hanya memiliki SRAM sebesar 2 KB. Kapasitas memori ESP32 yang besar sangat krusial untuk menjalankan protokol enkripsi keamanan (SSL\/TLS) saat mengirim data ke cloud.\n\n---\n\n#### Soal 5: Platform Cloud IoT (Blynk vs ThingsBoard)\n**Pertanyaan:** Jika Anda ingin membangun sistem monitoring industri berskala besar dengan visualisasi data historis dan manajemen perangkat (*device management*) yang kompleks, platform IoT mana yang Anda pilih antara **Blynk** dan **ThingsBoard**? Jelaskan argumen Anda!\n**Kunci Jawaban:**\n*   **Pilihan Terbaik:** **ThingsBoard**.\n*   **Argumen Analisis:**\n    *   **Manajemen Perangkat:** ThingsBoard dirancang khusus untuk skala industri (*enterprise*) dengan fitur manajemen ribuan perangkat (*provisioning*), pengelompokan perangkat, dan manajemen multi-tenant (banyak pengguna dengan hak akses berbeda) yang sangat matang. Blynk lebih fokus pada pembuatan aplikasi mobile cepat untuk skala hobi\/prototipe.\n    *   **Visualisasi & Analisis Data:** ThingsBoard menyediakan dashboard yang sangat kustomisasi dengan kemampuan menyimpan dan menganalisis data historis dalam jumlah besar menggunakan database NoSQL\/SQL, serta memiliki mesin aturan (*Rule Engine*) yang kuat untuk memproses data sebelum disimpan.\n\n---\n\n#### Soal 6: Keamanan IoT (Enkripsi SSL\/TLS)\n**Pertanyaan:** Mengapa penerapan enkripsi **SSL\/TLS (HTTPS\/MQTTS)** sangat penting pada transmisi data IoT, dan apa dampak negatifnya terhadap performa mikrokontroler kelas bawah?\n**Kunci Jawaban:**\n*   **Pentingnya SSL\/TLS:** Mencegah serangan *Man-in-the-Middle (MitM)* dan penyadapan data. Dengan SSL\/TLS, data yang dikirim dari perangkat IoT ke broker\/cloud akan dienkripsi sehingga tidak dapat dibaca oleh pihak ketiga yang tidak sah.\n*   **Dampak Negatif pada Performa:**\n    *   Proses enkripsi dan dekripsi membutuhkan komputasi matematis yang berat.\n    *   Mikrokontroler kelas bawah (seperti ATmega328p pada Arduino) akan mengalami lonjakan penggunaan CPU hingga 100%, peningkatan konsumsi daya baterai, dan keterbatasan memori RAM (bahkan bisa menyebabkan *crash\/out of memory*) karena tidak mampu menangani proses *cryptographic handshake*.\n\n---\n\n#### Soal 7: Integrasi RESTful API pada IoT\n**Pertanyaan:** Jelaskan bagaimana sebuah perangkat IoT menggunakan **RESTful API** untuk mengirimkan data sensor suhu ke server database web! Gambarkan alur HTTP request-nya!\n**Kunci Jawaban:**\n*   **Alur Integrasi:**\n    1.  Sensor membaca suhu (misal: 30\u00b0C).\n    2.  Mikrokontroler memformat data tersebut ke dalam bentuk **JSON**, contoh: `{\"suhu\": 30, \"sensor_id\": \"S01\"}`.\n    3.  Mikrokontroler melakukan koneksi TCP ke server web dan mengirimkan **HTTP POST Request** ke endpoint API tertentu (misal: `\/api\/v1\/suhu`).\n    4.  Request tersebut menyertakan header `Content-Type: application\/json` dan token autentikasi API Key di dalam header.\n    5.  Server menerima request, memvalidasi token, mengurai JSON, menyimpan data ke database, dan mengembalikan respon **HTTP Status Code 201 (Created)** ke mikrokontroler.\n\n---\n\n#### Soal 8: Edge Computing vs Cloud Computing\n**Pertanyaan:** Dalam sistem IoT untuk *Self-Driving Car* (Mobil Otonom), mengapa arsitektur **Edge Computing** lebih diprioritaskan dibandingkan **Cloud Computing** untuk proses pengambilan keputusan kemudi?\n**Kunci Jawaban:**\n*   **Latensi Rendah (Real-time):** Mobil otonom membutuhkan keputusan instan dalam milidetik (misal: mengerem mendadak saat ada pejalan kaki). Edge computing memproses data langsung di dalam komputer mobil (lokal) tanpa perlu mengirim data ke server cloud terlebih dahulu, sehingga menghindari delay\/latensi jaringan.\n*   **Ketergantungan Jaringan:** Jika menggunakan Cloud Computing, mobil sangat bergantung pada koneksi internet. Jika mobil melewati area blank spot (tanpa sinyal), sistem kemudi otomatis tidak akan berfungsi dan dapat menyebabkan kecelakaan fatal. Edge computing memastikan sistem tetap bekerja secara offline.\n\n---\n\n#### Soal 9: Manajemen Daya (Sleep Mode)\n**Pertanyaan:** Jelaskan konsep **Deep Sleep Mode** pada ESP32 dan bagaimana fitur ini dapat memperpanjang masa pakai baterai pada perangkat IoT yang diletakkan di hutan belantara!\n**Kunci Jawaban:**\n*   **Konsep Deep Sleep:** Fitur penghematan daya ekstrem di mana hampir seluruh komponen utama ESP32 (termasuk CPU, Wi-Fi, Bluetooth, dan sebagian besar RAM) dimatikan, kecuali chip RTC (Real-Time Clock) dan memori RTC ultra-low-power.\n*   **Cara Memperpanjang Masa Pakai Baterai:**\n    *   Perangkat diatur untuk bangun setiap 1 jam sekali (menggunakan timer RTC).\n    *   Saat bangun, ESP32 akan membaca sensor, menyalakan Wi-Fi, mengirim data ke cloud (proses ini hanya butuh waktu sekitar 5-10 detik), lalu langsung masuk kembali ke mode *Deep Sleep*.\n    *   Selama masa tidur (deep sleep), konsumsi arus turun drastis dari ~150mA menjadi hanya sekitar ~10\u00b5A, sehingga baterai yang biasanya habis dalam 2 hari bisa bertahan hingga berbulan-bulan bahkan bertahun-tahun.\n\n---\n\n#### Soal 10: Studi Kasus (Smart Agriculture)\n**Pertanyaan:** Rancanglah sebuah arsitektur sistem IoT sederhana untuk **Sistem Penyiraman Tanaman Otomatis** berbasis kelembapan tanah. Sebutkan komponen hardware yang dibutuhkan, logika programnya, dan bagaimana data tersebut dikirim ke pengguna!\n**Kunci Jawaban:**\n*   **Komponen Hardware:**\n    1.  **Mikrokontroler:** ESP32 (sebagai otak dan pengirim data via Wi-Fi).\n    2.  **Sensor:** Soil Moisture Sensor (Sensor Kelembapan Tanah).\n    3.  **Aktuator:** Relay Module dan Pompa Air DC 5V.\n    4.  **Catu Daya:** Adaptor 5V \/ Baterai.\n*   **Logika Program (Algoritma):**\n    *   BACA nilai analog dari Soil Moisture Sensor.\n    *   KONVERSI nilai analog menjadi persentase kelembapan (0% - 100%).\n    *   **JIKA** kelembapan tanah < 40% (tanah kering):\n        *   Nyalakan Relay (Pompa Air aktif menyiram tanaman).\n    *   **JIKA** kelembapan tanah >= 70% (tanah cukup basah):\n        *   Matikan Relay (Pompa Air berhenti).\n*   **Pengiriman Data ke Pengguna:**\n    *   ESP32 mengirimkan data persentase kelembapan tanah dan status pompa (ON\/OFF) ke platform cloud (misal: Blynk atau ThingSpeak) menggunakan protokol MQTT. Pengguna dapat memantau kondisi tanaman secara real-time melalui aplikasi smartphone."}