PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Fuzzy Membership Pertemuan 14 Inteligensi Buatan 100 menit

dokumen-dokumen yang mirip
LOGIKA FUZZY MENGGUNAKAN MATLAB

Himpunan Fuzzy. Sistem Pakar Program Studi : S1 sistem Informasi

BAB II LANDASAN TEORI. Dalam kondisi yang nyata, beberapa aspek dalam dunia nyata selalu atau biasanya

LOGIKA FUZZY FUNGSI KEANGGOTAAN

BAB 2 LANDASAN TEORI

MEDIA PEMBELAJARAN HIMPUNAN FUZZY BERBASIS MULTIMEDIA

MATERI KULIAH (PERTEMUAN 12,13) Lecturer : M. Miftakul Amin, M. Eng. Logika Fuzzy. Politeknik Negeri Sriwijaya Palembang

Erwien Tjipta Wijaya, ST.,M.Kom

BAB 2 LANDASAN TEORI

MENENTUKAN HARGA MOBIL BEKAS TOYOTA AVANZA MENGGUNAKAN METODE TSUKAMOTO

Studi Kasus Fuzzy Logic 2016

ANALISA SISTEM PENILAIAN TINGKAT KUALITAS PENGAJAR MENGGUNAKANLOGIKA FUZZY MAMDANI (STUDI KASUS PADA POLIBAN)

BAB II LANDASAN TEORI. Dalam bab ini dibahas beberapa definisi dan konsep-konsep yang

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

Logika fuzzy pertama kali dikembangkan oleh Lotfi A. Zadeh melalui tulisannya pada tahun 1965 tentang teori himpunan fuzzy.

BAB IV HASIL DAN PEMBAHASAN. Tingkat kesehatan bank dapat diketahui dengan melihat peringkat

BAB 2 TINJAUAN PUSTAKA

PENENTUAN JUMLAH PRODUKSI PULP PADA PT.TOBA PULP LESTARI, Tbk. DENGAN MENGGUNAKAN METODE FUZZY-MAMDANI SKRIPSI AGNES NENNY SISKA SINAGA

PENENTUAN JUMLAH PRODUKSI TELEVISI MERK X MENGGUNAKAN METODE FUZZY MAMDANI

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 1 (Multimedia) Hand On Lab 10

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 2 (Multimedia) Hand On Lab 10

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 2 (Multimedia) Hand On Lab 5 Video Effects 150 menit/ 3 jam

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Praktikum Pengolahan Citra Digital

BAB II LANDASAN TEORI. papernya yang monumental Fuzzy Set (Nasution, 2012). Dengan


BAB II KAJIAN TEORI. Berikut diberikan landasan teori mengenai teori himpunan fuzzy, program

JOBSHEET SISTEM CERDAS REASONING 2. Fuzzifikasi

KECERDASAN BUATAN (Artificial Intelligence) Materi 8. Entin Martiana

BAB 2 LANDASAN TEORI. Dalam hidup sehari-hari, banyak hal-hal yang saling berpasangan, seperti hitam

BAB II TEORI PENUNJANG

FUZZY MULTI-CRITERIA DECISION MAKING

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 1 (Multimedia) Hand On Lab 12

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 2 (Multimedia) Hand On Lab 9

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)

FUZZY LOGIC CONTROL 1. LOGIKA FUZZY

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Praktikum Basis Data Terapan 2

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI. Pada bab ini berisi tentang teori mengenai permasalahan yang akan dibahas

PENENTUAN JUMLAH PRODUKSI DENGAN APLIKASI METODE FUZZY MAMDANI

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 2 (Multimedia) Hand On Lab 13

SISTEM PENDUKUNG KEPUTUSAN PEMILIHAN KETUA SENAT MAHASISWA DENGAN LOGIKA FUZZY

Solusi MATLAB. Double Click salah satu kotak input sehingga muncul Membership Function Editor. Pada Membership Function Editor:

