• Tidak ada hasil yang ditemukan

PERANCANGAN DAN PEMBUATAN FUZZY QUERY DATABASE UNTUK PEREKOMENDASIAN PENERIMA BEASISWA.

N/A
N/A
Protected

Academic year: 2017

Membagikan "PERANCANGAN DAN PEMBUATAN FUZZY QUERY DATABASE UNTUK PEREKOMENDASIAN PENERIMA BEASISWA."

Copied!
83
0
0

Teks penuh

(1)

TUGAS AKHIR

Disusun oleh :

IBRAHIM TAUHID

NPM. 0534010239

PROGRAM STUDI SISTEM INFORMASI

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN“

JAWA TIMUR

(2)

rahmat, karunia serta hidayah-Nya, sehingga penulis dapat menyelesaikan Tugas Akhir ini serta menyelesaikan pembuatan laporan Tugas Akhir dengan judul “Perancangan Dan Pembuatan Fuzzy Query Database Untuk Perekomendasian Penerima Beasiswa”.

Aplikasi Fuzzy Query Database Untuk Perekomendasian Penerima Beasiswa adalah suatu aplikasi yang digunakan untuk mencari mahasiswa yang berhak mendapatkan beasiswa dengan metode fuzzy query.

Penyusun menyadari bahwa masih banyak kekurangan dari laporan yang telah dibuat ini. Oleh karena itu, penyusun mengharapkan saran dan kritik agar laporan ini menjadi lebih baik dan mungkin dapat disempurnakan menjadi lebih baik.

Penyusun berharap semoga laporan ini dapat memberikan manfaat baik bagi kami selaku Mahasiswa maupun bagi para Pengajar yang telah membaca laporan ini.

Surabaya, Juni 2010

 

                    Penyusun

(3)

nikmat, rahmat dan kasih sayang-Nya pada hamba-Nya yang lemah ini. Sehingga kami dapat menyelesaikan Tugas Akhir ini. Selesainya Tugas Akhir ini tak akan lepas dari bantuan, bimbingan, dan dukungan dari berbagai pihak.

Oleh karena itu dalam halaman ini ingin rasanya kami sampaikan ucapan terima kasih kepada:

1. Ayah dan Ibu yang sangat kusayangi dan kuhormati. Atas dukungan, pengorbanan dan do’amulah anakmu ini bisa terus menuntut ilmu. Anakmu ini tidak akan bisa membalas semua kasih sayang dan pengorbanan yang telah engkau berikan. Ma’afkan kalau anakmu ini tidak bisa menyenangkan hatimu, tapi saya akan terus berusaha. Insya Allah yang kalian berikan ini tidak akan sia-sia dan saya akan memberikan yang terbaik buat kalian.

2. Bapak Ir. Teguh Sudarto, MM selaku Rektor Universitas Pembangunan Nasional “Veteran” Jawa Timur.

3. Bapak Ir.Sutiyono, MT selaku Dekan Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur.

4. Bapak Basuki Rahmat, S.Si, MT selaku Ketua Program Studi Teknik Informatika Universitas Pembangunan Nasional “Veteran” Jawa Timur.

(4)

6. Bapak M. Irwan Afandi, ST, MSc selaku dosen pembimbing I yang dengan sabar memberikan arahan dan mencurahkan waktu, ilmu, kesabaran dan pengertiaannya selama pembuatan Tugas Akhir ini.

7. Ibu Fetty Tri Anggraeny, S.Kom selaku dosen pembimbing II yang telah rela tersita waktu, tenaga, dan pikiran dalam membantu dalam perancangan sistem serta memberi arahan dalam pembuatan sistem.

8. Bapak Basuki Rahmat, S.Si, MT, Doddy Ridwandono, S.Kom dan I Made Kamisutara, S.Kom, M.Kom selaku dosen penguji sidang tugas akhir yang telah memberikan banyak kritik dan saran serta memberikan wawasan yang lebih luas. 9. Seluruh dosen Teknik Informatika yang telah memberikan ilmu, wawasan,

tenaga dan waktunya dalam mengembangkan wawasan serta ilmu berkaitan dengan informasi dan teknologi.

10. Untuk Mbak Ari terima kasih yang telah memotivasiku agar pengerjaan tugas akhir dapat cepat terselesaikan.

11. Buat sahabat dan teman-temanku, terima kasih telah menjadi sahabat dan teman yang baik buat aku, Nadhif (trim’s buat motivasinya), Bagus Na’im, Rizal Amer, Andre Muslim, Ricky Alexternative (smangat bro..), Peri, Yoehar, Qoyyim, Bagus Gendut, Rambo, Eko Fajar, Ragil, Irma, Didok, Jojo, Tita Solo, Sari, Dodik Dores, Mbah Yogi, Vidi Burger, Tulus, Errin, Fuan, Andi jay, Ratih,

(5)

  v

(6)

KATA PENGANTAR ... ii

BAB III ANALISA DAN PERANCANGAN SISTEM... 25

3.1 Analisa Sistem... 25

(7)

.

3.4.1 Perancangan antar muka Menu Data Mahasiswa... 44

BAB IV IMPLEMENTASI SISTEM... 47

4.1 Lingkungan Implementasi... 47

4.2 Implementasi Sistem ... 48

5.4.2 Perbandingan Fuzzy Query dengan Query Logika Tegas... 69

(8)

DAFTAR PUSTAKA... 72

(9)

Gambar 2.2 Perbandingan logika tegas dan logika Fuzzy dalam umur ... 8

Gambar 2.3 Contoh Variabel Penghasilan Orang Tua... 9

Gambar 2.4 Representasi linear naik ... 11

Gambar 2.5 Representasi Linear Turun ... 12

Gambar 2.6 Representasi Kurva Segitiga ... 12

Gambar 2.7 Representasi Kurva trapesium... 13

Gambar 2.8 Daerah bahu pada variabel temperatur... 14

Gambar 2.9 Himpunan fuzzy dengan kurva S-PERTUMBUHAN... 15

Gambar 2.10 Himpunan fuzzy dengan kurva S-PENYUSUTAN... 15

Gambar 2.11 Himpunan fuzzy dengan kurva PI. ... 16

Gambar 2.12 Himpunan fuzzy dengan kurva BETA... 17

Gambar 2.13 Himpunan fuzzy dengan kurva GAUSS ... 18

Gambar 3.1 Bagan sistem ... 26

Gambar 3.2 Flowchart... 27

Gambar 3.3 Fungsi keanggotaan kurva S-Penyusutan... 29

Gambar 3.4 Fungsi keanggotaan kurva S-Pertumbuhan... 29

Gambar 3.5 Fungsi keanggotaan kurva Bahu ... 31

Gambar 3.6 Fungsi keanggotaan kurva Bahu ... 32

Gambar 3.7 Fungsi keanggotaan kurva S-Penyusutan... 32

Gambar 3.8 Fungsi keanggotaan kurva S-Pertmbuhan... 33

(10)

Gambar 4.7 form memasukkan fuzzy set fungsi kurva bahu... 55

Gambar 4.8 Form memasukkan query ... 55

Gambar 4.9 Form hasil... 56

Gambar 5.1 Data variabel fuzzy Absensi baik... 59

Gambar 5.2 Data variabel fuzzy IPK baik ... 59

Gambar 5.3 Data variabel fuzzy TOEFL ... 60

Gambar 5.4 Data variabel fuzzy PENGHASILAN_ORTU... 60

Gambar 5.5 Kurva Absensi baik ... 61

Gambar 5.6 Form Data himpunan fuzzy Absensi baik ... 61

Gambar 5.7 Kurva IPK baik ... 62

Gambar 5.8 Data himpunan fuzzy IPK baik ... 62

Gambar 5.9 Kurva TOEFL ... 63

Gambar 5.10 Data himpunan fuzzy TOEFL ... 64

Gambar 5.11 Kurva Penghasilan Ortu ... 65

