TA : Penerapan Representasi Logika Fuzzy Untuk Structured Query Language Pada Sistem Basis Data.

(1)

PENERAPAN REPRESENTASI LOGIKA FUZZY UNTUK STRUCTURED QUERY LANGUAGE

PADA SISTEM BASIS DATA

Nama : Linawaty N.I.M. : 98.41010.4195 Program : S1 (Strata Satu) Jurusan : Sistem Informasi

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER SURABAYA


(2)

Halaman

ABSTRAKSI ... iii

KATA PENGANTAR ... iv

DAFTAR ISI ... vi

DAFTAR TABEL ... viii

DAFTAR GAMBAR ... ix

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 2

1.3 Pembatasan Masalah ... 3

1.4 Tujuan ... 3

1.5 Sistematika Penulisan ... 3

BAB II LANDASAN TEORI ... 5

2.1 Sistem Basis Data ... 5

2.2 DBMS ... 5

2.3 Structured Query Language ... 6

2.4 Fuzzy Logic ... 7

2.5 Fuzzy Query ... 14

2.6 Penggunaan DFD ... 15

2.7 Desain Output ... 23

2.8 Desain Input ... 24

2.9 Desain Database ... 25


(3)

2.10 Normalisasi ... 28

2.11Desain User Interface ... 28

BAB III METODE PENELITIAN ... 30

3.1Perancangan Sistem ... 30

3.2Desain Uji Coba dan Subyek Coba ... 32

3.3Desain Sistem ... 34

3.4Desain Antarmuka ... 38

3.5 DBMS ... 46

3.6Pengaturan Inference Sistem ... 50

BAB IV IMPLEMENTASI DAN EVALUASI ... 64

4.1Implementasi ... 64

4.2Evaluasi ... 77

BAB V PENUTUP ... 84

5.1 Kesimpulan ... 84

5.2 Saran ... 84

DAFTAR PUSTAKA ... 85

LAMPIRAN ... 86


(4)

Halaman

Tabel 2.1 Hasil Query ... 15

Tabel 2.2 Perbedaan DFD logika dan fisik ... 23

Tabel 3.1 Data Penduduk ... 47

Tabel 3.2 Fuzzy Penduduk ... 48

Tabel 3.3 Data Fuzzy Inference ... 49

Tabel 3.4 Data Keputusan ... 50

Tabel 4.1 Rincian Evaluasi Output Test Case Pada Sistem ... 77


(5)

Halaman

Gambar 2.1 Himpunan fuzzy ... 8

Gambar 2.2 Fungsi keanggotaan segitiga dan trapesium ... 10

Gambar 2.3 Variabel fuzzy ... 12

Gambar 2.4 Contoh ilustrasi child diagram ... 18

Gambar 2.5 Contoh kesalahan penulisan proses DFD ... 19

Gambar 2.6 Kesalahan proses input dan output ... 20

Gambar 2.7 Kesalahan hubungan entity luar dengan data store ... 20

Gambar 2.8 Hubungan realita, data, dan metadata ... 26

Gambar 3.1 Gambaran alur kerja system ... 32

Gambar 3.2 Skema uji koneksi ... 33

Gambar 3.3 Representasi fuzzy ... 33

Gambar 3.4 Context diagram ... 35

Gambar 3.5 DFD level 0 ... 36

Gambar 3.6 ERD ... 38

Gambar 3.7 Desain form setup database ... 39

Gambar 3.8 Desain form data penduduk ... 40

Gambar 3.9 Desain form nilai fuzzy ... 41

Gambar 3.10 Desain form fuzzy inference ... 42

Gambar 3.11 Desain form analisa SQL ... 43

Gambar 3.12 Desain form analisa fuzzy kependudukan ... 44

Gambar 3.13 Desain form analisa fuzzy kependudukan2 ……… 45


(6)

Gambar 3.14 Fungsi himpunan pada himpunan-himpunan fuzzy pada variabel gaji

... 51

Gambar 3.15 Fungsi himpunan pada himpunan-himpunan fuzzy pada variabel anak ... 53

Gambar 3.16 Fungsi himpunan pada himpunan-himpunan fuzzy pada variabel pasangan ... 55

Gambar 3.17 Fungsi himpunan pada himpunan-himpunan fuzzy pada variabel tanggungan... 57

Gambar 4.1 Menu utama ... 66

Gambar 4.2 Menu database setting ... 68

Gambar 4.3 Menu data penduduk ... 69

Gambar 4.4 Menu pengaturan fuzzy ... 70

Gambar 4.5 Menu fuzzy inference I ... 71

Gambar 4.6 Menu fuzzy inference II ... 72

Gambar 4.7 Menu query SQL ... 73

Gambar 4.8 Menu fuzzy query kependudukan ... 74

Gambar 4.9 Menu fuzzy query kependudukan2 I ... 75

Gambar 4.10 Menu fuzzy query kependudukan2 II... 76

Gambar 4.11 Output dengan keputusan “Miskin” ... 80

Gambar 4.12 Output dengan keputusan “Sederhana” ... 82


(7)

BAB I PENDAHULUAN

1.1. Latar Belakang Masalah

SQL (Structured Query Language) merupakan bahasa standard dari basis data. SQL lebih ditekankan pada aspek pencarian data di dalam tabel. Aspek pencarian ini sedemikian penting karena disitulah sebenarnya inti dari segenap upaya user dalam melakukan pengelolaan data. Pencarian (query) inilah yang merupakan latar belakang utama mengapa basis data itu ada. Manipulasi dan

query merupakan dua hal yang saling berhubungan satu sama lain. Manipulasi data merupakan proses sesungguhnya yang diinginkan user, sedangkan query

merupakan prasyarat untuk melakukan proses tersebut.

Dalam sistem basis data dikenal juga sebutan DBMS (Database Management System) yang digunakan secara interaktif untuk melakukan berbagai macam operasi basis data seperti pembuatan tabel, penghapusan tabel, penambahan data, pengubahan data serta pencarian data. Proses perubahan data selalu diawali dengan pencarian data di dalam media penyimpanan. Bahkan jika terjadi proses penyimpanan data baru, maka penyimpanan itu juga selalu di awali dengan pencarian (lokasi data) di dalam media penyimpanan.

Sebelum logika fuzzy diperkenalkan, orang telah mengenal konsep logika klasik yang membagi sifat parameter menjadi dua hal yang berlawanan secara tegas, seperti benar atau salah atau 0 dan 1. Dalam penerapannya, konsep logika klasik memiliki kekurangan yaitu karena manusia lebih mengenal konsep linguistik yang menyatakan sesuatu secara tidak eksak atau samar, seperti


(8)

kata “agak”, “cukup”, “terlalu” dan kata-kata lain yang merupakan kata-kata tidak eksak (fuzzy). Saat ini, penerapan fuzzy digunakan untuk menerapkan sebuah konsep yang memetakan suatu variabel pada kemungkinan yang tidak eksak sehingga dapat menangani sistem linguistik atau permasalahan-permasalahan yang tidak pasti atau tidak presisi serta permasalahan probabilitas yang dihadapi.

Salah satu contoh database dalam sistem basis data adalah data kependudukan (kemiskinan penduduk), maksud dibahasnya tema kemiskinan adalah bahwa saat ini di sangat dirasakan terdapatnya keragu-raguan “mana yang benar” kriteria penduduk miskin, padahal penentuan kriteria menjadi sangat dibutuhkan oleh beberapa user (instansi). Oleh sebab itulah dibutuhkan suatu sistem yang dapat mengatur kriteria-kriteria tertentu terhadap data kemiskinan penduduk, agar tidak menimbulkan kerancuan pendapat.

Oleh sebab itu, pada Tugas Akhir ini di coba untuk mengembangkan suatu sistem penggunaan representasi logika fuzzy untuk melakukan query pada suatu kumpulan database, dalam contoh ini adalah data kemiskinan penduduk. Sehingga dengan bantuan teknologi fuzzy, pencarian dan pengelompokan data kemiskinan penduduk dapat lebih fleksibel, efisien dan lebih terinci. Untuk itu Tugas Akhir ini diharapkan dapat menjadi solusi yang efektif dan efisien dalam pengembangan suatu query terhadap database.

1.2. Perumusan Masalah

Berdasarkan uraian diatas maka permasalahan yang dapat diangkat adalah :


(9)

Bagaimana mengembangkan suatu sistem query terhadap contoh

database kemiskinan dengan menerapkan logika fuzzy, guna mendapatkan

kriteria-kriteria pengelompokan kemiskinan yang sesuai.

1.3. Pembatasan Masalah

Dengan adanya perumusan masalah diatas, maka permasalahan akan dibatasi sebagai berikut :

1 Software yang digunakan adalah Microsoft SQL 7.0.

2 Bahasa pemrograman yang digunakan adalah Microsoft Visual Basic 6.0. 3 Pada sistem basis data, data yang diambil adalah data kemiskinan

penduduk.

4 Sistem tidak membahas mengenai DML (Data Manipulation Language). 5 Fungsi keanggotaan yang digunakan hanya kurva segitiga dan trapesium

1.4. Tujuan

Adapun tujuan dari pembuatan Tugas Akhir ini adalah membuat perangkat lunak fuzzy database yang bias digunakan untuk mengkategorikan data kuantitatif menjadi linguistik dan dapat dilakukan query dengan studi kasus masalah kependudukan.

1.5. Sistematika Penulisan

Sistematika yang digunakan dalam penyusunan Tugas Akhir ini dibagi menjadi beberapa bab, yaitu :

1. BAB I : PENDAHULUAN

Pada bab ini dibahas mengenai latar belakang permasalahan, perumusan masalah, pembatasan masalah, tujuan serta sistematika penulisan Tugas Akhir.


(10)

2. BAB II : LANDASAN TEORI

Pada bab ini dibahas mengenai landasan-landasan teori yang digunakan dalam pembuatan Tugas Akhir ini, yaitu teori mengenai Sistem Basis Data, Database Management System, Structured Query Language dan metode fuzzy. 3. BAB III : METODE PENELITIAN

Pada bab ini dibahas mengenai tahapan-tahapan yang dilalui dalam pembuatan Tugas Akhir ini, mulai dari perancangan DFD, perancangan ERD, perancangan alur sistem secara keseluruhan yang direpresentasikan ke dalam suatu gambar, menganalisa serta mendesain input ouput

sistem yang akan dibuat serta membuat struktur database

yang digunakan.

4. BAB IV : IMPLEMENTASI DAN EVALUASI

Pada bab ini dibahas secara lebih rinci mengenai implementasi penggunaan program dalam proses analisa suatu query terhadap database untuk menghasilkan keputusan dengan menggunakan metode fuzzy.

5. BAB V : PENUTUP

Pada bab ini dibahas mengenai uraian kesimpulan tentang sistem yang telah dibuat beserta saran yang dapat digunakan untuk penyempurnaan dan pengembangan sistem.


(11)

LANDASAN TEORI

Bab ini menguraikan teori-teori yang digunakan dalam pembuatan tugas akhir dengan judul penerapan representasi logika fuzzy untuk structured query language pada sistem basis data yang antara lain meliputi :

2.1. Sistem Basis Data (Database)

Sistem basis data atau yang lebih sering disebut database (Basis Data) terdiri dari dua kata, yaitu Basis dan Data. Basis dapat diartikan sebagai markas atau gudang, tempat bersarang / berkumpul. Sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu objek. Database (Basis Data) dapat didefinisikan dari sejumlah sudut pandang , yaitu (1) Merupakan himpunan kelompok data (arsip) yang saling berhubungan yang diorganisir sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah, (2) Merupakan kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan, dan (3) Merupakan kumpulan file / tabel / arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis (Fathansyah, 1999).

2.2. DBMS (Database Management System)

DBMS (Database Management System) merupakan sistem software

yang multiguna, yang menyediakan fasilitas untuk : 5


