• Tidak ada hasil yang ditemukan

Analisis sentimen pada akun twitter provider telekomunikasi

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis sentimen pada akun twitter provider telekomunikasi"

Copied!
41
0
0

Teks penuh

(1)

1

Layanan social media dan microblogging saat ini telah mengalami perkembangan yang cukup pesat. Salah satu layanan microblogging yang terkenal dan memiliki pengguna yang cukup besar adalah Twitter. Indonesia tercatat sebagai sumber pengguna Twitter terbanyak ketiga di dunia [1]. Pada Twitter terdapat istilah bernama tweet yang merupakan sebuah pesan atau status yang dibuat oleh penggunanya. Sebuah tweet dapat mengekspresikan sebuah perasaan atau keadaan dari pengguna Twiter. Tweet dapat mengandung sebuah opini dari penggunanya terhadap kejadian yang dialaminya. Opini tersebut dapat dimanfaatkan sebagai penilaian bagi sebuah perusahaan atau instansi.

(2)

Tujuan lain dari analisis sentimen adalah untuk mengetahui apakah sebuah objek yang diteliti, dalam hal ini tweet mengandung opini atau tidak [3]. Klasifikasi sentimen akan sangat membantu dalam memberikan input dan feedback dari pelanggan dengan cepat [4].

Salah satu proses yang penting dalam analisis sentimen adalah klasifikasi. Metode klasifikasi yang digunakan sangat menentukan hasil dari analisis sentimen itu sendiri. Naive bayes classifier adalah metode klasifikasi probabilistik sederhana berdasarkan penerapan teorema Bayes (dari statistik Bayesian) dengan asumsi independen (naif) yang kuat. Kelebihan dari naive bayes classifier adalah hanya memerlukan sejumlah kecil data pelatihan untuk mengestimasi parameter (rata-rata dan varian dari variabel) yang diperlukan untuk klasifikasi [5]. Metode ini memiliki algoritma yang sederhana sehingga mudah diimplementasikan [3].

Berdasarkan masalah yang telah diuraikan, maka penelitian ini bermaksud untuk membangun Analisis Sentimen Pada Akun Twitter Provider Telekomunikasi.

1.2 Rumusan Masalah

Berdasarkan uraian pada latar belakang dapat dirumuskan masalahnya adalah bagaimana melakukan klasifikasi opini positif dan negatif terhadap tweet yang ditujukan kepada akun twitter provider telekomunikasi?

1.3 Maksud dan Tujuan

Maksud dari penelitian yang dilakukan adalah untuk mengimplementasikan analisis sentimen dengan menggunakan metode klasifikasi naive bayes classifier.

(3)

1.4 Batasan Masalah

Batasan masalah pada penelitian yang akan dilakukan antara lain :

1. Data latih dan data uji yang digunakan pada penelitian menggunakan Bahasa Indonesia.

2. Akun twitter provider telekomunikasi yang digunakan pada penelitian adalah akun twitter XL123.

3. Data latih dan data uji diperoleh dari posting tweet yang ditujukan kepada akun twitter XL123.

4. Klasifikasi tweet relevan dan tidak relevan menggunakan metode Support Vector Machine.

5. Klasifikasi sentimen menggunakan metode Naive Bayes Classifier. 6. Terdapat dua kelas yang diklasifikasikan yaitu positif dan negatif.

7. Sistem harus terkoneksi internet untuk mengumpulkan data latih dan data uji.

8. Sistem bersifat simulator

1.5 Metodologi Penelitian

Metodologi yang digunakan pada penelitian ini adalah metode deskriptif. Metode deskriptif adalah suatu metode dalam meneliti status,suatu objek, suatu set kondisi, suatu kelas peristiwa pada masa sekarang. Metode ini memiliki tujuan untuk membuat deskripsi atau gambaran secara sistematis, faktual dan akurat mengenai fakta-fakta, sifat-sifat serta hubungan antar fenomena yang diselidiki.

1.5.1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan pada penelitian ini adalah sebagai berikut :

1. Studi Literatur

(4)

2. Observasi

Teknik pengumpulan data secara langsung dengan melakukan peninjauan terhadap tweet-tweet yang ditujukan kepada akun twitter XL

1.5.2 Metode Pembangunan Perangkat Lunak

Model proses pembangunan perangkat lunak yang digunakan dalam penelitian ini adalah model prototype. Tahapan-tahapan pada model prototype menurut Roger S. Pressman adalah sebagai berikut :

Gambar 1.1. Skema Prototype [6]

1. Communication

Mendefinisikan objektif secara keseluruhan dan mengidentifikasi kebutuhan dari analisis sentimen.

2. Quick plan

Merupakan tahapan menentukan rencana yang akan dilakukan setelah mengetahui kebutuhan apa saja yang diperlukan.

3. Modeling Quick design

(5)

4. Construction of prototype

Merupakan tahap desain program yang diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan dan testing yang disesuaikan dengan modeling yang telah selesai dibuat

5. Deployment Delivery & Feedback

Prototype dievaluasi oleh pengguna dan digunakan untuk memperbaiki persyaratan perangkat lunak yang akan dikembangkan. Apabila prototype sudah sesuai dengan kebutuhan, maka perangkat lunak dapat diterima dan penelitianpun selesai. Jika terdapat suatu revisi yang harus dilakukan ataupun tidak sesuai dengan kebutuhan, maka kembali lagi ke proses communication dan melakukan revisi yang dibutuhkan.

