Penerapan Sparse Matrix pada Rekomendasi Berita Personal untuk Pengguna Anonim

  

LAMPIRAN I

DAFTAR JUDUL BERITA

No ID Judul Berita Tgl

  D0 25 Microsoft Siapkan Windows di "Awan"? 29-07-2014 D1 27 Windows 9 Meluncur April 2015? 29-07-2014 D2 30 Alasan Kembalinya Tombol Start di Windows 29-07-2014 D3 33 Tampilan Terbaru Windows 8.1 Bocor 29-07-2014 D4 36 Acer Bikin Chromebook Layar Sentuh 29-07-2014 D5 39 CEO Acer Mengundurkan Diri 29-07-2014 D6 42 Punya Bos Baru, BlackBerry Belum Menyerah 29-07-2014 D7 45 Siapa Saja Calon Pembeli BlackBerry? 29-07-2014 D8 49 Ini Bukti BBM Digandrungi Pengguna Android dan iOS 29-07-2014 D9 52 OpenSnap, Jejaring Sosial untuk Pecinta Kuliner 29-07-2014 D10 55 Google Luncurkan Aplikasi Camera 29-07-2014 D11 58 Di AS, Android Lebih "Merakyat" dari iPhone 29-07-2014 D12 61 Lihat Pertumbuhan Android, Apple Takut? 29-07-2014 D13 64 Samsung: Apple Salah Sasaran 29-07-2014 D14 81 Korban Antivirus Palsu di Play Store Dapat Ganti Rugi 29-07-2014 D15 84 Pengguna WhatsApp Sudah Setengah Miliar 29-07-2014 D16 88 Facebook Messenger Akhirnya Sambangi Windows Phone 29-07-2014 D17 91 Beginikah Tampilan iOS 8 di iPhone 6? 29-07-2014 D18 94 2048, Game "Nyandu" yang Ternyata Meniru 29-07-2014 D19 97 Coba Tizen, Samsung Berani Lepas Android? 29-07-2014 D20 100 Duh, BBM di Android dan iOS Terjangkit "Heartbleed" 29-07-2014 D21 103 Apple Jual 44 Juta iPhone, 4S Masih Primadona 29-07-2014 D22 106 Samsung Tuding FaceTime Apple Ilegal 29-07-2014 D23 109 Google Bersedia Urunan Bayar Denda Samsung 29-07-2014 D24 112 Apple dan Google Rebutan "Game" Eksklusif 29-07-2014 D25 116 Perang Paten, 10 Rahasia Apple-Samsung Terungkap 29-07-2014 D26 119 Perempuan Indonesia Paling Aktif di Toko "Online" 29-07-2014 D27 122 25 April, Nokia Resmi Milik Microsoft 29-07-2014 D28 126 Microsoft Sudah Punya Nama Baru untuk Nokia 29-07-2014 D29 129 Yuk, Jualan Stiker Line Bikinan Sendiri 29-07-2014 D30 132 Ini Alasan Galaxy S5 Tetap Setia Pakai Plastik 29-07-2014 D31 135 Paling Banyak Dipakai "Browsing", iPad atau Galaxy Tab? 29-07-2014 D32 138 LG Boyong 3 Ponsel Android KitKat ke Indonesia 29-07-2014 D33 141 OnePlus One, Android Murah "Pembunuh Nexus" 29-07-2014 D34 144 Kamera Lytro Illum, Jepret Dulu Fokus Belakangan 29-07-2014 D35 147 HP Ramaikan Pasar Gadget Android Indonesia 29-07-2014 D36 150 Kurang Tipis, iPhone Air Batal Rilis Tahun Ini? 29-07-2014 D37 153 Iklan Apple Sindir Perilaku "Mencontek" 29-07-2014 D38 156 Mengintip Museum Inovasi Samsung, Ada Komputer Apple 29-07-2014

  No ID Judul Berita Tgl

  D39 159 Kecepatan Internet Indonesia Jauh di Bawah Rata-rata Dunia 29-07-2014 D40 162 Path Sudah Bisa Punya 500 Teman? 29-07-2014 D41 165 Internet Dunia Makin Kencang 29-07-2014 D42 168 Cara Telkom Hadirkan Internet Kencang di IndiHome 29-07-2014 D43 171 Serangan Cyber Indonesia Turun, "Juara" 4 Sedunia 29-07-2014 D44 174 Game "The Raid II" Berhadiah Xbox One 29-07-2014 D45 177 Menghindari Kemacetan dengan Belanja Online? 29-07-2014 D46 180 Twitter Resmi Perkenalkan Tampilan Baru 29-07-2014 D47 183 Inilah "Software" Anti-sadap yang Dipakai Snowden 29-07-2014 D48 186 Dijual Rp 17 Juta, Google Glass Ludes 29-07-2014 D49 192 German Burgos pelatih pertama gunakan Google Glass 29-07-2014 D50 195 Google Glass segera hadir dalam jangka waktu dekat 29-07-2014 D51 199 Akhirnya, Dolphin Browser versi 11 resmi dirilis 29-07-2014 D52 202 Microsoft: Pakai software bajakan sama saja rugikan diri sendiri 29-07-2014 D53 207 Tak perlu khawatir jika smartphone Nokia mati total 29-07-2014 D54 210 Jangan asal download FileZilla di internet! 29-07-2014 D55 213 McAfee Internet Security 2014 diluncurkan di Indonesia 29-07-2014 D56 216 Nokia Resmi Tak Buat Ponsel Lagi 29-07-2014 D57 219 Dicaplok Microsoft, Bagaimana Nasib Karyawan Nokia? 29-07-2014 D58 222 Bos Nokia Lempar iPhone ke Lantai 29-07-2014 D59 224 Microsoft Dukung Windows Phone 8 Cuma Sampai 2014 29-07-2014 D60 227 Lumia 720, Windows Phone 8 Berbekal Kamera Unik 29-07-2014 D61 229 Microsoft Ungkap Statistik Aplikasi Windows Phone 29-07-2014 D62 232 Android KitKat Tumbuh, Jelly Bean Berkuasa 29-07-2014 D63 237 WhatsApp Tak Bisa Diinstal di Windows Phone 8.1? 12-08-2014 D64 240 Dalam Sehari WhatsApp Kelola 64 Miliar Pesan 12-08-2014 D65 243 Fitur Telepon Gratis Segera Tersedia di WhatsApp? 12-08-2014 D66 246 Diam-diam, Microsoft Juga Ingin Pinang WhatsApp 12-08-2014 D67 250 Path di BlackBerry Belum Ada "Gara-gara" Android? 12-08-2014 D68 253 Ini Dia, Kebiasaan Orang Indonesia di Path 12-08-2014 D69 256 Foursquare Akan Hapus Fitur "Check-in" 12-08-2014 D70 259 Aplikasi Mirip Foursquare Ini Punya "Badges" Cinta Indonesia 12-08-2014 D71 261 Facebook Akuisisi Gowalla Untuk Saingi Foursquare? 12-08-2014 D72 263 Penerus Motorola Moto G Usung LTE? 12-08-2014 D73 266 XL Umbar Diskon BlackBerry Z3 Jakarta 12-08-2014 D74 269 Dummy iPhone 6 Beredar, Tampilkan Wujud Utuh 12-08-2014 D75 272 Terungkap, Biaya Komponen Google Glass Cuma Rp 900 Ribuan 12-08-2014 D76 275 Penampakan LG G3 Kembali Muncul, Lebih Jelas 12-08-2014 D77 276 Penampakan LG G3 Kembali Muncul, Lebih Jelas 12-08-2014 D78 279 LG Rilis G Watch di Eropa Bulan Juni 12-08-2014 D79 282 Desain iPhone 6 Bakal Mirip iPod Touch Generasi ke-5? 12-08-2014 D80 285 Galaxy K Zoom Resmi Meluncur, Ini Spesifikasi Lengkapnya 12-08-2014 D81 288 Galaxy K Zoom Siap Meluncur Akhir Bulan Ini 12-08-2014 D82 291 Samsung Umumkan Ponsel-Kamera Galaxy K Zoom 12-08-2014

  No ID Judul Berita Tgl

  D83 294 "Selfie" Jadi Gampang dengan Galaxy K Zoom 12-08-2014 D84 297 Ini Spesifikasi Lengkap Galaxy K Zoom 12-08-2014 D85 301 Iklan Samsung Cibir Kamera iPhone 5S 12-08-2014 D86 304 Spesifikasi Lengkap BlackBerry Z3 Jakarta 12-08-2014 D87 307 Nokia Dibeli Microsoft, Stephen Elop Dapat Rp 380 Miliar 12-08-2014 D88 310 Uang Elektronik Indosat Bisa Tarik Tunai 12-08-2014 D89 313 Uang Elektronik Indosat Bisa Dipakai di Sevel 12-08-2014 D90 316 Samsung Kalahkan Gabungan 4 Produsen Ponsel 12-08-2014 D91 319 LG dan Lenovo Kuntit Dua Raja Ponsel Dunia 12-08-2014 D92 322 Dibeli Microsoft, Nokia Mulai "Ketahuan Belangnya" 12-08-2014 D93 325 Dijuluki "Penggali Kubur Nokia", Ini Kata Stephen Elop 12-08-2014 D94 328 Rajeev Suri, CEO Baru Nokia "Non-Ponsel" 12-08-2014 D95 331 Microsoft Masih Bingung Penamaan Nokia 12-08-2014 D96 334 Penjualan iPad Merosot, Ini Pembelaan Bos Apple 12-08-2014 D97 337 iPhone 5 Bermasalah, Apple Tawarkan Program Servis Gratis 12-08-2014 D98 340 Apple Kantongi Profit Rp 118,3 Triliun 12-08-2014 D99 343 iWatch Datang, iPod Ditendang? 12-08-2014 D100 346 Setengah Pengguna IE Dunia Kena Bug Mematikan Ini 12-08-2014 D101 348 Disebut Hambat Inovasi, Selandia Baru Larang Paten untuk Software 12-08-2014 D102 355 Microsoft Akhirnya Keluarkan "Obat" untuk IE 12-08-2014 D103 360 Microsoft Bagikan Cara Hindari "Bug" IE 12-08-2014 D104 363 AS dan Inggris Larang Warganya Pakai Internet Explorer (IE) 12-08-2014 D105 367 Microsoft Akui Ada "Lubang" di Internet Explorer 12-08-2014 D106 370 Agustus, Start Menu Kembali ke Windows? 12-08-2014 D107 373 Akun Twitter Menyebalkan? "Mute" Saja 12-08-2014 D108 376 Begini Gambaran Facebook pada Masa Depan 12-08-2014 D109 379 Twitter Akan Hadir dengan Tampilan Baru 12-08-2014 D110 382 Twitter: Foto dan Video Lebih Banyak Dapat Retweet 12-08-2014 D111 385 Bahasa Apa yang Paling Populer di Twitter? 12-08-2014 D112 388 Teman Jadi 500, Pendiri Path Singgung Indonesia 12-08-2014 D113 391 Anindya Bakrie Akui Beli Path Atas Saran Teman Kuliah 12-08-2014 D114 394 Path Angkat Bicara Soal Investasi Bakrie di Perusahaannya 12-08-2014 D115 397 Friend Limit Path Bakal Ditambah, Tak Lagi Eksklusif 150 12-08-2014 D116 401 Arab Saudi Akan Filter Konten YouTube 12-08-2014 D117 404 YouTube dan Google Search Mobile Akan Dibanjiri Iklan 12-08-2014 D118 407 Jegal YouTube, Yahoo Siapkan Layanan Video Online 12-08-2014 D119 410 Setelah Twitter dan Youtube, Turki Blokir DNS Google 12-08-2014 D120 413 Turki Blokir Youtube

  12-08-2014 D121 417 Smartphone Android Nokia X Berhasil Diroot, Nokia Malah Senang 12-08-2014 D122 421

  Smartphone Nokia Mengunakan Android Meluncur ke Pasaran dengan Tambahan Aplikasi Messenger WeChat

  12-08-2014 D123 424

  Smartphone Nokia Lumia 630 sudah Mendapat Persetujuan Sertifikasi Kominfo dan Pemerintah Thailand

  12-08-2014 D124 427

  Microsoft Dikabarkan akan Meluncurkan Smartphone Nokia Superman yang Menawarkan Kamera Depan 5MP untuk Foto Selfie 12-08-2014

  No ID Judul Berita Tgl

  D125 430 Microsoft akan Hentikan Dukungan untuk Smartphone Windows Phone 7.8 pada September 2014

  12-08-2014 D126 433 Ini ternyata alasan Nokia pilih Windows Phone daripada Android 12-08-2014 D127 436

  Setelah India, Smartphone Android Nokia X kini Resmi Dijual di Filipina

  12-08-2014 D128 440

  Kominfo Dikabarkan Sudah Melakukan Pengujian Terhadap Smartphone Android Nokia Normandy

  12-08-2014 D129 443 75 Persen Aplikasi Android Bisa Dijalankan di Smartphone Nokia X 12-08-2014 D130 446 Daftar Potongan Harga Smartphone Nokia di MBCS 12-08-2014 D131 449 Nokia belum Berhenti Luncurkan Smartphone Windows Phone 12-08-2014 D132 454 Pengguna iPhone Kuasai Trafik Internet 12-08-2014 D133 457 Waspada! Predator Anak Berkeliaran di Internet 12-08-2014 D134 460 Polisi Bongkar Pabrik Rekondisi BB dan iPhone di Penjaringan 12-08-2014 D135 463 iPhone Rusak Terjual Rp 750 Juta, Kok Bisa? 12-08-2014 D136 466 Konsumen Jepang Masih Tergila-gila iPhone 12-08-2014 D137 469 Apple Percepat Peluncuran iPhone 6 12-08-2014 D138 472 Apple Rekrut Pakar Kamera PureView Lumia 12-08-2014 D139 475 Manufaktur Apple Dapat 15% Orderan iPhone 6 12-08-2014 D140 478 Anak Sekolah Direkrut Jadi Kurir Penyelundup iPhone 12-08-2014 D141 481 Potensi Industri Serious Game Indonesia Mulai Diakui Dunia 12-08-2014 D142 484 Facebook Bisa Kenali Lagu dan Acara TV 12-08-2014 D143 487 iMessage Tak Mau Kirim Pesan, Apple Dituntut 12-08-2014 D144 491 BlackBerry Gelar Kompetisi Aplikasi "Kota Pintar" 12-08-2014 D145 494 Facebook Garap Aplikasi "Video Chat" 12-08-2014 D146 497 Gmail di Android Capai 1 Miliar Unduhan 12-08-2014 D147 500 WhatsApp Hilang dari Toko Aplikasi WIndows Phone 12-08-2014 D148 503 Bolt Hadirkan Dua Perangkat Baru 12-08-2014 D149 506 Surface Pro 3 Coba Lawan iPad dan MacBook 12-08-2014 D150 509 Intel: Jam Tangan Pintar Jangan Cuma Keren 12-08-2014 D151 512 Surface Pro 3 vs Tablet dan Laptop 12-08-2014 D152 515 Microsoft Batal Hadirkan Surface Mini 12-08-2014 D153 518 BlackBerry Z3 Mulai Dijual di Indonesia 12-08-2014 D154 521 BlackBerry Z3 Mulai Dijual di Indonesia 12-08-2014 D155 526 iPad Bakal Adopsi Fitur Tablet Microsoft? 12-08-2014 D156 529 Tiongkok Larang Windows 8 di Kantor Pemerintah 12-08-2014 D157 532 Joget di YouTube, 6 Orang Diciduk Polisi Iran 12-08-2014 D158 535 Windows 8 Dilarang di Tiongkok, Microsoft Bereaksi 12-08-2014 D159 538 Apple dan Samsung Tak Jadi "Baikan" 12-08-2014 D160 541 Apple Bukan Lagi Merek Paling Mahal di Dunia 12-08-2014 D161 544 Axioo Targetkan 5 Besar di Indonesia 12-08-2014 D162 547 Setelah Rajai Smartphone, Ini Incaran Samsung 12-08-2014 D163 550 Berapa Dana "Belanja" Google di Luar AS? 12-08-2014 D164 553 BlackBerry Tak Minat Bikin Ponsel "Murah" 12-08-2014 D165 556 Logo Lama Apple Dijual Rp 100 Juta 12-08-2014 D166 559 WeChat Hadirkan Fitur Baru untuk Penggila Selfie 12-08-2014

  No ID Judul Berita Tgl

  D167 562 Desain Nexus 10 2 Beredar di Internet 12-08-2014 D168 565 Diretas, 150 Juta Pengguna eBay Harus Ganti Password 12-08-2014 D169 568 Lamban Respon Aksi Hacker, eBay Dikomplain di Twitter 12-08-2014 D170 571 eBay Diprotes Tampilkan Iklan Tiket ke Surga 12-08-2014 D171 574 Hacker Bobol eBay, Curi Data Penting Pengguna 12-08-2014 D172 577 eBay Perkenalkan Logo Anyarnya 12-08-2014 D173 580 Lenovo Klaim 'Gilas' Apple di Amerika Serikat 12-08-2014 D174 583 LG Optimus G Pro Sudah Update KitKat 12-08-2014 D175 586 Ini Daftar Ponsel yang Dapat Update Android KitKat 12-08-2014 D176 589 Samsung Dapat Update Android KitKat, Ini Daftar Perangkatnya 12-08-2014 D177 592 Facebook Rilis Fitur Keamanan Anti Bullying 12-08-2014 D178 595 Nokia: Menjual Divisi Perangkat Adalah Keputusan Tepat 12-08-2014 D179 598 WeChat Tawarkan Penyimpanan Cloud Berkapasitas 1 GB 12-08-2014 D180 601 Manufaktur Tiongkok Enggan Adopsi Windows Phone 12-08-2014 D181 604 Logitech Kecipratan Untung dari Perangkat Mobile 12-08-2014 D182 607 Logitech Pikat Gamer dengan Mouse G502 Proteus Core 12-08-2014 D183 610 5 Speaker Terbaru Logitech Hadir Dengan Karakteristik Unik 12-08-2014 D184 613 Logitech Segera Hadirkan Controller Game Untuk iPhone? 12-08-2014 D185 616 Status-status alay di Facebook kemungkinan akan berkurang 12-08-2014 D186 619 Hacker temukan cara hidupkan iPhone yang 'mati' 12-08-2014 D187 622 Segera, Facebook tambahkan fitur tag lagu otomatis 12-08-2014 D188 625 Google berencana pasang iklan di semua peralatan rumah 12-08-2014 D189 628 Facebook dan Twitter laksana lingkaran setan 12-08-2014 D190 631 Google kalahkan Apple sebagai brand termahal 2014 12-08-2014 D191 634 Cortana lebih unggul dibanding Siri dan Google Now 12-08-2014 D192 637 Beli Word Lens, Google ingin 'mentranslate' lebih baik 12-08-2014 D193 640 Pengguna iPhone lebih cerdas, pengguna Android paling berantakan 12-08-2014 D194 643 Berhati-hatilah apabila membeli iPhone dari China 12-08-2014 D195 646 Dibanding Android, pengguna iPhone banyak yang gunakan obat 12-08-2014 D196 649 Pertumbuhan Android KitKat menakjubkan 12-08-2014 D197 652 Apple tetap kuasai pasar smartphone Amerika Serikat 12-08-2014 D198 655 Gunakan paten baru, Apple tambahkan panel surya ke smartphone 12-08-2014 D199 658 Tiga bulan, Apple jual lebih dari 5000km iPhone 12-08-2014 D200 661 Kendati sering 'bertengkar', Apple tetap butuh Samsung 12-08-2014 D201 668 Jusuf Kalla: Pencitraan Itu sebelum Pemilu, Sekarang Kerja Keras 12-08-2014 D202 671 Kepala BPH Migas Minta Jokowi Naikkan Harga BBM 12-08-2014 D203 676 Pengunduran Diri Jokowi Diprediksi Akan Menemui Hambatan 12-08-2014 D204 679 Wall Street Dibuka Menguat, Indeks S&P 500 Sentuh Rekor Baru 12-08-2014 D205 682 Jero: BBM Nonsubsidi Berapapun Mau Beli, Ada 12-08-2014 D206 685 BBM Bersubsidi Langka, Ini Jawaban Pertamina 12-08-2014 D207 688 Tol Laut Jokowi Dimulai dari Indonesia Timur 12-08-2014 D208 692 Jokowi: 70 Persen Subsidi BBM Dinikmati Pengguna Mobil 12-08-2014 D209 695 Kebutuhan BBM dan Elpiji Naik Hingga 14 Persen Jelang Lebaran 12-08-2014 D210 698 Kenaikan Harga BBM Tunggu Pembicaraan SBY dan Jokowi 12-08-2014

  No ID Judul Berita Tgl

  D211 701 Menu Saham yang Dapat di Lirik 12-08-2014 D212 704 Saham CPGT Diminta untuk Disuspensi 12-08-2014 D213 707 Pemegang Saham Cipaganti Minta Audit Khusus 12-08-2014 D214 710 Cipaganti Rekrut Direktur Independen CMNP 12-08-2014 D215 713 1 Lagi Pengurus Koperasi Cipaganti Jadi Tersangka 12-08-2014 D216 720 Jokowi Harus Hati-Hati Serangan dari Ekonomi Eropa 12-08-2014 D217 723 Pengusaha Tolak Kenaikan BBM jika untuk Belanja Pegawai 26-08-2014 D218 726

  Ahmad Erani Yustika: Ekonomi yang Istimewa & Meleset di Masa SBY

  26-08-2014 D219 729 Jokowi Effect Luntur, Rupiah Kembali Melemah 26-08-2014 D220 732 Jurus Jokowi-JK Genjot Sektor Kelautan dan Perikanan RI 26-08-2014 D221 735 Enam Prioritas Perbaikan Sektor Kelautan Era Jokowi-JK 26-08-2014 D222 738 Ini Dua Konsep Pelabuhan yang Bakal Dibangun Jokowi-JK 26-08-2014 D223 741 Soal ISIS, Indonesia Tunjukan Kekompakan 26-08-2014 D224 744 Kemlu Terus Cari Tahu Siapa WNI yang Ikut ISIS 26-08-2014 D225 747 Dubes Lintas Negara di Indonesia Bahas ISIS 26-08-2014 D226 750 Lima Warga Inggris Diduga Gabung ISIS 26-08-2014 D227 753 Qatar Bantah Mendanai ISIS 26-08-2014 D228 756 Iran Beri Solidaritas saat Irak Diserang ISIS 26-08-2014 D229 759 Cepat atau Lambat ISIS akan Serang Inggris 26-08-2014 D230 762 Ditahan Militan, AS akan Terus Berusaha Bebaskan Warganya 26-08-2014 D231 765 Bebaskan Curtis, AS Kerja Sama dengan Sejumlah Negara 26-08-2014 D232 768 AS-Inggris Bentuk Satuan Khusus untuk Hancurkan ISIS 26-08-2014 D233 771 Mengapa AS Tak Mau Bayar Tebusan untuk Bebaskan James Foley? 26-08-2014 D234 774 Pasukan Komando AS Gagal Bebaskan Wartawan yang Dipenggal ISIS 26-08-2014 D235 777 Ribuan Pelayat Hadiri Pemakaman Michael Brown 26-08-2014 D236 780 Obama Kirim 3 Perwakilan ke Upacara Pemakaman Michael Brown 26-08-2014 D237 783 Iran: "Drone" Israel Diterbangkan dari Negara Lain 26-08-2014 D238 787 Israel Rubuhkan Bangunan Tertinggi di Gaza 26-08-2014 D239 790 Serangan Israel Bunuh Tiga Komandan Hamas 26-08-2014 D240 793 Menang 2-0, Madrid Buka Sejarah Persaingan dengan Cordoba 26-08-2014 D241 796 Susunan Pemain Atletico vs Real Madrid 26-08-2014 D242 799 Susunan Pemain Real Madrid Kontra Cordoba 26-08-2014 D243 802 Susunan Pemain Madrid Kontra Atletico 26-08-2014 D244 805 Babak I, Benzema Bawa Madrid Ungguli Cordoba 26-08-2014 D245 808 Jadwal Siaran Langsung Kualifikasi Liga Champions 26-08-2014 D246 811 "Arsenal Jalani Misi Sulit untuk Lolos ke Liga Champions" 26-08-2014 D247 814 Menang Tipis, Porto Buka Peluang Lolos Liga Champions 26-08-2014 D248 817 Susunan Pemain Duel Kualifikasi Liga Champions Lille vs Porto 26-08-2014 D249 820 Madrid Akan Jadi Tim Pertama Pertahankan Trofi Liga Champions 26-08-2014 D250 822 Liga Champions Sangat Penting Bagi Madrid 26-08-2014 D252 826 Atletico Madrid Siap Ajukan Banding! 26-08-2014 D253 829 Atletico Tebar Ancaman

  26-08-2014 D254 832 Atletico Terancam Kehilangan Bek Lagi 26-08-2014 D255 835 Atletico Masih Lapar Gelar 26-08-2014

  No ID Judul Berita Tgl

  D256 838 Jacksen Tiago: Kami sukses manfaatkan kelemahan Kuwait SC 26-08-2014 D257 841 Review AFC: Hajar Kuwait, Persipura Cetak Sejarah 26-08-2014 D258 844 Bawa nama Indonesia, Persipura target menang di Kuwait 26-08-2014 D259 847 Real Madrid akan Terus Datangkan Pemain Top Dunia 26-08-2014 D260 850 Performa Madrid Akan Meningkat Seiring Waktu 26-08-2014 D261 855 Auto Draft

  26-08-2014 D262 856 Tiba di Manchester, Di Maria Segera Geser Fernando Torres 26-08-2014 D263 860 Ini Alasan Balotelli Gabung ke Liverpool 26-08-2014 D264 863 Balotelli Selesaikan Transfernya dengan Baju "Garuda Indonesia" 26-08-2014

  

