22
8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian dengan domain yang sama, yakni terkait dengan analisis sentimen terhadap pelayanan perusahaan ataupun analisis sentimen terhadap suatu kejadian. Penulis memilih penelitian yang telah dipublikasi maksimal 5 tahun yang lalu, melalui sejumlah jurnal atau prosedur nasional maupun internasional. Dari paparan yang diberikan, sejumlah pengetahuan disimpulkan untuk dijadikan sebagai pijakan atau penguatan pada penelitian yang peneliti lakukan. 2.1.1 Analisis Sentimen pada Jasa Ojek Online Menggunakan Metode Naive Bayes[10] Didik, Yulison, dan Agung melakukan penelitian analisis sentimen mengenai layanan pada jasa ojek online untuk mengklasifikasikan opini masyarakat yang bersifat positif, negatif ataupun netral. Pada penelitian ini dilakukan pengujian dengan menggunakan 800 tweet yang dibagi menjadi 300 data latih dan 500 data uji, kemudian dari 300 data latih dibagi pada setiap klasifikasinya 100 data latih positif, 100 data latih negatif , dan 100 data latih netral. Data latih untuk kelas sentimen positif antara lain promo, gratis, nyaman, thanks dan baik. Kemudian data latih untuk kelas sentimen negatif yaitu jarang, rugi dan kecewa. Sedangkan data latih untuk kelas sentimen netral yaitu driver, gojek, orderan, dan gojekindonesia. Pada proses ini mengunakan preprocessing case folding, tokenizing, stemming, dan filtering. Hasil dari preprocessing tersebut diklasifikasi menggunakan algoritma Naive Bayes yang nantinya akan muncul hasil klasifikasi sentimen positif, netral dan negatif. Menggunakan algoritma Naïve Bayes mampu menghasilkan tingkat akurasi mencapai 80%, namun dalam penelitian ini

BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

8

BAB 2

TINJAUAN PUSTAKA

2.1 Penelitian Terkait

Pada bagian ini akan dipaparkan beberapa penelitian dengan domain yang sama,

yakni terkait dengan analisis sentimen terhadap pelayanan perusahaan ataupun

analisis sentimen terhadap suatu kejadian. Penulis memilih penelitian yang telah

dipublikasi maksimal 5 tahun yang lalu, melalui sejumlah jurnal atau prosedur

nasional maupun internasional. Dari paparan yang diberikan, sejumlah

pengetahuan disimpulkan untuk dijadikan sebagai pijakan atau penguatan pada

penelitian yang peneliti lakukan.

2.1.1 Analisis Sentimen pada Jasa Ojek Online Menggunakan Metode Naive

Bayes[10]

Didik, Yulison, dan Agung melakukan penelitian analisis sentimen mengenai

layanan pada jasa ojek online untuk mengklasifikasikan opini masyarakat yang

bersifat positif, negatif ataupun netral. Pada penelitian ini dilakukan pengujian

dengan menggunakan 800 tweet yang dibagi menjadi 300 data latih dan 500 data

uji, kemudian dari 300 data latih dibagi pada setiap klasifikasinya 100 data latih

positif, 100 data latih negatif , dan 100 data latih netral. Data latih untuk kelas

sentimen positif antara lain promo, gratis, nyaman, thanks dan baik. Kemudian

data latih untuk kelas sentimen negatif yaitu jarang, rugi dan kecewa. Sedangkan

data latih untuk kelas sentimen netral yaitu driver, gojek, orderan, dan

gojekindonesia. Pada proses ini mengunakan preprocessing case folding,

tokenizing, stemming, dan filtering. Hasil dari preprocessing tersebut diklasifikasi

menggunakan algoritma Naive Bayes yang nantinya akan muncul hasil klasifikasi

sentimen positif, netral dan negatif. Menggunakan algoritma Naïve Bayes mampu

menghasilkan tingkat akurasi mencapai 80%, namun dalam penelitian ini

Page 2: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

9

diungkapkan bahwa sering terjadi kesalahan pada data fitur yang muncul tidak

sesuai dengan klasifikasinya.

2.1.2 Analisis Sentimen pada Twitter untuk Mengenai Penggunaan

Transportasi Umum Darat Dalam Kota dengan Metode Support Vector

Machine[11]

Anita, Mira dan Veronikha melakukan analisis sentimen mengenai pelayanan

transportasi umum di dalam kota. Penelitian ini untuk mengklasifikasikan opini

positif atau negatif dari masyarakat melalui twitter untuk mengetahui penilaian

terhadap pelayanan transportasi umum yang berada didalam kota. Dataset

menggunakan opini berbahasa indonesia, memilih sebagai sampel transportasi

umum antara lain angkot, kopaja, metromini dan transjakarta. Pada proses ini

dataset dilakukan preprocessing kemudian apabila ditemukan data uji maka