(12)

1. Mendefinisikan yang artinya melibatkan spesifikasi : (a) tipe data, (b) struktur, dan (c) kendala / constraint dari data yang di simpan.

2. Membangun yang artinya berkaitan dengan proses penyimpanan data itu sendiri pada suatu media penyimpanan yang dikontrol oleh DBMS.

3. Memanipulasi yang artinya termasuk didalamnya fungsi-fungsi sebagai “query” terhadap basis data, misal : retrieve, update, generate report.

dimana fungsi-fungsi tersebut digunakan sistem basis data untuk aplikasi yang beraneka ragam.

2.3. Structured Query Language (SQL)

Pada awal tahun 1970, D.D Chamberlain, M. M. Astrahan dan lainnya mengembangkan metode formal dalam memanipulasi dan mendefinisikan database relasional yaitu bahasa SEQUEL (Structured English Query Language). Bahasa ini menyediakan metode yang luas dalam menggunakan database relasional sedemikian sehingga mengubah teori relasional menjadi sesuatu yang dapat diimplementasikan secara praktis. Contoh perintah SEQUEL untuk mengambil manager project dari departemen engineering akan tampak seperti berikut :

SELECT PROMNGR

FROM PROJECT

WHERE DEPARTMENT = “ENGINEERING”

Bahasa yang kemudian disingkat menjadi SQL (Structured Query Language) ini kemudian menjadi dasar (standart) dari sistem database relasional.


(13)

2.4. Fuzzy Logic

Untuk menghitung gradasi yang tidak terbatas jumlahnya antara benar dan salah, Zadeh mengembangkan ide penggolongan himpunan (set) yang ia namakan himpunan fuzzy (fuzzy set). Tidak seperti logika boolean yang menyatakan bahwa suatu pernyataan adalah benar atau salah, fuzzy logic dapat membaginya dalam derajat keanggotaan dan derajat kebenaran sehingga suatu pernyataan dapat menjadi sebagian benar dan sebagian salah pada waktu yang sama.

2.4.1. Konsep Utama Fuzzy A. Prinsip ketidakpastian

Beberapa ilmu matematika terkadang sulit untuk dipastikan, seperti teori probabilitas. Hal ini bisa diklasifikasikan berdasar tipe ketidakpastian yang dilakukan. Ada beberapa tipe ketidakpastian, dua diantaranya adalah Stochastic Uncertainty dan Lexical Uncertainty.

Stochastic Uncertainty berhubungan dengan arah ketidakpastian dari kejadian yang pasti. Sedangkan Lexical Uncertainty merupakan ketidakpastian yang diungkapkan oleh kata-kata manusia, seperti “orang yang tinggi”, “hari yang panas” dan sebagainya.

B. Variabel linguistik

Fuzzy pada dasarnya menitikberatkan pada pengukuran dan penalaran tentang kekaburan atau bentuk fuzzy yang nampak dalam bahasa alami. Dalam