Gambar 5.12 Data himpunan fuzzy PENGHASILAN_ORTU... 65

Gambar 5.13 Query... 66

Gambar 5.14 Data hasil... 67

Gambar 5.15 Data Hasil perhitungan Fuzzy ... 67

(11)

Tabel 2.1 Tabel empinfo ... 22

Tabel 3.1 Tabel Data mahasiswa ... 28

Tabel 3.2 Data contoh perhitungan fuzzy ... 32

Tabel 3.3 Hasil perhitungan fuzzy ... 34

Tabel 3.4 Hasil Perhitungan Fuzzy Query ... 34

Tabel 3.5 Tabel data mahasiswa ... 41

Tabel 3.6 Tabel hf ... 41

Tabel 3.7 Tabel temp1... 42

Tabel 3.8 Tabel temp2... 42

Tabel 3.9 Tabel hasil_1 ... 43

Tabel 3.10 Tabel hasil_2 ... 43

Tabel 3.11 Tabel history_query ... 43

Tabel 5.1 Tabel data mahasiswa ... 58

Tabel 5.2 Tabel data mahasiswa (lanjutan)... 58

Tabel 5.3 Data Hasil perhitungan fungsi keanggotaan ... 68

Tabel 5.4 Data Hasil perhitungan fungsi keanggotaan (lanjutan)... 68

Tabel 5.5 Data Hasil perhitungan Logika Tegas... 69

(12)

xii

Rumus 2.1 Linear Naik ... 11

Rumus 2.2 Linear Turun ... 12

Rumus 2.3 Kurva Segitiga ... 12

Rumus 2.4 Kurva Trapesium ... 13

Rumus 2.5 Kurva S-Pertumbuhan ... 15

Rumus 2.6 Kurva S-Penyusutan ... 15

Rumus 2.7 Kurva PI... 16

Rumus 2.8 Kurva BETA ... 17

Rumus 2.9 Kurva GAUSS ... 18

Rumus 2.10 Operator AND ... 18

Rumus 2.11 Operator OR... 19

(13)

1.1Latar Belakang

Sampai saat ini, sistem database hanya mampu menangani data yang bersifat pasti. Begitu pula pada proses query, yang menggunakan bahasa Structure

Query Language (SQL), kondisi-kondisi yang diberikan hanya mampu menangani

kondisi yang sifatnya pasti. Dimana kondisi yang pasti tersebut berarti struktur dan parameter dari model telah diketahui secara tepat.

Sedangkan dalam kondisi yang nyata seringkali kita dihadapkan pada suatu kondisi yang memiliki nilai yang samar, tidak pasti (uncertain), atau ambigu. Seperti kondisi dimana kita akan mencari mahasiswa yang layak direkomendasikan untuk mendapat beasiswa. Kondisi yang samar berarti tidak terdapat suatu definisi yang pasti terhadap kondisi tersebut. Kondisi ambigu berarti suatu kondisi dimana terjadi ketidakjelasan dari beberapa pilihan yang harus diterima, yang mana yang benar.

Pada proses untuk menentukan atau mencari mahasiswa yang layak direkomendasikan untuk mendapat beasiswa, tentunya kita memiliki kriteria-kriteria mahasiswa yang layak untuk direkomendasikan. Kriteria-kriteria-kriteria tersebut memiliki nilai yang tidak pasti. Sedangkan data yang ada pada database institusi adalah data yang bernilai pasti. Oleh karena itu, untuk menangani kriteria-kriteria yang memiliki nilai yang tidak pasti tersebut kita dapat menggunakan logika

fuzzy.

(14)

1.2Rumusan Masalah

Berdasarkan dari latar belakang diatas maka dapat dirumuskan masalah sebagai berikut :

1. Bagaimana memasukkan logika fuzzy kedalam query.

2. Bagaimana menentukan seberapa layak seorang mahasiswa untuk direkomendasikan mendapat beasiswa berdasarkan kriteria-kriteria yang dimasukkan.

1.3Batasan Masalah

Batasan Masalah Dari Tugas Akhir ini, yaitu : 1. Variabel Fuzzy

a. Jika fungsi keanggotaan yang dipilih untuk himpunan fuzzy- nya adalah Kurva Bahu, maka pengguna harus memasukkan himpunan fuzzy minimal 3 (tiga).

b. Tidak diperbolehkan menggunakan nama variabel fuzzy yang sama.

c. Fungsi kurva yang digunakan hanya menggunakan 2 kurva saja, yaitu fungsi kurva bahu dan fungsi kurva – S.

2. Query

a. Query yang bisa dilakukan hanya statement SELECT.

b. Query yang dilakukan tidak menangani data dari tabel yang berbeda

(berelasi).

(15)

3. Aplikasi hanya digunakan untuk menghitung perekomendasian calon penerima beasiswa seperti beasiswa Supersemar ataupun jenis beasiswa yang lainnnya..

1.4Tujuan

Tujuan dari Proyek Tugas Akhir ini adalah:

Merancang dan membuat suatu perangkat lunak yang dapat membantu untuk melakukan penyeleksian dalam memilih mahasiswa yang layak untuk direkomendasikan untuk mmendapat beasiswa.

1.5Manfaat

Berdasarkan dari latar belakang diatas maka dapat dirumuskan manfaat sebagai berikut :

1. Para pengguna dapat mengetahui hasil akhir dari input-an user guna mendapatkan calon penerima beasiswa yang sesuai dengan parameter yang diberikan.

2. memudahkan para pengguna dalam menyaring calon penerima beasiswa.

1.6Metodelogi

Metodologi yang digunakan dalam menyelesaikan tugas akhir ini adalah sebagai berikut :

A. Studi literatur

(16)

B. Perancangan perangkat lunak

Tahap ini meliputi analisa dan desain sistem. Analisa yang akan dilakukan antara lain analisa proses dan aliran data. Pada tahap ini dilakukan desain tampilan antar muka.

C. Pembuatan perangkat lunak

Pada tahap ini dilakukan implementasi dari rancangan yang telah dibuat pada tahap sebelumnya menjadi suatu perangkat lunak.

D. Uji coba dan evaluasi

Pada tahap ini dilakukan uji coba terhadap perangkat lunak yang telah dibuat untuk mengetahui kemampuan metode yang dipakai.

E. Penyusunan laporan tugas akhir

Pada tahap ini dilakukan penyusunan laporan yang berisi dasar teori, dokumentasi dari perangkat lunak, dan hasil hasil yang diperoleh selama pengerjaan tugas akhir.

1.7 Sistematika Penulisan

Sistematika penulisan dalam penyusunan laporan proyek akhir ini adalah : A. BAB I, Pendahuluan, berisi latar belakang, permasalahan, tujuan,

batasan permasalahan, metodologi, dan sistematika pembahasan. B. BAB II, Teori Penunjang, akan dibahas dasar ilmu yang mendukung

(17)

C. BAB III, Analisis dan Perancangan Sistem, akan dibahas analisa dan desain sistem secara terstruktur, yang dilengkapi dengan beberapa diagram dan pseudocode algoritma.

D. BAB IV, Implementasi, akan dilakukan implementasi sistem yang dibangun dengan literatur - literatur yang telah ada yang sesuai dengan permasalahan dan batasannya yang telah dijabarkan pada bab sebelumnya.

E. Bab V, Uji Coba dan Eavaluasi Hasil, akan dilakukan uji coba berdasarkan parameter-parameter yang ditetapkan, dan kemudian dilakukan analisis terhadap hasil uji coba tersebut.

(18)

2.1Logika Fuzzy

2.1.1 Pendahuluan

Teori logika fuzzy dikembangkan oleh Prof. Lotfi Zadeh pada sekitar tahun

1960-an dengan penentuan himpunan fuzzy. Sebelum munculnya teori logika fuzzy,

(Fuzzy Logic), dikenal sebuah logika tegas (Crisp Logic) yang memiliki nilai benar

