---
# System prepended metadata

title: Laporan Proyek Sistem Kendali PID pada Motor Listrik (Tugas Besar CLO 2 dan CLO 3)_Setup

---

# Analisis dan Implementasi Kendali PID pada Motor Servo untuk Sistem Sirkulasi Udara

**Mata Kuliah:** Sistem Kendali dan Mekanika (ACK3AB3)
**Dosen:**  FCB
**Semester/Tahun:** Ganjil 2025/2026
**Kelas:** TK-47-04

---

## 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:** 8
* **Nama Mahasiswa 1 (101032300030):** Marsya Islami Kanahaya S.
* **Nama Mahasiswa 2 (101032300071):** Muhammad Irhan Fadil H.
* **Nama Mahasiswa 3 (101032300091):** Muhammad Saifullah Z. D.
* **Nama Mahasiswa 4 (101032330051):** Prasta Arya Seta

---

## 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
Tabung gas telah lama menjadi salah satu kebutuhan penunjang utama dalam kehidupan rumah tangga maupun kegiatan usaha. Kehadirannya sangat vital sehingga sulit membayangkan aktivitas sehari-hari tanpa adanya tabung gas sebagai sumber energi. Namun, dalam praktik penggunaannya, sering kali terjadi kelalaian, misalnya pemasangan regulator yang tidak tepat atau kurang hati-hati. Kondisi tersebut dapat menimbulkan kebocoran gas dengan intensitas kecil yang sulit terdeteksi secara kasat mata. Kebocoran halus ini, apabila tidak segera ditangani, berpotensi meningkatkan konsentrasi gas di sekitar tabung hingga mencapai kadar yang cukup untuk memicu ledakan. Situasi ini jelas menimbulkan risiko besar bagi keselamatan pengguna maupun lingkungan sekitarnya. Oleh karena itu, diperlukan suatu sistem pengendalian yang mampu mendeteksi konsentrasi gas secara otomatis dan segera melakukan tindakan pencegahan, salah satunya melalui sistem ventilasi udara berbasis kendali PID yang dapat menjaga kestabilan respon serta meningkatkan keamanan penggunaan tabung gas.

### 1.2 Tujuan 
1.  Merancang sistem kendali ventilasi otomatis 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 | Konsentrasi gas perlu diturunkan secepat mungkin  |
| **Max. Overshoot** | $M_p$ | < 2 % | Mencegah efek ledakan, jika konsentrasi gas dibiarkan tinggi terlalu lama  |
| **Steady State Error** | $e_{ss}$ | 2% dari set point | Sistem harus dapat bekerja dengan presisi tinggi  |
| **Kriteria Kestabilan** | - | 5% | Sensor gas membuat banyak noise dan fluktuasi udara, sehingga kestabilan 5% cocok untuk sistem ini  |

---

## 2. Desain dan Pemodelan Sistem

### 2.1 Diagram Blok Sistem

