---
# System prepended metadata

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

---

# 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: 4 
* Violin Utami Frizzy (10103230025) 
*  Tarannia Raisha Putri (101032300231)
*  Fauzan Rahmdani (101032300110)
* Rakean Dhafin Noufal (101032300118)
* Rizqi Izzudin Rabani (101032300117)


---

## 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
Perkembangan teknologi sistem kendali dan otomasi saat ini semakin banyak diterapkan dalam kehidupan sehari-hari, salah satunya pada bidang peternakan, khususnya dalam proses penetasan telur menggunakan inkubator. Proses penetasan telur sangat dipengaruhi oleh kestabilan suhu di dalam inkubator. Suhu yang terlalu tinggi atau terlalu rendah dapat menyebabkan embrio di dalam telur gagal berkembang, sehingga menurunkan tingkat keberhasilan penetasan.

Pada inkubator telur konvensional, pengaturan suhu masih banyak dilakukan secara manual atau menggunakan sistem ON–OFF sederhana. Metode tersebut memiliki beberapa kelemahan, seperti fluktuasi suhu yang cukup besar, respon yang lambat terhadap perubahan suhu lingkungan, serta kurangnya presisi dalam mempertahankan suhu pada nilai yang diinginkan. Kondisi ini menyebabkan suhu di dalam inkubator sering mengalami overshoot atau undershoot yang berpotensi merusak telur.

Untuk mengatasi permasalahan tersebut, diperlukan suatu sistem kendali tertutup (closed-loop) yang mampu menjaga suhu inkubator tetap stabil pada nilai setpoint yang diinginkan. Salah satu metode kendali yang banyak digunakan dan terbukti efektif adalah kendali PID (Proportional–Integral–Derivative). Kendali PID mampu memperbaiki respon sistem dengan mengurangi error, menekan overshoot, serta mempercepat waktu sistem mencapai kondisi stabil. Oleh karena itu, pada proyek ini dirancang dan diimplementasikan sistem inkubator telur berbasis mikrokontroler dengan kendali PID untuk mengatur suhu agar tetap stabil dan optimal selama proses inkubasi.

### 1.2 Tujuan 
1. Merancang sistem kendali tertutup (closed-loop) menggunakan metode PID untuk mengontrol suhu inkubator telur.
2. Menganalisis respon transien sistem kendali suhu, meliputi rise time, settling time, overshoot, dan steady-state error.
3. Menguji kestabilan dan ketahanan (robustness) sistem kendali PID terhadap gangguan eksternal, seperti perubahan suhu lingkungan atau pembukaan inkubator secara sesaat.

### 1.3 Spesifikasi Desain (Target *Performance*)


| Parameter Kinerja | Simbol | Target Nilai | Alasan/Justifikasi (Mengapa memilih angka ini?) |
| :--- | :---: | :--- | :--- |
| **Settling Time** | $T_s$ | < 200 detik | Agar suhu inkubator cepat mencapai kondisi stabil sehingga proses inkubasi tidak terganggu |
| **Max. Overshoot** | $M_p$ | < 2 % | Telur sangat sensitif terhadap suhu berlebih, sehingga overshoot harus ditekan seminimal mungkin. |
| **Steady State Error** | $e_{ss}$ | 0 % | Telur sangat sensitif terhadap suhu berlebih, sehingga overshoot harus ditekan seminimal mungkin.|
| **Kriteria Kestabilan** |  | +0,5 °C | Memberikan toleransi kecil terhadap fluktuasi suhu yang masih aman untuk telur. |

---

## 2. Desain dan Pemodelan Sistem

### 2.1 Diagram Blok Sistem

