42
SISTEM PENDUKUNG KEPUTUSAN UNTUK PEMILIHAN PRODUK HANDPHONE MENGGUNAKAN METODE FUZZY TAHANI SKRIPSI Disusun Untuk Melengkapi Tugas Dan Memenuhi Syarat Kelulusan Program Strata I Jurusan Teknik Informatika Fakultas Teknik Universitas Muhammadiyah Jember diajukan oleh : INDRA SEPTIAN 0910652054 FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA UNIVERSITAS MUHAMMADIYAH JEMBER 2011

FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

  • Upload
    others

  • View
    29

  • Download
    1

Embed Size (px)

Citation preview

Page 1: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

SISTEM PENDUKUNG KEPUTUSAN UNTUK PEMILIHAN PRODUK HANDPHONE MENGGUNAKAN METODE FUZZY TAHANI

SKRIPSI

Disusun Untuk Melengkapi Tugas Dan Memenuhi Syarat Kelulusan

Program Strata I Jurusan Teknik Informatika

Fakultas Teknik Universitas Muhammadiyah Jember

diajukan oleh :

INDRA SEPTIAN

0910652054

FAKULTAS TEKNIK

JURUSAN TEKNIK INFORMATIKA

UNIVERSITAS MUHAMMADIYAH JEMBER

2011

Page 2: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

BAB I PENDAHULUAN

1.1 LATAR BELAKANG Sejarah Handphone – Handphone atau biasa disebut telepon selular

merupakan perangkat telekomunikasi elektronik yang mempunyai kemampuan

dasar yang sama dengan telepon konvensional salutaran tetap, tetapi handphone

bias dibawa kemana-mana dan tidak perlu disambungkan dengan jaringan telepon

menggunakan kabel.

Dan dalam era globalisasi sekarang ini memang tak bisa dipungkiri bahwa

kebutuhan akan alat komunikasi terutama handphone sangatlah penting. Selain

lebih mudah untuk di bawa kemana-mana, banyak kemudahan-kemudahan yang

ditawarkan dari fasilitas yang ada di handphone, misalnya fasilitas music, games,

GPRS, MMS dan bahkan sekarang telah muncul fasilitas kamera yang tentunya

sangat memanjakan para penggunanya. Melihat animo konsumen yang begitu

antusias, maka banyak para produsen yang berlomba-lomba untuk memproduksi

tipe-tipe handphone yang sesuai dengan keinginan konsumen. Dengan begitu

banyaknya produk handphone di pasaran, tentunya sedikit memusingkan para

konsumen (calon pembeli) untuk memilih produk handphone yang sesuai dengan

keinginan dan sesuai juga dengan daya belinya. Karena semakin lengkap fasilitas

yang ada di produk handphone maka semakin mahal pula harganya.

Dengan adanya sebuah aplikasi dengan menggunakan model DBMS dan

query yang berbasis fuzzy,maka konsumen tidak perlu bingung lagi dalam

memilih produk handphone karena DBMS dan query fuzzy model Tahani dapat

dengan tepat memetakan suatu input (fuzzy query) ke output sebagai informasi

hasil query (Kusumadewi, 2004). Metode fuzzy logic database system dapat

melakukan toleransi/penghalusan terhadap kriteria inputan data pada system yang

pada hal ini untuk memberikan rekomendasi handphone pada konsumen.

Maka permasalahan yang ada adalah “Bagaimana menerapkan metode fuzzy

Tahani dalam pemilihan produk Handphone yang sesuai dengan permintaan

konsumen”.

Page 3: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Jadi penulis mencoba membuat suatu karya tulis untuk memecahkan

masalah tersebut dengan membangun sebuah analisis dengan judul “Sistem

Pendukung Keputusan Untuk Pemilihan Produk Handphone Menggunakan

Metode Fuzzy Tahani ” yang tidak hanya menampilkan informasi atribut-atribut

standar handphone, melainkan juga dapat membantu memberikan rekomendasi

pilihan handphone bagi para konsumen berdasarkan kriteria-kriteria yang

diinginkan. Untuk itu kami menggunakan metode fuzzy model Tahani yang

digunakan untuk mengolah data-data handphone yang nantinya akan

menghasilkan output berupa data-data handphone rekomendasi untuk konsumen.

1.2 RUMUSAN MASALAH

a. Bagaimana sistem kriteria untuk pemilihan produk handphone

menggunakan metode fuzzy

b. Bagaimana kita dapat memberikan informasi data handphone untuk

rekomendasi bagi customer.

1.3 TUJUAN Tugas akhir ini bertujuan sebagai berikut :

a. Pendukung keputusan rekomendasi pemilihan HP dengan metode Fuzzy

Tahani

b. Membuat program aplikasi untuk informasi data handphone sbagai

acuan rekomendasi dengan metode Fuzzy Tahani.

1.4 MANFAAT a. Pendukung keputusan rekomendasi pemilihan HP dengan metode Fuzzy

Tahani

b. Membuat program aplikasi untuk informasi data handphone sbagai

acuan rekomendasi dengan metode Fuzzy Tahani.

1.5 BATASAN MASALAH

Adapun batasan pada proyek akhir ini adalah :

Merk yang dijadikan input sistem ada 5 : Motorola, Nokia, Siemens,

Samsung dan Sony Ericsson. Sedangkan Network system yang dijadikan

input sistem adalah GSM.

Page 4: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Pengolahan data menggunakan metode fuzzy Tahani, penerapan sistem

dalam bentuk web.

Fasilitas dan atribut handphone berupa : harga, berat, standby time, talk

time, phonebook memory, voice dialling memory, games, message length,

serta ada tidaknya fasilitas WAP, GPRS, Infrared, MMS, Polyphonic,

Kamera, 3G .

Page 5: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

BAB II TINJAUAN PUSTAKA

2.1 TINJAUAN SINGKAT HANDPHONE

Sejarah Handphone – Handphone atau biasa disebut telepon selular

merupakan perangkat telekomunikasi elektronik yang mempunyai kemampuan

dasar yang sama dengan telepon konvensional salutaran tetap, tetapi handphone

bias dibawa kemana-mana dan tidak perlu disambungkan dengan jaringan telepon

menggunakan kabel. Pada tahun 1910 adalah cikal bakal telepon seluler yang

ditemukan oleh Lars Magnus Ericsson, yang merupakan pendiri perusahaan

Ericsson yang kini di kenal dengan perusahaan Sony Ericsson. Pada awalnya,

orang Swedia ini medirikan perusahaan Ericsson memfokuskan terhadap bidang

bisnis perlaan telegraf, dan perusahaanya juga tidak terlalu besar pada waktu itu.

Pada tahun 1921 pertama kalinya Departemen Kepolisian Detroit Michigan

menggunakan teleopn mobile yang terpasang di semua mobil polisi dengan

menggunakan freuensi 2 MHz..(www.AsalMula.com)

2.2 LOGIKA FUZZY

Titik awal dari konsep modern mengenai ketidakpastian adalah paper yang

dibuat oleh Lofti A Zadeh, dimana Zadeh memperkenalkan teori yangmemiliki

obyek-obyek dari himpunan fuzzy yangmemiliki batasan yang tidak presisi dan

keanggotaandalam himpunan fuzzy, dan bukan dalam bentuklogika benar (true)

atau salah (false), tapi dinyatakandalam derajat (degree). Konsep seperti ini

disebutdengan Fuzziness dan teorinya dinamakan Fuzzy Set Theory Fuzziness

