Flowchart ANALISIS DAN PERANCANGAN

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