Sabtu, 29 Mei 2010

Tuga 6 (membuat makalah tentang logika fuzzy)

Dasar –dasar pemahaman logika fuzzy

Pada pertengahan 1960, Prof. Lotfi Zadeh dari universitas California di Barkeley menemukan bahwa hukum benar atau salah dari logika boolean tidak memperhitungkan beragam kondisi yang nyata. Untuk menghitung gradasi yang tak terbatas jumlahnya antara benar dan salah, Zadeh mengembangkan ide penggolongan set yang ia namakan set fuzzy. Tidak seperti logika boolean, logika fuzzy memiliki banyak nilai. Tidak seperti elemen yang dikategorikan 100% ini atau itu, atau sebuah dalil yang menyatakan semuanya benar atau seluruhnya salah, fuzzy membaginya dalam derajat keanggotaan dan derajat kebenaran, yaitu : sesuatu yang dapat menjadi sebagian benar dan sebagian salah pada waktu yang sama. Hal ini telah dibuktikan oleh Bart Kosko bahwa logika boolean adalah kasus kusus dari logika fuzzy.





Untuk mengerti sistem fuzzy, anda harus mengenal konsep dasar yang berhubungan dengan logika fuzzy.




DERAJAT KEANGGOTAAN adalah : derajat dimana nilai crisp compatible dengan fungsi keanggotaan ( dari 0 sampai 1 ), juga mengacu sebagai tingkat keanggotaan, nilai kebenaran, atau masukan fuzzy.
LABEL adalah nama deskriptif yang digunakan untuk mengidentifikasikan sebuah fungsi keanggotaan.
FUNGSI KEANGGOTAAN adalah mendefinisikan fuzzy set dengan memetakkan masukan crisp dari domainnya ke derajat keanggotaan.
MASUKAN CRISP adalah masukan yang tegas dan tertentu
LINGKUP / DOMAIN adalah lebar fungsi keanggotaan. Jangkauan konsep, biasanya bilangan, tempat dimana fungsi keanggotaan dipetakkan. Disini domain dari fuzzy set ( fungsi keanggotaan ) adalah dari 0 sampai 20 derajat dan lingkupnya adalah 20 derajat.
DAERAH BATASAN CRISP adalah jangkauan seluruh nilai yang mungkin dapat diaplikasikan pada variabel sistem. Menggunakan logika fuzzy untuk mencapai penyelesaian crisp pada masalah khusus biasanya melibatkan tiga langkah : fuzzyfikasi, evaluasi rule, dan defuzzyfikasi. Jika anda tidak / belum mengetahui bagaimana logika fuzzy itu bekerja kami sarankan agar anda benar benar memahami betul tiap langkah dalam bagian berikutnya.


Fuzzifikasi merupakan suatu proses untuk mengubah suatu peubah masukan dari bentuk tegas(crisp) menjadi peubah fuzzy (variable linguistik) yang biasanya disajikan dalam bentuk himpunan-himpunan fuzzy dengan fungsi keanggotaannya masing-masing.

Evaluasi aturan merupakan proses pengambilan keputusan (inference ) yang berdasarkan aturan-aturan yang ditetapkan pada basis aturan (rules base) untuk menghubungkan antar peubah-peubah fuzzy masukan dan peubah fuzzy keluaran. Aturan -aturan ini berbentuk jika ... maka (IF ... THEN).

Teknik pengambilan keputusan yang digunakan adalah metode max-min. Pada metode max-min,pengambilan keputusan didasarkan pada aturan operasi menurut Mamdani. Keputusan yang diambil berdasarkan aturan ke i dapat dinyatakan dengan 1 μci(z), sehingga keanggotaan C adalah titik yang
diberikan oleh:
μc(z) = (á1μc1 (z))(á2μc2 (z))... (ái μci(z))
atau : μc(z) = max{min (á1, μc1(z)), min (á2, μc2(z)), ... ,
min (ái, μci(z))}. Proses pengembilan keputusan MAX-MIN dapat dilukiskan seperti pada Gambar 2.

Defuzzifikasi merupakan proses pengubahan besaran fuzzy yang disajikan dalam bentuk
himpunan-himpunan fuzzy keluaran dengan fungsi keanggotaannya untuk mendapatkan kembali bentuktegasnya.salah satu metode defuzikasion adalah :