Jika kecepatan mobil adalah : 50 km/jam dan jaraknya adalah 0,75 m berapa posisi pedal yang harus di injak? Denganketentuan aturan sebagai berikut :

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 1 (Multimedia) Hand On Lab 6

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 1 (Multimedia) Hand On Lab 13

BAB II LANDASAN TEORI. 2.1 Penelusuran Minat dan Kemampuan (PMDK) diselenggarakan oleh suatu perguruan tinggi secara mandiri.

APLIKASI BERBASIS WEB PEMILIHAN OBYEK PARIWISATA DI YOGYAKARTA MENGGUNAKAN METODE TAHANI

BAB II LANDASAN TEORI

Praktikum Sistem Pakar Jumat 16 Desember 2013 Pertemuan 12. Tabel 1. Rancangan Variabel fuzzy Fungsi Nama Variabel Rentang Nilai Keterangan

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 2 (Multimedia) Hand On Lab 11

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Sistem Pendukung Keputusan Rekomendasi Pemilihan Laptop Menggunakan Fuzzy Tahani

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 2 (Multimedia) Hand On Lab 4

APLIKASI MODEL FUZZY DALAM PREDIKSI PRODUKSI TELUR AYAM PETELUR DI KABUPATEN SLEMAN

Praktikum 10 Tim Asisten Praktikum Sistem Pakar

SPK PENENTUAN TINGKAT KEPUASAN KONSUMEN PADA RESTORAN XYZ

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 1 (Multimedia) Hand On Lab 5

BAB II KAJIAN TEORI. untuk mengembangkan konsep dalam melakukan optimasi rule dalam diagnosa

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 1 (Multimedia) Hand On Lab 14

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Praktikum Basis Data Terapan 2

MODEL ANALISIS MENENTUKAN ALAT KONTRASEPSI BAGI ASEPTOR KELUARGA BERENCANA DENGAN LOGIKA FUZZY

BAB II TINJAUAN PUSTAKA

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 1 (Multimedia) Hand On Lab 15

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 1 (Multimedia) Hand On Lab 1 Konsep Layer dan Tool Dasar

BAB 2 LANDASAN TEORI

Jl Srijaya Negara Bukit Besar Palembang 30139, Telpon :

Jl Srijaya Negara Bukit Besar Palembang 30139, Telpon :

PENENTUAN TINGKAT PELUNASAN PEMBAYARAN KREDIT PEMILIKAN MOBIL DI PT AUTO 2000 MENGGUNAKAN FUZZY MAMDANI

Institut Teknologi Sepuluh Nopember Surabaya

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Praktikum Bahasa Rakitan Hand On Lab 4

Jurnal Informatika SIMANTIK Vol. 2 No. 2 September 2017 ISSN:

BAB III PERANCANGAN SISTEM

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 2 (Multimedia) Hand On Lab 2

Prediksi Beban Listrik jangka Panjang di Kabupaten Batu Bara tahun dengan Menggunakan Metode Fuzzy Clustering

Pendahuluan. Praktikum Pengantar Pengolahan Citra Digital Departemen Ilmu Komputer Copyright 2008 All Rights Reserved

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 1 (Multimedia) Hand On Lab 9

BAB 2 TINJAUAN PUSTAKA

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 2 (Multimedia) Hand On Lab 6

BAB II KAJIAN TEORI. diantaranya mengenai Pariwisata di Yogyakarta, obyek wisata, penelitianpenelitian

BAB IV KONSEP FUZZY LOGIC DAN PENERAPAN PADA SISTEM KONTROL. asing. Dalam pengalaman keseharian kita, permasalahan yang berkaitan dengan fuzzy

DAFTAR ISI BAB I PENDAHULUAN

BAB 2 LANDASAN TEORI

DAFTAR ISI. KATA PENGANTAR... Error! Bookmark not defined. ABSTRAK... Error! Bookmark not defined. ABSTRACT... Error! Bookmark not defined.

PENGEMBANGAN APLIKASI PENDUKUNG KEPUTUSAN UNTUK MENENTUKAN PEKERJAAN DI BIDANG TEKNOLOGI INFORMASI

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Praktikum Basis Data Terapan 2

