SlideShare a Scribd company logo
1 of 4
FUZZY LOGIC
A. Definisi Fuzzy Logic

     Fuzzy logic pertama kali dikenalkan kepada publik oleh Lotfi Zadeh, seorang profesor
di University of California di Berkeley. Fuzzy logic digunakan untuk menyatakan hukum
operasional dari suatu sistem dengan ungkapan bahasa, bukan dengan persamaan matematis.

      Banyak sistem yang terlalu kompleks untuk dimodelkan secara akurat, meskipun
dengan persamaan matematis yang kompleks. Dalam kasus seperti itu, ungkapan bahasa yang
digunakan dalam Fuzzy logic dapat membantu mendefinisikan karakteristik operasional
sistem dengan lebih baik.




       Ungkapan bahasa untuk karakteristik sistem biasanya dinyatakan dalam bentuk
implikasi logika, misalnya aturan Jika – Maka. Pada teori himpunan klasik yang disebut
juga dengan himpunan crisp (himpunan tegas) hanya dikenal dua kemungkinan dalam fungsi
keanggotaannya, yaitu kemungkinan termasuk keanggotaan himpunan (logika 1) atau
kemungkinan berada di luar keanggotaannya (logika 0). Namun dalam teori himpunan fuzzy
tidak hanya memiliki dua kemungkinan dalam menentukan sifat keanggotaannya tetapi
memiliki derajat kenaggotaan yang nilainya antara 0 dan 1. fungsi yang menetapkan nilai ini
dinamakan fungsi keanggotaan yang disertakan dalam himpunan fuzzy.
B. Aplikasi Logika Fuzzy dalam kehidupan sehari-hari
 1. Logika Fuzzy untuk Sistem Pengaturan Suhu Ruangan

         Untuk menentukan suhu dalam suatu ruangan, kita dapat menentukannya
menggunakan Logika Fuzzy. Aturan dalam kontrol, mudah didefinisikan menggunakan kata-
kata misalkan :

-       jika suhu dalam suatu ruangan dingin maka naikkan suhu penghangat.

-       jika suhu dalam suatu ruangan panas maka naikkan suhu pendingin.

    2. Logika Fuzzy untuk Sistem Pengaturan Lampu Lalulintas

        Logika fuzzy dalam pengaturan lampu lalulintas amat diperlukan untuk memperlancar
arus lalulintas. Dengan adanya system yang bekerja secara otomatis diharapkan angka
kecelakaan yang disebabkan oleh masalah lampu lalulintas dapat berkurang. Selain itu
dengan adanya lampu lalulintas yang otomatis tentu saja akan mengurangi tugas polisi
lalulintas, sehingga mereka bisa mengerjakan hal-hal lain yang belum teratasi.

         Sedangkan sebagai dasar pengendalian dari sistem yang dijalankan, digunakan
algoritma logika fuzzy. Untuk memudahkan pengendalian lampu lalulintas, ada beberapa
istilah yang digunakan dalam pengendaliannya antara lain :

Untuk kepadatan jumlah kendaraan adalah :

-       Tidak Padat (TP),

-       Kurang Padat (KP),

-       Cukup Padat (CP),

-       Padat (P) dan

-       Sangat Padat (SP).

Sedangkan untuk lama nyala lampu adalah :

-       Cepat (C),

-       Agak Cepat (AC),

-       Sedang (S),

-       Agak Lama (AL) dan

-       Lama (L).
Jelas istilah-istilah tersebut dapat menimbulkan makna ganda (ambiguity) dalam
pengertiannya. Logika Fuzzy dapat mengubah makna ganda tersebut ke dalam model
matematis sehingga dapat diproses lebih lanjut untuk dapat diterapkan dalam sistem kendali.

      Untuk menyelesaikan masalah tersebut digunakan teori himpunan Fuzzy, logika bahasa
dapat diwakili oleh sebuah daerah yang mempunyai jangkauan tertentu yang menunjukkan
derajat keanggotaannya (fungsi keanggotaan). Untuk kasus disini, sebut saja derajat
keanggotaan itu adalah u(x) untuk x adalah jumlah kendaraan.

C. Contoh Program Fuzzy Logic