dapat didefinisikan sebagai logikakabur berkenaan dengan semantik dari suatu

kejadian, fenomena atau pernyataan itu sendiri.Seringkali ditemui dalam

pernyataan yang dibuatoleh seseorang, evaluasi dan suatu pengambilan keputusan.

Sebagai contoh:

A.Manajer pergudangan mengatakan pada manajer produksi seberapa banyak

persediaan barang padaakhir minggu ini, kemudian manajer produksi

akanmenetapkan jumlah barang yang harus diproduksi esok hari.

Page 6: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

B. Pelayan restoran memberikan pelayanan terhadap tamu, kemudian tamu akan

memberikan tip yang sesuai atas baik tidaknya pelayanan yang diberikan.

C. Anda mengatakan pada saya seberapa sejuk ruangan yang anda inginkan, saya

akan mengatur putaran kipas yang ada pada ruangan ini.

Ada beberapa alasan mengapa orang menggunakan logika fuzzy, antara

lain:

1.Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari

penalaran fuzzy sangat sederhana dan mudah dimengerti.

2.Logika fuzzy sangat fleksibel.

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

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

kompleks.

5.Logika fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman

para pakar secara langsung tanpa harus melalui proses pelatihan.

6.Logika fuzzy dapat bekerjasama dengan teknik teknik kendali secara

konvensional.

7.Logika fuzzy didasarkan pada bahasa alami.

2.2.1 MODEL TAHANI

Model Tahani adalah model database, dimana 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 sistem 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

metode fuzzy model Tahani . Selama ini sudah ada penelitian tentang metode

fuzzy model database. Salah satu diantaranya adalah model Tahani. Fuzzy model

Page 7: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Tahani ini masih tetap menggunakan relasi standar, hanya saja model ini

menggunakan teori himpunan fuzzy untuk mendapatkan informasi query-nya.

Sesuai dengan judul tugas akhir ini, maka didapatkan bahwa ada beberapa

atribut dari handphone yang akan kita jadikan sebagai input fuzzy sistem, yaitu

salah satunya adalah variabel harga. Variabel harga mempunyai 3 himpunan

fuzzy, yaitu : MURAH, SEDANG dan MAHAL. Himpunan MURAH dan

MAHAL menggunakan pendekatan fungsi keanggotaan yang berbentuk bahu,

sedangkan himpunan SEDANG menggunakan pendekatan fungsi keanggotaan

berbentuk segitiga.

Berikut gambarannya :

Fungsi Keanggotaan :

µ MURAH [x] =

800;0

800500;300

800500;1

x

xxx

µ SEDANG [x] =

16001000;600

1600

1000600;400

6001600600;0

xx

xxxataux

500 1000 1700

MURAH SEDANG MAHAL

Harga (x1000) 800 1250 1600 600

1

µ [x]

0

Gambar 2.1 Fungsi Keanggotaan Untuk Variabel Harga

Page 8: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

µ MAHAL [x] =

1700;1

17001250;4501250

1700;0

x

xxx

Dengan fungsi keanggotaan di atas akan memudahkan kita dalam

mendefinisikan data-data handphone berdasarkan harga. ( Sri Kusumadewi dan

Hari Purnomo ; 178 ; 2010 ).

2.2. PENGENALAN PHP

Pada musim gugur 1994 seorang programmer bernama Rasmus Lerdoft

([email protected]) mengembangkan script PHP, yang kemudian Script PHP

ditemukan untuk pertama kalinya pada tahun 1995, yaitu merupakan versi yang

pertama, pada versi pertama ini PHP masih berupa script PERL yang dibuat dan

digunakan oleh Rasmus pada halaman web dinamisnya untuk memonitor jumlah

pengunjung yang mengunjungi homepage pribadinya. Dengan pengetahuan

pemrograman bahasa PERL, BASIC dan C yang dikuasainya, Rasmus kemudian

menggabungkan ketiganya menjadi bahasa baru yang dikenal dengan nama PHP,

kemudian meluncurkan program bantu Personal Home Page Tools versi 1.0

dengan lisensi GNU General Public License (GPL) sehingga dapat digunakan

oleh siapapun dengan gratis.

Pada versi pertama ini kemampuan PHP hanya sebatas counter jumlah

pengunjung, dan beberapa fasilitas untuk melengkapi halaman buku tamu seperti

penyimpanan data pengunjung pada file teks. Pengembangan versi 2.0

diluncurkan setelah mempelajari cara kerja YACC dan GNU Bison, yaitu dengan

penambahan fasilitas passing parameter dimana dapat menangkap data yang

dikirim melalui Form HTML, dan penambahan fasilitas koneksi dengan MySQL

yang merupakan server basis data. Kemudian pada tahun 1997 PHP versi 3.0

mulai dikembangkan dengan melibatkan programmer lain yang tertarik untuk

mengembangkan PHP lebih lanjut, selain oleh Rasmus sendiri yaitu Zeew

Suraski, Andi Gutman, Stig Bakken, Shane Caraveo, dan Jim Winstead. Kerja

sama antara programmer ini akhirnya menghasilkan PHP versi 3.0 yang dirilis

pada tanggal 6 Juli 1998. Selanjutnya pada PHP versi 4.0 telah dikembangkan

Page 9: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

pengunaan engine script Zend yaitu untuk mempercepat kinerja (performa) dari

PHP serta ditambah dengan file-file ekstensi yang memungkinkan bermacam-

macam pustaka dari pihak ketiga (third party) untuk mendukung PHP seperti

MySQL, ODBC, FTP, Calendar, BCMath, PCRE, Session, WDDX, XML dan

lainnya.

2.2.1 Sintaks Dasar PHP

Sebagai penanda yang memberitahukan parser PHP bahwa sebuah skrip

menggunakan bahasa PHP dapat dilakukan dengan cara berikut :

Menggunakan tanda <? .. ?>

Menggunakan tanda <?php ... ?>

Menggunakan perintah seperti pada Javascript

Contoh :

<script langage=”php”> ... </script>

Menggunakan tanda <% ... %>

Dari seluruh cara tersebut dapat dilihat bahwa tanda penutup harus sama

dengan tanda pembukanya. Misalnya jika tanda pembukanya (<?) maka tanda

pentutpnya adalah (?>). Fungsi dari tanda penutup ini adalah untuk memberikan

tanda bahwa sebuah statement atau skrip PHP telah selesai dilengkapi.

2.3 MYSQL

MySQL merupakan server basis data yang menggunakan teknik relasional

untuk menghubungkan antara tabel-tabel dalam basis data. MySQL dikeluarkan

secara gratis dibawah lisensi GNU General Public License (GPL) seperti halnya

PHP, sehingga tepatlah kiranya bila MySQL dijodohkan dengan PHP 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

khusussecara pribadi. Dikarenakan kemampuannya yang handal (robust) dan

didukung dengan system multi-user (banyak pemakai) dan multi-thread (beberapa

prosedur dalam proses dijalankan secara bersama), maka MySQL dapatlah

Page 10: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

bersaing dengan beberapa produk server basis data commercial seperti MS Server

7, Oracle, dan lainnya.

Awal mula pengembangan MySQL dilakukan oleh perusahaan komersial

yang bernama MySQL AB, yang sudah menggunakan mSQL untuk layanan

bisnisnya. Perusahaan ini menggunakan mSQL untuk menghubungkan antar table

menggunakan teknik ISAM yang merupakan rutin level rendah. Pengujian telah

