• Tidak ada hasil yang ditemukan

ANALISIS SENTIMEN PADA TWITTER MENGGUNAKAN PENDEKATAN AGGLOMERATIVE HIERARCHICAL CLUSTERING SKRIPSI

N/A
N/A
Protected

Academic year: 2021

Membagikan "ANALISIS SENTIMEN PADA TWITTER MENGGUNAKAN PENDEKATAN AGGLOMERATIVE HIERARCHICAL CLUSTERING SKRIPSI"

Copied!
146
0
0

Teks penuh

(1)

i

ANALISIS SENTIMEN PADA TWITTER MENGGUNAKAN PENDEKATAN AGGLOMERATIVE HIERARCHICAL CLUSTERING

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika

Oleh:

Yenni Tresnawati

135314018

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

ii

SENTIMENT ANALYSIS OF TWITTER

USING AGGLOMERATIVE HIERARCHICAL CLUSTERING

A THESIS

Presented as Partial Fulfillment of Requirements to Obtain Sarjana Komputer Degree in Informatics Engineering Department

By :

Yenni Tresnawati

135314018

INFORMATICS ENGINEERING STUDY PROGRAM

INFORMATICS ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(3)
(4)
(5)

v

HALAMAN PERSEMBAHAN

Serahkaan segala kekhawatiran mu kepada-Nya, sebab Ia

yang memelihara kamu”

- 1 Petrus 5 : 7 -

Dan segala sesuatu yang kamu lakukan dengan perkatan atau

perbuatan, lakukan semuanya itu dalam nama Tuhan Yesus,

sambil mengucap syukur oleh Dia kepada Allah, Bapa kita”

- Kolose 3:17 -

Skripsi ini saya persembahkan untuk : Tuhan Yesus Kristus, Bunda Maria, Keluarga tercinta, dosen dan teman - teman terkasih, Terima kasih sudah memberikan semangat, GBU!

(6)
(7)
(8)

viii INTISARI

Twitter merupakan salah satu situs microblogging memungkinkan penggunanya untuk menulis tentang berbagai opini, komentar, dan berita yang membahas isu-isu yang tejadi pada saat ini. Banyak pengguna yang melakukan posting pendapat mereka akan sebuah produk atau layanan yang mereka gunakan. Hal tersebut dapat digunakan sebagai sumber data untuk menilai sentimen pada Twitter. Cara pengelompokkan emosi secara otomatis dapat digunakan, salah satunya menggunakan Agglomerative Hierarchical Clustering. Tujuan dari penelitian ini adalah membangun sistem yang secara otomatis mampu mengelompokkan emosi setiap tweet, dan mengetahui tingkat akurasi pengelompokkan.

Tahapan proses dimulai dari preprocessing, terdapat beberapa proses yaitu tokenizing, stopword, stemming, pembobotan kata, serta normalisasi, selanjutnya dapat diolah menggunakan Agglomerative Hierarchical Clustering. Proses clustering terdiri dari, menghitung matriks jarak antar data, mencari jarak terdekat, menggabungkan menjadi satu cluster, memperbaharui matriks hingga semua data menjadi satu cluster. Setelah itu melakukan perhitungan akurasi menggunakan confusion matrix. Selanjutnya untuk melihat kesesuaian sistem yang dibuat, maka dimasukkan data baru yang diproses dengan sistem, lalu dapat menentukan data tergolong salah satu jenis emosi.

Dari penelitian yang telah dilakukan, didapatkan total data tweet sebanyak 500 data serta jumlah cluster terbagi menjadi lima yaitu cinta, marah, sedih, senang, dan takut. Hasil penelitian analisis sentimen pada twitter dapat berjalan dengan baik dengan akurasi 81,6% untuk jumlah frekuensi kata unik maksimal 85 dan kata unik minimal 2 dengan melakukan normalisasi menggunakan Z-Score, perhitungan jarak menggunakan Cosine Similarity serta metode AHC Average Linkage.

Kata Kunci : Tweet, Agglomearive Hierarchical Clustering, Cluster, Cosine similarity, Euclidean Distance, Z-Score, Min-Max, Confusion Matrix

(9)

ix ABSTRACT

Twitter is one of the site microblogging that allows users to write about various opinion, comments, and news that discussing issues that are happening at this time. Many users post their opinions on a product or service they use. It can be used as a data source to assess sentiment on Twitter. Automatic grouping of emotions can be used, one of them is using agglomerative hierarchical clustering. The purpose of this research is to build a system that automatically able to group the emotions of every tweet, and know the level of accuracy of grouping.

Stages of the process starts from preprocessing, there are several processes that are tokenizing, stopword, stemming, word weighting, and normalization, then can be processed using Agglomerative Hierarchical Clustering. The clustering process consists of, calculating the distance matrix between data, finding the closest distance, merging into one cluster, updating the matrix until all the data into one cluster. After that perform the calculation of accuracy using confusion matrix. Next to see the suitability of the system created, then inserted new data processed with the system, and then can determine the data belong to one type of emotion.

From the research that has been done, got the total data tweet as much as 500 data and the number of cluster is divided into five clusters that is love, angry, sad, happy, and afraid. The results of sentimental analysis on twitter can run well with an accuracy of 81.6% for the maximum number of unique word of 85 and minimum number of unique word of at least 2 by normalizing using Z-Score, Cosine Similarity distance and AHC Average Linkage method.

Keyword : Tweet, Agglomearive Hierarchical Clustering, Cluster, Cosine similarity, Euclidean Distance, Z-Score, Min-Max, Confusion Matrix

(10)

x

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus atas berkat yang diberikan dalam penyusunan Skripsi ini sehingga semuanya dapat berjalan dengan baik dan lancar.

Skripsi ini merupakan salah satu syarat mahasiswa untuk mendapatkan gelar S-1 pada Prodi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma Yogyakarta.

Berkat bimbingan dan dukungan dari berbagai pihak, Skripsi ini dapat terselesaikan. Pada kesempatan ini dengan segenap kerendahan hati penulis menyampaikan rasa terima kasih kepada :

1. Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

2. Dr. C. Kuntoro Adi, S.J., M.A.,M.Sc., selaku Dosen Pembimbing Skripsi, yang dengan sabar memberi arahan, bimbingan, serta waktunya kepada penulis dalam pembuatan Skripsi.

3. Heri Bertus S.Pd.,M.Si, Asna Nuraini,S.Ag, Millavenia Pusparini, Krisna Wahyu Tri Anugrah selaku keluarga penulis yang senantiasa mendoakan, memberikan motivasi dan pengorbanannya baik dari segi moril, materi kepada penulis sehingga penulis dapat menyelesaikan Skripsi ini.

4. Ian Arisaputra yang selalu mendukung, memberikan semangat serta menjadi pendengar setiap cerita suka-duka yang penulis rasakan dalam proses pembuatan skripsi hingga dapat menyelesaikan skripsi ini.

5. Ronni, Ratri, Rusdy, Nindia, Bella, Kak Agung, Kak Dion, Kak Ary serta teman – teman Teknik Informatika Universitas Sanata Dharma khususnya angkatan 2013 dan teman penulis yang tidak dapat disebutkan satu per satu yang telah mendukung penulis dalam menyelesaikan Skripsi ini.

(11)
(12)

xii DAFTAR ISI

ANALISIS SENTIMEN PADA TWITTER MENGGUNAKAN PENDEKATAN

AGGLOMERATIVE HIERARCHICAL CLUSTERING ... i

SENTIMENT ANALYSIS OF TWITTER ... ii

USING AGGLOMERATIVE HIERARCHICAL CLUSTERING ... ii

HALAMAN PERSETUJUAN PEMBIMBING ... Error! Bookmark not defined. ANALISIS SENTIMEN PADA TWITTER MENGGUNAKAN PENDEKATAN AGGLOMERATIVE HIERARCHICAL CLUSTERING ... Error! Bookmark not defined. HALAMAN PENGESAHAN ... iii

ANALISIS SENTIMEN PADA TWITTER MENGGUNAKAN PENDEKATAN AGGLOMERATIVE HIERARCHICAL CLUSTERING ... Error! Bookmark not defined. HALAMAN PERSEMBAHAN ... iv

PERNYATAAN KEASLIAN KARYA ... Error! Bookmark not defined. LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... Error! Bookmark not defined. INTISARI ... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xii

DAFTAR TABEL ... xv

(13)

xiii BAB I ... 1 PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah ... 3 1.3 Tujuan Penelitian ... 3 1.4 Manfaat ... 4 1.5 Luaran ... 4 1.6 Batasan Masalah... 4 1.7 Sistematika Penulisan ... 4 BAB II ... 6 LANDASAN TEORI ... 6 2.1 Analisis Sentimen ... 6 2.2 Emosi ... 7 2.3 Information Retrieval ... 9 2.4 Euclidean Distance ... 19 2.5 Cosine Similarity ... 19

2.6 Agglomerative Hierarchical Clustering ... 20

2.7 Confusion Matriks ... 32 BAB III ... 33 METODE PENELITIAN ... 33 3.1 Data ... 33 3.2 Kebutuhan Sistem ... 35 3.3 Tahapan Penelitian ... 35 3.4 Desain Interface ... 37

(14)

xiv

3.5 Perancangan Struktur Data ... 37

3.6 Skenario Sistem ... 38

3.6.1 Gambaran Umum Sistem ... 38

3.7 Desain Pengujian ... 67

BAB IV ... 68

HASIL DAN ANALISIS HASIL ... 68

4.1 Implementasi ... 68

4.2 Hasil & Analisis Hasil ... 79

