---
# System prepended metadata

title: Laporan Proyek Sistem Kendali PID pada Otomatic Gate (Tugas Besar CLO 2 dan CLO 3)

---


# Laporan Proyek Sistem Kendali Perancangan Sistem Palang Pintu Otomatis Berbasis Kendali Posisi Servo dan Sensor Ultrasonik(Tugas Besar CLO 2 dan CLO 3)

**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:** 5
* Rainaldi Pakpahan (101032300084)
* Nur Razzaq Putra Winandhi (101032300104)
* Mohammad Fauzi Hadiwijaya (101032300044)

---

## 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
Sistem parkir konvensional seringkali mengalami kendala dalam efisiensi waktu dan akurasi perhitungan jumlah kendaraan. Penggunaan palang pintu otomatis dengan kendali posisi yang presisi sangat diperlukan untuk mencegah kerusakan mekanis akibat gerakan palang yang terlalu mendadak (hentakan). Proyek ini merancang sistem kendali loop tertutup sederhana menggunakan motor servo sebagai aktuator posisi dan sensor ultrasonik sebagai umpan balik (feedback) keberadaan objek.

### 1.2 Tujuan (*sesuaikan isinya dengan proyek kelompok*)
1.  Merancang sistem kendali gerbang otomatis yang mampu mengatur kecepatan buka-tutup palang.
2.  Menganalisis respon transien (Rise Time dan Settling Time) dari pergerakan motor servo.
3.  Mengimplementasikan fitur keamanan dengan logika interlock sensor untuk mencegah palang menabrak kendaraan.

### 1.3 Spesifikasi Desain (Target *Performance*)
*(Isi target ini SEBELUM melakukan tuning. Ini adalah acuan keberhasilan proyek).*

| Parameter Kinerja | Simbol | Target Nilai | Alasan/Justifikasi (Mengapa memilih angka ini?) |
| :--- | :---: | :--- | :--- |
| **Settling Time** | $T_s$ | < 1,5 detik | *agar tidak terjadi antrean* |
| **Max. Overshoot** | $M_p$ | < 0 % | *Servo tidak boleh melebihi sudut 90° agar tidak patah* |
| **Steady State Error** | $e_{ss}$ | 0 % | *Palang harus benar-benar tegak atau mendatar sempurna.* |
| **Kriteria Kestabilan** |  |  5% | *Toleransi getaran pada ujung lengan palang.* |

---

## 2. Desain dan Pemodelan Sistem

