EKSTRAKSI TREN TOPIK PORTAL BERITA ONLINE MENGGUNAKAN NON-NEGATIVE MATRIX FACTORIZATION

SKRIPSI

CLARA SRI MENDA BANGUN 121402099

PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017

Universitas Sumatera Utara EKSTRAKSI TREN TOPIK PORTAL BERITA ONLINE MENGGUNAKAN NON-NEGATIVE MATRIX FACTORIZATION

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

CLARA SRI MENDA BANGUN 121402099

PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017

Universitas Sumatera Utara i

PERSETUJUAN

Judul : EKSTRAKSI TREN TOPIK PORTAL BERITA ONLINE MENGGUNAKAN NON-NEGATIVE MATRIX FACTORIZATION Kategori : SKRIPSI Nama : CLARA SRI MENDA BANGUN Nomor Induk Mahasiswa : 121402099 Program Studi : S1 TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI Fakultas : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Mohammad Fadly Syahputra B.Sc, M.Sc, IT Sajadin Sembiring,S.Si.,M.Comp.Sc NIP. 19830129 200912 1 003 NIP. 19732303 201706 1001

Diketahui/disetujui oleh Program Studi S1 Teknologi Informasi Ketua,

Romi Fadillah Rahmat, B.Comp.Sc., M.Sc NIP. 19860303 201012 1 004

Universitas Sumatera Utara ii

PERNYATAAN

EKSTRAKSI TREN TOPIK PORTAL BERITA ONLINE MENGGUNAKAN NON-NEGATIVE MATRIX FACTORIZATION

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan,

Clara Sri Menda 121402099

Universitas Sumatera Utara iii

UCAPAN TERIMA KASIH

Puji dan syukur penulis sampaikan kehadirat Tuhan Yang Maha Esa yang telah memberikan berkat yang melimpah kepada penulis, sehingga dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi. Pertama, penulis ingin mengucapkan terima kasih sebesarnya kepada orang tua penulis, Bapak tercinta Alm. Drs. Darwin Bangun dan Ibu terkasih dra. Rosida Sembiring, serta kepada Bulang Alm. Ahmad Bangun dan Biring Ngamet Pelawi. Penulis juga mengucapkan terima kasih kepada abang dan kakak penulis Hiskia Bangun, Yolanda Bangun, beserta seluruh keluarga besar Bangun dan Sembiring yang memberikan kasih sayang, motivasi, serta doa tiada henti kepada penulis. Kedua, penulis juga mengucapkan terima kasih kepada Bapak Sajadin Sembiring, S.Si., M.Comp., Sc selaku Dosen Pembimbing I, Bapak Mohammad Fadly Syahputra B.Sc, M.Sc, IT selaku Dosen Pembimbing II yang telah meluangkan waktunya untuk membimbing penulis sehingga dapat menyelesaikan skripsi ini. Terima kasih juga penulis ucapkan kepada Bapak Dani Gunawan, ST., MT., selaku Dosen Pembanding I dan Bapak Baihaqi Siregar, S.Si., MT., selaku Dosen Pembanding II yang memberikan kritik dan saran yang bermanfaat dalam penyelesaian skripsi ini. Penulis ucapkan terima kasih kepada Ketua dan Sekretaris Program Studi S1 Teknologi Informasi, Dekan dan Wakil Dekan FASILKOM-TI, dan seluruh dosen serta staff pegawai di lingkungan Program Studi S1 Teknologi Informasi, yang telah membimbing penulis selama masa perkuliahan. Ketiga, terima kasih penulis ucapkan kepada sahabat tercinta yang selalu hadir memberikan dukungan dan semangat, Yossi Naomi, Irester Sihombing, Octavia Yohana, Novira Ginting, Wina Octaviana, Mutiara Christy, Yana Trisha, B’Family, PERMATA Bethesda, seluruh teman-teman angkatan 2012 dan junior serta senior Teknologi Informasi. Semoga Tuhan Yang Maha Esa selalu memberi berkat yang melimpah kepada sahabat tercinta. Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh sebab itu, penulis mengharapkan kritik dan saran yang bersifat membangun. Akhir kata penulis ucapkan terima kasih.

Universitas Sumatera Utara iv

ABSTRAK

Perkembangan teknologi informasi dan komunikasi mengakibatkan jumlah situs berita online yang menyajikan informasi berita terus bertambah. Hal ini menyebabkan pencarian tren topik berita yang sedang dibicarakan semakin luas dan membutuhkan waktu cukup lama jika dilakukan secara manual. Web Crawler merupakan program pengumpul informasi yang berjalan menelusuri halaman web dan mengumpulkan dokumen-dokumen atau data-data di dalamnya. Web crawler pada penelitian ini mengekstraksi informasi portal berita online untuk diambil berita-beritanya dan dimanfaatkan untuk pencarian tren topik secara otomatis dengan bantuan mesin. Pada penelitian ini beberapa tahapan yang dilakukan yaitu text pre-processing yang terdiri dari case-folding, tokenizing, filtering, stemming, pembuatan kamus n-gram yang merupakan kandidat hasil keluaran topik, dan selanjutnya tahapan ekstraksi tren topik dengan cara menghitung pembobotan kata hasil pembuatan kamus n-gram menggunakan term frequency dan Non-Negative Matrix Factorization (NMF). Pada penelitian ini jenis artikel yang diproses adalah 3 jenis kelompok berita, yaitu berita nasional, entertaiment, dan berita teknologi sebanyak 842 artikel. Hasil dari penelitian ini adalah berupa topik-topik sesuai dengan kelompok beritanya yang divisualisasikan dalam bentuk grafik.

Kata kunci: Text mining, Web Crawler, Kamus N-Gram, Non-Negative Matrix Factorization

Universitas Sumatera Utara v

ABSTRACT

The development of information technology and communication makes the number of online website that provides news continue to grow. This cause the search for news topics trends being discussed more widely and takes time if done manually. Web Crawler is an information gatherer program that runs through web pages and collects document or data in it. Web crawler in this study extracts information online news portal to capture its news and was used to search trens topic automatically with the help of machine. In this study, some of the steps are text pre-processing which consists of case-folding, tokenizing, filtering, stemming, making n-gram dictionary which is candidate of the topic output, and then the stage of topical trend extraction by counting the word weighting of the result n-gram dictionary using term frequency and Non-Negative Matrix Factorization (NMF). In this study the types of article processed are 3 types of news groups namely national news, entertaiment, and technology news as much as 842 articles. The result of this study is in the form of topics according to the news group visualized in graphical form.

Keyword: Text mining, Web Crawler, N-Gram Dictionary, Non-Negative Matrix Factorization

Universitas Sumatera Utara vi

DAFTAR ISI

Hal.

PERSETUJUAN 2 PERNYATAAN ii UCAPAN TERIMA KASIH iii ABSTRAK iv ABSTRACT v DAFTAR ISI vi DAFTAR TABEL ix DAFTAR GAMBAR x

BAB 1 PENDAHULUAN 1 1.1. Latar Belakang 1 1.2. Rumusan Masalah 3 1.3. Tujuan Penelitian 3 1.4. Batasan Masalah 4 1.5. Manfaat Penelitian 4 1.6. Metodologi Penelitian 4 1.7. Sistematika Penulisan 6

BAB 2 LANDASAN TEORI 8 2.1. Machine Learning 8 2.2. Web Crawler 9 2.3. Text Mining 10 2.4. Text Preprocessing 11 2.4.1. Case folding 12

Universitas Sumatera Utara vii

2.4.2. Tokenizing 13 2.4.3. Filtering 14 2.4.4. Stemming 15 2.5. Algoritma Nazief & Andriani 16 2.6. N-Gram 19 2.7. Pembobotan Term 20 2.8. Faktorisasi Matriks 21 2.8.1 Non-Negative Matrix Factorization (NMF) 21 2.9. Penelitian Terdahulu 23

BAB 3 ANALISIS DAN PERANCANGAN 28 3.1. Data Acquisition (Pengumpulan Data) 28 3.2. Analisis Sistem 28 3.2.1. Input Data 31 3.2.2. Text pre-processing 32 3.2.3. Pembuatan kamus n-gram 33 3.2.4. Pembuatan matriks kata dokumen 33 3.2.5. Ekstraksi tren topik dengan NMF 35 3.3. Perancangan Sistem 37 3.3.1. Perancangan sistem bagian belakang (back-end) 37 3.3.2. Peracangan sistem bagian depan (front-end) 38

BAB 4 IMPLEMENTASI DAN PENGUJIAN 40 4.1. Implementasi Sistem 40 4.1.1. Kebutuhan sistem 40 4.1.2. Hasil preparasi data 41 4.1.3. Hasil text preprocessing 42 4.1.4. Hasil pembuatan kamus n-gram 46 4.1.5. Hasil ekstraksi tren topik dengan NMF 46 4.2. Pengujian Sistem 50

Universitas Sumatera Utara viii

BAB 5 KESIMPULAN DAN SARAN 54 5.1. Kesimpulan 54 5.2. Saran 54

DAFTAR PUSTAKA 56

Universitas Sumatera Utara ix

DAFTAR TABEL

Tabel 2.1. Aturan Case Folding 12

Tabel 2.2. Aturan Tokenizing 13

Tabel 2.3. Aturan Filtering 14

Tabel 2.4. Kombinasi Awalan Akhiran Yang Tidak Diijinkan 17

Tabel 2.5. Tabel Aturan Peluruhan Kata Dasar 17

Tabel 2.5. Tabel Aturan Peluruhan Kata Dasar (Lanjutan) 18

Tabel 2.6. Contoh Pemotongan N-gram Berbasis Karakter 19

Tabel 2.7. Contoh Pemotongan N-gram Berbasis Kata 20

Tabel 2.8. Penelitian Terdahulu 25

Tabel 2.8. Penelitian Terdahulu (Lanjutan) 26

Tabel 3.1. Proses Penyiapan Data 34

Tabel 3.2. Hubungan Kata Dokumen 35

Tabel 4.1. Hasil Pembentukan Kamus N-Gram 46

Tabel 4.2. Contoh Data Uji Sistem 51

Tabel 4.3. Contoh Data Tren Topik pada Google Trend 52

Tabel 4.4. Hasil Pengujian 53

Tabel 4.5. Hasil Pengujian Tiap Kategori 53

Universitas Sumatera Utara x

DAFTAR GAMBAR

Gambar 2.1. Arsitektur Web Crawler 10

Gambar 2.2. Proses Case Folding 12

Gambar 2.3. Contoh Proses Tokenizing 13

Gambar 2.4. Contoh Proses Filtering 14

Gambar 2.5. Contoh Proses Stemming 15

Gambar 2.6. Ilustrasi Non Negative Matrix Factorization 22

Gambar 3.1. Arsitektur Umum 30

Gambar 3.2. Proses Crawling 31

Gambar 3.3. Rancangan Bagian Depan Sistem 38

Gambar 4.1. Grafik Artikel Hasil Web Crawler 41

Gambar 4.2. Grafik Jumlah Artikel Yang Akan Diproses Per Hari 42

Gambar 4.3. Contoh Artikel Awal Hasil Web Crawler 42

Gambar 4.4. Artikel Hasil Case Folding 43

Gambar 4.5. Artikel Hasil Tokenizing 44

Gambar 4.6. Artikel Hasil Filtering 44

Gambar 4.7. Artikel Hasil Stemming 45

Gambar 4.8. Grafik Jumlah Kata Berbeda Yang Dilibatkan Per Hari 45

Gambar 4.9. Hasil Ekstraksi Data Kategori Nasional Tanggal 06 Juni 2017 47

Gambar 4.10. Hasil Ekstraksi Data Kategori Entertaiment Tanggal 08 Juni 2017 48

Gambar 4.11. Hasil Ekstraksi Data Kategori Teknologi Tanggal 08 Juni 2017 49

Gambar 4.12. Hasil Ekstraksi Data Kategori Teknologi Tanggal 09 Juni 2017 50

Universitas Sumatera Utara xi

