• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN

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 VARCHAR(100) password VARCHAR(100) full_name VARCHAR(100) level VARCHAR(10) Gambar 3.26 Rancangan Tabel user

Tabel user berfungsi sebagai tempat untuk menyimpan data pengguna. Tabel user memiliki lima attribut, dengan rincian sebagai berikut.

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 DECIMAL(10,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

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 VARCHAR(100) price DECIMAL(10,2) year DATETIME period CHAR(10) image_link CHAR(10) avg_ovr_rating DECIMAL(10,2) avg_1_rating DECIMAL(10,2) avg_2_rating DECIMAL(10,2) avg_3_rating DECIMAL(10,2) avg_4_rating DECIMAL(10,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.

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.

D. Tabel brands

brands

PK brand_id INTEGER

brand_name VARCHAR(10)

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 VARCHAR(100)

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.

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 VARCHAR(100)

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.

osver

PK osver_id INTEGER

osver_name VARCHAR(100) 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.

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 VARCHAR(100) password VARCHAR(100) full_name VARCHAR(100) level VARCHAR(10) brands PK brand_id INTEGER brand_name VARCHAR(10) features PK feature_id INTEGER feature_name VARCHAR(100) os PK os_id INTEGER os_name VARCHAR(100) osver PK osver_id INTEGER osver_name VARCHAR(100) os_id INTEGER product PK product_id INTEGER brand_id INTEGER title VARCHAR(100) price DECIMAL(10,2) year DATETIME period CHAR(10) image_link CHAR(10) avg_ovr_rating DECIMAL(10,2) avg_1_rating DECIMAL(10,2) avg_2_rating DECIMAL(10,2) avg_3_rating DECIMAL(10,2) avg_4_rating DECIMAL(10,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 DECIMAL(10,2)

BAB 4

Dokumen terkait