MODUL Praktikum Pengolahan Citra

80
MODUL 1 MENGENAL TOLLBOX FUZZY SISTEM PADA MATLAB 1.1. Tujuan : Mahasiswa dapat mengenal perangkat tollbox sistem fuzzy pada program perangkat lunak MATLAB ver. 6.5 1.2. Landasan Teori Logika fuzzy adalah sebuah logika yang menjebatani antara pernyataan yang memiliki nilai kebenaran 1 dan 0 (logika biner). Logika biner 0 atau 1 dasarnya berfikirnya adalah dari filsuf Aristoteles yang mengajarkan hukum berfikir bahwa sesuatunya mesti tergolong benar atau salah. Logika biner hanya mengenal on atau off, hidup atau mati, gelap atau terang, benar atau salah. Tidak ada yang samar-samar, tidak ada abu-abu yang ada hanya hitam atau putih. Jika tidak 1 maka 0, jika tidak gelap berarti terang dan ini adalah sesuatu yang logis. Karena pada watak manusia pada darnya memiliki watak kekaburan seperti pernyataan banyak, sedikit, panas, dingin, cepat, lambat, tinggi, rendah dan lain sebagainya yang memiliki nilai kebanaran yang relatif bagi setiap kelompok atau individu, sehingga diperlukan suatu sistem logika yang dapat menjebatani watak kekaburan dari manusia. Logika fuzzy pertama kali diformulasikan dalam sebuah seminar oleh Lotfi. A Zadeh dari University of Califonia, Berkeley tahun 1965. Metode ini diformulasikan dalam rangka mencari nilai tengah antara bilangan Aristoteles 0 dan 1. Hal itu seiring dengan usaha untuk membuat komputer yang bekerja seperti cara manusia berfikir. Sebab komputer pada dasarnya adalah sebuah mesin hitung yang tidak berfikir. Sebelumnya Plato sudah mencetuskan ide adanya daerah ketiga diantara benar dan salah. Ini yang menjadi dasar logika fuzzy yang memformulasikan bilangan antara 0 dan 1 atau lebih tepat antara 0.0 dan 1.0. MATLAB adalah sistem perangkat lunak interaktif dengan elemen dasar basis data array. Hal ini memungkinkan seorang pengguna (user) dapat memecahkan masal;ah yang berhubungan dengan komputasi dan matematika serta perhitungan teknik, khususnya yang melibatkan matriks dan vektor dengan waktu yang lebih singkat dari waktu yang dibutuhkan untuk menulis program dalam bahasa C atau FORTRAN. MATLAB dikeluarkan oleh perusahaan Mathwork Inc Agar dapat menggunakan fungsi-fungsi logika fuzzy yang ada pada MATLAB, maka harus diinstallkan terlebih dahulu TOOLBOX FUZZY. Fuzzy logic toolbox memberikan fasilitas Graphical User Interface (GUI) untuk memperinudah dalam membangun suatu sistem fuzzy. Ada 5 GUI tools yang dapat digunakan untuk membangun, mengedit, dan mengobservasi sistem penalaran fuzzy (Gambar 1.1.), yaitu: 1. Fuzzy Inference System (FIS) Editor; 2. Membership Function Editor; 3. Rule Editor; 1

description

Pengolahan Citra Digital dengan MATLAB

Transcript of MODUL Praktikum Pengolahan Citra

MODUL 1

MODUL 1

MENGENAL TOLLBOX FUZZY SISTEM PADA MATLAB

1.1. Tujuan : Mahasiswa dapat mengenal perangkat tollbox sistem fuzzy pada program perangkat lunak MATLAB ver. 6.5

1.2. Landasan Teori

Logika fuzzy adalah sebuah logika yang menjebatani antara pernyataan yang memiliki nilai kebenaran 1 dan 0 (logika biner). Logika biner 0 atau 1 dasarnya berfikirnya adalah dari filsuf Aristoteles yang mengajarkan hukum berfikir bahwa sesuatunya mesti tergolong benar atau salah. Logika biner hanya mengenal on atau off, hidup atau mati, gelap atau terang, benar atau salah. Tidak ada yang samar-samar, tidak ada abu-abu yang ada hanya hitam atau putih. Jika tidak 1 maka 0, jika tidak gelap berarti terang dan ini adalah sesuatu yang logis.

Karena pada watak manusia pada darnya memiliki watak kekaburan seperti pernyataan banyak, sedikit, panas, dingin, cepat, lambat, tinggi, rendah dan lain sebagainya yang memiliki nilai kebanaran yang relatif bagi setiap kelompok atau individu, sehingga diperlukan suatu sistem logika yang dapat menjebatani watak kekaburan dari manusia.

Logika fuzzy pertama kali diformulasikan dalam sebuah seminar oleh Lotfi. A Zadeh dari University of Califonia, Berkeley tahun 1965. Metode ini diformulasikan dalam rangka mencari nilai tengah antara bilangan Aristoteles 0 dan 1. Hal itu seiring dengan usaha untuk membuat komputer yang bekerja seperti cara manusia berfikir. Sebab komputer pada dasarnya adalah sebuah mesin hitung yang tidak berfikir. Sebelumnya Plato sudah mencetuskan ide adanya daerah ketiga diantara benar dan salah. Ini yang menjadi dasar logika fuzzy yang memformulasikan bilangan antara 0 dan 1 atau lebih tepat antara 0.0 dan 1.0.

MATLAB adalah sistem perangkat lunak interaktif dengan elemen dasar basis data array. Hal ini memungkinkan seorang pengguna (user) dapat memecahkan masal;ah yang berhubungan dengan komputasi dan matematika serta perhitungan teknik, khususnya yang melibatkan matriks dan vektor dengan waktu yang lebih singkat dari waktu yang dibutuhkan untuk menulis program dalam bahasa C atau FORTRAN. MATLAB dikeluarkan oleh perusahaan Mathwork Inc

Agar dapat menggunakan fungsi-fungsi logika fuzzy yang ada pada MATLAB, maka harus diinstallkan terlebih dahulu TOOLBOX FUZZY. Fuzzy logic toolbox memberikan fasilitas Graphical User Interface (GUI) untuk memperinudah dalam membangun suatu sistem fuzzy. Ada 5 GUI tools yang dapat digunakan untuk membangun, mengedit, dan mengobservasi sistem penalaran fuzzy (Gambar 1.1.), yaitu:

1. Fuzzy Inference System (FIS) Editor;

2. Membership Function Editor;

3. Rule Editor;

4. Rule Viewer;

5. Surface Viewer.

Gambar 1.1 Fuzzy Inference System (FIS)

1.3. Prosedur Praktikum

1. Membuka Fuzzy Tool box.

Setelah membuka program MATLAB, jika ingin memasuki Tool box fuzzy, maka kita dapat menuliskan fuzzy pada command line atau mengklik menu start - toolboxes Fuzzy.

sistem penalaran fuzzy Yang baru pada command line , maka ketikan.

>> fuzzy

Kemudian pada layar akan tampak FIS editor seperti terlihat pada Gambar 1.2.

a

c

b

d

e

h

f

i

g

Gambar 1.2 FIS Editor

Keterangan:

a. Menu. pilihan yang mengijinkan anda. untuk membuka, menyimpan, mengedit atau menampilkan sistem fuzzy.

b. Ikon variabel input. Anda dapat mengedit fungsi keanggotaan tiap-tiap variabel input dengan cara menekan ikon ini 2 kali (double-click).

c. Ikon diagram sistem. Anda dapat mengedit aturan (menuju ke rule editor) dengan cara menekan ikon ini 2 kali (double-click).

d. Ikon variabel output. Berfungsi untuk dapat mengedit fungsi keanggotaan tlap-tiap variabel output dengan cara menekan ikon ini 2 kali (double-click).