![image](https://hackmd.io/_uploads/SJ6FUTjNWx.png)

1. 	Set Point
Set point (ambang batas konsentrasi gas) yang telah ditentukan sebagai acuan sistem ini, yaitu sebesar 500. Nilai ini menjadi acuan utama bagi sistem kendali untuk menentukan kapan ventilasi harus diaktifkan, serta untuk melakukan analisis spesifikasi desain.
2. 	Mikrokontroler
Mikrokontroler Arduino Uno berperan sebagai pusat kendali yang menerima data dari sensor gas (MQ-2), membandingkannya dengan set point, dan menghitung sinyal kendali menggunakan algoritma PID untuk mengatur aktuator secara real-time.
3. 	Aktuator
Aktuator yang digunakan adalah motor servo, yang bertugas membuka atau menutup ventilasi udara sesuai dengan besarnya sinyal kendali yang dihasilkan oleh mikrokontroler. Perubahan sudut bukaan servo secara langsung memengaruhi laju sirkulasi udara.
4. 	Proses
Proses dalam sistem ini merujuk pada mekanisme ventilasi udara yang dipicu oleh pergerakan servo. Ketika konsentrasi gas melebihi set point, servo bergerak untuk membuka jalur ventilasi, sehingga gas dapat terdilusi dan konsentrasi kembali turun ke tingkat aman.
5. 	Variabel Kendali (Controlled Variable)
Variabel kendali dalam sistem ini adalah konsentrasi gas di sekitar tabung, yang dipantau secara kontinu oleh sensor. Nilai ini menjadi umpan balik (feedback) bagi mikrokontroler untuk menyesuaikan aksi kendali agar sistem tetap berada dalam kondisi stabil dan aman.
### 2.2 Pemodelan Matematis (Theoretical Modeling)

**A. Model Algoritma Kontroler (PID)**
Algoritma kontroler yang digunakan dalam sistem ini adalah PID (Proportional–Integral–Derivative), dengan bentuk umum sebagai berikut:
$$u(t) = K_p e(t) + K_i \int e(t) dt + K_d \frac{de(t)}{dt}$$
Karena sistem diimplementasikan pada mikrokontroler Arduino yang bekerja secara diskrit, maka persamaan tersebut diturunkan menjadi bentuk diskrit sebagai berikut:
$$
u[k] = K_p \cdot e[k] + K_i \cdot \sum_{i=0}^{k} e[i] \cdot \Delta t + K_d \cdot \frac{e[k] - e[k-1]}{\Delta t}
$$
Persamaan diskrit ini merujuk pada implementasi PID digital sebagaimana dijelaskan dalam **[AVR221: Discrete PID controller](https://fab.cba.mit.edu/classes/863.12/people/Adam.Marblestone/docs/week7/doc2558.pdf)** , dan **[Discretizing a PID controller](https://techteach.no/fag/sesm3401/h08/pid_diskret/tidsdiskret_pid_reg.pdf)** . Implementasi bentuk diskrit ini tercermin dalam kode program mikrokontroler, di mana nilai error dihitung setiap siklus loop, kemudian digunakan untuk menghitung integral dan turunan secara numerik berdasarkan interval waktu sampling $(\Delta t)$.



**B. Metode Tuning Ziegler-Nichols (Z-N)**
Sistem sirkulasi udara yang dibuat menggunakan sensor MQ-2 sebagai umpan balik kondisi lingkungan (konsentrasi gas) terhadap mikrokontroler (arduino uno), sehingga dipilihlah metode Ziegler–Nichols Tipe 1 (Osilasi Kontinu).
**Tipe 1 (Osilasi Kontinu):**
Metode [Ziegler–Nichols](https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://davidr.no/iiav3017/papers/Ziegler_Nichols_%25201942.pdf) Tipe 1 menggunakan nilai **Ultimate Gain** ($K_u$) dan **Ultimate Period** ($P_u$) yang diperoleh dari osilasi kontinu sistem closed-loop.

- **Kontrol P:**
$$K_p = 0.5 \, K_u$$

- **Kontrol PI:**
$$K_p = 0.45 \, K_u$$
$$K_i = \frac{K_p}{0.83 \, P_u}$$

- **Kontrol PID:**
$$K_p = 0.6 \, K_u$$
$$K_i = \frac{2 K_p}{P_u}$$
$$K_d = \frac{K_p \, P_u}{8}$$

**C. Model Plant (Motor)**
* **Motor Servo (Position Control)**
    Motor servo yang digunakan dalam sistem ini berfungsi sebagai aktuator untuk mengatur bukaan ventilasi berdasarkan sinyal kendali dari mikrokontroler. Secara umum, karakteristik dinamis dari motor servo dapat didekati sebagai sistem orde dua, terutama jika terdapat efek osilasi mekanik atau inersia beban.

Fungsi transfer dari sistem posisi motor servo dapat dituliskan sebagai:

$$
G(s) = \frac{\theta(s)}{V(s)} \approx \frac{K}{s(\tau s + 1)}
$$

di mana:
- $\theta(s)$ adalah posisi sudut keluaran (output)
- $V(s)$ adalah tegangan input ke motor (dari sinyal PWM)
- $K$ adalah gain sistem
- $\tau$ adalah konstanta waktu mekanik.

Model ini menunjukkan bahwa motor servo memiliki sifat integratif dan respon lambat akibat inersia, sehingga tuning PID perlu mempertimbangkan keterlambatan dan kemungkinan overshoot. Dalam implementasi praktis, nilai $K$ dan $\tau$ dapat diperoleh melalui eksperimen atau referensi datasheet motor servo yang digunakan.

### 2.3 Spesifikasi Perangkat Keras
* **Servo:** Microservo Tipe SG90 9g, Tegangan: 4.8 - 6V, RPM/Torsi Max: 2.5 kg/cm
* **Sensor:** Sensor Gas MQ-2, Tegangan 5V
* **Buzzer:** Buzzer Aktif HYT1203C, Tegangan 3 - 5V
* **LED:** Merah & Hijau 
* **Kontroler:** Arduino Uno, Tegangan: 5V, FlashMemory 32KB, Clock Speed: 16MHz

---

## 3. Implementasi dan Pengujian
### 3.1 Karakteristik Open-Loop (Linearitas Plant)

Untuk mengetahui karakteristik Open-loop pada sistem, dilakukan dengan pengujian sesuai jenis actuatornya. Dalam sistem ventilasi udara berbasis nilai bacaan sensor gas ini, menggunakan microservo sebagai actuator. Pengujian microservo secara open-loop dilakukan untuk mengetahui karakteristik dasar dari aktuator motor servo tanpa pengaruh algoritma kendali PID. Dalam skenario microservo, sistem dikendalikan secara langsung dengan memberikan dua perintah posisi sudut ,yakni 30°, 60°, hingga 90°. Pengujian dilakukan dengan mengubah baris kode: $$myservo.write(x);$$
nilai x diisi dengan besaran sudut yang ingin diuji, yaitu 30°, 60°, dan 90°.

Tabel berikut menunjukkan hasil pengujian karakteristik open-loop microservo dengan memberikan perintah sudut tertentu sebagai input dan mengamati respon sudut aktual sebagai output.


| NO  | Sudut Target(°)| Sudut Aktual|
| --- | --------       | --------    |
| 1.  |     30°        |     30°     |
| 2.  |     60°        |     60°     |
| 3.  |     90°        |     90°     |

**Grafik Karakteristik:**
![image](https://hackmd.io/_uploads/B1e4uLA4bg.png)

**Analisis:**
1.  Apakah grafik membentuk garis lurus? (Semakin linear semakin mudah dikendalikan).
Ya, grafik membentuk garis lurus. Ini berarti microservo mudah dikendalikan
2.  Pada *input* berapa motor baru mulai bergerak? 
Servo Servo motor mulai bergerak menuju sudut 90° ketika sensor gas mendeteksi konsentrasi gas lebih besar dari 500 ppm. Kondisi ini menandakan bahwa sistem ventilasi diaktifkan untuk membuka saluran udara. Sebaliknya, ketika sensor gas mendeteksi konsentrasi gas lebih kecil dari 500 ppm, servo motor akan bergerak kembali menuju sudut 0°, sehingga ventilasi tertutup. Dengan demikian, nilai 500 ppm berperan sebagai nilai ambang (threshold) yang menentukan perubahan kondisi sistem.
3.  Apakah ada titik ketika *input* dinaikkan tetapi *output* tidak bertambah lagi?
Ya, terdapat titik di mana peningkatan nilai input (set point sudut) tidak lagi diikuti oleh peningkatan output (sudut aktual servo). Hal ini terjadi ketika set point telah mencapai batas maksimum sudut kerja servo, yaitu 90°. Pada kondisi tersebut, meskipun set point dinaikkan, sudut aktual servo tetap berada pada nilai maksimum karena dibatasi oleh kemampuan fisik servo maupun pembatasan pada program. Kondisi ini menunjukkan terjadinya saturasi pada aktuator, di mana sistem tidak dapat merespons kenaikan input lebih lanjut.

### 3.2 Analisis Perbandingan Respons (*Step Response*)
Untuk mengevaluasi performa sistem kendali, dilakukan pengujian terhadap dua skenario tuning PID yang berbeda, masing-masing dengan konfigurasi parameter yang spesifik. Tujuan dari pengujian ini adalah untuk membandingkan karakteristik respons transien seperti waktu naik (rise time), waktu puncak (peak time), waktu tunak (settling time), overshoot, dan error keadaan tunak.

**Skenario #1 – Kontrol Proposional Saja ($K_p$)**
![Screenshot 2026-01-09 221412](https://hackmd.io/_uploads/B1rwsqAV-e.png)


Pada skenario pertama, sistem dikendalikan hanya dengan parameter proporsional, yaitu $K_p=0.5$, sementara $K_i=0$ dan $K_d=0$. Hasil pengujian menunjukkan bahwa sistem merespons perubahan setpoint dengan bertahap (sedikit patah patah) dan tanpa overshoot. Dari grafik, posisi servo (value 2) bergerak naik secara bertahap menuju setpoint (value 1), sementara error (value 3) berkurang perlahan hingga mendekati nol. 
- **Interpretasi sumbu X:** Pada Arduino Serial Plotter, sumbu X merepresentasikan indeks sampel. Karena loop menggunakan delay(20), ini berarti setiap sampel setara dengan 20 ms waktu nyata. 
$$t_{\mathrm{per\  sampel}}=20\, \mathrm{ms}$$ 
Indeks sampel dari grafik:
- Awal perubahan (x₀): 103
- Mencapai 10% (27°): x ≈ 370
- Mencapai 50% (55°): x ≈ 371
- Mencapai 90% (83°): x ≈ 376
- Masuk band ±5%: x ≈ 388

Konversi waktu (20 ms per sampel):

- **Band kestabilan:** Menggunakan band ±5% dari setpoint 90°, batas kestabilan adalah
$$90^{\circ }\pm 5\% \Rightarrow [85.5^{\circ },\; 94.5^{\circ }]$$ 
- **Delay time:** 
$$T_d\approx (376-370)\times 20\, \mathrm{ms}=120\, \mathrm{ms}=0.12\, \mathrm{s}$$ 
- **Rise time:** 
$$T_r\approx (388-371)\times 20\, \mathrm{ms}=340\, \mathrm{ms}=0.34\, \mathrm{s}$$ 
- **Peak time:** terlihat dari grafik tidak ada overshoot, sehingga tidak ada peak time
- **Settling time:** 
$$T_s\approx (389-370)\times 20\, \mathrm{ms}=380\, \mathrm{ms}=0.38\, \mathrm{s}$$ 

**Skenario #2 – Kontrol Proposional dan Integral ($K_p$ & $K_i$)**
![WhatsApp Image 2026-01-09 at 7.14.00 PM](https://hackmd.io/_uploads/HknsZdRVbg.jpg)
Pada skenario ke-dua ini, sistem hanya dikendalikan oleh dua parameter yaitu Kp dan Ki, dengan $K_p=0.5$, $K_i=0.1$ dan $K_d=0$. Berdasarkan hasil pengujian yang ditunjukkan pada grafik, sistem menunjukkan respon yang cepat dan stabil. Sudut servo mengalami kenaikan menuju nilai setpoint dan kemudian mencapai kondisi stabil tanpa osilasi yang signifikan.
- **Delay time:** 
$$T_d\approx (1026-1021)\times 20\, \mathrm{ms}=100\, \mathrm{ms}=0.10\, \mathrm{s}$$ 
- **Rise time:** 
$$T_r\approx (1033-1022)\times 20\, \mathrm{ms}=220\, \mathrm{ms}=0.22\, \mathrm{s}$$
- **Peak time:** terlihat dari grafik tidak ada overshoot, sehingga tidak ada peak time
- **Settling time:** 
$$T_s\approx (1034-1021)\times 20\, \mathrm{ms}=260\, \mathrm{ms}=0.26\, \mathrm{s}$$

**Skenario #3 – Kontrol PID**
![WhatsApp Image 2026-01-09 at 5.02.21 PM](https://hackmd.io/_uploads/ryPU7DR4Zx.jpg)
Pada skenario ke-tiga, sistem ini dikendalikan dengan parameter $K_p=0.2$, $K_i=0.1$ dan $K_d=0.005$. Berdasarkan gambar, terlihat bahwa respon sistem ini lebih cepat merespons menunjukan kenaikan sudut servo lebih halus dan terkendali menuju setpoint, terjadi sedikit penurunan sebelum akhirnya stabil tanpa adanya osilasi. 
- **Delay time:** 
$$T_d\approx (1055-1048)\times 20\, \mathrm{ms}=140\, \mathrm{ms}=0.14\, \mathrm{s}$$ 
- **Rise time:** 
$$T_r\approx (1078-1049)\times 20\, \mathrm{ms}=580\, \mathrm{ms}=0.58\, \mathrm{s}$$
- **Peak time:** terlihat dari grafik tidak ada overshoot, sehingga tidak ada peak time
- **Settling time:** 
$$T_s\approx (1080-1048)\times 20\, \mathrm{ms}=640\, \mathrm{ms}=0.64\, \mathrm{s}$$

**Skenario #4 – Kontrol PID**
![WhatsApp Image 2026-01-08 at 20.38.48](https://hackmd.io/_uploads/Hy7h8EaVWx.jpg)

Pada skenario ke-empat ini, sistem dikendalikan dengan parameter proporsional sebesar $K_p=0.06$, $K_i=0.05$ dan $K_d=0.005$. Arduino plotter menunjukkan bahwa sistem merespons perubahan setpoint dengan cepat diawal (value 2) namun ada sedikit penurunan sedikit sebelum akhirnya stabil tanpa osilasi, dan tidak ada overshoot.

- **Delay time:** 
$$T_d\approx (3476-3461)\times 20\, \mathrm{ms}=300\, \mathrm{ms}\approx 0.3\, \mathrm{s}$$ 
- **Rise time:** 
$$T_r\approx (3499-3464)\times 20\, \mathrm{ms}=700\, \mathrm{ms}\approx 0.7\, \mathrm{s}$$ 
- **Peak time:** terlihat dari grafik tidak ada overshoot, sehingga tidak ada peak time
- **Settling time:** 
$$T_s\approx (3506-3461)\times 20\, \mathrm{ms}=900\, \mathrm{ms}\approx 0.9\, \mathrm{s}$$ 



**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 Hanya $K_p$                    |  $K_p$ = 0.5, $K_i$ = 0, $K_d$ = 0  |         0.12s         |        0.34s        |          -          |          0.38s           |        0%       |          0           |
| #2 Hanya $K_p$ dan $K_i$          | $K_p$ = 0.5, $K_i$ = 0.1, $K_d$ = 0 |         0.10s          |         0.22s         |         -         |           0.26s           |       0%       |         0         |
| #3 PID 0. $K_p$, $K_i$, dan $K_d$ |   $K_p$ = 0.2, $K_i$ = 0.1, $K_d$ = 0.005   |         0.14s          |         0.58s         |         -         |           0.64s           |       0%       |         0         |
| #4 PID 1. $K_p$, $K_i$, dan $K_d$ |   $K_p$ = 0.06, $K_i$ = 0.05, $K_d$ = 0.005   |         0.3s          |         0.7s         |         -         |           0.9s           |       0%       |         0         |

### 3.3 Uji Konsistensi (Repeatability Test)
Uji konsistensi dilakukan dengan pilihan tuning $K_p$ $K_i$ $K_d$ terbaik, yakni skenario kedua dengan $K_p$ = 0.5 dan $K_i$ = 0.1, tanpa $K_d$. Uji ini dijalankan sebanyak 6 kali dari posisi diam ke setpoint

**Tabel 2. Statistik Konsistensi Kinerja (Misal N=5)**

| Percobaan Ke- | *Settling Time* ($T_s$) | *Overshoot* (%) |
| :---: | :---: | :---: |
| 1 | 0.24s | 0 |
| 2 | 0.24s | 0 |
| 3 | 0.26 | 0 |
| 4 | 0.27 | 0 |
| 5 | 0.25s | 0 |
| 6 | 0.24 | 0 |
| **Rata-rata ($\mu$)** | **1.5s** | **0** |
| **Standar Deviasi ($\sigma$)** | **1.25s** | **0** |

Berdasarkan hasil pengujian sebanyak enam kali, sistem menunjukkan performa yang konsisten dengan nilai settling time yang relatif stabil dan tidak mengalami overshoot. Rata-rata waktu tunak berada di kisaran 0.24 hingga 0.27 detik, dengan standar deviasi yang sangat kecil. Hal ini mengindikasikan bahwa sistem memiliki tingkat repeatability yang baik, serta mampu mempertahankan kestabilan dan akurasi kendali secara berulang dalam kondisi yang sama.

### 3.4 Uji Gangguan (Disturbance Rejection)
* **Gambar:** 
 ![Screenshot 2026-01-09 224216](https://hackmd.io/_uploads/Hk8GMjRN-x.png)
* **Analisis:** Berdasarkan dari grafik plotter, gangguan muncul sekitar x ≈ 2425, karena kurva posisi (oranye) tidak langsung ke setpoint  melainkan berfluktuasi beberapa saat sampai stabil di sekitar 80° dan terus naik menuju set point (90°).

Perhitungan recovery time (berbasis nilai akhir aktual)
- Awal gangguan (x₀): ≈ 2425
- Masuk band ±5% dari 80°: ≈ 2438
- Interval sampel: 20 ms per titik
$$\mathrm{Recovery\  time}\approx (2438-2425)\times 20\, \mathrm{ms}=260\, \mathrm{ms}=0.26\, \mathrm{s}$$


## 4. Evaluasi dan Analisis Kinerja

### 4.1 Validasi Spesifikasi
Berdasarkan Tabel 2, rata-rata waktu tunak (settling time) sistem adalah sekitar 0.25 detik, dengan overshoot 0% pada seluruh percobaan. Jika dibandingkan dengan target performa pada Bab 1.3, yaitu:
• 	Settling Time  $T_s<3\, \mathrm{s}$
• 	Overshoot $M_p<2\%$
• 	Steady State Error $e_{ss}=2\%$
• 	Kriteria Kestabilan = 5%
Maka dapat disimpulkan bahwa semua spesifikasi desain telah berhasil dicapai. Sistem menunjukkan respons yang cepat, stabil, dan akurat, serta mampu mempertahankan performa secara konsisten dalam berbagai uji coba. Hal ini mengindikasikan bahwa parameter tuning yang digunakan sudah optimal untuk kebutuhan sistem.

### 4.2 Analisis Mendalam

1.  **Analisis Pengaruh *Gain*:** Berdasarkan perbandingan keempat grafik percobaan, terlihat jelas bahwa perubahan nilai $K_p$, $K_i$, dan $K_d$ sangat mempengaruhi bentuk respons sistem. Pada kontrol proporsional saja, sistem mampu merespons perubahan setpoint dengan cepat, namun masih menyisakan steady-state error yang cukup signifikan.  Penambahan komponen integral ($K_i$) pada kontrol PI membuat error berkurang hingga mendekati nol, yang terlihat dari kurva error yang perlahan turun dan akhirnya menghilang. Namun, peningkatan ($K_i$) juga menyebabkan respons menjadi lebih lambat dan cenderung agresif pada fase awal. Saat komponen derivatif ($K_d$) ditambahkan pada kontrol PID, respons sistem menjadi lebih halus dan teredam, ditunjukkan oleh berkurangnya lonjakan error awal serta pergerakan posisi servo yang lebih stabil saat mendekati setpoint. Pada nilai gain PID yang terlalu kecil, meskipun sistem sangat stabil, respons menjadi sangat lambat sehingga waktu pencapaian setpoint meningkat secara signifikan.
2.  **Analisis Stabilitas:** 
    a. Berdasarkan Uji Gangguan (Bab 3.4), seberapa tangguh sistem kelompok Anda? Apakah terjadi osilasi berlebih saat beban dilepas?
    b. Apakah metode *tuning* PID yang kelompok Anda gunakan sudah optimal untuk membuat sistem stabil dan mempertahankan kestabilannya?
    Metode tuning PID yang digunakan sudah cukup efektif dalam meningkatkan kestabilan sistem, terutama setelah penambahan komponen derivatif. Namun, dari perbandingan grafik terlihat bahwa tuning tersebut belum sepenuhnya optimal karena masih terdapat kompromi antara kecepatan respons dan kestabilan. Beberapa konfigurasi PID menghasilkan respons yang sangat stabil tetapi terlalu lambat, sedangkan konfigurasi lain lebih cepat namun masih menunjukkan error awal yang cukup besar.
4.  **Trade-off Desain:** Apa yang kelompok Anda korbankan untuk mencapai kestabilan? (Misal: Respon jadi agak lambat demi menghilangkan *overshoot*).
Untuk mencapai kestabilan sistem, kelompok mengorbankan kecepatan respons. Hal ini terlihat jelas pada konfigurasi PID dengan nilai gain kecil, di mana overshoot dan osilasi hampir tidak ada, namun waktu naik dan waktu tunak menjadi lebih lama. Sebaliknya, saat gain diperbesar untuk mempercepat respons, sistem menunjukkan lonjakan error awal yang lebih tinggi. Dengan demikian, desain sistem lebih diprioritaskan pada kestabilan dan kehalusan respons dibandingkan kecepatan pencapaian setpoint.
6.  **Evaluasi Hardware:** 
    a. Apakah ada batasan fisik (seperti driver motor atau resolusi sensor rendah) yang menghambat pencapaian target sesuai desain?
Pada sistem ventilasi yang dirancang, beberapa keterbatasan hardware mempengaruhi performa kendali. Koneksi kabel yang sering kali longgar menyebabkan sinyal sensor maupun aktuator tidak selalu stabil, sehingga respons sistem menjadi tidak konsisten. Selain itu, sensor gas yang digunakan memiliki waktu respons yang relatif lambat, terutama saat terjadi perubahan konsentrasi gas secara mendadak. Kondisi ini mengakibatkan adanya keterlambatan dalam pendeteksian gas, sehingga servo membuka ventilasi tidak secara langsung mengikuti kondisi lingkungan yang sebenarnya. Keterbatasan ini berkontribusi pada meningkatnya error dan memperlambat respons sistem meskipun parameter PID telah disetel.
    
    b. Apakah ada faktor mekanik (*gears, backlash*, gesekan) yang mengganggu hasil kendali?
Faktor mekanik juga memberikan pengaruh signifikan terhadap hasil kendali. Ventilasi dibuat menggunakan bahan kardus yang memiliki kekakuan rendah, sehingga saat servo bergerak, mekanisme pembukaan dan penutupan tidak dapat mencapai posisi maksimum secara konsisten. Akibatnya, ventilasi tidak terbuka dan tertutup secara penuh sesuai perintah kendali. Kondisi ini menimbulkan deviasi antara sudut servo yang diperintahkan oleh sistem dan posisi ventilasi yang sebenarnya, sehingga mempengaruhi akurasi sistem dan menyebabkan respons terlihat lebih lambat atau tidak linear pada grafik.

---

## 5. Kesimpulan dan Saran

### 5.1 Kesimpulan
 Berdasarkan seluruh rangkaian proses perancangan, implementasi, hingga tahap pengujian yang telah dilaksanakan, terdapat beberapa poin utama yang dapat disimpulkan mengenai kinerja sistem kendali PID pada aktuator servo untuk ventilasi gas ini:
 - Efektivitas Implementasi Sistem: Sistem kendali yang dirancang telah berhasil diimplementasikan dengan baik. Integrasi antara sensor gas sebagai input dan motor servo sebagai aktuator ventilasi menunjukkan sinkronisasi yang solid. Aktuator mampu bekerja secara otomatis untuk membuka jalur sirkulasi udara saat kadar gas meningkat dan menutupnya kembali secara presisi ketika sensor mendeteksi kondisi lingkungan telah kembali aman.
 - Karakteristik Respon Aktuator: Melalui pengujian teknis, motor servo terbukti mampu mengikuti perubahan setpoint dari posisi 0° hingga 90° dengan waktu respon yang tergolong cepat. Pada penelitian ini, parameter kendali yang diterapkan adalah Kp = 5, Ki = 0, dan Kd = 0. Hal ini menunjukkan bahwa sistem saat ini beroperasi menggunakan kendali Proporsional (P). Meskipun belum mengoptimalkan komponen Integral dan Derivatif secara penuh, skema kendali ini sudah cukup mumpuni dan stabil untuk memenuhi kebutuhan standar aplikasi ventilasi otomatis yang dirancang.
 - Analisis Stabilitas dan Konsistensi: Data yang diperoleh dari grafik hasil pengujian menunjukkan adanya sedikit lonjakan (overshoot) pada fase awal pergerakan servo. Namun, kondisi ini bersifat sementara dan tidak memicu terjadinya osilasi berulang yang dapat mengganggu mekanik alat. Begitu mencapai titik setpoint, posisi servo cenderung menetap dengan fluktuasi yang sangat minim. Hal ini menjadi bukti bahwa sistem memiliki tingkat konsistensi dan stabilitas yang baik dalam menjaga posisi bukaan ventilasi.
 - Pencapaian Tujuan Penelitian: Secara menyeluruh, penelitian ini telah mencapai target yang ditetapkan. Sistem tidak hanya mampu menjalankan fungsinya secara otomatis, tetapi juga memberikan jaminan respon yang tanggap terhadap perubahan kondisi gas, sehingga aspek fungsionalitas dan keamanan dari alat ini dapat diandalkan.
 

### 5.2 Saran Pengembangan

---

Meskipun sistem telah bekerja dengan baik, masih terdapat ruang untuk pengembangan lebih lanjut guna mencapai kesempurnaan performa. Berikut adalah beberapa saran yang dapat dipertimbangkan untuk penelitian mendatang:

- Optimalisasi Parameter PID: Disarankan untuk mulai mengeksplorasi dan menambahkan nilai pada komponen Integral (Ki) serta Derivatif (Kd). Dengan menerapkan kendali PID penuh, diharapkan kesalahan pada kondisi tunak (steady-state error) dapat dieliminasi sepenuhnya dan pergerakan servo menjadi jauh lebih halus (smooth).

- Penerapan Kendali Cerdas (Intelligent Control): Untuk menghadapi karakteristik lingkungan yang dinamis, penggunaan metode kendali yang lebih adaptif seperti Fuzzy-PID sangat direkomendasikan. Hal ini memungkinkan sistem untuk melakukan penyesuaian parameter secara mandiri tanpa harus melakukan tuning ulang secara manual.

- eningkatan Kualitas Sensor: Keandalan sistem sangat bergantung pada data masukan. Oleh karena itu, penggunaan sensor gas dengan tingkat presisi yang lebih tinggi serta stabilitas pembacaan yang lebih baik akan sangat meningkatkan akurasi sistem dalam mengambil keputusan.

- Implementasi Pemrosesan Sinyal: Untuk meminimalisir gangguan sinyal (noise) yang sering terjadi pada sensor analog, perlu ditambahkan algoritma penyaringan data atau filter digital (seperti Simple Moving Average atau Kalman Filter). Hal ini bertujuan agar servo tidak bergerak secara sporadis akibat lonjakan data yang tidak valid.

- Analisis Performa yang Lebih Komprehensif: Pada penelitian berikutnya, sangat disarankan untuk melakukan evaluasi performa menggunakan analisis numerik yang lebih mendalam. Penghitungan variabel seperti rise time (waktu naik), settling time (waktu tunak), dan persentase overshoot secara matematis akan memberikan gambaran yang lebih ilmiah dan terukur mengenai kualitas sistem yang dikembangkan.
## Lampiran
* **Kode Program Utama (Arduino/C++):** https://github.com/kwa23/SKM-Tubes.git
* **Tautan Video Demonstrasi:** https://drive.google.com/drive/folders/1EsozeXtOfkfNzUNufxhgKeNr12iqohFt
* **Dokumentasi Foto Alat:** https://drive.google.com/folderview?id=18btu0LSEvJUCopwLA3PRfhq7tuhL26cS

---

## 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).
- [x] 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. |

---
