Flowchart ANALISIS DAN PERANCANGAN

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