4.3 User Interface ... 88 BAB V ... 89 PENUTUP ... 89 5.1 Kesimpulan ... 89 5.2 Saran ... 90 LAMPIRAN ... 94

1. Uji Validitas Sistem menggunakan 15 data ... 94

(15)

xv

DAFTAR TABEL

Tabel 2. 1 Kosa Kata Emosi ... 8

Tabel 2. 2 Tabel awalan-akhiran ... 12

Tabel 2. 3 Aturan peluruhan kata dasar ... 13

Tabel 2. 4 Contoh Data ... 22

Tabel 2. 5 Similarity Matriks ... 22

Tabel 2. 6 Matriks Jarak ... 23

Tabel 2. 7 Matriks Jarak pertama Single Linkage... 23

Tabel 2. 8 Matriks Jarak kedua Single Linkage ... 24

Tabel 2. 9 Matriks jarak pertama Complete Linkage ... 25

Tabel 2. 10 Matriks Jarak kedua Complete Linkage... 26

Tabel 2. 11 Matriks Jarak pertama Average Linkage ... 27

Tabel 2. 12 Matriks Jarak kedua Average Linkage... 27

Tabel 2. 13 Tabel Confusion Matriks ... 32

Tabel 3. 1 Tabel menghitung df ... 47

Tabel 3. 2 idf ... 48

Tabel 3. 3 Hitung Wij Tweet Cinta ... 49

Tabel 3. 4 Hitung Wij Tweet Senang ... 49

Tabel 3. 5 Hitung Wij Tweet Marah ... 50

Tabel 3. 6 Hitung Wij Tweet Sedih ... 50

Tabel 3. 7 Hitung Wij tweet takut ... 51

Tabel 3. 8 Tabel contoh data belum mengalami proses penggabungan ... 51

Tabel 3. 9 Tabel contoh data setelah penggabungan... 52

Tabel 3. 10 Tabel Contoh data pembobotan ... 52

Tabel 3. 11 Tabel Min-max ... 53

Tabel 3. 12 Tabel data hasil normalisasi min - max ... 53

Tabel 3. 13 Tabel Rata - Rata... 55

(16)

xvi

Tabel 3. 15 Hasil Normalisasi Zscore ... 56

Tabel 3. 16 Tabel hasil matriks jarak dari normalisasi min - max ... 57

Tabel 3. 17 Hasil matriks jarak normalisasi Z-Score ... 59

Tabel 3. 18 Hasil max cluster 5 single linkage- Z-Score ... 64

Tabel 3. 19 Hasil max cluster 5 complete linkage- Z-Score ... 64

Tabel 3. 20 Hasil max cluster 5 average linkage- Z-Score ... 64

Tabel 3. 21 Hasil max cluster 5 single linkage- Min - Max ... 64

Tabel 3. 22 Hasil max cluster 5 complete linkage- Min - Max... 65

Tabel 3. 23 Hasil max cluster 5 average linkage- Min - Max ... 65

Tabel 3. 24 Tabel perbandingan cluster hasil prediksi dan label aktual ... 66

Tabel 3. 25 Tabel Confusion matriks ... 66

Tabel 4. 1 Tabel Percobaan tanpa normalisasi dengan batas atas = 85 dan batas bawah =2 ... 80

Tabel 4. 2 Confusion matrix data tanpa normalisasi average linkage... 82

Tabel 4. 3 Tabel Percobaan normalisasi min - max dengan batas atas = 85 dan batas bawah =2 ... 82

Tabel 4. 4 Confusion matrix data normalisasi min – max average linkage ... 84

Tabel 4. 5 Tabel Percobaan normalisasi z-score dengan batas atas = 85 dan batas bawah =2 ... 85

(17)

xvii

DAFTAR GAMBAR

Gambar 2. 1 Dendrogram ... 21

Gambar 2. 2 Dendrogram Single linkage ... 25

Gambar 2. 3 Dendrogram Complete Linkage ... 26

Gambar 2. 4 Dendrogram average linkage ... 28

Gambar 2. 5 Flowchart AHC ... 31

Gambar 3. 1 Tweet Cinta ... 33

Gambar 3. 2Tweet Senang ... 34

Gambar 3. 3 Tweet Marah ... 34

Gambar 3. 4 Tweet Takut... 34

Gambar 3. 5 Tweet Sedih ... 35

Gambar 3. 6 Desain Interface... 37

Gambar 3. 7 Block Diagram ... 38

Gambar 3. 8 Tokenizing tweet cinta ... 40

Gambar 3. 9 Tokenizing tweet senang ... 40

Gambar 3. 10 Tokenizing tweet marah ... 40

Gambar 3. 11 Tokenizing tweet takut ... 41

Gambar 3. 12 Tokenizing tweet sedih ... 41

Gambar 3. 13 Stopword tweet cinta ... 42

Gambar 3. 14 Stopword tweet senang... 42

Gambar 3. 15 Stopword tweet marah ... 42

Gambar 3. 16 Stopword tweet sedih ... 43

Gambar 3. 17 Stopword tweet takut ... 43

Gambar 3. 18 Stemming tweet cinta ... 44

Gambar 3. 19 Stemming tweet senang ... 44

Gambar 3. 20 Stemming tweet marah ... 44

(18)

xviii

Gambar 3. 22 Stemming tweet takut ... 45

Gambar 3. 23 TF tweet cinta ... 45

Gambar 3. 24 TF tweet senang ... 46

Gambar 3. 25 TF tweet marah... 46

Gambar 3. 26 TF tweet sedih ... 46

Gambar 3. 27 TF tweet takut... 47

Gambar 3. 28 Data min – max Single linkage ... 60

Gambar 3. 29 Data min – max Complete linkage ... 60

Gambar 3. 30 Data min – max average linkage ... 61

Gambar 3. 31 Source code AHC min –max ... 61

Gambar 3. 32 Data Z-Score Single linkage ... 62

Gambar 3. 33 Data Z-Score Complete linkage ... 62

Gambar 3. 34 Data Z-Score Average linkage ... 63

Gambar 3. 35 Source code AHC Z-Score ... 63

Gambar 4. 1 Kumpulan Data ... 68

Gambar 4. 2 Contoh Data... 69

Gambar 4. 3 Source code Tokenizing ... 69

Gambar 4. 4 Source code Stopword ... 70

Gambar 4. 5 Source code Stemming ... 70

Gambar 4. 6 Kamus Kata Sinonim ... 71

Gambar 4. 7 Source code Penanganan Sinonim ... 71

Gambar 4. 8 Source code Pembobotan ... 72

Gambar 4. 9 Source code Normalisasi Min – Max ... 72

Gambar 4. 10 Source code Normalisasi Z-Score ... 73

Gambar 4. 11 Source code Hitung Jarak Euclidean ... 73

Gambar 4. 12 Source code Hitung Jarak Cosine... 74

Gambar 4. 13 Source code AHC ... 76

Gambar 4. 14 Gambar Output Hasil ... 76 Gambar 4. 15 Source code Confusion Matrix ... Error! Bookmark not defined.

(19)

xix

Gambar 4. 16 Hasil Implementasi Confusion Matrix ... 77

Gambar 4. 17 Contoh Tweet Uji ... 78

Gambar 4. 18 Hasil Tweet Uji ... 78

Gambar 4. 19 Grafik percobaan tanpa normalisasi ... 80

Gambar 4. 20 Dendrogram data tanpa normalisasi average linkage ... 81

Gambar 4. 21 Grafik percobaan normalisasi min – max ... 83

Gambar 4. 22 Dendrogram data normalisasi min – max average linkage ... 84

Gambar 4. 23 Grafik percobaan normalisasi z-score ... 85

Gambar 4. 24 Dendrogram data normalisasi z-score average linkage ... 86

Gambar 4. 25 Grafik percobaan menggunakan batas atas=85 dan batas bawah =2 ... 87

(20)

1 BAB I

PENDAHULUAN

1.1 Latar Belakang

Pada saat ini situs microblogging telah menjadi alat komunikasi yang sangat populer di kalangan pengguna internet. Microblogging merupakan suatu layanan media social yang memungkinkan pengguna mem-publish pesan pendek berupa opini, komentar, berita dalam karakter terbatas (kurang dari 200 karakter). Contoh layanan microblogging yaitu Twitter, Plurk, Jaiku, Posterous, Pownce, Kronologger, Koprol, Moofmill, dan Tumblr.

Menurut data yang dirilis Twitter, pada tahun 2012 Indonesia menjadi negara dengan pengguna Twitter terbesar kelima di dunia (Tempo,2012). Twitter memungkinkan pengguna untuk berbagi pesan menggunakan teks pendek disebut Tweet.

Twitter seringkali digunakan untuk mengungkapkan emosi mengenai sesuatu hal, baik memuji ataupun mencela. Emosi dapat dikelompokkan menjadi emosi positif dan emosi negatif. Emosi manusia dapat dikategorikan menjadi lima emosi dasar yaitu cinta, senang, sedih, marah, dan takut. Emosi cinta dan senang merupakan emosi positif. Emosi sedih, marah, dan takut merupakan emosi negatif (Shaver & Fraley , 2001)

Analisa mengenai tweet emosi para pengguna twitter disebut sebagai analisa opini atau sentimen (opinion analysis atau sentimen analysis). Analisis sentimen dilakukan untuk melihat pendapat atau kecenderungan opini terhadap sebuah masalah atau objek oleh seseorang, apakah cenderung beropini negatif atau positif. Dari hasil survey terhadap lebih dari 2000 orang Amerika dewasa, diketahui 81% melakukan penelitian terhadap suatu produk secara online setiap hari. Review terhadap rumah makan, hotel, agen perjalanan wisata, dan dokter di internet dapat meningkatkan