Universitas Sumatera Utara 1

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Dunia teknologi informasi dan telekomunikasi semakin canggih dan pesat dengan adanya perkembangan internet. Dengan internet, setiap orang dapat mengakses dan mendapat informasi secara cepat tanpa mengenal batas wilayah dan batasan waktu. Perkembangan teknologi informasi diikuti juga dengan berkembangnya piranti bergerak yang digunakan, sehingga penyampaian informasi, komunikasi, dan aktifitas lainnya menjadi lebih cepat, hemat dan efisien. Salah satu perkembangan yang paling sering digunakan oleh pengguna teknologi informasi adalah mendapatkan informasi dari berita-berita nasional. Berita merupakan suatu hal yang memiliki peran penting dalam kehidupan manusia karena manusia hidup pasti membutuhkan sebuah informasi, baik itu tentang pendidikan, kesehatan, pariwisata, dan sebagainya. Perkembangan berita nasional ini ditandai dengan munculnya berbagai situs web portal berita, seperti Kompas, Detik, Tempo, Okezone, Liputan 6, dan lain sebagainya. Portal berita merupakan sebuah media yang memberikan layanan informasi berita secara online. Portal berita memberikan nilai dengan informasi yang lebih cepat dibanding layanan konvensional yang masih berupa kertas, serta berisi informasi dari lokal maupun mancanegara dengan berbagai macam topik yang dibahas. Melihat banyaknya topik yang dibahas, banyak pula pengguna internet yang ingin mengetahui topik berita yang paling sering muncul tanpa perlu membaca keseluruhan berita portal berita online. Topik dari kumpulan berita ini menjadi sangat penting untuk mengetahui trend yang terjadi dalam periode waktu tertentu. Namun, banyaknya berita yang dibahas tersebut menjadi kendala bagi pembaca sehingga muncul sebuah gagasan untuk melakukan pemrosesan terhadap artikel berita ke dalam sebuah mesin yang mengekstraksinya ke dalam topik-topik. Mesin ekstraksi ini diharapkan dapat memudahkan pengguna internet untuk mengetahui topik berita yang

Universitas Sumatera Utara 2

sedang populer. Metode ini merupakan perkembangan dari text mining atau text analysis. Mesin ekstraksi ini mencakup pemodelan data tekstual yang bertujuan menemukan variabel tersembunyi yaitu topik. Fudolly (2011) memanfaatkan metode likelihood dan cosine similarity untuk menganalisis klasifikasi kategori dan identifikasi topik dokumen berita berbahasa . Uji coba dilakukan pada dokumen berita berbahasa Indonesia untuk setiap kategori dengan topik yang berbeda – beda. Aplikasi ini mempunyai fungsi utama mengklasifikasikan berita – berita online yang ada menjadi hirarki dengan topik dan kategori yang lebih spesifik. Hasil uji coba menunjukkan bahwa klasifikasi secara online dapat menghasilkan hasil yang lebih baik dibandingkan klasifikasi offline. Nugraha (2011) memanfaatkan metode KEA++ untuk penyaringan frasa kunci secara otomatis pada pencarian artikel ilmiah berbahasa Indonesia. Pada penelitian ini data yang digunakan adalah 30 jurnal akuntansi berbahasa berbahasa Indonesia dan Tesaurus akuntansi berbahasa Indonesia. Berdasarkan pengujian yang dilakukan, semakin banyak jumlah data pelatihan yang digunakan maka semakin tinggi pula akurasi dari proses penyaringan frasa kunci artikel ilmiah berbahasa Indonesia. Penggunaan Tesaurus dapat meningkatkan akurasi dalam proses penyaringan frasa kata kunci ini. Berdasarkan evaluasi dan responden terhadap 10 dokumen yang disaring frasa kuncinya, persentase jumlah frasa kunci yang sesuai adalah sebanyak 51.75%. Banu (2016) melakukan penelitian terhadap analisis trending topic dengan menggunakan model pendeteksian topic sub-topik, peneliti menggunakan pendekatan Foreground Dynamic Topic Modelling (VF-DTM) untuk merangkum trending topic berdasarkan data tweet dalam struktur yang lebih baik. Basri (2016) melakukan penelitian dengan memanfaatkan metode SVM untuk mengidentifikasi topik informasi publik media sosial di kota Surabaya berdasarkan klasterisasi teks pada twitter dengan algoritma K-Means. Penelitian yang dilakukan dapat menemukan topik-topik yang sering dibahas pada sosial media kota Surabaya dengan menggunakan metode SVM, dengan hasil yang memiliki presentase paling tinggi adalah SVM kernel ”linear”. Park (2011) memanfaatkan metode Non Negative Matrix Factorization dan Pseudo Relevance Feedback untuk peringkasan dokumen otomatis dengan mengekstraksi kalimat yang relevan dengan user dengan ringkasan yang berfokus kepada user. Metode tersebut mengekstrak kalimat yang bermakna karena

Universitas Sumatera Utara 3

mencerminkan struktur dokumen yang berhubungan dengan fitur semantik dan variabel semantik dengan NMF. Kinerja metode yang diusulkan memperoleh nilai rata-rata F- Measure 46.8. Hasil percobaan menunjukkan bahwa metode yang diusulkan mencapai kinerja yang lebih baik dari metode lainnya. Latent Semantic Analysis (LSA) adalah sebuah teori dan metode untuk ekstraksi dan representasi topik dari sekumpulan dokumen (Landauer & Dumais, 1997). LSA menggunakan beberapa metode untuk proses faktorisasi matriks, yaitu Singular Value Decomposition dan Non-Negative Matrix Decomposition (Lee dan Seung, 1999). Namun, matriks pada SVD cenderung bersifat padat dan berisi bilangan negatif dan non-negatif pada elemen-elemennya sehingga representasi bilangan-bilangan negatif terhadap topik sulit untuk diinterpretasi. Sedangkan matriks representasi dengan NMF memiliki entri non-negatif sehingga mudah untuk interpretasi matriks. Berdasarkan permasalahan yang dijelaskan di atas, maka pada penelitian ini peneliti mengajukan judul “Ekstraksi Tren Topik Portal Berita Online Menggunakan Non-Negative Matrix Factorization”.

1.2. Rumusan Masalah

Seiring dengan kemajuan teknologi saat ini, kemudahan untuk memperoleh suatu berita dapat dengan cepat diakses dari berbagai web portal berita online sehingga minat untuk mengetahui berita yang sedang populer dibicarakan menjadi bertambah. Namun, banyaknya topik yang dibahas pada portal berita tersebut menjadi kendala bagi pembaca untuk mengetahui apa saja topik yang sedan tren pada berita. Berdasarkan permasalahan tersebut, muncullah sebuah gagasan untuk melakukan pemrosesan terhadap artikel berita ke dalam sebuah mesin yang mengekstraksinya ke dalam topik-topik sehingga mesin dapat menemukan topik-topik berita apa saja yang sedang menjadi trend dalam jangka waktu tertentu.

1.3. Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah sebagai berikut. 1. Mengekstraksi web portal berita online dengan teknik crawling untuk mengambil dokumen yang dibutuhkan.

Universitas Sumatera Utara 4

2. Melakukan analisis ekstraksi topik dengan menerapkan metode Non-Negative Matrix Factorization untuk mengetahui topik-topik berita yang menjadi trend dari kumpulan artikel berita pada periode waktu tertentu.

1.4. Batasan Masalah

Permasalahan yang akan diteliti memiliki ruang lingkup yang luas, oleh sebab itu penulis membatasi masalah tersebut sebagai berikut: 1. Data yang diambil adalah data dari web portal berita online berbahasa Indonesia. 2. Periode penentuan topik berita dibatasi yaitu pada tanggal 06 Juni 2017 s/d 09 Juni 2017. 3. Hasil keluaran dari sistem ini berupa tren topik-topik yang muncul dari hasil crawling isi portal berita. 4. Hasil keluaran tren topik yang dihasilkan dibatasi hanya sebanyak 5 tren topik. 5. Ekstraksi tren topik dilakukan secara offline. 6. Pendekatan analisis yang digunakan adalah Objek Oriented.

1.5. Manfaat Penelitian

Penelitian ini diharapkan dapat memudahkan pembaca untuk mengetahui tren topik berita apa yang sedang hangat dibicarakan dalam periode waktu tertentu sehingga pembaca tidak perlu membutuhkan waktu yang lama untuk membaca berita dari semua web portal berita online.

1.6. Metodologi Penelitian

Tahapan-tahapan yang akan dilakukan dalam pelaksanaan penelitian ini adalah sebagai berikut : 1. Studi Literatur Tahap studi literatur ini dilaksanakan untuk mengumpulkan dan mempelajari informasi yang diperoleh dari buku, jurnal, skripsi, dan berbagai sumber referensi lain yang berkaitan dan mendukung penelitian. Bahan referensi yang dikumpulkan adalah mengenai portal berita online, teknik ekstraksi topik, teknik crawling, dan Non-Negative Matrix Factorization.

Universitas Sumatera Utara 5

2. Analisis Permasalahan Analisis permasalahan merupakan tahap untuk menganalisis seluruh bahan referensi yang telah dikumpulkan. Pada tahap ini dilakukan analisis terhadap berbagai informasi yang telah diperoleh dari berbagai sumber yang terkait dengan penelitian agar didapatkan metode yang tepat untuk menyelesaikan masalah dalam penelitian ini. Adapun metode yang digunakan untuk menyelesaikan permasalahan adalah Non-Negative Matrix Factorization, yakni sebagai algoritma ekstraksi tren topik dari sekumpulan dokumen. 3. Pengumpulan Data Pengumpulan data merupakan tahapan yang sangat penting dalam perancangan arsitektur. Sumber data yang digunakan pada penelitian ini adalah dengan menggunakan bantuan web crawler untuk mengambil artikel berita berkategori nasional, entertaiment, dan teknologi, pada tanggal 06 Juni 2017 s/d 09 Juni 2017 dengan memanfaatkan URL beberapa portal berita online berbahasa Indonesia, yaitu: a. Liputan6 b. Kompas.com c. Tribunnews.com d. Sindonews.com e. Viva.co.id 4. Implementasi Implementasi dilakukan dengan menguji metode Non-Negative Matrix Factorization dalam menyelesaikan masalah ekstraksi tren topik. Tidak ada penggunaan data latih dalam penelitian ini, tetapi penelitian ini menggunakan metode unsupervised learning. 5. Evaluasi dan Analisis Hasil Evaluasi dan analisis bertujuan untuk mengetahui apakah pengujian telah berjalan sesuai dengan yang diharapkan dalam penelitian ini. Tahap ini menggambarkan hasil yang didapat setelah mengimplementasikan teknik crawling, metode ekstraksi tren topik, Non-Negative Matrix Factorization, dalam menyelesaikan permasalahan ekstraksi tren topik portal berita online.

Universitas Sumatera Utara 6

6. Dokumentasi dan Pelaporan Pada tahap ini, penulis melakukan dokumentasi berupa penyusunan laporan hasil evaluasi, analisis, dan implementasi Non-Negative Matrix Factorization dalam penyelesaian masalah ekstraksi tren topik portal berita online.

1.7. Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama, yaitu sebagai berikut:

Bab 1: Pendahuluan

Bab ini berisi latar belakang dari peneltian yang dilakukan, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

Bab 2: Landasan Teori

Bab ini menjabarkan teori-teori yang mendukung dan dibutuhkan dalam memahami permasalahan. Selain itu, pada bagian ini diuraikan juga mengenai penelitian terdahulu, kerangka pikir dan hipotesis yang diperoleh dari acuan yang mendasari untuk melakukan kegiatan penelitian tugas akhir ini.

Bab 3: Analisis dan Perancangan

Bab ini berisi pembahasan tentang analisis dan penerapan metode Non-Negative Matrix Factorization untuk mengimplementasikan ekstraksi tren topik portal berita online. Selain itu, dijabarkan pula arsitektur umum dan tahap pre-processing yang digunakan untuk proses cleaning data.

Bab 4: Implementasi dan Pengujian

Bab ini berisi pembahasan tentang implementasi dari perancangan sistem dari hasil analisis dan perancangan yang telah dijabarkan pada bab 3. Selain itu, dijabarkan pula hasil yang didapatkan dari pengujian.

Universitas Sumatera Utara 7

Bab 5: Kesimpulan dan Saran

Bab ini berisi ringkasan serta kesimpulan dari hasil penelitian yang telah dilakukan. Bagian akhir dari bab ini akan berisi saran-saran yang diajukan untuk pengembangan lebih lanjut terkait topik penelitian yang telah dibahas.

Universitas Sumatera Utara 8

BAB 2

LANDASAN TEORI

Bab ini membahas tentang teori penunjang dan penelitian sebelumnya yang berhubungan dengan implementasi algoritma Non-Negative Matrix Factorization untuk ekstraksi tren topik portal berita online.

2.1. Machine Learning