1.6 Sistematika Penulisan

Sistematika penulisan laporan akhir penelitian ini disusun untuk mendeskripsikan secara umum tentang penelitian yang dilakukan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB 1. PENDAHULUAN

Menjelaskan tentang latar belakang permasalahan, merumuskan inti permasalahan yang ada, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan.

BAB 2. TINJAUAN PUSTAKA

Membahas konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian.

(6)

BAB 3. ANALISIS DAN PERANCANGAN SISTEM

Bab ini membahas analisis sistem, analisis masalah, analisis pengumpulan data, analisis preprocessing, analisis support vector machine, analisis naive bayes classifier, analisis kebutuhan

non-fungsional, analisis kebutuhan non-fungsional, analisis perancangan antarmuka sistem dan jaringan semantik.

BAB I4. IMPLEMENTASI DAN PENGUJIAN SISTEM

Menjelaskan implementasi dan pengujian dari hasil analisis dan perancangan sistem yang dibangun, serta metode atau teknik analisis yang akan digunakan.

Bab ini menguraikan implementasi dari sistem, implementasi preprocessing, implementasi support vector machine, naive bayes classifier pada analisis sentimen, pengujian black box, pengujian confusion matrix.

BAB 5. KESIMPULAN DAN SARAN

(7)

7

Opini dan konsep terkait seperti sentimen, evaluasi, sikap, dan emosi adalah subyek dari studi analisis sentimen dan opinion mining. Sejak awal tahun 2000, analisis sentimen telah berkembang menjadi salah satu daerah penelitian yang paling aktif dalam pengolahan bahasa alami (natural language processing). Hal tersebut juga banyak dipengaruhi oleh perkembangan studi mengenai data mining, web mining, dan text mining. Beberapa tahun terakhir, kegiatan industri sekitar analisis sentimen juga berkembang. Sekarang analisis sentimen hampir dapat ditemukan pada setiap bisnis dan domain sosial [3].

Analisis sentimen atau biasa disebut juga opinion mining adalah bidang studi yang menganalisa opini , sentimen, evaluasi, sikap, dan emosi terhadap suatu entitas [7]. Entitas tersebut dapat berupa produk, jasa, organisasi, individu, masalah, peristiwa atau sebuah topik. Aplikasi analisis sentimen telah menyebar ke hampir setiap domain mulai dari produk, konsumen, jasa, kesehatan, dan jasa keuangan untuk kegiatan sosial dan politik.

Analisis sentimen berfokus pada opini yang menyatakan atau menyiratkan sentimen positif atau negatif. Secara garis besar analisis sentimen merupakan proses klasifikasi dokumen tekstual ke dalam dua kelas, yaitu kelas sentimen positif dan kelas sentimen negatif. Analisis sentimen dilakukan untuk melihat pendapat atau opini terhadap sebuah masalah atau dapat juga digunakan untuk identifikasi kecenderungan suatu hal pada lingkup tertentu. Menurut Liu, tujuan utama dari analisis sentimen adalah untuk melakukan ekstraksi atribut pada sebuah dokumen atau teks berisi komentar untuk mengetahui ekspresi-ekspresi yang ada di dalamnya sehingga komentar-komentar tersebut dapat bisa dikategorikan positif atau negatif.

2.2 Klasifikasi

(8)

luas, sehingga mencakup regresi dan ranking. Alasan bahwa klasifikasi sangat penting adalah bahwa banyak masalah yang menarik dapat dirumuskan sebagai penerapan klasifikasi / regresi / ranking ke unit tekstual [8]. Terdapat beberapa metode klasifikasi di antaranya seperti naive bayes classifier, k-nearest neighbour, decision trees, neural network, support vecor machine dan lain-lain [9].

2.3 Information Retrieval

Information Retrieval (IR) adalah proses untuk menemukan atau mencari suatu “material” (biasanya dokumen) yang bersifat tidak terstruktur (biasanya teks) yang memenuhi kebutuhan informasi dari dalam koleksi yang besar (biasanya disimpan di komputer) [8]. Information retrieval juga dapat mencakup jenis data lain.

Fokus dari information retrieval adalah bagaimana membuat representasi, mencari, dan memanipulasi koleksi dokumen digital agar pengguna mudah mencari informasi yang diperlukan. Informasi atau data yang dicari dapat berupa berupa teks, image, audio, video dan lain-lain. Koleksi data teks yang dapat dijadikan sumber pencarian juga dapat berupa pesan teks, seperti e-mail, fax, dan dokumen berita, bahkan dokumen yang beredar di internet. Dengan jumlah dokumen koleksi yang besar sebagai sumber pencarian, maka dibutuhkan suatu sistem yang dapat membantu user menemukan dokumen yang relevan dalam waktu yang singkat dan tepat.

Pada information retrieval terdapat tahapan preprocessing yang berguna untuk mengolah data sebelum dilakukan proses tertentu pada tahapan selanjutnya.

2.3.1 Preprocessing

(9)

1. Casefolding

Langkah awal dari preprocessing dimulai dengan melakukan casefolding terhadap tweet yang akan diproses. Casefolding merupakan proses mengubah semua teks pada tweet menjadi huruf kecil (lowercase).

2. Normalisasi Fitur

