Anda di halaman 1dari 24

SIMULASI LOGIKA FUZI (FUZZY LOGIC)

MENGGUNAKAN SIMULINK MATLAB


(KASUS: SIMULASI POSISI MOTOR DC)

1. TUJUAN
Tujuan dari praktikum ini adalah merancang simulasi kendali fuzi untuk posisi motor
DC menggunakan Simulink Matlab.

2. PENDAHULUAN
Logika Fuzi pertama kali diperkenalkan oleh Profesor Lotfi A. Zadeh pada tahun 1965.
Logika Fuzi merupakan logika berbasis pengetahuan dan aturan. Sistem fuzi memiliki
bagian utama yaitu dasar pengetahuan yang terdiri atas aturan-aturan fuzi IF-THEN.
Aturan tersebut merupakan pernyataan IF-THEN yang beberapa kata dikarakteristikkan
oleh fungsi keanggotaan kontinyu.
Logika fuzi dapat dijadikan sebagai pengendali karena memiliki beberapa kelebihan
yaitu lebih fleksibel, didasarkan pada pengetahuan manusia dan lebih baik dalam
mengeliminasi noise.

3. DASAR TEORI
3.1. LOGIKA FUZI
Sistem fuzi yang sering digunakan adalah sistem fuzi dengan pengaburan dan
penegasan. Gambar 1 menunjukkan konfigurasi sistem fuzi dengan pengaburan dan
penegasan.

Gambar 1. Konfigurasi sistem fuzi dengan pengaburan dan penegasan.

1
Pada sistem fuzi ini, input berupa peubah riil, kemudian dikaburkan menjadi input
dalam bahasa natural (linguistik) oleh fuzzifier. Dalam mesin inferensi fuzi terdapat aturan-
aturan dasar dari fuzi. Kemudian berdasarkan aturan tersebut diperoleh keluaran berupa
bahasa natural (linguistik) dan dipertegas menjadi peubah riil oleh defuzzifier.

3.1.1. Himpunan klasik ke himpunan fuzi