Machine learning (pembelajaran mesin) adalah bidang ilmu yang berfokus pada algoritma komputer (mesin) untuk ‘belajar’ dari sejumlah data yang disebut data training. Algoritma tersebut digunakan untuk menyimpulkan informasi tentang sifat- sifat dan pola data (Segaran, 2007). Selanjutnya, informasi tersebut dapat digunakan untuk memprediksi data lain pada masa selanjutnya. Hal ini dimungkinkan karena hampir semua data yang tertentu memiliki pola, sehingga memungkinkan mesin untuk menggeneralisasi pola tersebut. Menurut Ghahramani (2014), machine learning dapat dibagi ke dalam 4 kelompok berdasarkan perlakuan terhadap data yang diberikan. 1. Supervised Learning Pada teknik supervised learning, barisan data training yang diberikan memiliki barisan harapan keluaran atau label. Harapan keluaran ini dapat berupa kelas label atau bilangan riil. Contoh dari pembelajaran supervised adalah classification, regression, ordinal regression, ranking, dan lain sebagainya, Beberapa metode untuk mendapatkan label di antaranya neural network, desicion trees, support- vector machine dan Bayesian filtering. Tujuan teknik ini adalah menjadikan mesin dapat belajar untuk memberikan keluaran terbaik untuk data training baru berdasarkan label. 2. Reinforcement Learning Dalam reinforcement learning, mesin berinteraksi dengan lingkungan yang memberikan barisan aksi. Aksi ini dipengaruhi kondisi awal lingkungan dan

Universitas Sumatera Utara 9

memberikan hasil kepada mesin berupa barisan skalar reward atau punishment. Tujuan metode ini menjadikan mesin dapat ‘belajar’ untuk mengoptimalkan reward dan meminimalkan punishment selama mesin tersebut bekerja. Reinforcement learning berdekatan dengan bidang teori keputusan (decision theory) dan teori kontrol (control theory). 3. Generalized Reinforcement Learning Jenis ketiga ini erat kaitannya dengan game theory dan merupakan generalisasi dari teknik reinforcement learning. Seperti metode reinforce learning, mesin membutuhkan masukan, menghasilkan aksi dan mendapatkan reward atau punishment dan ‘belajar. Tujuan teknik ini adalah agar mesin dapat memaksimalkan reward dan meminimalkan punishment pada setiap aksi yang dilakukan saat ini hingga masa depan. 4. Unsupervised Learning Berbeda dengan teknik lainnya, unsupervised learning tidak membutuhkan label untuk ‘mempelajari’ dan membuat prediksi dari kumpulan training data serta tidak melakukan interaksi dengan lingkungan. Teknik ini bertujuan untuk mendapatkan representasi dari data training yang dapat digunakan untuk menemukan pola struktur yang bebas dari noise. Metode yang menggunakan teknik unsupervised learning di antaranya non-negative matrix factorization, self-organizing map, dan latent semantic analysis.

2.2. Web Crawler

Web Crawler merupakan program pengumpul informasi yang hasilnya akan disimpan pada sebuah database. Sebuah web crawler akan berjalan menelusuri halaman web dan mengumpulkan dokumen-dokumen atau data-data di dalamnya. Selanjutnya web crawler akan membangun sebuah daftar indeks untuk memudahkan proses pencarian. Arsitektur dari web crawler dapat dilihat pada Gambar 2.1.

Universitas Sumatera Utara 10

Gambar 2.1. Arsitektur Web Crawler (Wikipedia, 2016) Gambar 2.1. merupakan arsitektur dari sistem crawler. Crawler diawali dengan adanya daftar URL yang akan dikunjungi, disebut dengan seeds. Setelah crawler mengunjugi URL tersebut, kemudian mengidentifikasi semua hyperlink dari halaman itu dan menambahkan kembali ke dalam seeds. Hal ini dinamakan crawl frontier. Setelah web crawler mengunjungi halaman-halaman web yang ditentukan di dalam seeds, maka web crawler membawa data-data yang dicari oleh user kemudian menyimpannya ke sebuah storage. Proses crawling merupakan proses dimana web crawler mengumpulkan data- data dari halaman web. Web crawler dimulai dengan sekumpulan URL, kemudian men- download setiap halamannya, mendapatkan link dari setiap page yang dikunjungi kemudian mengulangi kembali proses crawling pada setiap link halaman tersebut.

2.3. Text Mining

Text mining merupakan teknik yang digunakan untuk menangani masalah klasifikasi, clustering, information extraction, dan information retrieval (Berry & Kogan, 2010). Text mining sebenarnya tidak jauh berbeda dengan data mining, yang membedakan hanyalah sumber data yang digunakan. Pada data mining data yang digunakan adalah data yang terstruktur, sedangkan pada text mining data yang digunakan adalah data yang tidak terstruktur berupa teks. Tujuan dari text mining secara keseluruhan adalah pada dasarnya untuk mengubah suatu teks menjadi data yang dapat dianalisis. Text mining

Universitas Sumatera Utara 11

dapat menganalisis dokumen, mengelompokkan dokumen berdasarkan kata-kata yang terkandung di dalamnya, serta menentukan tingkat kemiripan di antara dokumen untuk mengetahui bagaimana mereka berhubungan dengan variabel lainnya (Statsoft, 2015). Menurut Miner et al (2012), cakupan dari text mining dikelompokkan menjadi tujuh daerah praktek, yaitu : a. Pencarian dan perolehan informasi (search and information retrieval), yaitu menerapkan proses penggalian dokumen teks dalam membangun mesin pencarian (search engine) atau pencarian kata kunci (keywords). b. Pengelompokan dokumen, yaitu mengelompokkan dan mengkategorikan kata, istilah, paragraf, serta dokumen dengan menggunakan metode klaster (clustering). c. Klasifikasi dokumen, yaitu pengelompokan dan pengkategorian kata, istilah, paragraf, serta dokumen dengan menggunakan metode klasifikasi (classification) berdasarkan model terlatih yang sudah memiliki label atau kelas. d. Web mining, yaitu penggalian informasi dari internet dengan skala fokus yang spesifik. e. Ekstraksi informasi (information extraction), yaitu mengidentifikasi dan mengekstraksi informasi dari data yang sifatnya semi-terstruktur atau tidak terstruktur dan mengubahnya menjadi data yang memiliki struktur. f. Natural Language Processing (NLP), yaitu suatu teknik yang memberikan kemampuan pada mesin untuk dapat memahami bahasa manusia (bahasa natural). g. Ekstraksi konsep, yaitu pengelompokan kata atau frasa ke dalam kelompok yang mirip secara semantic.

2.4. Text Preprocessing

Text preprocessing merupakan tahapan awal dari text mining. Text mining adalah proses menambang data berupa teks di mana sumber data biasanya didapatkan dari dokumen, dan tujuannya adalah mencari kata - kata yang dapat mewakili isi dari dokumen sehingga dapat dilakukan analisa keterhubungan antar dokumen (Harlian, 2006). Text preprocessing bertujuan untuk mempersiapkan teks menjadi data yang akan mengalami pengolahan pada tahapan berikutnya. Text preprocessing mengubah bentuk data yang

Universitas Sumatera Utara 12

belum terstruktur menjadi data yang terstruktur sesuai dengan kebutuhan yang dilakukan untuk proses mining yang lebih lanjut. Tahap-tahap pada text pre-processing secara umum adalah case-folding, tokenizing, filtering, dan stemming. Penjelasan dari tahap-tahap tersebut adalah sebagai berikut:

2.4.1. Case folding Case folding adalah tahap mengubah semua huruf dalam dokumen menjadi huruf kecil. Hanya huruf “a” sampai dengan “z” yang diterima. Karakter selain huruf dihilangkan dan dianggap delimiter. Pada tahapan ini, ada beberapa aturan proses agar hasil case folding dapat sesuai dengan yang diharapkan. Adapun aturan-aturan tersebut dapat dilihat pada Tabel 2.1.

Tabel 2.1. Aturan Case Folding Kondisi Aksi Input-an data memiliki huruf kapital Mengubah semua inputan tersebut menjadi [A.....Z] huruf kecil [a.....z] semua Input-an data memiliki karakter Menghapus karakter simbol dari input-an. simbol Input-an data memiliki huruf kecil Tidak ada aksi Input-an data memiliki spasi Tidak ada aksi

Contoh dari proses case folding dapat dilihat pada Gambar 2.2.

Presiden presiden joko widodo berpidato bahwa tidak berpidato bahwa tidak ada perombakan kabinet ada perombakan kabinet

dalam waktu dekat. dalam waktu dekat

Gambar 2.2. Proses Case Folding

Universitas Sumatera Utara 13

2.4.2. Tokenizing Dokumen dapat dipecah menjadi bab-bab, bagian, paragraf, kalimat, kata, dan bahkan suku kata. Pendekatan yang paling sering ditemukan dalam sistem text mining melibatkan teks menjadi kalimat dan kata-kata, yang disebut tokenization. Tokenizing merupakan proses pemotongan string input berdasarkan tiap kata yang menyusunnya serta membedakan karakter-karakter tertentu yang dapat diperlakukan sebagai pemisah kata atau bukan. Beberapa aturan dalam proses tokenizing dapat dilihat pada Tabel 2.2.

Tabel 2.2. Aturan Tokenizing Kondisi Aksi Jika input-an data bertemu spasi Akan memecah dari deskripsi data menjadi bab-bab per bagian kata atau string Jika input-an data memiliki huruf Tidak ada aksi

Contoh dari proses tokenizing dapat dilihat pada Gambar 2.3.

presiden

joko widodo presiden joko berpidato widodo berpidato bahwa bahwa tidak ada tidak perombakan ada kabinet dalam perombakan waktu dekat kabinet dalam waktu

dekat

Gambar 2.3. Contoh Proses Tokenizing

Universitas Sumatera Utara 14

2.4.3. Filtering Filtering adalah tahap mengambil kata-kata penting dari hasil tokenizing. Bisa menggunakan algoritma stoplist (membuang kata yang kurang penting) atau wordlist (menyimpan kata penting). Stoplist/stopword adalah kata-kata yang tidak deskriptif yang dapat dibuang dalam pendekatan bag-of-words. Contoh kata yang termasuk stop- words adalah “yang”, “dan”, “di”, “dari”, dan seterusnya (Tala, 2003). Pada tahapan ini, beberapa aturan dalam proses filtering dapat dilihat pada Tabel 2.3.

Tabel 2.3 Aturan Filtering Kondisi Aksi Jika input-an data mengandung kata Akan menghapus kata atau string dalam pada database stopword data Jika input-an data tidak mengandung Tidak akan dihapus kata atau string data kata pada database stopword

Contoh dari proses filtering dapat dilihat pada Gambar 2.4.

presiden joko presiden widodo joko berpidato widodo bahwa berpidato tidak perombakan ada kabinet perombakan waktu kabinet dekat dalam waktu dekat

Gambar 2.4. Contoh Proses Filtering

Universitas Sumatera Utara 15

2.4.4. Stemming Proses stemming adalah proses untuk mencari root dari kata hasil dari proses filtering. Stemming merupakan salah satu proses yang terdapat dalam sistem Information Retrieval (IR) untuk mengolah kata-kata yang terdapat dalam suatu dokumen dengan menggunakan aturan-aturan tertentu sehingga didapatkan kata dasarnya (root word). Pencarian root sebuah kata atau biasa disebut dengan kata dasar dapat memperkecil hasil indeks tanpa harus menghilangkan makna. Teknik stemming terdiri dari beberapa macam metode. Metode pertama yaitu stemming dengan acuan tabel pemenggalan imbuhan. Proses stemming suatu term dengan metode ini dapat dilakukan dengan cara menghilangkan imbuhan dari term tersebut sesuai dengan tabel acuan pemenggalan imbuhan yang akan digunakan. Metode kedua adalah pengembangan dari metode pertama. Metode kedua ini selain menggunakan tabel acuan pemenggalan imbuhan, juga menggunakan suatu kamus kata dasar. Kamus kata dasar ini digunakan sebagai acuan hasil stemming saat proses pemenggalan imbuhan telah selesai dilakukan. Hasil dari proses stemming dengan metode ini harus ada pada kamus kata dasar, jika tidak ada pada kamus kata dasar maka term yang telah dimasukkan akan dianggap sudah sebagai bentuk dasar. Term yang sudah melewati proses pembuangan stopword yang akan menjadi input dalam proses ini. Contoh dari proses stemming dapat dilihat pada Gambar 2.5. berikut.

