Anda di halaman 1dari 8

FUZZY DATABASE

Database adalah kumpulan dari data yang saling berhubungan satu dengan yang lainnya,
tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya.
Sedangkan sistem basis data (Database System)adalah suatu sistem informasi
yangmengintegrasikan kumpulan data yang saling berhubungan satu dengan yang lainnya dan
membuatnya tersedia untuk beberapa aplikasi dalam suatu organisasi (Kusumadewi, 2004).

NI Nama Tgl Lahir Th. Masuk Gaji/bl (Rp)


P
01 Lia 03-06-1972 1996 750.000
02 Iwan 23-09-1954 1985 1.500.000
03 Sari 12-12-1966 1988 1.255.000
04 Andi 06-03-1965 1998 1.040.000
05 Budi 04-12-1960 1990 950.000
06 Amir 18-11-1963 1989 1.600.000
07 Rian 28-05-1965 1997 1.250.000
08 Kiki 09-07-1971 2001 550.000
09 Alda 14-08-1967 1999 735.000
10 Yoga 17-09-1977 2000 860.000

Kemudian diolah menjadi suatu tabel temporer untuk menghitung umur


karyawan dan masa kerjanya.

NI Nama Umur (th) Masa Kerja Gaji/bl (Rp)


P (th)
01 Lia 39 15 750.000
02 Iwan 57 26 1.500.000
03 Sari 45 23 1.255.000
04 Andi 46 13 1.040.000
05 Budi 51 21 950.000
06 Amir 48 22 1.600.000
07 Rian 46 14 1.250.000
08 Kiki 41 10 550.000
09 Alda 44 12 735.000
10 Yoga 34 11 860.000
*Misal sekarang tahun 2011

Dengan menggunakan basis data standar, dapat dicari data-data karyawan dengan spesifikasi
tertentu dengan menggunakan query. Misalnya diinginkan informasi tentang nama-nama
karyawan yang usianya kurang dari 44 tahun, maka bisa diciptakan suatu query berikut:
SELECT NAMA
FROM KARYAWAN
WHERE (umur < 44)
Sehingga muncul nama-nama Lia, Kiki, dan Yoga.
Apabila diinginkan informasi tentang nama-nama karyawan yang gajinya lebih dari 1 juta
rupiah,maka bisa diciptakan query berikut:
SELECT NAMA
FROM KARYAWAN
WHERE (gaji > 1000000)
Sehingga muncul nama-nama iwan, Sari, Andi, Amir, dan Rian.
Apabila diinginkan informasi tentang nama-nama karyawan yang masa kerjanya kurang dari atau
sama dengan 14 tahun tetapi gajinya sudah lebih dari 1 juta rupiah, maka bisa diciptakan suatu
query:
SELECT NAMA
FROM KARYAWAN
WHERE MasaKerja<=14) and (Gaji > 1000000)
Sehingga muncul nama-nama Andi dan Rian.

==============================================
===============================

Pada kenyataannya, seseorang kadang membutuhkan informasi dari


data-data yang bersifat ambigu. Apabila hal ini terjadi, maka bisa diatasi
dengan menggunakan basisdata fuzzy. Salah satu diantaranya adalah model
Tahani. Basisdata fuzzy model Tahani ini masih menggunakan relasi standar,
hanya saja model ini menggunakan teori himpunan fuzzy untuk
mendapatkan informasi pada query-nya.

Penggunaan basisdata fuzzy diawali dengan membuat fungsi


keanggotaan untuk variabel umur, masa kerja, dan gaji .

1. Variabel Umur

Misal, dikategorikan usia karyawan ke dalam himpunan: MUDA, PAROBAYA,


dan TUA

- Himpunan fuzzy MUDA memiliki domain [39,49]

- Himpunan fuzzy PAROBAYA memiliki domain [44,59] dengan derajat


keanggotaan PAROBAYA tertinggi (=1) terletak pada nilai 54.

- Himpunan fuzzy TUA memiliki domain [49,59]


Fungsi Keanggotaan:

0; x≥ 49

µ MUDA[X] = 49-x/49-39; 39≤ x≤ 49

1; x≤ 39

0; x≤ 44 atau x≥ 59

µ PAROBAYA[X] = x-44/54-44; 44≤ x≤ 54

59-x/59-54; 54≤ x≤ 59

0; x≤ 49

µ =
TUA [X] x-49/59-49; 49≤ x≤ 59

1; x≥ 59

NI Nama Umur (th) Derajat Keanggotaan


P MUDA PAROBAYA TUA
01 Lia 39 1 0 0
02 Iwan 57 0 0,4 0,8
03 Sari 45 0,4 0,1 0
04 Andi 46 0,3 0,2 0
05 Budi 51 0 0,7 0,2
06 Amir 48 0,1 0,4 0
07 Rian 46 0,3 0,2 0
08 Kiki 41 0,8 0 0
09 Alda 44 0,5 0 0
10 Yoga 34 1 0 0

2. Variabel Masa Kerja

Misal, dikategorikan masa kerja karyawan ke dalam himpunan: BARU dan


LAMA
- Himpunan fuzzy BARU memiliki domain [14,24]

- Himpunan fuzzy LAMA memiliki domain [19,34]

Fungsi Keanggotaan

0; x≥ 24

µ BARU[X]= 24-x/24-14; 14≤ x≤ 24

1; x≤ 14

0; x≤ 19

µ =
LAMA[X] x-19/34-19; 19≤ x≤ 34

1; x≥ 34

NI Nama Masa Kerja Derajat Keanggotaan


