PENERAPAN APLIKASI FUZZY DATABASE TAHANI SEBAGAI REKOMENDASI PEMILIHAN PRODUK HANDPHONE DI SEGARA CELL.

(1)

PENERAPAN APLIKASI FUZZY DATABASE TAHANI

SEBAGAI REKOMENDASI PEMILIHAN PRODUK

HANDPHONE DI SEGARA CELL

SKRIPSI

Oleh :

AHMAD FATHONI

NPM. 0736010035

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL ”VETERAN”

JAWATIMUR

SURABAYA

2011


(2)

PENERAPAN APLIKASI FUZZY DATABASE TAHANI

SEBAGAI REKOMENDASI PEMILIHAN PRODUK

HANDPHONE DI SEGARA CELL

SKRIPSI

Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar

Sarjana Komputer Program Studi Teknik Informatika

Disusun Oleh :

AHMAD FATHONI

NPM. 0736010035

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL ”VETERAN”

JAWATIMUR

SURABAYA

2011


(3)

LEMBAR PENGESAHAN

PENERAPAN APLIKASI FUZZY DATABASE TAHANI

SEBAGAI REKOMENDASI PEMILIHAN PRODUK

HANDPHONE DI SEGARA CELL

Disusun Oleh :

AHMAD FATHONI

0 7 3 6 0 1 0 0 3 5

Telah disetujui untuk mengikuti Ujian Negara Lisan Gelombang V Tahun Akademik 2010/2011

Pembimbing Utama

BASUKI RAHMAT, S.Si, MT NPT. 269 070 640 209

Pembimbing Pendamping

FETTY TRI ANGGRAINI, S.Kom

NPT. 382 020 602 081

Mengetahui,

Ketua Program Studi Teknik Informatika Fakultas Teknologi Industri

Universitas Pembangunan Nasional “Veteran” Jawa Timur

BASUKI RAHMAT, S.Si, MT NPT. 269 070 640 209


(4)

SKRIPSI

PENERAPAN APLIKASI FUZZY DATABASE TAHANI SEBAGAI REKOMENDASI PEMILIHAN PRODUK HANDPHONE

DI SEGARA CELL

Disusun Oleh :

AHMAD FATHONI

0 7 3 6 0 1 0 0 3 5

Telah dipertahankan di hadapan dan diterima oleh Tim Penguji Skripsi Program Studi Teknik Informatika Fakultas Teknologi Industri

Universitas Pembangunan Nasional “Veteran” Jawa Timur Pada Tanggal 10 Juni 2011

Pembimbing : 1.

BASUKI RAHMAT, S.Si, MT NPT. 269 070 640 209 2.

FETTY TRI ANGGRAINI, S.Kom NPT. 382 020 602 081

Tim Penguji : 1.

YUSRON RIJAL, S.Si, MT 2.

ELVI FATMA, S.Kom, MM 3.

CHRYSTIA AJI PUTRA, S.Kom NPT. 386 101 002 961

Mengetahui,

Dekan Fakultas Teknologi Industri

Universitas Pembangunan Nasional “Veteran” Jawa Timur

Ir. SUTIYONO, MT NIP. 19600713 198703 1001


(5)

YAYASAN KESEJAHTERAAN PENDIDIKAN DAN PERUMAHAN UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

FAKULTAS TEKNOLOGI INDUSTRI

KETERANGAN REVISI

Kami yang bertanda tangan dibawah ini menyatakan bahwa mahasiswa berikut : Nama : Ahmad Fathoni

NPM : 0736010035

Jurusan : TEKNIK INFORMATIKA

Telah mengerjakan revisi/ tidak ada revisi pra rencana (design)/ skripsi ujian lisan Gelombang V Tahun Akademik 2010/2011 dengan judul :

“PENERAPAN APLIKASI FUZZY DATABASE TAHANI SEBAGAI

REKOMENDASI PEMILIHAN PRODUK HANDPHONE DI SEGARA CELL”

Surabaya, 27 Juni 2011 Dosen yang memerintahkan revisi :

1) YUSRON RIJAL, S.Si, MT

2) ELVI FATMA, S.Kom, MM

3) CHRYSTIA AJI PUTRA, S.Kom

NPT. 386 101 002 961

{ }

{

}

{

}

Mengetahui, Pembimbing Utama

BASUKI RAHMAT, S.Si, MT NPT. 269 070 640 209

Pembimbing Pendamping

FETTY TRI ANGGRAINI, S.Kom NPT. 382 020 602 081


(6)

KATA PENGANTAR

Bissmillahirrahmanirrahim

Alhamdulillahi Rabbal ‘Alamin. Segala puji syukur ke hadirat Allah Subhanahu Wa Ta’ala, karena hanya dengan kehendak dan kuasa-Nya, penulis dapat menyelesaikan pembuatan Tugas Akhir yang berjudul “PENERAPAN

APLIKASI FUZZY DATABASE TAHANI UNTUK REKOMENDASI PEMILIHAN PRODUK DI SEGARA CELL”.

Tugas Akhir dengan beban 3 SKS ini disusun dan diajukan sebagai salah satu syarat untuk menyelesaikan program Strata satu (S1) pada Program Study Teknik Informatika, Fakultas Teknologi Industri, Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya.

Penulis menyadari bawasannya dalam menyelesaikan Tugas Akhir ini telah mendapat bantuan dan dukungan yang tidak sedikit dari berbagai pihak untuk itu penulis secara khusus mengucapkan terima kasih dan penghargaan yang sebesar-besarnya kepada :

1. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN “Veteran” Jawa Timur.

2. Bapak Basuki Rachmad, S.Si, MT selaku Ketua Jurusan Teknik Informatika UPN “Veteran” Jawa Timur.

3. Mak dan Bapak ku tersayang yang senantiasa mengingatkan dan mendoakan serta memberikan dukungannya agar Tugas Akhir ini segera penulis selesaikan.

4. Bapak Basuki Rahmad, S.Si, MT dan Ibu Fetty Tri Anggraini, S.Kom selaku dosen pembimbing yang dengan sabar memberikan arahannya selama pembuatan Tugas Akhir ini dan bantuannya diwaktu siding.

5. Ibu Fetty Try Anggraini, S.Kom dan Bapah Wahyu S. J. Saputra, S.Kom selaku dosen penguji pada siding PRATA dan TA yang dengan bijaksana memberikan refisi yang pada akhirnya sangat berguna pada waktu siding lisan.

6. Bapak Misbahul Munir, S.pd dan Ibu Khusnatul Mufidah selaku pemilik Counter SEGARA CELL yang memberikan tempat dalam menyelesaikan tugas akhir ini.


(7)

7. Mama dan lek biadi yang tersayang yang senantiasa mengingatkan dan mendoakan serta memberikan dukungan agar Tugas Akhir ini segera terselesaikan.

8. Saudara-saudara ku yang tercinta yang selalu mensuport ku agar segera menyelesaikan Tugas Akhir ini.

9. Mbak Iir, Mbak Yul dan Mbak Tik yang tercinta dan tersayang yang selalu memberikan bantuan dan suport agar segera menyelesaikan Tugas Akhir ini. Kalian the Best sisters.

10.Ndut ku Ririef atas tenaga, waktu, semangat, doa, cinta, dan segala macamnya yang tanpa itu semua penulis akan kesulitan dalam pengerjaan Tugas Akhir ini Thank you so much ndut.

11.Warkop Giras dan kawan-kawan giras yang selalu memberikan inspirasi dalam menyelesaikan Tugas Akhir ini.

12.Kawan-kawan seperjuangan Alan, Taufik, Doni, dan Daddy atas semangat yang diberikan dan rasa perjuangan bersama dalam menyelesaikan Tugas Akhir ini. Thank You so much for your Friendship.

13. Kawan-kawan Ilmu Komputer seperjuangan yang lagi maju maupun yang menundanya. Kalian inspirasi dan semangat ku.

Penulis menyadari sepenuhnya bahwa sebagai manusia biasa tentunya tidak akan luput dari kekurangan dan keterbatasan. Maka dengan segenap kerendahan hati, penulis mengharapkan saran dan kritik yang dapat menyempurnakan penulisan ini sehingga dapat bermanfaat dan berguna untuk pengembangan ilmu pengetahuan.

Surabaya, Juni 2011


(8)

Abstrak ... i

Kata Pengantar ... ii

Daftar Isi ... iv

Daftar Gambar... vi

Daftar Tabel ... vii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 3

1.3 Tujuan Penulisan ... 4

1.4 Batasan Masalah... 4

1.5 Metodelogi Penelitian... 5

1.6 Sistematika Penulisan ... 7

BAB II LANDASAN TEORI ... 9

2.1 Logika Fuzzy ... 9

2.1.1 Himpunan Fuzzy ... 10

2.1.2 Fungsi Keanggotaan ... 15

2.1.3 Operator Dasar Zaded untuk Operasi Himpunan Fuzzy ... 18

2.2 Database Reasional... 20

2.2.1 Entity Relationship Diagram (ERD) ... 22

2.2.2 Normalisasi Database ... 24

2.3 Fuzzyfikasi Database... 25

2.4 Mysql... 30

2.4.1 Kelebihan Mysql ... 33

2.5 Bahasa Pemograman PHP ... 34

2.5.1 Tipe Data dalam PHP ... 36

2.5.2 Variabel Dalam PHP ... 38

2.5.2.1 Deklarasi Variabel ... 39

2.5.2.2 Inisialisasi Variabel ... 40

2.6 CSS ... 40

2.7 Koneksifitasi PHP Mysql ... 41

BAB III ANALISIS DAN PERANCANGAN SISTEM... 42

3.1 Analisis Sistem ... 42

3.2 Perancangan System ... 43

3.2.1 Deskripsi Umum System... 43

3.2.2 Parameter input Dalam Pemilihan Handphone ... 44

3.2.3 Parameter Output Dalam Pemilihan Handphone ... 54


(9)

3.3 Flowchart... 55

3.4 Perancangan Proses ... 59

3.4.1 Data Flow Diagram... 59

3.4.2 Batasan-batasan Masalah Dalam Sistem... 62

3.4.3 Proses Perhitungan Fire stranght ... 63

3.5 Perancangan Data dan Tabel ... 63

3.5.1 Perancangan Data... 63

3.5.2 Perancangan Tabel ... 66

3.6 Perancangan Antarmuka... 78

3.6.1 Perancangan Antarmuka untuk Petugas... 78

3.6.2 Perancangan Antarmuka untuk user ... 81

BAB IV IMPLEMENTASI SISTEM ... 82

4.1 Lingkungan Implementasi ... 82

4.2 Implementasi Data... 83

4.3 Implementasi Antarmuka ... 90

4.3.1 Implementasi Antarmuka untuk Petugas ... 90

4.3.2 Implementasi Antarmuka untuk User ... 92

4.4 Implementasi Penerapan Metode Fuzzy Database Tahani ... 94

4.4.1 Insert Data ... 94

4.4.2 Selected Data ... 96

BAB V UJI COBA DAN ANALISA SISTEM... 97

5.1 Lingkungan Alokasi ... 97

5.2 Pelaksanaan Uji Coba... 97

5.2.1 Uji Coba Fuzzy ... 97