atau salah secara tegas. sebaliknya logika fuzzy merupakan sebuah logika yang

memiliki nilai kekaburan atau kesamaran (fuzzyness) antara benar dan salah. Dalam

teori logika fuzzy sebuah nilai bisa bernilai benar dan salah secara bersamaan namun

berapa besar kebenaran dan kesalahan suatu nilai tergantung kepada bobot

keanggotaan yang dimilikinya.

Fuzzy dapat didefinisikan sebagai logika kabur berkenaan dengan semantik

dari suatu kejadian, fenomena atau pernyataan itu sendiri. Kelebihan dari teori

logika fuzzy adalah kemampuan dalam proses penalaran secara bahasa

(linguistic reasoning), sehingga dalam perancangannya tidak memerlukan

persamaan matematik dari objek yang akan dikendalikan.

Ada beberapa alasan mengapa seseorang menggunakan logika fuzzy, antara

lain :

1. Konsep logika fuzzy mudah dimengerti. Konsep matematis yang

mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti.

2. Logika fuzzy sangat fleksibel.

(19)

3. Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat.

4. Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat

kompleks.

5. Logika fuzzy dapat membangun dan mengaplikasikan

pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses

pelatihan.

6. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara

konvensional

7. Logika fuzzy didasarkan pada bahasa alami

2.1.2 Perbedaan Logika Fuzzy dengan Logika Tegas

Perbedaan antara kedua jenis logika tersebut adalah logika tegas memiliki

nilai tidak = 0.0 dan ya = 1.0, sedangkan logika fuzzy memiliki nilai antara 0.0

hingga 1.0. Secara grafik perbedaan antara logika fuzzy dan logika tegas

ditunjukkan oleh gambar dibawah ini :

Y

Gambar 2.1 (a) logika Tegas dan (b) logika fuzzy

Didalam gambar 2.1 (a) apabila X lebih dari atau sama dengan 10 baru

(20)

adalah salah yaitu Y = 0. maka angka 9 atau 8 atau 7 dan seterusnya adalah

dikatakan salah .

Didalam gambar 2.1 (b) nilai X = 9, atau 8 atau 7 atau antara nilai 0 dan

10 adalah dikatakan ada benarnya dan juga ada salahnya.

Dalam contoh kehidupan kita dikatakan seseorang dikatakan sudah dewasa

apabila berumur lebih dari 17 tahun, maka siapapun yang kurang dari umur

tersebut didalam logika tegas akan dikatakan sebagai tidak dewasa atau

anak-anak. Sedangkan dalam hal ini pada logika fuzzy umur dibawah 17 tahun dapat

saja dikategorikan dewasa tapi tidak penuh, misal untuk umur 16 tahun atau 15

tahun atau 14 tahun atau 13 tahun. Secara grafik dapat diagmbarkan sebagai

berikut:

Gambar 2.2 perbandingan contoh (a) logika tegas dan (b) logika fuzzy dalam penentuan golongan umur manusia

2.1.3 Beberapa Hal yang Terdapat dalam Sistem Fuzzy

Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu :

a. Variable fuzzy

Variable fuzzy merupakan variabel yang akan dibahas dalam suatu sistem

(21)

b. Himpunan fuzzy

Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau

keadaan tertentu dalam suatu variabel fuzzy.

Contoh :

- Variabel penghasilan orang tua dibagi menjadi 3 himpunan fuzzy, yaitu

: RENDAH, SEDANG dan TINGGI.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Gambar 2.3 contoh variabel penghasilan orang tua

Sedangkan atribut – atribut pada himpunan fuzzy yaitu :

- Linguistik, yaitu penamaan suatu grup yang mewakili suatu keadaan

atau kondisi tertentu dengan menggunakan bahasa alami, seperti :

MUDA, PAROBAYA dan TUA.

- Numeris, yaitu suatu nilai yang menunjukkan ukuran dari suatu

variabel, seperti: 40, 50, 65, dsb.

c. Semesta pembicaraan

Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk

dioperasikan dalam suatu variabel fuzzy. Nilai semesta pembicaraan

(22)

Kadangkala nilai semesta pembicaraan tidak dibatasi batas atasnya dan

bisa berupa bilangan positif atau negatif.

- semesta pembicaraan untuk variabel kecepatan : [0 50].

- Semesta pembicaraan untuk variabel suhu : [-20 40]

d. Domain

Domain adalah keseluruhan nilai yang diijinkan dalam semesta

pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy.

Contoh domain himpunan fuzzy :

o LAMBAT : [0, 30]

2.1.4 Fungsi Keanggotaan

Zadeh menjelaskan macam-macam dari fungsi keanggotaan yang

diklasifikasikan menjadi 2 (dua) grup: yang terdiri dari garis lurus atau “linear”

dan berbentuk Gaussian atau garis belok. penulis akan menjelaskan beberapa tipe

(23)

a. Representasi Linear

Pada representasi linear, pemetaan input ke derajat keanggotaannya

digambarkan sebagai suatu garis lurus. Bentuk ini paling sederhana dan menjadi

pilihan yang baik untuk mendekati suatu konsep yang kurang jelas.

Ada 2 macam himpunan fuzzy linear, yaitu :

1. Linear Naik

Kenaikan himpunan dimulai pada nilai domain yang memiliki derajat

keanggotaan nol (0) bergerak ke kanan menuju ke nilai domain yang memiliki

derajat keanggotaan lebih tinggi (Gambar 2.4).

Gambar 2.4 Representasi Linear Naik

Fungsi Keanggotaan :

0; x ≤ a

[x] = ( x – a ) /( b - a ); a ≤ x ≤ b ( 2.1 ) 1; x ≥ b

2. Linear Turun

Representasi linear turun merupakan kebalikan dari linear naik, dimana

garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi

pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat

(24)

Gambar 2.5 Representasi Linear Turun

Fungsi Keanggotaan :

[x] = ( b – x ) /( b - a ); a ≤ x ≤ b ( 2.2 ) 0; x ≥ b

b. Representasi Kurva Segitiga

Kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear seperti

terlihat pada Gambar 2.6.

Gambar 2.6 Representasi Kurva Segitiga

Fungsi Keanggotaan :

0; x ≤ a atau x ≥ c

(25)

c. Representasi Kurva Trapesium

Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa

titik yang memiliki nilai keanggotaan 1 (Gambar 2.7).

Gambar 2.7 Representasi Kurva Trapesium

Fungsi Keanggotaan :

0; x ≤ a atau x ≥ d

[x] = ( x – a ) /( b - a ); a ≤ x ≤ b ( 2.4 ) 1; b ≤ x ≤ c

d. Representasi Kurva Bentuk Bahu

Daerah yang terletak di tengah-tengah suatu variabel yang direpresentasikan

dalam bentuk segitiga, pada sisi kanan dan kirinya akan naik dan turun (misalkan:

DINGIN bergerak ke SEJUK bergerak ke HANGAT dan bergerak ke PANAS).

Tetapi terkadang salah satu sisi dari variabel tersebut tidak mengalami perubahan.

Sebagai contoh, apabila telah mencapai kondisi PANAS, kenaikan temperatur akan

tetap berada pada kondisi PANAS. Himpunan fuzzy 'bahu', bukan segitiga, digunakan

untuk mengakhiri variabel suatu daerah fuzzy. Bahu kiri bergerak dari benar ke salah,

sebaliknya bahu kanan bergerak dari salah ke benar. Gambar 2.8 menunjukkan variabel

(26)

Gambar 2.8 daerah bahu pada variabel temperatur

e. Representasi Kurva – S

Kurva PERTUMBUHAN dan kurva PENYUSUTAN merupakan kurva-S

atau sigmoid yang berhubungan dengan kenaikan dan penurunan permukaan

secara non linear.

1. Kurva S-PERTUMBUHAN

Kurva S-PERTUMBUHAN akan bergerak dari sis paling kiri (nilai

keanggotaan = 0) ke sisi paling kanan (nilai keanggotaan = 1). Fungsi