P BARU LAMA
01 Lia 15 0,9 0
02 Iwan 26 0 0,46
03 Sari 23 0,1 0,26
04 Andi 13 1 0
05 Budi 21 0,3 0,13
06 Amir 22 0,2 0,2
07 Rian 14 1 0
08 Kiki 10 1 0
09 Alda 12 1 0
10 Yoga 11 1 0

3. Variabel Gaji

Misal, dikategorikan masa kerja karyawan ke dalam himpunan: RENDAH,


SEDANG dan TINGGI

- Himpunan fuzzy RENDAH memiliki domain [300,800]

- Himpunan fuzzy SEDANG memiliki domain [500,1500] dengan derajat


keanggotaan SEDANG tertinggi (=1) terletak pada nilai 1000.
- Himpunan fuzzy TINGGI memiliki domain [1000,2000]

Fungsi Keanggotaan:

0; x≥ 800

µ MUDA[X] = 800-x/800-300; 300≤ x≤ 800

1; x≤ 300

0; x≤ 500 atau x≥ 1500

µ PAROBAYA[X] = x-500/1000-500; 500≤ x≤ 1000

1500-x/1500-1000; 1000≤ x≤ 1500

0; x≤ 1000

µ =
TUA [X] x-1000/2000-1000; 1000≤ x≤ 2000

1; x≥ 2000

NI Nama Gaji Derajat Keanggotaan


P (x1000) RENDAH SEDANG TINGGI
01 Lia 750 0,1 0,5 0
02 Iwan 1.500 0 0 0,5
03 Sari 1.255 0 0,49 0,25
04 Andi 1.040 0 0,92 0,04
05 Budi 950 0 0,9 0
06 Amir 1.600 0 0 0,6
07 Rian 1.250 0 0,5 0,25
08 Kiki 550 0,5 0 0
09 Alda 735 0,13 0 0
10 Yoga 860 0 0 0
Query 1:

Siapa sajakah karyawan yang masih muda tapi memiliki gaji tinggi?

SELECT nama

FROM karyawan

WHERE (umur=”MUDA”) AND (gaji=”TINGGI”)

Hasil query 1 (sorting berdasarkan derajat keanggotaan):

NI Nama Umur Gaji Derajat Keanggotaan


P (x1000) MUDA TINGGI MUDA
dan
TINGGI
03 Sari 45 1.255 0,4 0,25 0,25
07 Rian 46 1.250 0,3 0,25 0,25
04 Andi 46 1.040 0,3 0,04 0,04
06 Amir 48 1.600 0,1 0,6 0,1
01 Lia 39 750 1 0 0
02 Iwan 57 1.500 0 0,5 0
05 Budi 51 950 0 0 0
08 Kiki 41 550 0,8 0 0
09 Alda 44 735 0,5 0 0
10 Yoga 34 860 1 0 0

Query 2:

Siapa sajakah karyawan yang masih muda atau karyawan yang memiliki gaji
tinggi?

SELECT nama

FROM karyawan

WHERE (umur=”MUDA”) OR (gaji=”TINGGI”)

Hasil query 2 (sorting berdasarkan derajat keanggotaan):

NI Nama Umur Gaji Derajat Keanggotaan


P (x1000) MUDA TINGGI MUDA
atau
TINGGI
01 Lia 39 750 1 0 1
10 Yoga 34 860 1 0 1
08 Kiki 41 550 0,8 0 0,8
06 Amir 48 1.600 0,1 0,6 0,6
02 Iwan 57 1.500 0 0,5 0,5
09 Alda 44 735 0,5 0 0,5
03 Sari 45 1.255 0,4 0,25 0,4
04 Andi 46 1.040 0,3 0,04 0,3
07 Rian 46 1.250 0,3 0,25 0,3
05 Budi 51 950 0 0 0

Query 3:

Siapa sajakah karyawan yang masih muda tapi masa kerjanya sudah lama?

SELECT nama

FROM karyawan

WHERE (umur=”MUDA”) AND (masakerja=”LAMA”)

Hasil query 3 (sorting berdasarkan derajat keanggotaan):

NI Nama Umur Masa Derajat Keanggotaan


P Kerja MUDA LAMA MUDA
dan
LAMA
03 Sari 45 23 0,4 0,26 0,26
06 Amir 48 22 0,1 0,2 0,1
01 Lia 39 15 1 0 0
02 Iwan 57 26 0 0,46 0
04 Andi 46 13 0,3 0 0
05 Budi 51 21 0 0,13 0
07 Rian 46 14 0,3 0 0
08 Kiki 41 10 0,8 0 0
09 Alda 44 12 0,5 0 0
10 Yoga 34 11 1 0 0

Query 4:

Siapa sajakah karyawan yang parobaya dan gajinya sedang, atau karyawan
yang parobaya tapi masa kerjanya sudah lama?

SELECT nama
FROM karyawan

WHERE (umur=”PAROBAYA”) AND (gaji=”SEDANG” or masakerja=”LAMA”)

Hasil query 4 (sorting berdasarkan derajat keanggotaan):

NI Nama Derajat Keanggotaan


P SEDAN LAMA SEDANG PAROBAY PAROBA
G atau A YA DAN
LAMA (SEDAN
G atau
LAMA)
05 Budi 0,9 0,13 0,9 0,7 0,7
02 Iwan 0 0,46 0,46 0,4 0,4
04 Andi 0,92 0 0,92 0,2 0,2
06 Amir 0 0,2 0,2 0,4 0,2
07 Rian 0,5 0 0,5 0,2 0,2
03 Sari 0,49 0,26 0,49 0,1 0,1
01 Lia 0,5 0 0,5 0 0
08 Kiki 0 0 0 0 0
09 Alda 0 0 0 0 0
10 Yoga 0 0 0 0 0

Anda mungkin juga menyukai