RANCANG BANGUN SISTEM PENGUNDIAN SEPAKBOLA MENGGUNAKAN LOGIKA FUZZY

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Praktikum Pengolahan Citra Digital

SISTEM PENDUKUNG KEPUTUSAN PEMILIHAN JURUSAN DI SMU DENGAN LOGIKA FUZZY

ANALISIS PERBANDINGAN LOGIKA FUZZY DENGAN REGRESI BERGANDA SEBAGAI ALAT PERAMALAN

SIMULASI MENENTUKAN WAKTU MEMASAK BUAH KELAPA SAWIT MENGGUNAKAN FUZZY MAMDANI

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 2 (Multimedia) Hand On Lab 8

BAB 2 TINJAUAN PUSTAKA

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Computer 2 (Multimedia) Hand On Lab 7

: Sistem Pendukung Keputusan, Siswa berprestasi, Tsukamoto

Mahasiswa mampu memformulasikan permasalahan yang mengandung fakta dengan derajad ketidakpastian tertentu ke dalam pendekatan Sistem Fuzzy.

BAB III LANDASAN TEORI

ARTIFICIAL INTELLIGENCE MENENTUKAN KUALITAS KEHAMILAN PADA WANITA PEKERJA

Transkripsi:

Jl Srijaya Negara Bukit Besar Palembang 30139, Telpon : +62711 353414 TK PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Fuzzy Membership Pertemuan 14 Inteligensi Buatan 100 menit Function Lecturer : M. Miftakul Amin, S. Kom., M. Eng. Website : http://mafisamin.blog.ugm.ac.id Tujuan : 1. Mahasiswa dapat membuat variable, semesta pembicaraan, himpunan dan domain fuzzy. 2. Mahasiswa dapat menggunakan perangkat lunak matlab untuk membuat membership function. Perlengkapan : Perangkat Lunak Matlab versi 6.5 1. Pengertian Fungsi Keanggotaan Fungsi keanggotaan (membership function), adalah suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya (derajat keanggotaan) yang memiliki interval nilai dari 0 sampai 1. Titik input berada sepanjang rentang nilai semesta pembicaraan atau nilai dalam rentang domain himpunan fuzzy. Derajat keanggotaan sebuah nilai input disimbolkan dengan mu (µ). 2. Fungsi Keanggotaan 2. 1 Representasi Linear Representasi linear bagian permukaan digambarkan sebagai garis lurus, biasanya digunakan untuk menggambarkan suatu konsep yang kurang jelas. Ada 2 pendekatan untuk menggambarkan representasi linear, yaitu linear naik dan linear turun. a) Linear naik Kenaikan himpunan dimulai pada domain yang memiliki derajat keanggotaan 0 (nol) bergerak ke kanan menuju nilai domain yang memiliki derajat keanggotaan lebih tinggi. 0; x a µ [x] = (x a) / (b a); a x b 1; x b 1 H alaman

Sebagai contoh kita mempunyai variable Temperatur dengan semesta pembicaraan dari nilai 0 sampai 35. Terdapat satu buah himpunan panas dengan domain dari 25 sampai 35. Maka dalam representasi linear naik dapat digambarkan. Berapakah derajat keanggotaan untuk 32 0 Celcius? µ PANAS [32] = (32 25) / (35-25) = 7/10 0,7 Di dalam matlab belum terdapat membership function untuk representasi linear naik. Untuk itu perlu dibuat fungsi buatan sendiri (user defined function). Ikuti langkah berikut: 1) Dari menu File New M-File. Kemudian pada editor matlab ketikkan kode program berikut. linear_naik.m function derajat = linear_naik(x,a,b) if x<=a derajat = 0 elseif (x>=a) & (x<=b) derajat = (x-a)/(b-a); else derajat=1; end 2) Selanjutnya simpan di dalam folder D:\Mathlab_Latihan\Fuzzy\linear_naik.m 2 H alaman