diproses dengan POS Tagging, kemudian ekstraksi opini yang nantinya akan

menghasilkan hasil klasifikasi dari opini tersebut. Apablia data latih yang

ditemukan maka data latih tersebut diproses terlebih dahulu dengan menggunakan

stopword removal, pembobotan, klasifikasi menggunakan algoritma SVM,

kemudian ditemukan hasil klasifikasi dan kesimpulan proses. Menggunakan

algoritma Support Vector Machine menghasilkan tingkat akurasi yang lebih tinggi

dibandingkan dengan metode lain yaitu mencapai 78,12% dan berhasil

mengklasifikasikan dokumen dengan baik, namun sangat dipengaruhi oleh data

training, data testing, jumlah data set, jumlah data positif dan jumlah data negatif.

2.1.3 Sentiment Analysis Pada Review Barang Berbahasa Indonesia Dengan

Metode K-Nearest Neighbor (K-NN)[13]

Yugo, Mardji, dan Lailil melakukan penelitian analisis sentimen terhadap produk

kosmetik untuk mengklasifikasikan opini positifatau negatif dari masyarakat

tentang produk pada penelitian ini. Proses yang digunakan pada penelitian ini

yaitu pada dataset di lakukan preprocessing antaralain cleansing, case folding,

tokenizing, stopwords removal, kemudian stemming. Dari hasil tersebut dilakukan

proses pembobotan yang nantinya akan di evaluasi dan validasi nilai sentimen

Page 3: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

10

yang ada. Pada penelitian ini mengatakan bahwa tingkat akurasi dengan

menggunakan algoritma K-NN jauh lebih baik dibandingkan dengan NaïveBayes,

akan tetapi penulis menggunakan data berupa emotikon yang seharusnya

dihilangkan dalam proses filtering. Penambahan emotikon mengakibatkan

meningkatnya noisy data, namun metode K-NN terbukti lebih baik untuk

mengatasi noisy data.

2.1.4 Penerapan Algoritma K-Nearest Neighbor untuk Penentuan Resiko

Kredit Kepemilikan Kendaraan Bemotor[12]

Henny melakukan penelitian suatu perusahaan dengan mengklasifikasi kelayakan

pemberian kredit khususnya pada kredit kepemilikan kendaraan bermotor. Pada

penelitian ini penulis menggunakan 558 data transaksi kredit bermasalah dan tidak

bermasalah, dengan menentukan atribut diantaranya status perkawinan, jumlah

tanggungan, pendidikan terakhir, usia, kepemilikan rumah, lama tinggal, kondisi

rumah, jenis pekerjaan, status perusahaan, penghasilan perbulan, pembayaran

pertama dan masa kerja. Melalui tahap pemilihan data uji kemudian dilakukan

preprocessing, setelah itu pengujian menggunakan algoritma KNN dan analisa

data uji. Menggunakan algoritma K-NN menunjukkan bahwa metode yang

digunakan menghasilkan tingkat akurasi mencapai 81,46%. Pada penelitian ini

mengatakan bahwa untuk mengukur kinerja algoritma K-NN digunakan metode

Cross Validation,Confusion Matrix dan Kurva ROC.

2.1.5 Analisis Sentimen Terhadap Telkom IndiHome Berdasarkan Opini

Publik menggunakan Metode K-Nearest Neighbor[9]

Herdiawan melakukan analisis sentimen tehadap produk layanan atau service pada

perusahaan Telkom IndiHome guna mengetahui bagaimana respon customer

terhadap produk Indihome. Analisis sentimen yang dilakukan Herdiawan pada

perusahaan Telkom IndiHome ini menggunakan metode K-Nearest Neighbor

untuk melakukan mengklasifikasikan opini positif dan negatif pada customer

Telkom IndiHome. Pada penelitian ini dilakukan preprocessing convert negation,

cleansing, case folding, convert negation, tokenizing, filtering, stemming. Setelah

Page 4: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

11

melalui tahap preprocessing selanjutnya proses pembobotan menggunakan TF-

IDF. Hasil dari pembobotan akan di uji dengan menggunakan algoritma K-

Nearest-Neighbor (KNN). Hasil yang dilakukan bahwa menggunakan algoritma

K-NN dapat mengklasifikasikan opini negatif dan opini positif dengan akurat

mencapai 80%, dengan menggunakan pengujian Precision, Recall dan F-

Measure.

2.1.6 Application of K-Nearest Neighbour Classification in Medical Data

Mining[14]

Khamis, Kipruto dan Stephen melakukan penelitian untuk mengklasifikasi

diagnosis penyakit, dengan membagi data latih dan data uji sebelum dilakukannya

preprocessing, serta menentukan variabel seperti kecelakaan, usia, alergi, tekanan

darah, kebiasaan merokok, kolesterol, diabetes dan hipertensi. Pada penelitian ini