dilakukan dan mendapatkan hasil yang memuaskan terutama mengenai kecepatan

akses basis data 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.

2.3.1. Membuat dan Menghapus Database

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 DATABSE nama_database;

Perlu diperhatikan bahwa penulisan perintah adalah ‘case sensitif’ artinya

dalam menulis perintah harus persis dengan menggunakan huruf besar. Jika tidak

persis maka perintah tersebut akan dikenali sebagai perintah lain atau bahkan

tidak dikenali. Tanda ‘;’ digunakan untuk mengakhiri baris perintah.

Untuk menghapus database cukup digunakan perintah sebagai nerikut :

mysql> DROP DATABASE nama_database;

2.3.2. Menggunakan Database

Untuk mengarahkan database mana yang ditempati untuk bekerja,

digunakan perintah :

mysql> USE nama_database;

Page 11: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Database changed

Perintah tersebut harus selalu dikerjakan untuk memberitahukan bahwa

database tersebut akan dimanipulasi data yang ada didalamnya.

2.3.3. Membuat Tabel

Setelah berhasil membuat database dan menggunakannya, langkah

selanjutnya adalah mengisi database tersebut dengan tabel – tabel. Karena tabel –

tabel tersebut baru dan belum terisi maka digunakan perintah USE

nama_tabel; untuk mengarahkan di database mana tabel akan dibuat.

Untuk membuat tabel, maka perlu dirancang terlebih dahulu, yang meliputi

jumlah field, tipe field serta atribut pelengkapa yang lainnya.

2.3.4. Mengisi Tabel

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 file adalah sebagai berikut :

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);

2.3.5. Membaca dan Mengatur Isi Tabel

Untuk membaca semua data dari sebuah tabel digunakan perintah SELECT

* FROM nama_tabel;. Selain dapat dibaca secara keseluruhan, juga dapat

Page 12: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

dilakukan pembacaan data tertentu pada tabel. Untuk menampilkan data di dalam

tabel yang sesuai yang diinginkan di sebuah kolom, digunakan perintah sebagai

berikut :

mysql> SELECT * FROM nama_tabel WHERE (kondisi);

Perintah tersebut berarti program diperintahkan untuk menampilkan semua

data dari tabel yang diinginkan yang memenuhi kondisi yang dimasukkan.

Selain manampilkan data dari sebuah tabel berdasarkan karakter tertentu

yang terdapat di dalam sebuah kolom data tersebut, untuk tipe data DATE, dapat

juga dipilih data berdasarkan data tanggal yang ada. Sebagai contoh, untuk

menampilkan data yang bertanggal sebelum tanggal 17 Juli 2003 atau kalau

dituliskan dalam format DATE adalah “2003-07-17”, maka digunakan perintah

berikut :

mysql> SELECT * FROM nama_tabel WHERE tanggal <=”2003-

03-17”;

Di samping menampilkan semua data, MySQL juga memberikan

kemudahan untuk menampilkan data berdasarkan kolom yang diinginkan.

2.4 INTEGRASI ANTARA PHP DAN MYSQL

Aplikasi web yang dapat dibuat dengan menggunakan PHP dan MySQL

sangatlah bermacam – macam. Umumnya, aplikasi dengan menggunakan PHP

dapat berdiri sendiri tanpa memanfaatkan database MySQL. Akan tetapi tidak

sebaliknya jika ingin aplikasi tersebut ditampilkan melalui web.

Untuk mengintegrasikan PHP dengan sistem database MySQL, pertanyaan

pertama yang timbul adalah bagaimana mengakses database MySQL

menggunakan web atau PHP. Sebuah file yang berekstensi .php atau .php3 dapat

dieksekusi langsung lewat sebuah browser dengan menyembunyikan kode-kode

pemrograman PHP, dan menampilkan kode – kode html yang dimengerti oleh

browser. PHP inilah yang digunakan sebagai antar muka ke web atau user

sekaligus penghubung dengan database. Namun, ini terjadi jika file .php atau

Page 13: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

.php3 diakses secara langsung dari browser. Jika file tersebut dieksekusi setelah

aksi dari sebuah form html dijalankan, PHP disini sering berfungsi sebagai

penghubung ke database dan baru menjadi antar muka ke user setelah aksi tadi

diproses dan ditampilkan.

Untuk menampilkan data dari database yang pertama harus terdapat

databasenya terlebih dahulu. Dan kemudian untuk mengakses database tersebut

dari program PHP digunakan listing sebagai berikut :

$db = mysql_connect(“server_database”, ”user_login”,

”password_login”);

Listing diatas kurang lebih berfungsi sebagai login. Yang pertama adalah ke

server database, biasanya adalah localhost. Parameter selanjutnya adalah nama

login yang digunakan untuk mengakses database. Jika pasword_login belum diisi

pada server, parameter ini dapat dikosongkan. Perintah selanjutnya adalah untuk

mengakses database tertentu :

mysql_select_db(“nama_database”,$db);

Perintah diatas berarti memilih database yang ingin digunakan. Perintah ini

setara dengan perintah USE nama_database dari server database yang

tercantum dalam variabel $db. Kemudian dapat dilakukan akses terhadap tabel

atau objek dalam database tersebut dan melakukan beberapa macam operasi

terhadap data yang ada didalamnya.

Page 14: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

BAB III METODELOGI PENELITIAN

3.1 DESAIN SISTEM

3.1.1 Analisis Kebutuhan Sistem

Sistem yang akan dibangun merupakan metode fuzzy model Database.

Karena model yang digunakan adalah model Tahani, maka relasi yang ada dalam

basisdata masih bersifat standar, dengan penekanan fuzzy pada beberapa field

pada tabel-tabel yang ada pada basis data tersebut.

a. Kebutuhan Input

Kebutuhan input sistem digolongkan menjadi 2, yaitu input fuzzy dan

input non fuzzy.

1. Input Fuzzy, terdiri dari :

i. Data-data HP yang menyangkut : dimensi (panjang, lebar, tebal),

berat, standby, talktime, phonebook memory, voice dialing

memory, game.

ii. Batas bawah (parameter a untuk semua bentuk fungsi), batas atas

(parameter b untuk fungsi berbentuk bahu dan parameter c untuk

fungsi berbentuk segitiga), serta nilai tengah (parameter b untuk

fungsi berbentuk segitiga) untuk variabel-variabel pada bagian (i).

2. Input Non Fuzzy, terdiri dari data-data HP yang menyangkut ada

tidaknya fasilitas WAP, GPRS, Infrared, Bluetooth, EDGE, MMS,

Polyphonic, Kamera, Display (Layar), Radio, Cardslot, MP3/AAC

Player, MPEG4 player, Aplikasi Java, T3G, OS.

b. Kebutuhan Output

Output sistem berupa rekomendasi handphone sesuai dengan kriteria yang

diinginkan oleh para konsumen.

3.1.2 Perancangan Sistem

Penggunaan Diagram Arus Data di sini bertujuan untuk memudahkan

dalam melihat arus data dalam sistem.

a. Diagram Konteks Sistem

Diagram konteks sistem seperti terlihat pada gambar di bawah ini :

Page 15: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Ada 3 entitas luar yang berhubungan dengan sistem ini, yaitu handphone,

konsumen dan administrator. Dari handphone akan diperoleh data-data

yang berhubungan dengan handphone itu sendiri. Dari administrator akan

diperoleh input data dan batas-batas himpunan fuzzy. Sedangkan