![DiagramBlok](https://hackmd.io/_uploads/ryvRyN64We.png)





### 2.2 Pemodelan Matematis (Theoretical Modeling)

Pemodelan matematis dilakukan untuk memberikan dasar teori terhadap sistem kendali yang digunakan. Model ini digunakan sebagai acuan dalam perancangan dan analisis sistem kendali PID.

**A. Model Algoritma Kontroler (PID)**
Tuliskan persamaan matematis kontroler PID yang diimplementasikan:
$$u(t) = K_p e(t) + K_i \int e(t) dt + K_d \frac{de(t)}{dt}$$

dengan :
-u(t) : sinyal kendali ke aktuator
-e(t) : error (selisih setpoint dan suhu aktual)
-Kp :gain proporsional
-Ki : gain integral
-Kd : gain derivatif 
Dalam implementasinya pada mikrokontroler Arduino, persamaan PID digunakan dalam bentuk diskrit karena sistem bekerja secara digital. Persamaan PID diskrit yang digunakan pada project ini dapat dituliskan sebagai berikut: 

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




**B. Metode Tuning Ziegler-Nichols (Z-N)**
Penentuan parameter Kp, Ki, dan Kd dilakukan menggunakan metode Ziegler–Nichols sebagai acuan awal tuning. Metode ini dipilih karena sederhana dan banyak digunakan dalam sistem kendali praktis.

Pada proyek ini digunakan metode Ziegler–Nichols tipe 1 (osilasi kontinu), yaitu dengan menaikkan nilai Kp secara bertahap hingga sistem menunjukkan osilasi stabil. Nilai gain proporsional saat osilasi stabil disebut sebagai Ku (ultimate gain) dan periode osilasi disebut sebagai Tu 



### 2.3 Spesifikasi Perangkat Keras
* **Driver:** Module mosfet (IRF520)
* **Sensor:** Sensor suhu (DS18B20)
* **Kontroler:** Arduino Uno
* **Output:** I2C LCD

---

## 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 Closed loop

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

**Analisis:**
1.  Apakah grafik membentuk garis lurus? 
    Jawab:Grafik tidak membentuk garis lurus sempurna Hal ini menunjukkan karakteristik sistem suhu yang non-linear namun tetap stabil untuk dikendalikan.
2.  Pada *input* berapa suhu baru mulai meningkat?. 
Jawab: Berdasarkan grafik, suhu mulai meningkat secara signifikan segera setelah sistem dijalankan (dari $30^\circ\text{C}$), yang menandakan bahwa aktuator (lampu) memberikan respon panas yang cepat sejak detik awal
3.  Apakah ada titik ketika *input* dinaikkan tetapi *output* tidak bertambah lagi?
Jawab:Terdapat titik di mana output tidak bertambah lagi meskipun waktu terus berjalan, yaitu setelah suhu mencapai kondisi stabil di $38^\circ\text{C}$ pada kisaran waktu 125 hingga 200 detik. 

### 3.2 Analisis Perbandingan Respons (*Step Response*)

1. Skenario 1
    Grafik P
    ![image](https://hackmd.io/_uploads/ByHt28aVZg.png)

2. Skenario 2
    Grafik PI
    ![image](https://hackmd.io/_uploads/rym23ITVbg.png)

3. Skenario 3
    Grafik PID
    ![image](https://hackmd.io/_uploads/ByAy6IaE-g.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 (Misal: Hanya P) | Kp = 90, Ki = 0, Kd = 0 | +55s | - | - | +150s | - | - |
| #2 (Misal: Osilasi) | Kp = 90, Ki = 2.5, Kd = 0 | +48s | +90s | - | +130 | +0,5% | 0 |
| #3 (PID Optimal) | Kp = 90, Ki = 2.5, Kd = 80 | +42s | +85s | +100s | +110s | +0,8% | 0 |

### 3.3 Uji Konsistensi (Repeatability Test)


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

| Percobaan Ke- | *Settling Time* ($T_s$) | *Overshoot* (%) |
| :---: | :---: | :---: |
| 1 | 192 | 1,68% |
| 2 | 164 | 1.39% |
| 3 | 158 | 1.24% |
| 4 | 156 | 1.23% |
| 5 | 148 | 0.97% |
| **Rata-rata ($\mu$)** | **163.6** | **1.302%** |
| **Standar Deviasi ($\sigma$)** | **15,09** | **0,23%** |




---

## 4. Evaluasi dan Analisis Kinerja

### 4.1 Validasi Spesifikasi
Berdasarkan hasil pengujian dan analisis yang ditunjukkan pada Tabel 2, diperoleh bahwa skenario tuning PID optimal dengan parameter Kp = 90, Ki = 2,5 dan Kd = 80 memberikan performa terbaik dalam pengendalian suhu inkubator pada setpoint 38°C. Sistem mampu mencapai suhu yang diinginkan dengan delay time sebesar 42 detik, rise time 85 detik, peak time 100 detik, serta settling time 110 detik. Nilai overshoot yang dihasilkan hanya sebesar 0,8%, sehingga masih berada dalam batas toleransi yang ditetapkan. Jika dibandingkan dengan target performa pada Bab 1.3, yaitu suhu mencapai setpoint 38°C dengan settling time kurang dari 120 detik dan overshoot di bawah 5%, maka dapat disimpulkan bahwa sistem kendali PID yang dirancang telah memenuhi dan mencapai target yang ditetapkan. Dengan demikian, konfigurasi PID optimal tersebut dinilai layak digunakan untuk menjaga kestabilan suhu inkubator secara efektif dan aman.

### 4.2 Analisis Mendalam

1.  **Analisis Pengaruh *Gain*:** 
$K_p$: Memberikan respon awal untuk mempercepat suhu menuju target namun pada skenario 1, tanpa bantuan $Ki$, waktu mencapai kestabilan sangat lambat.
$K_i$: Menghilangkan steady-state error. Terlihat pada Skenario 2, penambahan $K_i=2.5$ berhasil membuat error menjadi 0 dan mempercepat settling time menjadi 130 detik2.
$K_d$: Berfungsi sebagai peredam dan mempercepat respon. Pada Skenario 3, penggunaan $K_d=80$ berhasil memangkas rise time (85 detik) dan settling time (110 detik) dibandingkan skenario lainnya.
3.  **Analisis Stabilitas:** 
    a. Berdasarkan Uji Gangguan (Bab 3.4), seberapa tangguh sistem kelompok Anda? Apakah terjadi osilasi berlebih saat beban dilepas?
    
    Sistem terbukti tangguh dan konsisten dengan nilai standar deviasi yang sanagat kecil, yaitu dari 5 kali percobaan. Menunjukkan sistem mampu kembali stabil dengan variasi hasil yang minimal.
    
    b. Apakah metode *tuning* PID yang kelompok Anda gunakan sudah optimal untuk membuat sistem stabil dan mempertahankan kestabilannya?
    
    Metode Ziegler-Nichols yang digunakan sudah optimal karena hasil akhir yang menunjukkan sistem memenuhi target spesifikasi: overshoot hanya $1,302%$ dan settling time 163,6 detik
4.  **Trade-off Desain:** Apa yang kelompok Anda korbankan untuk mencapai kestabilan? (Misal: Respon jadi agak lambat demi menghilangkan *overshoot*).

    Kelompok kami mengorbankan kecepatan respon awal untuk memastikan keamanan embrio telur. meskipun sistem bisa dibuat lebih cepat, parameter diatur afar overshoot tetap dibawah 2% karena telur sangat sensitif terhadap suhu.
6.  **Evaluasi Hardware:** 
    a. Apakah ada batasan fisik (seperti driver motor atau resolusi sensor rendah) yang menghambat pencapaian target sesuai desain?
    
    Resolusi sensor DS18B20 dan kecepatan respon suhu dari lampu pemanas menjadi batasan utama. Respon sensor yang tidak instan menyebabkan adanya delay time sekitar 42 detik sebelum suhu mulai terbaca naik secara signifikan.
    
    b. Apakah ada faktor mekanik (*gears, backlash*, gesekan) yang mengganggu hasil kendali?
    
    Faktor lingkungan dalam kotak inkubator yang mungkin tidak merata menjadi faktor yang mempengaruhi akurasi pembacaan suhu aktual oleh sensor.
---

## 5. Kesimpulan dan Saran

### 5.1 Kesimpulan
1.  Sistem kendali PID **berhasil/tidak berhasil** diimplementasikan dengan parameter final: $K_p= 90, K_i= 2,5, K_d= 80$
2.  Kinerja sistem mencapai $T_s = 163,6$ detik dan Overshoot $1,302\%$.
3.  Tingkat konsistensi sistem ditunjukkan dengan standar deviasi sebesar $0,23\%$.

### 5.2 Saran Pengembangan
Untuk pengembangan selanjutnya, sistem inkubator telur dengan kendali PID ini dapat ditingkatkan dengan menerapkan metode Fuzzy-PID agar sistem lebih adaptif terhadap perubahan kondisi lingkungan dan karakteristik sistem yang bersifat nonlinier. Selain itu, penggunaan sensor suhu dengan presisi dan respon yang lebih cepat serta penambahan lebih dari satu sensor dapat meningkatkan akurasi dan pemerataan suhu di dalam inkubator. Pengembangan juga dapat dilakukan dengan menambahkan kendali kelembaban sebagai parameter pendukung proses inkubasi, serta integrasi sistem monitoring berbasis IoT agar suhu dan kinerja sistem dapat dipantau secara real-time secara lebih praktis.

---

## Lampiran
* **Kode Program Utama (Arduino/C++): /*
#include <Arduino.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal_I2C.h>
#include <PID_v1.h>

// --- PIN ---
#define PIN_SENSOR 2
#define PIN_MOSFET 3  // Hanya Lampu

// --- SETTING ---
double Setpoint = 38.0;

// --- TUNING AGAR TIDAK STUCK (ANTI LEMOT) ---
// Kp dinaikkan: Biar tarikan lebih kuat mendekati target
// Ki dinaikkan: INI KUNCINYA. Biar dia 'maksa' naik kalau stuck di bawah.
// Kd diturunkan: Biar remnya gak terlalu pakem.

double Kp = 90.0;   // Sebelumnya 60
double Ki = 2.5;    // Sebelumnya 0.5 (Ini yang bikin dia nge-push!)
double Kd = 80.0;   // Sebelumnya 150

// --- OBJEK ---
double Input, Output;
float suhuRataRata = 0;

OneWire oneWire(PIN_SENSOR);
DallasTemperature sensors(&oneWire);
PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);
LiquidCrystal_I2C lcd(0x27, 16, 2);

unsigned long previousMillis = 0;
const long interval = 500;

void setup() {
  Wire.begin();
  sensors.begin();
  sensors.setResolution(12);

  lcd.init();
  lcd.backlight();

  pinMode(PIN_MOSFET, OUTPUT);

  // PID Setup
  myPID.SetMode(AUTOMATIC);
  myPID.SetSampleTime(200);
  myPID.SetOutputLimits(0, 255);

  lcd.setCursor(0, 0); lcd.print("INKUBATOR START");
  delay(1500);
  lcd.clear();
  lcd.setCursor(0, 0); lcd.print("Set: ");
  lcd.setCursor(0, 1); lcd.print("Act: ");
}

void loop() {
  // 1. Baca Sensor
  sensors.requestTemperatures();
  double suhuMentah = sensors.getTempCByIndex(0);

  // 2. LOGIKA UTAMA (Sistem Cabang)
  
  // A. KALAU SENSOR ERROR (-127 atau 85)
  if (suhuMentah == -127.0 || suhuMentah == 85.0) {
    // Matikan Lampu (Safety)
    Output = 0; 
    analogWrite(PIN_MOSFET, 0);
    
    // Kita TIDAK update 'Input', jadi suhu di layar akan
    // bertahan di angka terakhir yang normal (Gak berubah jadi -127)
  }
  
  // B. KALAU SENSOR NORMAL
  else {
    // Filter Suhu
    if (suhuRataRata == 0) suhuRataRata = suhuMentah;
    suhuRataRata = (suhuRataRata * 0.90) + (suhuMentah * 0.10);
    Input = suhuRataRata;

    // Hitung PID
    myPID.Compute();
    analogWrite(PIN_MOSFET, (int)Output);
  }

  // --- TAMPILAN LCD (Sekarang pasti tereksekusi) ---
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;

    lcd.setCursor(5, 0); lcd.print(Setpoint, 1);
    lcd.setCursor(5, 1); lcd.print(Input, 2);
    lcd.print((char)223); lcd.print("C");

    // Indikator Persen
    lcd.setCursor(12, 1);
    int persen = map((int)Output, 0, 255, 0, 100);
    if(persen < 100) lcd.print(" ");
    if(persen < 10) lcd.print(" ");
    lcd.print(persen); lcd.print("%");
  }
}
* Link Gcolab : https://colab.research.google.com/drive/1hnpRLGYpQ8nkBwQBM7OJHKozCviNuYy7?usp=sharing
* Demo Alat : https://drive.google.com/drive/folders/1EbKs3YYFCOFgHWyRt7SKYZ6WqXnKCKwp
* Dokumentasi Foto Alat: ![WhatsApp Image 2026-01-09 at 13.30.59](https://hackmd.io/_uploads/Sy1vWQ0Nbg.jpg) ![WhatsApp Image 2026-01-09 at 13.30.59 (1)](https://hackmd.io/_uploads/Hy6wW7R4Wx.jpg)

---

## Panduan Checklist Kelengkapan (Alat bantu saja untuk memastikan tidak ada yang terlewat. Sesuaikan dengan yang sebenarnya.)
- [ ] Target Spesifikasi (Bab 1.3) terisi jelas.
- [ ] Pemodelan Matematis ada (Bab 2.2).
- [ ] Grafik Open Loop (Linearitas) ada (Bab 3.1).
- [ ] Tabel Perbandingan minimal 3 variasi tuning ada (Bab 3.2).
- [ ] Tabel Statistik Repeatability (5x data) ada (Bab 3.3).
- [ ] 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. |

---