keanggotaannya akan tertumpu pada 50% nilai keanggotaannya yang sering

disebut dengan titik infleksi. (gambar 2.9)

(27)

Fungsi Keanggotaan kurva S-Pertumbuhan :

Kurva-S untuk penyusutan akan bergerak dari sisi yang paling kanan

(nilai keanggotaan = 1) ke sisi paling kiri (nilai keangotaan = 0).

Gambar 2.10 Himpunan fuzzy dengan kurva S-PENYUSUTAN

Fungsi Keanggotaan kurva S-Penyusutan : 1; x ≤α

(x; α, , ) = 1-2(( x – α ) /( - α ))2; α≤ x ≤ ( 2.6 ) 2(( – x ) /( - α ))2; ≤ x ≤

0; x ≥

f. Representasi Kurva Bentuk Lonceng

Untuk merepresentasikan bilangan fuzzy, biasanya digunakan kurva

berbentuk lonceng. Kurva berbentuk lonceng ini terbagi atas 3 kelas, yaitu :

Himpunan Fuzzy PI, beta dan Gauss. Perbedaan dari ketiga kurva ini terletak

(28)

1. Kurva PI

Kurva PI berbentuk lonceng dengan derajat keanggotaan 1 terletak pada

pusat dengan domain ( ) dan lebar kurva ( ) seperti terlihat pada gambar 2.10.

nilai kurva untuk suatu nilai domain x diberikan sebagai :

Gambar 2.11 Himpunan fuzzy dengan kurva PI

Fungsi keanggotaan:

( 2.7 )

2. Kurva BETA

Seperti halnya kurva PI, kurva BETA juga berbrntuk lonceng, namun lebih

rapat. Kurva ini juga didefinisikan dengan 2 parameter yaitu nilai pada domain

yang menunjukkan pusat kuva ( ), dan setengah lebar kurva ( ) seperti

terlihat pada gambar 2.11. nilai kurva untuk suatu nilai domain x diberikan

(29)

Gambar 2.12 Himpunan fuzzy dengan kurva BETA

Fungsi keanggotaan:

Salah satu perbedaan mencolok kurva BETA dan kurva PI adalah fungsi

keanggotaannya akan mendekati nol hanya jika nilai ( ) sangat besar. ( 2.8 )

3. Kurva GAUSS

Jika kurva PI dan kurva BETA menggunakan 2 parameter yaitu ( ) dan ( ),

kurva GAUSS menggunakan ( ) untuk menunjukkan nilai domain pada pusat

(30)

Gambar 2.13 Himpunan fuzzy dengan kurva GAUSS

Fungsi keanggotaan:

2.1.5 Operator Dasar Zadeh

Ada beberapa operasi fuzzy yang didefinisikan secara khusus untuk

mengkombinasi dan memodifikasi himpunan fuzzy. Nilai keanggotaan sebagai

hasil dari operasi 2 himpunan sering dikenalnama fire strength atau α-predikat.

Zadeh menentukan 3 operator dasar untuk menentukan nilai keanggotaan. Yaitu : ( 2.9 )

a. Operator AND

Operator ini berhubungan dengan operasi interseksi pada himpunan. α

-predikat sebagai hasil operasi dengan operator AND diperoleh mengambil nilai

keanggotaan terkecil antar elemen pada himpunan-himpunan yang

bersangkutan.

(31)

Contoh:

Misalkan nilai keanggotaan 27 tahun pada himpunan MUDA adalah 0,6

(MUDA[27]=0,6); dan nilai keanggotaan Rp.2.000.000,- pada himpunanpenghasilan TINGGI

adalah 0,8 (GAJITINGGI[2x106]=0,8); maka: Nilai -predikat untuk usia MUDA dan

berpenghasilan TINGGI adalah:

MUDAGAJITINGGI = min(MUDA[27], GAJITINGGI[2x106])

= min(0,6;0,8)

= 0,6

b. Operator OR

Operator ini berhubungan dengan operasi union pada himpunan. α

-predikat sebagai hasil operasi dengan operator OR diperoleh mengambil nilai

keanggotaan terbesar antar elemen pada himpunan-himpunan yang

bersangkutan.

μAUB = max(μA[x], μB[y]) ( 2.11 )

Contoh :

Pada contoh operator AND dapat dihitung nilai -predikat untuk usia MUDA atau

berpenghasilan TINGGI adalah:

MUDAUGAJITINGGI = max(MUDA[27], GAJITINGGI[2x106])

= max(0,6;0,8)

(32)

c. Operator NOT

Operator ini berhubungan dengan operasi komplemen himpunan. α-predikat

sebagai hasil operasi dengan operator NOT diperoleh dengan mengurangkan

nilai keanggotaan elemen pada himpunan yang bersangkutan dari 1.

μA’= 1-μA[x] ( 2.12 )

Contoh :

Pada contoh operator AND dapat dihitung nilai -predikat untuk usia

TIDAK MUDA adalah:

MUDA' = 1 - MUDA[27]

= 1 - 0,6

= 0,4

2.2 Database

Database merupakan kumpulan dari item data yang saling berhubungan satu

dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur

tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan

manipulasi untuk kegunaan tertentu.

2.3 SQL (Structured Query Language)

SQL (dibaca "ess-que-el") singkatan dari Structured Query Language. SQL

adalah bahasa yang digunakan untuk berkomunikasi dengan database. Menurut ANSI

(American National Standards Institute), bahasa ini merupakan standard untuk

relational database management sistems (RDBMS).

SQL adalah bahasa pemrograman yang digunakan untuk akses ke database.

(33)

dengan diperkenalkannya konsep Relational Database. Setelah mengalami banyak

perkembangan, pada masa kini SQL sudah merupakan bahasa yang lazim digunakan

dalam dunia database.

Bahasa dapat digolongkan bahsa generasi ke empat yang tidak berupa bahasa

yang berstruktur dan beraturan seperti C dan Pascal (golongan bahasa generasi ke

tiga). Oleh karena itu bahasa SQL mudah dipelajari.

Pernyataan-pernyataan SQL digunakan untuk melakukan beberapa tugas

seperti : update data pada database, atau menampilkan data dari database. Beberapa

software RDBMS dan dapat menggunakan SQL, seperti : Oracle, Sybase, Microsoft

SQL Server, Microsoft Access, dsb. Setiap software database mempunyai bahasa

perintah / sintaks yang berbeda, namun pada prinsipnya mempunyai arti dan fungsi

yang sama.

Perintah-perintah tsb antara lain : "Select", "Insert", "Update", "Delete",

"Create", dan "Drop", yang dapat digunakan untuk mengerjakan hampir semua

kebutuhan untuk memanipulasi sebuah database.

Di bawah ini adalah beberapa contoh perintah-perintah Query dalam Microsoft

SQL Server :

Create : digunakan untuk membuat tabel baru

contoh :

create table empinfo (Id varchar (5), first_name varchar(15), last_name

varchar(20), address varchar(30), city varchar(20), state varchar(20));

Select : digunakan untuk menampilkan data sesuai kriteria yang kita tentukan.

(34)

Tabel 2.1 Tabel empinfo

San Diego California

88233 Mary Ann Edwards Jl.

Tampilkan first name dan address untuk tabel di atas :

select first_name, age from empinfo;

Tampilkan first name, last name, and city yang bukan Payson.

select first_name, last_name, city from empinfo where city <> 'Payson';

Tampilkan semua kolom dimana first name sama dengan "Mary".

select * from empinfo where first_name = 'Mary';

Tampilkan semua kolom dimana first name mengandung "Mary".

(35)

Insert : digunakan untuk menyisipkan atau menambah baris pada tabel.

contoh : Sisipkan ke dalam table empinfo dengan pada field first name : Luke,

last name : Duke, address :2130 Boars Nest, city : Peachtree, State : Georgia

