Anda di halaman 1dari 12

BAB I

PENDAHULUAN

1.1 Latar Belakang


Dalam melakukan desain suatu sistem perlu diperhatikan beberapa aspek yang
menunjang sistem tersebut agar dapat berjalan dengan optimal dan sesuai harapan.
Salah satu cara adalah dengan menggunakan root locus. Root locus bermanfaat
sebagai “alat bantu” untuk mendesain suatu sistem dan menentukan kestabilan
sistem tersebut. Salah satu caranya yaitu memproyeksikan menggunakan
MATLAB.
Berdasarkan uraian tersebut, penulis tertarik untuk mempelajari lebih dalam
tentang mendesain root locus dengan menggunakan MATLAB. Dan hal ini
sekaligus menjadi tugas dalam matakuliah Sistem Kontrol
1.2 Rumusan Masalah
a. Bagaimana memproyeksikan root locus pada MATLAB?
1.3 Tujuan
a. Mengetahui algoritma program root locus pada MATLAB.

1
BAB II

ISI

2.1. Pendahuluan
Secara umum, persamaan pada sebuah root locus adalah sebagai berikut
𝑛𝑢𝑚
1+𝐾 =0
𝑑𝑒𝑛
yang mana num adalah sebagai polinomial pembilang dan den adalah sebagai
polinomial penyebut. Penulisan polinomial harus dimulai dari s yang memiliki
pangkat tertinggi.
Kemudian untuk menemukan root locus menggunakan perintah
rlocus(num,den) atau rlocus(A,B,C,D) untuk model state space. Dengan
perintah tersebut, MATLAB akan menggambar root locus untuk seluruh nilai K.
Sementara untuk menemukan root locus dengan nilai K yang ditentukan
menggunakan perintah rlocus(num,den,K) atau rlocus(A,B,C,D,K) untuk
model state space.
Jika ingin menandai pole dan zero menggunakan perintah plot(r,’o’)
untuk zero dan plot(r,’x’) untuk pole.
2.2. Proyeksi dan Listing Program pada MATLAB
2.2.1. Contoh 6-3 (Terdapat Pole dan Zero)

Misalkan dalam sebuah sistem memiliki fungsi transfer dengan pembilang


(s+3) dan penyebut terdiri dari dua akar-akar yaitu s(s+1) dan s2+4s+16. Agar
penyebut dapat menjadi satu polinomial terlebih dahulu diubah dengan
menggunakan perintah a = [1 1 0]; b = [1 4 16]; c = conv (a,b).
Sehingga diperoleh polinomial untuk penyebut [1 5 20 16 0]. Grafik tersebut
diproyeksikan pada bidang dengan -6>x>6 dan -6>y>6. Kemudian program yang
dieksekusi pada MATLAB adalah sebagai berikut

% --------- Root-locus plot ---------


num = [1 3];
den = [1 5 20 16 0];
rlocus(num,den)
v = [-6 6 -6 6];

2
axis(v); axis('square')
grid;
title ('Root-Locus Plot of G(s) = K(s + 3)/[s(s + 1)(s^2 + 4s +
16)]')
Kemudian hasil yang ditampilkan pada MATLAB sebagai berikut

Kemudian untuk menentukan akar akar konjugasinya adalah mengakarkan


penyebutnya dengan perintah b=[1 5 20 16 0] kemudian r=roots(b). Dan
hasilnya adalah −2 ± 3.4641𝑖. Sehingga akar akar (s) untuk pole adalah 0,-1, dan
−2 ± 𝑗3.4641. Sementara akar akar (s) untuk zero adalah -3.
Dari hasil proyeksi pada MATLAB diketahui bahwa akar dari pole dilewati
oleh grafik root locus yang menandakan sistem tersebut stabil. Jika s adalah −2 ±
3.4641𝑖, pada seluruh nilai K tetap stabil. Sementara jika s adalah 0 dan -1 nilai K
yang diberikan maksimal bernilai 33.3 sebelum memasuki zona tidak stabil.
2.2.2. Contoh 6-4 (Terdapat Pole)

𝐾
Misalkan diberikan fungsi transfer 𝐺(𝑠)𝐻(𝑠) = 𝑠4 +1.1𝑠3 +10.3𝑠2 +5𝑠.