konsumen akan mendapatkan layanan rekomendasi handphone sesuai

dengan kriteria yang diinginkannya.

b. Diagram Arus Data

Diagram arus data level 1 untuk sistem ini seperti terlihat pada gambar di

bawah Diagram arus level 1 terdiri dari 4 proses, yaitu proses pemasukan

dan editing data-data handphone, proses pemasukan dan editing batas

himpunan fuzzy, proses penghitungan derajat keanggotaan dan fire

strength, serta proses pencarian handphone. Pada proses pemasukan dan

editing data-data handphone, data-data disimpan dan diambil dari tabel

DataHP dan JenisHP. Pada proses pemasukan dan editing batas himpunan

fuzzy, data-data disimpan dan diambil dari tabel BatasHimp. Pada proses

penghitungan derajat keanggotaan dan fire strength, data-data diambil dan

disimpan kembali dalam tabel Mu. Sedangkan pada proses pencarian

handphone, konsumen menginputkan kriteria handphone yang diinginkan,

dan kemudian akan mendapatkan satu atau lebih data handphone yang

berkaitan dengan kriteria yang diinginkan tersebut beserta fire strength

yang menunjukkan seberapa besar rekomendasi yang diberikan oleh

sistem (fire strength ini memiliki nilai berkisar antara [0:1]). Nilai 1

Gambar 3.1 Diagram Konteks Sistem

HP

Sistem

Administrator

Pengguna

Data HP HP rekomendasi

Kriteria HP

Batas Himpunan Fuzzy

Page 16: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

menunjukkan rekomendasi penuh, apabila fire strength bernilai mendekati

0, maka handphone tersebut semakin tidak direkomendasikan.

3.1.2.1 Perancangan Basisdata

Karena pada aplikasi ini menggunakan fuzzy database model Tahani,

maka struktur database yang digunakan adalah struktur database relasional. Tabel-

tabel yang digunakan dalam menyelesaikan aplikasi ini adalah :

1. Struktur Tabel

Tabel JenisHP

Tabel JenisHP digunakan untuk menyimpan data-data tentang merk

handphone.

Tabel 3.1 JenisHP Nama Field Type Data Lebar Keterangan

Kode* Varchar 7 Kode HP

Gambar 3.2 Diagram Arus Data level I

Administrator

3 Penghitungan

derajat keanggotaan

& fire strength

Tbl. Mu

Tbl. BatasHimp

Pengguna

Data

4 Pencarian

HP

Tbl. JenisHP

1 Input/edit Data HP

HP Data HP

Tbl. DataHP

Data HP Data HP

Merk HP Merk

Kriteria HP

HP direkomendasi

Derajat keanggotaan &

fire strength

Batas himp. Fuzzy Batas himp.

Fuzzy

Batas himp. Fuzzy

2 Input/edit

Batas Himp.

Batas himp. Fuzzy Administrator

Input Data

Administrator

Input Data

Administrator

Input Data

Page 17: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

NamaHP Varchar 20 Merk HP

Tabel DataHP

Tabel DataHP digunakan untuk menyimpan data-data tentang atribut,

fasilitas serta fitur-fitur handphone dengan seri tertentu.

Tabel 3.2 DataHP Nama Field Type Data Lebar Keterangan

Type* Varchar 10 Seri (type) HP

Kode** Varchar 7 Kode HP

Harga Double - Harga HP baru

Hargas Double - Harga HP bekas

Dimensi Double - Dimensi HP

Berat Double - Berat HP

StandBy Double - Standby time HP

TalkTime Double - Talktime HP

PhoneBook Double - Phonebook memory

VoiceDialing Double - Voice Dialing

Games Double - Jumlah Games

WAP Integer 1 fasilitas WAP; ada

(1) tidak (0)

GPRS Integer 1 fasilitas GPRS; ada

(1) tidak (0)

Infrared Integer 1 fasilitas Infrared;

ada (1) tidak (0)

Bluetooth Integer 1 fasilitas Bluetooth;

ada (1) tidak (0)

MMS Integer 1 fasilitas MMS; ada

(1) tidak (0)

PolyPhonic Integer 1 fasilitas Polyphonic;

ada (1) tidak (0)

Display Integer 1 Display Layar;

warna (1) B/W (0)

Kamera Integer 1 fasilitas Kamera;

ada (1) tidak (0)

Panjang Float - Panjang HP

Lebar Float - Lebar HP

Page 18: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Tebal Float - Tebal HP

Radio Integer 1 fasilitas Radio; ada

(1) tidak (0)

Edge Integer 1 fasilitas Edge; ada

(1) tidak (0)

Cardslot Integer 1 fasilitas Cardslot;

ada (1) tidak (0)

MP3 Integer 1 fasilitas MP3

player; ada (1)

tidak (0)

MPEG4 Integer 1 fasilitas video

player; ada (1)

tidak (0)

Appjava Integer 1 fasilitas App. Java;

ada (1) tidak (0)

T3G Integer 1 fasilitas 3G; ada (1)

tidak (0)

OS Integer 1 fasilitas OS; ada (1)

tidak (0)

Tabel BatasHimp

Tabel BatasHimp digunakan untuk menyimpan data-data batas

himpunan fuzzy.

Tabel 3.3 BatasHimp Nama Field Type Data Lebar Keterangan

Batas* String 15 Nama batas himp.

Fuzzy

Nilai Real 5 Nilai batas himp.

Fuzzy

Tabel Mu

Tabel Mu digunakan untuk menyimpan data-data tentang derajat

keanggotaan suatu seri (tipe) handphone tertentu pada himpunan fuzzy

tertentu.

Tabel 3.4 Mu Nama Field Type Data Leba Keterangan

Page 19: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

r

Type* Varchar 10 Seri (type) HP

Msize1 Float - mu untuk ukuran di

himp. KECIL

Msize2 Float - mu untuk ukuran di

himp. NORMAL

Msize3 Float - mu untuk ukuran di

himp. BESAR

Mberat1 Float - mu untuk berat di

himp. RINGAN

Mberat2 Float - mu untuk berat di

himp. NORMAL

Mberat3 Float - mu untuk berat di

himp. BERAT

Mstandby1 Float - muuntuk standby di

himp. SEBENTAR

Mstandby2 Float - mu untuk standby di

himp. NORMAL

Mstandby3 Float - mu untuk standby di

himp. LAMA

Mtalktime1 Float - mu untuk talktime di

himp. SEBENTAR

Mtalktime2 Float - mu untuk talktime di

himp. NORMAL

Mtalktime3 Float - mu untuk talktime di

himp. LAMA

Mphonebook

1

Float - mu untuk phonebook

di himp. SEDIKIT

Mphonebook

2

Float - mu untuk phonebook

di himp. SEDANG

Mphonebook

3

Float - mu untuk phonebook

di himp. BANYAK

Mvoicedial1 Float - mu untuk voicedialing

di himp. SEDIKIT

Mvoicedial2 Float - mu untuk voicedialing

di himp. SEDANG

Mvoicedial3 Float - mu untuk voicedialing

di himp. BANYAK

Page 20: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Mgames1 Float - mu untuk games di

himp. SEDIKIT

Mgames2 Float - mu untuk games di

himp. SEDANG

Mgames3 Float - mu untuk games di

himp. BANYAK

MWAP Integer mu crisp untuk ada

fasilitas WAP

MGPRS Integer 1 mu crisp untuk ada

fasilitas GPRS

Minfrared Integer 1 mu crisp untuk ada

