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