Belajar Cepat Fuzzy Logic Menggunakan Matlab Pdf

Dalam paper yang berjudul Fuzzy Sets*, lega tahun 1965 Dr. Lotfi Aliasker Zadeh (Ilmuwan Amerika Perkongsian berkebangsaan Iran dari University of California, Berkeley, California) memperkenalkan teori fuzzy yang mampu memetakan nilai masukan menuju nilai lulusan. Tidak begitu juga pada logika Boolean nan menyatakan suatu nilai dengan tegas (0 atau 1, hitam atau tulen, ya atau tidak, benar atau salah, nasib atau mati), teori fuzzy menggunakan logika yang menyatakan bahwa satu biji dapat memiliki range ataupun derajat level (0 s.d 1, hitam s.d putih). Akal sehat fuzzy dapat diartikan laksana logika nan samar, kabur, tidak jelas, atau bukan tegas. Logika fuzzy kebanyakan diterapkan pada masalah-kebobrokan nan mengandung atom ketidakpastian
(uncertainty), ketidaktepatan
(imprecise),
noisy, dan sebagainya. Logika fuzzy menjembatani bahasa mesin yang akurasi dengan bahasa manusia nan menekankan pada makna alias fungsi
(significance). Logika fuzzy dikembangkan beralaskan bahasa manusia (bahasa alami).

Berikut ini merupakan contoh permintaan pemrograman
logika fuzzy
bikin sistem pengatur
kecepatan mesin
memperalat
sensor master
dan
penapisan cahaya
sebagai perolehan.
Langkah-langkahnya adalah bak berikut:
1. Mengekspresikan konsep sistem kontrol dengan
ilmu mantik fuzzy
Misalnya keadaan
sensor suhu
(input 1)
dibagi menjadi lima kategori yakni:

INPUT 1

Suhu

KETERANGAN

Cahang

0
0C – 15
0C

Sejuk

11
0C – 25
0C

Normal

21
0C – 30
0C

Hangat

28
0C – 40
0C

Panas

36
0C – 50
0C

situasi
sensor kirana (input 2)
dibagi menjadi tiga kategori adalah:

INPUT 2

Sinar

KETERANGAN

Ilegal

0 Cd– 35 Cd

Legal

31 Cd– 85 Cd

Terang

81 Cd- 100 Cd

keadaan

kelajuan mesin
(output)

dibagi menjadi tiga kategori ialah:

OUTPUT

KEC. MESIN

Pemberitahuan

Lambat

0 m/s– 15 m/s

Sedang

11 m/s – 21 m/s

Cepat

19 m/s – 45 m/s

resan /rules adalah andai berikut:

No.

INPUT

OUTPUT

Guru

Cuaca

KEC. MESIN

1

Tawar rasa

Gelap

Lambat

2

Dingin

Sahih

Lambat

3

Dingin

Terang

Lambat

4

Sejuk

Gelap

Lambat

5

Sejuk

Normal

Lambat

6

Sejuk

Cahaya

Sedang

7

Lumrah

Gelap

Sedang

8

Halal

Normal

Sedang

9

Absah

Binar

Madya

10

Hangat

Gelap

Medium

11

Hangat

Halal

Cepat

12

Hangat

Terang

Cepat

13

Panas

Terlarang

Cepat

14

Seksi

Normal

Cepat

15

Erotis

Nur

Cepat

2. Sehabis konsep sistem dominasi dibentuk, maka kita dapat membuat pemrogramannya. Ketiklah
“fuzzy”
pada
command window
lakukan membuka tingkapan
Fuzzy Inference System (FIS) editor,
sehingga muncul tampilan seperti gambar di bawah ini:


3. Diskriminatif
edit >> add variable >> input
kerjakan menggunung variable input


sehingga akan muncul tampilan seperti pada gambar di bawah ini:


3. Ubahlah nama
input1
menjadi
suhu,
input2
menjadi
panah
dan
output1
menjadi
kec_mesin



4. Pilih
edit >> membership function
buat membuat fungsi kewargaan setiap plastis


sehingga akan unjuk tampilan
Membership Function Editor
seperti pada rangka di bawah ini:


5. Pada
plastis suhu, ubahlah
range
menjadi
[0 50],
nama
mf1
menjadi
dingin, type
trimf, Params
[0 0 15]

cap
mf2
menjadi
sejuk, type
trimf, Params
[11 18 25]

nama
mf3
menjadi
normal, type
trimf, Params
[21 25 30]

pilih
edit >> add mfs
untuk menambah
membership function
cap
mf4
menjadi
hangat, type
trimf, Params
[28 34 40]

nama
mf5
menjadi
panas, type
trimf, Params
[36 50 50]

sehingga tampilan
variabel suhu
akan tampak seperti pada buram di bawah ini:


6. Pada
variabel cahaya, ubahlah
range
menjadi [0 100],
nama
mf1
menjadi
gelap, type
trimf, Params
[0 0 35]

nama
mf2
menjadi
normal, type
trimf, Params
[31 50 85]

nama
mf3
menjadi
kilat, type
trimf, Params
[81 100 100]