fuzzy bentuk fuzzy dinyatakan sebagai variabel linguistik (disebut juga variabel


(14)

Variabel linguistik adalah bentuk yang digunakan dalam bahasa alami untuk menggambarkan beberapa konsep yang biasanya mempunyai kekaburan atau nilai fuzzy. Sebagai contoh dalam pernyataan “Jack adalah muda” menyatakan bahwa variabel linguistik umur mempunyai nilai linguistik muda. Seperti halnya variabel aljabar yang berisi angka sebagai nilainya maka vaiabel linguistik menggunakan kata dan kalimat sebagai nilainya. Misalnya: jika T variabel linguistik yang berisi himpunan umur, maka isi T yang juga merupakan himpunan fuzzy adalah: T = {sangat tua, tua , setengah baya, agak muda, muda, sangat muda}.

C. Himpunan fuzzy (Fuzzy Set)

Gambar 2.1 Himpunan Fuzzy (fuzzy sets)

Gambar 2.1 menjelaskan tentang himpunan fuzzy yang terdiri atas 3 bagian, dimana sumbu horisontal menunjukkan himpunan anggota, sumbu vertikal menunjukkan derajat dari keanggotaan, dan garis yang menghubungkan masing-masing titik dari anggota dengan derajat keanggotaan yang tepat.

Teori himpunan tradisional menggambarkan dunia sebagai hitam dan putih. Ini berarti sebuah obyek berada didalam atau diluar himpunan yang diberikan. Dalam teori himpunan tradisional untuk anggota diberi nilai 1 dan

Derajat keanggotaan

µ[x]

Anggota himpunan (Domain dari Fuzzy Set)

N N+k

0 1


(15)

untuk bukan anggota diberi nilai 0; ini disebut himpunan crisp. Sebagai contoh anggota himpunan orang muda dapat berisi hanya orang yang berumur kurang dari 10. Penggunaan interpretasi ini pada seseorang yang berulang tahun ke-11, maka orang tersebut bukan anggota himpunan orang muda.

Himpunan fuzzy memberikan nilai keanggotaan antara 0 dan 1 yang menggambarkan secara lebih alami sebuah kumpulan anggota dengan himpunan, Sebagai contoh, jika seorang berumur 5 tahun dapat diberikan nilai keanggotaan 0.9 atau jika umurnya 13 tahun nilai keanggotaannya 0.1. Dalam contoh ini “umur” adalah variabel linguistik dan “muda” adalah salah satu himpunan fuzzy.

Himpunan fuzzy dapat didefinisikan sebagai berikut : misalkan X semesta pembicaraan, dengan elemen dari X dinotasikan x. Sebuah himpunan

fuzzy A dari X dikarakteristikkan dengan fungsi keanggotaan µ∧(x):X→[0,1]. Pada fuzzy , kejadian atau elemen x diberikan nilai keanggotaan dengan fungsi keanggotaan µ. Nilai ini mempresentasikan derajat keanggotaan elemen x pada himpunan fuzzy A. µ۸ (x) = Degree(x∈A) nilai keanggotaan dari x berada pada interval : 0 ≤ µ۸(x) ≤ 1

Himpunan fuzzy adalah perluasan dari teori himpunan tradisional. Himpunan fuzzy menyamakan konsep keanggotaan dengan menggunakan fungsi keanggotaan µ yang menghasilkan nilai antara 0 dan 1 yang mempresentasikan derajat keanggotaan obyek x pada himpunan A.

Untuk mempresentasikan himpunan fuzzy dalam komputer perlu didefinisikan fungsi keanggotaannya. Sebagai contoh : orang tinggi. Dapat dinyatakan pada setiap individu, pada tingkatan mana bahwa mereka yakin seseorang itu dikatakan tinggi. Setelah mengumpulkan jawaban untuk interval ukuran tinggi, dapat disajikan tingkat rata-rata untuk menghasilkan suatu


(16)

himpunan fuzzy dari orang-orang yang tinggi. Fungsi ini dapat digunakan sebagai suatu keyakinan (nilai keanggotaan). Bagi individu yang menjadi anggota himpunan fuzzy dari orang tinggi.

Dengan membentuk fuzzy subset untuk berbagai bentuk fuzzy, dianggap nilai keanggotaan dari obyek yang diberikan pada setiap himpunan. Pendekatan lain yang sering ditemukan pada praktek untuk membentuk himpunan fuzzy sangat berhubungan dengan interpretasi dari seorang ahli. Seperti teknik pengumpulan data, dapat ditanyakan pada pakar untuk kepercayaannya bahwa berbagai obyek merupakan bagian himpunan yang diberikan.

D. Fungsi keanggotaan (Membership Function)

Derajat dimana angka teknis bernilai sesuai konsep bahasa dari kondisi variabel bahasa (linguistic) dinamakan sebagai derajat keanggotaan. Untuk variabel berlanjut (continous variable) derajat ini disebut fungsi keanggotaan.

Fungsi keanggotaan segitiga dijelaskan sebagai berikut :

Fungsi keanggotaan trapesium dijelaskan sebagai berikut : 0

1

a b c

Triangular(x;a,b,c) =

0, xa. x – a

b – a c – x c – b

0, c ≤ x. , a ≤ x≤ b. , b ≤ x ≤ c.

Trapesium(x;a,b,c,d) =

0, xa atau x ≥ d x – a

b – a 1, d – x d – c

a ≤ x≤ b c ≤ x ≤ d b ≤ x≤ c


(17)

Gambar 2.2 Fungsi keanggotaan segitiga dan trapesium

Gambar 2.2 menjelaskan tentang fungsi keanggotaan yang digunakan dalam mempresentasikan himpunan fuzzy. Dalam fuzzy fungsi keanggotaan yang biasa dipakai adalah fungsi keanggotaan segitiga, trapesium, Gaussian, fungsi keanggotaan S, fungsi keanggotaan lonceng dan sebagainya. Dalam sistem ini fungsi keanggotaan digunakan adalah fungsi keanggotaan segitiga da trapesium. E. Aturan fuzzy

Aturan dari sistem fuzzy (Fuzzy System) menggambarkan pengetahuan dari sistem. Mereka menggunakan variabel linguistik sebagai bahasanya, sebagai contoh untuk mengekspresikan strategi pengendalian dari sebuah pengendali pengontrol fuzzy logic. Menjelaskan aturan fuzzy logic berarti menunjukkan, bagaimana menghitung dengan konsep linguistik.

2.4.2. Perhitungan fuzzy A. Fuzzyfikasi

Proses fuzzyfikasi merupakan proses untuk mengubah variabel non fuzzy

(variabel numeric) menjadi variabel fuzzy (variabel linguistic). Nilai masukan-masukan yang masih dalam bentuk variabel numeric yang telah dikwantisasi sebelum diolah oleh pengendali logika fuzzy harus diubah terlebih dahulu kedalam variabel fuzzy. Melalui fungsi keanggotaan yang telah disusun maka dari nilai-nilai masukan tersebut menjadi informasi fuzzy yang berguna nantinya untuk proses pengolahan secara fuzzy pula. Proses ini disebut fuzzyfikasi.

0 1


(18)

Proses fuzzyfikasi dalam menentukan nilai min, tengah, dan maximum pada aplikasi ditunjukkan pada gambar 2.3 berikut ini :

Gambar 2.2 Varibel Tradi

Gambar 2.3 Variabel Fuzzy

B. Inferensi fuzzy

Dalam inferensi fuzzy dilakukan proses yang dinamakan evaluasi rule. Tahap ini digunakan untuk mencari derajat kebenaran (rule strength) dari masukan fuzzy yang nilai keanggotaannya telah ditentukan sebelumnya pada proses fuzzyfikasi. Struktur dasar dari sistem inferensi fuzzy terdiri dari basis aturan yang berisi aturan if-then, basis data yang mendefinisikan fungsi keanggotaan dari himpunan fuzzy.

2.4.3. Operasi himpunan fuzzy

Terdapat 3 operasi dalam himpunan fuzzy, yaitu :

A. Irisan (Intersection)

Dalam teori himpunan klasik, irisan dari dua himpunan berisi elemen-elemen yang sama dari keduanya. Dalam himpunan fuzzy, sebuah elemen

1

0

T1 T2 Rendah Sedang Tinggi


(19)

mungkin sebagian dalam kedua himpunan. Oleh karena itu ketika mengingat irisan dari kedua himpunan, tidak dapat dikatakan bahwa sebuah elemen adalah lebih mungkin menjadi dalam irisan daripada dalam suatu himpunan asli.

B. Gabungan (Union)

Cara kedua dari penggabungan himpunan fuzzy adalah gabungannya. Penggabungan dari dua himpunan adalah terdiri dari dua himpunan adalah terdiri dari elemen-elemen yang menjadi satu atau dua himpunan. Dalam situasi ini anggota dari gabungan tidak dapat mempunyai nilai keanggotaan yang kurang dari nilai keanggotaan yang lain dari himpunan aslinya.

C. Komplemen (Complement)

Komplemen dari himpunan fuzzy A dinotasikan dengan (~A) dinyatakan dengan persamaan sebagai berikut : µ~۸ (x) = 1 - µ۸ (x)

2.4.4. Batasan (Hedges)

Dalam pembicaraan normal, manusia mungkin menambahkan kekaburan untuk memberikan pernyataan dengan menggunakan kata keterangan seperti sangat, agak. Kata keterangan adalah sebuah kata yang memodifikasi kata benda, kata sifat, kata keterangan lain, atau keseluruhan kalimat. Sebagai contoh, kata keterangan memodifikasi kata sifat, “orang itu sangat tinggi”. Sebuah hedges

memodifikasi himpunan fuzzy yang sudah ada secara matematis untuk menghitung beberapa kata keterangan yang ditambahkan.

2.5. Fuzzy Query

Query dalam sebuah database digunakan untuk menjawab secara cepat beberapa pertanyaan yang diajukan oleh beberapa user. Beberapa tipe dari query


(20)

digunakan sebagai ukuran pembanding (waktu, wilayah, produk dan lainnya.) Sebuah query tidak dapat secara mudah direpresentasikan oleh SQL (Structured

Query Language) sebab itu digunakan penerapan logika fuzzy guna mencari

membership function (fungsi keanggotaan) dari fuzzy untuk menyediakan urutan bagi elemen-elemen yang ada pada sebuah fuzzy set.

Sebuah bentuk membership function mendefinisikan istilah sebuah variabel dari fuzzy. Sebuah definisi statemen merupakan pembanding sebuah bentuk statemen, sebuah istilah fuzzy dan sebuah membership function

menspesifikasikan istilah-istilah dari logika fuzzy. Spesifikasi dari membership function mempunyai sebuah function yang mengekspresikan nama dan operasi aritmatika dalam suatu argumen.

Dalam sistem yang akan dibangun merupakan sistem basis data fuzzy (Fuzzy Database System). Relasi yang ada dalam database menekankan fuzzy pada beberapa field dalam tabel-tabel yang ada pada database tersebut. Pembuatan query menggunakan operator AND atau OR untuk menghubungkan antar variabel.

Berikut adalah contoh query beserta hasil yang diberikan:

Mencari tingkat kemiskinan berdasarkan gaji dan anak. Structure Query Language(SQL) yang dibentuk adalah :

Select id, gaji, anak from penduduk


(21)

Tabel 2.1 Hasil Query

No Gaji Anak Rendah Banyak

Tinggi And Banyak

1 1818500 1 0 0 0

2 825200 2 0 0 0

3 743300 1 0.1134 0 0

4 667900 2 0.2642 0 0

5 733400 0 0.1332 0 0

6 1642900 2 0 0 0

7 615900 2 0.3682 0 0

8 638900 3 0.3222 1 0.3222

9 649500 2 0.301 0 0

10 658400 2 0.2832 0 0

Data yang mendekati 1 direcomendasikan mendekati miskin sehingga angka-angka yang mendekati itulah yang dapat diambil sebagai data yang dibutuhkan.

2.6. Penggunaan DFD (Data Flow Diagram)

Meskipun suatu analisa yang disebut dengan DFD mempunyai struktur tersendiri, namun sistem analisa dapat meletakkan secara bersamaan sebuah gambar yang merepresentasikan seluruh proses-proses data dalam sebuah organisasi. Pendekatan data flow menitikberatkan pada logika yang tersirat dari suatu sistem.


(22)

Dengan menggunakan kombinasi sistem, sistem analisa dapat membuat sebuah gambaran dari suatu proses yang sebenarnya dengan menggunakan dokumen sistem.

2.6.1. Pembuatan DFD (Data Flow Diagram)

DFD dapat dan harus digambarkan secara sistematis pertama, dibutuhkan sistem analis untuk mengkonsep data flow, dari atas ke bawah seperti dijelaskan sebagai berikut :

1. Membuat sebuah daftar dari kegiatan bisnis dengan menggunakan beberapa variasi, yaitu : (a) Entity luar (external entity), (b) Data flow, (c) Proses, dan (d) Data store.

2. Membuat sebuah context diagram dimana ditunjukkan external entity dan data flow ke dan dari sistem.

3. Menggambar diagram level 0, level selanjutnya.

4. Membuat sebuah child diagram untuk tiap-tiap proses pada level 0. 5. Pengecekan error.

6. Membangun sebuah DFD fisik dari DFD logika. 7. Melakukan pemisahan data.

Untuk memulai sebuah DFD dari suatu sistem biasanya dituangkan dalam sebuah daftar dengan empat kategori yaitu entity luar, arus data, proses, dan penyimpanan data. Daftar ini akan membantu menentukan batasan-batasan dari suatu sistem yang akan digambarkan. Pada dasarnya daftar tersebut berisi elemen-elemen data yang dikarang yang terdiri dari :


(23)

a.Pembuatan context diagram

Context diagram adalah level yang tertinggi dalam sebuah DFD dan hanya berisi satu proses serta merupakan representasi dari sebuah sistem. Proses dimulai dengan penomeran ke-0 dan untuk seluruh entity luar akan ditunjukkan dalam context diagram yang sama seperti data awal yang dikirim dari entity luar. Context diagram tidak berisi penyimpanan data.

b.Pembuatan diagram level 0 serta level berikutnya

Diagram level 0 dihasilkan oleh context diagram dan berisi proses-proses. Pengisian proses-proses yang berlebihan pada level ini akan menghasilkan sebuah diagram yang salah, sehingga sulit untuk di mengerti . Masing-masing proses diberikan penomoran dengan sebuah bentuk integer. Umumnya dimulai dari kiri atas dan penyelesaiannya di kanan bawah dalam sebuah bentuk diagram.

c.Pembuatan child diagram

Child diagram diberikan nomor yang sama seperti proses diatasnya

(parent proses) dalam diagram level 0. Contohnya, proses 3 harus diturunkan ke diagram 3, proses pada child diagram menggunakan penomoran unik untuk masing-masing proses dengan mengikuti penomoran proses diatasnya. Contohnya, dalam diagram 3 proses-proses diberikan nomor 3.1, 3.2, 3.3 dan seterusnya. Konversi ini diikuti oleh analisi sistem untuk menelusuri seri-seri dari proses-proses yang dikeluarkan oleh beberapa level, jika pada proses diagram level 0 digambarkan sebagai 1, 2 dan 3 maka child diagram-diagramnya adalah 1, 2, dan 3 pada level yang sama. ilustrasi level detil dengan sebuah child DFD dapat ditunjukkan pada gambar 2.4 :


(24)

Gambar 2.4 Contoh ilustrasi detil child diagram

d.Pengecekan kesalahan-kesalahan pada diagram digunakan untuk melihat kesalahan yang terdapat pada sebuah DFD. Beberapa kesalahan-kesalahan yang umum terjadi ketika penggambaran / pembuatan DFD ditunjukkan pada gambar 2.5 berikut ini :

Kesesuaian data flow Record A

Data flow dari Parent Process ke Child diagram harus sama

Input B Entity 2

D1 Data store 1 3 General Process

3.1 Detail Process Input B

D1 Data store 1

3.1 Detail Process Record A


(25)

Gambar 2.5 Salah satu contoh kesalahan penulisan proses dalam DFD

Beberapa kesalahan penulisan yang juga umum terjadi pada proses pembuatan / penggambaran DFD, antara lain diuraikan sebagai berikut :

1. Tidak menginputkan sebuah arus data atau arah panah langsung. Sebagai contoh adalah penggambaran proses yang menunjukkan sebuah data flow

Semua data flow salah satunya harus berasal atau berakhir pada sebuah proses

Sebuah data flow tidak diperbolehkan

mempunyai percabangan / memisahkan diri (flow) ke dalam dua atau lebih data flow yang berbeda

Sebuah proses harus mempunyai minimal satu inputan data flow


(26)

seperti input atau seperti output. Tiap-tiap proses pengubahan data harus menerima input dan output. Tipe kesalahan ini terjadi ketika sistem analis tidak memasukkan sebuah data flow atau meletakkan sebuah arah panah di tempat yang salah seperti ditunjukkan pada gambar 2.6 berikut ini :

Gambar 2.6 Kesalahan proses input dan output

2. Hubungan penyimpanan data dan entity luar secara langsung satu sama lain. Data store dan entity luar harus dikoneksikan melalui sebuah proses seperti ditunjukkan pada gambar 2.7 berikut ini :

Gambar 2.7 Kesalahan penulisan hubungan entity luar dengan data store Employee

1 Employee time file Hours worked Employee

Sebuah external entity tidak dikoneksikan ke data store

1 Employee Master Employee

record Employee

time file

1 Calculate gross pay Proses 1 tidak mempunyai output


(27)

3. Kesalahan penamaan (label) pada proses-proses atau data flow. Pengecekan DFD untuk memastikan bahwa tiap-tiap obyek atau data flow telah diberikan label. Sebuah proses haruslah diindikasikan seperti nama dari sistem atau menggunakan format kata kerja. Tiap data flow haruslah dideskripsikan dengan sebuah kata benda.

4. Memasukkan lebih dari sembilan proses dalam sebuah DFD. Memiliki banyak proses akan mengakibatkan kekacauan pada diagram sehingga dapat menyebabkan kebingungan dalam pembacaan sebuah proses dan akan menghalangi tingkat komunikasi. Jika lebih dari sembilan proses dalam sebuah sistem, maka beberapa grup dalam proses dilakukan bersama-sama ke dalam sebuah sub sistem dan meletakkannya dalam sebuah child diagram. 5. Menghilangkan suatu arus data. Pengujian dari suatu diagram yang

menunjukkan garis / arah (flow), dimana untuk setiap proses data flow hanya mempunyai input data, output kecuali dalam kasus dari detil (child). Setiap

child data dari DFD, arah arus data seringkali digambarkan untuk

mengidentifikasikan bahwa diagram tersebut kehilangan data flow.

6. Membuat ketidaksesuiaan komposisi dalam child diagram , dimana tiap child

diagram harus mempunyai input dan output arus data yang sama seperti proses dilevel atasnya (parent process). Pengecualian untuk rule ini adalah kurangnya output, seperti kesalahan garis yang ada didalam child diagram.


(28)

2.6.2. Keuntungan pembuatan data flow

Data flow mempunyai lima keuntungan utama dari penjelasan-penjelasan jalannya data dalam sistem, yaitu :

1. Kebebasan yang berasal dari kepercayaan untuk mengimplementasikan secara benar teknik sistem dari suatu sistem yang baru.

2. Memberikan pengertian dari hubungan sistem-sistem dan subsistem yang ada. 3. Komunikasi mengenai pengetahuan sistem bagi user melalui DFD

4. Analisa dari sebuah usulan sistem untuk menentukan jika data dan proses-proses yang ada dapat didefinisikan secara mudah.

5. Penggunaan data flow merupakan keuntungan tambahan yang dapat digunakan sebagai latihan bagi sistem analis, kesempatan sistem analis menjadi lebih mengerti tentang hubungan sistem dan subsistem yang ada didalamnya.

2.6.3. Perbedaan DFD logika dan DFD fisik

Perbedaan antara DFD (Data Flow Diagram) secara fisik dan logika dijabarkan pada tabel 2.2 berikut ini :


(29)

Tabel 2.2 Perbedaan DFD logika dan fisik

Desain Logika Fisik

Gambaran model Operasi-operasi bisnis Bagaimana sistem akan diimplementasikan

Tampilan proses Aktivitas-aktivitas Program-program, modul, dan prosedur-prosedur manual

Tampilan data store Koleksi-koleksi dari data yang dikesampingkan dari bagaimana data tersebut di simpan

File-file fisik dan database-database dari file-file

manual

Kontrol sistem Menunjukkan kontrol-kontrol bisnis

Menunjukkan kontrol-kontrol untuk validasi input

data, untuk memperoleh sebuah record , untuk memastikan kesuksesan proses dan untuk keamanan sistem

2.7. Desain Output

Output merupakan sebuah informasi yang dikirimkan kepada user

melalui suatu sistem informasi (seperti : Internet, Extranet, dan WWW). Beberapa data yang dibutuhkan diproses secara teliti sebelum dinyatakan layak sebagai sebuah output; penyimpanan data lain, dan ketika data-data tersebut dibutuhkan


(30)

kembali, data-data tersebut berupa ouput yang membutuhkan proses yang sedikit.

Output dapat di ambil dari beberapa bentuk yaitu : bentuk laporan yang dihasilkan printer dan tampilan layar komputer, mikrofon (suara).

Oleh sebab itu, penggunaan output sangat penting guna menjamin pemakaian dan penerimaan dari suatu sistem informasi. Ada beberapa obyek dimana sistem analis mencoba untuk mencapai suatu desain ouput yang tepat. Obyek-obyek tersebut antara lain:

1. Desain output untuk melayani sebuah tujuan tertentu. 2. Pembuatan output yang disesuaikan bagi kebutuhan user. 3. Pengiriman sejumlah output.

4. Pengelolaan distribusi output. 5. Pengelolaan waktu output.

6. Penyesuaian metode output yang paling efektif.

2.8. Desain Input

Bentuk-bentuk desain secara khusus mungkin dapat digunakan jika suatu analisa sistem dapat disesuaikan dengan bentuk desain secara lengkap dan bermanfaat. Hal itu juga penting untuk mengenalkan secara dini desain yang digunakan, arus data atau bentuk-bentuk yang tidak dibutuhkan pada sumber-sumber suatu organisasi dan hal itu harus dihilangkan. Untuk mendesain form-form yang baik dan berguna, ada beberapa hal dari desain form yang harus diterapkan antara lain :


(31)

2. Memastikan form-form tersebut sesuai dengan tujuan untuk masing-masing desain.

3. Desain form digunakan untuk menjamin kelengkapannya. 4. Mempertahankan form-form yang menarik.

2.9. Desain Database

Desain database merupakan gambaran atau deskripsi dari file-file yang digunakan serta merupakan sebuah pendefinisian normal dan merupakan gambaran dari pusat penyimpanan dari data tertentu yang digunakan dalam beberapa aplikasi yang berbeda. Desain database terdiri dari :

2.9.1. Database

Database bukan hanya merupakan sebuah koleksi dari suatu file-file. Meskipun, sebuah database merupakan sebuah pusat sumber data yang disimpan oleh beberapa user dari sebuah aplikasi-aplikai yang bervariasi. Inti dari sebuah

database adalah DBMS (Database Management Sistem), dimana diikuti dengan kreasi, modifikasi, dan perubahan (update) dari database.

2.9.2. Bentuk database dan file

Ada dua bentuk pendekatan pada proses penyimpanan data dalam sebuah sistem komputer. Metode pertama adalah untuk menyimpan file-file tunggal, masing-masing dengan bentuk unik untuk berbagai macam aplikasi. Pendekatan yang kedua adalah untuk menyimpan data dalam sebuah sistem komputer dengan melibatkan pembuatan sebuah database.


(32)

2.9.3. Konsep-konsep data

Konsep-konsep data merupakan hal yang sangat penting untuk di mengerti bagaimana data dipresentasikan kembali sebelum memutuskan penggunaan file atau database. Konsep-konsep tersebut terdiri dari :

A. Realita, data dan metadata

Realita data merupakan gambaran attribut-attribut yang dimiliki oleh sekumpulan data. Data merupakan representasi fakta dunia nyata yang mewakili suatu objek. Metadata merupakan data dimana dijelaskan tentang data file atau

database serta menjelaskan pemberian nama dan menunjukkan panjang dari

masing-masing item data. Metadata juga menjelaskan panjang dan komposisi dari tiap-tiap record. Gambaran dari hubungan antara realita, data dan meta data yaitu didalamnya terdapat entity dan attribut (realita), record dan item data (data), definisi record dan definisi item data (meta data). Ditunjukkan pada gambar 2.8 berikut :

Gambar 2.8 Hubungan antara realita, data dan metadata

Entities

Record

Occurrences

Record

Definitions

Item data

Occurrences

Item data

Definitions


(33)

dimana :

- Entity Merupakan beberapa obyek atau kejadian tentang dimana dapat

mencocokkan koleksi data sebagai sebuah entity. Entity juga dapat berupa sebuah kejadian atau unit dari satu waktu.

- Relationship Merupakan hubungan antara entity, adapun tipe-tipe dari

relationship antara lain (1) one to one (1:1), (2) one to many

(1:M), dan (3) many to many (M:N).

- Attribute Merupakan sebuah karakteristik dari sebuah entity.

- Record  Merupakan suatu kumpulan dari item-item data yang secara

umum merupakan penjelasan umum dari entity. B. Kelompok file

Sebuah file berisi grup-grup dari record yang digunakan untuk melengkapi informasi untuk suatu operasi-operasi, perencanaan, manajemen, dan pembuatan keputusan. Tipe-tipe dari file yang digunakan antara lain :

1. File master : berisi record-record dari sebuah kelompok entity. 2. File tabel : berisi data yang digunakan.

3. File-file transaksi : digunakan untuk mengisi perubahan (update) sebuah file master dan laporan-laporan.

4. Work file : digunakan untuk menjalankan program agar lebih efektif.

5. File laporan : Memudahkan untuk menjalankan program (ketika tidak


(34)

2.10.Normalisasi

Normalisasi merupakan perubahan dari user yang ditampilkan secara lengkap dan simpanan data untuk ukuran dari yang terkecil, serta merupakan struktur-struktur data yang stabil. Normalisasi dibutuhkan untuk mengorganisir data dan menghindari redudansi data (data double). Ada tiga bentuk normalisasi, antara lain :

1.First Normal Form (1NF)

Langkah pertama ini terdapat pada sebuah relasi normalisasi yang digunakan untuk menghilangkan (menghapus) grup-grup yang berulang.

2.Second Normal Form (2NF)

Pada bentuk normal yang kedua, seluruh attribut yang ada akan difungsikan tergantung pada PK (Primary Key).

3.Third Normal Form (3NF)

Sebuah relasi penormalisasian yang ketiga adalah jika seluruh yang bukan kunci PK (Primary Key) dari semua attribut seluruhnya difungsikan bergantung pada PK dan attribut tersebut bukan transitif ketergantungan (tanpa kunci).

2.11.Desain User Interface

Bagaimanapun baik atau buruknya (minimnya) suatu tampilan, hal itu berpengaruh pada keberadaan representasi sebuah sistem. Desain terdiri dari : 1. Tipe-tipe user interface (tampilan)

2. Tampilan bahasa


(35)

4. Menu-menu

5. Tampilan bentuk isian / bentuk input dan output

6. Tampilan bahasa perintah


(36)

BAB III

METODE PENELITIAN

Metode penelitian pada tugas akhir ini mencakup beberapa tahapan pengerjaan antara lain :

3.1. Perancangan Sistem

Perancangan sistem pada penelitian tugas akhir ini terdiri dari desain sistem yang digunakan untuk menggambarkan aliran data secara keseluruhan antara proses-proses yang ada ke dalam suatu bentuk system flow.

Gambar 3.1 menjelaskan tentang alur / jalannya sistem, dimana proses pada aplikasi dimulai dari koneksi database yang digunakan untuk membuka database pada aplikasi tersebut, memasukkan data penduduk dan nilai fuzzy yang sudah ditentukan. Dalam aplikasi pembuatan sistem ini, terdapat beberapa proses antara lain :

a. Database setting., melakukan koneksi database dan membaca skema database, yang digunakan untuk membuka dan membaca database serta jika tidak ada database maka secara otomatis akan membuat database baru. b. Data penduduk , digunakan untuk maintenance data penduduk.

c. Pengaturan fuzzy, digunakan untuk memasukkan nilai fuzzy untuk masing-masing field dan bahasa yang akan dipakai (sedang, rendah, banyak, tinggi, sedikit dan lain-lain).


(37)

d. Fuzzy Inference, digunakan untuk pembentukan rule-rule yang akan digunakan untuk mengambil keputusan dengan menginputkan keputusan secara manual oleh user.

e. Fuzzy Query, digunakan untuk menentukan data yang akan difuzzykan sebagai query.

f. Query SQL, digunakan untuk mencari database penduduk dengan menggunakan perintah SQL


(38)

DataPenduduk

keputusan FuzzyInference FuzzyPenduduk Melakukan

koneksi DB & Membaca skema

DB

Query SQL Query Fuzzy

Rule Fuzzy Fuzzy Logic Maintenance Data Mulai

Selesai Input Username &

Password

Input SQL Query Input Query Fuzzy

Input Rule Keputusan Input Batas Himpunan

Input DataPenduduk

Gambar 3.1 Gambaran alur kerja sistem / aplikasi

3.2. Desain Uji Coba dan Subyek Coba

Pada penelitian ini akan dilakukan uji coba validasi sistem secara fungsional (black box testing), yang bertujuan untuk memastikan bahwa sistem


(39)

yang telah dibuat dengan benar telah sesuai dengan kebutuhan atau tujuan yang diharapkan. Hasil uji coba ini, akan menjadi bahan pada analisa uji coba. Sistem akan diuji dalama 2 tahap.

Tahap pertama, uji coba koneksi dan pembacaan skema database yang diujicobakan, modul Enterprise Manager dari SQL Server 7.0, digunakan sebagai validator. Diharapkan hasil dari sistem yang dikembangkan sama dengan hasil validator. Adapun gambarannya sebagai berikut :

Gambar 3.2 Skema uji koneksi

Tahap kedua, uji coba validasi sistem dengan representasi logika fuzzy digambarkan sebagai berikut :

Gambar 3.3 Representasi fuzzy Admin Uji Koneksi

Database

Baca Skema

Database Asal Server 7.0 SQL

Fuzzyfikasi SQL Server

7.0

Proses Fuzzy Query

Membership Function

Perintah SQL

Sistem Basis Data


(40)

dimana setelah uji coba koneksi database pada tahap I dilakukan proses fuzzyfikasi guna menentukan nilai keanggotaan fuzzy (sangat miskin, miskin, sederhana), kemudian dilakukan proses fuzzy query untuk menghasilkan perintah-perintah SQL guna penerapan pada sistem basis data yang digunakan.

Hasil ujicoba ini dilakukan untuk kemudian akan dianalisa guna mengetahui tingkat reliabilitas sistem dan diharapkan sistem memiliki tingkat reliabilitas yang mendekati kebenaran.

3.3. Desain Sistem

Desain sistem pada tugas akhir ini menggunakan process analyst dari

power designer 6.1. Sedangkan Entity Relationship Diagram menggunakan

Microsoft Visio.

3.3.1. Context diagram

Context diagram berfungsi untuk menggambarkan alur sistem secara

umum dan selanjutnya context diagram dekomposisi menjadi DFD Level 0 yang menjelaskan proses pada level yang lebih tinggi.


(41)

OPEN DATABASE KONEKSI DATABASE

DATA PENDUDUK FUZZY PENDUDUK

iNFERENCE FUZZY DATA KEPUTUSAN RULE KEPUTUSAN

FILTER DATA FUZZY QUERY DATA FILTER

PERINTAH SQL

QUERY DATA

1

PENERAPAN REPRESENTASI BAHASA

FUZZY UNTUK QUERY DATA

+ USER

Gambar 3.4 Context diagram

3.3.2. DFD (Data Flow Diagram)

Data Flow Diagram (DFD) berfungsi untuk menggambarkan proses aliran data yang terjadi dalam sistem dari tingkat tertinggi sampai yang terendah, yang memungkinkan untuk melakukan dekomposisi atau membagi sistem kedalam bagian-bagian yang lebih kecil dan lebih sederhana.


(42)

Gambar 3.5 DFD (Data Flow Diagram) Level 0 DFD level 0 terdiri atas 6 proses yaitu

1. Melakukan koneksi database dan membaca skema database digunakan untuk mengkoneksi database yang akan dipakai dalam pencarian data

2. Maintenance data penduduk


(43)

4. Menentukan keputusan yang dipakai (sangat miskin, miskin, sederhana), menggenerate rule dari konfigurasi fuzzy dan memasukan keputusan sesuai dengan rule-rule yang ada.

5. Melakukan query dengan menggunakan perintah-perintah SQL sebagai bahan perbandingan antara SQL dan fuzzy query

6. Melakukan fuzzy query yang memiliki nilai fuzzy dan tidak memerlukan perintah-perintah SQL.

3.3.3. ERD (Entity Relational Diagram)

Entity Relationship Diagram (ERD) digunakan untuk

menginterpretasikan, menentukan dan mendokumentasikan kebutuhan-kebutuhan untuk sistem pemrosesan database. ERD menyediakan bentuk untuk menunjukkan struktur keseluruhan kebutuhan data dari pemakai. Desain ERD dari aplikasi ini adalah sebagai berikut :


(44)

Gambar 3.6 ERD (Entity Relational Diagram)

3.4. Desain Antarmuka

Desain antarmuka bertujuan memudahkan pengguna dalam berinteraksi dengan sistem. Desain antarmuka ini terdiri atas desain input dan desain output.

3.4.1. Desain input output

Desain input output sistem ini terdiri atas dialog proses demi proses yang dilakukan selama pengguna memberikan input dan mendapatkan output sistem. Adapun desain input ouput dalam tugas akhir ini, antara lain :

DataPenduduk ID Gaji Anak Pasangan Tanggungan Rumah Fuzzy Penduduk Fuzzy Bahasa NilaiMin NilaiTengah NilaiTengah2 NilaiMax Fuzzy Inference ID Gaji Anak Pasangan Tanggungan Rumah Keputusan ID Keputusan


(45)

A. Desain setup database

Gambar 3.7 Desain form setup database PENGATURAN DATABASE

OK Batal

Server UserName Password Database


(46)

B. Desain data penduduk

Gambar 3.8 Desain data penduduk DATA PENDUDUK

OK Batal

Keluar Hapus

Update Insert

ID Gaji Anak Pasangan

Tanggungan Lain Tempat Tinggal


(47)

C. Desain Nilai Fuzzy

Gambar 3.9 Desain nilai fuzzy PENGATURAN FUZZY

Insert Update Hapus Hapus Semua Untuk

Bahasa Fuzzy Nilai Min(a) Nilai Tengah(b) Nilai Tangah2(c)

Keluar

OK Batal


(48)

D. Desain Fuzzy Inference

Gambar 3.10 Desain fuzzy inference FUZZY INFERENCE

Rule ID Gaji Anak Pasangan

OK Keluar

Generate Rule

Ubah Keputusan


(49)

3.4.2. Desain uji coba dan analisa A. Desain analisa SQL

Gambar 3.11 Desain analisa SQL

Gambar 3.11 merupakan query data dengan menggunakan bahasa SQL, biasa digunakan pada pencariaan data. Sehingga perlu memasukan perintah-perintah SQL untuk menjalankannya.

ANALISA STRUCTURED QUERY LANGUAGE

QUERY SQL

Jalankan Perintah SQL


(50)

B. Desain analisa fuzzy kependudukan

Gambar 3.12 Desain analisa fuzzy Fuzzy Query Kependudukan

Anak

Pasangan

Tanggungan lain

Tempat Tinggal

Keputusan

submit

Keluar Gaji


(51)

Gambar 3.12 merupakan inti dari aplikasi ini. Memilih atribut yang akan ditampilkan kemudian menginputkan bahasa-bahasa (rendah, sedang, tinggi, banyak, dan sedikit) sesuai dengan data yang diperlukan untuk melakukan query. Klik submit maka akan keluar nilai fuzzy dan suatu keputusan sesuai dengan kelompoknya serta menampilkan membership function untuk tiap record.

C. Desain analisa fuzzy kependudukan2

Gambar 3.13 Desain analisa fuzzy crisp dan bahasa fuzzy Fuzzy Query Kependudukan

Anak Pasangan

Tanggungan lain Tempat Tinggal

Keputusan

submit

Keluar Gaji

Crisp Bahasa Fuzzzy


(52)

Gambar 3.13 menganalisa hasil fuzzy dengan menggunakan crisp (himpunan tegas) dab bahasa fuzzy, bedanya dengan gambar 3.12 adalah tidak menghasilkan membership function sehingga tidak dapat menentukan record mana yang dijadikan recomendasi dari query yang dilakukan. Klik submit maka akan keluar nilai fuzzy dan suatu keputusan sesuai dengan kelompoknya.

3.5. DBMS (Database Management System)

Dalam penyusunan tugas akhir ini menggunakan Microsoft SQL

(Structure Query Language) versi 7.0 untuk penyimpanan datanya, adapun


(53)

A. Database Data Penduduk

Nama Tabel : DataPenduduk

Fungsi : Untuk menyimpan data penduduk

Tabel 3.1 Data Penduduk

Kolom

Tipe

data Panjang

Keterangan

Keterangan

FK Kolom

ID Integer 4 - - -

Gaji Integer 4 - - -

Anak Integer 4 - - -

Pasangan Integer 4 - - -

Tanggungan Integer 4 - - -


(54)

B. Database Fuzzy Penduduk

Nama Tabel : FuzzyPenduduk

Fungsi : Untuk menyimpan nilai fuzzy yang akan digunakan

Tabel 3.2 Fuzzy Penduduk

Kolom

Tipe

data Panjang

Keterangan

Keterangan

FK Kolom

Fuzzy Varchar 50 - - -

Bahasa Varchar 20 - - -

NilaiMin Float 8 - - -

NilaiTengah Float 8 - - -

NilaiTengah2 Float 8 - - -


(55)

C. Database Fuzzy Inference

Nama Tabel : FuzzyInference

Fungsi : Untuk menyimpan data dari rule yang dibuat dengan menggunakan bahasa

Tabel 3.3 Data fuzzy inference

Kolom

Tipe

data Panjang

Keterangan

Keterangan

FK Kolom

ID Integer 4 - - -

Gaji Varchar 20 - - -

Anak Varchar 20 - - -

Pasangan Varchar 20 - - -

Tanggungan Varchar 20 - - -


(56)

D. Database Keputusan

Nama Tabel : Keputusan

Fungsi : Untuk menyimpan data keputusan yang dipakai

Tabel 3.4 Data Keputusan

3.6. Pengaturan Inference Sistem A. Pembentukan Fungsi Keanggotaan

a. Variabel Gaji

Variabel ini digunakan untuk menghitung tingkat kemiskinan yang ditinjau dari besar kecilnya gaji yang didapat selama 1 bulan (gaji bersih).

Variabel gaji dibagi menjadi 3 himpunan fuzzy, yaitu : Rendah, Sedang, Tinggi.

Kolom

Tipe

data Panjang

Keterangan

Keterangan

FK Kolom

ID Integer 4 - - -


(57)

Gambar 3.14 Fungsi himpunan pada himpunan-himpunan fuzzy pada variabel gaji

µ Rendah [x] =

Himpunan fuzzy Rendah direpresentasikan dengan fungsi keanggotaan segitiga dan trapesium akan memiliki domain [0,1000], dengan derajat keanggotaan tertinggi (=1) terletak pada 0. Apabila variabel gaji semakin melebihi 0, maka kondisi kemiskinan sudah mendekati Sedang ini berarti menjauhi dari kondisi kemiskinan itu sendiri.

µ Sedang [x] = Untuk Segitiga

0, x ≤ 0 atau x ≥ 1000 1000 – x , 0≤ x ≤ 1000

1000

0, x ≤ 500 atau x ≥1500 x – 500 , 500 ≤ x ≤ 1000 500

1500 – x , 1000 ≤ x ≤ 1500 500

Rendah Sedang Tinggi 1

µ

0 500 1000 1500 3000

Rendah Sedang Tinggi 1

µ


(58)

µ Sedang [x] = Untuk Trapesium

Himpunan fuzzy Sedang direpresentasikan dengan fungsi keanggotaan segitiga akan memiliki domain [500,1500], dengan derajat keanggotaan tertinggi (=1) terletak pada 1000. Apabila variabel gaji semakin kurang dari 1000, maka kondisi kemiskinan sudah mendekati Sedikit. Namun apabila tingkat kemiskinan semakin melebihi 1000, maka kondisi kemiskinan sudah mendekati Tinggi.

Himpunan fuzzy Sedang direpresentasikan dengan fungsi keanggotaan trapesium akan memiliki domain [500,3000], dengan derajat keanggotaan tertinggi (=1) terletak pada 1000 - 1500.

µ Tinggi [x] = Untuk Segitiga

µ Tinggi [x] = Untuk Trapesium

Himpunan fuzzy Tinggi direpresentasikan dengan fungsi keanggotaan segitiga akan memiliki domain [1000,3000] dan dengan fungsi keanggotaan trapesium akan memiliki domain [1500,3000], dengan derajat keanggotaan tertinggi (=1) terletak pada 3000. Apabila variabel gaji semakin melebihi 3000,

0, x ≤ 1000 atau x ≥ 3000 x – 1000 , 1000 ≤ x ≤ 3000 2000

0, x ≤ 500 atau x ≥3000 x – 500 , 500 ≤ x ≤ 1000 500

1, 1000 ≤ x ≤ 1500 3000 – x , 1500 ≤ x ≤ 3000 1500

0, x ≤ 1500 atau x ≥ 3000 x – 1500 , 1500 ≤ x ≤ 3000 1500


(59)

maka kondisi kemiskinan sudah mendekati Lebih Tinggi ini berarti menjauhi dari kondisi kemiskinan itu sendiri.

b. Variabel Anak

Variabel ini digunakan untuk menghitung tingkat kemiskinan yang ditinjau dari sedikit banyaknya anak.

Variabel anak dibagi menjadi 3 himpunan fuzzy, yaitu : Sedikit, Sedang, dan Banyak.

Gambar 3.15 Fungsi himpunan pada himpunan-himpunan fuzzy pada variabel anak

µ Sedikit [x] = 0, x ≤ 0 atau x ≥ 3 3 - x , 0 ≤ x ≤ 3 3

Sedikit Sedang Banyak 1

µ

0 2 3 5 7

Sedikit Sedang Banyak 1

µ


(60)

Himpunan fuzzy Sedikit direpresentasikan dengan fungsi keanggotaan segitiga dan dengan fungsi keanggotaan trapesium akan memiliki domain [0,3], dengan derajat keanggotaan tertinggi (=1) terletak pada 0. Apabila variabel anak semakin melebihi 0, maka kondisi kemiskinan sudah mendekati Sedang ini berarti menjauhi dari kondisi kemiskinan itu sendiri.

µ Sedang [x] = Untuk Segitiga

µ Sedang [x] = Untuk Trapesium

Himpunan fuzzy Sedang direpresentasikan dengan fungsi keanggotaan segitiga akan memiliki domain [2,5], dengan derajat keanggotaan tertinggi (=1) terletak pada 3. Apabila variabel anak semakin kurang dari 3, maka kondisi kemiskinan sudah mendekati Sedikit. Namun apabila tingkat kemiskinan semakin melebihi 3, maka kondisi kemiskinan sudah mendekati Tinggi.

Himpunan fuzzy Sedang direpresentasikan dengan fungsi keanggotaan trapesium akan memiliki domain [2,7], dengan derajat keanggotaan tertinggi (=1) terletak pada 3 - 5.

µ Banyak [x] = Untuk Segitiga

0, x ≤ 2 atau x ≥5 x – 2 , 2 ≤ x ≤ 3 5 – x , 3 ≤ x ≤ 5 2

0, x ≤ 3 atau x ≥ 7 x – 3 , 3 ≤ x ≤ 7 4

0, x ≤ 2 atau x ≥7 x – 2 , 2 ≤ x ≤ 3 1, 3 ≤ x ≤ 5 7 – x , 5 ≤ x ≤ 7 2


(61)

µ Banyak [x] = Untuk Trapesium

Himpunan fuzzy Banyak direpresentasikan dengan fungsi keanggotaan segitiga akan memiliki domain [3,7] dan dengan fungsi keanggotaan trapesium akan memiliki domain [5,7], dengan derajat keanggotaan tertinggi (=1) terletak pada 7. Apabila variabel anak semakin melebihi 7, maka kondisi kemiskinan sudah mendekati Lebih Banyak ini berarti menjauhi dari kondisi kemiskinan itu sendiri.

c. Variabel Pasangan

Variabel ini digunakan untuk menghitung tingkat kemiskinan yang ditinjau dari sedikit banyaknya pasangan.

Variabel pasangan dibagi menjadi 2 himpunan fuzzy, yaitu : Sedikit dan Banyak.

Gambar 3.16 Fungsi himpunan pada himpunan-himpunan fuzzy pada variabel pasangan

0, x ≤ 5 atau x ≥ 7 x – 5 , 5 ≤ x ≤ 7 2

Banya Sedikit

1 2 4

0 1


(62)

µ Sedikit [x] =

Himpunan fuzzy Sedikit direpresentasikan dengan fungsi keanggotaan segitiga akan memiliki domain [0,2], dengan derajat keanggotaan tertinggi (=1) terletak pada 0. Apabila variabel pasangan semakin melebihi 0, maka kondisi kemiskinan sudah mendekati Sedang ini berarti menjauhi dari kondisi kemiskinan itu sendiri.

µ Banyak [x] =

Himpunan fuzzy Banyak direpresentasikan dengan fungsi keanggotaan segitiga akan memiliki domain [1,4], dengan derajat keanggotaan tertinggi (=1) terletak pada 4. Apabila variabel pasangan semakin melebihi 4, maka kondisi kemiskinan sudah mendekati Lebih Banyak ini berarti menjauhi dari kondisi kemiskinan itu sendiri.

d. Variabel Tanggungan

Variabel ini digunakan untuk menghitung tingkat kemiskinan yang ditinjau dari sedikit banyaknya tanggungan selain anak dan pasangan yang menjadi tanggung jawabnya.

0, x ≤ 1 atau x ≥4 x – 1 , 1 ≤ x ≤ 2 4 – x , 2 ≤ x ≤ 4 2

0, x ≤ 0 atau x ≥ 2 2 – x , 0 ≤ x ≤ 2 2


(63)

Variabel tanggungan dibagi menjadi 3 himpunan fuzzy, yaitu : Sedikit, Sedang, dan Banyak.

Gambar 3.17 Fungsi himpunan pada himpunan-himpunan fuzzy pada variabel tanggungan

µ Sedikit [x] =

Himpunan fuzzy Sedikit direpresentasikan dengan fungsi keanggotaan segitiga dan dengan fungsi keanggotaan trapesium akan memiliki domain [0,3], dengan derajat keanggotaan tertinggi (=1) terletak pada 0. Apabila variabel tanggungan semakin melebihi 0, maka kondisi kemiskinan sudah mendekati Sedang ini berarti menjauhi dari kondisi kemiskinan itu sendiri.

0, x ≤ 0 atau x ≥ 3 3 - x , 0 ≤ x ≤ 3 3

Sedikit Sedang Banyak 1

µ

0 2 3 5 7

Sedikit Sedang Banyak 1

µ


(64)

µ Sedang [x] = Untuk Segitiga

µ Sedang [x] = Untuk Trapesium

Himpunan fuzzy Sedang direpresentasikan dengan fungsi keanggotaan segitiga akan memiliki domain [2,5], dengan derajat keanggotaan tertinggi (=1) terletak pada 3. Apabila variabel tanggungan semakin kurang dari 3, maka kondisi kemiskinan sudah mendekati Sedikit. Namun apabila tingkat kemiskinan semakin melebihi 3, maka kondisi kemiskinan sudah mendekati Tinggi.

Himpunan fuzzy Sedang direpresentasikan dengan fungsi keanggotaan trapesium akan memiliki domain [2,7], dengan derajat keanggotaan tertinggi (=1) terletak pada 3 - 5.

µ Banyak [x] = Untuk Segitiga

µ Banyak [x] = Untuk Trapesium

0, x ≤ 2 atau x ≥5 x – 2 , 2 ≤ x ≤ 3 5 – x , 3 ≤ x ≤ 5 2

0, x ≤ 3 atau x ≥ 7 x – 3 , 3 ≤ x ≤ 7 4

0, x ≤ 2 atau x ≥7 x – 2 , 2 ≤ x ≤ 3 1, 3 ≤ x ≤ 5 7 – x , 5 ≤ x ≤ 7 2

0, x ≤ 5 atau x ≥ 7 x – 5 , 5 ≤ x ≤ 7 2


(65)

Himpunan fuzzy Banyak direpresentasikan dengan fungsi keanggotaan segitiga akan memiliki domain [3,7] dan dengan fungsi keanggotaan trapesium akan memiliki domain [5,7], dengan derajat keanggotaan tertinggi (=1) terletak pada 7. Apabila variabel tanggungan semakin melebihi 7, maka kondisi kemiskinan sudah mendekati Lebih Banyak ini berarti menjauhi dari kondisi kemiskinan itu sendiri.

B. Pembentukan aturan fuzzy

Berdasarkan variabel yang digunakan : gaji untuk 3 himpunan, anak untuk 3 himpunan, pasangan untuk 2 himpunan, dan tanggungan untuk 3 himpunan, sehingga didapatkan 3 x 3 x 2 x 3 = 54 kombinasi dan setiap kombinasi yang dibentuk menyertakan semua variabel.

Ke-54 kombinasi tersebut adalah :

[R1] IF Gaji RENDAH and Anak BANYAK and Pasangan BANYAK and Tanggungan BANYAK Then SANGAT MISKIN

[R2] IF Gaji RENDAH and Anak BANYAK and Pasangan BANYAK and Tanggungan SEDANG Then SANGAT MISKIN

[R3] IF Gaji RENDAH and Anak BANYAK and Pasangan BANYAK and Tanggungan SEDIKIT Then SANGAT MISKIN

[R4] IF Gaji RENDAH and Anak BANYAK and Pasangan SEDIKIT and Tanggungan BANYAK Then SANGAT MISKIN

[R5] IF Gaji RENDAH and Anak BANYAK and Pasangan SEDIKIT and Tanggungan SEDANG Then SANGAT MISKIN


(66)

[R6] IF Gaji RENDAH and Anak BANYAK and Pasangan SEDIKIT and Tanggungan SEDIKIT Then SANGAT MISKIN

[R7] IF Gaji RENDAH and Anak SEDANG and Pasangan BANYAK and Tanggungan BANYAK Then SANGAT MISKIN

[R8] IF Gaji RENDAH and Anak SEDANG and Pasangan BANYAK and Tanggungan SEDANG Then SANGAT MISKIN

[R9] IF Gaji RENDAH and Anak SEDANG and Pasangan BANYAK and Tanggungan SEDIKIT Then SANGAT MISKIN

[R10] IF Gaji RENDAH and Anak SEDANG and Pasangan SEDIKIT and Tanggungan BANYAK Then SANGAT MISKIN

[R11] IF Gaji RENDAH and Anak SEDANG and Pasangan SEDIKIT and Tanggungan SEDANG Then SANGAT MISKIN

[R12] IF Gaji RENDAH and Anak SEDANG and Pasangan SEDIKIT and Tanggungan SEDIKIT Then MISKIN

[R13] IF Gaji RENDAH and Anak SEDIKIT and Pasangan BANYAK and Tanggungan BANYAK Then SANGAT MISKIN

[R14] IF Gaji RENDAH and Anak SEDIKIT and Pasangan BANYAK and Tanggungan SEDANG Then SANGAT MISKIN

[R15] IF Gaji RENDAH and Anak SEDIKIT and Pasangan BANYAK and Tanggungan SEDIKIT Then SANGAT MISKIN

[R16] IF Gaji RENDAH and Anak SEDIKIT and Pasangan SEDIKIT and Tanggungan BANYAK Then SANGAT MISKIN

[R17] IF Gaji RENDAH and Anak SEDIKIT and Pasangan SEDIKIT and Tanggungan SEDANG Then MISKIN


(67)

[R18] IF Gaji RENDAH and Anak SEDIKIT and Pasangan SEDIKIT and Tanggungan SEDIKIT Then MISKIN

[R19] IF Gaji SEDANG and Anak BANYAK and Pasangan BANYAK and Tanggungan BANYAK Then SANGAT MISKIN

[R20] IF Gaji SEDANG and Anak BANYAK and Pasangan BANYAK and Tanggungan SEDANG Then SANGAT MISKIN

[R21] IF Gaji SEDANG and Anak BANYAK and Pasangan BANYAK and Tanggungan SEDIKIT Then MISKIN

[R22] IF Gaji SEDANG and Anak BANYAK and Pasangan SEDIKIT and Tanggungan BANYAK Then MISKIN

[R23] IF Gaji SEDANG and Anak BANYAK and Pasangan SEDIKIT and Tanggungan SEDANG Then MISKIN

[R24] IF Gaji SEDANG and Anak BANYAK and Pasangan SEDIKIT and Tanggungan SEDIKIT Then MISKIN

[R25] IF Gaji SEDANG and Anak SEDANG and Pasangan BANYAK and Tanggungan BANYAK Then SANGAT MISKIN

[R26] IF Gaji SEDANG and Anak SEDANG and Pasangan BANYAK and Tanggungan SEDANG Then MISKIN

[R27] IF Gaji SEDANG and Anak SEDANG and Pasangan BANYAK and Tanggungan SEDIKIT Then MISKIN

[R28] IF Gaji SEDANG and Anak SEDANG and Pasangan SEDIKIT and Tanggungan BANYAK Then MISKIN

[R29] IF Gaji SEDANG and Anak SEDANG and Pasangan SEDIKIT and Tanggungan SEDANG Then MISKIN


(68)

[R30] IF Gaji SEDANG and Anak SEDANG and Pasangan SEDIKIT and Tanggungan SEDIKIT Then SEDERHANA

[R31] IF Gaji SEDANG and Anak SEDIKIT and Pasangan BANYAK and Tanggungan BANYAK Then MISKIN

[R32] IF Gaji SEDANG and Anak SEDIKIT and Pasangan BANYAK and Tanggungan SEDANG Then MISKIN

[R33] IF Gaji SEDANG and Anak SEDIKIT and Pasangan BANYAK and Tanggungan SEDIKIT Then MISKIN

[R34] IF Gaji SEDANG and Anak SEDIKIT and Pasangan SEDIKIT and Tanggungan BANYAK Then MISKIN

[R35] IF Gaji SEDANG and Anak SEDIKIT and Pasangan SEDIKIT and Tanggungan SEDANG Then SEDERHANA

[R36] IF Gaji SEDANG and Anak SEDIKIT and Pasangan SEDIKIT and Tanggungan SEDIKIT Then SEDERHANA

[R37] IF Gaji TINGGI and Anak BANYAK and Pasangan BANYAK and Tanggungan BANYAK Then MISKIN

[R38] IF Gaji TINGGI and Anak BANYAK and Pasangan BANYAK and Tanggungan SEDANG Then MISKIN

[R39] IF Gaji TINGGI and Anak BANYAK and Pasangan BANYAK and Tanggungan SEDIKIT Then MISKIN

[R40] IF Gaji TINGGI and Anak BANYAK and Pasangan SEDIKIT and Tanggungan BANYAK Then MISKIN

[R41] IF Gaji TINGGI and Anak BANYAK and Pasangan SEDIKIT and Tanggungan SEDANG Then SEDERHANA


(69)

[R42] IF Gaji TINGGI and Anak BANYAK and Pasangan SEDIKIT and Tanggungan SEDIKIT Then SEDERHANA

[R43] IF Gaji TINGGI and Anak SEDANG and Pasangan BANYAK and Tanggungan BANYAK Then MISKIN

[R44] IF Gaji TINGGI and Anak SEDANG and Pasangan BANYAK and Tanggungan SEDANG Then SEDERHANA

[R45] IF Gaji TINGGI and Anak SEDANG and Pasangan BANYAK and Tanggungan SEDIKIT Then SEDERHANA

[R46] IF Gaji TINGGI and Anak SEDANG and Pasangan SEDIKIT and Tanggungan BANYAK Then SEDERHANA

[R47] IF Gaji TINGGI and Anak SEDANG and Pasangan SEDIKIT and Tanggungan SEDANG Then SEDERHANA

[R48] IF Gaji TINGGI and Anak SEDANG and Pasangan SEDIKIT and Tanggungan SEDIKIT Then SEDERHANA

[R49] IF Gaji TINGGI and Anak SEDIKIT and Pasangan BANYAK and Tanggungan BANYAK Then MISKIN

[R50] IF Gaji TINGGI and Anak SEDIKIT and Pasangan BANYAK and Tanggungan SEDANG Then SEDERHANA

[R51] IF Gaji TINGGI and Anak SEDIKIT and Pasangan BANYAK and Tanggungan SEDIKIT Then SEDERHANA

[R52] IF Gaji TINGGI and Anak SEDIKIT and Pasangan SEDIKIT and Tanggungan BANYAK Then SEDERHANA

[R53] IF Gaji TINGGI and Anak SEDIKIT and Pasangan SEDIKIT and Tanggungan SEDANG Then SEDERHANA

[R54] IF Gaji TINGGI and Anak SEDIKIT and Pasangan SEDIKIT and Tanggungan SEDIKIT Then SEDERHANA


(70)

BAB IV

IMPLEMENTASI DAN EVALUASI

BAB IV EVALUASI DAN EVALUASI

4.1. Implementasi

Implementasi pada penelitian tugas akhir ini berupa aplikasi pemrograman yang menerapkan query fuzzy untuk menentukan tingkat kemiskinan penduduk dengan menggunakan metode fuzzy logic.

Perangkat lunak ini dibuat dengan menggunakan bahasa pemrograman

Visual Basic 6.0 yang dijalankan pada Sistem Operasi Windows XP.

4.1.1. Kebutuhan sistem

Aplikasi ini telah diujicobakan dengan spesifikasi perangkat lunak (software) dan perangkat keras (hardware) sebagai berikut:

1. Sistem Operasi dan perangkat lunak : a. Sistem Operasi Windows 9x dan Xp b. Microsoft SQL 7.0

c. Microsoft Visual Basic 6.0 d. Microsoft Excel

e. Microsoft Visio f. Power Designer 6.0 2. Perangkat keras :

a. Prosesor AMD Athlon[TM]XP 2000+ b. Harddisk kapasitas 20 GB

c. Memori DDR 256 MB


(71)

d. VGACard Nvidia Riva TNT2 Memori 128 MB e. Monitor GTC Millenia 15 Inch

f. Mouse dan keyboard

4.1.2. Instalasi program dan pengaturan sistem

Untuk menjalankan sistem pendukung keputusan penentuan tingkat kemiskinan penduduk ini, dibutuhkan perangkat lunak yang sudah terinstall. Adapun tahapan instalasi dan pengaturan (setting) sistem yang diperlukan yaitu : 1. Install Sistem Operasi Windows 9X atau XP

2. Install Visual Basic 6.0

3. Install Microsoft SQL Server 7.0

4.1.3. Penjelasan pemakaian program

Setelah melakukan tahap-tahap instalasi program diatas, pengguna yang dalam hal ini adalah user dapat berinteraksi dengan sistem melalui tampilan-tampilan menu berikut ini, antara lain:


(72)

A. Form menu utama :

Gambar 4.1 Form menu utama aplikasi

Gambar 4.1 menggambarkan form utama yang merupakan tampilan awal (menu awal) dari aplikasi, yang terdiri dari beberapa menu :

Database

1. Database Setting : membuat database baru jika belum ada dan mengkoneksikan ke database yang akan digunakan.

Data

1. Data penduduk : maintenance data-data penduduk. Fuzzy Logic

1. Fuzzy Setting : maintenance nilai fuzzy untuk tiap-tiap field data penduduk.


(73)

2. Fuzzy Inference : membuat suatu nilai keputusan dan mengenerate rule-rule dari hasil nilai fuzzy setting yang dimasukkan, terbentuklah rule-rule dari data penduduk kemudian rule tersebut diberi suatu nilai keputusan sesuai dengan rulenya.

Query

1. Query SQL : menjalankan perintah-perintah SQL untuk menampilakan query.

2. Fuzzy Query Kependudukan : menentukan atribut yang akan ditampilakan (gaji, anak, pasangan, tunjangan lain, rumah) kemudian jika ingin menentukan fuzzynya maka masukan bahasa fuzzy (tinggi, sedang, rendah, banyak, sedikit) untuk tiap-tiap field, sehingga akan menampilkan query yang direcomendasikan dengan membership function tiap record.

3. Fuzzy Query Kependudukan2 : menampilkan query berdasarkan crisp (himpunan tegas) dan bahasa fuzzy. Untuk crisp hanya menampilkan data yang dimasukkan sedangkan bahasa fuzzy menampilkan semua query yang termasuk dalam nilai fuzzy yang diinputkan.

Help

1. About : judul aplikasi ini. 2. Keluar : keluar dari aplikasi.


(74)

B. Form menu database setting

Gambar 4.2 Form menu database setting

Gambar 4.2 menjelaskan tentang tampilan menu database setting yang digunakan untuk menginputkan server, username, password (boleh tidak diisi) dan database. Untuk mengetahui nilai server terlebih dahulu kita buka Microsoft SQL Server 7.0 kemudian Server Manager, maka disana terdapat nilai server dan services, masukan nilai server kedalam aplikasi. Username dan password biasanya menggunkan sa atau membuat sendiri pada ODBC. Untuk database dapat diinputkan database yang ada atau membuat baru dengan nama yang berbeda, jika dimasukkan dengan nama yang tidak ada diserver maka akan ada message “akan membuat database baru ?” jika yes maka dengan otomatis akan membuat database baru dengan nama yang diinputkan. Ada dua button yaitu OK dan Batal jika diklik OK maka akan mengkoneksikan ke database yang akan digunakan jika


(75)

C. Form menu data penduduk

Gambar 4.3 Form menu data penduduk

Gambar 4.3 merupakan form data penduduk yang digunakan untuk maintenance data penduduk. Terdapat 4 button yaitu Insert, Update, Hapus dan

Keluar. Untuk menginputkan data gunakan button Insert, jika ada kesalahan atau perbaikkan maka gunakan button Update, untuk menghapus suatu data gunakan

Hapus dan untuk keluar form gunakan button Keluar.


(76)

D. Form menu pengaturan fuzzy

Gambar 4.4 Form menu pengaturan fuzzy

Gambar 4.4 menggambarkan tentang form pengaturan fuzzy dalam aplikasi yang digunakan untuk maintenance nilai fuzzy. Pada Field Untuk di isi data penduduk (gaji, anak, pasangan, tanggungan, dan rumah), field Bahasa Fuzzy

diisi bahasa fuzzy yang akan digunakan untuk satu field data penduduk (tinggi, sedang, rendah, banyak, dan sedikit), kemudian untuk nilai maxsimal, nilai tengah dan nilai minimum diisi angka yang sesuai dengan range. Untuk kurva segitiga nilai tengah (b dan c) sama sedangkan untuk kurva trapesium (b dan c) memiliki nilai berbeda. Tersedia juga button yang digunakan untuk maintenance data yaitu button: Insert, Update, Hapus, Hapus Semua, Keluar, OK, dan Batal. Untuk button Insert digunakan untuk menginputkan data yang belum ada, button

Update digunakan untuk merubah atau memperbaiki data yang ada, untuk button

Hapus dan Hapus Semua digunakan untuk menghapus data yang sudah ada baik satu persatu maupun langsung keseluruhan data yang ada, button Keluar untuk


(77)

keluar dari form, sedangkan button OK dan Batal digunakan setelah menginputkan, memperbaiki dan menghapus data sesuai dengan perintah sebelumnya.

E. Form Fuzzy Inference

Gambar 4.5 Form menu fuzzy inference I

Gambar 4.5 merupakan tampilan dari menu fuzzy inference untuk menginputkan nilai keputusan yang akan digunakan (sangat miskin, miskin, dan sederhana). Pada combo field Keputusan terlebih dahulu diisi dengan menggunakan button Ubah kemudian akan keluar form, inputkan data keputusan. Tersedia juga button +, - , Naik, Turun, dan Keluar. Untuk button + digunakan untuk menambah data yang belum ada, button – untuk membuang data yang ada, dan button Naik dan Turun untuk tata letak data pada combo box, serta button


(78)

Gambar 4.6 Form menu fuzzy inference II

Lanjutan dari gambar 4.5, gambar 4.6 merupakan tampilan dari menu fuzzy inference untuk menginputkan nilai keputusan yang akan digunakan (sangat miskin, miskin, dan sederhana). Pada form ini terdapat 3 button yaitu Generate Rule, OK, dan Keluar. Sebelum masuk pada form fuzzy inference terlebih dahulu harus mengisi form pengaturan fuzzy, setelah form pengaturan fuzzy terisi semua maka gunakan button Generate Rule untuk membentuk rule-rule yang akan digunakan pada form selanjutnya, maka dengan mengklik button Generate Rule

otomatis akan terbentuk rule dari field yang diinputkan pada form pengaturan fuzzy. Setelah rule-rule terbentuk kemudian inputkan keputusan-keputusan yang sesuai dengan rule-rulenya. Untuk menginputkan data keputusan maka klik pada datagrid, setelah itu pada field combo box keputusan pilih datanya sesuai dengan rule kemudian klik tombol OK maka rule tersebut sudah memiliki nilai keputusan.


(79)

Begitu seterusnya untuk mengisi rule-rule yang ada, isi keseluruhan untuk menjalankan form berikutnya. Button Keluar digunakan untuk keluar dari form.

F. Form menu query SQL

Gambar 4.7 Form menu query SQL

Gambar 4.7 merupakan tampilan dari form query SQL yang digunakan untuk melakukan query dengan menggunakan perintah SQL. Tersedia 2 button yang dapat digunakan yaitu Jalankan Perintah SQL dan Keluar. Sebelum menggunakan button Jalankan Perintah SQL, inputkan perintah SQL pada text box, kemudian klik button Jalankan Perintah SQL maka akan keluar query pada datagrid. Button Keluar digunakan untuk keluar dari form.


(80)

G. Form menu fuzzy query kependudukan

Gambar 4.8 Form menu fuzzy query kependudukan

Gambar 4.8 merupakan tampilan dari menu fuzzy query kependudukan yang digunakan untuk menentukan bahasa fuzzy (tinggi, sedang, rendah, banyak, dan sedikit) dan menampilakan query data penduduk yang sesuai. Memilih atribut yang akan ditampilkan (gaji, anak, pasangan, tunjangan lain, rumah), kemudian inputkan bahasa fuzzy yang sesuai dengan fieldnya. Pada from ini tersedia 2 button yang dapat digunakan yaitu Submit dan Keluar. Untuk button Submit

digunakan setelah mengisi data untuk tiap-tiap field maka akan keluar suatu keputusan (sangat miskin, miskin, dan sederhana) dan akan tampil pada datagrid query data penduduk yang sesuai dengan keputusan yang ada. Sedangkan button


(81)

H. Form menu fuzzy query kependudukan2

Gambar 4.9 Form menu fuzzy query kependudukan2 I

Gambar 4.9 merupakan tampilan dari menu fuzzy query kependudukan2 untuk tipe inputan crisp yang digunakan untuk menentukan nilai fuzzy, bahasa fuzzy dan menampilakan query data penduduk yang sesuai.. Pada from ini tersedia 2 button yang dapat digunakan yaitu Submit dan Keluar. Untuk button

Submit digunakan setelah mengisi data untuk tiap-tiap field maka akan keluar suatu keputusan (sangat miskin, miskin, dan sederhana) dan akan tampil pada datagrid query data penduduk yang sesuai dengan keputusan yang ada. Sedangkan button Keluar digunakan untuk keluar dari from.


(82)

Gambar 4.10 Form menu fuzzy query kependudukan2 II

Gambar 4.10 merupakan tampilan dari menu fuzzy query kependudukan2 untuk tipe inputan bahasa fuzzy yang digunakan untuk menentukan bahasa fuzzy (tinggi, sedang, rendah, banyak, dan sedikit) dan menampilakan query data penduduk yang sesuai. Pada from ini tersedia 2 button yang dapat digunakan yaitu Submit dan Keluar. Untuk button Submit digunakan setelah mengisi data untuk tiap-tiap field maka akan keluar suatu keputusan (sangat miskin, miskin, dan sederhana) dan akan tampil pada datagrid query data penduduk yang sesuai dengan keputusan yang ada. Sedangkan button Keluar


(83)

4.2. Evaluasi

Pada uji coba sistem ini bertujuan untuk melakukan analisa fuzzy query dengan menggunakan metode fuzzy logic.

4.2.1. Tabel Test Case Sistem

Tabel 4. 1 Rincian Evaluasi Output Test Case Pada Sistem

ID Tujuan Input Output yang

diharapkan

Output Sistem

1 Untuk melakukan

koneksi DB SQL

Server : Nizar

Username : sa Password : -

Database : kemiskinan2

Koneksi DB atau create DB seperti pada gambar 4.2

Koneksi DB atau membuat DB baru

seperti pada gambar 4.2

2 Untuk melakukan penambahan, pengupdate, penghapusan data penduduk

Id : 5

Gaji : 733.400 Anak : 0 Pasangan : 1 Tanggungan : 0 Rumah : Kos

Data penduduk disimpan pada tabel datapenduduk seperti pada tabel 3.1 Maintenance pengolah data penduduk seperti pada gambar 4.3

3 Untuk

menginputkan data fuzzy yang terdiri dari : bahasa fuzzy, nilai min,

Untuk : Gaji

Bahasa Fuzzy : Rendah

Nilai Min : 0 Nilai Tengah : 0

Nilai Max :

Data fuzzy penduduk seperti pada tabel 3.2

Maintenance

pengolahan data fuzzy penduduk seperti pada gambar 4.4 dan 4.5


(84)

tengah, max 1.000.000 4 Untuk

menginputkan dan mengupdate data-data pembentukan inference rule Keputusan : (Sangat miskin, Miskin, Sederhana) Data fuzzy inference dan data keputusan seperti pada table 3.3 dan 3.4

Maintenance dan analisis

pembentukan data-data rule fuzzy seperti pada gambar 4.6

5 Untuk melakukan

query pada database

Sintak SQL (Select

* from datapenduduk) Menampilkan data-data yang ingin diquerykan Query database seperti pada gambar 4.7

6 Untuk melakukan

proses analisis fuzzy query kependudukan

Gaji : Rendah Anak : Sedang Pasangan : Sedikit

Tanggungan : Sedikit

Rumah : Kos

Menghasilkan keputusan dengan membership function (µf) Dasar analisa terhadap data kependudukan dengan menggunakan fuzzy query seperti pada gambar 4.8 7 Untuk

melakukan penilaian terhadap data inputan guna menghasilkan Input Crisp Gaji : 733.400 Anak : 0 Pasangan : 1 Tanggungan : 0 Input Bahasa Fuzzy

Menghasilkan

hasil analisis fuzzy query dengan

menggunakan crisp dan bahasa

Memproses analisa terhadap data kependudukan

yang digunakan fuzzy query untuk menampilkan nilai


(85)

nilai crisp fuzzy dan bahasa fuzzy

Gaji : Rendah Anak : Sedang Pasangan : Sedikit

Tanggungan : Sedikit

Rumah : Kos

fuzzy crisp dari data dan bahasa fuzzy seperti pada gambar 4.9 dan 4.10

4.2.2. Analisa Hasil Uji Coba Sistem A. Contoh Kasus 1

Tujuan :

Memfilter atribut-atribut dari data yang terpilih untuk menampilkan query fuzzy yang sesuai dengan keputusan dan nilai membership function

Input :

Inputan sistem berupa bahasa yang digunakan pada proses fuzzyfikasi (Rendah, Sedang, Tinggi, Banyak, Sedikit) dan untuk field rumah ada tiga pilihan (Kos, Sewa, Rumah)

Gaji Anak Pasanggan Tanggungan Rumah


(86)

Proses :

Memilih atribut data serta menentukan fuzzyfikasi bahasa terhadap data inputan, dimana nilai Rendah untuk gaji (0 - 1.000.000), Sedang untuk anak (2 - 5), Sedikit untuk pasangan(0 - 2),Sedikit untuk Tanggungan (0 - 3), Kos untuk field rumah.

Output :

Dengan melakukan query terhadap fuzzyfikasi data inputan serta atributnya (database kependudukan) dihasilkan gaji antara (415.300– 638.900), anak (3), pasangan (1) dan tanggungan (0). Seperti ditunjukkan pada gambar berikut :


(87)

Analisa :

Dari query yang didapatkan diatas maka yang lebih direcomendasikan yang nilai membership functionnya mendekati 1. Jadi gaji 415.300, anak 3, pasangan 1, dan tanggungan 0, sedangkan rumah tidak mempengaruhi, dikategorikan miskin karena memiliki membership function (µf) 0,5 dan mendekati 1.

B. Contoh Kasus 2 Tujuan :

Memfilter atribut-atribut dari data yang terpilih untuk menampilkan query fuzzy yang sesuai dengan keputusan dan nilai membership function

Input :

Inputan sistem berupa bahasa yang digunakan pada proses fuzzyfikasi (Rendah, Sedang, Tinggi, Banyak, Sedikit) dan untuk field rumah ada tiga pilihan (Kos, Sewa, Rumah)

Gaji Anak Pasanggan Tanggungan Rumah


(88)

Proses :

Memilih atribut data serta menentukan fuzzyfikasi bahasa terhadap data inputan, dimana nilai Tinggi untuk gaji (1.000.000 – 3.000.000), Sedikit untuk anak (0 - 3), Sedikit untuk pasangan (0 - 2),Sedikit untuk Tanggungan (0 - 3), Sewa untuk field rumah. Output :

Dengan melakukan query terhadap fuzzyfikasi data inputan serta atributnya (database kependudukan) dihasilkan gaji antara (1.562.000 – 1.698.500), anak (1 - 2), pasangan (1) dan tanggungan (0 - 2). Seperti ditunjukkan pada gambar berikut :


(89)

Analisa :

Dari query yang didapatkan diatas maka yang lebih direcomendasikan yang nilai membership functionnya mendekati 1. Jadi gaji 1.698.500, anak 1, pasangan 1, dan tanggungan 0, sedangkan rumah tidak mempengaruhi, dikategorikan sederhana karena memiliki membership function (µf) 0,35 dan mendekati 1.


(1)

Sedang untuk anak (2 - 5), Sedikit untuk pasangan(0 - 2),Sedikit untuk Tanggungan (0 - 3), Kos untuk field rumah.

Output :

Dengan melakukan query terhadap fuzzyfikasi data inputan serta atributnya (database kependudukan) dihasilkan gaji antara (415.300– 638.900), anak (3), pasangan (1) dan tanggungan (0). Seperti ditunjukkan pada gambar berikut :


(2)

81

Analisa :

Dari query yang didapatkan diatas maka yang lebih direcomendasikan yang nilai membership functionnya mendekati 1. Jadi gaji 415.300, anak 3, pasangan 1, dan tanggungan 0, sedangkan rumah tidak mempengaruhi, dikategorikan miskin karena memiliki membership function (µf) 0,5 dan mendekati 1.

B. Contoh Kasus 2 Tujuan :

Memfilter atribut-atribut dari data yang terpilih untuk menampilkan query fuzzy yang sesuai dengan keputusan dan nilai membership function

Input :

Inputan sistem berupa bahasa yang digunakan pada proses fuzzyfikasi (Rendah, Sedang, Tinggi, Banyak, Sedikit) dan untuk field rumah ada tiga pilihan (Kos, Sewa, Rumah)

Gaji Anak Pasanggan Tanggungan Rumah


(3)

3.000.000), Sedikit untuk anak (0 - 3), Sedikit untuk pasangan (0 - 2),Sedikit untuk Tanggungan (0 - 3), Sewa untuk field rumah. Output :

Dengan melakukan query terhadap fuzzyfikasi data inputan serta atributnya (database kependudukan) dihasilkan gaji antara (1.562.000 – 1.698.500), anak (1 - 2), pasangan (1) dan tanggungan (0 - 2). Seperti ditunjukkan pada gambar berikut :


(4)

83

Analisa :

Dari query yang didapatkan diatas maka yang lebih direcomendasikan yang nilai membership functionnya mendekati 1. Jadi gaji 1.698.500, anak 1, pasangan 1, dan tanggungan 0, sedangkan rumah tidak mempengaruhi, dikategorikan sederhana karena memiliki membership function (µf) 0,35 dan mendekati 1.


(5)

Kesimpulan yang dapat diambil dari pembuatan aplikasi ini, adalah : memberikan suatu nilai fuzzy pada data penduduk dan menggelompokkan data sesuai dengan inference yang berlaku. Setelah melakukan pengelompokan data kemiskinan maka dilakukan query dengan menggunakan metode fuzzy database.

5.2. Saran

Adapun saran untuk pengembangan lebih lanjut dari penulisan tugas akhir ini adalah :

Sistem aplikasi ini dapat dikembangkan lebih lanjut dengan menggunakan metode-metode lain sehingga dapat dijadikan sebagai perbandingan untuk proses pengambilan keputusan.


(6)

DAFTAR PUSTAKA

Blair, Betty, 1994, Interview with Lotfi Zadeh Creator of Fuzzy. by

Betty Blair, URL: www.azer.com/aiweb/categories/magazine/24_folder/

24_articles/24_fuzzylogic.html

Cox, E., 1994, “The Fuzzy Systems Handbook”, Academic Press, Inc.

Chin Liang Chang, 38–1, Fuzzy-Logic Based Query Representation in Decision Support, Nicesoft Corporation.

Fuzzy Team, Belajar Logika Fuzzy, Laboratorium Mikroelektronika ITN Malang Fathansyah, Ir, 1999, “ Basis Data”, Informatika, Bandung.

Kosko, Bart,1992, Neural Networks and Fuzzy System : A Dynamical System Application to Machine Intelligence., Prentice Hall, inc.

Kendall, and Kendall, Copyright © 2002, 1999, 1995, 1992, Systems analysis And Design, by Pearson Education, Upper Saddle River, New Jersey.

L. Feng, 2001, “Using Fuzzy Linguistic Representation to Provide Explanatory

Semantics for Data warehouse”, is with the Department of Computer

Science, University of Twente, Netherlands.

Sri Kusumadewi dan Hari Purnomo, 2004, “Aplikasi Logika Fuzzy Untuk Pendukung Keputusan”, Graha Ilmu, Yogyakarta.