(21)

penjualan antara 73% sampai dengan 87%, pelanggan bersedia membayar lebih sebesar 20% sampai 99% terhadap review di internet yang mendapatkan bintang 5 daripada bintang 4 (Pang & Lee,2008). Pengaruh dan manfaat dari sentimen sedemikian besar sehingga penelitian ataupun aplikasi mengenai analisis sentimen berkembang sangat pesat. Terdapat kurang lebih 20-30 perusahaan di Amerika yang fokus pada layanan analisis sentiment (Liu, 2012). Faktor keuntungan tersebut mendorong perlunya dilakukan penelitian analisis sentimen terhadap tweet berbahasa Indonesia.

Dengan cara manual, analisa sentimen bisa saja dilakukan. Misalnya memonitor berita-berita di media massa. Akan tetapi untuk data tweet, cara manual tidak mungkin bisa dilakukan karena jumlah datanya yang sangat besar dan terus mengalir. Disinilah peranan text mining, yang secara otomatis dapat mengolah kata. Pada text mining terdapat beberapa proses yaitu tokenizing, stopword, stemming, dan pembobotan kata(Liu, 2010). Setelah melakukan text mining, diperlukan normalisasi. Setelah melakukan normalisasi, dilakukan penggolongan atau clustering pada setiap tweet, salah satunya menggunakan metode Agglomeartive Hierarchical Clustering.

Contoh kasus yang telah diselesaikan menggunakan metode Agglomerative Hierarchical Clustering adalah aplikasi automated text integration, dimana pada penelitian ini menghasilkan cluster yang baik. Dari hasil survei terhadap 100 orang responden, sebanyak 78% responden mengatakan bahwa integrasi dokumen yang dihasilkan telah benar(Budhi,Rahardjo,Taufik, 2008). Sehingga dengan melakukan penelitian menggunakan metode Agglomerative Hierarchical Clustering dapat mengetahui tingkat akurasi serta efisien untuk menyelesaikan masalah clustering data twitter berdasarkan emosi.

Penelitian mengenai analisis sentimen pernah dilakukan yaitu untuk mengelompokkan dokumen bahasa Indonesia menggunakan pendekatan Support Vector Machine. Pada penelitian ini data yang digunakan didapat dengan crawling pada Twitter. Akurasi menggunakan Support Vector Machine sebesar 73.07%(Nur & Santika , 2011).

(22)

Salah satu faktor yang mempengaruhi agar fitur klasifikasi memberikan hasil yang maksimal adalah pada tahap preprocessing data tweet dilakukan filtering dengan menghapus kata-kata yang tidak ada di KBBI dan dilakukan proses stemming, sehingga hanya berupa kumpulan kata dasar(Nur & Santika, 2011).

Berdasarkan penelitian yang telah ada sebelumnya, penelitan ini mencoba melakukan analisis sentimen dengan mengklasifikasi data twitter berbahasa Indonesia. Data tersebut akan diproses dengan text mining untuk menghindari data yang kurang sempurna kemudian mengelompokkan data tweet berdasarkan emosi ke dalam lima cluster yaitu senang, takut, sedih, marah, cinta. Pengelompokkan ini menggunakan algoritma Agglomerative Hierarchical Clustering.

1.2 Rumusan Masalah

Berdasarkan Latar Belakang yang telah dikemukakan diatas, maka permasalahan yang akan dibahas dalam penelitian ini, yaitu :

1. Bagaimana pendekatan Agglomerative Hierarchical Clustering mampu mengelompokkan emosi setiap tweet dengan baik ?

2. Berapakah tingkat akurasi analisis sentimen twitter menggunakan pendekatan Agglomerative Hierarchical Clustering?

1.3 Tujuan Penelitian

Tujuan dari penelitian ini adalah membangun sistem yang secara otomatis mampu mengelompokkan emosi setiap tweet menggunakan Agglomerative Hierarchical Clustering dan mengetahui tingkat akurasi pengelompokkan.

(23)

1.4 Manfaat

Manfaat yang diberikan pada penelitian ini, yaitu :

1. Dapat membantu menganalisis sentimen pada twitter dengan metode Agglomerative Hierarchical Clustering.

2. Menjadi referensi bagi penelitian – penelitian berikutnya yang relevan dengan kasus analisis sentimen twitter.

1.5 Luaran

Luaran yang diharapkan pada penelitian ini berupa suatu sistem yang secara otomatis mampu mengelompokkan emosi setiap tweet.

1.6 Batasan Masalah

Pada pengerjaan penelitian ini diberikan batasan-batasan masalah untuk permasalahan yang ada antara lain:

1. Tweet yang dianalisis sentimen hanya tweet berbahasa Indonesia.

2. Pengelompokkan tweet berdasarkan lima emosi yaitu cinta, marah, senang, sedih, dan takut

3. Tweet yang digunakan hanya tweet yang berupa text, tidak mengandung gambar.

1.7 Sistematika Penulisan

Sistematika penulisan proposal tugas akhir ini dibagi menjadi beberapa bab dengan susunan sebagai berikut:

BAB I : Pendahuluan

Berisi penjelasan mengenai masalah yang akan diteliti, berisi latar belakang, rumusan masalah, tujuan penelitian,manfaat penelitian, luaran, batasan masalah, dan sistematika penulisan.

(24)

BAB II : Landasan Teori

Berisi mengenai penjelasan dan uraian teori-teori yang berkaitan dengan topik analisis sentimen twitter, antara lain teori tentang analisis sentimen, emosi, preprocessing teks( Information Retrieval ), pembobotan kata, normalisasi min-max, normalisasi z-score, algoritma Agglomerative Hierarchical Clustering, Cosine Similarity, Euclidean Distance, dan Confusion Matriks

BAB III : Metodologi Penelitian

Berisi analisa dan design yang merupakan detail teknis sistem yang akan dibangun.

BAB IV : Implementasi dan Analisis Hasil

Bab ini berisi implementasi dari perancangan yang telah dibuat sebelumnya serta analisis dari hasil program yang telah dibuat

BAB V : Penutup

Bab ini berisi kesimpulan dari penelitian dan saraan – saran untuk pengembangan penelitian lebih lanjut.

(25)

6 BAB II

LANDASAN TEORI

Bab ini berisi penjabaran teori-teori yang bersangkutan dengan penulisan Tugas Akhir ini. Teori-teori tersebut mencakup Analisis Sentimen, Emosi, Information Retrieval, Agglomerative Hierarchical Clustering, Euclidean Distance, dan Confusion Matriks.

2.1 Analisis Sentimen

Analisis sentimen adalah bidang studi yang menganalisi pendapat, sentimen, evaluasi, penilaian, sikap, dan emosi seseorang terhadap sebuah produk, organisasi, individu, masalah, peristiwa atau topik (Liu, 2012). Analisis sentimen dilakukan untuk melihat pendapat terhadap sebuah masalah, atau dapat juga digunakan untuk identifikasi kecenderungan hal yang sedang menjadi topik pembicaran. Analisis sentimen dalam penelitian ini adalah proses pengelompokkan tweet ke dalam lima emosi yaitu emosi senang, emosi cinta, emosi sedih, emosi marah dan emosi takut.

Pengaruh dan manfaat dari analisis setimen, menyebabkan penelitian mengenai analisis sentimen berkembang pesat. Di Amerika kurang lebih 20-30 perusahaan yang memfokuskan pada layanan analisis sentimen (Liu,2012). Manfaat Analisis sentimen dalam dunia usaha antara lain untuk melakukan pemantauan terhadap suatu produk. Secara cepat dapat digunakan sebagai alat bantu untuk melihat respon masyarakat terhadap produk tersebut, sehingga dapat segera diambil langkah- langkah strategis berikutnya.

Pada umumnya analisis sentimen merupakan klasifikasi tetapi kenyataannya tidak semudah proses klasifikasi biasa karena terkait penggunaan bahasa, dimana terdapat ambigu dalam penggunaan kata serta perkembangan bahasa itu sendiri.

(26)

2.1.1 Level Analisis Sentimen

Analisis sentimen terdiri dari tiga level analisis yaitu : 1. Level Dokumen

Level dokumen menganalisis satu dokumen penuh dan mengklasifikasikan dokumen tersebut memiliki sentimen positif atau Negatif. Level analisis ini berasumsi bahwa keseluruhan dokumen hanya berisi opini tentang satu entitas saja. Level analisis ini tidak cocok diterapkan pada dokumen yang membandingkan lebih dari satu entitas (Liu, 2012).

2. Level Kalimat

Level kalimat menganalisis satu kalimat dan menentukan tiap kalimat bernilai sentimen positif, netral, atau Negatif. Sentimen netral berarti kalimat tersebut bukan opini (Liu, 2012).

3. Level Entitas dan Aspek

Level aspek tidak melakukan analisis pada konstruksi bahasa (dokumen, paragraph, kalimat, klausa, atau frase) melainkan langsung pada opini itu sendiri. Hal ini didasari bahwa opini terdiri dari sentimen (positif dan negatif) dan target dari opini tersebut. Tujuan level analisis ini adalah untuk menemukan sentimen entitas pada tiap aspek yang dibahas (Liu,2012).

2.2 Emosi

Emosi adalah suatu pikiran dan perasaan khas yang disertai perubahan fisiologis dan biologis serta menimbulkan kecendrungan untuk melakukan tindakan (Goleman, 2006).

Twitter seringkali digunakan untuk mengungkapkan emosi mengenai sesuatu hal, baik memuji ataupun mencela. Pengenalan emosi pada tweet dapat dilakukan

(27)

menggunakan analisis sentimen. Analisis sentimen dapat dimanfaatkan untuk menggali opini publik tentang suatu topik.

