BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Masalah
Pada database standar, data diklasifikasikan berdasarkan bagaimana data tersebut
dipandang oleh pengguna. Oleh karena itu pada database standar, data yang
ditampilkan akan keluar seperti data yang telah disimpan. Namun kenyataannya, seseorang kadang membutuhkan informasi dari data-data yang bersifat ambiguous.
Sistem yang dibuat pada studi kasus pemilihan spesifikasi komputer ini, ditujukan untuk menangani pencarian spesifikasi paket komputer lengkap yang sesuai dengan kriteria-kriteria dari konsumen. Dari data-data spesifikasi komputer yang ada, maka digunakan untuk melakukan pencarian, paket komputer seperti apakah yang sesuai dengan kriteria-kriteria yang diinginkan konsumen.
Misalkan terdapat sebuah data komputer yang tersimpan pada tabel Data Komputer dengan field kode_produk, merek, type prosesor, harga,
kecepatan_prosesor, kapasitas_memori, kapasitas_harddisk, ukuran_vga, ukuran monitor, dan kapasitas power supply seperti pada tabel 3.1.
Pada tabel tersebut terdapat tujuh buah variabel fuzzy yaitu Harga,
Kecepatan Prosesor, Kapasitas Memori, Kapasitas Harddisk, Ukuran VGA, Ukuran
Monitor, dan Kapasitas Power Supply. Masing-masing variabel tersebut akan
ditentukan bentuk himpunannya serta dihitung fungsi keanggotaannya.
Tabel 3.1 Tabel Data Komputer Kode_
Produk Merek Type_Prosesor Harga Kecepatan_ Prosesor Kapasitas_ Memori Kapasitas_ Harddisk 001 OM 1221i Intel pentium 4 Rp 2. 200.200 2.8 GHz 1 GB 80 GB 002 OM 2202i Intel core duo Rp 2.541.700 1.8 GHz 1 GB 250 GB 003 OM 2232i Intel core duo Rp 2.729.700 2.2 GHz 1 GB 250 GB 004 OM 4312i Intel core 2 duo Rp 3.626.300 2.93 GHz 2 GB 250 GB
005 OM 4332i Intel core 2 duo Rp 3.708.300 2.93 GHz 2 GB 250 GB 006 MW 9112iG Intel core i3 Rp 3.083.700 3.06 GHz 2 GB 250 GB 007 MW 9312iG Intel core i3 Rp 4.354.300 3.06 GHz 2 GB 500 GB 008 MW 8313iG Intel core2Quad Rp 5.026.300 2.33 GHz 2 GB 500 GB 009 MW 4202a AMD Athlon II Rp 2.603.700 3.0 GHz 1 GB 250 GB 010 MW 8313a AMD PhenomII Rp 4.349. 300 3.20 GHz 4 GB 500 GB
Kode_
Produk Merek Type Prosesor Harga
Ukuran_ VGA Ukuran_ Monitor Kapasitas_ PS 001 OM 1221i Intel pentium 4 Rp 2. 200.200 256 MB 15.6” 400 w 002 OM 2202i Intel core duo Rp 2.541.700 256 MB 15.6“ 400 w 003 OM 2232i Intel core duo Rp 2.729.700 256 MB 15.6” 400 w 004 OM 4312i Intel core 2 duo Rp 3.626.300 256 MB 18.5” 400 w 005 OM 4332i Intel core 2 duo Rp 3.708.300 256 MB 18.5” 400 w 006 MW 9112iG Intel core i3 Rp 3.083.700 512 MB 15.6” 400 w 007 MW 9312iG Intel core i3 Rp 4.354.300 512 MB 18.5” 400 w
008 MW 8313iG Intel core2Quad Rp 5.026.300 512 MB 18.5” 500 w 009 MW 4202a AMD Athlon II Rp 2.603.700 512 MB 15.6” 400 w 010 MW 8313a AMD PhenomII Rp 4.349. 300 128 MB 18.5” 500 w
1. Variabel Harga
Variabel harga bisa dikategorikan ke dalam tiga himpunan yaitu: MURAH, SEDANG, dan MAHAL (Gambar 3.1)
Gambar 3.1 Fungsi Keanggotaan Untuk Variabel Harga
Fungsi keanggotaan untuk masing-masing himpunan adalah: µMURAH [x1] = 1 x1 ≤ 2 [ 1.5 2 2.5 3 4 5 6 7 0 0.5 1
MURAH SEDANG MAHAL
(juta rupiah)
; 2 ≤ x1 ≤ 3
3 - x1
0 x1 ≥3 µSEDANG [x1] = 1 x1= 4 0 x1 ≥ 6 atau x1 ≤ 2 µMAHAL [x1] = 1 x1 ≥ 6 0 x1 ≤ 6
Tabel 3.2 berikut menunjukkan tabel data komputer berdasarkan harga dan derajat keanggotaannya pada setiap himpunan.
Tabel 3.2 Tabel Derajat Keanggotaan pada Variabel Harga Kode_
Produk Merek Type Prosesor
Derajat Keanggotaan
MURAH SEDANG MAHAL
001 OM 1221i Intel pentium 4 0.8 0.1 0
002 OM 2202i Intel core duo 0.5 0.25 0
003 OM 2232i Intel core duo 0.3 0.35 0
004 OM 4312i Intel core 2 duo 0 0.8 0
005 OM 4332i Intel core 2 duo 0 0.85 0
006 MW 9112iG Intel core i3 0 0.55 0
007 MW 9312iG Intel core i3 0 0.85 0
008 MW 8313iG Intel core2Quad 0 0.49 0.02
009 MW 4202a AMD Athlon II 0.4 0.3 0
010 MW 8313a AMD PhenomII 0 0.83 0
2. Variabel Kecepatan Prosesor
Variabel kecepatan prosesor dibagi menjadi tiga himpunan fuzzy, yaitu lambat, sedang dan cepat. Himpunan lambat dan cepat menggunakan pendekatan fungsi
keanggotaan yang berbentuk bahu, sedangkan himpunan sedang menggunakan
pendekatan fungsi keanggotaan berbentuk segitiga. ; 2 ≤ x1 ≤ 4 ; 5 ≤ x1 ≤ 6 ; 4 ≤ x1 ≤ 6 x1- 2 2 6- x1 2 x1– 5 1 1
Gambar 3.2 Fungsi Keanggotaan Untuk Variabel Kecepatan Prosesor
µLAMBAT [x2] = 1 x2 ≤ 1.8 0 x2 ≥2.4 µSEDANG [x2] = 1 x2 = 2.6
0 x2 ≥ 3 atau x2 ≤ 2.0 µCEPAT [x2] = 1 x2 ≥ 3 0 x2 ≤ 2.8
Tabel 3.3 berikut menunjukkan tabel data komputer berdasarkan kecepatan prosesor dan derajat keanggotaannya pada setiap himpunan.
Tabel 3.3 Tabel Derajat Keanggotaan pada Variabel Kecepatan Prosesor Kode_
Produk Merek Type Prosesor
Derajat Keanggotaan
LAMBAT SEDANG CEPAT
001 OM 1221i Intel pentium 4 0 0.5 0
002 OM 2202i Intel core duo 1 0 0
003 OM 2232i Intel core duo 0.33 0 0
004 OM 4312i Intel core 2 duo 0 0.175 0.65
005 OM 4332i Intel core 2 duo 0 0.175 0.65
006 MW 9112iG Intel core i3 0 0 1
007 MW 9312iG Intel core i3 0 0 1
008 MW 8313iG Intel core2Quad 0.16 0.5 0
009 MW 4202a AMD Athlon II 0 0 1
1.8 2.4 2.6 2.8 3 ; 1.8 ≤ x2 ≤ 2.4 ; 2.0 ≤ x2 ≤ 2.6 ; 2.8≤ x2 ≤ 3 ; 2.6 ≤ x2 ≤ 3 2.4 – x2 0.6 x2– 2.0 0.6 3 – x2 0.4 x2– 2.8 0.2
010 MW 8313a AMD PhenomII 0 0 1
3. Kapasitas Memori
Variabel kapasitas memory dibagi menjadi tiga himpunan fuzzy, yaitu KECIL,
SEDANG dan BESAR. Himpunan KECIL dan BESAR menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan himpunan SEDANG menggunakan pendekatan fungsi keanggotaan berbentuk segitiga.
Gambar 3.3 Fungsi Keanggotaan Untuk Variabel Kapasitas Memori
µKECIL [x3] = 1 x3 ≤ 1 0 x3 ≥2 µSEDANG [x3] = 1 x3 = 2
0 x3 ≥ 3 atau x3≤ 1 µBESAR [x3] = 1 x3 ≥ 3 0 x3 ≤ 2
Tabel 3.4 berikut menunjukkan tabel data komputer berdasarkan kapasitas memori dan derajat keanggotaannya pada setiap himpunan.
Tabel 3.4 Tabel Derajat Keanggotaan pada Variabel Kapasitas Memori Kode_
Produk Merek Type Prosesor KECIL SEDANG BESAR Derajat Keanggotaan
1 2 3
0 0.5 1
KECIL SEDANG BESAR
GB ; 1 ≤ x3 ≤ 2 ; 1≤ x3 ≤ 2 ; 2 ≤ x3 ≤ 3 ; 1≤ x3 ≤ 3 2 – x3 1 x3– 1 1 3 – x3 2 x3– 2 1
001 OM 1221i Intel pentium 4 1 0 0
002 OM 2202i Intel core duo 1 0 0
003 OM 2232i Intel core duo 1 0 0
004 OM 4312i Intel core 2 duo 0 1 0
005 OM 4332i Intel core 2 duo 0 1 0
006 MW 9112iG Intel core i3 0 1 0
007 MW 9312iG Intel core i3 0 1 0
008 MW 8313iG Intel core2Quad 0 1 0
009 MW 4202a AMD Athlon II 1 0 0
010 MW 8313a AMD PhenomII 0 0 1
4. Variabel Kapasitas Harddisk
Variabel kapasitas harddisk dibagi menjadi tiga himpunan fuzzy, yaitu KECIL,
SEDANG dan BESAR. Himpunan KECIL dan BESAR menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan himpunan SEDANG menggunakan pendekatan fungsi keanggotaan berbentuk segitiga.
Gambar 3.4 Fungsi Keanggotaan Untuk Kapasitas Harddisk
µKECIL [x4] = 1 x4 ≤ 40 0 x4 ≥160 µSEDANG [x4] = 1 x4 = 160
0 x4 ≥ 400 atau x4 ≤ 40 µBESAR [x4] = 1 x4 ≥ 400 40 160 400 0 0.5 1
KECIL SEDANG BESAR
GB ; 40 ≤ x4 ≤ 160 ; 40≤ x4 ≤ 160 ; 160 ≤ x4 ≤ 400 160 – x4 120 x4– 40 120 400 – x4 240
0 x4 ≤ 400
Tabel 3.5 berikut menunjukkan tabel data komputer berdasarkan kapasitas harddisk
dan derajat keanggotaannya pada setiap himpunan.
Tabel 3.5 Tabel Derajat Keanggotaan pada Variabel Kapasitas Harddisk Kode_
Produk Merek Type Prosesor KECIL SEDANG BESAR Derajat Keanggotaan 001 OM 1221i Intel pentium 4 0.66 0.33 0
002 OM 2202i Intel core duo 0 0.625 0.375 003 OM 2232i Intel core duo 0 0.625 0.375 004 OM 4312i Intel core 2 duo 0 0.625 0.375
005 OM 4332i Intel core 2 duo 0 0.625 0.375
006 MW 9112iG Intel core i3 0 0.625 0.375
007 MW 9312iG Intel core i3 0 0 1
008 MW 8313iG Intel core2Quad 0 0 1
009 MW 4202a AMD Athlon II 0 0.625 0.375
010 MW 8313a AMD PhenomII 0 0 1
5. Variabel Ukuran VGA
Variabel ukuran VGA dibagi menjadi tiga himpunan fuzzy, yaitu KECIL, SEDANG
dan BESAR. Himpunan KECIL dan BESAR menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan himpunan SEDANG menggunakan pendekatan fungsi keanggotaan berbentuk segitiga.
Gambar 3.5 Fungsi Keanggotaan Untuk Ukuran VGA
µKECIL [x5] = 1 x5 ≤ 256 ; 160 ≤ x4 ≤ 400 256 512 1024 0 0.5 1
KECIL SEDANG BESAR
MB
; 256 ≤ x5 ≤ 512
512 – x5
0 x5 ≥512 µSEDANG [x5] = 1 x5 = 512
0 x5 ≥ 1024 atau x5 ≤ 256 µBESAR [x5] = 1 x5 ≥ 1024 0 x5 ≤ 1024
Tabel 3.6 berikut menunjukkan tabel data komputer berdasarkan ukuran VGA dan derajat keanggotaannya pada setiap himpunan.
Tabel 3.6 Tabel Derajat Keanggotaan pada Variabel Ukuran VGA Kode_
Produk Merek Type Prosesor KECIL SEDANG BESAR Derajat Keanggotaan
001 OM 1221i Intel pentium 4 1 0 0
002 OM 2202i Intel core duo 1 0 0
003 OM 2232i Intel core duo 1 0 0
004 OM 4312i Intel core 2 duo 1 0 0
005 OM 4332i Intel core 2 duo 1 0 0
006 MW 9112iG Intel core i3 0 1 0
007 MW 9312iG Intel core i3 0 1 0
008 MW 8313iG Intel core2Quad 0 1 0
009 MW 4202a AMD Athlon II 0 1 0
010 MW 8313a AMD PhenomII 1 0 0
6. Variabel Ukuran Monitor
Variabel ukuran monitor dibagi menjadi tiga himpunan fuzzy, yaitu KECIL,
SEDANG dan BESAR. Himpunan KECIL dan BESAR menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan himpunan SEDANG menggunakan pendekatan fungsi keanggotaan berbentuk segitiga.
; 256≤ x5 ≤ 512 ; 512 ≤ x5 ≤ 1024 ; 512 ≤ x5 ≤ 1024 x5– 256 256 1024 – x5 512 x5 – 512 256 0.5 1
Gambar 3.6 Fungsi Keanggotaan Untuk Ukuran Monitor µKECIL [x6] = 1 x6 ≤ 15.5 0 x6 ≥ 18.5 µSEDANG [x6] = 1 x6 = 18.5
0 x6 ≥ 21.5 atau x6 ≤ 15.5 µBESAR [x6] = 1 x6 ≥ 21.5 0 x6 ≤ 21.5
Tabel 3.7 berikut menunjukkan tabel data komputer berdasarkan ukuran monitor dan derajat keanggotaannya pada setiap himpunan.
Tabel 3.7 Tabel Derajat Keanggotaan pada Variabel Ukuran Monitor Kode_
Produk Merek Type Prosesor
Derajat Keanggotaan
KECIL SEDANG BESAR 001 OM 1221i Intel pentium 4 0.96 0.03 0
002 OM 2202i Intel core duo 0.96 0.03 0
003 OM 2232i Intel core duo 0.96 0.03 0
004 OM 4312i Intel core 2 duo 0 1 0
005 OM 4332i Intel core 2 duo 0 1 0
006 MW 9112iG Intel core i3 0.96 0.03 0
007 MW 9312iG Intel core i3 0 1 0
008 MW 8313iG Intel core2Quad 0 1 0
009 MW 4202a AMD Athlon II 0.96 0.03 0
010 MW 8313a AMD PhenomII 0 1 0
7. Variabel Kapasitas Power Supply
15.5 18.5 21.5 0 Inch ; 15.5 ≤ x6 ≤ 18.5 ; 15.5≤ x6 ≤ 18.5 ; 18.5 ≤ x6 ≤ 21.5 ; 18.5 ≤ x6 ≤ 21.5 18.5 – x6 3 x6– 15.5 3 21.5 – x6 3 x6 – 18.5 3
Variabel kapasitas power supply dibagi menjadi tiga himpunan fuzzy, yaitu KECIL,
SEDANG dan BESAR. Himpunan KECIL dan BESAR menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan himpunan SEDANG menggunakan pendekatan fungsi keanggotaan berbentuk segitiga.
Gambar 3.7 Fungsi Keanggotaan Untuk Kapasitas Power Supply
µKECIL [x7] = 1 x7 ≤ 400 0 x7 ≥ 500 µSEDANG [x7] = 1 x7 = 500
0 x7 ≥ 600 atau x7 ≤ 400 µBESAR [x7] = 1 x7 ≥ 600 0 x7 ≤ 600
Tabel 3.8 berikut menunjukkan tabel data komputer berdasarkan kapasitas power supply dan derajat keanggotaannya pada setiap himpunan.
Tabel 3.8 Tabel Derajat Keanggotaan pada Variabel Kapasitas Power Supply Kode_
Produk Merek Type Prosesor KECIL SEDANG BESAR Derajat Keanggotaan
001 OM 1221i Intel pentium 4 1 0 0
002 OM 2202i Intel core duo 1 0 0
003 OM 2232i Intel core duo 1 0 0
004 OM 4312i Intel core 2 duo 1 0 0
005 OM 4332i Intel core 2 duo 1 0 0
400 500 600
0 0.5 1
KECIL SEDANG BESAR
Watt ; 400 ≤ x7 ≤ 500 ; 400≤ x7 ≤ 500 ; 500 ≤ x7 ≤ 600 ; 500 ≤ x7 ≤ 600 500 – x7 100 x7– 400 100 600 – x7 100 x7 – 500 100
006 MW 9112iG Intel core i3 1 0 0
007 MW 9312iG Intel core i3 1 0 0
008 MW 8313iG Intel core2Quad 0 1 0
009 MW 4202a AMD Athlon II 1 0 0
010 MW 8313a AMD PhenomII 0 1 0
Berdasarkan himpunan yang telah didefinisikan di atas, ada beberapa query yang
bisa diberikan seperti berikut:
1. Komputer manakah yang mempunyai HARGA yang SEDANG dan KECEPATAN PROSESOR yang CEPAT?
Maka statement query yang tepat adalah SELECT Kode_Produk, Merek, Type FROM Data_Komputer
WHERE (HARGA = ‘SEDANG’) and (KECEPATAN PROSESOR = ‘CEPAT’)
Tabel 3.9 menunjukkan hasil query, yaitu daftar komputer yang memiliki kecepatan
prosesor tapi mempunyai harga yang sedang.
Tabel 3.9 Tabel Hasil Query 1 Kode_
Produk Merek Type Prosesor
Derajat Keanggotaan Fire Strength Nilai Sedang Cepat Sedang & Cepat
001 OM 1221i Intel pentium 4 0.1 0 0
002 OM 2202i Intel core duo 0.25 0 0
003 OM 2232i Intel core duo 0.35 0 0
004 OM 4312i Intel core 2 duo 0.8 0.65 0.65
005 OM 4332i Intel core 2 duo 0.85 0.65 0.65
006 MW 9112iG Intel core i3 0.55 1 0.55
007 MW 9312iG Intel core i3 0.85 1 0.85
008 MW 8313iG Intel core2Quad 0.49 0 0
009 MW 4202a AMD Athlon II 0.3 1 0.3
Setelah nilai fire strength didapat maka seluruh record pada tabel tersebut
diurutkan berdasarkan nilai fire strength-nya dari yang terbesar hingga yang
terkecil. Urutan teratas berarti produk itulah yang paling direkomendasikan oleh sistem kepada pelanggan. Makin ke bawah nilai rekomendasinya makin menurun hingga mencapai nilai nol. Maka statement query ditambahi dengan :
Maka statement query yang tepat adalah
SELECT Kode_Produk, Merek, Type FROM Data_Komputer
WHERE (HARGA = ‘SEDANG’) and (KECEPATAN PROSESOR = ‘CEPAT’) ORDER BY nilai_fire strength DESC
Tabel 3.10 Tabel Hasil Query1 setelah diurutkan Kode_
Produk Merek Type Prosesor
Derajat Keanggotaan Fire Strength Nilai Sedang Cepat Sedang & Cepat 007 MW 9312iG Intel core i3 0.85 1 0.85
010 MW 8313a AMD PhenomII 0.83 1 0.83
005 OM 4332i Intel core 2 duo 0.85 0.65 0.65 004 OM 4312i Intel core 2 duo 0.8 0.65 0.65 006 MW 9112iG Intel core i3 0.55 1 0.55
009 MW 4202a AMD Athlon II 0.3 1 0.3
008 MW 8313iG Intel core2Quad 0.49 0 0
003 OM 2232i Intel core duo 0.35 0 0
002 OM 2202i Intel core duo 0.25 0 0
001 OM 1221i Intel pentium 4 0.1 0 0
Nilai fire strength didapat dengan membandingkan nilai derajat keanggotaan variabel HARGA pada himpunan ‘SEDANG’ dengan variabel KECEPATAN PROSESOR pada himpunan ‘CEPAT’. Karena operasi menggunakan operator AND, maka nilai fire strength yang diambil adalah nilai tertinggi.
2. Misalkan seorang pelanggan menginginkan sebuah komputer dengan HARGA yang ‘MURAH’, KECEPATAN PROSESOR yang ‘CEPAT’, dan
KAPASITAS HARDDISK yang ‘BESAR’ Maka statement query yang tepat adalah
SELECT Kode_Produk, Merek, Type FROM Data_Komputer
WHERE (HARGA =’MURAH’) and ( KECEPATAN PROSESOR = ‘CEPAT’) and (KAPASITAS HARDDISK = ‘BESAR’)
Tabel 3.11 menunjukkan hasil query, yaitu daftar komputer yang memiliki
kecepatan prosesor yang cepat dan kapasitas harddisk yang besar dengan harga
yang murah.
Tabel 3.11 Tabel Hasil Query 2 Kode _Prod uk Merek Type Derajat Keanggotaan Nilai Fire strength MURAH CEPAT BESAR
001 OM 1221i Intel pentium 4 0.8 0 0 0 002 OM 2202i Intel core duo 0.5 0 0.375 0 003 OM 2232i Intel core duo 0.3 0 0.375 0 004 OM 4312i Intel core 2 duo 0 0.65 0.375 0
005 OM 4332i Intel core 2 duo 0 0.65 0.375 0
006 MW 9112iG Intel core i3 0 1 0.375 0
007 MW 9312iG Intel core i3 0 1 1 0
008 MW 8313iG Intel core2Quad 0 0 1 0
009 MW 4202a AMD Athlon II 0.4 1 0.375 0.375
010 MW 8313a AMD PhenomII 0 1 1 0
Tabel 3.12 menunjukkan daftar rekomendasi dengan urutan paling tertinggi sampai ke yang paling rendah.
Kode _Prod uk Merek Type Derajat Keanggotaan Nilai Fire strength MURAH CEPAT BESAR
009 MW 4202a AMD Athlon II 0.4 1 0.375 0.375 001 OM 1221i Intel pentium 4 0.8 0 0 0 002 OM 2202i Intel core duo 0.5 0 0.375 0 003 OM 2232i Intel core duo 0.3 0 0.375 0 004 OM 4312i Intel core 2 duo 0 0.65 0.375 0 005 OM 4332i Intel core 2 duo 0 0.65 0.375 0 006 MW 9112iG Intel core i3 0 1 0.375 0
007 MW 9312iG Intel core i3 0 1 1 0
008 MW 8313iG Intel core2Quad 0 0 1 0
010 MW 8313a AMD PhenomII 0 1 1 0
Nilai fire strength didapat dengan membandingkan nilai derajat keanggotaan
variabel HARGA pada himpunan ‘MURAH’ dengan variabel KECEPATAN PROSESOR pada himpunan ‘CEPAT’ dan variabel KAPASITAS HARDDISK pada himpunan ‘BESAR’. Karena operasi menggunakan operator AND, maka nilai
fire strength yang diambil adalah nilai terendah. Mula-mula nilai keanggotaan pada
himpunan ‘MURAH’ dan ‘CEPAT’ dibandingkan terlebih dahulu. Hasil operasi akan disimpan pada tabel konversi yang selanjutnya akan dioperasikan lagi dengan nilai keanggotaan himpunan ‘BESAR’. Hasil akhir pengoperasian ini akan ditampilkan pada tabel hasil.
3.2 Analisis Kebutuhan Sistem
3.2.1 Kebutuhan Input
Kebutuhan input pada sistem ini digolongkan menjadi dua bagian input, yaitu input fuzzy dan input non fuzzy.
Data-data spesifikasi komputer yang menyangkut kecepatan prosesor, ukuran memory, kapasitas Harddisk, ukuran VGA, ukuran monitor, kapasitas power supply, dan harga.
Batas bawah (parameter 1 untuk semua bentuk fungsi), batas atas (parameter 2 untuk fungsi berbentuk bahu dan parameter 3 untuk fungsi segitiga), dan nilai tengah (parameter 2 untuk fungsi segitiga) untuk variabel-variabel diatas.
2. Input non fuzzy, terdiri dari data-data spesifikasi komputer yang menyangkut
merek dan kecocokan antara spesifikasi yang satu dengan yang lain.
3.2.2 Proses Logika Fuzzy Pada Sistem
Pada sistem ini proses fuzzy meliputi:
1. Pengambilan nilai input fuzzy ataupun non fuzzy dari dalam database, sesuai
dengan keterangan yang disebutkan oleh pembeli.
2. Proses fuzzifikasi dari data input, dengan menggunakan rumus fungsi
keanggotaan kurva bahu dan kurva segitiga.
3. Proses logika pengambilan keputusan melalui pembentukan query.
4. Menampilkan hasil rekomendasi sesuai dengan kriteria yang disebutkan oleh pengguna.
3.2.3 Kebutuhan Output
Output atau keluaran dari sistem ini adalah berupa daftar rekomendasi komputer
sesuai dengan kriteria yang diinginkan oleh para pelanggan berdasarkan nilai fire strength-nya. Rekomendasi teratas adalah komputer dengan nilai fire strength
tertinggi yang menunjukkan bahwa komputer tersebut yang paling mendekati kriteria yang diinginkan oleh pelanggan.
3.3. Perancangan Sistem 3.3.1 Diagram Arus Data
Diagram arus data merupakan model dari sistem untuk menggambarkan pembagian sistem ke modul yang lebih kecil.
1. Diagram Konteks
Diagram konteks adalah diagram yang terdiri dari suatu proses dan menggambarkan ruang lingkup suatu sistem. Diagram konteks merupakan level tertinggi dari DFD yang menggambarkan seluruh input ke sistem atau output dari sistem. Berikut adalah diagram konteks pada sistem penentuan spesifikasi komputer.
Gambar 3.8 Diagram Konteks Sistem
Pada gambar di atas terdapat dua entitas luar yang berhubungan dengan sistem, yaitu:
1. Administrator, yaitu pihak yang menginput data komputer dan memberikan definisi terhadap variabel dan himpunan yang akan dibentuk serta menentukan interval dan batas-batasnya.
2. Pengguna, yaitu pegawai yang mengoperasikan aplikasi dan memasukkan query
sesuai dengan permintaan pelanggan.
Data-data komputer di-input-kan ke dalam sistem. Kemudian Administrator
akan menentukan jumlah variabel, jumlah dan bentuk himpunan pada masing-masing variabel, menentukan batas atas, bawah dan titik tengah serta interval domain di setiap himpunan. Entitas pengguna akan melakukan query atau
permintaan rekomendasi kepada sistem. Hasil atau output yang diharapkan adalah
daftar rekomendasi komputer dengan nilai rekomendasi (fire strength) dari yang
tertinggi hingga terendah.
2. Diagram Level 1
Diagram level 1 adalah diagram yang menggambarkan proses dari dataflow diagram. Diagram level 1 memberikan pandangan secara menyeluruh mengenai
data_variabel SPK P.0 Fuzzy Komputer PENGGUNA ADMINISTRATOR data_komputer query_fuzzy hasil rekomendasi
sistem yang ditangani, menunjukkan fungsi-fungsi utama atau proses yang ada, aliran data, dan eksternal entitas. Diagram level 1 secara garis besar ditunjukkan oleh Gambar 3.6 berikut,
Gambar 3.9 Diagram Level 1
Dari gambar di atas terdapat tiga buah proses yang terjadi, yaitu proses input data variabel, proses input dan konversi data komputer dan proses fuzzy set.
a. Proses input data variabel.
Pada proses ini dilakukan penginputan terhadap data-data komputer ke dalam
database. Data-data yang dimasukkan akan disimpan ke dalam Tabel all kriteria.
b. Proses input dan koneversi data komputer.
Entitas Administrator akan memasukkan data komputer yang tersimpan di database data komputer sekaligus mengkonversi data tersebut kemudian dimasukkan ke dalam database data konversi.
c. Proses Fuzzy Set.
Entitas pengguna memasukkan query berdasarkan kriteria yang diinginkan oleh
pelanggan. Pada tahap ini sistem akan melakukan analisa terhadap query yang
diterima, penghitungan derajat keanggotaan dan penghitungan nilai fire strength
dengan memanggil kembali data komputer, data konversi, serta data variabel all_kriteria data_komputer_konversi P3 Fuzzy Set data_komputer data_variabel Pengguna prioritas_komputer query_fuzzy
Administrator P1 Input data variabel data_variabel data_variabel data_komputer P2 Input dan konversi data komputer data_komputer data_komputer data_konversi data_komputer_konversi data_variabel
untuk di hitung. Output dari proses ini berupa Tabel Hasil yang berisikan daftar rekomendasi paket komputer.
3. Diagram Level 2
Gambar 3.10 Diagram Arus Data Level 2
Pada level 2 terdapat tiga proses yaitu: proses input jenis variabel dan himpunan, proses input data komputer serta konversi data komputer dan input fuzzy set dan
urutkan prioritas.
1. Proses input jenis variabel dan himpunan.
Pada proses ini entitas administrator akan mendeklarasikan variabel dan mendefinisikan himpunan yang ada pada masing-masing variabel. Administrator juga dapat menambah, menghapus dan mengedit data-data variabel dan himpunan. Setelah himpunan didefinisikan pada masing-masing variabel, maka
data_komputer Administrator
P.1.1 Input jenis
variabel
data_variabel type_himpunan Input type P.1.2 himpunan P.1.3 Input nilai himpunan himpunan data_variabel all kriteria data_komputer data_variabel data_konversi data_variabel query_fuzzy Pengguna prioritas_data_komputer P.3.1 Input fuzzy Set P.3.2 Urutkan prioritas nilai_fuzzy_ merek data_komputer _konversi P.2.2 Konversi data komputer P.2.1 Input data komputer
data_komputer data_komputer _konversi data_komputer
himpunan tersebut akan diberi nilai batasan sesuai dengan bentuk kurva yang telah ditentukan. Hasil proses ini kemudian disimpan dalam tabel all kriteria. 2. Proses input data komputer dan konversi data komputer.
Administrator memasukkan data komputer ke dalam tabel data komputer. Kemudian, data komputer tersebut dikonversi dengan batas variabel dan himpunan yang telah disimpan ke dalam tabel all kriteria kemudian memasukkannya ke dalam tabel data konversi.
3. Proses input fuzzy set dan urutkan prioritas.
Pada proses ini, pengguna memasukkan data query fuzzy. Kemudian query
tersebut mulai dihitung dengan memanggil data variabel yang ada di tabel all kriteria dan data yang telah dikonversikan pada tabel data konversi. Output dari hitungan tersebut adalah nilai fuzzy dan merek produk yang terdapat pada tabel
data komputer kemudian diurutkan sesuai prioritas tertinggi hingga terendah.
3.3.2 Perhitungan Nilai Fire Strength
Operator yang biasa digunakan pada perhitungan nilai fire strength ini hanya ada
dua yaitu operator AND dan operator OR. Kedua operator ini digunakan untuk membandingkan kondisi pada klausa WHERE. Karena dalam query bisa saja
terdapat banyak variabel linguistik yang akan dibandingkan maka dibutuhkan suatu metode agar sistem mengetahui operator dan operand mana yang harus dieksekusi terlebih dahulu.
Oleh karena itu, pada sistem yang akan dibangun ini diterapkan metode infix to postfix pada statement variabel linguistiknya. Sebagai contoh:
WHERE HARGA = ‘SEDANG’ AND KECEPATAN PROSESOR = ‘CEPAT’ OR KAPASITAS HARDDISK = ‘BESAR’
Maka urutan pengerjaan yang akan dilakukan adalah sebagai berikut: HARGA = ‘SEDANG’
KECEPATAN PROSESOR = ‘CEPAT’ pertama
KAPASITAS HARDDISK = ‘BESAR’
Jika statement linguistik di atas dianggap sebagai format infix, maka format postfix-nya adalah seperti di bawah ini:
WHERE HARGA = ‘SEDANG’ KECEPATAN PROSESOR = ‘CEPAT’ AND KAPASITAS HARDDISK = ‘BESAR’ OR
Setelah terbentuk dalam format postfix maka urutan proses yang akan dikerjakan
oleh sistem adalah:
1. HARGA = ‘SEDANG’
KECEPATAN PROSESOR = ‘CEPAT’ AND
Sistem akan mengambil nilai keanggotaan dari variabel HARGA dengan himpunan
fuzzy SEDANG dan nilai keanggotaan dari variabel KECEPATAN PROSESOR
dengan himpunan fuzzy CEPAT yang telah ada pada tabel Constrain. Kemudian
dilakukan proses pembandingan pada kedua klausa tersebut. Karena operator yang digunakan adalah AND, maka yang diambil adalah nilai minimal dari kedua nilai keanggotaan tersebut. Selanjutnya nilai tersebut disimpan pada tabel Konversi.
2. Nilai yang disimpan pada tabel Konversi selanjutnya dinamakan Temp1. Temp1 akan dioperasikan lagi dengan operand berikutnya.
Temp1
KAPASITTAS HARDDISK = ‘BESAR’ OR
Sistem akan mengambil nilai sementara yang ada pada tabel konversi untuk dioperasikan dengan operand selanjutnya. Karena operator yang digunakan adalah operator OR, maka sistem akan mengambil nilai yang paling tinggi (maksimum) dan selanjutnya disimpan lagi pada tabel Konversi.
Operand 1 Operand 2 Operator Operand 1 Operand 2 Operator
3. Jika sudah tidak ada operand yang akan dioperasikan berarti nilai terakhir yang disimpan pada tabel Konversi merupakan hasil akhir. Setelah itu data tersebut akan diduplikasikan ke tabel Hasil.
3.4. Algoritma
Algoritma adalah kumpulan instruksi atau langkah-langkah yang berhingga jumlahnya yang digunakan untuk menyelesaikan masalah/persoalan logika dan matematika dengan bantuan komputer.
Secara garis besar, algoritma Tahani ini dapat dikelompokkan menjadi tiga bagian besar, yaitu:
1. Algoritma membangun fungsi keanggotaan 2. Algoritma perhitungan nilai keanggotaan 3. Algoritma perhitungan nilai fire strength
3.4.1 Algoritma membangun fungsi keanggotaan
Fungsi keanggotaan untuk masing-masing himpunan ditentukan oleh bentuk kurva yang akan dipilih. Algoritma untuk membangun fungsi keanggotaaan adalah sebagai berikut:
start var
real : batas_a,batas_b,batas_c,batas_d input (pilih bentuk kurva!)
if bentuk_kurva = ‘linear naik’ OR ‘linear turun’ then write (input batas_a)
write (input batas_b)
end if
else if bentuk_kurva = ‘segitiga’ then write (input batas_a)
write (input batas_b) write (input batas_d)
end if
else
write (input batas_b) write (input batas_c) write (input batas_d)
end if
3.4.2 Algoritma Nilai_Keanggotaan
Nilai keanggotaan (membership function) semua anggota/unsur pada
masing-masing himpunan dapat dilihat pada algoritma berikut:
start var
real : batas_a,batas_b,batas_c,batas_d real : nilai_keanggotaan, x
if bentuk kurva = ‘linear naik’
then if x ≤ batas_a
then nilai_keanggotaan 0
else if x ≥ batas_b
then nilai_keanggotaan 1
else
nilai keanggotaan (x–batas_a)/(batas_b–batas_a)
end if
else if bentuk_kurva = ‘linear turun’
then if x ≥ batas_a
then nilai_keanggotaan 1
else if x ≤ batas_b
then nilai_keanggotaan 0
else
nilai keanggotaan (batas_b-x)/(batas_b – batas_a)
end if
else if bentuk_kurva = ‘segitiga’
then if (x ≤ batas_a) or (x ≥ batas_c)
then nilai_keanggotaan 0
else if x = batas_b
then nilai_keanggotaan 1
else if (x < batas_b) and (x > batas_a)
then nilai keanggotaan (x-batas_a)/(batas_b –
batas_a)
else if (x > batas_c) and (x < batas_b)
then nilai_keanggotaan (batas_c -x)/(batas_c –
batas_b)
end if
else if bentuk_kurva = ‘trapesium’
then if (x ≤ batas_a) or (x ≥ batas_c)
then nilai_keanggotaan 0
else if (x ≤ batas_c) or (x ≥ batas_b)
then nilai_keanggotaan 1
else if (x < batas_b) and (x > batas_a)
then nilai keanggotaan (x-batas_a)/(batas_b –
batas_a)
then nilai_keanggotaan (batas_d -x)/(batas_d – batas_c)
end if
3.4.3 Algoritma Perhitungan Nilai Fire Strength
Nilai fire strength atau α-cut merupakan hasil operasi dari dua buah himpunan atau
lebih. Adapun algoritmanya adalah sebagai berikut:
Start Var
integer: jumlah operator, jumlah_operand real : nilai_firestrength
input write(masukkan jumlah_operand)
while jumlah_operand ≥ 2 do
if operator = ‘AND’
then nilai_firestrength min (operand1, operand2)
else operand = ‘OR’
then nilai_firestrength max (operand1, operand2)
end if
end while
3.5 Perancangan Pangkalan Data
Karena database fuzzy yang akan dibangun adalah database model Tahani, maka
struktur database yang digunakan adalah struktur database relasional. Dalam hal
ini diperlukan tujuh buah tabel.
3.5.1 Struktur Tabel
Ketujuh tabel yang akan digunakan adalah sebagai berikut: 1. Tabel Data Komputer
Tabel ini digunakan untuk menyimpan data-data tentang merek komputer beserta tipe-tipenya. Struktur tabel ini dapat dilihat pada Tabel 3.13 berikut.
Tabel 3.13 Tabel Data Komputer
Nama Field Type
data Lebar Keterangan kode_komputer Varchar 10 Kode komputer merek Varchar 25 Merek komputer
harga Integer 11 kecepatan_prosesor double kapasitas_memori double kapasitas_harddisk double ukuran_vga double ukuran_monitor double kapasitas_ps double 2. Tabel Variabel
Tabel Variabel memuat semua spesifikasi, fitur-fitur dan atribut dari komputer yang akan menjadi pertimbangan pelanggan dalam membeli komputer. Struktur tabel ini dapat dilihat pada Tabel 3.14.
Tabel 3.14 Tabel Variabel
Nama Field Type data Lebar Keterangan kode_komputer Varchar 10 Kode komputer
Harga Integer 11 Spesifikasi Komputer kecepatan_prosesor double kapasitas_memori double kapasitas_harddisk double ukuran_vga double ukuran_monitor double kapasitas_ps double 3. Tabel Kriteria
Tabel ini digunakan untuk menyimpan nilai jangkauan dari semesta pembicaraa pada masing-masing variabel. Struktur tabel ini dapat dilihat pada Tabel 3.15.
Tabel 3.15 Tabel Kriteria
Nama Field Type data Lebar Keterangan kode_variabel Integer 2
nama_variabel Varchar 20
max integer 12 Nilai maksimum semesta
pembicaraan
min Integer 11 Nilai minimum semesta
4. Tabel Himpunan
Tabel ini digunakan untuk menyimpan himpunan dari masing-masing variabel. Struktur tabel ini dapat dilihat pada Tabel 3.16.
Tabel 3.16 Tabel Himpunan
Nama Field Type data Lebar Keterangan kode_himpunan integer 2
nama_himpunan varchar 10
5. Tabel Data Konversi
Tabel data konversi adalah tabel yang berfungsi sebagai tempat penyimpanan hasil dari perhitungan nilai keanggotaan (membership function) yang telah ditentukan.
Tabel ini bersifat virtual. Artinya, tabel ini dibangun sebagai tempat penyimpanan sementara untuk nilai fire strength antara dua kriteria. Struktur tabel ini dapat
dilihat pada Tabel 3.17.
Tabel 3.17 Tabel data konversi
Nama Field Type data Lebar Keterangan kode_komputer varchar 2
nama_variabel1 varchar 30
nama_himpunan varchar 30
nilai_firestrength Float
Id integer 11 Primary Key
6. Tabel Hasil
Tabel ini merupakan output dari query yang dimasukkan oleh user. Tabel hasil
berisi daftar produk yang direkomendasikan sesuai dengan permintaan pelanggan yang diurut mulai dari yang mempunyai nilai fire strength tertinggi. Struktur tabel
ini dapat dilihat pada Tabel 3.18.
Tabel 3.18 Tabel Hasil
Nama Field Type data Lebar Keterangan kode_komputer varchar 10
nilai_rekomendasi double
7. Tabel Fungsi Keanggotaan
Tabel 3.19 Tabel Fungsi Keanggotaan
Nama Field Type data Lebar Keterangan kode_keanggotaan integer 2
nama_keanggotaan varchar 20
8. Tabel All Kriteria
Tabel ini berisikan batas-batas sebuah himpunan. Masing-masing himpunan mempunyai batas sesuai dengan bentuk kurva keanggotaanya.
Tabel 3.20 All Kriteria
9. Tabel Login
Struktur lengkap Tabel Login dapat dilihat pada tabel 3.21 berikut,
Tabel 3.21 Tabel Login
Nama Field Type data
Lebar Keterangan
User Varchar 25
Password Varchar 35
Nama Field Type data Lebar Keterangan kode_variabel Integer 2 Auto increment
kode_himpunan Integer 2 kode_keanggotaan Integer 2
a double Parameter atas
b double Parameter atas
c double Parameter bawah
3.5.2 Relasi Antar Tabel
Relasi antar tabel seperti terlihat pada Gambar 3.8.
Gambar 3.11 Relasi Antar Tabel
3.6. Perancangan GUI
Pembuatan Graphical User Interface pada program ini menggunakan Delphi 2010.
Tampilan utama terdiri dari empat tab inti. Masing-masing tab mempunyai tool yang sesuai dengan fungsinya.
3.6.1. Perancangan Halaman Home
Halaman ini merupakan form yang pertama kali tampil pada saat program dijalankan. Halaman home merupakan halaman “selamat datang” kepada user
dengan penjelasan singkat mengenai sistem. Rancangannya dapat dilihat pada Gambar 3.12.
Gambar 3.12 Perancangan Halaman Home
Halaman home merupakan halaman utama dari aplikasi yang memililki pilihan menu yang menjadi nafigasi dari aplikasi berupa link untuk ke halaman lain dan ke halaman home sendiri, yaitu user,about, contact, dan amin.
3.6.2. Perancangan Halaman User
3.6.2.1. Tab Query Builder
Tab ini berfungsi untuk merangkai statement query.
User About Contact Admin
x
Pilih Menu: DECISION SUPPORTx
Query BuilderPilih Jumlah Pertimbangan
3.13 Tab Query Builder
Struktur query secara umum terdiri atas Select, From dan Where. Dalam hal ini
pengguna hanya diberi pilihan untuk mengkombinasikan struktur Where saja. Sedangkan Select dan from sudah ditetapkan oleh sistem. Struktur Where sendiri juga memiliki tiga unsur penting yaitu:
a. combobox Variabel
komponen ini menyimpan daftar dari semua Variabel yang telah didefinisikan di depan.
b. combobox Himpunan
komponen ini menyimpan daftar nama himpunan untuk variabel yang telah dipilih sebelumnya.
c. combobox operator.
Combobox ini hanya berisi dua pilihan operator saja, yaitu operator AND dan
operator OR.
Pengguna dapat memilih jumlah klausa Where yang digunakan pada
combobox. Tetapi pada sistem ini dibatasi hanya untuk tujuh klausa saja. Untuk
menampilkan pilihan variabel, himpunan dan operator tekan tombol mulai yang terdapat di samping combobox.
3.6.2.2. Tab Run Query
Pada bagian ini menampilkan rekomendasi yang dihasilkan dari query yang telah
dibuat pada Tab Query Builder.
Where Proses Cance Run Query
No. Merek Type
x
Gambar 3.14 Tab Run Query
Rekomendasi utama merupakan produk yang mempunyai nilai fire strength tertinggi. Sistem juga memberikan beberapa pilihan alternatif yang mendekati kriteria yang diinginkan oleh pembeli. Untuk melihat daftar rekomendasi lainnya beserta nilai rekomendasinya pengguna dapat menekan tombol Laporan. Daftar rekomendasi komputer disajikan sesuai dengan urutan nilai rekomendasi (nilai fire strength) dari yang tertinggi hingga yang paling rendah.
3.6.3. Perancangan Halaman About
Halaman ini terdiri dari sedikit penjelasan mengenai aplikasi terkait dengan penggunaan sistem fuzzy. Rancangan dari halaman about dapat dilihat pada Gambar
3.15.
Gambar 3.15 Perncangan Halaman About 3.6.4. Perancangan Halaman Contact
Close
Nilai Rekomendasi
Rekomendasi Alternatif
No. Merek Type
About
x
Content BackHalaman ini berisi informasi mengenai alamat email yang dapat dihubungi oleh pengguna apabila ingin memberi masukan berupa kritik dan saran terhadap sistem. Rancangan dari halaman contact dapat dilihat pada Gambar 3.16.
Gambar 3.16 Perancangan Halaman Contact
About
x
Content
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada bab ini akan dijelaskan tentang implementasi dan pengujian dari aplikasi yang telah dirancang pada bab 3. Implementasi dilakukan untuk mengetahui hasil dari perangkat lunak yang dibangun dan pengujian dilakukan untuk melihat apakah setiap proses yang ada berjalan dengan baik dan output yang dihasilkan sudah
sesuai dengan yang diharapkan.
4.1Implementasi
Implementasi Sistem meliputi kebutuhan minimum hardware komputer dan
kebutuhan perangkat lunak pendukung aplikasi. Tahap implementasi perangkat lunak merupakan kelanjutan dari tahap perancangan, sehingga implementasi ini harus didasarkan pada perancangan yang telah dilaksanakan sebelumnya. Dalam proses pembuatan aplikasi, konfigurasi komputer yang digunakan adalah notebook
DELL Inspiron 1018 dengan spesifikasi processor Intel atom 1.66 Ghz, RAM 1 GB
dengan sistem operasi Microsoft Windows 7 Starter. Tetapi aplikasi ini juga dapat dijalankan dengan konfigurasi minimal komputer sebagai berikut:
1. Prosesor dengan kecepatan proses 1000 MHz
2. Sistem Operasi versi Microsoft Windows XP atau lebih
3. Memory primer (RAM) berkapasitas 128 MegaByte
4. VGA dengan resolusi minimum 800x600 pixel 5. Mouse
Perangkat lunak yang dibutuhkan untuk pengembangan dan implementasi sistem fuzzy untuk proses pendukung keputusan penentuan spesifikasi komputer
yang dibutuhkan adalah: 1. Windows 7
2. Apache Web Server dan Database MySQL yang telah tergabung dalam aplikasi XAMPP.
3. Delphi 2010
4.1.1 Sebagai User
Seorang pengguna (user) tidak diberikan hak akses untuk menambah ataupun
mengubah informasi yang terdapat pada sistem. User hanya dapat menggunakan
sistem pendukung keputusan penentuan spesifikasi komputer pada halaman user
melihat keterangan-keterangan dan informasi pada halaman about dan memberikan
kritik dan saran melalui email pada halaman contact.
Gambar 4.2 Query Builder
Gambar 4.2 adalah tampilan jendela Query Builder. Langkah pertama yang
dilakukan untuk membangun sebuah query adalah menentukan jumlah
perbandingan. Artinya, klausa Where menentukan seberapa banyak perbandingan variabel yang ingin diambil. Setelah tombol Mulai ditekan, maka akan muncul perulangan untuk variabel dan himpunan sebanyak jumlah perbandingan yang dimasukkan. Sedangkan untuk ComboBox operator akan muncul sebanyak n-1 kali.
Operator yang disediakan hanya ada dua jenis, yaitu operator AND dan operator OR.
Selanjutnya setelah muncul kotak konfirmasi, maka akan dilakukan pencarian nilai fire srength. Dengan menekan tombol Proses, nilai keanggotaan
pada himpunan pertama akan dibandingkan dengan nilai keanggotaan kedua. Jika operator yang yang digunakan adalah AND maka nilai yang paling kecil akan dipilih. Sementara untuk operator OR nilai yang diambil adalah nilai yang paling besar. Hasil perbandingan nilai tersebut akan disimpan kembali pada Tabel Konversi. Jika himpunan yang akan dibandingkan berjumlah tiga buah, maka nilai yang telah tersimpan pada tabel Konversi tersebut akan dibandingkan lagi dengan nilai keanggotaan pada himpunan ketiga. Begitu seterusnya. Hasil akhir dari perbandingan nilai keanggotaan tersebut akan disimpan pada Tabel Hasil dan akan ditampilkan pada Form Run Query seperti yang terlihat pada Gambar 4.3.
Gambar 4.3 Rekomendasi
4.1.2 Sebagai Administrator
Jika link admin pada home di klik, maka akan memunculkan halaman login yang
mengharuskan admin untuk mengisi username dan password agar dapat melakukan
pengeloaan data pada database. Tampilan dari halaman login dapat dilihat pada
Gambar 4.4.
Setelah proses login berhasil, admin akan diarahkan ke halaman menu administrator dimana terdapat dua modul pengolahan data yang dapat diakses, yaitu tambah data komputer dan tambah batas nilai. Namun, apabila proses login tidak
berhasil maka sistem akan kembali ke halaman login untuk meminta username dan password yang baru, hal ini juga terjadi apabila salah satu dari username atau password tidak dimasukkan pada form yang tersedia. Halaman utama dari menu
administrator dapat dilihat pada Gambar 4.5.
Gambar 4.5 Halaman Menu Administrator
4.1.2.1 Penambahan Data Komputer
Halaman yang berfungsi untuk menambah data komputer adalah halaman data komputer yang ditunjukkan pada Gambar 4.6.
Gambar 4.6 Halaman Tambah Data Komputer
4.1.2.2 Penambahan Batas Nilai
Proses penambahan batas nilai sebenarnya hampir sama dengan penambahan data komputer, namun tabel yang digunakan pada database bukan tabel yang sama.
Tampilan dari halaman depan penambahan batas nilai dapat dilihat pada gambar 4.7.
Gambar 4.7 Halaman Tambah Batas Nilai
Pada halaman ini, admnistrator harus menentukan batas variabel beserta batas himpunannya untuk kemudian menjadi batasan dalam sistem ini. Misalkan variabel yang ingin dibangun adalah variabel Harga. Himpunan semesta atau semesta pembicaraannya dibatasi dengan nilai minimum 0 dan nilai maksimum 5.000.000. Artinya, untuk semua harga komputer hanya diperbolehkan berada pada rentang 0 sampai 5.000.000. Diluar jangkauan tersebut, nilai diabaikan. Nilai Min dan max diperoleh dari nilai terkecil dan tertinggi dari daftar spesifikasi komputer pada inti united.
Setelah semua edit tex terisi kemudian tekan tombol save maka nilai yang
dimasukkan akan tersimpan ke dalam database. Selanjutnya pada variabel yang
telah dibangun, perlu didefinisikan beberapa himpunan. Pengguna dapat memilih nama variabel dan fungsi keanggotaan pada ComboBox yang tersedia.
4.1.3 Halaman Contact
Halaman contact berisi informasi mengenai penulis, dan alamat email yang dapat
dihubungi untuk memberikan masukan dan saran. Tampilan dari halaman contact.html dapat dilhat pada Gambar 4.8.
Gambar 4.8 Halaman Contact
4.2Pengujian
Misalkan pembeli menginginkan sebuah komputer dengan spesifikasi harga yang sedang (tidak mahal dan tidak murah) serta komputer tersebut mempunyai kecepatan prosesor yang cepat. Setelah semua kriteria dimasukkan, maka akan dihitung nilai keanggotaan masing-masing jenis komputer sesuai dengan himpunannya dengan menekan tombol Proses. Proses ini tidak akan ditampilkan untuk pengguna karena dieksekusi di belakang layar. Nilai keanggotaan yang didapat untuk masing-masing item komputer akan disimpan pada sebuah tabel temporary yang bernama Tabel Konversi.
Tabel 4.1 Tabel nilai keanggotaan setiap produk untuk himpunan ‘cepat’ pada variabel ‘kecepatan prosesor’
Kode komputer Variabel Himpunan Nilai keanggotaan "001" "Kecepatan_prosesor" "cepat" 0 "002" "Kecepatan_prosesor" "cepat" 0 "003" "Kecepatan_prosesor" "cepat" 0 "004" "Kecepatan_prosesor" "cepat" 0.65 "005" "Kecepatan_prosesor" "cepat" 0.65 "006" "Kecepatan_prosesor" "cepat" 1 "007" "Kecepatan_prosesor" "cepat" 1 “008" "Kecepatan_prosesor" "cepat" 0 "009" "Kecepatan_prosesor" "cepat" 1 "010" "Kecepatan_prosesor" "cepat" 1
Tabel 4.1 memperlihatkan isi dari Tabel konversi pada basis data. Tabel ini menyimpan nilai keanggotaan dari semua jenis produk untuk variabel ‘Kecepatan prosesor’ dengan himpunan ‘cepat’. Karena bersifat temporer, isi tabel ini akan terhapus setelah data tersebut tidak digunakan lagi. Begitu juga dengan nilai keanggotaan ‘Harga’ pada himpunan ‘sedang’, dapat dilihat pada Tabel 4.2.
Tabel 4.2 Nilai keanggotaan setiap produk untuk himpunan ‘sedang’ pada variabel ‘harga’
Kode komputer Variabel Himpunan Nilai keanggotaan "001" "Harga" "Sedang" 0.1 "002" "Harga" "Sedang" 0.25 "003" "Harga" "Sedang" 0.35 "004" "Harga" "Sedang" 0.8 "005" "Harga" "Sedang" 0.85 "006" "Harga" "Sedang" 0.55 "007" "Harga" "Sedang" 0.85 “008" "Harga" "Sedang" 0.49 "009" "Harga" "Sedang" 0.3 "010" "Harga" "Sedang" 0.83
Tabel 4.3 Nilai fire strength dengan operator ‘AND’
Kode Produk
Nilai keanggotaan himpunan ‘cepat’ pada variabel ‘kecepatan prosesor’
Nilai keanggotaan himpunan ‘sedang’ pada
variabel ‘harga’ Nilai fire strength "001" 0 0.1 0 "002" 0 0.25 0 "003" 0 0.35 0 "004" 0.65 0.8 0.65 "005" 0.65 0.85 0.65 "006" 1 0.55 0.55 "007" 1 0.85 0.85 “008" 0 0.49 0 "009" 1 0.3 0.3 "010" 1 0.83 0.83
Pencarian nilai firestrength dilakukan dengan membandingkan nilai keanggotaan
pada ketiga himpunan diatas. Nilai yang akan diambil adalah nilai yang paling rendah karena operator yang digunakan adalah operator AND.
Tabel 4.4 Nilai fire strength dengan operator ‘AND’ yang telah diurutkan
Kode Produk
Nilai keanggotaan himpunan ‘cepat’ pada variabel ‘kecepatan prosesor’
Nilai keanggotaan himpunan ‘sedang’ pada
variabel ‘harga’ Nilai fire strength "007" 1 0.85 0.85 "010" 1 0.83 0.83 "005" 0.65 0.85 0.65 "004" 0.65 0.8 0.65 "006" 1 0.55 0.55 "009" 1 0.3 0.3 "001" 0 0.1 0 "002" 0 0.25 0 "003" 0 0.35 0 “008" 0 0.49 0
BAB 5
PENUTUP
5.1 Kesimpulan
Berdasarkan teori dan pembahasan pada bab sebelumnya, maka dapat ditarik kesimpulan sebagai berikut :
1. Logika fuzzy database model tahani sudah memenuhi kapasitasnya sebagai
pencari hasil akhir derajat keanggotaan dari setiap variabel fuzzy yg dimilki
komputer, namun memiliki sedikit kekurangan yang dapat menghasilkan nilai 0 (nol) apabila input data komputer yang diberikan melebihi batas maksimalnya.
2. Nilai rekomendasi didapat dari perbandingan nilai keanggotaan pada suatu himpunan fuzzy sesuai dengan operator yang digunakan.
3. Fuzzy database model tahani ini sangat tepat dijadikan sebagai model database
dalam sebuah sistem yang bertujuan untuk pengambilan keputusan seperti perekomendasian atau penyeleksian.
4. Sistem ini hanya memberikan daftar rekomendasi yang paling mendekati dari kriteria-kriteria yang diinginkan oleh pembeli. Keputusan akhir tetap berada pada pembeli.
5. Hasil perhitungan derajat keanggotaan dengan menggunakan aplikasi sama dengan perhitungan secara manual.
Untuk pengembangan selanjutnya penulis menyaran beberapa hal sebagai berikut:
1. Penelitian selanjutnya hendaklah melakukan survey dan rekayasa pengetahuan yang lebih mendalam terlebih dahulu terhadap variabel-variabel yang akan dipertimbangkan. Termasuk juga dalam mengkonstruksikan fungsi keanggotaan yang tepat untuk suatu himpunan. Karena fungsi keanggotaan memainkan peran yang sangat sentral dalam teori himpunan fuzzy.
2. Penerapan konsep logika fuzzy tidak hanya digunakan sewaktu manipulasi query saja. Pihak pengembang lain dapat langsung membangun pangkalan
data dengan data-data yang bersifat kabur (fuzzy) serta mencari informasi
dengan fuzzy query. Hal tersebut sesuai dengan kebutuhan dari sistem yang
akan dibangun.
3. Untuk mendapatkan keputusan yang lebih baik maka diharapkan ke depannya konsep logika fuzzy berpotensi untuk dikombinasikan dengan
konsep sistem pakar lainnya seperti jaringan syaraf, algoritma genetika, dan teori probabilitas.