fasilitas Infrared

MBluetooth Integer 1 mu crisp untuk ada

fasilitas Bluetooth

MMMS Integer 1 mu crisp untuk ada

fasilitas MMS

MPolyphonic Integer 1 mu crisp untuk ada

fasilitas Polyphonic

MKamera Integer 1 mu crisp untuk ada

fasilitas Kamera

Mdisplay Integer 1 mu crisp untuk

fasilitas Display

Mradio Integer 1 mu crisp untuk ada

fasilitas Radio

Medge Integer 1 mu crisp untuk ada

fasilitas EDGE

Mcardslot Integer 1 mu crisp untuk ada

fasilitas Cardslot

Mmp3 Integer 1 mu crisp untuk ada

fasilitas MP3 player

Mmpeg4 Integer 1 mu crisp untuk ada

fasilitas Video player

Mappjava Integer 1 mu crisp untuk ada

fasilitas Aplikasi Java

Mt3g Integer 1 mu crisp untuk ada

fasilitas 3G

Mos Integer 1 Mu crisp untuk ada

fasilitas O S

Page 21: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Mu Integer 1 Fire strength untuk

type yang

bersangkutan

Tabel Admin

Tabel Admin digunakan untuk menyimpan data user yang nanti

berfungsi untuk identifikasi saat login.

Tabel 3.5 Admin Nama Field Type Data Lebar Keterangan

Id* Integer 11 Id

UserName Varchar 20 Nama User

Password Varchar 20 Password

Tabel p_choices

Tabel p_choices digunakan untuk menyimpan data pilihan polling

serta jumlah vote dari user.

.

Tabel 3.6 p_choices Nama Field Type Data Lebar Keterangan

Id* Integer 10 Id

Answer Varchar 100 Pilihan polling

Vote bigint 20 Jumlah vote user

Tabel p_ip

Tabel p_ip digunakan untuk menyimpan data no ip dari para pemilih.

Tabel 3.7 p_ip Nama Field Type Data Lebar Keterangan

Id* Integer 10 Id

Ip Varchar 40 Nomor ip pemilih

*) Kunci Primer **) Kunci Tamu

2. Relasi Antar Tabel

Page 22: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Tabel JenisHP berelasi dengan tabel DataHP dengan relasi 1:M (one to many)

pada field Kode. Sedangkan Tabel DataHP berelasi dengan tabel Mu dengan

relasi 1:1 (one to one) pada field Type. Tabel BatasHimp, Admin, p_choices dan

p_ip tidak berelasi dengan tabel manapun.

Gambar 3.3 Relasi antar Tabel

3.1.2.2 Fungsi Keanggotaan

Data-data yang ada berupa 300 lebih seri HP dari 5 merk (Nokia, Sony

Ericsson, Motorola, Samsung dan Siemens). Pada proyek ini, setiap variabel fuzzy

Kode*

NamaHP

Batas*

Nilai

Type*

Kode ** Harga Hargas Dimensi Berat Standby TalkTime Phonebook VoiceDialing Games WAP GPRS Infrared MMS Polyphonic Kamera Panjang Lebar Tebal Radio Edge Cardslot MP3 MPEG4 Appjava T3G OS

Tabel JenisHP

Tabel BatasHimp

Tabel DataHP Type* Msize1 Msize2 Msize3 Mberat1 Mberat2 Mberat3 Mstandby1 Mstandby2 Mstandby3 Mtalktime1 Mtalktime2 Mtalktime3 Mphonebook1 Mphonebook2 Mphonebook3 Mvoicedialing1 Mvoicedialing2 Mvoicedialing3 Mgames1 Mgames2 Mgames3 Mwap Mgprs Minfra Mmms Mpolyphonic Mkamera Mradio Medge Mcardslot Mmp3 Mpeg4 Mappjava Mt3g MOS Mu

Tabel Mu

Keterangan :

* : kunci primer ** : kunci tamu : relasi 1 to 1 : relasi 1 to M

Id*

UserName

Password

Tabel Admin

Id* Answer

Vote

Tabel p_choices

Id*

IP

Tabel p_ip

Page 23: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

menggunakan fungsi keanggotaan bahu dan segitiga sebagai pendekatan untuk

memperoleh derajat keanggotaan suatu nilai dalam suatu himpunan fuzzy.

a. Variabel Dimensi

Variabel dimensi mempunyai 3 himpunan fuzzy, yaitu : KECIL,

SEDANG dan BESAR. Himpunan KECIL dan BESAR menggunakan

pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan

himpunan SEDANG menggunakan pendekatan fungsi keanggotaan

berbentuk segitiga (Gambar 3.4).

Gambar 3.4 Fungsi Keanggotaan Pada Variabel Dimensi

Fungsi Keanggotaan :

µ KECIL [x] =

90;0

9060;30

9060;1

x

xxx

µ SEDANG [x] =

170120;50

170

12070;50

7017070;0

xx

xxxataux

µ BESAR [x] =

200;1

200150;50150

150;0

x

xxx

b. Variabel Berat

Variabel berat mempunyai 3 himpunan fuzzy, yaitu : RINGAN, SEDANG

dan BERAT. Himpunan RINGAN dan BERAT menggunakan pendekatan

fungsi keanggotaan yang berbentuk bahu, sedangkan himpunan SEDANG

120 200

KECIL SEDANG BESAR

Dimensi (x1000mm3) 170 150 70 90

1

µ [x]

0 60

Page 24: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

menggunakan pendekatan fungsi keanggotaan berbentuk segitiga (Gambar

3.5).

Gambar 3.5 Fungsi Keanggotaan Pada Variabel Berat

Fungsi Keanggotaan :

µ RINGAN [x] =

90;0

9070;20

9070;1

x

xxx

µ SEDANG [x] =

150100;50

150

10080;20

8015080;0

xx

xxxataux

µ BESAR [x] =

200;1

200120;80120

120;0

x

xxx

c. Variabel Standby Time

Variabel standby mempunyai 3 himpunan fuzzy, yaitu : SEBENTAR,

SEDANG dan LAMA. Himpunan SEBENTAR dan LAMA menggunakan

pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan

himpunan SEDANG menggunakan pendekatan fungsi keanggotaan

berbentuk segitiga (Gambar 3.6).

70 100 200

RINGAN SEDANG BERAT

Berat (gram) 150 120 90 80

1

µ [x]

0

Page 25: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Gambar 3.6 Fungsi Keanggotaan Pada Variabel Standby Time

Fungsi Keanggotaan :

µ SEBENTAR [x] =

180;0

180100;80

180100;1

x

xxx

µ SEDANG [x] =

300200;100

300

200110;90110

300110;0

xx

xxxataux

µ LAMA [x] =

360;1

360240;120

240240;0

x

xxx

d. Variabel Talktime

Variabel talktime mempunyai 3 himpunan fuzzy, yaitu : SEBENTAR,

SEDANG dan LAMA. Himpunan SEBENTAR dan LAMA menggunakan

pendekatan fungsi keanggotaan yang berbentuk bahu, sedangkan

himpunan SEDANG menggunakan pendekatan fungsi keanggotaan

berbentuk segitiga (Gambar 3.7).

Gambar 3.7 Fungsi Keanggotaan Pada Variabel Talktime

100 400 800

SEBENTAR NORMAL LAMA

Talktime (menit) 110 350 450 750

100 200 360

SEBENTAR NORMAL LAMA

Standby (jam) 240 180 110 300

1

µ [x]

0