2.2.1 Emosi Dasar

Emosi yang dimiliki manusia dikategorikan menjadi lima emosi dasar yaitu cinta, senang, marah, khawatir/takut, dan sedih. Emosi cinta dan senang merupakan emosi positif. Emosi marah, takut, dan sedih merupakabb emosi Negatif (Shaver, Murdaya, dan Fralet, 2001).

2.2.2 Kosakata Emosi

Penelitian terhadap 124 kosakata emosi di Indonesia menghasilkan dua kelompok besar yaitu kosakata emosi positif dan Negatif. Kelompokan kosakata emosi positif terdiri dari dua emosi dasar yaitu emosi cinta dan senang. Kelompokan kosakata emosi Negatif terdiri dari tiga emosi dasar yaitu marah, takut, dan sedih (Shaver, Murdaya, dan Fraley, 2001).

Pengelompokkan terhadap 124 kosakata emosi di Indonesia terlihat pada Tabel 2.1 berikut:

Tabel 2. 1 Kosa Kata Emosi Superordinat Emosi

Dasar

Subordinat

Positif Cinta Ingin, kepingin, hasrat, berahi, terangsang, gairah, demen, suka, terbuai, terpesona, terkesiap, terpikat, tertarik, perasaan, getar hati, setia, edan kesmaran, kangen, rindu, kemesraan, asmara, mesra, cinta, kasih, sayang, hati.

Positif Senang Bangga, kagum, asik, sukacita, sukaria, bahagia, senang, girang, gembira, ceria, riang, damai, aman, tentram, lega,

(28)

kepuasan, puas, berani, yakin, ikhlas, tulus, berbesar, besar hati, rendah hati, sabar, tabah

Negatif Marah Bosan, jenuh, cemburu, curiga, histeris, tinggi hati, iri, dengki, gemas, gregetan, ngambek, tersinggung, muak, benci, emosi, kesal, sebal, mangkel, jengkel, dendam, dongkol, panas hati, kalap, murka, naik darah, naik pitam, marah, berang, geram

Negatif Takut Gentar, takut, berdebar, kebat – kebit, kalut, gusar, cemas, khawatir, waswas, bimbang, bingung, galau, gundah, gelisah, risau

Negatif Sedih Patah hati,kecil hati, malu, simpati, tersentuh, haru, prihatin, iba, kasihan, murung,pilu, sendu, sedih , duka, dukacita, sakit hati, pedih hati, patah hati, remuk hati, frustasi, putus asa, putus harapan, menyesal, penyesalan, sesal, berat hati.

2.3 Information Retrieval

Penelitian ini mencoba menganalisis emosi yang terkandung dalam sebuah tweet berbahasa Indonesia.

Dengan cara manual, analisis emosi atau analisis sentimen bisa saja dilakukan. Misalnya memonitor berita-berita di media massa. Akan tetapi untuk data tweet, cara manual tidak mungkin bisa dilakukan karena jumlah datanya yang sangat besar dan terus mengalir. Disinilah peranan Information Retrieval, yang secara otomatis dapat mengolah kata.

Information Retrieval merupakan sekumpulan algoritma dan teknologi untuk melakukan pemrosesan, penyimpanan, dan menemukan kembali informasi (terstruktur) pada suatu koleksi data yang besar (Manning,Raghavan,dan Schutze, 2009).

(29)

Berikut proses-proses Information Retrieval : a. Tokenizing

Tokenizing merupakan langkah untuk memotong dokumen menjadi potongan-potongan kecil yang disebut token dan terkadang disertai langkah untuk membuang karakter tertentu seperti tanda baca (Manning,Raghavan,dan Schutze, 2009).

Contoh proses tokenizing : Kalimat asal :

Disaat sedih jangan lupakan kamu juga pernah bahagia, sedih itu membuatMu dewasa Hasil dari tokenizing :

Disaat Juga MembuatMu

Sedih Pernah Dewasa Jangan Bahagia

Lupakan Sedih Kamu itu

b. Stopwords Removal

Stopword merupakan kosakata yang bukan ciri(kata) unik dari suatu dokumen (Dragut et all, 2009). Contoh stopword adalah dia, mereka , saya, pada, di, kenapa, apa, dan lain sebagainya. Sebelum proses stopword removal dilakukan, harus dibuat daftar stopword (stoplist) dimana stoplist ini berisi kata – kata umum,kata-kata penghubung, kata ganti orang dan bukan kata unik. Jika suatu kata termasuk di dalam stoplist maka kata – kata tersebut akan dihapus dari deskripsi sehingga kata – kata yang tersisa di dalam deskripsi dianggap sebagai kata-kata yang mencirikan isi dari suatu dokumen. Daftar stoplist dipenelitian ini bersumber dari Tala (2003).

(30)

Hasil dari tokenizing :

Disaat Juga MembuatMu

Sedih Pernah Dewasa Jangan

Bahagia Lupakan Sedih Kamu itu

Hasil dari Stopword Disaat Membuat

Sedih Pernah Dewasa Jangan Bahagia

Lupakan Sedih

c. Stemming

Stemming merupakan tahap menghilangkan kata berimbuhan menjadi kata dasar (root) dari tiap kata hasil stopword dengan menggunakan aturan – aturan tertentu. Contoh Proses Stemming :

Hasil dari Stopwords : Disaat Membuat

Sedih Pernah Dewasa Jangan Bahagia

Lupakan Sedih Hasil dari Stemming :

(31)

Sedih Pernah Jangan Bahagia Lupa Sedih

1) Rule Stemming

Algoritma Stemming untuk menghilangkan kata berimbuhan memiliki tahap – tahap sebagai berikut (Nazief dan Adriani, 2007) :

1. Pertama cari kata yang akan distem dalam kamus kata dasar. Jika ditemukan maka diasumsikan kata adalah root word. Maka algoritma berhenti. Jika tidak ditemukan maka lakukan langkah 2.

2. Hilangkan Inflection Suffixes bila ada. Dimulai dari Inflectional Particle(“-lah”, “-kah”, “-ku”, “-mu”, atau “-nya”) ,kemudian Possesive Pronouns (“-ku”, “-mu”, atau “-nya”). Cari kata pada kamus kata dasar jika ditemukan maka algoritma berhenti, jika tidak ditemukan maka lakukan langkah 3.

3. Hapus Derivation Suffixes (“-i”, “-an”, atau “-kan”).

Jika kata ditemukan di kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a

a. Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah “-k”, maka “-k” juga ikut dihapus. Jika tidak ditemukan maka lakukan langkah 3b.

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

4. Pada langkah 4 terdapat tiga iterasi: a. Iterasi berhenti jika :

1. Ditemukannya kombinasi akhiran yang tidak diizinkan berdasarkan awalan Tabel 2. 2 Tabel awalan-akhiran

(32)

be- -i

di- -an

ke- -i , -kan

me- -an

se- -i, -kan

2. Awalan yang dideteksi sama dengan awalan yang dihilangkan sebelumnnya.

3. Tiga awalan telah dihilangkan

b. Identifikasi tipe awalan dan hilangkan. Awalan terdiri dari dua tipe : 1. Standar(“di-”, “ke-”, “se-”) yang dapat langsung dihilangkan dari kata 2. Kompleks (“me-”, “be”, “pe”, “te”) adalah tipe awalan yang dapat berubah

sesuai kata dasar yang mengikutinya. Oleh karena itu dibutuhkan aturan pada tabel berikut untuk mendapakan hasil pemenggalan yang tepat. Tabel 2. 3 Aturan peluruhan kata dasar

Aturan Bentuk awalan Peluruhan

1 berV Ber-V… | be-rV….

2 Belajar Bel-ajar

3 beC1erC2 Be-C1erC2.. dimana C!={‘r’|1}

4 terV Ter-V | te-rV

5 teCer Te-Cer… dimana C !=’r’

6 teC1erC2….. Te-C1erC2… dimana C!=’r’

7 me{l|r|w|y}V… Me-{l|r|w|y}V…

8 mem{b|f|v}… Mem-{b|f|v}…

9 Mempe… Mem-pe

10 Mem{rV|V}… Me-m{rV|V}…|

Me-p{rV|V}… 11 Men{c|d|j|z}…. Men-{c|d|j|z}….

(33)