3) Kemudian atur direktori kerja pada window current directory supaya merujuk pada alamat penyimpanan file linear_naik.m. Anda dapat melakukan klik pada tombol untuk menelusuri alamat penyimpanan file linear_naik.m. perhatikan gambar berikut. Catatan: Jika alamat current directory berbeda dengan alamat file linear_naik.m, maka fungsi yang telah dibuat tidak dapat dijalankan. 4) Selanjutnya lakukan pengujian terhadap fungsi yang telah dibuat, dengan mengetikkan kode berikut lewat command window. Anda cukup mengetikkan pada bagian >> dengan menuliskan linear_naik(32,25,35) selanjutnya tekan tombol Enter. Hasil dari fungsi dapat dilihat sebagai umpan balik dari sistem dengan member jawaban (ans) bernilai 0.7. b) Linear turun Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemugian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah. (b x)/(b a); a x b µ [x] = 0; x b sebagai contoh untuk merepresentasikan variable temperature dengan himpunan dingin yang memiliki domain nilai dari 15 sampai 30 dapat digambarkan sebagai berikut. 3 H alaman

DINGIN 1 Derajat keanggotaan µ [x] 0,667 µ DINGIN [20] = (30 20)/(30 15) = 10/15 = 0,667 0 15 20 30 untuk mengimplementasikan fungsi linear turun, dapat dituliskan dengan menggunakan script berikut. linear_turun.m function derajat = linear_turun(x,a,b) end if (x>=a) & (x<=b) derajat = (b-x)/(b-a); else derajat=0; Kemudian untuk pengujian dapat dituliskan secara langsung dalam command window sebagai berikut: 2. 2 Kurva Segitiga Kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear seperti terlihat berikut. Fungsi keanggotaan: 0; x a atau x c µ [x] = (x-a)/(b-a); a x b (c-x)/(c-b); b x c 4 H alaman

Sebagai contoh untuk variable temperature dengan himpunan normal yang bernilai domain dari 15-30 dapat digambarkan sebagai berikut. µ NORMAL [23] = (23-15)/(25-15) = 8/10 = 0,8 Berbeda dengan fungsi linear naik maupun turun, di dalam matlab telah disediakan sebuah fungsi built-in berupa kurva segitiga yang diberi nama trimf() atau dengan nama lengkap Triangular membership function. Syntax : trimf(x,params) trimf(x,[a b c]) melalui command window silahkan jalankan fungsi trimf() dengan script berikut. >> x = 0:0.1:35; >> trimf(x,[15 25 35]); >> plot(x,y);grid;title('fungsi Segitiga');xlabel('x');ylabel('mu[x]'); Sehingga diperoleh hasil sebagai berikut. Anda dapat mencoba untuk mengecek hasil nilai untuk setiap input x sebagai berikut. >> trimf(23,[15 25 35]) >> trimf(20,[15 25 35]) Hasil yang diperoleh adalah bahwa x = 23 akan menghasilkan 0.8, sedangkan x = 20 akan menghasilkan 0.5. 5 H alaman

2. 3 Representasi Kurva Trapesium Kurva trapezium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa titik yang memiliki nilai keanggotaan 1. Derajat keanggotaan µ [x] 1 0 a b c d DOMAIN Fungsi keanggotaan: Sebagai contoh implementasi fungsi trapezium dalam merepresentasikan variable temperature pada himpunan normal. NORMAL 1 Derajat keanggotaan µ [x] 0,375 µ NORMAL [32] = (35 32)/(35 27) = 3/8 = 0,375 0 15 24 27 32 35 Di dalam matlab terdapat fungsi built-in dengan nama trapmf() atau Trapezoidal-shaped built-in membership function. Dengan syntax: trapmf(x,[a b c d]) script berikut digunakan untuk memetakan setiap input x ke y. >> x = 0:0.1:35; >> trapmf(x,[15 24 27 35]); >> plot(x,y);grid;title('fungsi Trapesium');xlabel('x');ylabel('mu[x]'); Sehingga diperoleh hasil pemetaan fungsi keanggotaan untuk setiap input x dalam domain seperti tampilan gambar berikut. 6 H alaman

