Fuzzy Tsukamoto

12

Pemodelan Dasar Sistem Fuzzy

Soft Computing merupakan inovasi baru dalam membangun sistem cerdas. Sistem cerdas ini merupakan sistem yang memiliki keahlian seperti manusia pada domain tertentu, mampu beradaptasi dan belajar agar dapat bekerja lebih baik jika terjadi perubahan lingkungan. Unsur-unsur pokok dalam Soft Computing adalah : Sistem fuzzy, Jaringan Saraf Tiruan, Probabilistic Reasoning, Evolutionary Computing.

Sistem fuzzy secara umum terdapat 5 langkah dalam melakukan penalaran, yaitu:

  1. Memasukkan input fuzzy.
  2. Mengaplikasikan operator fuzy.
  3. Mengaplikasikan metode implikasi.
  4. Komposisi semua output.
  5. Defuzifikasi.

Logika Fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output. Untuk sistem yang sangat rumit, penggunaan logika fuzzy (fuzzy logic) adalah salah satu pemecahannya. Sistem tradisional dirancang untuk mengontrol keluaran tunggal yang berasal dari beberapa masukan yang tidak saling berhubungan.  Karena ketidaktergantungan ini, penambahan masukan yang baru akan memperumit proses kontrol dan membutuhkan proses perhitungan kembali dari semua fungsi . Kebalikannya, penambahan masukan baru pada sistem fuzzy, yaitu sistem yang bekerja berdasarkan prinsip-prinsip logika fuzzy, hanya membutuhkan penambahan fungsi keanggotaan yang baru dan aturan-aturan yang berhubungan dengannya.

Secara umum, sistem fuzzy sangat cocok untuk penalaran pendekatan terutama untuk sistem yang menangani masalah-masalah yang sulit didefinisikan dengan menggunakan model matematis Misalkan, nilai masukan dan parameter sebuah sistem bersifat kurang akurat atau kurang jelas, sehingga sulit mendefinisikan model matematikanya.

Sistem fuzzy mempunyai beberapa keuntungan bila dibandingkan dengan sistem tradisional, misalkan pada jumlah aturan yang dipergunakan. Pemrosesan awal sejumlah besar nilai menjadi sebuah nilai derajat keanggotaan pada sistem fuzzy mengurangi jumlah nilai menjadi sebuah nilai derajat keanggotaan pada sistem fuzzy mengurangi jumlah nilai yang harus dipergunakan pengontrol untuk membuat suatu keputusan. Keuntungan lainnya adalah sistem fuzzy mempunyai kemampuan penalaran yang mirip dengan kemampuan penalaran manusia. Hal ini disebabkan karena sistem fuzzy mempunyai kemampuan untuk memberikan respon berdasarkan informasi yang bersifat kualitatif, tidak akurat, dan ambigu.

Ada beberapa alasan penggunaan Logika Fuzzy :

  1. Logika Fuzzy sangat fleksibel.
  2. Logika Fuzzy memiliki toleransi.
  3. Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti.
  4. Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks.
  5. Logika fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan.
  6. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara konvensional.
  7. Logika fuzzy didasarkan pada bahasa alami.(Sri Kusumadwi,2002:3)

Sistem fuzzy pertama kali diperkenalkan oleh Prof. L. A. Zadeh dari Barkelay pada tahun 1965. Sistem fuzzy merupakan penduga numerik yang terstruktur dan dinamis. Sistem ini mempunyai kemampuan untuk mengembangkan sistem intelijen dalam lingkungan yang tak pasti. Sistem ini menduga suatu fungsi dengan logika fuzzy. Dalam logika fuzzy terdapat beberapa proses yaitu penentuan himpunan fuzzy, penerapan aturan IF-THEN dan proses inferensi fuzzy (Marimin, 2005:10).

Ada beberapa metode untuk merepresentasikan hasil logika fuzzy yaitu metode Tsukamoto, Sugeno dan Mamdani. Pada metode Tsukamoto, setiap konsekuen direpresentasikan dengan himpunan fuzzy dengan fungsi keanggotaan monoton. Output hasil inferensi masing-masing aturan adalah z,  berupa himpunan biasa (crisp) yang ditetapkan berdasarkan -predikatnya. Hasil akhir diperoleh dengan menggunakan rata-rata terbobotnya.(Sri Kusumadewi,2002:108)

Metode Sugeno mirip dengan metode Mamdani, hanya output (konsekuen) tidak berupa himpunan fuzzy, melainkan berupa konstanta atau persamaan liniar. Ada dua model metode Sugeno yaitu model fuzzy sugeno orde nol dan model fuzzy sugeno orde satu. Bentuk umum model fuzzy sugeno orde nol adalah :