13 Meng{g|h|q|k}….. Meng-{g|h|q|k}….. 14 mengV….. Meng-V…|meng-kV 15 mengeC Menge-C 16 menyV Me-ny…|meny-sV… 17 mempV Mem-pV… 18 Pe{w|y}V… Pe-{w|y}V…. 19 perV Per-V….|pe-rV 20 Pem{b|f|v}… Pe-m{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” menjadi ajar

28 peCP Pe-CP…dimana

C!={r|w|y|l|m|n} dan P!=’er’

29 perCerV Per-CerV dimana

C!={r|w|y|l|m|n}

Pada tabel 2.3 dapat dilihat aturan – aturan peluruhan kata dasar yang apabila dilekati oleh awalan “me-”, “be-”, “te-”, “pe-”. Dimana pada kolom kedua dari tabel tersebut menjelaskan bentuk – bentuk kata dasar yang dilekati awalan “me-”, “be-”, “te-”, “pe-” , sedangkan pada kolom ketiga menjelaskan perubahan – perubahan karakter pada kata dasar yang mungkin terjadi apabila algoritma telah menghilangkan awalan yang telah melekati kata dasar tersebut. Huruf “V” pada tabel tersebut menunjukkan huruf hidup atau huruf vocal, huruf “C” menunjukkan huruf mati atau konsonan, dan huruf “P” menunjukkan pecahan “er”. Sebagai contoh, jika algoritma

(34)

menerima kata “menyusun”, maka proses Stemming pada kata tersebut mengikuti aturan ke-16 yaitu “menyV..” dan perubahannya menjadi “me-ny” atau “meny-sV..”. Berdasarkan aturan tersebut maka algoritma akan menghilangkan awalan “me-” maka akan didapatkan kata “nyusun”, selanjutnya kata “nyusun” akan diperiksa ke dalam database kata dasar karena kata “nyusun” bukan kata dasar maja tahap selanjutnya algoritma akan menghilangkan kata “meny-” dan kemudian algoritma akan menambahkan huruf “s” diddepan huruf “u”, maka akan didapatkan kata “susun”, selanjutnya kata “susun” akan diperiksa kedalam database kata dasar. Karena kata “susun” merupakan kata dasar maka kata tersebut akan diidentifikasikan sebagai kata dasar.

c. Cari kata yang telah dihilangkan awalannya. Apabila tidak ditemukan maka langkah diulang kembali. Jika ditemukan maka algoritma berhenti.

5. Apabila setelah langkah 4 kata dasar masih belum ditemukan, maka proses recording dilakukan dengan mengacu pada aturan tabel 2.3. Recording dilakukan dengan menambahkan karakter recording di awal kata yang dipenggal. Pada tabel 2.3 , karakter recording adalah huruf kecil setelah tanda hubung (‘-‘) dan terkadang berada sebelum tanda kurung. Sebagai contoh, kata “menangkap” (aturan 15) pada tabel 2.3 , setelah dipenggal menjadi “nangkap”. Karena tidak valid, maka recording dilakukan dan menghasilkan kata “tangkap”.

6. Jika semua langkah selesai tetapi tidak juga berhasil maka kata awal diasumsikan sebagai rootword. Algoritma berhenti..

(35)

Untuk mengatasi keterbatasan pada algoritma di atas, maka ditambahkan aturan – aturan dibawah ini (Agusta, 2009) :

1. Aturan untuk reduplikasi

➢ Jika kedua kata yang dihubungkan oleh kata penghubung adalah kata yang sama maka root word adalah bentuk tunggalnya, contoh : “buku - buku” root wordnya adalah “buku”.

➢ Kata lain, misalnya “bolak-balik”, “berbalas-balasan”, dan “seolah-olah”. Untuk mendapatkan root wordnya, kedua kata diartikan secara terpisah. Jika keduanya memiliki root word yang sama maka diubah menjad bentuk tunggal, contoh : kata “berbalas-balasan”, “berbalas” dan “balasan” memiliki root word yang sama yaitu “balas”. Maka root word “berbalas-balasan” adalah “balas”. Sebaliknya, pada kata “bolak-balik” , “bolak ” dan “balik” memiliki root word yang berbeda, maka root wordnya adalah “bolak- balik”.

2. Tambahan bentuk awalan dan akhiran serta aturannya

➢ Untuk tipe awalan “mem-”, kata yang diawali dengan awalan “memp” memiliki tipe awalan “mem-”.

➢ Tipe awalan “meng-”, kata yang diawali dengan awalan “mengk-” memiliki tipe awalan “meng-”

d. Penggabungan Kata Berdasarkan Sinonim

Menurut Kamus Besar Bahasa Indonesia (KBBI) sinonim adalah bentuk bahasa yang maknanya mirip atau sama dengan bahasa lain. Proses sinonim akan dilakukan ketika ada kata berbeda namun memiliki makna yang sama, untuk me-minimal-kan jumlah kata yang terdapat pada sistem, tanpa menghilangkan jumlah frekuensi (Rarasati,2015).

(36)

e. Pembobotan Kata

Setelah melalui preprocessing text dihasilkan berbentuk token yang terpisah dari kata yang lain dan sudah dalam bentuk dasar. Pada langkah selanjutnya kata-kata atau term akan dirubah kedalam bentuk numerik untuk diketahui bobot setiap kata dari satu dokumen ke dokumen lainya. Metode TF-IDF merupakan metode pembobotan dalam bentuk sebuah metode yang merupakan integrasi antar term frequency (tf), dan inverse document frequency (idf) (Yan dan Liu,1999).

Berikut rumus yang digunakan untuk mencari bobot kata dengan metode Term Frequency (TF) - Inverse Document Frequency (IDF) :

𝑖𝑑𝑓 = log⁡(𝐷/𝑑𝑓) (2.1)

Keterangan :

D : Jumlah semua dokumen dalam koleksi df : Jumlah dokumen yang mengandung term t 𝑊𝑖𝑗 = 𝑡𝑓𝑖𝑗⁡𝑥⁡𝑖𝑑𝑓

𝑊𝑖𝑗 = 𝑡𝑓𝑖𝑗⁡𝑥 log(𝐷/𝑑𝑓𝑗) (2.2)

Keterangan :

𝑊𝑖𝑗 : bobot term 𝑡𝑗 terhadap dokumen 𝑑𝑖

𝑡𝑓𝑖𝑗⁡ : jumlah kemunculan term 𝑡𝑗 dalam dokumen 𝑑𝑖

𝐷 : jumlah semua dokumen yang ada dalam database 𝑑𝑓𝑗 : jumlah dokumen yang mengandung term 𝑡𝑗

(37)

f. Normalisasi 1. Z-Score

Normalisasi Z-Score umumnya digunakan jika nilai minimum dan maksimum sebuah atribut tidak diketahui (Mustaffa dan Yusof,2011). Normalisasi Z-Score dirumuskan sebagai berikut :

𝑣′= (𝑣−𝐴̅

𝜎𝐴) (2.3)

Keterangan

𝑣′ : nilai yang baru 𝑣 : nilai yang lama

𝐴̅ : rata - rata dari atribut A

𝜎𝐴 : nilai standar deviasi dari Atribut A

2. Min-max

Normalisasi min – max dirumuskan sebagai berikut (Mustaffa dan Yusof, 2011) : 𝑋𝑛 = ⁡ 𝑋0−⁡𝑋𝑚𝑖𝑛

𝑋𝑚𝑎𝑥−𝑋𝑚𝑖𝑛 (2.4)

Keterangan :

𝑋𝑛 : nilai baru untuk variable X 𝑋0 : nilai lama untuk variable X

𝑋𝑚𝑖𝑛 : nilai minimum dalam data set 𝑋𝑚𝑖𝑛 : nilai maksimum dalam data set

(38)

2.4 Euclidean Distance

Euclidean Distance digunakan untuk menghitung nilai kedekatan antara dua dokumen. Perhitungan Euclidean Distance dirumuskan sebagai berikut (Prasetyo, 2014) : 𝑑(𝐴, 𝐵) = ⁡ √|𝐴1− 𝐵1|2+ |𝐴2− 𝐵2|2+ … … . +⁡|𝐴𝑖 − 𝐵𝑖|2 (2.5) Atau 𝑑(𝐴, 𝐵) = ⁡ √∑𝑛 (𝐵𝑖 − 𝐴𝑖)2 𝑖=1 (2.6) Keterangan : 𝑛 : Jumlah atribut 𝐵𝑖 − 𝐴𝑖 : Data 2.5 Cosine Similarity

Menurut Prasetyo pada buku Data Mining: Pengelolahan Data menjadi infromasi menggunakan matlab (2014), ukuran kemiripan yang sering digunakan untuk mengukur kemiripan dua dokumen x dan y adalah Cosine Similarity. Kemiripan yang diberikan adalah 1 jika dua vektor x dan y sama , dan bernilai 0 jika kedua vektor berbeda. Nilai jarak 1 menyatakan sudut yang dibentuk oleh vektor x day y adalah 0º, yang artinya vektor x dan y adalah sama (dalam hal jarak).

Perhitungan Cosine Similarity dirumuskan sebagai berikut :

𝑠(𝑥, 𝑦) = cos(𝑥, 𝑦) =

𝑥⁡∙𝑦

||𝑥||||𝑦|| (2.7)

Tanda titik (

) melambangkan inner-product,

𝑥⁡ ∙ 𝑦 = ∑

𝑟𝑖=1

𝑥

𝑖

𝑦

𝑖

(2.8)

(39)

||𝑥|| = ⁡ √∑

𝑟

𝑥

𝑖2

𝑖=1

⁡ = ⁡ √𝑥⁡ ∙ 𝑥

(2.9)

2.6 Agglomerative Hierarchical Clustering

Agglomerative Hierarchical Clustering merupakan metode pengelompokkan berbasis hierarki dengan pendekatan bottom up, yaitu proses penggelompokkan dimulai dari masing-masing data sebagai satu cluster, kemudian secara rekursif mencari cluster terdekat sebagai pasangan untuk bergabung sebagai satu cluster yang lebih besar (Prasetyo,2014). Proses tersebut diulang terus sehingga tampak bergerak ke atas membentuk hierarki.

Kunci operasi metode Agglomerative Hierarchical Clustering adalah penggunaan ukuran kedekatan diantara dua cluster (Hartini,2012). Ada tiga teknik yang dapat digunakan untuk menghitung kedekatan diantara dua cluster dalam metode Agglomerative Hierarchical Clustering yaitu Single linkage, Complete Linkage, dan Average Linkage.

Pada metode Single linkage kedekatan di antara dua cluster ditentukan dari jarak terdekat (terkecil) di antara pasangan diantara dua data dari dua cluster berbeda (satu dari cluster pertama satu dari cluster yang lain) . Dengan menggunakan single linkage jarak antara dua cluster didefinisikan sebagai berikut :

𝑑(𝐴, 𝐵) = ⁡ 𝑀𝑖𝑛𝑥∈𝐴,𝑦∈𝐵{𝑆𝑥,𝑦} (2.10)

Keterangan :

{𝑆𝑥,𝑦} : jarak antara data x dan y dari masing – masing Cluster A dan B.

Pada Complete Linkage kedekatan diantara dua cluster ditentukan dari jarak terjauh (terbesar) diantara pasangan diantara dua data dari dua cluster berbeda (satu dari cluster pertama satu dari cluster yang lain). Dengan menggunakan metode complete lingkage jarak antara dua cluster didefinisikan sebagai berikut :

(40)

Keterangan :

{𝑆𝑥,𝑦} : jarak antara data x dan y dari masing – masing Cluster A dan B.

Pada Average Linkage kedekatan diantara dua cluster ditentukan dari jarak rata-rata diantara pasangan diantara dua data dari dua cluster berbeda (satu dari cluster pertama satu dari cluster yang lain). Dengan menggunakan metode average lingkage jarak antara dua cluster didefinisikan sebagai berikut :

𝑑(𝐴, 𝐵) = ⁡ 1

𝑛𝐴𝑛𝐵∑𝑥∈𝐴∑𝑥∈𝐵𝑆{𝑥, 𝑦} (2.12)

Keterangan :

𝑛𝐴 : banyaknya data dalam cluster A ⁡𝑛𝐵 : banyaknya data dalam cluster B

Dengan menggunakan rumus perhitungan-perhitungan diatas akan diketahui jarak antar cluster. Masing – masing perhitungan dapat menghasilkan dendrogram.

Gambar 2. 1 Dendrogram

Dari penjelasan yang telah dipaparkan diatas, maka secara singkat AHC dapat dimengerti sebagai metode yang dimulai dengan setiap n cluster yang membentuk cluster masing-masing. Kemudian dua cluster dengan jarak terdekat bergabung. Selanjutnya cluster yang lama akan bergabung dengan cluster yang sudah ada dan membentuk cluster baru. Hal ini tetap memperhitungkan jarak kedekatan antar cluster.

(41)

Proses akan berulang hingga akhirnya membentuk satu cluster yang memuat keseluruhan cluster.

Sebagai contoh, diketahui data seperti pada tabel dibawah ini Tabel 2. 4 Contoh Data

Data X Y

A 2 1

B 1 2

C 3 4

D 4 2

Dengan menggunakan rumus Euclidean Distance setiap obyek data tersebut dihitung similaritasnya sebagai berikut :

𝑑(𝑎, 𝑏) = √(|1 − 2|2 + |2 − 1|2) = 1 𝑑(𝑎, 𝑐) = √(|3 − 2|2+ |4 − 1|2) = 3.16 𝑑(𝑎, 𝑑) = √(|4 − 2|2+ |2 − 1|2) = 2.236 𝑑(𝑏, 𝑐) = √(|3 − 1|2+ |4 − 2|2) = 2.82 𝑑(𝑏, 𝑑) = √(|4 − 1|2+ |2 − 2|2) =3 𝑑(𝑐, 𝑑) = √(|4 − 3|2+ |2 − 4|2) = 2.236

Berdasarkan perhitungan tersebut dapat dibentuk similarity matriks seperti tabel berikut.

Tabel 2. 5 Similarity Matriks

A b C d

A 0 1 3.16 2.236

(42)

C 3.16 2.82 0 2.236 D 2.236 3 2.236 0

Karena similarity matriks bersifat simetris maka dapat ditulis seperti dibawah ini dan menjadi matriks jarak:

Tabel 2. 6 Matriks Jarak

A B C D A 0 1 3.16 2.236 B 0 2.82 3 C 0 2.236 D 0 1. Single linkage

Dari tabel 2.6 jarak obyek yang paling dekat yaitu a dan b,berjarak 1. Kedua obyek data ini menjadi satu cluster pertama. Kemudian untuk menemukan cluster berikutnya dicari jarak antar obyek data dari sisa yang ada (c,d) dan berada paling dekat (jarak minimum) dengan cluster(ab). Untuk pencarian jarak ini pertama digunakan Single linkage.

𝑑(𝑎𝑏)𝑐 = min{𝑑𝑎𝑐, 𝑑𝑏𝑐} = min{⁡3.16⁡, 2.82} = 2.82 𝑑(𝑎𝑏)𝑑= min{𝑑𝑎𝑑, 𝑑𝑏𝑑} = min{2.236⁡, 3} = 2.236

Setelah mendapat cluster ab, baris – baris dan kolom – kolom matriks jarak yang bersesuaian dengan cluster a dan b dihapus, kemudian ditambahkan baris dan kolom untuk cluster ab, matriks jarak menjadi seperti berikut :

Tabel 2. 7 Matriks Jarak pertama Single Linkage

(43)

Ab 0 2.82 2.236

C 0 2.236

D 0

Berdasarkan pada matriks jarak pertama, dipilih kembali jarak terdekat antar cluster yaitu abd dan cd dengan nilai 2.236. Maka dapat dipilih salah satu dari kedua nilai tersebut. Dalam contoh ini cluster yang dipilih yaitu cd. Kemudian hitung jarak cluster cd dengan cluster ab.

𝑑(𝑐𝑑)𝑎𝑏 = min{𝑑𝑐𝑎, 𝑑𝑐𝑏, ⁡𝑑𝑑𝑎⁡, 𝑑𝑑𝑏}⁡ = min{3.16, 2.82, 2.236⁡, 3} = 2.236

Setelah mendapatkan cluster cd, baris – baris dan kolom – kolom matriks jarak yang bersesuaian dengan cluster c dan d dihapus, kemudian ditambahkan baris dan kolom untuk cluster cd, sehingga matriks jarak menjadi seperti berikut :

Tabel 2. 8 Matriks Jarak kedua Single Linkage ab cd

ab 0 2.236

cd 0

Ketika jarak antar cluster tersisa satu maka proses iterasi perhitungan jarak untuk pembentukan cluster selesai. Jadi cluster ab dan cd digabung agar membentuk satu cluster yaitu abcd dengan jarak terdekat 2.236. Berikut ini hasil dendrogram AHC dengan Single linkage:

(44)

Gambar 2. 2 Dendrogram Single linkage 2. Complete Linkage

Perhitungan jarak dengan Complete Linkage akan dicari jarak antar cluster dengan yang paling jauh. Dengan tetap menggunakan tabel matriks jarak (tabel 2.7),perhitungan Complete Linkage ini dilakukan. Pada awal perhitungan, cluster ab tetap digunakan sebagai cluster pertama karena jarak antar obyek yang paling dekat yaitu 1. Berikut akan dilakukan perhitungan jarak antar cluster ab dengan c dan d. 𝑑(𝑎𝑏)𝑐 = max{𝑑𝑎𝑐, 𝑑𝑏𝑐} = max{⁡3.16⁡, 2.82} = 3.26

𝑑(𝑎𝑏)𝑑= max{𝑑𝑎𝑑, 𝑑𝑏𝑑} = max{2.236⁡, 3} = 3

Setelah mendapatkan cluster ab,baris-baris dan kolom-kolom matriks jarak yang bersesuaian dengan cluster a dan b dihapus, kemudian ditambahkan baris dan kolom untuk cluster ab, sehingga matriks jarak seperti berikut :

Tabel 2. 9 Matriks jarak pertama Complete Linkage

ab c d

ab 0 3.16 3

c 0 2.236

(45)

Dari tabel diatas dipilih jarak terdekat antar cluster yaitu 2.236. Kemudian dihitung jarak dengan cluster ab.

𝑑(𝑐𝑑)𝑎𝑏 = max{𝑑𝑐𝑎, 𝑑𝑐𝑏, ⁡𝑑𝑑𝑎⁡, 𝑑𝑑𝑏}⁡ = max{3.16, 2.82, 2.236⁡, 3} = 3.16

Setelah mendapat cluster cd, baris – baris dan kolom – kolom matriks jarak yang bersesuaian dengan cluster c dan d dihapus, kemudian ditambahkan baris dan kolom untuk cluster cd, sehingga matriks jarak menjadi seperti berikut :

Tabel 2. 10 Matriks Jarak kedua Complete Linkage ab cd

ab 0 3.16

cd 0

Ketika jarak antar cluster tersisa satu, maka proses iterasi perhitungan jarak untuk pembentukan cluster selesai. Jadi cluster ab dan cd digabung menjadi satu cluster yaitu abcd dengan jarak terdekat 3.16. Berikut ini hasil dendrogram AHC dengan Complete Linkage:

Gambar 2. 3 Dendrogram Complete Linkage

3. Average Linkage

Menggunakan Average Linkage akan dicari jarak antara cluster dengan menghitung nilai rata-rata pasangan setiap cluster. Dengan tetap menggunakan tabel

(46)

matriks jarak (tabel 2.7), perhitungan Average Linkage ini dilakukan. Pada awal perhitungan, cluster ab teta digunakan sebagai cluster pertama karena jarak antar obyek yang paling dekat. Berikut ini akan dilakukan perhitungan jarak antara cluster ab dengan c dan d.

𝑑(𝑎𝑏)𝑐 = average{𝑑𝑎𝑐, 𝑑𝑏𝑐} = average{⁡3.16⁡, 2.82} =3.16+2.82

2 = 2.99

𝑑(𝑎𝑏)𝑑= average{𝑑𝑎𝑑, 𝑑𝑏𝑑} = average{2.236⁡, 3} =2.236+3

2 = 2.618

Setelah mendapatan cluster ab, baris-baris dan kolom-kolom matriks jarak yang bersesuaian dengan cluster a dan b dihapus dan ditambahkan baris dan kolom untuk cluster ab, sehingga matriks jarak menjadi seperti berikut :

Tabel 2. 11 Matriks Jarak pertama Average Linkage

ab c d

ab 0 2.99 2.618

c 0 2.236

d 0

Dari matriks diatas, dipilih kembali jarak terdekat antar cluster. Ditemukan cluster cd paling dekat, yaitu bernilai 2.236. Kemudian dihitung jarak dengan cluster ab.

𝑑(𝑐𝑑)𝑎𝑏 = average{𝑑𝑐𝑎, 𝑑𝑐𝑏, ⁡𝑑𝑑𝑎⁡, 𝑑𝑑𝑏}⁡ = average{3.16, 2.82, 2.236⁡, 3} = 3.16+2.82+2.236+3

4 = 2.804

Setelah mendapatan cluster cd, baris – baris dan kolom – kolom matriks jarak yang bersesuaian dengan cluster c dan d dihapus dan ditambahkan baris dan kolom untuk cluster cd, sehingga matriks jarak menjadi seperti berikut :

Tabel 2. 12 Matriks Jarak kedua Average Linkage ab cd

(47)

ab 0 2.804

cd 0

Ketika jarak antar cluster tersisa satu, maka proses iterasi perhitungan jarak untuk pembentukan cluster selesai. Jadi cluster ab dan cd digabung menjadi satu cluster yaitu abcd dengan jarak terdekat 2.804. Berikut ini hasil dendrogram AHC dengan Average Linkage:

Gambar 2. 4 Dendrogram average linkage

2.5.1 Langkah Algoritma Agglomerative Hierarchical Clustering

Algoritma Agglomerative Hierarchical Clustering untuk mengelompokkan n obyek adalah sebagai berikut ( Tan, Steinbach dan Kumar,2006 ) :

1. Hitung matriks kedekatan berdasarkan jenis jarak yang digunakan. 2. Ulangi langkat 3 sampai 4, hingga hanya satu kelompok yang tersisa

3. Gabungkan dua cluster terdekat berdasarkan parameter kedekatan yang ditentukan. 4. Perbarui matriks kedekatan untuk merepresentasikan kedekatan diantara kelompok

baru dan kelompok yang tersisa. 5. Selesai

(48)

2.5.2 Flowchart Agglomerative Hierarchical Clustering 1. Single Linkage

(49)

2. Complete Linkage

(50)

3. Average Linkage

(51)

2.7 Confusion Matriks

Pada penelitian ini metode evaluasi clustering yang digunakan yaitu metode external evaluasi. External evaluasi bekerja dengan membandingkan hasil pengelompokkan sistem dengan label class. Salah satu metode external evaluasi yaitu, Confusion Matrix.

Confusion Matriks merupakan metode external evaluasi yang berisi informasi yang actual dan dapat diprediksi (Kohavi dan Provost, 1998), dimana kinerja sistem dapat di evaluasi menggunakan data dalam matriks. Tabel berikut menunjukkan Confusion matrix :

Tabel 2. 13 Tabel Confusion Matriks Predicted

Negatif Positif

Actual Negatif a b

Positif c d

Keterangan :

a : jumlah prediksi yang benar bahwa contoh bersifat negatif b : jumlah prediksi yang benar bahwa contoh bersifat negatif c : jumlah prediksi yang benar bahwa contoh bersifat positif d : jumlah prediksi yang salah bahwa contoh bersifat positif

Perhitungan akurasi dirumuskan sebagai berikut : 𝐴 = 𝑎+𝑑

(52)

33 BAB III

METODE PENELITIAN

Bab ini berisi perancangan penelitian yang akan dibuat oleh penulis meliputi data, kebutuhan system, tahapan penelitian, desain interface, skenario sistem, dan desain pengujian.

3.1 Data

Pada penelitian ini, data yang digunakan ialah tweet berbahasa Indonesia yang terdapat pada Twitter. Tweet yang digunakan ialah tweet-tweet yang mengandung emosi cinta, senang, marah, takut, dan sedih. Dari masing- masing emosi, diambil 100 data per emosi sehingga total tweet yang digunakan sebagai data berjumlah 500 .

Pencarian data dilakukan dengan menggunakan hashtag #cinta, #senang, #takut, dan #sedih pada website www.netlytic.org. Pemilihan data secara manual yaitu memilih kalimat-kalimat tweet yang berbahasa Indonesia dan tidak mengandung gambar. Tweet yang telah dipilih kemudian di simpan ke file teks. Kemudian file teks tersebut digunakan sebagai input pada sistem untuk diolah lebih lanjut.

Berikut contoh tweet dengan emosi cinta :

(53)

Berikut contoh tweet dengan emosi senang :

Gambar 3. 2Tweet Senang

Berikut contoh tweet dengan emosi marah :

Gambar 3. 3 Tweet Marah

Berikut contoh tweet dengan emosi takut :

(54)

Berikut contoh tweet dengan emosi sedih :

Gambar 3. 5 Tweet Sedih

3.2 Kebutuhan Sistem

Untuk proses membuat sistem digunakan software dan hardware sebagai berikut :

1. Software

a) Sistem Operasi : Windows 8 64-bit b) Bahasa Pemograman : Matlab R2010A 2. Hardware

