Contoh Program Fuzzy Metode Tsukamoto Dengan C .

-

Contoh Program Source Code   /

Fuzzy Metode
Tsukamoto Dengan
C#
 Posted on 09.28

Fuzzy Metode Tsukamoto
Dengan C#
Logika Fuzzy
Fuzzy Metode Tsukamoto Dengan C# @ Logika fuzzy merupakan
salah satu komponen pembentuk soft computing. Logika fuzzy pertama
kali diperkenalkan oleh Prof. Lotfi A. Zadeh pd tahun 1965. Dasar logika
fuzzy merupakan teori himpunan fuzzy. Pada teori himpunan fuzzy,
peranan derajat keanggotaan sebagai penentu keberadaan elemen dlm
suatu himpunan sangatlah penting. Nilai keanggotaan / derajat
keanggotaan / membership function mjd ciri utama dlm penalaran dg
logika fuzzy tersebut (Kusuma Dewi, 2003).
Logika fuzzy dpt dianggap sebagai kotak hitam yg berhubungan antara

ruang input menuju ruang output (Kusuma Dewi, 2003). Kotak hitam
tersebut berisi cara / metode yg dpt dipakai unt memproses data input
mjd output dlm bentuk informasi yg baik.

Alasan Digunakannya Logika
Fuzzy
Adapun beberapa alasan dipakainya logika fuzzy (Kusuma Dewi, 2003),
merupakan:
1.) Konsep logika fuzzy gampang dimengerti. Karena logika fuzzy
menggunakan dasar teori himpunan, maka konsep matematis yg
mendasari penalaran fuzzy tsb ukup gampang unt dimengerti.

2.) Logika fuzzy sangat fleksisbel, artinya mampu beradaptasi dg
perubahan-perubahan, & ketidakpastian yg menyertai permasalahan.
3.) Logika fuzzy memiliki toleransi terhadap data yg cukup homogeny,
& kemudian ada beberapa data “eksklusif”, maka logika fuzzy memiliki
kemampuan unt menangani data eksklusif tersebut.
4.) Logika fuzzy dpt membangun & mengaplikasikan pengalamanpengalaman para pakar denan cara langsung tanpa harus melalui proses
pelatihan. Dalam hal ini, sering dikenal dg istilah fuzzy expert sistem
mjd bagian terpenting.

5.) Logika fuzzy dpt bekerjasama dg teknik-teknik kendali denan cara
konvensional. Hal ini umumnya terjadi pd aplikasi di bidang teknik
mesin maupun teknik elektro.
6.) Logika fuzzy didasari pd bahasa alami. Logika fuzzy menggunakan
bahasa sehari-hari sehingga gampang dimengerti.

Himpunan Fuzzy
Pada himpunan tegas (crisp), nilai keanggotaan suatu item x dlm suatu
himpunan A, yg sering ditulis dg (X), memiliki dua kemungkinan, yaitu:
Satu (1), yg memiliki arti bahwa suatu item mjd anggota dlm suatu
himpunan, atau
Nol (0), yg memiliki arti bahwa suatu item tidak mjd anggota dlm suatu
himpunan.
Contoh:
Misalkan variabel umur dibagi mjd tiga kategori, yaitu:
MUDA                       umur < 35 tahun
PAROBAYA             35 ≤ umur ≤ 55 tahun
TUA                           umur > 55 tahun
Dari kategori diatas dpt dijelaskan bahwa:
Apabila seseorang berusia 34 tahun, maka ia dikatakan MUDA ( (34)=1)

Apabila seseorang berusia 35 tahun, maka ia dikatakan TIDAK MUDA (
(35)=0)
Apabila seseorang berusia 35 tahun kurang 1 hari, maka ia dikatakan
TIDAK MUDA ( (35-1 hari)=1)
Apabila seseorang berusia 35 tahun, maka ia dikatakan PAROBAYA (
(34)=1)
Apabila seseorang berusia 34 tahun, maka ia dikatakan TIDAK
PAROBAYA ( (34)=0)
Apabila seseorang berusia 55 tahun, maka ia dikatakan PAROBAYA (
(55)=1)
Apabila seseorang berusia 35 tahun kurang 1 hari, maka ia dikatakan
TIDAK PAROBAYA ( (35-1 hari)=0)
Dari sini dpt dikatakan bahwa pemakaian himpunan crisp unt
menyatakan umur sangat tidak adil. Adanya perubahan kecil saja pd
suatu nilai mengakibatkan perbedaan kategori yg cukup signifikan.

Himpunan fuzzy dipakai unt mengantisipasi hal tersebut. Seseorang dpt
masuk dlm dua himpunan yg berbeda, MUDA & PAROBAYA,
PAROBAYA & TUA, & sebagainya. Seberapa besar eksistensinya dlm
himpunan tersebut dpt dilihat pd nilai keanggotaanya. Gambar berikut