Pemrograman dengan bahasa Assembly
      Setelah kita menemukan rumus untuk normalisasi dan denormalisasi, maka program
assembly dapat dibuat. Jika kita ingin membuat suatu fuzzy system untuk aplikasi yang lain,
tidak perlu harus sama dengan program yang telah ada, tetapi yang perlu diketahui sebelum
membuat suatu fuzzy sistem adalah bagaimana cara untuk menormalisasikan input dan
mendenormalisasikan output-nya sebelum data dapat diolah. Hal ini dilakukan agar nilai-nilai
tersebut dapat diterima oleh DT-51 PetraFuz.
      Routine fuzzify dari PetraFuz terletak di alamat 0900h, untuk menjalankannya kitaa
harus menggunakan perintah LCALL 0900h. Berikut ini adalah contoh format yang
digunakan dalam menggunakan DT-51 PetraFuz.

                                    Fuzzify EQU 0900H
                                   Current_ins EQU 0BH
                                   Cog_Outs EQU 0DH
Keterangan:
- Fuzzify : Routine PetraFuz
- Current_ins : Crisp Input PetraFuz
- Cog_Outs : Crisp Output PetraFuz

Jika kita mau memakai internal RAM maka kita harus memakai dengan alamat minimal
063H. Karena 08H – 62H digunakan oleh routine PetraFuz Engine.
Contoh program perhitungan error:

MOV A, SP ; memasukkan nilai SP (kecepatan yang diminta)
MOV R0, PV ; memasukkan nilai PV (kecepatan sekarang)
SUBB A, R0
MOV ERROR, A

Contoh program perhitungan dError:
MOV A, ERROR ; Error(n)
MOV R0, ERROR-1 ; Error(n-1)
SUBB A, R0
MOV DERROR, A

Di dalam aplikasi ini yang dinormalisasikan adalah hasil dari Error dan dErrror (bukan Error
dan dError), setelah itu baru dimasukkan sebagai input ke DT-51 PetraFuz. Nilai Error yang
sesungguhnya harus disimpan ke dalam suatu register, karena Error yang belum dinormalisasi
akan digunakan dalam perhitungan denormalisasi yaitu untuk nilai Error(n-1).
Contoh program untuk memasukkan data Error dan dError ke dalam DT-51 PetraFuz, setelah
itu memanggil prosedur Fuzzify dan melihat hasilnya di register accumulator.
MOV CURRENT_INS,ERROR
MOV CURRENT_INS+1,DERROR
LCALL FUZIFY
MOV A,COG_OUTS

Hasil dari register accumulator di atas adalah nilai crisp output dan nilai tersebut harus
didenormalisasikan. Contoh di atas bukanlah contoh program secara khusus melainkan
contoh program secara garis besar. Hal ini dikarenakan tidak adanya program untuk
normalisasi dan denormalisasi. Sebelum nilai crisp input dimasukkan ke dalam DT-51
PetraFuz, nilainya harus dinormalisasikan terlebih dahulu. Nilai crisp output yang telah
diperoleh di register accumulator pada contoh di atas juga belum didenormalisasikan.
Di dalam pembuatan suatu program assembly, kalau bisa hindari pembuatan program
aritmatika yang cukup kompleks, misalnya perkalian atau pembagian 16 x 16 bit. Hal ini
dilakukan agar proses fuzzifikasi tidak memakan banyak waktu.
Ini adalah contoh pemrograman aplikasi pengaturan kecepatan motor DC dengan sistem
Fuzzy.

Proses kerjanya adalah sebagai berikut:
1. Pertama kali dilakukan proses inisialisasi de KITS SPC DC Motor dan komunikasi serial.
2. Terima data serial dari PC dan tunggu sampai karakter J dikirimkan. Lalu ambil nilai SP
   Low Byte.
3. Terima data serial lagi dari PC dan tunggu sampai karakter K dikirimkan, lalu ambil nilai
   SP High Byte.
4. Setelah itu baca nilai RPM sekarang dan kirimkan ke PC.
5. Hitung nilai Error dan dError, tetapi jangan lupa untuk menormalisasikan nilai tersebut.
6. Setelah normalisasi dilakukan maka masukkan kedua nilai yaitu Error dan dError ke dalam
   DT-51 PetraFuz.
