Transcript for:
Fuzzy Logic Mamdani dan Arduino

Hai silakan diajukan diajukan ketika materi selesai selesai ke langsung saja Bismillahirrohmanirrohim Assalamualaikum warahmatullahi wabarakatuh asal judul penjelasan Fajr logik Mamdani dan implementasi dengan Arduino dan juga bahasa cek ya bahasa sih sudah dilengkapi dengan program Oke kita next selanjutnya tahap pertama dalam membuat avasi logic ini yaitu falsifikasi ya sebelumnya saya mau jelasin sederhana Pak Star singkat dulu yaitu Fazi Fazi adalah salah satu cabang ilmu matematika dimana ungu Fungsinya ini untuk mengambil keputusannya berdasarkan logika Fazi yaitu Samar Beda dengan logika yang matematika biasa yaitu Grips Fazi itu mengenal istilah tengah-tengah antara benar dan salah Kalau misalkan secara logika bolehan gitu kan cuma ada benar atau salah, true or false Nah kalau misalnya di fasi ada nilai antara salah dan benar itu pasti ada setengah benar, setengah salah, dan sebagainya. Lanjut ke tutorial dalam mendesain fasi ya. Pertama kita kenal yang namanya fazifikasi.

Kemudian setelah fazifikasi itu ada yang namanya inference system. Nah setelah inference system baru bagian terakhir yaitu defazifikasi atau outputnya. proses falsifikasi ini mendesain himpunan atau kagotaan input ataupun output gitu ya terus kalau misalkan inference system itu dimana proses penentuan rule terus proses-proses sebagainya tentang rule-rule itu gitu kan ada menghitung max atau min gitu berdasarkan operator-operator yang sudah ditentukan dan di bagian falsifikasi Hai yang tadinya masih dalam keadaan Fazi kita convert lagi ke dalam nilai clips atau nilai yang jelas lagi daripada kita bingung buat ngebahas apa namanya semua bagian-bagian Fazi itu langsung aja kita ikuti langkah tutorial ini pertama membuat simpul Fazi bagian input tentu saja kita akan punya input misalkan inputnya ada ada dua gitu kan terus outputnya ada satu ya dibuat masing-masing himpunan fazinya itu kan digelompokin nah setiap imporan sini ada beberapa variabel linguistik gitu misalkan untuk inputnya ada jarak itu nah variabel linguistiknya kan ada dekat ada jauh ada sedang terus outputnya kecepatan dengan kecepatan variabel linguistiknya adalah cepat Hai lamba cepat lambat atau sedang dengan kalau misalnya jarak tadi ini ya dekat jauh lumayan langsungnya gitu nah kemudian setelah membuat himpunan file z-nya kita kelompokkan rumus-rumus nya gitu untuk rumus dekat itu seperti apa untuk rumus jauh itu seperti apa rumus lambat itu seperti apa dan sebagainya sama juga itu untuk mengelompokkan rumus anggotaan output jadi kalau misalkan ini udah selesai berarti proses falsifikasi ini sudah terpenuhi sudah selesai kemudian setelah membuat bagian-bagian ini kita lanjut ke inference system nah kita kesini dulu nah saya menggunakan Labview ya untuk membuat gambar-gambar ini ya Hai input sama outputnya nih Pak impun invasinya disini kan saya buat inputnya ini ada jarak nah di bagian garis merah ini grafik yang warna merah itu untuk variabel linguistik yang bernama dekat gitu kan Jadi ketika nilai si variabel linguistik dekat ini kurang dari 10 maka dia dianggap bernilai true atau atau benar gitu ya untuk masuk ke anggota dekat sedangkan kalau misalkan nilainya antara 10-100 Hai dia itu Fadzi gitu nah kagotaannya 0-1 jadi nanti kita perlu dihitung perlu ditentuin dulu dulu gitu rumusnya kemudian yang lumayan ada di antara nilai 50-150 dan juga 150-250 nah Sama juga buat yang bagian jauhnya tinggal dipahami aja grafisnya gambar ini garis-garisnya untuk yang PWM juga sama cuma beda ini ya apa namanya titik-titiknya nih yang bagian lambat ini saya menggunakan segitiga dari nol sampai 100 itu Pak Azi nya lambat sedangkan saat nilainya nol itu berarti emang bener-bener truk truk lambatnya dan sebagainya lanjut kita tentuin rumusnya ya kita kelompokin rumusnya nah data-data rumus ini dari mana sih ya dari gambar tadi kita bahas satu persatu ya yang pertama kanggotaan dekat saya coba ini ambil nah ini perhatikan garis yang warna merah ini ya yang miring antara nilai nextnya itu 10-100 sini nah disini Nilai 0 ketika X lebih besar dari 100. Nah ketika dia 101 ya otomatis yang bagian dekat ini kagotaannya itu 0. Nggak termasuk gitu kan. Tapi kalau misalkan X ini kurang dari 10 maka kagotaannya itu adalah 1. Nah kan bener kurang dari 10 ke sini itu anggotanya 1. Nah untuk yang 10 sampai 100 maka rumusnya seperti ini.