Untuk mencoba seperti kasus hitungan manual pada temperature normal dapat dihitung dengan cara sebagai berikut. >> trapmf(32, [15 24 27 35]) Maka akan diperoleh jawaban 0,375 2. 4 Representasi Kurva S Kurva S merupakan kurva sigmoid pertumbuhan dengan kenaikan permukaan secara tidak linear. Kurva S pertumbuhan akan bergerak dari sisi paling kiri dengan nilai keanggotaan 0 (nol) ke sisi keanggotaan 1. Fungsi keanggotaannya akan bertumpu pada 50% nilai keanggotaanya yang sering disebut dengan titik infleksi. Kurva S didefinisikan dengan menggunakan 3 parameter, yaitu nilai keanggotaan 0 (α), titik infleksi atau crossover (β) nilai keanggotaan lengkap (γ). Fungsi keanggotaan: 0; x α µ [x] = S(x;α,β,γ) = 2((x-α)/(γ-α)) 2 ; α x β 1-2((γ-x)/(γ-α)) 2 ; β x γ 1; x γ Contoh fungsi keanggotaan variable umur pada himpunan tua dapat digambarkan dengan representasi kurva S sebagai berikut: 7 H alaman

TUA Derajat keanggotaan µ [x] 1 0.68 Dengan perhitungan: 0 35 50 60 µ TUA [50] = 1 2 ((60 50)/(60 35)) 2 = 1-2 (10/25) 2 = 0,68 Di dalam matlab disediakan sebuah fungsi dengan nama smf() atau dengan nama lengkap S-shaped curve membership function dengan syntax: smf(x,[a b]) Anda dapat menyelesaikan kasus pada himpunan tua dengan menjalankan script berikut pada rentang domain TUA. >> x=0:0.1:60; >> y=smf(x,[35 50]); >> plot(x,y);title('fungsi Keanggotaan S');xlabel('x');ylabel('mu[x]'); Sehingga diperoleh tampilan sebagai berikut. Untuk menguji satu input dapat digunakan script berikut. >> smf(50,[35 60]) 0.6800 8 H alaman

Jika akan dilihat nilai input tepat pada titik infleksi (yaitu 47.5), maka akan diperoleh hasil sebagai berikut. >> smf(47.5,[35 60]) 0.5000 2. 5 Representasi Kurva Z Fungsi kurva Z disebut juga kurva penyusutan, karena nilai bergerak dari sisi paling kiri dengan nilai keanggotaan 1 ke kanan dengan nilai keanggotaan 0. Fungsi keanggotaan: 1; x α µ [x] = S(x;α,β,γ) = 1-2((x-α)/(γ-α)) 2 ; α x β 2((γ-x)/(γ-α)) 2 ; β x γ 0; x γ Contoh fungsi keanggotaan variable umur pada himpunan MUDA dapat digambarkan dengan representasi kurva S sebagai berikut: µ MUDA [37] = 2 ((50 37)/(50 20)) 2 = 2 (13/30) 2 = 0,376 Di dalam matlab telah disediakan sebuah fungsi dengan nama zmf () atau dengan nama lengkap Z shaped built in membership function. Dengan syntax: zmf(x,[a b]) 9 H alaman

Pada kasus himpunan himpunan muda dengan α = 20 dan γ = 50 dapat ditulis diselesaikan dengan script berikut: >> x=0:0.1:60; >> y=zmf(x,[20 50]); >> plot(x,y);title('fungsi Keanggotaan Z');xlabel('x');ylabel('mu[x]'); Sehingga menghasilkan gambar seperti berikut: Kita dapat menyelesaikan kasus untuk input usia 37 dengan perintah sebagai berikut. >> y=zmf(37,[20 50]) 0.3756 Jika kita menghitung untuk input dengan nilai infleksi maka dapat digunakan perintah berikut: >> y=zmf(35,[20 50]) 0.5000 10 H alaman