7. Panggil prosedur fuzzify, lalu ambil hasilnya.
8. Setelah hasil didapatkan, maka hasil itu harus didenormalisasi sehingga akan muncul nilai
   crisp output yang sebenarnya.
9. Nilai crisp output kita masukkan sebagai nilai PWM untuk mengatur putaran motor DC
   tersebut. Ulangi langkah 4 - 9 sampai nilai RPM yang dinginkan tercapai.

More Related Content

What's hot

Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiDevi Apriansyah
 
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23France Rhezhek
 
Matlab Prettifier Package
Matlab Prettifier PackageMatlab Prettifier Package
Matlab Prettifier PackageHirwanto Iwan
 
Materi mode format pengalamatan
Materi mode format pengalamatanMateri mode format pengalamatan
Materi mode format pengalamatanAli Must Can
 
PowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanPowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanIndri Sukmawati Rahayu
 

What's hot (11)

Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
 
Set instruksi
Set instruksiSet instruksi
Set instruksi
 
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
 
Matlab Prettifier Package
Matlab Prettifier PackageMatlab Prettifier Package
Matlab Prettifier Package
 
Materi mode format pengalamatan
Materi mode format pengalamatanMateri mode format pengalamatan
Materi mode format pengalamatan
 
Pertemuan 5
Pertemuan 5Pertemuan 5
Pertemuan 5
 
PowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanPowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik Pengalamatan
 
Implementasi Teknik Kompresi Teks Huffman
Implementasi Teknik Kompresi Teks HuffmanImplementasi Teknik Kompresi Teks Huffman
Implementasi Teknik Kompresi Teks Huffman
 
(Ppp) chap pap-chap
(Ppp) chap pap-chap(Ppp) chap pap-chap
(Ppp) chap pap-chap
 
4.untai logika178
4.untai logika1784.untai logika178
4.untai logika178
 
PerlTeX
PerlTeXPerlTeX
PerlTeX
 

Similar to Fuzzy logic

Algorithm i kelompok switch
Algorithm i kelompok switchAlgorithm i kelompok switch
Algorithm i kelompok switchAhmad Exca
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramAkmal Fajar
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
Module algoritma
Module algoritma Module algoritma
Module algoritma Rony BolaNk
 
Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2
Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2
Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2Irfan Firmansyah
 
Bab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .pptBab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .ppttaufikhidayat607720
 
stuktur algoritma.pptx
stuktur algoritma.pptxstuktur algoritma.pptx
stuktur algoritma.pptxssuser98f5ad
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi FundamentalAkmal Fajar
 
MODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIKMODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIKDidik Supriyono
 
Pengenalan algoritma.ppt
Pengenalan algoritma.pptPengenalan algoritma.ppt
Pengenalan algoritma.ppteriekorlando3
 

Similar to Fuzzy logic (20)

Algorithm i kelompok switch
Algorithm i kelompok switchAlgorithm i kelompok switch
Algorithm i kelompok switch
 
Fuzzy Logic-sant
Fuzzy Logic-santFuzzy Logic-sant
Fuzzy Logic-sant
 
Algoritma Pemrogaman
Algoritma PemrogamanAlgoritma Pemrogaman
Algoritma Pemrogaman
 
Bab II
Bab IIBab II
Bab II
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan Program
 
Plc dasar
Plc dasarPlc dasar
Plc dasar
 
Algoritma 02
Algoritma 02Algoritma 02
Algoritma 02
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 
Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2
Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2
Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Modul praktikum Bahasa assembly
Modul praktikum Bahasa assemblyModul praktikum Bahasa assembly
Modul praktikum Bahasa assembly
 
Bab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .pptBab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .ppt
 
stuktur algoritma.pptx
stuktur algoritma.pptxstuktur algoritma.pptx
stuktur algoritma.pptx
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi Fundamental
 
MODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIKMODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIK
 
Bahan 2.pptx
Bahan 2.pptxBahan 2.pptx
Bahan 2.pptx
 
So1
So1So1
So1
 
Pengenalan algoritma.ppt
Pengenalan algoritma.pptPengenalan algoritma.ppt
Pengenalan algoritma.ppt
 

