Clustering Artikel Web Kesehatan Dengan Algoritma Self Organizing Maps

(1)

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.

Hulth, A., & Megyesi, B.B. 2006. A Study on Automatically Extracted Keywords in Text Categorization. Proceedings of the 21st International Conference on Computational Linguistics and the 44th Annual Meeting of the Association for Computational Linguistics, pp. 537-544.


(2)

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.

Yusuf, A. & Priambadh, T. 2013. Support Vector Machines Yang Didukung K-Means Clustering Dalam Klasifikasi Dokumen. Jurnal Ilmiah Teknologi Informasi 11(1): 13-16.


(3)

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


(4)

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.


(5)

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

Phrase Detection adalah tahapan untuk pengecekan adanya kata majemuk yang terdapat dalam suatu artikel. Kata majemuk adalah gabungan dua kata atau lebih yang membentuk sebuah kata dengan makna yang baru. Berdasarkan survey awal yang penulis lakukan, banyak terdapat kata majemuk pada istilah di bidang


(6)

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.


(7)

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.


(8)

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

1

Term 2

Term 3

Term 4

Term 5

Jumlah Term D1 kanker Paru kanker_paru protein batuk 25

D2 kanker kanker_payudara susu 10

D3 hamil medis kanker_ovarium kanker protein 20

Tahap-tahap pembobotan term menggunakan metode TF-IDF adalah sebagai berikut:


(9)

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

DF (Document Frequency) adalah nilai dari banyakanya suatu term muncul pada artikel-artikel yang ada pada korpus. Sama halnya dengan penghitungan TF, pada penghitungan DF juga dilakukan suatu syarat yaitu apabila suatu term tidak memiliki kemunculan lebih dari 2 maka kemunculannya dianggap tidak ada. Contoh dari penghitungan DF dapat dilihat pada Tabel 3.4.


(10)

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

Nilai TF-IDF suatu term n pada suatu artikel y dihitung dari nilai TF term n pada artikel y dikali dengan nilai IDF term n. Contoh dari penghitungan TF-IDF setiap artikel dapat dilihat pada Tabel 3.6.


(11)

Tabel 3.6. Contoh Penghitungan TF-IDF pada Setiap Artikel

Term IDF TFIDF

D1

TFIDF D2

TFIDF D3

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

Clustering yang dilakukan dengan implementasi algoritma SOM dilakukan dengan menggunakan bobot dari setiap term yang dipilih terhadap artikel-artikel yang ada dalam korpus. Nilai bobot yang digunakan adalah nilai IDF dari term yang dipilih untuk dijadikan sebagai parameter dalam proses clustering. Term yang dipilih didapatkan dari kata kunci setiap artikel yang ada di dalam korpus.


(12)

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

D1

N term D2

N term D3

Vektor D1

Vektor D2

Vektor D3

kanker 0.17 5 2 4 0.17 0 0.17

kanker_paru 0.47 5 0 0 0.47 0 0

batuk 0.47 2 0 1 0 0 0

kanker_payudara 0.47 4 0 0 0.47 0 0

susu 0.47 0 4 0 0 0.47 0

hamil 0.47 0 3 0 0 0.47 0

kanker_ovarium 0.47 0 0 4 0 0 0.47

Dari contoh perhitungan nilai vektor pada Tabel 3.7, maka nilai vektor untuk 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.

w = 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5


(13)

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)

= 0.5 + (-0.00245619) = 0.49754381


(14)

30

w13 = 0.5 + 1 x 0.081873 (0 – 0.5)

= 0.5 + (-0.0409365) = 0.4590635

w14 = 0.5 + 1 x 0.081873 (0.47 – 0.5)

= 0.5 + (-0.00245619) = 0.49754381

w15 = 0.5 + 1 x 0.081873 (0 – 0.5)

= 0.5 + (-0.0409365) = 0.4590635

w16 = 0.5 + 1 x 0.081873 (0 – 0.5)

