08 September 2011

, ,

PRAKTIKUM FUZZY LOGIC CONTROLLER


PRAKTIKUM FUZZY LOGIC CONTROLLER

1.    Pertemuan 1
a.      Melihat Demo Matlab, khususnya Water Tank
Langkah-Langkah:
1)      Buka Command Window pada Matlab.
2)      Ketikkan Demo, diikuti dengan klik tombol ‘Enter’ pada Keyboard.
Perhatikan gambar dibawah ini:  
Gambar 1. Command Window Pada Matlab

Matlab memiliki banyak fungsi-fungsi, selain demo, seperti fuzzy, simulink, dan lain-lain. Untuk mengetahui fungsi-fungsi yang tersedia ketik Help pada command window, diikuti dengan menekan tombol enter pada keyboard.

3)      Kemudian akan muncul Matlab Demos, seperti yang ditunjukkan pada gambar dibawah ini:

Gambar 2. Matlab Demo Windows
4)      Double klik pada Toolboxes, pilih Fuzzy Logic, dan pilih Water tank (sim) yang ada pada kotak sebelah kanan.

Gambar 3. Matlab Demo Windows dengan Option Water tank

Selain water tank (sim), matlab memiliki masih banyak demo lagi, seperti yang ditunjukkan pada gambar 3.

5)      Klik button  Run Water tank (sim). Selanjutnya akan muncul gambar model sltank seperti yang ditunjukkan pada gambar dibawah ini.

Gambar 4. Model sltank







6)      Klik tanda panah pada toolbar untuk menjalankan simulasi, atau dengan menekan tombol ‘Ctrl+T’ pada keyboard. Secara default yang bekerja sebagai pengendali pada simulasi ini adalah blok Fuzzy Logic Controller.

Gambar 5. Simulasi Tank Demo

7)      Double klik pada blok Comparison (Perhatikan Gambar 4), Untuk melihat kurva respon waktunya.

Gambar 6. Kurva Respon Waktu Simulasi Tank Demo


b.      Mengetahui Isi Blok FLC
Langkah-Langkah:
1)      Buka Command Window pada Matlab.
2)      Ketikkan Fuzzy, diikuti dengan klik tombol ‘Enter’ pada Keyboard.
Perhatikan gambar dibawah ini:  

Gambar 7. Command Window Pada Matlab

3)      Kemudian akan muncul FIS Editor, seperti yang ditunjukkan pada gambar dibawah ini:

Gambar 8. FIS Editor

Secara default fis editor diberi nama untitled, yang terdiri dari 1 input (input1), dan 1 output (output1) serta tanpa membership function.



4)      Pilih File, kemudian  Import, lalu pilih From Workspace
Perhatikan gambar dibawah ini:

Gambar 9. FIS Editor dengan Mengimpor File dari Workspace

5)      Isikan tank pada Workspace Variable

Gambar 10. Load FIS From Workspace

tank merupakan nama variable pada workspace  yang berekstensi .fis












6)      Klik button OK. Selanjutnya akan muncul FIS Editor tank

Gambar 11. FIS Editor tank

Tank.fis memiliki 2 input (level dan rate) dan 1 output (valve).

7)      Double klik input level dan amati membership function dan range-nya

Gambar 12. Input Level dan Atributnya

Dari gambar diatas terlihat input level memiliki 3 Membership Function, yaitu: high, okay, dan low. Terlihat juga range-nya, yaitu [-1 1].


8)      Klik membership function high, untuk melihat atributnya.
Gambar 13. Membership Function High Pada  Input Level

Dari gambar diatas terlihat range untuk input level, yaitu [-1 1].  Range ini menunjukan batas minimal dan maksimal yang digunakan sebagai skala untuk mengatur lebar sempitnya MF pada Input Level, bisa juga dengan mengatur Params-nya, terlihat Params untuk membership function high yaitu [0.3 -1]. Type untuk MF ini adalah gaussmf.

9)      Double klik input rate dan amati membership function dan range-nya
Gambar 14. Input Rate dan Atributnya

Dari gambar diatas terlihat input rate memiliki 3 Membership Function, yaitu: negative, none, dan positive. Terlihat juga range-nya, yaitu [-0.1 0.1].
10)  Klik membership function negative, untuk melihat atributnya.
Gambar 15. Membership Function Negative Pada  Input Rate