1

µ [x]

0

Page 26: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Fungsi Keanggotaan :

µ SEBENTAR [x] =

350;0

350100;250

350100;1

x

xxx

µ SEDANG [x] =

750400;350

750

400110;290

110750110;0

xx

xxxataux

µ LAMA [x] =

800;1

800450;350

450450;0

x

xxx

e. Variabel Phonebook Memory

Variabel phonebook mempunyai 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 (Gambar 3.8).

Gambar 3.8 Fungsi Keanggotaan Pada Variabel Phonebook

Fungsi Keanggotaan :

100 400 1000

SEDIKIT SEDANG BANYAK

Phonebook memory 125 300 500 900

1

µ [x]

0

Page 27: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

µ SEDIKIT [x] =

300;0

300100;200

300100;1

x

xxx

µ SEDANG [x] =

900400;500

900

400125;275

125900125;0

xx

xxxataux

µ BANYAK [x] =

1000;1

1000500;500

500500;0

x

xxx

f. Variabel Voice Dialing Memory

Variabel voice dialing mempunyai 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 (Gambar 3.9).

Gambar 3.9 Fungsi Keanggotaan Pada Variabel Voice Dialing

Fungsi Keanggotaan :

µ SEDIKIT [x] =

300;0

3020;10

3020;1

x

xxx

40 150

SEDIKIT SEDANG BANYA

Voice Dialing memory 20 25 30 50 100

µ [x]

1

0

Page 28: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

µ SEDANG [x] =

10040;60

100

4025;15

2510025;0

xx

xxxataux

µ BANYAK [x] =

150;1

15050;100

5050;0

x

xxx

g. Variabel Games

Variabel games mempunyai 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 (Gambar 3.10).

Gambar 3.10 Fungsi Keanggotaan Pada Variabel Games

Fungsi Keanggotaan :

µ SEDIKIT [x] =

3;0

31;2

31;1

x

xxx

µ SEDANG [x] =

64;2

6

42;2

262;0

xx

xxxataux

4 7

SEDIKIT SEDANG BANYAK

Jumlah games

3 5 6 2 1

1

µ [x]

0

Page 29: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

µ BANYAK [x] =

7;1

75;2

55;0

x

xxx

Catatan : Nilai dari masing-masing variabel dapat diubah sesuai dengan

kebutuhan dan perubahan nilai harus sesuai dengan aturan fuzzy.

Sedangkan untuk input non fuzzy kita tidak perlu menentukan fungsi

keanggotaannya, kita bisa menggunakan rumus himpunan crisp, dimana jika

fasilitas dari input non fuzzy tersebut tersedia (ada) maka kita inisialisasi dengan

nilai 1, jika tidak maka kita inisialisasi dengan nilai 0.

Page 30: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

BAB IV PEMBAHASAN DAN ANALISA

4.1. PEMBAHASAN

Berikut ini adalah hasil program yang dijalankan pada komputer dengan

sistem operasi Win XP. Menu pada tugas ini dibagi menjadi 2 yaitu menu untuk

user dan menu untuk admin. Menu untuk user ada 6 yaitu Home, News, Harga

Baru, Harga Bekas, Aksesori, Polling, sedangkan menu untuk admin ada 6 yaitu

Login, Input Data, Cari Data, Ubah Batas, Edit Poll dan Logout. Untuk menu user

tampilan awal adalah tampilan halaman menu Home. Halaman ini digunakan

sebagai halaman informasi mengenai layanan-layanan yang terdapat pada

handphone seperti GPRS, SIM, IMEI dll. Berikut ini tampilannya :

Gambar 4.1 Halaman Home

4.2. Contoh kasus :

User : Indra

INPUT FUZZY

NO. KRITERIA YANG DIINGINKAN PARAMETER

1. Harga Rp. 1000000 – Rp.4000000

2. Merk Sony Eriksson, Siemens, Samsung, Nokia

3. Dimensi Kecil

Page 31: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

4. Berat Bukan kriteria

5. Standby Bukan kriteria

6. Talktime Bukan Kriteria

7. Phonebook Bukan Kriteria

8. Voice Dialling Bukan kriteria

9. Games Bukan Kriteria

INPUT NON FUZZY

10. Radio

11. Video Player

12. Aplikasi Java

13. Card slot

14. Teknologi 3G

15. Mp3 Player

Dalam tabel diatas user menginputkan beberapa kriteria, sesuai

tampilannya dalam aplikasi adalah sebagai berikut :

Gambar 4.2. Halaman Data Harga Baru

Dan hasil rekomendasinya adalah sebagai berikut, dimana nilai rekomendasi dari

tipe HP Nokia 7390 adalah 0,321. Dengan tampilan sebagai berikut :

Page 32: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Gambar 4.3. Halaman Data Handphone Baru yang direkomendasi

4.3. Fungsi Keanggotaan

Berikut akan dijelaskan mengenai langkah-langkah dari sistem

untuk mengubah data handphone mentah menjadi data input fuzzy, yang

diperlukan saat melakukan fuzzifikasi adalah data mentah (input data asli),

sebagai contoh kami menggunakan data berat, kemudian batas himpunan dari data

tersebut (sesuai dengan rumus yang telah digambarkan pada fungsi keanggotaan

berat di bawah ini, yaitu MuRINGAN, MuSEDANG, MuBERAT)

µ RINGAN [x] =

90;0

9070;20

9070;1

x

xxx

µ SEDANG [x] =

150100;50

150

10080;20

8015080;0

xx

xxxataux

µ BESAR [x] =

200;1

200120;80120

120;0

x

xxx

Page 33: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Dimana pada data berat yang menjadi batasan untuk MuRINGAN nilai 70

dan 90, nilai 70 digunakan sebagai batas puncak, sedangkan nilai 90 digunakan

sebagai batas atas. Jika nilai masukan data tersebut lebih kecil atau sama dengan

70 maka data tersebut mempunyai nilai fungsi keanggotaan 1, jika nilai masukan

tersebut lebih besar sama dengan 70 dan lebih kecil sama dengan 90 maka akan

dilakukan perhitungan dengan rumus 20

90 x untuk mendapatkan nilai fungsi

keanggotaannya, dan jika nilai masukan tersebut lebih besar atau sama dengan 90

maka nilai fungsi keanggotaannya adalah 0.

Untuk MuSEDANG mempunyai nilai batasan yaitu 80, 100 dan 150. Nilai 80

digunakan sebagai batas bawah, nilai 100 digunakan sebagai batas puncak

sedangkan nilai 150 digunakan sebagai batas atas. Jika nilai masukan data tersebut

lebih kecil sama dengan 80 dan lebih besar sama dengan 150 maka data tersebut

mempunyai nilai fungsi keanggotaan 0, jika nilai masukan tersebut lebih besar

sama dengan 80 dan lebih kecil sama dengan 100 maka akan dilakukan

perhitungan dengan rumus 20

80x untuk mendapatkan nilai fungsi keanggotaannya,

dan jika nilai masukan tersebut lebih besar sama dengan 100 dan lebih kecil sama

dengan 150 maka akan dilakukan perhitungan dengan rumus 50

150 x untuk

mendapatkan nilai fungsi keanggotaannya.

Sedangkan untuk MuBERAT mempunyai nilai batasan yaitu 120 dan 200.

Nilai 120 digunakan sebagai batas bawah sedangkan nilai 200 digunakan sebagai

batas puncak. Jika nilai masukan data tersebut lebih kecil sama dengan 120 maka

