Fuzzy Logic

Posted: November 15, 2010 in mikrokontroller
  1. A. Logika Fuzzy

Sistem fuzzy adalah sebuah sistem yang dibangun dengan definisi, cara kerja dan deskripsi yang jelas berdasarkan pada teori logika fuzzy (Naba, 2009). Kendali fuzzy logic merupakan klasifikasi sistem kendali modern yang didasarkan pada kaidah kabur (fuzzy). Fuzzy Logic Controller (FLC) bertitik tolak ke model logika yang mempresentasikan proses berfikir seorang ahli ketika sedang mengendalikan suatu proses. Fuzzy logic pertama kali dikemukakan oleh Lotfi A Zadeh pada tahun 1965. Teori ini  menggunakan variabel linguistik. Misalnya motor listrik dinyatakan dengan nilai ‘cukup lambat’, ‘lambat’, ‘cepat’, ‘cukup cepat’, ‘sangat cepat, dan sebagainya. Nilai dalam bentuk kata‑kata tersebut dinyatakan dalam himpunan fuzzy yang didefinisikan pada semesta pembicaraan dari harga‑harga yang mempengaruhi kecepatan misalnya tegangan dan arus. Dengan demikian keputusan yang diambil berupa nilai himpunan fuzzy. Misalnya jika putaran sangat cepat, maka kurangkan tegangan masukan motor cukup negatif. Jika putaran lambat, maka tambahkan tegangan input motor cukup positif. Dengan dasar itulah pengendalian motor dapat dilakukan.

Menurut Kusumadewi  (2002), ada beberapa alasan mengapa fuzzy logic banyak digunakan, antara lain adalah :

  1. Konsep fuzzy logic mudah dimengerti. Konsep matematis yang mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti.
  2. Fuzzy logic sangat fleksibel.
  3. Fuzzy logic memiliki toleransi terhadap data‑data yang tidak tepat.
  4. Fuzzy logic mampu memodelkan fungsi‑fungsi non linear yang sangat kompleks.
  5. Fuzzy logic dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan.
  6. Fuzzy logic dapat bekerjasama dengan teknik‑teknik kendali secara konvensional.
  7. Fuzzy logic didasarkan pada bahasa alami.

Sebelum memahami sistem fuzzy, perlu diketahui istilah-istilah yang digunakan dalam proses kendali fuzzy. Istilah-istilah tersebut bisa dilihat pada gambar 2.4 dibawah ini.

Gambar 2.4. Istilah dalam Fuzzy Logic

Beberapa istilah yang perlu diketahui dalam memahami sistem fuzzy, yaitu :

  1. Variabel fuzzy

Variabel fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy. Contoh: kecepatan, tegangan, temperatur, dan sebagainya.

  1. Himpunan fuzzy (label)

Himpunan fuzzy merupakan suatu group yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy. Contoh: variabel kecepatan terdiri dari tiga himpunan fuzzy, yaitu lambat, cepat dan sangat cepat.

  1. Semesta pembicaraan (universe of discourse)

Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy. Contoh: semesta pembicaraan untuk kecepatan [0,1200].

  1. Scope/Domain

Scope/domain himpunan fuzzy adalah keseluruhan nilai yang diijinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy. Contoh : lambat = [0, 500], cepat = [300, 1000], sangat cepat = [800, 1200].

  1. Derajat keanggotaan (Degree of membership)

Fungsi dari derajat keanggotaan ini  adalah  untuk memberikan bobot pada  suatu input yang telah  kita berikan,  sehingga  input dapat dinyatakan dengan nilai. Misalnya putaran adalah lambat, dengan adanya derajat keanggotaan maka putaran lambat dapat mempunyai suatu nilai misal 0,5. Batas dari derajat keanggotaan dari 0 – 1.

  1. Fungsi keanggotaan (Membership Function)

Suatu bentuk bangun yang merepresentasikan suatu batas dari scope/domain.

  1. Crisp Input

Nilai input analog yang kita berikan untuk mencari derajat keanggotaan.

Ada beberapa proses logika fuzzy yang perlu dilakukan untuk mendapat hasil kendali menggunakan logika fuzzy. Struktur dasar kendali tersebut dapat dilihat pada gambar 2.5 dibawah ini.

Gambar 2.5. Struktur dasar kendali fuzzy logic

Proses fuzzy logic (fuzzy inference) terdiri atas tiga bagian utama. Bagian pertama adalah fuzzifikasi yang bertujuan mengubah crisp input menjadi fuzzy input. Dalam proses fuzzifikasi ini diperlukan fungsi keanggotaan masukan agar proses fuzzifikasi dapat berjalan. Bagian kedua adalah evaluasi rule yang bertujuan mengolah fuzzy input berdasarkan basis aturan (if_then rule) untuk menentukan keputusan output sehingga menjadi fuzzy output. Bagian ketiga adalah defuzzifikasi yang bertujuan mengubah fuzzy output yang merupakan hasil evaluasi rule menjadi crisp output. Dalam proses ini diperlukan fungsi keanggotaan keluaran untuk mendapatkan nilai crisp output.

  1. 1. Fuzzifikasi

