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. Data yang digunakan dapat berupa teks, tabel, gambar maupun video. Sistem Information Retrieval yang baik memungkinkan pengguna menentukan secara cepat
dan akurat apakah isi dari dokumen yang diterima memenuhi kebutuhannya.
2.3.1 Proses Information Retrieval
2.3.1.1 Text Operation
Text Mining merupakan penambangan data yang berupa teks dimana sumber data biasanya didapatkan dari dokumen, dan tujuannya adalah mencari kata-kata yang
dapat mewakili isi dari dokumen sehingga dapat dilakukan analisa keterhubungan antar dokumen Harlian, 2006.
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 cirikata 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.
Contoh proses stopword : 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 mencari kata dasar root dari tiap kata hasil stopword.
Contoh Proses Stemming : Hasil dari Stopwords :
Disaat Membuat
Sedih Pernah
Dewasa Jangan
Bahagia
Lupakan Sedih
Hasil dari Stemming : Saat
Buat Dewasa
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 Awalan
Akhiran yang tidak diizinkan 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
beC
1
erC
2
Be-C
1
erC
2..
dimana C={‘r’|1} 4
terV Ter-V | te-rV
5 teCer
Te- Cer… dimana C =’r’
6 teC
1
erC
2…..
Te-C
1
erC
2
… 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}….
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
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
menerima kata “menyusun”, maka proses Stemming pada kata tersebut mengikuti
aturan ke- 16 yaitu “menyV..” dan perubahannya menjadi “me-ny” atau “meny-sV..”.
Berdasarkan a turan 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 menghilangka n 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..
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.
e. Pembobotan Kata
Pembobotan kata dilakukan untuk mendapatkan nilai dari kata term yang telah diekstrak.Apabila kemunculann suatu kata dalam dokumen semakin besar maka
nilai kesusaian semakin besar pula. Pembobotan kata dipengaruhi oleh hal – hal berikut
ini Mandala dan Setiawan, 2004 :
1. Term Frequency TF faktor , yaitu faktor yang menentukan bobot term pada suatu
dokumen berdasarkan jumlah kemunculan dalam dokumen tersebut. Nilai jumlah kemunculan suatu kata term frequency diperhitungkan dalam pemberian bobot
terhadap suatu kata. Semakin besar jumlah kemunculan suautu term TF tinggi dalam dokumen, semakin besar pula bobotnya dalam dokumen atau akan
memberikan nilai kesesuaian yang semakin besar. 2.
Inverse Document Frequency idf faktor, yaitu pengurangan dominansi term yang sering muncul di bagian dokumen. Hal ini diperlukan karena term yang banyak
muncul di berbagai dokumen, dapat dianggap sebagai term umum common term sehingga tidak penting nilainya. Sebaliknya faktor kejarangmunculan kata term
scarcity dalam koleksi dokumen harus diperhatikan dalam pemberian bobot. Kata yang muncul pada sedikit dokumen harus dipandang sebagai kata yang lebih
penting uncommon term daripada kata yang muncul pada banyak dokumen. Pembobotan akan memperhitungkan faktor kebalikan frekuensi dokumen yang
mengandung suatu kata Inverse Document Frequency.
Pada metode ini, perhitungan bobot term t dalam dokumen dilakukan dengan mengalikan nilai Term Frequency dengan Inverse Document Frequency.
Pada Term Frequency TF terdapat beberapa perhitungan yang dapat digunakan yaitu Mandala dan Setiawan, 2004 :
1. TF biner , hanya memperhatikan apakah suatu kata ada atau tidak dalam dokumen,
jika ada berikan nilai satu, jika tidak berikan nilai nol. 2.
TF murni, nilai TF diberikan berdasarkan jumlah kemunculan suatu kata di dokumen.
3. TF logaritmik, metode ini digunakan untuk menghindari dominansi dokumen yang
mengandung sedikit kata dalam query, namun mempunyai frekuensi yang tinggi. � = + log �
2.1 4.
TF normalisasi, metode ini menggunakan perbandingan antara frekuensi sebuah kata dengan jumlah keseluruhan kata pada dokumen.
� = . + . [
�� max ��
] 2.2
Pada Inverse Document Frequency idf perhitungannya adalah : � � = log � �
2.3 Keterangan :
D : Jumlah semua dokumen dalam koleksi
df : Jumlah dokumen yang mengandung term t
Jenis formula yang akan digunakan untuk perhitungan term frequency TF yaitu TF murni raw TF. Oleh karena itu untuk rumus yang digunakan untuk TF-IDF
adalah nilai raw TF dikalikan dengan nilai Inverse Document Frequency Persamaan2.3 :
= � � �
= � log � �
2.4 Keterangan :
: bobot term terhadap dokumen �
: jumlah kemunculan term dalam dokumen �
: jumlah semua dokumen yang ada dalam database �
: jumlah dokumen yang mengandung term
Berdasarkan persamaan 2.4 berapapun besar nilai �
, jika D = � ,
didapatkan hasil 0 untuk perhitungan � �. Maka dapat ditambahkan nilai 1 pada sisi
� �, sehingga perhitungan bobot menjadi sebagai berikut : = �
log � � + 2.5
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.6 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 :
=
� − �
�
�
��
−�
�
2.7 Keterangan :
: nilai baru untuk variable X
: nilai lama untuk variable X : nilai minimum dalam data set
: nilai maksimum dalam data set
2.4 Euclidean Distance