Fuzzy Query Database

Logika Fuzzy
· Titik awal dari konsep modern mengenai
ketidakpastian adalah paper yang dibuat oleh
Lofti A Zadeh, dimana Zadeh memperkenalkan
teori yang memiliki obyek-obyek dari himpunan
fuzzy yang memiliki batasan yang tidak presisi
dan keanggotaan dalam himpunan fuzzy, dan
bukan dalam bentuk logika benar (true) atau
salah (false), tapi dinyatakan dalam derajat
(degree).
· Konsep seperti ini disebut dengan Fuzziness
dan teorinya dinamakan Fuzzy Set Theory.
Fuzziness
· Dapat didefinisikan sebagai logika kabur
berkenaan dengan semantik dari suatu
kejadian, fenomena atau pernyataan itu
sendiri.
· Seringkali ditemui dalam pernyataan yang
dibuat oleh seseorang, evaluasi dan suatu
pengambilan keputusan
Contoh Fuzziness
· Manajer pergudangan mengatakan pada manajer
produksi seberapa banyak persediaan barang pada
akhir minggu ini, kemudian manajer produksi akan
menetapkan jumlah barang yang harus diproduksi
esok hari.
· Pelayan restoran memberikan pelayanan terhadap
tamu, kemudian tamu akan memberikan tip yang
sesuai atas baik tidaknya pelayanan yang diberikan.
· Anda mengatakan pada saya seberapa sejuk ruangan
yang anda inginkan, saya akan mengatur putaran
kipas yang ada pada ruangan ini.
Alasan mengapa menggunakan
logika fuzzy
· Konsep logika fuzzy mudah dimengerti. Konsep matematis yang
mendasari penalaran fuzzy sangat sederhana dan mudah
dimengerti.
· Logika fuzzy sangat fleksibel.
· Logika fuzzy memiliki toleransi terhadap data-data yang tidak
tepat.
· Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang
sangat kompleks.
· Logika fuzzy dapat membangun dan mengaplikasikan
pengalaman-pengalaman para pakar secara langsung tanpa
harus melalui proses pelatihan.
· Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali
secara konvensional.
· Logika fuzzy didasarkan pada bahasa alami.
Perbedaan Himpunan Fuzzy
dengan Himpunan Pasti (crisp)
· Pada himpunan pasti (crisp) nilai keanggotaan suatu item x dalam
suatu himpunan A, yang sering ditulis dengan µA[x], memiliki 2
kemungkinan, yaitu:
· Satu (1), yang berarti bahwa suatu item menjadi anggota dalam
suatu himpunan, atau
· Nol (0), yang berarti bahwa suatu item tidak menjadi anggota suatu
himpunan.
· Contoh :
· Misalkan variabel umur dibagi menjadi 3 kategori, yaitu:
· MUDA umur < 35 tahun
· PAROBAYA 35 > umur > 55 tahun
· TUA umur < 55 tahun
· Nilai keanggotaan secara grafis, himpunan MUDA, PAROBAYA,
dan TUA ini dapat dilihat pada gambar
µ[x]
0 35
0
1
Umur
(th)
Vu0A
µ[x]
0 35
0
1
Umur
(th)
55
PAR08AYA
µ[x]
0 55
0
1
Umur
(th)
TuA
Gambar 2.1 Himpunan MUDA,
PAROBAYA, dan TUA
Perbedaan Himpunan Fuzzy
dengan Himpunan Pasti (crisp)
· Himpunan fuzzy digunakan untuk mengantisipasi hal tersebut.
· Seseorang dapat masuk dalam 2 himpunan yang berbeda, MUDA
dan PAROBAYA, PAROBAYA dan TUA, dsb.
· Seberapa besar eksistensinya dalam himpunan tersebut dapat
dilihat pada nilai keanggotaan-nya.
· Pada Gambar 2.2, dapat dilihat bahwa:
· Seseorang yang berumur 40 tahun, termasuk dalam himpunan
MUDA dengan µMUDA[40]=0,25; namun dia juga termasuk dalam
himpunan PAROBAYA dengan µPAROBAYA[40]=0,5.
µ[x]
Gambar 2.2 Himpunan fuzzy untuk variabel umur
25 40
0
1
55
MUDA PAROBAYA TUA
35 45 65 50
0.5
0.25
Terminologi dalam dalam
Sistem Fuzzy
· Variable Fuzzy
÷ Variabel fuzzy merupakan variabel yang hendak dibahas
dalam suatu sistem fuzzy. Contoh: umur, temperatur,
permintaan, dsb.
· Himpunan Fuzzy
÷ Himpunan fuzzy merupakan suatu grup yang mewakili
suatu kondisi atau keadaan tertentu dalam suatu
variabel fuzzy.
÷ Contoh:
· Variabel umur, terbagi menjadi 3 himpunan fuzzy, yaitu:
MUDA, PAROBAYA, dan TUA.
· Variabel temperatur, terbagi menjadi 5 himpunan fuzzy,
yaitu: DÌNGÌN, SEJUK, NORMAL, HANGAT, dan PANAS
Terminologi dalam dalam
Sistem Fuzzy
÷ Himpunan fuzzy memiliki 2 atribut, yaitu:
· Linguistik, yaitu penamaan grup yang mewakili
suatu keadaan atau kondisi tertentu dengan
menggunakan bahasa alami, seperti: MUDA,
PAROBAYA, TUA.
· Numeris, yaitu suatu nilai (angka) yang
menunjukkan ukuran dari suatu variabel seperti:
40, 25, 50, dsb.
µ[x]
2
0
25
0
1
30
DÌNGÌN SEJUK NORMAL HANGAT PANAS
1
5
3
5
4
0
Gambar 2.3 Himpunan fuzzy pada variabel
temperatur
Terminologi dalam dalam
Sistem Fuzzy
· Semesta Pembicaraan
÷ Semesta pembicaraan adalah keseluruhan nilai yang
diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy.
÷ Contoh:
· Semesta pembicaraan untuk variabel umur: [0 +×].
· Semesta pembicaraan untuk variabel temperatur: [0 40].
· Domain
÷ Domain himpunan fuzzy adalah keseluruhan nilai yang
diijinkan dalam semesta pembicaraan dan boleh dioperasikan
dalam suatu himpunan fuzzy.
÷ Contoh domain himpunan fuzzy:
· MUDA = [0, 45]
· PAROBAYA = [35, 55]
· TUA = [45, +×]
Fungsi Keanggotaan
· Fungsi keanggotaan (membership
function) adalah suatu kurva yang
menunjukkan pemetaan titik-titik input data
ke dalam nilai keanggotaannya (sering
juga disebut dengan derajat keanggotaan)
yang memiliki interval antara 0 sampai 1.
· Salah satu cara yang dapat digunakan
untuk mendapatkan nilai keanggotaan
adalah dengan melalui pendekatan fungsi.
Representasi Linear Naik
· Kenaikan himpunan dimulai pada nilai
domain yang memiliki derajat
keanggotaan nol (0) bergerak ke kanan
menuju ke nilai domain yang memiliki
derajat keanggotaan lebih tinggi
a
b
0
1
derajat
keanggotaan
µ[x]
domain
Gambar 2.4 Representasi Linear Naik
Representasi Linear Turun
· Representasi linear turun merupakan
kebalikan dari linear naik.
derajat
keanggot
aan
µ[x]
a
b
0
1
domain
Gambar 2.5 Representasi Linear Turun
(b-x) / (b-a); a > x > b
0; x < b
1; x<a
µ[x] =
Representasi Kurva Segitiga
· Kurva segitiga pada dasarnya
merupakan gabungan antara 2 garis
linear
Gambar 2.6 Representasi Kurva Segitiga
domain
derajat
keanggotaan
µ[x]
a b
0
1
c
0; x > a atau x < c
(x-a) / (b-a); a > x > b
(c-x) / (c-b); b > x > c
µ[x] =
Representasi Kurva Trapesium
· Kurva trapesium pada dasarnya seperti
bentuk segitiga, hanya saja ada beberapa
titik yang memiliki nilai keanggotaan 1
derajat
keanggota
an
µ[x]
a b
0
1
domain
c d
Gambar 2.7 Representasi Kurva Trapesium
0; x > a atau x < d
(x-a) / (b-a); a > x > b
1; b > x > c
(d-x) / (d-c); c > x > d
µ[x] =
Representasi Kurva Bentuk Bahu
· Daerah yang terletak
di tengah-tengah suatu
variable yang
direpresentasikan
dalam bentuk segitiga,
pada sisi kanan dan
kirinya akan naik dan
turun (misalkan:
DÌNGÌN bergerak ke
SEJUK bergerak ke
HANGAT dan
bergerak ke PANAS)
Gambar 2.8 Daerah 'bahu' pada variabel Temperatur
Temperature
(°C)
derajat
keanggotaan
µ[x]
15
25
0
1
30
DÌNGÌN SEJUK NORMAL HANGAT
PANAS
Bahu
Kiri
Bahu
Kanan
20
35 4
0
Representasi Kurva-S
PERTUMBUHAN
· Kurva-S PERTUMBUHAN akan bergerak dari
sisi paling kiri dengan nilai keanggotaan nol (0)
ke sisi paling kanan dengan nilai keanggotaan
satu (1). Fungsi keanggotaannya akan bertumpu
pada 50% nilai keanggotaannya yang sering
disebut titik infleksi
Gambar 2.9 Karakteristik fungsi kurva-S:
PERTUMBUHAN
µ[x]
u þ
0
1
domain
v
0,
5
0; x < u
2((x-u) / (v-u))·; u < x < þ
1-2((v-x) / (v-u))·; þ < x < v
1; x < v
S(x;u.þ.v) ÷
Representasi Kurva-S
PENYUSUTAN
· Kurva-S PENYUSUTAN merupakan kebalikan
dari Kurva-S PERTUMBUHAN. Nilai
keanggotaannya akan bergerak dari sisi kiri
dengan nilai keanggotaan satu (1) ke sisi kanan
dengan nilai keanggotaan nol (0).
Gambar 2.10 Karakteristik fungsi kurva-
S: PENYUSUTAN
µ[x
]
domain
u þ
0
1
v
0,
5
1; x < u
1-2((x-u) / (v-u))·; u < x < þ
2((v-x) / (v-u))·; þ < x < v
0; x < v
S(x;u.þ.v) ÷
Kurva BETA
· Seperti halnya Kurva-¬,
kurva BETA juga
berbentuk lonceng
namun lebih rapat.
Kurva ini didefinisikan
dengan 2 parameter,
yaitu nilai pada domain
yang menunjukkan
pusat kurva (v), dan
setengah lebar kurva
(8).
Gambar 2.12 Karakteristik fungsi kurva BETA
µ[x]
0
1
0,5
Pusat / v
domain
Titik
Ìnfleksi
v ¹ þ
Titik
Ìnfleksi
v - þ
B(x;v.þ) ÷
1
1 +
x - v
þ
2
Operator Dasar Zadeh untuk
Operasi Himpunan Fuzzy
· Operator AND
÷ q-predikat sebagai hasil operasi dengan
operator AND diperoleh dengan mengambil
nilai keanggotaan terkecil antar elemen
pada himpunan-himpunan yang
bersangkutan.
÷ uAOB = min(uA[x], uB[y])
Operator Dasar Zadeh untuk
Operasi Himpunan Fuzzy
· Operator OR
÷ q-predikat sebagai hasil operasi dengan
operator OR diperoleh dengan mengambil
nilai keanggotaan terbesar antar elemen
pada himpunan-himpunan yang
bersangkutan.
÷ uAUB = max(uA[x], uB[y])
Operator Dasar Zadeh untuk
Operasi Himpunan Fuzzy
· Operator NOT
÷ Operator ini berhubungan dengan operasi
komplemen pada himpunan. q-predikat
sebagai hasil operasi dengan operator NOT
diperoleh dengan mengurangkan nilai
keanggotaan elemen pada himpunan yang
bersangkutan dari 1.
÷ uA' = 1-uA[x]
Contoh
· Misalkan nilai keanggotaan 27 tahun pada
himpunan MUDA adalah 0,6 (µMUDA[27]=0,6);
dan nilai keanggotaan Rp.2.000.000,- pada
himpunan penghasilan TÌNGGÌ adalah 0,8
(µGAJÌTÌNGGÌ[2000000]=0,8); maka:
· Nilai q÷predikat untuk usia MUDA dan
berpenghasilan TÌNGGÌ adalah:
· µMUDAiGAJÌTÌNGGÌ =
min(µMUDA[27], µGAJÌTÌNGGÌ[2000000])
= min(0,6;0,8) = 0,6
Contoh
· Nilai q÷predikat untuk usia MUDA atau
berpenghasilan TÌNGGÌ adalah:
µMUDAUGAJÌTÌNGGÌ =
max(µMUDA[27], µGAJÌTÌNGGÌ[2000000])
= max(0,6;0,8) = 0,8
· Nilai q÷predikat untuk usia TÌDAK MUDA
adalah:
µMUDA' = 1 - µMUDA[27] = 1 - 0,6 = 0,4
Mengimplementasikan Fuzziness
ke dalam Database
· Pada umumnya, ada dua cara untuk
memasukkan fuzziness dalam database,
yaitu:
1. Fuzzy Query Database.
2. Fuzzy Database.
Fuzzy Query Database
· Fuzzy query database adalah membuat suatu
fuzzy query terhadap database klasik.
· Artinya, kita membuat suatu aplikasi yang dapat
menangani suatu query dimana dalam query
tersebut terdapat variabel-variable yang bernilai
fuzzy atau dengan kata lain query tersebut
memiliki variabel-variabel linguistik.
· Sedangkan data pada database yang akan
diakses merupakan data yang crisp.
Fuzzy Query Database
· Data yang ada dalam database
· Fungsi keanggotaan umur
derajat
keanggotaa
n
µ[x]
14 17
0
1
umur
19
ANAK-ANAK ABG DEWASA
Gambar 2.15 Contoh fungsi
keanggotaan umur
Fuzzy Query Database
· Berdasarkan data dalam database dan fungsi
keanggotaan yang ada, maka salah satu contoh
fuzzy query-nya adalah:
SELECT NAMA FROM TABEL
WHERE UMUR = 'ABG' AND ABSENSÌ < 10
· Dari query diatas dapat kita temukan pada
statement WHERE terdapat variabel yang
memiliki nilai linguistik yaitu umur.
· Maka dari itu nilai yang akan keluar adalah nilai
derajat keanggotaan dari himpunan fuzzy ABG.
Fuzzy Database
· Fuzzy database adalah teknik untuk
memasukkan informasi fuzzy ke dalam
database. Maksudnya, kita memasukkan
informasi-informasi yang memiliki nilai
fuzzy kedalam database.
Fuzzy Database
· Kemudian masing-masing atribut Umur,
Persentasi, dan Absensi diberi fungsi
keanggotaan.
· Setelah melalui proses penghitungan nilai
derajat keanggotaan data pada field Umur,
Pelajaran, dan Absensi diberi nilai
linguistik.
· Hasilnya . next.
Fuzzy Database
Contoh Ìmplementasi
Fuzzy Query Database
· Fuzzy Query Database diimplementasikan untuk
rekomendasi penerima beasiswa.
· Query yang digunakan untuk memilih calon penerima
beasiswa adalah :
· Memiliki statement query sbb :
÷ IPK=baik AND absensi=baik OR pengOrtu=sedang AND
TOEFL=baik
· Sehingga penghitungan firestrenght-nya adalah
· Fire strenght =
Max(Min(uIPK_baik,uAbsensi_baik),Min(u
Peng_Ortu_sedang,TOEFL_baik))
· kemudian dari hasil fire strength diambil mahasiswa
yang BELUM PERNAH mendapat beasiswa.
Contoh Ìmplementasi
Fuzzy Query Database
· Sebagai contoh penghitungan kita ambil salah satu
mahasiswa, misalnya mahasiswa dengan nama Fulan.
Dari table Mu dapat kita lihat mahasiswa bernama Fulan
memiliki data sebagai berikut:
÷ Mu_ÌPK_baik = 0.7822
÷ Mu_Absensi_baik = 0.58677
÷ Mu_pengOrtu_sedang = 0
÷ Mu_TOEFL_baik = 0.2466
· Sehingga hasil fire strenght-nya:
· Fire strength=Max(Min(0.7822,0.58677),Min(0,0.2466))
= 0.58677

Sign up to vote on this title
UsefulNot useful