a) Processor : Intel (R) Core(TM) i3-3217U CPU @ 1.8GHz

b) Memory : 2 Gb

c) Harddisk : 500 Gb

3.3 Tahapan Penelitian 3.3.1 Studi Pustaka

Pada Studi Pustaka ini penulis mencantumkan dan menggunakan teori – teori yang terkait dengan penelitian yang dilakukan,seperti teori Analisis sentimen, emosi, Preprocessing text( Information Retrieval), Pembobotan kata, Normalisasi, Agglomerative Hierarchical Clustering, Euclidean Distance, dan Confusion matriks.

(55)

3.3.2 Pengumpulan Data

Data yang digunakan pada penelitian ini adalah tweet berbahasa Indonesia yang ditulis oleh para pengguna Twitter. Tweet yang dikumpulkan berupa tweet yang berisi emosi cinta, marah, senang, sedih, dan takut.

3.3.3 Pembuatan Alat Uji

Pada tahap ini, akan dirancang suatu alat uji yang dimulai dengan perancangan interface dan pembuatan alat uji untuk menguji Agglomerative Hierarchical Clustering untuk mengelompokkan tweet serta mendapatkan akurasi dari sistem yang telah dibangun.

3.3.4 Pengujian

Pada tahap pengujian ini, data terlebih dahulu di-preprocessing sehingga dari data yang dihasilkan dapat dilakukan proses clustering. Dari hasil clustering yang dilakukan, pengujian dilakukan dengan menggunakan Cofusion Matriks.