Perintahnya adalah sbb :

insert into empinfo (first_name, last_name, address, city, state)

values ('Luke', 'Duke', '2130 Boars Nest', 'Peachtree’, 'Georgia');

Update : digunakan untuk mengupdate atau merubah isi data dalam table.

contoh : Perhatikan tabel di atas; Pegawai yang bernama Elroy Cleaver pindah

rumah dengan alamat yang baru yaitu; address : Jl.Bojong 12, city : Depok,

State : West Java.

Perintahnya adalah sbb :

update empinfo set address = ‘Jl.Bojong 12’, city = ‘Depok’, State = ‘West

Java’ where id=32382

Delete : digunakan untuk menghapus baris/record data dalam table.

contoh : delete from empinfo where lastname = 'May';

Drop : digunakan untuk menghapus tabel

contoh : drop table empinfo

2.4 Beasiswa

Beasiswa adalah pemberian berupa bantuan keuangan yang diberikan

kepada perorangan yang bertujuan untuk digunakan demi keberlangsungan

(36)

perusahaan ataupun yayasan. Pemberian beasiswa dapat dikategorikan pada

pemberian cuma-cuma ataupun pemberian dengan ikatan kerja (biasa disebut

ikatan dinas) setelah selesainya pendidikan. Lama ikatan dinas ini berbeda-beda,

(37)

3.1 Analisa Sistem

Dalam sub bab ini akan dibahas mengenai analisa dari sistem aplikasi

fuzzy query. Aplikasi fuzzy query tersebut akan memberikan rekomendasi

mahasiswa yang akan diajukan menerima beasiswa dengan memberikan

rekomendasi peringkat hasil fuzzy dari angka 1 sampai dengan 0. Dimana nilai

fuzzy yang mendekati peringkat 1 akan semakin direkomendasikan menerima

beasiswa begitu juga sebaliknya dimana bagi nilai fuzzy yang akan mendekati

nilai 0 akan semakin tidak direkomendasikan untuk tidak menerima beasiswa.

Data yang akan digunakan untuk proses perhitungan fuzzy berasal dari tabel data

mahasiswa, dimana pengguna dapat menambahkan atau mengurangi data

mahasiswa berdasarkan masukan data mahasiswa yang akan digunakan untuk

proses perhitungan fuzzy. Sementara untuk variabel dan himpunan fuzzy,

pengguna dapat menentukan sendiri variabel dan himpunan fuzzy yang akan

digunakan untuk proses perhitungan fuzzy. Setelah pengguna selesai untuk

menentukan variabel dan himpunan fuzzy, kemudian pengguna akan memasukkan

jumlah semesta pembicaraan serta domain yang akan dihitung yang kemudian

hasil dari perhitungan tadi akan dimasukkan kedalam database. Setealah proses

perhitungan selesai maka pengguna dapat menentukan fuzzy query yang

selanjutnya kita akan mendapatkan peringkat rekomendasi mahasiswa yang akan

mendapatkan beasiswa.

(38)

Desain dan isi sebuah sistem berbasis web ini memerlukan pemrograman

berbasis web yang mempunyai dukungan yang kuat yang dapat terintegrasi

dengan database. Bahasa pemrograman PHP adalah bahasa pemrograman

dinamis berbasis web. PHP mempunyai kemampuan tergabung dengan semua

jenis database seperti database MySQL.

3.2Perancangan Sistem

Secara umum sistem yang akan dibuat adalah seperti gambar 3.2 bagan di

bawah ini :

Gambar 3.1 Bagan system

3.2.1 Flowchart

Perancangan flowchart dalam desain sistem dapat digambarkan pada

(39)

Gambar 3.2 Flowchart Asplikasi

(40)

Pengguna dari sistem fuzzy ini memiliki beberapa tahapan proses untuk

menentukan hasil akhir dari perhitungan fuzzy, antara lain :

1. Input data mahasiswa.

2. Menentukan fungsi kurva yang akan dipakai proses perhitungan.

3. Mendefinisikan variabel fuzzy, himpunan fuzzy serta fungsi

keanggotaan fuzzy.

4. Setelah proses perhitunan selesai, selanjutnya pangguna memasukkan

fuzzy query untuk menghitung nilai fire strenght.

5. Hasil dari perhitungan fire strenght.

3.2.2 Fuzzy Sistem

Desain dari perancangan aplikasi fuzzy query ini didasarkan pada

perancangan perhitungan fuzzy yang melalui beberapa tahapan untuk

mendapatkan hasil akhir yang dibutuhkan oleh pengguna. Berikut adalah contoh

perhitungan fuzzy query :

1. Berikut adalah contoh data mahasiswa :

Tabel 3.1 Data Mahasiswa

NAMA NPM ABSENSI IPK TOEFL PENG. ORTU

2. Mendefinisikan variabel fuzzy serta dari masing-masing variabel fuzzy

(41)

 Absensi

o Himpunan fuzzy : BAIK

o Fungsi keanggotaan : Kurva S-PENYUSUTAN

o Semesta pembicaraan : 0 – 20

o Domain : 0 – 11

Berikut adalah representasi kurva dari S-PENYUSUTAN :

Gambar 3.3 Fungsi keanggotaan kurva S-Penyusutan

(2.6)

11 20

10 1

0

Domain

 IPK

o Himpunan fuzzy : BAIK

o Fungsi keanggotaan : Kurva S-PERTUMBUHAN

o Semesta pembicaraan : 0 – 4

(42)

Gambar 3.4 Fungsi keanggotaan kurva S-Pertumbuhan

o Fungsi keanggotaan : Kurva BAHU

(43)

 Domain :

Gambar 3.5 Fungsi keanggotaan kurva Bahu

 Penghasilan Orang Tua

o Fungsi keanggotaan : Kurva BAHU

(44)

 Domain :

 Minimum : 800

 Maksimum : 1500

Gambar 3.6 Fungsi keanggotaan kurva Bahu

3. PROSES PERHITUNGAN FUZZY

Contoh perhitungan fungsi keanggotaan :

Penulis akan mencoba menghitung salah satu data yang ada pada tabel di atas.

Tabel 3.2 Data contoh perhitungan fuzzy

NAMA NPM ABSENSI IPK TOEFL PENG.

(45)

(2.6)

µabsensi_baik[3] = 1-2 ((3-0)/(11-0))²

= 1-2(3/11)²

= 1-2(0.272727)²

= 1-2(0.074380)

= 1- 0.148760

= 0.85124

 IPK BAIK

4

2 3

1 1

0

Domain

Gambar 3.8 Fungsi keanggotaan kurva S-Pertmbuhan

(2.5)

µipk_baik[3.44] = 2 ((3.44-3)/(4-3))²

= 2(0.44/1)²

= 2(0.1936)

(46)

Tabel 3.3 Hasil Perhitungan Fuzzy

Lalu kita akan melakukan proses perhitungan fire strength :

Query : select * from tabel where ipk=baik and absensi=baik or toefl=tinggi and

peng_ortu=rendah.

Sehingga perhitungan fire strenght-nya adalah :

fire strength = max (min(µipk_baik, µabsensi_baik), min(µtoefl_tinggi,

µpeng_ortu_rendah))

sehingga didapat hasil perhitungan final sbb :

Tabel 3.4 Hasil Perhitungan Fuzzy Query

NAMA NPM Rekomendasi

Bagus 0534010238 0.586777

Icha 0534010234 0.586777

Naim 0534010231 0.586777

Prilly 0534010235 0.5392 Ibrahim 0534010239 0.3872

Anggi 0534010236 0.3698

(47)

Alex 0534010237 0.0882

Yoe 0534010232 0.0661157

Nadeev 0534010233 0.008

Dari hasil akhir diatas dapat disimpulkan nilai akhir dari keseluruhan

proses fuzzy query, dimana mahasiswa yang menempati ranking teratas adalah

mahasiswa yang direkomendasikan untuk penerima besasiswa.

3.2.3 Data Flow Diagram

Perancangan proses dalam pembuatan aplikasi ini dijelaskan dalam bentuk

DFD (Data Flow Diagram). DFD adalah teknik yang digunakan untuk

menjelaskan aliran informasi/transformasi data yang bergerak dari pemasukan

data hingga keluar data (structured Analysis and Design). DFD sering digunakan

untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan

dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana

data tersebut mengalir. Terdapat 2 bentuk level DFD yaitu level Context Diagram,

level 0, Level

1. Context Diagram

(48)

hasil

Gambar 3.9 Context Diagram Sistem

Dari contex diagram diatas terlihat ada dua entitas luar yang berhubungan

dengan sistem ini, yaitu: Mahasiswa dan Pengguna. Dari mahasiswa akan diperoleh

data-data mahasiswa. Sedangkan pengguna adalah orang yang menjalankan program ini.

Pengguna dapat menentukan sendiri klasifikasi dari mahasiswa yang

akan direkomendasikan yaitu dengan cara memasukkan:

o Variabel fuzzy yang dibutuhkan

o Himpunan fuzzy dari masing-masing variabel fuzzy

o Fungsi keanggotaan dari masing-masing himpunan fuzzy

Setelah itu untuk mendapatkan mahasiswa yang direkomendasikan, pengguna

dapat memasukkan query yang telah ada pada user interface.

Hasil yang diterima oleh pengguna adalah tabel yang berisi mahasiswa yang

direkomendasikan berdasarkan variable fuzzy, himpunan fuzzy, fungsi keanggotaan

(49)

2. Overview diagram

Overview diagram menunjukkan gambaran proses yang ada dalam sistem secara

garis besar. Seperti terlihat pada Gambar dibawah ini.

data tabel temp

Gambar 3.10 Overview Diagram Sistem

Dari overview diatas terlihat ada tiga proses, yaitu: proses input/edit data

mahasiswa, proses inisialisasi hal-hal yang dibutuhkan oleh sistem dan proses fuzzy

query.

a. Proses input/edit data

Pada proses ini para pengguna dapat memasukkan atau meng-edit data yang

ada pada database.

b. Proses pegumpulan data.

Pada proses ini penggun harus memasukkan hal-hal yang dibutuhkan oleh

sistem sebelum melakukan proses fuzzy query, seperti : variabel fuzzy,

(50)

digunakan untuk proses perhtungan nilai keanggotaan.

c. Proses fuzzy query

Pada proses fuzzy query dilakukan perhitungan nilai keanggotaan, dan

perhitungan fire strength

[inis ialis asi f ungs i keanggotaan]

[inis ialis asi himpunan fuz zy ] v ariabel f uz z y

Dari gambar diatas terdapat 3 proses, yaitu :

1. Pendefinisian variabel fuzzy. Pengguna dapat menentukan atau membuat sendiri

variabel fuzzy yang akan diperlukan dalam proses.

2. Pendefinisian himpunan fuzzy. Dari variabel fuzzy yang telah ditentukan oleh

(51)

dapat menetukan sendiri himpunan fuzzy pada masing masing variabel.

3. Pendefinisian fungsi keanggotaan. Pengguna dapat menentukan fungsi

keanggotaan pada masing-masing himpunan fuzzy. Pendefinisian fungsi

keanggotaan ini juga mencakup semesta pembicaraan dan domain pada

masing-masing himpunan fuzzy.

Level 1 proses 3

Detail diagram untuk proses 3 level 1 ditunjukkan oleh Gambar dibawah ini :

data temp

Pada gambar diatas, tampak bahwa proses 3 terdapat 4 proses, yaitu :

1. Perhitungan derajat keanggotaan.

Proses perhitungan derajat keanggotaan akan menghitung tiap-tiap

(52)

pengguna. Proses perhitungan derajat keanggotaan akan menghitung data

kolom tabel data_mahasiswa yang telah ditentukan pada saat variabel

fuzzy didefinisiakn oleh pengguna. Data hasil perhitungan selanjutnya

akan disimpan dalam tabel temp1 dimana nama dari setiap himpunan

fuzzy akan menjadi nama dari kolom hasil pada tabel temp1.

2. Query WHERE.

Maksud dari proses ini adalah mengambil data variabel yang ada di

sintaks WHERE.

3. Perhitungan fire strength.

Nilai dari fire strength akan menunjukkan seberapa besar system akan

memberikan rekomendasi terhadap calon penerima beasiswa dimana nilai

dari fire strength memiliki nilai berkisar 0 – 1, dimana nilai 1

menunjukkan rekomendasi penuh terhadap penerima beasiswa begitu juga

sebaliknya untuk nilai 0 atau yang mendekati nilai 0 semakin tidak

direkomendasikan untuk menjadi calon penerima beasiswa.

4. Hasil akhir.

Proses ini adalah hasil akhir dari keseluruhan proses perhitungan fuzzy

query dimana hasil dari keseluruhan perhitungan akan ditampilkan pada

sisi user untuk mengetahui nilai rekomendasi calon penerima beasiswa.

3.3Perancangan tabel

Tabel – tabel yang digunakan tidak berelasi dengan tabel yang lainnya, berikut

(53)

1. Tabel data_mahasiswa

tabel data_mahasiswa digunakan untuk menyimpan data mahasiswa yang

selanjutnya akan digunakan untuk proses perhitungan fuzzy. Berikut adalah

tabel data_mahasiswa .

Tabel 3.5 Tabel data_mahasiswa

2. Tabel hf

Tabel hf digunakan untuk menyimpan hasil perhitungan fungsi keanggotaan

(54)

3. Tabel temp1

Tabel temp1 digunakan untuk menyimpan data definisi kriteria yang

berupa variabel fuzzy, kolom data yang digunakan dari tabel data mahasiswa,

fungsi kurva yang digunakan serta himpunan fuzzy

Tabel 3.7 Tabel temp1

4. Tabel temp2

Tabel temp2 hampir memiliki struktur yang sama dengan tabel temp1,

namun fungsi dari tabel temp2 adalah untuk menyimpan variabel yang akan

digunakan sewaktu user hendak menambahkan variabel dalam query yang

akan dijalankan.

(55)

5. Tabel hasil_1

Tabel hasil_1 digunakan untuk menyimpan perhitungan hasil fire strength

sementara.

Tabel 3.9 Tabel hasil_1

6. tabel hasil_2

Tabel hasil_1 digunakan untuk menyimpan perhitungan hasil fire strength

sementara

Tabel 3.10 Tabel hasil_2

7. Tabel history_query

Tabel ini digunakan untuk menyimpan data nama tabel hasil perhitungan akhir

yang sudah dilakukan.

Tabel 3.11 Tabel history_query

3.4Perancangan Antar Muka

Perancangan antarmuka merupakan perancangan halaman aplikasi yang

berinteraksi langsung antara sistem dengan pengguna. Perancangan antarmuka

(56)

Dalam merancang antar muka aplikasi harus memudahkan pengguna dalam

mengoperasikan sistem atau aplikasi tersebut

Pembuatan Graphical User Interface (GUI) dan program dalam sistem ini

menggunakan PHP sebagai bahasa pemrograman. Konsep rancangan yang sangat

penting untuk mendesain halaman web adalah resolusi monitor. Terdapat 2 buah

resolusi yang umum digunakan pada monitor, diantaranya 800x600, 1024x768

pixel. Secara sederhana user interface yang ada sebagai berikut :

3.4.1 Perancangan Antar Muka Menu Data Mahasiswa

Pertama memasuki aplikasi, kita akan melihat halaman depan seperti :

Gambar 3.13 gambar antarmuka

Pada menu data mahasiswa berisi data tentang mahasiswa yang akan

digunakan untuk proses perhitungan fuzzy query. Pada menu ini, pengguna

(57)

Gambar 3.14 Gambar data mahasiswa

Tampilan data query waktu pengguna mau memasukkan query.

(58)

Pada bab IV ini akan dibahas mengenai implementasi dari rancangan sistem yang telah dibuat pada bab III. Bagian implementasi sistem kali ini meliputi: lingkungan implementasi, implementasi proses, uji coba serta analisa hasil uji coba.

4.1 Lingkungan Implementasi

Pada bagian ini akan dijelaskan mengenai perangkat keras dan perangkat lunak yang digunakan pada implementasi sistem ini.

Perangkat keras:

- Notebook dengan processor Intel Celeron 1,86 Ghz.

- Memory sodimm 1.5 GB.

Perangkat lunak:

- Sistem Operasi Windows XP SP2 / Mac OS X

- PHP Script Language Versi 5.2.3

- Xampp portable (localhost) - MySQL 5.0.24 (database aplikasi) - Flash 8 (animasi pada header) - Photoshop CS2 (mengolah template) - Komodo Edit, version 5.2.4, build 4343

(59)

4.2 Implementasi sistem

Pada tahap ini akan dibahas mengenai implementasi data dari perancangan sistem yang telah dibahas sebelumnya.

Pada halaman fuzzy set, halaman tersebut digunakan untuk menghitung nilai fungsi keanggotaan yang akan dipakai untuk proses fuzzy query. Untuk

syntax perhitungan antara fungsi kurva bahu dan kurva S dapat dilihat di bawah

ini.

if($data[0]<=$d_min){

$hasil = 1;

}

elseif($d_min<=$data[0] and $data[0]<=$tengah){

$hasil = ($data[0]-$d_min)/($d_max-$d_min);

$hasil = 1-2*($hasil*$hasil);

}

elseif($tengah<=$data[0] and $data[0]<=$d_max){

$hasil = ($d_max-$data[0])/($d_max-$d_min);

elseif($d_min<=$data[0] and $data[0]<=$tengah){

$hasil = ($data[0]-$d_min)/($d_max-$d_min);

$hasil = 2*($hasil*$hasil);

}

elseif($tengah<=$data[0] and $data[0]<=$d_max){

(60)

if($data[0]<=$d_min1){

$h1 = 1;

}

elseif($d_min1<=$data[0] and $data[0]<=$d_max1){

$h1 = ($d_max1-$data[0])/$dt1;

}

elseif($data[0]>=$d_max1){

$h1 = 0;

}

if($data[0]<=$d_min2 or $data[0]>=$d_max2){

$h2 = 0;

}

elseif($d_min2<=$data[0] and $data[0]<=$d_te2){

$h2 = ($data[0]-$d_min2)/$d2_1;

}

elseif($d_te2<=$data[0] and $data[0]<=$d_max2){

$h2 = ($d_max2-$data[0])/$d2_2;

}

if($data[0]<=$d_min3){

$h3 = 0;

}

elseif($d_min3<=$data[0] and $data[0]<=$d_max3){

$h3 = ($data[0]-$d_min3)/$dt3;

}

elseif($data[0]>=$d_max3){

$h3 = 1;

}

4.3 Implementasi Antar Muka

Pada tahap ini akan dijabarkan tentang implementasi antar muka dari aplikasi yang telah dibuat berdasarkan perancangan yang telah dibahas pada bab III : . Pada sistem ini terdapat beberapa form utama yaitu:

1. Form Data mahasiswa 2. Form definisi kriteria

3. Formfuzzy set

4. Form query

5. Form hasil

4.3.1 Perancangan Antar Muka Menu Data Mahasiswa

(61)

Gambar 4.1 Menu data mahasiswa

(62)

4.3.2 Menu definisi kriteria

Pada menu definisi kriteria ini merupakan inisialisasi awal untuk menentukan variabel fuzzy serta himpunan fuzzy yang akan dipakai dalam proses perhitungan fuzzy. Terdapat 3 kolom dimana masing-masing kolom memiliki fungsi yang berbeda.

Pada kolom sebelah kiri merupakan kolom variabel fuzzy yang sudah dimasukkan. User bisa merubah atau menghapus variabel serta himpunan yang sudah didefinisikan.

Gambar 4.3 Form untuk memaskkan definisi kriteria

Pada kolom sebelah tengah merupakan tombol yang digunakan jika User

(63)

perhitungan fungsi keanggotaan. jika pengguna memilih fungsi kurva bahu, maka himpunan fuzzy yang dimasukkan minimal hanya 3 dan maksimum hanya 6 himpunan fuzzy. Sedangkan pada kolom sebelah kanan merupakan tampilan untuk himpunan fuzzy pada setiap variabel fuzzy yang telah didefinisikan. Berikut adalah tampilan jika pengguna ingin memasukkan variabel kurva bahu dan kurva-S.

(64)

Gambar 4.5 Form memasukkan variabel fungsi bahu

4.3.3 Menu Fuzzy set

(65)

Gambar 4.6 Form memasukkan fuzzy set fungsi kurva S

(66)

Gambar 4.7 form memasukkan fuzzy set fungsi kurva bahu

4.3.4 Menu Query

Pada menu ini digunakan untuk melakukan fungsi query.

(67)

4.3.5 Menu Hasil

Menu hasil digunakan untuk menampilkan hasil dari query yang kita lakukan pada menu query.

(68)

Pada bab ini akan dibahas mengenai uji coba terhadap aplikasi yang telah

dibuat dan selanjutnya akan dibuat evaluasi dari hasil uji coba tersebut. Uji coba

dilaksanakan untuk mengetahui apakah aplikasi dapat berjalan dengan baik sesuai

perancangan yang dibuat. Evaluasi dilakukan untuk menentukan tingkat

keberhasilan dari aplikasi tersebut.

5.1. Lingkungan Uji Coba

Pada tahap ini akan dijabarkan tentang uji coba aplikasi dengan data

mahasiswa yang telah dimasukkan. Spesifikasi uji coba kali ini adalah sebagai

berikut:

- Sistem Operasi: Windows XP SP2

- Server Database: MySql 5.0.24

- Web Server: Apache 2.2.3

- Processor Celeron 1.86 GHz

- Ram 1.5 Gb

5.2 Skenario Uji Coba

Pada percobaan ini, akan dicoba jalannya aplikasi sesuai dengan urutan

proses dan diharapkan hasil akhir dari uji coba ini akan mendapatkan nama

mahasiswa yang berhak direkomendasikan untuk mendapatkan beasiswa

berdasarkan kreteria yang telah diberikan.

(69)

Berikut adalah data mahasiswa yang akan digunakan.

Tabel 5.1 Data mahasiswa

Tabel 5.2 Data mahasiswa (lanjutan)

5.3 Pelaksanaan Uji Coba

Dalam pelaksanaan uji coba kali ini, penulis akan menguji coba beberapa

fitur yang ada dalam aplikasi ini, di antarnya : input definisi kriteria, input fuzzy

(70)

5.3.1 Uji Coba Input Definisi Kriteria

1. ABSENSI

 Himpunan Fuzzy : BAIK

Gambar 5.1 Data variabel fuzzy Absensi baik

2. IPK

 Himpunan Fuzzy : BAIK

(71)

3. TOEFL

 Himpunan Fuzzy : RENDAH, SEDANG dan TINGGI

Gambar 5.3 Data variabel fuzzy TOEFL

4. PENGHASILAN_ORTU

 Himpunan fuzzy : RENDAH, SEDANG dan TINGGI

(72)

5.3.2 Uji Coba Input Fuzzy Set

Kemudian dari tiap masing – masing himpunan fuzzy dari tiap variabel

ditentukan nilai semesta pembicaraan dan domainnya sebagai berikut :

 Absensi

o Himpunan fuzzy : BAIK

o Fungsi keanggotaan : Kurva S-PENYUSUTAN

o Semesta pembicaraan : 0 – 20

o Domain : 0 – 11

11 20

10 1

0

Domain

Gambar 5.5 Kurva Absensi baik

Fungsi Kurva Absensi Baik

(73)

 IPK

o Himpunan fuzzy : BAIK

o Fungsi keanggotaan : Kurva S-PERTUMBUHAN

o Semesta pembicaraan : 0 – 4

o Domain : 3 – 4

4

2 3

1 1

0

Domain

Gambar 5.7 Kurva IPK baik

(74)

 TOEFL

o Fungsi keanggotaan : Kurva BAHU

o Semesta pembicaraan : 200 – 700

(75)

Gambar 5.10 Data himpunan fuzzy TOEFL

 Penghasilan Orang Tua

o Fungsi keanggotaan : Kurva BAHU

o Semesta pembicaraan : 0 – 2000

o Himpunan fuzzy :

 RENDAH

 Domain :

 Minimum : 300

 Maksimum : 700

 SEDANG

 Domain :

 Minimum : 450

 Tengah : 800

(76)

 TINGGI

 Domain :

 Minimum : 800

 Maksimum : 1500

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1

0

■ = Rendah ■ = Sedang ■ = Tinggi

Domain

Gambar 5.11 Kurva Penghasilan Ortu

(77)

5.3.3 Uji Coba Fuzzy Query

Kemudian diberikan query seperti gambar 5.13

Gambar 5.13 Query

Dari gambar diatas dapat kita lihat statement WHERE dari query yang

diberikan oleh user yaitu :

WHERE ABSENSI = baik AND IPK=baik OR TOEFL=tinggi AND

PENGHASILAN_ORTU=rendah AND STATUS=Belum_Pernah

(78)

Gambar 5.14 Data Hasil

5.4 Evaluasi dan Analisa

5.4.1 Hasil Perhitungan Fuzzy

Berdasarkan Percobaan diatas, dapat kita lihat hasil dari perhitungan

fungsi keanggotaan pada Tabel 5.3

(79)

Tabel 5.4 Data Hasil perhitungan fungsi keanggotaan (lanjutan)

Pada percobaan diatas dapat kita lihat statement WHERE dari query yang

diberikan oleh user yaitu :

WHERE ABSENSI = baik AND IPK=baik OR TOEFL=tinggi AND

PENGHASILAN_ORTU=rendah AND STATUS=Belum_Pernah

Sehingga perhitungan Fire-Strenght-nya adalah :

Fire Strenght = Max((Min(Absensi_baik,IPK=baik ),min(TOEFL_tinggi,

PENGHASILAN_ORTU _rendah ))

Kemudian dengan STATUS = belum pernah mendapatan beasiswa.

Sebagai contoh perhitungan kita akan mengambil salah satu data dari mahasiswa.

Nama : Ibrahim T

- ABSENSI_baik = 0.851239669421

- IPK_baik = 0.3872

- TOEFL_tinggi = 0.26

(80)

Sehingga perhitungan fire-strenght-nya:

fire-strenght = Max(Min(0.851239669421, 0.3872),Min(0.26,0))

= Max(0.3872,0) = 0.3872

Dari hasil perhitungan di atas, dapat disimpulkan bahwa hasil perhitungan

manual dengan program fuzzy query tersebut sama.

5.4.2 Perbandingan Fuzzy Query dengan Query Logika Tegas

Berikut akan dilakukan analisis hasil perbandingan data antara query

logika tegas dengan fuzzy query.

Berikut adalah contoh query logika tegas :

select nama, ipk, absensi, toefl from data_mahasiswa

where status = '0' and periode = '2010' and (ipk>=3) and

(absensi<10) and (toefl BETWEEN '350' and '500') order by ipk

desc, absensi asc;

jika query diatas dijalankan, maka akan tampak hasil sbb:

(81)

Berikut adalah contoh query logika Fuzzy :

WHERE ABSENSI = baik AND IPK=baik AND TOEFL=Sedang AND

STATUS=Belum_Pernah AND PERIODE=2010

Jika Statement di atas dijalankan maka akan nampak hasil. Sb :

Gambar 5.15 Data Hasil perhitungan Fuzzy

Dari hasil analisa dapat di simpulkan bahwa logika fuzzy dapat mengontrol

hasil lebih baik daripada logika tegas. Sebagai contoh adalah Derek Nigia P yang

memiliki IPK 3.4 dan absensi 9. jika dilihat dengan seksama Asha Maruko

memiliki absensi lebih baik yaitu 2 dan IPK yang selisihnya tidak begitu besar

yakni 3.33 daripada Derek Nigia P, maka dapat disimpulkan bahwa Asha

(82)

Dari tugas akhir ini dapat ditarik beberapa kesimpulan, antara lain:

1. Cara memasukkan logika fuzzy kedalam query adalah dengan menggunakan operator fuzzy dimana user harus terlebih dahulu menghitung fungsi keanggotaan tiap variabel yang telah ditentukan.

2. Cara untuk menentukan seberapa layak seorang mahasiswa untuk direkomendasiakn mendapatkan beasiswa salah satunya dapat menggunakan metode fuzzy query database dengan berdasarkan kriteria – kriteria yang telah dimasukkan dan menghitung nilai dari setiap fungsi keanggotaan.

6.2. Saran

1. Untuk pengembangan selanjutnya diharapkan bisa mengatasi data dari tabel-tabel yang berelasi.

2. Untuk pengambilan keputusan yang lebih baik lagi diharapkan dapat menggunakan metode kombinasi (hybrid) dengan metode fuzzy, misal antara

fuzzy dengan jaringan syaraf (neuro fuzzy).

3. Untuk pengguna yang kurang mengerti tentang teori logika fuzzy dapat melihat gambar plot fungsi yang ada. Dengan melihat gambar plot fungsi yang ada di buku ini.

(83)

[2] Galindo, Jose. 2008. Handbook of research on fuzzy information processing in

databases.Information Science Reference. UK.

[3] Kusumadewi, Sri. Purnomo, Hari. 2004. Aplikasi Logika Fuzzy untuk Pendukung

Keputusan., Graha Ilmu. Yogyakarta.

[4] Sousa, Joao M. C.. Kaymak, Uzay. 2002. Fuzzy Decision Making In Modelling And

Control. World Scientific Publishing. Singapore.

[5] Timothy, J.Ross. 2004. Fuzzy Logic With Engineering Applications. John Wiley & Sons. Chichester. England.

Gambar

Gambar 3.6 Fungsi keanggotaan kurva Bahu
Gambar 3.8 Fungsi keanggotaan kurva S-Pertmbuhan
tabel data mahasiswa
Gambar 3.11 level 1 proses 2
+7

Referensi

Dokumen terkait

Dilakukan pengukuran saliva awal lebih dahulu kemudian melakukan kegiatan menyikat gigi sebelum intake makanan diberikan dan ukur pH saliva 5 menit setelah makan dan 10

Berdasarkan penelitian yang sudah diteliti bisa disimpulkan sebagai berikut :.. Variabel budaya, kelas sosial, kelompok referensi, keluarga dan psikologis

[r]

Oleh karena itu untuk meningkatkan hasil belajar dan aktivitas siswa maka perlu dilakukan pembenahan proses pembelajaran yang dilakukan guru salah satunya yaitu

[Gambaran hitung leukosit pre operatif pada tiap-tiap tingkat keparahan apendisitis akut anak berdasarkan klasifikasi Cloud di RSUD Arifin Achmad Priovinsi Riau periode

Tesis berjudul &#34;Anal isis Ekonomi Makro Domestik dan Asing sebagai Deteminan Indeks Harga Saham Gabungan di Pasar Modal Indonesia&#34; yang ditulis dan

Kelebihan dari metode lot for lot adalah bahwa metode ini memberikan ukuran lot yang ekonomis yang mempertimbangkan minimasi biaya simpan, metode LFL ini juga

Penelitian ini menggunakan metode EOQ untuk menentukan kuantitas pesanan persediaan ekonomis yang dapat meminimumkan biaya persediaan dengan mengetahui total biaya