Analisa Sistem Perancangan tabel

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