2. 6 Kurva PI (π) Kurva PI berbentuk lonceng dengan derajat keanggotaan 1 terletak pada pusat dengan domain γ, lebar kurva β. Fungsi Keanggotaan: S(x; γ β, γ β/2, γ) x γ µ [x] = π (x,β,γ) = { 1-S(x; γ, γ+ β/2, γ +β) x > γ Sebagai contoh pada kasus himpunan setengah baya pada variable umur digambarkan pada kurva berikut. µ SBAYA [42] = 1 2[(45 42)/(45 35)] 2 = 1 2(3/10) 2 = 1 2(0.09) = 1 0.18 = 0,82 Coba menghitung pada titik infleksi (45) µ SBAYA [45] = 1 2[(45 45)/(45 35)] 2 = 1 2(0/10) 2 = 1 2(0) = 1 0 = 1 11 H alaman

µ SBAYA [51] = 1 (1 2[(55 51)/(55 45)] 2 ) = 1 (1 2(4/10) 2 ) = 1 (1 2(0.16)) = 1 (1 0.32) = 1 0.68 = 0,32 Di dalam matlab disediakan sebuah fungsi dengan nama pimf() atau dengan nama lengkap PI -shaped built-in membership function. Dengan syntax: pimf(x,[a b c d]) script berikut digunakan untuk menggunakan fungsi pimf() dalam rentang input x sebagai domain himpunan setengah baya. >> x=0:0.1:55; >> y=pimf(x,[35 45 45 55]); >> plot(x,y);title('fungsi Keanggotaan PI');xlabel('x');ylabel('mu[x]'); sehingga diperoleh hasil sebagai berikut: 12 H alaman Anda dapat mencoba beberapa script sebagai berikut untuk memperoleh nilai keanggotaan pada himpunan separu baya: >> y=pimf(42,[35 45 45 55]) 0.8200 >> y=pimf(51,[35 45 45 55]) 0.3200 >> y=pimf(45,[35 45 45 55]) 1

2. 7 Kurva BETA Pada dasarnya baik kurva PI maupun kurva BETA merupakan bagian dari kurva bentuk lonceng, karena memang bentuk permukaannya mirip dengan lonceng. Faktor yang membedakan antara keduanya adalah pada kerapatannya, sehingga berada dalam kelas yang berbeda. Kurva BETA didefinisikan dengan 2 parameter, yaitu nilai pada domain yang menunjukkan titik pusat kurva (γ) dan setengah lebar kurva (β) pada sisi kanan dan kiri dari titik pusat. DOMAIN Titik infleksi γ-β Titik infleksi γ+β 1 Derajat keanggotaan µ [x] 0.5 0 α γ β Fungsi keanggotaan: Titik pusat ;, 1 1 Sebagai contoh akan dibuat sebuah variable umur dengan himpunan SETENGAH BAYA (SB) sebagai berikut: µ SB [42] = 1/(1+((42 45)/5) 2 ) = 0,7353 µ SB [51] = 1/(1+((51 45)/5) 2 ) = 0,4098 13 H alaman

Di dalam perangkat lunak matlab secara default belum terdapat fungsi BETA, sehingga untuk keperluan pembuatan system fuzzy dapat dilakukan dengan membuat fungsi buatan sendiri. Buat sebuah script dengan nama KURVA_BETA.m, simpan di direktori kerja function KURVA_BETA(x); [m n] = size(x); for i=1:n, if (x(i)<=35) (x(i)>=55) y(i)=0; else y(i) = 1/(1+((x(i)-45)/5)^2) end; end; selanjutnya dari command window silahkan uji nilai yang telah dihitung secara manual. Jika pada pengujian program sama dengan hasil perhitungan secara manual maka dapat dikatakan pembuatan fungsinya berhasil dengan benar. >> x=42; >> y=kurva_beta(x) 0.7353 >> x=51; >> y=kurva_beta(x) 0.4098 Selanjutnya untuk mengukur titik infleksi pada sisi kiri dan kanan dari titik pusat. >> x=40; >> y=kurva_beta(x); 0.5000 >> x=50; >> y=kurva_beta(x); 0.5000 Selanjutnya dapat dilakukan proses untuk menggambar grafik input untuk setiap nilai x sebagai rentang nilai dari sebuah domain. >> x=0:55; >> y=kurva_beta(x); >> plot(x,y);title('kurva BETA');xlabel('x');ylabel('mu[x]'); Sehingga diperoleh hasil sebagai berikut. 14 H alaman

2. 8 Kurva Bentuk Bahu Kurva bentuk bahu merupakan kombinasi dari fungsi linear naik maupun turun. Misalnya akan dibuat variable fuzzy temperature dengan 3 himpunan yaitu dingin, normal dan panas. Domain himpunan sebagai berikut: DINGIN = {0.. 28} NORMAL = {25.. 35} PANAS = {33.. 40} Untuk himpunan DINGIN, maka dapat dibuat sebuah formula sebagai berikut: 1; x 20 µ DINGIN [x] = { (28-x)/28-20; 20 x 28 0; x 28 0; x 25 atau x 35 µ NORMAL [x] = { (x-25)/30-25; 25 x 30 (35-x)/35-30; 30 x 35 0; x 33 µ PANAS [x] = { (x-33)/40-33; 33 x 40 1; x 40 15 H alaman

Fungsi yang digunakan untuk menyelesaikan kasus di atas harus diselesaikan dengan membuat fungsi buatan sendiri. Karena pada dasarnya kurva bentuk bahu merupakan gabungan dari fungsi linear dan fungsi segitiga. DINGIN.m function DINGIN(x); [m n] = size(x); for i=1:n, if x(i) >= 28 y(i) = 0; elseif (x(i) >= 20) & (x(i) <= 28) y(i) = (28-x(i))/(28-20); else y(i) = 1; end; end; NORMAL.m function NORMAL(x); [m n] = size(x); for i=1:n, if (x(i) <= 25) (x(i) >= 35) y(i) = 0; elseif (x(i) >= 25) & (x(i) <= 30) y(i) = (x(i)-25)/(30-25); elseif (x(i) >= 30) & (x(i) <= 35) y(i) = (35-x(i))/(35-30); end; end; PANAS.m function PANAS(x); [m n] = size(x); for i=1:n, if x(i) <= 33 y(i) = 0; elseif (x(i) >= 33) & (x(i) <= 40) y(i) = (x(i)-33)/(40-33); else y(i) = 1; end; end; Kemudian ujilah hasil pembuatan script dengan menjalankan perintah berikut pada command window. 16 H alaman

>> clear all >> x=0:50; >> y1=dingin(x); >> y2=normal(x); >> y3=panas(x); >> plot(x,y1,x,y2,x,y3);title('representasi Bahu'); Sehingga diperoleh tampilan seperti gambar berikut. Tugas : 1) Modifikasilah program matlab pada representasi linear naik untuk himpunan PANAS (fungsi keanggotaan 1) sehingga semua rentang nilai pada domain dapat ditampilkan dalam bentuk grafik fungsi keanggotaan. Buat m-file dengan nama PANAS_LINEAR.m 2) Modifikasilah program matlab pada representasi linear turun untuk himpunan DINGIN (fungsi keanggotaan 1) sehingga semua rentang nilai pada domain dapat ditampilkan dalam bentuk grafik fungsi keanggotaan. Buat m-file dengan nama DINGIN_LINEAR.m Diperiksa tanggal : Dosen Pengampu: Nama Laboratorium : Nomor Komputer : (M. Miftakul Amin, S. Kom., M. Eng.) NIP. 197912172012121001 Sumber referensi: Kusumadewi, Sri. 2002. Analisis dan Desain Sistem Fuzzy Menggunakan Toolbox Matlab. Yogyakarta: Penerbit Graha Ilmu 17 H alaman