5.2.2 Uji Coba Fuzzy dan Non Fuzzy... 108

BAB VI PENUTUP ... 111

6.1 Lingkungan Alokasi ... 111

6.2 Pelaksanaan Uji Coba... 112

DAFTAR PUSTAKA ... 113 LAMPIRAN


(10)

DAFTAR GAMBAR

Gambar 2.1 Himpunan MUDA, PAROBAYA dan TUA... 11

Gambar 2.2 Menunjukkan Himpunan Fuzzy Untuk Variabel umur ... 12

Gambar 2.3 Himpunan Fuzzy pada variable Temperatur ... 14

Gambar 2.4 Representasi Linier Naik ... 15

Gambar 2.5 Representasi Linier Turun ... 16

Gambar 2.6 Representasi Kurva Segitiga ... 17

Gambar 2.7 Representasi Kurva Trapesium ... 17

Gambar 2.8 Representasi Kurva Bahu ... 18

Gambar 2.9 Fungsi keanggotaan Untuk Variabel Usia ... 27

Gambar 2.10 Fungsi Keanggotan Untuk Variabel Gaji ... 28

Gambar 3.1 Alur Perekomendasian Handphone ... 43

Gambar 3.2 Fungsi Keanggotaan Untuk Variabel panjang ... 46

Gambar 3.3 Fungsi Keanggotaan pada Variabel Lebar ... 47

Gambar 3.4 Fungsi Keanggotaan pada Variabel Tebal ... 48

Gambar 3.5 Fungsi Keanggotaan pada Variabel Dimensi ... 49

Gambar 3.6 Fungsi Keanggotaan pada Variabel Berat ... 50

Gambar 3.7 Fungsi Keanggotaan pada Variabel Standby time ... 51

Gambar 3.8 Fungsi Keanggotaan pada Variabel Talk Time ... 52

Gambar 3.9 Fungsi keanggotaan Untuk Variabel Phonebook ... 53

Gambar 3.10 Flowchart Proses Perekomendasian ... 56

Gambar 3.11 Konteks Diagram ... 60

Gambar 3.12 DFD Level 0 ... 61

Gambar 3.13 Model Data Konsep ... 64

Gambar 3.14 PDM Database ... 65

Gambar 3.15 Halaman Data Handphone ... 79

Gambar 3.16 Halaman Tambah Data ... 79

Gambar 3.17 Form Rekomendasi ... 80

Gambar 3.18 Form Perekomendasian Handphone ... 81

Gambar 4.1 Script Database Segara ... 83

Gambar 4.2 Tampilan Halaman Data Handphone ... 90

Gambar 4.3 Tampilan Halaman Tambah Data ... 91

Gambar 4.4 Tampilan Halaman Perekomendasian Handphone ... 92

Gambar 4.5 Tampilan Perekomendasian Handphone ... 93

Gambar 4.6 Source code Batas Bawah ... 94

Gambar 4.7 Source code Batas Tengah ... 95

Gambar 4.8 Source code Batas Atas ... 95

Gambar 4.9 Source code Insert Data ... 96


(11)

DAFTAR TABEL

Tabel 2.1 Karyawan berdasarkan Umur ... 28

Tabel 2.2 Karyawan Berdasarkan Gaji ... 29

Tabel 2.3 Hasil Query ... 30

Tabel 3.1 Tabel User ... 66

Tabel 3.2 Tabel jenishp ... 66

Tabel 3.3 Tabel datahp ... 67

Tabel 3.4 Tabel fuzzy... 68

Tabel 3.5 Tabel btshimp ... 68

Tabel 3.6 Tabel mu ... 69

Tabel 3.7 Tabel nonfuzzy ... 69

Tabel 3.8 Tabel fasilitas ... 70

Tabel 3.9 Tabel album ... 70

Tabel 3.10 Tabel galery ... 71

Tabel 3.11 Tabel kategori ... 71

Tabel 3.12 Tabel berita ... 72

Tabel 3.13 Tabel komentar ... 72

Tabel 3.14 Tabel banner ... 73

Tabel 3.15 Tabel mainmenu ... 73

Tabel 3.16 Tabel submenu ... 74

Tabel 3.17 Tabel kartek ... 74

Tabel 3.18 Tabel halamanststis ... 74

Tabel 3.19 Tabel download ... 75

Tabel 3.20 Tabel hubungikami ... 75

Tabel 3.21 Tabel polling ... 76

Tabel 3.22 Tabel modul ... 76

Tabel 3.23 Tabel promo ... 77

Tabel 3.24 Tabel statistik ... 77

Tabel 3.25 Tabel katajelek ... 78

Tabel 3.26 Tabel template ... 78

Tabel 4.1 Merk Nokia PANJANG pendek ... 98

Tabel 4.2 Merk Nokia PANJANG Sedang ... 98

Tabel 4.3 Merk Nokia PANJANG panjang ... 99

Tabel 4.4 Merk Nokia LEBAR Sempit ... 99

Tabel 4.5 Merk Nokia LEBAR Sedang ... 100

Tabel 4.6 Merk Nokia LEBAR Lebar ... 101

Tabel 4.7 Merk Nokia TEBAL Tipis ... 102

Tabel 4.8 Merk Nokia TEBAL Sedang ... 103

Tabel 4.9 Merk Nokia TEBAL Tebal ... 103

Tabel 4.10 Merk Nokia DIMENSI Kecil ... 104

Tabel 4.11 Merk Nokia DIMENSI Sedang ... 105

Tabel 4.12 Merk Nokia DIMENSI Besar ... 106

Tabel 4.13 Merk Nokia BERAT Kecil ... 106


(12)

Tabel 4.15 Merk Nokia BERAT Berat ... 108

Tabel 4.16 Data Rekomendasi ... 108

Tabel 4.1 Rekomendasi Uji Coba 1 ... 109

Tabel 4.1 Rekomendasi Uji Coba 2 ... 110


(13)

PENERAPAN APLIKASI FUZZY DATABASE TAHANI

UNTUK REKOMENDASI PEMILIHAN PRODUK

DI SEGARA CELL

Penyusun : Ahmad Fathoni

Pembimbing I : Basuki Rahmad, S.Si. MT Pembimbing II : Fetty Tri Anggraini, S.Kom

ABSTRAK

Segara Cell adalah sebuah agen yang bergerak di bidang bisnis penjualan handphone, membutuhkan peningkatan jasa layanan kepada konsumen, terutama dalam hal pemberian rekomendasi handphone yang sesuai dengan kebutuhan dan harapan konsumen. Terdapat permasalahan dalam proses pemberian rekomendasi ini, yang terjadi karena banyaknya variasi handphone berdasarkan spesifikasi dan harga, sedangkan pelanggan, pada umumnya, kurang dapat memberikan spesifikasi yang jelas terhadap kebutuhan dan harapannya.

Untuk memecahkan permasalahan tersebut maka diterapkan system basisdata fuzzy model tahani untuk membantu pemberian rekomendasi handphone kepada konsumen, dengan fitur sistem informasi yang dapat menangani bahasa alami manusia yang tidak presisi atau tidak pasti, relative, dan kualitatif. Berdasarkan hasil uji coba, dapat diketahui bahwa sistem layak guna untuk dapat membantu bagian penjualan dalam memberikan rekomendasi pada konsumen yang sesuai dengan kebutuhan harapannya.


(14)

BAB I

PENDAHULUAN

Pada bab ini akan dijelaskan mengenai beberapa hal dasar dalam Tugas Akhir iniyang meliputi latar belakang masalah, rumusan masalah, tujuan penulisan, batasan masalah, metodelogi penulisan dan systematika penulisan Tugas Akhir ini. Dari uraian di bawah diharapkan gambaran umum Tugas Akhir bias dipahami dengan baik.

1.1. Latar Belakang Masalah

System database yang ada sampai sekarang ini, hanya mampu menangani data yang bersifat pasti. Begitu pula query yang menggunakan bahasa Structured Query Languange ( SQL ), pendefinisian-pendefinisian yang diberikan hanya mampu menangani kondisi yang sifatnya juga pasti. Dengan kondisi yang pasti berarti struktur dan parameter dari model harus terdefinisi secara tepat sedangkan dalam kondisi nyata kehidupan sehari-hari, sering kali seseorang harus berhadapan dengan kondisi yang memiliki nilai yang samar, tidak pasti, atau ambigu. Pada kondisi yang samar berati tidak terdapat suatu definisi yang pasti terhadap keadaan tersebut, sedangkan kondisi ambigu berati suatu kondisi dimana terjadi ketidakjelasan dari beberapa alternatif yang harus diterima, yang mana yang benar dan yang mana yang salah.

Sebagai salah satu contoh adalah ketika hendak menentukan pemilihan handphone yang akan dibeli dengan perbandingan rekomendasi yang ada. Pada proses perekomendasikan pilihan handphone, tentunya ada kriteria-kriteria yang di tentukan oleh Customer sehingga nantinya mendapatkan suatu bentuk


(15)

rekomendasi dari system yang dinginkan. Dasar penilaian terhadap rekomendasi handphone yang diberikan kepada user tidak hanya dinilai dari indeks harga saja, tetapi juga harus memperhatikan Panjang, Lebar, Tebal, Dimensi, Berat, standby time, Talk time, dan Phonebook Memory serta fasilitas pendukung yang dimiliki, apabila jumlah handphone seperti dulu, hanya beberapa saja tipe handphone yang ada, maka proses perekomendasian untuk tipe handphone yang ditawarkan tidak begitu rumit, sedangkan pada Era Globalisasi saat ini, seiring dengan perkembangan teknologi dan kemajuan informasi serta kebutuhan user yang selalu berubah maka munculah beberapa tipe handphone yang memiliki fasilitas yang diperlukan oleh user, dan jumlahnya pun tidak sedikit maka disini dibutuhkan kejelian dari Customer dalam memilih sebuah product handphone yang sesuai dengan kebutuhan masing-masing. Tetapi proses ini sangat menyita waktu bagi Customer bahkan dapat membingungkan Customer itu sendiri dalam pemilihan nya. Dalam hal ini bisa menimbulkan ketidakpuasan dari Customer setelah membeli handphone, karena kurangnya informasi dan fasilitas handphone yang dibeli ada yang kurang.

Berdasarkan permasalahan tersebut, maka perlu kiranya dirancang sebuah website yang mampu menganalisa serta merekomendasikan tipe-tipe handphone yang sesuai dengan kriteria yang kita inginkan. Agar website ini dapat berjalan dengan baik, maka perlu didefinisikan secara baku tentang kriteria-kriteria untuk mendapatkan rekomendasi handphone yang diinginkan oleh Customer. Berdasarkan kriteria-kriteria inilah nantinya aplikasi akan menganalisa data-data handphone yang ada. Salah satu metode yang digunakan untuk website ini adalah dengan mengimplementasikan logika Fuzzy.


(16)