mengungkapkan ungkap diberikan beri bertanya tanya menangkap tangkap

Gambar 2.5. Contoh Proses Stemming

Universitas Sumatera Utara 16

2.5. Algoritma Nazief & Andriani Algoritma Nazief & Adriani merupakan algoritma stemming untuk teks berbahasa Indonesia yang memiliki kemampuan presentase keakuratan (presisi) lebih baik dari algoritma lainnya. Algoritma ini menggunakan beberapa aturan morfologi untuk menghilangkan affiks (awalan, imbuhan, dll) dari sebuah kata dan kemudian mencocokannya dalam kamus akar kata (kata dasar). Algoritma Nazief & Adriani yang dibuat oleh Bobby Nazief dan Mirna Adriani ini memiliki tahap-tahap sebagai berikut (Nazief & Adriani, 1996): 1. Cari kata yang akan di-stem dalam kamus. Jika ditemukan maka diasumsikan bahwa kata tesebut adalah root word. Maka algoritma berhenti. 2. Inflection Suffixes (“-lah”, “-kah”, “-ku”, “-mu”, atau “-nya”) dibuang. Jika berupa particles (“-lah”, “-kah”, “-tah” atau “-pun”) maka langkah ini diulangi lagi untuk menghapus Possesive Pronouns (“-ku”, “-mu”, atau “-nya”), jika ada. 3. Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”). Jika kata ditemukan di kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a a. Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah “-k”, maka “-k” juga ikut dihapus. Jika kata tersebut ditemukan dalam kamus maka algoritma berhenti. Jika tidak ditemukan maka lakukan langkah 3b. b. Akhiran yang dihapus (“-i”, “-an” atau “-kan”) dikembalikan, lanjut langkah 4. 4. Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus maka pergi ke langkah 4a, jika tidak pergi ke langkah 4b. a. Periksa tabel kombinasi awalan-akhiran yang tidak diijinkan. Jika ditemukan maka algoritma berhenti, jika tidak pergi ke langkah 4b. b. For i = 1 to 3, tentukan tipe awalan kemudian hapus awalan. Jika root word belum juga ditemukan lakukan langkah 5, jika sudah maka algoritma berhenti. Catatan: jika awalan kedua sama dengan awalan pertama algoritma berhenti. 5. Melakukan Recording. 6. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal diasumsikan sebagai root word. Proses selesai.

Universitas Sumatera Utara 17

Tipe awalan ditentukan melalui langkah-langkah berikut: 1. Jika awalannya adalah: “di-”, “ke-”, atau “se-” maka tipe awalannya secara berturut-turut adalah “di-”, “ke-”, atau “se-”. 2. Jika awalannya adalah “te-”, “me-”, “be-”, atau “pe-” maka dibutuhkan sebuah proses tambahan untuk menentukan tipe awalannya. 3. Jika dua karakter pertama bukan “di-”, “ke-”, “se-”, “te-”, “be-”, “me-”, atau “pe-” maka berhenti. 4. Jika tipe awalan adalah “none” maka berhenti. Hapus awalan jika ditemukan.

Tabel 2.4. Kombinasi Awalan Akhiran Yang Tidak Diijinkan (Nazief & Adriani, 1996) Awalan Akhiran yang tidak diijinkan be- -i di- -an ke- -i, -kan me- -an se- -i, -kan

Tabel 2.5. Tabel Aturan Peluruhan Kata Dasar (Nazief & Adriani, 1996) Aturan Awalan Peluruhan 1 berV… ber-V..| be-rV.. 2 Belajar bel-ajar 3 berClerC2 be-ClerC2.. dimana Cl!= {‘r’|’l’} 4 terV… ter-V.. | te-rV.. 5 terCer… ter-Cer… dimana C!=’r’ 6 teClerC2 te-CleC2… dimana Cl!=’r’ 7 me{I|r|w|y}V… me-{I|r|w|y}V… 8 mem{b|f|v}… mem-{b|f|v}… 9 mempe… m-pe.. 10 mem{r|V|V}… me-m{r|V|V}…| me-p{r|V|V}…

Universitas Sumatera Utara 18

Tabel 2.5. Tabel Aturan Peluruhan Kata Dasar (Lanjutan) Aturan Awalan Peluruhan 11 men{c|d|j|z}… men-{c|d|j|z}… 12 menV… me-nV…| me-tV… 13 meng{g|h|q|k}… meng-{g|h|q|k}… 14 mengV… meng-V…| meng-kV… 15 mengeC… meng-C… 16 menyV… me-ny…| men-sV… 17 memV… mem-pV… 18 pe{w|y}V… pe-{w|y}V… 19 perV… per-V…| pe-rV… 20 pem{b|f|v}… pem-{b|f|v}… 21 pem{rV|V}… pe-m{rV|V}…| pe-p{rV|V}… 22 pen{c|d|j|z}… pen-{c|d|j|z}… 23 penV… pe-nV…| pe-tV… 24 peng{g|h|q}… peng-{g|h|q} 25 pengV… peng-V| peng-kV 26 penyV… pe-nya| peny-sV 27 pelV… pe-IV...; kecuali untuk kata “pelajar” 28 peCP… pe-CP...dimana C!={r|w|y|I|m|n} dan P!=’er’ 29 perCerV… per-CerV... dimana C!={r|w|y|I|m|n}

Untuk mengatasi keterbatasan pada algoritma di atas, maka ditambahkan aturan-aturan dibawah ini: 1. Aturan untuk reduplikasi. a. Jika kedua kata yang dihubungkan oleh kata penghubung adalah kata yang sama maka root word adalah bentuk tunggalnya, contoh : “buku-buku” root word-nya adalah “buku”. b. Kata lain, misalnya “bolak-balik”, “berbalas-balasan, dan ”seolah-olah”. Untuk mendapatkan root word-nya, kedua kata diartikan secara terpisah. Jika keduanya memiliki root word yang sama maka diubah menjadi bentuk tunggal, contoh: kata “berbalas-balasan”, “berbalas” dan “balasan” memiliki root word yang

Universitas Sumatera Utara 19

sama yaitu “balas”, maka root word “berbalas-balasan” adalah “balas”. Sebaliknya, pada kata “bolak-balik”, “bolak” dan “balik” memiliki root word yang berbeda, maka root word-nya adalah “bolak-balik”. 2. Tambahan bentuk awalan dan akhiran serta aturannya. a. Untuk tipe awalan “mem-“, kata yang diawali dengan awalan “memp-” memiliki tipe awalan “mem-”. b. Tipe awalan “meng-“, kata yang diawali dengan awalan “mengk-” memiliki tipe awalan “meng-”.

2.6. N-Gram

Model n-gram adalah sebuah tipe model probabilistik untuk memperkirakan elemen selanjutnya pada sebuah urutan. N-gram digunakan untuk berbagai area statistik dari pemrosesan bahasa alami dan analisis urutan genetik. Sebuah n-gram adalah sebuah sub-urutan dari sejumlah n elemen dari urutan yang diberikan. Elemen dapat berupa fonem, huruf, kata, tergantung dari kebutuhan aplikasi. N-gram adalah potongan n karakter dalam suatu string tertentu atau potongan n kata dalam suatu kalimat tertentu (Cavnar & Trenkle, 1994). Metode N-gram digunakan untuk mengambil potongan-potongan karakter huruf/kata sejumlah n dalam sebuah kata/kalimat yang secara kontinu dibaca dari kata sumber hingga akhir dari dokumen. Jika n=1 maka disebut bigram, n=2 disebut bigram dan n=3 disebut trigram. Misalnya dalam kata “Teknik” akan didapatkan n-gram seperti pada Tabel 2.6 berikut.

Tabel 2.6. Contoh Pemotogan N-gram Berbasis Karakter Nama n-gram karakter Uni-gram T, E, K, N, I, K Bi-gram _T, TE, EK, KN, NI, IK, K_ Tri-gram _TE, TEK, EKN, KNI, NIK, IK_, K_ _ Quad-gram _TEK, TEKN, EKNI, KNIK, NIK_, IK_ _, K_ _ _

Universitas Sumatera Utara 20

Karakter blank “_” digunakan untuk merepresentasikan spasi di depan dan di akhir kata. Dan untuk word-based n-gram contohnya dapat dilihat pada Tabel 2.7. Kalimat : “N-gram adalah potongan n karakter dalam suatu string tertentu”

Tabel 2.7. Contoh Pemotongan N-gram Berbasis Kata Nama n-gram karakter Uni-gram n-gram, adalah, potongan, n, karakter, dalam, suatu, sring, tertentu Bi-gram n-gram adalah, adalah potongan, potongan n, n karakter, karakter dalam, dalam suatu, suatu string, string tertentu Tri-gram n-gram adalah potongan, adalah potongan n, potongan n karakter, n karakter dalam, karakter dalam suatu, dalam suatu string, suatu string tertentu Dst...

2.7. Pembobotan Term

Pembobotan Term Frequency (TF) merupakan pembobotan yang sering digunakan dalam pencarian informasi dari text mining (Jones, 2004). Bobot ini adalah ukuran statistik yang digunakan untuk mengevaluasi seberapa penting sebuah kata yang muncul dalam sebuah dokumen dari keseluruhan dokumen. Term Frequency akan meningkat berdasarkan jumlah kemunculan kata pada dokumen tertentu. Variasi skema pembobotan Term Frequency yang sering digunakan oleh mesin pencari merupakan alat utama dalam menilai dan merangking dokumen. Term Frequency (TF) merupakan metode yang paling sederhana dalam pembobotan setiap term. Setiap term diasumsikan memiliki kepentingan yang sebanding terhadap jumlah kemunculan term tersebut pada dokumen. Bobot dari term pada dokumen yaitu:

TFd,t = fd,t (2.1) Dimana: d = dokumen ke-d t = token (kata) ke-t

fd,t = frekuensi kemunculan term t pada dokumen d.

Universitas Sumatera Utara 21

Term Frequency (TF) digunakan untuk memberi bobot pada kata-kata yang sering muncul dalam dokumen. Bobot tersebut mewakili jumlah kemunculan kata pada suatu dokumen tertentu. Semakin tinggi nilai bobot tersebut berarti semakin sering kata-kata tersebut muncul pada dokumen.

2.8. Faktorisasi Matriks

Faktorisasi matriks merupakan proses pemecahan atau penguraian suatu matriks menjadi beberapa matriks. Matriks-matriks hasil faktorisasi biasanya memiliki struktur tertentu dimana membuat beberapa operasi akan menjadi lebih sederhana (efisien dari segi komputasi), jumlah komponen yang lebih sedikit (efisien dari segi memori). Beberapa contoh matriks hasil faktorisasi adalah matriks triangular (segitiga atas, segitiga bawah, diagonal), matriks ortogonal atau matriks yang memiliki rank yang lebih kecil. Secara umum, metode faktorisasi matriks dibagi menjadi dua kelompok, yaitu direct method dan approximation method. Direct method merupakan teknik yang secara teori memberikan nilai eksak dengan jumlah langkah terbatas. Contohnya adalah faktorisasi LU, faktorisasi Cholesky, dan faktorisasi QR. Sedangkan approximation method menggunakan suatu perkiraan solusi awal dan dilanjutkan dengan iterasi yang memberikan solusi hasil lebih baik. Tujuan metode ini adalah untuk mendapatkan cara meminimalkan perbedaan antara solusi perkiraan (approximation) dan solusi eksak. Contoh faktorisasi matriks dengan approximation method adalah single value decomposition (SVD), matrix factorization (MF), dan non- negative matrix factorization (NMF).

2.8.1. Non-Negative Matrix Factorization (NMF) Non-Negative Matrix Factorization diusulkan oleh Lee dan Seung (2001) sebagai metode untuk dekomposisi sebuah data matriks (Buciu & Nafornita, 2009). NMF merupakan matriks representasi kata dengan topik yang bernilai non-negatif sehingga matriks ini lebih mudah untuk diinterpretasikan.

Universitas Sumatera Utara 22

NMF merupakan metode faktorisasi matriks V yang berukuran m x n menjadi matriks

푊푚푥푘 dan 퐻푘푥푛 yang bernilai non-negatif. Lee & Seung (2001) mengusulkan metode dekomposisi dengan NMF secara umum dapat dinyatakan dalam bentuk persamaan 2.2.

V = WH (2.2)