Merupakan proses menghilangkan atau menghapus komponen-komponen khas yang terdapat pada tweet seperti username, url, rt. Hal ini dilakukan karena komponen tersebut sama sekali tidak akan berpengaruh terhadap sentimen dari suatu tweet. Identifikasi komponen-komponen pada normalisasi fitur akan menggunakan regular expression.

Tabel 2.1. Normalisasi Fitur Krarakter

0 8 & ` : ?

1 9 * ~ ; /

2 ! ( [ “

3 @ ) ] ‘

4 # - \ <

5 $ _ | >

6 % + { ,

7 ^ = } .

3. Convert Emoticon

(10)

Emoticon yang sering digunakan oleh para pengguna twitter adalah sebagai berikut :

Tabel 2.2. Emoticon [12]

No Emoticon Jumlah Tweet Persentase

1 :) 32.115.789 33.36%

Emoticon yang digunakan pada penelitian ini adalah emoticon western style. Berikut ini adalah tabel konversi emoticon yang digunakan :

Tabel 2.3. Konversi Emoticon

(11)

Stopwords adalah kata umum yang biasanya muncul dalam jumlah besar dan dianggap tidak memiliki makna, sehingga tidak akan mempengaruhi sentimen. Stop words biasanya berupa kata ganti atau kata sambung.

5. Negation Handling

Negation handling atau penanganan negasi menjadi perhatian penting dalam analisis sentimen. Hal ini karena kata negasi dapat mengubah nilai positif atau negatif dari data yang dianalisis. Jika pada tweet terdapat kata negasi, maka kata negasi akan digabungkan dengan kata setelahnya sehingga menjadi satu kata baru.

6. Tokenization

Tokenization atau tokenisasi merupakan proses untuk memisah-misahkan atau memecah suatu kalimat menjadi kata-kata yang terpisah. Token adalah turunan dari urutan karakter dalam beberapa dokumen tertentu yang dikelompokkan bersama sebagai unit semantik yang berguna untuk diproses.

7. Stemming

Stemming merupakan salah satu proses yang digunakan untuk meningkatkan performa IR dengan cara mentransformasikan kata-kata dalam sebuah dokumen teks ke dalam bentuk kata dasarnya. Algoritma untuk proses stemming pada penelitian ini menggunakan algoritma Nazief & Adriani. Algoritma ini memiliki keakuratan yang baik dan presisi untuk teks berbahasa Indonesia [13].

Algoritma yang dibuat oleh Bobby Nazief dan Mirna Adriani ini memiliki tahap-tahap sebagai berikut [13]:

1. Cari kata yang akan distem dalam kamus. Jika ditemukan maka diasumsikan bahwa kata tesebut adalah root word.Maka algoritma berhenti.

(12)

maka langkah ini diulangi lagi untuk menghapus Possesive Pronouns (“-ku”, “-mu”, atau “-nya”), jika ada.

3. Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”).Jika kata ditemukan di kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a

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

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

4. Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus maka pergi ke langkah 4a, jika tidak pergi ke langkah 4b. a. Periksa tabel kombinasi awalan-akhiran yang tidak diijinkan.

Jika ditemukan maka algoritma berhenti, jika tidak pergi ke langkah 4b.

b. For i = 1 to 3, tentukan tipe awalan kemudian hapus awalan. Jika root word belum juga ditemukan lakukan langkah 5, jika sudah maka algoritma berhenti. Catatan: jika awalan kedua sama dengan awalan pertama algoritma berhenti.

5. Melakukan Recoding.

(13)

(2.2)

(2.3) 2.4 Support Vector Machine

Support Vector Machine dikembangkan oleh Boser, Guyon, Vapnik dan dipertamakali dipresentasikan pada tahun 1992 di Annual Workshop on Computational Learning Theory. Konsep dasar SVM sebenarnya merupakan kombinasi dari teori-teori komputasi yang telah ada puluhan tahun sebelumnya. Prisip dasar SVM adalah pengklasifikasi linear (linear classifier), dan selanjutnya dikembangkan agar dapat bekerja pada masalah non-linear, dengan memasukkan kernel trick pada ruang kerja berdimensi tinggi. Fungsi kernel yang biasa digunakan biasanya yaitu linier, polynomial, radial basis function dan sigmoid. Teknik ini berusaha untuk menemukan fungsi pemisah (classifier) yang optimal yang bisa memisahkan dua set data dari dua kelas yang berbeda [14].

Pada kasus klasifikasi secara linier digunakan fungsi pemisah yang dapat didefinisikan sebagai berikut :

≔ ( ) (2.1)

= � + ,

Sedangkan pada kasus klasifikasi secara non linear untuk menemukan hyperplane pemisah yang akurat untuk mengkasifikasikan dua kelas, adalah dengan menggunakan fungsi pemisah nonlinear (yaitu, satu yang fungsinya pemetaan ∅ adalah pemetaan nonlinear dari ruang input ke dalam beberapa ruang fitur). Didefinisikan sebagai berikut :

ɸ ( ) = didasarkan pada persamaan linear berikut

�1 1̃ . ̃ + �1 1 1̃ . ̃ + �1 1 1̃ . ̃ = + 1

�1 1̃ . ̃ + �1 1 1̃ . ̃ + �1 1 1̃ . ̃ = + 1

(14)

(2.4) Setelah mendapatkan nilai � , maka langkah selanjutnya adalah mencari hyperplane untuk memisahkan kelas positif dan kelas negatif menggunakan persamaan (II.4) [15].

̃ = ∑ α ̃

Berikut adalah gambaran dari penggunaan metode support vector machine pada pemisahan data relevan dan tidak relevan.

Gambar 2.1. Pemisah data relevan dan tidak relevan

2.5 Naive Bayes Classifier

(15)

klasifikasi. Karena variabel diasumsikan independen, hanya varian dari variabel-variabel untuk setiap kelas yang perlu ditentukan.

Metode naive bayes classifier menempuh dua tahap dalam proses klasifikasi teks, yaitu tahap pelatihan dan tahap klasifikasi. Pada tahap pelatihan dilakukan proses analisis terhadap sampel dokumen berupa pemilihan vocabulary, yaitu kata yang mungkin muncul dalam koleksi dokumen sampel yang sedapat mungkin dapat menjadi representasi dokumen. Selanjutnya adalah penentuan probabilitas prior bagi tiap kategori berdasarkan sampel dokumen. Pada tahap klasifikasi ditentukan nilai kategori dari suatu dokumen berdasarkan term yang muncul dalam dokumen yang diklasifikasi [5]. Dengan menerapkan teorema bayes , maka persamaan untuk klasifikasi adalah sebagai berikut :

= max� ∈� � ∏ � |

Nilai � ditentukan pada saat pelatihan, yang nilainya diperoleh dengan :

�( ) =|�| |ℎ|

dimana adalah banyaknya keyword yang memiliki kategori j dalam pelatihan, sedangkan |� ℎ| banyaknya keyword dalam contoh yang digunakan untuk pelatihan.

Untuk nilai � | , yaitu probabilitas kata dalam kategori j ditentukan dengan :

�( | ) = + | + |

dimana adalah frekuensi kemunculan kata dalam dokumen yang berkategori , sedangkan nilai n adalah banyaknya seluruh kata dalam dokumen berkategori

dan | | adalah banyaknya kata dalam contoh pelatihan.

Tahapan pelatihan dan klasifikasi naive bayes classifier adalah sebagai berikut Pelatihan :

1. Bentuk vocabulary

2. Untuk setiap kategori hitung :

a. Tentukan (himpunan dok dalam kategori )

(2.5)

(2.6)

(16)

(2.8) b. Hitung �( ) dengan persamaan (2)

c. Hitung �( | ) dengan persamaan (3) untuk setiap dalam vocabulary

Klasifikasi :

1. Hitung � ∏ � | ) untuk setiap kategori 2. Tentukan nilai maksimumnya sebagai hasil kategorisasi.

2.6 Pembobotan Kata

Metode yang digunakan untuk pembobotan kata pada penelitian ini adalah metode TF-IDF (term frequency – inverse document frequency). Metode TF-IDF dapat dirumuskan sebagai berikut :

= ( )

dimana :

idf adalah invers dokumen frequency d adalah total dokumen

df adalah jumlah dokumen yang mengandung term (kata)

Bobot dari setiap term (kata) dapat dihitung dengan rumus = ∗

2.7 Confusion Matrix

(17)

Tabel 2.4. Confusion Matrix Predicted Class

Positif Negatif

Actual Class Positif True Positives False Negatives Negatif False Positives True Negatives

Keterangan :

True Positives : Jumlah record positif yang diklasifikasikan sebagai positif Flase Positives: Jumlah record positif yang diklasifikasikan sebagai negatif False Negatives : Jumlah record negatif yang diklasifikasikan sebagai positif True Negatives: Jumlah record negatif yang diklasifikasikan sebagai negatif.

Setiap kolom dari tabel confusion matrix merupakan contoh di kelas yang telah diprediksi, sedangkan setiap baris mewakili contoh di kelas yang sebenarnya. Setelah mendapatkan nilai untuk masing-masing kelas, selanjutnya adalah menghitung nilai precision dan akurasinya. Precision adalah ukuran terhadap suatu kelas yang telah diprediksi. Berikut ini adalah persamaannya :

� = � + �� + � + ��� − �

� = � + ��

dengan TP adalah true positives, FP False positives, TN True Negatives,dan FN adalah False Negatives. [16]

2.8 Object Oriented Programming

Object Oriented Programming (OOP) adalah sebuah pendekatan untuk pengembangan suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi object dalam penyelesaian suatu proses tugas. Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya kembali antar object tersebut. Object akan merespon pesan tersebut menjadi sebuah tindakan atau metode. Adapun konsep pada pemrograman berorientasi objek yaitu :

(18)

1. Object

Merupakah sebuah struktur yang menggabungkan data dan prosedur untuk bekerja bersama-sama

2. Abstraction

Ketika membangun objects dalam aplikasi OOP, penting untuk menggabungkan konsep abstraction ini.

3. Enkapsulasi

Sebuah proses dimana tidak ada akses langsung ke data yang diberikan, bahkan hidden. Jika ingin mendapat data, harus berinteraksi dengan object yang bertanggung jawab atas data tersebut

4. Polymorphisms

Kemampuan dua buah object yang berbeda untuk merespon pesan permintaan yang sama dalam suatu cara yang unik. Pada OOP, diterapkan tipe polymorphism melalui proses yang disebut overloading. Dapat dilakukan dalam implementasi metode yang berbeda pada sebuah object yang mempunyai nama yang sama.

5. Inheritance

Penggunaan inheritance dalam OOP adalah untuk mengklasifikasikan objects dalam program sesuai karakteristik umum fungsinya. Hal ini akan membuat pekerjaan bersama object lebih mudah dan lebih intuitif. Hal ini juga membuat programming lebih mudah karena memungkinkan untuk mengkombinasikan karakteristik umum ke dalam object parent dan mewariskan karakteristik ke child object.

2.8.1 Unified Modelling Language (UML)

(19)

1. Use Case Diagram

Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Terdiri atas diagram untuk use case dan actor. Actir merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi. Use case merepresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan didalamnya. Actor yang melaukan operasi dihubungkan dengan garis lurus ke use case.

2. Activity Diagram

Merupakan representasi grafis dari alur kerja tahapan aktivitas. Diagram ini mendukung pilihan tindakan, iterasi dan concurrency. Pada pemodalan UML, activity diagram dapat digunakan untuk menjelaskan bisnis dan alur kerja operasional secara step-by-sep dari komponen suatu sistem.

3. Sequence Diagram

Menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case. Interaksi yang terjadi antar class, operasi apa yang terlibat, urutan antar operasi dan informasi yang diperlukan oleh masing-masing operasi.

4. Class Diagram

(20)
(21)

73 4.1 Implementasi Sistem

Tahap implementasi sistem adalah tahapan yang dilakukan setelah perancangan sistem selesai dan selanjutnya diimplementasikan menggunakan bahasa pemrograman yang telah ditentukan. Pada tahapan ini juga terdapat pengujian sistem yang bertujuan untuk menilai dan menguji sistem yang dibuat agar dapat memberi masukan kepada pengembangan sistem selanjutnya.

4.1.1 Implementasi Perangkat Keras

Spesifikasi perangkat keras (hardware) yang digunakan untuk membangun analisis sentimen terhadap tweet yang ditujukan kepada provider telekomunikasi menggunakan metode klasifikasi Naive Bayes dapat dilihat pada tabel berikut :

Tabel 4.1. Implementasi Perangkat Keras

No Perangkat Keras Spesifikasi

1 Processor Processor Core i5 Kecepatan 2.8 GHz

2 Monitor Monitor Resolusi 1366x768

3 Graphic Card VGA 512 MB

4 Harddisk Free Space 100 MB

5 Memory RAM 2 GB

6 Mouse Standar

7 Keyboard Standar

4.1.2 Implementasi Perangkat Lunak

(22)

Tabel 4.2. Implementasi Perangkat Lunak

No Perangkat Lunak Spesifikasi

1 Sistem Operasi Microsoft Windows 7

2 Aplikasi Compiler Microsoft Visual Studio 2012

3 DBMS MySQL

4.1.3 Implementasi Database

Implementasi database merupakan tahapan pembuatan basis data (database) menggunakan MySQL yang telah dirancang agar dapat menunjang kebutuhan sistem. Berikut adalah implementasi database yang digunakan :

Tabel 4.3. Implementasi Database

No Proses Syntax

1 Pembuatan Database CREATE DATABASE

db_analisis_sentimen;

2 Tabel data latih tweet CREATE TABLE IF NOT EXISTS `data_latih_tweet` (

`id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(30) NOT NULL,