penulis menggunakan algoritma K-Nearest Neighbor dengan hasil akurasi yang

tinggi dalam menentukan diagnosis penyakit pada pasien di rumah sakit.

2.2 Justifikasi dari Penelitian Terkait

Berdasarkan paparan dari beberapa penelitian terkait yang sudah dipaparkan pada

sub bab sebelumnya penulis meringkasnya dalam tabel perbandingan

sebagaimana tampak pada tabel 2.1. Dari paparan tersebut, pada penelitian ini

penulis mengusulkan analisa sentimen pelanggan dengan menggunakan algoritma

K-Nearest Neighbor (KNN) untuk klasifikasi opini positif dan negatif karena

memiliki tingkat akurasi yang cukup tinggi. Pada proses preprocessing dilakukan

dengan proses cleansing, case folding, tokenizing, stopwords removing, dan

stemming. Kemudian untuk menguji validasi dan keakuratan pada penelitian ini

digunakan dengan metode confusion matrix.

Page 5: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

12

Tabel 2.1 Penelitian Terkait

No Topik Riset Masalah Metode Dataset Hasil

1. Analisis

layanan ojek

online berbasis

Naïve Bayes

[10]

Sering terjadi kesalahan

pada data uji fitur yang

muncul tidak sesuai

dengan klasifikasinya,

serta tingkat akurasi

bergantung pada jumlah

data latih

Pada penelitian ini

menggunakan metode

Naïve Bayes

Data publik dengan 300

data latih dan 500 data uji

Menggunakan metode

Naïve Bayes mendapatkan

akurasi sebesar 80%

2. Analisis

mengenai

penggunaan

transportasi

umum darat

berbasis

Support Vector

Machine [11]

Variabel yang

berpengaruh terhadap

akurasi adalah jumlah

data, perbandingan jumlah

data uji dan data latih,

serta perbandingan jumlah

yang digunakan pada data

positif dan data negatif

Metode yang digunakan

yaitu Support Vector

Machine

Data publik dengan jumlah

dataset 1138

Analisis sentimen

menggunakan metode

Support Vector Machine

pada penelitian ini tingkat

akurasi mencapai 78,12%

3 Analisis pada

review barang

berbasis K-

Nearest

Neighbor [13]

Dalam paper ini kurang

optimal dikarenakan

sistem mengabaikan kata

yang memiliki makna

yang sama

Menggunakan metode K-

Nearest Neighbor

Data publik dengan jumlah

dataset 2000, 1000 sebagai

data latih dan 1000 sebagai

data uji

Analisis ini dapat

mengklasifikasikan

sentimen berdasarkan

review barang secara

otomatis dengan acuan

nilai k yang tepat

Page 6: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

13

No Topik Riset Masalah Metode Dataset Hasil

4 Penentuan

resiko kredit

kepemilikan

kendaraan

bermotor

berbasis K-

Nearest

Neighbor [12]

Pada penelitian ini

mengungkapkan bahwa

untuk mendapat akurasi

yang baik perlu dilakukan

preprocessing sebelum

diterapkan ke dalam

algoritma dan

menggunakan metode

cross validation untuk

mengukur kinerja

algoritma

Penggunaan metode K-

Nearest Neighbor dalam

melakukan klasifikasi

pada customer pada kredit

kepemilikan kendaraan

bermotor

Data privat Penerapan metode K-

Nearest Neighbor pada

penelitian ini

menghasilkan tingkat

akurasi mencapai 81,46%

5 Analisis

terhadap

layanan

IndiHome

berdasarkan

opini publik

berbasis K-

Nearest

Neighbor [9]

Dalam penelitian ini

mendapatkan hasil yang

baik, akan tetapi pada

proses pembobotan, sistem

menghitung

kemiripanberdasarkan

frekuensi kemunculan

kata,sehingga untuk

mendapatkan hasil yang

optimalsebaiknya

digunakan sistem yang

dapatmengecek kata yang

bersinonim.

Menggunakan metode K-

Nearest Neighbor untuk

melakukan analisis

sentimen terhadap Telkom

IndiHome

Data publik Dihasilkan akurasi

mencapai 80% dengan

dengan menggunakan

precision sebesar

80% dan recall sebesar

80%.

Page 7: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

14

No Topik Riset Masalah Metode Dataset Hasil

6 Klasifikasi

data medical

berbasis K-

Nearest

Neighbor

Dalam penelitian ini

mendapatkan hasil yang

baik, namun penulis

mengatakan bahwa hasil

dari akurasi sangat

dipengaruhi pada saat

menentukan variabel.

Menggunakan metode K-

Nearest Neighbor

Data privat Penerapan metode K-

Nearest Neighbo rmampu

mengklasifikasi dengan

baik sehingga mampu

mengurangi kesalahan

dalam mendiagnosis, dan