LAMPIRAN II

DAFTAR STOPWORD

  Daftar stopword diambil dari penelitian Fadillah Z Tala dalam jurnalnya “A Study of stemming Effects on Information Retrieval in Bahasa Indonesia ”.

  ada bukankah hingga maupun pihak seringnya yakni adalah bukanlah ia melainkan pihaknya serta yang adanya bukannya ialah melakukan pukul serupa adapun bulan ibarat melalui pula sesaat agak bung ibaratkan melihat pun sesama agaknya cara ibaratnya melihatnya punya sesampai agar caranya ibu memang rasa sesegera akan cukup ikut memastikan rasanya sesekali akankah cukupkah ingat memberi rata seseorang akhir cukuplah ingat-ingat memberikan rupanya sesuatu akhiri cuma ingin membuat saat sesuatunya akhirnya dahulu inginkah memerlukan saatnya sesudah aku dalam inginkan memihak saja sesudahnya akulah dan ini meminta sajalah setelah amat dapat inikah memintakan saling setempat amatlah dari inilah memisalkan sama setengah anda daripada itu memperbuat sama-sama seterusnya andalah datang itukah mempergunak an sambil setiap antar dekat itulah memperkiraka n sampai setiba antara demi jadi memperlihatk an sampai-sampai setibanya antaranya demikian jadilah mempersiapka n sampaikan setidak- tidaknya apa demikianlah jadinya mempersoalka n sana setidaknya apaan dengan jangan mempertanya kan sangat setinggi apabila depan jangankan mempunyai sangatlah seusai apakah di janganlah memulai satu sewaktu apalagi dia jauh memungkinka n saya siap apatah diakhiri jawab menaiki sayalah siapa artinya diakhirinya jawaban menambahkan se siapakah asal dialah jawabnya menandaskan sebab siapapun asalkan diantara jelas menanti sebabnya sini atas diantaranya jelaskan menanti-nanti sebagai sinilah atau diberi jelaslah menantikan sebagaimana soal ataukah diberikan jelasnya menanya sebagainya soalnya ataupun diberikannya jika menanyai sebagian suatu awal dibuat jikalau menanyakan sebaik sudah awalnya dibuatnya juga mendapat sebaik-baiknya sudahkah bagai didapat jumlah mendapatkan sebaiknya sudahlah bagaikan didatangkan jumlahnya mendatang sebaliknya supaya bagaimana digunakan justru mendatangi sebanyak tadi bagaimanak ah diibaratkan kala mendatangkan sebegini tadinya bagaimanap un diibaratkannya kalau menegaskan sebegitu tahu bagi diingat kalaulah mengakhiri sebelum tahun bagian diingatkan kalaupun mengapa sebelumnya tak bahkan diinginkan kalian mengatakan sebenarnya tambah bahwa dijawab kami mengatakanny a seberapa tambahnya bahwasanya dijelaskan kamilah mengenai sebesar tampak baik dijelaskannya kamu mengerjakan sebetulnya tampaknya bakal dikarenakan kamulah mengetahui sebisanya tandas bakalan dikatakan kan menggunakan sebuah tandasnya balik dikatakannya kapan menghendaki sebut tanpa banyak dikerjakan kapankah