`tanggal` date NOT NULL, `jam` time NOT NULL,

`tweet_text` varchar(200) NOT NULL, `kategori` varchar(10) NOT NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

3 Tabel data latih sentimen CREATE TABLE IF NOT EXISTS `data_latih_sentimen` (

`id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(30) NOT NULL,

`tanggal` date NOT NULL, `jam` time NOT NULL,

`tweet_text` varchar(200) NOT NULL, `sentimen` varchar(10) NOT NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

4 Tabel data uji CREATE TABLE IF NOT EXISTS `data_uji` (

`id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(30) NOT NULL,

`tanggal` date NOT NULL, `jam` time NOT NULL,

`tweet_text` varchar(200) NOT NULL, `sentimen` varchar(10) NOT NULL, PRIMARY KEY (`id`)

(23)

Tabel 4.4. Implementasi Database (Lanjutan)

No Proses Syntax

5 Tabel dt data latih CREATE TABLE IF NOT EXISTS `dt_data_latih` (

`id` int(4) NOT NULL, `kata` varchar(20) NOT NULL, `sentimen` varchar(10) NOT NULL, `pro_pos` double NOT NULL, `pro_neg` double NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

6 Tabel bobot CREATE TABLE IF NOT EXISTS `dt_data_uji` (

`id` int(11) NOT NULL, `kata` varchar(30) NOT NULL, `tf` int(11) NOT NULL, `tfidf` double NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

7 Tabel tb_stoplist CREATE TABLE IF NOT EXISTS `tb_stoplist` (

`id_stoplist` int(10) NOT NULL AUTO_INCREMENT, `stoplist` varchar(50) NOT NULL,

PRIMARY KEY (`id_stoplist`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

8 Tabel tb_rootword CREATE TABLE IF NOT EXISTS `tb_rootword` (

`id_ktdasar` int(10) NOT NULL AUTO_INCREMENT, `rootword` varchar(20) NOT NULL,

`tipe_katadasar` varchar(20) NOT NULL, PRIMARY KEY (`id_ktdasar`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

9 Tabel emot CREATE TABLE IF NOT EXISTS `emot` (

`id` int(11) NOT NULL AUTO_INCREMENT, `emo` varchar(5) NOT NULL,

`string` varchar(20) NOT NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

4.1.4 Implementasi Antarmuka

Implementasi antarmuka merupakan tahapan yang dihasilkan dari perancangan antarmuka pada tahap sebelumnya. Berikut adalah nama antarmuka, deskripsi, dan nama file yang digunakan pada implementasi antarmuka.

Tabel 4.5. Implementasi Antarmuka

No Nama Antarmuka Deskripsi Nama File

1 Menu Menampilkan halaman menu

utama

Menu.cs

2 Visualisasi Klasifikasi Menampilkan grafik hasil

klasifikasi dalam bentuk diagram pie

VisualisasiKlasifikasi.cs

3 Klasifikasi Menampilkan halaman proses

klasifikasi

Klasifikasi.cs

4 Pelatihan Menampilkan halaman proses

pelatihan

(24)

Tabel 4.6. Implementasi Antarmuka (Lanjutan)

No Nama Antarmuka Deskripsi Nama File

5 Crawling Menampilkan halaman

crawling tweet

Crawling.cs

4.2 Pengujian Sistem

Pengujian sistem bertujuan untuk menilai tingkat kesesuaian antara hasil klasifikasi terhadap data uji yang dilakukan oleh sistem dengan hasil klasifikasi secara manual. Pengujian terhadap hasil dari klasifikasi pada penelitian ini menggunakan metode confusion matrix.

4.2.1 Pengujian Black Box

Pengujian Black Box merupakan pengujian terhadap fungsionalitas dari perangkat lunak yang dibangun terhadap implementasi pengunannya. Skenario pengujian yang dilakukan adalah sebagai berikut :

Tabel 4.7. Skenario Pengujian No Komponen yang diuji Poin Pengujian

1 Proses Crawling Melakukan proses crawling tweet dan menyimpannya

ke dalam database

2 Proses Pelatihan Melakukan pelatihan untuk membuat data latih tweet

relevan, nonrelevan dan tweet sentimen.

3 Proses Klasifikasi Melakukan klasifikasi tweet relevan, nonrelevan dan

klasifikasi tweet sentimen.

4 Proses Visualisasi dari

klasifikasi

Menampilkan hasil klasifikasi dalam bentuk diagram pie pada rentang waktu yang telah ditentukan.

1. Pengujian Crawling

Tabel 4.8. Pengujian Crawling Kasus dan Hasil Uji (Terkoneksi Internet)

Masukan Prosedur Pengujian Hasil yang

diharapkan

Pengamatan Kesimpulan

Tidak ada Memastikan dapat

(25)

Tabel 4.9. Pengujian Crawling (Lanjutan) Kasus dan Hasil Uji (Tidak Terkoneksi Internet)

Tidak ada Memastikan dapat

mengakases internet

Tabel 4.10. Pengujian Pelatihan Kasus dan Hasil Uji (Data benar)

Masukan Prosedur Pengujian Hasil yang

diharapkan

Pengamatan Kesimpulan

Data tweet Menekan tombol

Pelatihan dan

Kasus dan Hasil Uji (Data Salah)

Data tweet Menekan tombol

Pelatihan dan

Tabel 4.11. Pengujian Klasifikasi Kasus dan Hasil Uji (Data Benar)

Masukan Prosedur Pengujian Hasil yang

diharapkan

Pengamatan Kesimpulan

Data Tweet Memastikan

menekan tombol

Kasus dan Hasil Uji (Data Salah)

Data Tweet Memastikan

(26)

4. Pengujain Visualisasi Klasifikasi

Tabel 4.12. Pengujian Visualisasi Klasifikasi Kasus dan Hasil Uji (Data benar)

Masukan Prosedur

Kasus dan Hasil Uji (Data salah) Data tweet

4.2.2 Pengujian Confusion Matrix

Pada pengujian klasifikasi terhadap tweet relevan dan non relevan digunakan data uji sebanyak 150 tweet relevan, 150 tweet non relevan. Sedangkan untuk tweet yang mengandung sentimen teridiri dari 150 tweet positif dan 150 negatif yang diperoleh pada periode bulan September 2014 sampai dengan bulan Januari 2015. Hasil klasifikasi dapat dilihat pada lampiran C.

Berikut adalah grafik dari hasil klasifikasi sentimen pada periode bulan September 2014 sampai bulan Januari 2015.

(27)

Tabel 4.13. ConfusionMatrix Hasil Klasifikasi Tweet

Precision Kelas Relevan = 111

111+ 9= 0. 4

Precision Kelas Non Relevan = 1

1 +1 = 0. 0

Tabel 4.14. ConfusionMatrix Hasil Klasifikasi Sentimen Predicted Class

Precision Kelas Positif = 1

1 + = 0. 6

Precision Kelas Negatif = 1

1 + = 0. 7

4.3 Kesimpulan Pengujian

Berdasarkan dari pengujian yang telah dilakukan terhadap kasus uji, maka dapat disimpulkan :

Jika terkoneksi internet dengan baik dan data tweet latih serta tweet uji tersedia maka sistem secara fungsional akan mengeluarkan keluaran sesuai dengan harapan.

(28)
(29)

81

Pada bab ini akan dikemukakan kesimpulan yang dapat diperoleh dari pembahasan pada bab-bab sebelumnya serta saran untuk perbaikan dan pengembangan lebih lanjut.

5.1 Kesimpulan

Berdasarkan hasil yang diperoleh dari penelitian dan penyusunan skripsi ini , serta disesuaikan dengan tujuannya, maka diperoleh kesimpulan bahwa sistem analisis sentimen yang dibangun dengan menggunakan metode Naive Bayes Classifier dapat melakukan klasifikasi opini positif dan negatif terhadap tweet yang ditujukan kepada akun twitter provider telekomunikasi dengan tingkat akurasi mencapai 96%.

5.2 Saran

Saran untuk pengembangan lebih lanjut adalah dengan perbaikan atau penambahan fitur sebagai berikut :

1. Penambahan jumlah data latih tweet relevan, non relevan dan tweet sentimen sehingga hasil klasifikasi diharapkan menjadi lebih baik dan akurasinya meningkat.

(30)

NIM : 10110433

Tempat/Tanggal Lahir : Bandung/03 Februari 1992 Jenis Kelamin : Laki-laki

Agama : Islam

Alamat : Jalan Babakan Sukaresik No.05 RT.01, RW.02 Kelurahan Sukagalih, Kecamatan Sukajadi

Kota : Bandung Kode POS: 40163

Telepon : 089696117693

Email

PENDIDIKAN

: solahudin.anwar@gmail.com

1.1998 – 2004 : SD Negeri Caringin 1 2.2004 – 2007 : SMP Negeri 26 Bandung 3.2007 – 2010 : SMK TI Pembangunan Cimahi

4.2010 – 2015 : Program Studi S1 Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer

Universitas Komputer Indonesia, Bandung

Dengan ini Penulis menyatakan bahwa semua informasi yang diberikan dalam dokumen ini adalah benar

Bandung, 21 Februari 2015 Penulis

(31)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

SOLAHUDIN ANWAR

10110433

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

(32)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... x

DAFTAR SIMBOL ... xii

DAFTAR LAMPIRAN ... xv

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 3

1.5.1 Metode Pengumpulan Data ... 3

1.5.2 Metode Pembangunan Perangkat Lunak... 4

1.6 Sistematika Penulisan ... 5

BAB 2 TINJAUAN PUSTAKA ... 7

2.1 Analisis Sentimen ... 7

2.2 Klasifikasi ... 8

2.3 Information Retrieval ... 8

2.3.1 Preprocessing ... 8

2.4 Support Vector Machine ... 13

2.5 Naive Bayes Classifier ... 14

2.6 Pembobotan Kata ... 16

2.7 Confusion Matrix ... 16

2.8 Object Oriented Programming ... 17

2.8.1 Unified Modelling Language (UML) ... 18

(33)

vi

3.1.3 Analisis Preprocessing ... 25

3.1.4 Analisis Pembobotan Kata ... 29

3.1.5 Analisis Support Vector Machine... 30

3.1.6 Analisis Naive Bayes Classifier ... 36

3.2 Spesifikasi Kebutuhan Perangkat Lunak ... 39

3.2.1 Analisis Kebutuhan Non-Fungsional ... 40

3.2.2 Analisis Kebutuhan Perangkat Keras ... 41

3.2.3 Analisis Kebutuhan Perangkat Lunak ... 42

3.3 Analisis Kebutuhan Fungsional ... 42

3.3.1 Identifikasi Aktor ... 42

3.3.2 Use Case Diagram ... 42

3.3.3 Activity Diagram ... 54

3.3.4 Sequence Diagram ... 60

3.3.5 Class Diagram ... 66

3.4 Perancangan Arsitektur Sistem... 67

3.4.1 Perancangan Database ... 67

3.4.2 Perancangan Struktur Menu ... 68

3.4.3 Perancangan Antarmuka ... 68

3.4.4 Jaringan Semantik ... 71

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 73

4.1 Implementasi Sistem ... 73

4.1.1 Implementasi Perangkat Keras ... 73

4.1.2 Implementasi Perangkat Lunak ... 73

4.1.3 Implementasi Database ... 74

4.1.4 Implementasi Antarmuka ... 75

4.2 Pengujian Sistem ... 76

4.2.1 Pengujian Black Box ... 76

(34)

vii

(35)

83

DAFTAR PUSTAKA

[1] I. A. Tarigan, “Pengguna Twitter Indonesia Teraktif Ketiga di Dunia,” CHIP ONLINE, 21 11 2013. [Online]. Available: http://chip.co.id/news/apps-social_media/9030/pengguna_twitter_indonesia_teraktif_ketiga_di_dunia. [Diakses 20 8 2014].

[2] A. Kumar dan T. M. Sebastian, “Sentiment Analysis on Twitter,” IJCSI International Journal of Computer Science Issues,, vol. 9, no. 4, p. 372, 2012.

[3] Herlili dan Y. Wibisono, “Sistem Analisis Opini Microblogging Berbahasa

Indonesia”.

[4] B. Pang, L. Lee dan S. Waithanathan, “Thumbs up? Sentiment Classification

using Machine Learning Techniques,” dalam Proceedings of EMNLP, 2002.

[5] A. Hamzah, “Klasifikasi Teks Dengan Naive Bayes Classifier (NBC) untuk Pengelompokan Teks Berita dan Abstract Akademis,” dalam Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Periode III, Yogyakarta, 2012.

[6] R. S. Pressman, Software Engineering A Practitioner’s Approach Seventh Edition, McGraw-Hill,, 2010.

[7] B. Liu, Sentiment Analysis and Opinion Mining, Morgan & Claypool Publishers, 2012.

[8] C. D. Manning, P. Raghavan dan H. Schütze, Introduction to Information Retrieval, Cambridge, England: Cambridge University Press, 2009.

[9] B. Pang dan L. Lee, “Opinion Mining and Sentiment Analysis,” dalam Foundations and Trends in Information Retrieval Vol. 2,Nos.1–2(2008)1– 135, 2008.

[10] E. Haddi, X. Liu dan Y. Shi, “The Role of Text Pre-processing in Sentiment

Analysis,” dalam Information Technology and Quantitative Management

(36)

84 1, no. 1, pp. 200-206, 2012.

[12] N. Berry, “Emoticon Analysis in Twitter,” DataGenetics, 5 October 2012. [Online].Available:

http://www.datagenetics.com/blog/october52012/index.html. [Diakses 17 October 2014].

[13] L. Agusta, “Perbandingan Algoritma Stemming Porter dengan Algoritma

Nazief & Adriani untuk Stemming Dokumen Teks Bahasa Indonesia,”

Konferensi Nasional Sistem dan Informatika, vol. KNS&I09, p. 36, 2009.

[14] B. Santosa, “Tutorial Support Vector Machine,” [Online]. Available: http://oc.its.ac.id/ambilfile.php?idp=1223. [Diakses 3 October 2014].

[15] D. Ventura, “SVM Example,” 16 April 2009. [Online]. Available: http://axon.cs.byu.edu/Dan/478/misc/SVM.example.pdf. [Diakses 1 Oktober 2014].

[16] S. Visa, B. Ramsay, A. Ralescu dan E. v. d. Knaap, “Confusion Matrix-based

Feature Selection,” Midwest Artificial Intelligence and Cognitive Science

Conference 2011, vol. 710, pp. 120-127, 2011.

[17] A. Jose, “2014, XL Capai 68 Juta Pelanggan,” Okezone, 12 Juni 2014. [Online].Available:

(37)

iii

atas semua nikmatnya penulis dapat menyelesaikan penulisan skripsi yang berjudul “Analisis Sentimen Pada Akun Twitter Provider Telekomunikasi”.

Penyusunan skripsi ini banyak menemui hambatan dan kesulitan. Namun berkat dorongan, bantuan dan bimbingan baik secara moril ataupun materil dari berbagai pihak hingga dapat mengatasinya. Oleh karena itu kepada semua pihak yang telah membantu dalam penyelesaian skripsi ini disampaikan penghargaan dan ucapan terima kasih khususnya kepada yang terhormat:

1. Allah SWT yang telah melimpahkan rahmat, berkah dan karunia-Nya.

2. Kedua orang tua, kakak, dan nenek yang tidak kenal lelah memberikan doa, dukungan, dan semangat yang yang menjadi kekuatan bagi penulis untuk menyelesaikan penelitian ini.

3. Ibu Nelly Indriani W, S.Si., M.T., selaku dosen pembimbing yang telah bersedia meluangkan waktu, tenaga dan pikirannya serta memberikan pengarahan dan masukan dalam penyusunan penelitian ini.

4. Bapak Eko Budi Setiawan, S.Kom., M.T. selaku dosen penguji seminar dan penguji satu sidang yang telah banyak memberi masukan dan arahan berarti bagi penelitian ini.

5. Ibu Riani Lubis, S.T., M.T. selaku dosen penguji tiga sidang yang telah menguji dan memberikan masukan serta arahan terhadap penulis.

6. Ibu Sufaatin, S.T., M.Kom., selaku dosen wali yang telah memberikan bimbingan, dukungan dan arahan selama penulis kuliah di Program Studi Teknik Informatika Universitas Komputer Indonesia.

7. Teman-teman IF-10 angkatan 2010 atas dukungan ,semangat dan kebersamaan yang telah terjalin selama ini, terutama untuk Iwan, Rio, dan Aprisal yang telah membagikan ilmu dan sarannya terhadap pengerjaan penelitian ini.

(38)

iv

Bandung, 21 Februari 2015

(39)
(40)
(41)

Gambar

Gambar 1.1.  Skema Prototype [6]
Tabel 2.1. Normalisasi Fitur
Tabel 2.2. Emoticon [12]
Gambar 2.1. Pemisah data relevan dan tidak relevan
+7

Referensi

Dokumen terkait

1) Gaya-gaya dalam yang timbul pada kabel semakin besar dengan urutan formasi kabel tipe fan-semiharf-harf. Panjang kabel semakin membesar pada formasi kabel tipe harf-

Nilai hasil analisis kadar bahan organik tanah paling tinggi ditunjukkan pada perlakuan P3 (pemberian pupuk kandang dengan dosis 5 ton/ha).. Pengaruh pupuk

Penelitian ini membuat sebuah sistem yang dapat melakukan analisis sentimen pengguna twitter terhadap tokoh publik secara real time dengan menggunakan Twitter

Hasil uji One way anova diperoleh nilai p value 0.001 (&lt; α 0.05), hal ini diisimpulkan bahwa ada pengaruh yang signifikan antara getah jarak cina

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

Rem tromol adalah salah satu konstruksi rem yang cara pengereman kendaraan dengan menggunakan tromol rem (brake drum), sepatu rem (brake shoe), dan silider roda

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

Judul Skripsi : Analisis Sentimen Terhadap Akun Twitter Samsung Indonesia Dengan Metode Naïve Bayes Sebenarnya, saya di sini untuk mengatakan bahwa penulisan risalah