meningkatkan efisiensi dan

efektivitas dalam

pengobatan.

Page 8: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

15

2.3 Tinjauan Pustaka

Pada bagian merupakan penjelasan tentang bagian serta metode yang digunakan

pada penelitian ini seperti data mining, analisis sentimen, twitter API, klasifikasi,

TF-IDF, K-Nearest Neighbor (KNN), serta alat ukur dan validasi.

2.3.1 Data Mining

Data mining yaitu beberapa rangkaian proses guna menggali nilai tambah berupa

informasi belum diketahui saat ini bahwa secara manual dari suatu basis data

dapat dilakukan penggalian pola-pola dari data, bertujuan untuk memanipulasi

data menjadi suatu informasi yang bermanfaat dengan diperoleh melalui cara

ekstraksi dan mengenali pola data di dalam basisdata yang penting dan menarik

[15]. Data mining merupakan suatu proses yang memiliki prosedur tertentu dan

bersifat interaktif serta memiliki umpan balik dari setiap tahapan sebelumnya [16].

Tahapan data mining dapat dilihat pada gambar 2.1.

Gambar 2.1 Tahap-Tahap Data Mining[17]

Page 9: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

16

Alasan utama mengapa menggunakan data mining karena adanya data dalam

jumlah yang besar serta semakin banyaknya kebutuhan untuk melakukan

manipulasi data tersebut menjadi informasi yang berguna. Tahapan tersebut

bersifat interaktif dimana pengguna dapat terlibat langsung dengan melalui

knowledge base. Berikut tahapanan data mining :

1. Cleaning, merupakan proses untuk menghilangkan data yang tidak konsisten

atau data tidak relevan (noise). Pada dasarnya data yang telah diperoleh, baik

itu dari database suatu perusahaan maupun dari hasil eksperimen, memiliki

makna yang tidak sempurna sama halnya dengan data yang hilang atau data

yang tidak valid meskipun sekedar salah ketik. Disisi lain, terdapat juga

atribut-atribut data hipotesa data mining yang dimiliki tidak relevan. Data-

data yang tidak relevan itu lebih baik dihapus. Pengaruh performasi dari

teknik data mining ini dengan cara pembersihan data, karena jumlah data dan

kompleksitas data yang didapat berkurang.

2. Integration, merupakan penggabungan data dari macamnya jumlah database

ke dalam suatu database yang baru. Data yang diperlukan untuk data mining

tidak hanya berasal dari satu database, akan tetapi berasal dari beberapa

database. Integrasi data dapat dilakukan pada atribut-aribut yang

mengidentifikasikan entitas yang unik seperti atribut nama, alamat, pekerjaan

nomor pelanggan dan lainnya sebagainya. Integrasi data ini perlu dilakukan

dengan cara cermat karena suatu kesalahan pada integrasi data dapat

menghasilkan hasil sesuatu yang menyimpang saat pengambilan proses

selanjutnya.

3. Selection, yaitu data yang tersedia di database sering kali semuanya tidak

dipakai, maka dari itu hanya data-data yang sesuai dari database yang dapat

dianalisis.

4. Transformation, manipulasi data atau dijadikan satu ke dalam suatu format

yang sesuai. Format data yang khusus dibutuhkan dalam beberapa metode

data mining sebelum melakukan pengaplikasian. Beberapa metode dalam

data mining seperti analisis dan klasifikasi hanya mampu menerima input

Page 10: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

17

data kategorikal. Karena data berupa angka numerik masih perlu dibagi

menjadi beberapa interval.

5. Proses Mining, yaitu suatu proses utama dimana metode diterapkan untuk

menemukan informasi bermanfaat dan data tersembunyi.

6. Pattern Discovery, merupakan proses esensial untuk mengekstrak pola data

serta mengidentifikasikan pola yang benar-benar unik dan dapat mewakili

informasi berdasarkan beberapa tindakan yang menarik.

7. Knowledge Presentation, yaitu untuk mengidentifikasikan pola menarik

dalam jumlah besar kedalam knowledge based. Pada tahap ini menghasilkan

pola-pola yang khas maupun model evaluasi untuk dinilai apakah hipotesa

yang ada sudah tercapai. Apabila hasil yang diperoleh ternyata tidak sesuai

dengan hipotesa maka dapat diambil alternatif seperti menjadikan umpan

balik guna memperbaiki proses data mining, menerima hasil yang di luar

dugaan yang mungkin hasil tersebut bermanfaat.

2.3.2 Analisis Sentimen

Analisis sentimen atau yang sering disebut dengan opinion mining, merupakan

salah satu cabang ilmu dari data mining yang memiliki tujuan untuk menganalisis,

memahami, mengekstrak, dan mengolah data tekstual berupa opini terhadap suatu

entitas seperti layanan, publik figur, lembaga, produk, peristiwa atau topik-topik