IF (x1 is A1) o (x2 is A2) o ….. o (xn is An) THEN  z = k

Bentuk umum model fuzzy Sugeno orde satu adalah :

IF (x1 is A1) o (x2 is A2) o ….. o (xn is An) THEN  z = p1.x1 + … pn.xn + q

Defuzzifikasi pada metode Sugeno dilakukan dengan mencari nilai rata-ratanya.

Gambar 1  Model fuzzy sugeno orde 1

Pada metode Mamdani, aplikasi fungsi implikasi menggunakan MIN, sedang komposisi aturan menggunakan metode MAX. Metode Mamdani dikenal juga dengan metode MAX-MIN.  Inferensi output yang dihasilkan berupa bilangan fuzzy maka harus ditentukan suatu nilai crisp tertentu sebagai output. Proses ini dikenal dengan defuzzifikasi. Ada beberapa tahapan untuk mendapatkan output yaitu:

A. Pembentukan himpunan fuzzy

Pada metode Mamdani baik variabel input maupun variabel output dibagai menjadi satu atau lebih himpunan fuzzy.

  1. Aplikasi fungsi implikasi

Pada metode Mamdani, fungsi implikasi yang digunakan adalah Min.

  1. Komposisi Aturan

Tidak seperti penalaran monoton, apabila sistem terdiri dari beberapa aturan, maka inferensi diperoleh dari kumpulan dan korelasi antar aturan. Ada 3 metode yang digunakan dalam melakukan inferensi sistem fuzzy yaitu : Max, Additive dan Probabilistik OR

a.Metode Max (Maximum)

Pada metode ini solusi himpunan fuzzy diperoleh dengan cara mengambil nilai maksimum aturan, kemudian menggunakannya untuk memodifikasi daerah fuzzy dan mengaplikasikan ke output dengan menggunakan operator OR(union). Jika semua proposisi telah dievaluasi, maka output akan beisi suatu himpunan fuzzy yang merefleksikan konstribusi dari tiap-tiap proposisi. Secara umum dapat dituliskan :

µsf[xi] ← max ( µsf[xi] , µkf[xi])

dengan :

µsf[xi]=nilai keanggotaan solusi fuzzy sampai aturan ke-i

µkf[xi]=nilai keanggotaan konsekuen fuzzy aturan ke-i

b. Metode Additive (Sum)

Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara melakukan bounded-sum terhadap semua output dareah fuzzy. Secara umum dituliskan:

µsf[xi] ← max ( 1, µsf[xi]  + µkf[xi] )

µsf[xi]=nilai keanggotaan solusi fuzzy sampai aturan ke-i

µkf[xi]=nilai keanggotaan konsekuen fuzzy aturan ke-i

c. Metode Probabilistik OR

Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara melakukan product terhadap semua output daerah fuzzy. Secara umun dituliskan :

µsf[xi] ← max ( µsf[xi]  + µkf[xi] ) – (µsf[xi]  * µkf[xi] )

µsf[xi]=nilai keanggotaan solusi fuzzy sampai aturan ke-i

µkf[xi]=nilai keanggotaan konsekuen fuzzy aturan ke-i

  1. Penegasan /Defuzzifikasi

Input dari proses Defuzzifikasi adalah suatu himpunan fuzzy yang diperoleh dari komposisi aturan-aturan fuzzy, sedangkan output yang dihasilkan merupakan suatu bilangan pada domain himpunan fuzzy tersebut. Sehingga jika diberikan suatu himpunan fuzzy dalam range tertentu, maka harus dapat diambil suatu nilai crisp tertentu sebagai output.

Ada beberapa metoda yang dipakai dalam defuzzifikasi:

a. Metode Centroid.

Pada metode ini penetapan nilai crisp dengan cara mengambil titik pusat daerah fuzzy.

b. Metode Bisektor.

Pada metode ini , solusi crisp diperoleh dengan cara mengambil nilai pada domain fuzzy yang memiliki nilai keanggotaan seperti dari jumlah total nilai keanggotaan pada daerah fuzzy.

c. Metode Means of Maximum (MOM).

Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai rata-rata domain yang memiliki niali keanggotaan maksimum.

d. Metode Largest of Maximum (LOM)

Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai terbesar dari domain yang memiliki niali keanggotaan maksimum.

e. Metode Smallest of Maksimum (SOM).

Solusi crisp diperoleh dengan cara mengambil nilai terkecil dari domain yang memiliki nilai keanggotaan maksimum.

 

Langkah Umum Pengembangan Model Fuzzy

 

Gambar 2. Langkah – Langkah Pengembangan Sistem Fuzzy

sumber : https://socs.binus.ac.id/2012/03/02/pemodelan-dasar-sistem-fuzzy/

 

 

Aplikasi Logika Fuzzy – Metode Tsukamoto