mengibaratka

n sebutlah tanya bapak diketahui kapanpun

mengibaratka

nnya sebutnya tanyakan baru diketahuinya karena mengingat secara tanyanya bawah dikira karenanya mengingatkan secukupnya tapi beberapa dilakukan kasus menginginkan sedang tegas begini dilalui kata mengira sedangkan tegasnya beginian dilihat katakan mengucapkan sedemikian telah beginikah dimaksud katakanlah

mengucapkan

nya sedikit tempat beginilah dimaksudkan katanya mengungkapk an sedikitnya tengah begitu dimaksudkanny a ke menjadi seenaknya tentang begitukah dimaksudnya keadaan menjawab segala tentu begitulah diminta kebetulan menjelaskan segalanya tentulah begitupun dimintai kecil menuju segera tentunya bekerja dimisalkan kedua menunjuk seharusnya tepat belakang dimulai keduanya menunjuki sehingga terakhir belakangan dimulailah keinginan menunjukkan seingat terasa belum dimulainya kelamaan menunjuknya sejak terbanyak belumlah dimungkinkan kelihatan menurut sejauh terdahulu benar dini kelihatannya menuturkan sejenak terdapat benarkah dipastikan kelima menyampaika n sejumlah terdiri benarlah diperbuat keluar menyangkut sekadar terhadap berada diperbuatnya kembali menyatakan sekadarnya terhadapnya berakhir dipergunakan kemudian menyebutkan sekali teringat berakhirlah diperkirakan kemungkinan menyeluruh sekali-kali teringat-ingat berakhirnya diperlihatkan kemungkinannya menyiapkan sekalian terjadi berapa diperlukan kenapa merasa sekaligus terjadilah berapakah diperlukannya kepada mereka sekalipun terjadinya berapalah dipersoalkan kepadanya merekalah sekarang terkira berapapun dipertanyakan kesampaian merupakan sekarang terlalu berarti dipunyai keseluruhan meski sekecil terlebih berawal diri keseluruhannya meskipun seketika terlihat berbagai dirinya keterlaluan meyakini sekiranya termasuk berdatangan disampaikan ketika meyakinkan sekitar ternyata beri disebut khususnya minta sekitarnya tersampaikan berikan disebutkan kini mirip sekurang- kurangnya tersebut berikut disebutkannya kinilah misal sekurangnya tersebutlah berikutnya disini kira misalkan sela tertentu berjumlah disinilah kira-kira misalnya selain tertuju berkali-kali ditambahkan kiranya mula selaku terus berkata ditandaskan kita mulai selalu terutama berkehenda k ditanya kitalah mulailah selama tetap berkeingina n ditanyai kok mulanya selama-lamanya tetapi berkenaan ditanyakan kurang mungkin selamanya tiap berlainan ditegaskan lagi mungkinkah selanjutnya tiba berlalu ditujukan lagian nah seluruh tiba-tiba berlangsung ditunjuk lah naik seluruhnya tidak berlebihan ditunjuki lain namun semacam tidakkah bermacam ditunjukkan lainnya nanti semakin tidaklah bermacam- macam ditunjukkannya lalu nantinya semampu tiga bermaksud ditunjuknya lama nyaris semampunya tinggi bermula dituturkan lamanya nyatanya semasa toh bersama dituturkannya lanjut oleh semasih tunjuk bersama- sama diucapkan lanjutnya olehnya semata turut bersiap diucapkannya lebih pada semata-mata tutur bersiap-siap diungkapkan lewat padahal semaunya tuturnya bertanya dong lima padanya sementara ucap bertanya- tanya dua luar pak semisal ucapnya berturut dulu macam paling semisalnya ujar berturut- turut empat maka panjang sempat ujarnya bertutur enggak makanya pantas semua umum berujar enggaknya makin para semuanya umumnya