tertentu [18].

Secara umum analisis sentimen dibagi menjadi 2 yaitu [19]:

1. Analisis sentimen coarse-grained

Pada analisis sentimen coarse-grained, proses klasifikasi dilakukan

berdasarkan orientasi sebuah dokumen secara keseluruhan. Orientasi

dibagi menjadi 3 jenis yaitu negatif, netral dan positif. Namun orientasi ini

menjadi kontinu atau dapat juga dikatakan bahwa orientasinya bersifat

tidak diskrit.

Page 11: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

18

2. Analisis senitmen fined-grained

Peneliti sekarang ini kebanyakan berfokus pada kategori analisis sentimen

fined-grained, karena metode ini menggunakan objek dengan berupa

kalimat, bukan sebuah dokumen secara keseluruhan.

Contoh :

a. Saya sangat puas dengan pelayanan JNE (positif)

b. Pengiriman JNE tidak tepat waktu (negatif)

c. Paket saya telat, tetapi saya senang akhirnya datang juga (netral)

Analisis sentimen dibagi menjadi 3 subproses besar. Masing-masing dari

subproses mampu dijadikan sebagai topik penelitian, karena dari semua subproses

tersebut membutuhkan teknik dan metode yang rumit. Subproses tersebut

diantaranya[20]:

1. Subjectivity Classification (menentukan kalimat berupa opini)

Contoh: “Mobil itu memliliki 4 roda VS Itu mobil yang sangat keren!”

2. Orientation Detection (setelah berhasil pada proses subjectivity

classification sekarang tinggal menentukan apakah termasuk kedalam

opini positif, netral atau negatif)

Contoh: “Mobil itu sangat keren! VS Mobil itu jelek sekali!”

3. Opinion Holder and Target Detection (menentukan bagian Opinion

Holder dan target)

Contoh: “Budi mengatakan bahwa mobil itu sangat keren.”

Masalah yang sering muncul pada kasus analisis sentimen ini yaitu masih yang

membuat tweet dengan menggunakan kata yang tidak sesuai dengan kaidah,

sehingga menyebabkan banyak variasi bahasa. Sebagai contoh kata “tidak”

memiliki banyak variasi seperti“nggak”, “gak”, “tdk”, “ga”, “gk”, “nda”,“kagak”,

“kgk” dan lain sebagainya.

Page 12: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

19

Gambar 2.2 Proses Analisis Sentimen pada Produk[21]

Analisis sentimen dapat dikatakan sebagai proses klasifikasi seperti yang

diilustrasikan pada gambar 2.2. Ada 3 tingkatan klasifikasi dalam melakukan

analisis sentiment [21] :

1. Document-Level Sentiment Analysis

Document-Level Sentiment Analysis bertujuan untuk mengklasifikasikan

dokumen opini positif atau negatif pada suatu topik.

2. Sentence-Level Sentiment Analysis

Sentence-Level Sentiment Analysis bertujuan untuk mengklasifikasikan

opini di setiap kalimat, dengan cara mengidentifikasi kalimat apakah

kalimat tersebut masuk kedalam kalimat subjektif atau kalimat objektif.

Kemudian Sentence-Level Sentiment Analysis akan menentukan apakah

kalimat tersebut masuk kedalam opini positif atau opini negatif.

Page 13: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

20

3. Aspect-Level Sentiment Analysis

Aspect-Level Sentiment Analysis bertujuan untuk mengklasifikasikan

sentimen dengan aspek-aspek tertentu dari sebuah entitas dengan cara

mengidentifikasi entitas dan aspeknya. Karena opini bisa memberikan

pendapat yang berbeda untuk aspek yang berbeda dari entitas yang sama.

Contoh : “Kualitas ponsel ini tidak baik, tetapi daya tahan baterainya

sangat lama”.

2.3.3 Twitter Search API

Dalam setiap harinya twitter menghasilkan lebih dari 65 juta tweet per hari. Setiap

tweet tersimpan pada corpus twitter dan dapat diakses oleh publik dengan

menggunakan Antarmuka Pemrograman Aplikasi (API). API merupakan bagian

dari twitter, dari API memungkinkan pengembang untuk membangun aplikasi

mereka sendiri. Twitter menyediakan satu set API untuk mengakses data dan

mekanisme ini memungkinkan query terhadap tweet dengan menggunakan kata

kunci, hastagh, lokasi dan kriteria lainnya. API dibagi menjadi 3 bagian

diantaranya [22]:

1. REST API, disediakannya akses program untuk menulis dan membaca

data pada twitter. REST API mengidentifikasi user dan aplikasi twitter

seperti tweet baru , membaca profil penulis dan data follower, dan masih

banyak lagi.

2. Stream API, streaming API memberikan developer akses latency rendah

ke stream global yang ada pada data twitter. Streaming API akan