e. Nama sistem fuzzy akan ditampilkan di sini. Nama ini dapat (liubah dengan save as.

f. Pop-up menu yang digunakan untuk mengatur fungsi-fungsi penalaran fuzzy, seperti: AND, OR, fungsi implikasi, fungsi komposisi aturan (agregasi), atau metode defuzzifikasi.

g. Menunjukkan operasi yang sedang dikerjakan.

h. Kolom edit, digunakan untuk mengedit nama input atau output.

i. Tombol untuk mencari tahu informasi lebih lanjut tentang kerja FIS editor.

Apabila kita ingin membuka file .fis yang telah kita buat (misalkan: kasus1.fis), maka kita langsung dapat mengetikkan:

>> fuzzy kasus1

2. Membership Function Editor

Editor fungsi keanggotaan seperti terlihat pada Gambar 3. Editor ini berfungsi untuk mengedit fungsi keanggotaan himpunan fuzzy untuk tiap-tiap variabel input dan output. Editor ini dapat dipanggil dengan cara memilih menu View - Edit membership functions... atau menekan tombol ctri+2 atau menekan 2 kali (double click) ikon variabel input atau variabel output point-b atau point-d pada Gambar 1.3

a

b

d

c

e

i

j

f

k

g

h

Gambar 1.3 Editor Fungsi Keanggotaan

Keterangan:a. Menu pilihan untuk menyimpan, membuka, mengedit dan melihat sistem. fuzzy.

b. Daerah variabel. Untuk mengedit fungsi keanggotan salah satu variabel, tekan satu kali.

c. Gambar ini akan menampilkan semua fungsi keanggotaan himpunan fuzzy pada suatu variabel.

d. Untuk mengedit atribut suatu fungsi keanggotaan himpunan fuzzy (nama, tipe, parameter), cukup ditekan satu kali.

e. Menunjukkan nama dan tipe variabel yang ditunjuk.

f. Daerah untuk mengedit range variabel.

g. Daerah untuk mengedit range variabel yang akan ditampilkan.

h. Menunjukkan operasi yang sedang berjalan.

i. Daerah untuk mengedit nama himpunan fuzzy yang ditunjuk.

j. Pop-up menu untuk memilih tipe atau jenis fungsi keanggotaan himpunan fuzzy yang ditunjuk.

k. Daerah untuk mengedit parameter-parameter himpunan fuzzy yang ditunjuk.

3 RULE EDITOR

Rule editor adalah tool yang dapat digunakan baik untuk mengedit maupun menampilkan aturan yang akan atau telah dibuat. Editor ini dapat dipanggil dengan cara memilih menu View - Edit rules... atau dengan menekan tombol Ctri+3 atau menekan 2 kali (double click) ikon diagram sistem (point-c pada Gambar 2). Maka akan muncul rule . editor seperti terlihat pada Gambar 1.4.

a

b

c

d e

f g h i

Gambar 1.4 Rule EditorKeterangan:

a. Menu pilihan untuk menyimpan, membuka, mengedit dan melihat sistem fuzzy.

b. Daerah yang berisi aturan-aturan fuzzy.

c. Listbox yang berisi himpunan-himpunan fuzzy untuk input 1.

d. Listbox yang berisi himpunan-himpunan fuzzy untuk output 1.

e. Pilihan operator yang digunakan.

f. Bobot untuk aturan yang ditunjuk.

g. Tombol untuk menghapus aturan yang ditunjuk.

h. Tombol untuk menambahkan aturan.

i. Tombol untuk mengubah aturan yang ditunjuk.

4. RULE VIEWER

Viewer ini berfungsi untuk melihat alur penalaran fuzzy pada sistern, meliputi pemetaan input yang diberikan ke tiap-tiap variabel input, aplikasi operator dan fungsi implikasi, komposisi (agregasi) aturan, sampai pada penentuan output tegas pada metode defuzzifikasi.

Viewer ini dapat dipanggil dengan cara inemilih menu view rules atau menekan tombol ctrl+5 maka akan mucul Gambar 5 dibawah ini:

a

c

b

d

e

f

g h

Gambar 1.5 Rule Viewer

Keterangan:

a. Menu pilihan untuk menyimpan, mernbuka, mengedit dan melihat sistem fuzzy.

b. Kolom yang berwarna kuning menunjukkan variabel input yang digunakan dalam aturan.

c. Kolom berwarna biru menunjukkan variabel output yang digunakan dalam aturan.

d. Tiap-tiap baris menunjukkan satu aturan. Apabila ingin mengetahui aturan tersebut, tekan nomor aturan satu kali, kemudian akan muncul aturan tersebut pada status bar.

e. Menunjukkan kombinasi output dari tiap-tiap aturan yang terbentuk dari fungsi komposisi (aggregasi) yang digunakan, kemudian dilanjutkan dengan proses defuzzifikasi.

f. Tempat untuk mengedit input yang diberikan.

g. Tombol-tombol untuk melihat aturan ke samping kiri, kanan, turun atau naik.

h. Status bar yang menunjukkan operasi yang sedang dijalankan.

5 SURFACE VIEWER

Viewer ini berguna untuk melihat gambar pemetaan antara variabel - variabel input dan variabel-variabel output. Viewer ini dapat dipanggil dengan cara memilih menu view - view surface... atau menekan tombol Ctri+6. Maka akan muncul surface viewer seperti terlihat pada Gambar 1.6

a

b

c

d

e

g

f

h

Gambar 1.6 Surface Viewer

Keterangan:

a. Menu pililian untuk menyimpan, membuka, mengedit dan melihat sistem fuzzy.

b. Menunjukkan permukaan input vs. output.

c. Pop-up menu untuk menampilkan variabel input.

d. Pop-up menu untuk menampilkan variabel output.

e. Kolom untuk mengedit grid input.

f. Kolom untuk mengedit input yang tidak dispesifikasikan.

g. Tekan tombol ini apabila telah siap menghitung dan menggambar.

h. Satus bar yang menunjukkan operasi yang sedang dijalankan.1.4. Pertanyaan

1. Sebutkan cara cara untuk memasuki tool box fuzzy pada program perangkat lunak MATLAB 6.5?

2. Sebutkan jenis-jenis Toolbox yang terdapat pada program perangkat lunak MATLAB 6.5

3. Pada Toolbox fuzzy FIS Editor, pilihan apa saja yang terdapat Pop Up menu And Method, implication, agregation dan defuzzyfication ?.

4. Untuk mengubah antar muka FIS Editor menjadi Membership function Editor dilakukan dengan cara.

5. Sebutkan jenis-jenis representasi grafik keanggotaan fuzzy yang terdapat pada Membership function Editor dan bagaimanakah bentuknya serta fungsi keanggotaan dari tiap-tiap grafik?

6. Untuk membuat sebuah grafik fungsi keanggotaan pada Membership function Editor maka langkah-langkah yang harus dilakukan adalah

7. a. Untuk membuat aturan dari himpunan fuzzy pada rule editor yang telah dibuat maka proses yang harus dilakukan adalah ..

b. untuk menambah dan menghilangkan sebuah aturan pada rule editor, proses yang dapat dilakukan adalah.

8. Sebutkan fungsi Rule viewer? dan bagaimanakah cara agar dapat memasuki menu rule viewer?

9. Sebutkan fungsi Surface viewer? dan bagaimanakah cara agar dapat memasuki menu surface viewer?

MODUL 2

REPRESENTASI FUNGSI KEANGGOTAAN HIMPUNAN FUZZY

2.1. Tujuan Praktikum : Mahasiswa dapat mengenal representasi fungsi keanggotaan berupa grafik fungsi keanggotaan dengan menggunakan listing program pada toolbox fuzzy pada MATLAB Ver.6.5 dan dapat menerapkannya pada permasalahan yang berhubungan dengan himpunan fuzzy.

2.1. Landasan Teori:

Fungsi Keanggotaan (membership function) adalah suatu kurva atau grafik yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaan suatu himpunan objek dan sering juga disebut dengan derajat keanggotaan yang memiliki interval antara 0 sampai 1. Penggambaran himpunan crisp dengan derajat keanggotannya disebut dengan representasi fungsi keanggotaan himpunan fuzzy dan dapat digambarkan dalam berbagai bentuk grafik berdasarkan bentuk pernyataan peristiwa dari himpunan fuzzy tersebut digambarkan.

Pada Matlab toolbox fuzzy, penggambaran fungsi keanggotaan himpunan fuzzy berdasarkan pada bentuk grafik, parameter fungsi keanggotaan dan nilai fungsi keanggotaan. Grafik fungsi keanggotan yang terdapat pada toolbox fuzzy adalah :

a. Trimf, yaitu fungsi keanggotaan fuzzy yang berbentuk kurva segitiga

b. Trapmf, yaitu fungsi keanggotaan fuzzy yang berbentuk kurva trapesium

c. Gbelmf, yaitu fungsi keanggotaan fuzzy yang berbentuk kurva yang berbentuk bel

d. Gaussmf, yaitu fungsi keanggotaan fuzzy yang berbentuk kurva berbentuk fungsi Gaussian.

e. Gauss2mf, yaitu fungsi keanggotaan fuzzy yang berbentuk kurva berbentuk fungsi Gaussian dua sisi.

f. Pimf, yaitu fungsi keanggotaan fuzzy yang berbentuk kurva phi

g. Sigmf, yaitu fungsi keanggotaan fuzzy yang berbentuk kurva yang berbentuk sigmoid

h. Smf, yaitu fungsi keanggotaan fuzzy yang berbentuk kurva yang menyerupai bentuk huruf S

i. Zmf, yaitu fungsi keanggotaan fuzzy yang berbentuk kurva yang berbentuk menyerupai huruf z

j. Dsigmf, yaitu fungsi keanggotaan fuzzy yang berbentuk kurva yang membentuk 2 grafik sigmoid

k. Psigmf, yaitu fungsi keanggotaan fuzzy yang berbentuk kurva yang membentuk 2 grafik Phi.2.3. Prosedur Praktikum

1. Membuat grafik fungsi keanggotaan kurva segitiga

Parameter untuk fungsi keanggotaan kurva segitiga adalah [a b c] dimana

a adalah nilai himpunan crisp pada saat ( = 0

b adalah nilai himpunan crisp pada saat ( = 1

c adalah nilai himpunan crisp pada saat ( = 0

Listing untuk membuat fungsi keanggotaan kurva segitiga adalah :

untuk membuat jarak nilai fungsi keanggotaan, misalnya nilai minimal 0, jarak antar fungsi keanggotaan 0,1 sampai dan untuk sumbu x =1 sampai dengan 1dengan 1 dapat diketikan - :

x=0:0.1:10;

Untuk membentuk fungsi segitiga pada sumbu y dengan parameter fungsi segitiga misalnya a=2, b=5 dan c=8 ketikan:

Y=trimf(x,[2 5 8]);

Untuk menggambarkan fungsi segitiga yang telah dibuat ketikan:

Plot(x,y);grid;title(FungsiSegitiga);xlabel(x);

ylabel(Mu[x]);

Untuk mencari nilai keanggotaan sebuah nilai crisp misalnya 3,5 dari fungsi tersebut ketikan:

trimf(3.5,[2 5 8])

Dilayar akan didapat tulisan sbb

Ans =

0.3333

2. Membuat Membuat grafik fungsi keanggotaan kurva Trapesium

Parameter untuk fungsi keanggotaan kurva trapesium adalah [a b c d] dimana

a adalah nilai himpunan crisp pada saat ( = 0

b adalah nilai himpunan crisp pada saat ( = 1

c adalah nilai himpunan crisp pada saat ( = 1

d adalah nilai himpunan crisp pada saat ( = 0

Listing untuk membuat fungsi keanggotaan kurva trapesium adalah :

untuk membuat jarak nilai fungsi keanggotaan, misalnya nilai minimal 0, jarak antar fungsi keanggotaan 0,1 sampai dan untuk sumbu x =1 sampai dengan 1dengan 20 diketikan :

x=0:0.1:20;

Untuk membentuk fungsi trapesium pada sumbu y dengan parameter fungsi segitiga misalnya a=5, b=10 c=14 dan d=18 ketikan:

Y=trapmf(x,[5 10 14 18]);

Untuk menggambarkan fungsi trapesium yang telah dibuat ketikan:

Plot(x,y);grid;title(Fungsi trapesium);xlabel(x);ylabel(Mu[x]);

Untuk mencari nilai keanggotaan sebuah nilai crisp misalnya 9 dari fungsi tersebut ketikan:

Trapmf(9[5 10 14 18])

Dilayar akan didapat tulisan sbb

Ans =

0.800

3. Membuat fungsi keanggotaan fuzzy berbentuk kurva yang berbentuk Gaussian bel

Parameter untuk fungsi keanggotaan kurva bel adalah [a b c] dimana

a adalah nilai himpunan crisp pada saat ( = 0

b adalah nilai himpunan crisp pada saat ( = 1

c adalah nilai himpunan crisp pada saat ( = 0

Listing untuk membuat fungsi keanggotaan kurva Gaussian bell adalah :

untuk membuat jarak nilai fungsi keanggotaan, misalnya nilai minimal 0, jarak antar fungsi keanggotaan 0,1 sampai dan untuk sumbu x =1 sampai dengan 1 dengan 10 diketikan :

x=0:0.1:10;

Untuk membentuk fungsi gaussian pada sumbu y dengan parameter fungsi gausian bel misalnya a=1, b=5 c=9:

Y=gbelmf(x,[1 5 9 ]);

Untuk menggambarkan fungsi Gaussian Bell yang telah dibuat ketikan:

Plot(x,y);grid;title(Fungsi GausianBel);xlabel(x);

ylabel(Mu[x]);

Untuk mencari nilai keanggotaan sebuah nilai crisp misalnya 3,5 dari fungsi tersebut ketikan:

gbellmf(7.5[1 5 9])

Dilayar akan didapat tulisan sbb

Ans = 0.0170

4. Membuat fungsi keanggotaan fuzzy berbentuk kurva yang kurva Gaussian

Parameter untuk fungsi keanggotaan kurva bel adalah [sig c] dimana

sig adalah nilai himpunan crisp membentuk fungsi gaussian

c adalah nilai himpunan crisp fungsi Gausiaan pada saat ( = 0

Listing untuk membuat fungsi keanggotaan kurva gaussian adalah :

untuk membuat jarak nilai fungsi keanggotaan, misalnya nilai minimal 0, jarak antar fungsi keanggotaan 0,1 sampai dan untuk sumbu x =1 sampai dengan 1 dengan 10 diketikan :

x=0:0.1:10;

Untuk membentuk fungsi segitiga pada sumbu y dengan parameter fungsi gausian misalnya sig =2, c=5:

y=gaussmf(x,[2 5]);

Untuk menggambarkan fungsi trapesium yang telah dibuat ketikan:

Plot(x,y);grid;title(FungsiGausian); xlabel(x);ylabel(Mu[x]);

Untuk mencari nilai keanggotaan sebuah nilai crisp misalnya 3,5 dari fungsi tersebut ketikan:

gaussmf(3.5,[1 5 9])

Dilayar akan didapat tulisan sbb

Ans = 0.3247

5. Membuat fungsi keanggotaan fuzzy berbentuk kurva yang kurva Gaussian2

Parameter untuk fungsi keanggotaan kurva bel adalah [sig1 c1 sig2 c2] dimana

Sig1 adalah nilai himpunan crisp membentuk fungsi naik gaussian

c1 adalah nilai himpunan crisp fungsi Gausiaan pada saat ( = 1

c2 adalah nilai himpunan crisp fungsi Gausiaan pada saat ( = 1

sig2 adalah nilai himpunan crisp membentuk fungsi turun gaussian

dimana c1 < c2

Listing untuk membuat fungsi keanggotaan kurva gaussian2 adalah :

untuk membuat jarak nilai fungsi keanggotaan, misalnya nilai minimal 0, jarak antar fungsi keanggotaan 0,1 sampai dan untuk sumbu x =1 sampai dengan 1 dengan 10 diketikan :

x=0:0.1:10;

Untuk membentuk fungsi segitiga pada sumbu y dengan parameter fungsi gausian misalnya sig1=1, c1=3, sig2 = 3, c2 = 4 :

y=gauss2mf(x,[1 3 3 4]);

Untuk menggambarkan fungsi trapesium yang telah dibuat ketikan:

Plot(x,y);grid;title(Fungsi Gausian2);xlabel(x);

ylabel(Mu[x]);

Untuk mencari nilai keanggotaan sebuah nilai crisp misalnya 4,5 dari fungsi tersebut ketikan:

y=gauss2mf(4.5,[1 3 3 4])

Dilayar akan didapat tulisan sbb

Ans = 0.9862

6. Membuat Membuat grafik fungsi keanggotaan kurva Phi

Parameter untuk fungsi keanggotaan kurva trapesium adalah [a b c d] dimana

a adalah nilai himpunan crisp pada saat ( = 0

b adalah nilai himpunan crisp pada saat ( = 1

c adalah nilai himpunan crisp pada saat ( = 1

d adalah nilai himpunan crisp pada saat ( = 0

Listing untuk membuat fungsi keanggotaan kurva phi adalah :

untuk membuat jarak nilai fungsi keanggotaan, misalnya nilai minimal 0, jarak antar fungsi keanggotaan 0,1 sampai dan untuk sumbu x =1 sampai dengan 1dengan 10 diketikan :

x=0:0.1:10;

Untuk membentuk fungsi trapesium pada sumbu y dengan parameter fungsi phi misalnya a=2, b=5 c=7 dan d=9 ketikan:

y=pimf(x,[1 5 7 9]);

Untuk menggambarkan fungsi phi yang telah dibuat ketikan:

Plot(x,y);grid;title(Fungsi Phi);xlabel(x)

;ylabel(Mu[x]);

Untuk mencari nilai keanggotaan sebuah nilai crisp misalnya 7,5 dari fungsi tersebut ketikan:

pimf(7.5,[1 5 7 9])

Dilayar akan didapat tulisan sbb

Ans =

0.8750

7. Membuat fungsi keanggotaan fuzzy berbentuk kurva yang kurva Sigmoid

Parameter untuk fungsi keanggotaan kurva sigmoid adalah [a c] dimana

a adalah nilai himpunan crisp membentuk fungsi sigmoid dimulai dari titik 0

c adalah nilai himpunan crisp fungsi Gausiaan pada saat ( = 0,5

Listing untuk membuat fungsi keanggotaan kurva gaussian adalah :

untuk membuat jarak nilai fungsi keanggotaan, misalnya nilai minimal 0, jarak antar fungsi keanggotaan 0,1 sampai dan untuk sumbu x =1 sampai dengan 1 dengan 10 diketikan :

x=0:0.1:10;

Untuk membentuk fungsi sigmoid, pada sumbu y dengan parameter fungsi sigmoid misalnya a =2, c=4:

y=sigmf(x,[2 4]);

Untuk menggambarkan fungsi sigmoid yang telah dibuat ketikan:

Plot(x,y);grid;title(Fungsi Sigmoid);xlabel(x);

ylabel(Mu[x]);

Untuk mencari nilai keanggotaan sebuah nilai crisp misalnya 3,5 dari fungsi tersebut ketikan:

sigmf(3.5,[2 4])

Dilayar akan didapat tulisan sbb

Ans = 0.2689

.8. Membuat fungsi keanggotaan fuzzy berbentuk kurva yang kurva S.

Parameter untuk fungsi keanggotaan kurva sigmoid adalah [a b] dimana

a adalah nilai himpunan crisp membentuk fungsi S dimulai dari titik 0 sampai himpunan crisp bernilai ( = 0,5

b adalah nilai himpunan crisp fungsi S pada saat ( = 1

Listing untuk membuat fungsi keanggotaan kurva gaussian adalah :

untuk membuat jarak nilai fungsi keanggotaan, misalnya nilai minimal 0, jarak antar fungsi keanggotaan 0,1 sampai dan untuk sumbu x =1 sampai dengan 1 dengan 10 diketikan :

x=0:0.1:10;

Untuk membentuk fungsi S, pada sumbu y dengan parameter fungsi sigmoid misalnya a =5, b=10:

y=smf(x,[5 10]);

Untuk menggambarkan fungsi S yang telah dibuat ketikan:

Plot(x,y);grid;title(Fungsi S);xlabel(x);

ylabel(Mu[x]);

Untuk mencari nilai keanggotaan sebuah nilai crisp misalnya 8,5 dari fungsi tersebut ketikan:

smf(8.5,[5 10])

Dilayar akan didapat tulisan sbb

Ans = 0.8200

9. Membuat fungsi keanggotaan fuzzy berbentuk kurva yang kurva Z.

Parameter untuk fungsi keanggotaan kurva Z adalah [a b] dimana

a adalah nilai himpunan crisp membentuk fungsi sigmoid dimulai dari himpunan crisp bernilai ( = 1

b adalah nilai himpunan crisp fungsi Z pada saat ( = 0

Listing untuk membuat fungsi keanggotaan kurva Z adalah :

untuk membuat jarak nilai fungsi keanggotaan, misalnya nilai minimal 0, jarak antar fungsi keanggotaan 0,1 sampai dan untuk sumbu x =1 sampai dengan 1 dengan 10 diketikan :

x=0:0.1:10;

Untuk membentuk fungsi Z, pada sumbu y dengan parameter fungsi sigmoid misalnya a =5, b=10:

y=zmf(x,[5 10]);

Untuk menggambarkan fungsi sigmoid yang telah dibuat ketikan:

Plot(x,y);grid;title(Fungsi Z);xlabel(x);

ylabel(Mu[x]);

Untuk mencari nilai keanggotaan sebuah nilai crisp misalnya 8,5 dari fungsi tersebut ketikan:

smf(8.5,[5 10])

Dilayar akan didapat tulisan sbb

Ans = 0.1800

10. Membuat fungsi keanggotaan fuzzy berbentuk kurva Sigmoid ganda

Parameter untuk fungsi keanggotaan kurva sigmiod ganda adalah [a1 c1 a2 c2] dimana

a1 adalah nilai himpunan crisp membentuk fungsi naik sigmoid dari ( = 0 sampai ( = 1

c1 adalah nilai himpunan crisp fungsi sigmoid naik pada saat ( = 0,5

a2 adalah nilai himpunan crisp fungsi turun pada saat ( = 0,5

c2 adalah nilai himpunan crisp membentuk fungsi turun sigmoid

dimana c1 < c2

Listing untuk membuat fungsi keanggotaan kurva sigmoid ganda adalah:

untuk membuat jarak nilai fungsi keanggotaan, misalnya nilai minimal 0, jarak antar fungsi keanggotaan 0,1 sampai dan untuk sumbu x =1 sampai dengan 1 dengan 10 diketikan :

x=0:0.1:10;

Untuk membentuk fungsi sigmoid ganda pada sumbu y dengan parameter fungsi sigmoid misalnya a1=5, c1=2, sig2 = 5, c2 = 7 :

y=dsigmf(x,[5 2 5 7]);

Untuk menggambarkan fungsi sigmoid ganda yang telah dibuat ketikan:

Plot(x,y);grid;title(Fungsi Sigmoid ganda);xlabel(x;

ylabel(Mu[x]);

Untuk mencari nilai keanggotaan sebuah nilai crisp misalnya 3 dari fungsi tersebut ketikan:

y=dsigmf(3,[5 2 5 7])

Dilayar akan didapat tulisan sbb

Ans = 0.9933

11. Membuat fungsi keanggotaan fuzzy berbentuk Phi Sigmoid ganda

Parameter untuk fungsi keanggotaan kurva sigmiod ganda adalah [a1 c1 a2 c2] dimana

a1 adalah nilai himpunan crisp membentuk fungsi naik sigmoid dari ( = 0 sampai ( = 1

c1 adalah nilai himpunan crisp fungsi sigmoid naik pada saat ( = 0,5

a2 adalah nilai himpunan crisp fungsi turun pada saat ( = 0,5

c2 adalah nilai himpunan crisp membentuk fungsi turun sigmoid

dimana c1 < c2

Listing untuk membuat fungsi keanggotaan kurva sigmoid ganda adalah:

untuk membuat jarak nilai fungsi keanggotaan, misalnya nilai minimal 0, jarak antar fungsi keanggotaan 0,1 sampai dan untuk sumbu x =1 sampai dengan 1 dengan 10 diketikan :

x=0:0.1:10;

Untuk membentuk fungsi sigmoid ganda pada sumbu y dengan parameter fungsi sigmoid misalnya a1=5, c1=2, sig2 = 5, c2 = 7 :

y=psigmf(x,[5 2 5 7]);

Untuk menggambarkan fungsi sigmoid ganda yang telah dibuat ketikan:

Plot(x,y);grid;title(Fungsi Phi Sigmoid);xlabel(x);

ylabel(Mu[x]);

Untuk mencari nilai keanggotaan sebuah nilai crisp misalnya 3 dari fungsi tersebut ketikan:

y=psigmf(3,[5 2 5 7])

Dilayar akan didapat tulisan sbb

Ans = 2.0474e-009

2.4.Pertanyaan:

Buatlah listing program dan grafik fungsi keanggotaan dari :

1. Fungsi segitiga dengan parameter -4, 0, 4 dan carilah derajat keanggotaan untuk

a. [x] = -3.25b. [x] = -1,86c. [x] = 2,5

d. [x]= 3,65

2. fungsi keanggotaan trapesium dengan parameter 4, 6, 8,10 dan carilah derajat keanggotaan untuk

a. [x] = 2.25b. [x] = 5,76c. [x] = 6,5

d. [x]= 8,75

3. fungsi keanggotaan Gaussian Bell dengan parameter 4, 7, 9 dan carilah derajat keanggotaan untuk

a. [x] = 5b. [x] = 7,76c. [x] = 8,25

d. [x]= 8,75

4. fungsi keanggotaan Gaussian dengan parameter sig c=5, 9 dan carilah derajat keanggotaan untuk

a. [x] = 5.75b. [x] = 6,25c. [x] = 7,95

d. [x]= 8,85

5. fungsi keanggotaan Gaussian2 dengan parameter sig1=2, c1=4, sig2 = 5, c2 = 7 dan carilah derajat keanggotaan untuk

[x] = 3.55b. [x] = 4,55c. [x] = 5,75

d. [x]= 6,25

6. fungsi keanggotaan Phi dengan parameter 4, 5, 6, 9 dan carilah derajat keanggotaan untuk

a. [x] = 4,5b. [x] = 5,25c. [x] = 7,45

d. [x]= 8,15

7. fungsi keanggotaan Sigmoid dengan parameter 3, 8.5 dan carilah derajat keanggotaan untuk

a. [x] = 4b. [x] = 7,2

c. [x] = 6,25

d. [x]= 7,9

8. fungsi keanggotaan kurva S dengan parameter 4, 9 dan carilah derajat keanggotaan untuk

a. [x] = 5,2b. [x] = 7,34c. [x] = 8

d. [x]= 8,75

9. fungsi keanggotaan kurva Z dengan parameter 2, 8 dan carilah derajat keanggotaan untuk

a. [x] = 3,5b. [x] = 5,5

c. [x] = 6,25

d. [x]= 7,85

10. fungsi keanggotaan Sigmoid Ganda dengan parameter a1=6, c1=3, sig2 = 6, c2 = 8 dan carilah derajat keanggotaan untuk

a. [x] = 6,5b. [x] = 6,35c. [x] = 7,25

d. [x]= 7,65

11. fungsi keanggotaan Phi Sigmoid dengan parameter a1=6, c1=3, sig2 = 6, c2 = 8 dan carilah derajat keanggotaan untuk

a. [x] = 6,5b. [x] = 6,35c. [x] = 7,25

d. [x]= 7,65

MODUL 3

SISTEM INFERENSI FUZZY MODEL MAMDANI

3.1. Tujuan Praktikum : Mahasiswa dapat melakukan penalaran inferensi fuzzy model Mamdani beserta langkah-langkahnya serta dapat menerapkannya dengan program perangkat lunak MATLAB Ver. 6.5

3.2. Landasan Teori

Inferensi fuzzy adalah proses merumuskan pemetaan dari masukan ditentukan dengan menggunakan logika fuzzy. Pemetaan dimulai dari suatu dasar keputusan yang dapat dibuat,. Proses inferensi melibatkan: fungsi keanggotaan, operator logika fuzzy, dan if-then [operator]. Ada dua jenis inferensi fuzzy yang dapat digunakan yaitu: Type Mamdani Dan Type Sugeno. Dua ini jenis sistem inferensi ini dapat digunakan sesuai dengan output (keluaran) yang dikehendaki.Sistem inferensi fuzzy telah diterapkan pada beberapa bidang seperti kontrol otomatis, penggolongan data, analisis keputusan, sistem pakar, dan visi komputer. karena sifatnya yang yang dapat digunakan oleh multidisciplinilmu pengetahuan, sistem inferensi fuzzy dapat dihubungkan sesuai dengan ilmu yang dipelajari seperti sistem berbasis aturan fuzzy, fuzzy sistem pakar, pemodelan fuzzy, fuzzy control, dan lain sebagainya

Metoda fuzzy inferensi Mamdani adalah metodologi inferensi fuzzy yang banyak digunakan. Metoda inferensi fuzzy Mamdani ditemukan berupa aturan fuzzy pada tahun 1975 oleh Ebrahim Mamdani sebagai suatu cara untuk mengendalikan suatu mesin uap dan kombinasi ketel uap dengan manyatukan serangkaian aturan kendali.dengan alat pengendali Aturan inferensi fuzzy yang ditemukan oleh Mamdani didasarkan pada aturan Zadeh pada sebuah algoritma fuzzy untuk sistem kompleks dan proses pengambilan keputusan .

Langkah langkah untuk memproses input fuzzy menjadi output dengan menggunakan aturan inferensi Mamdani adalah sebagai berikut:

1. Memasukkan input fuzzy

2. Mengaplikasikan operator fuzzy

3. mengaplikasikan metode implikasi

4. komposisi semua output

5. defuzzyfikasi3.3. Prosedur Praktikum

Studi Kasus

Suatu perusahaan soft drink akan memproduksi minurnan jenis X. Pada 3 bulan terakhir biaya produksi untuk minuman jenis tersebut rata-rata sekitar Rp 500,- per kemasan, dan maksimum mencapai Rp 1000,- per kemasan. Banyaknya permintaan per hari rata-rata mencapai 30000 kemasan dan maksimum hingga mencapai 60000 kemasan. Sampai saat ini, perusahaan baru mampu memproduksi barang maksimum 100000 kemasan per hari. Apabila proses produksi perusahaan tersebut menggunakan 3 aturan fuzzy sbb:

[R1]IF Biaya Produksi RENDAH And Permintaan NAIK

THEN Produksi Barang BERTAMBAH;

[R2]IF Biaya Produksi sesuai STANDAR

THEN Produksi Barang NORMAL,

[R31IF Biaya Produksi TINGGI And Permintaan TURUN

THEN Produksi Barang BERKURANG;

Berapa jumlah minuman jenis X yang harus diproduksi, jika biaya untuk memproduksi jenis minuman tersebut diperkirakan sejumlah Rp 800 per kemasan, dan permintaan diperkirakan mencapai 25000 kemasan per hari.

solusi.

Membuat hiimpunan dan input fuzzy

Ada 3 variabel fuzzy yang akan dimodelkan, yaitu:

Biaya produksi; terdiri-atas 3 himpunan fuzzy, yaitu: RENDAH, STANDAR, dan TINGGI, ditunjukkan oleh Gambar 3.1 dibawah ini

Gambar 3.1Kurva keanggotaan Biaya Produksi

Permintaan barang; terdiri-atas 3 himpunan fuzzy, yaitu: TURUN, BIASA, dan NAIK. Digambarkan pada Gambar 3.2 dibawah ini

Gambar 3.2 Kurva keanggotaan Permintaan Barang

Produksi barang; terdiri-atas 3 himpunan fuzzy, yaitu: BERKURANG, NORMAL, dan BERTAMBAH

Gambar 3.3 Kurva keanggotaan Produksi Barang

TOOLBOX MATLAB UNTUK Menyelesaikan STUDI KASUS

Kita dapat mengimplementasikan studi kasus-1 ke Fuzzy Matlab, Toolbox. Kerjakan langkah-langkah berikut ini:

1. Jalankan software MATLAB.

2. Tulis pada command line:>> fuzzy

maka akan tampil FIS Editor seperti pada Gambar 3.4.

a

c

b

d

e

f

j

h

k

l

m

g

i

Gambar 3.4 FIS Editor

3.Memasukkan Variabel Input dan Output

Pada Gambar 3.4 terlihat ada 1 input yaitu input 1 dan 1 output yaitu output 1. Kita dapat mengedit variabel input dan output dengan cara:

a. Tekan sekali kotak berwarna kuning di sisi kiri yang berlabel input1, kotak tersebut kemudian akan berubah menjadi berbingkai merah.

b. Pada kolom edit yang berwarna putih di sisi kanan (h), ubah kata inputi dengan BiayaProduksi, kemudian tekan enter.

c. Untuk menambah jumlah variabel input (tidak hanya satu), maka pada menu-bar (a) pilih edit - Add input. Ubah nama input2 pada (h) dengan Permintaan, kemudian tekan enter.

d. Untuk memasukkan variabel output, tekan sekali kotak berwarna kuning di sisi kanan yang berlabel output1, kotak tersebut kemudian akan berubah menjadi berbingkai merah.

e. Pada kolom edit yang berwarna putih di sisi kanan (h), ubah kata outputl dengan ProduksiBarang, kemudian tekan enter.

4. Mengubah Operator. Operator-operator yang digunakan untuk And Method dan Or Method dapat dipilih pada combobox (f) dan (j). Pilihan untuk And Method adalah (min, prod, atau custom), pilih min. Sedangkan pilihan untuk Or Method adalah (max, probor, atau custom), pilih max.

5. Mengubah Fungsi Implikasi. Fungsi implikasi dapat dipilih melalui combobox (k). Pilihan yang ada (min, prod, custom). Pilih min.

6. Mengubah Metode Agregasi (Komposisi). Metode agregasi dapat dipilih melalui combobox (1). Pilihan yang ada (max, sum, probor, custom). Pilih max.

7. Mengubah Fungsi Defuzzy. Fungsi defuzzy dapat dipilih melalui combobox (m). Pilihan yang ada (centroid, bisector, mom, lom, som, custom). Pilih centroid.

8. Simpan file anda dengan memilih menu-bar (a) pilih file Save to disk as... Beri nama Kasusi. fis.

Sampai dengan langkah ke-8 diperoleh hasil seperti pada Gambar 3. 5.

a

Gambar 3.5. FIS Editor Studi Kasus

9. Membuat himpunan fuzzy dan fungsi keanggotaannya. Double klik (a) pada Gambar 3.5. Kemudian akan muncul Membership Function Editor seperti pada Gambar 3.6.

a

b

l

c

f

g

i

h

Gambar 3.6. Membership function

10. Membuat Fungsi Keanggotaan untuk variabel Biaya Produksi:

i.Perhatikan Gambar 3.6. Klik (b) variabel BiayaProduksi, hingga bingkainya berwarna merah.

ii.Isikan (i) dengan nilai [0 1000]

iii.Klik mf 1 (j) hingga garisnya berwarna merah. Ganti mf 1 pada (f) dengan nama RENDAH

iv.Pilih fungsi keanggotaan pada (g) dengan zmf

v. Ubah params pada (h) dengan [ 0 500]

vi.Klik mf 2 (k) hingga garisnya berwarna merah. Ganti Mf 2 pada (f) dengan nama STANDAR..

vii. Pilih fungsi keanggotaan pada (g) dengan pimf.

viii . Ubah params pada (h) dengan [ 0 500 500 1000 ].

ix. Klik mf 3 (l) hingga garisnya berwarna merah. Ganti mf 3 pada (f) dengan nama TINGGI.

X.Pilih fungsi keanggotaan pada (g) dengan smf.

xi.Ubah params pada (h) dengan [ 500 1000 ] . Sampai dengan langkah xi akan terlihat basil seperti pada Gambar 3.7.

Gambar 3.7. Fungsi Keanggotaan Variabel Biaya Produksi

11. Fungsi Keanggotaan untuk variabel Permintaan:

i.perhatikan Gambar 3. 6. Klik (c) variabel Permintaan, hingga bingkainya berwarna merah.

ii.Isikan (i) dengan [ 0 60 ].

iii.Klik mf 1 (j) hingga garisnya berwarna merah. Ganti mf 1 pada (f) dengan nama TURUN.

iv.Pilih fungsi keanggotaan pada (g) dengan trapmf.

v.Ubah params pada (h) dengan [ 0 0 10 3 0 ].

vi.Klik mf 2 (k) hingga garisnya berwarna. merah. Ganti mf 2 pada (f) dengan nama BIASA.

vii. Pilih fungsi keanggotaan pada (g) dengan trimf.

viii. Ubah params pada (h) dengan [0 30 50 ].

ix.Klik mf 3 (l) hingga garisnya berwarna merah. Ganti mf 3 pada (f) dengan nama NAIK.

xPilih fungsi keanggotaan pada (g) dengan trapmf

xi.Ubah params pada (h) dengan [ 30 50 60 60 ].

xii.Sampai dengan langkah xii akan terlihat hasil seperti pada Gambar 3.8.

Gambar 3.8. Fungsi Keanggotaan Variabel Permintaan

12. Fungsi Keanggotaan untuk variabel Produksi Barang

i.perhatikan Gambar 3. 6. Klik (c) variabel Permintaan, hingga bingkainya berwarna merah.

ii. Isikan (i) dengan [ 0 100 ] .

iii. Klik mf 1 (j) hingga garisnya berw&rna merah. Ganti mf 1 pada (f) dengan nama BERKURANG.

iv.Pilih fungsi keanggotaan pada (g) dengan trapmf

v.Ubah params pada (h) dengan [ 0 0 10 50 ].

vi.Klik mf 2 (k) hingga garispya berwarna merah. Ganti mf 2 pada (f) dengan nama NORMAL.

vii.Pilih fungsi keanggotaan pada (g) dengan trimf.

viii. Ubah params pada (h) dengan [ 30 50 70 ].

ix.Klik mf 3 (l) hingga garisnya berwarna merah. Ganti mf 3 pada (f) dengan nama BERTAMBAH.

x .Pilih fungsi keanggotaan pada (g) dengan trapmf.

xi.Ubah params pada (h) dengan [ 50 90 100 100 ].

Sampai dengan langkah xi akan terlihat hasil seperti pada Gambar 3.9.

Gambar 3.9. Fungsi Keanggotaan Variabel Produksi Barang

13. Membuat Aturan.

Untuk membuat aturan sesuai dengan aturan yang telah ditetapkan adalah dengan cara. Double klik kotak aturan (c) FIS Editor pada Gambar 3.4 atau pilih Edit rules... pada menu view. Akan muncul rule editor

i.Untuk membuat aturan ke-1: pilih (dengan cara merig-klik satu kali) RENDAH pada listbox BiayaProduksi (a), NAIK pada listbox Permintaan (b), dan BERTAMBAH pada listbox ProduksiBarang (c).TekanAdd rule(d).

ii.Untuk membuat aturan ke-2: pilih STANDAR pada listbox BiayaProduksi (a), none pada listbox Permintaan (b), dan NORMAL pada listbox ProduksiBarang (c). Tekan Add rule (d).

iii.Untuk membuat aturan ke-3: pilih TINGGI pada listbox BiaYaProduksi (a), TURUN pada listbox Permintaan (b), dan BERKURANG pada listbox ProduksiBarang (c). Tekan Add rule(d).

Hasilnya, seperti terliliat pada Gambar 3.10.

Gambar 3.10. Rule Editor

14. Hasilnya solusi dari kasus 1 dapat dilihat dari rule viewer. pilih view rules... pada menu view. Akan muncul rule Viewer (Gambar 3.11).

Gambar 3.11. Rule Viewer Kasus1

Untuk mendapatkan hasilnya adalah dengan memasukkan nilai input pada (d) yaitu [800 25], lihat perubahan input pada (a) dan hasilnya pada (c). Untuk mengubah input, bisa juga dilakukan secara langsung dengan menggeser-geser (b).

13. Untuk melihat kaitan ketiga variabel dalam bentuk surface, pilih. View surface... pada menu view. Akan muncul surface editor .

3.4. Pertanyaan:

1. Sebuah mesin cuci dikontrol dengan aturan sebagai berikut:

[R1] IF Kapasitas Cucian rendah AND Volume air Tinggi

THENKecepatan Putaran Mesin Normal

[R2] IF Kapasitas cucian NORMAL AND Volume air Normal

THEN Kecepatan Putaran Mesin Normal

[R3] IF Kapasitas cucian Berat AND Volume Air Tinggi

THEN Kecepatan Putaran Mesin Tinggi

Variabel Kapasitas cucian digambarkan sebagai berikut:

a. Kapasitas Cucian :

b. Putaran Mesin

c. Volume Air

i. Buatlah langkah-langkah untuk memecahkan masalah diatas

ii Buatlah kasus diatas ke Toolbox matlab

iii. Berapakah putaran mesin untuk kapasitas cucian 4 kg dan air yang dimasukkan adalah 10 liter?

2. Sebuah penelitian dilakukan untuk mencari jumlah produksi berdasarkan pengaruh faktor suhu, faktor kebisingan dan faktor pencahayaan terhadap jumlah produk yang dapat dikerjakan oleh karyawan pada sebuah perusahaan pengepakan. Dari sampel karyawan sebanyak 30 orang didapatkan kurva keanggotaan fuzzy tentang sejauh mana faktor suhu, pencahayaan dan kebisingan dapat meningkatkan produktivitas kerja .

a. Kurva rata-rata jumlah produk (buah/jam)

b. kurva faktor pencahayaan (lux)

c. Kurva Faktor Suhu (0C)

d. Faktor Kebisingan (Desible)

Aturan fuzzy untuk permasalahan tersebut adalah:

[Rl] IF Suhu DINGIN and Kebisingan NORMAL and Pencahayaan REDUP THEN Rata-rata Jumlah Produk RENDAH

[R2] IF Suhu DINGIN and Kebisingan NORMAL and Pencahayaan TERANG THEN Rata-rata jumlah Produk RENDAH

[R3] IF Suhu DINGIN and Kebisingan TENANG and Pencahayaan TERANG THEN Rata-rata jumlah Produk SEDANG

[R4] IF Suhu DINGIN and Kebisingan TENANG and Pencahayaan REDUP THEN Rata-rata jumlah Produk RENDAH

[R5] IF Suhu HANGAT and Kebisingan BISING and Pencahayaan SANGAT TERANG THEN Rata-rata jumlah Produk RENDAH

[R6] IF Suhu PANAS and Kebisingan NORMAL and Pencahayaan TERANG THEN Rata-rata jumlah Produk SEDANG;

[R7] IF Suhu HANGAT and Kebisingan BISING and Pencahayaan REDUP THEN Rata-rata jumlah Produk RENDAH;

[R8] IF Suhu HANGAT and Kebisingan TENANG and Pencahayaan TERANG THEN Rata-rata jumlah Produk TINGGI;

[R9] IF Suhu PANAS and Kebisingan BISING and Pencahayaan TERANG THEN Rata-rata jumlah Produk SEDANG;

[R10]IF Suhu NORMAL and Kebisingan TENANG and Pencahayaan TERANG THEN Rata-rata jumlah Produk TINGGIi. Buatlah langkah-langkah untuk memecahkan masalah diatas

ii Buatlah kasus diatas ke Toolbox matlab

Carilah jumlah rata-rata produk dari kombinasi faktor suhu, kebisingan dan pencahayaan dari tabel dibawah ini:

NOSUHU (0C)KEBISINGAN

(db)PENCAHAYAAN

(LUX)RATA-RATA JUMLAH PRODUK

12467190

23386312

32194515

42771351

53052175

63565250

72884125

83442100

92382451

101937600

MODUL 4

SISTEM INFERENSI FUZZY MODEL SUGENO

4.1. Tujuan Praktikum : Mahasiswa dapat melakukan penalaran inferensi fuzzy model Sugeno beserta langkah-langkahnya serta dapat menerapkannya dengan program perangkat lunak MATLAB Ver. 6.5

4.2. Landasan Teori

PENALARAN FUZZY METODE SUGENO

Penalaran fuzzy yang telah dipelajari terdahulu adalah metode penalaran MAMDANI. Metode ini diperkenalkan oleh Ebrahim Mamdani pada tahun 1975. Pada metode MAMDANI, baik input (anteseden) maupun output (konsekuen) sistem berupa himpunan fuzzy.

Penalaran dengan metode SUGENO hampir sama dengan penalaran MAMDANI, hanya saja output (konsekuen) sistem tidak berupa himpunan fuzzy, melainkan berupa konstanta atau persamaan linear. Metode ini diperkenalkan oleh Takagi-Sugeno Kang pada tahun 1985.

Model Fuzzy Sugeno terbagi atas:

1. Model Fuzzy Sugeno Orde-Nol

Secara unium bentuk model fuzzy SUGENO Orde-Nol adalah:

IF (x1 is A1) * (x2 is A2) * (X3 is A3) * * (XN is An)

THEN z = k

dimana A1 adalah himpunan fuzzy ke-i sebagai anteseden (input), dan k adalah suatu konstanta (tegas) sebagai konsekuen.

2 Model Fuzzy Sugeno Orde-Satu

Secara umum bentuk model fuzzy SUGENO Orde-Satu adalah:

IF (x1 is A1) * ..* (XN is AN)

THEN z = p1 * x1 + . + pn*xn + q

dimana Ai adalah himpunan fuzzy ke-i sebagai anteseden (input), dan pi adalah suatu konstanta (tegas) ke-i dan q juga merupakan konstanta dalam konsekuen.

Apabila komposisi aturan menggunakan metode SUGENO, maka deffuzifikasi dilakukan dengan cara mencari nilai rata-ratanya.

Langkah langkah untuk memproses input fuzzy menjadi output dengan menggunakan aturan inferensi Mamdani adalah sebagai berikut:

1. Memasukkan input fuzzy

2. Mengaplikasikan operator fuzzy

3. mengaplikasikan metode implikasi

4. komposisi semua output

5. defuzzyfikasi

4.3. Prosedur Praktikum

Studi Kasus

STUDI KASUS-2: SUGENO

Suatu perusahaan minuman kaleng setiap harinya mampu memproduksi barang rata-rata 50000 kaleng. Setiap hari perusahaan tersebut menerima permintaan rata-rata sekitar 50000 kaleng, dan dalam 3 bulan terakhir permintaan tertinggi dari perusahaan tersebut adalah sebesar 75000 kaleng. Minuman kaleng yang masih tersedia di gudang, setiap harinya rata-rata 7500 kaleng, sedanglcan kapasitas gudang maksimum hanya dapat menampung 15000 kaleng. Apabila sistem produksinya menggunakan aturan fuzzy sebagai berikut:

[R1] IF permintaan TURUN And persediaan BANYAK

THEN produksi barang = 10000;

[R2] IF permintaan NAIK And persediaan SEDIKIT

THEN produksi barang = (1,25 *permintaan persediaan)

[R3] IF permintaan NAIK And persediaan BANYAK

THENproduksi barang = permintaan persediaan

Tentukanlah berapa jumlah barang yang harus diproduksi hari ini, jika permintaan sebanyak 52000 kaleng, dan persediaan yang masih ada di gudang sebanyak 8000 kaleng.

solusi.

Membuat hiimpunan dan input fuzzy

Ada 2 variabel fuzzy yang akan dimodelkan, yaitu:

Permintaan; terdiri-atas 2 himpunan fuzzy, yaitu: TURUN, dan NAIK, ditunjukkan oleh Gambar 4.1 dibawah ini

Gambar 4.1. Permintaan perhari (x 1000 kaleng)

Persediaan; terdiri atas2 himpunan fuzzy, yaitu: Sedikit dan Banyak, seperti yang ditunjukkan pada Gambar 4.2.

Gambar 4.2. Persediaan Barang per hari (x1000 kaleng)

Kita dapat mengimplementasikan studi kasus-1 ke Fuzzy Matlab, Toolbox. Kerjakan langkah-langkah berikut ini:

1.Jalankan software MATLAB.

2.Tulis pada command line:

> clear

>> nntwarn off

>> p=[0 0 1 1 ; 0 1 0 1]

>> t=[0 1 1 0]

>> tp=[1 2000 0.35 0.01]

Jaringan dilatih 2000 epoch dengan error yang ditetapkan =0.1 dan laju pembelajaran = 0.35

[w1,b1,w2,b2]=initff(p,4,'tansig',t,'tansig')

Inisialisasi bobot dan bias awal dengan bilangan random dan fungsi aktivasi berbentuk tangen sigmoid dan linier

[w1,b1,w2,b2]=trainbp(w1,b1,'tansig',w2,b2,'tansig',p,t,tp)

Pelatihan Jaringan backpropagation untuk mendapatkan bobot dan bias dengan error yang diizinkan 0,1

2. Buatlah JST model backpropagation untuk mengenal pola input & target dengan konfigurasi jaringan sebagai berikut:

Jumlah Neuron Pada input Layer:2

Jumlah Neuron Pada Hidden Layer:5

Jumlah Neuron Pada Output Layer:1

Konstanta laju Pembelajaran (():0,02

Maksimum Epoh:100

Error(Kesalahan) yang diizinkan: 0,3

Fungsi Aktivasi:tansig

InputTarget

X1X2t

000

110

2-11

161

1032

12-12

-5-2-1

-82-1

-10-5-2

-152-2

Coding selengkapnya:

>> clear>> nntwarn off

% Data input & target

>>P=[0 1 2 1 10 12 -5 -8 -10 -15; 0 1 -1 6 3 -1 -2 2 -5 2]

>>T=[0 0 1 1 2 2 -1 -1 -2 -2]

% Membangun jaringan feedforward

>>net = newff(minmax(P),[5 1],{'tansig' 'purelin'});

%Melihat bobot-bobot awal input, lapisan, dan bias >>BobotAwal_Input= net.IW{1,1}

>>BobotAwal_Bias_Input = net.b{1,1}

>>BobotAwal_Lapisan = net.LW{2,1}

>>BobotAwal_Bias_Lapisan = net.b{2,1}

% Set fungsi pelatihan jaringan

net.adaptFcn = 'adaptwb';

% Set fungsi pembelajaran bobot input, lapisan dan bias

net.inputWeights{1,1}.learnFcn = 'learngdm'; net.layerWeights{2,1}.learnFcn = 'learngdm';

net biases{1,1}.learnFcn = 'learngdm';

net.biases{2,1}.learnFcn = 'learngdm';

% Set learning rate

net.inputWeights{1,1}.learnParam.lr=0.02; net.layerWeights{2,1}.learnParam.lr=0.02; net.biases{1,1}.learnParam.lr = 0.02;

net.biases{2,1}.learnParam.lr = 0.02;

% Set momentum

net.inputWeights{1,1}.learnParam.mc = 0.3; net.layerWeights{2,1}.learnParam.mc = 0.3; net.biases{1,1}.learnParam.mc = 0.3;

net.biases{2,1}.learnParam.mc = 0.3;

% Set maksimum epoh

net.adaptParam.passes = 100;

% ubah matriks input & target ke bentuk cell

p = num2cell(P,1);

t = num2cell(T,1);

%Melakukan pelatihan

[net, Y, e] = adapt(net,p,t)

% Melihat bobot-bobot awal input, lapisan, dan bias

BobotAkhir_Input= net.IW{1,1}

BobotAkhir_Bias_Input = net.b{1,1}

BobotAkhir_Lapisan = net.LW{2,1}

BobotAkhir_Bias_Lapisan = net.b{2,1}

% Melakukan simulasi

a = sim(net,P)

% Menggambar grafik

subplot(211)

plot(P(1,:),T,bo,P(1,:),a,r*);

title('Perbandiagan antara Target (o) dan Output Jaringan)

xlabel('input pertama');

ylabel('Target atau Output');

grid;

subplot(212)

plot(P(2,:),T,bo,P(2,:),a,r*);

title('Parbandingan antara Target (o) dan Output Jaringan (*));

xlabel('input kedua');

ylabel('Target atau Output'); grid;

3. Kasus

Jumlah total produksi komputer pada sebuah perusahaan komputer ditentukan oleh jumlah produksi casing dan jumlah hasil produksi MotherBoard. Sampai saat ini belum didapat rumusan yang pasti untuk menghitung jumlah total produksi barang bila diketahui jumlah produksi casing dan Moterboard-nya. Diinginkan untuk membuat sistem dengan menggunakan jaringan saraf tiruan untuk memprediksi jumlah total produksi komputer bila diketahui jumlah produksi casing dan jumlah produksi Motherbard. Data yang ada adalah sebagai berikut (dalam satuan Unit):

No SampelJumlah CasingJumlah MotherboardJumlah Total Produksi

17.0007.500Kurang dari 10.000

27.5008.000Lebih dari 10.000

36.5007.750Kurang dari 10.000

48.5007.500Lebih dari 10.000

55.5009.000Lebih dari 10.000

67.5007.500Kurang dari 10.000

Pertanyaan:

Tulislah langkah-langkah yang harus Saudara lakukan untuk menyimulasikan penyelesaian masalah di atas dengan menggunakan neural network toolbox (Matlab).

Jawab:

Variabel untuk menampung data jumlah casing dan tubing (input) = p Variabel untuk menampung data jumlah total produksi (output)=t Representasi keluaran:

Kurang dari 10.000 = 0 1

Lebih dari 10.000 = 1 0

Jumlah Neuron Pada input Layer:2

Jumlah Neuron Pada Hidden Layer:10

Jumlah Neuron Pada Output Layer:2

Konstanta laju Pembelajaran (():0,1

Maksimum Epoh:5000

Error(Kesalahan) yang diizinkan:0,1

Fungsi Aktivasi:tansig

nntwarn offp=[7500 7500

7500 8000

6500 7750

8500 7500

5500 9000

7500 7500]

t=[0 1

1 0

0 1

1 0

0 1]

p=p/9000

p=p'

t=t'

tp=[1 5000 0.1 0.1]

[w1,b1,w2,b2]=initff(p,10,'tansig',t,'tansig')

[w1,b1,w2,b2]=trainbp(w1,b1,'tansig',w2,b2,'tansig',p,t,tp)

4. Untuk meramalkan prestasi calon mahasiswa baru Sekolah Tinggi Teknologi Garut digunakan test potensi akademik yang terdiri atas 4 unsur, yaitu tes verbal (TV), test logika (TL), test kuantitatif (TK), dan test spatial (TS) dan hasil yang didapatkan adalah prestasi(baik/cukup/kurang). Di bawah ini ditunjukkan data hasil test tersebut dan presensi mahasiswa yang bersangkutan:

No TestTVTLTKTSPrestasi

220010.630.240.800.30Baik

220020.220.780.900.88Baik

220030.110.900.150.50Kurang

220040.140.350.740.92Baik

220050.420.800.600.54Culcup

220060.070.300.190.31Kurang

220070.920.250.320.67Cukup

220080.260.700.450.78Cukup

220090.450.650.210.42Kurang

Pertanyaan:

Tuliskan urutan langkah-langkah yang harus Saudara kerjakan untuk menyelesaikan masalah tersebut dengan Toolbox Neural Matlab (Selengkap-lengkapnya)

Keterangan:Gunahan jaringan saraf backpropagation dengan 50 lapisan tersembunyi.

SOLUSI

Variabel untuk menampung data nilai test (input) = p

Variabel untuk menampung data prestasi (output) = t

Representasi keluaran:

Baik = 0 0 1

Cukup = 0 1 0

Kurang = 1 0 0

Konfigurasi jaringan saraf yang digunakan:

ModelJaringan saraf perambatan galat mundur

Jumlah Neuron Pada inputt Layer4

sel lapisan niasukan4

Jumlah sel lapisan tersembunyi50

Jumlah sel lapisan keluaran3

Galat(error) yang diijillkan0.1

Konstanta belajar0.1

Maksimum Epoh10000

Fungsi Aktivasitansig

d

j

k

d

j

k

PAGE 10

_1170147520.vsdRendah

Sedang

Tinggi

50

100

150

200

250

130

_1230711746.unknown

_1230712022.unknown

_1230715153.unknown

_1230979602.unknown

_1230712128.unknown

_1230711884.unknown

_1170147716.vsd18

22

26

32

38

Dingin

Hangat

Panas

m y

_1170147811.vsd35

55

75

100

Tenang

Normal

Bising

1

0

m x

Desible

_1170147598.vsd150

300

500

700

Redup

Terang

Sangat Terang

1

0

m z

_1147943550.vsd

_1149584056.vsd

_1149584332.vsd

_1147943628.vsd

_1147943506.vsd