SKRIPSI
Oleh :
WINDY YUNI SUSANTI
0734010115
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
SKRIPSI
Diajukan Untuk Memenuhi Sebagian Per syar atan Dalam Memperoleh Gelar Sar jana Komputer
J ur usan Tek nik Infor matika
Oleh :
WINDY YUNI SUSANTI
0734010115
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
ii
Alhamdulillah, dengan mengucapkan puji dan syukur kehadirat Allah SWT atas
rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan tugas akhir ini dengan judul
“SISTEM PENGAMBILAN KEPUTUSAN PEMBELIAN KENDARAAN BERMOTOR
MENGGUNAKAN METODE FUZZY TAHANI” yang merupakan persyaratan dalam
memperoleh gelar Sarjana Komputer di Universitas Pembangunan Nasional “VETERAN” Jatim.
Penulis mengucapkan terima kasih yang sebesar-besarnya kepada pihak-pihak yang
telah membantu baik materiil maupun dorongan spirituil untuk menyelesaikan penulisan kerja
praktek ini, terutama kepada:
1.
Orang Tua atas motivasi dan doanya sehingga semua yang dikerjakan dapat berjalan lancar.
2.
Bapak Prof. Dr. Ir. Teguh Soedarto, MP, selaku Rektor UPN “Veteran” Jatim.
3.
Bapak Ir. Sutiyono, MT selaku DEKAN FTI UPN “VETERAN” Jatim.
4.
Ibu Dr.Ir.Ni Ketut Sari, MT selaku Kepala Jurusan Teknik Informatika, FTI UPN
“VETERAN” Jatim.
5.
Bapak Agus Hermanto, S.Kom dan Bapak Basuki Rahmat S.Si,MT, selaku Dosen
Pembimbing yang telah meluangkan waktu untuk memberikan bimbingan selama proses
pelaksanaan Tugas Akhir penulis.
6.
Bapak Chrystia Aji P, S.Kom dan Bapak Firza Aditiawan, S.Kom selaku PIA TA yang telah
mendukung proses pelaksanaan Tugas Akhir penulis.
7.
Special to: Fuad Absif yang bersedia setiap ada keperluan ke kampus selalu mengantarku dan
iii
dan memberikan semangat dalam mengerjakan tugas akhir ini.
Penulis menyadari sepenuhnya masih banyak terdapat kekurangan dalam penulisan
Tugas Akhir ini. Oleh sebab itu kritik serta saran yang membangun dari pembaca sangat
membantu guna perbaikan dan pengembangan di masa yang akan datang.
Akhirnya dengan ridho Allah penulis berharap semoga Tugas Akhir ini dapat
memberikan manfaat bagi pembaca sekalian terutama mahasiswa di bidang komputer.
Surabaya, 09 Desember 2011
ABSTRAK... i
KATA PENGANTAR ... ii
DAFTAR ISI ... iv
DAFTAR GAMBAR... vii
DAFTAR TABEL... ix
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 3
1.3 Batasan Masalah... 3
1.4 Tujuan ... 4
1.5 Manfaat ... 4
1.6 Metodologi Penelitian... 5
1.7 Sistematika penulisan ... 8
BAB II TINJAUAN PUSTAKA 2.1 Sistem Pendukung Keputusan... 11
2.2 Logika Fuzzy... 12
2.2.1 Himpunan Fuzzy... 14
2.3 Fuzzy Database Model Tahani... 16
2.4 Pengertian PHP ... 20
2.5 Syntax PHP ... 21
2.6 Operator di PHP ... 23
2.7 Control Structures di PHP... 26
2.9.1 Data Flow Diagram (DFD)... 31
2.9.2 Power Designer ... 33
2.10 MySQL ... 34
BAB III Analisis Dan Perancangan Sistem 3.1 Analisis Sistem... 37
3.2 Perancangan Sistem ... 38
3.2.1 Deskripsi umum Sistem ... 39
3.2.2 Kebutuhan Sistem ... 39
3.2.2.1 Kebutuhan Pengguna... 40
3.2.3 Flowchart Desain Sistem... 40
3.2.4 Diagram Alir ... 42
3.2.5 Data Flow Diagram (DFD) ... 43
3.2.5.1 DFD Level 0 ... 43
3.2.5.2 DFD Level 1 ... 46
3.2.5.3 DFD Level 2 ... 47
3.2.6 Entity Relationship Diagram (ERD) ... 48
3.2.7 Struktur Database ... 52
3.2.8 Perancangan Interface (Antarmuka) ... 58
BAB IV IMPLEMENTASI SISTEM 4.1 Lingkungan Pemrograman... 61
4.1.1 Kebutuhan Perangkat Keras ... 61
4.1.2 Kebutuhan Perangkat Lunak... 62
4.2 Implementasi Proses ... 63
4.2.1 Halaman Home ... 63
4.2.4 Halaman Data Fuzzyfikasi... 67
4.2.5 Halaman Master Mobil... 69
4.2.6 Halaman Master Variabel... 75
4.2.7 Halaman Restore Variabel... 77
BAB V Uji Coba Dan Evaluasi 5.1 Uji Coba... 79
5.1.1 Lingkungan Uji Coba ... 79
5.2 Implementasi Aplikasi Desain Antarmuka ... 80
5.2.1 Halaman Home ... 80
5.2.2 Halaman Login... 81
5.2.3 Halaman Demo Fuzzy ... 81
5.2.4 Halaman Data Fuzzyfikasi... 84
5.2.5 Halaman Master Mobil... 85
5.2.6 Halaman Master Variabel... 89
5.2.7 Halaman Restore Variabel... 91
5.3 Evaluasi Sistem ... 91
BAB VI KESIMPULAN DAN SARAN 5.1 Kesimpulan……... 124
Gambar 1.1 Perancangan Metodologi Penelitian ... 5
Gambar 2.1 Himpunan Temperatur dingin, sedang, panas ... 15
Gambar 2.2 Grafik Harga Mobil ... 18
Gambar 2.3 Contoh client mengirimkan permintaan ke server menggunakan kode PHP ... 21
Gambar 3.1 Flowchart Sistem ... 41
Gambar 3.2 Diagram Alir... 42
Gambar 3.3 DFD Level 0 ... 44
Gambar 3.4 DFD Level 1 ... 46
Gambar 3.5 DFD Level 2 ... 47
Gambar 3.6 CDM ... 49
Gambar 3.7 PDM... 51
Gambar 3.8 Grafik Variabel Panjang... 55
Gambar 3.9 Grafik Variabel Lebar ... 55
Gambar 3.10 Grafik Variabel Tinggi... 56
Gambar 3.11 Grafik Variabel Kapasitas (orang)... 56
Gambar 3.12 Grafik Variabel Mesin ... 56
Gambar 3.13 Grafik Variabel Daya... 57
Gambar 3.14 Grafik Variabel Torsi... 57
Gambar 3.15 Grafik Variabel Irit BBM... 57
Gambar 3.16 Antarmuka Form Login ... 58
Gambar 3.17 Antarmuka Form Master Mobil... 59
Gambar 3.18 Antarmuka Form Master variabel... 60
Gambar 4.1 Interface Home ... 63
Gambar 4.2 Halaman Login ... 64
Gambar 4.3 Interface Demo fuzzy... 65
Gambar 4.4 Hasil Pencarian ... 66
Gambar 4.5 Data Fuzzyfikasi ... 67
Gambar 4.8 Data Berhasil Ditambah ... 71
Gambar 4.9 Edit Data Master Mobil... 72
Gambar 4.10 Data Berhasil Diupdate ... 72
Gambar 4.11 Hapus Data Master Mobil ... 74
Gambar 4.12 Data Berhasil Dihapus ... 74
Gambar 4.13 Data Master Variabel ... 75
Gambar 4.14 Edit Data Master Variabel... 76
Gambar 4.15 Berhasil Update Data Variabel... ... 76
Gambar 4.16 Restore Data Variabel ... 78
Gambar 5.1 Interface Home ... 80
Gambar 5.2 Halaman Login ... 81
Gambar 5.3 Interface Demo fuzzy... 82
Gambar 5.4 Hasil Pencarian ... 83
Gambar 5.5 Data Fuzzyfikasi ... 84
Gambar 5.6 Data Master Mobil... 85
Gambar 5.7 Tambah Data Master Mobil ... 86
Gambar 5.8 Data Berhasil Ditambah ... 86
Gambar 5.9 Edit Data Master Mobil... 87
Gambar 5.10 Data Berhasil Diupdate ... 87
Gambar 5.11 Setelah Mengupdate Data Master Mobil ... 88
Gambar 5.12 Hapus Data Master Mobil ... 88
Gambar 5.13 Data Berhasil Dihapus ... 89
Gambar 5.14 Data Master Variabel ... 89
Gambar 5.15 Edit Data Master Variabel... 90
Gambar 5.16 Berhasil Update Data Variabel ... 90
Tabel 2.1 Data Mobil... 18
Tabel 2.2 Hasil kategori mobil murah, sedang, mahal... 19
Tabel 2.3 Operator Aritmatika... 23
Tabel 2.4 Operator Logika... 24
Tabel 2.5 Operator Perbandingan ... 25
Tabel 2.6 Variabel Assigment Shortcut... 26
Tabel 3.1 Tabel Fuzzyfikasi ... 52
Tabel 3.2 Tabel Login ... 53
Tabel 3.3 Tabel Master Mobil ... 54
Tabel 3.4 Tabel Master Variabel... 54
i
Kendar aan Ber motor Menggunakan Metode Fuzzy Tahani (dibimbing oleh Basuk i Rahmat, S.Si., MT dan Agus Her manto, S.Kom)
Mobil merupakan salah satu alat transportasi yang banyak dipakai untuk beraktivitas karena mobil dapat menampung lebih dari satu penumpang dan memiliki kenyamanan dalam berkendara. Memiliki mobil bagi sebagian besar kalangan masyarakat pada saat ini bagaikan hal pokok yang harus dimiliki. Dengan adanya beragam pilihan, para konsumen dihadapkan dengan banyaknya kriteria yang berpengaruh dalam menentukan mobil yang ingin dipilih. Hal ini tentunya akan mempersulit konsumen dalam menentukan pilihan yang tepat, sesuai dengan kriteria yang diinginkan.
Dalam Skripsi ini, aplikasi dirancang dengan bahasa pemrograman PHP. Metode yang digunakan yaitu metode fuzzy query model Tahani, untuk mengolah data-data mobil yang nantinya akan menghasilkan output berupa data-data mobil yang direkomendasikan untuk pengguna. Penyampaian informasi dipresentasikan dengan menggunakan fasilitas web untuk memudahkan dalam memasukkan kriteria yang diinginkan.
1.1 Latar Belakang Masalah.
Mobil merupakan salah satu alat transportasi yang banyak dipakai untuk
beraktivitas karena mobil dapat menampung lebih dari satu penumpang dan
memiliki kenyamanan dalam berkendara, selain itu mobil dapat digolongkan
sebagai kendaraan fungsi ganda, mobil dapat menampung penumpang sekaligus
menampung barang-barang bawaan yang diletakkan pada bagasi.
Memiliki mobil bagi sebagian besar kalangan masyarakat pada saat ini
bagaikan hal pokok yang harus dimiliki, Dimana dapat membantu mereka dalam
beraktivitas khusunya dalam bekerja. Oleh karena itu produsen mobil berlomba–
lomba untuk memproduksi mobil tentunya dengan keunggulan dan kelebihan
yang berbeda. Sehingga dipasaran saat ini jumlah mobil sangat banyak dan
bervariasi. Disamping adanya beragam pilihan tersebut para konsumen juga
dihadapkan dengan banyaknya kriteria yang berpengaruh dalam menentukan
mobil yang ingin dipilih. Hal ini tentunya akan mempersulit konsumen dalam
menentukan pilihan yang tepat, sesuai dengan kriteria yang diinginkan. Masalah
ini tergolong kedalam masalah yang bersifat multiobjective (banyak tujuan yang
ingin dicapai) dan multicriterias (ada banyak kriteria yang menentukan dalam
yang dapat membantu permasalah diatas. Salah satu metode tersebut adalah
metode fuzzy query model Tahani untuk mengolah data-data mobil yang nantinya
akan menghasilkan output berupa data-data mobil yang direkomendasikan untuk
pengguna. Dan untuk memudahkan dalam memasukkan kriteria yang diinginkan,
maka penyampaian informasi dipresentasikan dengan menggunakan fasilitas web.
Decision Support System atau Sistem pendukung keputusan selain dapat
memberikan informasi yang dibutuhkan oleh manajer, juga dapat membantu
menyediakan berbagai alternatif yang dapat ditempuh dalam proses pengambilan
keputusan.
Metode Fuzzy query merupakan metode pengambilan keputusan yang
menggunakan relasi standart tetapi menggunakan teori himpunan fuzzy untuk
mendapatkan querynya karena terkadang dibutuhkan data yang bersifat
ketidakpastian sebagai penyelesaian permasalahan. Pada proyek akhir ini
bertujuan merancang dan mengembangkan suatu sistem aplikasi yang
menggunakan metode fuzzy query model Tahani. Metode ini untuk pengambilan
keputusan pemilihan kendaraan bermotor. Masukan data mobil untuk sistem ini
adalah berupa variable ukuran mobil diantaranya panjang mobil, lebar mobil,
tinggi mobil, kapasitas penumpang, kapasitas mesin, besar daya, torsi,
penggunaan bahan bakar, merk, jenis, tipe bahan bakar,dan harga. Keluaran dari
sistem adalah rekomendasi kendaraan mana yang akan dipilih berdasarkan
perhitungan dengan sistem basis data fuzzy. Sistem yang dirancang berbasis web
ini digunakan untuk membantu pengambilan keputusan pemilihan kendaraan
1.2 Rumusan Masa lah.
Berdasarkan Latar Belakang yang telah diuraikan diatas, dapat dirumuskan
sebagai berikut :
a. Penentuan parameter untuk menentukan kendaraan yang sesuai dengan
kebutuhan user.
b. Menentukan fungsi fuzzyfikasi untuk setiap parameter.
c. Menentukan bagaimana kriteria fuzzy bisa dinamis.
d. opMenentukan nilai fire strength untuk menentukan output rekomendasi
beserta urutan rekomendasinya.
1.3 Batasan Masalah.
Batasan masalah dalam Proyek Akhir ini adalah :
a. SPK pemilihan kendaraan bermotor ini untuk pemilihan kendaraan
bermotor khususnya mobil.
b. Sistem pengambilan keputusan ini bisa menampilkan hasil lebih dari 1 unit
mobil yang direkomendasikan.
c. Variabel yang digunakan, a.l : panjang mobil, lebar mobil, tinggi mobil,
kapasitas penumpang, kapasitas mesin, besar daya, torsi, penggunaan
bahan bakar, merk mobil, jenis mobil, tipe bahan bakar dan harga
e. Produk mobil yang digunakan sebagai data adalah mobil baru yang sampai
sekarang masih diproduksi dan produk tersebut diedarkan di pasar
Indonesia.
1.4 Tujuan.
Berdasarkan latar belakang tersebut penulis menyimpulkan tujuan dari
pembuatan aplikasi ini, yaitu membuat suatu rancangan dan pengembangan sistem
berbasis WEB untuk sistem pengambilan keputusan pembelian kendaraan
bermotor menggunakan metode Fuzzy Tahani. Dengan menerapkan konsep logika
fuzzy yang terbukti lebih flexibel dari pada konsep konvensional, toleransi system
terhadap data masukan user yang mungkin berupa data tidak pasti akan semakin
tinggi. Hal ini akan berdampak pada hasil rekomendasi pilihan yang lebih tepat.
1.5 Manfaat.
a. Aplikasi yang dibangun dapat membantu menghasilkan keputusan
yang lebih cepat untuk dijadikan bahan pertimbangan dalam persiapan
pembelian produk mobil.
b. User lebih terbantu dalam menentukan pilihan mobil yang akan dibeli
setelah mendapatkan beberapa rekomendasi sistem sesuai dengan nilai
c. Menambah wawasan dalam bidang ilmu pengetahuan, tentang sistem
pengambilan keputusan untuk rekomendasi pembelian mobil
menggunakan model fuzzy tahani.
d. Memperkaya literatur dan referensi tentang model fuzzy tahani,
khususnya yang berkaitan dengan sistem pengambilan keputusan.
1.6 Metodologi Penelitian.
Metodologi yang digunakan pada proyek akhir ini terbagi menjadi
beberapa tahap, yaitu:
Ga mbar 1.1 Perancangan Metodologi Penelitian
St udi lit erat ur dan pengambilan
dat a
Perancangan sist em flow
Pembuat an perangkat lunak
Pengujian dan analisa
Studi literatur dan pengambilan data
Tahap ini melakukan studi literatur mengenai :
- Konsep fuzzy query model tahani
- Pemrograman PHP
- Database MySQL
Pengambilan data dari sumber-sumber, antara lain : majalah mobil dan
sepeda motor, brosur-brosur mobil, website, data-data pada majalah
otomotif lain dan dari polling.
a. Rancangan sistem perangkat lunak
Input fuzzy yang dipakai :
- Panjang mobil
- Lebar mobil
- tinggi mobil
- Kapasitas penumpang
- Kapasitas mesin
- Torsi
- Penggunaan bahan bakar
Input non fuzzy yang dipakai :
- Merk mobil
- Jenis mobil
- Tipe bahan bakar
- Kisaran harga
b. Gambaran umum sistem :
Data-data masukan dari proses fuzzy disimpan pada database.
Database inilah yang nantinya akan digunakan untuk rekomendasi
kendaraan manakah yang sesuai dengan input query dari user
dengan menggunakan fuzzy query model Tahani.
c. Tahapan-tahapan sistem :
Dimulai dari input data, setelah itu dilakukan fuzzifikasi dari data
tersebut. Selanjutnya dilakukan query oleh user jika variable non
fuzzy sesuai dan kriteria fuzzy sesuai selanjutnya dilakukan
minimal-maksimal dengan Tahani sehingga didapatkan nilai
fire-strength. Nilai fire-strength inilah yang akan menjadi output dari
system.
Pembuatan perangkat lunak akhir ini menggunakan :
- PHP : Bahasa Pemrograman.
- Windows XP : Sistem Operasi yang digunakan.
- Dreamweaver : editor pemrograman.
- Adobe Photoshop CS3 : membuat tampilan dari program
aplikasi.
- XAMPP : media web server virtual.
- MySQL : membuat database yang dipakai untuk pengolahan
basis data.
- SQLyog : memanage database MySQL.
- Power Designer 15 : tool untuk perancangan database.
e. Pengujian dan analisa :
Hasil pembuatan perangkat lunak langkah selanjutnya akan
dilakukan pengujian dan analisa proyek akhir.
f. Pembuatan laporan :
Pembuatan laporan proyek akhir dan melakukan publikasi pada
seminar ilmiah.
1.7 Sistematika Penulisan.
Dalam laporan tugas akhir ini, pembahasan disajikan dalam enam bab
BAB I PENDAHULUAN
Bab ini berisikan tentang latar belakang masalah, perumusan
masalah, batasan masalah, tujuan, dan manfaat, serta sistematika
penulisan pembuatan tugas akhir ini.
BAB II TINJ AUAN PUSTAKA
Pada bab ini menjelaskan tentang teori-teori pemecahan masalah
yang berhubungan dan digunakan untuk mendukung dalam
pembuatan tugas akhir ini.
BAB III ANALISA DAN PERANCANGAN SISTEM
Pada bab ini membahas tentang perancangan system, Flowchart
Sistem, Entity Relationship Diagram (ERD), Data Flow Diagram
(DFD), serta perancangan Antar Muka.
BAB IV IMPLEMENTASI SISTEM
Pada bab ini dijelaskan tentang implementasi dari program yang
proses, dan implementasi interface.
BAB V UJ I COBA DAN EVALUASI
Pada bab ini menjelaskan tentang pelaksanaan uji coba dan
evaluasi dari pelaksanaan uji coba program yang dibuat.
BAB VI PENUTUP
Pada bab ini dibahas mengenai uraian kesimpulan tentang sistem
yang telah dibuat beserta saran yang dapat digunakan untuk
2.1 Sistem Pendukung Keputusan
Sistem Pendukung Keputusan merupakan suatu sistem interaktif yang
mendukung keputusan dalam proses pengambilan keputusan melalui alternatif–
alternatif yang diperoleh dari hasil pengolahan data, informasi dan rancangan
model.
Pengertian Sistem Pendukung Keputusan menurut Keen dan Scoot Morton
adalah Sistem Pendukung Keputusan merupakan penggabungan sumber–sumber
kecerdasan individu dengan kemampuan komponen untuk memperbaiki kualitas
keputusan. Sistem Pendukung Keputusan juga merupakan sistem informasi
berbasis komputer untuk manajemen pengambilan keputusan yang menangani
masalah–masalah semi struktur.
Dengan pengertian diatas dapat dijelaskan bahwa sistem pendukung
keputusan bukan merupakan alat pengambilan keputusan, melainkan merupakan
sistem yang membantu pengambil keputusan dengan melengkapi mereka dengan
informasi dari data yang telah diolah dengan relevan dan diperlukan untuk
membuat keputusan tentang suatu masalah dengan lebih cepat dan akurat.
Sehingga sistem ini tidak dimaksudkan untuk menggantikan pengambilan
Dari pengertian Sistem Pendukung Keputusan maka dapat ditentukan
karakteristik antara lain : [1]
a. Mendukung proses pengambilan keputusan, menitikberatkan pada
management by perception.
b. Adanya interface manusia/mesin dimana manusia (user) tetap memegang
control proses pengambilan keputusan.
c. Mendukung pengambilan keputusan untuk membahas masalah terstruktur,
semi terstruktur dan tak struktur.
d. Memiliki kapasitas dialog untuk memperoleh informasi sesuai dengan
kebutuhan.
e. Memiliki subsistem–subsistem yang terintegrasi sedemikian rupa sehingga
dapat berfungsi sebagai kesatuan item.
f. Membutuhkan struktur data komprehensif yang dapat melayani kebutuhan
informasi seluruh tingkatan manajemen.
2.2 Logika Fuzzy
Logika fuzzy dikatakan sebagai logika baru yang lama, sebab ilmu tentang
logika fuzzy modern dan metodis baru ditemukan beberapa tahun yang lalu,
padahal sebenarnya konsep tentang logika fuzzy itu sendiri sudah ada pada diri
kita sejak lama. Logika fuzzy adalah suatu cara yang tepat untuk memetakan
a. Manajer pergudangan mengatakan pada manajer produksi seberapa
banyak persediaan barang pada akhir minggu ini, kemudian manajer
produksi akan menetapkan jumlah barang yang harus diproduksi esok hari.
b. Pelayan restoran memberikan pelayanan terhadap tamu, kemudian tamu
akan memberikan tip yang sesuai atas baik tidaknya pelayan yang
diberikan.
c. Anda mengatakan pada saya seberapa sejuk ruangan yang anda inginkan,
saya akan mengatur putaran kipas yang ada pada ruangan ini.
d. Penumpang taksi berkata pada sopir taksi seberapa cepat laju kendaraan
yang diinginkan, sopir taksi akan mengatur pijakan gas taksinya.
Ada beberapa alasan mengapa orang menggunakan logika fuzzy, antara lain
:[2]
a. Konsep logika fuzzy mudah dimengerti. Konsep matematis yang
mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti.
b. Logika fuzzy sangat fleksibel.
c. Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat.
d. Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat
kompleks.
e. Logika fuzzy dapat membangun dan mengaplikasikan pengalaman para
pakar secara langsung tanpa harus melalui proses pelatihan.
f. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara
g. Logika fuzzy didasarkan pada bahasa alami.
2.2.1 HIMPUNAN FUZZY
Tahun 1965, Profesor L.A. Zadeh memperkenalkan teori himpunan fuzzy,
yang secara tidak langsung mengisyaratkan bahwa tidak hanya teori probabilitas
saja yang dapat merepresentasikan ketidakpastian. Teori himpunan fuzzy adalah
merupakan perluasan dari teori logika Boolean yang menyatakan tingkat angka 1
atau 0 atau pernyataan benar atau salah, sedang pada teori logika fuzzy terdapat
tingkat nilai, yaitu :
a. satu (1), yang berarti bahwa suatu item menjadi anggota dalam suatu
himpunan, atau
b. nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam suatu
himpunan.
c. Contoh 1:
Jika diketahui:
S = {1,2,3,4,5,6} adalah semesta pembicaraan
A = {1,2,3}
B = {3,4,5}
Maka, bisa dikatakan bahwa :
- Nilai keanggotaan 2 pada himpunan A, , karena .
- Nilai keanggotaan 2 pada himpunan B, , karena .
Contoh 2:
Misalkan variabel suhu dibagi menjadi 3 kategori, yaitu: DINGIN suhu <
15 derajat celcius SEDANG 15 ? suhu ? 28 derajat celcius PANAS suhu > 28
derajat celcius Nilai keanggotaan secara grafis, himpunan DINGIN, SEDANG,
dan PANAS dapat dilihat pada gambar berikut:
Ga mbar 2.1 Himpunan temperatur dingin, sedang, panas
Gambar 2.1 merupakan himpunan dari DINGIN, SEDANG, dan PANAS dapat
dijelaskan bahwa:
- Apabila terdapat suhu 14 derajat celcius, maka dikatakan suhu adalah
DINGIN
- Apabila terdapat suhu 15 derajat celcius, maka dikatakan suhu adalah
- Apabila terdapat suhu 15 derajat celcius kurang 0.5 derajat celcius, maka
dikatakan suhu adalah TIDAK DINGIN , dan
seterusnya.
Dari keterangan diatas dapat diambil kesimpulan bahwa pemakaian
himpunan crisp (tegas) untuk menyatakan suhu sangat riskan, karena dengan
adanya perubahan yang kecil saja terhadap nilai mengakibatkan perbedaan
kategori yang cukup signifikan.
Maka dari itu, himpunan fuzzy digunakan untuk mengantisipasi keadaan
tersebut. Pengalokasian suhu dapat berada di dalam 2 himpunan yang berbeda.
Misalnya suhu dapat berada di dalam himpunan DINGIN dan SEDANG,
SEDANG dan PANAS, dan sebagainya. Dan seberapa besar nilai eksistensinya
dalam himpunan tersebut dapat dilihat dari nilai keanggotaannya.[3]
2.3 Fuzzy Database Model Tahani
Fuzzy tahani adalah salah satu cabang dari logika fuzzy, yang merupakan
salah satu metode fuzzy yang menggunakan basis data standar. Tahani
mendeskripsikan suatu metode pemrosesan query fuzzy, dengan didasarkan atas
manipulasi bahasa yang dikenal dengan nama SQL (Structured Query Language),
sehingga model fuzzy tahani sangat tepat digunakan dalam proses pencarian data
Database adalah kumpulan dari data yang saling berhubungan satu dengan
yang lainnya, tersimpan di perangkat keras komputer dan digunakan perangkat
lunak untuk memanipulasinya. Sedangkan sistem basis data (Database System)
adalah suatu sistem informasi yang mengintegrasikan kumpulan data yang saling
berhubungan satu dengan yang lainnya dan membuatnya tersedia untuk beberapa
aplikasi dalam suatu organisasi.
Dengan menggunakan basis data standar, dapat dicari data-data karyawan
dengan spesifikasi tertentu dengan menggunakan query. Misalnya diinginkan
informasi tentang nama-nama karyawan yang usianya kurang dari 50 tahun, maka
bisa diciptakan suatu query berikut: SELECT NAMA FROM KARYAWAN
WHERE (umur < 35) Sehingga muncul nama-nama Lia, Kiki, dan Yoga. Apabila
diinginkan informasi tentang nama-nama karyawan yang gajinya lebih dari 1 juta
rupiah, maka bisa diciptakan query berikut : SELECT NAMA FROM
KARYAWAN WHERE (gaji > 1000000) Sehingga muncul nama-nama iwan,
Sari, Andi, Amir, dan Rian. Apabila diinginkan informasi tentang nama-nama
karyawan yang masa kerjanya kurang dari atau sama dengan 5 tahun tetapi
gajinya sudah lebih dari 1 juta rupiah, maka bisa diciptakan suatu query: SELECT
NAMA FROM KARYAWAN WHERE MasaKerja<=5) and (Gaji > 1000000)
Sehingga muncul nama-nama Andi dan Rian.
Tetapi pada kenyataannya seseorang terkadang membutuhkan informasi
dari data-data yang bersifat ketidakpastian. Apabila hal ini terjadi, maka bisa
digunakan basis data Fuzzy. Selama ini, sudah ada beberapa penelitian tentang
model Tahani masih tetap menggunakan relasi standar, hanya saja model ini
menggunakan teori himpunan fuzzy untuk mendapatkan informasi pada
query-nya.[5]
Contoh :
Misalkan kita mengkategorikan harga mobil ke dalam himpunan murah,
sedang, mahal.[6]
Table 2.1 Data mobil
No J enis mobil Har ga (r upiah) Ir it BBM Kapasitas (CC)
1 Chevrolet Captiva Rp262.000.000 8,1 2405
2 Daihatsu Xenia Mi 1.0 std Rp100.400.000 10,6 989
3 Suzuki APV Arena GX Rp143.000.000 8,7 1493
4 Toyota Avanza G 1,3 L Rp126.400.000 10,1 1298
5 Mitsubishi Grandis ST Rp300.000.000 7,5 2378
Fungsi keanggotaan variable harga :
μ murah [x] = 1,x ≤ 100
200 – x , 100 ≤ x ≤ 200
100
0, x ≥ 200
μ sedang [x] = 0,x ≤ 100
300 – x , 200 ≤ x ≤ 300
100
0, x ≥ 300
μ mahal [x] = 0,x ≤ 200
x – 200 , 200 ≤ x ≤ 300
100
[image:30.612.164.381.137.417.2]1, x ≥ 300
Table 2.2 Hasil kategori mobil murah, sedang, mahal
Derajat Keanggotaan
No Jenis Mobil Harga (rupiah)
Murah Sedang Mahal
1 Chevrolet Captiva Rp262.000.000 0 0,38 0,62
2 Daihatsu Xenia Mi 1.0 std Rp100.400.000 0,996 0,004 0
3 Suzuki APV Arena GX Rp143.000.000 0,57 0,43 0
4 Toyota Avanza G 1,3 L Rp126.400.000 0,736 0,264 0
2.4 Penger tian PHP
PHP (akronim dari PHP Hypertext Preprocessor) yang merupakan bahasa
pemrograman berbasis web yang memiliki kemampuan untuk memproses data
dinamis. PHP dikatakan sebagai sebuah server-side embedded script language
artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan
oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang
dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser,
tetapi prosesnya secara keseluruhan dijalankan di server.
Pada prinsipnya server akan bekerja apabila ada permintaan dari client.
Dalam hal ini client menggunakan kode-kode PHP untuk mengirimkan
permintaan ke server (dapat dilihat pada gambar dibawah). Ketika menggunakan
PHP sebagai server-side embedded script language maka server akan melakukan
hal-hal sebagai berikut :
- Membaca permintaan dari client/browser
- Mencari halaman/page di server
- Melakukan instruksi yang diberikan oleh PHP untuk melakukan
modifikasi pada halaman/page.
- Mengirim kembali halaman tersebut kepada client melalui internet atau
Gambar 2.3 Contoh client mengirimkan permintaan ke server menggunakan
kode PHP
Mengapa PHP?
- PHP dapat dijalankan pada platform yang berbeda-beda (Windows, Linux,
Unix, etc.)
- PHP merupakan web scripting open source
- PHP mudah dipelajari
2.5 Syntax PHP
Kode PHP disimpan sebagai plain text dalam format ASCII, sehingga
[image:32.612.166.506.108.331.2]windows wordpad, dll. Kode PHP adalah kode yang disertakan di sebuah halaman
HTML dan kode tersebut dijalankan oleh server sebelum dikirim ke browser.
Contoh file PHP (contoh.php):
<html>
<?
Print ("Contoh text yang menggunakan kode PHP");
?>
</html>
Pada file .html, HTTP server hanya melewatkan content dari file menuju
ke browser. Server tidak mencoba untuk mengerti atau memproses file, karena itu
adalah tugas sebuah browser.
Pada file dengan ekstensi .php akan ditangani secara berbeda. Yang
memiliki kode PHP akan diperiksa. Web server akan memulai bekerja apabila
berada diluar lingkungan kode HTML. Oleh karena itu server akan melewati
semua content yang berisi kode HTML, CSS, JavaScript, simple text di browser
tanpa diinterpretasikan di server.
Blok scripting PHP selalu diawali dengan <?php dan diakhiri dengan ?>.
Blok scripting PHP dapat ditempatkan dimana saja di dalam dokumen. Pada
beberapa server yang mendukung, blok scripting PHP dapat diawali dengan <?
dan diakhiri dengan ?>. Namun, untuk kompatibilitas maksimum, sebaiknya
Setiap baris kode PHP harus diakhiri dengan semikolon (;). Semikolon ini
merupakan separator yang digunakan untuk membedakan satu instruksi dengan
instruksi lainnya.
PHP menggunakan // untuk membuat komentar baris tunggal atau /* dan */ untuk
membuat suatu blok komentar.
2.6 Oper ator di PHP
Operator digunakan untuk menentukan sebuah nilai dengan melakukan
suatu prosedur, atau dengan suatu operasi dari beberapa nilai. Nilai yang
digunakan dalam sebuah operasi disebut operand. Penjumlahan adalah sebuah
contoh sederhana dari suatu operasi. [7]
Sebagai contoh : 2 + 4
2 dan 4 adalah sebuah operand. Ekspresi ini akan menghasilkan 6.
Ar ithmetic Oper ator (Oper ator Ar itmatika)
PHP menggunakan operator arithmetic dasar :
PHP mengabaikan karakter spasi dalam sebuah operasi. Ekspresi $x = 5 +
9 dengan dengan $x=5+9 akan menghasilkan nilai yang sama. Penggunaan spasi
disesuaikan dengan keinginan dari para user.
a. Unary Operator
Tanda minus ( - ) digunakan dengan sebuah nilai numerik tunggal untuk
menegatifkan sebuah bilangan (untuk membuat negatif bilangan postif
atau membuat postif bilangan negatif).
b. Variable Assignment Operator
Tanda sama dengan ( = ) digunakan untuk mengatur atau menetapkan nilai
suatu variabel. Oleh karena itu tanda tersebut dikenal sebagai operator
penugasan.
c. Logical Operator (Operator Logika)
Operator logika digunakan untuk mengkombinasikan kondisi, sehingga
beberapa kondisi dapat dievaluasi atau diperiksa dalam sebuah ekspresi.
Sebagai contoh logika AND akan bernilai true jika semua kondisi benar.
Tabel berikut ini menunjukkan semua anggota dari operator logika :
Tabel 2.4 Operator Logika
Operator perbandingan digunakan untuk menguji suatu kondisi. Ekspresi yang
menggunakan operator perbandingan akan selalu menghasilkan nilai boolean,
yaitu antara true (benar) atau false (salah).
Tabel 2.5 Operator Perbandingan
e. String Concatenation Operator
Tanda titik ( . ) sebagai operator concatenate (penggabung) digunakan
untuk menggabungkan dua atau lebih nilai string menjadi sebuah string
tunggal.
f. Variable Assignment Shortcut
Pada PHP dimungkinkan untuk melakukan penggunaan jalan pintas untuk
operator pada pernyataan penugasan dimana operand pertama adalah
Tabel 2.6 Variable Assignment Shortcut
2.7 Contr ol Str uctur es di PHP
Skrip PHP terdiri dari rangkaian pernyataan. Sebuah pernyataan dapat
berupa assignment, pemanggilan fungsi, sebuah loop, pernyataan kondisional atau
bahkan pernyataan kosong. Pernyataan biasanya diakhiri dengan semikolon.
Sebagai tambahan, pernyataan-pernyataan dapat dikelompokkan menjadi suatu
kelompok pernyataan menggunakan kurung kurawal ( {} ). Sebuah kelompok
a. IF
Syntax : if (expr) statement
Contoh : - if ($a > $b) print "a is bigger than b";
- Jika statemen lebih dari satu maka :
if ($a > $b) {
print "a is bigger than b";
$b = $a;
}
b. Else
if ($a > $b) {
print "a is bigger than b";
} else {
print "a is NOT bigger than b"; }
c. Elseif
if ($a > $b) {
print "a is bigger than b";
} elseif ($a == $b) {
print "a is equal to b";
print "a is smaller than b"; }
d. Switch
Pernyataan switch mirip dengan rangkaian pernyataan IF dengan
ekspresi yang sama. Pernyataan switch digunakan untuk membandingkan
variabel yang sama (atau ekspresi) dengan banyak nilai yang berbeda, dan
menjalankan kode-kode yang berbeda tergantung pada nilai mana variabel
tersebut sama. Sangat penting untuk memahami bagaimana pernyataan
switch dieksekusi agar terhindar dari kesalahan. Pernyataan switch
dieksekusi per pernyataan. Di awal, tidak ada kode yang dieksekusi.
Ketika pernyataan case sesuai dengan ekspresi pada switch, PHP mulai
mengeksekusi pernyataan-pernyataan tersebut. PHP terus mengeksekusi
pernyataan-pernyataan tersebut hingga akhir blok switch, atau pada saat
pertama kali bertemu pernyataan break. Jika tidak ada pernyataan break,
PHP akan mengeksekusi pernyataan-pernyataan pada case berikutnya.
e. While
Perulangan while merupakan perulangan yang paling sederhana di
PHP. Bentuk dasar pernyataan while adalah :
while (expr) statement : Pada while, PHP mengeksekusi
pernyataan-pernyataan bersarang (nested statement(s)) berulang-ulang,
selama ekspresi yang dievaluasi bernilai benar (TRUE). Nilai ekspresi
ekspresi adalah salah (FALSE) sejak awal, pernyataan-pernyataan
bersarang tersebut tidak akan dijalankan meskipun sekali.
f. Do ... while
Perulangan do..while loops hamper sama dengan perulangan while,
kecuali kebenaran ekspresi dicek di akhir iterasi. Perbedaan mendasar dari
perulangan while adalah iterasi pertama pada do…while pasti akan
dijalankan.
g. For
Syntax : for (expr1; expr2; expr3) statement
Ekspresi pertama (expr1) dievaluasi (dieksekusi) sekali di awal
perulangan. Di awal setiap iterasi, expr2 dievaluasi. Jika benar, perulangan
dilanjutkan dan pernyataan-pernyataan bersarang dieksekusi. Jika salah,
perulangan dihentikan. Di akhir setiap iterasi, expr3 dievaluasi
(dieksekusi).
2.8 PHP DAN MYSQL
Bagian ini tidak membahas tentang MySQL, namun bagian ini membahas
pengaturan hubungan antara PHP dan MySQL secara general. Mengenai struktur
database, table, field maupun pengertian querinya diberikan pada modul MySQL.
Untuk dapat berhubungan dengan MySQL, PHP harus membuka hubungan ke
mysql_connect(nama_host, nama_user, password);
Setelah tersambung, maka user memilih database, yaitu dengan
mysql_select_db(nama_database);
Untuk mengeksekusi query – query yang ada pada MySQL namun tidak dimiliki
oleh PHP digunakan fungsi
mysql_query(query);
Mengenai query – query yang ada, dapat anda lihat dalam modul MySQL.
Untuk mengambil hasil query yang dilakukan oleh mysql_query() digunakan
fungsi
mysql_fetch_row(result_id) atau mysql_fetch_array(result_id)
Beda antara mysql_fetch_row() dan mysql_fetch_array() adalah pada
mysql_fetch_array() hasil yang diperoleh dalam bentuk array assosiatif.
Setelah penggunaan database mysql selesai, maka koneksi diputus dengan
menggunakan
mysql_close();[8]
2.9 Pemodelan Data
Model data adalah kumpulan perangkat konseptual untuk menggambarkan
2.9.1 Data Flow Diagr am (DFD)
Data Flow Diagram (DFD) adalah alat pembuatan model yang
memungkinkan profesional sistem untuk menggambarkan sistem sebagai
suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan
alur data, baik secara manual maupun komputerisasi.
DFD ini sering disebut juga dengan nama Bubble chart, Bubble
diagram, model proses, diagram alur kerja, atau model fungsi.
DFD ini adalah salah satu alat pembuatan model yang sering
digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang
lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem.
Dengan kata lain, DFD adalah alat pembuatan model yang
memberikan penekanan hanya pada fungsi sistem. DFD ini merupakan alat
perancangan sistem yang berorientasi pada alur data dengan konsep
dekomposisi dapat digunakan untuk penggambaran analisa maupun
rancangan sistem yang mudah dikomunikasikan oleh profesional sistem
kepada pemakai maupun pembuat program.
Komponen-komponen utama yang digunakan dalam DFD adalah:[9]
a. Komponen Terminator/Entitas Luar
Terminator mewakili entitas eksternal yang berkomunikasi dengan
sistem yang sedang dikembangkan. Biasanya terminator dikenal dengan
nama entitas luar (external entity).
b. Komponen Proses
Komponen proses menggambarkan bagian dari sistem yang
mentransformasikan input menjadi output.
c. Simpanan data (Data Store)
Data store ini biasanya berkaitan dengan
penyimpanan-penyimpanan, seperti file atau database yang berkaitan dengan
penyimpanan secara komputerisasi, misalnya file disket, file harddisk, file
pita magnetik. Data store juga berkaitan dengan penyimpanan secara
manual seperti buku alamat, file folder, dan agenda.
d. Komponen Data Flow / Alur Data
Suatu data flow / alur data digambarkan dengan anak panah, yang
menunjukkan arah menuju ke dan keluar dari suatu proses. Alur data ini
digunakan untuk menerangkan perpindahan data atau paket data/informasi
2.9.2 Power Designer 11
Sybase Power Designer 11 merupakan tool pemodelan yang dikeluarkan
oleh Sybase untuk membangun sebuah sistem informasi yang cepat, terstruktur
dan efektif. Sybase Power Designer 11 mendukung beberapa pemodelan sebagai
berikut :
• Requirement Management
• Business Process
• Data Modelling
• XML Modelling
• Application Modelling dengan UML
• Information Liquidity Modelling
• Integrated Modelling
Pada tutorial ini kita akan mencoba menggunakan Power Designer untuk
melakukan pemodelan data (data modeling) untuk kemudian akan kita gunakan
untuk melakukan perancangan basis data. Secara sederhana, untuk melakukan
pemodelan data pada Power Designer, kita harus memulainya pada level
Conceptual Data Model, dimana pemodelan data dilakukan dengan menggunakan
metode Entity Relationship Diagram. Pada CDM, tipe data yang dipergunakan
bersifat general, dan tidak spesifik terhadap suatu database tertentu.
Tahap kedua adalah membuat Physical Data Model (PDM), PDM
merupakan bentuk spesifik dari CDM yang telah kita bangun. Power Designer
memiliki banyak dukungan target database, sehingga kita tidak perlu bingung
menyesuaikan seperti pada tipe data yang kita definisikan sebelumnya pada tahap
CDM.
Tahap terakhir adalah mengenerate script Data Definition Language
(DDL) dari PDM yang telah dibuat. Melalui DDL inilah kita dapat mengenerate
objek – objek database (table, trigger,view,procedure) sehingga kemudian DDL
script ini dapat kita eksekusi ke software database lain seperti Oracle atau
MySQL, atau dapat juga kita buat koneksi dan mengeksekusinya langsung via
Power Designer.[10]
2.10 My SQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(bahasa Inggris: database management system) atau DBMS yang multithread,
multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat
MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General
Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial
untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat
lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber
dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh
sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta
Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson,
dan Michael "Monty" Widenius.
MySQL memiliki beberapa keistimewaan, antara lain :[11]
a. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi
seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan
masih banyak lagi.
b. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai
perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat
digunakan secara gratis.
c. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam
waktu yang bersamaan tanpa mengalami masalah atau konflik.
d. Performance tuning, MySQL memiliki kecepatan yang menakjubkan
dalam menangani query sederhana, dengan kata lain dapat memproses
lebih banyak SQL per satuan waktu.
e. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya,
seperti signed / unsigned integer, float, double, char, text, date, timestamp,
dan lain-lain.
f. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh
yang mendukung perintah Select dan Where dalam perintah (query).
g. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level
subnetmask, nama host, dan izin akses user dengan sistem perizinan yang
h. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam
skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60
ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat
ditampung mencapai 32 indeks pada tiap tabelnya.
i. Konektivitas. MySQL dapat melakukan koneksi dengan klien
menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes
(NT).
j. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan
menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa
Indonesia belum termasuk di dalamnya.
k. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai
aplikasi dan bahasa pemrograman dengan menggunakan fungsi API
(Application Programming Interface).
l. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan
(tool)yang dapat digunakan untuk administrasi basis data, dan pada setiap
peralatan yang ada disertakan petunjuk online.
m. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani ALTER TABLE, dibandingkan basis data lainnya semacam
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Dalam bab ini akan dibahas mengenai analisa dari system aplikasi fuzzy
query. Aplikasi fuzzy query tersebut akan memberikan hasil rekomendasi
pemilihan mobil yang dapat dipakai sebagai bahan pertimbangan oleh pembeli,
dengan rekomendasi peringkat hasil fuzzy dari angka 1 sampai dengan 0. Dimana
nilai fuzzy yang semakin mendekati peringkat 1 akan semakin direkomendasikan,
begitu juga sebaliknya dimana bagi nilai yang mendekati peringkat 0 lebih
baiknya tidak menjadi rekomendasi. Adapun beberapa kriteria yang menjadi
inputan pada system ini yaitu panjang mobil, lebar mobil, tinggi mobil, kapasitas
penumpang, kapasitas mesin, besar daya, torsi, penggunaan bahan bakar, merk,
jenis, tipe bahan bakar,dan harga. Sementara itu data yang digunakan untuk proses
perhitungan fuzzy berasal dari data yang bersumber, antara lain : majalah mobil
dan sepeda motor, brosur-brosur mobil, website, data-data pada majalah otomotif
lain dan dari polling.
Data-data masukan dari proses fuzzy disimpan pada database. Database
inilah yang nantinya akan digunakan untuk rekomendasi mobil manakah yang
sesuai dengan input query dari user. Dimulai dari input data, setelah itu dilakukan
fuzzifikasi dari data tersebut. Selanjutnya dilakukan query jika variable non fuzzy
Tahani sehingga didapatkan nilai fire-strength. Nilai fire-strength inilah yang akan
menjadi output dari system.
Desain dan isi sebuah system berbasis web ini menggunakan
pemrograman PHP, PHP adalah termasuk bahasa yang embedded (bisa ditempel
atau diletakkan dalam tag HTML). Selain itu memiliki kelebihan diantaranya bisa
bikin web jadi dinamis. PHP dapat berjalan dalam web server yang berbeda dan
dalam Sistem Operasi yang berbeda. PHP diterbitkan secara gratis. PHP dapat
berjalan pada web server apapun. seperti: Apache, IIS, Microsoft Personal Web
Server, dll.
3.2 Per a ncangan Sistem
Sebelum membuat program web sistem pendukung keputusan, terlebih
dahulu dilakukan proses perancangan system. Hal ini dilakukan supaya aplikasi
yang dibuat dapat berfungsi sesuai dengan yang diharapkan sehingga mampu
menghasilkan sistem pendukung keputusan pemilihan kendaraan bermotor
menggunakan metode fuzzy tahani sesuai dengn yang diharapkan.
Dalam perancangan system ini ada beberapa tahapan-tahapan yang harus
dilakukan. Adapun tahapan-tahapan dalam perancangan system yang dilakukan
adalah Flowchart sistem, Data Flow Diagram (DFD), Entity Relationship
3.2.1 Deskr ipsi umum Sistem
Deskripsi dari sistem ini yaitu :
a. Admin memaintanance seluruh data master.
b. Komputer/Laptop sebagai media untuk menggunakan aplikasi.
c. Admin login terlebih dahulu untuk mengakses ke halaman data master
yaitu master mobil dan master variabel.
d. Admin menambah, mengedit dan menghapus data master tersebut.
e. User menggunakan aplikasi untuk memilih kendaraan bermotor (mobil).
f. User tanpa login terlebih dahulu untuk mengakses aplikasi.
3.2.2 Kebutuhan Sistem
Kebutuhan system pada aplikasi ini terdapat beberapa fokus utama yaitu
berupa proses penambahan, proses penyimpanan data, ataupun proses
penghapusan data master, serta proses pemilihan kendaraan bermotor
3.2.2.1 Kebutuhan Pengguna
Untuk memenuhi kebutuhan pengguna dalam berinteraksi dengan
system serta untuk mengetahui kebutuhan-kebutuhan apa saja yang
berpengaruh pada sistem nantinya, maka perlu dijabarkan kebutuhan apa
saja yang akan dibutuhkan oleh pengguna, antara lain :
a. Komputer/Laptop : tidak tergantung merk, merk apa saja bisa dipakai.
b. Menu penambahan data : supaya admin bisa menambahkan data master.
c. Menu pengeditan data : supaya admin bisa mengedit/merubah data master.
d. Menu penghapusan data : supaya admin bisa menghapus data master.
e. Menu search kendaraan bermotor (khususnya mobil) : supaya user bisa
memilih kendaraan berdasarkan kriteria yang tersedia.
f. Menu hasil rekomendasi : user bisa melihat hasil yang telah
direkomendasikan dari perbandingan-perbandingan kendaraan yang ada.
3.2.3 Flowchar t Desain Sistem
Perancangan yang mampu menangani masukan yang berupa data fuzzy
T
Y
Gambar 3.1 Flowchart Sistem Pengambilan Keputusan Pembelian Kendaraan
Bermotor menggunakan Metode Fuzzy Tahani
end Input kriteria
user
Data fuzzy
Penentuan fungsi keanggotaan Penentuan himpunan fuzzy
Pengambilan data mobil pada database yang sesuai
Perhitungan firestrength
Tampilkan hasil rekomendasi mobil
start
[image:52.612.152.470.106.555.2]Pada gambar 3.2 dijelaskan bahwa sistem tersebut memiliki satu proses
utama, yaitu SPK Pemilihan Mobil. Dalam proses utama tersebut terdapat proses
lagi didalamnya yaitu Data sistem, Memilih Data Mobil, Fuzzyfikasi Data Mobil,
Tampil Data Mobil. Pada proses Data Sistem terdapat proses Mengecek Data
Mobil, Rekam Data Mobil, dan Tampil Data Mobil.
3.2.5 Data Flow Diagram (DFD)
3.2.5.1 DFD Level 0
Data flow diagram level 0 menggambarkan sistem secara garis besar yang
memperlihatkan masukan, proses, dan keluaran dari sistem yang akan dibangun.
Pada DFD tersebut terdapat 2 (dua) entitas yang terlibat, yaitu entitas petugas dan
entitas user. Pada entitas petugas dapat melakukan insert, update, dan hapus data
pada sistem. Sedangkan pada entitas user hanya dapat mengakses memilih
variabel yang telah ditentukan sehingga user dapat melihat hasil yang
direkomendasikan oleh sistem. Sedangkan proses yang terjadi pada DFD level 0
di atas akan dijelaskan pada DFD level 1. DFD level 0 dapat dilihat pada gambar
Seperti yang terlihat pada gambar 3.3 dari DFD level 0 di atas, proses
utama dijabarkan menjadi proses-proses yang lebih kecil. Proses utama dibagi lagi
ke dalam 4 (empat) proses yaitu, proses Data Sistem, proses Memilih Data Mobil,
proses Fuzzyfikasi Data Mobil, proses Tampil Data Mobil.
a. Proses Data Sistem
Setelah admin/petugas login, maka petugas dapat melakukan insert data,
update data, hapus data, selain itu admin akan memasukkan data master mobil,
data kategori, dan data master variabel yang menghasilkan database dari
masing-masing data yang dimasukkan. User hanya dapat melihat halaman master tetapi
tidak dapat mengaksesnya karena user tidak memiliki account untuk login.
b. Memilih Data Mobil
User dapat mengakses halaman ini tanpa login terlebih dahulu, User dapat
memilih variabel dan kriteria yang ingin diinputkan yang sesuai.
c. Fuzzyfikasi Data Mobil
Semua data diproses dalam fuzzyfikasi Data Mobil dan disimpan pada
database fuzzyfikasi. Nilai fire-strength yang menjadi output dari system.
d. Tampil Data Mobil
Setelah data-data diproses melalui proses fuzzyfikasi, maka data detail
hasil disimpan pada database detail hasil. Dan User dapat melihat hasil mobil
Seperti yang terlihat pada gambar 3.5,dari DFD level 1 di atas, proses Data
Sistem dijabarkan menjadi proses-proses yang lebih kecil. Proses utama dibagi
lagi ke dalam 3 (tiga) proses yaitu : proses Mengecek Data Mobil, proses Rekam
Data Mobil, proses Tampil Data Mobil.
Pada proses Mengecek Data Mobil admin dapat melakukan insert data,
update data, dan hapus data. Setelah mengecek data mobil admin dapat
mengakses rekam data antara lain data master mobil yang disimpan pada database
master mobil dan data master variabel yang disimpan pada database master
variable.
3.2.6 Entity Relationship Diagr am (ERD)
Entity Relationship Diagram (ERD) merupakan suatu desain system yang
digunakan untuk merepresentasikan, menentukan, dan mendokumentasikan
kebutuhan-kebutuhan system dalam pemrosesan database. ERD juga
menunjukkan hubungan (relasi) antar table. ERD terdiri atas Conceptual Data
Model (CDM) dan Physical Data Model (PDM).
Setelah pembuatan Data Flow Diagram, maka tahap selanjutnya adalah
pembuatan Entity Relationship Diagram yang biasa disingkat ERD. ERD tersebut
menjelaskan tentang hubungan atau relasi keterkaitan antara tabel satu dengan
tabel yang lainnya. Untuk membuat ERD bisa menggunakan aplikasi Power
Mobil_Memasukkan_Data diisi Mengikuti Melihat Mengikuti diisi Mevariabelkan diisi Mengikuti Master_Mobil Mobil_ID Merk_Mobil tipe_Mobil Jenis_Mobil Jenis_BBM Panjang_Mobil Lebar_Mobil Tinggi_Mobil Kapasitas_Mobil Mesin_Mobil Daya_Mobil Torsi_Mobil Irit_Mobil Harga_Mobil Gambar_Mobil
<pi> Variable characters (10) Variable characters (225) Variable characters (225) Variable characters (225) Variable characters (225) Number (10) Number (10) Number (10) Number (10) Variable characters (225) Number (10) Variable characters (225) Number (10) Variable characters (12) Image <M> Mobil_ID <pi> Master_Variabel Var_ID Var_Type Var_Name Ukuran Rule_Name Rule_Value
<pi> Variable characters (10) Variable characters (225) Variable characters (225) Number (10) Variable characters (225) Variable characters (225)
<M> Var_ID ... <pi> Fuzzyfikasi ID_Fuzzyfikasi Panjang_Pendek Panjang_Sedang Panjang_Panjang Labar_Kecil Lebar_Sedang Lebar_Lebar Tinggi_rendah Tinggi_Sedang Tinggi_Tinggi Kapasitas_Sedikit Kapasitas_Sedang Kapasitas_Banyak Mesin_Kecil Mesin_Sedang Mesin_Besar Daya_Kecil Daya_Sedang Daya_Besar Torsi_Kecil Torsi_Sedang Torsi_Besar Irit_Hemat Irit_Sedang Irit_Boros
<pi> Variable characters (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) Float (10) <M> ID_Fuzzyfikasi <pi> Detail_Hasil ID_Detail Firestrngth
<pi> Variable characters (10) Float (10) <M> ID_Detail <pi> Login Username password
<pi> Variable characters (225) Variable characters (225)
<M>
Username <pi>
Gambar 3.6 CDM Sistem Pengambilan Keputusan Pembelian Kendaraan
CDM (Conceptual Data Model) merupakan perancangan basis data yang
berdasarkan pengumpulan data dan analisis. Pembuatan CDM adalah suatu tahap
dimana kita melakukan proses indentifikasi dan analisa kebutuhan-kebutuhan data
yang disebut pengumpulan data dan analisa. Untuk menentukan
kebutuhan-kebutuhan suatu sistem database, kita harus mengenal terlebih dahulu
bagian-bagian lain dari sistem informasi yang akan berinteraksi dengan sistem database.
Tipe data bersifat general dan tidak spesifik.CDM yang valid bisa dikonversikan
ke PDM. Gambar 3.6 merupakan gambar CDM dari sistem pengambilan
keputusan pembelian kendaraan bermotor menggunakan metode fuzzy tahani.
Perancangan PDM (Physical Data Model) merupakan representasi
fisik/sebenarnya dari database dengan mempertimbangkan perangkat
lunak/software DBMS serta model struktur yang akan digunakan. Tipe data
bersifat lebih khusus dan spesifik. PDM yang valid dapat dikonversikan ke CDM.
Gambar 3.7 merupakan gambar PDM dari sistem pengambilan keputusan
FK_MOBIL_MEMASUKKAN_DATA Mengikuti diisi FK_MELIHAT Mengikuti diisi FK_MEVARIABELKAN Mengikuti diisi Master_Mobil Mobil_ID Merk_Mobil tipe_Mobil Jenis_Mobil Jenis_BBM Panjang_Mobil Lebar_Mobil Tinggi_Mobil Kapasitas_Mobil Mesin_Mobil Daya_Mobil Torsi_Mobil Irit_Mobil Harga_Mobil Gambar_Mobil varchar(10) varchar(225) varchar(225) varchar(225) varchar(225) numeric(10,0) numeric(10,0) numeric(10,0) numeric(10,0) varchar(225) numeric(10,0) varchar(225) numeric(10,0) varchar(12) longblob <pk> Master_Variabel Var_ID Var_Type Var_Name Ukuran Rule_Name Rule_Value varchar(10) varchar(225) varchar(225) numeric(10,0) varchar(225) varchar(225) <pk> Fuzzyfikasi ID_Fuzzyfikasi Mobil_ID Var_ID Panjang_Pendek Panjang_Sedang Panjang_Panjang Labar_Kecil Lebar_Sedang Lebar_Lebar Tinggi_rendah Tinggi_Sedang Tinggi_Tinggi Kapasitas_Sedikit Kapasitas_Sedang Kapasitas_Banyak Mesin_Kecil Mesin_Sedang Mesin_Besar Daya_Kecil Daya_Sedang Daya_Besar Torsi_Kecil Torsi_Sedang Torsi_Besar Irit_Hemat Irit_Sedang Irit_Boros varchar(10) varchar(10) varchar(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) float(10) <pk> <fk1> <fk2> Detail_Hasil ID_Detail ID_Fuzzyfikasi Firestrngth varchar(10) varchar(10) float(10) <pk> <fk> Login Username password varchar(225) varchar(225) <pk>
Gambar 3.7 PDM Sistem Pengambilan Keputusan Pembelian Kendaraan
3.2.7 Str uktur Database
Database (basis data) merupakan kumpulan data yang saling berhubungan.
Hubungan antar data dapat ditunjukan dengan adanya field/kolom kunci dari tiap
file/tabel yang ada. Dalam satu file atau table terdapat record-record yang sejenis,
sama besar, sama bentuk, yang merupakan satu kumpulan entitas yang seragam.
Satu record (umumnya digambarkan sebagai baris data) terdiri dari field yang
saling berhubungan menunjukan bahwa field tersebut dalam satu pengertian yang
lengkap dan disimpan dalam satu record. Prinsip utama Data Base adalah
pengaturan data dengan tujuan utama fleksibelitas dan kecepatan pada saat
pengambilan data kembali.
Rancangan database pada perancangan sistem ini di implementasikan ke
dalam PhpMyAdmin. Untuk lebih detailnya dapat di lihat pada tabel-tabel berikut
ini :
Tabel 3.1 Tabel Fuzzyfikasi
No Kolom Tipe Data Lebar Keter a ngan
1 ID_Fuzzyfikasi Varchar 10 Primary Key
2 Panjang_Pendek Float 10
3 Panjang_Sedang Float 10
4 Panjang_Panjang Float 10
5 Lebar_Kecil Float 10
7 Lebar_Lebar Float 10
8 Tinggi_Rendah Float 10
9 Tinggi_Sedang Float 10
10 Tinggi_Tinggi Float 10
11 Kapasitas_Sedikit Float 10
12 Kapasitas_Sedang Float 10
13 Kapasitas_Banyak Float 10
14 Mesin_Kecil Float 10
15 Mesin_Sedang Float 10
16 Mesin_Besar Float 10
17 Daya_Kecil Float 10
18 Daya_Sedang Float 10
19 Daya_Besar Float 10
20 Torsi_Kecil Float 10
21 Torsi_Sedang Float 10
22 Torsi_Besar Float 10
23 Irit_Hemat Float 10
24 Irit_Sedang Float 10
25 Irit_Boros Float 10
Tabel 3.2 Tabel Login
No Kolom Tipe Data Lebar Keter a ngan
1 Username Varchar 225 Primary Key
[image:64.612.141.494.101.554.2]Tabel 3.3 Tabel Master Mobil
No Kolom Tipe Data Lebar Keter a ngan
1 Mobil_ID Varchar 10 Primary Key
2 Merk_Mobil Varchar 225
3 Tipe_Mobil Varchar 225
4 Jenis_Mobil Varchar 225
5 Jenis_BBM Varchar 225
6 Panjang_Mobil Number 10
7 Lebar_Mobil Number 10
8 Tinggi_Mobil Number 10
9 Kapasitas_Mobil Number 10
10 Mesin_Mobil Varchar 225
11 Daya_Mobil Number 10
12 Torsi_Mobil Varchar 225
13 Irit_Mobil Number 10
14 Harga_Mobil Varchar 12
15 Gambar_Mobil Image -
Tabel 3.4 Tabel Master Variabel
No Kolom Tipe Data Lebar Keter a ngan
1 Var_ID Varchar 10 Primary Key
2 Var_type Varchar 225
3 Var_Name Varchar 225
5 Rule_Name Varchar 225
6 Rule_Value Varchar 225
Berikut grafik keanggotaan yang diambil dari rule variable yang
digunakan batasan-batasan dalam perhitungan derajat keanggotaan dalam sistem
SPK ini, berikut gambaran grafiknya :
Sempit Sedang Panjang
1
0 3600 3680 4300
Gambar 3.8 Grafik Variabel Panjang
Pendek Sedang Lebar
1
0 1600 1625 1645
Rendah Sedang Tinggi
1
0 1455 1540 1630
Gambar 3.10 Grafik Variabel Tinggi
Sedikit Sedang Banyak
1
0 2 4 6
Gambar 3.11 Grafik Variabel kapasitas (orang)
Kecil Sedang Besar
1
0 800 900 2000
Kecil Sedang Besar
1
0 0,0111 0,0155 0,0300
Gambar 3.13 Grafik Variabel Daya
Kecil Sedang Besar
1
0 0,0020 0,0130 0,0295
Gambar 3.14 Grafik Variabel Torsi
Boros Sedang Hemat
1
0 5 9 15
3.2.8 Per a ncangan Inter face (Antar Muka)
Antar Muka (Interface) merupakan bagian yang penting dalam suatu
pemrograman apalagi berbasis web, karena berfungsi untuk menghubungkan
antara suatu aplikasi dengan pemakainya (user). perancangan antarmuka pemakai
(user Interface) dibuat dengan tujuan untuk memudahkan pemakai (user) dalam
melakukan interaksi dengan aplikasi yang dibuat.
Berikut merupakan rancangan antar muka pada website system pendukung
keputusan pemilihan kendaraan bermotor menggunakan metode fuzzy tahani :
a. Antarmuka Form Login
Desain form login diguankan untuk memilih user yang digunakan serta
memasukkan kata sandi/password.
Gambar 3.16 Antarmuka Form login
b. Desain Form Master Mobil
Desain form master mobil digunakan untuk mengisi data mobil dan untuk
Gambar 3.17 Antarmuka Form Master Mobil
c. Desain Form Master Variabel
Desain form variabel digunakan untuk mengisi data variabel yang
[image:70.612.179.422.75.415.2]Pada bab IV ini membahas tentang implementasi program dari hasil
analisa dan perancangan sistem pada bab III, serta membahas tentang bagaimana
cara sistem tersebut dijalankan. dalam implementasi ini berisi langkah-langkah
untuk membuat aplikasi sistem pengambilan keputusan pembelian kendaraan
bermotor pribadi menggunakan fuzzy model tahani dan memberikan gambaran
kepada user bagaimana kinerja dan alur dalam menjalankan program agar
menghasilkan data sesuai dengan yang diinginkan.
4.1 Lingkungan Pemr ogr aman
4.1.1 Kebutuhan Per angkat Keras
Perangkat keras yang digunakan pada aplikasi ini memiliki spesifikasi
sebagai berikut :
a. Processor AMD Turion II X2 2,3 GHz
b. Memory 2 Gb DDR2
c. Harddisk 320 Gb
e. Monitor SVGA
f. Printer tinta
4.1.2 Kebutuhan Per angkat Lunak
Perangkat lunak yang digunakan pada aplikasi ini sebagai berikut :
a. PHP : Bahasa Pemrograman.
b. Windows XP : Sistem Operasi yang digunakan.
c. Dreamweaver : editor pemrograman.
d. Adobe Photoshop CS3 : membuat tampilan dari program aplikasi.
e. XAMPP : media web server virtual.
f. MySQL : membuat database yang dipakai untuk pengolahan basis
data.
g. SQLyog : memanage database MySQL.
4.2 Implementasi Pr oses
Pada bagian bab ini membahas mengenai implementasi bagian dari
program, form aplikasi, serta tampilan pada web ini.
4.2.1 Halaman Home
Ga mbar 4.1 Interface Home
Halaman ini merupakan halaman utama dari aplikasi berbasis web SPK
pemilihan kendaraan bermotor menggunakan fuzzy model tahani. Seperti yang
terlihat pada gambar 4.1, pada halaman utama ini terdapat beberapa menu antara
lain menu home, menu demo fuzzy, menu data fuzzyfikasi, menu master mobil,
[image:74.612.130.523.254.467.2]4.2.2 Halaman Login
Gambar 4.2 Halaman Login
Halaman login digunakan untuk admin jika ingin mengakses halaman
master yaitu master variabel dan master mobil. Dan hanya admin saja yang dapat
mengakses halaman tersebut karena hanya admin yang memiliki account
username dan password untuk login. Account Username : Admin dan Password :
fuzzy kemudian klik login maka admin berhasil login, dan reset berfungsi untuk
mereset/menghapus username dan password yang telah diketikkan.
4.2.3 Halaman Demo Fuzzy
Menu demo fuzzy berisi halaman yang mengulas sedi