Fuzzy logic

  • 1. FUZZY LOGIC A. Definisi Fuzzy Logic Fuzzy logic pertama kali dikenalkan kepada publik oleh Lotfi Zadeh, seorang profesor di University of California di Berkeley. Fuzzy logic digunakan untuk menyatakan hukum operasional dari suatu sistem dengan ungkapan bahasa, bukan dengan persamaan matematis. Banyak sistem yang terlalu kompleks untuk dimodelkan secara akurat, meskipun dengan persamaan matematis yang kompleks. Dalam kasus seperti itu, ungkapan bahasa yang digunakan dalam Fuzzy logic dapat membantu mendefinisikan karakteristik operasional sistem dengan lebih baik. Ungkapan bahasa untuk karakteristik sistem biasanya dinyatakan dalam bentuk implikasi logika, misalnya aturan Jika – Maka. Pada teori himpunan klasik yang disebut juga dengan himpunan crisp (himpunan tegas) hanya dikenal dua kemungkinan dalam fungsi keanggotaannya, yaitu kemungkinan termasuk keanggotaan himpunan (logika 1) atau kemungkinan berada di luar keanggotaannya (logika 0). Namun dalam teori himpunan fuzzy tidak hanya memiliki dua kemungkinan dalam menentukan sifat keanggotaannya tetapi memiliki derajat kenaggotaan yang nilainya antara 0 dan 1. fungsi yang menetapkan nilai ini dinamakan fungsi keanggotaan yang disertakan dalam himpunan fuzzy.
  • 2. B. Aplikasi Logika Fuzzy dalam kehidupan sehari-hari 1. Logika Fuzzy untuk Sistem Pengaturan Suhu Ruangan Untuk menentukan suhu dalam suatu ruangan, kita dapat menentukannya menggunakan Logika Fuzzy. Aturan dalam kontrol, mudah didefinisikan menggunakan kata- kata misalkan : - jika suhu dalam suatu ruangan dingin maka naikkan suhu penghangat. - jika suhu dalam suatu ruangan panas maka naikkan suhu pendingin. 2. Logika Fuzzy untuk Sistem Pengaturan Lampu Lalulintas Logika fuzzy dalam pengaturan lampu lalulintas amat diperlukan untuk memperlancar arus lalulintas. Dengan adanya system yang bekerja secara otomatis diharapkan angka kecelakaan yang disebabkan oleh masalah lampu lalulintas dapat berkurang. Selain itu dengan adanya lampu lalulintas yang otomatis tentu saja akan mengurangi tugas polisi lalulintas, sehingga mereka bisa mengerjakan hal-hal lain yang belum teratasi. Sedangkan sebagai dasar pengendalian dari sistem yang dijalankan, digunakan algoritma logika fuzzy. Untuk memudahkan pengendalian lampu lalulintas, ada beberapa istilah yang digunakan dalam pengendaliannya antara lain : Untuk kepadatan jumlah kendaraan adalah : - Tidak Padat (TP), - Kurang Padat (KP), - Cukup Padat (CP), - Padat (P) dan - Sangat Padat (SP). Sedangkan untuk lama nyala lampu adalah : - Cepat (C), - Agak Cepat (AC), - Sedang (S), - Agak Lama (AL) dan - Lama (L).
  • 3. Jelas istilah-istilah tersebut dapat menimbulkan makna ganda (ambiguity) dalam pengertiannya. Logika Fuzzy dapat mengubah makna ganda tersebut ke dalam model matematis sehingga dapat diproses lebih lanjut untuk dapat diterapkan dalam sistem kendali. Untuk menyelesaikan masalah tersebut digunakan teori himpunan Fuzzy, logika bahasa dapat diwakili oleh sebuah daerah yang mempunyai jangkauan tertentu yang menunjukkan derajat keanggotaannya (fungsi keanggotaan). Untuk kasus disini, sebut saja derajat keanggotaan itu adalah u(x) untuk x adalah jumlah kendaraan. C. Contoh Program Fuzzy Logic Pemrograman dengan bahasa Assembly Setelah kita menemukan rumus untuk normalisasi dan denormalisasi, maka program assembly dapat dibuat. Jika kita ingin membuat suatu fuzzy system untuk aplikasi yang lain, tidak perlu harus sama dengan program yang telah ada, tetapi yang perlu diketahui sebelum membuat suatu fuzzy sistem adalah bagaimana cara untuk menormalisasikan input dan mendenormalisasikan output-nya sebelum data dapat diolah. Hal ini dilakukan agar nilai-nilai tersebut dapat diterima oleh DT-51 PetraFuz. Routine fuzzify dari PetraFuz terletak di alamat 0900h, untuk menjalankannya kitaa harus menggunakan perintah LCALL 0900h. Berikut ini adalah contoh format yang digunakan dalam menggunakan DT-51 PetraFuz. Fuzzify EQU 0900H Current_ins EQU 0BH Cog_Outs EQU 0DH Keterangan: - Fuzzify : Routine PetraFuz - Current_ins : Crisp Input PetraFuz - Cog_Outs : Crisp Output PetraFuz Jika kita mau memakai internal RAM maka kita harus memakai dengan alamat minimal 063H. Karena 08H – 62H digunakan oleh routine PetraFuz Engine. Contoh program perhitungan error: MOV A, SP ; memasukkan nilai SP (kecepatan yang diminta) MOV R0, PV ; memasukkan nilai PV (kecepatan sekarang) SUBB A, R0 MOV ERROR, A Contoh program perhitungan dError: MOV A, ERROR ; Error(n) MOV R0, ERROR-1 ; Error(n-1) SUBB A, R0 MOV DERROR, A Di dalam aplikasi ini yang dinormalisasikan adalah hasil dari Error dan dErrror (bukan Error dan dError), setelah itu baru dimasukkan sebagai input ke DT-51 PetraFuz. Nilai Error yang sesungguhnya harus disimpan ke dalam suatu register, karena Error yang belum dinormalisasi akan digunakan dalam perhitungan denormalisasi yaitu untuk nilai Error(n-1).
  • 4. Contoh program untuk memasukkan data Error dan dError ke dalam DT-51 PetraFuz, setelah itu memanggil prosedur Fuzzify dan melihat hasilnya di register accumulator. MOV CURRENT_INS,ERROR MOV CURRENT_INS+1,DERROR LCALL FUZIFY MOV A,COG_OUTS Hasil dari register accumulator di atas adalah nilai crisp output dan nilai tersebut harus didenormalisasikan. Contoh di atas bukanlah contoh program secara khusus melainkan contoh program secara garis besar. Hal ini dikarenakan tidak adanya program untuk normalisasi dan denormalisasi. Sebelum nilai crisp input dimasukkan ke dalam DT-51 PetraFuz, nilainya harus dinormalisasikan terlebih dahulu. Nilai crisp output yang telah diperoleh di register accumulator pada contoh di atas juga belum didenormalisasikan. Di dalam pembuatan suatu program assembly, kalau bisa hindari pembuatan program aritmatika yang cukup kompleks, misalnya perkalian atau pembagian 16 x 16 bit. Hal ini dilakukan agar proses fuzzifikasi tidak memakan banyak waktu. Ini adalah contoh pemrograman aplikasi pengaturan kecepatan motor DC dengan sistem Fuzzy. Proses kerjanya adalah sebagai berikut: 1. Pertama kali dilakukan proses inisialisasi de KITS SPC DC Motor dan komunikasi serial. 2. Terima data serial dari PC dan tunggu sampai karakter J dikirimkan. Lalu ambil nilai SP Low Byte. 3. Terima data serial lagi dari PC dan tunggu sampai karakter K dikirimkan, lalu ambil nilai SP High Byte. 4. Setelah itu baca nilai RPM sekarang dan kirimkan ke PC. 5. Hitung nilai Error dan dError, tetapi jangan lupa untuk menormalisasikan nilai tersebut. 6. Setelah normalisasi dilakukan maka masukkan kedua nilai yaitu Error dan dError ke dalam DT-51 PetraFuz. 7. Panggil prosedur fuzzify, lalu ambil hasilnya. 8. Setelah hasil didapatkan, maka hasil itu harus didenormalisasi sehingga akan muncul nilai crisp output yang sebenarnya. 9. Nilai crisp output kita masukkan sebagai nilai PWM untuk mengatur putaran motor DC tersebut. Ulangi langkah 4 - 9 sampai nilai RPM yang dinginkan tercapai.