Matriks V merupakan matriks kata dokumen yang merepresentasikan teks dokumen dimana setiap entri dari vektor kolomnya merepresentasikan banyaknya kata di sebuah dokumen. W adalah matriks bobot yang setiap vektor barisnya merepresentasikan vektor dari masing-masing kata terhadap topik dan H adalah matriks fitur yang setiap vektor kolomnya merepresentasikan vektor dari masing-masing dokumen terhadap topik seperti yang diilustrasikan pada Gambar 2.6 berikut.

푑1 푑2 … 푑푛 푡1 푡2 … 푡푘 푑1 푑2 … 푑푛 푘 푒11 푒12 … 푒1푛 푘 푥11 푥12 … 푥1푘 푡 푦11 푦12 … 푦1푛 1 푒 푒 … 1 푥 푥 … 1 … 푘 21 22 푒2푛 푘 21 22 푥2푘 푡 푦21 푦22 푦2푛 …2 [ … … … … ] ≈ …2 [ … … … … ] x …2 [ … … … … ] 푘푚 푒푚1 푒푚2 … 푒푚푛 푘푚 푥푚1 푥푚2 … 푥푚푘 푡푘 푦푘1 푦푘2 … 푦푘푛

Gambar 2.6. Ilustrasi Non Negative Matrix Factorization

Keterangan : 푘푖 = kata ke-i,

푑푖 = dokumen ke-i,

푡푖 = topik ke-i,

푒푖푗 = jumlah kata ke-i dalam dokumen ke-j

푥푖푗 = nilai hubungan antara kata ke-i dengan topik ke-j

푦푖푗 = nilai hubungan antara topik ke-i dengan dokumen ke-j Dengan matriks aproksimasi, dicapai kondisi dimana perkalian matriks ini sama dengan matriks V.

Universitas Sumatera Utara 23

Untuk mencapai kondisi ini dibutuhkan sebuah kriteria untuk mengetahui perkalian matriks W dan H yang didapat mendekati nilai V yang disebut sebagai Cost Function. Model Cost Function dibangun dengan pengukuran jarak antara dua matriks non-negatif A dan B, seperti yang dijelaskan dalam persamaan 2.3 (Paatero, 1997).

2 2 ||퐴 − 퐵|| = ∑푖푗(푎푖푗 − 푏푖푗) (2.3)

Untuk menyelesaikan masalah NMF ada beberapa algoritma yang sering digunakan, di antaranya additive update algorithm, multiplicative update algorithm, alternating least square algorithm, dan sebagainya. Multiplicative update rule adalah aturan yang populer dipakai untuk menyelesaikan masalah NMF. Aturan ini diklaim oleh Lee & Seung (2001) bahwa nilai dari cost function yang didapat dari pembaharuan matriks W dan H adalah nonincreasing dan limit point dari barisan W, H adalah titik stationary yang merupakan syarat penting untuk local minimum. Dari multiplicative rule tersebut, dibentuk algoritma untuk menyelesaikan masalah NMF (Berry et al, 2007). Rumus dari algoritma tersebut dapat dilihat pada persamaan 2.4 dan 2.5.

H = H.*(VTV). / (WTWH+10−9) (2.4)

W = W.*(VHT). / (WHHT+10−9) (2.5)

Penambahan 10−9 pada persamaan tersebut untuk menghindari pembagian dengan nol.

2.9. Penelitian Terdahulu

Fudolly (2011) memanfaatkan metode likelihood dan cosine similarity untuk menganalisis klasifikasi kategori dan identifikasi topik dokumen berita berbahasa Indonesia. Uji coba dilakukan pada dokumen berita berbahasa Indonesia untuk setiap kategori dengan topik yang berbeda – beda. Aplikasi ini mempunyai fungsi utama

Universitas Sumatera Utara 24

mengklasifikasikan berita – berita online yang ada menjadi hirarki dengan topik dan kategori yang lebih spesifik. Hasil uji coba menunjukkan bahwa klasifikasi secara online dapat menghasilkan hasil yang lebih baik dibandingkan klasifikasi offline. Nugraha (2011) memanfaatkan metode KEA++ untuk penyaringan frasa kunci secara otomatis pada pencarian artikel ilmiah berbahasa Indonesia. Pada penelitian ini data yang digunakan adalah 30 jurnal akuntansi berbahasa berbahasa Indonesia dan Tesaurus akuntansi berbahasa Indonesia. Berdasarkan pengujian yang dilakukan, semakin banyak jumlah data pelatihan yang digunakan maka semakin tinggi pula akurasi dari proses penyaringan frasa kunci artikel ilmiah berbahasa Indonesia. Penggunaan Tesaurus dapat meningkatkan akurasi dalam proses penyaringan frasa kata kunci ini. Berdasarkan evaluasi dan responden terhadap 10 dokumen yang disaring frasa kuncinya, persentase jumlah frasa kunci yang sesuai adalah sebanyak 51.75%. Pada penelitian selanjutnya, analisis trending topic dengan menggunakan model pendeteksian topik sub-topik, peneliti menggunakan pendekatan Foreground Dynamic Topic Modelling (VF-DTM) untuk merangkum trending topic berdasarkan data tweet dalam struktur yang lebih baik (Banu S. Halima., 2016). Basri (2016) melakukan penelitian dengan memanfaatkan metode SVM untuk mengidentifikasi topik informasi publik media sosial di kota Surabaya berdasarkan klasterisasi teks pada twitter dengan algoritma K-Means. Penelitian yang dilakukan dapat menemukan topik-topik yang sering dibahas pada sosial media kota Surabaya dengan menggunakan metode SVM, dengan hasil yang memiliki persentase paling tinggi adalah SVM kernel ”linear”. Park (2011) memanfaatkan metode Non Negative Matrix Factorization dan Pseudo Relevance Feedback untuk peringkasan dokumen otomatis dengan mengekstraksi kalimat yang relevan dengan user dengan ringkasan yang berfokus kepada user. Metode tersebut mengekstrak kalimat yang bermakna karena mencerminkan struktur dokumen yang berhubungan dengan fitur semantik dan variabel semantik dengan NMF. Kinerja metode yang diusulkan memperoleh nilai rata-rata F- Measure 46.8. Hasil percobaan menunjukkan bahwa metode yang diusulkan mencapai kinerja yang lebih baik dari metode lainnya.

Universitas Sumatera Utara 25

Penelitian terdahulu yang telah dijelaskan di atas akan diuraikan secara singkat pada Tabel 2.8 berikut:

Tabel 2.8. Penelitian Terdahulu No. Peneliti Tahun Metode Keterangan 1. Fudolly 2011 Likelihood dan • Klasifikasi kategori dan Cosine Similarity identifikasi topik dokumen berita berbahasa Indonesia untuk setiap kategori dengan topik yang berbeda – beda • Algoritma yang diusulkan oleh terbukti mampu melakukan klasifikasi kategori dan identifikasi topik dokumen berita berbahasa Indonesia • Hasil uji coba menunjukkan bahwa klasifikasi secara online dapat menghasilkan hasil yang lebih baik dibandingkan klasifikasi offline. 2. Nugraha 2011 KEA++ • Penyaringan frasa kunci secara otomatis pada pencarian artikel ilmiah berbahasa Indonesia • Data yang digunakan adalah 30 jurnal akuntansi berbahasa berbahasa Indonesia dan Tesaurus akuntansi berbahasa Indonesia. • Berdasarkan evaluasi dan responden terhadap 10 dokumen

Universitas Sumatera Utara 26

yang disaring frasa kuncinya, persentase jumlah frasa kunci yang sesuai adalah sebanyak 51.75%.

Tabel 2.8. Penelitian Terdahulu (Lanjutan) 3. Banu S. Halima 2016 Foreground • Merangkum trending topic Dynamic Topic berdasarkan data tweet dalam Modelling (VF- struktur yang lebih baik DTM) 4. Basri 2016 K-Means • Mengidentifikasi topik informasi Clustering & publik media sosial di kota Support Vector Surabaya berdasarkan Machine klasterisasi teks pada twitter • Penelitian yang dilakukan dapat menemukan topik-topik yang sering dibahas pada sosial media kota Surabaya dengan menggunakan metode SVM, dengan hasil yang memiliki persentase paling tinggi adalah SVM kernel ”linear”. 5. Park 2016 Non Negative • Peringkasan dokumen otomatis Matrix dengan mengekstraksi kalimat Factorization yang relevan dengan user (NMF) dan Pseudo dengan ringkasan yang berfokus Relevance kepada user Feedback • Metode tersebut mengekstrak kalimat yang bermakna karena mencerminkan struktur

Universitas Sumatera Utara 27

dokumen yang berhubungan dengan fitur semantik dan variabel semantik dengan NMF • Kinerja metode yang diusulkan memperoleh nilai rata-rata F- Measure 46.8 yang menunjukkan bahwa metode ini mencapai kinerja yang lebih baik dari metode lainnya.

Universitas Sumatera Utara 28

BAB 3

ANALISIS DAN PERANCANGAN

Bab ini membahas mengenai data yang digunakan, penerapan algoritma dan analisis perancangan sistem terhadap implementasi algoritma Non Negative Matrix Decomposition dalam melakukan proses ekstraksi tren topik artikel berita online. Ada dua tahapan yang akan dibahas pada bab ini yaitu tahap analisis dan tahap perancangan sistem. Tahap analisis akan membahas mengenai analisis terhadap data dan metode yang digunakan, sedangkan tahap perancangan sistem akan membahas mengenai perancangan tampilan antarmuka.

3.1 Data Acquisition (Pengumpulan data)

Data yang digunakan untuk proses ekstraksi topik merupakan kumpulan artikel (korpus) yang disimpan dalam database sebanyak 842 artikel dengan kategori berita nasional, berita entertaiment, dan berita teknologi. Kumpulan artikel (korpus) ini merupakan hasil dari web crawler situs website berbahasa Indonesia yang didapatkan dari portal berita online. Situs website yang diambil adalah situs berita pada tanggal 06 Juni 2017 s/d 09 Juni 2017 dengan memanfaatkan URL dari beberapa portal berita online berbahasa Indonesia, yaitu: a. Liputan6.com b. Kompas.com c. Tribunnews.com d. Sindonews.com e. Viva.co.id

3.2. Analisis Sistem

Ekstraksi topik artikel berita online menggunakan metode Non-Negative Matrix Factorization merupakan sistem yang berfungsi untuk mengetahui berita apa yang sedang trend dibahas pada periode waktu tertentu. Arsitektur umum terdiri dari 3 bagian

Universitas Sumatera Utara 29

utama, yaitu input, proses, dan output. Tahapan yang dilakukan pada proses input adalah artikel berita hasil crawling yang dapat dilihat pada gambar 3.1. Tahapan proses merupakan bagian pre-processing, pembuatan kamus n-gram, term frequency, serta ekstraksi tren topik menggunakan perhitungan Non-Negative Matrix Decomposition. Tahapan post processing adalah proses yang berada di luar program. Sedangkan untuk tahapan output adalah berupa tren topik-topik berdasarkan tanggal per harinya dengan kategori nasional, entertaiment, dan teknologi, yang berbentuk visualisasi grafik. Arsitektur umum yang mendeskripsikan setiap metodologi pada penelitian ini ditunjukkan pada Gambar 3.1.

Universitas Sumatera Utara 30

Input

Seeds URL Proses

Crawling Text Preprocessing

Case Folding Artikel Berita

Tokenizing

Stopword Removal (Filtering)

Stemming

Pembuatan

kamus n-gram

Term Frequency

Ekstraksi Tren Topik

Output Non-Negative Matrix Factorization

Visualisasi List of topic Tren Topik

Gambar 3.1. Arsitektur Umum

Universitas Sumatera Utara 31

3.2.1. Input Data Tahapan paling awal dimulai dari input data berupa artikel-artikel berbahasa Indonesia. Gambar 3.2 berikut ini merupakan proses input data hingga menghasilkan artikel berita menggunakan teknik crawling.

Seeds URL

Fetch

Parse

Content Extraction

Artikel Berita

Gambar 3.2. Proses Crawling