sehingga tampilan
variabel semarak
akan terlihat sama dengan lega gambar di radiks ini:


7. Sreg
luwes kec_mesin, ubahlah
range
menjadi
[0 50],
nama
mf1
menjadi
lambat, type
trimf, Params
[0 0 15]

keunggulan
mf2
menjadi
madya, type
trimf, Params
[11 15 21]

nama
mf3
menjadi
cepat, type
trimf, Params
[19 50 50]

sehingga tampilan
fleksibel kec_mesin
akan tampak seperti sreg susuk di bawah ini:


8. Pilih
edit >> rules
untuk mendedahkan jendela
rule pengedit


buatlah aturan plong
rule penyunting
sesuai dengan konsep sistem dominasi yang sebelumnya sudah dibuat. Misalnya
if (suhu is dingin) and (cahaya is gelap) then (kec_mesin is lambat),
dan lebih jauh sampai dengan
15 rules.




9. Pilih
view >> rules, untuk melihat hasil
rules
yang mutakadim kita buat


kita dapat memarginalkan-geser kredit
temperatur (input1)
dan
cahaya (input2)
sehingga menghasilkan nilai keluaran lega
kec. mesin (output)




10. Diskriminatif
view >> surface,
bagi menyibuk diagram 3D antara suhu, cahaya, dan kec. mesin


sehingga akan muncul tampilan seperti plong gambar di asal ini


11. Simpanlah
FIS
yang telah dibuat dengan cara mengklik
file >> export >> to file

misalnya simpan dengan label
“mesin.fis”



12. Untuk mengelabui hasil lulusan dari
FIS
nan telah dibuat, dapat kita buat dengan mengetik kode berikut pada
command window:

        
fis = readfis('mesin'); output = evalfis([10 20],fis)
        

Kesudahannya adalah:

        
output =  6.2059
        

Nilai ini artinya: Jika
suhu = 10
0C (hambar)

dan
cahaya = 20 Cd (gelap), maka
kec. mesin = 6.2059 m/s (lambat)

Dapat disimpulkan bahwa hasil keluaran
FIS
sesuai dengan konsep sistem dominasi yang sebelumnya mutakadim dibuat.

Kita boleh membuat tampilan program yang telah kita buat menjadi lebih interaktif memperalat
Graphical User Interface (GUI),
seperti contoh
GUI
di bawah ini
:

Listing program
nya merupakan sebagai berikut:

        
function varargout = mesingui(varargin) % MESINGUI MATLAB code for mesingui.fig %      MESINGUI, by itself, creates a new MESINGUI or raises the existing %      singleton*. % %      H = MESINGUI returns the handle to a new MESINGUI or the handle to %      the existing singleton*. % %      MESINGUI('CALLBACK',hObject,eventData,handles,...) calls the local %      function named CALLBACK in MESINGUI.M with the given input arguments. % %      MESINGUI('Property','Value',...) creates a new MESINGUI or raises the %      existing singleton*.  Starting from the left, property value pairs are %      applied to the GUI before mesingui_OpeningFcn gets called.  An %      unrecognized property name or invalid value makes property application %      stop.  All inputs are passed to mesingui_OpeningFcn via varargin. % %      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one %      instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES  % Edit the above text to modify the response to help mesingui  % Last Modified by GUIDE v2.5 04-Oct-2013 22:13:32  % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name',       mfilename, ...     'gui_Singleton',  gui_Singleton, ...     'gui_OpeningFcn', @mesingui_OpeningFcn, ...     'gui_OutputFcn',  @mesingui_OutputFcn, ...     'gui_LayoutFcn',  [] , ...     'gui_Callback',   []); if nargin && ischar(varargin{1})     gui_State.gui_Callback = str2func(varargin{1}); end  if nargout     [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else     gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO Titinada EDIT   % --- Executes just before mesingui is made visible. function mesingui_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject    handle to figure % eventdata  reserved - to be defined in a future version of MATLAB % handles    structure with handles and user data (see GUIDATA) % varargin   command line arguments to mesingui (see VARARGIN)  % Choose default command line output for mesingui handles.output = hObject;  % Update handles structure guidata(hObject, handles); movegui(hObject, 'center');  % UIWAIT makes mesingui wait for user response (see UIRESUME) % uiwait(handles.figure1);   % --- Outputs from this function are returned to the command line. function varargout = mesingui_OutputFcn(hObject, eventdata, handles) % varargout  cell array for returning output args (see VARARGOUT); % hObject    handle to figure % eventdata  reserved - to be defined in a future version of MATLAB % handles    structure with handles and user data (see GUIDATA)  % Get default command line output from handles structure varargout{1} = handles.output;   % --- Executes on slider movement. function slider2_Callback(hObject, eventdata, handles) % hObject    handle to slider2 (see GCBO) % eventdata  reserved - to be defined in a future version of MATLAB % handles    structure with handles and user data (see GUIDATA)  % Hints: get(hObject,'Value') returns position of slider %        get(hObject,'Min') and get(hObject,'Max') to determine range of slider slider_suhu = get(hObject,'Value'); set(handles.edit2, 'string', strcat(num2str(slider_suhu),' *C'));  if slider_suhu <= 10     suhu = 'dingin'; elseif slider_suhu > 10 && slider_suhu <= 20     temperatur = 'sejuk'; elseif slider_suhu > 20 && slider_suhu <= 27     master = 'normal'; elseif slider_suhu > 27 && slider_suhu <= 35     temperatur = 'hangat'; else     master = 'panas'; end  set(handles.text14, 'string', hawa);   slider_cahaya = get(handles.slider3,'Value');  input = [slider_suhu slider_cahaya]; fis = readfis('mesin'); out = evalfis(input,fis);  if out <= 10     kec_mesin = 'lambat'; elseif out > 10 && out <= 18     kec_mesin = 'sedang'; else     kec_mesin = 'cepat'; end  set(handles.edit4,'string',strcat(num2str(out),' m/s')); set(handles.text16, 'string', kec_mesin);  % --- Executes during object creation, after setting all properties. function slider2_CreateFcn(hObject, eventdata, handles) % hObject    handle to slider2 (see GCBO) % eventdata  reserved - to be defined in a future version of MATLAB % handles    empty - handles not created berayun-ayun after all CreateFcns called  % Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))     set(hObject,'BackgroundColor',[.9 .9 .9]); end   % --- Executes on slider movement. function slider3_Callback(hObject, eventdata, handles) % hObject    handle to slider3 (see GCBO) % eventdata  reserved - to be defined in a future version of MATLAB % handles    structure with handles and user data (see GUIDATA)  % Hints: get(hObject,'Value') returns position of slider %        get(hObject,'Min') and get(hObject,'Max') to determine range of slider slider_cahaya = get(hObject,'Value'); set(handles.edit3, 'string', strcat(num2str(slider_cahaya),' Cd'));  if slider_cahaya <= 30     kilauan = 'ilegal'; elseif slider_cahaya < 30 && slider_cahaya <= 80     terang = 'normal'; else     seri = 'terang'; end  set(handles.text15, 'string', panah);  slider_suhu = get(handles.slider2,'Value');  input = [slider_suhu slider_cahaya]; fis = readfis('mesin'); out = evalfis(input,fis);  if out <= 10     kec_mesin = 'lambat'; elseif out > 10 && out <= 18     kec_mesin = 'sedang'; else     kec_mesin = 'cepat'; end  set(handles.edit4,'string',strcat(num2str(out),' m/s')); set(handles.text16, 'string', kec_mesin);  % --- Executes during object creation, after setting all properties. function slider3_CreateFcn(hObject, eventdata, handles) % hObject    handle to slider3 (see GCBO) % eventdata  reserved - to be defined in a future version of MATLAB % handles    empty - handles not created until after all CreateFcns called  % Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))     set(hObject,'BackgroundColor',[.9 .9 .9]); end   function edit2_Callback(hObject, eventdata, handles) % hObject    handle to edit2 (see GCBO) % eventdata  reserved - to be defined in a future version of MATLAB % handles    structure with handles and user data (see GUIDATA)  % Hints: get(hObject,'String') returns contents of edit2 as text %        str2double(get(hObject,'String')) returns contents of edit2 as a double   % --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles) % hObject    handle to edit2 (see GCBO) % eventdata  reserved - to be defined in a future version of MATLAB % handles    empty - handles not created mencicil after all CreateFcns called  % Hint: edit controls usually have a white background on Windows. %       See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))     set(hObject,'BackgroundColor','white'); end    function edit3_Callback(hObject, eventdata, handles) % hObject    handle to edit3 (see GCBO) % eventdata  reserved - to be defined in a future version of MATLAB % handles    structure with handles and user data (see GUIDATA)  % Hints: get(hObject,'String') returns contents of edit3 as text %        str2double(get(hObject,'String')) returns contents of edit3 as a double   % --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles) % hObject    handle to edit3 (see GCBO) % eventdata  reserved - to be defined in a future version of MATLAB % handles    empty - handles not created berayun-ayun after all CreateFcns called  % Hint: edit controls usually have a white background on Windows. %       See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))     set(hObject,'BackgroundColor','white'); end    function edit4_Callback(hObject, eventdata, handles) % hObject    handle to edit4 (see GCBO) % eventdata  reserved - to be defined in a future version of MATLAB % handles    structure with handles and user data (see GUIDATA)  % Hints: get(hObject,'String') returns contents of edit4 as text %        str2double(get(hObject,'String')) returns contents of edit4 as a double   % --- Executes during object creation, after setting all properties. function edit4_CreateFcn(hObject, eventdata, handles) % hObject    handle to edit4 (see GCBO) % eventdata  reserved - to be defined in a future version of MATLAB % handles    empty - handles not created until after all CreateFcns called  % Hint: edit controls usually have a white background on Windows. %       See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))     set(hObject,'BackgroundColor','white'); end
        

File source code paradigma akal sehat fuzzy pada materi di atas bisa diperoleh melalui halaman berikut ini: Source Code

Save

Save


Source: https://pemrogramanmatlab.com/data-mining-menggunakan-matlab/logika-fuzzy-menggunakan-matlab/