= 0.5 + (-0.0409365) = 0.4590635

w17 = 0.5 + 1 x 0.081873 (0 – 0.5)

= 0.5 + (-0.0409365) = 0.4590635

 Perbaharui bobot neuron 2 (t = 1) Θt = 0.606531

w21 = 0.5 + 0.606531 x 0.081873 (0.17 – 0.5)

= 0.5 + (-0.0016387) = 0.4983612

w22 = 0.5 + 0.606531 x 0.081873 (0.47 – 0.5)

= 0.5 + (-0.0014897) = 0.4985102

w23 = 0.5 + 0.606531 x 0.081873 (0 – 0.5)

= 0.5 + (-0.0248292) = 0.4751707

w24 = 0.5 + 0.606531 x 0.081873 (0.47 – 0.5)

= 0.5 + (-0.0014897) = 0.4985102

w25 = 0.5 + 0.606531 x 0.081873 (0 – 0.5)

= 0.5 + (-0.0248292) = 0.4751707


(15)

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

Pada proses akhir dari clustering dengan algoritma SOM ini, artikel kesehatan yang terdapat pada dua korpus baru yang dihasilkan pada proses awal akan dikelompokkan lagi berdasarkan topiknya. Term-term yang dipakai untuk dijadikan parameter penghitungan dipilih berdasarkan kata kunci dari artikel yang


(16)

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.

Sistem bagian depan (front-end) pada penelitian ini mempresentasikan setiap proses yang ada untuk melakukan clustering artikel web hasil crawler. Hasil dari proses clustering yang dilakukan akan divisualisasikan kedalam bentuk grafik yang menunjukkan cluster-cluster yang terbentuk serta topik dari cluster tersebut.


(17)

(18)

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

Pada bagian ini akan dijabarkan hasil yang diperoleh dari setiap proses yang ada pada tahap text pre-processing yang terdiri dari tokenizing, case-folding, filetering, phrase detection, dan stemming. Contoh artikel awal hasil dari crawler dapat dilihat pada Gambar 4.1. Kemudian artikel memasuki proses tokenizing dan case-folding. Pada proses tokenizing karakter newline atau garis baru dihilangkan dan kemudian semua


(19)

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.

Namun bagi mereka yang termasuk kelompok berisiko, pemeriksaan thorax wajib dilakukan minimal satu tahun sekali. Mereka yang termasuk dalam kelompok berisiko kanker paru antara lain perokok, tinggal dengan perokok aktif, pekerja tambang dan memiliki riwayat keluarga pengidap kanker.


(20)

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

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. namun bagi mereka yang termasuk kelompok berisiko, pemeriksaan thorax wajib dilakukan minimal satu tahun sekali. mereka yang termasuk dalam kelompok berisiko kanker paru antara lain perokok, tinggal dengan perokok aktif, pekerja tambang dan memiliki riwayat keluarga pengidap kanker.


(21)

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 .

kanker_paru paru kanker_paru sesak napas paru-paru sesak napas sesak napas kanker_paru protein kanker_paru paru protein kanker_paru batuk batuk rokok kanker paru paru kanker_paru perokok_aktif kanker


(22)

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

Pada proses awal ini dilakukan pengelompokkan menjadi dua korpus baru yaitu korpus artikel kesehatan yang berhubungan dengan anak dan korpus artikel kesehatan umum. Pengelompokkan ini bertujuan untuk memisahkan artikel kesehatan yang berhubungan dengan anak dengan artikel kesehatan umum. Pengelompokkan ini menggunakan 3 term yaitu anak, bayi, dan balita sebagai parameter perhitungan untuk setiap artikel yang ada. Artikel yang terkelompokkan sebagai artikel kesehatan yang berhubungan dengan anak masuk ke dalam korpus C0, sementara untuk artikel kesehatan umum atau yang tidak berhubungan dengan anak akan masuk kedalam korpus C1. Dari 528 artikel yang terdapat pada korpus awal, 135 artikel masuk kedalam korpus C0 dan 393 artikel masuk kedalam korpus