Dari gambar diatas terlihat range untuk input rate, yaitu [-0.1 0.1].  Range ini menunjukan batas minimal dan maksimal yang digunakan sebagai skala untuk mengatur lebar sempitnya MF pada Input Rate, bisa juga dengan mengatur Params-nya, terlihat Params untuk membership function negative yaitu [0.03 -0.101]. Type untuk MF ini adalah gaussmf.

11)  Double klik output valve dan amati membership function dan range-nya

Gambar 16. Output Valve dan Atributnya
Dari gambar diatas terlihat output valve memiliki 5 Membership Function, yaitu: close_fast, close_slow, no_change, open_slow, dan open_fast. Terlihat juga range-nya, yaitu [-1 1].

12)  Klik membership function close_fast, untuk melihat atributnya.
Gambar 17. Membership Function close_fast Pada  Output Valve

Dari gambar diatas terlihat range untuk output valve, yaitu [-1 1].  Range ini menunjukan batas minimal dan maksimal yang digunakan sebagai skala untuk mengatur lebar sempitnya MF pada Output Valve, bisa juga dengan mengatur Params-nya, terlihat Params untuk membership function close_fast yaitu [-1 0.9 -0.8]. Type untuk MF ini adalah trimf.

13)  Klik View, kemudian pilih View rules, atau bisa juga dengan menekan Ctrl+5 pada keyboard.
Gambar 18. Cara Untuk Melihat Rule
14)  Selanjutnya akan ditampilkan Rule Viewer, seperti gambar dibawah ini:
Gambar 19. Rule Viewer

15)  Untuk mengedit rule diatas klik View, lalu pilih Edit rule, atau dengan menekan Ctrl+3 pada keyboard.
Gambar 20. Cara Untuk Mengedit Rule






16)  Selanjutnya akan ditampilkan Rule Editor, seperti gambar dibawah ini:
Gambar 21. Rule Editor

Rule diatas dibuat dengan mengatur MF input dan output, setelah itu tinggal mengklik button Add rule.


c.       Tugas: Meniru pembuatan tank.fis secara terbimbing.
1)      Buka Command Window pada Matlab.
2)      Ketikkan Fuzzy, diikuti dengan klik tombol ‘Enter’ pada Keyboard.
Perhatikan gambar dibawah ini:  

Gambar 1. Command Window Pada Matlab



3)      Kemudian akan muncul FIS Editor, seperti yang ditunjukkan pada gambar dibawah ini:

Gambar 2. FIS Editor

Secara default fis editor diberi nama untitled, yang terdiri dari 1 input (input1), dan 1 output (output1) serta tanpa membership function.

4)      Klik Edit, diikuti dengan memilih Add input.
Gambar 3. Cara Menambah Input

Ingat! perhatikan semua komponen yang terdapat pada tank.fis, jangan sampai ada yang terlewatkan.
5)      Selanjutnya akan muncul Input2, Perhatikan gambar dibawah ini:
Gambar 4. FIS Editor Untitled Dengan 2 Input dan 1 Output

6)      Klik input1, untuk mengganti nama input1. Perhatikan pada current variable, ubahlah nama input1 dengan Level, diikuti dengan perintah enter pada keyboard.
Gambar 5. Mengubah Nama input1 Dengan Level




7)      Klik input2, untuk mengganti nama input2. Perhatikan pada current variable, ubahlah nama input2 dengan Rate, diikuti dengan perintah enter pada keyboard.
Gambar 6. Mengubah Nama Input2 Dengan Rate

8)      Klik output1, untuk mengganti nama output1. Perhatikan pada current variable, ubahlah nama output1 dengan Valve, diikuti dengan perintah enter pada keyboard.
Gambar 7. Mengubah Nama Output1 Dengan Valve


9)      Double klik input Level, kemudian Pilih Edit, lalu Add MFs
Gambar 8. Cara Menambah Membership Function

10)  Isikan gaussmf pada MF Type dan untuk Number of  MFs 3. Perhatikan gambar dibawah ini:
Gambar 9. Menambah Membership Function

Secara default MF Type berisi trimf dan untuk Number of MFs berisi 3.










11)  Klik OK, selanjutnya akan muncul seperti gambar berikut:
Gambar 10. MF input Level