menunjukkan himpunan fuzzy unt variabel umur.

Contoh Program Logika Fuzzy

Pada gambar diatas, dpt dilihat bahwa:
1.) Seseorang yg berumur 40 tahun, termasuk dlm himpunan MUDA dg (
(40) = 0,25); namun dia juga termasuk dlm himpunan PAROBAYA ( (40)
= 0,5).
2.) Seseorang yg berumur 50 tahun, termasuk dlm himpunan TUA dg (
(50) = 0,25); namun dia juga termasuk dlm himpunan PAROBAYA (
(50)=0,5).
Terkadang kemiripan antara keanggotaan fuzzy dg probabilitas
menimbulkan kerancuan. Keduanya memiliki nilai interval [0,1], namun
interpretasi nilainya sangat berbeda antara kedua kasus tersebut.
Keanggotaan fuzzy memberikan suatu ukuran terhadap pendpt /
keputusan, sedangkan probabilitas mengindikasikan proporsi terhadap
keseringan suatu hasil bernilai benar dlm jangka panjang. Misalnya, jika
nilai keanggotaan bernilai suatu himpunan fuzzy USIA merupakan 0,9;
maka tidak perlu dipermasalahkan berapa  seringnya nilai itu diulang
denan cara individual unt mengharapkan suatu hasil yg hampir pasti

muda. Dilain pihak, nilai probilitas 0,9 usia memiliki arti 10% dari
himpunan tersebut diharapkan tidak muda (Kusuma Dewi, 2003).

Himpunan Fuzzy memiliki 2 atribut (Kusuma Dewi,
2003), yaitu:
1.) Linguistik, yaitu penamaan suatu grup yg mewakili suatu keadaan /
kondisi tertentu dg menggunakan bahasa alami, speerti: MUDA,
PAROBAYA, TUA.
2.) Numeris, yaitu suatu nilai (angka) yg menunjukkan ukuran dari suatu
variabel seperti: 40, 25, 50, dsb.
Ada beberapa hal yg perlu diketahui dlm memahami sistem fuzzy
(Kusuma Dewi, 2003), yaitu:
1.) Variabel fuzzy yaitu variabel yg hendak dibahas dlm suatu sistem
fuzzy. Contohnya: umur, temperature, permintaan, dsb.
2.) Himpunan fuzzy yaitu suatu grup yg mewakili suatu kondisi /
keadaan tertentu dlm suatu variabel fuzzy. Contohnya: variabel
temperatur, terbagi mjd 5 himpuan fuzzy, yaitu: DINGIN, SEJUK,
NORMAL, HANGAT, & PANAS.

3.) Semesta Pembicaraan yaitu keseluruhan nilai yg diperoleh unt

dioperasikan dlm suatu variabel fuzzy, semesta pembicaraan merupakan
himpunan bilangan real yg senantiasa naik (bertambah) denan cara
monoton dari kiri kekanan. Nilai semesta pembicaraan dpt berupa
bilangan positif maupun negatif. Adakalanya nilai semesta pembicaraan
ini tidak dibatasi batas atasnya. Contohnya semesta pembicaraan unt
variabel umur: [0 +∞].
Domain Himpunan Fuzzy yaitu keseluruhan nilai yg diijinkan & boleh
dioperasikan dlm suatu himpunan fuzzy. Seperti halnya semesta
pembicaraan, domain merupakan himpunan bilangan real yg senantiasa
naik (bertambah) denan cara monoton dari kiri ke kanan. Nilai domain
dpt berupa bilangan positif maupun negatif. Contoh domain himpuanan
fuzzy: DINGIN = [0,20], SEJUK = [15,20], NORMAL = [20,30], HANGAT =
[25,35] & PANAS = [30,40].

Contoh Program Logika Fuzzy
Metode Tsukamoto 
Contoh Program Logika Fuzzy Metode Tsukamoto dg Visual Studio
2012, saya akan membagikan contoh program kendali logika fuzzy /
Fuzzy Logic Controll dg menggunakan metode Tsukamoto.


Penjelasan Program:
dengan menggunakan prinsip fuzzy logic controll metode Tsukamoto,
program ini bertujuan mencari daya motor berdasarkan dua masukan,
yaitu jumlah orang & berat barang bawaan.
program ini dibuat dg menggunakan software Microsoft Visual Studio
2012  Ultimate dg bahasa C# (baca : C Sharp)

Contoh Program Logika Fuzzy

Rule Base
1. IF Barang Bawaan RINGAN && Jumlah Orang SEDIKIT
    THEN Daya Motor BERKURANG
1. IF Barang Bawaan RINGAN && Jumlah Orang BANYAK
    THEN Daya Motor BERKURANG

1. IF Barang Bawaan BERAT && Jumlah Orang SEDIKIT
    THEN Daya Motor BERTAMBAH
1. IF Barang Bawaan BERAT && Jumlah Orang BANYAK
    THEN Daya Motor BERTAMBAH