100 dikurangi X dibagi 100 dikurangi 10. Nah ini kan 100-nya dari sini, 10-nya itu dari titik sini. Kemudian selanjutnya kita lihat yang bagian lumayan. Sama ya, untuk lumayan ini dia akan bernilai 0 anggotanya ketika X kurang dari 50 atau X.

Lebih dari 250. Nah, itu kan pasti bakal bernilai 0. Kapan dia bernilai 1? Ketika 150. Terus saya nggak tulis karena ini bakal masuk ke sini nih. Rumusnya ketika 50 sampai 150 adalah X dikurangi 50. Dibagi 150 dari sini dikurangi 50. Kita coba ya. Misalkan X-nya jaraknya itu.

150 masukin lah ke sini 150 dikurangi 50 kan 100 ya dibagi 150 dikurangi 50 kan 100 100 dibagi 100 dengan satu nah otomatis masuk ke sini satu ini saya perlu ceritain biar lebih mudah ya Nah sama untuk jauh juga ketik jika nilai X nya itu kurang dari 200 nah kurang dari 200 artinya lebih ke sini gitu ya maka nilai anggotanya itu nol tapi kalau misalkan X nya itu lebih dari 290 maka bernilai satu sedangkan untuk nilai Fadzi nya kalau misalkan nilai X nya itu antara 200-290 maka dihitung dengan rumus ini X Hai dikurangi 200 dibagi 290 dikurangi 200 sebagai contoh ya kalau misalkan X nya itu 200 200 dikurangi 200 kan 00 dibagi berapapun pasti nol itu kan ya 0 kalau misalkan aeknya yaitu 290 290 dikurangi 200 kan 90 ya nah 90 dibagi 90 nanti pasti satu tinggal dihitung aja nanti kalau misalkan 240 dikurangi 200 berapa gitu kan misalkan 260 anggotanya berapa itu menggunakan rumus ini nah sama juga buat yang output ya yang bagian PWM nah yang disini ini silahkan kalian pahami sendiri karena sama aja gitu untuk yang bagian impunan faji di apa falsifikasi ini yang output sebenarnya enggak terlalu dibutuhin di programnya cuman nantinya pas di bagian implikasi ini kepake gitu rumus-rumus yang output ini Oke kita next dulu slide nya Nah kita masuk ke bagian inferensi sistem pertama akan ngedesain Fuzzy setelah ngebuat himpunan fazinya kita buat yang namanya rule atau aturan-aturan nah saya sudah buat aturan-aturannya di sini nih bagian rules kan inputnya tadi jarak outputnya PWM Aturan pertama, jika jaraknya adalah dekat, maka PWM-nya itu lambat. Biar robotnya nggak nabrak gitu kan. Nah, ketika jaraknya lumayan, ini bagian rule 2 ya.

Aturan 2, ketika jaraknya itu lumayan, maka si PWM jalannya itu sedang. Rule ketiga, jika jaraknya itu jauh, maka PWM akan nyala cepat gitu kan. Hai Nah itu dia kemudian eh selanjutnya ini rurunya ya jika jarak dekat maka PM lambat kejaraknya lumayan maka PM sedang dan jika jaraknya jauh maka PM nya cepat dan ini bagian implikasi rule ya implikasi rule kalau misalkan ada apa namanya kalau misalkan inputnya itu ada apa maka kita tentuin dulu gitu implikasinya dengan berdasarkan operator yang ditentuin sama rule-nya gitu kan misalkan nih jika jarak dekat dan suhunya panas gitu kan nah itu kan ada operator dan gitu kalau misalkan operator dan maka gunakan nilai min cari nilai yang kecilnya yang lebih kecilnya gitu Kalau misalkan menggunakan OR misalnya kayak gini Jika jaraknya dekat atau suhunya itu panas Nah itu kan pakai atau atau OR gitu Maka cari nilai yang besarnya itu yang maxnya Tapi karena ini menggunakan satu input kita nggak perlu operator ini Nah selanjutnya kita mau hitung implikasi rule tadi dengan resumsi kita input kan jaraknya itu 50 cm nah 50 cm maka bakalan didapat data seperti ini nih kangkotaan dekat hasilnya 5,5 556 sesuai terhadap ini nih rule jika jarak dekat maka CPM lambat Oke kita balik lagi ya ke dulu nya emang nasib untuk tadi kelewatan Nah kan jika jaraknya itu dekat maka PWMnya lambat. Kok bisa sih masuknya ke dekat gitu?