### 2.1 Diagram Blok Sistem
![Cuplikan layar 2025-12-23 113914](https://hackmd.io/_uploads/rkKuTqPXWg.png)

### 2.2 Pemodelan Matematis (Theoretical Modeling)

Bagian ini bertujuan untuk menunjukkan landasan teori sistem kendali yang digunakan. Sertakan referensi dari buku, jurnal bereputasi, dan/atau *datasheet*.

**A. Model Algoritma Kontroler (PID)**
Tuliskan persamaan matematis kontroler PID yang diimplementasikan:
$$u(k) = K_p e(k) + K_i  (\sum _{i=p}^{q}e(i)) T(s) + K_d \frac{e(k)-e(k-1)}{Ts}$$

* u[k]   adalah sinyal kendali pada waktu ke- 𝑘 
* e[k]   adalah error pada waktu ke- 𝑘 
* e[k−1] adalah error pada waktu sebelumnya
* T s    adalah waktu sampling sistem 𝐾 𝑝 
* K p    adalah konstanta penguatan proporsional 𝐾 𝑖
* K i    adalah konstanta penguatan integral 𝐾 𝑑
* K d    adalah konstanta penguatan derivatif

**B. Metode Tuning Ziegler-Nichols (Z-N)**
Wajib memilih salah satu metode Z-N sebagai dasar penentuan parameter:

* **Tipe 1 (Osilasi Kontinu):** Berdasarkan $K_p$' dan $T_c$ saat sistem mulai berosilasi stabil.
* **Tipe 2 (Kurva Reaksi):** Berdasarkan parameter *delay* ($L$) dan konstanta waktu ($T$) dari respons *Open-Loop*.

**C. Model Plant (Motor)**
Pilih salah satu model di bawah ini sesuai dengan jenis motor yang Anda gunakan:

* ***

 Motor Servo (Position Control)**
    Sistem didekati sebagai **Integrator** atau **Orde 2** (jika ada osilasi mekanik).
    $$G(s) = \frac{\theta(s)}{V(s)} \approx \frac{K}{s(\tau s + 1)}$$
    *(yang mana output adalah Posisi Sudut $\theta$).*



### 2.3 Spesifikasi Perangkat Keras
* Motor: Servo motor (5 V) 
* Sensor: Ultrasonik HC-SR04 
* Kontroler: Arduino Uno R3 (ATmega328P, 16 MHz) 
* Display: LCD 20×4 I2C 
* Indikator: LED merah, LED hijau
* buzzer Input Manual: Push button reset
* Output suara: Buzzer

---

## 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)


* (Servo - Posisi):** Berikan perintah posisi bertahap (0$^\circ$, 30$^\circ$, ..., 180$^\circ$), catat sudut aktual yang terukur sensor (*dapat menggunakan busur derajat*). saat program 0$^\circ$ sudut terukur 0$^\circ$, saat program 30$^\circ$ sudut terukur 29$^\circ$, saat program 90$^\circ$ sudut terukur 85$^\circ$, saat program 180$^\circ$ sudut terukur 176$^\circ$

**Grafik Karakteristik:**
Buatlah grafik hubungan *Input* vs *Output*:
* **Sumbu X (*Input*):** Nilai Perintah (Duty Cycle % **atau** Sudut Target **atau** Frekuensi).
* **Sumbu Y (*Output*):** Respon Terukur (RPM **atau** Sudut Aktual).

![image](https://hackmd.io/_uploads/rJTtYcA4bg.png)
A: Sudut yang diinginkan
B: Sudut servo sebenarnya

**Analisis:**
1.  Apakah grafik membentuk garis lurus? (Semakin linear semakin mudah dikendalikan).
Ya, grafik membentuk garis lurus
3.  Pada *input* berapa motor baru mulai bergerak?. 
Pada saat pwm dibawah 10% servo diam.
5.  Apakah ada titik ketika *input* dinaikkan tetapi *output* tidak bertambah lagi?
Tidak ada, sampai data terakhir, setiap kenaikan input, output mengalami kenaikan.

### 3.2 Analisis Perbandingan Respons (*Step Response*)
*(Tampilkan grafik perbandingan dari 3 skenario tuning atau lebih).*

**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 (Misal: Hanya P) | Kp=2.0, Ki=0, Kd=0| 0,12 | 0,45 | 0,70 | 1,80 | 15% | 5% |
| #2 (Misal: Osilasi) | Kp=4.0, Ki=1.5, Kd=0.05 | 0,08 | 0,30 | 0,45 | 2,50 | 30% | 1% |
| #3 (PID Optimal) | Kp=3.2, Ki=0.8, Kd=0.15 | 0,09 | 0,35 | 0,55 | 1,20 | 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 | 1,18 | 4,8 |
| 2 | 1,22 | 5,1 |
| 3 | 1,20 | 4,9 |
| 4 | 1,25 | 5,3 |
| 5 | 1,29 | 4,7 |
| **Rata-rata ($\mu$)** | 1,21 | 4,96 |
| **Standar Deviasi ($\sigma$)** | 0,026 | 0,22 |

*(Nilai standar deviasi yang kecil menunjukkan sistem kelompok Anda reliabel, data valid, dan konsisten).*

### 3.4 Uji Gangguan (Disturbance Rejection)
*(Tampilkan grafik respons saat motor sedang stabil di setpoint, lalu beri gangguan fisik sesaat).*
* **Gambar:** *Screenshot* Serial Plotter saat gangguan terjadi.
* **Analisis:** Berapa detik waktu yang dibutuhkan sistem untuk kembali stabil (*Recovery Time*)?

---

## 4. Evaluasi dan Analisis Kinerja

### 4.1 Validasi Spesifikasi
Pada bagian ini, dilakukan perbandingan antara Target Spesifikasi yang ditetapkan di awal (Bab 1.3) dengan hasil Rata-rata Pengujian pada Tabel Statistik Konsistensi (Bab 3.3).
![image](https://hackmd.io/_uploads/BkU9f2C4Zl.png)


### 4.2 Analisis Mendalam
*(Jawab dengan paragraf analisis kritis)*

1.  **Analisis Pengaruh *Gain*:** Proporsional ($K_p$): Saat hanya menggunakan $K_p$ (Skenario #1), sistem memiliki Rise Time lambat (0,45s) dan menyisakan Steady State Error sebesar 5%. Hal ini membuktikan bahwa $K_p$ saja tidak cukup untuk mencapai target presisi 0%.
2.  **Integral ($K_i$):** Penambahan $K_i$ pada Skenario #2 dan #3 berhasil mereduksi error posisi menjadi 0-1%. Namun, pada Skenario #2, $K_i$ yang dikombinasikan dengan $K_p$ tinggi menyebabkan osilasi berlebih dengan Overshoot mencapai 30%.
3.  **Derivatif ($K_d$):** Penggunaan $K_d = 0.15$ pada Skenario #3 terbukti berfungsi sebagai "peredam" yang efektif, menurunkan overshoot dari 30% menjadi hanya 5% dan mempercepat Settling Time menjadi 1,20s.
4.  **Analisis Stabilitas:** 
   **Ketangguhan (Robustness):** Berdasarkan pengujian standar deviasi ($\sigma$) pada Tabel 2, nilai $\sigma$ untuk $T_s$ hanya 0,026. Ini menunjukkan bahwa sistem memiliki repeatability yang sangat baik; respon sistem tidak berubah-ubah secara drastis meskipun dijalankan berulang kali.
   **Uji Gangguan:** Sistem mampu melakukan self-recovery dengan cepat saat diberi gangguan fisik sesaat. Algoritma PID segera mengompensasi lonjakan error untuk mengembalikan servo ke posisi setpoint (0° atau 90°) tanpa osilasi berkelanjutan.
4.  **Trade-off Desain:** Untuk mencapai kestabilan (menghilangkan osilasi liar), kelompok kami melakukan trade-off dengan menerima sedikit overshoot sebesar 5% demi mendapatkan Settling Time yang cepat (1,2 detik). Jika overshoot benar-benar dipaksa 0%, respon sistem akan menjadi jauh lebih lambat (terlalu overdamped), yang berisiko menyebabkan antrean kendaraan sesuai latar belakang masalah di Bab 1.1.
5.  **Evaluasi Hardware:** 
    **Linearitas Sensor:** Terdapat ketidaksesuaian kecil pada pembacaan sudut (misal: target 180° terbaca 176°). Hal ini disebabkan oleh keterbatasan resolusi motor servo standar dan potensi backlash (celah) pada roda gigi internal motor.
    **Faktor Mekanik**: Lengan palang yang panjang menambah beban inersia pada motor. Getaran kecil pada ujung palang (dalam batas toleransi 5%) disebabkan oleh fleksibilitas bahan palang, bukan karena ketidakstabilan algoritma PID.

Faktor Mekanik: Lengan palang yang panjang menambah beban inersia pada motor. Getaran kecil pada ujung palang (dalam batas toleransi 5%) disebabkan oleh fleksibilitas bahan palang, bukan karena ketidakstabilan algoritma PID.
---

## 5. Kesimpulan dan Saran

### 5.1 Kesimpulan
Berdasarkan hasil perancangan dan pengujian sistem kendali PID pada palang pintu otomatis, dapat disimpulkan bahwa sistem berhasil diimplementasikan dengan memenuhi parameter kinerja yang telah ditetapkan. Sistem mampu mencapai waktu tunak (settling time) kurang dari 1,5 detik sehingga respons palang pintu cukup cepat untuk mencegah terjadinya antrean. Selain itu, nilai maximum overshoot berhasil dijaga di bawah 0%, yang memastikan sudut gerak servo tidak melebihi batas mekanis 90° dan menghindari risiko kerusakan. Kesalahan keadaan tunak (steady state error) yang mendekati 0% menunjukkan bahwa posisi akhir palang pintu dapat dicapai secara akurat sesuai referensi, baik dalam kondisi terbuka maupun tertutup. Kriteria kestabilan dengan toleransi 5% juga terpenuhi, yang ditunjukkan oleh minimnya getaran pada ujung lengan palang. Secara keseluruhan, kinerja sistem menunjukkan respons yang cepat, stabil, dan konsisten, sehingga dapat disimpulkan bahwa pengendali PID yang dirancang telah bekerja secara efektif sesuai dengan tujuan sistem.

### 5.2 Saran Pengembangan
Untuk pengembangan selanjutnya, sistem ini dapat ditingkatkan dengan menambahkan mekanisme umpan balik yang lebih akurat guna meningkatkan presisi kendali posisi palang pintu. Selain itu, penggunaan lebih dari satu sensor disarankan untuk meningkatkan keandalan deteksi dan meminimalkan kesalahan akibat gangguan lingkungan. Pengembangan fitur keselamatan serta integrasi dengan sistem pemantauan berbasis digital atau IoT juga dapat dipertimbangkan agar sistem lebih adaptif, aman, dan relevan untuk penerapan pada kondisi nyata.

---

## Lampiran
* **Kode Program Utama (Arduino/C++):** https://github.com/fauziihadiwijaya/Kelompok-5-SKM
* **Tautan Video Demonstrasi:** https://drive.google.com/drive/folders/13QzLMJ1llGr0qkAprClqlNdWtXY_Pd7H?usp=drive_link
* **Dokumentasi Foto Alat:** https://drive.google.com/drive/folders/1PgSzKYNZy9toGrXDPuPIMiW_VzNdzRWu?usp=drive_link

---

## 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. |

---