Didapatkan akar-akar (s) pada pole yaitu −0.3 ± 𝑗3.1480, 0.5, dan 0. Kemudian
program yang dieksekusi sebagai berikut

% --------- Root-locus plot ---------


num = [1];
den = [1 1.1 10.3 5 0];
r = rlocus(num,den);
plot(r,'o')

3
v = [-6 6 -6 6]; axis(v)
grid
title('Root-Locus Plot of G(s) = K/[s(s + 0.5)(s^2 + 0.6s +
10)]')
xlabel('Real Axis')
ylabel('Imag Axis')

Kemudian hasil yang ditampilkan pada MATLAB sebagai berikut

Dapat dilihat bahwa terdapat dua locus yang berdekatan pada x=-0.3 dan
y=±2.3. Pertanyaannya adalah apakah seharusnya kedua yang berdekatan tersebut
saling menyentuh atau tidak. Untuk mengeksplor kondisi tersebut dicoba dengan
kenaikan nilai K yang lebih kecil di wilayah kritis dengan mengeksekusi program
berikut pada MATLAB

% --------- Root-locus plot ---------


num = [1];
den = [1 1.1 10.3 5 0];
K1 = 0:0.2:20;
K2 = 20:0.1:30;
K3 = 30:5:1000;
K = [K1 K2 K3];
r = rlocus(num,den,K);
plot(r, 'o')
v = [-4 4 -4 4]; axis(v)
grid
title('Root-Locus Plot of G(s) = K/[s(s + 0.5)(s^2 + 0.6s +
10)]')
xlabel('Real Axis')
ylabel('Imag Axis')

4
Kemudian hasil yang ditampilkan pada MATLAB sebagai berikut

Dari hasil grafik yang ditampilkan pada MATLAB dapat diketahui bahwa
kedua bagian tersebut tidak saling menyentuh.

2.2.3. Contoh 6-5 (Model State Space)

Dalam contoh kali ini diberikan suatu pemodelan yang berbentuk space state.
Pemodelan state space secara umum adalah sebagai berikut

𝑥̇ = 𝐴𝑥 + 𝐵𝑢

𝑦 = 𝐶𝑥 + 𝐷𝑢

𝑢 =𝑟−𝑦

Diberikan contoh dengan matriks A,B,C, dan D sebagai berikut

5
0 1 0 0
𝐴=[ 0 0 1 ] 𝐵=[ 1 ]
−160 −56 −14 −14

𝐶 = [1 0 0] 𝐷 = [0]

Kemudian program yang dieksekusi pada MATLAB sebagai berikut

% --------- Root-locus plot ---------


A = [0 1 0;0 0 1;-160 -56 -14];
B = [0;1;-14];
C = [1 0 0];
D = [0];
K = 0:0.1:400;
rlocus(A,B,C,D,K);
v = [-20 20 -20 20]; axis(v)
grid
title('Root-Locus Plot of System Defined in State Space')

Kemudian hasil yang ditampilkan pada MATLAB sebagai berikut

2.3. Konstanta 𝝃 dan 𝝎𝒏


𝜎
Konstanta 𝝃 merupakan faktor redaman yang merupakan nilai dari atau
𝜔𝑛

rasio antara nilai real dari suatu akar pole dengan frekuensi alamiah tak teredam.
Atau 𝝃 dapat diperoleh dari cos sudut antara resultan akar pole dengan sumbu real
/ x.

6
Untuk membuat grafik polar menggunakan program sebagai berikut

sgrid
v = [-3 3 -3 3]; axis(v); axis('square')
title('Constant \zeta Lines and Constant \omega_n Circles')
xlabel('Real Axis')
ylabel('Imag Axis')

Kemudian grafik yang dihasilkan oleh MATLAB sebagai berikut

Kemudian bila diterapkan pada sebuah sistem dengan program sebagai


berikut

num = [1];
den = [1 4 5 0];
K = 0:0.01:1000;
r = rlocus(num,den,K);