APLIKASI LOGIKA FUZZY – METODE TSUKAMOTO

Teori:

Metode Tsukamoto merupakan perluasan dari penalaran monoton. Pada metode Tsukamoto, Setiap konsekuen pada aturan yang berbentuk IF-THEN harus dipresentasikan dengan suatu himpunan fuzzy dengan fungsi keanggotaan yang monoton. Sebagai hasilnya, output hasil inferensi dari tiap-tiap aturan diberikan secara tegas (crisp) berdasarkan α-predikat (fire strength). Hasil akhirnya diperoleh dengan menggunakan rata-rata terbobot.

Kasus:

Suatu perusahaan makanan kaleng akan memproduksi makanan jenis ABC. Dari data 1 bulan terakhir, permintaan terbesar mencapai 5000 kemasan/hari, dan permintaan terkecil mencapai 1000 kemasan/hari. Persediaan barang digudang terbanyak mencapai 600 kemasan/hari, dan terkecil pernah mencapai 100 kemasan/hari. Dengan segala keterbatasannya perusahaan sampai saat ini baru mampu memproduksi brang maksimum 7000 kemasan/hari, untuk efisiensi mesin dan SDm tiap hari diharapkan perusahaan memproduksi paling tidak 2000 kemasan. Berapa kemasan makanan jenis ABC yang harus diprosuksi, jika jumlah permintaan sebanyak 4000 kemasan, dan persediaan di gudang masih 300 kemasan, apabilla proses produksi perusahaan tersebut menggunakan 4 aturan fuzzy sebagai berikut:

[R1]   IF permintaan TURUN And Persediaan BANYAK, THEN Produksi Barang BERKURANG;
[R2]   IF permintaan TURUN And Persediaan SEDIKIT, THEN Produksi Barang BERKURANG;
[R3]   IF permintaan NAIK And Persediaan BANYAK, THEN Produksi Barang BERTAMBAH;
[R4]   IF permintaan TURUN And Persediaan SEDIKIT, THEN Produksi Barang BERTAMBAH;

Solusi:

Ada 3 variable fuzzy yang akan dimodelkan, yaitu:

  1. Permintaan terdiri atas 2 himpunan fuzzy, yaitu NAIK dan TURUN1
    Pemintaan (kemasan/hari)

µPmtTURUN [x] = {(1, x ≤ 1000), ((5000-x)/4000, 1000 ≤ x ≤ 5000), (0, x ≥ 5000)}

µPmtNAIK [x]     = {(0, x ≤ 1000), ((x -1000)/4000, 1000 ≤ x ≤ 5000), (1, x ≥ 5000)}

Nilai Keanggotaan :
µPmtTURUN (4000)  = (5000-4000)/4000 = 0.25
µPmtTURUN (4000)  = (4000-1000)/4000 = 0.75

  1. Persediaan,  terdiri atas 2 himpunan fuzzy, yaitu SEDIKIT dan BANYAK
    2
    Persediaan (kemasan/hari)

Nilai keanggotaan:

µPmtSEDIKIT[y]      = {(1, y ≤ 1000), ((600 – y)/500, 100 ≤ y ≤ 600), (0, y ≥ 600)}

µPmtBANYAK [y]     = {(0, y ≤ 1000), ((y-1000)/500, 100≤ y ≤ 600), (1, y ≥ 600)}

Nilai Keanggotaan :
µPmtSEDIKIT(300)  = (600-300)/500 = 0.26
µPmtBANYAK (300)  = (300-100)/500 = 0.4

  1. Produksi barang, terdiri atas 2 himpunan fuzzy, yaitu: BERKURANG dan BERTAMBAH
    3
    Produksi barang (kemasan/hari)

Nilai keanggotaan:

µPmtBERKURANG[z]      = {(1, z ≤ 2000), ((7000 – z)/5000, 2000 ≤ z≤ 7000), (0, z ≥ 7000)}

µPmtBERTAMBAH[z]      = {(0, z ≤ 2000), ((z-2000)/5000, 2000≤ z ≤ 7000), (1, z ≥ 7000)}

Sekarang kita cari nilai z untuk setiap aturan dengan menggunakan fungsi MIN pada aplikasi fungsi implikasinya:

[R1]   IF permintaan TURUN And Persediaan BANYAK THEN Produksi Barang BERKURANG;

α-predikat1 = µPmtTURUN µPmtBAYAK

α-predikat1 = min ( µPmtTURUN µPmtBANYAK )

α-predikat1  = min (0.25; 0,4)
α-predikat1  = 0.25

lihat himpunan Produksi Barang Berkurang
(7000-z)/5000=0.25 -> z1= 5750