sumber :
(http://iddhien.com/index.php?option=com_content&task=view&id=48&Itemid=113)
(www.google.com)




NO.

NAMA

Pembagian Tugas

1.

Dedy Hary Saputra

Mencari sumber

2.

Adrian Tyas Bangun

Menentukan referensi yg akan dibahas

3.

Deza Ariffandy

Menampilkan Posting ke Blog

4.

Dian Angga

Membuat Literatur, Pembahasan, kesimpula

5.

Ridwin Sentoso

Mengedit makalah


Kamis, 27 Mei 2010

TUGAS 8

Tugas 8 :
1. Makalah Aplikasi Fuzzy Logic Control
2. Pembahasan
3. Kesimpulan

Judul Makalah :
PENERAPAN FUZZY LOGIC PADA SISTEM PENGATURAN JUMLAH AIR BERDASARKAN SUHU DAN KELEMBABAN
Oleh : A. Sofyan

File Referensi Disini.
http://journal.uii.ac.id/index.php/Snati/article/viewFile/1332/1115


Pembahasan :

Dalam makalah ini dibahas mengenai penggunaan fuzzy logic control dalam pengaturan jumlah air pada saat proses penyiraman tanaman. Proses yang dilakukan berdasarkan suhu dan kelembaban udara, dimana kedua kondisi tersebut akan mempengaruhi banyaknya air yang akan disiram ke tanaman.

Dalam perancangannya, sistem pengendali ini menggunakan empat bagian utama dalam pembuatan sistem dasar fuzzy, yaitu fuzzifikasi, knowledge base, inferensi, defuzzifikasi.

Pada bagian fuzzifikasi, ada dua kondisi yang akan dimasukan dalam keanggotaan fuzzy, yaitu suhu dan kelembaban udara. Untuk kondisi suhu udara, terdapat lima nilai linguistik yang akan dimasukkan dalam logika fuzzy, yaitu Dingin (D), Sejuk (S), Normal (N), Hangat (H) dan Panas (P). Dengan penjabaran sebagai berikut :
- Dingin = 10 0C - 25 0C.
- Sejuk = 20 0C - 30 0C.
- Normal= 25 0C - 35 0C.
- Hangat = 30 0C - 40 0C.
- Panas = 35 0C - 50 0C.

Untuk kelembaban udara, terdapat tiga nilai linguistik Kering (K), Normal (N) dan Basah (B). Dengan penjabaran,
- Kering= 0 % - 40%.
- Normal = 25% - 75%
- Basah=60% - 100%.

Pada knowledge base dijelaskan mengenai rule-rule pernyataan yang dikelompokkan menjadi sebuah matrik yang disebut sebagai Fuzzy Associative Memory (FAM). Matrik Fuzzy Associative Memory ini mempunyai ukuran n x m, dengan n = jumlah keanggotaan input suhu udara dan m = jumlah keanggotaan input kelembaban tanah.


Fungsi Keanggotaan.

Pada blok inferensi ini, digunakan penalaran MAX–MIN untuk mendapatkan hasil output dalam domain fuzzy Sehingga dapat terlihat hasil defuzzikfikasi pada tabel dibawah ini,


FAM sistem penyiraman tanaman dan Fungsi keanggotaan output fuzzy (time)


Kesimpulan :

1.Sistem pengaturan jumlah air dalam penyiraman ini menggunakan fuzzy logic dengan 4 bagian utama yaitu, fuzzifikasi, knowledge base, inferensi, dan defuzzifikasi.
2.Terdapat dua input yaitu suhu dan kelembaban udara dengan nilai linguistic yang berbeda.
3.Output yang dihasilkan berupa pengaturan jumlah air dengan variasi waktu sesuai dengan FAM.

Rabu, 26 Mei 2010

Tugas VII (7) Program Fuzzy Logic




Spesifikasi Sistem Yang Akan Dirancang :

Perhitungan gaji karyawan perusahaan menurut hasil omset penjualannya.

Masukan :

1. total Omset Penjualan Karyawan tersebut

Keluaran :

1. Total Gaji karyawan setiap bulan

Berikut Listing Program nya :

Dim txtpenjualan
Dim sngGajiPokok, sngBonus, sngPajak, sngTotalGaji As Single

Private Sub C1_Click()
sngGajiPokok = 200000
If T1.Text >= 1000000 Then
sngBonus = T1.Text * 0.1
sngPajak = (sngGajiPokok + sngBonus) * 0.15
sngTotalGaji = sngGajiPokok + sngBonus - sngPajak
End If
If T1.Text < sngbonus =" T1.Text" sngpajak =" (sngGajiPokok" sngtotalgaji =" sngGajiPokok" sngbonus =" 0" sngpajak =" (sngGajiPokok" sngtotalgaji =" sngGajiPokok" text =" sngBonus" text =" sngPajak" text =" sngTotalGaji">


Berikut Hasil Program yang didapat :

1. Execute program
2. Dipilih ok. lalu muncul gambar berikut.
3. Berikut contoh-contoh hasil eksekusi program :
- Bila Penjualan sebesar 100,000 rupiah

- Bila Penjualan sebesar 150,000 rupiah
- Bila Penjualan sebesar 1,000,000 rupiah
- Bila dimasukkan data huruf, maka akan terjadi error seperti berikut.


Program ( .EXE ) dapat diambil di sini :
http://www.4shared.com/file/H0k-TPax/_2__Project1.html

TUGAS 5

TUGAS V MENCARI DAN MEMBAHAS APLIKASI JST YANG ADA DALAM LITERATUR ATAU INTERNET

Judul makalah yg dibahas:

Aplikasi Jaringan Syaraf Tiruan Untuk Peramalan Beban Tenaga Listrik Jangka Panjang Pada Sistem Kelistrikan Di Indonesia


Pembahasan kelompok

Studi tentang peramalan beban puncak tenaga listrik dalam sistem kelistrikan di Indonesia telah dilakukan dengan menggunakan metode Jaringan Syaraf Tiruan (JST) - Propagasi Balik, dengan periode studi 2001- 2025. Ramalan beban puncak listrik jangka panjang sangat dipengaruhi oleh faktor-faktor ekonomi. Dalam studi ini dipilih data ekonomi yang diperkirakan sangat mempengaruhi ramalan beban tenaga listrik jangka panjang, yang dalam hal ini menjadi masukan JST, yaitu: Produk Domestik Bruto (PDB) per-kapita, Populasi, Jumlah Rumah Tangga, Rasio Elektrifikasi, Jumlah Polusi CO2, Harga Minyak Mentah Rata-rata, Harga Batubara Rata-rata, Pemakaian Energi Final, Kebutuhan Pemakaian Energi Final Sektor Industri, dan Harga Listrik Rata-rata. Data yang dipergunakan untuk pembelajaran adalah data sebenarnya (actual data), mulai tahun 1990 sampai dengan 2000. Model JST yang digunakan dalam penelitian untuk peramalan beban jangka panjang ini adalah Propagasi Balik (Back Propagation, BP).

Struktur Jaringan Syaraf Tiruan Propagasi Balik

Algoritma pembelajaran yang digunakan adalah algoritma propagasi balik. Pada algoritma ini digunakan sinyal referensi dari luar (sebagai pengajar) dibandingkan dengan sinyal keluaran JST, hasilnya berupa sinyal kesalahan (error).



Keterangan:
xi sinyal masukan pembelajaran.
wjk bobot koneksi antara sel j ke sel
zj sinyal keluaran unit tersembunyi
fk fungsi aktivasi.
yk sinyal keluaran pembelajaran.
tk sinyal keluaran target (referensi)
δκ sinyal kesalahan (error).
α konstanta laju pembelajaran.
q iterasi ke-q.
Dasar algoritma ini adalah memodifikasi bobot interkoneksi wjk pada jaringan sehingga sinyal kesalahan mendekati nol (lihat Gambar 1 dan 2).















Kesimpulan:
1. Hasil perkiraan beban menggunakan jaringan syaraf tiruan ini tidak berbeda jauh dengan RUKN (Rencana Umum Ketenagalistrikan Nasional) yaitu masing-masing sebesar 85.584 MW dan 79.920 MW (perbedaannya sekitar 6,6%).
2. Hasil proyeksi dari RUKN maupun JST cukup baik, karena secara umum,perusaahan listrik akan menerima kesalahan ramalan (error) sebesar 10% untuk ramalan beban jangka panjang.




NO.

NAMA

Pembagian Tugas

1.

Dedy Hary Saputra

Mencari sumber bahan makalah

2.

Adrian Tyas Bangun

Mengedit makalah

3.

Deza Ariffandy

Mencari sumber bahan makalah

4.

Dian Angga

Menganalisa pembahasan dan kesimpulan

5.

Ridwin Sentoso

Memposting ke blog


TUGAS 4

PENGENAL POLA

Masukan :
input pola 1 atau 0 pada matrix 5x5
Keluaran :
persegi jika y = 193 / 198 / 234 /173 / 205 / 190
lingkaran jika y = 189
segitiga jika y = 227 / 196 /195

LISTING PROGRAM

clc;
clear all;


disp(' PROGRAM PENGENAL POLA');
disp(' LINGKARAN, PERSEGI, DAN SEGITIGA');
disp('---------------------------------------------');
disp(' ');
disp('oleh :');
disp('Kelompok 7');
disp(' ');
disp('1.Adrian Tyas Bangun N');
disp('2.Deddy Hari S');
disp('3.Deza Arifandi');
disp('4.Dian Angga T');
disp('5.Ridwin Sentoso');
disp('Masukan input pola dalam digit 1 atau 0 dalam bentuk matrix');
disp('Contoh :');
disp('X = [1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1]');
disp('sehingga dalam bentuk matrix 5 x 5 adalah :');
disp('[1 1 1 1 1');
disp(' 1 0 0 0 1');
disp(' 1 0 0 0 1');
disp(' 1 0 0 0 1');
disp(' 1 1 1 1 1]');
disp(' ');
disp(' ');
disp('Silahkan Masukan Pola :');
X = input ('X = ');

w = [0.1 -0.5 0.3 0.4 -0.2;
0.3 -0.1 -0.4 -0.4 -0.2;
0.3 -0.1 -0.2 0.4 0.5;
0.4 0 0.2 0.4 0;
0.3 -0.2 -0.3 -0.4 0.1;
0.3 0 0.3 0 -0.3;
-0.3 -0.2 0.2 -0.5 -0.4;
0.1 -0.1 -0.2 -0.2 0.4;
-0.7 -0.5 0.5 0 0.1;
-0.8 -0.9 -0.5 -0.5 -0.1;
-0.4 -0.1 -0.1 -0.3 -0.4;
-0.3 -0.4 -0.4 0.4 0.2;
1 0.5 0.5 0.5 0.5;
-0.5 0.2 0.2 -0.1 0.2;
-0.3 -0.3 -0.4 0.3 0.5;
0.5 0.5 0.1 0.1 -0.4;
-0.5 0.5 0 -0.2 0;
-0.1 -0.4 0 0 0;
-0.2 -0.3 0.1 0.2 0.2;
0.1 -0.3 -0.3 -0.1 -0.3;
0.5 0.3 -0.3 0.1 -0.5;
0.1 -0.1 0.4 -0.5 0.4;
0.2 0 0.1 0.2 -0.4;
-0.2 0 0.4 -0.3 -0.5;
-0.2 0.3 0.2 0.1 -0.2];

h = X*w;

hA = mat2cell(h,[1],[1 1 1 1 1]);

HA = cell2mat(hA(1));
HB = cell2mat(hA(2));
HC = cell2mat(hA(3));
HD = cell2mat(hA(4));
HE = cell2mat(hA(5));

H1 = sigmf (HA,[1 0]);
H2 = sigmf (HB,[1 0]);
H3 = sigmf (HC,[1 0]);
H4 = sigmf (HD,[1 0]);
H5 = sigmf (HE,[1 0]);

fH = [H1 H2 H3 H4 H5];

v =[0.4 0.5 0.7 0.8 0.5;
0.5 0.1 -0.5 0.5 0.7;
0.4 -0.3 -0.3 -0.4 -0.4;
-0.4 -0.3 -0.1 -0.2 -0.9;
0.2 0.5 -0.2 0.6 -0.1];

V = fH*v;

i = mat2cell(V,[1],[1 1 1 1 1]);

VA = cell2mat(i(1));
VB = cell2mat(i(2));
VC = cell2mat(i(3));
VD = cell2mat(i(4));
VE = cell2mat(i(5));

V1 = sigmf (VA, [1 0]);
V2 = sigmf (VB, [1 0]);
V3 = sigmf (VC, [1 0]);
V4 = sigmf (VD, [1 0]);
V5 = sigmf (VE, [1 0]);

fV = [V1 V2 V3 V4 V5];
u = [0.3;0.2;0.15;0.1;-0.5];

U = fV*u*1000;
Y = int32(U);
disp ('Y :');
disp (Y);

if Y == 190
disp('Bentuk pola anda berupa persegi');
elseif Y ==193
disp('Bentuk pola anda berupa persegi');
elseif Y ==198
disp('Bentuk pola anda berupa persegi');
elseif Y ==234
disp('Bentuk pola anda berupa persegi');
elseif Y ==173
disp('Bentuk pola anda berupa persegi');
elseif Y ==205
disp('Bentuk pola anda berupa persegi');
elseif Y ==189
disp('Bentuk pola anda berupa lingkaran');
elseif Y == 227
disp('Bentuk pola anda berupa segitiga');
elseif Y == 196
disp('Bentuk pola anda berupa segitiga');
elseif Y == 195
disp('Bentuk pola anda berupa segitiga');
end;

HASIL EKSEKUSI

Kesimpulan :
untuk pengenalan pola kecil tidak dapat dilakukan.
pengenalan pola lingkaran hanya dapat pada satu kondisi.


NB :

NO.

NAMA

Pembagian Tugas

1.

Dedy Hary Saputra

Membuat Tampilan Program

2.

Adrian Tyas Bangun

Membuat Listing Program

3.

Deza Ariffandy

Menampilkan Posting ke Blog

4.

Dian Angga

Membuat Literatur, Pembahasan, kesimpulan, dl.

5.

Ridwin Sentoso

Mencari Referensi Program