SKRIPSI
RIZQI MULKI
091402001
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Teknologi Informasi
RIZQI MULKI
091402001
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014
PERSETUJUAN
Judul : PENERAPAN SPARSE MATRIX PADA
REKOMENDASI BERITA PERSONAL UNTUK PENGGUNA ANONIM
Kategori : SKRIPSI Nama : RIZQI MULKI Nomor Induk Mahasiswa : 091402001
Program Studi : SARJANA (S-1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
Diluluskan di
Medan, Agustus 2014 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dr. Mardiningsih, M.Si Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc NIP. 19630405 198811 2 001 NIP. 19860303 201012 1 004
Diketahui/Disetujui Oleh
Program Studi Teknologi Informasi Ketua,
M. Anggia Muchtar, ST. MM.IT NIP 19800110 2008 01 1010
PERNYATAAN
PENERAPAN SPARSE MATRIX PADA REKOMENDASI BERITA PERSONAL UNTUK PENGGUNA ANONIM
SKRIPSI
Saya mengakui bahwa skripsi adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringakasan yang masing – masing telah disebutkan sumbernya.
Medan, Agustus 2014
Rizqi Mulki 091402001
PENGHARGAAN
Puji dan syukur dihadiahkan kehadirat Allah SWT, serta selawat kepada Nabi Muhammad SAW, karena atas anugerah dari-Nya lah penulis dapat menyelesaikan skripsi ini. Rasa syukur yang sangat besar kepada Allah SWT, karena kemudahan yang Allah anugerahkan sehingga skripsi ini bisa diselesaikan.
Dalam menyelesaikan skripsi ini penulis banyak mendapatkan bantuan dan motivasi dari luar diri. Pada kesempatan ini dengan kerendahan hati, penulis mengucapkan terima kasih banyak kepada :
1. Kedua orang tua penulis, yaitu Bunda, Nuraini.S.Pd dan Ayahanda, Abdullah.S.Pd, karena berkat dukungan baik secara moril maupun materil secara terus menerus sehingga penulis dapat menyelesaikan skripsi ini. Kepada saudara penulis Khairurrijal, Linil Masthura, Muhibuddin, Nurkhalidah, dan seluruh keluarga besar kami.
2. Kepada Bapak Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc dan Ibu Dr. Mardiningsih, M.Si yang terus mendukung dalam penyelesaian skripsi ini.
3. Ketua Jurusan sekaligus penasehat akademik M. Anggia Muchtar, ST. MM.IT dan Sekretaris Jurusan M. Fadly Syahputra, B.Sc, M.Sc.IT.
4. Seluruh Dosen yang mengajar pada Program Studi Teknologi Informasi Universitas Sumatera Utara.
5. Teman – teman Teknologi Informasi Stambuk 2009, ranap, satria, ari, zizi, yogi, wildan, fithra, gilberth, aang dan kawan – kawan SRC yang telah banyak membantu selama masa studi dan penyelesaian skripsi ini.
6. Rekan – rekan kerja saya Kak Adri Arianti, Buk Tapi Rondang, Pak Yassin, Vero, Kak Feby, Kak Nita, Kak Ica dan Pak Naqosya Asrori yang selalu mendukung untuk menyelesaikan skripsi.
Dalam menyusun dan penyelesain skripsi ini masih banyak ada kekurangan maka kritik dan saran sangat diharapkan. Demikianlah kata pengantar yang dapat saya sampaikan semoga skripsi ini menjadi berguna dan bermanfaat.
ABSTRAK
Tautan berita online disebar melalui social media oleh pihak portal berita supaya masyarakat tertarik untuk membaca berita ke portal berita mereka. Supaya user yang sudah masuk ke dalam sebuah portal berita, terus membaca berita lain karena menemukan ada berita yang berkaitan dan disukai pada daftar rekomendasi berita personal. Namun, saat ini rekomendasi secara personal bisa diberikan jika sudah memiliki banyak riwayat penjelajahan dan harus dipastikan user sudah login ke portal berita tersebut. Hal ini akan menjadi masalah jika yang membaca berita adalah pengguna anonim dan tidak memiliki riwayat penjelajahan yang banyak, sehingga akan menyulitkan bagi pemilik portal berita untuk menambah jumlah pembaca baru di portal berita mereka, jika pelayanan yang ingin diberikan adalah berupa rekomendasi berita secara personal. Maka dari itu, dibutuhkan sistem rekomendasi secara personal untuk pengguna anonim yang baru sekali atau beberapa kali mengakses berita dan bisa diberikan rekomendasi secara personal dengan menerapkan metode yang memanfaatkan sparse matrix yaitu CSR Sparse Matrix Vector Multiplication dan proximity processing. Bayesian framework for user interest yang merupakan metode untuk sistem rekomendasi personal akan digunakan juga, namun dengan memodifikasi penerapannya yaitu pada term. Penelitian ini menunjukkan bahwa walaupun riwayat penjelajahan sedikit, rekomendasi berita secara personal tetap bisa diberikan kepada pembaca berita.
SPARSE MATRIX APPLICATION IN PERSONAL NEWS RECOMMENDATION FOR ANONYMOUS USER
ABSTRACT
Online news links are being spread through the social media by news agencies in order to encourage people to read news from their site. After users have logged in to their site, users will keep on reading news that is relevant to their personalized news recommendation. But, nowadays personalized recommendation could be provided to users only if the site has recorded much of users browsing history and it‟s mandatory that users have to log in to the site. This could be problematic if the news readers are anonymous users and the site hasn‟t record enough browsing history from those users. It would be difficult for news agencies to increase their daily readers to their site if they‟re going to compete with other agencies in the aspect of providing good personalized recommendation. Therefore, personalized recommender system is necessary for anonymous users who „ve only visited the news site occasionally, so that the site could recommend the news they‟re likely to read by implementing CSR Sparse Matrix Vector Multiplication and proximity processing as sparse matrix applied method. Bayesian framework for user interest will also be implemented with the modification in its term. This research will prove that even though news site hasn‟t recorded enough browsing history, personalized news recommendation could still be provided to the readers.
Keywords : News Recommendation, Personal News Recommendation, Anonyomous User
DAFTAR ISI Halaman PERSETUJUAN ... i PERNYATAAN ... ii PENGHARGAAN ... iii ABSTRAK ... iv ABSTRACT ...v DAFTAR ISI ... vi DAFTAR TABEL ... ix DAFTAR GAMBAR ... xi BAB 1 PENDAHULUAN ...1 1.1. Latar Belakang ...1 1.2. Rumusan Masalah ...2 1.3. Tujuan Penelitian ...2 1.4. Batasan Masalah...3 1.5. Manfaat Penelitian ...3 1.6. Metodelogi Penelitian ...3 1.7. Sistematika Penulisan ...4
BAB 2 LANDASAN TEORI ...6
2.1. Rekomendasi Berita ...6
2.2. Pengguna Anonim ...6
2.3. Content Based Recommendation ...7
2.4. Sparse Matrix ...7
2.5. Information Filtering ...8
2.6. Information Retrieval ...8
2.7. CSR SpMV (Sparse Matrix Vector Multiplication) ...9
2.8. Proximity Processing... 10
2.9. Rekomendasi Berita Personal ... 11
2.10. Stopword Removal ... 11
2.11. Stemming ... 12
BAB 3 ANALISIS DAN PERANCANGAN ... 16
3.1. Analisis Data ... 16
3.2. Tahapan Eliminasi ... 17
3.3. CSR SpMV ... 19
3.4. Proximity Processing... 23
3.5. Bayesian Framework for User Interest ... 25
3.6. Perancangan General Architecture ... 28
3.7. Perancangan Use Case ... 29
3.7.1. Definisi Aktor... 29
3.7.2. Definisi Use Case ... 29
3.7.3. Skenario Use Case ... 30
3.7.4. Diagram Use Case ... 33
1.8 Diagram Kelas... 33
1.9 Diagram Objek ... 35
1.10 Diagram Sekuen ... 35
1.10.1. Konversi berita ... 35
1.10.2. Catat akses berita ... 36
3.10.3. Rekomendasi akses berita... 36
3.11. Diagram Aktivitas ... 37
3.12. Diagram Komponen ... 38
3.13. Diagram Deployment ... 39
3.14. Perancangan Database ... 40
3.15. Perancangan Antarmuka ... 41
BAB 4 HASIL DAN PEMBAHASAN ... 42
4.1 Implementasi Sistem ... 42
4.1. 1 Spesifikasi Perangkat Keras dan Perangkat Lunak yang Digunakan .. 42
4.2. Tampilan Implementasi Sistem ... 43
3.2.1. Pada daftar item plugin ... 43
3.2.2. Menu untuk pengaturan... 43
3.2.3. Halaman pengaturan batas pengambilan berita rekomendasi ... 44
3.2.4. Halaman pengaturan lama sesi aktif ... 44
4.3. Uji Sistem dan Analisis dengan Satu Pengguna Anonim ... 45
4.3.1. Uji coba akses berita ... 46
4.4 Analisis Penerapan Sparse Matrix ... 50
4.5 Uji Coba dan Analisis dengan Banyak Pengguna Anonim ... 51
BAB 5 KESIMPULAN DAN SARAN ... 55 5.1 Kesimpulan ... 55 5.2 Saran ... 55 DAFTAR PUSTAKA ... 56 LAMPIRAN I ... 58 LAMPIRAN II ... 65 LAMPIRAN III ... 68
DAFTAR TABEL
Tabel 2.1 Aturan untuk inflectional particle 13 Tabel 2.2 Aturan untuk inflectional possesive pronoun 13 Tabel 2.3 Aturan untuk first order derivational prefix 13 Tabel 2.4 Aturan untuk second order derivational prefix 13 Tabel 2.5 Aturan untuk second order derivational prefix (lanjutan) 14 Tabel 2.6 Aturan untuk derivational suffix 14
Tabel 2.7 Penelitian sebelumnya 14
Tabel 3.1 Contoh kumpulan dokumen serta keterangan 18 Tabel 3.2 Hasil dokumen setelah melalui tahapan eliminasi 19
Tabel 3.3 Tf (term frequency) 20
Tabel 3.4 df dan idf 20
Tabel 3.5 Sparse matrix yang ditampilkan dalam bentuk tabel 21 Tabel 3.6 Hasil relevansi dokumen menggunakan algoritma csr spmv 22 Tabel 3.7 Hasil pengurutan nilai akhir secara descending. 22 Tabel 3.8 Term frequency untuk proximy processing 23 Tabel 3.9 Hasil dari menjalankan algoritma proximty processing 25 Tabel 3.10 Nilai untuk rekomendasi setelah diterapkan proximity processing 25 Tabel 3.11 Frekuensi akses term terhadap waktu 27 Tabel 3.12 Penambahan nilai dari penerapan bayesian framework for user interest 28
Tabel 3.13 Hasil rekomendasi 28
Tabel 3.14 Mendeskripsikan secara singkat aktor dalam sistem 29 Tabel 3.15 Mendeskripsikan setiap use case 29 Tabel 3.16 Skenario konversi berita 30
Tabel 3.17 Skenario stemming 31
Tabel 3.18 Skenario stopword removal 31 Tabel 3.19 Skenario ambil kata dan angka 31 Tabel 3.20 Skenario catat akses berita 32 Tabel 3.21 Skenario rekomendasi akses berita 32 Tabel 4.1 Daftar judul berita dan hasil eliminasi untuk bisa 47
Tabel 4.2 Nilai yang didapatkan masing – masing dokumen 48 Tabel 4.3 Nilai masing – masing dokumen setelah 49 Tabel 4.4 Uji coba akses berita menggunakan 5 Pengguna Anonim 51 Tabel 4.5 Nilai untuk proses precision & recall 53 Tabel 4.6 Nilai untuk proses precision & recall (lanjutan) 54
DAFTAR GAMBAR
Gambar 2.1 contoh sparse matrix 8
Gambar 2.2 Contoh hasil format kompresi csr dari sparse matrix gambar 2.1 8 Gambar 2.3 Algoritma CSR SpMV (goharian, et al. 2001). 9 Gambar 2.4 Algoritma untuk proximity processing 10 Gambar 2.5 Flowchart algoritma porter (Budhi, 2006) 12 Gambar 3.1 Alur tahapan eliminasi 17 Gambar 3.2 Alur tahapan csr spmv 19 Gambar 3.3 Format csr dari sparse matrix tabel 3.5 21
Gambar 3.4 Format vektor query 21
Gambar 3.5 Alur tahapan proximity processing 23 Gambar 3.6 CSR untuk proximity processing 24 Gambar 3.7 Modifikasi query untuk proximity processing 24 Gambar 3.8 Alur tahapan bayesian framework for user interest 26
Gambar 3.9 Diagram arsitektur 29
Gambar 3.10 Diagram use case 33
Gambar 3.11 Diagram kelas 34
Gambar 3.12 Diagram objek 35
Gambar 3.13 Diagram sequence untuk konversi berita 36 Gambar 3.14 Diagram sequence catat akses berita oleh user 36 Gambar 3.15 Diagram sequence memberikan rekomendasi pada saat akses berita 37 Gambar 3.22 Diagram aktivitas yang menggambarkan kerja sistem 38
Gambar 3.23 Diagram komponen 39
Gambar 3.24 Diagram deployment 39
Gambar 3.25 Perancangan database untuk sistem rekomendasi 40 Gambar 3.26 Prancangan database untuk sistem rekomendasi (lanjutan) 41 Gambar 3.30 Rancangan halaman untuk rekomendasi 41 Gambar 4.1 Plugin setelah dilakukan instalasi 43 Gambar 4.2 Menunjukkan menu setting pnr untuk pengaturan sistem rekomendasi 44 Gambar 4.3 Halaman bagian pengaturan pengambilan berita rekomendasi 44
Gambar 4.4 Halaman bagian pengaturan lama sesi aktif untuk pengguna anonim 44 Gambar 4.5 Bagian pengaturan untuk menajemen stopword 45 Gambar 4.6 Halaman untuk pengaturan widget 45 Gambar 4.7 Hasil rekomendasi pada halaman web untuk akses berita 50 Gambar 4.8 Grafik precious dan recall 54