Ya lihat aja 50 itu kan adanya di bagian sini nih. Nah 50 itu di sekitar sini. 50 untuk bagian lumayan itu 0. Sedangkan untuk yang bagian dekat itu ada nilainya. Hai berapa nilainya tinggal dihitung aja berdasarkan rumus yang sebelumnya itu nih rumusnya ini kan 100 dikurangi x-nya itu 50-1 50-50 100-10 90 berarti 50 dibagi 90 hasilnya tadi 55,55 50,5 ya salah ini saya edit dulu Hai 0,55 nah hasilnya 0,5556 jika jarak dekat dan PWM lambat yang lainnya lumayan nya nol jauhnya juga nol kemudian eh karena aturannya itu ketika dekat maka PM lambat kita masukin nih 0,5 4556 itu ke kanggotaan lambat kesini ya Nah kalau misalkan di garis dapetnya X nya itu PWM nya 44,4 itu diinget-inget garisnya nih ditarik dapetnya 44,44 43 kan di terusin Oke kita lanjut Hai implikasi roludah terus kita masuk ke tahap akhir Yaitu defazifikasi Pertama kita harus hitung luasnya terus kemudian setelah menghitung luas kita hitung momentumnya momentnya ya setelah menghitung moment baru kita dapat menghitung output defazifikasi nya nah sekarang tutorial ini saya mau menggunakan center of area gitu yang mudah aja gitu next kita ngitung luas oke karena kangkotan jarak lumayan dan jauh bernilai nol maka kita tidak perlu repot menghitungnya jadi kita akan menghitung luas pada penggotaan lambat, sesuai aturan jika jarak dekat, maka PWM lambat terus disininya terdapat bentuk segitiga segitiga itu yang mana sih?

yang ini titik 44 sampai 0,5 tingginya 0,56 0,5556 terus lebarnya alasnya itu 100 dikurangi 44,443 ini bagian segitiga dengan bentuknya Terus ada juga yang persegi. Mana yang perseginya? 44,443 sampai ini 0. Atau 0 sampai 44,443. Ini kan ada kotak sama persegi. Nah, cara ngitung luas segitiga kan ya 1 per 2 A dikali T.

Kalau misalkan luas persegi ya panjang kali lebar aja. Panjang kali lebar aja. Oke. Hai hingga didapatkan data sebagai berikut a1 luas yang pertama dibagi dua aja gitu kan cuma ada dua ini 44 dikurangi nol maksudnya dari sini ke sini gitu kan ya ini kan luasnya itu luas buat persegi terus dikali 0,55 56 nah dikali tingginya lebarnya ini ya bebaslah bagi bagian ini hasilnya 24,69 Hai terus yang kedua luas apa namanya alas dikali tinggi itu kan dibagi 214.4 ini dikali tingginya 0,5556 habis itu dibagi dua hasilnya 15,4 nah alasnya sudah ketemu semua itu kan ya nilainya selanjutnya kita akan hitung momennya nah menghitung momen kita tentuin dulu gitu kan rumus-rumus yang udah didapet itu jangan sampai ditinggalin dulu gambar yang ininya nih harus tetap diperhatikan pertama untuk nilai nol jika X lebih dari 100 Ya kan udah pasti kan kalau misalkan lebih dari 100 Nilai ininya, kanggotanya itu pasti 0 Nah buat yang ini Rumus 100 dikurangi X Dibagi 100 kurangi 0 Jika nilai X nya itu 44 sampai 100 Maka ngitungnya itu pakai ini rumusnya Sedangkan kalau misalkan untuk Hai nilai yang 44,4 sampai nol itu nyarinya 0,5556 nabut nyari momen itu menggunakan fungsi integral nah integral batas bawahnya itu ya pakai yang bagian sini nih yang baik yang batas atasnya kan ini pertama kita cari momen satu dulu gitu ya nilai Bagian batas bawahnya itu 44,4. Bagian atasnya 100 gitu kan.

Nah karena ini tuh perlu dicari integral X-nya. Maka kita kalikan dulu rungsung-rungsung disini tuh dengan X. Jadi kayak gini hasilnya. 100 minus X dikurangi 100 dikali X dx gitu kan. Nah kalian hitung sendiri aja.