Secara default nama MF diberi nama mf1,  mf2,  mf3,....mfn.

12)  Klik mf1, kemudian ganti namanya menjadi high, dan atur params-nya sesuai dengan yang terdapat pada input level dalam  tank.fis.
Gambar 11. Mengubah parameter MF pada input Level

Begitupula dengan mf2 dan mf3, gantilah namanya menjadi okey dan low, serta aturlah params-nya seperti yang terdapat pada tank.fis. (Perhatikan Gambar 11).
Tips: Untuk mempercepat pengaturan params pada MF, copy-lah params yang terdapat pada tank.fis, dan paste pada params yang kita buat.

13)  Double klik input Rate, kemudian Pilih Edit, lalu Add MFs
Gambar 12. Cara Menambah Membership Function

14)  Isikan gaussmf pada MF Type dan untuk Number of  MFs 3. Perhatikan gambar dibawah ini:
Gambar 13. Menambah Membership Function






15)  Klik OK, selanjutnya akan muncul seperti gambar berikut:
Gambar 14. MF Input Rate

16)  Klik mf1, kemudian ganti namanya menjadi negative, dan atur params-nya sesuai dengan yang terdapat pada input rate dalam tank.fis.
Gambar 15. Mengubah parameter MF pada input Rate

Begitupula dengan mf2 dan mf3, gantilah namanya menjadi none dan positive, serta aturlah params-nya seperti yang terdapat pada tank.fis. (Perhatikan Gambar 15).

17)  Double klik output Valve, kemudian Pilih Edit, lalu Add MFs
Gambar 16. Cara Menambah Membership Function

18)  Isikan trimf pada MF Type dan untuk Number of  MFs 5. Perhatikan gambar dibawah ini:
Gambar 17. Menambah Membership Function












19)  Klik OK, selanjutnya akan muncul seperti gambar berikut:
Gambar 18. MF Output Valve

20)  Klik mf1, kemudian ganti namanya menjadi close_fast, dan atur params-nya sesuai dengan yang terdapat pada output valve dalam tank.fis.
Gambar 19. Mengubah parameter MF pada Output Valve

Begitupula dengan mf2, mf3, mf4, dan mf5, gantilah namanya menjadi close_slow, no_change, open_slow, dan open_fast, serta aturlah params-nya seperti yang terdapat pada tank.fis. (Perhatikan Gambar 19).

21)  Klik View, lalu pilih Edir rule, atau bisa juga dengan menekan Ctrl+3 pada keyboard.
Gambar 20. Cara Membuat Rule Editor

22)  Selanjutnya akan muncul Rule Editor, dan buatlah rule seperti yang terdapat pada tank.fis. Perhatikan gambar dibawah ini:
Gambar 21. Membuar Rule-Rule

Rule diatas dibuat dengan mengatur MF pada  input (level dan rate) dan output (valve), kemudian memilih option Add rule. Jika ingin mengubah rule yang kita buat dapat menggunakan perintah Change rule, atau bisa juga menghapusnya dengan memilih option Delete rule.
23)  Aturlah parameter And method, Or method, Implication, Aggregation, dan metote Defuzzification, seperti gambar dibawah ini:
Gambar 22. Metode yang digunakan

24)  Klik File, kemudian pilih save to workspace as.
Gambar 23. Cara Menyimpan Pekerjaan Yang Kita Buat

25)  Simpanlah dengan nama tank1, diikuti dengan mengklik ok.
                            Gambar 24. Nama Variable Yang Akan Disimpan
26)  Selanjutnya bukalah sltank, dan double klik blok fuzzy logic controller
Gambar 25. Model sltank

Model sltank ini dimunculkan dari Matlab Demos (Buka halaman 1)

27)  Isikan tank1 pada FIS Matrix. Kemudian klik OK.
Gambar 26. FIS Matrix

tank1 merupakan nama variable yang telah kita buat.

28)  Jalankan model sltank dengan mengklik tanda panah pada toolbar atau dengan menekan tombol ‘Ctrl+T’ pada keyboard.
29)  Amati respons sistem, apakah sama dengan tank.fis. jika belum telitilah semua komponen yang terdapat  pada tank.fis., dan perhatikan range, params, dan metode yang digunakan.