Dalam langkah pertama, sebuah web crawler mengambil URL dan mengunduh halaman (fetch) dari internet berdasarkan URL yang diberikan. Artikel yang di-input berasal dari url-url portal berita online yang ditentukan oleh penulis. Halaman yang diunduh ditempatkan di database. Selanjutnya, web crawler mem-parsing keseluruhan webpage yang diunduh dan mengambil link-link ke halaman lain. Pada penelitian ini, web crawler selain mengambil link-link juga akan mengambil konten berita pada webpage. Setelah crawler mengambil link dari webpage, tiap link ditambahkan ke sebuah daftar untuk di-crawl. Pada tahap ini dilakukan content extraction menggunakan boilerpipe. Boilerpipe merupakan salah satu algoritma ekstraksi konten pada halaman HTML yang menyediakan algoritma untuk mendeteksi dan menghapus konten-konten selain main content seperti boilerplate ataupun template. Teknik extraction yang digunakan dalam boilerpipe ini merupakan ArticleExtractor, dimana crawler hanya meng-extract konten artikel berita saja. Selanjutnya, web crawler akan mengulangi proses. Semua crawler bekerja dengan rekursif atau bentuk perulangan sehingga tahap

Universitas Sumatera Utara 32

terakhir menghasilkan artikel berita dengan informasi tanggal terbit berita. Semua artikel yang dihasilkan akan masuk ke dalam database yang nantinya akan dikelompokkan berdasarkan tanggal terbit dan kategori beritanya.

3.2.2. Text pre-processing Tahapan text-preprocessing adalah tahapan awal dalam proses text mining. Tahap ini bertujuan untuk memproses artikel mentah menjadi artikel yang siap untuk diproses lebih lanjut. Artikel yang akan diproses adalah artikel hasil crawling yang telah diproses sebelumnya dan telah dikelompokkan berdasarkan kategori dan tanggal terbit beritanya. Terdapat beberapa tahapan dalam text pre-processing, yaitu case-folding, tokenizing, filtering, dan stemming. a. Case folding Proses case folding adalah proses untuk mengubah semua huruf kapital menjadi huruf biasa. b. Tokenizing Proses tokenizing merupakan tahap pengolahan dokumen untuk menghilangkan gambar, tanda baca, spasi, dan karakter selain huruf (non-alpha character). Tahap ini memecah dokumen menjadi struktur terkecil yang dapat diproses, yaitu kata (term). Setelah melewati proses ini, dokumen berubah menjadi barisan kata dengan huruf kecil. c. Filtering Proses filtering adalah proses pemilihan kata-kata yang akan digunakan untuk merepresentasikan dokumen sehingga dapat digunakan untuk: - Mendeskripsikan isi dokumen - Membedakan dokumen dengan dokumen lain dalam kumpulan dokumen. Kata-kata yang mungkin tidak memiliki makna yang berarti ketika berdiri sendiri, seperti kata hubung, kata depan, dan negasi dihilangkan dari setiap dokumen

Universitas Sumatera Utara 33

Kumpulan kata ini disebut dengan stop-word. Pada penelitian ini, penulis menggunakan stop-word yang diperoleh dari penelitian Tala. d. Stemming Stemming adalah proses pengubahan suatu kata menjadi morfem atau kata dasar yang membangunnya. Algoritma stemming yang digunakan adalah algoritma stemming Nazief Adriani yang telah dijelaskan pada bagian 2.4.

3.2.3. Pembuatan kamus n-gram Setelah dilakukan proses pre-processing, tahapan selanjutnya yang dilakukan adalah pembuatan kamus kata kandidat topik yang akan diekstraksi menggunakan konsep pembentukan kamus n-gram. N-gram merupakan rangkaian dari n huruf atau n kata. Data n-gram terdiri dari kumpulan kata-kata 1 kata, 2 kata, dan 3 kata yang memiliki nilai yang disebut dengan frekuensi. Pada kamus 1 kata, kalimat dipisahkan per 1 kata dan dihitung frekuensi kemunculan kata tersebut pada semua data dokumen yang telah diproses pada tahap pre-processing. Pada kamus 2 kata, kalimat dipisahkan per 2 kata dan dihitung frekuensi kemunculan katanya pada semua artikel. Pada kamus 3 kata, kalimat dipisahkan per 3 kata dan dihitung frekuensi kemunculan katanya pada semua artikel yang tersedia. Setelah menghitung frekuensi dari masing-masing daftar kata, maka kemudian lakukan pembuangan kata yang frekuensi kemunculannya terlalu sedikit, sehingga proses perhitungan frekuensi berikutnya hanya akan dilakukan untuk kata-kata yang frekuensinya cukup banyak.

3.2.4. Pembentukan matriks kata dokumen Setelah mendapatkan kamus 1 kata, 2 kata, dan 3 kata hasil ekstraksi kamus n-gram, selanjutnya akan dibentuk sebuah matriks kata A, yaitu sesuai dengan frekuensi kata yang telah dihitung pada proses sebelumnya. Kolom-kolom dari matriks V merepresentasikan artikel sedangkan baris-baris dari matriks V merepresentasikan kata.

Universitas Sumatera Utara 34

Pada proses pembentukan matriks kata dokumen, pertama dimulai dengan menghitung kemunculan semua kata-kata pada kamus kata pada suatu artikel sehingga terbentuk sebuah vektor. Berikut merupakan data yang akan dibentuk matriks kata dokumennya yang ditampilkan pada Tabel 3.1.

Tabel 3.1. Proses Penyiapan Data No. Tokenization Filtering Term Frequency 1. Bk, dpr, aturan, senpi, [dpr, aturan, senpi, { dpr : 1, aturan : 1. senpi : 1, di, kode, etik, anggota, anggota] anggota : 1 } dewan 2. Keributan, pecah, [keributan, eleven, { keributan : 1, eleven : 1, dinihari, eleven, salemba, polisi] salemba : 1, polisi : 1 } salemba, beri, garis, polisi 3. Keributan, di, eleven, [keributan, eleven, { keributan : 1 : eleven : 1, salemba, menyisakan, salemba] salemba : 1 } bercak, darah 4. Pelaku, keributan, di, [pelaku, keributan, { pelaku : 1, keributan : 1, eleven, salemba, duga, eleven, salemba] eleven : 1, salemba : 1 } orang 5. Keributam, di, eleven, [keributan, eleven, { keributan : 1, eleven : 1, salemba, orang, luka salemba, luka] salemba : 1, luka : 1 }

Dengan menggunakan kumpulan kata yang digunakan dalam proses NMF, dibangun sebuah dictionary atau kamus berisikan kata-kata yang berbeda. Dengan bantuan kamus tersebut, dapat dibangun hubungan kata dan dokumen yang dijelaskan pada Tabel berikut.

Universitas Sumatera Utara 35

Tabel 3.2. Hubungan Kata Dokumen Dokumen d1 d2 d3 d4 d5 dpr 1 0 0 0 0 aturan 1 0 0 0 0 senpi 1 0 0 0 0 K Anggota 1 0 0 0 0 a keributan 0 1 1 1 1 t Eleven 0 1 1 1 1 a Salemba 0 1 1 1 1 Polisi 0 1 0 0 0 Pelaku 0 0 0 1 0 Luka 0 0 0 0 1

Dari Tabel 3.2. di atas kemudian dibentuk sebuah matriks kata-dokumen A berukuran 10x5 dengan setiap anggotanya menunjukkan frekuensi kata dalam dokumen.

1 0 0 0 0

1 0 0 0 0 1 0 0 0 0

1 0 0 0 0 0 1 1 1 1 A = 0 1 1 1 1 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0 [0 0 0 0 1]

3.2.5. Ekstraksi tren topik dengan NMF Proses selanjutnya adalah memasuki proses utama dalam algoritma NMF (Non Negative Matrix Factorization), yaitu melakukan dekomposisi matriks A menjadi matriks W dan matriks H sehingga memenuhi rumus A = WH. Dalam kasus contoh

Universitas Sumatera Utara 36

pada tabel 3.2, matriks A memiliki ukuran matriks sebesar 10 x 5, sehingga matriks W akan memiliki ukuran sebesar 10 x 10 dan matriks H akan memiliki ukuran sebesar 10 x 5.

Langkah-langkah yang dilakukan adalah: 1. Langkah pertama adalah melakukan inisialisasi nilai acak antara 0 sampai dengan 1 untuk masing-masing nilai pada matriks W dan H, sehingga akan dibutuhkan nilai acak untuk matriks W sebanyak 10 x 10 dan nilai acak untuk matriks H sebanyak 10 x 5.

2. Langkah kedua adalah menghitung perkalian matriks W * H dan kemudian menghitung jarak Euclidean antara matriks A dengan matriks tersebut. Jarak Euclidean dihitung dengan rumus

2 2 ||퐴 − 퐵|| = ∑(푎푖푗 − 푏푖푗) 푖푗 Simpan nilai perkalian matriks W*H sebagai matriks V, dan nilai jarak Euclidean sebagai nilai cost.

3. Langkah ketiga adalah melakukan update matriks W dan H menggunakan rumus

H = H.*(VTV). / (WTWH+10−9) W = W.*(VHT). / (WHHT+10−9)

4. Ulangi perhitungan langkah kedua dan langkah ketiga sampai ditemukan nilai cost yang mendekati 0, dengan kata lain sudah tidak ditemukan perbedaan yang signifikan antara matriks A dan V.

5. Dapatkan nilai bobot sementara dari masing-masing kata, yaitu sesuai dengan nilai pada matriks H.

Universitas Sumatera Utara 37

6. Lakukan perhitungan nilai bobot per kata, yaitu dengan cara membagi nilai matriks H dengan total semua nilai pada matriks H. 7. Untuk pasangan 2 kata dan pasangan 3 kata, maka bobot kata dihitung dengan penjumlahan bobot dari setiap kemungkinan kata yang terdapat pada pasangan kata tersebut, sehingga: • Bobot untuk pasangan 2 kata dihitung dengan rumus Bobot = bobot pasangan 2 kata + bobot kata pertama + bobot kata kedua

• Bobot untuk pasangan 3 kata dihitung dengan rumus Bobot + bobot pasangan 3 kata + bobot pasangan 2 kata kombinasi pertama + bobot pasangan 2 kata kombinasi kedua + bobot kata pertama + bobot kata kedua + bobot kata ketiga

8. Lakukan pengurutan bobot kata dari bobot kata tertinggi sampai ke bobot kata terendah, dan kemudian dapatkan 5 bobot kata tertinggi sebagai jawaban topik.

3.3. Perancangan Sistem Perancangan pada sistem pada penelitian ini dibagi menjadi dua bagian yakni perancangan sistem bagian belakang (back-end) dan perancangan sistem bagian depan (front-end).

3.3.1. Perancangan sistem bagian belakang (back-end) Perancangan sistem bagian belakang (back end) lebih fokus terhadap program, fungsi, script, serta alur data yang diterapkan pada sistem. Back-end dari sebuah sistem terdiri dari server, aplikasi, dan database. Pada penelitian ini perancangan back end meliputi proses web extraction dengan teknik crawling untuk mendapatkan dataset berupa artikel dari portal berita online, lalu melakukan pre-processing untuk menyamakan struktur data, pembuatan kamus, pembentukan matriks kata. Setelah itu dilakukan pengujian algoritma Non Negative Matrix Factorization untuk menghasilkan tren-tren

Universitas Sumatera Utara 38

topik yang sedang hangat dibicarakan pada periode waktu tertentu sesuai dengan kategori berita yang diinginkan.

3.3.2. Perancangan sistem bagian depan (front-end) Perancangan sistem bagian depan (front-end) pada penelitian ini menggunakan Graphical User Interface (GUI). Perancangan front-end ditujukan untuk membantu pengguna dalam menggunakan sistem. Sistem bagian depan dirancang untuk menjalankan setiap proses pada penelitian ini dan memvisualisasikan hasil dari proses ekstraksi. Gambaran rancangan sistem bagian depan (front-end) dapat dilihat pada Gambar 3.3.

Gambar 3.3. Rancangan Bagian Depan Sistem

Sistem bagian depan (front-end) pada penelitian ini mempresentasikan setiap proses yang ada untuk melakukan ekstraksi tren topik dari artikel berita online hasil crawler. User meng-input tanggal berita dan memilih kategori berita apa yang ingin dicari

Universitas Sumatera Utara 39

trending topic-nya. Periode tanggal berita dipilih berdasarkan tanggal harian dan kategori berita yang diplih yaitu kategori nasional, entertaiment, atau teknologi. Proses perhitungan dilakukan untuk proses ekstraksi artikel-artikel sehingga hasil dari proses ekstraksi yang dilakukan akan divisualisasikan ke dalam bentuk grafik beserta keterangan bobot dan list tren topik berita yang sedang hangat dibicarakan.