Dengan logika fuzzy, data akan dikelompokkan ke dalam beberapa himpunan Fuzzy sesuai dengan himpunan Fuzzy yang akan diolah sifat kelekatan data pada himpunan Fuzzy ini bersifat linier atau eksponensial, tergantung dari fungsi keanggotaan Fuzzy yang dipilih. Pada dasarnya untuk memilih suatu tipe handphone yang layak direkomendasikan ke Customer dapat dilakukkan dengan system logika klasik yang diterapkan pada server-server database yang ada sekarang ini. Namun hal ini akan menyebabkan data akan diolah secara tegas, sehingga tipe-tipe handphone yang memiliki kriteria yang mendekati pendefinisian tidak akan direkomendasikan.

Diharapkan dengan ditulisnya Tugas Akhir berjudul “Penerapan Aplikasi

Fuzzy Database Tahani Sebagai Rekomendasi Pemilihan Produk Handphone Di SEGARA CELL“ permasalahan-permasalahan dalam perekomendasian tipe

handphone untuk Customer dapat dipecahkan.

1.2. Rumusan Masalah

Bagaimana menyediakan fasilitas web bagi para user/konsumen untuk mendapatkan data handphone hasil rekombinasi system yang sesuai dengan kriteria yang di inputkan. Adapun permasalahan yang harus dihadapi antara lain:

1. Bagaimana cara mendapatkan informasi data handphone yang diinginkan, dengan melakukan pencarian dan menentukan parameter input system yang nantinya digunakan sebagai inputan data pada metode Fuzzy database tahani?

2. Bagaimana menentukan kriteria input Fuzzy dan Non Fuzzy bagi system setelah parameter input system didapatkan ?


(17)

3. Bagaimana mengimplementasikan hasil dari pengolahan data kedalam metode Fuzzy database tahani kedalam website ?

1.3. Tujian Penulisan

Dari rumusan masalah diatas dapat dilihat bahwa tujuan dari penulisan Tugas Akhir ini adalah sebagai :

1. Membuat suatu system berupa website yang dapat memberikan informasi data handphone yang diinginkan Customer, dengan melakukan pencarian dan menentukan parameter input system yang digunakan sebagai inputan data baik Fuzzy maupun nonFuzzy pada metode Fuzzy database tahani.

2. Menentukan kriteria input Fuzzy dan Non Fuzzy bagi system setelah parameter input system didapatkan sehingga nantinya system akan memberikan data rekomendasi kepada Customer data handphone yang sesuai dengan kreteria input system.

3. Membuat suatu website yang dapat melakukan proses sleksi dalam memilih product handphone yang layak direkomendasikan untuk Customer sesuai dengan inputan yang diinginkan.

4. Memenuhi salah satu syarat untuk menyelesaikan pendidikan progam sarjana Teknik Informatika Universitas Pembangunan Nasional (UPN).

1.4. Batasan Masalah

Berdasarkan kompleksitas masalah dalam pengimplemantasian logika Fuzzy ke dalam system database, maka penulis perlu mambatasi masalah yang akan dibahas. Adapun batasan-batasan masalah dalam Tugas Akhir ini adalah :


(18)

1. Variabel-variabele penilaian dibatasi hanya pada besaran Panjang, Lebar, Tebal, Dimensi, Berat, Waktu Standby, Waktu Talktime, phonebook memory.

2. Variable yang dinamis hanya pada data nonFuzzy atau fasilitas handphone 3. Ukuran database tidak terlalu besar, hanya sebatas simulasi perangkat

lunak saja.

4. Aplikasi logika Fuzzy yang dirancang ini memiliki nilai pembobotan pada setiap variabel.

1.5. Metodologi Penulisan

Metodelogi dalam penuisan Tugas Akhir ini terdiri dari beberapa tahapan yaitu :

1. Perancangan Database

Pada tahap ini dilakukan pembangunan database yang terdiri dari 6 database utama, yaitu database jenishp, datahp, btshimp, fuzzy, nonfuzzy, mu dan 4 database temporal yaitu database smt_harga, smt_type, smt_Fuzzy dan smt_nonfuzzy. Database jenishp berisikan merk dari jenis hp, database datahp berisikan data handphone, btshimp berisikan batas himpunan dari variabel fuzzy, Fuzzy berisikan data-data yang berisikan variabel fuzzy, database nonFuzzy berisikan data-data nonfuzzy, database mu berisikan fire strangth dari data fuzzy, dan database temporal berisikan data-data dari hasil pencarian untuk mendapatkan rekomendasi dari system.


(19)

2. Perancangan System

Pada tahap ini dilakukan perancangan system yang akan dibangun, meliputi disain user interface, fitur-fitur yang disediakan aplikasi, penanganan koneksi dengan system database, dan keterbatasan system. 3. Fuzzifikasi Data

Pada tahapan ini aplikasi yang dibangun akan melakukan koneksi dengan system database, melakukan pengaksesan data dan mengambil data tersebut untuk difuzzifikasikan pengguna. Kemudian aplikasi akan mengembalikan nilai perhitungan derajat keanggotaan tersebut kedalam system database.

4. Penghitungan Fire Strength

Nilai derajat keanggotaan yang dikembalikan oleh aplikasikedalam system database diklompokan menjadi 7 variable Fuzzy yaitu Dimensi, Berat, Waktu standby, waktu talktime, phonebook memory, voicedial memory dan game. Kemudian nilai-nilai ini akan dikombinasikan dan dimanipulasi dengan operator zadeh untuk mendapatkan nilai fire strength, yaitu nilai yang dijadikan sebagai nilai derajat perekomendasian mahasiswa dalam menerima beasiswa. Semakin tinggi nilainya, maka derajat perekomendasian juga semakin besar.

5. Pengujian System

Pada tahapan ini dilakukan percobaan terhadap aplikasi yang telah dibangun, yaitu dengan melakukan dua kali percobaan. Percobaan pertama dilakukantanpa mengubah nilai domain himpunan serta dengan menggunakan operator OR pada masing-masing variabel fuzzy. Sedangkan


(20)

pada percobaan kedua dilakukan dengan mengubah nilai domain masing-masing himpunan serta melakukan operasi dengan mengombinasikan opertor AND dan OR.

6. Penyusunan buku Tugas akhir

Tahap ini merupakan tahap terakhir dari proses pengerjaan Tugas Akhir ini. Buku Tugas Akhir ini akan disusun sebagai laporan dari seluruh proses pengerjaan Tugas Akhir ini dan sebagai dokumentasi. diharapkan dari penyusunan buku Tugas Akhir ini akan dapat dijadikan referensi bagi orang lain yang ingin melakukkan pengembangan system lebih lanjut.

1.6. Systematika Penulisan

Systematika penulisan mengenai perangkat lunak yang dibuat dalam Tugas Akhir ini disusun dalam beberapa bab, yang dijelaskan sebagai berikut :

BAB I : PENDAHULUAN

Bab ini berisi pendahuluan yang memuat latar belakang tujuan penulisan, rumusan permasalahan, batasan masalah, metodologi, serta sisitematika yang digunakkan dalam pembuatan buku Tugas Akhir.

BAB II : LANDASAN TEORI

Bab ini membahas tentang teori-teori pendukung dalam pembuatan aplikasi ini, yaitu teori mengenai logika fuzzy, database relasional, dan konsep tentang fuzzifikasi database. Selain itu pada bab ini juga dipaparkan secara ringkas mengenai tools pengembangan aplikasi, yaitu PHP dan MySql.


(21)

BAB III : ANALISIS DAN PERANCANGAN SYSTEM

Bab ini membahas tentang perancangan dalam pembangunan aplikasi, mencakup perancangan database dan perancangan system, serta flowchart dari system.

BAB IV : IMPLEMENTASI SYSTEM

Bab ini menjelaskan mengenai implementasi aplikasi yang telah dibuat bardasarkan perancangan sebelumnya yang telah dibuat.

BAB V : UJI COBA DAN ANALISIS SYSTEM

Pada bab ini diuraikan mengenai uji coba pada aplikasi yang telah dibuat serta melakukan analisa terhadap hasil yang diperoleh.

BAB VI : PENUTUP

Dalam bab penutup ini, berisi kesimpulan dari hasil yang telah dikerjakan berdasarkan uji coba dan analisa yang dilakukan. Selain itu, juga berisi saran serta petunjuk pengembangan bagi penyempurnaan proyek Tugas Akhir ini.


(22)

2.1. Logika Fuzzy

System fuzzy dicetuskan oleh Lotfi A. Zadah pada tahun 1960 konsep ini

pada dasarnya berhubungan dengan bagaimana manusia menangani ketidakpastian dan informasi yang tidak pasti. Zadeh menirukan bagaimana manusia menggunakan perkiraan dan pertimbangan dalam hal yang berhubungan dengan ketidakpastian, ketidaktepatan, kerancuan, dan ketidakjelasan dan dialami dalam pengembalian keputusan. Logika fuzzy adalah superset (bagian yang melingkupi) logika bolean yang dikembangkan unuk menangani suatu komponen atau informasi aecara keseluruhan. Konsep logika fuzzy ini dikembangkan karena beberapa alasan, yang diantaranya adalah :

1. Keanggotaan suatu elemen terhadap suatu himpunan menjadi “fuzzy” atau “samar”. Dalam hal ini, ada elemen sebagai anggota dari suatu himpunan tidak diketahui dengan pasti.

2. Keanggotaan elemen dalam suatu himpunan pasti sangat curam dan mempunyai batasan yang kaku.

Penilaian yang dilakukan dengan logika klasik hanya memungkinkan untuk mengolah informasi yang benar atau salah. Logika ini tidak mampu menangani informasi tersebut ada data yang tersimpan,. Dalam logika klasik, keanggotaan suatu elemen dalam himpunan dipresintasikan dengan 0 bila bukan anggota dan 1 bila merupakan anggota. Jadi himpunannya adalah {0,1}. Sedangkan pada logika


(23)

fuzzy nilai keanggotaan ada pada interval {0,1}, jadi pada dasaran system fuzzy merupakan gagasan aproksimasi yang didasarkan pada gagasan eksak.

2.1.1. Himpunan Fuzzy

Himpunan fuzzy secara formal dapat didefinisikan seperti pada Persamaan 2.1 berikut :

A = { μA (x) / x : x X, μA (x) [0,1]R}...(2.1)

Dimana μA (x) adalah derajat keanggotaan elemen x pada himpunan fuzzy A

dengan cakupan nilai keanggotaan antara 0 dan 1 yang merupakan anggota bilangan real. Dimana bila μA (x) = 0, mengindikasikan bahwa x bukan bagian dari

himpunan fuzzy A dan sedikitnya jika μA (x) = 1, maka x adalah bagian dari

himpunan fuzzy A. Secara umum, himpunan fuzzy A dapat dianggap sebagai fungsi μA (x) yang mencocokkan setiap elemen dari semesta pembicaraan X

dengan derajat keanggotaan menjadi anggota himpunan A. Jika fungsi keanggotaan hanya menghasilkan nilai keanggotaan {0,1}, maka hasilnya bukanlah fuzzy melainkan tegas (crisp).

Pada himpunan tegas (crisp) nilai keanggotaan suatu item x dalam suatu himpunan A, yang sering ditulis dengan μA (x), hanya memiliki dua kemungkinan

yaitu 0 dan 1. Sebagai contoh, misalkan variabel umur dibagai menjadi 3 katagori, yaitu :

 MUDA umur < 35 tahun

 PAROBAYA 35 ≤ umur ≤ 55