berupa entah malah pasti semula ungkap besar entahlah malahan pastilah sendiri ungkapnya betul guna mampu penting sendirian untuk betulkah gunakan mampukah pentingnya sendirinya usah biasa hal mana per seolah usai biasanya hampir manakala percuma seolah-olah waduh bila hanya manalagi perlu seorang wah bilakah hanyalah masa perlukah sepanjang wahai bisa hari masalah perlunya sepantasnya waktu bisakah harus masalahnya pernah sepantasnyalah waktunya boleh haruslah masih persoalan seperlunya walau bolehkah harusnya masihkah pertama seperti walaupun bolehlah hendak masing pertama-tama sepertinya wong buat hendaklah masing-masing pertanyaan sepihak yaitu bukan hendaknya mau pertanyakan sering yakin

  

LAMPIRAN III

LISTING PROGRAM

  1. Text filtering

  a. Ambil hanya huruf, angka dan spasi Untuk membuang semua yang tidak dibutuhkan yang tersisa hanya huruf, angka dan spasi. Kode programnya adalah sebagai berikut :

  $this->result = preg_replace("/\r\n|\r|\n/",' ',$this->result); $this->result = preg_replace('/<[^>]*>/', '', $this->result); $this->result = preg_replace("/[^a-zA-Z0-9\s]/", " ", $this->result); $this->result = preg_replace('/\s+/', ' ', $this->result);

  b. Stopword Removal Untuk membuang kata – kata yang tidak dibutuhkan dengan cara memiliki terlebih dahulu daftar kata yang tidak dibutuhkan (stopword), selanjutnya melakukan pengecekan jika tersedia kata tersebut dalam judul berita akan dieliminasi.

  $query_stopword = mysql_query("select * from ".$this->prefix."stopword"); $needles=array(); while($fetch_stopword = mysql_fetch_assoc($query_stopword)){ array_push($needles,'/\b'.$fetch_stopword["stopword"].'\b/i');

  } $this->result=preg_replace($needles, "", $this->result);

  2. Stemming Kode program untuk stemming berasal dari http://sukmanapradibtha.wordpress.com/, karena kode sumber tersebut sudah digunakan dalam beberapa penelitian lainnya dan terbukti tepat seperti algoritma porter.

  a. Tahap 1 Pada tahap 1 fokus utama melakukan penghapusan partikel, namun sebelum dilakukan proses penghapusan dilakukan pengecekan terlebih dahulu tentang kata pengecualian yang tersedia pada tabel dsr_partikel dan dsr_partikel_prefiks.

  $partikel = mysql_query("SELECT * FROM ".$this->prefix."dsr_partikel WHERE name ='$word'"); if(mysql_num_rows($partikel)==1){

  $dasar =$word; return $dasar; } else { $partikel_berprefiks=mysql_query("SELECT * FROM

  ".$this->prefix."dsr_partikel_prefiks WHERE name='$word'"); if(mysql_num_rows($partikel_berprefiks)==1 && strlen($word) > 4){ if(substr($word,0,4)=="meng" or substr($word,0,4)=="peng"){ return substr($word,4); }else if(substr($word,0,4)=="meny" or substr($word,0,4)=="peny") {

  $dasar =substr($word,4); return "s".$dasar; }else if(substr($word,0,3)=="mel" or substr($word,0,3)=="mer" or substr($word,0,3)=="mew" or substr($word,0,3)=="mey") { return substr($word,2);

  }else if(substr($word,0,2)=="di"){ return substr($word,2); }else if(substr($word,0,3)=="mem" or substr($word,0,3)=="pem"){ if(substr($word,3,1)=="a" or substr($word,3,1)=="i" or substr($word,3,1)=="u" or substr($word,3,1)=="e" or substr($word,3,1)=="o"){ $dasar =substr($word,3); return "p".$dasar;

  }else{ $dasar =substr($word,3); return $dasar;} }else if(substr($word,0,3 == "pel")){ $dasar =substr($word,4); return $dasar; } else if(substr($word,0,3)=="men" or substr($word,0,3)=="pen" ){ $dasar =substr($word,3); return "t".$dasar; }

  } else{ if((substr($word, -3) == 'kah' )||( substr($word, -3) == 'lah' )|| (substr($word, -3) == 'pun' )||( substr($word, -3) == 'tah' )){

  $word2 = substr($word, 0, -3);} else{ $word2 = $word; } } }

  b. Tahap 2 Pada tahap 2 fokus utama adalah untuk menghapus possessive pronoun, namun sebelum dilakukan proses penghapusan dilakukan pengecekan terlebih dahulu pengecekan melalui tabel dsr_milik dan dsr_milik_prefiks.

  $milik = mysql_query("SELECT * FROM ".$this->prefix."dsr_milik WHERE name='$word2'"); if(mysql_num_rows($milik)==1){

  $dasar =$word2; return $dasar; } c. Tahap 3 Pada tahap 3 fokus utama adalah untuk menghapus awalan, jika proses menghapus tidak berhasil dilakukan maka akan lanjut pada tahap 4 else {

  $milik_berprefiks = mysql_query("SELECT * FROM ".$this->prefix."dsr_milik_prefiks WHERE name='$word2'"); if(mysql_num_rows($milik_berprefiks)==1 && strlen($word2) > 4){ if(substr($word2,0,4)=="meng" or substr($word2,0,4)=="peng"){ return substr($word2,4); }else if(substr($word2,0,4)=="meny" or substr($word2,0,4)=="peny"){

  $dasar =substr($word2,4); return "s".$dasar; }else if(substr($word2,0,3)=="mel" or substr($word2,0,3)=="mew" or substr($word2,0,3)=="mer" or substr($word2,0,3)=="mey"){ return substr($word2,2);

  }else if(substr($word2,0,2)=="di"){ return substr($word2,2); }else if(substr($word2,0,3)=="mem" or substr($word2,0,3)=="pem" ){ if(substr($word2,3,1)=="a" or substr($word2,3,1)=="i" or substr($word2,3,1)=="u" or substr($word2,3,1)=="e" or substr($word2,3,1)=="o"){

  $dasar =substr($word2,3); return "p".$dasar; }else{ $dasar =substr($word2,3); return $dasar;}

  }else if(substr($word2,0,3 == "pel")){ $dasar =substr($word2,4); return $dasar;

  }else if(substr($word2,0,3)=="men" or substr($word2,0,3)=="pen" ){ $dasar =substr($word2,3); return "t".$dasar; }

  } else{ if((substr($word2, -2)== 'ku')||(substr($word2, -2)== 'mu')){ $word3 = substr($word2, 0, -2);

  }else if((substr($word2, -3)== 'nya')){ $word3 = substr($word2,0, -3); }else{ $word3 = $word2; }

  } } $prefiks1 = mysql_query("SELECT * FROM ".$this->prefix."dsr_prefiks1

  WHERE name='$word3'"); if(mysql_num_rows($prefiks1)==1){ $dasar =$word3; return $dasar;

  } else { $prefiks1_sufiks = mysql_query("SELECT * FROM ".$this->prefix."dsr_prefiks1_sufiks WHERE name='$word3'"); if(mysql_num_rows($prefiks1_sufiks)==1 && strlen($word3) > 4){ if (substr($word4, -3)== 'kan'){ $dasar = substr($word4, 0, -3); return $dasar;} elseif (substr($word4, -1)== 'i'){ $dasar = substr($word4, 0, -1); return $dasar;} elseif (substr($word4, -2)== 'an'){ $dasar = substr($word4, 0, -2); return $dasar;} } else{ if(substr($word3,0,4)=="meng" or substr($word3,0,4)=="peng"){

  $word4 = substr($word3,4); }else if(substr($word3,0,4)=="meny" or substr($word3,0,4)=="peny"){

  $dasar = substr($word3,4); $word4 = "s".$dasar; }else if(substr($word3,0,3)=="mel" or substr($word3,0,3)=="mew" or substr($word3,0,3)=="mer" or substr($word3,0,3)=="mey"){

  $word4 = substr($word3,2); }else if(substr($word3,0,2)=="di"){ $word4 = substr($word3,2); }else if(substr($word3,0,3)=="mem" or substr($word2,0,3)=="pem"){ if(substr($word3,3,1)=="a" or substr($word3,3,1)=="i" or substr($word3,3,1)=="u" or substr($word3,3,1)=="e" or substr($word3,3,1)=="o"){

  $dasar =substr($word3,3); $word4 = "p".$dasar; }else{ $dasar =substr($word3,3); $word4 = $dasar;}

  }else if(substr($word3,0,3 == "pel")){ $dasar =substr($word3,4); echo $dasar;

  }else if(substr($word3,0,3)=="men" or substr($word3,0,3)=="pen"){ $dasar =substr($word3,3); $word4 = "t".$dasar;

  }else{ $word4 = $word3; } } }

  d. Tahap 4 Fokus utama tahap 4 adalah menghapus awalan, jika berhasil lanjutkan ke tahap 5 akan tetapi jika tidak berhasil akan dilakukan proses menghapus akhiran. Untuk proses menghapus akhiran jika gagal maka dianggap kata tersebut sudah menjadi kata dasar dan jika berhasil akan dilanjutkan pada tahap 5

  $prefiks2 = mysql_query("SELECT * FROM ".$this->prefix."dsr_prefiks2 WHERE name='$word4'"); if(mysql_num_rows($prefiks2)==1){

  $dasar =$word4; return $dasar; } else { $prefiks2_sufiks = mysql_query("SELECT * FROM ".$this->prefix."dsr_prefiks2_sufiks WHERE name='$word4'"); if(mysql_num_rows($prefiks2_sufiks)==1 && strlen($word4) > 4){ if (substr($word4, -3)== 'kan'){

  $dasar = substr($word4, 0, -3); return $dasar;} elseif (substr($word4, -1)== 'i'){ $dasar = substr($word4, 0, -1); return $dasar;} elseif (substr($word4, -2)== 'an'){ $dasar = substr($word4, 0, -2); return $dasar;}

  } else{ if(substr($word4,0,3)=="ber" or substr($word4,0,3)=="per"){ $word5 = substr($word4,3);

  }else if(substr($word4,0,2)=="be"){ if(substr($word4,3)=="ajar"){ $dasar =substr($word4,3); $word5 = $dasar;

  }else{ $dasar =substr($word4,2); $word5 = $dasar;}

  }else if(substr($word4,0,2)=="se" or substr($word4,0,2)=="ke"){ $word5 = substr($word4,2);

  }else if(substr($word4,0,3) == "pel" or substr($word4,0,3) == "ter"){ $word5 =substr($word4,3); } else{ $word5 = $word4; }

  } }

  e. Tahap 5 Pada tahap 5 dilakukan hapus akhiran dan hapus awalan kemudian diasumsikan sebagai kata dasar.

  $sufiks = mysql_query("SELECT * FROM ".$this->prefix."dsr_sufiks WHERE name='$word5'");

  $prefiks2_sufiks = mysql_query("SELECT * FROM ".$this->prefix."dsr_prefiks2_sufiks WHERE name='$word5'"); if(mysql_num_rows($sufiks)==1){

  $dasar =$word5; return $dasar; }else{ if (substr($word5, -3)== 'kan' && strlen($word5) > 4){

  $dasar1 = substr($word5, 0, -3); } elseif (substr($word5, -1)== 'i'){ $dasar1 = substr($word5, 0, -1); } elseif (substr($word5, -2)== 'an'){ $dasar1 = substr($word5, 0, -2); }

  $dasar = $dasar1; if($dasar == "") return $word; else return $dasar1;}

  3. CSR Sparse Matrix Vector Multiplication

  a. Membuat Tabel Tf Menyimpan dalam array untuk setiap term pada masing – masing dokumen foreach($document as $key => $val){

  $potong = explode(" ",$val); foreach($potong as $key2 => $val2) { if(!empty($val2)){ if(array_key_exists($val2, $docs_term)) { $docs_term[$val2]++; } else { $docs_term[$val2] = 1; }

  } }

  b. Membuat Tabel Df dan Idf Menyimpan ke array untuk setiap nilai Df dan Idf dengan cara mengambil nilai dari tf yang ada pada tabel doc_frequency_proximity di database.

  $hitung_total = mysql_fetch_assoc(mysql_query("select count(*) as 'total' from “.$this->prefix.”posts where MONTH(“.$this->prefix.”posts.post_date) =

  '".$this->bulan."' AND post_type='post' AND ID != '".$this->id_post."' and ID not in (select id_post from “.$this->prefix.”post_access where id_user='".$this-

  >id_user."')")); // melakukan perulangan untuk membuat table df dan idf $query = mysql_query("select “.$this->prefix.”docs_frequency_proximity.term as 'term', count(*) as 'df' from “.$this->prefix.”posts, “.$this-

  >prefix.”docs_frequency_proximity where MONTH(

  “.$this->prefix.”posts.post_date) = '".$this->bulan."' AND “.$this->prefix.”posts.ID=“.$this- >prefix.”docs_frequency_proximity.id_post AND “.$this->prefix.”posts.post_type='post' AND “.$this-

  >prefix.”docs_frequency_proximity.id_post not in (select id_post from “.$this->prefix.”post_access where id_user='".$this->id_user."') group by “.$this->prefix.”docs_frequency_proximity.term") or die(mysql_error());

  $term_idf = array(); while($fetch = mysql_fetch_assoc($query)){ if(!empty($fetch["term"])) $term_idf[$fetch["term"]] = (double) number_format(log10($hitung_total["total"] / $fetch["df"]),2); } c. Membuat sparse matrix Membentuk SparseMatrix dengan menyimpan ke dalam array untuk selanjutnya di buat ke dalam format CSR (kompresi). Untuk kolom dibentuk dengan term dan untuk baris dibentuk dengan jumlah dokumen. Untuk nilai dari sparse matrix yang non-zero merupakan hasil perkalian antara nilai tf dan idf

  $query_posts = mysql_query("select * from “.$this->prefix.”posts, “.$this->prefix.”term_relationships where MONTH( “.$this->prefix.”posts.post_date) = '".$this->bulan."' AND “.$this->prefix.”posts.post_type='post' AND “.$this->prefix.”posts.ID = “.$this->prefix.”term_relationships.object_id AND “.$this-

  >prefix.”posts.ID not in(select id_post from “.$this->prefix.”post_access where id_user='".$_COOKIE["PHPSESSID"]."') ") or die(mysql_error());

  $sparse_matrix = array(); $data = array(); // untuk menyimpan id_post supaya bisa di retrieva nantinya $doc_count = 0; $this->offset_vector_array = array(); $this->offset_marker_array = array(0); $nilai_terakhir_offset = 0; while($fetch_posts = mysql_fetch_assoc($query_posts)) {

  $sparse_matrix[$doc_count] = array(); $this->sparse_matrix_offset[$doc_count] = array(); $data[$doc_count] = $fetch_posts["ID"]; $get_id_doc = $fetch_posts["ID"]; $query_doc_frequency = mysql_query("select * from

  “.$this->prefix.”docs_frequency_proximity where id_post='".$get_id_doc."'"); while($fetch_doc_frequency = mysql_fetch_assoc($query_doc_frequency)){

  $count = $this->arrayKeyOrderNumber( $fetch_doc_frequency["term"],$term_idf);

  $sparse_matrix[$doc_count][$count] = (double) ($fetch_doc_frequency["tf"] * $term_idf[$fetch_doc_frequency["term"]]);

  $potong = explode(",",$fetch_doc_frequency["positions"]); foreach($potong as $key3 => $val3) { array_push($this->offset_vector_array,$val3); } $nilai_terakhir_offset += count($potong); array_push($this->offset_marker_array,$nilai_terakhir_offset);} $doc_count++;

  } d. Membentuk format CSR Membentuk format CSR dengan menyimpannya ke dalam 3 buat vektor yaitu : val_array (untuk menyimpan nilai non-zero), col_array (untuk menyimpan nilai kolom dari non-zero) dan row_ptr (untuk menyimpan baris).

  $sparseMatrix = $this->getSparseMatrix(); $val_array = array(); $col_array = array(); $ptr_array = array(); $nilai_terakhir = 0; array_push($ptr_array, $nilai_terakhir); foreach($sparseMatrix as $key => $val) { $count = 0; foreach($val as $key2 => $val2) { if($val2 != 0) { array_push($val_array, $val2); array_push($col_array, $key2);

  $count++; } } $nilai_terakhir += $count; array_push($ptr_array, $nilai_terakhir);

  }

  e. Membuat query Membentuk query dengan membentuk vektor, panjang kolom sama seperti panjang array term_idf, lalu untuk nilai non-zero adalah jika term dalam query tersedia juga di daftar term_idf, jika tidak ada akan diisi dengan nilai 0.00.

  $q_array = array(); foreach($this->term_idf as $key => $val) { if(in_array((string)$key, $news_term_list)) { array_push($q_array, $val); } else { array_push($q_array, number_format(0.00,2)); } }

  f. Melakukan CSR SpMV Melakukan perkalian antara sparse matrix yang telah dibentuk dalam format CSR dengan vektor query.

  $csr_output = array(); foreach($sparseMatrix as $count => $val) { $temp = 0; for($row_ind = $ptr_array[$count]; $row_ind <= ($ptr_array[$count+1] - 1);

  $row_ind++){ $col_ind = $col_array[$row_ind]; $temp = $temp + $val_array[$row_ind] * $q_array[$col_ind]; }

  $csr_output[$count] = number_format($temp,2); }

  4. Proximity Processing

  a. Membuat tabel Tf Offset Proses proximity processing yang membutuhkan posisi term dalam dokumen, maka harus dicatat lokasi dalam dokumen. Untuk setiap dokumen posisi dicatat yang dimulai dengan nilai 0. foreach($potong as $key2 => $val2){ if(!empty($val2)) { if(array_key_exists($val2, $docs_term)){ $docs_term[$val2]++; $docs_offset[$val2] .= ",".$urutan; } else { $docs_term[$val2] = 1; $docs_offset[$val2] = $urutan; if(array_key_exists($val2, $term_df)) { $term_df[$val2]++; } else { $term_df[$val2] = 1; }

  } // untuk term if(array_key_exists($val2,$term)){ $term[$val2]++; } else{ $term[$val2] = 1; } }

  $urutan++; }

  b. Membuat format CSR untuk proximity processing Membentuk CSR untuk proximity processing yang berbeda hanya jumlah vektor menjadi 4 yaitu val_array (untuk menyimpan nilai non-zero), col_array (untuk menyimpan nilai kolom), row_ptr (untuk menyimpan baris), offset_vector (menyimpan nilai posisi dari masing

  • – masing term) dan offset_marker (penanda nilai dari offset_vector, sehingga bisa diterjemahkan posisi masing – masing term ).

  $doc_count = 0; $this->offset_vector_array = array(); $this->offset_marker_array = array(0); $nilai_terakhir_offset = 0; while($fetch_posts = mysql_fetch_assoc($query_posts)) {

  $sparse_matrix[$doc_count] = array(); $this->sparse_matrix_offset[$doc_count] = array(); $data[$doc_count] = $fetch_posts["ID"]; $get_id_doc = $fetch_posts["ID"]; $query_doc_frequency = mysql_query("select * from

  “.$this->prefix.”docs_frequency_proximity where id_post='".$get_id_doc."'"); while($fetch_doc_frequency = mysql_fetch_assoc($query_doc_frequency)) {

  $count = $this->arrayKeyOrderNumber($fetch_doc_frequency["term"], $term_idf);

  $sparse_matrix[$doc_count][$count] = (double) ($fetch_doc_frequency["tf"] * $term_idf[$fetch_doc_frequency["term"]]); $potong = explode(",",$fetch_doc_frequency["positions"]); foreach($potong as $key3 => $val3) { array_push($this->offset_vector_array,$val3); }

  $nilai_terakhir_offset += count($potong); array_push($this->offset_marker_array,$nilai_terakhir_offset);} $doc_count++; } c. Membuat query v1 dan v2 Untuk melakukan proses proximity processing perlu dibuat query dengan 2 versi.

  Versi 1 untuk menampung nilai – nilai idf dari masing – masing term dan versi 2 untuk menampung posisi term dalam query.

  d. Melakukan proses proximity processing Melakukan proses proximity processing dengan cara membentuk pasangan untuk setiap term yang ditemukan, pasangan tersebut berisi posisi dalam dokumen, selanjutnya setiap pasangan tersebut akan dihitung jaraknya, jika hasilnya 1 maka dokumen tersebut sangat relevan dengan query.

  // untuk v1 $q_array = array(); foreach($this->term_idf as $key => $val) { if(in_array((string)$key, $potong)) { array_push($q_array, $val); } else { array_push($q_array, number_format(0.00,2)); } } // untuk v2 $q_urutan = array(); $potong = explode(" ",$query_string); // foreach($potong as $key => $val) {

  $val = strtolower($this->st->doStemming($val)); array_push($q_urutan, $this->arrayKeyOrderNumber( $val,$this->term_idf)); }

  $result = array(); $urutan = 0; $pair_array = array(); foreach($csr_output as $key => $val) { $query_result = array(); for($row_ind = $ptr_array[$key]; $row_ind <= ($ptr_array[$key+1]-1);

  $row_ind++){ $col_ind = $col_array[$row_ind];

  $save_temp = array(); if($q_array[$col_ind] > 0) { for($offset_id = $this->offset_marker_array[$urutan];

  $offset_id <= ($this->offset_marker_array[$urutan+1] - 1); $offset_id++){ array_push($save_temp,$this->offset_vector_array[$offset_id]);

  } } $result[$key][$col_ind] = $save_temp; $urutan++; foreach($q_urutan as $k => $v){

  $query_result[$k] = $result[$key][$v]; }

  // build pair $pair_array[$key] = array(); for($k=0; $k < count($query_result); $k++){

  $pair_array[$key][$k] = array(); if(count($query_result[$k]) > 0) { for($l=0; $l < count($query_result[$k]); $l++){ for($m=$k+1; $m < count($query_result); $m++){ if(count($query_result[$m]) > 0) { foreach($query_result[$m] as $k2 => $v2) { array_push($pair_array[$key][$k],$query_result[$k][$l]."-

  ".$v2.":".$k."-".($m)); }

  } }

  } }

  } } } foreach($pair_array as $key => $val) { $hasil[$key] = 0; foreach($val as $k => $v) {foreach($v as $k2 => $v2) {

  $potong_awal = explode(":",$v2); $potong = explode("-",$potong_awal[0]); $difference = intval($potong[1]) - intval($potong[0]); $potong = explode("-",$potong_awal[1]);

  $window = intval($potong[1]) - intval($potong[0]); if($difference >= 1 && $difference <= $window) {$hasil[$key]++; } } }

  $csr_output[$key] += $hasil[$key]; }

  5. Setting

  a. Setting sesi Untuk melakukan pengaturan lama aktif sesi dari pengguna anonim, tentang seberapa lama sistem akan mengenali user dengan identitas tersebut.

  $array = array(1,7,30,365); if(!empty($_POST["sesi"])){ mysql_query("update “.$this->prefix.”pnr_setting set value='".$_POST["sesi"]."' where name='sesi'"); } $data = mysql_fetch_assoc(mysql_query("select * from “.$this- >prefix.”pnr_setting where name='sesi'")); b. Setting ambil berita Untuk mengantur berita yang akan diambil untuk direkomendasikan.