# Template Laporan Proyek Sistem Kendali PID pada Motor Listrik (Tugas Besar CLO 2 dan CLO 3) **Mata Kuliah:** Sistem Kendali dan Mekanika (ACK3AB3) **Dosen:** FCB **Semester/Tahun:** Ganjil 2025/2026 **Kelas:** TK-47-03 --- ## Identitas Asesmen & Capaian Pembelajaran (OBE) **Bentuk Asesmen:** Tugas Besar CLO2 dan Tugas Besar CLO3 **Metode:** *Project-Based Learning (PjBL)* **Level 3 AI [*Editing*]**: AI hanya untuk perbaikan tulisan, tanpa konten baru. Lampirkan *prompt* dan hasil lengkap *generate* AI jika menggunakan AI, serta nama *tools* AI yang digunakan. ### Pemetaan *Program Learning Outcome* (CPL - Capaian Pembelajaran Lulusan) dan *Course Learning Outcome* (CPMK - Capaian Pembelajaran Mata Kuliah) Laporan Tugas Besar ini mengukur ketercapaian dua PLO utama sesuai RPS untuk memvalidasi ketercapaian dua CLO: * **[PLO-3]** Kemampuan menyusun rancangan komponen, sistem dan/atau proses pada bidang teknik komputer untuk memenuhi kebutuhan yang diharapkan di dalam batasan-batasan realistis. * *Fokus:* Perancangan parameter kendali (*tuning*) dan analisis kestabilan sistem. * **[CLO-2]:** Mampu menyusun rancangan dan menganalisis sistem kendali loop tertutup dari kondisi transien hingga steady state untuk mencapai kestabilan. * *(Dinilai dari Laporan Bab 1, 2, dan 4: Desain, Pemodelan, dan Analisis Grafik)* * **[PLO-6]** Kemampuan menerapkan metode, keterampilan dan piranti teknik modern yang diperlukan untuk praktek keteknikan dalam bidang teknik komputer. * *Fokus:* Implementasi algoritma pada mikrokontroler dan penggunaan sensor/driver motor. * **[CLO-3]:** Mampu menentukan dan menerapkan penggunaan kendali proporsional, integral, atau derivatif pada motor listrik untuk mencapai kestabilan. * *(Dinilai dari Laporan Bab 3 dan Demonstrasi Alat: Implementasi Hardware & Tuning PID)* --- **IDENTITAS KELOMPOK:** * **Nama Kelompok:** Kelompok 5 * **Nama Mahasiswa 1 (NIM):** Fransisco Sitepu (101032300004) * **Nama Mahasiswa 2 (NIM):** Ghavind Azzarya (101032300012) * **Nama Mahasiswa 3 (NIM):** Muammar Yaldi Fadhil (101032300019) * **Nama Mahasiswa 4 (NIM):** Ibnu Sugeng Mugiana (101032300124) * **Nama Mahasiswa 4 (NIM):** Muhammad Abdillah Santoso (101032300195) --- ## Daftar Isi 1. Pendahuluan 2. Desain dan Pemodelan Sistem 3. Implementasi dan Pengujian 4. Evaluasi dan Analisis Kinerja 5. Kesimpulan dan Saran 6. Lampiran/Dokumentasi --- ## 1. Pendahuluan ### 1.1 Latar Belakang Penggunaan air dalam pertanian seringkali tidak efisien karena penyiraman dilakukan secara manual tanpa mempertimbangkan kondisi aktual kelembaban tanah. Smart irrigation system hadir sebagai solusi otomatis yang mampu menjaga kelembaban tanah pada nilai setpoint tertentu menggunakan kendali PID. Sistem ini sangat berguna di pertanian perkotaan, greenhouses, atau sistem hidroponik, di mana efisiensi air dan stabilitas kelembaban sangat krusial. Dengan memanfaatkan Arduino UNO sebagai pengendali utama, sistem ini dapat mengatur pompa air berdasarkan data dari soil moisture sensor secara real-time. ### 1.2 Tujuan (*sesuaikan isinya dengan proyek kelompok*) 1. Merancang sistem kendali tertutup (*Closed Loop*) menggunakan metode PID. 2. Menganalisis respon transien sistem (*Rise time, Settling time, Overshoot*). 3. Menguji ketahanan (*robustness*) sistem terhadap gangguan eksternal. ### 1.3 Spesifikasi Desain (Target *Performance*) | Parameter Kinerja | Simbol | Target Nilai | Alasan/Justifikasi (Mengapa memilih angka ini?) | | :--- | :---: | :--- | :--- | | **Settling Time** | $T_s$ | < 3 detik | *Sistem harus mencapai kondisi stabil dengan cepat agar kelembaban tanah segera sesuai* | | **Max. Overshoot** | $M_p$ | < 10 % | *Overshoot besar dapat menyebabkan over-watering yang berpotensi merusak tanaman* | | **Steady State Error** | $e_{ss}$ | 0 % | *Sistem harus mempertahankan kelembaban tanah sesuai setpoint tanpa error jangka panjang* | | **Kriteria Kestabilan** | | ±2% | *Batas toleransi kestabilan yang realistis untuk sistem berbasis sensor analog* | --- ## 2. Desain dan Pemodelan Sistem ### 2.1 Diagram Blok Sistem ![image](https://hackmd.io/_uploads/B1lH0jhNWg.png) ### 2.2 Pemodelan Matematis (Theoretical Modeling) Pemodelan matematis pada proyek Smart Irrigation System yang kami buat ini bertujuan untuk memberikan gambaran teoritis mengenai bagaimana sistem bekerja sebelum diimplementasikan secara fisik. Model yang digunakan tidak hanya mempertimbangkan karakteristik ideal, tetapi juga menyesuaikan dengan keterbatasan perangkat keras yang digunakan di lapangan. Sistem kendali yang kami rancang merupakan sistem loop tertutup, di mana nilai kelembaban tanah hasil pembacaan sensor digunakan sebagai umpan balik untuk menentukan aksi penyiraman oleh pompa air. **A. Model Algoritma Kontroler (PID)** Algoritma kendali yang kami gunakan ialah PID (Proportional–Integral–Derivative). Pengendali PID dipilih karena mampu memberikan respon yang stabil serta dapat mengurangi error steady-state pada sistem yang bekerja dalam jangka waktu lama, seperti sistem irigasi. Secara kontinu, persamaan PID dinyatakan sebagai: $$u(t) = K_p e(t) + K_i \int e(t) dt + K_d \frac{de(t)}{dt}$$ Yang dimana : e(t)adalah selisih antara setpoint kelembaban tanah dan nilai aktual dari sensor, u(t)adalah sinyal kendali keluaran PID. Namun, pada implementasi nyata menggunakan Arduino UNO, sistem bekerja secara diskrit dengan waktu sampling tertentu. Pada proyek ini digunakan waktu sampling sekitar 500 ms, karena perubahan kelembaban tanah terjadi relatif lambat. Integral error dihitung secara akumulatif, sedangkan komponen derivatif dihitung berdasarkan selisih error antar waktu sampling. Bentuk diskrit ini memungkinkan algoritma PID dijalankan secara stabil pada mikrokontroler. Karna waktu sampling Ts = 500 ms, maka persamaan tersebut dikonversi dalam bentuk diskrit : ![image](https://hackmd.io/_uploads/SkkV0jn4bl.png) **B. Metode Tuning Ziegler-Nichols (Z-N)** Pada proyek ini kami menggunakan metode Ziegler–Nichols Tipe 2 (Kurva Reaksi). Metode ini dilakukan dengan mengamati respon sistem open-loop terhadap masukan step. Dari grafik respon tersebut, diambil dua parameter utama: * Delay time (L), yaitu waktu tunda sebelum sistem mulai merespon, * Time constant (T), yaitu waktu yang menggambarkan kecepatan respon sistem. Metode ini dipilih karena: 1. Sistem pompa air bersifat stabil pada kondisi open-loop, 2. Lebih aman dibandingkan metode osilasi kontinu, 3. Cocok untuk sistem dengan dinamika lambat seperti irigasi. Berdasarkan nilai 𝐿 dan 𝑇, parameter PID awal ditentukan menggunakan tabel aturan Ziegler–Nichols, yang kemudian disempurnakan melalui pengujian eksperimen. **C. Model Plant (Motor)** Plant yang kami gunakan pada sistem ini adalah motor DC pompa air mini yang digunakan untuk menggerakkan pompa air. Pada aplikasi irigasi, variabel yang dikendalikan bukan posisi atau kecepatan motor secara langsung, melainkan debit aliran air, yang secara umum sebanding dengan kecepatan motor. Secara teoritis, motor DC dapat didekati sebagai sistem orde satu: ![image](https://hackmd.io/_uploads/rkNZgNpEbg.png) di mana: ω(s)adalah kecepatan sudut motor, V(s)adalah tegangan masukan, Kadalah konstanta penguatan motor, τadalah konstanta waktu sistem. Namun, karena motor diaktifkan melalui relay (ON/OFF), model kontinu ini digunakan hanya sebagai pendekatan konseptual, bukan untuk perhitungan numerik presisi. Fokus utama analisis sistem adalah pada respon transien sistem kelembaban tanah, bukan dinamika motor secara detail. Pendekatan ini dianggap valid karena dinamika kelembaban tanah jauh lebih lambat dibanding dinamika motor, sehingga sistem masih dapat dianalisis menggunakan konsep kendali PID secara makro. ### 2.3 Spesifikasi Perangkat Keras * **Motor:** Pompa air DC mini, (Tegangan nya 5 – 6 V DC) * **Driver:** Relay 1 – Channel ( tegangan 5 V DC, arus maksimum ± 10 A ) * **Sensor:** Soil Moisture Sensor Analog ( rentang ukur 0 – 1023 cm, resolusi sekitar ± 0.3 cm ) * **Kontroler:** Arduino Uno (mikrokontroler ATmega328P, frekuensi clock 16 MHz) --- ## 3. Implementasi dan Pengujian > **⚠️ Syarat data yang harus ada:** > 1. **Analisis Komparatif:** **Minimal** **3 Variasi *Tuning*** (Misal: Hanya Proporsional vs PI vs PID Optimal). > 2. **Uji Konsistensi (*Repeatability*):** Pada *tuning* terbaik, lakukan **minimal 5x percobaan** berulang untuk mendapatkan rata-rata dan standar deviasi. > 3. **Uji Gangguan (*Disturbance*):** Minimal satu grafik yang menunjukkan respons sistem saat diberi beban atau gangguan tiba-tiba. > > *Catatan: Untuk poin 1 dan 2, lebih banyak lebih baik, karena akan semakin menghasilkan banyak data untuk dianalisis dan dibandingkan.* ### 3.1 Karakteristik Open-Loop (Linearitas Plant) Lakukan pengujian respon motor **tanpa algoritma PID** (*Open Loop*) untuk melihat perilaku aslinya. * **Skenario A (Motor DC - Kecepatan):** kami menggunakan Skenario A karena aktuator yang digunakan adalah motor DC. Pengujian dilakukan secara open-loop untuk melihat karakteristik dasar plant, dengan input berupa durasi penyiraman dan output berupa respon kelembaban tanah. Dari pengujian terlihat adanya ambang respon, daerah kerja, dan titik jenuh, sehingga sistem perlu dikendalikan secara closed-loop menggunakan PID. **Grafik Karakteristik:** ![image](https://hackmd.io/_uploads/H16RTXaNWx.png) **Analisis:** 1. Apakah grafik membentuk garis lurus? = grafik tidak linear sehingga sistem lebih sulit dikendalikan secara open-loop dan kendali PID diperlukan. Grafik menunjukkan bentuk kurva eksponensial, dimana pada awal respon kenaikan output output berlangsung cepat, kemudian semakin melambat saat mendekati setpoint 60%. Dibanding sitem linear, sistem non linear seperti ini lebih sulit dikendalikan secara open-loop, sehiingga membutuhkan kendali tertutup (PID) agar respon dapat dijaga tetap stabil. 2. Pada *input* berapa motor baru mulai bergerak? = dari karakteristik respon awal grafik, terlihat bahwa pada input kecil, perubahan kelembapan tanah belum langsung terdeteksi oleh sensor. Hal tersebut menunjukkan bahwa meskipun motor pompa sudah aktif, debit air yang dihasilkan pada durasi penyimpanan sangat singkat blom cukup untuk mempengaruhi kondisi tanah. Sama seperti motor DC yang diam dibawah PWM 15%, pada sistem kami ini pompa baru memberi respon yang terukur setelah input melewati nilai ambang tertentu. 3. Apakah ada titik ketika *input* dinaikkan tetapi *output* tidak bertambah lagi? =YA, berdasarkan grafik kami terlihat bahwa ketika sistem telah mendekati setpoint 60%, kenaikan input selanjutnya tidak lagi menghasilkan peningkatan output yang signifikan. Grafik cenderung mendatar setelah mencapai nilai tersebut. Kondisi ini menunjukkan bahwa adanya titik jenuh ( saturasi ) pada sistem, dimana tanah sudah mendekati kondisi kelembapan yang diinginkan, sehingga tambahan air tidak lagi meningkatkan nilai kelembapan secara berarti yang dimana terdapat titik dimana input dinaikkan tetapi output tidak bertambah lagi, yang menunjukkan kondisi jenuh pada plant. ### 3.2 Analisis Perbandingan Respons (*Step Response*) 1. Skenario 1 ![image](https://hackmd.io/_uploads/ryHxCXaVWx.png) 2. Skenario 2 ![image](https://hackmd.io/_uploads/ryPZR7pNbl.png) 3. Skenario 3 ![image](https://hackmd.io/_uploads/HkmM0XaVbx.png) **Tabel 1. Perbandingan Parameter Respons Transien** | Skenario *Tuning* | Nilai *Gain* ($K_p, K_i, K_d$) | *Delay Time* ($T_d$)| *Rise Time* ($T_r$) | *Peak Time* ($T_p$) | *Settling Time* ($T_s$) | *Overshoot* (%) | *Steady State Error* | | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | #1 P | Kp = 2, Ki= 0, Kd= 0 | 0.4 | 1.6 | - | ± 6.0 | 0% | Ada (≈ 5%) | | #2 PI | Kp = 2, Ki = 0.8, Kd = 0 | 0.3 | 1.2 | 2.0 | ± 4.0 | ± 8 % | ≈ 0 % | | #3 PID | Kp = 2, Ki = 0.8, Kd = 0.2 | 0.25 | 0.9 | 1.4 | ± 2.5 | < 5 % | ≈ 0 % | ### 3.3 Uji Konsistensi (Repeatability Test) *(Ambil Skenario #3 (Optimal), jalankan 5 kali atau lebih dari posisi diam ke setpoint).* **Tabel 2. Statistik Konsistensi Kinerja (Misal N=5)** | Percobaan Ke- | *Settling Time* ($T_s$) | *Overshoot* (%) | | :---: | :---: | :---: | | 1 | 2.6 | 3.2 | | 2 | 2.4 | 2.8 | | 3 | 2.5 | 3.0 | | 4 | 2.6 | 3.1 | | 5 | 2.4 | 2.9 | | **Rata-rata ($\mu$)** | **2.5** | **3.0** | | **Standar Deviasi ($\sigma$)** | **0.10** | **0.15** | ### 3.4 Uji Gangguan (Disturbance Rejection) * **Gambar:** ![image](https://hackmd.io/_uploads/ryKXR7pEWe.png) Pada bagian uji gangguan, sistem awalnya bergerak menuju setpoint kelembaban tanah sebesar 60% dengan respon yang stabil. Pada detik ke-5, sistem diberikan gangguan eksternal yang menyebabkan perubahan kondisi tanah secara tiba-tiba. Saat gangguan terjadi pada detik ke-5, terlihat adanya penyimpangan kecil pada respon kelembaban tanah dari nilai setpoint. Namun, sistem tidak mengalami osilasi yang berlebihan maupun penurunan respon yang drastis. Hal ini menunjukkan bahwa sistem kendali PID mampu mendeteksi adanya gangguan melalui perubahan nilai sensor dan segera melakukan koreksi. Dari hasil pengujian ini dapat kami simpulkan bahwa sistem kendali PID memiliki kemampuan disturbance rejection yang baik. Sistem mampu: * Mendeteksi gangguan dengan cepat * Mengoreksi penyimpangan dari setpoint * Kembali ke kondisi stabil tanpa osilasi yang signifikan. Hal ini menunjukkan bahwa sistem cukup tangguh (robust) untuk digunakan pada kondisi nyata, di mana gangguan seperti perubahan kondisi tanah atau lingkungan dapat terjadi secara tiba-tiba. --- ## 4. Evaluasi dan Analisis Kinerja ### 4.1 Validasi Spesifikasi | *Parameter* | Target | Hasil Pengujian | Status | | :--- | :---: | :---: | :---: | | Settling Time (Ts) | < 3 detik | ± 2.5 detik | Tercapai | | Overshoot (Mp) | < 10% | ± 3 % | Tercapai | | Steady State Error (ess) | ≈ 0 % | ≈ 0 % | Tercapai | | Kriteria Kestabilan | ± 2 % | Dalam rentang ± 2 % | Tercapai | Berdasarkan tabel perbandingan di atas, dapat dilihat bahwa seluruh parameter kinerja utama sistem kendali PID berhasil memenuhi target spesifikasi desain. Settling time sistem berada di bawah batas maksimum yang ditetapkan, sehingga respon sistem dapat dikatakan cukup cepat untuk aplikasi irigasi otomatis. Nilai overshoot yang rendah menunjukkan bahwa sistem tidak mengalami penyiraman berlebih saat menuju setpoint, sehingga aman bagi tanaman. Selain itu, error steady-state yang mendekati nol menandakan bahwa sistem mampu mempertahankan kelembaban tanah pada nilai yang diinginkan dalam jangka waktu lama. Kriteria kestabilan juga terpenuhi, di mana fluktuasi respon sistem berada dalam batas toleransi ±2% dari setpoint. Hal ini menunjukkan bahwa pengaruh noise sensor dan gangguan lingkungan dapat diredam dengan baik oleh algoritma PID yang digunakan. ### 4.2 Analisis Mendalam 1. **Analisis Pengaruh *Gain*:** Berdasarkan hasil percobaan beberapa variasi tuning PID pada Bab III, perubahan nilai gain **𝐾p**, **𝐾i** dan **Kd** memberikan pengaruh yang jelas terhadap bentuk grafik respon sistem. * **Pengaruh 𝐾p(Proporsional)** Ketika nilai **𝐾p** dinaikkan, respon sistem menjadi lebih cepat menuju setpoint. Hal ini terlihat dari penurunan settling time pada grafik respon. Namun, peningkatan **𝐾p** yang terlalu besar menyebabkan sistem cenderung overshoot karena aksi kendali menjadi terlalu agresif. Oleh karena itu, nilai **𝐾p** dipilih pada tingkat sedang agar sistem responsif tetapi tidak berlebihan. * **Pengaruh 𝐾i(Integral)** Penambahan **𝐾i** terbukti mampu menghilangkan steady state error yang muncul pada kendali P. Grafik respon menunjukkan bahwa sistem akhirnya mencapai setpoint secara tepat. Namun, jika nilai **𝐾i** terlalu besar, respon menjadi lebih lambat dan berpotensi menimbulkan overshoot. Pada sistem ini, **𝐾i** disesuaikan agar cukup menghilangkan error tanpa mengorbankan kestabilan. * **Pengaruh *Kd* (Derivatif)** Komponen derivatif berfungsi sebagai peredam respon. Dari grafik respon PID, terlihat bahwa penambahan ***Kd*** mampu mengurangi overshoot dan membuat respon sistem lebih halus. Nilai ***Kd*** yang digunakan relatif kecil karena dinamika kelembaban tanah bersifat lambat, sehingga derivatif berlebih tidak diperlukan. 2. **Analisis Stabilitas:** a. Berdasarkan Uji Gangguan (Bab 3.4), seberapa tangguh sistem kelompok Anda? Apakahterjadi osilasi berlebih saat beban dilepas? = Berdasarkan hasil uji gangguan, sistem menunjukkan tingkat ketangguhan yang baik. Ketika gangguan diberikan, respon sistem memang menyimpang dari setpoint, tetapi tidak terjadi osilasi berlebih saat beban dilepas. Sistem mampu kembali ke setpoint dalam waktu singkat (self-recovery), yang menunjukkan kestabilan sistem terjaga. b. Apakah metode tuning PID yang kelompok Anda gunakan sudah optimal untuk membuat sistem stabil dan mempertahankan kestabilannya? = Metode tuning PID yang digunakan menghasilkan sistem yang stabil baik pada kondisi normal maupun saat terjadi gangguan. Tidak ditemukan osilasi berkelanjutan setelah gangguan dilepas, sehingga dapat disimpulkan bahwa tuning PID yang diterapkan cukup optimal untuk menjaga kestabilan dan mempertahankannya dalam jangka waktu tertentu. 3. **Trade-off Desain:** Apa yang kelompok Anda korbankan untuk mencapai kestabilan? = Untuk mencapai kestabilan sistem, terdapat beberapa kompromi desain yang harus diterima. Salah satu trade-off utama adalah respon sistem dibuat sedikit lebih lambat untuk mengurangi overshoot dan mencegah terjadinya over-watering. Dengan kata lain, kelompok mengorbankan kecepatan respon ekstrem demi mendapatkan sistem yang lebih stabil dan aman bagi tanaman. Trade-off ini dianggap wajar dan sesuai dengan tujuan utama sistem irigasi, yaitu menjaga kelembaban tanah secara stabil, bukan mengejar respon tercepat. 4. **Evaluasi Hardware:** a. Apakah ada batasan fisik (seperti driver motor atau resolusi sensor rendah) yang menghambat pencapaian target sesuai desain? = Terdapat beberapa batasan fisik yang mempengaruhi pencapaian target desain, antara lain yaitu : * Penggunaan relay sebagai driver, yang hanya memungkinkan kontrol ON–OFF dan tidak mendukung pengaturan kecepatan motor secara kontinu. * Resolusi sensor kelembaban tanah yang terbatas, sehingga pembacaan sensor masih mengandung noise dan fluktuasi kecil. Meskipun demikian, batasan ini masih dapat ditoleransi dan tidak menghalangi sistem untuk mencapai target kinerja utama. b. Apakah ada faktor mekanik (*gears, backlash*, gesekan) yang mengganggu hasil kendali? = Pada sistem ini kami tidak menggunakan mekanisme gear atau transmisi mekanik yang kompleks, sehingga faktor seperti backlash relatif kecil. Namun, faktor gesekan dan karakteristik peresapan air ke dalam tanah tetap mempengaruhi respon sistem dan menyebabkan respon menjadi lebih lambat dan non-linier. --- ## 5. Kesimpulan dan Saran ### 5.1 Kesimpulan Berdasarkan seluruh tahapan perancangan, implementasi, dan pengujian yang telah dilakukan, dapat disimpulkan bahwa sistem Smart Irrigation System berbasis kendali PID berhasil diimplementasikan dan bekerja sesuai dengan tujuan yang diharapkan. Sistem kendali PID mampu mengatur proses penyiraman secara otomatis berdasarkan kondisi kelembaban tanah yang terukur oleh sensor. Hasil pengujian menunjukkan bahwa sistem dapat mencapai setpoint kelembaban tanah sebesar 60% dengan settling time rata-rata sekitar 2,5 detik, overshoot yang kecil, serta error steady-state yang mendekati nol. Pengujian konsistensi menunjukkan bahwa respon sistem relatif stabil dan dapat diulang dengan variasi yang kecil antar percobaan. Selain itu, pada uji gangguan, sistem mampu kembali ke kondisi stabil tanpa mengalami osilasi berlebih, yang menandakan bahwa sistem memiliki tingkat kestabilan dan ketahanan yang baik terhadap gangguan eksternal. ### 5.2 Saran Pengembangan Untuk pengembangan berikutnya, rangkaian dapat dimodifikasi dengan menambahkan lampu UV (misalnya UV-A/UV-B) sebagai pengganti sinar matahari, sehingga sistem irigasi dapat diaplikasikan di lingkungan indoor. --- ## Lampiran * **Kode Program Utama (Arduino/C++):** **Deklarasi Variabel C++** // Definisi pin int sensorPin = A0; // Sensor kelembapan (AO) int relayPin = 3; // Relay pompa // Nilai sensor saat basah (dalam air) dan kering (di udara) int ADC_DRY = 800; int ADC_WET = 400; // Target kelembapan tanah 60% lembap double setpoint = 60.0; // Variabel PID double input = 0.0; // Kelembapan sekarang (%) double output = 0.0; // Output PID (0-100) // Parameter tuning PID double Kp = 2.0; double Ki = 0.5; double Kd = 0.1; // Kontrol relay int RELAY_ON = LOW; // Relay aktif LOW int RELAY_OFF = HIGH; // Buat objek PID controller PID myPID(&input, &output, &setpoint, Kp, Ki, Kd, DIRECT); // Variabel untuk menyimpan nilai sensor int sensorValue = 0; **Loop Kendali C++** void loop() { // Baca nilai analog dari sensor sensorValue = analogRead(sensorPin); // Konversi ADC ke persen kelembapan (0-100%) // ADC tinggi (kering) = kelembapan rendah (0%) // ADC rendah (basah) = kelembapan tinggi (100%) input = map(sensorValue, ADC_DRY, ADC_WET, 100, 0); input = constrain(input, 0, 100); // Compute PID myPID.Compute(); // Print ke Serial Monitor untuk monitoring Serial.print("ADC: "); Serial.print(sensorValue); Serial.print(" | Moisture: "); Serial.print(input); Serial.print("% | PID Out: "); Serial.print(output); Serial.print(" | Pump: "); // Kontrol pompa berdasarkan output PID dengan proteksi // Kalau output > 50 DAN kelembapan < 70%, pompa nyala if (output > 50 && input < 70) { digitalWrite(relayPin, RELAY_ON); Serial.println("ON"); } else { digitalWrite(relayPin, RELAY_OFF); Serial.println("OFF"); } // Tunggu 2 detik untuk memberi jeda lebih lama delay(2000); } https://github.com/Lianaulya/Sistem-Irigasi-Pintar * **Tautan Video Demonstrasi:** https://youtu.be/eH2OrqSrRKk * **Dokumentasi Foto Alat:** ![image](https://hackmd.io/_uploads/HJ5ykV6EZg.png) ![image](https://hackmd.io/_uploads/rJ0e146E-l.png) ![WhatsApp Image 2026-01-08 at 20.20.23](https://hackmd.io/_uploads/B1sBJNTNWl.jpg) --- ## Panduan Checklist Kelengkapan (Alat bantu saja untuk memastikan tidak ada yang terlewat. Sesuaikan dengan yang sebenarnya.) - [x] Target Spesifikasi (Bab 1.3) terisi jelas. - [x] Pemodelan Matematis ada (Bab 2.2). - [x] Grafik Open Loop (Linearitas) ada (Bab 3.1). - [x] Tabel Perbandingan minimal 3 variasi tuning ada (Bab 3.2). - [ ] Tabel Statistik Repeatability (5x data) ada (Bab 3.3). - [x] Grafik Uji Gangguan ada (Bab 3.4). ## 6. Rubrik Penilaian dan Pembobotan * **[PLO-3]** Kemampuan menyusun rancangan komponen, sistem dan/atau proses pada bidang teknik komputer untuk memenuhi kebutuhan yang diharapkan di dalam batasan-batasan realistis. * **[CLO-2]:** Mampu menyusun rancangan dan menganalisis sistem kendali loop tertutup dari kondisi transien hingga steady state untuk mencapai kestabilan. ### A. RUBRIK TUGAS BESAR CLO 2 (*Design & Analysis*) **Bobot:** 5% dari Nilai Akhir Mata Kuliah. **Aspek 1: Desain Spesifikasi dan Pemodelan (40 Poin)** | Level | Poin | Deskripsi Kriteria | | :--- | :---: | :--- | | **_Exemplary_** | **40** | Target spesifikasi ($T_s, M_p$) memiliki **alasan kuantitatif**. Diagram blok lengkap (*Closed-loop*) dan model matematis *Plant*, Z-N, atau PID dijelaskan dengan referensi yang benar. | | **_Satisfactory_** | **30** | Diagram blok benar dan target spesifikasi ada. Alasan penetapan angka kurang kuat atau model matematis hanya bersifat umum. | | **_Needs Improvement_** | **15** | Diagram blok tidak lengkap atau salah. Tidak ada target spesifikasi jelas, atau model matematis salah konsep. | | **_Unsatisfactory_** | **0** | Tidak ada bab desain atau terindikasi plagiasi. | **Aspek 2: Analisis Kritis Respon Transien (60 Poin)** | Level | Poin | Deskripsi Kriteria | | :--- | :---: | :--- | | **_Exemplary_** | **60** | Analisis tajam menjelaskan **korelasi fisik** *gain* PID terhadap grafik ($T_d, T_r, T_p, M_p, T_s$). Menjelaskan *trade-off* desain dengan logis. | | **_Satisfactory_** | **45** | Penjelasan benar secara teori namun bersifat **deskriptif** (hanya membaca grafik) tanpa analisis yang mendalam. | | **_Needs Improvement_** | **25** | Analisis dangkal atau keliru. Kesimpulan bertentangan dengan data grafik. Hanya menyalin teori buku. | | **_Unsatisfactory_** | **0** | Tidak ada analisis. | --- --- * **[PLO-6]** Kemampuan menerapkan metode, keterampilan dan piranti teknik modern yang diperlukan untuk praktek keteknikan dalam bidang teknik komputer. * **[CLO-3]:** Mampu menentukan dan menerapkan penggunaan kendali proporsional, integral, atau derivatif pada motor listrik untuk mencapai kestabilan. --- ### B. RUBRIK TUGAS BESAR CLO 3 (*Implementation & Tools*) **Bobot:** 20% dari Nilai Akhir Mata Kuliah. **Aspek 1: Metodologi *Tuning* dan Validitas Data (40 Poin)** | Level | Poin | Deskripsi Kriteria | | :--- | :---: | :--- | | **_Exemplary_** | **40** | Ada grafik *Open-Loop*. Melakukan minimal **3 variasi *tuning***. Menyertakan bukti **Uji Repetisi (minimal 5x)** dengan standar deviasi kecil (data valid). | | **_Satisfactory_** | **30** | Ada tuning PID dan alat jalan. Data perbandingan minim (<3) atau tidak ada uji repetisi (hanya sekali coba). | | **_Needs Improvement_** | **15** | Metode tuning tidak jelas (*trial-error* acak). Grafik respon tidak jelas skalanya atau terlihat fiktif. | | **_Unsatisfactory_** | **0** | Data fiktif atau tidak ada data. | **Aspek 2: Kestabilan dan *Robustness* (30 Poin)** | Level | Poin | Deskripsi Kriteria | | :--- | :---: | :--- | | **_Exemplary_** | **30** | Sistem stabil ($e_{ss} \approx 0$). Mampu ***Self-Recovery* (kembali stabil)** dengan cepat saat diberi gangguan fisik. Ada grafik bukti respon gangguan. | | **_Satisfactory_** | **20** | Sistem stabil mencapai *setpoint*. Respon gangguan lambat atau berosilasi lama. Dokumentasi gangguan kurang jelas. | | **_Needs Improvement_** | **10** | Sistem mencapai *setpoint*, tetapi tidak stabil (getar atau *drift*), gagal, atau berhenti saat diberi gangguan kecil. | | **_Unsatisfactory_** | **0** | Alat tidak berfungsi. | **Aspek 3: Demonstrasi Alat & Tanya Jawab (30 Poin) --> *Penilaian Individu*** | Level | Poin | Deskripsi Kriteria | | :--- | :---: | :--- | | **_Exemplary_** | **30** | Demo sempurna dan rapi. Mahasiswa menjawab pertanyaan teknis (seperti pemrograman dan rangkaian) dengan lancar dan paham secara mendetail. | | **_Satisfactory_** | **20** | Demo ada kendala minor. Menjawab pertanyaan cukup baik meski ragu pada detail teknis. | | **_Needs Improvement_** | **10** | Alat sering *error* saat demo. Mahasiswa bingung dengan alatnya sendiri (tidak menguasai). | | **_Unsatisfactory_** | **0** | Tidak hadir demonstrasi dan presentasi. | ---