(24)

Nilai keanggotaan secara grafis, himpunan MUDA, PAROBAYA, dan TUA ini dapat dilihat pada Gambar 2.1.

Gambar 2.1 Himpunan MUDA, PAROBAYA, dan TUA. Pada Gambar 2.1, dapat dilihat bahwa :

1. Apabila seseorang berusia 34 tahun, maka ia dikatakan MUDA μMUDA[35] = 1);

2. Apabila seseorang berusia 35 tahun, maka ia dikatakan TIDAK MUDA μMUDA[35] = 0);

3. Apabila seseorang berusia 35 tahun kurang 1 hari, maka ia dikatakan TIDAK PAROBAYA (μPAROBAYA[35 th – 1 hari] = 0)

Berdasarka contoh diatas bisa dikatakan pemakaian himpunan crisp untuk menyatakan umur sangat tidak adil, adanya perubahan sedikit saja pada nilai elemen mengakibatkan perbedaan kategori yang cukup signifikan. Himpunan

fuzzy digunakan untuk mengantisipasi hal tersebut. Seseorang dapat masuk dalam

2 himpunan yang berbeda, MUDA dan PAROBAYA, PAROBAYA dan TUA, dsb. Seberapa besar eksistensi elemen yang ditinjau dalam himpunan tersebut dapat ditentukan dan diukur dengan nilai derajat keanggotaannya.


(25)

Gambar 2.2 menunjukkan himpunan fuzzy untuk variabel umur. Pada Gambar 2.2, dapat dilihat bahwa:

1. Seseorang yang berumur 40 tahun, termasuk dalam hipunan MUDA dengan μMUDA[40] = 0,25; namun dia juga termasuk dalam himpunan PAROBAYA dengan μPAROBOYA[40] = 0,5.

2. Seseorang yang berumur 50 tahun, termasuk dalam himpunan MUDA dengan μTUA[40] = 0,25; namun dia juga temasuk dalam himpunan PAROBAYA dengan μPAROBAYA[50] = 0,5.

Kalau dalam himpunan crisp nilai keanggotaannya ada 2 kemungkinan, yaitu 0 atau 1. Sedangkan pada himpunan fuzzy nilai keanggotaan ter letak pada rentang 0 sampai 1. Apabila x memiliki nilai keanggotaan fuzzy μA (x) = 0 berarti

x tidak menjadi anggota himpunan A, demikian pula apabila x memiliki nilai keanggotaan fuzzy μA (x) = 1 berarti x menjadi anggota penuh pada himpunan A.

Terkadang kemiripan antara keanggotaan fuzzy dengan probabilitas menimbulkan kerancuan. Keduanya memiliki nilai pada interval [0,1], namun interpretasi nilainya sangat berbeda. Keanggotaan fuzzy memberikan suatu ukuran terhadap pendapat atau keputusan, sedangkan probabilitas mengindikasikan proporsi terhadap keseringan suatu hasil bernilai benar dalam jangka panjang


(26)

(tinjauan). misalnya, jika nilai keanggotaanya suatu himpunan fuzzy MUDA adalah 0,9 maka tidak perlu dipermasalahkan berapa seringnya nilai itu diulang secara individual untuk mengharapkan suatu hasil yang hampir pasti MUDA. Di ain pihak, nilai probabilitas 0,9 MUDA berarti 10% dari himpunan tersebut diharapkan tidak MUDA.

Himpunan fuzzy memiliki 2 atribut, yaitu :

1. Linguistik, yaitu penamaan sesuatu grup yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami, seperti : MUDA, PAROBAYA, dan TUA.

2. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu variabel saperti : 40, 25, 50, dan sebagainya.

Ada beberapa hal yang perlu diketahui dalam memahami systemfuzzy, yaitu : 1. Variable fuzzy

Variable fuzzy merupakan variable yang hendak di bahas dalam suatu

systemfuzzy.

Contoh : umur, temperatur, pemerintah, dan lain-lain. 2. Himpunan fuzzy

Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy.

Contoh :

Variabel temperatur terbagi menjadi 5 himpunan fuzzy, yaitu DINDING, SEJUK, NORMAL, HANGAT, dan PANAS. (gambar 2.3)


(27)

Gambar 2.3 Himpunan Fuzzy Pada Variabel Temperatur 3. Semester pembicaraan

Semaster pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk di operasikan dalam suatu variabel fuzzy. Semester pembicaraan merupakan himpunan bilangan real yang senantiasa naik (bertahan) secara menonton dari kiri ke kanan atau sebaliknya . nilai semesta pembic pembicaraan dapat berubah bilangan positif maupun negatif. Contoh semesta pembicaraan:

 Semesta pembicaraan untuk variable umur : [0 +∞]

 Semesta pembicaraan untuk variable temperatur : [0 40] 4. Domain

Domain himpunan fuzzy adalah keseluruhan nilai yang diizinkan dan boleh dioperasikan dalam suatu himpunan bilangan real yang senantiasa naik (bertambah) sacara monoton dari kiri kekanan. Nilai domain dapat berubah bilangan positif maupun negative. Contoh domain himpunan fuzzy:

 MUDA = [0 35]


(28)

 TUA = [55 +∞]

2.1.2. Fungsi Keanggotaan

Funngsi keanggotaan (membership function) adalah suatu kurva yang menunjukkan pemecatan titik-titik input data ke dalam nilai keanggotaannya (sering juga disebut derajat keanggotaan) yang memiliki interval antara 0 sampai 1. Salah satu cara yang dapat digunakan untuk mendapat nilai keanggotaan adalah dengan melalui pendekatan fungsi. Ada beberapa fungsi yang dapat digunakan.

a) Representasi linear

Pada representasi linier, pemetaan data input digambarkan sebagai suatu garis lurus ke derajat keanggotaannya. Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk pendekatan suatu konsep yang kurang jelas. Ada 2 keadaan himpunan fuzzylinear, yaitu:

1. Representasi Linear Naik

Kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan (0) bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan lebih tinggi (Gambar2.4).


(29)

Persamaan fungsi keanggotaan seperti terlihat pada persamaan 2.2 berikut ini :

2. Representasi Linear Turun

Representasi linear turun merupakan kebalikan dari linear naik. Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah (Gambar 2.5).

Gambar 2.5 Representasi Linier Turun

Persamaan Fungsi keanggotaannya seperti terlihat pada persamaan 2.3 berikut ini :

µ[x]

{

(b – x ) / ( b – a ); jika a ≤ x ≤ b ... (2.3)

b) Representasi Kurva Segitiga

Kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear seperti terlihat pada Gambar 2.6.


(30)

Gambar 2.6 Representasi Kurva Segitiga

Persamaan fungsi Keanggotaannya seperti pada persamaan 2.4 berikut ini

c) Representasi Kurva Trapesium

Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa titik yang memiliki nilai keanggotaan 1 seperti terlihat pada 2.7.

Gambar 2.7 Representasi Kurva Trapesium


(31)

d) Representasi Kurva Bahu

Representasi fungsi keanggotaan fuzzy dengan menggunakan kurva bahu pada dasarnya adalah gabungan dari kurva segitiga dan kurva trapisium. Daerah yang terletak di tengah-tengah kurva bahu ini, direpresentasikan dengan fungsi keanggotaan segitiga, pada sisi kiri dan kanannya nilai keanggotaan akan naik dan turun. Tetapi terkadang pada salah sisi dan variabel fuzzy yang ditinjau ini terdapat nilai konstan, yaitu pada himpunan ekstrim kiri dan kanan. Hal ini dapat dilihat pada Gambar 2.8.

Gambar 2.8 Representasi Kurva Bahu

2.1.3. Operator Dasar Zeded Untuk Operasi Himpunan Fuzzy

Ada beberapa operasi yang didefisikan secara khusus untuk mengombinasi dan memodifikasi himpunan fuzzy. Nilai keanggotaan sebagai hasil dari operasi 2 himpunan sering dikenal dengan nama fire strength atau a-predikat. Ada 3 operator dasar yang diciptakan oleh zadeh, yaitu :

a) Operator AND

Operator ini berhubungan dengan operasi interseksi pada himpunan. a-predikat sebagai hasil operasi dengan operator AND diperoleh dengan mengambil nilai keanggotaan terkecil antar elemen pada


(32)

himpunan-himpunan yang bersangkutan. Persamaan nilai keanggotaan terlihat pada persamaan 2.6 berikut ini :

µA∩B = min(µA[x], µB[y])...(2.6)

b) Operator OR

Operator ini berhubungan dengan operasi union pada himpunan. a-predikat sebagai hasil operasi dengan operator OR diperoleh dengan mengambil keanggotaan terbesar antar elemen pada himpunan-himpunan yang bersangkutan. Persamaan nilai keanggotaannya terlihat pada Persamaan 2.7 berikut ini :

µAUB=max(µA[x]µ,B[y])...2.7

c) Operator NOT

Operator ini berhubungan dengan operasi komplemen pada himpunan. a-predikat sebagai hasil operasi hasil operasi dengan operasi NOT diperoleh dengan mengurangkan nilai keanggotaan elemen pada himpunan yang bersangkutan dari 1. Persamaan nilai keanggotaannya terlihat pada Persamaan 2.8 berikut ini :

µÀ = 1-µA[x]...(2.8)

Contoh :

Misalkan nilai keanggotaan 27 tahun pada himpunan MUDA adalah 0,6 (µMUDA [27]=0,6); dan nilai keanggotaan Rp. 2.000.000 pada himpunan


(33)

1. Nilai α-predikat untuk usia MUDA dan berpenghasilan TINGGI adalah :

µMUDA∩GAJITINGGI = min(µMUDA[27], µGAJITINGGI[2 x 106])

= min(0.6;0.8)

=0.6

2. Nilai α-predikat untuk usia MUDA atau berpenghasilan TINGGI adalah :

µMUDA∩GAJITINGGI = min(µMUDA[27], µGAJITINGGI[2 x 106])

= min(0.6;0.8)

=0.8 3. Nilai α-predikat untuk usia TIDAK adalah :

µMUDA = 1- µMUDA[27]

= 1-0,6

= 0.4

2.2. Database Relasional

Database adalah kumpulan data yang terstruktur. Data sendiri merupakan

fakta mengenai obyek yang dinyatakan dengan nilai (angka, deretan karakter, atau simbol). Database bertujuan untuk mengatur data sehingga diperoleh kemudahan, dan kecepatan dalam mengambil data. Database dapat didefinisikan dalam berbagai sudut pandang, diantaranya adalah seperti berikut :

1. Himpunan kelompok data yang saling berhubungan dengan terorgranisasi sedemikian rupa sehingga kelak dapat dimanfaatkan dengan tepat dan mudah.


(34)

2. Kumpulan data yang saling berhubungan, disimpan secara bersamaan sedemikian rupa tanpa pengulangan (redudancy) untuk memenuhi kebutuhan.

3. Kunpulan file, tabel, arsip yang saling berhubungan serta disimpan dalam media penyimpanan elektronik.

System Database yang terorganisir dengan baik dan handal, merupakan

perpaduan antara data, perangkat keras (hardware), system operasi, Database