mendorong pesan dengan menunjukkan tweet dan acara lainnya telah

terjadi , tanpa adanya overhead terkait dengan pengambilan endpoint

REST.

3. Ads API, ads Twitter API mengintegrasikan mitra dengan platform iklan

twitter dengan menggunakan iklan mereka sendiri. Mitra yang dipilih

memiliki kemampuan untuk menciptakan alat custom untuk melaksanakan

dan mengelola kampanye iklan di twitter.

Page 14: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

21

2.3.4 Klasifikasi

Dalam metode text mining dikategorikan sebagai supervised learning atau

unsupervised learning. Perbedaan dari kedua metode tersebut antara lain

supervised learning bertujuan untuk menemukan pola baru dengan cara

menghubungkan pola data yang baru dengan data yang sudah ada. Sedangkan

pada unsupervised learning, belum memiliki pola data apapun, maka dari itu

unsupervised learning bertujuan untuk menemukan pola dalam sebuah data.

Klasifikasi termasuk supervised learning dimana ada data atau variabel yang telah

diprediksi terhadap data lain agar diketahui dikelas manakah objek tersebut masuk

kedalam model yang mudah disimpan [23]. Klasifikasi merupakan proses dimana

bertujuan menemukan fungsi atau model yang membedakan antara kelas data,

bertujuan untuk memperkirakan kelas yang tidak diketahui objeknya.

Dalam pengklasifikasian data terdapat tiga proses yang dilakukan yaitu:

1. Proses Training

Pada proses training ini menggunakan data latih yang telah diketahui labelnya

untuk membangun suatu model atau fungsi.

2. Proses Testing

Untuk mengetahui keakuratan model maupun fungsi yang akan dibangun pada

proses training, maka dari itu digunakannya data yang sering disebut sebagai

data uji.

Pemrosesan awal dokumen atau preprocessing yaitu tahapan dimana pada setiap

proses berfungsi untuk mentransformasikan dokumen kedalam bentuk

representasi yang lain. Dengan tujuan untuk mempercepat pemrosesan terhadap

dokumen, mempermudah proses dalam pencarian query ke dalam sebuah

dokumen, serta mempermudah pada proses pengurutan dokumen. Proses

preprocessing pada penelitian ini adalah sebagai berikut [24] :

1. Cleansing

Proses cleansing ini dilakukan untuk membersihkan dokumen dari kata yang

tidak diperlukan untuk mengurangi noise. Kata yang dihilangkan adalah

Page 15: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

22

