• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN

3.2. Analisis Sistem

Ekstraksi topik artikel berita online menggunakan metode Non-Negative Matrix

Factorization merupakan sistem yang berfungsi untuk mengetahui berita apa yang

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.

Gambar 3.1. Arsitektur Umum Crawling Seeds URL Case Folding Tokenizing Artikel Berita Text Preprocessing Stopword Removal (Filtering) Pembuatan kamus n-gram Input Proses

Ekstraksi Tren Topik Output Visualisasi Tren Topik Stemming Non-Negative Matrix Factorization Term Frequency List of topic

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.

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

Seeds URL Fetch Parse

Content Extraction

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

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

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, di, kode, etik, anggota, dewan [dpr, aturan, senpi, anggota] { dpr : 1, aturan : 1. senpi : 1, anggota : 1 } 2. Keributan, pecah, dinihari, eleven,

salemba, beri, garis, polisi

[keributan, eleven, salemba, polisi]

{ keributan : 1, eleven : 1, salemba : 1, polisi : 1 }

3. Keributan, di, eleven,

Dokumen terkait