management system (DBMS), dan user. Salah satu model Database yang umum

dan sering dipakai karena kehandalan dan kelebihan-kelebihannya adalah

relational Database model (model Database relasional)

Konsep Database relasional pertama kali diperkenalkan relasional pertama kali diperkenalkan oleh E.F. Codd pada tahun 1970-an dalam sebuah artikel yang ditulisnya dengan judul “Association of Computer for Large Shared Data Banks”. Model relasional merupakan kumpulan dari tabel yang dipakai untuk merepresentasikan relasi diantara data, dimana tabel-tabel tersebut tersusun dengan suatu aturan logis. Di dalam konsep relasional, Database mempunyai suatu struktur yang menggambarkan keterkaitan (integritas) diantara elemen-elemen penyusun Database. Intergritas data tersebut dipertahankan oleh sebuah komponen yang dinamakan kunci (key), yang dalam implementasinya key ini mempunyai penjabaran dan tipe lebih lanjut.

Dalam pengembangan system Database dengan model relasional ada dua hal yang menjadi acauan dalam pelaksanaannya, yaitu :

1. Entity Relationship Diagram (ERD)


(35)

2.2.1. Entity Relationship Diagram (ERD)

Untuk memudahkan pendeskripsian relasi diantara elemen-elemen penyusun Database, cara yang sering dipakai adalah dengan menggunakan entity

realitionship diagram (ERD). Dengan metode ini pengembang dapat lebih muda

dalam merancang system datebase serta relasi diantara entity-entity penyusun

Database dapat digambarkan dengan lebih jelas kepada pengguna.

Terdapat tiga notasi dasar yang berkerja pada model E-R, yaitu : entity,

relationship, dan attribute. Sebuah entity adalah sebuah benda atau obyek di dunia

nyata yang dapat dibedakan dari semua obyek lainnya. Entity set adalah sekumpulan entity yang mempunyai tipe yang sama. Entitiy set dilambangkan persegi panjang. Relationship adalah hubungan diantara beberapa entity dan dilambangkan dengan bentuk diamond (ketupat). Sedangkan attribute merupakan istilah yang dipakai untuk menyatakan atau mengelompokkan suatu entity. Attribute dalam ERD dilambangkan dengan bentuk elips.

Ada beberapa istilah yang harus dipahami sebelum merancang Database dengan model entity relationship diagram ini diantaranya adalah :

a) Super Key

Satu atau lebih atribut (kumpulan atribut) yang dapat membedakan setiap baris data dalam tabel secara unik, dimana tidak akan terjadi pengulangan atau nilai yang sama dibaris berikutnya.

b) Kandidat key

Kumpulan atribute minimal yang membedakan setiap baris data dalam tabel secara unik. Untuk dapat menjadi kandidat key suatu atribut harus memenuhi persyaratan sebagai berikut :


(36)

a. Untuk satu nilai yang mengidentifikasi satu baris dalam satu relasi (unik).

b. Tidak memeliki subset yang juga merupakan primery key. c. Tidak dapat bernilai null.

c) Primery key

Nilai dari primery key harus mengidentifikasi sebuah baris secar unik didalam suatu relasi, primery key boleh terdiri dari satu atau lebih atribut relasi dengan syarat harus memenuhi syarat sebagai kandidate key.

d) Alternative key

Adalah kunci yang tidak ada didunia nyata, tetapi diadakan dan dijadikan primery key. Kunci ini dibuat ketika tidak ada satupun atribute dalam sebuah relasi yang bisa mewakili relasi tersebut atau kandidate key yang ada tidak efektif untuk digunakan.

e) Koposit key

Primary key yang terdiri lebih dari stu kunci.

f) Foreign key (FK)

Kunci ini bukan merupakan kunci dari tabel yang diacu melainkan kunci dari tabel lain.

g) Kardinalitas pemetaaan

Kardinalitas pemetaaan atau rasio kardinalitas menunjukkan jumlah entity yang dihubungkan ke satu entity lain dengan suatu relationship set.


(37)

2.2.2. Normalisasi Database

Salah satu topik yang cukup komleks dalam dunia management Database relasional adalah proses untuk menormalisasi tabel-tabel dalam Database. Alasan utama untuk melakukkan normalisasi adalah untuk membentuk Database yang efektif, efisien dan handal. Untuk menghilangkan insersion anomalies, deletion anomalis, dan update anomalies, normalisasi yang harus dilakukukkan minimal sampai tahapan ketiga. Normalisasi marupakan pendekatan dalam membangun strukur logika data, dapat dilakukkan dengan langsung berkaitan dengan kinerja

Database. Dalam membangun strukture logika data, dapat dilakukkan dengan

langsung menggunakan prinsip-prinsip normalisasi atau melakukkan transformasi dari model E-R kedalam bentuk tabel.

Dalam prespektif normalisasi sebuah Database dikatakan baik jika setiap tabel yang membentuk Database tersebut sudah dalam keadaan normal. Suatu tabel dikaakan normal jika memenuhi kreteria sebagai berikut :

1. Jika ada dekomposisi atau penguraian tabel, maka dekomposisinya dijamin aman (lossless-join decompotition).

2. Terpeliharanya ketergantungan fungsional fungsional dependency pada saat perubahan data.

3. Tidak melangar boyce code normal form (BCNF), jika tidak memungkinkan minimal tidak melanggar sampai bentuk nomal ketiga.


(38)

Tahapan-tahapan dalam melakukkan normalisasi terhadap Database adalah :

1. Bentuk normal pertama (First normal form)

Sebuah tabel dikatakan 1NF jika tidak ada duplikasi baris dalam tabel dan masing-masing cell bernilai tunggal. Kemudian semua atribut yang ada harus bergantung pada primary key.

2. Bentuk normal kedua (2 normal form)

Bentuk normal kedua terpenuhi jika pada sebuah tabel semua atribute yang tidak termasuk primary key memiliki ketergantungan fungsional terhadap primary key secara utuh, tidak ada ketergantungan persial. 3. Benuk normal kedua (3 normal form)

Sebuah tabel dikatakan memenuhi bentuk normal ketiga jika tidak terdapat ketergantungan transitif, dimana atribute bukan kunci tidak boleh tergantung pada atribute lainnya.

2.3. Fuzzyfikasi Database

Databaserelationship telah terbukti sebagai model Database yang paling

handal dan dipakai pada bermacam aplikasi system informasi dengan sukses, tetapi tidak bagaimanapun juga, systemDatabaserelationship yang diperkenalkan oleh Codd (1970) tidak menangani data yang ambigu. Data yang ditangani harus merupakan data yang pasti atau bernilai kosong (null). Padahal dalam realita kehidupan sekarang ini sering kali dibutuhkan data yang samar dan melibatkan banyak variabel yang tidak pasti sebagai proses dalam acuhan pengambilan keputusan.


(39)

Sejak awal dekade 1980-an penelitian tentang impementasi pemakaiaan kaedah logika fuzzy ( kaedah fuzzy diperkenalkan oleh Zaden pada tahun 1965 ) telah dilakukkan untuk pengembangan berbagai macam model Database. Tujuan dari pemakaian logika fuzzy tersebut dalam pemodelan databse adalah untuk memperbarui kemampuan Database klasik agar dapat merepresentasikan dan memanipulasi data atau informasi yang tidak pasti dan tidak akurat (ambigu). Ternyata penerapan logika fuzzy ini memberikan kontribusi yang sangat besar terutama pada model data relational atau yang sejenisnya. Perlu dicatat bahwa pesatnya perkembangan komputasi telah memberikan peluang bagi munculnya aplikasi Database pada CAD/CAM (Computer Aided sesign / Computer Aided manufacture), multimedia, system informasi geografis, dan lainnya.

Berdasarkan buku panduan fuzzy Database yang di susun oleh Sri Kusumadewi dan Hari Purnomo, telah dijelaskan bahwa Database adalah kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya. Database system adalah suatu system informasi yang mengintegrasikan kumpulan data yang saling berhubungan satu dengan lainnya dan membuatnya tersedia untuk beberapa aplikasi dalam suatu organisasi.

Sebagian besar Database standar diklasifikasikan berdasarkan bagaimana data tersebut dipandang oleh user. Dengan menggunakan Database standar, kita dapat mencari data-data dengan spesifikasi tertentu dengan menggunakan query.

Namun pada kenyataannya, kadang kita membutuhkan informasi dari data-data yang bersifat ambiguous. Apabila hal ini terjadi, maka kita bisa menggunakan fuzzy Database. Selama ini sudah ada penelitian tentang fuzzy


(40)

Database. Salah satu diantaranya adalah model Tahani. Fuzzy Database model Tahani masih tetap menggunakan relasi standar, hanya saja model ini menggunakan teori himpunan fuzzy untuk mendapatkan informasi query-nya.

Misalkan kita mengkategorikan usia karyawan ke dalam himpunan : MUDA, PAROBAYA, dan TUA ()

Gambar 2.9 Fungsi keanggotaan untuk Variabel Usia Fungsi Keanggotaan :


(41)

Tabel 2.1 menunjukkan tabel karyawan berdasarkan umur dengan derajat keanggotaannya pada setiap himpunan.

Tabel 2.1 Karyawan Berdasarkan Umur

Derajat Keanggotaan ([x])  No  Nama  Umur 

MUDA  PAROBAYA  TUA 

1  Lia  30  1  0  0 

2  Iwan  48  0  0,4  0,8 

3  Sari  36  0,4  0,1  0 

4  Andi  37  0,3  0,2  0 

5  Budi  42  0  0,7  0,2 

6  Amar  39  0,1  0,4  0 

7  Rian  37  0,3  0,2  0 

8  Kiki  32  0,8  0  0 

9  Alda  35  0,5  0  0 

10  Yoga  25  1  0  0 

Variabel Gaji bisa dikerjakan dalam himpunan: RENDAH, SEDANG, dan TINGGI.(Gambar 2.10)


(42)

Fungsi Keanggotaan gaji :

Tabel 2.2 menunjukkan tabel karyawan berdasarkan gaji dengan derajat keanggotaannya pada setiap himpunan.

Tabel 2.2 Karyawan Berdasarkan Gaji

Derajat Keanggotaan ([z]) 

No  Nama  Gaji/bln 

RENDAH  SEDANG  TINGGI 

1  Lia  750000 0,4  0,5  0,4 

2  Iwan  1500000 0,3  0,25  0,25 

3  Sari  1255000 0,1  0,6  0,1 

4  Andi  1040000 0,3  0,04  0,04 

5  Budi  950000 1  0  0 

6  Amar  1600000 0  0,225  0 

7  Rian  1250000 0  0  0 

8  Kiki  550000 0,8  0  0 

9  Alda  735000 0,5  0  0 

10  Yoga  860000 1  0  0 

Ada beberapa query yang bisa diberikan dari data di atas, misalkan Query: Siapa sajakah karyawan yang masih muda tapi memiliki gaji tinggi?


(43)

SELECT Nama FROM Karyawan WHERE (Umur=”MUDA”) AND (Gaji = “TINGGI”)

Tabel 2.3 menunjukkan hasil query1, yaitu nama-nama karyawan yang masih muda tapi memiliki gaji yang tinggi.