data tersebut mempunyai nilai fungsi keanggotaan 0, jika nilai masukan tersebut

lebih besar sama dengan 120 dan lebih kecil sama dengan 200 maka akan

dilakukan perhitungan dengan rumus 80120x untuk mendapatkan nilai fungsi

keanggotaannya, dan jika nilai masukan tersebut lebih besar sama dengan 200

nilai fungsi keanggotaannya adalah 1.

Sesuai dengan penjelasan diatas maka kami lakukan implementasi ke

dalam script program berikut script program dari masing-masing fungsi

keanggotaan :

//---Hitung Mu Ringan---//

Page 34: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

if($berat<=70)

$mberat1=1;

elseif($berat>=70 && $berat<=90)

$mberat1=(90-$berat)/(20);

else

$mberat1=0;

//---Hitung Mu Sedang---//

if($berat>=80 && $berat<=100)

$mberat2=($berat-80)/(100);

elseif($berat>=100 && $berat<=150)

$mberat2=(150-$berat)/(50);

else

$mberat2=0;

//---Hitung Mu Berat---//

if($berat<=120)

$mberat3=0;

elseif($berat>=120 && $berat<=200)

$mberat3=($berat-120)/(80);

else

$mberat3=1;

keterangan : $berat=nilai input mentah, $mberat1=MuRINGAN,

$mberat2=MuSEDANG, $mberat3=MuBERAT