(23)

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, berat_badan,

C0 Ada Virus Saat Hamil, Apakah

Berpotensi Menular ke Anak?

virus, anak, hamil, C0

Anak Pendek Berisiko Terkena Penyakit Degeneratif

gizi, penyakit_degeneratif, anak, otak,

C0 Asam Folat Turunkan Risiko

Cacat pada Janin

hamil, kalsium, tulang, bayi, nutrisi,


(24)

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,

C1

50 Persen Kesulitan Hamil Disebabkan Faktor Pria

sperma, varikokel, infertilitas, hamil, operasi,

C1 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,

serangan_jantung, berat_badan, darah, kulit, jantung, diabetes, tidur,


(25)

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.


(26)

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


(27)

Tabel 4.4. Contoh Artikel Hasil dari Clustering pada Korpus C0 (Lanjutan)

Cluster Jumlah Artikel

Tema Cluster Judul Artikel

 Infografis: Syarat dan Tahapan Mendonorkan ASI

 Faktor-faktor yang Bisa Bikin Ibu Produksi ASI dengan Jumlah Banyak

4 46 Lainnya  Anak Sering Pipis, Mengapa?  Kapan Jadwal Imunisasi Anak

Anda?

 Meringankan Gejala Flu pada Anak

6 24 Bayi  Pertolongan Pertama Jika Bayi

Pingsan

 Pertolongan Pertama Jika Bayi Pingsan

 Napas Bayi Berbunyi Grok-grok, Apa Penyebabnya?

8 10 Susu  Duh! Si Kecil Suka Menggigit

Puting Saat Menyusu

 Bayi Menolak Menyusu Setelah Ibu Konsumsi Obat Magh

 Konsumsi Obat Nyeri Saat Menyusui, Berpengaruhkah Pada Bayi?

10 6 Kanker  Jajanan Sekolah Tak Sehat Bisa Picu Kanker

 Tubuh Kuning dan Perut Membesar, Anak Ini Ternyata Kena Neuroblastoma

 Beragam Manfaat Menyusui bagi Kesehatan Ibu

12 3 Hamil &

Kanker

 Gunakan Jaringan Ovarium Beku, 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


(28)

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

 Ibu yang Gemar Konsumsi Susu Saat Hamil Ini Lahirkan Bayi Montok 5,9 kg

17 1 Susu & Hamil  Amankah Menyusui Saat Hamil? Begini Penjelasan Medisnya

19 2 Bayi, Susu,

ASI & Hamil

 ASI - Sebuah Mukjizat Bagi Ibu dan Bayi

 Stimulasi Puting Saat Hamil Bisa Picu Kecacatan Janin, Mitos atau Fakta?

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

2 53 Kanker  4 Faktor Penyebab Timbulnya

Kanker Kulit

 Cegah Kanker Ovarium Dengan Mengkonsumsi ini

 Lebih Aktif Bergerak Cegah Kanker


(29)

Tabel 4.6. Contoh Artikel Hasil dari Clustering pada Korpus C1 (Lanjutan) Cluster Jumlah

Artikel

Tema Cluster Judul Artikel

 Diet Rendah Karbohidrat Picu Kematian Dini

 Badan Pendek dan Kurus, Bagaimana Agar Ideal?

6 9 Serangan

Jantung

 Pertolongan Pertama untuk Serangan Jantung

 5 Pemicu Serangan Jantung yang Mungkin Tidak Anda Duga

 Serangan Jantung Tak Selalu Bergejala Nyeri Dada

8 3 Kanker &

Tekanan Darah

 Kacang-Kacangan, Turunkan Kolesterol Hingga Cegah Kanker  Manfaat Daun Sirsak

 13 Manfaat Buah Pir Bagi Kesehatan Tubuh

10 10 Tekanan

