BAB III ANALISA DAN PERANCANGAN SISTEM
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.
25
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.2 Perancangan 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 desain flowchart bibawah ini :
Gambar 3.2 Flowchart Asplikasi
s ta rt In p u t v a ria b e l
fu z z y d a n h im p u n a n fu z z y
In p u t n ila i fu n g s i k e a n g g o ta a n
fu z z y K u rv a = S -
P e n y u s u ta n K u rv a = S -
P e rtu m b u h a n K u rv a = B a h u
D a ta m a h a s is w a D a ta m a h a s is w a
D a ta m a h a s is w a P e rh itu n g a n k u rv a
b a h u P e rh itu n g a n k u rv a
S -p e n y u s u ta n P e rh itu n g a n k u rv a
S -p e rtu m b u h a n
D a ta h a s il p e rh itu n g a n
F u z z y Q u e ry
P e rh itu n g a n fire s tre n g th
H a s il fu z z y q u e ry s to p
Gambar 3.3 Flowchart fuzzy query
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
Ibrahim 0534010239 3
3.44 463
1200 Bagus 0534010238
5 3.67
487 1956
Alex 0534010237 2
3.21 330
2130 Anggi 0534010236
1 3.03
478 965
Prilly 0534010235 2
3.52 465
835 Icha 0534010234
5 3.55
445 1300
Nadeev 0534010233 6
3.2 489
643 Yoe 0534010232
9 3.66
462 786
Naim 0534010231 5
3.33 471
886 Ita 0534010230
2 2.9
453 1130
2. Mendefinisikan variabel fuzzy serta dari masing-masing variabel fuzzy
ditentukan fungsi keanggotaan, nilai semesta pembicaraan dan domainnya.
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
Domain
IPK
o Himpunan fuzzy
: BAIK o
Fungsi keanggotaan : Kurva S-PERTUMBUHAN
o Semesta pembicaraan
: 0 – 4 o
Domain : 3 – 4
Gambar 3.4 Fungsi keanggotaan kurva S-Pertumbuhan
2.5
4 2
3 1
1
Domain
TOEFL
o Fungsi keanggotaan
: Kurva BAHU o
Semesta pembicaraan : 200 – 700
o Himpunan fuzzy :
RENDAH
Domain :
Minimum : 350
Maksimum : 450
SEDANG
Domain :
Minimum : 350
Tengah : 450
Maksimum : 500
TINGGI
Domain :
Minimum : 450
Maksimum : 500
450 350
700 600
500 300
400 200
1 ■
= Rendah ■
= Sedang ■
= Tinggi
Domain
Gambar 3.5 Fungsi keanggotaan kurva Bahu
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
Maksimum : 1200
TINGGI
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.
ORTU Ibrahim
0534010239 3 3.44 463 1200
ABSENSI BAIK
3 5
11 20
10 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1
■ = Rendah
■ = Sedang
■ = Tinggi
Domain
Domain
Gambar 3.7 Fungsi keanggotaan kurva S-Penyusutan
2.6
µabsensi_baik[3] = 1-2 3-011-0² = 1-2311²
= 1-20.272727² = 1-20.074380
= 1- 0.148760 = 0.85124
IPK BAIK
4 2
3 1
1
Domain
Gambar 3.8 Fungsi keanggotaan kurva S-Pertmbuhan
2.5 µipk_baik[3.44] = 2 3.44-34-3²
= 20.441² = 20.1936
= 0.3872
Tabel 3.3 Hasil Perhitungan Fuzzy
NPM ABSENSI
BAIK IPK
BAIK TOEFL
RENDAH TOEFL
SEDANG TOEFL
TINGGI P. ORTU
RENDAH P. ORTU
SEDANG P.
ORTU TINGGI
0534010239 0.85124 0.3872 0
0.74 0.26
0.571429 0534010238 0.586777 0.7822 0
0.26 0.74
1 0534010237 0.933884 0.0882 1
1 0534010236 0.983471 0.3698 0
0.44 0.56
0.5875 0.235714
0534010235 0.933884 0.5392 0 0.7
0.3 0.9125
0.05 0534010234 0.586777 0.595 0.05
0.95 0.714286
0534010233 0.413223 0.008 0 0.22
0.78 0.1425
0.551429 0 0534010232 0.0661157 0.7688 0
0.76 0.24
0.96 0534010231
0.586777 0.755
0 0.58 0.42
0 0.785 0.122857
0534010230 0.933884 0.2178 0 0.94
0.06 0.175
0.471429
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 Ita
0534010230 0.2178
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 informasitransformasi 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
Context diagram seperti terlihat pada Gambar 3.3 dibawah ini:
hasil query
inisialisasi variabel fuzzy
inisialisasi fungsi keanggotaan inisialisasi himpunan fuzzy
data mahasiswa 1
PROSES
+
USER
MAHASISWA
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 dan query yang dimasukkan oleh pengguna
2. Overview diagram
Overview diagram menunjukkan gambaran proses yang ada dalam sistem secara
garis besar. Seperti terlihat pada Gambar dibawah ini.
data tabel temp
data tabel hasil data tabel perhitungan
nilai keanggotaan nilai himpunan
nilai variabel data mahasiswa
hasil
query inisialisasi variabel fuzzy
inisialisasi fungsi keanggotaan inisialisasi himpunan fuzzy
data mahasiswa data mahasiswa
MAHASISWA
USER
USER
USER
USER USER
1 input dan edit
data mahasiswa
tabel data mahasiswa
2 pengumpulan
data
3 proses fuzzy query
tabel perhitungan
tabel temp
tabel hasil
Gambar 3.10 Overview Diagram Sistem
Dari overview diatas terlihat ada tiga proses, yaitu: proses inputedit data mahasiswa, proses inisialisasi hal-hal yang dibutuhkan oleh sistem dan proses fuzzy
query .
a. Proses inputedit 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,
himpunan fuzzy, fungsi keanggotaan fuzzy, serta kolom data yang akan
digunakan untuk proses perhtungan nilai keanggotaan. c.
Proses fuzzy query Pada proses fuzzy query dilakukan perhitungan nilai keanggotaan, dan
perhitungan fire strength 3.
Detail diagram Level 1 proses 2
[nilai keanggotaan] [nilai himpunan]
[nilai variabel] himpunan f uz zy
[inis ialis asi f ungs i keanggotaan] [inis ialis asi himpunan fuz zy ]
v ariabel f uz z y [inis ialis asi v ariabel f uz z y]
USER
USER USER
pros es f uz z y query
pros es f uz z y query pros es f uz z y query
1.2.1 def inisi
v ariabel f uz z y
1.2.2 def inisi
himpunan f uz z y
1.2.3 def inisi f ungs i
keanggotaan
Gambar 3.11 level 1 proses 2
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
pengguna pasti membutuhkan himpunan fuzzy, oleh karena itu pengguna
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
[has il] data has il
nama tabel has il [data tabel temp]
[data tabel hasil] v ariabel query
[query]
[data tabel perhitungan] [data mahas isw a]
[nilai keanggotaan] [nilai himpunan]
[nilai variabel] USER
USER tabel data
mahasis w a pengumpulan data
pengumpulan data pengumpulan data
tabel temp tabel has il
tabel perhitungan
1.3.1 perhitungan
derajat keanggotaan
1.3.2 query w here
1.3.3 perhitungan
f ire s trenght
1.3.4 has il akhir
Gambar 3.12 level 1 proses 3
Pada gambar diatas, tampak bahwa proses 3 terdapat 4 proses, yaitu : 1.
Perhitungan derajat keanggotaan. Proses perhitungan derajat keanggotaan akan menghitung tiap-tiap
himpunan yang ada dalam variabel fuzzy yang telah ditentukan oleh
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.3 Perancangan tabel
Tabel – tabel yang digunakan tidak berelasi dengan tabel yang lainnya, berikut adalah tabel – tabel yang digunakan :
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
Tabel 3.6 Tabel hf
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.
Tabel 3.8 Tabel temp2
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.4 Perancangan Antar Muka