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.
Agusta, L. 2009. Perbandingan Algoritma Stemming Porter Dengan Algoritma Nazief & Adriani Untuk Stemming Artikel Teks Bahasa Indonesia. Prosiding Konferensi Nasional Sistem dan Informatika 2009, pp. 196-201.
Alodokter. 2016. Alodokter - Daftar Penyakit. (Online) http://www.alodokter.com/penyakit-a-z (Diakses 2 Agustus 2016)
Al-Marghilani, A., Zedan, H. & Ayesh, A. 2008. Text Mining Based on Self Organizing Map Method for Arabic-English Documents. Proceedings of the Nineteenth Midwest Artificial Intelligence and Cognitive Science Conference (MAICS 2008), pp. 174-181.
Amalia, Gunawan, D., Najwan, A., & Meirina, F. 2016. Focused Web Crawler for the Acquisition of Health Articles. Proceeding of International Conference on Data and Software Engineering, pp. 47-52.
Ambarwati & Winarko, E. 2014. Pengelompokan Berita Indonesia Berdasarkan Histogram Kata Menggunakan Self-Organizing Map. Indonesian Journal of Computing and Cybernetics Systems 8(1): 101-110.
Berry, W.M. & Kogan, J. 2010. Text Mining: Applications and Theory. Wiley: Padstow. Gatial, E., Balogh, Z., Laclavik, M., Ciglan, M. and Hluchy, L. Focused Web Crawling Mechanism based on Page Relevance. Proceedings Information Technologies - Applications and Theory, Peter Vojtas (Ed.), pp.41-46.
Gutwin, C., Paynter, G., Witten, I., Nevill-Manning, C., and Frank, E. 1999. Improving Browsing in Digital Libraries with Keyphrase Indexes. Decision Support Systems, 27: 81–104.
50
Husni, Negara, Y.D.P., & Syarief. M. 2015. Clusterisasi Dokumen Web (Berita) Bahasa Indonesia Menggunakan Algoritma K-Means. Jurnal SimanteC 4(3): 159-166. Ikatan Dokter Anak Indonesia, 2015. IDAI - Public Articles. (Online)
http://www.idai.or.id/artikel (Diakses 11 Juli 2016).
Kateglo, 2016. Kateglo ~ Kamus, tesaurus, dan glosarium bahasa Indonesia. (Online) http://www.kateglo.com/ (Diakses 1 Agustus 2016).
Kementerian Kesehatan Republik Indonesia, 2013. Kementerian Kesehatan Republik
Indonesia - Kamus. (Online)
http://www.depkes.go.id/folder/view/full-content/structure-kamus.html (Diakses 21 Juli 2016)
Kohonen, T. 1995. Self-Organizing Maps. Springer: Berlin.
Prasetyo, E. 2012. Konsep dan Aplikasi Menggunakan MATLAB. Andi: Yogyakarta. Robertson, S., 2004. Understanding Inverse Document Frequency: On theoretical arguments for IDF. Journal of Documentation 60(5): 503-520.
Samodra, Sumpeno & Hariadi. 2009. Klasifikasi Dokumen Teks Berbahasa Indonesia dengan Menggunakan Naïve Bayes. Seminar Nasional Electrical, Informatics, and IT Education 2009, pp. B1-71 – B1-74.
Suryaningsih, V. 2015. Clustering Dokumen Menggunakan Algoritma Self Organizing Maps. Skripsi. Universitas Negeri Sebelas Maret.
Tala, F.Z. 2003. A Study of Stemming Effects on Information Retrieval in Bahasa Indonesia. Tesis. Institute for Logic, Languange and Computation. Universiteti van Amsterdam the Netherlands.
Turney, P. 1999. Learning to Extract Keyphrases from Text. National Research Council Canada, Institute for Information Technology, Technical Report ERB-1057
Vijayarani, S., & Janani, R. 2016. Text Mining: Open Source Tokenization Tools – An Analysis. Advanced Computational Intelligence: An International Journal (ACII) 3(1): 37-47.
Yang, H.-C., Chen, D.-W., Lee, & C.-H. 2007. Mining Multilingual Texts Using Growing Hierarchical Self-Organizing Maps. Proceedings of the Sixth International Conference on Machine Learning and Cybernetics 2007, pp. 2263-2268.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
Bab ini akan membahas tentang implementasi metode yang digunakan untuk clustering artikel web kesehatan. Adapun dua tahapan yang dibahas pada bab ini yaitu tahap analisis dan tahap perancangan sistem. Analisis terhadap data yang digunakan dan analisis terhadap metode yang digunakan pada setiap langkah pemrosesan data akan dibahas pada tahap analisis. Perancangan tampilan antarmuka sistem akan dibahas pada tahap perancangan sistem.
3.1. Data Acquisition (Pengumpulan data)
Data yang digunakan untuk clustering merupakan kumpulan artikel (korpus) yang disimpan dalam format .txt sebanyak 533 artikel. Kumpulan artikel (korpus) ini merupakan hasil dari web crawler situs website berbahasa Indonesia yang didapatkan dari hasil penelitian yang dilakukan oleh Amalia (Amalia et al, 2016). Sebagian besar situs website yang diambil adalah situs kesehatan. Detail dari kumpulan artikel yang didapat dari hasil web crawler dapat dilihat pada Tabel 3.1.
Tabel 3.1. Detail Artikel yang Didapatkan dari Hasil Web Crawler
Alamat Web Jumlah
www.artikelkesehatan99.com 145
health.detik.com 286
health.kompas.com 72
www.merdeka.com 14
20
3.2. Analisis Sistem
Metode yang diajukan penulis untuk clustering artikel web kesehatan terdiri dari beberapa proses. Proses-proses yang akan dilakukan adalah sebagai berikut: kumpulan artikel memasuki proses text pre-processing dan menghasilkan file baru file teks format .txt hasil dari proses text pre-processing; automatic keyphrase extraction dengan metode TF-IDF; proses clustering dengan algoritma SOM tahap pertama dilakukan untuk mengelompokan artikel menjadi dua kelompok yaitu artikel kesehatan yang berhubungan dengan anak dan kesehatan lainnya; kemudian tiap cluster yang terbentuk dilakukan clustering kembali berdasarkan topik yang ada pada setiap artikel. Arsitektur umum yang mendeskripsikan setiap metodologi pada penelitian ini ditunjukkan pada Gambar 3.1.
3.2.1. Text Pre-Processing
Tahapan text pre-processing adalah tahapan awal dalam melakukan clustering. Tahap ini bertujuan untuk memproses artikel mentah menjadi artikel yang siap untuk diproses lebih lanjut. Terdapat beberapa tahapan dalam text pre-processing yaitu tokenizing, case-folding, filtering, phrase detection, dan stemming.
a. Tokenizing
Proses tokenizing yaitu proses memecah input teks menjadi bagian terkecil yaitu kata (term). Pada tahap ini setiap term akan dipisahkan dengan spasi dan karakter seperti newline (baris baru) akan dihilangkan.
b. Case Folding
Proses case-folding adalah proses penyamaan case kedalam bentuk lowercase sehingga akan mempermudah proses filtering.
c. Filtering
Proses filtering adalah proses yang dilakukan untuk menghapus kata-kata yang dianggap tidak berkontribusi dalam makna sebuah artikel sehingga kata ini dapat dihapus. Kumpulan kata ini disebut dengan stop-word. Pada penelitian ini penulis digunakan stop-word yang diperoleh dari penelitian Tala.
Namun dalam penelitian ini proses filtering tidak dilakukan terhadap kata
“besar” dan “kecil” walaupun kata ini termasuk dalam daftar stop-word. Hal ini
disebabkan kata “besar” dan “kecil” berkontribusi terhadap makna untuk artikel
kesehatan seperti buang air kecil, buang air besar, usus besar, dll. Pada proses filtering ini stop-word tidak secara langsung dihapus melainkan dirubah menjadi tanda baca titik (.). Hal ini juga berlaku dengan tanda baca diubah menjadi tanca baca titik (.).
d. Phrase Detection
22
kesehatan seperti demam berdarah, demam kuning, kanker paru, dll. Tentu saja kaya majemuk ini tidak dapat diabaikan terutama untuk proses ekstraksi kata kunci pada tahap selanjutnya.
Proses phrase detection pada penelitian ini menggunakan metode Multiword Expression Candidate. Metode ini merupakan metode yang dikembangkan oleh penulis dan juga pembimbing untuk mendapatkan kandidat dari kata majemuk pada bahasa Indonesia. Untuk metode ini dibuatlah suatu kamus kata pada bidang kesehatan sebagai pembanding. Pada proses phrase detection ini, metode multiword expression candidate yang digunakan sudah dimodifikasi dengan tujuan untuk menghasilkan suatu artikel hasil text pre-processing. Setiap gabungan kata yang dianggap sebagai kata majemuk di bidang kesehatan akan langsung dibandingkan dengan kamus kata yang ada, jika ya maka kata majemuk tersebut akan langsung disimpan sebagai satu kesatuan term yang setiap katanya dipisahkan oleh tanda baca
garis bawah (“_”). Flowchart dari proses yang dilakukan pada tahap phrase detection
ini dapat dilihat pada Gambar 3.2.
Kamus Kata Kesehatan
Sepengetahuan penulis, belum ada suatu kamus kata pada bidang kesehatan yang mampu mengkoordinir semua kata pada bidang kesehatan dalam bahasa Indonesia. Pada penelitian ini penulis membangun kamus kata bidang kesehatan dengan cara mengambil kata kunci kesehatan yang terdapat dari 284 artikel kesehatan dari http://www.idai.or.id/, kemudian ditambahkan daftar kata yang didapat dari http://www.depkes.go.id/, dan http://www.alodokter.com/. Setelah daftar kata tersebut dikumpulkan kemudian kata tersebut diverifikasi dengan kamus kata yang terdapat pada situs http://www.kateglo.com/.
Metode Multiwords Expression Candidate
Metode yang dikembangkan oleh penulis dan pembimbing ini bertujuan untuk mendapatkan kandidat kata majemuk yang terdapat dalam artikel yang diproses. Pada penelitian ini, metode ini digunakan untuk kata majemuk yang terdiri dari maksimal tiga kata. Flowchart dari metode Multiwords Expressions Candidate dapat dilihat pada Gambar 3.3.
24
Pada metode ini, w adalah kata (term) yang terdapat dalam artikel dengan i sebagai indeks kata (term) tersebut dalam artikel. Metode ini dapat digunakan untuk kata majemuk dengan jumlah berapapun, untuk melakukannya hanya cukup menambahkan panjang w yang akan dibandingkan. Hasil dari metode ini adalah berupa kombinasi dari setiap kata yang dianggap sebagai kandidat dari kata majemuk.
e. Stemming
Stemming adalah proses pengubahan suatu kata menjadi morfem atau kata dasar yang membangunnya. Algoritma ini digabung di dalam proses phrase detection untuk kata yang bukan merupakan kata majemuk (multiword expression). Algoritma stemming yang digunakan adalah algoritma stemming Nazief Andriani yang telah dijelaskan pada bagian 2.3.
3.2.2. Term Weighting
Term weighting adalah proses pemberian nilai terhadap setiap term yang ada pada setiap
artikel yang sudah melewati proses pre-processing. Pemberian nilai atau bobot terhadap term ini menggunakan metode TF-IDF. Metode ini adalah metode yang paling umum digunakan dalam pemberian bobot pada suatu term. Pembobotan ini bertujuan untuk memberikan nilai kepada suatu term yang dimana nilai dari term tersebut akan dijadikan sebagai input pada proses clustering. Detail dari metode TF-IDF ini dapat dilihat pada bagian 2.5. Contoh artikel untuk penghitungan TF-IDF dapat dilihat pada Tabel 3.2.
Tabel 3.2. Contoh Artikel Untuk Perhitungan TF-IDF Dok Term
a. Menghitung TF
Setiap term yang ada pada suatu artikel dihitung nilai kemunculannya. Kemudian nilainya dibagi dengan banyaknya term yang ada pada artikel tersebut. Pada penelitian ini suatu term akan dianggap muncul pada suatu artikel jika kemunculannya pada artikel tersebut diatas 2.
Hal ini dikarenakan artikel hasil dari crawl belum sepenuhnya bersih dari kata-kata yang tidak bersangkutan dengan isi dari artikelnya, oleh karena itu dibuatlah suatu peraturan untuk mencegah kata-kata yang tidak bersangkutan dengan isi artikel yang ada masuk kedalam perhitungan TF-IDF. Contoh dari perhitungan TF dapat dilihat pada Tabel 3.3.
Tabel 3.3. Hasil dari Penghitungan TF
Term D1 D2 D3 TFD1 TFD2 TFD3
kanker 5 2 4 0.2 0 0.2
kanker_paru 5 0 0 0.2 0 0
protein 2 0 1 0 0 0
batuk 4 0 0 0.16 0 0
kanker_payudara 0 4 0 0 0.4 0
susu 0 3 0 0 0.3 0
hamil 0 0 3 0 0 0.15
medis 0 0 2 0 0 0
kanker_ovarium 0 0 4 0 0 0.2
b. Menghitung DF
26
Tabel 3.4. Contoh Penghitungan DF
Term D1 D2 D3 DF
kanker 5 2 4 2
kanker_paru 5 0 0 1
protein 2 0 1 0
batuk 4 0 0 1
kanker_payudara 0 4 0 1
susu 0 3 0 1
hamil 0 0 3 1
medis 0 0 2 0
kanker_ovarium 0 0 4 1
c. Menghitung IDF
Nilai DF setiap term akan dihitung menjadi nilai IDF. Untuk penghitungan IDF ini DF dengan nilai 0 tidak ikut dihitung. Contoh dari penghitungan nilai IDF dapat dilihat pada Tabel 3.5.
Tabel 3.5. Contoh Penghitungan IDF
Term DF IDF
kanker 3 Log (3/2) = 0.17 kanker_paru 1 Log (3/1) = 0.47 batuk 1 Log (3/1) = 0.47 kanker_payudara 1 Log (3/1) = 0.47 susu 1 Log (3/1) = 0.47 hamil 1 Log (3/1) = 0.47 kanker_ovarium 1 Log (3/1) = 0.47
d. Menghitung TF-IDF
Tabel 3.6. Contoh Penghitungan TF-IDF pada Setiap Artikel
kanker 0.17 0.2x0.17=0.034 0 0.2x0.17=0.034
kanker_paru 0.47 0.2x0.47=0.094 0 0
protein 0 0 0 0
batuk 0.47 0.16x0.47=0.0752 0 0
kanker_payudara 0.47 0 0.4x0.47=0.188 0
susu 0.47 0 0.3x0.47=0.141 0
hamil 0.47 0 0 0.15x0.47=0.0705
medis 0 0 0 0
kanker_ovarium 0.47 0 0 0.2x0.47=0.094
3.2.3. Keyphrase Extraction
Keyphrase Extraction adalah proses pemberian kata kunci kepada setiap artikel pada korpus dikarenakan setiap artikel yang didapat dari hasil crawl belum memiliki data kata kunci dalam artikel tersebut. Terdapat hubungan yang nyata bahwa semakin banyak suatu term muncul di suatu artikel, maka term tersebut memiliki makna
penting dan dapat dijadikan sebagai kata kunci pada artikel tersebut. Namun karena terdapat perbedaan jumlah term untuk setiap artikelnya maka kemunculan term juga dipengaruhi oleh jumlah term yang terdapat pada artikel tersebut.
Proses pemberian kata kunci ini menggunakan nilai TF-IDF setiap term sebagai acuannya. Pada penelitian ini ditetapkan sebanyak 5 buah term dengan nilai TF-IDF terbesar pada setiap artikel sebagai kata kunci untuk artikel tersebut. Term yang dipilih sebagai kata kunci tersebut kemudian disimpan kedalam sebuah database sesuai dengan artikelnya.
3.2.4. Clustering dengan Algoritma Self Organizing Maps
28
Kemudian tiap artikel diubah menjadi vektor yang dimana nilai-nilai vektornya didapatkan berdasarkan nilai IDF term-term yang telah dipilih untuk clustering tahap pertama ini. Apabila suatu term memiliki kemunculan lebih dari 2 kali pada suatu artikel maka nilai vektornya adalah nilai IDF term tersebut tapi apabila nilai kemunculannya kurang atau sama dengan 2 kali maka nilai vektornya adalah nol (0). Contoh perhitungan nilai vektor untuk setiap artikel dapat dilihat pada Tabel 3.7.
Tabel 3.7. Contoh Perhitungan Nilai Vektor Untuk Setiap Artikel Term IDF N term masing-masing artikel adalah sebagai berikut:
D1 = {0.17,0.47,0,0.47,0,0,0} D2 = {0,0,0,0,0.47,0.47,0} D3 = {0.17,0,0,0,0,0,0.47}
Nilai vektor tersebut lah yang akan menjadi input data yang akan dihitung pada algoritma Self Organizing Maps. Berikut ini merupakan contoh penghitungan clustering menggunakan algoritma SOM. Langkah pertama yaitu menginisialisasi jumlah cluster = 2, learning rate = 0.1, dan iterasi = 3. Setelah itu menginisialisasi bobot dengan menetapkan bobot pada setiap neuron sebesar 0.5 pada matrik 2x7.
Kemudian memilih salah satu vektor input dan disajikan kejaringan. Vektor input yang dipilih yaitu D1. Setelah itu menghitung jarak antara vektor input dengan perhitungan sebagai berikut
D1 = (0.5-0.17)2 + (0.5-0.47)2 + (0.5-0)2 + (0.5-0.47)2 + (0.5-0.)2 + (0.5-0)2 + (0.5-0)2
= 0.1089 + 0.0009 + 0.25 + 0.0009 + 0.25 + 0.25 + 0.25 = 1.1107
D2 = (0.5-0.17)2 + (0.5-0.47)2 + (0.5-0)2 + (0.5-0.47)2 + (0.5-0.)2 + (0.5-0)2 + (0.5-0)2
= 0.1089 + 0.0009 + 0.25 + 0.0009 + 0.25 + 0.25 + 0.25 = 1.1107
Perhitungan pada vektor input pertama ini menghasilkan jarak yang sama dikarenakan bobot awal yang sama ketika diinisialisasi pertama kali. Setelah itu dipilih salah satu neuron untuk dijadikan neuron pemenang dengan nilai jarak terkecil, namun karena nilai jaraknya sama maka neuron pemenang dipilih secara acak. Kemudian memperbaharui setiap bobot pada setiap neuron. Pada contoh ini neuron 1 akan dipilih sebagai neuron pemenang. Bobot neuron yang berada disekitarnya kemudian akan disesuaikan sehingga neuron-neuron tersebut akan lebih mirip dengan vektor input. Semakin dekat neuron tersebut dengan neuron pemenang, maka bobot neuron tersebut akan mengalami perubahan yang lebih besar. Sebelum memperbaharui bobot, akan dihitung nilai Lt dan Θt.
Lt = L0 −λ = 0.1 x (-1/5) = 0.081873
Perbaharui bobot pada neuron 1 (t = 1) Θt = 1
w11 = 0.5 + 1 x 0.081873 (0.17 – 0.5)
= 0.5 + (-0.02701809) = 0.47298191
w12 = 0.5 + 1 x 0.081873 (0.47 – 0.5)
w26 = 0.5 + 0.606531 x 0.081873 (0 – 0.5)
= 0.5 + (-0.0248292) = 0.4751707
w27 = 0.5 + 0.606531 x 0.081873 (0 – 0.5)
= 0.5 + (-0.0248292) = 0.4751707
Maka akan menghasilkan bobot baru sebagai berikut.
w = 0.4729 0.4975 0.4590 0.4975 0.4590 0.4590 0.4590 0.4983 0.4985 0.4751 0.4985 0.4751 0.4751 0.4751
Kemudian ulangi lagi proses tersebut sampai semua vektor disajikan kedalam jaringan dengan perhitungan yang sama sampai iterasi yang telah ditentukan (t = 3).
Proses clustering dengan algoritma SOM pada penelitian ini dibagi menjadi 2 proses yaitu:
a. Pengelompokkan berdasarkan kesehatan yang berhubungan dengan anak
Pada proses awal dilakukan pengelompokkan yang bertujuan untuk memisahkan artikel kesehatan yang ada dalam korpus awal menjadi dua korpus baru yaitu korpus artikel kesehatan yang berhubungan dengan anak dan korpus artikel kesehatan umum. Pengelompokkan ini menggunakan algoritma SOM. Term yang dipilih untuk dijadikan sebagai parameter pada tahap ini yaitu anak, bayi, dan balita. Term tersebut dipilih karena sebagian besar artikel kesehatan yang berhubungan dengan anak mengandung kata-kata tersebut di dalamnya. Algoritma SOM yang digunakan pada tahap ini ditetapkan untuk menghasilkan dua buah cluster dengan iterasi sebanyak 100 dan learning rate 0.6. Untuk bobot awal pada setiap neuron ditetapkan sebesar 0.5.
b. Clustering berdasarkan topik
32
ada pada setiap korpus. Term-term dengan nilai DF (Document Frequency) dibawah 3 akan diabaikan kemudian dipilih term yang diinginkan untuk jadi parameter topik-topik dari cluster yang akan terbentuk.
Algoritma SOM yang digunakan pada tahap ini ditetapkan untuk menghasilkan maksimal m2 cluster dengan m adalah jumlah term yang dipilih untuk dijadikan topik-topik cluster, iterasi sebanyak 100, dan learning rate 0.6. Untuk bobot awal pada setiap neuron ditetapkan sebesar 0.5.
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) pada penelitian ini tidak memiliki Graphical User Interface (GUI). Perancangan sistem bakc-end ditujukan untuk
melakukan text pre-processing, penghitungan TF-IDF, mengakses database, melakukan pelatihan dan pengujian terhadap algoritma SOM dalam proses clustering artikel. Kemudian proses-proses tersebut diimplementasikan pada sistem bagian depan (front-end) sesuai tahapan-tahapannya.
3.3.2. Perancangan sistem bagian depan (front-end)
Perancangan sistem bagian depan (front-end) pada penelitian ini menggunakan Graphical User Interface (GUI). Sistem bagian depan dirancang untuk menjalankan setiap proses pada penelitian ini dan memvisualisasikan hasil dari proses clustering. Gambaran rancangan sistem bagian depan (front-end) dapat dilihat pada Gambar 3.4.
BAB 4
IMPLEMENTASI DAN PENGUJIAN
Bab ini membahas tentang hasil dari text pre-processing, keyphrase extraction, dan proses clustering yang menggunakan algoritma SOM dalam sistem sesuai dengan analisis dan perancangan yang telah dibahas pada Bab 3.
4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak
Spesifikasi perangkat keras yang digunakan dalam penelitian ini adalah sebagai berikut: 1. Processor Intel® Core™ i3-3217u CPU @ 1.80 GHz.
2. Kapasitas harddisk 500 GB.
3. Memori RAM yang digunakan 4 GB DDR3.
Spesifikasi perangkat lunak yang digunakan dalam penelitian ini adalah sebagai berikut:
1. Sistem operasi yang digunakan adalah Windows 10 Pro 64-bit (10.0, Build 10240).
2. Eclipse IDE Mars.2 Release (4.5.2). 3. XAMPP Control Panel v3.2.1.
4. Library yang digunakan adalah mysql-connector-java 5.0.8, jcommon 1.0.0, dan jfreechart 1.0.1, commons-io 2.5.
4.2. Hasil Text Pre-Processing
kata yang ada didalam artikel dirubah menjadi token setiap token yang ada dipisahkan dengan spasi. Setelah itu masuk ke tahap case-folding yaitu tahap dimana setiap token dirubah kedalam bentuk lowercase. Hasil dari proses tokenizing dan case-folding dapat dilihat pada Gambar 4.2.
Gambar 4.1. Artikel yang Belum Dilakukan Text Pre-Processing
Selanjutnya dilakukan proses filtering yang mengubah semua stop words dan semua tanda baca menjadi tanda baca titik (.). Hal ini dilakukan untuk proses mendapatkan frase kata atau multi word expression pada proses yang akan dilakukan selanjutnya. Hasil dari proses filtering dapat dilihat pada Gambar 4.3.
Saran Dokter Bagi Mereka yang Terkena Kanker Paru Martha HD - detikHealth
Rekomendasi Olahraga WHO Disebut Masih Kurang untuk Kurangi Risiko Penyakit
Jakarta, Produksi cairan di paru pada pasien kanker paru bisa meningkat dan memicu sesak napas. Soal cairan di paru-paru ini, dokter punya pesan.
"Kondisi tersebut karena adanya rangsangan sehingga menghasilkan cairan yang berlebih. Bila dibiarkan, kondisi ini bisa menyebabkan sesak napas," jelas dr Hariadi Hadibrata, SpBT KV dalam acara bulanan pertemuan CISC (Cancer Infomation and Support Center) di Menteng, Jakarta Pusat, Sabtu (13/08/2016). Walaupun belum tentu menyebabkan sesak napas, dr Hariadi menyarankan bagi pasien kanker paru untuk melakukan pencegahan. Salah satunya dengan rajin mengonsumsi makanan tinggi protein.
Baca juga: 30 Persen Kanker Paru Baru Terdeteksi 3 Bulan Sebelum Pasien Meninggal
"Khusus pasien paru, tidak ada pantangan makanan apapun. Namun untuk
menghindari peningkatan cairan, pasien dianjurkan untuk mengonsumsi makanan tinggi protein seperti telur atau daging ayam," lanjut dr Hariadi.
Perlu diketahui, kanker paru menjadi salah satu penyakit yang berbahaya. Hal ini karena tidak ada gejala awal dan baru diketahui saat sudah ganas.
"Karena memang tidak bergejala. Kadang ada yang batuk, tapi dianggap batuk karena rokok jadi tidak periksa. Makanya untuk mengetahui kanker atau tidak harus dengan pemeriksaan thoraks ke dokter spesialis paru," tutur dr Elisna Syahruddin, SpP(K), PhD, dari RS Persahabatan beberapa waktu lalu.
Untuk pencegahan sendiri, dr Elisna menyarankan agar rajin mengontrol kondisi paru. Hal ini karena tingginya polusi di Indonesia sehingga siapapun memiliki risiko mengalaminya.
36
Gambar 4.2. Hasil Proses Tokenizing dan Case-Folding
Pada tahap selanjutnya yaitu phrase detection dan stemming, proses ini dilakukan secara bersamaan untuk menghasilkan artikel yang akan menjadi input pada tahap keyphrase extraction dan clustering. Hasil artikel setelah phrase detection dan stemming adalah artikel hasil text pre-processing yang bisa dilihat pada Gambar 4.4. Jumlah term yang ada berkurang sangat banyak, hal ini disebabkan hanya kata-kata pada bidang kesehatan saja yang diambil sedangkan kata-kata yang tidak memiliki hubungan di bidang kesehatan akan dibuang. Frase kata atau multi word expression terlihat pada artikel ini ditandai dengan dua kata atau tiga kata yang dihubungkan dengan tanda baca garis bawah.
saran dokter bagi mereka yang terkena kanker paru martha hd - detikhealth rekomendasi olahraga who disebut masih kurang untuk kurangi risiko penyakit jakarta, produksi cairan di paru pada pasien kanker paru bisa meningkat dan memicu sesak napas. soal cairan di paru-paru ini, dokter punya pesan. "kondisi tersebut karena adanya rangsangan sehingga menghasilkan cairan yang berlebih. bila dibiarkan, kondisi ini bisa menyebabkan sesak napas," jelas dr hariadi hadibrata, spbt kv dalam acara bulanan pertemuan cisc (cancer infomation and support center) di menteng, jakarta pusat, sabtu (13/08/2016). walaupun belum tentu menyebabkan sesak napas, dr hariadi menyarankan bagi pasien kanker paru untuk melakukan pencegahan. salah satunya dengan rajin mengonsumsi makanan tinggi protein. baca juga: 30 persen kanker paru baru terdeteksi 3 bulan sebelum pasien meninggal "khusus pasien paru, tidak ada pantangan makanan apapun. namun untuk menghindari peningkatan cairan, pasien dianjurkan untuk
Gambar 4.3. Hasil Proses Filtering
Gambar 4.4. Artikel Hasil Text Pre-Processing
4.3. Keyphrase Extraction
Pada bagian ini akan dijabarkan hasil dari proses keyphrase extraction yang didapatkan dari nilai TF-IDF setiap term pada setiap artikel. Keyphrase atau kata kunci yang diambil adalah 5 term dengan nilai TF-IDF terbesar dalam setiap artikel dengan ketentuan yang sudah dijelaskan di Bab 3. Artikel yang tidak memiliki keyphrase diasumsikan bahwa artikel tersebut kurang kompeten untuk dikategorikan sebagai artikel kesehatan. Contoh hasil dari keyphrase extraction dapat dilihat pada Tabel 4.1.
Tabel 4.1. Contoh Hasil Dari Keyphrase Extraction Judul Artikel Keyphrase Extraction Saran Dokter Bagi Mereka yang Terkena
Kanker Paru
kanker_paru, paru, sesak, napas, batuk 7 Manfaat Wortel Bagi Kesehatan Tubuh vitamin, kolesterol, kulit, mata, jantung
saran dokter . . . terkena kanker paru martha hd . detikhealth rekomendasi olahraga who . . . . kurangi risiko penyakit jakarta . produksi cairan . paru . pasien kanker paru . meningkat . memicu sesak napas . . cairan . paru-paru . . dokter . pesan . . kondisi . . . rangsangan . menghasilkan cairan . berlebih . . dibiarkan . kondisi . . menyebabkan sesak napas . . . dr hariadi hadibrata . spbt kv . acara bulanan pertemuan cisc . cancer infomation and support center . . menteng . jakarta pusat . sabtu . 13 . 08 . 2016 . . . menyebabkan sesak napas . dr hariadi menyarankan . pasien kanker paru . . pencegahan . salah satunya . rajin mengonsumsi makanan . protein . baca . 30 persen kanker paru . terdeteksi 3 . . pasien meninggal . khusus pasien paru . . . pantangan makanan apapun . . . menghindari peningkatan cairan . pasien dianjurkan . mengonsumsi makanan . protein . telur . daging ayam . . . dr hariadi . . . . kanker paru . salah . penyakit . berbahaya . . . gejala . . . ganas . . . . . bergejala . kadang . . batuk . . dianggap batuk . rokok . . periksa . . . . kanker . . . . pemeriksaan thoraks . dokter spesialis paru . . . dr elisna syahruddin . spp . k . . phd . . rs persahabatan . . . pencegahan . . dr elisna menyarankan . rajin
mengontrol kondisi paru . . . . tingginya polusi . indonesia . . memiliki risiko mengalaminya . . . kelompok berisiko . pemeriksaan thorax wajib . minimal . . . . . . kelompok berisiko kanker paru . . perokok . tinggal . perokok aktif . pekerja tambang . memiliki riwayat keluarga pengidap kanker .
38
Tabel 4.1. Contoh Hasil Dari Keyphrase Extraction (lanjutan) Judul Artikel Keyphrase Extraction Pertolongan Pertama Jika Anak Demam
di Malam Hari
demam, anak, tidur, bayi Pertolongan Pertama pada Luka Bakar
Sedang
luka_bakar, luka, kulit, Mana yang Paling Menular: Hepatitis A,
B atau C?
hepatitis_b, hepatitis, virus, hepatitis_a, hepatitis_c,
Meringankan Gejala Flu pada Anak flu, anak, demam, sakit_tenggorokan, batuk,
5 Makanan Pereda Gejala "Premenstrual Syndrome"
pms, lemak, menstruasi, jerawat, kalsium,
Suasana Kamar Remang-remang Paling Pas untuk Malam Pertama
- Pose Yoga Pilot Wanita Ini Jadi Sensasi di Instagram
- Apa Yang Baik Bagi Jantung Juga Dapat Mencegah Kanker
kanker, jantung, darah,
Dari 533 artikel input, 5 artikel tidak memiliki kata kunci disebabkan kurangnya kata kesehatan yang terdapat pada artikel tersebut. 5 artikel ini dianggap kurang kompeten sebagai artikel kesehatan sehingga 5 artikel ini tidak akan dilibatkan dalam proses clustering.
4.4. Clustering dengan SOM
Clustering dengan algoritma SOM (Self Organizing Maps) pada penelitian ini dibagi menjadi dua proses.
1. Proses Awal
C1. Grafik hasil dari pemisahan artikel kesehatan yang dilakukan pada tahap pertama ini dapat dilihat pada Gambar 4.5.
Gambar 4.5. Grafik Hasil Pemisahan Artikel pada Proses Awal Clustering
Dari Gambar 4.5 dapat dilihat bahwa artikel-artikel yang berhubungan dengan anak memiliki jumlah yg cukup besar dan dengan jumlah yang cukup besar ini maka pemisahan artikel ini tidak dapat diabaikan. Pemisahan artikel ini sangat bermanfaat dalam membedakan artikel kesehatan yang berhubungan dengan anak ataupun tidak. Hal ini juga membantu dalam membedakan kelompok usia yang dituju dari topik kesehatan yang sama. Sebagai contoh yaitu topik kesehatan “kanker”, kanker dapat berbeda penanganannya tergantung dengan kelompok usia yang ditujunya. Contoh artikel yang masuk kedalam setiap kelompok yang ditentukan juga dapat dilihat pada Tabel 4.2.
Tabel 4.2. Contoh Artikel Hasil dari Proses Awal Clustering
Judul Artikel Kata Kunci Korpus
5 Hal Soal Nutrisi Anak yang Masih Dipercaya, Padahal Mitos
anak, alergi, balita, susu, bayi, C0 5 Langkah Kurangi Berat Badan
Bagi Balita yang Kelebihan Gizi
balita, gizi, anak,
40
Tabel 4.2. Contoh Artikel Hasil dari Proses Awal Clustering (Lanjutan)
Judul Artikel Kata Kunci Korpus
30% Kanker Paru Baru Terdeteksi 3 Bulan Sebelum Pasien Meninggal
kanker_paru, C1
5 Cara Cegah Keracunan Makanan keracunan_makanan,
kontaminasi, bakteri, spora, kulit, Buah-buahan Ini Bisa Diandalkan
untuk Bantu Turunkan Berat Badan
lemak, berat_badan, kalori, antioksidan, perut,
C1
Diet Rendah Karbohidrat Picu Kematian Dini
karbohidrat, diet, berat_badan,
C1
2. Proses Akhir
Pada proses akhir dari clustering dengan algoritma SOM, setiap artikel pada dua korpus baru hasil dari proses awal akan di-clustering berdasarkan topiknya. Term yang dijadikan parameter pada proses akhir dari clustering ini merupakan kata kunci dari setiap artikel yang ada pada dua korpus tersebut dengan nilai DF diatas 2. Pada proses clustering ini akan dilakukan dua percobaan dengan jumlah term parameter yang berbeda yaitu 5 dan 10. Term yang digunakan pada setiap percobaan dapat dilihat pada Tabel 4.3. Hasil percobaan ini bisa dilihat pada Tabel 4.4.
Tabel 4.3. Term Parameter pada Proses Akhir Clustering Cluster Jumlah
Term
Term
C0 5 bayi, susu, asi, hamil, kanker
C0 10 bayi, susu, asi, hamil, kanker, gizi, kembang, kulit, berat_badan, alergi
C1 5 kanker, kanker_payudara, tekanan_darah, serangan_jantung, berat_badan
C1 10 kanker, kanker_payudara, tekanan_darah,
Tabel 4.4. Hasil Percobaan pada Proses Akhir Clustering Cluster Jumlah
Term
Maksimum Cluster
Cluster yang
Terbentuk
Cluster yang
terisi
C0 5 25 20 11
C0 10 100 29 16
C1 5 25 14 8
C1 10 100 46 34
Hasil percobaan ini menunjukan bahwa semakin banyak jumlah term yang dijadikan sebagai parameter maka akan semakin banyak jumlah cluster yang terbentuk. Namun term yang dijadikan parameter juga bergantung kepada banyaknya jumlah cluster yang terbentuk. Grafik hasil dari clustering pada korpus C0 dengan jumlah term yang dijadikan sebagai parameter adalah sebanyak 5 buah dapat dilihat pada Gambar 4.6. Sedangkan grafik hasil dari clustering pada korpus C1 dengan jumlah term yang dijadikan sebagai parameter adalah sebanyak 5 buah dapat dilihat pada Gambar 4.7.
42
Gambar 4.7. Grafik Hasil Clustering pada Korpus C1
Dari cluster yang terbentuk, cluster yang berdekatan biasanya memiliki topik cluster yang sama. Hal ini disebabkan dari nilai bobot cluster-nya yang tidak jauh berbeda. Bobot yang tidak jauh berbeda ini disebabkan oleh term lain yang ikut terdapat didalam cluster selain dari term topik cluster itu sendiri sehingga menyebabkan perbedaan nilai bobot. Contoh artikel yang masuk kedalam setiap cluster yang terdapat pada korpus C0 yaitu kelompok kesehatan anak dapat dilihat pada Tabel 4.4.
Tabel 4.5. Contoh Artikel Hasil dari Clustering pada Korpus C0 Cluster Jumlah
Artikel
Tema Cluster Judul Artikel
0 18 Susu & ASI Cara Produksi ASI melimpah Mengatasi Anak yang Susah
Minum ASI Perah
Bayi Muntah Setelah Minum ASI Perah, Apa Sebabnya?
2 10 ASI Ingat, ASI Donor Sifatnya
Tabel 4.4. Contoh Artikel Hasil dari Clustering pada Korpus C0 (Lanjutan)
Cluster Jumlah Artikel
Tema Cluster Judul Artikel
Infografis: Syarat dan Tahapan
Meringankan Gejala Flu pada Anak
6 24 Bayi Pertolongan Pertama Jika Bayi Menyusui, Berpengaruhkah Pada Bayi?
10 6 Kanker Jajanan Sekolah Tak Sehat Bisa Picu Kanker
Tubuh Kuning dan Perut Membesar, Anak Ini Ternyata Kena Neuroblastoma Wanita Ini Lahirkan Bayi Sehat Hormon yang Berubah-ubah Bisa
Tingkatkan Risiko Kanker Kulit pada Ibu Hamil
5 Fakta Menarik Tentang Aspirin | Obat Penghilang Rasa Nyeri 14 12 Hamil Jangan Remehkan Diabetes Saat
Hamil
Ada Virus Saat Hamil, Apakah Berpotensi Menular ke Anak? Asam Folat Turunkan Risiko Cacat
44
Tabel 4.4. Contoh Artikel Hasil dari Clustering pada Korpus C0 (Lanjutan)
Cluster Jumlah Artikel
Tema Cluster Judul Artikel
16 3 Bayi, Susu & Hamil
Haruskah Anak Mendapat Kolostrum Saat Lahir?
Teh Oolong dan Berbagai Manfaat Kesehatannya
Dari Tabel 4.4 dapat dilihat bahwa cluster yang berdekatan biasanya memiliki topik yang mirip, namun dibedakan dengan satu atau lebih term yang menjadi pembedanya. Seperti pada cluster 16 dan cluster 17 memiliki topik yang sama yaitu
“susu & hamil” namun pada cluster 16 memiliki term “bayi” pada topiknya. Contoh
artikel yang masuk kedalam setiap cluster yang terdapat pada korpus C1 yaitu kelompok kesehatan umum dapat dilihat pada Tabel 4.5.
Tabel 4.6. Contoh Artikel Hasil dari Clustering pada Korpus C1 Cluster Jumlah
Artikel
Tema Cluster Judul Artikel
0 284 Lainnya Diet TLC
14 Hal Tentang Buta Warna 7 Manfaat Serat Bagi Tubuh
Tabel 4.6. Contoh Artikel Hasil dari Clustering pada Korpus C1 (Lanjutan) Cluster Jumlah
Artikel
Tema Cluster Judul Artikel
Diet Rendah Karbohidrat Picu
Pertolongan Pertama untuk Serangan Jantung
Deteksi Dini Kanker Payudara bagi masyarakat Kecamatan Mampang Jakarta
Obesitas Dikaitkan Dengan Risiko 10 Jenis Kanker
6 Makanan Sehat Yang Dibutuhkan Wanita
46
4.5. Implementasi Sistem Bagian Depan
Pada bagian ini dijabarkan tampilan dari sistem bagian depan (front-end) berupa graphical user interface (GUI) yang telah dibangun. Antarmuka (front-end) dalam penelitian ini dibangun berdasarkan rancangan yang telah dijabarkan pada Bab 3. Antarmuka yang dibuat bertujuan untuk mengatur proses clustering dan memvisualisasikan hasil dari clustering artikel ke dalam bentuk grafik lingkaran. Grafik hasil dari proses awal clustering ditampilkan pada halaman utama aplikasi sedangkan grafik hasil dari proses akhir clustering ditampilkan pada window yang berbeda. Tampilan sistem bagian depan front-end) dapat dilihat pada Gambar 4.8.
BAB 5
KESIMPULAN DAN SARAN
Bab ini akan membahas tentang kesimpulan dari penerapan metode yang diajukan untuk clustering artikel web kesehatan dan saran untuk pengembangan yang dapat dilakukan pada penelitian selanjutnya.
5.1. Kesimpulan
Berdasarkan penerapan metode dari arsitektur umum yang dirancang untuk clustering artikel web kesehatan hasil dari web crawler, didapatkan beberapa kesimpulan yaitu: 1. Metode text pre-processing dan keyphrase extraction yang diajukan mampu
mengekstraksi kata kunci setiap artikel web kesehatan dengan baik dan sesuai. 2. Tingkat akurasi dari kata kunci yang diekstraksi dari setiap artikel bergantung pada
kamus kata dan frase tentang kesehatan.
3. Algoritma Self Organizing Maps (SOM) mampu mengelompokkan artikel-artikel yang memiliki kesamaan term.
4. Dengan ditambahkannya proses phrase detection pada text pre-processing yang dapat mendeteksi multi-word expression membantu proses clustering menjadi lebih khusus pada topik pengelompokkannya.
5.2. Saran
Saran yang dapat penulis berikan untuk pengembangan selanjutnya adalah sebagai berikut:
1. Pengembangan kamus kata dan multi-word expression akan dapat meningkatkan akurasi dari ekstraksi kata kunci.
48
3. Menggunakan algoritma jaringan saraf tiruan lainnya untuk mengklasifikasikan artikel kesehatan sesuai kelompok usia yang dituju sebelum menggunakan algoritma self organizing map untuk clustering artikel kesehatan sesuai topiknya. 4. Menambahkan sistem temu balik informasi untuk hasil dari clustering artikel
BAB 2
LANDASAN TEORI
2.1. 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.
2.2. Text Pre-Processing
Text pre-processing adalah proses pengubahan bentuk data yang 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 tokenizing, case-folding, filtering, phrase detection, dan stemming. Dimana penjelasan
dari tahap-tahap tersebut adalah sebagai berikut: 2.2.1. Tokenizing
7
Gambar 2.1. Proses Tokenizing
2.2.2. Case-folding
Case-folding adalah proses penyamaan case dalam artikel, Hal ini disebabkan karena tidak semua artikel teks konsisten dalam penggunaan huruf kapital. Oleh karena itu dilakukan case-folding untuk mengkonversi semua teks kedalam suatu bentuk standar (lowercase). Contoh dari proses case-folding dapat dilihat pada Gambar 2.2.
Gambar 2.2. Proses Case Folding
2.2.3. Filtering
“yang”, “dan”, “di”, “dari”, dan lain-lain (Tala, 2003). Contoh proses filtering stop-word dapat dilihat pada Gambar 2.3.
Gambar 2.3. Proses Filtering Stop-Word
2.2.4. Phrase Detection
Tahap ini bertujuan untuk menemukan 2 kata atau lebih yang merupakan frase kata. Pada bahasa Indonesia frase kata berbeda dengan kata majemuk. Dalam bahasa Indonesia frasa adalah kumpulan kata nonpredikatif, sedangkan kata majemuk adalah gabungan morfem dasar yang seluruhnya berstatus sebagai kata yang mempunyai pola yang khusus menurut kaidah bahasa yang bersangkutan. Contoh dari phrase detection untuk mendeteksi kata majemuk dapat dilihat pada Gambar 2.4.
9
2.2.5. Stemming
Tahap ini bertujuan untuk menemukan kata dasar dari kata-kata yang bukan merupakan frase yang didapatkan setelah proses phrase detection. Contoh dari proses stemming dapat dilihat pada Gambar 2.5.
Gambar 2.5. Proses Stemming
2.3. Algoritma Stemming Nazief Andriani
Algoritma nazief andriani merupakan algoritma stemming khusus untuk bahasa Indonesia. Algoritma ini menggunakan beberapa aturan morfologi untuk menghilangkan affiks (awalan, imbuhan, dll) dari sebuah kata dan kemudian mencocokannya dalam kamus akar kata (kata dasar). Jadi dasar utama algoritma ini adalah daftar kata dasar. Langkah pertama yang dilakukan adalah mengumpulkan daftar kata dasar dalam bahasa Indonesia. Semakin lengkap daftarnya, semakin tinggi akurasi algoritma ini.
Algoritma ini memiliki tahap-tahap sebagai berikut (Nazief & Adriani, 1996): 1. Cari kata yang akan di-stem di dalam kamus, jika kata tersebut ditemukan maka
kata tersebut adalah kata dasar dan algoritma berhenti. Jika tidak ada maka lanjutkan ke langkah-2.
2. Hilangkan inflectional suffix (imbuhan infleksional) yaitu (“-lah”, “-kah”, “-tah”,
“-ku”, “-mu”, “-nya”).
3. Hapus derivation suffix (imbuhan turunan) yaitu (“-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.
4. Hapus derivation prefix (awalan turunan) yaitu (“be-“, “di-“, “ke-“, “me-“, “pe-“,
“se-“, “te-“). Jika pada langkah 3 ada suffix yang dihapus maka pergi ke langkah-4a, jika tidak maka pergi ke langkah-4b.
a. Periksa tabel kombinasi awalan-akhiran yang tidak diizinkan. Jika ditemukan maka algoritma berhenti, jika tidak pergi ke langkah-4b.
b. Untuk i=1 sampai 3, tentukan tipe awalan kemudian hapus awalan. Jika kata dasar belum ditemukan juga lakukan langkah-5, jika sudah maka algoritma berhenti.
Catatan: Jika awalan kedua sama dengan awalan pertama maka algoritma berhenti.
5. Lakukan recording.
6. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal diasumsikan sebagai kata dasar. Proses selesai.
Tabel 2.1. Tabel Kombinasi Awalan dan 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.2. 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’
11
Tabel 2.2. Tabel Aturan Peluruhan Kata Dasar (Lanjutan)
7 me{I|r|w|y}V… me-{I|r|w|y}V…
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}
Tipe awalan ditentukan melalui langkah-langkah sebagai berikut:
1. Jika awalannya adalah: “di-“, “ke-“, atau “se-“, maka tipe awalannya secara berturut-turut adalah “di-“, “ke-“, atau “se-“.
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.
Untuk mengatasi keterbatasan yang ada, maka ditambahkan aturan-aturan dibawah ini: (Adriani et al, 2007)
1. Aturan untuk reduplikasi.
a. Jika kedua kata yang dihubungkan penghubung adalah kata yang sama maka root word adalah bentuk tunggalnya, contoh: “buku-buku” root wood-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-nya yang sama maka diubah menjadi bentuk
tunggal, contoh: kata “berbalas-balasan”, “berbalas” dan “balasan” memiliki root word yang sama yaitu “balas”, maka root wood “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. 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.4. Automatic Keyphrase Extraction
13
menunjukan potensinya dalam meningkatkan hasil pekerjaan dari natural language processing (NLP) dan information retrieval (IR), seperti text categorization (Hulth & Megyesi, 2006) dan document indexing (Gutwin et al, 1999).
2.5. Term Frequency-Inverse Document Frequency (TF-IDF)
Metode TF-IDF merupakan metode untuk menghitung bobot dari kata yang digunakan pada information retrieval. Metode ini juga terkenal efisien, mudah dan memiliki hasil yang akurat. Metode ini akan menghitung nilai Term Frequency (TF) dan Inverse Document Frequency (IDF) pada setiap token (kata) di setiap dokumen dalam korpus. Bobot token (kata) semakin besar jika sering muncul dalam suatu dokumen dan semakin kecil jika muncul dalam banyak dokumen (Robertson, 2004). Metode ini akan menghitung bobot setiap token t di artikel d dengan persamaan 2.1.
Wdt = TFdt * IDFt (2.1)
Dimana: d = dokumen ke-d t = token (kata) ke-t
W = bobot dokumen ke-d terhadap token (kata) ke-t TF = Frekuensi kata yang dicari pada sebuah dokumen IDF = Inversed Document Frequency
Nilai TF didapatkan dari persamaan 2.2
TF = Ntd / Nd (2.2)
Dimana: N = jumlah token (kata)
Nilai IDF didapatkan dari persamaan 2.3
IDF = log2 (D/Df) (2.3)
Dimana: D = total dokumen
2.6. Self Organizing Maps (SOM)
Self organizing maps merupakan salah satu model jaringan saraf tiruan yang menggunakan metode pembelajaran tanpa supervise (unsupervised learning). Salah satu keunggulan dari algoritma ini adalah mampu memetakan data berdimensi tinggi ke dalam bentuk peta berdimensi rendah. Pada algoritma SOM, suatu lapisan yang berisi neuron-neuron akan menyusun dirinya sendiri berdasarkan input nilai tertentu dalam suatu cluster bobotnya (Prasetyo, 2012). Selama proses penyusunan tesebut, cluster yang memiliki jarak paling dekat akan terpilih menjadi pemenang bobotnya (Prasetyo, 2012). Neuron yang menjadi pemenang akan memperbaiki nilai bobotnya beserta neuron-neuron tetangganya (Prasetyo, 2012).
Arsitektur SOM terdiri atas satu lapisan input (x) dan satu lapisan output (y) dimana setiap unit pada lapisan input akan dihubungkan dengan semua unit di lapisan output dengan suatu bobot wij (Prasetyo, 2012). Setiap neuron dalam SOM akan mewakili
suatu kelompok. Dalam SOM ada K neuron yang disusun dalam larik satu atau dua dimensi (Prasetyo, 2012).
Berikut adalah algoritma Self Organizing Maps: (Kohonen, 1995)
1. Inisialisasi jumlah cluster (width x height), jumlah iterasi, learning rate, radius ketetanggaan, dan bobot pada setiap neuron.
2. Memilih salah satu vektor input dan disajikan ke jaringan.
3. Setiap neuron pada jaringan diuji untuk menghitung bobot neuron mana yang paling mirip dengan vektor input. Neuron pemenang sering disebut dengan Best Matching Unit (BMU). Untuk mendapatkan BMU dihitung dengan persamaan 2.4.
�� � � = ∑�=��= ��− �� (2.4)
Dimana: I = vektor input
W = bobot dari vector node n = jumlah bobot
15
�� = � −� (2.5)
Dimana: t = iterasi yang sedang berlangsung
� = radius dari map
λ = konstanta waktu
Nilai dari konstanta waktu dapat dihitung dari persamaan 2.6.
λ = � � � / � �� � (2.6)
5. Setiap neuron yang berada pada radius BMU disesuaikan agar mereka lebih mirip dengan vektor input. Untuk menyesuaikan neuron yang berada pada radius BMU dihitung dengan persamaan 2.7.
��+ = ��+ ���� ��− �� (2.7)
Untuk menghitung nilai dari Lt digunakan persamaan 2.8.
��= � −λ (2.8)
Semakin dekat neuron dengan BMU, maka bobot pada neuron tersebut akan mengalami perubahan yang lebih besar. Jarak dari BMU digunakan dalam persamaan 2.9.
��=
−�� � �����2
2�2 (2.9)
2.7. Penelitian Terdahulu
Lee & Yang (2003) menggunakan algoritma SOM untuk clustering terhadap corpus paralel yang berisi bahasa campuran yaitu bahasa Cina dan bahasa Inggris. Jaringan self organizing maps yang dibangun memiliki 16 neuron dalam format 4x4 untuk melakukan eksperimen pada 18 artikel berbahasa Cina dan 18 artikel berbahasa Inggris. Kemudian clustering dilakukan terhadap corpus hybrid, pada percobaan ini mereka menggunakan jaringan self organizing maps yang berisi 36 neuron dalam forma 6x6 untuk melakukan eksperimen pada 58 artikel berbahasa Cina dan 58 artikel berbahasa Inggris.
Yusuf & Priambadha (2013) menggunakan algoritma K-means untuk mengelompokan artikel yang kemudian diklasifikasikan menggunakan multi-class Support Vector Machines (SVM). Hasil dari penelitian ini menunjukkan bahwa metode yang diusulkan mampu meningkatkan akurasi dengan menghasilkan akurasi sebesar 88,1% presisi sebesar 96,7% dan recall sebesar 94,4% dengan parameter jumlah kelompok sebesar 5 dibandingkan dengan tanpa menggunakan algoritma K-means untuk mengelompokkan artikel sebelum klasifikasi.
Husni et al (2015) menggunakan algortima K-Means untuk clustering berita web berbahasa Indonesia. Proses text pre-processing pada penelitian ini tidak menggunakan stemming. Artikel berita berhasil dikelompokan secara otomatis sesuai dengan derajat
kesamaan berita sehingga menjadi kelompok artikel berita yang terstruktur dengan diperoleh nilai rata-rata F-Measure 0.6129. Jumlah cluster dengan nilai puritas terbaik 0.75475 adalah 2 cluster.
17
Tabel 2.3. Penelitian Terdahulu
No Peneliti Tahun Metode Keterangan
1 Lee & Yang 2003 Self Organizing
Maps
Clustering artikel berbahasa cina dan inggris
Melakukan 3 percobaan pada artikel bahasa Cina, bahasa Inggris dan campuran antara bahasa Cina dan bahasa Inggris Hasil pengelompokan
menunjukkan bahwa
pengelompokan didasarkan atas kesamaan penulisan dibandingkan kesamaan makna
K-Means Clustering sebelum melakukan klasifikasi dapat meningkatkan akurasi sebesar 0.5% dan recall sebesar 0.4% 3 Husni et al 2015 K-Means
Clustering
Menggunakan TF-IDF untuk pembobotan
Tidak menggunakan stemming pada proses text pre-processing Jumlah cluster dengan nilai puritas terbaik 0.75475 adalah 2 cluster.
Nilai TF-IDF yang didapatkan dilakukan normalisasi dengan
algoritma Min Max
Normalization
Algoritma SOM yang digunakan membentuk 81 cluster
9 dari 81 cluster yang terbentuk memiliki tema yang tidak dapat didefinisikan 4 dari 81 cluster yang
Perbedaan penelitian yang dilakukan dengan penelitian terdahulu adalah penelitian ini berfokus kepada clustering artikel web kesehatan dan pengelompokkan yang lebih khusus dengan berusaha untuk mendapatkan multi-word expression dari kata-kata yang berkaitan dengan kesehatan. Adapun metode yang diimplementasikan dalam penelitian ini adalah sebagai berikut:
Melakukan text pre-processing untuk mendapatkan data teks yang sesuai dimana hal ini bertujuan untuk mempercepat proses dan meningkatkan akurasi pada saat proses automatic keyphrase extraction dan proses clustering. Pada tahap stemming di proses text pre-processing ini menggunakan algoritma stemmer Nazief-Andriani.
Menghitung nilai bobot kata dengan metode TF-IDF untuk proses automatic keyphrase extraction dan sebagai data masukkan pada proses clustering.
BAB 1 PENDAHULUAN
1.1. Latar Belakang
Dewasa ini segala macam informasi dapat dicari di internet. Salah satunya adalah informasi tentang kesehatan. Informasi kesehatan yang berhubungan dengan anak tidak dapat disamakan dengan informasi kesehatan yang berhubungan dengan orang dewasa, demikian juga sebaliknya. Salah satu metode pengumpulan informasi dari internet dapat menggunakan web crawler. Web crawler adalah sebuah perangkat lunak yang digunakan untuk menjelajah serta mengumpulkan halaman-halaman web yang selanjutnya diindeks oleh mesin pencari (Gatial et al, 2005). Permasalahannya, artikel web yang dikumpulkan dengan web crawler masih tercampur satu sama lainnya dan belum terkategorikan. Untuk mengelompokkan artikel web tersebut sesuai dengan kategori-kategori yang ada maka dibutuhkan clustering artikel hasil dari web crawler.
Clustering atau pengelompokan artikel dengan berbagai bahasa telah banyak
dilakukan dengan beberapa metode. Lee & Yang (2003) menggunakan algoritma SOM (Self Organizing Maps) untuk clustering terhadap artikel yang berbahasa Cina dan berbahasa Inggris. Dalam penelitian ini mereka melakukan clustering dengan 2 cara berbeda. Pertama mereka melakukan clustering terhadap sebuah korpus paralel dan yang kedua mereka melakukan clustering terhadap sebuah korpus hybrid. Korpus merupakan kumpulan dari beberapa teks yang dipakai sebagai sumber penelitian.
menggunakan algoritma K-means untuk mengelompokkan artikel sebelum klasifikasi. Husni et al (2015) menggunakan algortima K-Means untuk clustering berita web berbahasa Indonesia. Artikel berita berhasil dikelompokan secara otomatis sesuai dengan derajat kesamaan berita sehingga menjadi kelompok artikel berita yang terstruktur dengan diperoleh nilai rata-rata F-Measure 0.6129. Jumlah cluster dengan nilai puritas terbaik 0.75475 adalah 2 cluster.
Suryaningsih (2015) menggunakan algoritma SOM (Self Organizing Maps) untuk clustering abstrak pada sebuah penelitian. Pada penelitian ini jumlah cluster ditentukan sebanyak 81 cluster. Dari 81 cluster, 9 cluster tidak memiliki tema dan 4 cluster tidak terisi oleh artikel. Tema yang ada pada setiap cluster dianalisis secara manual setelah cluster tersebut diisi oleh artikel.
Penelitian yang telah dilakukan sebelumnya memiliki beberapa kelemahan yakni input yang diambil masih hanya berupa abstrak yang merupakan gambaran kecil dari suatu artikel jurnal. Hasil dari clustering yang dilakukan dengan algoritma SOM pada penelitian sebelumnya ditemukan cluster yang tidak dapat ditentukan temanya. Pada penelitian-penelitian sebelumnya, term yang dijadikan parameter pada proses clustering masih hanya berupa kata tunggal sementara pada bahasa Indonesia banyak terdapat kata mejemuk yang apabila dipisah maka akan memiliki arti yang berbeda dari kata tunggal pembangunnya.
Untuk mengatasi kelemahan-kelemahan yang terdapat pada penelitian sebelumnya, penulis mencoba untuk melakukan penelitian mengenai clustering artikel web kesehatan dengan menggunakan metode Self Organizing Maps. Dari latar belakang diatas maka penulis mengajukan proposal penelitian dengan judul “CLUSTERING ARTIKEL WEB KESEHATAN DENGAN MENGGUNAKAN ALGORITMA SELF ORGANIZING MAPS”.
1.2. Rumusan Masalah
3
rumusan masalah pada penelitian ini adalah bagaimana penerapan algoritma Self Organizing Maps untuk clustering artikel web kesehatan sehingga dapat terkelompokkan sesuai dengan kategori yang ada.
1.3. Tujuan Penelitian
Tujuan penelitian ini adalah untuk clustering artikel hasil dari web crawler menjadi beberapa kategori tertentu berdasarkan isi artikel dengan algoritma Self Organizing Maps.
1.4. Batasan Masalah
Untuk menghindari perluasan dan penyimpangan yang tidak diperlukan, maka penulis membuat batasan sebagai berikut:
1. Hanya menangani artikel kesehatan teks berbahasa Indonesia 2. Tidak menangani kesalahan penulisan kata
3. Kata majemuk yang dapat dideteksi maksimal terdiri dari tiga kata
1.5. Manfaat penelitian
Manfaat yang diperoleh dari penelitian ini adalah otomatisasi pengkategorian artikel kesehatan hasil dari web crawler.
1.6. Metodologi Penelitian
Tahapan-tahapan yang dilakukan selama penelitian adalah sebagai berikut: 1. Studi Literatur
Studi literatur dilakukan untuk pengumpulan bahan referensi mengenai text pre-processing, TF-IDF (Term Frequency-Inverse Document Frequency), automatic keyphrase extraction, algoritma stemming Nazief & Andriani, jaringan saraf tiruan, dan SOM (Self Organizing Maps) dari beberapa jurnal, artikel, buku, dan beberapa sumber referensi lainnya.
2. Analisis Permasalahan
SOM (Self Organizing Maps), serta masalah yang akan diselesaikan yaitu pengelompokan artikel kesehatan hasil web crawler sesuai usia yang ditujukan dan topiknya.
3. Perancangan
Pada tahap ini dilakukan perancangan arsitektur, pengumpulan data, serta perancangan antarmuka. Proses perancangan dilakukan berdasarkan hasil dari analisis studi literatur yang telah diperoleh.
4. Implementasi
Pada tahap ini dilakukan implementasi ke dalam kode sesuai dengan analisis dan perancangan yang telah dilakukan pada tahap sebelumnya.
5. Pengujian
Pada tahap ini dilakukan pengujian terhadap hasil yang didapatkan melalui implementasi algoritma SOM (Self Organizing Maps) dalam melakukan clustering artikel web untuk memastikan bahwa hasil clustering yang dilakukan sudah sesuai. 6. Dokumentasi dan Penyusunan Laporan
Pada tahap ini dilakukan dokumentasi dan penyusunan laporan hasil evaluasi dan analisis serta implementasi algoritma SOM (Self Organizing Maps) dalam melakukan clustering artikel web.
1.7. Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri atas lima bagian utama sebagai berikut:
Bab 1: Pendahuluan
Bab ini berisi latar belakang dari penelitian yang dilaksanakan, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian, serta sistematika penulisan.
Bab 2: Landasan Teori
5
Bab 3: Analisis dan Perancangan
Bab ini akan menjabarkan arsitektur umum, langkah text pre-processing yang dilakukan, proses term weighting dengan metode TFIDF, proses keyphrase extraction, serta analisis dan penerapan algoritma SOM (Self Organizing Maps) dalam melakukan clustering artikel web hasil dari web crawler.
Bab 4: Implementasi dan Pengujian
Bab ini berisi pembahasan tentang implementasi dari perancangan yang telah dijabarkan pada bab 3. Selain itu, hasil yang didapatkan selama proses yang terjadi pada penelitian juga dijabarkan pada bab ini.
Bab 5: Kesimpulan dan Saran
ABSTRAK
Web harvesting dari sebuah mesin web crawler untuk artikel kesehatan berbahasa Indonesia dapat menjadi sumber informasi kesehatan yang cost-effective di Indonesia. Agar dapat dimanfaatkan secara optimal seperti untuk machine learning, maka beberapa tahapan harus dilakukan seperti text pre-processing dan clustering berdasarkan topiknya. Pada penelitian ini metode yang digunakan terbagi menjadi empat tahapan. Tahapan pertama yaitu text pre-processing yang terdiri dari tokenizing, case-folding, filtering, phrase detection, dan stemming. Tahapan kedua yaitu pembobotan kata dari setiap artikel yang ada dengan menggunakan metode TFIDF. Tahapan ketiga yaitu ekstraksi kata kunci dari setiap artikel. Tahapan terakhir yaitu proses clustering dengan algoritma Self Organizing Maps yang dibagi menjadi dua proses. Proses pertama dari clustering adalah memisahkan artikel kesehatan ke dalam dua korpus yaitu artikel kesehatan yang berhubungan dengan anak dan artikel kesehatan umum. Proses kedua clustering yaitu mengelompokkan artikel kesehatan pada setiap korpus tersebut berdasarkan topiknya. Pada penelitian ini jumlah artikel yang di-cluster adalah sebanyak 533 artikel. Hasil dari penelitian ini adalah dua korpus baru yang berisi cluster-cluster sesuai dengan topik pada setiap korpus. Kemudian artikel-artikel yang memiliki kesamaan term akan berada pada cluster yang sama.
v
HEALTH WEB ARTICLE CLUSTERING WITH SELF ORGANIZING MAPS ALGORITHM
ABSTRACT
Web harvesting from a web crawler machine for Indonesian health article can be a cost-effective health information source in Indonesia. In order to be optimally used for such machine learning, then some processes like text pre-processing and clustering have to be done. The method used in this research divided into four steps. First step is text pre-processing that consist of tokenizing, case folding, filtering, phrase detection, and stemming. Second step is term weighting for all terms in all articles in corpus using TFIDF method. Third step is keyphrase extraction from each article. The last step is clustering with self organizing map algorithm, this step divided by two processes. The first process of this clustering was to seperate the articles into health article related to children corpus and general health article corpus. The second process of this clustering was to categorize article each of corpuses based on its topic. In this reseach, the number of articles are clustered is 533 articles. The results of this study are two new corpuses containing clusters according to the topics in each corpus. Then the articles that have similar terms will be on the same cluster
SKRIPSI
INDRA CHARISMA
121402088
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
CLUSTERING ARTIKEL WEB KESEHATAN DENGAN ALGORITMA SELF ORGANIZING MAPS
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
INDRA CHARISMA 121402088
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : CLUSTERING ARTIKEL WEB KESEHATAN
DENGAN ALGORITMA SELF ORGANIZING MAPS
Kategori : SKRIPSI
Nama : INDRA CHARISMA
Nomor Induk Mahasiswa : 121402088
Program Studi : S1 TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Amalia, ST., M.T Dani Gunawan, ST., M.T NIP. 19791221 201404 2 001 NIP. 19820915 201212 1 002
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
ii
PERNYATAAN
CLUSTERING ARTIKEL WEB KESEHATAN DENGAN ALGORITMA SELF ORGANIZING MAPS
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 27 Agustus 2016
UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikan ke hadirat Allah SWT yang telah memberikan rahmat serta restu-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana.
Pertama, penulis ingin mengucapkan terima kasih kepada Bapak Dani Gunawan, ST., M.T selaku pembimbing pertama dan Ibu Amalia, ST., M.T selaku pembimbing kedua yang telah meluangkan waktu serta tenaganya untuk membimbing penulis dalam penelitian serta penulisan skripsi ini. Tanpa inspirasi serta motivasi yang diberikan dari kedua pembimbing, tentunya penulis tidak akan dapat menyelesaikan skripsi ini. Penulis juga mengucapkan terima kasih kepada Bapak Prof. Dr. Opim Salim Sitompul, M.Sc sebagai dosen pembanding pertama dan Ibu Dr. Elviawaty Muisa Zamzami, ST., M.T, M.M, sebagai dosen pembanding kedua yang telah memberikan masukan serta kritik yang bermanfaat dalam dalam penulisan skripsi ini. Ucapan terima kasih juga ditujukan kepada semua dosen serta pegawai di lingkungan Fakultas Ilmu Komputer dan Teknologi Informasi yang telah membantu serta membimbing penulis selama proses perkuliahan.
Penulis tentunya tidak lupa berterima kasih kepada kedua orang tua penulis, yaitu Bapak Tiharman dan Ibu Elmida, S.Pd.I yang telah membesarkan penulis dengan sabar dan penuh kasih sayang, serta doa dan dukungan berupa moral maupun materiil yang selalu menyertai selama ini. Penulis juga berterima kasih kepada seluruh anggota keluarga penulis yang namanya tidak dapat disebutkan satu persatu.