Darah

 Kurang Vitamin D Memicu Tekanan Darah Tinggi

 Ragam Manfaat Buah Semangka Bagi Kesehatan Tubuh

 7 Nutrisi Penting Yang Sering Terlewatkan Ketika Sedang Diet

12 4 Kanker

Payudara

 Deteksi Dini Kanker Payudara bagi masyarakat Kecamatan Mampang Jakarta

 Obesitas Dikaitkan Dengan Risiko 10 Jenis Kanker

 6 Makanan Sehat Yang Dibutuhkan Wanita

13 8 Kanker &

Kanker Payudara

 Senyawa Dalam Seledri Mampu Melawan Kanker Payudara

 Makanan Tinggi Serat Bisa Kurangi Risiko Kanker Payudara

Dari Tabel 4.5 dapat dilihat bahwa cluster yang berdekatan seperti cluster 12 dan cluster 13 memiliki tema yang mirip yaitu kanker payudara. Hanya saja pada cluster 13 terdapat term kanker yang membuat nilai dari cluster 13 berbeda dari cluster 12.


(30)

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.


(31)

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.

2. Menambahkan artikel input berupa artikel berbahasa lain selain bahasa Indonesia untuk mengelompokkan artikel yang berbeda bahasa.


(32)

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

kesehatan yang telah dilakukan untuk melihat apakah clustering artikel dapat meningkatkan efektifitas pencarian.


(33)

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

Tokenizing adalah tahap pemotongan teks input menjadi kata, istilah, symbol, tanda baca, atau elemen lain yang memiliki arti yang disebut token (Vijayarani & Janani, 2016). Pada proses, token yang merupakan tanda baca yang dianggap tidak perlu seperti titik (.), koma (,), tanda seru (!), dan lain-lain akan dihapus. Contoh dari proses tokenizing dapat dilihat pada Gambar 2.1.


(34)

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

Proses yang dilakukan pada tahap ini yaitu menghapus stop-word. Stop-word adalah kata yang bukan merupakan kata unik dalam suatu artikel atau kata-kata umum yang biasanya selalu ada dalam suatu artikel. Contoh kata yang termasuk stop-word adalah


(35)

“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.


(36)

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.

b. Akhiran yang dihapus (“-i”, “-an”, atau “-kan”) dikembalikan dan lanjut ke langkah-4.


(37)

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’


(38)

11

Tabel 2.2. Tabel Aturan Peluruhan Kata Dasar (Lanjutan)

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}…

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}

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-“.

2. Jika awalannya adalah: “te-“, “me-“, “be-“, atau “pe-“ maka dibutuhkan sebuah proses tambahan untuk menentukan tipe awalannya.


(39)

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

Dewasa ini, jurnal yang dibuat sudah menyediakan daftar kata-kata kunci dari artikelnya. Kata-kata kunci tersebut disebut keyphrases karna kata-kata kunci tersebut kadang tidak hanya dalam satu kata tapi bisa dalam dua kata ataupun lebih (Turney, 1999). Artikel dapat dengan mudah disaring lebih mudah ketika keyphrases-nya ada (Turney, 1999). Keyphrases juga dapat digunakan sebagai indeks kata-kata untuk mencari di dalam kumpulan koleksi artikel (Turney, 1999). Automatic keyphrase extraction adalah sebuah proses untuk menghasilkan daftar keyphrase yang dapat mewakili poin-poin penting dari sebuah teks. Keyphrase dari artikel ini dapat digunakan untuk pencarian artikel dari koleksi artikel yang besar secara akurat dan cepat, dan telah


(40)

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


(41)

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

4. Menghitung radius ketetanggan dari BMU. Dimulai dengan nilai yang besar kemudian berkurang setiap kali iterasi. Menghitung radius ketetanggan dilakukan dengan persamaan 2.5.


(42)

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)


(43)

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.

