22
3. BAB III
ANALISIS DAN PERANCANGAN
3.1 Analisis
3.1.1 Analisis Pembuatan Sistem
Sistem yang akan dikembangkan merupakan aplikasi website yang didalamnya diimplementasikan perhitungan logika fuzzy tahani yang bertujuan untuk membantu pengguna untuk memilih laptop sesuai dengan kriteria yang dimasukkan.
3.1.2 Analisis Pengguna
Pengguna sistem dikelompokkan menjadi 2, yaitu visitor dan administrator. Dimana visitor merupakan pengunjung website yang menggunakan fitur-fitur di dalam aplikasi website ini, seperti pencarian produk. Administrator merupakan pengguna yang bertanggung jawab dalam kualitas hasil pencarian, diaman administrator dapat melakukan manajemen terhadat data himpunan fuzzy yang berpengaruh terhadap query pencarian.
3.1.2.1 Administrator
Di dalam Sistem Pendukung Keputusan Memilih Produk Laptop Berbasis Web Menggunakan Metode Fuzzy Tahani terdapat beberapa fungsi yang bertugas mengendalikan dan mengontrol sistem di antaranya adalah kemampuan dalam menangani data laptop dan data fuzzy. Berikut adalah penjelasan beberapa fitur yang disediakan bagi administrator:
1. Add product, fitur yang digunakan untuk menambahkan laptop baru ke dalam database.
2. Disable product, fitur yang digunakan untuk menonaktifkan produk tertentu. 3. Edit product, fitur yang digunakan untuk melakukan pengubahan data laptop
tertentu.
4. Membership, fitur yang digunakan untuk melihat derajat keanggotaan (membership degree) suatu laptop.
5. Edit fuzzy rule, fitur yang digunakan untuk mengubah set fuzzy, linguistik dan batasan himpunan (fuzzy rule).
23 3.1.2.2 Visitor
Di dalam Sistem Pendukung Keputusan Memilih Produk Laptop Berbasis Web Menggunakan Metode Fuzzy Tahani terdapat beberapa fitur untuk pengguna, diantaranya:
1. Open store, fitur yang digunakan oleh pengguna untuk membuka toko mereka sendiri.
2. Add product, fitur yang digunakan untuk menambahkan data laptop tertentu ke dalam daftar laptop toko pengguna.
3. Find, fitur yang digunakan untuk melakukan pencarian laptop. 4. Compare, fitur yang digunakan untuk membandingan dua laptop.
3.1.3 Analisis Spesifikasi Kebutuhan Sitem
Spesifikasi sistem merupakan detail kebutuhan yang harus dipenuhi dalam membangun sistem, sehingga tercapainya tujuan dari aplikasi tersebut. Spesifikasi kebutuhan tersebut mencangkup 3 kategori, yaitu spesifikasi server, client, dan aplikasi.
3.1.3.1 Spesifikasi Server
Spesifikasi server berkaitan dengan detail kebutuhan untuk media instalasi aplikasi. Spesifikasi server meliputi sistem operasi dan perangkat keras. Berikut detail spesifikasi server yang dibutuhkan:
a. Ubuntu Server 14.10 (amd64 20150521) for Microsoft Azure. b. Web Server Apache/2.4.10 (Ubuntu)
c. PHP Version 5.5.12-2ubuntu4.4 d. Mysql 5.5.41
3.1.3.2 Spesifikasi Client User
Spesifikasi client berkaitan dengan peramba web atau browser sebagai media penunjang berjalannya antarmuka. Berikut detail spesifikasi client yang dibutuhkan :
a. Sistem Operasi : Linux, iOS, Android, Windows
b. Browser : Internet Explorer 9 atau versi diatasnya, Firefox 31 atau versi diatasnya, Chrome 31 atau versi diatasnya, Safari 7 atau versi diatasnya, Opera 27 atau versi diatasnya.
24 3.1.3.3 Spesifikasi Aplikasi
Spesifikasi aplikasi berkaitan dengan kebutuhan pembangunan aplikasi pada sisi pemrograman. Berikut detail spesifikasi aplikasi yang digunakan:
a. PHP Framework : CodeIgniter 3.0 b. CSS Framework : Bootstrap v3.3.4
3.1.3.4 Aplikasi Development
Aplikasi development adalah aplikasi yang digunakan sebagai media pengkodean dengan menggunakan bahasa pemrograman sehingga menjadi sebuah aplikasi siap pakai.
a. Dreamweaver CS5
3.1.4 Analisa Fuzzy
3.1.4.1 Representasi Fungsi Keanggotaan
Fungsi keanggotaan dalam fuzzy adalah suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya (derajat keanggotaan) yang memiliki interval 0 sampai 1. Terlihat pada gambar, batasan himpunan, variabel linguistik fuzzy dari setiap variable fuzzy yang digunakan dalam sistem ini.
Gambar 3.1 Batasan Himpunan dan Variabel Linguistik Fuzzy
Untuk lebih memahami dari batasan himpunan terhadap nilai tiap laptop, maka dibuatlah representasi fungsi keanggotaan dalam bentuk kurva, yaitu:
25
1. Representasi fungsi keanggotaan untuk variabel battrey
Gambar 3.2 Fungsi Keanggotaan untuk Variabel Battrey
2. Representasi fungsi keanggotaan untuk variabel CPU speed
Gambar 3.3 Fungsi Ke anggotaan untuk Variabel CPU Speed
3. Representasi fungsi keanggotaan untuk variabel hard disk
26
4. Representasi fungsi keanggotaan untuk variabel price
Gambar 3.5 Fungsi Keanggotaan untuk Variabel Price
5. Representasi fungsi keanggotaan untuk variabel RAM
27
6. Representasi fungsi keanggotaan untuk variabel resolution
Gambar 3.7 Fungsi Keanggotaan untuk Variabel Resolution
7. Representasi fungsi keanggotaan untuk variabel weight
Gambar 3.8 Fungsi Keanggotaan untuk Variabel Weight
3.1.4.2 Fuzzifikasi
Fuzzifikasi atau perhitungan derajat keanggotaan yang melibatkan data laptop (tabel product dan tabel item) dan data batasan himpunan (tabel fuzzy). Data laptop yang ada dalam tabel product tidak semua digunakan, namun hanya data-data yang termasuk dalam variabel fuzzy, yaitu harddisk capacity, RAM capacity, CPU Speed, monitor resolution, weight, price dan durability. Dalam sistem yang dibuat, fuzzifikasi dilakukan dengan menggunakan pendekatan fungsi kurva bahu.
Admin melalui penambahan produk dan pengubahan produk seacara otomatis melakukan perhitungan derajat keanggotaan yang nantinya akan menghasilkan nilai derajat keanggotaan yang akan disimpan dalam tabel membership, proses tersebut terlihat
28
dalam gambar. Tabel membership digunakan ketika terjadi proses pencarian laptop oleh pengguna.
Gambar 3.9 Flowcart Alur Fuzzifikasi
Sebagai contoh dipilih data Acer Aspire S3 dari sampel laptop yang ada. Pada sistem yang sudah berjalan, laptop Acer Aspire S3 mempunyai derajat keanggotaan 0,375 untuk variabel battery. Hal ini terlihat pada gambar 4.3.
29
Gambar 3.10 Derajat Keanggotaan Variabel Battery Acer Aspire S3
Untuk mendapatkan derajat keanggotaan 0,375 untuk variabel battery sistem melakukan fuzzifikasi (perhitungan derajar keanggotaan) dengan alur seperti terlihat pada gambar 4.2. Dalam proses fuzzifikasi sistem membutuhkan batasan himpunan untuk variabel price yang sudah dimasukkan oleh admin sebelumnya.
Gambar 3.11 Batasan Himpunan Variabel Battery
Bila digambarkan dalam bentuk kurva, batasan himpunan untuk variabel battery akan terlihat seperti gambar.
30
Untuk mendapatkan hasil fuzzifikasi. Sistem melakukan perhitungan derajat keanggotaan dengan menggunakan fungsi keanggotaan representasi kurva bahu.
4 ≤ x ≤ 8 maka 4 ≤ 5,5 ≤ 8
3.1.4.3 Alur Pencarian dengan Metode Fuzzy Tahani
Fungsi utama dari Sistem Pendukung Keputusan Memilih Produk Laptop Berbasis Web Menggunakan Metode Fuzzy Tahani adalah membatu pengguna menentukan keputusan dalam memilih produk laptop. Pengguna melalui fitur pencarian dapat mengisikan kriteria laptop yang diinginkan pada field-field yang tersedia. Proses pencarian dengan metode fuzzy tahani terlihat dalam gambar di bawah ini.
Gambar 3.13 Flowchart Pencarian Laptop
Ketika pengguna mengeksekusi, proses pencarian akan dilakukan oleh sistem yang melibatkan data pada tabel product, tabel item dan tabel membership. Untuk variabel-variabel non-fuzzy sistem akan melakukan pencarian pada tabel product dan item menggunakan query SQL like. Apabila terdapat variabel fuzzy dalam kriteria pengguna maka pencarian akan melibatkan tabel membership.
31 3.1.4.4 Hasil Pencarian
Sebagai contoh disimulasikan pengguna mengisikan kriteria untuk RAM Capacity memilih large dan untuk price memilih expensive seperti terlihat pada gambar.
Gambar 3.14 Kriteria Pencarian Pengguna
Ketika pengguna mengesekusi proses pencarian, maka sistem akan membuat query pencarian sesuai dengan kriteria pengguna seperti terlihat pada gambar.
Gambar 3.15 Hasil Pencarian Produk
Sistem kemudian akan menampilkan hasil pencarian sesuai dengan derajat keanggotaan tiap variabel. Untuk mendapatkan nilai rekomendasi dalam persentase sistem menggunakan operator min terhadap variabel price dan weight.
Sebagai contoh diambil data dari laptop ACER Aspire V3. Laptop ini memiliki derajat keanggotaan variabel RAM Capacity – large sebesar 0.111111 dan derajat keanggotaan price – expensive sebesar 0.384615 seperti terlihat pada gambar.
32
Gambar 3.16 Derajat Keanggotaan Laptop Aspire V3
Untuk mendapatkan nilai rekomendasi sebesar 11% sistem melakukan perhitungan dengan operator min untuk derajat keanggotaan variabel RAM Capacity – large dan price – expensive, kemudian akan dikalikan 100.
µramcapacity_large ∩ µprice_expensive = min(µramcapacity_large[8], µprice_expensive[4])
3.2 Perancangan
Dalam tahap perancangan meliputi perancangan sistem, perancangan basis data, dan perancangan user interface.
3.2.1 Perancangan Sistem
33
Gambar 3.17 Diagaram Usecase
Dari usecase yang dibuat maka akan dijabarkan ke dalam scenario sebagai berikut: a. Dari sisi visitor
1. Nama usecase : Add Product
Aktor : Visitor
Deskripsi : Aktor melakukan penambahan produk Skenario :
1. Aktor login ke dalam sistem 2. Aktor membuat store
3. Aktor melakukan akses form penambahan produk 4. Sistem menampilkan form penambahan produk 5. Aktor melakukan pengisian data produk 6. Sistem melakukan validasi data
7. Sistem melakukan proses fuzzifikasi price 8. Sistem menyimpan data
2. Nama usecase : Register
Aktor : Visitor
Deskripsi : Aktor melakukan proses registraasi Skenario :
1. Aktor melakukan akses form register 2. Sistem menampilkan form register 3. Aktor melakukan pengisian data register 4. Sistem melakukan validasi data
5. Sistem menyimpan data 3. Nama usecase : Compare Product
Aktor : Visitor
Deskripsi : Aktor melakukan proses perbandingan produk Skenario :
1. Aktor melakukan pencarian produk
2. Aktor menambahkan 2 produk ke dalam daftar perbandingan
3. Sistem menampilkan data kedua produk 4. Nama usecase : Login
Aktor : Visitor
34 Skenario :
1. Aktor akses form login
2. Sistem menampilkan form login 3. Aktor melakukan pengisian data auth 4. Sistem melakukan validasi
5. Sistem menyimpan data auth ke dalam session 5. Nama usecase : Open a Store
Aktor : Visitor
Deskripsi : Aktor membuat toko Skenario :
1. Aktor akses form open a store
2. Sistem menampilkan form open a store 3. Aktor melakukan pengisian data toko 4. Sistem melakukan validasi
5. Sistem menyimpan data 6. Nama usecase : Find Product
Aktor : Visitor
Deskripsi : Aktor melakukan pencarian produk Skenario :
1. Aktor akses form find product
2. Sistem menampilkan form find product
3. Aktor melakukan pengisian data kriteria pencarian 4. Sistem melakukan validasi
5. Sistem menampilkan daftar produk hasil pencarian
b. Dari sisi admin
1. Nama usecase : Sign In Aktor : Administrator
Deskripsi : Aktor melakukan proses login ke dalam sistem Skenario :
1. Aktor akses form login
2. Sistem menampilkan form login 3. Aktor melakukan pengisian data auth 4. Sistem melakukan validasi
35 2. Nama usecase : Add Product
Aktor : Administrator
Deskripsi : Aktor melakukan penambahan produk Skenario :
1. Aktor login ke dalam sistem
2. Aktor melakukan akses form penambahan produk 3. Sistem menampilkan form penambahan produk 4. Aktor melakukan pengisian data produk 5. Sistem melakukan validasi data
6. Sistem melakukan proses fuzzifikasi variable selain price 7. Sistem menyimpan data
3. Nama usecase : Edit Fuzzy Rule Aktor : Administrator
Deskripsi : Aktor melakukan pengubahan fuzzy rule Skenario :
1. Aktor login ke dalam sistem
2. Aktor melakukan akses form edit fuzzy rule 3. Sistem menampilkan form edit fuzzy rule 4. Aktor melakukan pengisian data fuzzy 5. Sistem melakukan validasi data
6. Sistem melakukan proses fuzzifikasi semua variabel 7. Sistem menyimpan data
3.2.1.2 Activity Diagram
36 a. Visitor Menambahkan Produk
Gambar 3.18 Diagram Activity Visitor Add Product
Visitor dapat menambah produk ke dalam toko mereka. Jika visitor belum memiliki toko maka mereka harus membuat satu toko. Di dalam form, visitor hanya perlu memilih brand, dan kemudian memilih tipe. Visitor memasukkan harga yang kemudian ketika di submit, sistem akan melakukan proses fuzzifikasi variabel harga.
37 b. Visitor Membandingkan Produk
Gambar 3.19 Diagram Activity Visitor Compare Product
Visitor dapat membandingkan 2 produk laptop. Setelah hasil pencarian muncul, visitor dapat menambahkan produk yang ingin dibandingkan. Setelah itu sistem akan menampilkan informasi perbandingan dalam bentuk tabel.
38 c. Visitor Sign In
Gambar 3.20 Diagram Activity Visitor Sign In
Visitor harus sign in untuk bisa mengakses fitur - fitur dari sistem. Untuk sign in visitor pertama – tama harus mengakses menu login, selanjutnya akan muncul form login. Visitor memasukkan data email dan password mereka, kemudian sistem akan melakukan proses autentifikasi. Jika data yang dimasukkan lolos proses autentifikasi makan sistem akan membuat session sign in dan halaman website akan dimuat ulang.
39 d. Visitor Sing Up
Gambar 3.21 Diagram Visitor Register
Visitor dapat melakukan pendaftaran dengan cara mengakses menu register. Sistem akan menampilkan form register. Visitor mengisikan data mereka seperti email, nama dan password, kemudian sistem akan melakukan validasi data. Jika data valid maka sistem akan mengirimkan email pemberitahuan registrasi berhasil. Jika tidak visitor akan diminta untuk melengkapi data kembali dengan benar.
40 e. Visitor Find Product
Gambar 3.22 Diagram Visitor Find Product
Visitor dapat melakukan pencarian dengan klik tombol “Start Now”. Kemudian sistem akan menampilkan form pencarian. Visitor dapat memasukkan kriteria yang mereka inginkan. Ketika di submit maka sistem akan mengolah data untuk query pencarian dan kemudian menampilkan halaman hasil pencarian.
41 f. Admin Sign In
Gambar 3.23 Diagram Activity Administrator Sing In
Admin harus sign in untuk bisa mengakses fitur - fitur dari sistem. Untuk sign in admin pertama – tama harus mengakses halaman login, selanjutnya akan muncul form login. Admin memasukkan data username dan password mereka, kemudian sistem akan melakukan proses autentifikasi. Jika data yang dimasukkan lolos proses autentifikasi makan sistem akan membuat session sign in dan halaman website akan diarahkan ke halaman admin.
42 g. Admin Menambahkan Produk
Gambar 3.24 Diagram Activity Administrator Add Product
Admin dapat menambah produk ke dalam sistem, dimana produk – produk ini akan menjadi acuan visitor untuk menambahkan produk ke dalam toko mereka. Admin klik tombol “Add Product” kemudian sistem akan menampilkan form tambah produk. Ketika data disumit maka sistem akan melakukan fuzzifikasi variabel fuzzy.
43 h. Admin Edit Fuzzy Rule
Gambar 3.25 Diagram Activity Administrator Edit Fuzzy Rule
Admin dapat merubah data fuzzy rule termasuk di dalamnya fuzzy set. Dengan mengakses menu Edit dalam halaman fuzzy rule maka sistem akan menampilkan form edit. Ketika data disubmit maka sistem akan melakukan proses fuzzifikasi semua produk, karena perubahan fuzzy rule mempengaruhi nilai derajat keanggotaan semua produk.
44 3.2.1.2 Diagram Sequence
a. Visitor Menambahkan Produk
Gambar 3.26 Diagram Sequence Visitor Add Product
b. Visitor Membandingkan Produk
45 c. Visitor Sing In
Gambar 3.28 Diagram Sequence Visitor Sing In
d. Visitor Sing Up
46 e. Visitor Find Product
Gambar 3.30 Diagram Sequence Visitor Find Product
f. Admin Sing In
47 g. Admin Menambahkan Produk
Gambar 3.32 Diagram Sequence Administrator Add Product
h. Admin Edit Fuzzy Rule
Gambar 3.33 Diagram Sequence Administrator Edit Fuzzy Rule
3.2.2 Perancangan User Interface
Dalam tahap perancangan user interface, pertama dibuatlah wireframe utuk halaman halaman web yang akan dibuat. Yang kemudian dalam tahap imlementasi wireframe ini akan diterjemahkan dalam bentuk HTML.
48 3.2.2.1 Desain Halaman Pengguna
a. Halaman Home
Halaman Home merupakan halaman pengguna yang menyajikan informasi mengenai opini pengguna, produk dan brand. Di halaman home inilah pengguna bisa melakukan pencarian dengan cara klik tombol START NOW.
49 b. Halaman Detil Product
Halaman detil produk menyajikan informasi deskripsi dan spesifikasi lengkap produk. Disajikan juga daftar penjual online dari produk yang dipilih.
50 c. Halaman Rekomendasi
Halaman rekomendasi menyajikan informasi hasil pencarian produk. Disini pengguna bisa membandingkan dua produk yang dipilih.
51 d. Halaman Perbandingan
Halaman perbandingan menyajikan spesifikasi 2 laptop yang dipilih dalam bentuk tabel, sehingga pengguna lebih mudah untuk membandingkan kedua produk dari sisi spesifikasi dan harga.
52 3.2.2.2 Desain Halaman Admin
a. Halaman Product
Halaman produk untuk admin menyajikan informasi daftar produk yang ada. Pada halaman ini admin bisa menambahkan produk baru atau mengubah produk tertentu. Admin juga bisa melihat derajat keanggotaan (membership degree) dari produk.
Gambar 3.38 Wireframe Halaman Produk Admin
b. Halaman Fuzzy Rule
Halaman fuzzy rule menyajikan informasi mengenai fuzzy set dan rule untuk peoduk. Di halaman ini admin bisa mengubah fuzzy set dan rule yang sudah ada.
53 3.2.3 Perancangan Basis Data
Pembuatan database dilakukan dengan menggunakan DBMS MySQL 5.0.11. Database dibuat melalui user interface dari XAMPP yang diakses melalui web browser Mozilla Firefox. Database dibuat dengan nama fuzzy. Dalam database fuzzy terdapat 10 tabel yang digunakan untuk menyimpan data-data yang dibutuhkan dalam sistem, yaitu tabel admin, brand, compare, fuzzy, item, membership, product, record, store dan user.
3.2.2.3 Struktur Tabel
Struktur data dari tabel-tabel Sistem Pendukung Keputusan Memilih Produk Laptop Berbasis Web Menggunakan Metode Fuzzy Tahani adalah sebagai berikut:
a. Tabel Admin
Tabel 3.1 Struktur Tabel Admin
Field Type Index Auto
Increment
admin_id int(2) Primary Key Yes
username varchar(128) password varchar(128)
status smallint(1)
created timestamp
c. Tabel Brand
Tabel 3.2 Struktur Tabel Brand
Field Type Index Auto
Increment
brand_id int(2) Primary Key Yes
name varchar(128)
img varchar(255)
enabled smallint(1)
created timestamp
54 d. Tabel Compare
Tabel 3.3 Struktur tabel compare
Field Type Index Auto
Increment
compare_id int(11) Primary Key Yes
product_first int(11) product_secon d int(11) updated timestamp e. Tabel Fuzzy
Tabel 3.4 Struktur Tabel Fuzzy
Field Type Index Auto
Increment
fuzzy_id int(2) Primary Key Yes
set varchar(128) name varchar(128) desc varchar(255) icon varchar(128) ling_low varchar(128) ling_medium varchar(128) ling_high varchar(128) a_bottom float a_top float b_bottom float b_peak float b_top float C_bottom float C_top float
55 f. Tabel Item
Tabel 3.5 Struktur Tabel Item
Field Type Index Auto
Increment
Item_id int(2) Primary Key Yes
product_id int(11) Foreign Key
store_id int(11) Foreign Key
price float
enabled smallint(1)
created timestamp
updated timestamp
g. Tabel Membership
Tabel 3.6 Struktur Tabel Membership
Field Type Index Auto
Increment
membership_id int(2) Primary Key Yes
product_id int(11) Foreign Key
fuzzy_id int(2) Foreign Key
low float medium float high float enabled smallint(1) created timestamp updated timestamp h. Tabel Product
Tabel 3.7 Struktur Tabel Product
Field Type Index Auto
Increment
product_id int(11) Primary Key Yes
brand_id int(2)
name varchar(128)
56 desc varchar(512) cpu_speed float ram float resolution float weight float hard_disk float battery float cpu varchar(255) os varchar(255) graphic varchar(255) colour varchar(255) touch varchar(255) card_reader varchar(255) optical_drive varchar(255) modem varchar(255) wifi varchar(255) bluetooth varchar(255) view varchar(255) enabled smallint(1) created timestamp updated timestamp i. Tabel Record
Tabel 3.8 Struktur Tabel Record
Field Type Index Auto
Increment
record_id int(11) Primary Key Yes
data varchar(512)
updated timestamp
j. Tabel Store
Tabel 3.9 Struktur Tabel Store
Field Type Index Auto
57
store_id int(2) Primary Key Yes
name varchar(128) desc varchar(512) profile varchar(255) location varchar(128) sold Ing(11) speed Ing(3) service Ing(3) quality Ing(3) enabled smallint(1) created timestamp updated timestamp k. Tabel User
Tabel 3.10 Struktur Tabel User
Field Type Index Auto
Increment
user_id int(11) Primary Key Yes
store_id int(11) name varchar(128) email varchar(128) img varchar(255) desc varchar(255) password varchar(128) last_login datetime enabled smallint(1) created timestamp updated timestamp 3.2.2.4 Relasi Tabel
Tabel Relasi Sistem Pendukung Keputusan Memilih Produk Laptop Berbasis Web Menggunakan Metode Fuzzy Tahani seperti terlihat pada gambar.
58