Tabel 2.3 Hasil Query

Derajat Keanggotaan   MUDA  

No  Nama  Umur  Gaji/bln 

MUDA  TINGGI 

TINGGI 

3  Sari  36  1500000 0,4  0,5  0,4 

7  Rian  37  1250000 0,3  0,25  0,25 

6  Amir  39  1600000 0,1  0,6  0,1 

4  Andi  37  1040000 0,3  0,04  0,04 

1  Lia  30  750000 1  0  0 

2  Iwan  48  1255000 0  0,225  0 

5  Budi  42  950000 0  0  0 

8  Kiki  32  550000 0,8  0  0 

9  Alda  35  735000 0,5  0  0 

10  Yoga  25  860000 1  0  0 

2.4. Mysql

MySQL merupakan server database yang menggunakan teknik relasional untuk menghubungkan antara tabel-tabel dalam database. MySQL dikeluarkan secara gratis dibawah lisensi GNU General Public License (GPL) seperti halnya JSP, sehingga tepatlah kiranya bila MySQL dijodohkan dengan JSP untuk merancang halaman web yang gratis namun handal. MySQL juga menyediakan source programnya secara terbuka (open source) sehingga orang lain dapat mengubah atau menambah kemampuan dari MySQL untuk keperluan khusus secara pribadi. Dikarenakan kemampuannya yang handal (robust) dan didukung dengan system multi-user (banyak pemakai) dan multi-thread (beberapa prosedur


(44)

dalam proses dijalankan secara bersama), maka MySQL dapat bersaing dengan beberapa produk server database commercial seperti MS Server 7, Oracle, dan lainnya.

Awal mula pengembangan MySQL dilakukan oleh perusahaan komersial yang bernama MySQL AB, yang sudah menggunakan MySQL untuk layanan bisnisnya. Perusahaan ini menggunakan MySQL untuk menghubungkan antar table menggunakan teknik ISAM yang merupakan rutin level rendah. Pengujian telah dilakukan dan mendapatkan hasil yang memuaskan terutama mengenai kecepatan akses database dan mudah disesuaikan guna memenuhi kebutuhan pemakainya.

Untuk dapat mengatur Database dengan MySQL harus mengerti terlebih dahulu perintah-perintah dasar dari server MySQL. Agar dapat mengatur

Database yang ada, harus masuk dengan user administrator.

Hal pertama yang harus dimengerti dalam mengatur Database adalah bagaimana membuat Database. Databse inilah yang digunakan untuk menampung data. Perintah yang digunakan adalah

mysql> CREATE DATABASE nama_Database;

Untuk menghapus Database cukup digunakan perintah sebagai nerikut : mysql> DROP DATABASE nama_Database;

Untuk mengarahkan Database mana yang ditempati untuk bekerja, digunakan perintah :

mysql> USE nama_Database;

Setelah berhasil membuat Database dan menggunakannya, langkah selanjutnya adalah mengisi Database tersebut dengan tabel – tabel. Untuk


(45)

membuat tabel, maka perlu dirancang terlebih dahulu, yang meliputi jumlah field, tipe field serta atribut pelengkapan yang lainnya.

Mysql> CREATE TABLE ‘nama_tabel’ (‘nama_field’ tipe_data);

Sekarang tabel yang telah dibuat dapat diisikan data. Cara untuk mengisi dapat dibedakan dalam dua cara, pertama dengan memasukkan data satu – persatu untuk masing-masing baris, cara kedua adalah dengan mengubah file.txt yang berisi data ke dalam tabel yang diinginkan. File.txt yang akan dimasukkan sebaiknya ditempatkan pada direktori yang sama dengan program yang dijalankan agar mempermudah pemindahan ke tabel. Perintah yang digunakan untuk memasukkan data satu persatu dan menggunakan file adalah sebagai berikut :

mysql> insert into nama_tabel(nama_field) values (isi_field); atau

mysql> LOAD DATA LOCAL INFILE “nama_file.txt” INFO TABEL nama_tabel;

Sedangkan untuk menghapus data yang terdapat dalam tabel tersebut adalah dengan perintah :

mysql> DELETE FROM nama_tabel WHERE (kondisi);

Untuk membaca semua data dari sebuah tabel digunakan perintah SELECT * FROM nama_tabel;. Selain dapat dibaca secara keseluruhan, juga dapat dilakukan pembacaan data tertentu pada tabel. Untuk menampilkan data di dalam tabel yang sesuai yang diinginkan di sebuah kolom, digunakan perintah sebagai berikut :


(46)

Perintah tersebut berarti program diperintahkan untuk menampilkan semua data dari tabel yang diinginkan yang memenuhi kondisi yang dimasukkan.

2.4.1. Kelebihan Mysql

MySQL merupakan Relational Database Management System (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam Database sejak lama, yaitu SQL (Structured Query Language).

SQL (Structured Query Language) adalah sebuah konsep operasi

Database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang

memungkinkan operasi data dikerjakan dengan mudah secara otomatis. Kehandalan suatu system Database (DBMS) diketahui dari cara kerja optimizer -nya dalam melakukan proses perintah SQL (Structured Query Language).

Sebagai Database server, MySQL dikatakan lebih unggul dibandingkan

Database server lainnya dalam query data. Hal ini terbukti untuk query yang

dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase. Selain itu MySQL memiliki keistimewaan, antara lain :

a. Open Source. MySQL didistribusikan secara open source (gratis), di bawah

lisensi GPL (General Public License).

b. Multi user. MySQL dapat digunakan oleh beberapa user dalam waktu yang


(47)

c. Column types. MySQL memiliki tipe kolom, seperti signed/unsigned integer,

float, double, char, text, date, timestamp, dan lain-lain.

d. Command dan functions. MySQL memiliki operator dan fungsi secara penuh

yang mendukung perintah Select dan Where dalam query.

e. Clients dan tools. MySQL dilengkapi dengan tools yang dapat digunakan

untuk administrasi Database.

f. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani alter table.

2.5. Bahasa Pemrograman PHP

PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs Personal).PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995.

Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP. Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat.


(48)

Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP dirubah menjadi akronim berulang PHP: Hypertext Preprocessing. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0.PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.

Kelebihan PHP dari bahasa pemrograman lain :

 Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.

 Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, nginx, hingga Xitami dengan konfigurasi yang relatif mudah.

 Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan bahasa pemrograman PHP.

PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime.


(49)

2.5.1. Tipe Data dalam PHP

Pada program PHP ( Personal Home Page ) tipe data di bagi menjadi lima jenis yang berbeda, dimana setiap masing – masing setia tipe data memiliki fungsi atau aturan – aturan yang berbeda – beda. Kelima tipe data tersebut diantaranya adalah : Integer, Floating Point, Bolean, String dan Array. Tipe data yang digunakan oleh program PHP otomatis akan di tentukan oleh PHP tanpa harus dideklarasikan terlebih dahulu. Dalam setiap penggunaan bahasa pemrograman tidak semua tipe data harus digunakan karena penggunaan tipe data disesuaikan juga dengan keperluan user. Dalam bahasa pemrograman PHP sebuah tipe data sangatlah penting perananya karena digunakan untuk membedakan jenis data yang masuk dalam Database. Dengan adanya tipe data ini maka setiap data yang masuk kedalam Database itu tidaklah rancu dan dalam hal perhitunganpun tidak akan terjadi banyak kesalahan.

a) Integer

Tipe data integer ini berisikan data semua bilangan bulat yang besarnya range sama dengan data pada bahasa C, yaitu antara -2,147,483,648 sampai +2,147,483,647 pada platform 32bit. Apabila data diluar kisaran tersebut maka PHP akan secara otomatis mengkonversikan data tersebut dari tipe data Integer menjadi tipe Floating Point. Dimana tipe data floating point itu sendiri memiliki besaran yang berbeda dengan tipe integer. Tipe data integer biasanya digunakan

b) Floating Point

Tipe data ini berisikan bilangan pecahan atau bilangan desimal. Kisaran data Floating adalah antara 1.7E-308 sampai 1.7E+308. Bentuk dari


(50)

data ini adalah desimal ataupun dalam bentuk pangkat. Tipe data floating

point ini juga dapat digunakan dalam kategori perhitungan. Namun

perhitungan yang akan di lakukan tetap di konversikan terhadap bentuk bilangan decimal ataupun pecahan, dan tidak dapat dikonversikan kedalam bentuk bilangan bulat.

c) Boolean

Dalam matematika dan ilmu komputer, Aljabar Boolean adalah struktur aljabar yang "mencakup intisari" operasi logika AND, OR dan NOR dan juga teori himpunan untuk operasi union, interseksi dan komplemen. Penamaan Aljabar Boolean sendiri berasal dari nama seorang matematikawan asal Inggris, bernama George Boole. Dialah yang pertama kali mendefinisikan istilah itu sebagai bagian dari system logika pada pertengahan abad ke-19.

Boolean adalah tipe data yang paling sederhana yakni suatu tipe data

yang hanya mempunyai dua nilai. Yaitu true atau false ( benar atau salah ). Pada beberapa bahasa pemograman yang lain nilai true bisa digantikan 1 dan nilai false digantikan 0 yang artinya jika suatu kondisi bernilai benar atau true maka nilai angkanya 1 sebaliknya jika salah nilai angkanya 0.

d) String

Tipe data String dinyatakan dengan menggunakan tanda kutip Tunggal (‘’) atau mengggunkana tanda kutip Ganda (“ ”). Perbedaan penggunaan antara dua tanda kutip tersebut adalah, jika menggunakan tanda petik tunggal, maka yang akan tercetak nama Variabelnya. Namun jika menggunakan tanda petik ganda, maka yang akan tercetak adalah isi


(51)

Variablenya. Jika penggunaan tipe data string tidak menggunakan kedua tanda kutip tersebut maka bahasa pemrograman akan mengkonversikannya kedalam bentuk tulisan biasa bukan sebagai tipe data. Maka dari itu tanda kutip tersebut sangatlah penting penggunaanya.

5. Array

Array dalam ilmu komputer, adalah suatu tipe data terstruktur yang

dapat menyimpan banyak data dengan suatu nama yang sama dan menempati tempat di memori yang berurutan ( kontigu ) serta bertipe data sama pula.

Array dapat diakses berdasarkan indeksnya. Indeks larik umumnya

dimulai dari angka 0 dan ada pula yang dimulai dari angka bukan 0. Pengaksesan larik biasanya dibuat dengan menggunakan perulangan ( looping ).

2.5.2 Variable dalam PHP

Variabel digunakan sebagai tempat penyimpanan data sementara. Data yang disimpan dalam variabel akan hilang setelah program selesai dieksekusi. Untuk penyimpanan data yang permanen, kita dapat menyimpan data di Database atau di disk masing - masing. Silahkan mengacu pada Akses Database untuk mendalami penggunaan Database, dan Akses File dan Folder untuk penyimpanan data di filesystem. Variabel di PHP diawali dengan tanda $, untuk dapat menggunakan variabel, ada dua langkah yang harus dilakukan, deklarasi dan inisialisasi.


(52)

2.5.2.1Deklarasi Variabel