Universitas Sumatera Utara 40

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Pada bab ini, akan membahas hasil yang didapatkan dari proses implementasi dan pengujian sistem dengan menggunakan metode Non Negative Matrix Decomposition untuk ekstraksi tren topik artikel berita online.

4.1. Implementasi Sistem

4.1.1. Kebutuhan sistem

Dalam perancangan ekstraksi tren topik artikel berita online menggunakan metode Non Negative Matrix Decomposition memerlukan perangkat keras dan perangkat lunak pendukung, antara lain : a. Perangkat keras

Spesifikasi perangkat keras yang digunakan dalam pembuatan sistem ini adalah :

1. Processor : Inter® Core™ i3 CPU M380 @ 2.53GHz 2.53 GHz

2. RAM : 2.00 GB

3. Hardisk : 500 GB

b. Perangkat lunak

Spesifikasi perangkat lunak yang digunakan dalam pembuatan sistem ini adalah :

1. Sistem operasi yang digunakan Windows 8.1 Pro 64 bit

2. XAMPP Windows version 3.2.1

3. NetBeans IDE 8.2

Universitas Sumatera Utara 41

4.1.2. Hasil preparasi data

Proses pertama dari implementasi sistem ini adalah persiapan data yang akan digunakan. Persiapan data ini terdiri dari penentuan sumber data. Data merupakan hasil dari web crawler situs website berbahasa Indonesia yang didapatkan dari portal berita online dengan kategori nasional, entertaiment, dan teknologi. Situs website yang diambil adalah situs berita pada tanggal 06 Juni 2017 s/d 09 Juni 2017 dengan memanfaatkan URL dari beberapa portal berita online berbahasa Indonesia, yaitu: a. Liputan6.com b. Kompas.com c. Tribunnews.com d. Sindonews.com e. Viva.co.id

Detail dari kumpulan artikel yang didapat dari hasil web crawler dapat dilihat pada Gambar 4.1.

250

200

150

100 202 213

Jumlah Artikel 172 142 50 113

0 Portal Berita

Liputan 6 Kompas Tribunnews Sindones Viva

Gambar 4.1. Grafik Artikel Hasil Web Crawler

Universitas Sumatera Utara 42

Kemudian artikel hasil crawling dari portal berita online ini dikelompokkan berdasarkan tanggal terbitnya sehingga didapatkan statistik jumlah artikel berita yang ditampilkan pada Gambar 4.2. berikut.

Jumlah Artikel Berita Perhari 1550

1500

J 1450 u m 1400 l 1350 a 1300 h 1250

1200 6 7 8 9 Tanggal

Gambar 4.2. Grafik Jumlah Artikel Yang Akan Diproses Per Hari

4.1.3. Hasil text preprocessing

Contoh artikel awal hasil dari web crawler yang akan diproses dapat dilihat pada Gambar 4.3.

Wiranto: Penindakan Hukum adalah Tugas Aparat, Bukan Ormas 06 Jun 2017, 15:41 WIB Liputan6.com, - Menteri Koordinator Politik Hukum dan HAM Wiranto mengecam keras aksi persekusi yang akhir-akhir ini marak terjadi. Wiranto mengingatkan agar semua masyarakat menyadari hukum yang berlaku di Indonesia. "Masalah penindakan dari masalah tertentu terhadap kelompok tertentu, itu yang menindak adalah aparat penegak hukum, bukan (organisasi) masyarakat," tegas Wiranto, di Jakarta, Selasa (6/6/2017). Wiranto menambahkan, setiap negara memiliki kesepakatan hukum yang harus diikuti seluruh elemen masyarakat. "Satu negara punya satu hukum yang merupakan kesepakatan kolektif yang semua warga negara Indonesia harus mematuhinya," ujar Wiranto di kantornya, Jakarta, Selasa (6/6/2017). Baru-baru ini remaja berinisial PMA di Cipinang Muara, Jakarta Timur menjadi korban persekusi, lantaran diduga menghina

Universitas Sumatera Utara 43

pimpinan dan ormas di media sosial. Bocah berumur 15 tahun itu dipaksa menandatangani surat perjanjian, agar tidak mengulangi perbuatannya. Selain mendapat intimidasi, PMA juga mendapat kekerasan fisik dari sejumlah orang yang diduga anggota ormas tersebut. Bahkan, dalam video yang sempat beredar di media sosial, dia mendapat ancaman pembunuhan. Gambar 4.3. Contoh Artikel Awal Hasil Web Crawler

Selanjutnya akan dijabarkan hasil yang diperoleh dari setiap proses yang ada pada tahap text pre-processing yang terdiri dari case-folding, tokenizing, filetering, dan stemming. Artikel memasuki proses case-folding. Case Folding adalah proses untuk mengubah semua huruf kapital menjadi huruf biasa. Hasil dari proses case folding dapat dilihat pada Gambar 4.4.

wiranto: penindakan hukum adalah tugas aparat, bukan ormas 06 jun 2017, 15:41 wib liputan6.com, jakarta - menteri koordinator politik hukum dan ham wiranto mengecam keras aksi persekusi yang akhir-akhir ini marak terjadi. wiranto mengingatkan agar semua masyarakat menyadari hukum yang berlaku di indonesia. "masalah penindakan dari masalah tertentu terhadap kelompok tertentu, itu yang menindak adalah aparat penegak hukum, bukan (organisasi) masyarakat," tegas wiranto, di jakarta, selasa (6/6/2017). wiranto menambahkan, setiap negara memiliki kesepakatan hukum yang harus diikuti seluruh elemen masyarakat. "satu negara punya satu hukum yang merupakan kesepakatan kolektif yang semua warga negara indonesia harus mematuhinya," ujar wiranto di kantornya, jakarta, selasa (6/6/2017). baru-baru ini remaja berinisial pma di cipinang muara, jakarta timur menjadi korban persekusi, lantaran diduga menghina pimpinan dan ormas di media sosial. bocah berumur 15 tahun itu dipaksa menandatangani surat perjanjian, agar tidak mengulangi perbuatannya. selain mendapat intimidasi, pma juga mendapat kekerasan fisik dari sejumlah orang yang diduga anggota ormas tersebut. bahkan, dalam video yang sempat beredar di media sosial, dia mendapat ancaman pembunuhan. Gambar 4.4. Artikel Hasil Case Folding

Setelah melewati proses case folding, selanjutnya artikel memasuki proses tokenizing. Tokenizing adalah proses untuk membuang semua angka dan karakter spesial yang terdapat dalam artikel. Hasil dari proses tokenizing dapat dilihat pada Gambar 4.5.

Universitas Sumatera Utara 44

wiranto penindakan hukum adalah tugas aparat bukan ormas jun wib liputancom jakarta menteri koordinator politik hukum dan ham wiranto mengecam keras aksi persekusi yang akhirakhir ini marak terjadi wiranto mengingatkan agar semua masyarakat menyadari hukum yang berlaku di indonesia masalah penindakan dari masalah tertentu terhadap kelompok tertentu itu yang menindak adalah aparat penegak hukum bukan organisasi masyarakat tegas wiranto di jakarta selasa wiranto menambahkan setiap negara memiliki kesepakatan hukum yang harus diikuti seluruh elemen masyarakat satu negara punya satu hukum yang merupakan kesepakatan kolektif yang semua warga negara indonesia harus mematuhinya ujar wiranto di kantornya jakarta selasa barubaru ini remaja berinisial pma di cipinang muara jakarta timur menjadi korban persekusi lantaran diduga menghina pimpinan dan ormas di media sosial bocah berumur tahun itu dipaksa menandatangani surat perjanjian agar tidak mengulangi perbuatannya selain mendapat intimidasi pma juga mendapat kekerasan fisik dari sejumlah orang yang diduga anggota ormas tersebut bahkan dalam video yang sempat beredar di media sosial dia mendapat ancaman pembunuhan

Gambar 4.5. Artikel Hasil Tokenizing

Setelah melewati proses tokenizing, selanjutnya dilakukan proses filtering yaitu membuang kata-kata yang dianggap tidak terlalu memberi makna pada topik seperti kata penghubung, kata ganti orang, identitas portal, dan sebagainya. Contoh proses dari filtering/stopword removal dapat dilihat pada Gambar 4.6.

wiranto penindakan hukum tugas aparat ormas jakarta menteri koordinator politik hukum ham wiranto mengecam keras aksi persekusi marak wiranto mengingatkan masyarakat menyadari hukum berlaku indonesia masalah penindakan masalah kelompok menindak aparat penegak hukum organisasi masyarakat tegas wiranto jakarta selasa wiranto menambahkan negara memiliki kesepakatan hukum diikuti seluruh elemen masyarakat negara hukum kesepakatan kolektif warga negara indonesia mematuhinya wiranto kantornya jakarta selasa remaja berinisial pma cipinang muara jakarta timur korban persekusi lantaran diduga menghina pimpinan ormas media sosial bocah berumur tahun dipaksa menandatangani surat perjanjian mengulangi perbuatannya intimidasi pma mendapat kekerasan fisik sejumlah orang diduga anggota ormas video beredar media sosial mendapat ancaman pembunuhan

Gambar 4.6. Artikel Hasil Filtering

Universitas Sumatera Utara 45

Proses selanjutnya adalah proses stemming untuk mencari kata dasar dari masing- masing daftar kata yang telah didapatkan pada proses filtering. Artikel hasil crawling ini merupakan hasil akhir dari proses pre-processing. Contoh dari proses stemming dapat dilihat pada Gambar 4.7.

wiranto tindak hukum tugas aparat ormas jakarta menteri koordinator politik hukum ham wiranto kecam keras aksi persekusi marak wiranto ingat masyarakat sadar hukum berlaku indonesia masalah tindak masalah kelompok tindak aparat tegak hukum organisasi masyarakat tegas wiranto jakarta selasa wiranto tambah negara milik sepakat hukum ikut seluruh elemen masyarakat negara hukum sepakat kolektif warga negara indonesia patuh wiranto kantor jakarta selasa remaja inisial pma cipinang muara jakarta timur korban persekusi lantaran duga hina pimpinan ormas media sosial bocah umur tahun paksa tandatangan surat perjanjian ulang perbuatan intimidasi pma dapat keras fisik jumlah orang duga anggota ormas dalam video edar media sosial dapat ancaman bunuh Gambar 4.7. Artikel Hasil Stemming

Setelah dilakukan proses filtering dan stemming, didapatkan kamus satu kata yang akan diekstraksi selanjutnya. Pada Gambar 4.8. dapat dilihat bahwa jumlah kata dari artikel hasil crawling yang telah melewati proses pre-processing yang dikumpulkan setiap harinya berbeda.

Jumlah Kata Per Hari 1550

1500 1504

J 1450 u 1425 m 1400 l 1350 1362 a 1316 1300 h 1250

1200 6 7 8 9 Tanggal

Gambar 4.8. Grafik Jumlah Kata Berbeda Yang Dilibatkan Per Hari

Universitas Sumatera Utara 46

4.1.4. Hasil pembuatan kamus n-gram

Setelah dilakukan proses pre-processing dan didapatkan kamus kata yang terdiri dari 1 kata, tahapan selanjutnya yang dilakukan adalah pembuatan kamus kata kandidat topik yang akan diekstraksi menggunakan konsep pembentukan kamus n-gram. N-gram merupakan rangkaian dari n huruf atau n kata. Data n-gram pada penelitian ini diambil dari kamus kata yang diproses sebelumnya dan dilakukan pembuatan kamus 2 kata dan 3 kata. Contoh dari pembuatan kamus n-gram dapat dilihat pada Tabel 4.1.

Tabel 4.1. Hasil Pembentukan Kamus N-Gram

1 Kata 2 Kata 3 Kata Wiranto wiranto tindak wiranto tindak hukum Tindak tindak hukum tindak hukum tugas Hukum hukum tugas hukum tugas aparat Tugas tugas aparat tugas aparat ormas Aparat aparat ormas aparat ormas jakarta Ormas ormas jakarta ormas jakarta menteri Jakarta jakarta menteri jakarta menteri politik Menteri menteri politik menteri politik hukum Politik politik hukum politik hukum ham Hukum hukum ham Ham dst.

4.1.5. Hasil ekstraksi tren topik dengan NMF

Tahap terakhir dari proses ini adalah dilakukan ekstraksi tren topik dengan NMF, dimana dilakukan pembobotan kata dari bobot kata tertinggi sampai ke bobot kata terendah, dan kemudian didapatkan keluaran berupa 5 bobot kata tertinggi sebagai

Universitas Sumatera Utara 47

