Melanjutkan artikel yang lalu yaitu Contoh Program Logika Fuzzy Metode Tsukamoto Menggunakan Visual Studio,
pada artikel kali ini kita masih membahas mengenai Fuzzy Logic Controll, namun pada artikel kali ini kita akan menggunakan METODE MAMDANI...
Secara Prinsip metode Mamdani tidak jauh berbeda dengan metode Tsukamoto, hanya aja dalam metode Mamdani memiliki langkah penyelesaian yang lebih rumit. Dalam Metode Mamdani, terdapat 4 langkah penyelesaian, yaitu:
1. Fuzzyfikasi, pembentukan himpunan fuzzy
2. Aplikasi Fungsi Implikasi, dalam metode Mamdani fungsi implikasi yang digunakan adalah MIN
3. Komposisi Aturan, terdapat 3 metode: yaitu, MAX, SUM, PROBOR, misalnya jika kita menggunakan komposisi aturan MAX dan menggunakan fungsi implikasi MIN, maka komposisi ini disebut MIN-MAX, MAX-MIN, atau MAMDANI
4. Defuzzyfikasi,
jika ingin tahu lebih jauh, silakan googling sendiri ya... :p
Pada program berikut ini, kita akan membuat program mesin cuci fuzzy sederhana untuk menentukan waktu pencucian yang efektif berdasarkan masukan jumlah pakaian dan tingkat kekotoran pakaian. Software yang digunakan untuk membuat program ini adalah Visual Studio 2012 dengan menggunakan bahasa C#.
Algoritma Program:
1. masukkan batas bawah dan batas atas tingkat kekotoran, misalnya bersih = 3, dan kotor = 15,
2. >> input >> masukkan tingkat kekotoran pakaian, misalnya 8. dalam prakteknya masukan tingkat kekotoran dapat menggunakan sensor cahaya.
3. masukkan batas bawah dan batas atas jumlah pakaian, misalnya sedikit = 10, banyak = 30,
4. >> input >> masukkan jumlah pakaian, misalnya 23. dalam praktek dapat menggunakan sensor infrared, atau masukannya adalah berat pakaian dengan menggunakan sensor berat.
5. masukkan batas bawah dan batas atas waktu pencucian, misalnya cepat = 300s, lama=1200s,
6. hitung derajat keanggotaan masing2 inputan terhadap masing2 himpunanannya.
7. lakukan langkah aplikasi fungi implikasi, dengan fungsi MIN untuk mencari a-predikat 1 s/d 4 (sesuai aturan)
8. lakukan komposisi aturan menggunakan metode MAX untuk mencari nilai a1 dan a2
9. lakukan defuzzyfikasi, tentukan fungsi keanggotaan dari hasil komposisi -> hitung momen (M1, M2, M3) -> hitung luas masing2 daerah (A1, A2, A3)
10. hitung z (nilai akhir) kemudian tampilkan hasilnya
screenshootnya:
Langkah membuat programnya :
1. Buka Visual Studio - New Project - pilih template Visual C# - Windows Form Application - pilih file name dan direktori penyimpanan - OK
2. Buat Form Program / Layout Program menggunakan tools yang ada (seperti text box, button, label, check box, combo box, dll) sampai bentuk form sesuai keinginan dan kebutuhan.
3. Sekarang saatnya programing, double-klik pada button Hitung, lalu masukkan source code:
source code lengkap sudah saya tuliskan diatas, jadi ga perlu minta dikirim email ya :D
~Semoga Bermanfaat~
Recent Post :
pada artikel kali ini kita masih membahas mengenai Fuzzy Logic Controll, namun pada artikel kali ini kita akan menggunakan METODE MAMDANI...
Secara Prinsip metode Mamdani tidak jauh berbeda dengan metode Tsukamoto, hanya aja dalam metode Mamdani memiliki langkah penyelesaian yang lebih rumit. Dalam Metode Mamdani, terdapat 4 langkah penyelesaian, yaitu:
1. Fuzzyfikasi, pembentukan himpunan fuzzy
2. Aplikasi Fungsi Implikasi, dalam metode Mamdani fungsi implikasi yang digunakan adalah MIN
3. Komposisi Aturan, terdapat 3 metode: yaitu, MAX, SUM, PROBOR, misalnya jika kita menggunakan komposisi aturan MAX dan menggunakan fungsi implikasi MIN, maka komposisi ini disebut MIN-MAX, MAX-MIN, atau MAMDANI
4. Defuzzyfikasi,
jika ingin tahu lebih jauh, silakan googling sendiri ya... :p
Pada program berikut ini, kita akan membuat program mesin cuci fuzzy sederhana untuk menentukan waktu pencucian yang efektif berdasarkan masukan jumlah pakaian dan tingkat kekotoran pakaian. Software yang digunakan untuk membuat program ini adalah Visual Studio 2012 dengan menggunakan bahasa C#.
Algoritma Program:
1. masukkan batas bawah dan batas atas tingkat kekotoran, misalnya bersih = 3, dan kotor = 15,
2. >> input >> masukkan tingkat kekotoran pakaian, misalnya 8. dalam prakteknya masukan tingkat kekotoran dapat menggunakan sensor cahaya.
3. masukkan batas bawah dan batas atas jumlah pakaian, misalnya sedikit = 10, banyak = 30,
4. >> input >> masukkan jumlah pakaian, misalnya 23. dalam praktek dapat menggunakan sensor infrared, atau masukannya adalah berat pakaian dengan menggunakan sensor berat.
5. masukkan batas bawah dan batas atas waktu pencucian, misalnya cepat = 300s, lama=1200s,
6. hitung derajat keanggotaan masing2 inputan terhadap masing2 himpunanannya.
7. lakukan langkah aplikasi fungi implikasi, dengan fungsi MIN untuk mencari a-predikat 1 s/d 4 (sesuai aturan)
8. lakukan komposisi aturan menggunakan metode MAX untuk mencari nilai a1 dan a2
9. lakukan defuzzyfikasi, tentukan fungsi keanggotaan dari hasil komposisi -> hitung momen (M1, M2, M3) -> hitung luas masing2 daerah (A1, A2, A3)
10. hitung z (nilai akhir) kemudian tampilkan hasilnya
screenshootnya:
Langkah membuat programnya :
1. Buka Visual Studio - New Project - pilih template Visual C# - Windows Form Application - pilih file name dan direktori penyimpanan - OK
2. Buat Form Program / Layout Program menggunakan tools yang ada (seperti text box, button, label, check box, combo box, dll) sampai bentuk form sesuai keinginan dan kebutuhan.
3. Sekarang saatnya programing, double-klik pada button Hitung, lalu masukkan source code:
private void button1_Click(object sender, EventArgs e)
{
double bb, ba, i;
double ubersih, ukotor;
{
i = double.Parse(inputx.Text);
bb = double.Parse(bersih.Text);
ba = double.Parse(kotor.Text);
ubersih = rumus.turun(bb, ba, i);
ukotor = rumus.naik(bb, ba, i);
uBrsh.Text = ubersih.ToString(); uKtr.Text = ukotor.ToString();
}
double usedikit, ubanyak;
{
i = double.Parse(inputy.Text);
bb = double.Parse(sedikit.Text);
ba = double.Parse(banyak.Text);
usedikit = rumus.turun(bb, ba, i);
ubanyak = rumus.naik(bb, ba, i);
uSdkt.Text = usedikit.ToString(); uByk.Text = ubanyak.ToString();
}
double cpt, lma;
cpt = Convert.ToInt32(cepat.Text);
lma = Convert.ToInt32(lama.Text);
double p1, p2, p3, p4, max1, max2,
max, Min1, Min2, Min, a1, a2 ;
double m1, m2, m3, AA1, AA2, AA3,
z;
// Mencari a-predikat 1 - 4
p1
= Math.Min(ubersih, usedikit);
p2
= Math.Min(ubersih, ubanyak);
p3
= Math.Min(ukotor, usedikit);
p4
= Math.Min(ukotor, ubanyak);
Min1 = Math.Min(p1, p2); Min2 = Math.Min(p3, p4);
Min = Math.Min(Min1, Min2); // Mencari Min
max1 = Math.Max(p1, p2); max2 = Math.Max(p3, p4);
max = Math.Max(max1, max2); // Mencari Max
a1
= (lma - cpt)*Min + cpt; //
Mencari batas area 1
a2
= (lma - cpt)*max + cpt; //
Mencari batas area 2
ha1.Text = a1.ToString();
ha2.Text = a2.ToString();
// Defuzzyfikasi
m1
= (Min/2)*(Math.Pow(a1,2));
m2
= (((1 / (lma - cpt)) / 2) * (Math.Pow(a2, 3))) - (((cpt / (lma
- cpt)) / 2) * Math.Pow(a2, 2)) - (((1 / (lma -
cpt)) / 3) * (Math.Pow(a1, 3))) - (((cpt / (lma
- cpt)) / 2 * (Math.Pow(a1, 2))));
m3
= ((max * Math.Pow(lma, 2)) / 2) - (max *
(lma-cpt) / 2) * (lma-cpt);
hm1.Text = m1.ToString(); hm2.Text = m2.ToString(); hm3.Text =
m3.ToString();
// Mencari Luas Area A1,A2,A3
AA1 = a1 * Min;
AA2 = (Min + max) * (a2 - a1) / 2;
AA3 = (lma-(lma-cpt)) * max;
A_1.Text = AA1.ToString();
A_2.Text = AA2.ToString();
A_3.Text = AA3.ToString();
z
= (m1 + m2 + m3) / (AA1 + AA2 + AA3); // Titik Pusat
textBox1.Text = z.ToString();
}
4. Perhatikan listing program yang bertuliskan: ubersih = rumus.turun(bb, ba, i); ini merupakan function, function diletakkan pada public partial yang berbeda. masukkan list program seperti pada gambar di bawah ini:
5. Sebagai pelengkap, kita akan menggunakan fungsi clear. pada button "Clear Input X-Y" double-klik kemudian masukkan kode : inputx.Clear(); inputy.Clear(); dan pada buton "Clear Semua" masukkan kode berikut : bersih.Clear(); kotor.Clear(); inputx.Clear(); sedikit.Clear(); banyak.Clear(); inputy.Clear(); cepat.Clear(); lama.Clear(); uBrsh.Clear(); uKtr.Clear(); uSdkt.Clear(); uByk.Clear(); ha1.Clear(); ha2.Clear(); hm1.Clear(); hm2.Clear(); hm3.Clear(); A_1.Clear(); A_2.Clear(); A_3.Clear(); textBox1.Clear();
fungsi clear berfungsi untuk menghapus isi dari textbox saat program dijalankan.
6. program selesai dibuat, untuk me-run program = klik start, apabila program ada yang eror, maka akan ada pesan eror pada jendela Error List, dan selamat belajar :D
7. selesai
4. Perhatikan listing program yang bertuliskan: ubersih = rumus.turun(bb, ba, i); ini merupakan function, function diletakkan pada public partial yang berbeda. masukkan list program seperti pada gambar di bawah ini:
5. Sebagai pelengkap, kita akan menggunakan fungsi clear. pada button "Clear Input X-Y" double-klik kemudian masukkan kode : inputx.Clear(); inputy.Clear(); dan pada buton "Clear Semua" masukkan kode berikut : bersih.Clear(); kotor.Clear(); inputx.Clear(); sedikit.Clear(); banyak.Clear(); inputy.Clear(); cepat.Clear(); lama.Clear(); uBrsh.Clear(); uKtr.Clear(); uSdkt.Clear(); uByk.Clear(); ha1.Clear(); ha2.Clear(); hm1.Clear(); hm2.Clear(); hm3.Clear(); A_1.Clear(); A_2.Clear(); A_3.Clear(); textBox1.Clear();
fungsi clear berfungsi untuk menghapus isi dari textbox saat program dijalankan.
6. program selesai dibuat, untuk me-run program = klik start, apabila program ada yang eror, maka akan ada pesan eror pada jendela Error List, dan selamat belajar :D
7. selesai
source code lengkap sudah saya tuliskan diatas, jadi ga perlu minta dikirim email ya :D
~Semoga Bermanfaat~
Recent Post :
minta file program ini dong ke hanggariawan@gmail.com
BalasHapusBrader tolong di share ya programnya biar nambah2 ilmu makasih sebelumnya
Hapusemail :reyz_neil@yahoo.com
agan, boleh gak minta file programnya kalau boleh kirim ya ke email ku..vio.luph.amore@gmail
BalasHapussaya doakan agan pahalanya tambah banyak deh... amienn
gan kesini ya shery.ferlita@yahoo.com.. makasih banyak lho gan.. semoga agan tmbah pahala deh..
Hapusgan.. boleh minta file program nya? kirim ke aztec49_fikri@yahoo.com thanks :)
BalasHapusbisa krim gak sekarang file programnnya lagi butuh anget
BalasHapuskak minta file yang ini ya ke boegars_jatie@yahoo.co.id ,,
BalasHapusterimakasih,,,:)
mas minta file programnya ya, buat belajaran. tolong kirim ke email keiei_sh@yahoo.com, makasih :))
BalasHapusmas minta file/project programnya ya, buat belajaran. tolong kirim ke email rahmawati.erlinda@yahoo.com, makasih :))
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapusKak minta file programnya nya dong buat nambah ilmu tentang logika fuzzy, kirim ke feri.movic@yahoo.com . makasih :))
BalasHapusmas bro minta file programnya boleh
BalasHapuskrim ke hadhie_susilo@yahoo.co.id
mkasih byak mas bro :)
bro minta fuzzy yg tsukamoto, mamdani sama sugeno sekalian kalo bisa bro. thanks ya broo.. destyawansaputra@gmail.com
BalasHapusbro minta tolong bagi filenya sourcenya ya ke wagisol@yahoo.com
BalasHapusthx ya
Komentar ini telah dihapus oleh pengarang.
BalasHapusgan boleh minta file project prgrammu ini?
BalasHapusaddib.zacky@gmail.com
terima kasih banyak..blog anda sangat membantu
kang minta programnya. thanks ya. nih emailku:AM_Jazz@ymail.com
BalasHapusgan, bisa share program y?
BalasHapusarisbocahtelo@yahoo.com
thanks sbelumnya :)
gan, bisa minta tolong share programnya dong?
BalasHapuskandaina.shiawase@cyber-wizard.com
makasih sebelumnya
gan tlong share program n sourcenya k rizalstudy@gmail.com.. tks ya gan,,ane mau belajar..
BalasHapuskalau boleh kirim ke sini gan >> tugaz.5hufree@gmail.com
BalasHapusbuat belajar :) makasih
Maaf ya agan2 sekalian, saya jarang buka blog akhir2 ini, Insya Allah dlm waktu dekat saya akan mengedit postingan agar lebih mudah dipahami...
BalasHapusTerimakasih
saya mw bikin ke javascript, boleh minta projectnya ga, buat belajar sekaligus referensi?
Hapuskirim ke sini ya oxa.5.lez@gmail.com
trims ^_^
saya mw bikin ke javascript, boleh minta projectnya ga, buat belajar sekaligus referensi?
Hapuskirim ke sini ya oxa.5.lez@gmail.com
trims ^_^
itu rumusnya udah bener belum ya? yang rumu turun dan rumus naik
BalasHapusminta filenya mas buat referensi vintha.emiliah@gmail.com terimaksih sebelumnya
BalasHapusminta file program nya donk >>> harrisrmcm@gmail.com ...makasih ya? besok mau final
BalasHapusminta tolong file project nya mas, . kirim ke abu.elcantro@live.com
BalasHapusmakasih banyak mas, semoga mas dilancarkan segala urusannya
THX GAN...... bermanfaat bgt.
BalasHapusoya.. yang mau di jadiin program vb.net . email ke ihsan.muchammad@gmail.com ..
thx... :D
mas kalau program C# dipakai di C++ bisa gak ??
BalasHapusboleh minta file projectnya gak gan, buat referesi belajar
BalasHapusyusupmaliki@gmail.com
Kak, boleh tanya tidak kalau himpunannya ada 3 (banyak, sedang, sedikit) berarti area nya ada 3 juga tidak ya ? Atau bagaimana kak. Boleh jelasin rumus nya ya kak ke email saya : inna.chica@gmail.com
BalasHapusMinta mentahan programnya dong gan. Kirim ke rivaldydwisatria@gmail.com
BalasHapuskak mintak programnya lah buat belajar kirim ke mayoriyeni760@gmail.com makasi
BalasHapuskak bisa minta filenya untuk keperluan TA makasih atas bantuannya arizal280994@gmail.com
BalasHapuskak bisa minta filenya untuk keperluan TA makasih atas bantuannya arizal280994@gmail.com
BalasHapusGan yang sugeno mana?
BalasHapusterima kasih kak... sangat membantu :)
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapusGan boleh minta file nya kirim arief.lukman65@yahoo.com
BalasHapusMas boleh minta programnya kirim ke email saya abdurrohimfajar5@gmail.com
BalasHapusMas boleh minta programnya kirim ke email saya fitriuin22@gmail.com
BalasHapusMas minta file program.nya tolong dikirim ke email saya imamshafii49@gmail.com
BalasHapusminta projectnya. ini email saya ariefsetyan@gmail.com
BalasHapusgan program nya ini ada filenya gak saya butuh banget kalo ada kirim ke email saya boleh ? wildansyahrp95@gmail.com
BalasHapusmaaf untuk menentukan rule ada di bagian mn dalam program ini..thx
BalasHapusmaaf untuk menentukan rule ada di bagian mn dalam program ini..thx
BalasHapuskalau pake bahasa visual basic gmn kira2 coding nya?
BalasHapusBoleh minta file programmnya gan? Terimakasih sebelumnya, salam sukses!
BalasHapusAyyubrizaldy@gmail.com
gan boleh minta ga filenya ? :D rico.goh95@gmail.com
BalasHapusada kesalahan pada kode, saya sudah tes dan hasil tidak sesuai dengan screeshot
BalasHapusSangat mudah dipahami tutornya gan, memang sedikit ekstra teliti dalam penamaan masing masing object nya supaya dapat dirun dengan lancar.
BalasHapus