Deklarasi variabel bisa disebut juga memperkenalkan atau mendaftarkan variabel ke dalam program. Dalam PHP, deklarasi variabel seringkali digabung dengan inisialisasi. Variabel dalam PHP dinyatakan dengan awalan $.Contoh :

$nama $alamat $jumlah

Perlu diperhatikan pula bahwa variabel bersifat case sensitive, yang artinya penulisan nama variabel membedakan bentuk penulisan antara huruf kecil dan huruf besar. Dalam pemakain variabel pada bahasa pemrograman PHP atau bahasa pemrograman yang lain ada beberapa aturan yang harus diikuti berkenaan dengan pemberian nama variabel, karena bila aturan ini tidak diikuti maka dalam penggunannya akan menemui sebuah kesalahan, setiap variabel berfungsi untuk memberikan atau menyimpan sebuah nilai baru yang telah ada dan mengkonversikannya menjadi nilai baru bedasarkan variabel tersebut. Adapun aturan – aturan tersebut adalah sebagai berikut :

 Variabel diawali dengan tanda $

 Karakter pertama setelah tanda $ harus huruf atau garis bawah ( _ )

 Karakter berikutnya boleh huruf, angka, atau garis bawah.


(53)

2.5.2.2Inisialisasi Variabel

Inisialisasi variabel adalah mengisi nilai untuk pertama kalinya ke dalam variabel. Contoh inisialisasi melakukan inisialisasi Variabel adalah sebagai berikut :

$nama="Widi Mawardi";

$alamat="Jl Ibu Ganirah No 252 D Cimahi-Bandung"; $jumlah=100;

2.6. CSS ( Cascading Style Sheets )

CSS( Cascading Style Sheets ) digunakan dalam kode HTML ( Hypertext

Markup Language ) untuk menciptakan suatu kumpulan Style yang terkadang

dapat digunakan untuk memperluas kemampuan HTML ( Hypertext Markup

Language ) yang artinya melalui CSS ( Cascading Style Sheets ) ini kita dapat.

CSS (Cascading Style Sheet) adalah bahasa yang digunakan untuk format tampilan HTML (Hypertext Markup Language), bahasa yang direkomendasikan W3C (World Wide Web Consortium) untuk melukiskan gaya seperti huruf, warna, ukuran, jarak, posisi pada dokumen-dokumen web. CSS (Cascading Style Sheet) sangat membantu para web designer untuk memperindah halaman web template.

CSS (Cascading Style Sheet) sama fungsinya dengan cara format HTML

(Hypertext Markup Language) biasa, namun CSS (Cascading Style Sheet)

mempunyai lebih banyak elemen yang bisa kita atur. Tag table punya elemen

border, CSS (Cascading Style Sheet) juga punya format untuk border namun

lebih detail lagi seperti : border-top, border-right, border-bottom, border-left. artinya lebih kompleks karena memungkinkan kita membuat sisi border yang berbeda.


(54)

2.7. Konektivitas PHP-Mysql

Pembahasan mengenai MySQL secara khusus tidak akan dilakukan disini. Sebab pada penulisan ini, penulis ingin memfokuskan penggunaan MySQL melalui bahasa pemrograman PHP. Dan untuk menjalankan perintah – perintah MySQL dari dalam script bahasa pemrograman PHP dibutuhkan beberapa fungsi koneksi tersendiri. Adapun beberapa fungsi tersebut adalah sebagai berikut :

a) mysql_connect( )

PHP menyediakan fungsi ini untuk membuat koneksi ke MySQL server. Fungsi ini membutuhkan tiga buah argumen : hostname, Database username,

dan Database user password.

mysql_connect (“hostname”, ”Database user name”, ”Database user

password”) ;

b) mysql_select_db( )

Fungsi ini digunakan untuk memilih Database yang akan digunakan. Fungsi ini membutuhkan dua buah argumen : nama Database dan variabel link.

mysql_select_db(“nama_Database”).

c) mysql_query( )

Fungsi ini digunakan untuk melakukan query terhadap Database yang terpilih. Fungsi ini membutuhkan sebuah argumen, yaitu query. Fungsi ini hanya dapat dilakukan jika user telah melakukan koneksi ke MySQL dan memilih Database yang akan digunakan.


(55)

BAB III

ANALISIS DAN PERANCANGAN SYSTEM

3.1. Analisis System

Dalam sub-sub ini akan dibahas mengenai analisis dari system rekomendasi handphone dari metode fuzzy database tahani. System ini nantinya akan memberikan rekomendasi tentang handphone yang di inginkan oleh Customer dengan perhitungan metode fuzzy database tahani.

Dalam proses Perekomendasian handphone tentunya ada kreteria yang di inputkan oleh Customer dan nantinya dari kreteria yang di inputkan user system akan memproses dan menangkap input dari user kemudian dijadikan sebuah variable yang nantinya dihitung dengan menggunakan metode fuzzy itu sendiri, adapaun inputan dari Customer yang akan dijadikan variable antara lain range harga dari handphone, merk handphone yang menjadi prioritas kemudian data fuzzy yang berupa data variable yang meliputi : (Panjang, lebar, ketebalan, dimensi, berat, standby time, talktime, dan Phonebook memory), serta data nonfuzzy yang dijadikan inputan yang berupa fasilitas handphone antara lain : (HSDPA, EDGE, GPRS, Wifi, GPS, E-mail, WAP 2.0, Html, USB, IrDA, Bluetooth, Radio Player, System Operasi, Java MIDP, Memory External, Touchscreen, Musik Player, Video Player, Jaringan GSM, Jaringan CDMA, Symbian) dari variable-variable nantinya system akan memberikan rekomendasi kepada Customer data yang sesuai dengan kreteria ataupun yang mendekati.


(56)

CUSTUMER

Menentukan Data HANDPHONE yang Diinginkan

Database HANDPHONE

Olah Data dan Perhitungan

Fire Strength

Tentukan Fungsi Keanggotaan dan Himpunan

Data HANDPHONE

yang direkomendasikan

3.2. Perancangan System

Perancangan system disini membahas mengenai konsep dari system yang akan dibuat, variable input yang dibutuhkan, dan variable output yang akan dihasilkan.

3.2.1. Deskripsi Umum System

Dalam sub-sub ini menjelaskan tentang proses perancangan system yang nantinya akan dibuat. Mulai dari deskripsi umum system, konsep perancangan dalam bentuk flowchart diagram, perancangan proses, perancangan data, perancangan tabel dan perancangan antarmuka.

Deskripsi umum dari system ini dapat dilihat dalam bentuk Gambar 3.1 sebagai berikut :


(57)

Customer nantinya akan menentukan data handphone apa saja yang sesuai dengan kreteria, mulai range harga, merk handphone, data handphone dan fasilitas handphone, kemudian system akan mengolah data dari Customer dengan menghitung fire stanght dari data yang di input kan dari Customer setelah data yang cocok atau mendekati data yang ditentukan oleh user maka system akan memberikan data rekomemndasi yang nantinya akan ditentukan oleh user.

Dalam pembuatan aplikasi system ini, terdapat beberapa element dasar, antara lain :

a) Database

Elemen ini merupan tempat menyimpan kumpulan data handphone, fungsi keanggotaan, yang nantinya dibutuhkan oleh system dalam proses perekomendasian.

b) Program Aplikasi

Elemen ini merupakan program yang digunakan untuk mengolah sejumlah masukkan data yang berupa data perekomendasian sehingga menghasilkan output berupa rekomendasi handphone yang sesuai dengan kreteria Customer yang diinginkan. Dalam aplikasi ini juga terdapat antar muka untuk meng input kan data-data yeng berkaitan dengan Output yang nantinya akan dihasilkan oleh system.

3.2.2. Parameter Input Dalam Pemilihan Handphone

Dalam proses perekomendasian handphone diperlukan beberapa inputan dari user untuk menghasilkan suatu rekomendasi handphone yang diinginkan, data yang perlu di input kan dibagi menjadi 4 kelompok data yang nantinya akan diseleksi mana yang sesuai yang mencakup semua input an data tersebut antara


(58)

lain : range harga, Merk handphone, inputan Fuzzy dan inputan nonfuzzy. Dari uraian di bawah diharapkan gambaran tentang metode input an dapat dipahami lebih jelas.

A) Range Harga

Dalam hal ini Customer meng input kan batasan nilai harga yang diinginkan, setelah meng input kan range harga maka system akan menseleksi semua data yang termasuk dalam range harga yang di input kan oleh Customer. dan nantinya data tersebut akan disimpan dalam database temporal.

B) Merk Handphone

Merk Handphone merupakan seleksi input an untuk menseleksi Merk apa saja yang di inginginkan, Merk handphone ini merupakan Merek handphone secara Global, dan merek handphone yang di input kan dapat lebih dari satu Merk, ini bertujuan bahwa Customer dapat bebas memilih merk apa saja asalkan kreteria yang di inginkan dapat dipenuhi.

C) Input Fuzzy

Inputan fuzzy ini merupakan inputan yang nantinya akan dihitung dengan metode fuzzy dan akan menghasilkan fire stranght, variable yang dihitung antara lain : panjang, lebar, tebal, dimensi, berat, standby time, talk time dan Phonebook memory. adapun perhitungan variable tersebut dijelaskan dibawh ini.

a) Variable Panjang

Variable Panjang dibagi menjadi 3 himpunan fuzzy yaitu PENDEK, SEDANG dan PANJANG. Himpunan PENDEK dan PANJANG menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu,


(59)

sedangkan himpunan SEDANG menggunakan pendekatan fungsi keanggotaan berbentuk segitiga. Dapat dilihat pada Gambar 3.2 dibawah ini.

Gambar 3.2 Fungsi Keanggotaan pada Variable Panjang Fungsi Keanggotaaan Panjang

 

………..(3.1)

………(3.2)

………(3.3)

b) Variable Lebar

Variable Lebar dibagi menjadi 3 himpunan fuzzy yaitu SEMPIT, SEDANG dan LEBAR. Himpunan SEMPIT dan LEBAR menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan himpunan SEDANG


(60)

menggunakan pendekatan fungsi keanggotaan berbentuk segitiga. Dapat dilihat pada Gambar 3.3 dibawah ini.

Gambar 3.3 Fungsi Keanggotaan pada Variable Lebar Funsi Keanggotaan Lebar

 

………(3.4)

………(3.5)

………(3.6)

c) Variable Tebal

Variable Tebal dibagi menjadi 3 himpunan fuzzy yaitu TIPIS, SEDANG dan TEBAL. Himpunan TIPIS dan TEBAL menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan himpunan SEDANG


(61)

menggunakan pendekatan fungsi keanggotaan berbentuk segitiga. Dapat dilihat pada Gambar 3.4 dibawah ini.

Gambar 3.4 Fungsi Keanggotaan pada Variable Tebal Fungsi Keanggotaan Tebal

 

………(3.7)

………(3.8)

………(3.9)

d) Variable Dimensi

Variable Dimensi merupakan variable yang dipengaruhi oleh 3 Variable yang lainnya yaitu Variable Panjang, lebar dan ketebalan. variable dimensi di dapat dari perhitungan perkalian antara variable Panjang, variable lebar dan variable tebal. Variable dimensi terbagi atas 3 himpunan yaitu KECIL,


