BAB 2 TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
BAB II TINJAUAN PUSTAKA

BAB III METODELOGI PENELITIAN

BAB III METODE PENELITIAN

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

UKDW 1. BAB 1 PENDAHULUAN Latar Belakang Masalah

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI

IMPLEMENTASI K NEAREST NEIGHBOR (KNN) PADA KLASIFIKASI ARTIKEL WIKIPEDIA INDONESIA

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI. yang tepat. Sistem data mining mampu memberikan informasi yang tepat dan

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I. Pendahuluan. 1. Latar Belakang Masalah

BAB IV HASIL DAN PEMBAHASAN. jenis dokumen, yaitu dokumen training dan dokumen uji. Kemudian dua

BAB III METODOLOGI PENELITIAN

BAB II TINJAUAN PUSTAKA

BAB 3 LANDASAN TEORI

BAB IV METODOLOGI PENELITIAN. Penelitian ini dilakukan dengan melalui empat tahap utama, dimana

Stemming pada Preprocessing Twit Berbahasa Indonesia dengan Mengimplementasikan Algoritma Fonetik Soundex untuk Proses Klasifikasi

BAB III METODOLOGI PENELITIAN

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB III METODOLOGI PENELITIAN

3.1 Desain Penelitian

BAB I PENDAHULUAN Latar Belakang

UKDW. 1.1 Latar Belakang BAB 1 PENDAHULUAN

ANALISIS PERBANDINGAN IMPLEMENTASI KERNEL PADA LIBRARY LibSVM UNTUK KLASIFIKASI SENTIMEN MENGGUNAKAN WEKA

BAB 2 LANDASAN TEORI

BAB III ANALISA DAN PERANCANGAN SISTEM

Gambar 1.1 Proses Text Mining [7]

BAB I PENDAHULUAN. penunjang Al-Quran untuk memudahkan untuk mempelajarinya, yang bisa

ANALISIS SENTIMEN PADA JASA OJEK ONLINE MENGGUNAKAN METODE NAÏVE BAYES

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB III METODOLOGI. Support Vector Machines (SVM) merupakan salah satu metode machine

Abidah Elcholiqi, Beta Noranita, Indra Waspada

STUDI AWAL KLASIFIKASI ARTIKEL WIKIPEDIA BAHASA INDONESIA DENGAN MENGGUNAKAN METODA K NEAREST NEIGHBOR

BAB III METODOLOGI PENELITIAN

BAB II TINJAUAN PUSTAKA

BAB V EKSPERIMEN TEXT CLASSIFICATION

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB III ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS MASALAH DAN PERANCANGAN

INDEXING AND RETRIEVAL ENGINE UNTUK DOKUMEN BERBAHASA INDONESIA DENGAN MENGGUNAKAN INVERTED INDEX

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

KLASIFIKASI NASABAH ASURANSI JIWA MENGGUNAKAN ALGORITMA NAIVE BAYES BERBASIS BACKWARD ELIMINATION

K NEAREST NEIGHBOR INFORMATION RETRIEVAL (SISTEM TEMU KEMBALI INFORMASI)

BAB II DASAR TEORI Crawler Definisi Focused Crawler dengan Algoritma Genetik [2]

PENERAPAN DATA MINING UNTUK EVALUASI KINERJA AKADEMIK MAHASISWA MENGGUNAKAN ALGORITMA NAÏVE BAYES CLASSIFIER

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

Analisis Sentimen pada Twitter untuk Mengenai Penggunaan Transportasi Umum Darat Dalam Kota dengan Metode Support Vector Machine

BAB III ANALISIS DAN PENYELESAIAN MASALAH

BAB 2 TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA. penelitian yang penting (Baharudin, Lee and Khan, 2010). Beberapa peneliti telah

BAB I PENDAHULUAN.

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Analisis Sentimen Pada Data Twitter dengan Menggunakan Text Mining terhadap Suatu Produk

BAB 3 METODE PENELITIAN

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

Nur Indah Pratiwi, Widodo Universitas Negeri Jakarta ABSTRAK

TINJAUAN PUSTAKA. Definisi Data Mining

KLASIFIKASI PADA TEXT MINING

BAB III METODOLOGI PENELITIAN

Perbandingan Klasifikasi Tugas Akhir Mahasiswa Jurusan Teknik Informatika Menggunakan Metode Naïve Bayes Classifier dan K-Nearest Neighbor

BAB II LANDASAN TEORI

Penerapan Deep Sentiment Analysis pada Angket Penilaian Terbuka Menggunakan K-Nearest Neighbor

PERBANDINGAN KLASIFIKASI DOKUMEN TEKS MENGGUNAKAN METODE NAÏVE BAYES DENGAN K-NEAREST NEIGHBOR. Abstrak

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN. Pada bagian awal penelitian ini dipaparkan secara lengkap latar belakang,

BAB I PENDAHULUAN. untuk bisa mengeluarkan pendapat dan ekspresi secara bebas. Itu artinya perusahaan

BAB I PENDAHULUAN Latar Belakang

BAB 3 ANALISIS KEBUTUHAN IMPLEMENTASI ALGORITMA

BAB II TINJAUAN PUSTAKA

3.6 Data Mining Klasifikasi Algoritma k-nn (k-nearest Neighbor) Similaritas atribut numerik

ANALISIS SENTIMEN PADA TWITTER TERHADAP JASA TRANSPORTASI ONLINE DI INDONESIA DENGAN METODE SUPPORT VECTOR MECHINE

BAB III METODOLOGI PENELITIAN. Dataset

BAB II LANDASAN TEORI

PRESENTASI TUGAS AKHIR KI PERANCANGAN DAN PEMBANGUNAN MODUL REKOMENDASI SECTION PADA OPEN JOURNAL SYSTEM (OJS)

BAB I PENDAHULUAN 1.1. Latar Belakang

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG

BAB II LANDASAN TEORI

BAB III METODE PENELITIAN

PENERAPAN ALGORITMA NAÏVE BAYES UNTUK DETEKSI BAKTERI E-COLI

KLASIFIKASI PADA TEXT MINING

BAB III METODOLOGI PENELITIAN

BAB I PENDAHULUAN. 1.1 Latar belakang

1. BAB I PENDAHULUAN 1.1 Latar Belakang

ANALISIS SENTIMEN JASA EKSPEDISI BARANG MENGGUNAKAN METODE NAÏVE BAYES

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN Latar Belakang

BAB II LANDASAN TEORI

BAB I PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN Latar Belakang

Transkripsi:

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 8

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

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

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.

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

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

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.

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]

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

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.

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.

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.

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.

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

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

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

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

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 (q 1, q 2,..., q n ) dan P (p 1, p 2,..., p n ), maka jarak antara Q dan P dapat dihitung menggunakan persamaan Euclidean Distance berikut [25] :

26 (2.5) Dimana q dan p merupakan titik pada vektor n pada ruang vektor n dimensi sedangkan q i dan p i 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 Diklasifikasikan sebagai yang benar + -

27 + True Positives - False Positives False Negatives 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,

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.

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