(56)

3.4 Desain Interface

Gambar 3. 6 Desain Interface

3.5 Perancangan Struktur Data

Struktur data digunakan untuk mengelola penyimpanan data agar data dapat diakses sewaktu – waktu jika sedang diperlukan. Pada penelitian ini konsep struktur data yang digunakan ialah :

a. ArrayList

ArrayList digunakan untuk menampung data tweet. Sebagai contoh dapat dilihat pada ilustrasi berikut :

[ 𝐷𝑎𝑡𝑎⁡1 𝐷𝑎𝑡𝑎⁡2 𝐷𝑎𝑡𝑎⁡3 𝐷𝑎𝑡𝑎⁡4 𝐷𝑎𝑡𝑎⁡5]

Obyek data 1, Data 2, Data 3, Data 4, Data 5 merupakan representasi dari data tweet yang akan dijelaskan pada tabel berikut :

(57)

Obyek Atribut

Data 1 Cinta tak kan menuntut kesempurnaan. Cinta kan menerima, memahami, rela berkorban. Karena seharusnya cinta

membuat mu bahagia

Data 2 Dalam hidup ini berbagi kepada sesama memberi jiwa rasa damai. Berbagi dengan tulus tanpa pamrih memberikan perasaan sukacita..

Data 3 Aku patah hati, mas! Sakit sesakit-sakitnya. Data 4 Resah dan gelisah tanpa arah.

Data 5 Baru ditinggal berapa jam rasanya khawatir.

3.6 Skenario Sistem

3.6.1 Gambaran Umum Sistem

Gambar 3. 7 Block Diagram

Sistem ini digunakan untuk mengetahui tingkat akurasi penggolongan tweet berdasarkan emosi dengan menggunakan metode Agglomerative Hierarchical Clustering. Langkahnya adalah melalui data tweet yang berekstensi .txt. Teks akan mengalami tahap preprocessing yang terdiri dari Tokenizing, stopword, dan stemming. Tahap kedua yaitu tahap pembobotan kata menggunakan TF-IDF untuk menentukan nilai frekuensi dari dokumen, serta melakukan penggabungan kata

(58)

(sinonim), jika ditemukan kata yang berbeda namun memiliki makna yang sama maka gabungkan menjadi satu kata. Setelah mendapatkan bobot, maka hasil pembobotan di normalisasi. Pada tahap normalisasi ini peneliti menggunakan normalisasi Min-Max dan Z-Score, dilakukan dua macam normalisasi agar mendapatkan metode yang lebih optimal pada penelitian ini. Tahap selanjutnya yaitu menentukan kedekatan data emosi (cinta, senang, sedih, marah,dan takut) dengan metode Agglomerative Hierarchical Clustering menggunakan Euclidean Distance. Tahap terakhir adalah proses perhitungan akurasi menggunakan Confusion matriks.

Setelah menemukan hasil akurasi serta pengelompokkan selanjutnya sistem melakukan proses input data baru, yang berfungsi untuk mengetahui data baru termasuk dalam cluster emosi yang mana. Maka data baru dapat dikategorikan termasuk salah satu dari emosi yang ada.