karakter HTML, kata kunci, emotikon, hashtag (#), username (@username),

url dan email.

2. Case Folding

Pada tahap ini yaitu merubah huruf ke dalam sebuah dokumen menjadi huruf

kecil atau lowercase. Karakter selain huruf dalam tahapan ini dihilangkan.

3. Tokenizing

Tokenizing atau tokenisasi merupakan proses untuk memisahkan atau

memecahkan suatu kalimat menjadi kata-kata yang terpisah. Token yaitu suatu

turunan dari urutan karakter kedalam beberapa dokumen tertentu,dimana

dokumen dikelompokkan sebagai unit semantik yang layak untuk diproses.

4. Stopwords Removing

Menyaring kata hasil dari proses tokenizing yang dianggap tidak berguna atau

tidak penting dalam proses text mining atau yang sering disebut stoplist.

Stoplist berisi kata-kata yang sering muncul secara umum pada sebuah

dokumen dengan jumlah yang banyak akan tetapi tidak ada kaitannya dengan

tema tertentu. Kata per kata hasil dari tokenizing akan dicocokkan kedalam

kamus stopword di dalam database, apabila kata tersebut cocok dengan salah

satu kata maka kata tersebut akan dihilangkan, sementara untuk kata yang tidak

cocok akan dianggap cocok dan akan diproses lebih lanjut.

5. Stemming

Mengembalikan kata-kata yang diperoleh dari hasil stopwords removing

kedalam bentuk dasar, melakukan dengan cara menghilangkan imbuhan awal

(prefix) dan akhir (sufix) sehingga akan di peroleh hanya kata dasar.

Menghasilkan keluaran berupa root word metode stemming ini memerlukan

masukan berupa kata yang terdapat dalam suatu dokumen.

2.3.5 Term Frequency – Inverse Document Frequency (TF-IDF)

Pembobotan TF-IDF ini termasuk dalam jenis pembobotan yang sering digunakan

oleh Information Retrieval serta text mining. Pada pembobotan ini merupakan

suatu pengukuran statistik dimana penting sebuah kata dalam kumpulan dokumen

Page 16: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

23

untuk diukur. Meningkatnya tingkat kepentingan dokumen yaitu pada saat kata

muncul beberapa kali dalam sebuah dokumen tetapi diimbangi dengan frekuensi

kemunculan kata tersebut dalam kumpulan dokumen. Berikut ini rumusan dari

TF-IDF : [25]

( ) ( ) (2.1)

Dimana dihitung terlebih dahulu Term Frequency (TF) yaitu frekuensi

kemunculan suatu term di setiap dokumen. Kemudian dilakukan perhitungan

Inverse Document Frequency (IDF) yaitu menghitung nilai bobot suatu term dari

seringnya suatu term muncul di beberapa dokumen. Semakin sering suatu term

muncul, maka nilai IDF nya akan kecil.

Berikut rumusan TF dan IDF :

( ) ( ) (2.2)

(2.3)

2.3.6 K-Nearest Neighbor (KNN)

Algoritma K-Nearest Neighbor (KNN) merupakan salah satu metode yang

digunakan dalam proses klasifikasi terhadap sebuah objek berdasarkan data

pembelajaran yang memiliki jarak terdekat dengan objek tersebut[26].

Algoritma ini mendeskripsikan data learning dengan atribut numerik n-dimensi.

Dengan menerapkan konsep “learning by analogy”. Setiap data learning

merepresentasikan sebuah titik, yang ditandai dengan c, dalam ruang n-dimensi.

Apabila data query yang dimasukkan tidak diketahui labelnya, maka K-Nearest

Page 17: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

24

Neighbor (KNN) akan mencari k buah data learning yang memiliki jarak terdekat

dengan query dalam ruang n-dimensi. Pengukuran jarak antara data learning

dengan query dilakukan dengan mengukur jarak antar titik yang

merepresentasikan data query dengan semua titik data learning menggunakan

perhitungan Euclidean Distance [26]. Gambaran umum algoritma KNN ini dapat

dilihat dalam flowchart berikut [26] :

Gambar 2.3 Flowchart KNN

Pada tahap fase training, algoritma ini hanya menyimpan vektor-vektor fitur dan

klasifikasi data training sample. Saat fase klasifikasi, semua fitur yang sama

dihitung untuk kemudian dilakukan testing data. Jarak vektor baru yang terbentuk

kemudian dihitung seluruh vektor training sampel, kemudian jumlah k buah yang

Page 18: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

25

terdekat diambil. Klasifikasinya diprediksikan pada titik yang baru termasuk pada

klasifikasi terbanyak berdasarkan titik-titik tersebut [26].

Nilai k merupakan jumlah titik pembanding yang akan dibandingkan dengan titik

uji. Pada k=1 akan dicari jarak terdekat dengan nilai titik uji. Untuk nilai k lebih

dari satu, selanjutnya akan dilakukan voting berdasarkan mayoritas keberadaan

kelasnya. Maka dari itu besar nilai k harus merupakan bilangan ganjil, supaya

dapat dilakukan voting berdasarkan mayoritas keberadaannya didalam suatu

kelas[27]. Nilai k dapat dikatakan bagus apabila dipilih dengan optimasi

parameter, seperti contoh menggunakan confusion matrix. Pada contoh kasus

tertentu disebut algoritma nearest neighbor apabila klasifikasi diprediksikan

berdasarkan data pembelajaran yang paling dekat (dengan kata lain, k = 1) [26].

Algoritma KNN ini sangat dipengaruhi oleh eksistensi fitur-fitur yang tidak

relevan, dengan kata lain bobot fitur tidak setara dengan relevansinya terhadap

klasifikasi. Sebagian besar penelitian menggunakan algoritma ini yaitu membahas

bagaimana memilih dan memberi bobot pada tiap fitur, agar performa klasifikasi

menjadi lebih baik [26].

K buah data learning menentukan label mayoritas dengan melakukan voting.

Label data query ditentukan berdasarkan label mayoritas dan apabila ada lebih

dari satu label mayoritas maka label secara acak data query akan dipilih di antara

label mayoritas yang ada [26].

Setelah melalui tahap preprocessing, setiap dokumen akan menjadi fitur vektor

yang memiliki dimensi ke-m tahapan penerapan Algoritma KNN dapat dituliskan

sebagai berikut [28]:

1. Menentukan nilai k sebagai k terdekat dari data latih.

2. Mengubah dari masing-masing dokumen setelah preprocessing menjadi

sebuah term. Kemudian dihitung bobot per-term menggunakan TF-IDF.

3. Hitung jarak titik ruang dengan menggunakan Euclidean Distance.

4. Memberikan 2 buah titik Q dan P dalamsebuah ruang vektor n-dimensi

dengan Q (q1, q2,..., qn) dan P (p1, p2, ..., pn), maka jarak antara Q dan P

dapat dihitung menggunakan persamaan Euclidean Distance berikut [25] :

Page 19: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

26

√∑ (2.5)

Dimana q dan p merupakan titik pada vektor n pada ruang vektor n

dimensi sedangkan qi dan pi merupakan besaran skalar untuk dimensi ke i

dalam ruang vektor n dimensi.

5. Menghitung jumlah bobot pada proses Euclidean Distance pada setiap

dokumen.

6. Menentukan hasil jarak terdekat antara data uji dengan data latih.

7. Menentukan kelas dari obyek berdasarkan kelas yang paling dominan .

2.3.7 Alat Ukur & Validasi

Ada beberapa alat untuk mengukur akurasi algoritma klasifikasi, metode yang

digunakan yaitu :

1. Confusion Matrix

Confusion matrix merupakan alat ukur yang biasanya digunakan dalam

melakukan perhitungan akurasi pada konsep data mining. Tabel matrik

digunakan dalam metode ini, jika data set hanya terdiri dari dua kelas, maka

satu kelas dianggap sebagai kelas positif dan lainnya kelas negatif.

True positives yaitu jumlah record positif yang diklasifikasikan sebagai kelas

positif, dan false positives yaitu jumlah record negative yang diklasifikasikan

sebagai kelas positif, sedangkan false negatives yaitu jumlah record positif

yang diklasifikasikan sebagai kelas negatif, dan true negatives yaitu jumlah

record negatif yang diklasifikasikan sebagai kelas negatif, setelah itu

masukkan data uji. Kemudian data uji dimasukkan ke dalam confusion matrix,

dan hitung nilai-nilai yang telah dimasukkan untuk menghitung jumlah

sensitivity (recall), specificity, precision dan accuracy. Seperti yang dapat di

dalam tabel 2.2 berikut [29] :

Tabel 2.2 Model Confusion Matrix

Klasifikasi

yang benar

Diklasifikasikan sebagai

+ -

Page 20: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

27

+ True

Positives

False

Negatives

- False

Positives

True

Negatives

Sensitivity atau recall ini digunakan untuk membandingkan jumlah TP dari jumlah

record yang bernilai positif, sedangkan specificity yaitu membandingkan jumlah

TN darijumlah record yang bernilai negatif. Berikut persamaan yang digunakan

untuk melakukan perhitungannya [29] :

Precission = (2.6)

Recall = (2.7)

Precision = (2.8)

Accuracy =∑ ∑ ∑ (2.9)

Keterangan :

TP = Jumah True Positives

TN = Jumah True Negatives

P = Jumlah Record Positives

N = Jumlah Tupel Negatives

FP = Jumlah False Positives

2.3.8 R Programming

R merupakan suatu kesatuan software yang terintegrasi dengan menyediakan

beberapa fasilitas antara lain fasilitas untuk melakukan manipulasi, perhitungan

dan menampilkan grafik dengan baik. R ini merupakan bahasa pemrograman yang

berbasis pada bahasa pemrograman S yang telah dikembangkan oleh AT & T

Laboratories yang sekarang lebih dikenal Lucent Technologies. R itu sendiri

memliliki beragam jenis model statistik, seperti linear dan nonlinear modeling,

Page 21: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

28

classical statistical tests, time series analysis, classification, clustering, dan lain

sebagainya [30].

R juga termasuk bahasa terinterpretasi atau interpreted. Bahasa terinterpretasi

yaitu setiap perintah tunggal harus dievaluasi dan dieksekusi. Sedangkan bahasa

kompilasi yaitu keseluruhan program harus dikompilasi oleh sebuah kompiler

yang menerjemahkan bahasa pemrograman ke dalam bahasa mesin [30].

Gambar 2.4 R Programming

Berikut penjelasan sesuai nomor pada gambar 2.4 :

1. Menu Toolbar, kumpulan perintah-perintah yang dapat digunakan di R

2. Halaman untuk membuat coding atau script code.

3. Halaman untuk membuat function.

4. Files Browser, untuk mencari folder atau file pada laman kerja.

5. Objek Dinamis dan Packages Browser.

6. Penjelasan mengenai dokumen yang kita buat.

7. Functions Browser, untuk memilih function yang akan dibuat.

Page 22: BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkaiteprints.dinus.ac.id/23466/11/bab2_20738.pdf8 BAB 2 TINJAUAN PUSTAKA 2.1 Penelitian Terkait Pada bagian ini akan dipaparkan beberapa penelitian

29

R memiliki teknik komputasi grafik dimana Source Code yang multiplatform

(tersedia padasistem operasi Windows, Linux dan Unix) dan tersedia secara bebas

dibawah lisensi oleh GNU General Public License, dan versi precompiled binary

tersedia untuk berbagai sistem operasi. R didukung dengan model serta teori

statistik terdepan, dengan menggunakan standar tertinggi bagi analisis data. R

dapat dikatakan hampir bisa untuk digunakan dalam berbagai bidang, seperti

kalkulasi biasa layaknya kalkulator, statistik, ekonometri, geografi, sampai

pemrograman computer [30].