3.4. Flowchart
Terdapat beberapa flowchart yang ada di dalam Sistem Rekomendasi Software Antivirus. Flowchart tersebut antara lain adalah :
3.4.1. Flowchart Keseluruhan Rekomendasi
start
countRu2
whilei=semua item yg blm
dirating oleh user login
sim1 = array sim2 = array
sim3 = array sim4 = array
r1 = array r2 = array
r3 = array r4 = array
while u’=semua
user selain user login
M1 = array M2 = array
M3 = array M4 = array
IfemptyR u’,i
whilej=semua item yg sdh dirating oleh
user login
M1[u][j] = R1u,j M1[
u’][j] = R1u’,j M2[u][j] = R2u,j
M2[ u’][j] = R2u’,j
M3[u][j] = R3u,j M3[
u’][j] = R3u’,j M4[u][j] = R4u,j
M4[ u’][j] = R4u’,j
no yes
no
yes no
yes
yes no
IfemptyR u’,j
yes no
no yes
u = user yg login R = rating
R1 = rating kriteria pertama R2 = rating kriteria kedua
R3 = rating kriteria ketiga R4 = rating kriteria keempat
w = get_weight_cb ovr_pred = array
A
Menyimpan rating untuk keperluan perhitungan
similiarity metode collaborative
filtering Perhitungan bobot metode
content based
Gambar 3.12 Flowchart Rekomendasi Keseluruhan
Universitas Sumatera Utara
Ifemptysim1
ovr_pred[u][i] = 3pred1[u][i] + 2pred2[u][i] + 2pred3[u][i] + pred4[u][i] 8
End pred1[u][i] = pred1[u][i] + get_prediction_cfsim1, r1, i2
pred2[u][i] = pred2[u][i] + get_prediction_cfsim2, r2, i2 pred3[u][i] = pred3[u][i] + get_prediction_cfsim3, r3, i2
pred4[u][i] = pred4[u][i] + get_prediction_cfsim4, r4, i2 sim1[u][
u’] = get_similiarity_cfM1[u], M1[u’] sim2[u][
u’] = get_similiarity_cfM2[u], M2[u’] sim3[u][
u’] = get_similiarity_cfM3[u], M3[u’] sim4[u][
u’] = get_similiarity_cfM4[u], M4[u’] IfemptyM1
pred1[u][i] = get_prediction_cbw[1], i pred2[u][i] = get_prediction_cbw[2], i
pred3[u][i] = get_prediction_cbw[3], i pred4[u][i] = get_prediction_cbw[4], i
yes no
yes no
return ovr_ped r1[i] = R1
u’,i r2[i] = R2
u’,i r3[i] = R3
u’,i r4[i] = R4
u’,i
A
Perhitungan similiarity antar pengguna Collaborative
Filtering
Perhitungan prediksi rating Content Based
Perhitungan prediksi rating Collaborative Filtering dan
perhitungan prediksi rating Hybrid Linear Combination
Perhitungan prediksi rating gabungan keempat kriteria
rating
sortovr_pred
Gambar 3.13 Flowchart Rekomendasi Keseluruhan Lanjutan
Sistem rekomendasi membutuhkan user profile sebagai acuan bagi sistem rekomendasi dalam memberikan hasil rekomendasi. Salah satu cara membangun user
profile adalah dengan menyimpan dan menganalisa histori pemberian rating seorang pengguna terhadap beberapa produk. Rating tersebut berfungsi sebagai alat untuk
menunjukkan tingkat kepuasan pengguna terhadap beberapa produk. Berikut merupakan penjelasan dari flowchart rekomendasi hybrid content
based dan collaborative filtering dalam sistem rekomendasi multi-criteria rating. 1. Rekomendasi diberikan kepada pengguna target pengguna yang login yang
sudah memberi rating terhadap minimal dua buah produk. Semakin banyak dan
Universitas Sumatera Utara
bermutu rating yang diberikan oleh pengguna, semakin bagus pula rekomendasi yang diberikan oleh sistem.
2. Kemudian, sistem akan membangun user profile bobot masing-masing attribut di dalam produk 2.1.
3. Proses rekomendasi dilanjutkan dengan menyeleksi semua produk yang belum pernah ia beri rating sebelumnya.
4. Untuk setiap produk tersebut, kumpulkan neighbor dengan cara menghitung kemiripan dengan seluruh pengguna lain yang ada dengan menggunakan rumus
Cosine Based Similiarity 2.4. 5. Hitung prediksi rating pengguna target terhadap produk dengan menggunakan
rumus 2.2 content based. 6. Jika neighbor didapat, sistem akan menghitung prediksi rating pengguna target
terhadap produk dengan menggunakan persamaan weighted sum 2.3. 7. Kemudian, hitung prediksi hybrid, yaitu kombinasi linear dari perhitungan content
based dengan perhitungan collaborative filtering 2.5. 8. Kemudian, hitung prediksi keseluruhan, yaitu penggunaan fungsi agregasi 2.7
terhadap perhitungan prediksi masing-masing kriteria rating. 9. Kemudian ulangi lagi langkah tersebut langkah 3 untuk meprediksi rating produk
selanjutnya sampai prediksi rating untuk seluruh item didapatkan. 10. Setelah prediksi rating untuk seluruh item didapat, selanjutnya adalah
mengurutkan nilai prediksi tersebut dari besar ke kecil. 11. Selesai.
Berbeda dengan sistem rekomendasi dengan satu rating Single-criteria Rating Recommendation, pada sistem rekomendasi dengan banyak rating Multi-criteria
Rating Recommendation, pada saat proses perhitungan, perhitungan dihitung menjadi per-kriteria. Sehingga jika terdapat n buah kriteria, maka sistem harus menghitung
sebanyak n kali lipat lebih banyak daripada sistem rekomendasi dengan single-criteria rating.
Sebagai contoh, seorang pengguna
1
, setelah memberi rating terhadap 4 buah produk,
1
,
2
,
3
,
4
, memiliki matrix rating user x item dan sebuah item feature sebagaimana dijelaskan pada tabel 3.1 dan tabel 3.2.
Universitas Sumatera Utara
Tabel 3.1 Matrix rating User x Item Pada Sistem Rekomendasi Multi Criteria Rating
1 2
3 4
5 1
4,3,3,4 3,3,4,4
2,3,3,2 3,3,4,4
?,?,?,?
2
3,3,4,4 3,3,4,4
2,1,3,3 3,3,4,3
4,4,4,4
3
2,3,2,2 4,4,4,4
4,3,4,3 2,3,2,1
3,2,3,3
4
3,1,1,3 3,3,1,2
2,3,4,4 2,3,3,1
2,2,3,3
5
5,4,5,4 2,3,4,4
3,3,4,3 3,3,4,4
4,4,3,5
Tabel 3.1 merupakan contoh matrix rating user x item pada sistem rekomendasi Multi Criteria Rating. Pengguna
1
adalah pengguna target yang akan dihitung berapa prediksi ratingnya terhadap item
5
. Matrix Rating tersebut akan digunakan untuk menghitung similiarity antar pengguna dan perhitungan prediksi di
dalam metode collaborative filtering.
Tabel 3.2
Tabel Item Feature pada Sistem Rekomendasi Multi-criteria Rating
1 2
3 4
1
,
2
,
3
,
4 1
1 1
1 1
4,3,3,4
2
1 1
1 3,3,4,4
3
1 2,3,3,2
4
1 1
1 3,3,4,4
5
1 1
1 ?,?,?,?
Tabel 3.2 merupakan contoh item feature yang dimiliki pengguna
1
. Item feature tersebut mendeskripsikan fitur apa saja yang dimiliki oleh sebuah item yang
sudah pernah dirating olehnya. Fitur
1
,
2
, . . mewakili fitur apa saja yang dimiliki
oleh sebuah produk. Item feature seorang pengguna digunakan untuk menghitung bobot masing masing fitur yang akan digunakan pada saat penghitungan prediksi
dengan content based recommendation. Untuk memudahkan penyelesaian persoalan sistem rekomendasi multi-criteria
rating, matrix user x item dan item feature tersebut harus dipecah menjadi per-kriteria. Matrix rating user x item untuk kriteria rating pertama dan item feature untuk kriteria
rating pertama digambarkan dalam tabel 3.3 dan tabel 3.4.
Universitas Sumatera Utara
Tabel 3.3 Matrix User x Item Untuk Kriteria Rating Pertama
1 2
3 4
5 1
4 3
2 3
?
2
3 3
2 3
4
3
2 4
4 2
3
4
3 3
2 2
2
5
5 2
3 3
4
Tabel 3.4
Tabel Item Feature Pengguna
1
Untuk Kriteria Rating Pertama
1 2
3 4
1 1
1 1
1 1
4
2
1 1
1 3
3
1 2
4
1 1
1 3
5
1 1
1 ?
Setelah berhasil menghitung prediksi rating masing-masing kriteria, gabungkan hasil prediksi untuk masing-masing kriteria tersebut dengan menggunakan
fungsi agregasi 2.6 untuk mendapatkan prediksi keseluruhan untuk satu produk.
Universitas Sumatera Utara
3.4.2. Flowchart Cosine Based Similiarity Collaborative Filtering Di dalam sistem rekomendasi yang dibangun, penulis menggunakan perhitungan
kemiripan berbasis pengguna.
Start
M1 = array berisi Rating User 1
M2 = array berisi Rating User 2
Whilei=item di dlm M1
Similiarity = 0 Var1 = 0
Var2 = 0 Var3 = 0
Var1 += M1[i]M2[i] Var2 += powM1[i], 2
Var3 += powM2[i], 2
Similiarity = var1 sqrtvar2 sqrtvar3
End Return similiarity
yes no
Gambar 3.14 Flowchart Cosine Based Similiarity
Sesuai dengan gambar 3.14, cosine based similiarity mencoba untuk menghitung kemiripan antara dua orang pengguna. Algoritma tersebut menggunakan
kumpulan rating kedua pengguna tersebut terhadap item-item yang sama. Sedangkan keluaran dari algoritma ini adalah nilai dari similiarity yang berkisar antara 0 sampai
dengan 1, dimana 0 berarti kedua pengguna tersebut tidak memiliki kemiripan sama sekali, sedangkan 1 berarti kedua pengguna tersebut mutlak sama.
Universitas Sumatera Utara
Tabel 3.5 Matrix User x Item Untuk Kriteria Rating Pertama
1 2
3 4
5 1
4 3
2 3
?
2
3 3
2 3
4
3
2 4
4 2
3
4
3 3
2 2
2
5
5 2
3 3
4
Sebagai contoh, dengan melihat tabel 3.5, kedekatan pengguna
1
dengan pengguna lain dapat dihitung dengan rumus cosine based similiarity 2.4 seperti
berikut. sim
1
,
2
= 4
∗ 3 + 3 ∗ 3 + 2 ∗ 2 + 3 ∗ 3 4
2
+ 3
2
+ 2
2
+ 3
2
3
2
+ 3
2
+ 2
2
+ 3
2
= 12 + 9 + 4 + 9
16 + 9 + 4 + 9 9 + 9 + 4 + 9 =
34 6.16
∗ 5.56 = 0.99
Sedangkan nilai kedekatan
1
dengan
3
,
4
,
5
secara berturut-turut adalah 0.87, 0.98, dan 0.97. Dengan kata lain, pengguna
1
lebih mirip dengan pengguna
2
dibandingkan dengan pengguna lain. Nilai dari masing-masing similiarity inilah yang akan digunakan dalam perhitungan prediksi rating weighted sum collaborative
filtering nanti.
Universitas Sumatera Utara
3.4.3. Flowchart Weighted Sum Collaborative Filtering
Start Sim = array berisi
similiarity user u dgn neighbor
R = array berisi rating para neighbor thdp
item i i = item i
Prediction = 0 Var1 = 0
Var2 = 0
While u’ =
neighbor di dlm Sim
Var1 += Sim[ u’]R[u’][i]
Var2 += Sim[ u’]
Prediction = var1 var2
End Return Prediction
yes no
Gambar 3.15 Flowchart Weighted Sum
Gambar 3.15 menerangkan bahwa masukan dari algoritma weighted sum adalah sebuah array berisi similiarity antara user target dengan user neighbor, sebuah
array berisi rating user neighbor terhadap item target, dan item target. Sedangkan keluaran dari algoritma ini adalah prediksi rating user target terhadap item target.
Prediksi rating yang akan diberikan pengguna
1
terhadap
5
lihat tabel 3.5 dengan menggunakan formula weighted sum 2.3 adalah :
prediction_cf
1
,
5
= 0.99
∗ 4 + 0.87 ∗ 3 + 0.98 ∗ 2 + 0.97 ∗ 4 0.99 + 0.87 + 0.98 + 0.97
= 3.25
Universitas Sumatera Utara
3.4.4. Flowchart Perhitungan Bobot Masing-masing Feature Content Based
Start Weight = array
Jlh = array
Whilei=item yg sdh dirating
Weight[1][j] += R1u,i Weight[2][j] += R2u,i
Weight[3][j] += R3u,i Weight[4][j] += R4u,i
End Whilej=semua
feature
Ifemptyji
Weight[1][j] = Jlh[j] Weight[2][j] = Jlh[j]
Weight[3][j] = Jlh[j] Weight[4][j] = Jlh[j]
Whilej=semua feature
yes no
yes no
yes no
yes no
Return weight Jlh[j]++
Gambar 3.16 Flowchart Perhitungan Weight
Sistem rekomendasi content based mencoba untuk memberikan rekomendasi sesuai dengan konten fitur yang seorang pengguna inginkan. Oleh karena itu tujuan
Universitas Sumatera Utara
utama dari sistem rekomendasi content based adalah menghitung bobot masing- masing fitur berdasarkan item-item yang sudah pernah ia rating sebelumnya.
Tabel 3.6 Tabel Item Feature Pengguna
1
untuk Kriteria Rating Pertama
1 2
3 4
1 1
1 1
1 1
4
2
1 1
1 3
3
1 2
4
1 1
1 3
5
1 1
1 ?
Dengan melihat tabel 3.6, weight untuk masing-masing fitur
1
,
2
,
3
,
4
untuk pengguna
1
adalah 2.1 :
1
,
1
= 1 ∗ 4 + 1 ∗ 3 + 1 ∗ 2 + 1 ∗ 3 4 = 3
1
,
2
= 1 ∗ 4 4 = 1
1
,
3
= 1 ∗ 4 + 1 ∗ 3 + 1 ∗ 3 4 = 2.5
1
,
4
= 1 ∗ 4 + 1 ∗ 3 + 1 ∗ 3 4 = 2.5
Hal ini berarti, dengan melihat histori pemberian rating pengguna tersebut, pengguna tersebut memiliki bobot yang berbeda-beda untuk tiap fitur. Bobot tertinggi
terdapat pada fitur pertama. Bobot-bobot inilah yang kemudian akan digunakan di dalam perhitungan prediksi rating dengan menggunakan metode content based
nantinya.
Universitas Sumatera Utara
3.4.5. Flowchart Perhitungan Prediksi Rating Content Based
Start
Pred = 0 Jlh = 0
Pred += w[j] Jlh++
End Whilej =
semua feature yg ada
Ifemptyji
Pred = jlh W = array
Weight i = item i
Return pred yes
yes no
no
Gambar 3.17 Flowchart Perhitungan Prediksi Rating Content Based
Ketika weight untuk masing-masing fitur sudah ditentukan, maka prediksi rating untuk item target dapat dihitung lihat tabel 3.6 2.2, yaitu :
_
1
,
5
= 1 ∗ 3 + 1 ∗ 1 + 1 ∗ 2.5 3 = 2.16
Universitas Sumatera Utara
3.4.6. Flowchart Hybrid Linear Combination Setelah prediksi rating dengan kedua buah metode didapat, selanjutnya adalah
menggabungkan prediksi rating tersebut dengan menggunakan kombinasi linear. Flowchart kombinasi linear untuk dua buah metode rekomendasi dapat dilihat pada
gambar 3.18.
Start
Rhyb = w1R1 + w2R2 w1+w2
R1 = prediksi rating dgn metode 1
R2 = prediksi rating dgn metode 2
W1 = bobot metode 1 W2 = bobot metode 2
Return Rhyb end
Gambar 3.18 Flowchart Hybrid Linear Combination
Pada penelitian ini, penulis menggunakan bobot yang sama untuk kedua buah metode. Berdasarkan perhitungan sebelumnya, prediksi rating dengan menggunakan
metode content based adalah 3.55, sedangkan prediksi rating dengan menggunakan metode collaborative filtering adalah 3.25. Maka prediksi rating hybrid adalah 2.5:
= 2.16 + 3.25
2 = 2.7
Berarti, prediksi rating hybrid untuk kriteria pertama adalah 3.4. Kemudian, ulangi proses yang sama untuk menghitung prediksi rating kriteria kedua, ketiga, dan
keempat.
3.4.7. Flowchart Penggabungan Kriteria Fungsi Agregasi Setelah prediksi rating untuk masing-masing kriteria didapat, selanjutnya adalah
menggabungkan prediksi rating tersebut dengan menggunakan fungsi agregasi. Flowchart fungsi agregasi pada sistem rekomendasi multi-criteria rating dapat dilihat
pada gambar 3.19.
Universitas Sumatera Utara
Start
Ragr = w1R1 + w2R2 + w3R3 + w4R4 w1+w2+w3+w4
R1 = prediksi rating kriteria 1 R2 = prediksi rating kriteria 2
R3 = prediksi rating kriteria 3 R4 = prediksi rating kriteria 4
W1 = bobot kriteria 1 W2 = bobot kriteria 2
W3 = bobot kriteria 3 W4 = bobot kriteria 4
Return Ragr end
Gambar 3.19 Flowchart Fungsi Agregasi
Castelli 2001 telah menyampaikan kriteria yang pokok yang harus dimiliki pada sebuah software antivirus. Oleh karena itu, berikut ini merupakan kriteria dan
bobot masing-masing kriteria software antivirus yang digunakan di dalam sistem rekomendasi yang dibangun sebagaimana dijelaskan pada tabel 3.7.
Tabel 3.7 Bobot Masing-Masing Kriteria Software Antivirus
Detection Performance
Updates Tech Support
Weight 3
2 2
1
Jika prediksi rating untuk kriteria pertama, kedua, ketiga dan keempat berturut- turut adalah 3.4, 4.1, 2.5, dan 3.0, maka prediksi rating keseluruhan adalah 2.7.
= 3
∗ 2.7 + 2 ∗ 4.1 + 2 ∗ 2.5 + 1 ∗ 3.0 3 + 2 + 2 + 1
= 3.03 Setelah prediksi keseluruhan gabungan dari keempat kriteria rating
didapatkan, ulangi perhitungan prediksi rating untuk item berikutnya.
Universitas Sumatera Utara
3.5. Perancangan Sistem