Perancangan Database Perancangan Database

1. Judul atau nama dari perangkat lunak. 2. Link atau navigasi yang mengarah ke halaman produk halaman utama. 3. Link atau navigasi yang mengarah ke halaman rekomendasi. Halaman rekomendasi merupakan halaman yang berisi list semua rekomendasi beserta nilai-nilai prediksi dan similiarity yang menyebabkan produk tersebut direkomendasikan. 4. Link atau navigasi yang mengarah ke luar sistem 5. Judul dari halaman pada saat itu. 6. Kolom berisi id produk yang direkomendasikan. 7. Hasil aggregasi terhadap masing-masing prediksi rating 8. Prediksi rating untuk kriteria pertama. 9. Prediksi rating untuk kriteria pertama. 10. Prediksi rating untuk kriteria pertama. 11. Prediksi rating untuk kriteria pertama. 12. Metode Rekomendasi yang digunakan untuk menghasilkan prediksi rating tersebut. 13. Rincian penjelasan bagaimana prediksi rating dihitung.

3.6. Perancangan Database

3.6.1. Perancangan Database

Berikut ini merupakan rancangan database Sistem Rekomendasi Software Antivirus. A. Tabel user Berikut ini adalah rancangan dari tabel user. user PK user_id INTEGER username VARCHAR100 password VARCHAR100 full_name VARCHAR100 level VARCHAR10 Gambar 3.26 Rancangan Tabel user Tabel user berfungsi sebagai tempat untuk menyimpan data pengguna. Tabel user memiliki lima attribut, dengan rincian sebagai berikut. Universitas Sumatera Utara 1. user_id, merupakan sebuah attribut yang berfungsi sebagai primary key dari tabel user. Attribut ini bertipe integer dan auto increment. 2. username, merupakan sebuah attribut yang berfungsi menyimpan username pengguna. Attribut ini bertipe varchar. 3. password, merupakan sebuah attribut yang berfungsi menyimpan password pengguna. Attribut ini bertipe varchar. 4. full_name, merupakan sebuah attribut yang berfungsi menyimpan nama lengkap pengguna. Attribut ini bertipe varchar. 5. level, merupakan sebuah attribut yang berfungsi menyimpan level akses pengguna. Attribut ini bertipe char. B. Tabel rating Berikut ini adalah rancangan dari tabel rating. rating PK rating_id INTEGER product_id INTEGER user_id INTEGER 1_rating INTEGER 2_rating INTEGER 3_rating INTEGER 4_rating INTEGER avg_rating DECIMAL10,2 Gambar 3.27 Rancangan Tabel rating Tabel rating berfungsi sebagai tempat menyimpan rating yang diberikan seorang pengguna terhadap sebuah produk. Tabel rating memiliki 8 attribut, dengan rincian sebagai berikut. 1. rating_id, merupakan sebuah attribut yang berfungsi sebagai primary key dari tabel rating. Attribut ini bertipe integer dan auto increment. 2. product_id, merupakan sebuah attribut yang berfungsi menyimpan product_id yang merupakan id yang mewakili satu buah produk. Attribut ini bertipe integer. 3. user_id, merupakan sebuah attribut yang berfungsi menyimpan user_id yang merupakan id yang mewakili satu orang pengguna. Attribut ini bertipe integer. 4. 1_rating, merupakan sebuah attribut yang berfungsi menyimpan rating untuk kriteria pertama yang diberikan oleh pengguna terhadap suatu produk satu buah Universitas Sumatera Utara produk memiliki empat buah kriteria untuk diberi rating. Attribut ini bertipe integer. 5. 2_rating, merupakan sebuah attribut yang berfungsi menyimpan rating untuk kriteria kedua yang diberikan oleh pengguna terhadap suatu produk satu buah produk memiliki empat buah kriteria untuk diberi rating. Attribut ini bertipe integer. 6. 3_rating, merupakan sebuah attribut yang berfungsi menyimpan rating untuk kriteria ketiga yang diberikan oleh pengguna terhadap suatu produk satu buah produk memiliki empat buah kriteria untuk diberi rating. Attribut ini bertipe integer. 7. 4_rating, merupakan sebuah attribut yang berfungsi menyimpan rating untuk kriteria keempat yang diberikan oleh pengguna terhadap suatu produk satu buah produk memiliki empat buah kriteria untuk diberi rating. Attribut ini bertipe integer. 8. avg_rating, merupakan sebuah attribut yang berfungsi menyimpan rating rata-rata yang diberikan oleh pengguna terhadap suatu produk hasil dari perhitungan rata- rata keempat kriteria rating. Attribut ini bertipe decimal. C. Tabel product product PK product_id INTEGER brand_id INTEGER title VARCHAR100 price DECIMAL10,2 year DATETIME period CHAR10 image_link CHAR10 avg_ovr_rating DECIMAL10,2 avg_1_rating DECIMAL10,2 avg_2_rating DECIMAL10,2 avg_3_rating DECIMAL10,2 avg_4_rating DECIMAL10,2 tot_ratings INTEGER Gambar 3.28 Rancangan Tabel product Tabel rating berfungsi sebagai tempat menyimpan produk antivirus. Tabel product memiliki 16 attribut, dengan rincian sebagai berikut. Universitas Sumatera Utara 1. product_id, merupakan sebuah attribut yang berfungsi sebagai primary key dari tabel product. Attribut ini bertipe integer dan auto increment. 2. title, merupakan sebuah attribut yang berfungsi menyimpan nama produk. Attribut ini bertipe varchar. 3. brand_id, merupakan sebuah attribut yang berfungsi menyimpan brand_id yang merupakan id suatu brand atau yang mewakili satu brand. Attribut ini bertipe integer. 4. price, merupakan sebuah attribut yang berfungsi untuk menyimpan harga dalam dollar suatu produk. Attribut ini bertipe integer. 5. year, merupakan sebuah attribut yang berfungsi menyimpan tahun rilis suatu produk. 6. period, merupakan sebuah attribut yang berfungsi menyimpan lama lisensi suatu produk. 7. image_link, merupakan sebuah attribut yang berfungsi menyimpan link gambar suatu produk. Attribut ini bertipe varchar. 8. avg_ovr_rating, merupakan sebuah attribut yang berfungsi menyimpan rating rata- rata dari semua rating rata-rata yang diberikan oleh semua pengguna terhadap produk tersebut. Attribut ini bertipe decimal. 9. avg_1_rating, merupakan sebuah attribut yang berfungsi menyimpan rating rata- rata dari semua rating kriteria pertama yang diberikan oleh semua pengguna terhadap produk tersebut. Attribut ini bertipe decimal. 10. avg_2_rating, merupakan sebuah attribut yang berfungsi menyimpan rating rata- rata dari semua rating kriteria kedua yang diberikan oleh semua pengguna terhadap produk tersebut. Attribut ini bertipe decimal. 11. avg_3_rating, merupakan sebuah attribut yang berfungsi menyimpan rating rata- rata dari semua rating kriteria ketiga yang diberikan oleh semua pengguna terhadap produk tersebut. Attribut ini bertipe decimal. 12. avg_4_rating, merupakan sebuah attribut yang berfungsi menyimpan rating rata- rata dari semua rating kriteria keempat yang diberikan oleh semua pengguna terhadap produk tersebut. Attribut ini bertipe decimal. 13. tot_rating, merupakan sebuah attribut yang berfungsi menyimpan jumlah pengguna yang pernah memberikan rating terhadap produk tersebut. Attribut ini bertipe integer. Universitas Sumatera Utara D. Tabel brands brands PK brand_id INTEGER brand_name VARCHAR10 Gambar 3.29 Rancangan Tabel brands Tabel brands berfungsi sebagai tempat menyimpan brand yang ada, seperti Microsoft, Kaspersky, Malwarebytes, Norton, dll. Tabel brands memiliki 2 attribut, dengan rincian sebagai berikut. 1. brand_id, merupakan sebuah attribut yang berfungsi sebagai primary key dari tabel brands. Attribut ini bertipe integer dan auto increment. 2. brand_name, merupakan sebuah attribut yang berfungsi menyimpan nama sebuah brand. Attribut ini bertipe varchar. E. Tabel features features PK feature_id INTEGER feature_name VARCHAR100 Gambar 3.30 Rancangan Tabel features Tabel features berfungsi sebagai tempat menyimpan fitur-fitur yang ada. Tabel features memiliki 2 attribut, dengan rincian sebagai berikut. 1. feature_id, merupakan sebuah attribut yang berfungsi sebagai primary key dari tabel features. Attribut ini bertipe integer dan auto increment. 2. feature_name, merupakan sebuah attribut yang berfungsi menyimpan nama sebuah fitur. Attribut ini bertipe varchar. F. Tabel product_feature Universitas Sumatera Utara product_feature PK product_feature_id INTEGER feature_id INTEGER product_id INTEGER Gambar 3.31 Rancangan Tabel product_feature Tabel product_feature berfungsi sebagai penghubung antara tabel product dengan tabel features. Satu buah antivirus dapat memiliki beberapa fitur sekaligus, seperti Anti Virus, Internet Security, Parental Control, dll. Tabel product_feature memiliki 3 attribut, dengan rincian sebagai berikut. 1. product_feature_id, merupakan sebuah attribut yang berfungsi sebagai primary key dari tabel product_feature. Attribut ini bertipe integer dan auto increment. 2. feature_id, merupakan sebuah attribut yang berfungsi menyimpan id fitur. Attribut ini bertipe integer. 3. product_id, merupakan sebuah attribut yang berfungsi menyimpan id produk. Attribut ini bertipe integer. G. Tabel os os PK os_id INTEGER os_name VARCHAR100 Gambar 3.32 Rancangan Tabel os Tabel os berfungsi sebagai tempat menyimpan sistem operasi. Tabel os memiliki 2 attribut, dengan rincian sebagai berikut. 1. os_id, merupakan sebuah attribut yang berfungsi sebagai primary key dari tabel os. Attribut ini bertipe integer dan auto increment. 2. os_name, merupakan sebuah attribut yang berfungsi menyimpan nama sistem operasi. Attribut ini bertipe varchar. H. Tabel osver Universitas Sumatera Utara osver PK osver_id INTEGER osver_name VARCHAR100 os_id INTEGER Gambar 3.33 Rancangan Tabel osver Tabel osver berfungsi sebagai tempat menyimpan versi sistem operasi. Satu buah sistem operasi dapat memiliki banyak versi, seperti Windows, yang memiliki versi Vista, 7, dan 8. Tabel osver memiliki 3 attribut, dengan rincian sebagai berikut. 1. osver_id, merupakan sebuah attribut yang berfungsi sebagai primary key dari tabel osver. Attribut ini bertipe integer dan auto increment. 2. osver_name, merupakan sebuah attribut yang berfungsi menyimpan nama versi sistem operasi. Attribut ini bertipe varchar. 3. os_id, merupakan sebuah attribut yang berfungsi menyimpan id sistem operasi, yang menghubungkan dengan tabel os. Attribut ini bertipe integer. I. Tabel product_platform product_platform PK product_platform_id INTEGER osver_id INTEGER product_id INTEGER Gambar 3.34 Rancangan Tabel product_platform Tabel product_platform berfungsi sebagai penghubung antara tabel product dengan tabel osver. Satu buah antivirus dapat compatible untuk beberapa platform sekaligus. Tabel product_platform memiliki 3 attribut, dengan rincian sebagai berikut. 1. product_platform_id, merupakan sebuah attribut yang berfungsi sebagai primary key dari tabel product_platform. Attribut ini bertipe integer dan auto increment. 2. osver_id, merupakan sebuah attribut yang berfungsi menyimpan id osver. Attribut ini bertipe integer. 3. product_id, merupakan sebuah attribut yang berfungsi menyimpan id produk. Attribut ini bertipe integer. Universitas Sumatera Utara 3.6.2. Relasi Antar Tabel Berikut ini merupakan pemaparan rancangan relasi antar tabel di dalam sistem rekomendasi antivirus. user PK user_id INTEGER username VARCHAR100 password VARCHAR100 full_name VARCHAR100 level VARCHAR10 brands PK brand_id INTEGER brand_name VARCHAR10 features PK feature_id INTEGER feature_name VARCHAR100 os PK os_id INTEGER os_name VARCHAR100 osver PK osver_id INTEGER osver_name VARCHAR100 os_id INTEGER product PK product_id INTEGER brand_id INTEGER title VARCHAR100 price DECIMAL10,2 year DATETIME period CHAR10 image_link CHAR10 avg_ovr_rating DECIMAL10,2 avg_1_rating DECIMAL10,2 avg_2_rating DECIMAL10,2 avg_3_rating DECIMAL10,2 avg_4_rating DECIMAL10,2 tot_ratings INTEGER product_feature PK product_feature_id INTEGER feature_id INTEGER product_id INTEGER product_platform PK product_platform_id INTEGER osver_id INTEGER product_id INTEGER rating PK rating_id INTEGER product_id INTEGER user_id INTEGER 1_rating INTEGER 2_rating INTEGER 3_rating INTEGER 4_rating INTEGER avg_rating DECIMAL10,2 Gambar 3.35 Rancangan Relasi Antar Tabel Universitas Sumatera Utara

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini akan membahas tentang implementasi metode hybrid content based dan collaborative filtering pada Sistem Rekomendasi Software Antivirus dengan multi- criteria rating, serta penjelasan mengenai pengujian sistem yang telah dibangun.

4.1. Implementasi Sistem