Suryaningsih (2015) menggunakan algoritma SOM untuk clustering abstrak pada sebuah penelitian. Namun dalam penelitian ini Suryaningsih menggunakan metode TF-IDF untuk menghitung bobot kata kunci dalam setiap artikel. Pada penelitian ini ditetapkan jumlah iterasi sebesar 1000, learning rate 0.1, serta jumlah cluster yang dibuat memiliki ukuran 9x9 grid. Proses clustering akan mengelompokkan artikel yang memiliki banyak kemiripan term menjadi satu.


(44)

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 2 Yusuf &

Priambadha

2013 K-Means Clustering

K-Means pada penelitian ini melakukan inisialisasi centroid

dengan menggunakan

pengukuran Jaccard Distance  Pengelompokan artikel dengan

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.

4 Suryaningsih 2015 Self Organizing

Maps

 Artikel input berupa abstrak dari skripsi

 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

terbentuk tidak terisi oleh artikel


(45)

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.

 Menggunakan algoritma Self Organizing Maps untuk melakukan clustering artikel web kesehatan hasil dari crawler.


(46)

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.

Yusuf & Priambadha (2013) menggunakan algoritma K-means untuk clustering artikel yang kemudian diklasifikasikan menggunakan Multi-Class Support Vector Machine (Multi-Class SVM). Hasil dari penelitian ini menunjukan bahwa metode tersebut mampu menghasilkan akurasi sebesar 88,1% dan recall sebesar 94,4% dengan parameter jumlah kelompok sebesar 5. Pengelompokan artikel dengan K-Means Clustering sebelum melakukan klasifikasi mampu meningkatkan akurasi sebesar 0,5 % dan recall sebesar 0,4% pada data artikel yang digunakan dibandingkan dengan tanpa


(47)

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

Artikel web kesehatan hasil pengumpulan dengan web crawler masih belum terkategorikan dengan baik sehingga terdapat masalah dalam membedakan artikel kesehatan berdasarkan kelompok usia yang ditujukan dan topiknya. Sebagai contoh artikel kesehatan dapat dikategorikan menjadi artikel kesehatan yang berhubungan dengan anak dan artikel kesehatan umum. Selanjutnya dari artikel-artikel pada setiap kategori ini masih dapat dikelompokkan lagi sesuai topiknya. Berdasarkan hal ini, maka


(48)

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

Pada tahap ini dilakukan analisis terhadap studi literatur yang telah dikumpulkan pada tahap sebelumnya untuk mendapatkan pemahaman mengenai metode-metode yang diterapkan seperti TF-IDF (Term Frequency-Inverse Document Frequency),


(49)

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

Bab ini berisi teori-teori yang diperlukan untuk memahami permasalahan yang dibahas pada penelitian ini. Teori-teori yang berhubungan dengan text mining, 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) akan dibahas pada bab ini.


(50)

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

Bab ini berisi ringkasan serta kesimpulan dari rancangan yang telah dibahas pada bab 3, serta hasil penelitian yang dijabarkan pada bab 4, serta pada bagian akhir bab ini akan berisi saran-saran yang diajukan untuk pengembangan penelitian selanjutnya.


(51)

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.

Kata kunci: Text mining, Clustering, TFIDF, Self Organizing Maps, Multiword Expression


(52)

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

Keywords: Text mining, Clustering, TFIDF, Self Organizing Maps, Multiword Expression


(53)

SKRIPSI

INDRA CHARISMA

121402088

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2016


(54)

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

MEDAN 2016


(1)

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.


(2)

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

Keywords: Text mining, Clustering, TFIDF, Self Organizing Maps, Multiword Expression


(3)

DAFTAR ISI

Hal.

PERSETUJUAN i

PERNYATAAN ii

UCAPAN TERIMA KASIH iii

ABSTRAK iv

ABSTRACT v

DAFTAR ISI vi

DAFTAR TABEL viii

DAFTAR GAMBAR ix

BAB 1 PENDAHULUAN 1

1.1. Latar Belakang 1