[R2]   IF permintaan TURUN And Persediaan SEDIKIT THEN Produksi Barang BERKURANG;

α-predikat2 = µPmtTURUN  | µPmtSEDIKIT

α-predikat2 = min ( µPmtTURUN µPmtSEDIKIT)

α-predikat2 = min (0.25; 0,6)
α-predikat2 = 0.25

lihat himpunan Produksi Barang Berkurang
(7000-z)/5000=0.25 -> z2= 5750

[R3]   IF permintaan NAIK And Persediaan BANYAK THEN Produksi Barang BERTAMBAH;

α-predikat3 = µPmtNAIK µPmtBANYAK

α-predikat3 = min ( µPmtNAIK µPmtBANYAK)

α-predikat3 = min (0.75; 0,4)
α-predikat3 = 0.4

lihat himpunan Produksi Barang Bertambah
(z-2000)/5000=0.4 -> z3= 4000

[R4]   IF permintaan TURUN And Persediaan SEDIKIT THEN Produksi Barang BERTAMBAH;

α-predikat4  = µPmtTURUN µPmtSEDIKIT

α-predikat4  = min ( µPmtTURUN  , µPmtSEDIKIT )

α-predikat4  = min (0.75; 0,6)
α-predikat4  = 0.6

lihat himpunan Produksi Barang Bertambah
(z-2000)/5000=0.6 -> z4= 5000

Nilai Z dapat dicari dengan cara berikut:

z= αpred1 * z1 + αpred2 * z2 + αpred3 * z3 + αpred4 * z4/ (αpred1+ αpred2+ αpred3+ αpred4)

z= 0.25*5750 + 0.25*5750 + 0.4 *4000 + 0.6 * 5000 / (0.25+0.25+0.4+0.6) = 4983

Maka jumlah makanan kaleng jenis ABC yang harus diproduksi sebanyak 4983 kemasan.

sumber : https://logikapagi.wordpress.com/2015/11/15/27/

reyzeal/fuzzy, Fuzzy Inference Engine dengan dua kondisi pada rule

Berbentuk object oriented. hanya mampu menangani rule dengan dua kondisi (xxx and yyy then zzz).
Hanya memiliki keanggotaan trapesium, segitiga. Tidak memiliki keanggotaan left infinity atau bahu kiri dan right infinity atau bahu kanan.

<?php

require “vendor/autoload.php”;

use Reyzeal\Fuzzy;

$fuzzy = new Fuzzy(“Produksi Tekstil”,”Tsukamoto”);

$fuzzy->input()-> addCategory(‘Permintaan’)
-> addMembership(‘Turun’,”trimf”,[0,0,5000])
-> addMembership(‘Naik’,”trimf”,[0,5000,5000]);

$fuzzy->input()-> addCategory(‘Persediaan’)
-> addMembership(‘Sedikit’,”trapmf”,[0,0,100,600])
-> addMembership(‘Banyak’,”trapmf”,[100,600,700,700]);

$fuzzy->output()-> addCategory(‘Produksi’)
-> addMembership(‘Berkurang’,”trimf”,[0, 7000, 7000])
-> addMembership(‘Bertambah’,”trimf”,[0, 0, 7000])
-> addMembership(‘Sedang’,”trimf”,[0, 3500, 7000]);

$fuzzy->rules()
-> add(‘Permintaan_Turun AND Persediaan_Banyak’)
-> then(‘Produksi_Berkurang’);
$fuzzy->rules()
-> add(‘Permintaan_Turun AND Persediaan_Sedikit’)
-> then(‘Produksi_Berkurang’);
$fuzzy->rules()
-> add(‘Permintaan_Naik AND Persediaan_Sedikit’)
-> then(‘Produksi_Bertambah’);
$fuzzy->rules()
-> add(‘Permintaan_Naik AND Persediaan_Banyak’)
-> then(‘Produksi_Sedang’);

echo $fuzzy -> calc([
‘Permintaan’ => 4000,
‘Persediaan’ => 300
]);

 

sourcecode bisa didapat di https://github.com/reyzeal/fuzzy

 

Fuzzy Inference Engine dengan tiga kondisi pada rule

Implementasi dilakukan pada kasus survey library quality.
terdapat kebutuhan menghitung kualitas perpustakaan dengan kondisi persepsi, harapan minimum, dan harapan ideal. maka akan butuh rule if persepsi and h_minimum and h_ideal then kualitas.

Jika membutuhkan kodenya,, hasil tweeking dari reyzeal/fuzzy,, silakan kontak penjaga arsip.
Arsip kode dijual paket, lengkap sesuai dengan kasusnya survey library quality.

 

 

 

75%
Not Bad
  • Rancangan Sistem
  • Algoritma
  • Rancangan Tampilan

Anda mungkin ingin membaca ini