(62)

NORMAL dan BESAR. untuk lebih jelas dalam penentuan himpunan fuzzy dapat dilihat dalam Gambar 3.5 dibawah ini.

Gambar 3.5 Fungsi Keanggotaan pada Variable Dimensi

Fungsi Keanggotaan Dimensi

 

………(3.10)

………….. ...(3.11)

……….(3.12)

e) Variable Berat

Variable Berat dibagi menjadi 3 himpunan fuzzy yaitu RINGAN, SEDANG dan BERAT. Himpunan RINGAN dan BERAT menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan himpunan SEDANG


(63)

menggunakan pendekatan fungsi keanggotaan berbentuk segitiga. Dapat dilihat pada Gambar 3.6 dibawah ini.

Gambar 3.6 Fungsi Keanggotaan pada Variable Berat

Fungsi Keanggotaan Berat

 

……….(3.13)

……….(3.14)

……….(3.15)

f) Variable Stanby Time

Variable Standby Time dibagi menjadi 3 himpunan fuzzy yaitu SEBENTAR, NORMAL dan LAMA. Himpunan SEBENTAR dan LAMA menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan himpunan NORMAL menggunakan pendekatan fungsi keanggotaan berbentuk segitiga. Dapat dilihat pada Gambar 3.7 dibawah ini.


(64)

Gambar 3.7 Fungsi Keanggotaan pada Variable Standby time Fungsi Keanggotaan Standby time

 

………..(3.16)

………..(3.17)

…………..(3.18)

g) Variable Talk time

Variable Talk time dibagi menjadi 3 himpunan fuzzy yaitu SEBENTAR, NORMAL dan LAMA. Himpunan SEBENTAR dan LAMA menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan himpunan NORMAL menggunakan pendekatan fungsi keanggotaan berbentuk segitiga. Dapat dilihat pada Gambar 3.8 dibawah ini.


(65)

Gambar 3.8 Fungsi Keanggotaan pada Variable Talk Time Fungsi Keanggotaan Talk Time

 

………(3.19)

……….….(3.20)

……….(3.21)

h) Variable Phonebook

Variable Phonebook dibagi menjadi 3 himpunan fuzzy yaitu SEDIKIT, SEDANG dan BANYAK. Himpunan SEDIKIT dan BANYAK menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan himpunan SEDANG menggunakan pendekatan fungsi keanggotaan berbentuk segitiga. Dapat dilihat pada Gambar 3.9 dibawah ini.


(66)

Gambar 3.9 Fungsi Keanggotaan pada Variable Dimensi Fungsi Keanggotaan Phonebook

 

………..(3.22)

………(3.23)

……….(3.24)

D) Input Nonfuzzy

Input an nonfuzzy merupakan inputan yang menjadi fasilitas pendukung dari kreteria handphone yang diinginkan, nilai untuk inputan nonfuzzy hanya ada dua terbesar dan terkecil. dalam metode fuzzy data terbesar bernilai 1 yang artinya ada dan terkecil adalah 0 yang berate tidak ada. adapun data nonfuzzy yang di input kan antara lain sebagai berikut :

a) HSDPA b) EDGE c) GPRS


(67)

d) Wifi e) GPS f) E-mail g) WAP 2.0 h) Html i) USB j) IrDA, k) Bluetooth l) Radio Player m) System Operasi n) Java MIDP o) Memory External p) Touchscreen q) Musik Player r) Video Player s) Jaringan t) Symbian

3.2.3. Parameter Output Dalam Pemilihan Handphone

Variable Output dari system ini adalah berupa data rekomendasi yang di inginkan oleh Customer yang memiliki nilai derajat fire stranght semakin besar nilai fire stranght, semakin mendekati pula kreteria yang diingikan oleh Customer.

3.2.4. Klasifikasi Pemakai System


(68)

a) Super Administrator (Admin)

Super Administrator disini bertugas untuk memasukka (insert, update, dan delete) data yang nantinya akan dikeluarkan oleh system. Dalam hal ini super administrator yang memiliki hak akses penuh terhadap system.

b) Administrator (Petugas)

administrator disini bertugas mengontor perekomendasian dari user dan mengatur lalulintas dari system.

c) Customer (User)

Customer disini berinteraksi dengan system untuk mencari rekomendasi handphone yang di inginkan dan tidak bisa merubah data yang sudah di tentukan system melalui administrator.

3.3. Flowchart

Secara umum system yang akn dibuat adalah seperti terlihat pada Gambar 3.10, dimana database yang berisi data-data mahasiswa akan dibaca oleh system, kemudian setelah ditentukan fungsi keanggotaan dan himpunan fuzzy nya system akan menghitung nilai derajat keanggotaan data. Mekanisme pembacaan datanya dilakukan dengan mengirimkan query dari aplikasi java ke server MySQL. Data yang telah dibaca kemudian diolah berdasarkan pendefinisikan fungsi keanggotaan dan query data untuk mendapatkan nilai free strength-nya. setelah proses tersebut, data hasil akan tampil oleh aplikasi java dalam bentuk tabel hasil dan dikirimkan kembali ke server database membentuk tabel hasil.


(69)

Gambar 3.10 Flowchart Proses Perekomendasian

Pada gambar diatas menunjukkan diagram alur system, penjelasan dari diagram alur system di atas yaitu :

1. Input Range Harga : sebagai hasil inputan dari Customer berupa batasan harga.

2. Input Merk handphone : sebagai pilihan Merk handphone secara global yang diinginkan oleh Customer.


(1)

108

Tabel 5.15 Merk Nokia BERAT Berat

5.2.2. Uji Coba Sistem fuzzy dan Nonfuzzy

Dalam Uji coba untuk mendapatkan data rekomendasi dengan inputan data fuzzy dan non fuzzy disini penulis melakukkan percobaan sebanyak 3 kali percobaan terhadap Custumer. Adapun percobaan yang dilakukan dijelaskan dalam tabel 5.16 berikut ini.

Tabel 5.16 Data Rekomendasi

Harga 

Uji 

Coba  Dari  Sampai  Type  Fuzzy  Nonfuzzy 

1  2.000.000  3.000.000 NOKIA  P=Sedang, 

L=Sedang, 

T=tipis,  D=, 

   

HSDPA, Radio Player, Memory Ext, Musik Player, Video Player,


(2)

 

2  500.000  1.000.000     P=Sedang, 

L=Sedang, 

T= Sedang, 

D=Sedang 

 HSDPA,

Bluetooth, Musik Player 

3  0  5.000.000     P=Pendek, 

L=Sedang, 

T= Tipis, 

D=Sedang 

 HSDPA, EDGE, Bluetooth,

Memory Ext, Musik Player, Video Player 

Dari Ketiga data uji coba diatas dapat dilihat hasil dari proses perekomendasian untuk ujicoba nomor 1 adalah dengan hasil Type yang keluar dalam rekomendasi ini adalah tipe N85, N96-8MP, N95, N96, N79, X5, X6, N97-mini, N8, dan N97 dengan nilai fire stranght yang paling besar adalah tipe Handphone N85, N96-8MP, N95, N96. Untuk lebih jelas dapat dilihat pada tabel 5.17 berikut ini

Tabel 5.17 Hasil Rekomendasi Uji Coba 1

Untuk hasil uji coba kedua data yang tampil dalam rekomendasi ada 11 type handphone dengan nilai tertinggi adalah tipe handphone N95-8GB dan N95

Hak Cipta © milik UPN "Veteran" Jatim :


(3)

110

dengan nilai Fire stranght 0.98. untuk lebih jelas dapat dilihat dalam Tabel 5.18 dibawah ini

Tabel 5.18 Hasil Rekomendasi Uji Coba 2

Untuk hasil uji coba ketiga data yang tampil dalam rekomendasi hanya ada 2 type handphone yaitu N95 dan X2 dengan N95 sebagai nilai tertinggi yang bernilai 0.89 dan X2 dengan nilai 0.73. Untuk lebih jelas dapat dilihat dalam Tabel 5.18 dibawah ini


(4)

111

BAB VI

PENUTUP

6.1. Kesimpulan

Dari pendefinisian masalah, tujuan serta analisa dan pembuatan aplikasi ini, dapat diambil kesimpulan sebagai berikut:

1. System cerdas telah berhasil dibuat berupa website yang dapat memberikan informasi data handphone yang diinginkan Customer, dengan melakukan pencarian dan menentukan parameter input system yang digunakan sebagai inputan data baik fuzzy maupun nonfuzzy pada metode fuzzy database tahani.

2. Membuat system cerdas dengan input Fuzzy dan Non Fuzzy bagi system sehingga nantinya system akan memberikan data rekomendasi kepada customer data handphone yang sesuai dengan kreteria input system.

3. Membuat suatu website yang dapat melakukan proses sleksi dalam memilih produk handphone yang layak direkomendasikan untuk Customer.

4. Hasil uji coba dengan kriteria fuzzy dan non fuzzy menunjukkan bahwa system dapat memberikan rekomendasi jenis handphone sesuai dengan kriteria yang telah ditentukan sesuai dengan inputan yang diinginkan dengan menggunakan gabungan operation OR dan operation AND sehinggga hasil rekomendasi yang diberikan kepada Customer menjadi lebih tepat.

Hak Cipta © milik UPN "Veteran" Jatim :


(5)

112

5. Bagi perusahaan, system ini dapat memberikan informasi tentang kecenderungan konsumen terhadap suatu produk atau minat dari konsumen.

6.2. Saran

Saran yang dapat disampaikan dalam pengembangan aplikasi rekomendasi handphone ini adalah:

1. Aplikasi ini difokuskan pada rekomendasi handphone untuk agen penjualan hanphone SEGARA CELL, pengembangan lebih lanjut aplikasi akan sangat bermanfaat apabila ditambahkan fasilitas untuk melakukan pembelian.

2. System rekomendasi handpone ini dibuat dengan menggunakan system basis data fuzzy model tahani dengan harapan akan diperoleh hasil yang lebih optimal, namun tidak menutup kemungkinan system ini dapat dikembangkan lebih lanjut untuk segala permasalahan perekomendasian dengan menggunakan metode lainnya.


(6)

DAFTAR PUSTAKA

Anoname. Majalah Ponsel edisi Dwi Mingguan / Th. VIII/2011, 10-23 Januari 2011

Eliyani. Utomo Pujianto. Didin Rosyadi. (2009). Decision Support System Untuk Pembelian Mobil Menggunakan Fuzzy Database Model Tahani. Universitas Muhammadiyah. Gresik

Kadir, Abdul. 2008. Tuntunan Praktis Belajar Database Menggunakan MySQL. Andi. Yogyakarta.

Kusumadewi, Sri dan Hari Purnomo. 2004. Aplikasi Logika Fuzzy untuk Mendukung Keputusan Yogyakarta : Graha Ilmu

Sutarman, S.,Kom. Membangun Aplikasi Web Dengan Php Dan Mysql : Graha Ilmu Yogyakarta, 2003.

Winarko, E. 2006. Perancangan Database Dengan Power Designer 6.32. Jakarta: Prestasi Pustaka.

Hak Cipta © milik UPN "Veteran" Jatim :