Pemikiran terhadap himpunan fuzzy dicetuskan oleh Lotfi A. Zadeh tahun 1965 yang kemudian berkembang menjadi teori himpunan Fuzzy. Logika fuzzy didasarkan pada ketidakpastian batas antara suatu kriteria dengan kriteria lainnya yang disebabkan adanya penilaian manusia terhadap sesuatu secara kumulatif. Misalnya ungkapan mobil bagus, udara panas, dan lain sebagainya yang seringkali menimbulkan ketidak pastian antara satu kriteria dengan kriteria lainnya. Konsep himpunan fuzzy merupakan dasar dari sistem logika fuzzy. Himpunan fuzzy tersebut memetakan kriteria-kriteria kualitatif terhadap fungsi keanggotaan. Dengan demikian setiap kriteria kualitatif dalam himpunan fuzzy mempunyai fungsi keanggotaan (). Fungsi keanggotaan dari kriteria kualitatif dalam himpunan fuzzy mempunyai selang nilai antara 0.0 sampai 1.0. Bila X anggota himpunan fuzzy, maka (X) merupakan derajat keanggotaan atau fungsi dari X. Sebelum logita fuzzy dicetuskan, logika konvensional mengharuskan bahwa jika suatu proposisi benar, maka negasinya harus salah sehingga hanya ada dua keanggotaan yaitu 0 dan 1. LA Zadeh kemudian memperkenalkan gugus fuzzy (fuzzy set) dengan ketentuan: Jika A = {X A(X)} maka 0 A(X) 1 Hal ini berarti bahwa nilai fungsi keanggotaan A dalam semesta X bisa bernilai 0, 1 dan nilai-nilai diantaranya. Misal X adalah himpunan semesta umur manusia, dan X adalah himpunan crisp yang mempunyai anggota sbb: X = {5, 10, 15, 20, 30, 40, 50, 60, 70, 80 }. Tabel Contoh derajat keanggotaan himpunan Fuzzy Umur (tahun) Muda Dewasa Tua 5 1 0 0 10 1 0 0 20 0.8 0.8 0.1 30 0.5 1 0.2 40 0.2 1 0.4 50 0.1 1 0.6 60 0 1 0.8 70 0 1 1 80 0 1 1 A = (1/x1), (2/x2), (3/x3), ................. , (i/xi) Anggota-anggota himpunan bagian (xi) dengan derajat keanggotaan i dari himpunan semesta X adalah: Muda: {1/5, 1/10, 0.8/20, 0.5/30, 0.2/40, 0.1/50}. Dewasa: {0.8/20, 1/30, 1/40, 1/50, 1/60, 1/70, 1/80}. Tua: {0.1/20, 0.2/30, 0.4/40, 0.6/50, 0.8/60, 1/70, 1/80} Operasi hubungan yang berlaku pada teori himpunan fuzzy adalah: Irisan ( ) = AB = min { A(X), B(X) } Gabungan( ) = AB = max { A(X), B(X) } Komplemen ( ‘ ) = A(X)’ = 1 - A(X) Himpunan Bagian() = AB A(X) B(X). Tahapan yang umum dilakukan dalam pengendalian logika fuzzy adalah: Fuzzifikasi Basis Pengetahuan. Logika Fuzzy reasoning Defuzzifikasi Dipergunakan untuk memetakan variable input yang berupa nilai numerik/ crisp kedalam FUZZY set sehingga diperoleh nilai linguistik (label) dan derajat keanggotaannya. Terdiri atas basis data dan basis aturan. Basis Data berisi nilai linguistik dan derajat keanggotaan variable input yang diperoleh melalui proses Fuzzifikasi. Basis Aturan terdiri dari aturan kendali Fuzzy yang digunakan untuk mencapai tujuan dari objek pengendalian. Basis aturan pengendalian dibuat berdasarkan proses penalaran operator atau ahli dengan melibatkan unsur pengalaman. Aturan kendali Fuzzy mengekspresikan hubungan antara variabel input dengan variabel output. Aturan kendali Fuzzy menggunakan bentuk: Jika <kondisi atau persyaratan> maka <tindakan atau konsekuensi>. Tiap aturan memiliki hubungan antara satu dengan yang lain yang disebut FUZZY REASONING. Dipergunakan untuk proses pemetaan dari himpunan fuzzy keluaran (Fuzzy reasoning) kedalam nilai numerik sebagai aksi kendali. Metoda yang dapat digunakan pada proses defuzzifikasi adalah: Center of Area (COA), Center of Sum (COS), dan Mean of Maxima (MOM). Pendekatan teoritik dalam pembuatan kendali logika fuzzy dilakukan dengan menyusun tahapan-tahapan sebagai berikut: Contoh kasus pengendalian suhu. 1. Menentukan variabel input dan output. Dalah hal ini variabel input adalah error (E) dan beda error (dE) suhu. Variabel outputnya (U) berupa daya yang digunakan. Error adalah selisih antara suhu aktual (Tac) dengan suhu set point (Tsp). Beda error adalah selisih antara error saat waktu t dengan error saat waktu t-dt. E(t) = Tac(t) – Tsp(t). dE/dt = {E(t) – E(t-t)}/ t dE( t )/dt = {Tac( t ) – Tac(t - t)} / t 2. Menentukan Himpunan Fuzzy untuk masing-masing variable baik input (E dan dE) maupun output ( U ) dalam nilai linguistik dan fungsi keanggotaan. Nilai linguistik untuk E dan dE adalah: NB, NS, NK, ZO, PK, PS, dan PB. Nilai linguistik untuk U adalah: NSB, NB, NS, NK, ZO, PK, PS, PB, dan PSB. Fungsi keanggotaan yang digunakan untuk E, dE dan U adalah fungsi segitiga. Jumlah, range, dan shape fungsi keanggotaan E, dE, dan U didasarkan pada penelitian sebelumnya dan bersifat subjektif. Fungsi keanggotaan untuk E dan dE disajikan pada gambar berikut. 1 0 NB NS NK ZO -0.75 -0.5 -0.25 0 PK PS PB E / E 0.25 0.5 0.75 Gambar 2. Fungsi keanggotaan Error (E) dan beda error (dE) NSB NB NS NK ZO PK PS PB PSB 1 0 -1 -0.75 -0.5 -0.25 0 0.25 0.5 0.75 1 U Gambar 3. Fungsi keanggotaan output U 3. FUZZIFIKASI. Setelah mengetahui nilai variabel E dan dE kemudian ditentukan nilai linguistik dan derajat keanggotaannya dengan memetakannya pada fungsi keanggotaan E dan dE. Penentuan derajat keanggotaan nilai E dan dE dilakukan dengan persamaan garis dua titik seperti berikut: ( x2 , y2) y – y1 y2 – y1 y = x – x1 x2 – x1 (x1 , y1) 0 x Gambar Penentuan derajat keanggotaan (E) dan (dE) y = [{(x – x1)(y2 – y1)} / (x2 – x1)] + y1 karena y1 = 0, y2 =1, y = dan x = E, maka = ( E – x1)/(x2 – x1) Derajat keanggotaan dan nilai linguistik yang didapat pada proses Fuzzifikasi dijadikan sebagai basis data. 4. Menentukan aturan kendali Fuzzy. Aturan ini dibuat dalam bentuk JIKAMAKA. Dalam proses pengendalian akan terdapat hubungan antara aturan yang satu dengan yang lain disebut sebagai “Fuzzy reasoning”. Tabel Matrik aturan kendali Fuzzy NB NS NK ZO PK PS PB NB NSB NSB NSB NB NS NK ZO NS NSB NSB NB NS NK ZO PK NK NSB NB NS NK ZO PK PS ZO NB NS NK ZO PK PS PB PK NS NK ZO PK PS PB PSB PS NK ZO PK PS PB PSB PSB PB ZO PK PS PB PSB PSB PSB dE E 5. Defuzzifikasi. Keluaran dari Fuzzy reasoning umumnya terdiri atas beberapa nilai linguistik dengan derajat keanggotaan tertentu. Untuk bisa digunakan dalam proses kendali, harus dirubah kedalam numerik/ crisp. Metode defuzzifikasi yang digunakan adalah metoda center of area. Persamaan metoda tersebut adalah: wi ui Dimana: U = Output U= wi = Bobot nilai benar wi wi ui = Titik berat ke-i n = Banyaknya derajat keanggotaan. Misal suhu set point adalah 31C, suhu terukur pada saat itu = 30.4C, dan suhu terukur sebelumnya = 29.9C, Fungsi keanggotaan error dan beda error adalah : NB NS NK ZO PK PS PB 1 0 -0.75 -0.5 -0.25 0 0.25 0.5 0.75 E / E Gambar Fungsi keanggotaan Error (E) dan beda error (dE) Error pada waktu t = 30.4 – 31 = -0.6 Beda error adalah = (30.4 – 31) – (29.9 – 31) = 0.5 Derajat keanggotaan dinyatakan dengan rumus: = ( E – x1)/(x2 – x1) Derajat keanggotaan error pada garis NB: ENB = (-0.6 – (-0.5))/(-0.75 – (-0.5)) = 0.4 Derajat keanggotaan error pada garis NS: ENS = (-0.6 – (-0.75))/(-0.5 – (-0.75)) = 0.6 Karena beda error sama dengan 0.5, maka derajat keanggotaan beda error hanya ada untuk PS: dEPS = 1 Matrik keputusan untuk kendali Fuzzy adalah: Tabel Matrik keputusan kendali Fuzzy dE E NB NS NK ZO PK PS PB NB NS NSB NSB NSB NB NS NK ZO NSB NSB NB NS NK ZO PK NK ZO PK NSB NB NS NK ZO PK PS NB NS NK ZO PK PS PB NS NK ZO PK PS PB PSB PS PB NK ZO PK PS PB PSB PSB ZO PK PS PB PSB PSB PSB Berdasarkan pada matrik keputusan di atas, maka dapat dilakukan perhitungan defuzzifikasi sebagai berikut: (ENB , dEPS) = 0.4 nilai yang lebih kecil antara nilai ENB dan dEPS (ENS , dEPS) = 0.6 nilai yang lebih kecil dimana matrik untuk masing-masing aturan adalah: Matriks (ENB , dEPS) = NK Matriks (ENS , dEPS) = Z0 Variable yang akan dikendalikan pada sistem pengendalian suhu ini adalah daya pemanas. Misal daya maksimum pemanas = 5000 watt. Dari data derajat keanggotan dan metrik keputusan didapatkan grafik fungsi keanggotaan output terdiri dari dua segitiga (NK dan ZO) seperti pada gambar di bawah. 1 NSB NB NS NK ZO PK PS PB PSB -1 -0.75 -0.5 -0.25 0 0.25 0.5 0.75 1 0.6 0.4 0 U Faktor pengali daya pengendalian Fuzzy Gambar Fungsi keanggotaan output U Luas segitiga NK (A1) = (0.5 0.4)/2 = 0.1 (luas tidak ada negatif) Luas segitiga Z0 (A2) = (0.5 0.6)/2 = 0.15 Pusat area segitiga NK (X1) = -0.25 Pusat area segitiga Z0 (X2) = 0 Dengan demikian nilai output dari pengendalian fuzzy adalah: U = AiXi / Ai Dimana: Ai = luas segitiga ke-i Xi = pusat area segitiga ke-i U = {(0.1 (-0.25)) + (0.15 0)} / (0.1 + 0.15) = -0.1 x 5000 U = - 500W.