Kalau misalnya nggak percaya bisa menggunakan kalkulator integral online ataupun yang... Hai lainnya di HP juga ada nah didapat hasilnya kayak gini ini batas bawahnya nol yang keduanya nih yang momen keduanya batas atasnya 44,4 nah fungsi esnya 0,55 56x dx yang dimasukin yang nol nggak perlu dimasukinkan karena udah pasti hasilnya nggak ada gitu momen sudah ketemu Kemudian kita tinggal hitung depazifikasinya. Metode center of area jumlahkan keseluruhan momen yang ada gitu kan.

Ya momen 2, momen 3, momen 4, momen 5 juga. ya ada sih cuman kan momen 3 momen selanjutnya kan pasti nol alasnya juga sama jadi saya cuma tinggal hitung yang ada nilainya aja output defazifikasinya sama dengan 37,17 ini hasil perhitungan manual coba kita tes menggunakan simulasi labview nya gitu kan ya nah ini rollnya sama gitu kan apa namanya desain-desain Hai impunan fajitnya juga sama-sama kita tes sistemnya nah disini input variabelnya jarak nilainya itu 50 sama tadi kita hitung input jaraknya 50 output pwm nya sama dengan 37,8 74 jadi ada sedikit error 0,1 karena tadi saya ngitungnya itu enggak lengkap gitu desimal-desimal apa desimal Hai 0, sekian sekiannya kalau misalnya diprogram itu kan lengkap yang seluruh tergantung apa namanya tipe datanya nah selain di-review saya juga sudah buat programnya di bahasa siya kita cek dulu program bahasanya buat kalian yang pengen nerap apa nyoba program dikonsentrasinya bisa didownload di link yang ada di deskripsi video ini hai hai Hai ini kan untuk anggotaan apa inputnya jarak dengan ini buat pwm nya tinggal ditentuin aja nanti kita ranim dulu eh masukkan input jarak 0-300 kita masukin 50 nah di bahasa C ini hampir sama ya ininya nilainya 37,8 9736 naik Nah itu kan kalau misalkan pakai program lebih akurat gitu karena menggunakan desimal yang lebih lengkap. Kita coba nilai lain 60. Misalkan kok aslinya jauh?

  1. Kita di 50. Kita lihat menggunakan bahasa C. 60. Oh sama 72 beda dikit ya ada errornya mungkin di bagian apa namanya rumsur musnya nih ini pas ngitung terus kita coba langsung nilai yang paling tingginya 300 disini 2212 2 1,6 Hai serani yang bahasanya 300 lebih lagi kah 221 koma 6666 itu ada dikit error 0,01 itu ya terus kita coba menggunakan Arduino saya sudah buat juga programnya menggunakan Arduino Hai nah ini nanti kalian tinggal ubah aja inputnya menggunakan sensor jarak ultrasonic ataupun eh apa ya Sonar atau sensor shock bebaslah saya upload ke Arduino Mega saya benarnya buat komputasi rumus segini masih kuat si Arduino juga tapi nggak papa karena saya yang udah disiapkan dengan enggak tetap Arduino Mega aja Hai programnya sudah saya share ya di apa linknya tinggal di-download aja di video deskripsi ini nih lama sekali maafnya Hai nih karena terlalu banyak aplikasi yang saya buka jadinya mempel ini lama banget ya Hai nilai proses upload sudah downloading ini teman-teman program Fazi anaknya hidup comnya tinggal masukkan input jarak 0-300 nah kalian bisa ubah itu jadi dari apreskin kan inputnya masih dari serial ya nanti langsung pakai sensor ultrasonic juga bisa tekan 300 itu Hai 2126 koma 76,67 2802 2130 coba ini 200 disamakan 280 buat melihat perbandingan ini 2129 ini 221 koma 30 ya ya beda-beda gitu lah berdikit terus 60,5 misalkan mau nggak bisa 65 input jaraknya lima jadi karena ngambilnya cuma integer eh Hai puluh nah ini 70 cm 91,8 kulit errornya berarti Hai 70 ini 98 disini 91 jauh ya kalau yang penting kayaknya ada yang beda dikit sih kecilnya sama Nah itulah temen-temen program hajinya ya barangkali mungkin saya ada salah ketik Hai angka atau apa di programnya silakan nanti dibahas saja dikomentar juga pasti bakalan selalu apa namanya koreksi lagi dengan kalau ada salah pasti benerin Oke silakan kalau misalkan ada yang mau bertanya langsung di komentar pasti saya langsung bahas jawab kalau nggak ada ya setutup aja Hai tes tes tes tes tes 791 Hai Indonesia saya tutup aja nanti kalau mau nanya tinggal komen aja walaupun udah nggak live tak balesan komentarnya eh Akhir kata karena tadi saya nggak salam Hai and juga nggak sama juga saya akhiri pertemuan kali ini sampai jumpa di pertemuan yang akan datang