Algoritma program:
1. Start
2. Masukkan batas bawah &/ batas atas masing2 himpunan (Ringan,
Berat, Sedikit, Banyak, Berkurang, Bertambah)
3. masukkan input >> berat barang bawaan (input X) & jumlah orang
(input Y)
4. hitung derajat keanggotaan unt masing2 himpunan masukan
(uRingan, uBerat, uSedikit, uBanyak)
5. hitung a-predikat 1-4 dg menggunakan fungsi MIN
6. hitung z1-z4
7. hitung rerata terbobot (Z) >> hasil akhir

source code program:
namespace program
{
    public partial class Form  : Form
    {
        public Form
        {
            InitializeComponent ;

        }

HOME

        private void hitung_Click object sender, EventArgs e
        {
            double input, BB, BA;
            double uRingan, uBerat;
            {
                input = double.Parse inputX.Text ;
                BB = double.Parse Ringan.Text ;
                BA = double.Parse Berat.Text ;
                uRingan = rumus.turun BB, BA, input ;
                uBerat = rumus.naik BB, BA, input ;
                textBox .Text = uRingan.ToString ;
                textBox .Text = uBerat.ToString ;
            }
            double uSedikit, uBanyak;
            {
                input = double.Parse inputY.Text ;

                BB = double.Parse sedikit.Text ;
                BA = double.Parse banyak.Text ;
                uSedikit = rumus.turun BB, BA, input ;
                uBanyak = rumus.naik BB, BA, input ;
                textBox
.Text = uSedikit.ToString
;
LAYANAN
JASA PAKET & HARGA
PROSES KERJASAMA ORDER
TEKNOLOGI ABOUT SEARCH : TUTORIAL + SOURCE CODE
                textBox .Text = uBanyak.ToString ;
            }
            double kurang, tambah;
            kurang = double.Parse berkurang.Text ;
            tambah = double.Parse bertambah.Text ;
            double p , p , p , p , z , z , z , z , z;
            p  = Math.Min uRingan, uBanyak ;
            z  = tambah ‐  tambah ‐ kurang  * p ;
            z_ .Text = z .ToString ;

            p  = Math.Min uRingan, uSedikit ;
            z  = tambah ‐  tambah ‐ kurang  * p ;
            z_ .Text = z .ToString ;
            p  = Math.Min uBerat, uBanyak ;
            z  =  tambah ‐ kurang  * p  + kurang;
            z_ .Text = z .ToString ;
            p  = Math.Min uBerat, uSedikit ;
            z  =  tambah ‐ kurang  * p  + kurang;
            z_ .Text = z .ToString ;
            z =  p  * z  +  p  * z  +  p  * z  +  p  * z
 /  p  + p  + p  + p ;
            hasil.Text = z.ToString ;
        }
        private void clear_Click object sender, EventArgs e
        {
            Ringan.Clear ;Berat.Clear ;inputX.Clear ;
            textBox .Clear ;textBox .Clear ;
            sedikit.Clear ;banyak.Clear ;inputY.Clear ;
            textBox .Clear ;textBox .Clear ;
            berkurang.Clear ; bertambah.Clear ;
            z_ .Clear ; z_ .Clear ; z_ .Clear ; z_ .Clear
        }

; hasil.Clear

        private void ResetInput_Click_ object sender, EventArgs e
        {
            inputX.Clear ; inputY.Clear ;
        }
    }
}
public partial class rumus
{
    //BB:Batas Bawah , BA:Batas Atas
    public static double turun double BB, double BA, double input

;

    {
        double u;
        if  input = BA  { u = 0; }
        else { u =  BA ‐ input  /  BA ‐ BB ; }
        return u;
    }
    public static double naik double BB, double BA, double input
    {
        double u;
        if  input = BA  { u =  ; }
        else { u =  input ‐ BB  /  BA ‐ BB ; }
        return u;
    }
}

Jika Anda perlu source code terkait dengan artikel di atas atau ada yang
ingin di tanyakan anda bisa melakukan konsultasi gratis kepada kami,
melalui form di bawah. Hasil konsultasi akan di kirimkan ke email Anda.
Kami mohon supportnya dengan mengklik beberapa tombol berikut :

Informasi Penting Untuk
Mahasiswa !
Kami menawarkan layanan jasa konsultan
bimbingan pembuatan program untuk Tesis
Skripsi dan Tugas Akhir Informatika, Komputer,
Elektro dan Teknik lainnya yang bidang minatnya
mengarah ke teknologi informasi. BASED
PROJECT :Mobile Development (Java, Adobe,
AS3, Android, BB, iOS, WPhone dll), Web &
Desktop Development (.Net, C#, MATLAB, PHP,
Delphi, Visual Basic dll). BONUS : Di bimbing
untuk penguasaan materi dan coding dan revisi.

Label: - C#, contoh program, Fuzzy,