3.5.1.1 Tahap Preprocessing

Tahap preprocessing meliputi tahap Tokenizing, stopword removal, dan stemming. Sistem akan menghapus link url, username, dan tanda retweet. Sistem akan mengubah kata tidak baku atau kata yang disingkat menjadi kata yang baku. Sistem juga akan mengambil kata yang diawali tanda pagar (hashtag).

Penjelasan tahap preprocessing adalah sebagai berikut:

a. Tokenizing

Pada tahap ini sistem akan memotong dokumen menjadi potongan-potongan kecil yang disebut token dan terkadang disertai langkah untuk membuang karakter tertentu seperti tanda baca (Manning,Raghavan,dan Schutze, 2009). Langkah-Langkah Tokenizing :

1. Baca tiap baris pada file text sebagai satu tweet

2. Ambil tiap token pada kalimat tweet dengan menggunakan spasi sebagai pemisah antara satu token dengan token lain.

(59)

Berikut contoh Tokenizing terhadap kalimat tweet cinta, senang, marah, sedih, dan takut :

- Tokenizing tweet cinta

-

Gambar 3. 8 Tokenizing tweet cinta

- Tokenizing tweet senang

Gambar 3. 9 Tokenizing tweet senang

- Tokenizing tweet marah

(60)

- Tokenizing tweet takut

Gambar 3. 11 Tokenizing tweet takut

- Tokenizing tweet sedih

Gambar 3. 12 Tokenizing tweet sedih

b. Stopword

Setelah mengalami proses tokenizing , kemudian data tweet diolah melalui proses stopword. Dalam proses stopword, kata-kata yang penting akan disaring sehingga kata yang tidak relevan dapat dibuang.

Langkah – langkah stopword : 1. Baca data hasil tokenizing

2. Cek setiap kata hasil tokenizing dengan stoplist

3.Jika kata pada hasil tokenizing sama dengan kata pada stoplist, maka kata tersebut dihapus.

4.Jika tidak maka kata akan disimpan.

Maka dibawah ini merupakan contoh tweet yang mengandung emosi cinta, senang, marah, sedih , dan takut yang mengalami proses stopword.

(61)

Gambar 3. 13 Stopword tweet cinta

Gambar 3. 14 Stopword tweet senang

(62)

Gambar 3. 16 Stopword tweet sedih

Gambar 3. 17 Stopword tweet takut

c. Stemming

Setelah mengalami proses stopword, proses selanjutnya ialah proses stemming dimana mencari kata dasar dari data tweet. Stemming dilakukan dengan menghilangkan awalan dan akhiran. Berikut langkah – langkah stemming :

1. Baca tiap kata dan cek dengan kata pada kamus kata dasar.

2. Jika kata sama dengan kata pada daftar kamus kata dasar, maka kata tersebut adalah kata dasar.

3. Jika kata tidak sama dengan kata pada daftar kamus kata dasar, hapus akhiran dan awalan pada kata.

4. Cek hasil langkah ke 3 dengan kata pada daftar kamus kata dasar, jika tidak sama dengan, anggap kata sebelum dikenali langkah 3 sebagai kata dasar. Dibawah ini merupakan contoh data tweet yang mengalami proses stemming:

(63)

Gambar 3. 18 Stemming tweet cinta

Gambar 3. 19 Stemming tweet senang

Gambar 3. 20 Stemming tweet marah

(64)

Gambar 3. 22 Stemming tweet takut

3.5.1.2 Tahap Pembobotan dan Penggabungan Sinonim Kata

Setelah data melewati proses preprocessing, langkah selanjutnya ialah tahap pembobotan. Tahap pembobotan ini bertujuan untuk memberi nilai frekuensi suatu kata sebagai bobot yang nantinya dapat di proses pada Agglomerative Hierarchical Clustering. Langkah pertama ialah menghitung nilai term frequency tiap kata. Langkah kedua yaitu menghitung nilai document frequency tiap kata. Langkah ketiga yaitu menghitung inverse document frequency. Langkah terakhir yaitu menghitung bobot atau weight dari hasil perkalian term frequency dikalikan dengan inverse document frequency. Berikut contoh proses pembobotan kata :

a. Menghitung term frequency

(65)

Gambar 3.23 merupakan contoh kalimat tweet yang mengalami proses penghitungan term frequency. Kalimat tweet yang digunakan pada diatas adalah tweet yang mengandung emosi cinta.

Gambar 3. 24 TF tweet senang

Gambar 3.24 merupakan contoh kalimat tweet yang mengalami proses penghitungan term frequency. Kalimat tweet yang digunakan pada diatas adalah tweet yang mengandung emosi senang.

Gambar 3. 25 TF tweet marah

Gambar 3.25 merupakan contoh kalimat tweet yang mengalami proses penghitungan term frequency. Kalimat tweet yang digunakan pada diatas adalah tweet yang mengandung emosi marah.

(66)

Gambar 3.26 merupakan contoh kalimat tweet yang mengalami proses penghitungan term frequency. Kalimat tweet yang digunakan pada diatas adalah tweet yang mengandung emosi sedih.

Gambar 3. 27 TF tweet takut

Gambar 3.27 merupakan contoh kalimat tweet yang mengalami proses penghitungan term frequency. Kalimat tweet yang digunakan pada diatas adalah tweet yang mengandung emosi takut.

b. Menghitung document frequency Tabel 3. 1 Tabel menghitung df

No Kata df 1. Cinta 2 2. Sayang 3 3. Ikhlas 1 4. Enak 1 5. Muak 1 6. Sifat 1 7. Selamat 1 8. Sore 1 9. Rumah 1 10. Suasana 1 11. Duka 1 12. Pergi 1 13. Mamah 1

(67)

14. Sedih 1 15. Ajak 1 16. Nonton 1 17. Horror 1 18. Indonesia 1 19. takut 1

Pada tabel 3.1 merupakan contoh perhitungan document frequency, document frequency merupakan banyaknya bobot yang terkandung dalam seluruh data tweet.

c. Menghitung inverse document frequency Tabel 3. 2 idf No Kata df Idf 1. Cinta 2 0.397940009 2. Sayang 3 0.22184875 3. Ikhlas 1 0.698970004 4. Enak 1 0.698970004 5. Muak 1 0.698970004 6. Sifat 1 0.698970004 7. Selamat 1 0.698970004 8. Sore 1 0.698970004 9. Rumah 1 0.698970004 10. Suasana 1 0.698970004 11. Duka 1 0.698970004 12. Pergi 1 0.698970004 13. Mamah 1 0.698970004 14. Sedih 1 0.698970004 15. Ajak 1 0.698970004 16. Nonton 1 0.698970004 17. Horror 1 0.698970004

(68)

18. Indonesia 1 0.698970004

19. Takut 1 0.698970004

Pada tabel 3.2 merupakan contoh perhitungan inverse document frequency.

d. Menghitung bobot atau weight

Setelah menghitung TF dan IDF, langkah selanjutnya ialah menghitung bobot (Wij) yang terdapat pada masing – masing tweet. Dimana bobot ialah hasil

perkalian term frequency dengan inverse document frequency. Berikut merupakan contoh perhitungan bobot data tweet :

Hitung bobot (Wij) tweet cinta

Tabel 3. 3 Hitung Wij Tweet Cinta

Kata tf idf Wij

Cinta 2 0.397940009 0.795880018

Sayang 3 0.22184875 0.66554625

Total 1.461426268

Pada tabel 3.3 menunjukkan conntoh perhitungan bobot yang terkandung dalam tweet. Tweet yang digunakan pada gambar diatas adalah tweet yang mengandung emosi cinta.

Hitung bobot (Wij) tweet senang

Tabel 3. 4 Hitung Wij Tweet Senang

Kata TF Idf Wij

Ikhlas 1 0.698970004 0.698970004

Enak 1 0.698970004 0.698970004

Gambar

Tabel 2. 1 Kosa Kata Emosi  Superordinat  Emosi
Tabel 2. 3 Aturan peluruhan kata dasar
Tabel 2. 8 Matriks Jarak kedua Single Linkage  ab  cd
Gambar 2. 2 Dendrogram Single linkage  2.  Complete Linkage
+7

Referensi

Dokumen terkait

Penyedia layana sanitasi mencakup beberapa stakeholder, di antaranya : (i) Dunia Usaha terkait sanitasi, (ii) LSM/KSM terkait sanitasi, dan (iii) Dunia usaha pada umumnya. Hasil

Penentuan sifat racun untuk identifikasi limbah ini dapat menggunakan baku mutu konsentrasi TCLP (Toxicity Characteristic Leaching Procedure) pencemar organik dan

Peneliti mengusulkan mengubah sistem yang lama yang dalam hal pencatatan sering terjadi kesalahan serta dalam hal pembuatan laporan piutang dan hutang yang tidak

Memberi keselamatan kepada tuan rumah, keselamatan kepada kerabat/teman/tetangga dan perlengkapan yang digunakan dalam hajatan, keselamatan mulai awal pelaksanaan upacara

Jumlah bakteri yang dianalisis dalam penelitian ini dinyatakan dalam Total Plate Count (TPC) adalah total bakteri yang terdapat dalam air baku maupun air hasil olahan

kode kategori disertai deskripsi lengkap dan rinci tentang kondisi penyakit.. • Termasuk Bab ini

Pengembangan staf merupakan bidang yang penting dari supervisi, karena salah satu sasaran supervisi adalah pengembangan staf yang merupakan pelayanan untuk membantu

Setiap kendaraan bermotor yang dioperasikan di jalan harus memiliki kemampuan untuk bergerak dari keadaan diam ( stationary) pada kondisi bergerak. Disamping itu setiap