LAPORAN TUGAS AKHIR PENERAPAN FUZZY DATABASE UNTUK REKOMENDASI PEMBELIAN LAPTOP FUZZY DATABASE APPLICATION TO PURCHASE LAPTOP RECOMMENDATIONS Diajukan untuk memenuhi salah satu syarat memperoleh derajat Sarjana Komputer ABDUL GANI PUTRA SURATMA NIM. 0803040050 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH PURWOKERTO JUNI, 2012 ii KATA PENGANTAR Alhamdulillah, puji syukur penulis panjatkan kehadirat Allah SWT berkat Rahmat dan Hidayah-Nya, sehingga Tugas Akhir yang berjudul “Penerapan Fuzzy Database Untuk Rekomendasi Pembelian Laptop” dapat terselesaikan dengan baik. Tugas ini disusun sebagai salah satu syarat untuk menyelesaikan mata kuliah Tugas Akhir Jurusan Teknik Informatika, Fakultas Teknik, Universitas Muhammadiyah Purwokerto. Pada kesempatan ini penulis ingin mengucapkan terimakasih kepada: 1. Kedua orang tua atas do’a dan kasih sayangnya serta atas dukungan moril serta materiil yang diberikan kepada penulis. 2. Ibu Hindayati Mustafidah, S.Si., M.Kom. selaku Pembimbing Tugas Akhir. 3. Bapak Dimara Kusuma Hakim, S.T.,M.Cs. selaku Pembimbing Tugas Akhir. 4. Teman–teman seperjuangan (Mahasiswa Teknik Informatika UMP angkatan 2008) yang telah banyak membantu dalam penyelesaian Tugas Akhir ini. 5. Semua pihak yang telah membantu dan tidak dapat penulis sebutkan satu persatu. Penulis menyadari akan keterbatasan dan kekurangan pada tulisan ini, oleh karena itu penulis berbesar hati menerima saran dan masukan dari semua pihak yang sifatnya membangun demi hasil yang lebih baik. Semoga Laporan Tugas iii Akhir ini dapat bermanfaat bagi perkembangan ilmu pengetahuan ke depan, demi kemajuan Teknik Informatika Universitas Muhammadiyah Purwokerto. Purwokerto, 11 April 2012 Abdul Gani Putra Suratma iv DAFTAR ISI KATA PENGANTAR............................................................................................................... ii DAFTAR ISI ...........................................................................................................................iv DAFTAR TABEL ....................................................................................................................vi DAFTAR GAMBAR ............................................................................................................... vii INTISARI ............................................................................................................................... xi BAB I. PENDAHULUAN ........................................................................................................ 1 A. Latar Belakang Permasalahan ................................................................................. 1 B. Rumusan Permasalahan .......................................................................................... 2 C. Batasan Permasalahan ............................................................................................ 2 BAB II. KAJIAN PUSTAKA ..................................................................................................... 3 A. Laptop ..................................................................................................................... 3 B. Konsep Logika Fuzzy ................................................................................................ 3 C. Hasil Penelitian Sejenis ......................................................................................... 11 BAB III. TUJUAN DAN MANFAAT ....................................................................................... 13 A. Tujuan ................................................................................................................... 13 B. Manfaat ................................................................................................................. 13 BAB IV. METODE PENELITIAN ........................................................................................... 14 A. Jenis Penelitian ...................................................................................................... 14 v B. Variabel Penelitian ................................................................................................ 14 C. Sumber Data ......................................................................................................... 14 D. Waktu, Tempat dan Alat ....................................................................................... 14 E. Pengumpulan Data dan Sumber Pendukung (literatur) ....................................... 15 F. Perancangan Sistem .............................................................................................. 15 G. Pengkodean .......................................................................................................... 23 H. Implementasi dan Pengujian ................................................................................ 23 BAB V. HASIL DAN PEMBAHASAN ..................................................................................... 24 A. Analisis Data .......................................................................................................... 24 B. Perancangan Sistem .............................................................................................. 26 C. Implementasi ........................................................................................................ 39 BAB VI. PENUTUP .............................................................................................................. 49 A. Kesimpulan ............................................................................................................ 49 B. Saran ..................................................................................................................... 49 DAFTAR PUSTAKA ............................................................................................................. 50 LAMPIRAN ......................................................................................................................... 51 vi DAFTAR TABEL Tabel 1. Login .................................................................................................................... 26 Tabel 2. M_laptop ............................................................................................................. 27 Tabel 3. L_jenis .................................................................................................................. 27 Tabel 4. L_merek ............................................................................................................... 27 Tabel 5. Himpunan ............................................................................................................ 28 Tabel 6. Hasil fuzzyfikasi ................................................................................................... 35 Tabel 7. Perhitungan manual menggunakan operasi OR.................................................. 43 Tabel 8. Perhitungan manual menggunakan operasi AND ............................................... 46 vii DAFTAR GAMBAR Gambar 1. Himpunan fuzzy dengan kurva-S: PERTUMBUHAN........................................... 5 Gambar 2. Himpunan fuzzy dengan kurva-S: PENYUSUTAN .............................................. 5 Gambar 3. Karakteristik fungsi kurva –S ............................................................................. 6 Gambar 4. Himpunan Fuzzy: TUA ....................................................................................... 6 Gambar 5. Himpunan Fuzzy: MUDA ................................................................................... 7 Gambar 6. Karakteristik fungsi kurva BETA ........................................................................ 7 Gambar 7. Himpunan Fuzzy: PAROBAYA dengan kurva Beta ............................................. 8 Gambar 8. Penentuan himpunan pada fungsi kurva penyusutan .................................... 17 Gambar 9. Penentuan himpunan pada fungsi kurva beta ................................................ 18 Gambar 10. Penentuan himpunan pada fungsi kurva pertumbuhan ............................... 18 Gambar 11. Flowchart rekomendasi laptop ..................................................................... 20 Gambar 12. Flowchart proses perhitungan derajat keanggotaan masing-masing himpunan .......................................................................................................................... 21 Gambar 13. Flowchart perhitungan derajat keanggotaan masing-masing kurva ............ 22 Gambar 14. Perancangan tampilan aplikasi ..................................................................... 22 Gambar 15. Himpunan fuzzy untuk variabel harga (Rp) ................................................... 24 Gambar 16. Himpunan fuzzy untuk variabel processor (GHz) .......................................... 24 Gambar 17. Himpunan fuzzy untuk variabel harddisk (GB) .............................................. 25 Gambar 18. Himpunan fuzzy untuk variabel memory (MB) ............................................. 25 viii Gambar 19. Himpunan fuzzy untuk variabel lcd (inc) ....................................................... 25 Gambar 20. Himpunan fuzzy untuk variabel berat (Kg) .................................................... 25 Gambar 21. Kurva variabel harga (Rp) .............................................................................. 29 Gambar 22. Kurva penyusutan himpunan harga murah (Rp) ........................................... 29 Gambar 23. Kurva beta himpunan harga sedang (Rp) ...................................................... 29 Gambar 24. Kurva pertumbuhan himpunan harga mahal (Rp) ........................................ 29 Gambar 25. Kurva variabel processor (GHz) ..................................................................... 30 Gambar 26. Kurva penyusutan himpunan processor rendah (GHz) ................................. 30 Gambar 27. Kurva beta himpunan processor sedang (GHz) ............................................. 30 Gambar 28. Kurva pertumbuhan himpunan processor tinggi (GHz) ................................ 30 Gambar 29. Kurva varibel harddisk (GB) ........................................................................... 31 Gambar 30. Kurva penyusutan himpunan harddisk kecil (GB) ......................................... 31 Gambar 31. Kurva beta himpunan harddisk sedang (GB)................................................. 31 Gambar 32. Kurva pertumbuhan himpunan harddisk besar (GB) .................................... 31 Gambar 33. Kurva variabel memory (MB) ........................................................................ 32 Gambar 34. Kurva pentusutan himpunan memory kecil (MB) ......................................... 32 Gambar 35. Kurva beta himpunan memory sedang (MB) ................................................ 32 Gambar 36. Kurva pertumbuhan himpunan memory besar (MB) ................................... 32 Gambar 37. Kurva variabel lcd (inc) .................................................................................. 33 Gambar 38. Kurva penyusutan himpunan lcd kecil (inc) .................................................. 33 ix Gambar 39. Kurva beta himpunan lcd sedang (inc) .......................................................... 33 Gambar 40. Kurva pertumbuhan himpunan lcd besar (inc) ............................................. 33 Gambar 41. Kurva variabel berat (Kg) ............................................................................... 34 Gambar 42. Kurva penyusutan himpunan berat ringan (Kg) ............................................ 34 Gambar 43. Kurva beta himpunan berat sedang (Kg) ...................................................... 34 Gambar 44. Kurva pertumbuhan himpunanberat berat (Kg) ........................................... 34 Gambar 45. Interface halaman utama aplikasi ................................................................. 38 Gambar 46. Interface halaman master data ..................................................................... 38 Gambar 47. Interface halaman pencarian fuzzy ............................................................... 39 Gambar 48. Halaman utama ............................................................................................. 39 Gambar 49. Menu login .................................................................................................... 40 Gambar 50. menu home ................................................................................................... 40 Gambar 51. menu data ..................................................................................................... 41 Gambar 52. Halaman pencarian OR.................................................................................. 41 Gambar 53. Pemilihan parameter menggunakan operasi OR .......................................... 42 Gambar 54. Hasil rekomendasi menggunakan pencarian OR .......................................... 42 Gambar 55. Hasil rekomendasi menggunakan pencarian OR .......................................... 42 Gambar 56. Halaman pencarian AND ............................................................................... 44 Gambar 57. Pemilihan parameter menggunakan operasi AND........................................ 44 Gambar 58. Hasil rekomendasi menggunakan pencarian AND ........................................ 45 x Gambar 59. Hasil rekomendasi menggunakan pencarian AND ........................................ 45 Gambar 60. Halaman master data .................................................................................... 47 Gambar 61. Management data ........................................................................................ 47 Gambar 62. Tambah data ................................................................................................. 48 Gambar 63. Edit data ........................................................................................................ 48 xi INTISARI Laptop merupakan kebutuhan dasar bagi masyarakat baik untuk pendidikan maupun aktifitas bisnis. Namun, memilih laptop yang tepat sesuai kebutuhan dan anggaran keuangannya bukan hal mudah karena banyaknya pilihan yang tersedia di pasaran. Pada pembelian sebuah laptop sering kali konsumen memiliki pertimbangan dengan kriteria yang sesuai seperti harga, processor, harddisk, memory, lcd dan berat. Dalam hal ini, kriteria-kriteria tersebut disebut sebagai input fuzzy. Melalui sistem berbasis fuzzy masalah tersebut bisa diselesaikan. Oleh sebab itu pada penelitian ini dibahas Penerapan Fuzzy Database Untuk Rekomendasi Pembelian Laptop dengan menerapan fuzzy model Tahani. Implementasi dari aplikasi ini pada dasarnya akan memberikan kemudahan bagi konsumen, dengan terlebih dahulu memasukkan sejumlah kriteria yang dapat membantu proses rekomendai berdasarkan harga, processor, harddisk, memory, lcd dan berat. Kata-kata kunci: rekomendasi,laptop,database,fuzzy,tahani ABSTRACT Fuzzy logic is often known as a derivative artifioral intelegence, which has a function of processing certainty and uncertainty factor. Fuzzy logic is an appropriate method to map input spaoe into output space. Fuzzy database system is one of fuzzy methods that uses standard database. Nowardays, laptops area or business activities. However, chossing agood laptop something easy since there are many available options in the market. Therefore, the present study will discussthe aplication of fuzzy database for laptop recommendation using on the purcase of laptop. The database used there is a fuzzy this model using fuzzy set theory to obtain information on his query. The implementation of this application will basionlly facilitate for user, by inserting a number of criteria that can help the recommendation process based on the price, processor, hard drive, memory and lcd, and weigt. Key words: advice, laptops, databases, fuzzy, Tahani. 1 BAB I. PENDAHULUAN A. Latar Belakang Permasalahan Perkembangan zaman yang semakin maju seperti sekarang ini membuat kebutuhan masyarakat juga semakin meningkat. Terlebih lagi didorong dengan adanya kemajuan ilmu pengetahuan dan teknologi yang sangat cepat. Sebagai contoh, dengan adanya laptop atau notebook yang memudahkan pekerjaan segala kegiatan dapat dilakukan dengan cepat dan resiko kesalahan dapat dikurangi. Setiap orang sering dihadapkan pada suatu keadaan dimana dia harus memutuskan untuk memilih satu dari beberapa pilihan yang ada. Suatu masalah dalam kehidupan dapat diselesaikan dengan berbagai cara yang mungkin saja memberikan pemecahan masalah secara langsung atau memberi beberapa alternatif solusi untuk pemecahan masalah. Sekarang ini laptop merupakan kebutuhan dasar bagi masyarakat baik untuk pendidikan maupun aktifitas bisnis. Namun, memilih laptop yang tepat sesuai kebutuhan dan anggaran keuangannya bukan hal mudah karena banyaknya pilihan yang tersedia di pasaran, oleh karena itu dibutuhkan sebuah rancang bangun untuk rekomendasi yang diharapkan dapat membantu masyarakat dalam pemilihan laptop yang sesuai dengan kebutuhan mereka. Fuzzy database merupakan Fuzzy Query Database. Artinya, suatu query yang memiliki variabel yang bernilai fuzzy. Untuk mendapatkan informasi tentang kriteria laptop maka dibutuhkan kriteria laptop seperti HARDDISK, PROCESSOR, BERAT, LCD, MEMORY dan HARGA. fuzzy database dapat dengan mudah diakses oleh pengguna berdasarkan kriteria yang mudah dimengerti seperti spesifikasi HARDDISK, PROCESSOR, BERAT, LCD, MEMORY dan HARGA. 2 B. Rumusan Permasalahan Berdasarkan latar belakang di atas maka rumusan masalah dalam penelitian ini adalah: 1. Bagaimana merancang dan membangun basis data fuzzy untuk merekomendasikan laptop yang sesuai dengan spesifikasi dan keinginan konsumen. 2. Bagaimana penerapan metode basis data fuzzy dalam pemilihan laptop yang sesuai dengan keinginan konsumen. C. Batasan Permasalahan Agar pembahasan penelitian ini tidak menyimpang dari apa yang telah dirumuskan, maka diperlukan batasan-batasan. Batasan-batasan dalam penelitian ini adalah: 1. Kriteria yang menjadi variabel utuk rekomendasi laptop adalah HARDDISK, PROCESSOR, BERAT, LCD, MEMORY dan HARGA. 2. Fungsi keanggotaan yang digunakan adalah kurva penyusutan, kurva pertumbuhan dan kurva beta. 3 BAB II. KAJIAN PUSTAKA A. Laptop Laptop atau sering disebut juga notebook adalah komputer bergerak yang berukuran relatif kecil dan ringan, beratnya berkisar dari 1 hingg 6 kg, tergantung ukuran, bahan, dan spesifikasi laptop tersebut. Sumber daya laptop berasal dari baterai atau adaptor A/C yang dapat digunakan untuk mengisi ulang baterai dan menyalakan laptop itu sendiri. Baterai laptop pada umumnya dapat bertahan sekitar 1 hingga 6 jam, tergantung dari cara pemakaian, spesifikasi, dan ukuran baterai. Komponen yang terdapat di dalamnya sama persis dengan komponen pada desktop, hanya saja ukurannya diperkecil, dijadikan lebih ringan, lebih tidak panas dan lebih hemat daya. Laptop kebanyakan menggunakan layar LCD (Liquid Crystal Display) berukuran 10 inch hingga 17 inch tergantung dari ukuran laptop itu sendiri. Berbeda dengan komputer desktop, laptop memiliki komponen pendukung yang didesain secara khusus untuk mengakomodasi sifat laptop yang portabel. Sifat utama yang dimiliki oleh komponen penyusun laptop adalah ukuran yang kecil, hemat konsumsi energi, dan efisien (Setianto dkk., 2009). B. Konsep Logika Fuzzy 1. Pengertian Logika Fuzzy Logika fuzzy adalah suatu cara yang tepat untuk memetakan ruang input kedalam suatu ruang output (Kusumadewi, 2003). 2. Himpunan Fuzzy Himpunan tegas (crisp) A didefinisikan oleh item-item yang ada pada himpunan itu. Jika a.A, maka nilai yang berhubungan dengan a adalah 1. namun jika a.A, maka nilai yang berhubungan dengan a adalah 0. notasi A = {x|P(x)} 4 menunjukkan bahwa A berisi item x dengan p(x) benar. Jika XA merupakan fungsi karakteristik A dan properti P, maka dapat dikatakan bahwa P(x) benar, jika dan hanya jika XA(x)=1 (Kusumadewi, 2003). Himpunan fuzzy didasarkan pada gagasan untuk memperluas jangkauan fungsi karakteristik sedemikian hingga fungsi tersebut akan mencakup bilangan real pada interval [0,1]. Nilai keanggotaannya menunjukkan bahwa suatu item dalam semesta pembicaraan tidak hanya berada pada 0 atau 1, namun juga nilai yang terletak diantaranya. Dengan kata lain, nilai kebenaran suatu item tidak hanya benar atau salah. Nilai 0 menunjukkan salah, nilai 1 menunjukkan benar, dan masih ada nilai-nilai yang terletak antara benar dan salah. 3. Atribut Himpunan Fuzzy Himpunan fuzzy memiliki 2 atribut, yaitu (Kusumadewi, 2003): a. Linguistik, yaitu penamaan suatu grup yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami. b. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu variabel. 4. Fungsi Keanggotaan Fungsi Keanggotaan (membership function) adalah suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya (sering juga disebut dengan derajat keanggotaan) yang memiliki interval antara 0 sampai 1. Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah melalui pendekatan fungsi. Ada beberapa fungsi yang bisa digunakan yaitu sebagai berikut: 5 a. Representasi Kurva-S Kurva PERTUMBUHAN dan PENYUSUTAN merupakan kurva-S atau sigmoid yang berhubungan dengan kenaikan dan penurunan permukaan secara tak linear. Kurva-S untuk PERTUMBUHAN akan bergerak dari sisi paling kiri (nilai keanggotaan = 0) ke sisi paling kanan (nilai keanggotaan = 1). Fungsi keanggotaannya akan tertumpu pada 50% nilai keanggotaannya yang sering disebut dengan titik infleksi (Gambar 1). Gambar 1. Himpunan fuzzy dengan kurva-S: PERTUMBUHAN Kurva-S untuk PENYUSUTAN akan bergerak dari sisi paling kanan (nilai keanggotaan = 1) ke sisi paling kiri (nilai keanggotaan = 0) (Gambar 2). Gambar 2. Himpunan fuzzy dengan kurva-S: PENYUSUTAN Kurva-S didefinisikan dengan menggunakan 3 parameter, yaitu: nilai keanggotaan nol (α), nilai keanggotaan lengkap (ϒ), dan titik infleksi atau crossover (β) yaitu titik yang memiliki domain 50% benar. Gambar 3 menunjukkan karakteristik kurva-S dalam bentuk skema. 6 Gambar 3. Karakteristik fungsi kurva –S Fungsi keanggotaan kurva PERTUMBUHAN adalah seperti pada persamaan 1 berikut: ………………..…….(1). Contoh fungsi keanggotaan untuk himpunan TUA pada variabel umur terlihat seperti pada (Gambar 4). Gambar 4. Himpunan Fuzzy: TUA μ TUA*50+ = 1 – 2((60-50)/(60-35))2 = 1 – 2(10/25)2 = 0,68 Sedangkan fungsi keanggotaan pada kurva PENYUSUTAN adalah seperti pada persamaan 2 berikut: 7 ………………….….(2). Contoh fungsi keanggotaan untuk himpunan MUDA pada variabel umur terlihat seperti pada (Gambar 5). Gambar 5. Himpunan Fuzzy: MUDA μ MUDA*50+ = 2((50-37)/(50-20))2 = 2(13/30)2 = 0,376 b. Representasi Kurva BETA Kurva BETA berbentuk lonceng didefinisikan dengan 2 parameter, yaitu nilai pada domain yang menunjukkan pusat kurva (), dan setengah lebar kurva (β) (Gambar 6) . Gambar 6. Karakteristik fungsi kurva BETA Fungsi keangotaan pada kurva BETA adalah seperti pada persamaan 3 berikut: 8 …...……………………………………………………………..(3). Fungsi keanggotaan untuk himpunan PAROBAYA pada variabel umur seperti terlihat pada (Gambar 7). μ PAROBAYA *42+ = 1/(1+((42-45)/5)2) = 0,7353 μ PAROBAYA *51+ = 1/(1+((51-45)/5)2) = 0,4098 Gambar 7. Himpunan Fuzzy: PAROBAYA dengan kurva Beta 5. Operator Dasar Zadeh untuk Operasi Himpunan Fuzzy Seperti halnya himpunan konvensional, ada beberapa operasi yang didefinisikan secara khusus untuk mengkombinasi dan memodifikasi himpunan fuzzy. Nilai keanggotaan sebagai hasil dari operasi 2 himpunan sering dikenal dengan nama fire strength atau α -predikat. Ada 3 operator dasar yang diciptakan oleh Zadeh (Kusumadewi, 2003), yaitu: a. Operasi AND Operator ini berhubungan dengan operasi interseksi pada himpunan. α-predikat sebagai hasil operasi dengan operator AND diperoleh dengan 9 mengambil nilai keanggotaan terkecil antar elemen pada himpunan-himpunan yang bersangkutan. μ A∩B = min(μA [x], μB [y]) b. Operasi OR Operator ini berhubungan dengan operasi union pada himpunan. α- predikat sebagai hasil operasi dengan operator OR diperoleh dengan mengambil nilai keanggotaan terbesar antar elemen pada himpunan-himpunan yang bersangkutan. μ A∪B = max(μA[x], μB[y]) c. Operasi NOT Operator ini berhubungan dengan operasi komplemen pada himpunan. α- predikat sebagai hasil operasi dengan operator NOT diperoleh dengan mengurangkan nilai keanggotaan elemen pada himpunan yang bersangkutan dari 1. μA = 1 - μA[x] 6. Fuzzy Database Model Tahani Basisdata fuzzy model Tahani masih tetap menggunakan relasi standar, hanya saja model ini menggunakan teori himpunan fuzzy untuk mendapatkan informasi pada query-nya (Kusumadewi, 2010). Model Tahani tersusun atas tahapan yaitu: a. Menggambarkan Fungsi Keanggotaan Fungsi keanggotaan (membership function) adalah suatu kurva yang menunjukkan pemetaaan titik-titik input data ke dalam nilai keanggotaannya (sering juga disebut dengan derajat keanggotaan) yang 10 memiliki internal antara 0 sampai 1, salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan melalui pendekatan fungsi. Beberapa fungsi yang dapat digunakan yaitu Representasi kurva Linier, Representasi Kurva Segitiga. Representasi Kurva Trapesium. Representasi Kurva Bentuk Bahu, Representasi Kurva-S, Representasi Kurva Bentuk Lonceng (Bell Curve). Masing-masing fungsi tersebut, akan menghasilkan nilai antara “0” dan “1” dengan cara yang berbeda, sesuai dengan jenis representasi yang digunakan. b. Fuzzifikasi Fuzzifikasi adalah fase pertama dari perhitungan fuzzy yaitu pengubahan nilai tegas ke nilai fuzzy. Prosesnya adalah sebagai berikut: Suatu besaran analog dimasukkan sebagai masukan (crisp input), lalu input tersebut dimasukkan pada batas scope dari membership function. Membership function ini biasanya dinamakan membership function input. Keluaran dari proses fuzzifikasi ini adalah sebuah nilai input fuzzy atau yang biasanya dinamakan fuzzy input. c. Fuzzifikasi Query Fuzzifikasi Query diasumsikan sebuah query konvensional (nonfuzzy) DBMS yang akan mencoba membuat dan menerapkan sebuah sistem dasar logika fuzzy query . d. Operator Dasar Zadeh untuk Operasi Himpunan Fuzzy. Nilai keanggotaan sebagai dari 2 himpunan fuzzy dikenal dengan nama Fire Strength atau α-predikat. Sangat mungkin digunakan operator dasar dalam proses query berupa operator AND dan OR. 11 α -predikat sebagai hasil operasi dengan operator AND diperoleh dengan mengambil nilai keanggotaan terkecil antar elemen pada himpunan-himpunan yang bersangkutan, dinotasikan : μA∩B = min(μA[x], μB[y]). Sedangkan untuk hasil operasi dengan operator OR diperoleh dengan mengambil nilai keanggotaan terbesar antar elemen pada himpunan-himpunan yang bersangkutan, dinotasikan : μAUB = max(μA[x], μB[y]). Alternatif yang direkomendasikan adalah alternatif yang memiliki nilai Fire Strength atau tingkat kesesuaian dengan kriteria pilihan di atas angka 0 (nol) sampai dengan angka 1 (satu). C. Hasil Penelitian Sejenis Penelitian tentang pengembangan aplikasi fuzzy yang telah dilakukan adalah: a. Eliyani, dkk. (2009) telah mengembangkan Decision Suport System untuk pembelian mobil menggunakan fuzzy database model Tahani. Dalam aplikasi ini digunakan variabel input data mobil yang meliputi panjang mobil, lebar mobil, kapasitas penumpang, ukuran mesin, tinggi mobil, berat mobil, harga mobil, dan kapasitas tangki bahan bakar. Dari input tersebut diperoleh output aplikasi berupa spesifikasi mobil yang digunakan oleh pengguna serta dapat membantu menghasilkan keputusan yang lebih cepat untuk menjadikan bahan pertimbangan dalam persiapan pembelian produk mobil. Pada penelitian ini fuzzy database model Tahani akan diterapkan untuk rekomendasi pembelian laptop. b. Hasiholan (2008) telah melakukan penelitian tentang Evaluasi Kinerja Karyawan menggunakan metode pemrograman linier Fuzzy yang membahas suatu metode penelitian kinerja karyawan dengan faktor-faktor fuzzy sebagai parameter. 12 Parameter yang digunakan dalam penelian ini hanya parameter yang bersifat fuzzy. Beberapa faktor untuk menjadi parameter dalam melakukan evaluasi kinerja karyawan meliputi faktor pencapaian target waktu, faktor resiko kerja, faktor disiplin waktu, faktor kerumitan pekerjaan, dan faktor loyalitas dan tanggung jawab terhadap perusahaan. Dari faktor tersebut menghasilkan output yang dapat digunakan dan dikembangkan oleh perusahaan untuk mencari teknik yang berbeda dan baik dalam melakukan evaluasi kinerja karyawan sesuai kebutuhan perusahaan untuk promosi jabatan, mutasi karyawan dan menentukan presentasi kenaikan gaji karyawan. c. Pattiasina (2011) melakukan penelitian tentang aplikasi yang bertujuan untuk menghasilkan suatu sistem pendukung keputusan dalam pemilihan operator selular sesuai dengan kriteria yang diberikan. Pada penelitiannya, Fuzzy Tahani dipakai sebagai metode untuk menentukan kriteria-kriteria yang akan digunakan dalam memberikan hasil rekomendasi operator selular. Penelitian ini membagi dua variabel input, yaitu variabel fuzzy dan variabel non fuzzy. Variabel fuzzy terdiri dari data-data operator selular yang menyangkut masa tenggang, masa aktif, tarif sms ke beda operator, tarif telepon ke beda operator, dan tarif internet. Variabel non fuzzy terdiri dari data-data operator yang menyangkut tipe dan jenis operator selular. Dari input tersebut diperoleh output berupa rekomendasi operator selular disertai besarnya nilai rekomendasi fuzzy sesuai dengan kriteria yang diinginkan oleh konsumen. 13 BAB III. TUJUAN DAN MANFAAT A. Tujuan Tujuan dari penelitian ini adalah membuat suatu sistem rekomendasi laptop dengan menerapkan fuzzy database. B. Manfaat Hasil penelitian ini diharapkan bermanfaat sebagai alternatif untuk membantu pemilihan laptop yang sesuai dengan keinginan dan anggaran customer. 14 BAB IV. METODE PENELITIAN A. Jenis Penelitian Jenis penelitian ini adalah penelitian rekayasa atau pengembangan yaitu untuk aplikasi berbasis logika fuzzy pada sistem informasi fuzzy database untuk rekomendasi pembelian laptop menggunakan database fuzzy model Tahani. B. Variabel Penelitian Variabel dalam penelitian ini dibagi menjadi dua yaitu viariabel input dan variabel output: 1. Variabel input Variabel Input fuzzy terdiri dari variabel harga, processor, harddisk, memory, lcd dan berat. 2. Variabel output Hasil output berupa rekomendasi spesifikasi laptop yang sesuai dengan kriteria-kriteria yang diinginkan oleh customer. C. Sumber Data Data penelitian berasal dari toko penjual komputer di Purwokerto dan internet. D. Waktu, Tempat dan Alat Waktu penelitian dilaksanakan pada bulan januari 2012 sampai bulan juni 2012. Perlengkapan penelitian sebagai berikut: 1. Perlengkapan Hardware a. 1 Unit Komputer dengan spesifikasi Harddisk 320 GB, RAM 4 GB, Processor intel DUAL CORE dan LCD 14 Inch. b. 1 Unit Printer. 15 2. Perlengkapan Software a. DBMS SQL Server Standard Edition. b. Microsoft Office 2007 Enterprise Edition. c. Operating System Microsoft Windows XP. d. Microsoft Visual Studio 2005. E. Pengumpulan Data dan Sumber Pendukung (literatur) Metode pengumpulan data dan sumber pendukung dilakukan melalui cara: a. Studi Pustaka Studi pustaka dilakukan untuk mengumpulkan literatur yang mendukung penelitian. Literatur diambil dari penelitian sebelumnya maupun dari jurnal ilmiah, baik dalam negeri maupun luar negeri. Litelatur yang dibutuhkan adalah literatur tentang rekomendasi laptop, fuzzy database, dan pemrograman berbasis desktop. b. Observasi Observasi dilakukan dengan mendatangi toko penjual komputer di Purwokerto untuk mengumpulkan data yang dibutuhkan dalam penelitian yang meliputi data spesifikasi laptop dan data yang menentukan rekomendasi laptop. F. Perancangan Sistem Pada tahap ini dilakukan perancangan sistem yang akan dibangun yang terbagi dalam beberapa tahap yaitu: 1. Perancangan fuzzy database Pada tahap ini akan dirancang sistem fuzzy yang akan dibangun melalui langkah-langkah berikut : 16 a. Menentukan variabel fuzzy Variabel fuzzy yang akan dibahas dalam sistem fuzzy adalah harga, processor, harddisk, memory, lcd, dan berat. b. Menentukan himpunan fuzzy Himpunan fuzzy ditentukan untuk mengelompokkan data berdasarkan variabel bahasa (linguistik variable) yang dinyatakan dalam fungsi keanggotaan. Berdasarkan variabel fuzzy di atas maka dapat ditentukan himpunan fuzzy untuk masing-masing variabel sebagai berikut: 1) HARGA : MURAH, SEDANG dan MAHAL. 2) PROCESSOR : RENDAH, SEDANG dan TINGGI. 3) HARDDISK : KECIL, SEDANG dan BESAR. 4) MEMORY : KECIL, SEDANG dan BESAR. 5) BERAT : RINGAN, SEDANG dan BERAT. 6) LCD : KECIL, SEDANG dan BESAR. c. Menentukan fungsi himpunan Fungsi himpunan yang akan digunakan adalah kurva penyusutan, kurva pertumbuhan dan kurva beta. Dari himpunanan fuzzy di atas dapat ditentukan untuk masing-masing himpunan sebagai berikut: 1) Himpunan MURAH, RENDAH, KECIL dan RINGAN masuk dalam fungsi himpunan kurva penyusutan yang digambarkan seperti berikut: (Gambar 8). 17 Gambar 8. Penentuan himpunan pada fungsi kurva penyusutan Pada Gambar 8 dapat dijelaskan bahwa himpunan yang masuk pada kurva penyusutan adalah himpunan MURAH, RENDAH, KECIL DAN RINGAN. 2) Himpunan SEDANG masuk dalam fungsi himpunan kurva beta yang digambarkan seperti berikut(Gambar 9). 18 Gambar 9. Penentuan himpunan pada fungsi kurva beta Pada Gambar 9 dapat dijelaskan bahwa himpunan yang masuk pada kurva beta adalah himpunan SEDANG. 3) Himpunan MAHAL, TINGGI, BESAR dan BERAT masuk dalam fungsi himpunan kurva pertumbuhan(Gambar 10). Gambar 10. Penentuan himpunan pada fungsi kurva pertumbuhan 19 Pada Gambar 10 dapat dijelaskan bahwa himpunan yang masuk pada kurva pertumbuhan adalah himpunan MAHAL, TINGGI, BESAR dan BERAT. 2. Perancangan database Langkah-langkah yang akan dilakukan pada tahapan ini: a. Memilih DBMS(Database Management System) . b. Membuat database dan tabel-tabelnya. c. Database yang akan dibuat bernama fuzzydb yang terdiri dari lima tabel yaitu tabel M_laptop, tabel Himpunan, tabel l_merek, tabel l_jenis dan tabel login. d. Membuat view untuk menghitung derajat keanggotaan masing-masing himpunan. Pada tahap ini akan dilakukan perhitungan derajat keanggotaan untuk masing masing himpunan. Perhitungan dilakukan melalui query terhadap tabel M_laptop dan tabel Himpunan, dari hasil query tersebut akan disimpan dalam bentuk view. 3. Perancangan proses Perancagan proses yang dilakukan adalah mendefinisikan aliran data yang diperlukan oleh sistem. Aliran data didefinisikan sebagai gambaran dari data yang diperlukan oleh proses dan terhubung antara satu proses dengan proses lainnya. Dengan perancangan proses diharapkan lebih mudah dalam memahami sistem yang akan dibangun, yang meliputi proses didalam sistem serta sumber data dan alirannya. Proses yang ada dalam sistem ini secara umum dapat digambarkan melalui Flowchart berikut (Gambar 11). 20 Input kriteria Penentuan himpunan fuzzy Penentuan derajat keanggotaan Mulai selesai Tampilan hasil rekomendasi laptop Perhitungan FireStrenght Gambar 11. Flowchart rekomendasi laptop Pada Gambar 11 di atas dapat dijelaskan proses rekomendasi laptop yaitu berupa input kriteria berdasarkan variabel fuzzy yang terbagi menjadi tiga himpunan fuzzy, salah satu sampel variabel fuzzy (variabel HARGA), variabel harga dibagi menjadi tiga himpunan fuzzy yaitu MURAH, SEDANG dan MAHAL. Dari input kriteria tersebut diteruskan pada proses penentuan himpunan fuzzy untuk mengelompokkan data berdasarkan variabel bahasa (linguistik variable) yang dinyatakan dalam fungsi keanggotaan. Pada proses selanjutnya yaitu proses penentuan derajat keanggotaan sebagai salah satu cara untuk menentukan nilai keanggotaan melalui pendekatan fungsi kurva penyusutan, kurva pertumbuhan dan kurva beta, kemudian diteruskan pada proses perhitungan Fire Strength untuk menghitung derajat keanggotaan sehingga akan dihasilkan rekomendasi berupa data laptop yang sesuai. 21 Proses perhitungan derajat keanggotaan masing-masing himpunan dilakukan menggunakan query terhadap tabel M_laptop dan tabel Himpunan. Proses perhitungan derajat keanggotaan masing-masing himpunan dapat digambarkan dalam Flowchart (Gambar 12). mulai mengambil input fuzzy dari M_laptop Mengambil batas nilai dari tabel himpunan Menghitung derajat keanggotaan kurva penyusutan Menghitung derajat keanggotaan kurva beta Menghitung derajat keanggotaan kurva pertumbuhan selesai Gambar 12. Flowchart proses perhitungan derajat keanggotaan masing-masing himpunan Proses perhitungan derajat keanggotaan sebagai salah satu cara untuk mendapatkan nilai keanggotaan melalui pendekatan fungsi kurva penyusutan, kurva pertumbuhan dan kurva beta. Proses perhitungan derajat keanggotaan masingmasing fungsi kurva secara rinci seperti berikut (Gambar 13). 22 mulai Mengambil input fuzzy dari tabel M_laptop Mengambil batas nilai dati tabel Himpunan X <= a 1 a <= X <= b 2((X - a)/( - a)) 2 b <= X <= 1-2(( – X )/( - a)) 2 X >= 0 X <= a 0 X <= a and X <= 1/(1+((X - )/(b) 2 ) <= X and X <= Y 1/(1+((X - )/(b) 2 ) X >= 0 X <= a 0 a <= X <= b 1 - 2(( X - a)/( - a)) 2 b <= X <= 2(( - X)/( - a)) 2 X >= 1 Selesai tidak Kurva penyusutan ya hasil μ Kurva beta Kurva pertumbuhan ya ya tidak hasil μ hasil μ Gambar 13. Flowchart perhitungan derajat keanggotaan masing-masing kurva 4. Perancagan tampilan aplikasi Pada tahap ini akan dilakukan perancangan tampilan dari aplikasi yang akan dibuat (Gambar 14). HEADER CONTENT MENU1 MENU2 MENU3 Gambar 14. Perancangan tampilan aplikasi 23 G. Pengkodean Pada tahap ini dilakukan pengkodean untuk membangun aplikasi sesuai dengan rancangan sistem. Pengkodean dibagi menjadi dua bagian yaitu : 1. Pengkodean Query, yaitu membuat script query untuk menangani proses fuzzyfikasi dan penentuan nilai keanggotaan (μ) untuk masing-masing himpunan. 2. Pengkodean Interface (Tampilan), yaitu membuat interface aplikasi menggunakan bahasa pemrograman C#. H. Implementasi dan Pengujian Mengimplementasikan sistem hasil penelitian dengan memberi pelatihan kepada admin tentang cara penggunaan sistem yang buat dan dilakukan pengujian terhadap sitem yang telah dibangun dengan menggunakan data laptop yang telah ada. 24 BAB V. HASIL DAN PEMBAHASAN A. Analisis Data Analisis data dilakukan untuk memenuhi kebutuhan variabel penelitian. Variabel penelitian terdiri dari dari dua bagian yaitu variabel input dan variabel output. 1. Variabel input Kebutuhan input pada sistem ini digolongkan menjadi dua bagian input, yaitu input fuzzy dan input non fuzzy. Input fuzzy, terdiri dari data spesifikasi laptop yang menyangkut harga, processor, harddisk, memory, lcd dan berat. Sedangkan input non fuzzy terdiri dari data spesifikasi laptop yang menyangkut merek dan kecocokan antara spesifikasi yang satu dengan yang lain. Adapun variabel input fuzzy untuk masing-masing himpunan adalah sebagai berikut: a. Variabel harga Gambar 15. Himpunan fuzzy untuk variabel harga (Rp) b. Variabel processor Gambar 16. Himpunan fuzzy untuk variabel processor (GHz) 25 c. Variabel harddisk Gambar 17. Himpunan fuzzy untuk variabel harddisk (GB) d. Variabel memory Gambar 18. Himpunan fuzzy untuk variabel memory (MB) e. Variabel lcd Gambar 19. Himpunan fuzzy untuk variabel lcd (inc) f. Variabel berat Gambar 20. Himpunan fuzzy untuk variabel berat (Kg) 26 2. Variabel output Hasil output berupa rekomendasi spesifikasi laptop yang sesuai dengan kriteria yang diinginkan oleh customer. B. Perancangan Sistem 1. Perancangan Database Perancangan database berfungsi untuk tempat penyimpanan data yang dibutuhkan sistem. Secara keseluruhan akan dibuat sebuah database yang di beri nama fuzzydb. Karena pada penelitian ini menggunakan database model Tahani, maka query yang akan didapat dari proses seleksi menggunakan teori himpunan fuzzy. Database yang digunakan adalah SQL Server 2005. Ada lima tabel yang digunakan untuk mengelompokan data yang digunakan. Penjelasan tentang perancangan database adalah sebagai berikut: a. Tabel Login Tabel jenis digunakan untuk menyimpan data admin laptop. Struktur tabel login sebagai berikut (Tabel 1). Tabel 1. Login Nama Filed Tipe Data Keterangan usernamae varchar(50) Nama Pengguna password varchar(50) Password b. Tabel M_laptop Tabel M_laptop digunakan untuk menyimpan data spesifikasi laptop yang meliputi data input data fuzzy dan data non fuzzy. Struktur tabel M_laptop sebagai berikut (Tabel2). 27 Tabel 2. M_laptop Nama Filed Tipe Data Keterangan laptop_id* varchar(255) Kode laptop (new id()) jenis_id int Foreign Key jenis_id merek_id int Foreign Key merek_id nama_laptop varchar(255) Nama laptop harga float input fuzzy processor float input fuzzy harddisk float input fuzzy memory float input fuzzy lcd float input fuzzy berat float input fuzzy picture image Gambar Laptop detail text Detail laptop Ket: * Primary Key c. Tabel L_Jenis Tabel jenis digunakan untuk menyimpan data jenis laptop. Struktur tabel L_jenis sebagai berikut (Tabel 3). Tabel 3. L_jenis Nama Filed Tipe Data Keterangan jenis_id* int Kode jenis (Identity) jenis varchar(50) Nama jenis laptop Ket: * Primary Key d. Tabel L_merek Tabel jenis digunakan untuk menyimpan data merk laptop. Struktur tabel L_merek sebagai berikut (Tabel 4). Tabel 4. L_merek Nama Filed Tipe Data Keterangan merek_id* int Kode merk (Identity) merek varchar(50) Nama merk laptop Ket: * Primary Key 28 e. Tabel Himpunan Tabel Himpunan digunakan untuk menyimpan data himpunan dari variabel yang digunakan. Struktur tabel Himpuan sebagai berikut (Tabel 5). Tabel 5. Himpunan Nama Filed Tipe Data Keterangan variabel varchar(50) Nama variabel himpunan varchar(50) Nama himpunan fungsi varchar(50) Nama fungsi kurva alfa float Batas (a) beta float Batas (b) pusatY float Batas (pusat ) gamma float Batas () betane float Batas (b dan b) Ket: * Primary Key beta ((alfa+gamma)/2) pusatY ((alfa+gamma)/2) Betane ((alfa+gamma)/2) - (alfa+((alfa+gamma)/2))/2 2. Perancangan fuzzy database Perancangan fuzzy database dilakukan setelah perancangan database. Perancangan fuzzy database dilakukan untuk menerapkan teori fuzzy dengan cara mengolah data yang ada dalam database memelalui query yang disimpan dalam bentuk view. a. Menggambarkan fungsi keanggotaan Pada tahap ini variabel himpunan yang ada akan digambarkan dalam bentuk kurva, kurva tersebut menunjukkan pemetaan titik-titik masukkan data kedalam nilai keanggotaannya (sering juga disebut dengan derajat keanggotaan) yang memiliki interval antara 0 sampai 1. Gambar kurva dari masing masing variabel sebagai berikut: 29 1) Variabel harga Gambar 21. Kurva variabel harga (Rp) Pada kurva variabel harga memiliki tiga himpunan yaitu murah, sedang dan mahal. Untuk mengetahui kurva masing-masing himpunan dapat dijelaskan pada gambar kurva dari masing-masing himpunan sebagai berikut: a) Himpuan murah Gambar 22. Kurva penyusutan himpunan harga murah (Rp) b) Himpuan sedang Gambar 23. Kurva beta himpunan harga sedang (Rp) c) Himpuan mahal Gambar 24. Kurva pertumbuhan himpunan harga mahal (Rp) 30 2) Variabel processor Gambar 25. Kurva variabel processor (GHz) Pada kurva variabel processor memiliki tiga himpunan yaitu rendah, sedang dan tinggi. Untuk mengetahui kurva masing-masing himpunan dapat dijelaskan pada gambar kurva dari masing-masing himpunan sebagai berikut: a. Himpunan rendah Gambar 26. Kurva penyusutan himpunan processor rendah (GHz) b. Himpunan sedang Gambar 27. Kurva beta himpunan processor sedang (GHz) c. Himpunan tinggi Gambar 28. Kurva pertumbuhan himpunan processor tinggi (GHz) 31 3) Variabel harddisk Gambar 29. Kurva varibel harddisk (GB) Pada kurva variabel harddisk memiliki tiga himpunan yaitu kecil, sedang dan besar. Untuk mengetahui kurva masing-masing himpunan dapat dijelaskan pada gambar kurva dari masing-masing himpunan sebagai berikut: a. Himpunan kecil Gambar 30. Kurva penyusutan himpunan harddisk kecil (GB) b. Himpunan sedang Gambar 31. Kurva beta himpunan harddisk sedang (GB) c. Himpunan besar Gambar 32. Kurva pertumbuhan himpunan harddisk besar (GB) 32 4) Variabel memory Gambar 33. Kurva variabel memory (MB) Pada kurva variabel memory memiliki tiga himpunan yaitu kecil, sedang dan besar. Untuk mengetahui kurva masing-masing himpunan dapat dijelaskan pada gambar kurva dari masing-masing himpunan sebagai berikut: a. Himpunan kecil Gambar 34. Kurva pentusutan himpunan memory kecil (MB) b. Himpunan sedang Gambar 35. Kurva beta himpunan memory sedang (MB) c. Himpunan besar Gambar 36. Kurva pertumbuhan himpunan memory besar (MB) 33 5) Variabel lcd Gambar 37. Kurva variabel lcd (inc) Pada kurva variabel lcd memiliki tiga himpunan yaitu kecil, sedang dan besar. Untuk mengetahui kurva masing-masing himpunan dapat dijelaskan pada gambar kurva dari masingi-masing himpunan sebagai berikut: a. Himpunan kecil Gambar 38. Kurva penyusutan himpunan lcd kecil (inc) b. Himpunan sedang Gambar 39. Kurva beta himpunan lcd sedang (inc) c. Himpunan besar Gambar 40. Kurva pertumbuhan himpunan lcd besar (inc) 34 6) Variabel berat Gambar 41. Kurva variabel berat (Kg) Pada kurva variabel berat memiliki tiga himpunan yaitu ringan, sedang dan berat. Untuk mengetahui kurva masing-masing himpunan dapat dijelaskan pada gambar kurva dari masing-masing himpunan sebagai berikut: a. Himpunan ringan Gambar 42. Kurva penyusutan himpunan berat ringan (Kg) b. Himpunan sedang Gambar 43. Kurva beta himpunan berat sedang (Kg) c. Himpunan berat Gambar 44. Kurva pertumbuhan himpunanberat berat (Kg) 35 b. Fuzzyfikasi Setelah menggambarkan fungsi keanggotaan masing-masing variabel himpunan selanjutnya akan dilakukan fuzzyfikasi dengan memasukan data dari hasil menggambarkan fungsi keanggotaan ke dalam tabel Himpunan. hasil dari fuzzyfikasi dapat dilihat pada (Tabel 6). Tabel 6. Hasil fuzzyfikasi variabel himpunan fungsi Batas awal (a) Tengah (b) Pusat () Batas akhir () Selisih (b). (b)(b) harddisk kecil penyusutan 256 442 442 628 93 harddisk sedang beta 256 628 628 1000 186 harddisk besar pertumbuhan 628 814 814 1000 93 harga murah penyusutan 2677400 6096200 6096200 9515000 1709400 harga sedang beta 2677400 9515000 9515000 16352600 3418800 harga mahal pertumbuhan 9515000 12933800 12933800 16352600 1709400 processor rendah penyusutan 1 1.525 1.525 2.05 0.2625 processor sedang beta 1 2.05 2.05 3.1 0.525 processor tinggi pertumbuhan 2.05 2.575 2.575 3.1 0.2625 memory kecil penyusutan 1000 2750 2750 4500 875 memory sedang beta 1000 4500 4500 8000 1750 memory besar pertumbuhan 4500 6250 6250 8000 875 lcd kecil penyusutan 10.1 11.475 11.475 12.85 0.6875 lcd sedang beta 10.1 12.85 12.85 15.6 1.375 lcd besar pertumbuhan 12.85 14.225 14.225 15.6 0.6875 berat ringan penyusutan 1.25 1.7625 1.7625 2.275 0.25625 berat sedang beta 1.25 2.275 2.275 3.3 0.5125 berat berat pertumbuhan 2.275 2.7875 2.7875 3.3 0.25625 c. Fuzzyfikasi query Pada tahap ini dilakukan fuzzyfikasi query dengan membuat query untuk melakukan perhitungan derajat keanggotaan masing-masing himpunan berdasarkan fungsi himpunan yang digunakan. Query akan disimpan dalam bentuk view sebagai proses fuzzyfikasi query, View adalah salah satu jenis object database didalam database Microsoft SQL Server yang memiliki fungsi sebagai virtual tabel yang dapat memanipulasi berbagai data dan dapat 36 direpresentasikan sebagai sebuah laporan, view yang akan dibuat adalah sebagai berikut: 1) Membuat view penyusutan View penyusutan merupakan query untuk menghitung derajat keanggotaan dari himpunan yang menggunakan fungsi kurva penyusutan seperti himpunan murah ,himpunan rendah, himpunan kecil dan himpunan ringan. Script query view penyusutan dapat dilihat pada (lampiran 1), dan untuk hasil Script query view penyusutan dapet dilihat pada (Lampiran 2). 2) Membuat view beta View beta merupakan query untuk menghitung derajat keanggotaan dari himpunan yang menggunakan fungsi kurva beta seperti himpunan sedang. Script query view beta dapat dilihat pada (lampiran 3) , dan untuk hasil Script query view beta dapat dilihat pada (Lampiran 4). 3) Membuat view pertumbuhan View pertumbuhan merupakan query untuk menghitung derajat keanggotaan dari himpunan yang menggunakan fungsi kurva pertumbuhan seperti himpunan mahal ,himpunan tinggi, himpunan besar dan himpunan barat. Script query view pertumbuhan dapat dilihat pada (lampiran5), dan untuk hasil Script query view pertumbuhan dapat dilihat pada (Lampiran 6). 4) Membuat view vmiu View vmiu berfungsi untuk menggabungkan data hasil fuzzyfikasi query dari hasil view penyusutan, view beta dan view pertumbuhan. Script 37 query view vmiu dapat dilihat pada (lampiran 7), dan untuk hasil Script query view vmiu dapat dilihat pada (Lampiran 8). 5) Membuat view miudetail view miudetail merupakan data detail derajat keanggotaan dari masing-masing himpunan. Script query view miudetail dapat dilihat pada (lampiran 9), dan untuk hasil Script query view miudetail dapat dilihat pada (Lampiran 10). d. Operator Dasar Zadeh untuk Operasi Himpunan Fuzzy Operator Dasar Zadeh berfungsi untuk mengkombinasi dan memodifikasi himpunan fuzzy. Nilai keanggotaan sebagai hasil dari operasi 2 himpunan sering dikenal dengan nama fire strength atau α -predikat. Sangat mungkin digunakan operator dasar dalam proses query berupa operator AND dan OR, untuk mengimplementasikan maka akan di buat procedure untuk operasi AND dan procedure operasi OR. Script query procedure operasi AND dapat dilihat pada (lampiran 11), dan Script query procedure operasi OR dapat dilihat pada (lampiran 12). 3. Perancangan antarmuka (interface) Perancangan antarmuka dilakukan untuk membuat rancangan antarmuka yang akan diterapkan pada aplikasi. Rancangan antarmuka yang akan dibuat adalah sebagai berikut: a. Perancangan Halaman utama Halaman utama merupakan merupakan sebuah interface yang pertama kali muncul dalam aplikasi. Rancangan halaman utama dapat digambarkan sebagai berikut (Gambar 45). 38 Gambar 45. Interface halaman utama aplikasi b. Perancagan halaman master data Bagian ini merupakan rancangan interface halaman master data. Pada perancangan ini form tampilan dibagi menjadi dua yaitu untuk daftar data dan management data laptop seperti tambah data, ubah data, hapus data laptop yang disajikan dalam satu form tampilan. Rancangan halaman master data dapat digambarkan sebagai berikut (Gambar 46). Gambar 46. Interface halaman master data c. Perancangan halaman pencarian fuzzy Halaman pencarian fuzzy merupakan halaman pencarian fuzzy untuk rekomendasi laptop. Pada halaman pencarian terdapat input parameter yang akan digunakan oleh customer untuk pencarian sesuai kriteria yang di 39 inginkan. Rancangan halaman pencarian fuzzy dapat digambarkan sebagai berikut (Gambar 47). Gambar 47. Interface halaman pencarian fuzzy C. Implementasi Setelah melalui tahapan-tahapan sebelumnya maka akan dihasilkan implementasi dalam bentuk aplikasi penerapan fuzzy database untuk rekomendasi pembelian laptop. penjelasan tentang aplikasi yang akan dibangun sebagai berikut: 1. Halaman utama Halaman utama merupakan halaman awal ketika membuka aplikasi. Berikut adalah tampilan form utama (Gambar 48). Gambar 48. Halaman utama 40 2. Menu Menu yang terdapat pada aplikasi adalah sebagai berikut: a. Menu login Menu login berfungsi untuk login admin (Gambar 49) . Gambar 49. Menu login b. Menu home Dalam menu home terdapat sub menu yaitu menu skins dan menu pencarian OR dan pencarian AND dan menu All Laptop (Gambar 50). Gambar 50. menu home - Menu OR berfungsi untuk mengakses halaman pencarian menggunakan operasi OR. - Menu AND berfungsi untuk mengakses halaman pencarian menggunakan operasi AND. - Menu All Laptop berfungsi untuk mengakses halaman semua data laptop yang tidak menggunakan operasi OR dan AND untuk merekomendasikan data laptop. 41 c. Menu data Dalam menu data terdapat sub menu yaitu menu master data. menu master data berfungsi sebagai management data yang dilakukan oleh admin. menu data hanya bisa di akses jika admin login pada aplikasi (Gambar 51). Gambar 51. menu data 3. Halaman pencarian OR Halaman pencarian OR merupakan halaman pencarian fuzzy. Model pencarian OR merupakan pencarian dengan kondisi pertama OR dan kondisi kedua OR. Pada operasi pencarian OR proses yang dijalankan adalah MAX(harga, processor, harddisk, memory, lcd,berat). Berikut adalah tampilan halaman untuk pencarian OR (Gambar 52). Gambar 52. Halaman pencarian OR Halaman pencarian OR di atas menampilkan data rekomendasi spesifikasi laptop sesuai parameter yang dipilih oleh customer (Gambar 53). 42 Gambar 53. Pemilihan parameter menggunakan operasi OR Pada gambar 53 di atas dicontohkan penggunaan proses pencarian menggunakan pencarian OR untuk memory = memory_besar OR lcd = lcd_sedang OR berat = berat_ringan. Setelah menekan tombol cari maka akan ditampilkan hasil rekomendasi seperti (Gambar 54). Gambar 54. Hasil rekomendasi menggunakan pencarian OR Dari proses pencarian OR sesuai parameter yang dipilih oleh customer, didapatkan daftar data laptop hasil rekomendasi yang sesuai dengan kriteria yang pilih. Daftar data tersebut menampilkan data rekomendasi dari yang paling direkomendasikan sampai dengan yang kurang direkomendasikan seperti terlihat pada (Gambar 55). Gambar 55. Hasil rekomendasi menggunakan pencarian OR 43 Penjelasan dari proses rekomendasi apabila dilakukan perhitungan secara manual menggunakan pencarian operasi OR tersebut dapat dilihat pada (Tabel 7) berikut: Tabel 7. Perhitungan manual menggunakan operasi OR nama_laptop memory lcd berat memory_besar lcd_sedang berat_ringan nilai AXIOO RNO. 7.381 8000 14 2.1 1 0.588406925 0.058298632 1 ASUS Eee PC 1015BX-BLK067W 2000 10.1 1.25 0 0 1 1 DELL XPS L15z (Core i7-2640M) 8000 15.6 2.51 1 0 0 1 ASUS Eee PC 1025C-RED008W - Red 2000 10.1 1.25 0 0 1 1 ACER Aspire One D270 - Red 2000 10.1 1.3 0 0 0.995240928 0.995240928 ACER Aspire One D270 - White 2000 10.1 1.3 0 0 0.995240928 0.995240928 ACER Aspire One D270 - Blue 2000 10.1 1.3 0 0 0.995240928 0.995240928 ACER Aspire One D270 - Red 2000 10.1 1.3 0 0 0.995240928 0.995240928 ACER Aspire One D270 - Black 2000 10.1 1.3 0 0 0.995240928 0.995240928 ACER Aspire One D270 - White 2000 10.1 1.3 0 0 0.995240928 0.995240928 TOSHIBA NB520-1069B - Blue 2000 10.1 1.32 0 0 0.990672219 0.990672219 TOSHIBA NB520-1069Q - Turquoise 2000 14 1.32 0 0.588406925 0.990672219 0.990672219 AXIOO Neon CLW.3.522 2000 13 2.53 0 0.988239138 0 0.988239138 DELL XPS L321X Ultrabook 4000 13.3 1.36 0 0.903254703 0.976966092 0.976966092 HP Mini 110-4133TU - Blue 2000 10.1 1.38 0 0 0.967828673 0.967828673 HP Mini 210-4025TU - Blue 2000 10.1 1.38 0 0 0.967828673 0.967828673 ASUS Eee PC 1215B-BLK114W 2000 12.1 1.45 0 0.770700637 0.923854848 0.923854848 ASUS Eee PC 1215B-SIV073W 2000 12.1 1.45 0 0.770700637 0.923854848 0.923854848 ASUS 1225C-BLK024W - Black 2000 11.6 1.45 0 0.547511312 0.923854848 0.923854848 ACER Aspire One 722 - Blue 2000 11.6 1.46 0 0.547511312 0.91604997 0.91604997 ACER Aspire One 722 - Black 2000 11.6 1.46 0 0.547511312 0.91604997 0.91604997 ASUS Eee PC 1201T - Black 2000 12.1 1.46 0 0.770700637 0.91604997 0.91604997 DELL Inspiron 13z (Core i3-2330M) - Red 4000 13.3 1.76 0 0.903254703 0.504866151 0.903254703 DELL Inspiron 13z (Core i3-2330M) - Black 4000 13.3 1.76 0 0.903254703 0.504866151 0.903254703 TOSHIBA Satellite L735-1128UR - Red 2000 13.3 2.05 0 0.903254703 0.096371208 0.903254703 TOSHIBA Satellite L635-1065XB - Brow 2000 13.3 2.05 0 0.903254703 0.096371208 0.903254703 TOSHIBA Satellite L735-1128UB - Brown 2000 13.3 2.05 0 0.903254703 0.096371208 0.903254703 DELL Vostro 3350 (Core i5-2410M) 4000 13.3 2.04 0 0.903254703 0.1051279 0.903254703 DELL Vostro 3350 (Core i5-2450M) - Silver 4000 13.3 2.4 0 0.903254703 0 0.903254703 ASUS Eee PC 1215B - Black 2000 12.1 2.1 0 0.770700637 0.058298632 0.770700637 HP ProBook 4230s (9PA 2000 12.1 1.6 0 0.770700637 0.766805473 0.770700637 ACER Aspire 4352-B812G32Mi - Brown 2000 12 2.25 0 0.723511122 0.001189768 0.723511122 Asus Eeepc 1215B 2000 12 2.3 0 0.723511122 0 0.723511122 ASUS A43SD-VX429D - White 2000 14 2.44 0 0.588406925 0 0.588406925 ACER Aspire 4755G-2432G64Mn 4000 14 2.3 0 0.588406925 0 0.588406925 44 4. Halaman pencarian AND Halaman pencarian AND merupakan halaman pencarian fuzzy. Model pencarian AND merupakan pencarian dengan kondisi pertama AND dan kondisi kedua AND. Pada operasi pencarian AND proses yang dijalankan adalah MIN(harga, processor, harddisk, memory, lcd dan berat). Berikut adalah tampilan halaman untuk pencarian AND (Gambar 56). Gambar 56. Halaman pencarian AND Halaman pencarian AND di atas menampilkan data rekomendasi spesifikasi laptop sesuai parameter yang dipilih oleh customer (Gambar 57). Gambar 57. Pemilihan parameter menggunakan operasi AND Pada gambar 57 di atas dicontohkan penggunaan proses pencarian menggunakan pencarian AND untuk memory = memory _kecil AND lcd = lcd _sedang AND berat = berat_ringan. Setelah menekan tombol cari maka akan ditampilkan hasil rekomendasi seperti (Gambar 58). 45 Gambar 58. Hasil rekomendasi menggunakan pencarian AND Dari proses pencarian AND sesuai parameter yang dipilih oleh customer, didapatkan daftar data laptop hasil rekomendasi yang sesuai dengan kriteria yang pilih. Daftar data tersebut menampilkan data rekomendasi dari yang paling direkomendasikan sampai dengan yang kurang direkomendasikan seperti terlihat pada (Gambar 59). Gambar 59. Hasil rekomendasi menggunakan pencarian AND Penjelasan dari proses rekomendasi apabila dilakukan perhitungan secara manual menggunakan pencarian operasi AND tersebut dapat dilihat pada (Tabel 8). 46 Tabel 8. Perhitungan manual menggunakan operasi AND nama_laptop memory lcd berat memory_kecil lcd_sedang berat_ringan nilai ASUS Eee PC 1215B-BLK114W 2000 12.1 1.45 0.836734694 0.770700637 0.923854848 0.770700637 ASUS Eee PC 1215B-SIV073W 2000 12.1 1.45 0.836734694 0.770700637 0.923854848 0.770700637 ASUS Eee PC 1201T - Black 2000 12.1 1.46 0.836734694 0.770700637 0.91604997 0.770700637 HP ProBook 4230s (9PA 2000 12.1 1.6 0.836734694 0.770700637 0.766805473 0.766805473 TOSHIBA NB520-1069Q - Turquoise 2000 14 1.32 0.836734694 0.588406925 0.990672219 0.588406925 ACER Aspire One 722 - Blue 2000 11.6 1.46 0.836734694 0.547511312 0.91604997 0.547511312 ASUS 1225C-BLK024W - Black 2000 11.6 1.45 0.836734694 0.547511312 0.923854848 0.547511312 ACER Aspire One 722 - Black 2000 11.6 1.46 0.836734694 0.547511312 0.91604997 0.547511312 HP ProBook 4431s (7PA 2000 14 2.04 0.836734694 0.588406925 0.1051279 0.1051279 TOSHIBA Satellite L735-1128UR - Red 2000 13.3 2.05 0.836734694 0.903254703 0.096371208 0.096371208 TOSHIBA Satellite L635-1065XB - Brow 2000 13.3 2.05 0.836734694 0.903254703 0.096371208 0.096371208 TOSHIBA Satellite L735-1128UB - Brown 2000 13.3 2.05 0.836734694 0.903254703 0.096371208 0.096371208 ASUS Eee PC 1215B - Black 2000 12.1 2.1 0.836734694 0.770700637 0.058298632 0.058298632 TOSHIBA Satellite C600-1013U - Black 2000 14 2.1 0.836734694 0.588406925 0.058298632 0.058298632 ASUS 1225C-WHI022W - White 2000 11.6 2.1 0.836734694 0.547511312 0.058298632 0.058298632 TOSHIBA Satellite C640-1085U - Black 2000 14 2.1 0.836734694 0.588406925 0.058298632 0.058298632 DELL Inspiron 13z (Core i3-2330M) - Red 4000 13.3 1.76 0.040816327 0.903254703 0.504866151 0.040816327 DELL Inspiron 13z (Core i3-2330M) - Black 4000 13.3 1.76 0.040816327 0.903254703 0.504866151 0.040816327 AXIOO RNO. 5.545 4000 14 2.1 0.040816327 0.588406925 0.058298632 0.040816327 HP Pavilion G4-1318TX 4000 14 2.1 0.040816327 0.588406925 0.058298632 0.040816327 DELL XPS L321X Ultrabook 4000 13.3 1.36 0.040816327 0.903254703 0.976966092 0.040816327 HP Pavilion Beats Edition DM4-3115TX - Black 4000 14 1.9 0.040816327 0.588406925 0.267697799 0.040816327 DELL Vostro 3350 (Core i5-2410M) 4000 13.3 2.04 0.040816327 0.903254703 0.1051279 0.040816327 TOSHIBA Satellite C600-1005U - Black 1000 14 2.14 1 0.588406925 0.034693635 0.034693635 HP Pavilion G4-1130TX - Red 2000 14 2.2 0.836734694 0.588406925 0.010707912 0.010707912 ASUS N46VM-V3036D - Black 4000 14 2.2 0.040816327 0.588406925 0.010707912 0.010707912 HP 430 9PA 2000 14 2.2 0.836734694 0.588406925 0.010707912 0.010707912 HP Pavilion G4-1129TX - Grey 2000 14 2.2 0.836734694 0.588406925 0.010707912 0.010707912 DELL Inspiron 4110 (Core i3-2330M 4000 14 2.2 0.040816327 0.588406925 0.010707912 0.010707912 DELL Inspiron 4110 (Core i5-2450M) 4000 14 2.2 0.040816327 0.588406925 0.010707912 0.010707912 Acer Aspire 4739-382G50Mn 2000 14 2.2 0.836734694 0.588406925 0.010707912 0.010707912 ACER Aspire 4752-2332G50 - Brown 2000 14 2.25 0.836734694 0.588406925 0.001189768 0.001189768 ACER Aspire 4752-2332G50 2000 14 2.25 0.836734694 0.588406925 0.001189768 0.001189768 ACER Aspire 4352-B812G32Mi - Brown 2000 12 2.25 0.836734694 0.723511122 0.001189768 0.001189768 ACER Aspire 4352-B812G32Mi - Blue 2000 14 2.25 0.836734694 0.588406925 0.001189768 0.001189768 ACER Aspire 4352-B812G32Mi - Purple 2000 14 2.25 0.836734694 0.588406925 0.001189768 0.001189768 47 5. Halaman master data Halaman master data berfungsi untuk management data laptop yang digunakan admin. pada halaman master data terdapat menu yang berfungsi untuk proses tambah data, edit data dan hapus data (Gambar 60). Gambar 60. Halaman master data Proses management data yang ada dalam master data adalah sebagai berikut: 1. Menu management data laptop Pada menu management data terdapat tombol yang difungsikan untuk grid view dan tombol simpan data, hapus data dan tombol untuk menampilkan halaman tambah data (Gambar 61). Gambar 61. Management data 48 2. Tambah data Proses penambahan data yaitu dengan menekan tombol pada menu management data (Gambar 62). Gambar 62. Tambah data 3. Edit data Proses Edit data yaitu dengan memilih salah satu data yang ada pada grid view (Gambar 63). Gambar 63. Edit data 49 BAB VI. PENUTUP A. Kesimpulan Berdasarkan hasil penelitian ini, maka dapat ditarik beberapa kesimpulan sebagai berikut : 1. Fuzzy database ini bisa diterapkan pada aplikasi untuk rekomendasi pembelian laptop. 2. Setelah melalui tahapan uji coba, penerapan fuzzy database untuk rekomendasi laptop ini terbukti dapat menghasilkan list rekomendasi laptop yang sesuai dengan kriteria yang diinginkan oleh customer. 3. Melalui tahap uji coba terhadap aplikasi dan uji coba secara manual, dapat dibuktikan bahwa data yang dihasilkan sama. B. Saran Berdasarkan hasil dari penelitian ini, maka dapat diberikan beberapa saran sebagai berikut : 1. Aplikasi ini dapat dikembangkan menjadi aplikasi berbasis web. 2. Variabel yang digunakan dalam sistem ini ada enam variabel fuzzy yaitu harga, processor, harddisk, memory dan berat. Diharapkan untuk pengembangan sistem, variabel tersebut dapat ditambah berdasarkan kebutuhan seperti resolution, warna, garansi atau aksesoris tambahan lain yang bisa digunakan sebagai variabel. 50 DAFTAR PUSTAKA Eliyani, Pujianto, U., and Rosyadi, D., 2009, Decision Support system untuk Pembelian Mobil Menggunakan Fuzzy Database Model Tahani, Graha Ilmu, Yogyakarta. Hasiholan, L., and Sudrajat., 2008, Evaluasi Kinerja Karyawan Menggunakan Metode Pemrograman Linier Fuzzy, Seminar Pengembangan dan Konstribusi matematika dalam Menunjangkemajuan Ilmu Pengetahuan Teknologi, Bandung, 13 Desember 2008. Kusumadewi, S., 2003, Artificial Intelegence (Teknik dan Aplikasinya), Graha Ilmu, Yogyakarta. Kusumadewi, S., and Purnomo, H., 2010, Aplikasi Logika Fuzzy Sistem Pendukung Keputusan, Graha Ilmu, Yogyakarta. Microsoft, 2012, Getting Started with Visual C#, http://social.msdn.microsoft.com, diakses tanggal 28 Januari 2012, 22.23 WIB. Pattiasina, T.J., 2011, Pemanfaatan Fuzzy Database Sebagai Pendukung Keputusan Pemilihan Operator Selular, Tesis, Program Pascasarjana Magister Teknologi Informasi, Institut Sains Terapan dan Teknologi Surabaya, Surabaya. Setianto, E.H., and SmitDev Comunity, 2009, Serba-Serbi Laptop, PT. Elex Media Komputindo, Jakarta. 51 LAMPIRAN Lampiran 1. Script query view penyusutan CREATE VIEW dbo.penyusutan ( variabel, himpunan, laptop_id, nama_laptop, miu ) AS --harga SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN (b.harga <= a.alfa) THEN 1 WHEN (a.alfa <= b.harga AND b.harga <= a.beta) THEN 1 - 2*((b.harga - a.alfa)/(a.gamma - a.alfa) * (b.harga - a.alfa)/(a.gamma - a.alfa)) WHEN (a.beta <= b.harga AND b.harga <= a.gamma) THEN 2*((a.gamma - b.harga)/(a.gamma-a.alfa)*(a.gamma - b.harga)/(a.gamma - a.alfa)) WHEN b.harga >= a.gamma THEN 0 END FROM Himpunan a, M_Laptop b WHERE (a.variabel = 'harga' AND a.himpunan ='murah' AND a.fungsi ='penyusutan') UNION --processor SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN (b.processor <= a.alfa) THEN 1 WHEN (a.alfa <= b.processor AND b.processor <= a.beta) THEN 1 - 2*((b.processor - a.alfa)/(a.gamma - a.alfa) * (b.processor - a.alfa)/(a.gamma - a.alfa)) WHEN (a.beta <= b.processor AND b.processor <= a.gamma) THEN 2*((a.gamma - b.processor)/(a.gamma - a.alfa)*(a.gamma-b.processor)/(a.gamma - a.alfa)) WHEN b.processor >= a.gamma THEN 0 END FROM Himpunan a, M_Laptop b 52 WHERE (a.variabel = 'processor' AND a.himpunan ='rendah' AND a.fungsi ='penyusutan') UNION --harddisk SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN (b.harddisk <= a.alfa) THEN 1 WHEN (a.alfa <= b.harddisk AND b.harddisk <= a.beta) THEN 1 - 2*((b.harddisk - a.alfa)/(a.gamma - a.alfa) * (b.harddisk - a.alfa)/(a.gamma - a.alfa)) WHEN (a.beta <= b.harddisk AND b.harddisk <= a.gamma) THEN 2*((a.gamma - b.harddisk)/(a.gamma - a.alfa)*(a.gamma-b.harddisk)/(a.gamma - a.alfa)) WHEN b.harddisk >= a.gamma THEN 0 END FROM Himpunan a, M_Laptop b WHERE (a.variabel = 'harddisk' AND a.himpunan ='kecil' AND a.fungsi ='penyusutan') UNION --memory SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN (b.memory <= a.alfa) THEN 1 WHEN (a.alfa <= b.memory AND b.memory <= a.beta) THEN 1 - 2*((b.memory - a.alfa)/(a.gamma - a.alfa) * (b.memory - a.alfa)/(a.gamma - a.alfa)) WHEN (a.beta <= b.memory AND b.memory <= a.gamma) THEN 2*((a.gamma - b.memory)/(a.gamma - a.alfa)*(a.gamma-b.memory)/(a.gamma - a.alfa)) WHEN b.memory >= a.gamma THEN 0 END FROM Himpunan a, M_Laptop b WHERE (a.variabel = 'memory' AND a.himpunan ='kecil' AND a.fungsi ='penyusutan') UNION --lcd SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, 53 miu= CASE WHEN (b.lcd <= a.alfa) THEN 1 WHEN (a.alfa <= b.lcd AND b.lcd <= a.beta) THEN 1 - 2*((b.lcd - a.alfa)/(a.gamma - a.alfa) * (b.lcd - a.alfa)/(a.gamma - a.alfa)) WHEN (a.beta <= b.lcd AND b.lcd <= a.gamma) THEN 2*((a.gamma - b.lcd)/(a.gamma - a.alfa)*(a.gamma-b.lcd)/(a.gamma - a.alfa)) WHEN b.lcd >= a.gamma THEN 0 END FROM Himpunan a, M_Laptop b WHERE (a.variabel = 'lcd' AND a.himpunan ='kecil' AND a.fungsi ='penyusutan') UNION --berat SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN (b.berat <= a.alfa) THEN 1 WHEN (a.alfa <= b.berat AND b.berat <= a.beta) THEN 1 - 2*((b.berat - a.alfa)/(a.gamma - a.alfa) * (b.berat - a.alfa)/(a.gamma - a.alfa)) WHEN (a.beta <= b.berat AND b.berat <= a.gamma) THEN 2*((a.gamma - b.berat)/(a.gamma - a.alfa)*(a.gamma-b.berat)/(a.gamma - a.alfa)) WHEN b.berat >= a.gamma THEN 0 END FROM Himpunan a, M_Laptop b WHERE (a.variabel = 'berat' AND a.himpunan ='ringan' AND a.fungsi ='penyusutan') Lampiran 2. Hasil Script query view penyusutan variabel himpunan nama_laptop miu berat ringan DELL Inspiron 13z (Core i3-2330M) - Red 0.504866151 berat ringan ASUS A43SD-VX429D - White 0 berat ringan TOSHIBA NB520-1069B - Blue 0.990672219 berat ringan ACER Aspire 4755G-2432G64Mn 0 berat ringan ACER Aspire One D270 - Red 0.995240928 berat ringan Acer Aspire D270 Balloon 0 berat ringan ASUS Eee PC 1215B-BLK114W 0.923854848 berat ringan DELL Inspiron 13z (Core i3-2330M) - Black 0.504866151 berat ringan TOSHIBA Satellite L735-1128UR - Red 0.096371208 berat ringan ACER Aspire 4752-2332G50 - Brown 0.001189768 berat ringan ASUS Eee PC 1215B-SIV073W 0.923854848 54 Lampiran 2 (Lanjutan) variabel himpunan nama_laptop miu berat ringan HP ProBook 4430s (8-3PA 4.75907E-05 berat ringan ACER Aspire 4752-2332G50 0.001189768 berat ringan ASUS A44H-VX184D - Black 0 berat ringan ASUS Eee PC 1215B - Black 0.058298632 berat ringan ASUS A43SD-VX428D - Red 0 berat ringan HP Pavilion G4-1318TX 0.058298632 berat ringan ACER Aspire 5951G-2634G75Bnkk 0 berat ringan ASUS Eee PC 1015BX-BLK067W 1 berat ringan ASUS N46VM-V3036D - Black 0.010707912 berat ringan ASUS K43U-VX070D - Black 0 berat ringan ASUS A43SJ-VX399D - Black 0 berat ringan ASUS 1225C-BLK024W - Black 0.923854848 berat ringan TOSHIBA Satellite L635-1065XB - Brow 0.096371208 berat ringan DELL XPS L15z (Core i7-2640M) 0 berat ringan ASUS A43E-VX596D - White 0 berat ringan DELL XPS L321X Ultrabook 0.976966092 berat ringan ACER Aspire One D270 - White 0.995240928 berat ringan TOSHIBA Satellite C600-1013U - Black 0.058298632 berat ringan ACER Aspire One D270 - Blue 0.995240928 berat ringan ACER Aspire One D270 - Red 0.995240928 berat ringan ASUS A43SM-VX034D 0 berat ringan AXIOO Neon CLW.3.522 0 berat ringan DELL Inspiron 4110 (Core i3-2330M 0.010707912 berat ringan ACER Aspire 4352-B812G32Mi - Brown 0.001189768 berat ringan DELL Inspiron 4110 (Core i5-2450M) 0.010707912 berat ringan HP ProBook 4431s (7PA 0.1051279 berat ringan ASUS A43SD-VX427D - Blue 0 berat ringan ASUS Eee PC 1025C-RED008W - Red 1 berat ringan ASUS A53SV-SX618D 0 berat ringan DELL Vostro 3450 (Core i5-2430M) - Silver 0 berat ringan ASUS A43SD-VX055D - White 0 berat ringan ASUS 1225C-WHI022W - White 0.058298632 berat ringan ASUS A43SD-VX426D - Black 0 berat ringan TOSHIBA Satellite C600-1005U - Black 0.034693635 berat ringan ACER Aspire One 722 - Black 0.91604997 berat ringan ASUS Eee PC 1201T - Black 0.91604997 berat ringan HP ProBook 4230s (9PA 0.766805473 berat ringan ACER Aspire 4349-B812G50Mikk 0 berat ringan Asus Eeepc 1215B 0 berat ringan TOSHIBA Satellite C600-1014U - Black 0 berat ringan ASUS N43SM-VX012D 0 berat ringan Acer Aspire 4739-382G50Mn 0.010707912 berat ringan TOSHIBA NB520-1069Q - Turquoise 0.990672219 berat ringan ASUS A43SJ-VX401D - Red 0 berat ringan TOSHIBA Satellite C640-1085U - Black 0.058298632 55 Lampiran 3. Script query view beta CREATE VIEW dbo.beta ( variabel, himpunan, laptop_id, nama_laptop, miu ) AS --harga SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN ( b.harga <= a.alfa OR b.harga >= a.gamma) THEN 0 WHEN ( a.alfa <= b.harga and b.harga <= a.pusatY) THEN 1/(1+( ((b.harga-a.pusatY)/ a.betane)*((b.harga-a.pusatY)/ a.betane) )) WHEN ( a.pusatY <= b.harga AND b.harga <=a.gamma ) THEN ( 1/(1+ (((b.harga - a.pusatY)/ a.betane)*((b.harga - a.pusatY)/ a.betane)))) END FROM Himpunan a, M_laptop b WHERE (a.variabel = 'harga' AND a.himpunan ='sedang' AND a.fungsi ='beta') UNION --processor SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN ( b.processor <=a.alfa OR b.processor >=a.gamma) THEN 0 WHEN ( a.alfa <= b.processor and b.processor <= a.pusatY) THEN 1/(1+( ((b.processor-a.pusatY)/ a.betane)*((b.processor-a.pusatY)/ a.betane) )) WHEN ( a.pusatY <= b.processor AND b.processor <=a.gamma ) THEN ( 1/(1+ (((b.processor - a.pusatY)/ a.betane)*((b.processor - a.pusatY)/ a.betane)))) END FROM Himpunan a, M_laptop b WHERE (a.variabel = 'processor' AND a.himpunan ='sedang' AND a.fungsi ='beta') UNION --harddisk SELECT 56 a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN ( b.harddisk <= a.alfa OR b.harddisk >= a.gamma) THEN 0 WHEN ( a.alfa <= b.harddisk and b.harddisk <= a.pusatY) THEN 1/(1+( ((b.harddisk-a.pusatY)/ a.betane)*((b.harddisk-a.pusatY)/ a.betane) )) WHEN ( a.pusatY <= b.harddisk AND b.harddisk <=a.gamma ) THEN ( 1/(1+ (((b.harddisk - a.pusatY)/ a.betane)*((b.harddisk - a.pusatY)/ a.betane)))) END FROM Himpunan a, M_laptop b WHERE (a.variabel = 'harddisk' AND a.himpunan ='sedang' AND a.fungsi ='beta') UNION --memory SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN ( b.memory <= a.alfa OR b.memory >= a.gamma) THEN 0 WHEN ( a.alfa <= b.memory and b.memory <= a.pusatY) THEN 1/(1+( ((b.memory-a.pusatY)/ a.betane)*((b.memory-a.pusatY)/ a.betane) )) WHEN ( a.pusatY <= b.memory AND b.memory <=a.gamma ) THEN ( 1/(1+ (((b.memory - a.pusatY)/ a.betane)*((b.memory - a.pusatY)/ a.betane)))) END FROM Himpunan a, M_laptop b WHERE (a.variabel = 'memory' AND a.himpunan ='sedang' AND a.fungsi ='beta') UNION --lcd SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN ( b.lcd <= a.alfa OR b.lcd >= a.gamma) THEN 0 WHEN ( a.alfa <= b.lcd and b.lcd <= a.pusatY) THEN 1/(1+( ((b.lcd-a.pusatY)/ a.betane)*((b.lcd-a.pusatY)/ a.betane) )) WHEN ( a.pusatY <= b.lcd AND b.lcd <=a.gamma ) 57 THEN ( 1/(1+ (((b.lcd - a.pusatY)/ a.betane)*((b.lcd - a.pusatY)/ a.betane)))) END FROM Himpunan a, M_laptop b WHERE (a.variabel = 'lcd' AND a.himpunan ='sedang' AND a.fungsi ='beta') UNION --berat SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN (b.berat <= a.alfa OR b.berat >= a.gamma) THEN 0 WHEN ( a.alfa <= b.berat and b.berat <= a.pusatY) THEN 1/(1+( ((b.berat-a.pusatY)/ a.betane)*((b.berat-a.pusatY)/ a.betane) )) WHEN ( a.pusatY <= b.berat AND b.berat <=a.gamma ) THEN ( 1/(1+ (((b.berat - a.pusatY)/ a.betane)*((b.berat - a.pusatY)/ a.betane)))) END FROM Himpunan a, M_laptop b WHERE (a.variabel = 'berat' AND a.himpunan ='sedang' AND a.fungsi ='beta') Lampiran 4. Hasil Script query view beta variabel himpunan nama_laptop miu berat sedang DELL Inspiron 13z (Core i3-2330M) - Red 0.497566924 berat sedang ASUS A43SD-VX429D - White 0.906082232 berat sedang TOSHIBA NB520-1069B - Blue 0.223597891 berat sedang ACER Aspire 4755G-2432G64Mn 0.997626113 berat sedang ACER Aspire One D270 - Red 0.216484224 berat sedang Acer Aspire D270 Balloon 0.425918982 berat sedang ASUS Eee PC 1215B-BLK114W 0.278449561 berat sedang DELL Inspiron 13z (Core i3-2330M) - Black 0.497566924 berat sedang TOSHIBA Satellite L735-1128UR - Red 0.83840399 berat sedang ACER Aspire 4752-2332G50 - Brown 0.997626113 berat sedang ASUS Eee PC 1215B-SIV073W 0.278449561 berat sedang HP ProBook 4430s (8-3PA 0.999904828 berat sedang ACER Aspire 4752-2332G50 0.997626113 berat sedang ASUS A44H-VX184D - Black 0.906082232 berat sedang ASUS Eee PC 1215B - Black 0.89557805 berat sedang ASUS A43SD-VX428D - Red 0.906082232 berat sedang HP Pavilion G4-1318TX 0.89557805 berat sedang ACER Aspire 5951G-2634G75Bnkk 0 berat sedang ASUS Eee PC 1015BX-BLK067W 0 Lampiran 4 (Lanjutan) 58 variabel himpunan nama_laptop miu berat sedang ASUS K43U-VX070D - Black 0.713194739 berat sedang ASUS A43SJ-VX399D - Black 0.713194739 berat sedang ASUS 1225C-BLK024W - Black 0.278449561 berat sedang TOSHIBA Satellite L635-1065XB - Brow 0.83840399 berat sedang DELL XPS L15z (Core i7-2640M) 0.826271603 berat sedang ASUS A43E-VX596D - White 0.906082232 berat sedang DELL XPS L321X Ultrabook 0.238804189 berat sedang ACER Aspire One D270 - White 0.216484224 berat sedang TOSHIBA Satellite C600-1013U - Black 0.89557805 berat sedang ACER Aspire One D270 - Blue 0.216484224 berat sedang ACER Aspire One D270 - Red 0.216484224 berat sedang ASUS A43SM-VX034D 0.906082232 berat sedang AXIOO Neon CLW.3.522 0.801560205 berat sedang DELL Inspiron 4110 (Core i3-2330M 0.979033197 berat sedang ACER Aspire 4352-B812G32Mi - Brown 0.997626113 berat sedang DELL Inspiron 4110 (Core i5-2450M) 0.979033197 berat sedang HP ProBook 4431s (7PA 0.826271603 berat sedang ASUS A43SD-VX427D - Blue 0.906082232 berat sedang ASUS Eee PC 1025C-RED008W - Red 0 berat sedang ASUS A53SV-SX618D 0.713194739 berat sedang DELL Vostro 3450 (Core i5-2430M) - Silver 0.999904828 berat sedang ASUS A43SD-VX055D - White 0.906082232 berat sedang ASUS 1225C-WHI022W - White 0.89557805 berat sedang ASUS A43SD-VX426D - Black 0.906082232 berat sedang TOSHIBA Satellite C600-1005U - Black 0.935114928 berat sedang ACER Aspire One 722 - Black 0.283376376 berat sedang ASUS Eee PC 1201T - Black 0.283376376 berat sedang HP ProBook 4230s (9PA 0.365673265 berat sedang ACER Aspire 4349-B812G50Mikk 0.997626113 berat sedang Asus Eeepc 1215B 0.997626113 berat sedang TOSHIBA Satellite C600-1014U - Black 0.83840399 berat sedang ASUS N43SM-VX012D 0.943851769 berat sedang Acer Aspire 4739-382G50Mn 0.979033197 berat sedang TOSHIBA NB520-1069Q - Turquoise 0.223597891 berat sedang ASUS A43SJ-VX401D - Red 0.713194739 berat sedang TOSHIBA Satellite C640-1085U - Black 0.89557805 berat sedang ACER Aspire 4349-B812G32Mikk 0.943851769 berat sedang DELL XPS L502 0.592527318 berat sedang ACER Aspire 4352-B812G32Mi - Blue 0.997626113 berat sedang ACER Aspire 4352-B812G32Mi - Purple 0.997626113 berat sedang TOSHIBA Satellite L735-1128UB - Brown 0.83840399 berat sedang DELL Vostro 3350 (Core i5-2410M) 0.826271603 berat sedang DELL Vostro 3350 (Core i5-2450M) - Silver 0.943851769 berat sedang ACER Aspire One D270 - White 0.216484224 harddisk sedang DELL Inspiron 13z (Core i3-2330M) - Red 0.312922832 harddisk sedang ASUS A43SD-VX429D - White 0.999410271 59 Lampiran 5. Script query view pertumbuhan CREATE VIEW dbo.pertumbuhan ( variabel, himpunan, laptop_id, nama_laptop, miu ) AS --harga SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN ( b.harga <= a.alfa ) THEN 0 WHEN ( a.alfa <= b.harga AND b.harga <= a.beta) THEN 2*((b.harga - a.alfa)/(a.gamma - a.alfa)*(b.harga - a.alfa)/(a.gamma - a.alfa)) WHEN ( a.beta <= b.harga AND b.harga <= a.gamma) THEN 1-2*((a.gamma - b.harga)/(a.gamma - a.alfa)*(a.gamma - b.harga)/(a.gamma - a.alfa)) WHEN (b.harga >= a.gamma)THEN 1 END FROM Himpunan a, M_laptop b WHERE (a.variabel = 'harga' AND a.himpunan ='mahal' AND a.fungsi ='pertumbuhan') UNION --processor SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN ( b.processor <= a.alfa ) THEN 0 WHEN ( a.alfa <= b.processor AND b.processor <= a.beta) THEN 2*((b.processor - a.alfa)/(a.gamma - a.alfa)*(b.processor - a.alfa)/(a.gamma - a.alfa)) WHEN ( a.beta <= b.processor AND b.processor <= a.gamma) THEN 1-2*((a.gamma - b.processor)/(a.gamma - a.alfa)*(a.gamma - b.processor)/(a.gamma - a.alfa)) WHEN (b.processor >= a.gamma)THEN 1 END FROM Himpunan a, M_laptop b WHERE (a.variabel = 'processor' AND a.himpunan ='tinggi' AND a.fungsi ='pertumbuhan') UNION 60 --harddisk SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN ( b.harddisk <= a.alfa ) THEN 0 WHEN ( a.alfa <= b.harddisk AND b.harddisk <= a.beta) THEN 2*((b.harddisk - a.alfa)/(a.gamma - a.alfa)*(b.harddisk - a.alfa)/(a.gamma - a.alfa)) WHEN ( a.beta <= b.harddisk AND b.harddisk <= a.gamma) THEN 1-2*((a.gamma - b.harddisk)/(a.gamma - a.alfa)*(a.gamma - b.harddisk)/(a.gamma - a.alfa)) WHEN (b.harddisk >= a.gamma)THEN 1 END FROM Himpunan a, M_laptop b WHERE (a.variabel = 'harddisk' AND a.himpunan ='besar' AND a.fungsi ='pertumbuhan') UNION --memory SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN ( b.memory <= a.alfa ) THEN 0 WHEN ( a.alfa <= b.memory AND b.memory <= a.beta) THEN 2*((b.memory - a.alfa)/(a.gamma - a.alfa)*(b.memory - a.alfa)/(a.gamma - a.alfa)) WHEN ( a.beta <= b.memory AND b.memory <= a.gamma) THEN 1-2*((a.gamma - b.memory)/(a.gamma - a.alfa)*(a.gamma - b.memory)/(a.gamma - a.alfa)) WHEN (b.memory >= a.gamma)THEN 1 END FROM Himpunan a, M_laptop b WHERE (a.variabel = 'memory' AND a.himpunan ='besar' AND a.fungsi ='pertumbuhan') UNION --lcd SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN ( b.lcd <= a.alfa ) THEN 0 61 WHEN ( a.alfa <= b.lcd AND b.lcd <= a.beta) THEN 2*((b.lcd - a.alfa)/(a.gamma - a.alfa)*(b.lcd - a.alfa)/(a.gamma - a.alfa)) WHEN ( a.beta <= b.lcd AND b.lcd <= a.gamma) THEN 1-2*((a.gamma - b.lcd)/(a.gamma - a.alfa)*(a.gamma - b.lcd)/(a.gamma - a.alfa)) WHEN (b.lcd >= a.gamma)THEN 1 END FROM Himpunan a, M_laptop b WHERE (a.variabel = 'lcd' AND a.himpunan ='besar' AND a.fungsi ='pertumbuhan') UNION --berat SELECT a.variabel, a.himpunan, b.laptop_id, b.nama_laptop, miu= CASE WHEN ( b.berat <= a.alfa ) THEN 0 WHEN ( a.alfa <= b.berat AND b.berat <= a.beta) THEN 2*((b.berat - a.alfa)/(a.gamma - a.alfa)*(b.berat - a.alfa)/(a.gamma - a.alfa)) WHEN ( a.beta <= b.berat AND b.berat <= a.gamma) THEN 1-2*((a.gamma - b.berat)/(a.gamma - a.alfa)*(a.gamma - b.berat)/(a.gamma - a.alfa)) WHEN (b.berat >= a.gamma)THEN 1 END FROM Himpunan a, M_laptop b WHERE (a.variabel = 'berat' AND a.himpunan ='berat' AND a.fungsi ='pertumbuhan') Lampiran 6. Hasil script query view pertumbuhan variabel himpunan nama_laptop miu berat berat DELL Inspiron 13z (Core i3-2330M) - Red 0 berat berat ASUS A43SD-VX429D - White 0.051826294 berat berat TOSHIBA NB520-1069B - Blue 0 berat berat ACER Aspire 4755G-2432G64Mn 0.001189768 berat berat ACER Aspire One D270 - Red 0 berat berat Acer Aspire D270 Balloon 0.648019036 berat berat ASUS Eee PC 1215B-BLK114W 0 berat berat DELL Inspiron 13z (Core i3-2330M) - Black 0 berat berat TOSHIBA Satellite L735-1128UR - Red 0 berat berat ACER Aspire 4752-2332G50 - Brown 0 berat berat ASUS Eee PC 1215B-SIV073W 0 berat berat HP ProBook 4430s (8-3PA 0 berat berat ACER Aspire 4752-2332G50 0 berat berat ASUS A44H-VX184D - Black 0.051826294 62 Lampiran 6 (Lanjutan) variabel himpunan nama_laptop miu berat berat ASUS Eee PC 1215B - Black 0 berat berat ASUS A43SD-VX428D - Red 0.051826294 berat berat HP Pavilion G4-1318TX 0 berat berat ACER Aspire 5951G-2634G75Bnkk 1 berat berat ASUS Eee PC 1015BX-BLK067W 0 berat berat ASUS N46VM-V3036D - Black 0 berat berat ASUS K43U-VX070D - Black 0.201070791 berat berat ASUS A43SJ-VX399D - Black 0.201070791 berat berat ASUS 1225C-BLK024W - Black 0 berat berat TOSHIBA Satellite L635-1065XB - Brow 0 berat berat DELL XPS L15z (Core i7-2640M) 0.1051279 berat berat ASUS A43E-VX596D - White 0.051826294 berat berat DELL XPS L321X Ultrabook 0 berat berat ACER Aspire One D270 - White 0 berat berat TOSHIBA Satellite C600-1013U - Black 0 berat berat ACER Aspire One D270 - Blue 0 berat berat ACER Aspire One D270 - Red 0 berat berat ASUS A43SM-VX034D 0.051826294 berat berat AXIOO Neon CLW.3.522 0.123783462 berat berat DELL Inspiron 4110 (Core i3-2330M 0 berat berat ACER Aspire 4352-B812G32Mi - Brown 0 berat berat DELL Inspiron 4110 (Core i5-2450M) 0 berat berat HP ProBook 4431s (7PA 0 berat berat ASUS A43SD-VX427D - Blue 0.051826294 berat berat ASUS Eee PC 1025C-RED008W - Red 0 berat berat ASUS A53SV-SX618D 0.201070791 berat berat DELL Vostro 3450 (Core i5-2430M) - Silver 4.75907E-05 berat berat ASUS A43SD-VX055D - White 0.051826294 berat berat ASUS 1225C-WHI022W - White 0 berat berat ASUS A43SD-VX426D - Black 0.051826294 berat berat TOSHIBA Satellite C600-1005U - Black 0 berat berat ACER Aspire One 722 - Black 0 berat berat ASUS Eee PC 1201T - Black 0 berat berat HP ProBook 4230s (9PA 0 berat berat ACER Aspire 4349-B812G50Mikk 0.001189768 berat berat Asus Eeepc 1215B 0.001189768 berat berat TOSHIBA Satellite C600-1014U - Black 0.096371208 berat berat ASUS N43SM-VX012D 0.0297442 berat berat Acer Aspire 4739-382G50Mn 0 berat berat TOSHIBA NB520-1069Q - Turquoise 0 berat berat ASUS A43SJ-VX401D - Red 0.201070791 berat berat TOSHIBA Satellite C640-1085U - Black 0 berat berat ACER Aspire 4349-B812G32Mikk 0.0297442 berat berat DELL XPS L502 0.343842951 berat berat ACER Aspire 4352-B812G32Mi - Blue 0 63 Lampiran 7. Script query view vmiu CREATE VIEW dbo.vmiu ( variabel, himpunan, laptop_id, nama_laptop, miu ) AS select * from penyusutan union select * from beta union select * from pertumbuhan Lampiran 8.Tabel Hasil Script query view vmiu variabel himpunan nama_laptop miu berat berat DELL Inspiron 13z (Core i3-2330M) - Red 0 berat berat ASUS A43SD-VX429D - White 0.051826294 berat berat TOSHIBA NB520-1069B - Blue 0 berat berat ACER Aspire 4755G-2432G64Mn 0.001189768 berat berat ACER Aspire One D270 - Red 0 berat berat Acer Aspire D270 Balloon 0.648019036 berat berat ASUS Eee PC 1215B-BLK114W 0 berat berat DELL Inspiron 13z (Core i3-2330M) - Black 0 berat berat TOSHIBA Satellite L735-1128UR - Red 0 berat berat ACER Aspire 4752-2332G50 - Brown 0 berat berat ASUS Eee PC 1215B-SIV073W 0 berat berat HP ProBook 4430s (8-3PA 0 berat berat ACER Aspire 4752-2332G50 0 berat berat ASUS A44H-VX184D - Black 0.051826294 berat berat ASUS Eee PC 1215B - Black 0 berat berat ASUS A43SD-VX428D - Red 0.051826294 berat berat HP Pavilion G4-1318TX 0 berat berat ACER Aspire 5951G-2634G75Bnkk 1 berat berat ASUS Eee PC 1015BX-BLK067W 0 berat berat ASUS N46VM-V3036D - Black 0 berat berat ASUS K43U-VX070D - Black 0.201070791 berat berat ASUS A43SJ-VX399D - Black 0.201070791 berat berat ASUS 1225C-BLK024W - Black 0 berat berat TOSHIBA Satellite L635-1065XB - Brow 0 berat berat DELL XPS L15z (Core i7-2640M) 0.1051279 berat berat ASUS A43E-VX596D - White 0.051826294 berat berat DELL XPS L321X Ultrabook 0 berat berat ACER Aspire One D270 - White 0 berat berat TOSHIBA Satellite C600-1013U - Black 0 berat berat ACER Aspire One D270 - Blue 0 64 Lampiran 6 (Lanjutan) variabel himpunan nama_laptop miu berat berat ACER Aspire One D270 - Red 0 berat berat ASUS A43SM-VX034D 0.051826294 berat berat AXIOO Neon CLW.3.522 0.123783462 berat berat DELL Inspiron 4110 (Core i3-2330M 0 berat berat ACER Aspire 4352-B812G32Mi - Brown 0 berat berat DELL Inspiron 4110 (Core i5-2450M) 0 berat berat HP ProBook 4431s (7PA 0 berat berat ASUS A43SD-VX427D - Blue 0.051826294 berat berat ASUS Eee PC 1025C-RED008W - Red 0 berat berat ASUS A53SV-SX618D 0.201070791 berat berat DELL Vostro 3450 (Core i5-2430M) - Silver 4.75907E-05 berat berat ASUS A43SD-VX055D - White 0.051826294 berat berat ASUS 1225C-WHI022W - White 0 berat berat ASUS A43SD-VX426D - Black 0.051826294 berat berat TOSHIBA Satellite C600-1005U - Black 0 berat berat ACER Aspire One 722 - Black 0 berat berat ASUS Eee PC 1201T - Black 0 berat berat HP ProBook 4230s (9PA 0 berat berat ACER Aspire 4349-B812G50Mikk 0.001189768 berat berat Asus Eeepc 1215B 0.001189768 berat berat TOSHIBA Satellite C600-1014U - Black 0.096371208 berat berat ASUS N43SM-VX012D 0.0297442 berat berat Acer Aspire 4739-382G50Mn 0 berat berat TOSHIBA NB520-1069Q - Turquoise 0 berat berat ASUS A43SJ-VX401D - Red 0.201070791 berat berat TOSHIBA Satellite C640-1085U - Black 0 berat berat ACER Aspire 4349-B812G32Mikk 0.0297442 berat berat DELL XPS L502 0.343842951 berat berat ACER Aspire 4352-B812G32Mi - Blue 0 berat berat ACER Aspire 4352-B812G32Mi - Purple 0 berat berat TOSHIBA Satellite L735-1128UB - Brown 0 berat berat DELL Vostro 3350 (Core i5-2410M) 0 berat berat DELL Vostro 3350 (Core i5-2450M) - Silver 0.0297442 berat berat ACER Aspire One D270 - White 0 berat ringan DELL Inspiron 13z (Core i3-2330M) - Red 0.504866151 berat ringan ASUS A43SD-VX429D - White 0 berat ringan TOSHIBA NB520-1069B - Blue 0.990672219 berat ringan ACER Aspire 4755G-2432G64Mn 0 berat ringan ACER Aspire One D270 - Red 0.995240928 berat ringan Acer Aspire D270 Balloon 0 berat ringan ASUS Eee PC 1215B-BLK114W 0.923854848 berat ringan DELL Inspiron 13z (Core i3-2330M) - Black 0.504866151 berat ringan TOSHIBA Satellite L735-1128UR - Red 0.096371208 65 Lampiran 9. Script query view miudetail CREATE VIEW dbo.miudetail AS SELECT laptop_id, nama_laptop, --harga sum(harga_murah)as harga_murah , sum(harga_sedang)as harga_sedang, sum(harga_mahal)as harga_mahal, --processor sum(processor_rendah)as processor_rendah, sum(processor_sedang)as processor_sedang, sum(processor_tinggi)as processor_tinggi, --harddisk sum(harddisk_kecil)as harddisk_kecil, sum(harddisk_sedang)as harddisk_sedang, sum(harddisk_besar)as harddisk_besar, --memory sum(memory_kecil)as memory_kecil, sum(memory_sedang)as memory_sedang, sum(memory_besar)as memory_besar, --berat sum(berat_ringan)as berat_ringan , sum(berat_sedang)as berat_sedang, sum(berat_berat)as berat_berat, --lcd sum(lcd_kecil)as lcd_kecil, sum(lcd_sedang)as lcd_sedang, sum(lcd_besar)as lcd_besar FROM ( --harga murah- SELECT a.laptop_id, a.nama_laptop, --harga a.miu as harga_murah, 0 as harga_sedang, 0 as harga_mahal, --processor 0 as processor_rendah, 0 as processor_sedang, 0 as processor_tinggi, --harddisk 0 as harddisk_kecil, 0 as harddisk_sedang, 0 as harddisk_besar, --memory 0 as memory_kecil, 0 as memory_sedang, 0 as memory_besar, --berat 0 as berat_ringan, 66 0 as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='harga' and a.himpunan='murah') --harga sedang UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, a.miu harga_sedang, 0 as harga_mahal, --processor 0 as processor_rendah, 0 as processor_sedang, 0 as processor_tinggi, --harddisk 0 as harddisk_kecil, 0 as harddisk_sedang, 0 as harddisk_besar, --memory 0 as memory_kecil, 0 as memory_sedang, 0 as memory_besar, --berat 0 as berat_ringan, 0 as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='harga' and a.himpunan='sedang') --harga mahal UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, a.miu as harga_mahal, --processor 0 as processor_rendah, 0 as processor_sedang, 0 as processor_tinggi, --harddisk 67 0 as harddisk_kecil, 0 as harddisk_sedang, 0 as harddisk_besar, --memory 0 as memory_kecil, 0 as memory_sedang, 0 as memory_besar, --berat 0 as berat_ringan, 0 as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='harga' and a.himpunan='mahal') --processor rendah UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor a.miu as processor_rendah, 0 as processor_sedang, 0 as processor_tinggi, --harddisk 0 as harddisk_kecil, 0 as harddisk_sedang, 0 as harddisk_besar, --memory 0 as memory_kecil, 0 as memory_sedang, 0 as memory_besar, --berat 0 as berat_ringan, 0 as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='processor' and a.himpunan = 'rendah') --processor sedang UNION SELECT a.laptop_id, a.nama_laptop, 68 --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, a.miu as processor_sedang, 0 as processor_tinggi, --harddisk 0 as harddisk_kecil, 0 as harddisk_sedang, 0 as harddisk_besar, --memory 0 as memory_kecil, 0 as memory_sedang, 0 as memory_besar, --berat 0 as berat_ringan, 0 as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='processor' and a.himpunan='sedang') --processor tinggi UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, 0 processor_sedang, a.miu as processor_tinggi, --harddisk 0 as harddisk_kecil, 0 as harddisk_sedang, 0 as harddisk_besar, --memory 0 as memory_kecil, 0 as memory_sedang, 0 as memory_besar, --berat 0 as berat_ringan, 0 as berat_sedang, 0 as berat_berat, --lcd 69 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='processor' and a.himpunan='tinggi') --harddisk kecil UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, 0 processor_sedang, 0 processor_tinggi, --harddisk a.miu as harddisk_kecil, 0 as harddisk_sedang, 0 as harddisk_besar, --memory 0 as memory_kecil, 0 as memory_sedang, 0 as memory_besar, --berat 0 as berat_ringan, 0 as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='harddisk' and a.himpunan='kecil') --harddisk sedang UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, 0 processor_sedang, 0 processor_tinggi, --harddisk 0 harddisk_kecil, a.miu as harddisk_sedang, 0 as harddisk_besar, 70 --memory 0 as memory_kecil, 0 as memory_sedang, 0 as memory_besar, --berat 0 as berat_ringan, 0 as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='harddisk' and a.himpunan='sedang') --harddisk besar UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, 0 processor_sedang, 0 processor_tinggi, --harddisk 0 harddisk_kecil, 0 harddisk_sedang, a.miu as harddisk_besar, --memory 0 as memory_kecil, 0 as memory_sedang, 0 as memory_besar, --berat 0 as berat_ringan, 0 as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='harddisk' and a.himpunan='besar') --memory kecil UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 71 0 harga_mahal, --processor 0 processor_rendah, 0 processor_sedang, 0 processor_tinggi, --harddisk 0 harddisk_kecil, 0 harddisk_sedang, 0 harddisk_besar, --memory a.miu as memory_kecil, 0 as memory_sedang, 0 as memory_besar, --berat 0 as berat_ringan, 0 as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='memory' and a.himpunan='kecil') --memory sedang UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, 0 processor_sedang, 0 processor_tinggi, --harddisk 0 harddisk_kecil, 0 harddisk_sedang, 0 harddisk_besar, --memory 0 memory_kecil, a.miu as memory_sedang, 0 as memory_besar, --berat 0 as berat_ringan, 0 as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar 72 FROM vmiu a where (a.variabel='memory' and a.himpunan='sedang') --memory besar UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, 0 processor_sedang, 0 processor_tinggi, --harddisk 0 harddisk_kecil, 0 harddisk_sedang, 0 harddisk_besar, --memory 0 memory_kecil, 0 memory_sedang, a.miu as memory_besar, --berat 0 as berat_ringan, 0 as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='memory' and a.himpunan='besar') -- berat ringan UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, 0 processor_sedang, 0 processor_tinggi, --harddisk 0 harddisk_kecil, 0 harddisk_sedang, 0 harddisk_besar, --memory 0 memory_kecil, 0 memory_sedang, 73 0 memory_besar, --berat a.miu as berat_ringan, 0 as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='berat' and a.himpunan='ringan') -- berat sedang UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, 0 processor_sedang, 0 processor_tinggi, --harddisk 0 harddisk_kecil, 0 harddisk_sedang, 0 harddisk_besar, --memory 0 memory_kecil, 0 memory_sedang, 0 memory_besar, --berat 0 berat_ringan, a.miu as berat_sedang, 0 as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='berat' and a.himpunan='sedang') -- berat berat UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, 74 0 processor_sedang, 0 processor_tinggi, --harddisk 0 harddisk_kecil, 0 harddisk_sedang, 0 harddisk_besar, --memory 0 memory_kecil, 0 memory_sedang, 0 memory_besar, --berat 0 berat_ringan, 0 berat_sedang, a.miu as berat_berat, --lcd 0 as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='berat' and a.himpunan='berat') --lcd kecil UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, 0 processor_sedang, 0 processor_tinggi, --harddisk 0 harddisk_kecil, 0 harddisk_sedang, 0 harddisk_besar, --memory 0 memory_kecil, 0 memory_sedang, 0 memory_besar, --berat 0 berat_ringan, 0 berat_sedang, 0 berat_berat, --lcd a.miu as lcd_kecil, 0 as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='lcd' and a.himpunan='kecil') --lcd sedang UNION 75 SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, 0 processor_sedang, 0 processor_tinggi, --harddisk 0 harddisk_kecil, 0 harddisk_sedang, 0 harddisk_besar, --memory 0 memory_kecil, 0 memory_sedang, 0 memory_besar, --berat 0 berat_ringan, 0 berat_sedang, 0 berat_berat, --lcd 0 lcd_kecil, a.miu as lcd_sedang, 0 as lcd_besar FROM vmiu a where (a.variabel='lcd' and a.himpunan='sedang') --lcd besar UNION SELECT a.laptop_id, a.nama_laptop, --harga 0 harga_murah, 0 harga_sedang, 0 harga_mahal, --processor 0 processor_rendah, 0 processor_sedang, 0 processor_tinggi, --harddisk 0 harddisk_kecil, 0 harddisk_sedang, 0 harddisk_besar, --memory 0 memory_kecil, 0 memory_sedang, 0 memory_besar, --berat 0 berat_ringan, 0 berat_sedang, 0 berat_berat, 76 --lcd 0 lcd_kecil, 0 lcd_sedang, a.miu as lcd_besar FROM vmiu a where (a.variabel='lcd' and a.himpunan='besar') ) AS D group by laptop_id,nama_laptop Lampiran 10. Hasil script query view miudetail nama_laptop harga_murah harga_sedang harga_mahal processor_rendah processor_sedang processor_tinggi harddisk_kecil harddisk_sedang harddisk_besar memory_kecil memory_sedang memory_besar berat_ringan berat_sedang berat_berat lcd_kecil lcd_sedang lcd_besar DELL Inspiron 13z (Core i3-2330M) - Red 0.46 0.52 0.00 0.00 0.69 0.22 0.87 0.31 0.00 0.04 0.92 0.00 0.50 0.50 0.00 0.00 0.90 0.05 ASUS A43SD-VX429D - White 0.69 0.41 0.00 0.00 0.56 0.40 0.00 1.00 0.00 0.84 0.33 0.00 0.00 0.91 0.05 0.00 0.59 0.35 TOSHIBA NB520-1069B - Blue 0.97 0.25 0.00 0.00 0.99 0.00 0.87 0.31 0.00 0.84 0.33 0.00 0.99 0.22 0.00 1.00 0.00 0.00 ACER Aspire 4755G-2432G64Mn 0.15 0.77 0.00 0.00 0.36 0.78 0.00 0.45 0.60 0.04 0.92 0.00 0.00 1.00 0.00 0.00 0.59 0.35 ACER Aspire One D270 - Red 1.00 0.20 0.00 0.22 0.69 0.00 0.87 0.31 0.00 0.84 0.33 0.00 1.00 0.22 0.00 1.00 0.00 0.00 Acer Aspire D270 Balloon 1.00 0.20 0.00 0.14 0.78 0.00 0.87 0.31 0.00 0.84 0.33 0.00 0.00 0.43 0.65 1.00 0.00 0.00 ASUS Eee PC 1215B-BLK114W 0.97 0.24 0.00 0.15 0.76 0.00 0.87 0.31 0.00 0.84 0.33 0.00 0.92 0.28 0.00 0.15 0.77 0.00 DELL Inspiron 13z (Core i3-2330M) - Black 0.46 0.52 0.00 0.00 0.69 0.22 0.87 0.31 0.00 0.04 0.92 0.00 0.50 0.50 0.00 0.00 0.90 0.05 TOSHIBA Satellite L735-1128UR - Red 0.57 0.47 0.00 0.00 0.56 0.40 0.00 0.45 0.60 0.84 0.33 0.00 0.10 0.84 0.00 0.00 0.90 0.05 ACER Aspire 4752-2332G50 - Brown 0.72 0.39 0.00 0.00 0.69 0.22 0.00 1.00 0.00 0.84 0.33 0.00 0.00 1.00 0.00 0.00 0.59 0.35 ASUS Eee PC 1215B-SIV073W 0.97 0.24 0.00 0.15 0.76 0.00 0.87 0.31 0.00 0.84 0.33 0.00 0.92 0.28 0.00 0.15 0.77 0.00 HP ProBook 4430s (8-3PA 0.72 0.39 0.00 0.00 0.69 0.22 0.00 1.00 0.00 0.84 0.33 0.00 0.00 1.00 0.00 0.00 0.59 0.35 ACER Aspire 4752-2332G50 0.84 0.33 0.00 0.00 0.69 0.22 0.00 1.00 0.00 0.84 0.33 0.00 0.00 1.00 0.00 0.00 0.59 0.35 ASUS Eee PC 1215B - Black 0.98 0.24 0.00 0.22 0.69 0.00 0.87 0.31 0.00 0.84 0.33 0.00 0.06 0.90 0.00 0.15 0.77 0.00 ASUS A44H-VX184D - Black 0.87 0.31 0.00 0.00 0.56 0.40 0.87 0.31 0.00 0.84 0.33 0.00 0.00 0.91 0.05 0.00 0.59 0.35 77 Lampiran 10 (Lanjutan) nama_laptop harga_murah harga_sedang harga_mahal processor_rendah processor_sedang processor_tinggi harddisk_kecil harddisk_sedang harddisk_besar memory_kecil memory_sedang memory_besar berat_ringan berat_sedang berat_berat lcd_kecil lcd_sedang lcd_besar HP Pavilion G4-1318TX 0.33 0.60 0.00 0.00 0.56 0.40 0.00 0.00 1.00 0.04 0.92 0.00 0.06 0.90 0.00 0.00 0.59 0.35 ACER Aspire 5951G-2634G75Bnkk 0.00 0.33 0.84 0.00 0.95 0.02 0.00 0.45 0.60 0.04 0.92 0.00 0.00 0.00 1.00 0.00 0.00 1.00 ASUS Eee PC 1015BX-BLK067W 1.00 0.00 0.00 1.00 0.00 0.00 0.87 0.31 0.00 0.84 0.33 0.00 1.00 0.00 0.00 1.00 0.00 0.00 ASUS N46VM-V3036D - Black 0.00 0.99 0.00 0.00 0.56 0.40 0.00 0.00 1.00 0.04 0.92 0.00 0.01 0.98 0.00 0.00 0.59 0.35 ASUS K43U-VX070D - Black 0.97 0.24 0.00 0.15 0.76 0.00 0.87 0.31 0.00 0.84 0.33 0.00 0.00 0.71 0.20 0.00 0.59 0.35 ASUS A43SJ-VX399D - Black 0.73 0.38 0.00 0.00 0.69 0.22 0.00 1.00 0.00 0.84 0.33 0.00 0.00 0.71 0.20 0.00 0.59 0.35 ASUS 1225C-BLK024W - Black 0.99 0.22 0.00 0.00 0.99 0.00 0.87 0.31 0.00 0.84 0.33 0.00 0.92 0.28 0.00 0.41 0.55 0.00 TOSHIBA Satellite L635-1065XB - Brow 0.00 0.99 0.00 0.00 0.34 0.82 0.00 1.00 0.00 0.84 0.33 0.00 0.10 0.84 0.00 0.00 0.90 0.05 DELL XPS L15z (Core i7-2640M) 0.00 0.00 1.00 0.00 0.00 1.00 0.00 0.00 1.00 0.00 0.00 1.00 0.00 0.83 0.11 0.00 0.00 1.00 ASUS A43E-VX596D - White 0.92 0.28 0.00 0.00 0.69 0.22 0.87 0.31 0.00 0.84 0.33 0.00 0.00 0.91 0.05 0.00 0.59 0.35 DELL XPS L321X Ultrabook 0.00 0.24 0.98 0.22 0.69 0.00 1.00 0.00 0.00 0.04 0.92 0.00 0.98 0.24 0.00 0.00 0.90 0.05 ACER Aspire One D270 - White 0.99 0.22 0.00 0.22 0.69 0.00 0.87 0.31 0.00 0.84 0.33 0.00 1.00 0.22 0.00 1.00 0.00 0.00 TOSHIBA Satellite C600-1013U - Black 0.87 0.31 0.00 0.00 0.61 0.32 0.87 0.31 0.00 0.84 0.33 0.00 0.06 0.90 0.00 0.00 0.59 0.35 ACER Aspire One D270 - Blue 0.99 0.22 0.00 0.22 0.69 0.00 0.87 0.31 0.00 0.84 0.33 0.00 1.00 0.22 0.00 1.00 0.00 0.00 ACER Aspire One D270 - Red 0.99 0.22 0.00 0.22 0.69 0.00 0.87 0.31 0.00 0.84 0.33 0.00 1.00 0.22 0.00 1.00 0.00 0.00 ASUS A43SM-VX034D 0.33 0.60 0.00 0.00 0.36 0.78 0.00 1.00 0.00 0.04 0.92 0.00 0.00 0.91 0.05 0.00 0.59 0.35 AXIOO Neon CLW.3.522 0.81 0.35 0.00 0.00 0.84 0.10 0.87 0.31 0.00 0.84 0.33 0.00 0.00 0.80 0.12 0.00 0.99 0.01 78 Lampiran 11. Script query procedure AND CREATE PROCEDURE [dbo].[sp_laptop_and] ( @harga varchar (100), @processor varchar (100), @harddisk varchar (100), @memory varchar (100), @lcd varchar (100), @berat varchar (100) ) AS BEGIN /* Procedure body */ SELECT A.laptop_id, A.nama_laptop, b.jenis_id, b.merek_id, A.nilai FROM ( SELECT D.laptop_id, D.nama_laptop, MIN (D.miu) as nilai FROM (SELECT a.laptop_id, a.nama_laptop, miu = CASE (@harga) WHEN 'harga_murah' THEN a.harga_murah WHEN 'harga_sedang' THEN a.harga_sedang WHEN 'harga_mahal' THEN a.harga_mahal END FROM miudetail a UNION SELECT a.laptop_id, a.nama_laptop, miu = CASE (@processor) WHEN 'processor_rendah' THEN a.processor_rendah WHEN 'processor_sedang' THEN a.processor_sedang WHEN 'processor_tinggi' THEN a.processor_tinggi END FROM miudetail a UNION SELECT a.laptop_id, a.nama_laptop, 79 miu = CASE (@harddisk) WHEN 'harddisk_kecil' THEN a.harddisk_kecil WHEN 'harddisk_sedang' THEN a.harddisk_sedang WHEN 'harddisk_besar' THEN a.harddisk_besar END FROM miudetail a UNION SELECT a.laptop_id, a.nama_laptop, miu = CASE (@memory) WHEN 'memory_kecil' THEN a.memory_kecil WHEN 'memory_sedang' THEN a.memory_sedang WHEN 'memory_besar' THEN a.memory_besar END FROM miudetail a UNION SELECT a.laptop_id, a.nama_laptop, miu = CASE (@lcd) WHEN 'lcd_kecil' THEN a.lcd_kecil WHEN 'lcd_sedang' THEN a.lcd_sedang WHEN 'lcd_besar' THEN a.lcd_besar END FROM miudetail a UNION SELECT a.laptop_id, a.nama_laptop, miu = CASE (@berat) WHEN 'berat_ringan' THEN a.berat_ringan WHEN 'berat_sedang' THEN a.berat_sedang WHEN 'berat_berat' THEN a.berat_berat END FROM miudetail a ) as D GROUP BY D.laptop_id, D.nama_laptop) as A LEFT JOIN M_Laptop b on A.laptop_id = b.laptop_id WHERE A.nilai <> 0 END 80 Lampiran 12. Script query procedure OR CREATE PROCEDURE dbo.sp_laptop_or ( @harga varchar (100), @processor varchar (100), @harddisk varchar (100), @memory varchar (100), @lcd varchar (100), @berat varchar (100) ) AS BEGIN /* Procedure body */ SELECT A.laptop_id, A.nama_laptop, b.jenis_id, b.merek_id, A.nilai FROM ( SELECT D.laptop_id, D.nama_laptop, MAX (D.miu) as nilai FROM (SELECT a.laptop_id, a.nama_laptop, miu = CASE (@harga) WHEN 'harga_murah' THEN a.harga_murah WHEN 'harga_sedang' THEN a.harga_sedang WHEN 'harga_mahal' THEN a.harga_mahal END FROM miudetail a UNION SELECT a.laptop_id, a.nama_laptop, miu = CASE (@processor) WHEN 'processor_rendah' THEN a.processor_rendah WHEN 'processor_sedang' THEN a.processor_sedang WHEN 'processor_tinggi' THEN a.processor_tinggi END FROM miudetail a UNION SELECT a.laptop_id, a.nama_laptop, 81 miu = CASE (@harddisk) WHEN 'harddisk_kecil' THEN a.harddisk_kecil WHEN 'harddisk_sedang' THEN a.harddisk_sedang WHEN 'harddisk_besar' THEN a.harddisk_besar END FROM miudetail a UNION SELECT a.laptop_id, a.nama_laptop, miu = CASE (@memory) WHEN 'memory_kecil' THEN a.memory_kecil WHEN 'memory_sedang' THEN a.memory_sedang WHEN 'memory_besar' THEN a.memory_besar END FROM miudetail a UNION SELECT a.laptop_id, a.nama_laptop, miu = CASE (@lcd) WHEN 'lcd_kecil' THEN a.lcd_kecil WHEN 'lcd_sedang' THEN a.lcd_sedang WHEN 'lcd_besar' THEN a.lcd_besar END FROM miudetail a UNION SELECT a.laptop_id, a.nama_laptop, miu = CASE (@berat) WHEN 'berat_ringan' THEN a.berat_ringan WHEN 'berat_sedang' THEN a.berat_sedang WHEN 'berat_berat' THEN a.berat_berat END FROM miudetail a ) as D GROUP BY D.laptop_id, D.nama_laptop) as A LEFT JOIN M_Laptop b on A.laptop_id = b.laptop_id WHERE A.nilai <> 0 END 82 |
Senin, 28 Mei 2012
database fuzzy
Langganan:
Posting Komentar (Atom)
Bisa minta filenya gan???
BalasHapusBuat Referensi TA ane,,
Kirim ke email ane ya ayiexz22@gmail.com
makasih gan
boleh minta juga ga.... heruwidiyanto04@gmail.com ... lagi pusing tentang tahani neh
BalasHapus