bab ii. landasan teori

advertisement
BAB II. LANDASAN TEORI
2.1. Text Mining
Text Mining, yang juga disebut text data mining(TDM) atau knowledge
discoveryin the text. Menurut Berry & Kogan (2010) Text mining merupakan
teknik yang digunakan untuk menangani masalah klasifikasi, pengelompokan,
ekstraksi informasi, dan pencarian informasi. Untuk data twitter text mining
dilakukan pada unstructure text untuk mengekstraksi teks yang tidak tersetruktur
menjadi sebuah informasi yang berguna.
Text mining, mengacu pada proses mengambil informasi berkualitas tinggi
dari teks. Informasi berkualitas tinggi biasanya diperoleh melalui peramalan
poladan kecenderungan melalui sarana seperti pembelajaran pola statistik. Text
miningbiasanya melibatkan proses penataan teks input (biasanya parsing,
bersamadengan penambahan beberapa fitur linguistik turunan dan penghilangan
beberapadiantaranya, dan penyisipan subsequent ke dalam database), menentukan
poladalam data terstruktur, dan akhirnya mengevaluasi dan menginterpretasi
output.'Berkualitas tinggi' di bidang text mining biasanya mengacu ke
beberapakombinasi relevansi, kebaruan, dan interestingness. Proses text mining
yang khasmeliputi kategorisasi teks, text clustering, ekstraksi konsep/entitas,
produksitaksonomi granular, sentiment analysis, penyimpulan dokumen, dan
pemodelanrelasi entitas.
7
Klasifikasi / kategorisasi dokumen adalah masalah dalam ilmu
informasi.Tugas kita adalah untuk menetapkan data masuk dalam satu ataulebih
kategori, berdasarkan isinya. Tugas klasifikasi dokumen dapat dibagimenjadi dua
macam yaitu klasifikasi dokumen terawasi di mana beberapamekanisme eksternal
(seperti feedback manusia) memberikan informasi mengenaiklasifikasi yang tepat
untuk dokumen, dan klasifikasi dokumen tak terawasi,dimana klasifikasi harus
dilakukan sepenuhnya tanpa merujuk ke informasieksternal.
Pendekatan manual text mining secara intensif dalam laboratoriumpertama
muncul
pada
pertengahan
1980-an,
namun
kemajuan
teknologi
telahmemungkinkan ranah tersebut untuk berkembang selama dekade terakhir.
Textmining adalah bidang interdisipliner yang mengacu pada pencarian
informasi,pertambangan data, pembelajaran mesin, statistik, dan komputasi
linguistik.
Saat ini , text mining telah mendapat perhatian dalam berbagai bidang :
1. Aplikasi biomedis.
Berbagai aplikasi text mining dalam literatur biomedis telah disusun.Salah
satu contohnya adalah PubGene yang mengkombinasikan text miningbiomedis
dengan visualisasi jaringan sebagai sebuah layanan Internet. Contoh laintext
mining adalah GoPubMed.org. Kesamaan semantik juga telah digunakan
olehsistem text mining, yaitu, GOAnnotator.
2. Perangkat Lunak dan Aplikasi
Departemen riset dan pengembangan perusahaan besar, termasuk IBM
danMicrosoft, sedang meneliti teknik text mining dan mengembangkan
programuntuk lebih mengotomatisasi proses pertambangan dan analisis.
8
Perangkat lunaktext mining juga sedang diteliti oleh perusahaan yang berbeda
yang bekerja dibidang pencarian dan pengindeksan secara umum sebagai cara
untukmeningkatkan performansinya.
3. Aplikasi Media Online
Text
mining
sedang
digunakan
oleh
perusahaan
media
besar,
sepertiperusahaan Tribune, untuk menghilangkan ambigu informasi dan
untukmemberikan pembaca dengan pengalaman pencarian yang lebih baik,
yangmeningkatkan loyalitas pada site dan pendapatan. Selain itu, editor
diuntungkandengan mampu berbagi, mengasosiasi dan properti paket berita,
secara signifikanmeningkatkan peluang untuk menguangkan konten.
4. Aplikasi Pemasaran
Text
mining
juga
mulai
digunakan
dalam
pemasaran
dengan
caramenerapkannya untuk meningkatkan model analisis prediksi untuk churn
pelanggan (pengurangan pelanggan).
Hal ini terutama berlaku dalam ilmu sains, di mana informasi yang sangat
spesifiksering terkandung dalam teks tertulis. Oleh karena itu, inisiatif telah
diambilseperti Nature’s proposal untuk Open Text Mining Interface (OTMI) dan
Health’scommon Journal Publishing untuk Document Type Definition (DTD)
yang akanmemberikan isyarat semantik pada mesin untuk menjawab pertanyaan
spesifik
yang terkandung dalam teks tanpa menghilangkan barrier penerbit untuk akses
publik.
Sebelumnya, website paling sering menggunakan pencarian berbasis teks,
9
Sekarang dengan textmining dapat menemukan konten dan menggali kata-kata
menjadi informasi yang lebih berguna.
Text mining juga digunakan dalam beberapa filter email spam sebagai cara
untuk menentukan karakteristik pesan yang mungkin berupa iklan atau materiyang
tidak diinginkan lainnya.
2.1.1Text Preprocessing
Tahap-tahap text mining secara umum adalah text preprocessing dan
feature selection menurut Feldman & Sanger (2007). Pada tahap ini mencakup
seluruh rutinitas, dan mempersiapkan data yang akan dilakukan analisa. Semakin
banyak informasi yang dikenali sistem, maka semakin akuratlah sebuah text
mining itu. Dalam text preprocessing adalah mengubah semua karakter menjadi
huruf kecil dan menguraikan kalimat menjadi kata dan menghilangkan karakter
spesial seperti titik (.), koma(,) , spasi, dan karakter yang tidak diperlukan.
Menurut Govindarajan (2013, hal 141) data pre-processing mengurangi dokumen
teks input secara signifikan.Menurut Berry & Kogan (2010) pada tahap ini
dilakukan stopword removal dan stemming.
-
Penghilangan Stopword
Menurut Imambi(2011, hal. 15) stop word sering ditemukan pada kata secara
umumnya seperti contoh kata dan, kamu,dll. Selain itu perlu distandarisasi
emoticon untuk menangkap informasi tambahan
-
Standarisasi emoticon
Emoticon biasanya berisi emosional seseorang yang dituangkan dalam sebuah
lambang yang terdapat pada kata. Menurut Dayalani(2014 hal 438), emosi
10
sering diungkapkan oleh emoticon tertentu, umumnya mungkin menyarankan
sentimen atau subjektivitas seluruh teks pada tweet.
-
Standarisasi bahasa prokem
Prokem adalah bahasa
bahasa gaul yang sering dipakai oleh
masyarakat Indonesia. Peneliti menambahkan fitur ini karena pada sosial
media itu hampir semua kata itu berisi kata – kata gaul. Jika tidak dilakukan
standarisasi kata slang maka banyak makna kata yang bisa hilang.
-
Stemming
Stemming akan dilakukan pada tahap ini. Stemming dilakukan untuk
menghilangkan imbuhan sehingga siap untuk di analisa. Proses Stemming
adalah teknik yang digunakan untuk mengurangi kata-kata untuk bentuk kata
dasar dengan menghapus derivasi dan afiks menurut Wahiba Ben(2013, hal.
143).
Stemming adalah suatu proses atau cara dalam menemukan dasar
dari suatu kata. Dengan kata lain Stemming itu menghapus imbuhan pada
suatu kata sehingga kata tersebut hanya menjadi kata dasar. Alasan dilakukan
Stemming adalah untuk membuat data menjadi mudah untuk dianalisa.
Untuk melakukan Information Retrieval diperlukan salah satu proses
yaitu Stemming. Untuk menerapkan Stemming pada bahasa Indonesia
sangatlah sulit dikarenakan banyaknya kata dasar yang ambigu mirip dengan
kata lainnya. Bahasa Indonesia terdiri dari awalan (Prefix), sisipan (Infixs),
akhiran(Suffix). Imbuhan tersebut harus dihilangkan untuk mengubah bentuk
katanya menjadi kata dasar. Stemmingakan meningkatkan kesensitivan
retrieval dan meningkatkan kemampuan untuk menemukan dokumen yang
11
relevan, sehingga semua teks dapat dianalisa. Pada penelitian ini akan
digunakan algoritma Porter dalam melakukan Stemming.
Terdapat dua kesalahan yang biasa terjadi saat melakukan proses
stemming yaitu over stemming dan under stemming. Over Stemming itu
terjadi ketika dua kata yang berbeda dengan kata dasar sama. Under
stemming terjadi ketika dua kata yang ditemukan kata dasar sama tetapi
seharusnya berbeda menurut Ganesh(2011, hal. 1930).
-
Algoritma Porter
Algoritma Stemming Porter adalah proses untuk menghilankan
imbuhan pada suatu kata. Algoritma Porter biasanya digunakan untuk
bahasa Inggris. Akan tetapi pada penelitian ini, algoritma Porter akan
digunakan untuk bahasa Indonesia. Fungsi utamanya adalah untuk
menormalisasikan suatu kata.
Implementasi algoritma Porter yang ada di Indonesia berdasarkan
English Porter Stemmer yang di kembangkan oleh W.B. Frakes pada tahun
1992. Pada penelitian ini Stemming menggunakan algoritma Porter
dimodifikasi sedikit untuk mendukung keakuratan dalam proses Stemming.
Peneliti sebelum menghapus imbuhan akan mengecek pada kata dasar pada
kamus bahasa Indonesia. Kata dasar yang diambil yaitu dari http://stopwords-list-bahasa-indonesia.blogspot.co.id/2012/09/daftar-kata-dasarbahasa-indonesia.html.
12
Gambar 2.1. Alur Skema dari Algoritma Porter
Berikut adalah pengelompokan rule – rule imbuhan pada morfologi
bahasa indonesia. Pengelompokan imbuan dibagi menjadi 5 kelompok
imbuhan. Berikut adalah 5 rule dalam algoritma porter:
1. Rule pertama : Inflectional particles.
Terdiri dari akhiran –kah, -lah, -pun.
2. Rule kedua : Inflectional possesive pronouns.
Terdiri dari akhiran –ku, -mu, -nya.
3. Rule ketiga : first order of derivational prefixes.
Terdiri dari awalan meng-, meny-, men-, mem-, me-, peng-,
peny-, pen-, pem-, di-, ter-, ke-.
4. Rule keempat :second order of derivational prefixes.
Terdiri dari awalan ber-, bel-, be-, per-, pel-, pe-.
5. Rule kelima : derivational suffixes.
Terdiri dari akhiran –kan, -an, 13
Permasalahan yang sering terjadi pada algoritma Porter adalah
pemotongan kalimat tanpa memperhatikan kata dasar sehingga sering salah
memotong imbuhan. Contoh sekolah, pada algoritma proter secara
umumnya akan langsung dihilahkan imbuhan –lah, padahal sekolah itu
ada;ah kata dasar yang mengandung unsur akhiran –lah. Karena sekolah
adalah kata dasar. Oleh karena kekurangan tersebut, peniliti melakukan
modifikasi pada algoritma ini. Dan lebih mendalam dalam mencocokan kata
dasar dengan kata berimbuhan. Untuk beberapa rule peneliti menggunakan
match stirng Naive bayes.
2.1.2 Feature Selection
Feature selection adalah suatu kegiatan yang umumnya bisa dilakukan
secara berdampingan dengan text preprocessing. Tujuan dari feature selection
adalah mengambil fitur yang berpengaruh dan membuang fitur yang tidak
berpengaruh dalam penganalisaan data.
Ada banyak potensi manfaat variabel dan fitur pilihan : memfasilitasi
visualisasi data dan data pemahaman, mengurangi pengukuran dan storage,
mengurangi proses pelatihan data untuk meningkatkan prediksi menurut Ari,
Dharma & Agung(2013, hal. 3)
2.2. Sentiment Analysis
Menurut Lina L & Girish(2014) sentiment analysis atau opinion mining
mengacu pada bidang yang luas dari pengolahan bahasa alami, komputasi
linguistik dan text mining yang bertujuan menganlisa pendapat, sentimen,
evaluasi, sikap, penilaian dan emosi seseorang.
14
Bahasa adalah alat yang ampuh untuk berkomunikasi dan menyampaikan
informasi. Ini juga merupakan sarana untuk mengekspresikan emosi dan sentimen.
Analisa sentimen adalah bidang studi yang menganalisa pendapat, sentimen,
evaluasi masyarakat, sikap, dan emosi terhadap produk, jasa, organisasi, individu,
masalah, peristiwa, film, dan topik menurut Lina & Girish (2014, hal 313).
Tugas dasar dalam analisis sentimen adalah mengelompokkan teks yang
ada dalam sebuah kalimat atau dokumen kemudia menentukan pendapat yang
dikemukakan dalam kaliamat atau dokumen tersebut apakah bersifat positif,
negatif atau netral menurut Dehaff (2010). Sentiment analysis juga dapat
menyatakan perasaan emosional sedih, gembira, atau marah.
Kita dapat mencari pendapat tentang produk-produk, merek atau orangorang dan menentukan apakah mereka dilihat positif atau negatif. Hal ini
memungkinkan kita untuk mencari informasi tentang:
a. Deteksi Flame (rants buruk)
b. Persepsi produk baru.
c. Persepsi Merek.
d. Manajemen reputasi.
Ekspresi atau sentiment mengacu pada fokus topik tertentu, pernyataan
pada satu topik mungkin akan berbeda makna dengan pernyataan yang sama pada
subject yang berbeda. Oleh karena itu pada beberapa penelitian, terutama pada
review produk, pekerjaan didahului dengan menentukan elemen dari sebuah
produk yang sedang dibicarakan sebelum memulai proses opinion mining (Barber,
2010).
15
2.3. Naive Bayes Classifier
Naive bayes merupakan algoritma klasifikasi yang sederhana dimana
setiap artribut bersifat idependent dan memungkinkan berkontribusi terhadap
keputusan akhir menurut Xhemali (2009).Naive Bayes juga merupakan
metode belajar probabilistik yang mengasumsikan hal terjadi secara
independen menurut Govidarajan & Romina(2013, hal. 12).Metode untuk
sentiment analysis adalah menggunakan klasifikasi dan probabilistik oleh
Thomas Bayes. Metode Naive Bayes merupakan dari metode machine
learning berdasarkan teorema Naive Bayes secara teorema idependent
menurut Rupilele, Danny, & Herry(2013, hal 157). Jika ada 2 even, e1 dan e2
maka probabilitas bersyarat terjadinya even e1 adalah ketika e2 telah terjadi
yang dihitung dengan rumus matematika berikut.
Algoritma ini ditujukan untuk menghasilkan positif atau negatif, maka
probabilitas sentimen menjadi:
Dan probabilitas dari kata akan menjadi:
Algoritma
S1 : Inisialisasi P(Positif)←num - popozitii(positif)/ Num_total_propozitii.
S2 : Inisialisasi P(negatif)←num - popozitii(negatif)/ Num_total_propozitii.
16
S3 : Convert kalimat dalam kata-kata
Algoritma tersebut dapat dipresentasikan menjadi 2 figur :
Klasifikasi
Kalimat negatif
Training set
Klasifikasi
Kalimat positif
Review kalimat
Klasifikasi
Tweet Review
Gambar 2.2 : Proses Klasifikasi dengan algoritma Naïve Bayes.
Dengan menggunakan algoritma bayes lebih akurat dan Relevan.
Menggunakan tabel contigency dapat menghitung beberapa langkah
Tabel 2.1 Tabel Contigency
Precision =
Accuracy =
17
Maka akan menghasilkan positif dan negatif dari postingan sosial media.
Kemudian data ini dapat dibuat reporting. Berikut adalah contoh hasil dari
opinion mining.
Tabel 2.2 : Contoh Hasil Analisa Sentimen
Sentimen
Jumlah
%
Total
14,04
100.0%
Positif 10,43
73.5%
Negatif 3,769
11.1%
Dari Tabel tersebut ditarik kesimpulan tempatnya baik dan bagus karena
respon orang positif. Dengan hasil tersebut kita mendapkan nilai suatu tempat
berdasarkan komentar/posting di media social.
Dengan teorema Naive Bayes merupakan metode yang dikembangkan
sebagai pendekatan dalam estimasi kelas untuk suatu dokumen. Teorema
naive bayes juga menganggap suatu dokumen sebagai kumpulan fitur yang
membentuknya. Dengan pemikiran seperti ini, proses klasifikasinya akan
membutuhkan data training yang cukup banyak agar hasilnya akurat.
Keuntungan lainnya dengan Naive Bayes efiesien dalam proses komputasi dan
mudah untuk ditafsirkan menurut Kumar & Husain (2014, hal 14).
Fase pembelajaran tahap dimana dokumen dilakukan ketika Hasil
Processing melalui proses pembelajaran. Dari tahap ini digunakan untuk cari
nilai probalistik untuk dapat data training menurut Lestari, Dharma, dan
Agung (2013, hal.1 ).
18
2.4. JAVA
Java adalah suatu teknologi di dunia software
yang merupakan
suatubahasa pemrograman, dan sekaligus suatu platform. Sebagai bahasa
pemrograman,Java dikenal sebagai bahasa pemrograman tingkat tinggi. Java
mudah dipelajari,terutama bagi programmer yang telah mengenal C/C++. Java
merupakan
bahasapemrograman
berorientasi
objek
yang
merupakan
pemrograman masadepan. Sebagai bahasa pemrograman Java dirancang
menjadi handal dan aman. Javajuga dirancang agar dapat dijalankan di semua
platform, dan juga dirancang untukmenghasilkan aplikasi-aplikasi dengan
performansi yang terbaik, seperti aplikasidatabase Oracle 8i/9i yang core-nya
dibangun menggunakan bahasa pemrogramanJava. Sedangkan Java bersifat
neutral
architecture,
karena
Java
Compiler
yangdigunakan
untuk
mengkompilasi kode program Java dirancang untuk menghasilkankode yang
netral terhadap semua arsitektur perangkat keras.Sebagai sebuah platform,
Java terdiri atas dua bagian utama, yaitu:
1. Java Virtual Machine (JVM)
2. Java Application Programming Interface (Java API)
Sun membagi arsitektur Java membagi tiga bagian, yaitu:
1. J2EE (Java 2 Enterprise Edition)
2. J2SE (Java 2 Second Edition)
3. J2ME (Java 2 Micro Edition)
19
2.4.1 Java J2EE(Java 2 Enterprise Edition)
J2EE adalah kelompok dari beberapa API (Application Programming
Interface) dari Java dan teknologi selain Java. J2EE dirancang untuk membuat
aplikasi yang rumit. J2EE sering dianggap sebagai middle-ware atau teknologi
yang berjalan di server, namun sebenarnya J2EE tidak hanya terbatas untuk itu.
Faktanya J2EE juga mencakup teknologi yang dapat digunakan disemua
lapisan dari sebuah 20ymbol informasi.
Implementasi J2EE menyediakan kelas dasar dan API dari Java yang
mendukung pengembangan dan rutin standard untuk aplikasi client maupun
server, termasuk aplikasi yang berjalan di web browser. Untuk aplikasi berbasis
web, aplikasi 20ymbol tersebar dengan beraneka ragam klien dengan
kompleksitas yang tinggi.
2.4.2 Java J2SE(Java 2 Standard Edition)
Aplikasi yang dibuat dan dikembangkan penulis dalam penulisan ini
menggunakan bahasa pemrograman berbasis Java 2 Standard Edition (lebih
dikenal dengan J2SE). Pada bagian ini, penulis akan menjelaskan dasar-dasar
J2SE, meliputi pengenalan J2SE dan komponen pada J2SE.
J2SE atau Java 2 Standard Edition merupakan bahasa pemrograman Java
untuk aplikasi desktop yang merupakan object-oriented programming.. Selain
itu, terdapat dua buah kunci teknologi yang merupakan bagian dari JRE, yaitu:
d Plug-in, yang memungkinkan menjalankan applet di browser dan Java Web
Start, yang menyebarkan aplikasi mandiri melalui jaringan. JRE tidak
mengandung utilitas seperti compiler atau debugger untuk mengembangkan
applet dan aplikasi. 2. Java Development Kit (JDK) Java Development Kit
20
(JDK) merupakan perangkat lunak yang digunakan untuk menajemen dan
membangun berbagai aplikasi Java. JDK merupakan superset dari JRE,
berisikan segala sesuatu yang ada di JRE ditambahkan compiler dan debugger
yang diperlukan untuk mengembangkan applet dan aplikasi
2.4.3 Java J2ME(Java 2 Micro Edition)
J2ME adalah lingkungan pengembangan yang dirancang untuk meletakan
perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya.
Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat, maka
belum tentu juga berfungsi baik pada perangkat yang lainnya.
J2ME membawa Java ke dunia informasi, komunikasi, dan perangkat
komputasi desktop yang biasanya lebih kecil dibandingkan perangkat
21ymbol21n desktop. J2ME biasa digunakan pada telepon selular, pager,
personal digital assistants (PDA) dan sejenisnya.
J2ME adalah bagian dari J2SE, karena itu tidak semua librabry yang ada
pada J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunyai beberapa
library khusus
2.5. Flowchart
Adalah Bagan-bagan yang mempunyai arus yang menggambarkan
langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara
penyajian dari suatu algoritma . Tujuan Utama dari penggunaan Flowchart
adalah untuk menggambarkan suatu tahapan penyelesaian masalah secara
sederhanna.
21
Dalam menggambarkan program Flowchartl.Berikut ini adalah
gambar dari simbol standar yang digunakan pada program Flowchart
Berikut adalah symbol dalam Flowchart:
Table 2.3 Tabel Symbol pada Flowchart
Symbol
Arti
Proses
Input Output
Keterangan
Pengujian
Pemberian Nilai Awal
Awal/Akhir Program
Konektor pada satu halaman
Konektor pada halaman lain
Pengolahan yang tidak dilakukan oleh
komputer
22
Arah
23
Download