7
plot(r,'-'); v = [-3 1 -2 2]; axis(v); axis('square')
sgrid([0.5,0.707], [0.5,1,2])
grid
title('Root-Locus Plot with \zeta = 0.5 and 0.707 Lines and
\omega_n = 0.5,1, and 2 Circles')
xlabel('Real Axis'); ylabel('Imag Axis')
gtext('\omega_n = 2')
gtext('\omega_n = 1')
gtext('\omega_n = 0.5')
% Place 'x' mark at each of 3 open-loop poles.
gtext('x')
gtext('x')
gtext('x')

maka akan menghasilkan grafik pada MATLAB sebagai berikut

Untuk mendesain sistem yang stabil dan sesuai keinginan maka pole harus
diletakkan sejalur dengan akar akar root locus. Untuk menempatkan pole dapat
dikaitkan dengan karakteristik sistem seperti rise time, settling time, peak time,
%Mp sehingga didapat nilai 𝜎 dan 𝜔𝑛 . Bila dari nilai tersebut digambarkan
kemudian pole terletak pada akar-akar root locus, maka sistem tersebut tergolong
stabil bila masih pada sisi kiri bidang-s.
2.4. Sistem yang Stabil Kondisional
Dimisalkan terdapat sebuah sistem dengan diagram blok dan fungsi transfer
sebagai berikut

8
maka untuk mencari root locus dapat menggunakan program sebagai berikut

num = [1 2 4];
den = conv(conv([1 4 0],[1 6]), [1 1.4 1]);
rlocus(num, den)
v = [-7 3 -5 5]; axis(v); axis('square')
grid
title('Root-Locus Plot of G(s) = K(s^2 + 2s + 4)/[s(s + 4)(s
+ 6)(s^2 + 1.4s + 1)]')
text(1.0, 0.55,'K = 12')
text(1.0,3.0,'K = 73')
text(1.0,4.15,'K = 154')

sehingga didapatkan grafik pada MATLAB sebagai berikut

Pada grafik tersebut dapat dilihat jika nilai K antara 12 sampai 73 memasuki
zona tidak stabil dan kembali lagi ke zona stabil saat nilai K antara 73 sampai 154.
Pada kenyataannya sistem stabil kondisional adalah hal yang tidak diinginkan.
Untuk sebuah sistem dianjurkan untuk menghindari hal tersebut karena rawan
menjadi tidak stabil bila ada perubahan diluar perkiraan. Hal ini dapat diatasi
dengan memberikan kompensasi pada zero agar wilayah ketika K antara 12 sampai
73 menjadi stabil.
2.5. Fase Non-Minimum
Fase non-minimum adalah ketika setidaknya terdapat satu pole atau zero
pada sisi kanan dan kiri bidang s. Sementara fase minimum adalah ketika semua
pole dan zero terletak di sisi kiri bidang s. Misalnya pada sistem berikut

9
perintah yang digunakan untuk memproyeksikan root locus pada sistem
tersebut jika T = 1 detik dan Ta = 0.5 detik yaitu sebagai berikut

num = [-0.5 1];


den = [1 1 0];
k1 = 0:0.01:30;
k2 = 30:1:100;
k3 = 100:5:500;
K = [k1 k2 k3];
rlocus(num,den,K)
v = [-2 6 -4 4]; axis(v); axis('square')
grid
title('Root-Locus Plot of G(s) = K(1 - 0.5s)/[s(s + 1)]')
% Place 'x' mark at each of 2 open-loop poles.
% Place 'o' mark at open-loop zero.
gtext('x')
gtext('x')
gtext('o')

dan grafik yang dihasilkan oleh MATLAB adalah sebagai berikut

2.6. Mencari Nilai Penguatan K pada Sembarang Titik pada Root Locus

Untuk mencari nilai K pada sembarang titik menggunakan perintah [K, r]


= rlocfind(num, den). Sehingga dapat diketahui pada titik tersebut nilai
penguatannya berapa dan akar-akarnya berapa.

10
BAB III
PENUTUP
3.1 Kesimpulan
Dari pembahasan diatas, kesimpulan yang dapat ditarik adalah dengan
menggunakan MATLAB kita dapat menentukan nilai penguatan K yang paling
optimal bagi suatu sistem

3.2 Saran

Dari pembahasan diatas, saran dari penulis yaitu untuk lebih meningkatkan lagi
kepahaman mengenai root locus.

11
DAFTAR PUSTAKA

Ogata, Katsuhiko. 2010. Modern Control Engineering : Fifth Edition. New Jersey:
Pearson Education Inc.

12