Dalam sebuah himpunan, U adalah semesta pembicaraan, sedangkan A adalah
himpunan klasik (crisp) di dalam semesta pembicaraan U. Pendefinisian A memiliki 3
metode yaitu metode list, rule dan membership.
Pada metode list, A didefinisikan dengan mendata semua anggotanya. Penggunaan
metode list hanya terbatas pada himpunan berhingga.
Metode rule dilakukan dengan menspesifikasikan properti yang dapat dipenuhi oleh
anggota himpunan. Pada metode rule, himpunan A dapat dinyatakan sebagai:
= { | } (1)
Pada membership diperkenalkan fungsi keanggotaan zero-one (fungsi karakteristik,
fungsi diskriminasi, atau fungsi indikator). A dilambangkan dengan A(x), sehingga
1,
(){ (2)
0,
Himpunan A ekivalen dengan fungsi keanggotaan () dalam arti mengetahui ()
sama dengan mengetahui A itu sendiri.
Himpunan fuzi di dalam semesta U didefinisikan sebagai fungsi keanggotaan
() yang bernilai dalam interval [0,1]. Dengan demikian, himpunan fuzi merupakan
generalisasi himpunan klasik dengan memungkinkan fungsi keanggotaan untuk memiliki
nilai berapapun dalam interval [0,1].

3.1.2. Operasi himpunan fuzi


Operasi-operasi himpunan fuzi sama dengan operasi-operasi himpunan biasa dengan
operator dasar sebagai berikut.
() = 1 () (3)
() = [ (), ()] (4)
() = [ (), ()] (5)
Himpunan fuzi merupakan himpunan fuzi terkecil yang berisi A dan B, dan
himpunan fuzi merupakan himpunan fuzi terbesar yang berisi A dan B.

2
3.1.3. Peubah linguistik dan aturan IF-THEN
Jika suatu peubah memiliki nilai berupa kata-kata dalam bahasa natural yang
disebut peubah linguistik (linguistic variable). Kata-kata tersebut dikarakteristikkan dengan
himpunan fuzi yang didefinisikan dalam semesta pembicaraan dimana peubah telah
didefinisikan.
Konsep peubah linguistik diperlukan karena dianggap elemen paling fundamental
dalam mewakili pengetahuan manusia. Keluaran sensor berupa angka, namun ahli akan
mengevaluasi peubah dengan kata-kata.
Adapun contohnya adalah peubah x berupa kecepatan mobil yang memiliki nilai dalam
interval [0,Vmaks.]. Kecepatan mobil tersebut didefinisikan dalam himpunan fuzi yaitu
slow,medium dan fast, dimana masing-masing memiliki nilai tertentu.

Gambar 2. Kecepatan mobil dalam himpunan fuzi.

Dalam kendali fuzi, pengetahuan manusia direpresentasikan dengan istilah aturan IF-
THEN fuzi yang merupakan kalimat kondisional dan dinyatakan sebagai
(6)
Ada dua tipe fuzi proposition : tunggal (atomic fuzzy proposition), dan kompon
(compound fuzzy proposition). Proposisi fuzi kompon merupakan gabungan proposisi fuzi
tunggal menggunakan kata sambung yang menggambarkan interseksi, gabungan, dan
komplemen fuzi.

3.1.4. Interpretasi aturan IF-THEN fuzi


Terdapat beberapa interpretasi aturan IF-THEN fuzi seperti pada Tabel 1.
Tabel 1. Interpretasi aturan IF-THEN fuzi

Implikasi Dienes-Rescher

Implikasi Lukasiewicz

Implikasi Zadeh

3
Implikasi Godel

Implikasi Mamdani

3.1.5. Mesin inferensi fuzi


Beberapa mesin inferensi fuzi yang sering digunakan dalam sistem dan kendali fuzi
terlihat pada Tabel 2.
Tabel 2. Mesin inferensi fuzi

Mamdani product

Mamdani minimum

Lukasiewicz

Zadeh

Dienes-Rescher

3.1.6. Pengaburan dan penegasan


Pengaburan merupakan pemetaan dari nilai riil " ke himpunan fuzi A
dalam U. Ada tiga kriteria dalam merancang pengabur , yaitu:
1. Pengabur perlu memperhatikan fakta bahwa masukannya merupakan nilai crisp, yakni,
himpunan fuzi A perlu memiliki nilai keanggotaan yang besar pada .
2. Jika masukan ke sistem fuzi kena derau, maka pengabur dapat membantu menekan
derau.
3. Pengabur dapat menyederhanakan komputasi yang terlibat dalam mesin inferensi fuzi.

4
Macam-macam pengaburan terlihat pada Tabel 3.
Tabel 3. Ragam pengaburan fuzi.

Singleton

Gaussian

Segitiga

Penegasan didefinisikan sebagai pemetaan dari himpunan fuzi B dalam . Secara


konseptual, tugas penegas adalah mensepesifikasikan suatu titik dalam V yang
merupakan titik terbaik dari himpunan fuzi B. Ada tiga kriteria yang perlu diperhatikan
dalam merancang penegas.
1. Plausibilitas : titik y* mewakili B' dari sudut pandang intuitif.
2. Kesederhanaan Komputasional : penting untuk kendali fuzi karena pengendali fuzi
bekerja secara waktu nyata.
3. Kontinuitas : perubahan B' yang kecil jangan sampai menyebabkan perubahan y*
yang besar.

Macam-macam penegas tersaji pada Tabel 4.


Tabel 4. Ragam penegas fuzi

Titik berat

Rerata pusat

Maksimum

5
3.2. PEMODELAN POSISI MOTOR DC
Skema motor dc dapat dilihat pada Gambar 3.

Gambar 3. Motor DC.


Berdasarkan Gambar 3, rangkaian motor DC dapat ditulis dengan persamaan (6).
()
() = . () + + () (6)

() dapat didefinisikan sebagai persamaan (7) dan () dapat didefinisikan oleh


persamaan (8) dan (9).
() = . () (7)
() = . () (8)
()
() = . + . () (9)

dengan,
= tegangan armatur (V),
= tahanan armatur (),
= induktansi armatur (H),
= arus armatur (A),
= tegangan back emf (V),
= torsi motor (Nm),
= inertia rotor (kgm2),
= koefisien viscous friction (Nms/rad),
= konstanta torsi (Nm/A),
= konstanta back emf (Vs/rad),
= posisi sudut dari shaft rotor (rad).

Persamaan (7) disubstitusikan pada persamaan (6), sehingga diperoleh persamaan (10).
()
() = . () + + . () (10)

Persamaan (9) disubstitusikan pada persamaan (8), sehingga diperoleh persamaan (11).
()
. () = . + . () (11)

6
Persamaan (10) dan (11) diubah dalam bentuk transformasi Laplace, sehingga diperoleh
Persamaan (12) dan (13).
() = . () + . (). + . () (12)
. () = . (). + . () (13)
Kemudian persamaan (13) disubstitusikan ke persamaan (12), sehingga diperoleh persamaan
(14).
()
= 2 +( . + . ).+( . + . ) (14)
() . .

Hubungan antara kecepatan dengan posisi yaitu


1
() = . () (15)

Berdasarkan persamaan (15), maka diperoleh nilai () seperti yang terlihat pada persamaan
(16).
()
= 3 2
(16)
() . . +( . + . ). +( . + . ).

3.3. KENDALI PID DAN FUZI BESERTA PENALAANNYA


3.3.1. Kendali Proportional Integral Derivative (PID)
Proportional Integral Derivative (PID) merupakan salah satu jenis pengendali yang
[39]
paling banyak dipakai. Pengendali PID telah digunakan lebih dari 90% di dunia industri .
Pengendali PID memiliki tiga bagian yaitu proporsional, integral dan derivatif. Struktur PID
dapat dilihat pada Gambar 4.

Gambar 4. Struktur kendali PID [40].


Fungsi matematika dari pengendali PID adalah
1 ()
() = [() + 0 () + ] (17)

Persamaan (1) diubah dalam bentuk Laplace, sehingga diperoleh persamaan



() = () + + () (18)

7

dimana adalah gain proporsional, = adalah gain integral dan = . adalah

gain derivatif.
Masing-masing bagian PID memiliki karakteristik sendiri. Bagian proporsional
menyediakan sebuah aksi kendali yang proporsional terhadap sinyal error melalui faktor gain
dan dapat mengurangi rise time. Bagian integral mengurangi kesalahan steady state melalui
kompensasi frekuensi rendah. Bagian derivatif meningkatkan respon transien melalui
kompensasi frekuensi tinggi. Selain itu, bagian derivatif juga mengurangi overshoot dan
settling time.

3.3.2. Penalaan PID metode Ziegler Nichols


Untuk mendapatkan respon yang diinginkan, maka parameter PID seperti Kp, Ti dan Td
perlu ditala. Banyak metoda yang ditawarkan diantaranya Ziegler Nichols. Sejak tahun 1942,
Ziegler Nichols merupakan metode penalaan yang paling banyak digunakan. Metode ini
adalah sebuah metode penalaan yang bersifat trial and error dan didasarkan pada perubahan
osilasi.
Metode ini terdiri dari dua metode. Pada metode pertama didapatkan respon plant
terhadap masukan unit step berupa kurva S seperti terlihat pada Gambar 5.

Gambar 5. Kurva respon S.


Pada kurva ini terdapat dua konstanta yaitu L (waktu tunda) dan T (konstanta waktu).
Dua konstanta ini diperlukan untuk menala parameter PID seperti yang terlihat pada Tabel 5.

8
Tabel 5. Aturan penalaan Ziegler Nichols metode pertama.
Tipe
Kp Ti Td
Pengendali

P 0


PI 0.9 0
0.3

PID 1.2 2L 0.5L

Pada metode kedua terdapat nilai gain kritis (Kcr) yang diperoleh dari mengatur nilai Ti
= dan Td = 0. Selain itu terdapat parameter periode kritis (Pcr) seperti terlihat pada Gambar
6.

Gambar 6. Periode kritis (Pcr).


Untuk mendapatkan nilai Kcr dapat digunakan metode Routh. Bagian denumerator pada
persamaan (16) merupakan persamaan polinomial seperti yang terlihat pada persamaan (19).
0 . 3 + 1 . 2 + 2 . + 3 = 0 (19)
Koefisiennya disusun hingga membentuk array seperti Gambar 7.
3 0 2
2 1 3
1 1 . 2 0 . 3
1
0 3
Gambar 7. Array metode Routh.

Dua konstanta yaitu Kcr dan Pcr diperlukan untuk menala parameter PID seperti yang
terlihat pada Tabel 6.

9
Tabel 6. Aturan penalaan Ziegler Nichols metode kedua.
Tipe
Kp Ti Td
Pengendali
P 0.5 0
1
PI 0.45 0
1.2
PID 0.6 0.5 0.125

3.3.3. Kendali Fuzi


Banyak penerapan kendali fuzi yang menggunakan dua input dan satu output. Input fuzi
adalah input error yang dikuatkan oleh gain of the error (GE), input change of error
dikuatkan oleh gain of change error (GCE) dan sebuah input error integral yang juga
dikuatkan oleh gain of the integral error (GIE), selain itu output berupa sinyal kendali yang
dikuatkan oleh gain of controller (GU). Gambar 8 menunjukkan diagram blok dari kendali
fuzi.

a. Diagram blok fuzi PD b. Diagram blok fuzi incremental

c. Diagram blok fuzi PD+I


Gambar 8. Diagram blok kendali fuzi.

Parameter PID seperti KP, Ti and Td digunakan untuk menala gain fuzi. Penalaan gain
fuzi PD, fuzi incremental dan fuzi PD+I ditunjukkan oleh persamaan (19)-(25).

10
Untuk fuzi PD
. = (19)

= (20)

Untuk fuzi incremental

. = (21)
1
= (22)

Untuk fuzi PD+I


. = (23)

= (24)

1
= (25)

4. IMPLEMENTASI SIMULINK
Simulasi kendali fuzi menggunakan Matlab dapat memanfaatkan Simulink. Simulasi
yang akan dilakukan adalah simulasi pengendalian posisi motor DC. Adapun parameter
motor DC-nya sebagai berikut:
= 11.2 ,
= 0.1215 H,
= 0.02215 kgm2,
= 0.002953 Nms/rad,
= 1.28 Nm/A,
= 1.28 Vs/rad.

Indikasi kinerja dari tanggapan sistem yang akan diamati meliputi overshoot, settling
time, rise time, Integral Absolute Error (IAE) and Integral Time Absolute Error (ITAE).

= 0 |()| (26)

= 0 |()| (27)

11
4.1. LANGKAH KERJA
1. Masukan parameter motor DC pada persamaan (16), sehingga diperoleh fungsi transfer
untuk Plant. Kemudian tentukan fungsi transfer seperti Gambar berikut, dimana Kp
adalah Kcr

2. Tentukan nilai Kcr yang diperoleh dari metode Routh.


3. Tentukan nilai Pcr menggunakan program Simulink dengan cara:
Buka program Matlab
Klik New, pilih Simulink Model dan tekan enter.

Akan muncul seperti tampilan berikut

Pilih Folder tujuan yang diinginkan dan ketik Simulink pada Command Window.

12
Akan muncul tampilan berikut

Buatlah seperti tampilan seperti Gambar berikut dengan cara pilih ikon pada Simulink
Library Browser dan drag ke lembar kerja Simulink. Isi nilai Kcr-nya.

13
Bagian Plant disi seperti tampilan berikut:

Jalankan program tersebut lalu hitung Pcr seperti Gambar 6.

4. Hitung parameter PID dan fuzi.


5. Buka Lembar kerja Simulink baru dan susun komponen seperti Gambar berikut,
kemudian simpan dengan cara klik File, pilih Save as dan tulis nama file dan pilih folder
yang dituju serta tekan Save.
Catatan: Save as type dipilih .mdl.

14
6. Buka lembar kerja Simulink baru.
7. Ketik fuzzy pada Command Window dan tekan enter. Hasilnya akan muncul FIS Editor.

8. Klik File, pilih New FIS, lalu pilih Mamdani dan tekan enter.

Catatan: Dalam praktikum ini, digunakan dua input yaitu Error dan ChangeError, serta
TeganganArmatur sebagai keluarannya seperti yang terlihat pada Tabel 7.
Tabel 7. Parameter fuzi.
Parameters Error ChangeError TeganganArmatur
Type of FIS Mamdani Mamdani Mamdani
And method Min Min Min
Implication Min Min Min
Agregation Max Max Max
Defuzification Centroid Centroid Centroid

9. Klik Edit, pilih Add Variable, lalu pilih Input dan tekan enter.

15
10. Ganti Name pada kolom Current Variable dengan Error (sebagai input pertama),
ChangeError (sebagai input kedua) dan TeganganArmatur (sebagai output).

11. Pilih Error, kemudian klik Edit, pilih Remove All MFs dan tekan enter.

16
12. Lakukan langkah di atas untuk ChangeError dan TeganganArmatur

13. Klik Error, klik Edit, pilih Add MFs, tekan enter.

14. Muncul Membership Functions. Pilih trimf untuk MF type dan pilih angka 7 untuk
Number of MFs, lalu tekan OK.

17
15. Ganti mf1 dengan NB, mf2 = NM, mf3 = NS, mf4 = PS, mf5 = PM, mf6 = PB.

18
16. Klik NB, klik Type dengan trapmf. Kemudian dilanjutkan dengan PB.

19
17. Simpan program ini dengan cara klik File, Export, To File, pilih Folder yang dituju dan
isi nama file dan tekan Save.

18. Langkah selanjutnya adalah membuat aturan seperti Tabel 8.


Tabel 8. Aturan fuzi.
Error
Rules
NB NM NS Z PS PM PB
NB NB NB NB NB NM NS Z
NM NB NB NB NM NS Z PS
NS NB NB NM NS Z PS PM
ChangeError Z NB NM NS Z PS PM PB
PS NM NS Z PS PM PB PB
PM NS Z PS PM PB PB PB
PB Z PS PM PB PB PB PB
Caranya adalah klik Edit, pilih Rules.

20
19. Connection dipilih and, kolom Weight diisi 1

20. Ketik aturannya dan tekan Add Rule hingga mencapai 49 aturan.

21
21. Simpan program ini dengan cara klik File, Export, To File, pilih Folder yang dituju dan
isi nama file dan tekan Save.

22. Sebelum menjalankan program, program ini (fis1.fis) dikirim ke Workspace.


Langkahnya adalah Klik File, pilih Export, pilih To Workspace dan tekan Ok.

22
23. Pada Command Window ditulis readfis ('fis1.fis') dan tekan enter.

24. Jalankan program fuzi dengan klik tombol Run.

25. Amati dan catat hasilnya.


% O.S Rise Time (s) Settling Time (s) IAE ITAE
Fuzi PD
Fuzi Incremental
Fuzi PD+I

23
5. DAFTAR PUSTAKA
1. M. Nazamov, "DC motor position control using fuzzy proportional-derivative
controllers with different defuzzification methods" turkish Journal of Fuzzy Systems,
vol. 1 No. 1, pp. 36 - 54, 2010.
2. K. Ogata, Modern Control Engineering, fourth edition, Pearson Education
International, New Jersey, USA, 2002.

24

Anda mungkin juga menyukai