jawaban tren topik yang divisualisasikan dalam bentuk grafik disertakan dengan log perhitungan menggunakan Non-Negative Matrix Factorization. Gambar 4.9 sampai Gambar 4.12 menunjukkan hasil dari ekstraksi tren topik harian portal berita online berbahasa Indonesia menggunakan metode Non-Negative Matrix Factorization berdasarkan tanggal dan kategori berita.

Gambar 4.9. Hasil Ekstraksi Data Kategori Nasional Tanggal 06 Juni 2017

Pada Gambar 4.9. dapat dilihat bahwa topik “majelis ulama indonesia” merupakan tren topik yang sedang dibicarakan di media online. Kemudian diikuti dengan topik “presiden joko widodo”, selanjutnya topik “dprd jawa timur”, kemudian diikuti oleh topik “firza husein”, dan terakhir diikuti topik “presidential threshold”.

Universitas Sumatera Utara 48

Gambar 4.10. Hasil Ekstraksi Data Kategori Entertaiment Tanggal 08 Juni 2017

Pada Gambar 4.10. dapat dilihat bahwa topik “mendiang julia perez” merupakan tren topik yang sedang dibicarakan di media. Kemudian diikuti dengan topik “film filosofi kopi”, selanjutnya topik ketiga “julia perez”, kemudian diikuti oleh topik “”, dan topik kelima diikuti oleh “ovi sovianti”.

Universitas Sumatera Utara 49

Gambar 4.11. Hasil Ekstraksi Data Kategori Teknologi Tanggal 08 Juni 2017

Pada Gambar 4.11. dapat dilihat bahwa topik “youtube preview thumbnail” merupakan tren topik yang sedang dibicarakan di media. Kemudian diikuti dengan topik “drone alap alap”, selanjutnya topik ketiga “blokir situs telegram”, kemudian diikuti oleh topik “produk polytron smartphone”, dan topik kelima diikuti oleh “gelar the nextdev”.

Universitas Sumatera Utara 50

Gambar 4.12. Hasil Ekstraksi Data Kategori Teknologi Tanggal 09 Juni 2017

Pada Gambar 4.12 dapat dilihat bahwa topik “blokir aplikasi telegram” merupakan tren topik yang sedang dibicarakan di media. Kemudian diikuti dengan topik “galaxy note fe”, selanjutnya topik ketiga “kompetisi the nextdev”, kemudian diikuti oleh topik “traffic jam pilot”, dan topik kelima diikuti oleh “panel durov”.

4.2. Pengujian Sistem

Data untuk menguji sistem pada penelitian ini diuji dari artikel pada tanggal 06 Juli 2017 hingga 09 Juli 2017 dengan kategori nasional, entertaiment, dan teknologi. Hasil tren topik yang didapat berjumlah 5 tren topik dan akan dibandingkan dengan tren topik yang tersedia di google trend untuk didapatkan tingkat keberhasilan dari implementasi sistem ini.

Universitas Sumatera Utara 51

Pada Tabel 4.2 dan Tabel 4.3 di bawah ini ditampilkan contoh rincian data uji sistem dan data tren topik pada google trends.

Tabel 4.2. Contoh Data Uji Sistem No. Tanggal Terbit Berita Kategori Tren Topik Yang Dihasilkan 1. 06 Juni 2017 Teknologi the nextdev academy dell xps angelita trans nusantara emoji blob daihatsu altis 2. 06 Juni 2017 Nasional majelis ulama indonesia presiden joko widodo dprd jawa timur firza husein presidential threshold 3. 07 Juni 2017 Nasional siti fadilah supari komisi berantas korupsi mahfud md presiden joko widodo rizieq shihab 4. 07 Juni 2017 Teknologi gaikindo indonesia international buka blokir telegram small mpv mitsubishi indonesia blokir telegram internet xl 5. 08 Juni 2017 Entertaiment mendiang julia perez film filosofi kopi julia perez luna maya ovi sofianti

Universitas Sumatera Utara 52

Tabel 4.3. Contoh Data Tren Topik pada Google Trend No. Tanggal Tren Topik 1. 06 Juni 2017 Jokowi di Hari Anak Nasional, Angkot Terbakar, Dijerat KPK, Streaming Tv, Presidential Threshold Pilkada 2019, UKP Pancasila, Artis Terjerat Narkoba, Fahri Hamzah, Atrans, The Nextdev Telkomel, Atrans, Mutasi Polri, Firza Husein, Google Bunuh Emoji Blob 2. 07 Juni 2017 Axel Thomas, Pretty asmara, Dilan, Indonesia vs Malaysia, Ustadz Syam, Adipati Dolken, Game of Thrones Season 7, Telegram adalah, Jefri Nichol, Film One Fine Day, Axel Thomas, Artis Terjerat Narkoba, Ayu Ting Ting Keluar dari Pesbukers, Mahkamah Agung, Hermansyah ITB 3. 08 Juni 2017 Peringatan Julia Perez, Axel Matthew Thomas, Hak Angket KPK, Anggita Eka Putri, Timnas U22, Ayu Ting-Ting, One Direction, Filosofi Kopi 2, Pesbukers, Malaysia, Mitsubishi Expander, Pemblokiran Telegram

Berdasarkan data hasil pengujian keseluruhan data yang telah dilakukan, dapat diperoleh nilai akurasi dengan menghitung jumlah data yang benar dibagi dengan jumlah keseluruhan data uji dikali 100%. Maka didapat akurasi sebesar 60 %.

Jumlah data relevan Persentase Akurasi = × 100% Jumlah keseluruhan data uji 36 = × 100% 60 = 65 %

Universitas Sumatera Utara 53

Tabel 4.4. Hasil Pengujian

Jumlah Data Uji Relevan Akurasi 60 36 60%

Untuk melihat akurasi hasil pengujian pada masing-masing tanggal dan kategori dapat dilihat pada Tabel 4.5.

Tabel 4.5. Hasil Pengujian Tiap Kategori

Tanggal Data Uji Kategori Relevan Akurasi 06 Juni 2017 Nasional 3 60% 06 Juni 2017 Teknologi 3 60% 06 Juni 2017 Entertaiment 5 100% 07 Juni 2017 Nasional 2 40% 07 Juni 2017 Teknologi 3 60% 07 Juni 2017 Entertaiment 4 80% 08 Juni 2017 Nasional 3 60% 08 Juni 2017 Teknologi 2 40% 08 Juni 2017 Entertaiment 3 60% 09 Juni 2017 Nasional 2 40% 09 Juni 2017 Teknologi 2 40% 09 Juni 2017 Entertaiment 4 80%

Universitas Sumatera Utara 54

BAB 5 KESIMPULAN DAN SARAN

Bab ini akan membahas tentang kesimpulan dari penerapan metode yang diajukan untuk ekstraksi tren topik berita online dan saran untuk pengembangan yang dapat dilakukan pada penelitian selanjutnya.

5.1. Kesimpulan Berdasarkan penerapan metode dari arsitektur umum yang dirancang untuk ekstraksi tren topik portal berita online hasil dari web crawler, didapatkan beberapa kesimpulan yaitu: 1. Pemfilteran kandidat topik pada tahapan pre-processing dan pembentukan kamus n-gram dapat mempengaruhi akurasi algoritma NMF 2. Algoritma Non-Negative Matrix Factorization (NMF) mampu mengekstraksi tren- tren topik berita pada portal berita online berbahasa Indonesia dengan akurasi sebesar 60%. 3. Metode ini membutuhkan waktu yang relatif singkat dalam mencari tren topik dalam kumpulan dokumen.

5.2. Saran

Saran yang dapat penulis berikan untuk pengembangan selanjutnya adalah sebagai berikut: 1. Pengembangan aturan dari text pre-processing dan pembentukan kamus kata akan dapat meningkatkan akurasi dari ekstraksi tren topik berita. 2. Penggunaan algoritma unsupervised learning lainnya yang dapat mengekstraksi tren topik harian portal berita online.

Universitas Sumatera Utara 55

3. Penggunaan data perbandingan tren topik selain google trends untuk menyesuaikan tren topik yang dihasilkan dengan NMF. 4. Menambahkan sistem temu balik informasi untuk hasil dari ekstraksi tren topik berita online yang telah dilakukan untuk melihat apakah ekstraksi berita dapat meningkatkan efektifitas pencarian.

Universitas Sumatera Utara 56

DAFTAR PUSTAKA

Adriani, M., & Nazief, B. 1996. Confix-Stripping: Approach to Stemming Algorithm for Bahasa Indonesia. Faculty of Computer Science University of Indonesia.

Adriani, M., Asian, J., Nazief, B., Tahaghoghi, S.M.M., & Williams H.E. 2007. Stemming Indonesian: A Confix-Stripping Approach. Journal ACM Transactions on Asian Language Information Processing 6(4): 1-33.

Banu S. Halima & S. Chitrakala. 2016. Trending Topic Analysis Using Novel Sub Topic Detection Model. IEEE International Conference on Advances in Elecrtrical, Electronics, Information, Communication and Bio-Informatics (AEEICB16).

Basri, M. 2016. Identifikasi Topik Informasi Publik Media Sosial di Surabaya Menggunakan Algoritma K-Means. Institut Teknologi Sepuluh November: Surabaya.

Berry, M.W., Browne, M., Langville, A.N., Pausca, V.P., Plemmons, R.J. 2007. Algorithms and applications for approximate nonnegative matrix factorization. Computational Statistics and Data Analysis, pp. 155 – 173.

Berry, M.W. & Kogan, J. 2010. Text Mining Aplication and theory. WILEY: United Kingdom.

Buciu, I., Nafornita, I. 2009. Non-negative matrix factorization methods for face recognition under extreme lighting variations. Second IEEE-EURASIP International Symposium on Control Communication. Romanian National University Research Council.

Cavnar, W. B. & Trenkle, J. M. 1994. N-Gram Based Text Categorization. Proceedings of SDAIR-94, 3푟푑 Annual Symposium on Document Analysis and Information Retrieval, pp. 161-175.

Fudolly, A. 2011. Klasifikasi Kategori dan Identifikasi Topik Pada Artikel Berita Berbahasa Indonesia. Institut Teknologi Sepuluh November: Surabaya.

Ghahramani, Z. 2014. Automatic construction and natural-language description of nonparametric regression models. In TwentyEighth AAAI Conference on Artificial Intelligence (AAAI-14).

Universitas Sumatera Utara 57

Harlian, Milka. 2006. Machine Learning Text Kategorization. Austin : University of Texas.

Jones, K. S. 2004. A Statistical Interpretation of Term Specify and Its Application in Retrieval. Journal of Documentation Vol 60, pp. 493-502.

Landauer, T. K., & Dumais, S. T. 1997. A solution to Plato’s problem : The latent semantic analysis theory of acquisition, induction and representation of knowledge. Psychological Review, pp. 211-240.

Lee, D. D. & Seung , H. S. 1999. Learning the parts of objects by Non-Negative Matrix Factorization. Nature, 401: 788-791.

Lee & Seung, H. 2001. Algorithms for non-negative matrix factorization. In Advances in Neural Information Processing Systems (NIPS), pp. 556–562.

Miner, G., Delen, D., Elder, J., Fast, A., Hill, T., Nisbet, R. 2012. Practical Text Mining and Statistical Analysis for Non-Structured Text Data Applications. Oxford: Elsevier.

Nugraha, K. 2011. Penyaringan Frasa Kunci Secara Otomatis Menggunakan Algoritma KEA++ Untuk Pencarian Artikel Ilmiah Berbahasa Indonesia. Universitas Dipenogoro: Semarang.

Paatero, P., Taaper, U. 1997. Positive matrix factorization: a non-negative factor model with optimal utization of error estimates of data value. Enviromentric, pp. 111- 126.

Park, S un. 2011. User-focused Automatic Document Summarization using Nonnegative Matrix Factorization and Pseudo Relevance Feedback. International Conference on Computer Engineering and Applications IPCSIT, pp. 255-264.

Segaran, Toby. 2007. Programming Collective Intelligence. Sebastopol, CA: O’Reilly Media, Inc.

Statsoft. 2015. Text Mining Introductory Overview. Retrieved May 21, 2016, from Statsoft: http://www.statsoft.com/textbook/text-mining.

Tala, F. Z. 2003. A Study of Stemming Effects on Information Retrieval in Bahasa Indonesia. Institute for Logic, Language and Computation, Universiteit van Amsterdam, The Netherlands.

Universitas Sumatera Utara