3.3.7. Activity Diagram Logout
Sistem Pengguna
Interface
cek session
Tampilkan Halaman Login Session ada
Session tdk ada Hapus session
Gambar 3.7 Activity diagram logout
Gambar 3.7 Menjelaskan bahwa sistem akan menghapus session ketika proses logout dan akan diarahkan kehalaman login.
3.4. Flowchart
Terdapat beberapa flowchart yang ada di dalam Sistem Rekomendasi artikel publikasi berbasis tagging. Flowchart tersebut antara lain adalah :
• Flowchart proses rekomendasi keseluruhan. • Flowchart perhitungan raw data pengguna
• Flowchart perhitungan normalized vector pengguna • Flowchart perhitungan raw data jurnal
• Flowchart perhitungan normalized vector jurnal • Flowchart perhitungan dot product cosine similarity.
Universitas Sumatera Utara
3.4.1. Flowchart Keseluruhan Rekomendasi
START
Id_user Ambil semua tag dari
database, kemudian simpan dalam array tag
Ambil semua jurnal yang belum pernah ditag oleh
user, kemudian simpan dalam array jurnal
Ambil data user, kemudian simpan dalam
array user
selesai Pembentukan raw data
untuk jurnal
Pembentukan normalized vector untuk jurnal
Pembentukan raw data user
Pembentukan normalized vector untuk user
Dot Product user x jurnal
dot_product Urutkan hasil dot
product dot_product dari
besar - kecil
Gambar 3.5 Flowchart Rekomendasi Keseluruhan
Universitas Sumatera Utara
Flowchart sistem rekomendasi dengan menggunakan dot product dapat dilihat pada gambar 3.5. Perhitungan dengan dot product dapat dijelaskan menjadi lima
buah sub proses, yaitu perhitungan raw data pengguna, perhitungan normalized vector pengguna, perhitungan raw data jurnal, perhitungan normalized vector jurnal
dan dot product antara pengguna dengan jurnal. 2.
Flowchart Perhitungan Raw Data Pengguna
normalizer = array;
jlh_jurnal = array; Untuk setiap user
dalam array user jlh_jurnal[id_user]
= array; temp = 0;
Untuk setiap tag dalam array tag
yes
jlh_jurnal[id_user][id_t ag] = hitung jumlah jurnal
yang dibuat oleh user id_userdengan tag
id_tag normalizer[id_user]
=sqrt[temp]; yes
no
no start
Array user Array tag
normalizer jlh_jurnal
end Menghitung jumlah jurnal
yang pernah diberikan oleh suatu user terhadap suatu
tag
Gambar 3.6 Flowchart Perhitungan Raw Data Pengguna
Pada tahap ini, sistem akan membangun array yang berisi informasi tentang jumlah
artikel yang telah di-tag pengguna untuk setiap tag yang ada. Jika u1 adalah pengguna yang akan dihitung kedekatannya dan t adalah tag yang tersedia di dalam sistem,
Universitas Sumatera Utara
kemudian sistem akan menghitung nilai normalizer atau jarak antar vektor dengan menggunakan rumus 2.2. Berikut ini merupakan raw data pengguna sebagaimana
dijelaskan dalam tabel 3.1.
Tabel 3.1 Raw Data Pengguna u1
T1 T2
T3 T4
T5 T6
Normalizer U1
2 1
4 2
5
3. Flowchart Perhitungan Normalized Vector Pengguna
normalized_user=array; Untuk setiap user
dalam array user normalized_user[
id_user]=array;
Untuk setiap tag dalam array tag
normalized_user[id_user][id_tag] = jlh_jurnal[id_jurnal][id_tag]normalizer[id_user];
yes
yes no
no start
Array user Array tag
normalized_user end
Menghitung normalized vector untuk user
Gambar 3.7 Flowchart Perhitungan Normalized Vector Pengguna
Universitas Sumatera Utara
Pada tahap ini, sistem akan membangun array normalized vector. Perhitungan normalize vector untuk pengguna dapat dihitung dengan menggunakan rumus 2.3.
Berikut ini merupakan normalized vector untuk pengguna u1 sesuai dengan tabel 3.2. Tabel 3.2 Normalized Vector Pengguna u1
T1 T2
T3 T4
T5 T6
U1 0.4
0.2 0.8
0.2
4 Flowchart Perhitungan Raw Data Jurnal
normalizer = array; jlh_user = array;
Untuk setiap jurnal dalam array jurnal
jlh_user[id_jurnal] = array; temp = 0
yes
Untuk setiap tag dalam array tag
jlh_user[id_jurnal][id_tag] = hitung jumlah user yang memberikan tag pada id_tag pada jurnal
id_jurnal; temp += powjlh_user[id_jurnal][id_tag],2;
yes
normalizer[id_jurnal] = sqrt temp; no
no start
Array jurnal Array tag
jlh_user normalizer
end Menghitung jumlah user
yang pernah memberikan satu tag tertentu kepada satu
jurnal tertentu
Menghitung normalizer untuk sebuah jurnal
Gambar 3.8 Flowchart Perhitungan Raw Data Jurnal
Universitas Sumatera Utara
Pada tahap ini, sistem akan membangun array yang berisi informasi tentang jumlah user
yang memberikan tag setiap jurnal untuk setiap tag yang ada. Selain itu, pada tahap ini, sistem juga akan menyimpan normalizer untuk setiap jurnal yang dapat
dihitung dengan rumus 2.2. Jika j adalah jurnal yang akan dihitung kedekatannya dan t adalah tag yang tersedia di
dalam sistem, berikut ini merupakan raw data jurnal sebagaimana dijelaskan dalam tabel 3.3.
Tabel 3.3 Raw Data Jurnal T12
T2 T3
T4 T5
T6 Normalizer
j1 3
3 1
2 4,79
J2 1
1 3
3 3
5.38 J3
2 1
2 3
Universitas Sumatera Utara
5 Flowchart Perhitungan Normalized Vector Jurnal
normalized_jurnal = array;
Untuk setiap jurnal dalam array jurnal
normalized_jurnal [id_jurnal] =
array;
Untuk setiap tag dalam array tag
normalized_jurnal[id_j urnal][id_tag]=jlh_user[
id_jurnal][id_tag] normalizer[id_jurnal];
no no
yes
yes start
Array jurnal Array tag
normalized_jurnal
end Menghitung normalize vector
jurnal
Gambar 3.9 Flowchart Perhitungan Normalized Vector Jurnal
Pada tahap ini, sistem akan membangun array normalized vector untuk jurnalartikel. Perhitungan normalized vector dihitung dengan menggunakan rumus 2.3. Hasil nilai
normalized vector untuk jurnalartikel dapat dilihat pada tabel 3.4.
Universitas Sumatera Utara
Tabel 3.4 Normalized Vector Jurnal T12
T2 T3
T4 T5
T6 j1
0,62 0,62
0,208 0,417
J2 0,185
0,185 0,557
0,557 0,557
J3 0,666
0,333 0,666
Universitas Sumatera Utara
6 Flowchart Dot Product Pengguna dengan Jurnal
dot_product = array;
Untuk setiap user yang ada dalam
array user dot_product[id_
user] = array; Untuk setiap
jurnal yang ada di array jurnal
temp = 0 Untuk setiap tag
yang ada di array tag
temp += normalized_jurnal[id_jurnal][id_tag] normalized_user[id_user][id_tag]
dot_product[id_user][id_jurnal] = temp;
yes
yes
yes no
no
no start
Array user Array jurnal
Array tag
dot_product end
Gambar 4.0 Flowchart Dot Product Pengguna dengan Jurnal Pada tahap ini, sistem akan menghitung nilai dot product dari nilai vektor jurnal dan
vektor dari pengguna. Perhitungan nilai dot product setiap vektor dihitung dengan menggunakan rumus 2.4.
Universitas Sumatera Utara
3.5. Perancangan Sistem