Proses di atas dilakukan pada semua input sistem fuzzy (dimensi, berat,

standby, talktime, phonebook, voicedial, dan games. Setelah semua data

dimasukkan baik itu semua input data mentah (dimensi, berat sampai OS) ke

dalam tabel DataHP, input data fuzzy dan non fuzzy (Mdimensi1, Mdimensi2,

Mdimensi3, sampai MOS) ke dalam Tabel Mu, input merk HP ke dalam Tabel

JenisHP dan input batas himpunan ke dalam tabel BatasHimp, maka sistem siap

untuk diimplementasikan ke dalam suatu aplikasi. Berikut akan kami jelaskan

Page 35: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

mengenai alur aplikasi sistem yang digunakan untuk memasukkan kriteria hingga

memperoleh data rekomendasi yang diberikan oleh sistem. Untuk itu kami

menyiapkan 4 buah file yaitu harga.php, harga_s.php, select.php dan select_s.php.

Untuk file harga.php dan select.php merupakan file yang digunakan untuk

memasukkan kriteria dan memproses data rekomendasi pada handphone baru.

Kemudian untuk file harga_s.php dan select_s.php merupakan file yang

digunakan untuk memasukkan kriteria dan memproses data rekomendasi pada

handphone bekas. Berikut penjelasan dari masing-masing file di atas :

Harga.php adalah file ini digunakan untuk menampilkan daftar kriteria hp

baru yang nanti bisa dipilih oleh user sesuai dengan keinginannya. Dengan

menggunakan file ini maka user dapat dengan mudah memasukkan kriteria yang

mereka inginkan, tampilan pada file ini dibuat seefektif mungkin sehingga user

yang awanpun dapat menggunakannya. Berikut gambaran dari file harga.php

Gambar 3.11 Harga.php

Langkah awal yang harus dilakukan user adalah memasukkan range data

harga. Kemudian baru memilih merk apa yang mereka inginkan ada 5 kriteria

yaitu : Nokia, Motorola, Samsung, Sony Ericsson, Siemens. Dalam memilih merk

mereka dapat memilih merk lebih dari satu sekaligus. Langkah selanjutnya adalah

memilih kriteria yang lain, misal dimensi disini telah disiapkan 4 pilihan yaitu

Page 36: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

kecil, sedang, besar dan bukan kriteria. Pilihan kecil, sedang dan besar digunakan

jika user mempunyai kriteria prioritas tersendiri terhadap pilihan tersebut, namun

jika user tidak mempunyai prioritas terhadap pilihan ini maka user bisa memilih

pilihan bukan kriteria. Langkah terakhir jika user telah memasukkan semua data

sesuai dengan kriteria yang diinginkannya maka user tingga meng-klik submit,

maka semua kriteria yang telah mereka masukkan akan ditangkap dan diproses

dalam file select.php. Di dalam file ini semua data masukkan kriteria diolah

dengan menggunakan perintah SQL untuk menghasilkan data handphone

rekomendasi. Berikut adalah scriptnya :

//---proses untuk menangkap hasil masukan dari file harga.php dan

menginisialisasinya ke dalam variabel2---//

$hrg1=$_POST['hrg1'];$hrg2=$_POST['hrg2'];

$nokia=$_POST["nokia"];$moto=$_POST["moto"];$siemens=$_POST["siemens

"];

$samsung=$_POST["samsung"];$soner=$_POST["soner"];

if ($nokia=="N") {$kode_n="a.kode like 'N%'";}else {$kode_n="a.kode like ''";}

if ($moto=="M") {$kode_m="a.kode like 'M%'";}else {$kode_m="a.kode like

''";}

if ($siemens=="SI") {$kode_si="a.kode like 'SI%'";}else {$kode_si="a.kode like

''";}

if ($samsung=="SM") {$kode_sm="a.kode like 'SM%'";}else{$kode_sm="a.kode

like ''";}

if ($soner=="SE") {$kode_se="a.kode like 'SE%'";}else {$kode_se="a.kode like

''";}

if($_POST["dimensi"]=="m"){$dimensi="";}else{$dimensi=" "."b.".$dimensi;}

if($_POST["berat"]=="m"){$berat="";}else{$berat=" "."b.".$berat;}

if($_POST["standby"]=="m"){$standby="";}else{$standby=" "."b.".$standby;}

if($_POST["talktime"]=="m"){$talktime="";}else{$talktime=" "."b.".$talktime;}

if($_POST["pbook"]=="m"){$pbook="";}else{$pbook=""."b.".$pbook;}

if($_POST["voice"]=="m"){$voice="";}else{$voice=" “."b.".$voice;}

if($_POST["games"]=="m"){$games="";}else{$games=" "."b.".$games;}

Page 37: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

if($_POST["wap"]=="a"){$wap=""."b."."mwap";$wap1=1;}

else{$wap="";$wap1="b."."mwap";}

if($_POST["gprs"]=="a"){$gprs=" "."b."."mgprs";$gprs1=1;}

else{$gprs="";$gprs1="b."."mgprs";}

if($_POST["infra"]=="a"){$infra=""."b."."minfrared";$infra1=

1;}else{$infra="";$infra1="b."."minfrared";}

if($_POST["blue"]=="a"){$blue=""."b."."mbluetooth";$blue1=1; }

else{$blue="";$blue1="b."."mbluetooth";}

if($_POST["mms"]=="a"){$mms=""."b."."mmms";$mms1=1;}

else{$mms="";$mms1="b."."mmms";}

if($_POST["poly"]=="a"){$poly=""."b."."mpolyphonic";$poly1=1;}

else{$poly="";$poly1="b."."mpolyphonic";}

if($_POST["kamera"]=="a"){$kamera=""."b."."mkamera";$kamera1=1;}

else{$kamera="";$kamera1="b."."mkamera";}

if($_POST["display"]=="a"){$display=""."b."."mdisplay";$display1=1;}

else{$display="";$display1="b."."mdisplay";}

if($_POST["radio"]=="a"){$radio=""."b."."mradio";$radio1=1;}

else{$radio="";$radio1="b."."mradio";}

if($_POST["edge"]=="a"){$edge=""."b."."medge";$edge1=1;}

else{$edge="";$edge1="b."."medge";}

if($_POST["cardslot"]=="a"){$cardslot=""."b."."mcardslot";$cardslot1=1;}

else{$cardslot="";$cardslot1="b."."mcardslot";}

if($_POST["mp3"]=="a"){$mp3=""."b."."mmp3";$mp31=1;}

else{$mp3="";$mp31="b."."mmp3";}

if($_POST["mpeg4"]=="a"){$mpeg4=””."b."."mmpeg4";$mpeg41=1;}

else{$mpeg4="";$mpeg41="b."."mmpeg4";}

if($_POST["appjava"]=="a"){$appjava="“."b."."mappjava";$appjava1=1;}

else{$appjava="";$appjava1="b."."mappjava";}

if($_POST["t3g"]=="a"){$t3g=""."b."."mt3g";$t3g1=1;}

else{$t3g="";$t3g1="b."."mt3g";}

if($_POST["os"]=="a"){$os=""."b."."mos";$os1=1;}

else{$os="";$os1="b."."mos";}

Page 38: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

//---variabel untuk menampung kriteria masukan user---//

$gab=("$dimensi"."$berat"."$standby"."$talktime"."$pbook"."$voice"."$games"."

$wap"."$gprs"."$infra"."$blue"."$mms"."$poly"."$kamera"."$display"."$radio"."

$edge"."$cardslot"."$mp3"."$mpeg4"."$appjava"."$t3g"."$os");

$im=implode(",",explode(" ",$gab));

//---koneksi ke database---//

$connection=mysql_connect("localhost","root","")or die("Server database tidak

tersambung");

$db=mysql_select_db("handphone",$connection) or die ("Database tidak

ditemukan");

//--Proses untuk memperoleh fire strength untuk data rekomendasi handphone--//

if(($nokia!='' || $moto!='' || $siemens!='' || $samsung!='' || $soner!='') && $im!=''){

$select_mu="select b.tipe as Tipe_HP, c.namahp as Merk_HP, a.harga as

Hrg_Baru$im, b.mu as Rekomendasi from datahp a, mu b, jenishp c where

a.kode=c.kode AND a.tipe=b.tipe AND (a.harga between $hrg1 and $hrg2)

AND b.mdisplay=$display1 AND b.mwap=$wap1 AND b.mgprs=$gprs1 AND

b.minfrared=$infra1 AND b.mbluetooth=$blue1 AND b.mmms= $mms1 AND

b.mpolyphonic=$poly1 AND b.mkamera=$kamera1 AND b.mradio=$radio1

AND b.medge=$edge1 AND b.mcardslot=$cardslot1 AND b.mmp3=$mp31

AND b.mmpeg4=$mpeg41 AND b.mappjava= $appjava1 AND b.mt3g= $t3g1

AND b.mos=$os1 AND ($kode_n OR $kode_m OR $kode_si OR $kode_sm

OR $kode_se) order by b.mu asc";

}

Page 39: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

Gambar 3.12 Select.php

Sedangkan untuk mencari data handphone bekas kita menggunakan file

harga_s.php dan select.php. Untuk proses pencariannya hampir sama dengan

proses pencarian pada handphone baru namun yang membedakan adalah nama

textbox yang berada pada file harga.php yang bernama hrg diubah menjadi hrgs

pada file harga_s.php, sedangkan untuk memperoleh nilai data rekomendasi pada

file select_s.php digunakan script sebagai berikut :

//--proses memperoleh data rekomendasi untuk harga handphone bekas--//

$select_mu="select b.tipe, c.namahp, a.hargas$im, b.mu from datahp a, mu b,

jenishp c where a.kode=c.kode AND a.tipe=b.tipe AND (a.hargas between

$hrgs1 and $hrgs2) AND b.mdisplay=$display1 AND b.mwap=$wap1 AND

b.mgprs=$gprs1 AND b.minfrared=$infra1 AND b.mbluetooth=$blue1 AND

b.mmms= $mms1 AND b.mpolyphonic=$poly1 AND b.mkamera=$kamera1

AND b.mradio=$radio1 AND b.medge=$edge1 AND b.mcardslot=$cardslot1

AND b.mmp3=$mp31 AND b.mmpeg4=$mpeg41 AND b.mappjava=

$appjava1 AND b.mt3g= $t3g1 AND b.mos=$os1 AND ($kode_n OR $kode_m

OR $kode_si OR $kode_sm OR $kode_se) order by b.mu asc";

Yang membedakan script pada select.php dan select_s.php adalah variabel harga

yang digunakan untuk masukan pada perintah SQL, di select.php variabel yang

digunakan adalah $hrg1 dan $hrg2 (range data harga handphone baru), sedangkan

Page 40: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

untuk select_s.php digunakan variabel $hrgs1 dan hrgs2 (range data harga

handphone bekas) dan pada select.php nama_field yang digunakan untuk

memperoleh data harga adalah field harga, sedangkan pada select_s.php yang

digunakan adalah field hargas.

Page 41: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

BAB 5

PENUTUP

5.1 KESIMPULAN

Dari hasil analisa pada bab sebelumnya dapat diambil kesimpulan sebagai

berikut :

Fuzzy Tahani sebagai metode sistem Pendukung Keputusan yang mampu

memberikan rekomendasi Handphone kepada user yang sesuai degan

keinginan user.

Proses merancang metoe Fuzzy tahani untuk rekomandasi Handphone

dikombinasikan dengan sistem data base yang sesuai dengan kriteria

Handphone dilapangan.

5.2 SARAN

Saran – saran yang dapat diambil dari kesimpulan di atas adalah sebagai

berikut :

User sebaiknya sebelum memilih kriteria yang akan dimasukkan

mempunyai suatu kriteria prioritas sehingga memudahkan sistem dalam

memberikan data handphone rekomendasi.

Dilakukan penambahan data handphone, karena untuk sementara data

handphone yang dimasukkan hanya dari 5 merk saja yaitu Nokia,

Motorola, Siemens, Samsung dan Sony Ericsson sebagai pertimba-ngan

karena 5 merk tersebut yang banyak beredar di pasaran. Namun sebaiknya

ditambahkan merk data handphone selain itu sehingga user mempunyai

banyak pilihan sebelum memilih handphone yang akan dibeli.

Selain penambahan data handphone, sebaiknya ada penambahan kriteria yang

belum tercantumkan atau adanya pembagian kriteria yang lebih jelas sehingga

user lebih mudah dalam memasukkan kriteria yang mereka inginkan.

Page 42: FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA …

DAFTAR PUSTAKA

Kusumadewi, Sri 2010. Aplikasi Logika Fuzzy Untuk Pendukung Keputusan

Yogyakarta : Graha Ilmu

Sutarman, 2003. membangun aplikasi web dengan php dan mysql

Yogyakarta : Graha Ilmu

Kurniawan, Arif Dwi 2008. Pemilihan SMK Menggunakan Fuzzy Query Berbasis

Web. Surabaya

Referensi bahasa pemrograman PHP : http://www.php.net

Referensi bahasa pemrograman PHP : http://www.scripts.com

Referensi bahasa pemrograman PHP : http://www.ilmukom puter.com

Referensi database MySQL : http://www.mysql.com/

Referensi data handphone : http://www.studiohp.com

Referensi data handphone : http://www.cellulardiary.com

Referensi data handphone : http://www.ponseljakarta.com