2.      Pertemuan 2
a.      Membuat Workspace Sendiri
sistem orde 2 dengan delay, dikontrol oleh FLC. Input ada 2, yaitu error dan derror. Ada 1 output. Pada input dan output masing-masing terdiri dari 3 MF, yaitu Neg (N), Zero (Z) dan Pos (P). Range error [-1 1], range derror [-0.1 0.1] dan range output [-1 1]. Tipe MF yang dipakai baik pada input maupun adalah segitiga (trimf). Rule yang digunakan adalah rule standar (pendekatan heuristic) sebanyak 9 rule.
Langkah-Langkah:
1)      Buatlah rangkaian simulasi seperti gambar dibawah ini:

Gambar 1. Model Workspace Dengan Sistem Orde 2

2)      Buatlah FIS Editor dengan 2 Input (dengan nama error dan derror), dan 1 Output (dengan nama output).
Perhatikan gambar dibawah ini:

Gambar 2. FIS Editor fuzzy1





3)      Buatlah 3 membership function untuk Input error, dengan nama Neg (N), Zero (Z) dan Pos (P), berupa trimf,  dan atur range-nya menjadi  [-1 1].

Gambar 3. Input Error dengan 3 MF

4)      Buatlah 3 membership function untuk Input derror, dengan nama Neg (N), Zero (Z) dan Pos (P), berupa trimf,  dan atur range-nya menjadi  [-0.1 0.1].

Gambar 4. Input derror dengan 3 MF






5)      Buatlah 3 membership function untuk output, dengan nama Neg (N), Zero (Z) dan Pos (P), berupa trimf,  dan atur range-nya menjadi  [-1 1].


Gambar 5. Output dengan 3 MF

6)      Buatlah 9 rule standar (pendekatan heuristic), seperti yang terlihat pada gambar dibawah ini:

Gambar 6.  Rule Editor fuzzy1


b.     Tugas
Mengamati pengaruh perubahan parameter input. Lakukan langkah-langkah berikut, dengan ketentuan bahwa perubahan hanya diberlakukan pada satu parameter. Ketika satu parameter diubah, yang lain tetap pada kondisi awal. Kemudian amati respon sistem.
1)        Aturlah range error: dari [-1 1] menjadi [-2 2] dan [-0.5 0.5]
Gambar 7. Mengubah Range Input Error
Gantilah Range [-1 1], seperti yang ditunjukkan pada gambar diatas, kemudian ubahlah range-nya menjadi [-2 2], diikuti dengan menekan enter pada keyboard. Begitu juga dengan range [-0.5 0.5].
2)        Aturlah range derror: dari [-0.1 0.1] menjadi [-0.2 0.2] dan [-0.05 0.05]
Gambar 8. Mengubah Range Input Derror
Gantilah Range [-0.1 0.1] seperti yang ditunjukkan pada gambar diatas, kemudian ubahlah range-nya menjadi [-0.2 0.2], diikuti dengan menekan enter pada keyboard. Begitu juga dengan range [-0.05 0.05]
3)        Gantilah tipe MF error: segitiga (trimf) ke gauss (gausmf) dan ke trapesium (trapmf).
Gambar 9. Mengubah Type MF
4)        Gantilah tipe MF derror: segitiga ke gauss dan ke trapezium
Perhatikan Gambar 9 diatas.
5)        Ubahlah lebar sempit MF: Z dipersempit dan Z diperlebar
Tarikkah kekiri dan kekanan MF Z, sampai menyempit atau melebar, atau bisa juga juga dengan mengatur params-nya.























3.      Pertemuan 3
a.      Membuat Workspace Sendiri
sistem orde 2 dengan delay, dikontrol oleh FLC. Input ada 2, yaitu error dan derror. Ada 1 output. Pada input dan output masing-masing terdiri dari 3 MF, yaitu Neg (N), Zero (Z) dan Pos (P). Range error [-1 1], range derror [-0.1 0.1] dan range output [-1 1]. Tipe MF yang dipakai baik pada input maupun adalah segitiga (trimf). Rule yang digunakan adalah rule standar (pendekatan heuristic) sebanyak 9 rule.
Langkah-Langkah:
1)      Buatlah rangkaian simulasi seperti gambar dibawah ini:

Gambar 1. Model Workspace Dengan Sistem Orde 2

2)      Buatlah  FIS Editor dengan 2 Input (dengan nama error dan derror), dan 1 Output (dengan nama output).
Perhatikan gambar dibawah ini:

Gambar 2. FIS Editor fuzzy1





3)      Buatlah 3 membership function untuk Input error, dengan nama Neg (N), Zero (Z) dan Pos (P), berupa trimf,  dan atur range-nya menjadi  [-1 1].

Gambar 3. Input Error dengan 3 MF

4)      Buatlah 3 membership function untuk Input derror, dengan nama Neg (N), Zero (Z) dan Pos (P), berupa trimf,  dan atur range-nya menjadi  [-0.1 0.1].

Gambar 4. Input derror dengan 3 MF






5)      Buatlah 3 membership function untuk output, dengan nama Neg (N), Zero (Z) dan Pos (P), berupa trimf,  dan atur range-nya menjadi  [-1 1].


Gambar 5. Output dengan 3 MF

6)      Buatlah 9 rule standar (pendekatan heuristic), seperti yang terlihat pada gambar dibawah ini:

Gambar 6.  Rule Editor fuzzy1


b.      Tugas
1)       Melihat pengaruh perubahan parameter output:
a)      Aturlah range output: dari [-1 1] menjadi [-2 2] dan [-0.5 0.5]
Gambar 7. Mengatur Range Output
Gantilah Range [-1 1] seperti yang ditunjukkan pada gambar diatas, kemudian ubahlah range-nya menjadi [-2 2], diikuti dengan menekan enter pada keyboard. Begitu juga dengan range [-0.5 0.5].

b)      Ubahlah tipe MF output: segitiga ke gauss dan ke trapezium
Gambar 8. Mengubah Type MF

c)      Aturlah lebar sempit MF: Z dipersempit, Z diperlebar, dan masing-masing MF dibuat sempit (tanpa overlap).
Tarikkah kekiri dan kekanan MF Z, sampai menyempit atau melebar, atau bisa juga juga dengan mengatur params-nya.



2)      Melihat pengaruh metode defuzzifikasi
Secara default, metode yang dipakai yaitu centroid
a)      Gantilah metode tersebut diganti berturut-turut dengan bisector, MOM, LOM dan SOM.
Gambar 9. Mengubah Metode Defuzzifikasi


























4.    Pertemuan 4
a.      Buatlah workspace seperti pertemuan sebelumnya
1)    Buatlah rangkaian simulasi seperti gambar dibawah ini:

Gambar 1. Model Workspace Dengan Sistem Orde 2

2)    Buatlah  FIS Editor dengan 2 Input (dengan nama error dan derror), dan 1 Output (dengan nama output).
Perhatikan gambar dibawah ini:

Gambar 2. FIS Editor fuzzy1










3)        Buatlah 3 membership function untuk Input error, dengan nama Neg (N), Zero (Z) dan Pos (P), berupa trimf,  dan atur range-nya menjadi  [-1 1].

Gambar 3. Input Error dengan 3 MF

4)        Buatlah 3 membership function untuk Input derror, dengan nama Neg (N), Zero (Z) dan Pos (P), berupa trimf,  dan atur range-nya menjadi  [-0.1 0.1].

Gambar 4. Input derror dengan 3 MF






5)        Buatlah 3 membership function untuk output, dengan nama Neg (N), Zero (Z) dan Pos (P), berupa trimf,  dan atur range-nya menjadi  [-1 1].


Gambar 5. Output dengan 3 MF

6)    Buatlah 9 rule standar (pendekatan heuristic), seperti yang terlihat pada gambar dibawah ini:

Gambar 6.  Rule Editor fuzzy1


b.      Range, tipe MF, dan lebar sama dengan yang standar
c.      Tugas
1)   Melihat pengaruh pengubahan rule

N
Z
P
N
N
N
P
Z
N
Z
P
P
N
P
P

1)            If error is N then output is N
2)            If error is P then output is P
3)            If error is Z and derror is Z then output is Z
4)            If error is Z and derror is N then output is N
5)            If error is Z and derror is P then output is P

Gambar 7. Rule Editor

2)      Melihat pengaruh pengubahan jumlah MF pada input dan output, menjadi masing-masing 5 MF: NB, NS, Z, PS, dan PB.
Gambar 8. MF Input Error


2 komentar:

Radira mengatakan...

thanks so much :D

Purwanto mengatakan...

maaf tak ada gambar...