Proses ini berfungsi untuk merubah suatu besaran analog (crisp input) menjadi fuzzy input.

Prosesnya adalah:

  1. Suatu besaran analog dimasukkan sebagai input (crisp input)
  2. Crisp input kemudian dimasukkan pada batas scope / domain sehingga input tersebut dapat dinyatakan sebagai label seperti lambat, sedang, cepat dari fungsi keanggotaan (input membership functions)
  3. Dari fungsi keanggotaan ini dapat diketahui berapa derajat keanggotannya (degree of membership)
  4. Hasil dari fuzzifikasi ini adalah fuzzy input

Fuzzifikasi memiliki peranan untuk mentransformasikan bilangan tegas yang diperoleh dari sebuah pengukuran ke dalam penaksiran dari nilai subjektif, atau bisa didefinisikan sebagai pemetaan dari ruang masukan ke himpunan fuzzy dalam semesta pembicaraan masukan nyata. Untuk keperluan tersebut diperlukan suatu operator fuzzy.

  1. a. Fungsi keanggotaan

Fungsi keanggotaan (membership function) adalah suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya (derajat keanggotaan) yang memiliki interval antara 0 sampai 1. Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi. Ada beberapa fungsi yang dapat digunakan, yaitu:

1)      Representasi kurva segitiga

Kurva segitiga pada dasarnya merupakan gabungan antara 2 garis (linear) seperti terlihat pada gambar 2.6 dibawah ini:

Gambar 2.6. Representasi kurva segitiga

Dimana nilai fungsi keanggotaannya adalah:

………….  (2-2)

(Kusumadewi, 2002)

2)      Representasi kurva trapesium

Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa titik yang memiliki nilai keanggotaan 1. Seperti terlihat pada gambar 2.7 dibawah ini:

Gambar 2.7. Representasi kurva trapesium

Dimana nilai fungsi keanggotaannya adalah:

……………  (2-3)

(Kusumadewi, 2002)

Selain fungsi diatas, masih banyak lagi fungsi yang dapat digunakan yakni Representasi linear, Representasi kurva bentuk S, Representasi kurva bentuk lonceng, Representasi kurva bentuk bahu, Kurva beta, Kurva gauss.

Fungsi keanggotaan segitiga paling umum digunakan dalam penerapan aplikasi fuzzy logic. Hal ini disebabkan karena fungsi keanggotaan ini tergolong mudah dalam menggunakan, mengaplikasikan serta menganalisa persoalan matematisnya. Keuntungan lainnya adalah sangat cocok digunakan dalam pengendalian plant dengan karakteristik yang linear. Namun sebaliknya, karena tidak semua plant mempunyai karakteristik yang linear, maka kelemahan fungsi keanggotaan segitiga adalah tidak cocok digunakan pada plant berkarakteristik non linear.

Plant dengan karakteristik non linear biasa dimodelkan menggunakan fungsi keanggotaan lainnya, seperti trapesium, gaussian atau bellshap. Namun demikian, kelemahan dari fungsi keanggotaan ini adalah dalam hal penganalisaan model matematisnya yang terbilang cukup rumit.

  1. b. Operasi Himpunan Fuzzy

Seperti halnya himpunan konvensional, ada beberapa operasi yang didefinisikan secara khusus untuk mengkombinsi dan memodifikasi himpunan fuzzy. Jika A dan B adalah dua buah himpunan Fuzzy dalam semesta pembicaraan x dengan fungsi keanggotaan µA (x) dan µB (x), maka pada kedua himpunan fuzzy tersebut dapat berlaku operasi :

1) Irisan (intersection)

Fungsi keanggotaan dari irisan dua buah himpunan Fuzzy A dan B, µA∩B dapat dinyatakan sebagai :

µA∩B = min{ µA (x), µB (x)} …………………………………….  (2-4)

2) Gabungan (union)

Fungsi keanggotaan dari gabungan dua buah himpunan Fuzzy A dan B, µAUB dapat dinyatakan sebagai :

µAUB = max{ µA (x), µB (x)} ……………………………………  (2-5)

3)      Komplemen (complement)

Fungsi keanggotaan dari komplemen himpunan Fuzzy A, µA’ dapat dinyatakan sebagai :

µA’ = 1- µA’ (x) ………………………………………………………  (2-6)

(Kusumadewi, 2002)

  1. 2. Evaluasi Rule

Proses ini berfungsi untuk untuk mencari suatu nilai fuzzy output dari fuzzy input. Prosesnya adalah suatu nilai fuzzy input yang berasal dari proses fuzzifikasi kemudian dimasukkan kedalam sebuah rule yang telah dibuat untuk dijadikan sebuah fuzzy output.