1.2. Rumusan Masalah 2

1.3. Tujuan Penelitian 3

1.4. Batasan Masalah 3

1.6. Metodologi Penelitian 3

1.7. Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 6

2.1. Text Mining 6

2.2. Text Pre-Processing 6

2.2.1. Tokenizing 6


(4)

2.6. Self Organizing Maps (SOM) 14

2.7. Penelitian Terdahulu 16

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 19

3.1. Data Acquisition (Pengumpulan data) 19

3.2. Analisis Sistem 20

3.2.1. Text Pre-Processing 21

3.2.2. Term Weighting 24

3.2.3. Keyphrase Extraction 27

3.2.4. Clustering dengan Algoritma Self Organizing Maps 27

3.3 Perancangan Sistem 32

3.3.1. Perancangan sistem bagian belakang (back-end) 32 3.3.2. Perancangan sistem bagian depan (front-end) 32

BAB 4 IMPLEMENTASI DAN PENGUJIAN 34

4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak 34

4.2. Hasil Text Pre-Processing 34

4.3. Keyphrase Extraction 37

4.4. Clustering dengan SOM 38

4.5. Implementasi Sistem Bagian Depan 46

BAB 5 KESIMPULAN DAN SARAN 47

5.1. Kesimpulan 47

5.2. Saran 47


(5)

DAFTAR TABEL

Tabel 2.1. Tabel Kombinasi Awalan dan Akhiran yang Tidak Diijinkan 10 Tabel 2.2. Tabel Aturan Peluruhan Kata Dasar (Nazief & Adriani, 1996) 10

Tabel 2.3. Penelitian Terdahulu 17

Tabel 3.1. Detail Artikel yang Didapatkan dari Hasil Web Crawler 19 Tabel 3.2. Contoh Artikel Untuk Perhitungan TF-IDF 24

Tabel 3.3. Hasil dari Penghitungan TF 25

Tabel 3.4. Contoh Penghitungan DF 26

Tabel 3.5. Contoh Penghitungan IDF 26

Tabel 3.6. Contoh Penghitungan TF-IDF pada Setiap Artikel 27 Tabel 3.7. Contoh Perhitungan Nilai Vektor Untuk Setiap Artikel 28 Tabel 4.1. Contoh Hasil Dari Keyphrase Extraction 37 Tabel 4.2. Contoh Artikel Hasil dari Proses Awal Clustering 39 Tabel 4.3. Term Parameter pada Proses Akhir Clustering 40 Tabel 4.4. Hasil Percobaan pada Proses Akhir Clustering 41 Tabel 4.5. Contoh Artikel Hasil dari Clustering pada Korpus C0 42 Tabel 4.6. Contoh Artikel Hasil dari Clustering pada Korpus C1 44


(6)

DAFTAR GAMBAR

Gambar 2.1. Proses Tokenizing 7

Gambar 2.2. Proses Case Folding 7

Gambar 2.3. Proses Filtering Stop-Word 8

Gambar 2.4. Proses Phrase Detection 8

Gambar 2.5. Proses Stemming 9

Gambar 3.1. Arsitektur Umum 20

Gambar 3.2. Flowchart Proses Phrase Detection 22

Gambar 3.3. Flowchart Metode Multiwords Expression Candidate 23

Gambar 3.4. Rancangan Sistem Bagian Depan Sistem 33

Gambar 4.1. Artikel yang Belum Dilakukan Text Pre-Processing 35 Gambar 4.2. Hasil Proses Tokenizing dan Case-Folding 36

Gambar 4.3. Hasil Proses Filtering 37

Gambar 4.4. Artikel Hasil Text Pre-Processing 37

Gambar 4.5. Grafik Hasil Pemisahan Artikel pada Proses Awal Clustering 39 Gambar 4.6. Grafik Hasil Clustering pada Korpus C0 41 Gambar 4.7. Grafik Hasil Clustering pada Korpus C1 42