Ini merupakan bagian utama dari fuzzy, karena disinilah sistem akan menjadi pintar atau tidak. Jika tidak pintar dalam mengatur rule (basis aturannya) maka sistem yang akan dikontrol menjadi kacau.

Basis aturan berisi aturan-aturan fuzzy yang digunakan untuk pengendalian sistem. Aturan-aturan ini dibuat berdasarkan logika dan intuisi manusia, serta berkaitan erat dengan jalan pikiran dan pengalaman pribadi yang membuatnya. Jadi tidak salah bila dikatakan bahwa aturan ini bersifat subjektif, tergantung dari ketajaman yang membuat. Aturan yang telah ditetapkan digunakan untuk menghubungkan antara variabel-variabel masukan dan variabel-variabel keluaran. Aturan ini berbentuk ‘JIKA – MAKA’ (IF – THEN), sebagai contoh adalah :

Aturan 1 : JIKA x adalah A1 DAN y adalah B1 MAKA z adalah C1

Aturan 2 : JIKA x adalah A2 DAN y adalah B2 MAKA z adalah C2

Aturan i : JIKA x adalah Ai DAN y adalah Bi MAKA z adalah Ci

Dengan :

Ai (i = 1,2,3,…) adalah himpunan Fuzzy ke i untuk variabel masukan x

Bi (i = 1,2,3,…) adalah himpunan Fuzzy ke i untuk variabel masukan y

Ci (i = 1,2,3,…) adalah himpunan Fuzzy ke i untuk variabel keluaran z

Berdasarkan basis aturan yang telah dibuat, variabel-variabel fuzzy input diolah lebih lanjut untuk mendapatkan suatu penyelesaian. Dengan demikian dapat diambil suatu keputusan berupa variabel fuzzy output, yaitu himpunan-himpunan fuzzy output dengan fungsi keanggotaan yang ditetapkan berdasarkan metode yang digunakan untuk mengambil suatu keputusan.

Pengambilan keputusan dalam sistem FLC dilakukan melalui penalaran pendekatan (approximate reasoning). Misalkan masukan pengendali fuzzy logic adalah fuzzy tunggal yakni A, B sehingga penalaran fuzzy dapat dilakukan dengan kaidah operasi minimum Mamdani (max-min) dan kaidah operasi perkalian Larse (max-dot).

Minimum:  …………………………………………..  (2-7)

Perkalian :……………………………………………..  (2-8)

Pada penelitian ini digunakan kaidah operasi minimum mamdani (max-min) sehingga untuk fungsi keanggotaan yang lebih dari satu aturan maka:

…………  (2-9)

atau

………….. (2-10)

Aksi kendali nyata yang akan diumpankan pada proses diperoleh melalui proses defuzzifikasi. Proses pengambilan keputusan Max-Min dapat dilukiskan seperti pada Gambar 2.8.

Gambar 2.8. Metode Max-min

  1. 3. Defuzzifikasi

Defuzzifikasi merupakan cara untuk mendapatkan nilai tegas dari nilai fuzzy secara representatif. Secara mendasar defuzzifikasi adalah pemetaan dari ruang aksi kendali fuzzy yang didefinisikan dalam semesta pembicaraan keluaran ke dalam ruang aksi kendali nyata (non fuzzy).

Proses ini berfungsi untuk menentukan suatu nilai crisp output. Prosesnya adalah sebagai berikut: suatu nilai fuzzy output yang berasal dari evaluasi rule diambil kemudian dimasukkan ke dalam suatu fungsi keanggotaan keluaran (membership function output). Besar nilai fuzzy output dinyatakan sebagai degree of membership function output. Nilai-nilai tersebut dimasukkan ke dalam suatu rumus untuk mendapatkan hasil akhir yang disebut crisp output. Crisp output adalah suatu nilai analog yang akan kita butuhkan untuk mengolah data pada sistem yang telah dirancang.

Ada beberapa cara defuzzifikasi yang lazim digunakan, dalam kasus ini digunakan metode Centroid Of Area (COA). Metode ini dilakukan dengan membangkitkan titik pusat dari distribusi kemungkinan sebuah aksi kendali.

………………………………………………………  (2-11)

Ada dua keuntungan menggunakan metoda Centroid Of Area (COA) (kusumadewi, 2002) yaitu :

  1. Nilai defuzzifikasi akan bergerak secara halus sehingga perubahan beban dalam suatu topologi himpunan fuzzy ke topologi berikutnya juga akan berjalan dengan halus
  2. Mudah dihitung.

Proses defuzzifikasi menggunakan metoda Centroid Of Area (COA) tersebut dapat dilukiskan seperti gambar 2.9 dibawah ini.

COA

Gambar. 2.9. Diagram proses defuzzifikasi

Tinggalkan komentar