Penerapan metode decision tree untuk analisis sentimen pada acara televisi Indonesia

(1)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Pada zaman teknologi informasi saat ini, perkembangan dunia pertelevisian di Indonesia ditandai dengan semakin banyaknya stasiun televisi yang mengudara baik yang bersifat nasional ataupun lokal. Program acara yang ditawarkan oleh stasiun televisi pun semakin banyak dan beranekaragam. Dari sekian banyak program acara belum tentu semuanya sama kualitasnya, perlu adanya suatu pengetahuan mengenai kualitas suatu acara televisi yang ada di Indonesia. Salah satu caranya adalah melalui pendapat pemirsanya.

Media sosial merupakan media yang sering digunakan untuk menuangkan pendapat mengenai acara-acara televisi. Salah satu media yang digunakan adalah Twitter. Sederhana dan mudah untuk digunakan merupakan beberapa alasan mengapa Twitter lebih digemari masyarakat Indonesia dalam berkomunikasi. Sebagai informasi, Indonesia sendiri memiliki pengguna aktif twitter sebanyak 20 juta [1]. Tentu saja, hal tersebut bisa membuat pengguna yang melihat tertarik dan terpengaruh dari perbincangan yang lagi ramai dibahas seperti acara televisi. Informasi berupa pendapat atau opini yang terkandung dalam tweet tersebut sangat berharga sebagai bahan referensi yang bisa digunakan untuk mengetahui kualitas acara televisi. Oleh karena itu diperlukan suatu metode khusus agar pendapat tersebut dapat digunakan untuk membuat suatu kesimpulan referensi. Hal ini bisa dilakukan dengan menggunakan analisis sentimen.

Analisis sentimen bisa digunakan dalam menganalisis pendapat pemirsanya. Fokus utama dari analisis sentimen adalah untuk menyatakan mana yang termasuk opini positif dan mana yang termasuk opini negatif [2]. Dengan menggunakan teknik klasifikasi hal tersebut bisa dilakukan.

Salah satu metode yang digunakan untuk klasifikasi adalah metode klasifikasi Decision Tree. Decision Tree adalah sebuah pohon dimana setiap node cabang merupakan pilihan antara sejumlah alternatif, dan setiap simpul daun merupakan keputusan. Decision Tree biasanya digunakan untuk mengklasifikasikan dokumen


(2)

teks dengan akurasi yang lebih baik dibandingkan dengan metode naïve Bayes dan KNN [3]. Tetapi pada penelitian ini penulis mencoba menerapkan motode Decision Tree dalam mengklasifikasikan sentimen yang ada di media sosial twitter.

Berdasarkan latar belakang diatas, maka peneliti tertarik untuk melakukan

penelitian dengan judul “Penerapan Metode Decision Tree Untuk Analisis Sentimen Pada Acara Televisi Indonesia”.

1.2 Perumusan Masalah

Dalam tugas akhir ini, penulis akan merancang dan membangun sistem yang akan melakukan proses klasifikasi sentimen tentang acara televisi di Twitter. Rumusan masalah yang akan dibuat oleh sistem secara garis besar adalah sebagai berikut:

1. Bagaimana menerapkan metode Decision Tree untuk klasifikasi sentimen yang ada di media sosial Twitter?

2. Berapa persen tingkat akurasi dari penerapan Decision Tree dari klasifikasi sentimen yang ada di media sosial twitter?

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah mengklasifikasikan sentimen publik mengenai acara-acara televisi di indonesia menggunakan metode Decision Tree.

Adapun tujuan dari penelitian ini adalah sebagai berikut:

1. Menunjukkan apakah Decision Tree dapat digunakan dalam mengklasifikasikan sentiment ke dalam kelas positif dan negatif.

2. Mengukur tingkat akurasi klasifikasi sentimen yang dihasilkan oleh Decision Tree.


(3)

1.4 Batasan Masalah

Dalam penulisan penelitian ini terdapat batasan-batasan, agar permasalahan tidak terlalu melebar adapun batasan-batasan yang telah di tentukan adalah sebagai berikut :

1. Metode Klasifikasi untuk membuat Decision Tree yang digunakan dalam penelitian ini adalah C4.5.

2. Data twitter akan diklasifikasikan ke dalam dua kelas yaitu positif dan negatif. 3. Data didapat langsung dari twitter memanfaatkan Twitter API.

4. Hasil klasifikasi disajikan dalam bentuk diagram. 5. Dilakukan klasifikasi secara Real Time.

6. Diambil 100 tweet dalam sekali crawling acara televisi.

7. Pendekatan analisis pembangunan perangkat lunak menggunakan analisis OOP.

1.5 Metodologi Penelitian

Metode yang digunakan dalam penulisan laporan ini menggunakan dua metode, yaitu metode pengumpulan data dan metode pembangunan perangkat lunak.

1.5.1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam membantu penelitian ini menggunakan dua cara, yaitu dengan cara studi literatur dan dokumen.

1. Studi Literatur

Mengumpulkan literatur, jurnal, dan bacaan-bacaan yang berhubungan dengan judul penelitian.

2. Pengumpulan Data (Obersevasi)

Mengumpulkan training dan testing data yang diambil dari sosial media twitter secara langsung.


(4)

1.5.2 Pembangunan Perangkat Lunak

Pembangunan perangkat lunak ini menggunakan model klasik yang bersifat sistematis, berurutan dalam membangun software. Berikut ini tahapan dari model waterfall (air terjun) menurut Pressman [4]:

1. Communication

Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap untuk mengadakan pengumpulan data dengan melakukan pertemuan dengan ahli, maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel, maupun dari internet.

2. Planning

Proses planning merupakan lanjutan dari proses communication (analysis requirement). Tahapan ini akan menghasilkan dokumen user requirement atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan software, termasuk rencana yang akan dilakukan.

3. Modeling

Proses modeling ini akan menerjemahkan syarat kebutuhan ke sebuah perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada rancangan struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirement.

4. Construction

Construction merupakan proses membuat kode. Coding atau pengkodean merupakan penerjemahan desain dalam bahasa yang bisa dikenali oleh komputer. Programmer akan menerjemahkan transaksi yang diminta oleh user. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu software, artinya penggunaan komputer akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang telah dibuat


(5)

tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut untuk kemudian bisa diperbaiki.

5. Deployment

Tahapan ini bisa dikatakan final dalam pembuatan sebuah software atau sistem. Setelah melakukan analisis, desain dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan pemeliharaan secara berkala.

Gambar 1.1 Waterfall [4]

1.6 Sistematika Penulisan

Sistematika penulisan proposal penelitian ini untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut:

BAB 1 PENDAHULUAN

Bab ini menguraikan latar belakang permasalahan, merumuskan inti permasalahan, mencari solusi atas masalah tersebut, menentukan maksud dan tujuan pembatasan masalah, dan sistematika penulisan dari penelitian mengenai analisis sentimen ini.

BAB 2 LANDASAN TEORI

Bab ini mengkaji dan menggunakan berbagai konsep dari teori-teori dari para ahli yang berkaitan dengan topik penelitian yaitu analisis sentimen. Antara lain Acara telelvisi Indonesia, Metode klasifikasi Sentimen, Perangkat Lunak yang digunakan untuk membangun sistem.


(6)

BAB 3 ANALISIS DAN PERCANGAN SISTEM

Bab ini menganalisis masalah sentimen acara televisi di indoensia untuk mengetahui hal atau masalah apa yang timbul kemudian memecahkan permasalahan tersebut dengan menggunakan metode klasifikasi yang ada pada bab sebelumnya. Sedangkan perancangan adalah suatu tahap pada penelitian dimana perangkat yang digunakan ditentukan, mengidentifikasi data yang digunakan terhadap objek yang dirumuskan.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini menjelaskan proses penerapan pada bab sebelumnya yang telah dipersiapkan untuk selanjutnya diimplementasikan menjadi perangkat lunak sehingga didapatkan informasi tentang sentimen positif dan negatif.

BAB 5 KESIMPULAN DAN SARAN

Bab ini berisi mengenai kesimpulan tentang keseluruhan dari penelitian dan saran untuk kemungkinan penelitian selanjutnya.


(7)

7 2.1 Program Acara Televisi

Acara televisi atau program televisi merupakan acara-acara yang ditayangkan oleh stasiun televisi. Secara garis besar, program Televisi dibagi menjadi program berita dan program berita. Adapun jenis-jenis acara non-berita adalah sebagai berikut:

1. Talkshow

Talkshow atau perbincangan adalah program yang menampilakan satu atau beberapa orang untuk membahas topik tertentu yang di pandu oleh seorang pembawa acara (host). Mereka yang di undang adalah orang-orang yang berpengalaman langsung dengan satu peristiwa atau ahli dalam masalah yang tengah di bahas. Contoh acara talkshow di Indonesia seperti acara Ini talkshow pada stasiun .Net, MataNajwa di MetroTV.

2. Quiz Show/ Game Show

Quiz Show adalah bentuk permainan yang paling sederhana di mana sejumlah peserta saling bersaing untuk menjawab sejumlah pertanyaan. Quiz Show/Game Show adalah jenis program televisi di mana anggota masyarakat, pesohor atau selebriti, kadang-kadang sebagai bagian dari tim, memainkan permainan yang melibatkan menjawab pertanyaan atau memecahkan teka-teki biasanya untuk uang dan/atau hadiah. Pada beberapa menunjukkan kontestan bersaing dengan pemain lain atau tim lain, sementara lainnya menunjukkan melibatkan kontestan bermain sendirian untuk hasil yang baik atau nilai tinggi. Contoh acara Quiz show di Indonesia seperti Deal or No Deal di RCTI, 1 lawan 100 di Indosiar, 24 Hour Quiz show di MetroTV.

3. Reality show

Relaity Show adalah program yang menyajikan suatu situasi konflik, persaingan atau hubungan berdasarkan realitas sebenarnya. Program ini


(8)

menyajikan situasi sebagaimana apa adanya, keadaan yang nyata dengan cara sealamiah mungkin tanpa rekayasa. Tingkat realitas yang disajikan reality show bermacam-macam. Mulai dari yang betul-betul reality hidden camera hingga yang terlalu banyak rekayasa namun tetap menggunakan reality show dengan tujuan menaikkan penjualan. Contoh acara reality show di Indonesia seperti Super Trap di Trans 7, Master Chef Indonesia di RCTI, Jebakan Bataman di SCTV.

4. Opera Show

Opera merupakan drama yang menyajikan cerita dari berbagai tokoh secara bersamaan. Masing-masing tokoh memiliki alur cerita sendiri tanpa harus di rankum menjadi satu kesimpulan. Contoh acara Opera show di Indonesia seperti Opera Van Java.


(9)

2.2 Twitter

Twitter adalah salah satu layanan micro-blogging popular yang memungkinkan penggunanya untuk membuat status (disebut tweet). Banyak pengguna twitter yang mengutarakan berbagai pendapat atau opini akan sebuah produk, layanan atau hal lainnya. Adapun keunggulan Twitter dibandingkan media sosial lainnya sebagai berikut:

1. Sederhana

Tweet yang hanya memuat 140 karakter memudahkan dalam pengiriman melalui sms ataupun email.

2. Fleksibel

Anda bisa menulis tweet melalui banyak program dan perangkat.

3. Hot News

Tweet langsung diumumkan ke seluruh pemakai twitter.

4. Tanpa Batas

Anda bisa melihat semua tweet orang tanpa harus menjadi teman terlebih dahulu.

5. Privasi

Tweet menyediakan layanan komunikasi langsung ke sesame pengguna twitter tanpa terbaca pengguna lainnya. Ini cocok untuk komunikasi bersifat prifat.

6. Trending Topic

Trending topic adalah topik-topik yang sedang ramai dibicarakan oleh tweeps, biasanya ditampilkan 10 list di sidebar kiri timeline. Trending topik bisa bermanfaat bagi corporate branding dalam target pemasaran mereka, bisa pula bermanfaat bagi politikus untuk melihat isu-isu aktual, dan bermanfaat untuk siapa saja dalam mengikuti trend global, contohnya rilis film terbaru. Dan masih banyak manfaat lainnya.


(10)

7. Multi-link

Tweet bisa dihubungkan dengan aplikasi lain seperti facebook atau wordpress. Hal ini membuat jaringan jauh lebih luas dibandingkan jaringan lain.

Gambar 2.2 Twitter logo

2.3 Text Mining

Text mining (penambangan teks) adalah penambangan yang dilakukan oleh komputer untuk mendapatkan sesuatu yang baru, sesuatu yang tidak diketahui sebelumnya atau menemukan kembali informasi yang tersirat secara implisit, yang berasal dari informasi yang diekstrak secara otomatis dari sumber-sumber data teks yang berbeda-beda [5]. Text mining merupakan teknik yang digunakan untuk menangani masalah klasifikasi, clustering, information extraction dan information retrival [6].

Pada dasarnya proses kerja dari text mining banyak mengapdopsi dari penelitian Data Mining namun yang menjadi perbedaan adalah pola yang digunakan oleh text mining diambil dari sekumpulan bahasa alami yang tidak terstruktur sedangkan dalam data mining pola yang diambil dari database yang terstruktur [7]. Adapun Kegunaan Text mining adalah salah satu diantaranya adalah analisis sentimen.


(11)

2.4 Analisis Sentimen

Definisi opini menurut kamus besar bahasa indonesia sangat sederhana, yaitu pendapat, pikiran, atau pendirian. Sedangkan definisi sentimen adalah opini yang didalamnya mengandung perasaan atau emosi. Contoh opini adalah

“Menurut saya, besok akan turun hujan”, sedangkan contoh sentimen adalah

Saya menyukai kamera Nikon D3100’.

Analisis Sentimen atau opinion mining mengacu pada bidang yang luas dari pengolahan bahasa alami, komputasi linguistik dan text mining yang bertujuan menganalisa pendapat, sentimen, evaluasi, sikap, penilaian dan emosi seseorang apakah pembicara atau penulis berkenaan dengan suatu topik, produk, layanan, organisasi, individu, ataupun kegiatan tertentu [2].

Tugas dasar dalam analisis sentimen adalah mengelompokkan teks yang ada dalam sebuah kalimat atau dokumen kemudian menentukan pendapat yang dikemukakan dalam kalimat atau dokumen tersebut apakah bersifat positif, negatif atau netral. Analisis Sentimen juga dapat menyatakan perasaan emosional sedih, gembira, atau marah.

Tahap-tahap dari analisis sentimen sebagai berikut: 1. Preprocessing

2. Ekstraksi Fitur 3. Klasifikasi

2.4.1 Preprocessing

Preprocessing merupakan proses menggali, mengolah, mengatur informasi dengan cara menganalisis hubungannya, aturan-aturan yang ada di data tekstual semi terstruktur atau tidak terstruktur. Untuk lebih efektif dalam proses pemrosesan dilakukan langkah transformasi data ke dalam suatu format yang memudahkan untuk kebutuhan pemakai. Proses ini disebut preprocessing dokumen. Setelah dalam bentuk yang lebih terstruktur dengan adanya proses


(12)

diatas data dapat dijadikan sumber data yang dapat diolah lebih lanjut. Sama halnya preprocessing pada Information Retrieval (IR), tahapannya terdiri dari, case folding, cleansing, tokenizing, stopword removal dan stemming. Namun pada preprocessing analisis sentimen, ada tambahan tahapan seperti convert emoticon dan convert negation.

1. Convert Emoticon

Convert Emoticon merupakan salah satu cara pengungkapan ekspresi perasaan secara tekstual. Hal tersebut akan membantu dalam menentukan sentimen dalam suatu kalimat atau tweet sekalipun. Setiap emoticon akan dikonversikan ke dalam string yang bersesuaian. Jenis emoticon yang akan diproses oleh adalah emoticon western style, dikarenakan jenis tersebut banyak digunakan atau menjadi standar di semua platform seperti web ataupun mobile. Pada Tabel 2.1 dijelaskan arti dari emoticon western style secara umum.

Tabel 2.1 Daftar Emoticon yang mau dikonversi

Emoticon Deskripsi

:-) :) :o) :] :3 :c) :> =] 8) =) :} :^) :っ) Senang

:-D :D 8-D 8D x-D xD X-D XD =-D =D =-3 =3 B^D Ketawa

:-|| :@ >:( Benci

:$ >:[ :-( :( :-c :c :-< :っC :< :-[ :[ :{ ;( :'-( :'(D:< D: D8 D; D= DX v.v D-': Kecewa

<3 ;-) ;) *-) *) ;-] ;] ;D ;^) :-, Suka

Untuk lebih jelasnya pada Tabel 2.2 dijelaskan contoh penerapan Convert Emoticon.

Tabel 2.2 Contoh Penerapan Convert Emoticon Tweet

Sebelum Sesudah

Pindah dulu ke @Ini_Talkshow cuyyyy bentar lg ada Haruka :3 #MinFre

Pindah dulu ke @Ini_Talkshow cuyyyy bentar lg ada Haruka senang #MinFre

2. Cleansing

Cleansing merupakan proses membersihkan kata-kata yang tidak diperlukan untuk mengurangi noise. Kata yang dihilangkan adalah URL, hashtag (#),


(13)

username (@username), dan email. Selain itu juga tanda baca seperti titik(.), koma(,), dan tanda baca yang lainnya akan dihilangkan. Pada Tabel 2.3 dijelaskan contoh penerapan dari cleansing:

Tabel 2.3 Contoh Penerapan Cleansing Tweet

Sebelum Sesudah

Rasanya ini acara terbaik yang perna tak

tonton so far @MataNajwa

#5TahunMataNajwa

Rasanya ini acara terbaik yang perna tak tonton so far

3. Case Folding

Case folding merupakan tahapan merubah bentuk kata-kata menjadi sama bentuknya, semuanya menjadi lower case. Pada Tabel 2.4 dijelaskan contoh dari penerapan proses case folding.

Tabel 2.4 Contoh Penerapan Case Folding Tweet

Sebelum Sesudah

Rasanya ini acara terbaik yang perna tak tonton so far

rasanya ini acara terbaik yang perna tak tonton so far

4. Convert Negation

Seperti halnya ilmu matematika, dalam bahasa terdapat kata yang dapat membalikan arti dari kata tersebut atau bersifat negasi. Kata-kata yang bersifat

negasi adalah “kurang”, “tidak”,“enggak”, “ga”, “nggak”, “tak”, dan “gak”. Pada Tabel 2.5 dijelaskan contoh dari penerapan proses Convert Negation.

Tabel 2.5 Contoh Penerapan Convert Negation Tweet

Sebelum Sesudah

gak sabar nunggu acara ini talk show mulainya apalagi klo ada

gak_sabar nunggu acara ini talk show mulainya apalagi klo ada


(14)

5. Tokenizing

Tokenizing bekerja untuk mengidentifikasi kata-kata dalam teks menjadi beberapa urutan yang terpotong oleh spasi atau karakter spesial. Berikut pada Tabel 2.6 contoh penerapan dari tokenizing.

Tabel 2.6 Contoh Penerapan Tokenizing Tweet

Sebelum Sesudah

gak_sabar nunggu acara ini talk show mulainya apalagi klo ada

String 1 : gak_sabar String 2 : nunggu String 3 : acara String 4 : ini String 5 : talkshow String 6 : mulainya String 7 : apalagi String 8 : klo String 9 : ada

6. Stopping

Stopping berperan untuk membuang kata-kata yang sering muncul dan bersifat umum, kurang menunjukan relevansinya dengan teks. Kata-kata yang akan dibuang tersebut didefinisikan dalam stopword list. Contoh beberapa kata yang sering masuk ke dalam stopword list adalah “sebuah”, “yang”, dan “itu”. Berikut Tabel 2.7 adalah beberapa daftar stoplist yang disimpan dalam database.

Tabel 2.7 Stoplist

Masih Dong ke Ada Yoi

Malam Ya loe Pada Yang

Ini Dan juga Kita Saya

untuk Dari bagi Iya di mana kapan Bisa mana Itu Sih sudah Tak dengan Anda Begitu entah Lalu yuk Aku Adalah gue Nanti tunggu Tau Kemarin


(15)

Berikut pada Tabel 2.8 contoh penerapan dari Stopping. Tabel 2.8 Contoh Penerapan Stopping

Tweet

Sebelum Sesudah

rasanya ini acara terbaik yang perna tak

tonton so far

rasanya acara terbaik perna tonton so far

7. Stemming

Stemming adalah tahapan untuk membuat kata yang berimbuhan kembali ke

bentuk asalnya. Contohnya kata “menginspirasi” setelah melewati tahap ini maka

akan menjadi “inspirasi”. Pada Tabel 2.9 dijelaskan contoh dari penerapan proses stemming.

Tabel 2.9 Contoh Penerapan Stemming Tweet

Sebelum Sesudah

rasanya acara terbaik perna tonton so far rasanya acara baik perna tonton so far

Ada banyak algoritma yang digunakan untuk melakukan proses stemming, khususnya stemming bahasa indonesia. Seperti Algoritma Nazief dan Andriani, algoritma Arifin dan Setiono, algoritma Vega, Algoritma Tala, Algoritma Porter, Algoritma Porter[17].

2.4.2 Ekstraksi Fitur (Feature Extraction)

Berdasarkan tujuan dan tugas pokok, analisis sentimen bisa dibagi menjadi 5 bagian.

1. Ekstraksi dan pengelompokan entitas

Mengekstraksi semua ekspresi entitas dari dokumen dan pengelompokan entitas tersebut. Karena memungkinkan untuk satu entitas ada dua penulisan berbeda.


(16)

2. Ekstraksi dan pengelompokan aspek

Aspek kategori merepresentasikan aspek yang unik dari entitas. Sementara ekspresi aspek kata atau frasa yang muncul mengindentifikasikan kategori aspek. Ekspresi aspek bisa berbentuk kata benda, kata kerja, kata sifat, atau keterangan.

3. Ekstraksi dan pengelompokan pemilik opini

Mengekstraksi pemilik opini dari data yang terstruktur kemudian mengkatagorisasikan. Dapat dianalogikan dengan dua tugas diatas.

4. Ekstraksi dan standarisasi waktu

Mengekstraksi waktu ketika opini dikeluarkan dan melakukan standarisasi format waktu yang berbeda.

5. Klasifikasi aspek sentimen

Menentukan apakah sebuah opini apakah termasuk opini negatif ataukah opini positif.

Namun yang akan digunakan dalam penelitian ini adalah nomer 2 yaitu ekstraksi dan pengelompokkan aspek.

2.4.3 Klasifikasi

Klasifikasi adalah proses pencarian sekumpulan model atau fungsi yang menggambarkan dan membedakan kelas data. Tujuan dari klasifikasi adalah untuk memprediksi kelas dari suatu obyek yang belum diketahui kelasnya.

Klasifikasi memiliki dua proses yaitu membangun model klasifikasi dari sekumpulan kelas data yang sudah didefinisikan sebelumnya (training data set) dan menggunakan model tersebut untuk klasifikasi tes data (prediction) serta mengukur akurasi dari model.


(17)

Klasifikasi dapat dimanfaatkan dalam berbagai aplikasi seperti diagnosa medis, selective marketing, pengajuan kredit perbankan, email dan analisis sentimen. Klasifikasi dapat disajikan dalam berbagai macam model klasifikasi seperti decision trees, naïve bayes classifier, k-nearest-neighbourhood classifier, neural network dan lain-lain.

Gambar 2.3 Teknik Klasifikasi [13]

2.4.3.1Decision Trees (Pohon Keputusan)

Dalam decision tree tidak menggunakan vector jarak untuk mengklasifikasikan obyek. Seringkali data observasi mempunyai atribut-atribut yang bernilai nominal. Seperti yang diilustrasikan pada Gambar 2.1, misalkan obyeknya adalah sekumpulan buah-buahan yang bisa dibedakan berdasarkan atribut bentuk, warna, ukuran dan rasa. Bentuk, warna, ukuran dan rasa adalah besaran nominal, yaitu bersifat kategoris dan tiap nilai tidak bisa dijumlahkan atau dikurangkan. Dalam atribut warna ada beberapa nilai yang mungkin yaitu hijau, kuning, merah. Dalam atribut ukuran ada nilai besar, sedang dan kecil. Dengan nilai-nilai atribut ini, kemudian dibuat decision tree untuk menentukan suatu obyek termasuk jenis buah apa jika nilai tiap-tiap atribut diberikan.


(18)

Gambar 2.4 Contoh Pohon Keputusan

Decision tree sesuai digunakan untuk kasus-kasus yang keluarannya bernilai diskrit. Walaupun banyak variasi model decision tree dengan tingkat kemampuan dan syarat yang berbeda, pada umumnya beberapa ciri yang cocok untuk diterapkannya decision tree adalah sebagai berikut :

1. Data dinyatakan dengan pasangan atribut dan nilainya, 2. Label/keluaran data biasanya bernilai diskrit,

3. Data mempunyai missing value (nilai dari suatu atribut tidak diketahui).

Dengan cara ini akan mudah mengelompokkan obyek ke dalam beberapa kelompok. Untuk membuat decision tree perlu memperhatikan hal-hal berikut ini:

1. Atribut mana yang akan dipilih untuk pemisahan obyek, 2. Urutan atribut mana yang akan dipilih terlebih dahulu, 3. Struktur tree,

4. Kriteria pemberhentian , 5. Pruning [8].

Menurut Larose [9] banyak algotima yang dapat dipakai dalam pembentukan pohon keputusan antara lain CART, ID3, dan C4.5. Tetapi yang dijelaskan adalah algoritma C4.5 saja.


(19)

2.4.3.1.1 Algoritma C4.5

Algoritma C4.5 adalah algoritma untuk membuat decision tree berdasarkan training data yang telah disediakan. Cabang-cabang pohon keputusan merupakan pertanyaan klasifikasi dan daun-daunnya merupakan kelas-kelasnya.

Algoritma C4.5 merupakan salah satu algoritma machine learning. Dengan algoritma ini, mesin (komputer) akan diberikan sekelompok data untuk dipelajari yang disebut learning dataset. Kemudian hasil dari pembelajaran selanjutnya akan digunakan untuk mengolah data-data yang baru yang disebut test dataset. Karena algoritma C4.5 digunakan untuk melakukan klasifikasi, jadi hasil dari pengolahan test dataset berupa pengelompokkan data ke dalam kelas-kelasnya [13].

Algoritma C4.5 adalah algoritma hasil pengembangan dari algoritma ID3. Perbaikan algoritma C4.5 dari algoritma ID3 dilakukan dalam hal berikut [13]:

1. Bisa mengatasi missing value, 2. Bisa mengatasi data kontinyu, 3. Pruning,

4. Adanya aturan.

Secara umum Algoritma C4.5 membangun pohon keputusan: a.Pilih atribut sebagai root.

b.Buat cabang untuk masing-masing nilai. c.Bagi kasus dalam cabang.

d.Ulangi proses untuk masing-masing cabang sampai semua kasus pada cabang memiliki kelas yang sama.

Untuk memilih atribut sebagai akar, didasarkan pada nilai gain tertinggi dari atribut-atribut yang ada.

Gain (S,A) = Entropy (S) –∑

(2.1)

Dengan:


(20)

A : Atribut

n : Jumlah partisi Atribut A |Si| : Jumlah kasus pada Partisi ke i |S| : Jumlah kasus dalam S

Semakin kecil nilai Entropy maka semakin baik untuk digunakan dalam mengekstraksi suatu kelas.

Entropy (S) – ∑ (2.2)

Dengan:

S : Himpunan kasus n : Jumlah partisi S

p : Proporsi dari Si terhadap S

Pada tahap pembelajaran algoritma C4.5 memiliki dua prinsip kerja yaitu: 1. Pembuatan pohon keputusan.

Tujuan dari algoritma penginduksi pohon keputusan adalah mengkontruksi struktur data pohon yang dapat digunakan untuk memprediksi kelas dari sebuah kasus atau record baru yang belum memiliki kelas. C4.5 melakukan konstruksi pohon keputusan dengan metode divide and conquer. Pada awalnya hanya dibuat node akar dengan menerapkan algoritma divide and conquer. Algoritma ini memilih pemecahan kasus-kasus yang terbaik dengan menghitung dan membandingkan gain ratio, kemudian node-node yang terbentuk di level berikutnya, algoritma divide and conquer akan diterapkan lagi sampai terbentuk daun-daun.

2. Pembuatan aturan-aturan (rule set).

Aturan-aturan yang terbentuk dari pohon keputusan akan membentuk suatu kondisi dalam bentuk if-then. Aturan-aturan ini didapat dengan cara menelusuri pohon keputusan dari akar sampai daun. Setiap node dan syarat percabangan akan membentuk suatu kondisi atau suatu if, sedangkan untuk nilai-nilai yang terdapat pada daun akan membentuk suatu hasil atau suatu then.


(21)

2.5 Confussion Matrix

Confusion Matrix berisi informasi tentang klasifikasi aktual dan yang telah diprediksi yang dilakukan oleh sistem klasifikasi. Kinerja sistem tersebut umumnya dievaluasi dengan menggunakan data dalam matriks. Tabel berikut menunjukkan confusion matrix untuk klasifikasi dua kelas.

Table 2.1 Confussion Matrix

Confussion Matrix Predicted Class

Positive Negative

Actual Class Positive True Positives False Positives Negative False Negatives Trus Negatives

True positives adalah jumlah record positif yang diklasifikasikan sebagai positif, false positives adalah jumlah record positif yang diklasifikasikan sebagai negatif, false negatives adalah jumlah record negatif yang diklasifikasikan sebagai positif, true negatives adalah jumlah record negatif yang diklasifikasikan sebagai negatif. Setiap kolom dari confusion matrix merupakan contoh di kelas yang telah diprediksi, sedangkan setiap baris mewakili contoh di kelas yang sebenarnya. Setelah didapat true positives, false positives, true negatives dan false negatives, selanjutnya hitung nilai precision dan akurasinya. Precision dan recall adalah ukuran terhadap suatu kelas yang telah diprediksi. Berikut persamaan dari precision dan akurasi [14].

(2.1)

(2.2)

(2.3)

Keterangan:

TP = True Positives TN = True Negatives FP = False Positives FN = False Negatives


(22)

2.6 Pemograman Berorientasi Objek (OOP)

Pemrograman berorientasi objek adalah sebuah pendekatan untuk pembangunan perangkat lunak di mana struktur dari perangkat lunak didasari dari objek yang saling berinteraksi satu sama lain untuk menyelesaikan suatu tugas. Sudut pandang dari pemrograman berorientasi objek menyelesaikan masalah dengan mengunakan objek, persis dengan apa yang ada di dunia nyata. Pemrograman berorientasi objek (PBO) dirancang untuk menutup kelemahan dari pemrograman berorientasi prosedural yang sulit untuk dikelola dan debug ketika kode yang dibuat telah mencapai beribu-ribu baris. Maka diperkenalkanlah struktur pemrograman untuk memecah kode ke dalam beberapa segmen atau biasa disebut prosedur atau fungsi. Dengan struktur tersebut kode mengalami perbaikantetapi secara program dapat melakukan fungsionalitas yang lebih kompleks.

Berikut adalah konsep mendasar mengenai bahasa permrograman berorientasi objek.

1. Kelas

Kelas adalah struktur yang akan digunakan oleh objek yang berisikan atribut-atribut yang mendefiniskan data yang akan diolah dan juga berisikan method yang dapat berbentuk prosedur ataupun fungsi untuk dapat mengolah data. Dalam konteks PBO biasanya didasari dari pemodelan dari objek yang ada di dunia nyata dalam pemrograman untuk menyelesaikan masalah. Sebagai contoh, dilakukan pemodelan untuk sepeda untuk dijadikan sebuah kelas. Dalam sebuah sepeda misalkan terdiri dari roda, rangka, dan setir. Ketiga unsur tersebut bisa disebut sebagai atribut. Kemampuan dari sepeda itu bisa berjalan dan melompat. Kemampuan tersebut bisa disebut method yang ada di dalam kelas.

2. Objek

Objek adalah instansiasi dari sebuah class. Kemampuan yang bisa dilakukan oleh suatu objek bergantung apa dari isi yang didefinisikan dari class tersebut.


(23)

3. Abstraksi

Ketika membuat objek dalam aplikasi PBO, penting untuk menggunakan konsep dari abstraksi. Objek hanya berisi informasi yang relevan dengan konteks dari aplikasi. Contoh untuk pembangunan aplikasi pengiriman. Akan dibuat sebuah objek dengan nama produk dengan atribut ukuran dan berat. Warna akan menjadi informasi yang tidak berhubungan dan bisa diabaikan sebagi atribut dari objek produk. Di kasus lain seperti pembangunan aplikasi pencatatan pemesanan, warna menjadi informasi yang berhubungan dan bisa dijadikan atribut dari suatu objek.

4. Enkapsulasi

Enkapsulasi adalah sebuat perses yang tidak mengizinkan akses langsung kepada data. Jika ingin mengakases dari data tersebut, diharuskan menggunakan objek yang memiliki tanggung jawab untuk terhadap data tersebut. Menggunakan contoh sebelumnya, ketika akan menggunakan method berjalan tidak bisa dilakukan secara langsung. Kelas sepeda tersebut harus diinstansiasi terlebih dahulu menjadi objek sepeda sehingga bisa mengakses method berjalan.

5. Polymorphism

Polymorphism adalah kemempuan untuk merespon pesan yang sama dengan cara yang berbeda. Misalkan ada dua objek yaitu sepeda dan motor. Dalam objek tersebut memiliki kemampuan method yang sama yaitu berjalan. Ketika method berjalan dari kedua objek tersebut dipanggil. Kedua objek tersebut menampilkan rekasi yang berbeda, sepeda berjalan dengan cara mengayuh pedal, sedangkan motor berjalan dengan cara menarik gas.

6. Inheritance

Inheritance dalam PBO untuk mengklasifikasikan objek di dalam program berdasarkan karakteristik umum. Dengan inheritance pemrograman lebih mudah karena bisa mengkombinasikan karakteristik umum ke dalam kelas induk kemudian bisa diturunkan ke kelas anaknya. Contoh dibuat kelas kendaraan yang


(24)

berisikan method berjalan. Kemudian dibuat kelas kendaraan darat. Dalam kelas kendaraan darat tidak perlu membuat method berjalan di kelas kendaraan darat cukup dengan melakukan inheritance atau pewarisan method yang ada di kelas kendaraan ke kelas kendaraan darat.

2.7 Unified Modelling Language (UML)

Unified modeling language (UML) adalah bahasa pemodelan standar untuk pembangunan perangkat lunak ataupun sistem yang dibangun dengan pendekatan object-oriented. Dalam merancang sistem, model memiliki peranan penting yaitu untuk mengelola kompleksitas. Pemodelan membantu untuk fokus menghubungkan aspek penting dari perancangan sistem. Sebuah model adalah sebuah abstraksi dari benda nyata. Model yang dibangun adalah penyederhanaan dari sistem yang dibangun. Memberikan maksud dan kelangsungan hidup sistem untuk dipahami, dievaluasi, dikritisasi bahkan lebih cepat dibandingkan harus langsung ke sistem sebenarnya.

UML itu sendiri sudah mengalami beberapa generasi, dimulai dari UML 1.0, 1.5, dan yang terakhir 2.0. Versi pertama dari UML memberikan komuniasi rancangan secara jelas, menyampaikan esensi dari suat perancangan, bahkan menangkap peta kebutuhan fungsional dari solusi perangkat lunak. Bagaimanapun, dunia berubah secara fundamental dengan pengenalan pemodelan sistem, dibanding hanya pemodelan perangkat lunak. Dari perubahan itulah yang membuat versi UML itu sendiri berkembang hingga kini 2.0. Secara keseluruhan ada 13 diagram yang dapat dimanfaatkan dari UML 2.0 ini.


(25)

Gambar 2.5 UML Logo

Namun dalam penelitian ini hanya akan diterapkan empat diagram yaitu usecase diagram, activity diagram, class diagram dan sequence diagram[15].

Berikut penjelasan masing-masing diagram. 2.7.1Use Case Diagram

Use case biasa digunakan untuk memodelkan suatu fungsi yang disediakan oleh sistem, didalam use case juga memiliki batasan didalam sistem dengan diberi suatu label nama use case tersebut.

Use case juga memiliki karakteristik antara lain :

a. Use case merupakan interaksi antara sistem dengan actor, yaitu tindakan yang akan dilakukan sistem.

b. Use case itu terdapat actor yang dimana juga bisa melibatkan actor lain didalam sistem.

c. Use case mendefinisikan tindakan yang akan dilakukan didalam sistem. d. Use case class tentunya memiliki objek use case yang dikenal dengan


(26)

Simbol-simbol yang ada di dalam use case diagram, antara lain: 1. Actor

Merupakan seseorang atau pelaku yang akan menggunakan suatu sistem. Sebuah actor memberikan inputan informasi ke sistem, menerima informasi, dan sebaliknya. Actor hanya berinteraksi dengan use case. Actor biasanya disimbolkan dengan Stick Man.

2. Use case

Merupakan fungsionalitas dari suatu sistem, sehingga user mengerti kegunaan dari sistem tersebut di kembangkan atau dibangun nantinya seperi apa. cara menentukan use case dalam suatu sistem adalah :

a.lihat pola perilaku dari perangkat lunak aplikasi b.lihat gambaran dari tugas sebuah actor

c.lihat apa yang akan dikerjakan oleh suatu perangkat lunak, bukan melihat bagaimana cara mengerjakannya.

3. Relasi

Merupakan hubungan antara actor dengan use case didalam sistem. Ada beberapa relasi yang terdapat didalam use case diagram:

a.Association, berfungsi menghubungkan antar elemen.

b.Generalization, merupakan inheritance, dimana suatu elemen dapat juga merupakan spesialisasi dari elemen lainnya, contoh : staf akuntan dan staf kreatif digeneralisasi menjadi member staf.

c.Dependency, merupakan elemen yang ketergantungan dengan elemen lainnya d.Aggregation, merupakan tipe gabungan yang menunjukkan bahwa elemen

berisi atau terdiri dari elemen-elemen lainnya. contoh : mobil terdiri dari ban, setir, dan lain-lain.

Berikut ini akan dijelaskan tipe-tipe relasi yang umum yang ada didalam use case diagram :


(27)

a.Include, merupakan aktivitas yang harus dipenuhi untuk terjadi sebuah event, dimana kondisi ini sebuah use case adalah bagian dari use case lainnya.

b.Extends, merupakan aktivitas yang hanya berjalan dibawah kondisi tertentu.

2.7.2Activity Diagram

Diagram ini memperlihatkan aliaran dari suatu aktifitas ke aktifitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi dalam suatu sistem dan memberi tekanan pada aliran kendali antar objek.

2.7.3Class Diagram

Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi dan relasi-relasi antar objek.

2.7.4Sequence Diagram

Diagram ini memperlihatkan interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu.

2.8 Web Browser

Web Browser adalah suatu program atau software yang digunakan untuk menjelajahi internet atau untuk mencari informasi dari suatu web yang tersimpan didalam komputer. Awalnya, web browser berorientasi pada teks dan belum dapat menampilkan gambar. Namun, web browser sekarang tidak hanya menampilkan gambar dan teks saja, tetapi juga memutar file multimedia seperti video dan suara. Web browser juga dapat mengirim dan menerima email, mengelola HTML, sebagai masukan dan menjadikan halaman web sebagai hasil keluaran yang informatif.

Dengan menggunakan web browser, para pengguna internet dapat mengakses berbagai informasi yang terdapat di internet dengan mudah. Beberapa contoh web browser diantaranya Internet Explorer, Mozilla, Firefox, Safari, Opera, dan sebagainya.


(28)

2.9 Web Server

Server web atau pelayan web dapat merujuk baik pada perangkat keras ataupun perangkat lunak yang menyediakan layanan akses kepada pengguna melalui protokol komunikasi HTTP atau HTTPS atas berkas-berkas yang terdapat pada suatu situs web dalam layanan ke pengguna dengan menggunakan aplikasi tertentu seperti peramban web.

Penggunaan paling umum server web adalah untuk menempatkan situs web, namun pada prakteknya penggunaannya diperluas sebagai tempat peyimpanan data ataupun untuk menjalankan sejumlah aplikasi kelas bisnis.

2.10 JavaScript

JavaScript adalah bahasa pemrograman berbasis prototype yang berjalan disisi klien. Jika kita berbicara dalam konteks web, sederhananya, kita dapat memahami JavaScript sebagai bahasa pemrograman yang berjalan khusus untuk dibrowser atau halaman web agar halaman web menjadi lebih hidup. Kalau dilihat dari suku katanya terdiri dari dua suku kata, yaitu Java dan Script. Java adalah Bahasa pemrograman berorientasi objek, sedangkan Script adalah serangkaian instruksi program[16].

Javascript merupakan bahasa scripting yang digunakan untuk membuat aplikasi web, sifatnya client-side sehingga dapat diolah langsung di browser tanpa harus terhubung ke server terlebih dahulu. Walaupun namanya menggunakan kata

“Java”, Javascript tidak berhubungan dengan bahasa pemprograman java, meskipun keduanya memiliki kemiripan dalam hal syntax yang meniru bahasa C. Nama Asli dari bahasa ini adalah LiveScript yang kemudian diganti karena adanya perjanjian kerjasama antara Netscape dan Sun dengan balasan Netscape memperbolehkan untuk membundel browse mereka dengan menggunakan Java dan Sun. “JavaScript” merupakan merk terdaftar milik Sun Microsystem, Inc dan dilisensikan oleh Sun untuk Netscape Comunications dan entitas lainnya seperti Mozilla Foundation.


(29)

Kegunaan utama JavaScript adalah untuk menuliskan fungsi yang disisipkan kedalam HTML baik secara langsung disisipkan maupun diletakan ke file teks dan di link dari dokumen HTML. Secara fungsional, JavaScript digunakan untuk menyediakan akses script pada objek yang dibenamkan (embedded). Contoh sederhana dari penggunaan JavaScript adalah membuka halaman pop up, fungsi validasi pada form sebelum data dikirimkan ke server, merubah image kursor ketika melewati objek tertentu, dan lain lain.

Gambar 2.6 Official Logo JavaScript

2.11 MongoDB

MongoDB adalah sebuah Database berorientasi dokumen. MongoDB merupakan salah satu database noSQL. Penyimpanan data tanpa perlu adanya tabel schema, tidak ada bahasa sql yang terlibat dalam pemakaian database.

MongoDB tidak mengenal yang namanya tabel, kolom dan baris jadi tidak ada schema dalam MongoDB (schema-less). Unit paling kecil dari MongoDB adalah document, sedangkan kumpulan dari document adalah collection. seperti halnya dalam database relasional document itu ibarat record dan collection sebuah tabel. Document dalam MongoDB dapat memiliki atribut yang berbeda-beda dengan document yang lainnya walaupun dalam satu collection.


(30)

Gambar 2.7 Logo MongoDB

2.12 TwitterAPI

API (Application Programming Interface) adalah sekumpulan perintah, fungsi, komponen, dan protokol yang disediakan oleh sistem operasi ataupun bahasa pemrograman tertentu yang dapat digunakan oleh programmer saat membangun perangkat lunak.

Dalam API terdapat fungsi-fungsi atau perintah-perintah untuk menggantikan bahasa yang digunakan dalam system calls dengan bahasa yang lebih terstruktur dan mudah dimengerti oleh programmer.

OAuth adalah standarisasi dan kebijaksanaan gabungan dari banyak protokol industri mapan. Hal ini mirip dengan protokol lain yang sedang digunakan (Google AuthSub, aol OpenAuth, Yahoo BBAuth, api Mendatang, Flickr api, Amazon Web Services api, dll). Setiap protokol menyediakan metode eksklusif untuk bertukar kredensial pengguna untuk token akses atau ticker.

Berikut ini adalah cara OAuth bekerja: 1. Script mengirimkan URL ke API,

2. API mengirimkan tanda (oauth_token) kembali kepada kita,

3. Kita menggunakan tanda ini untuk membuat URL yang akan membawa pengguna ke halaman verifikasi,

4. Setelah pemberian kita akses kita bisa meminta tanda atau akses rahasia tanda (oauth_token_secret),


(31)

5. Tanda rahasia tersebut digunakan untuk membuat panggilan ke API.


(32)

(33)

75

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1Implementasi Sistem

Pada bagian tahap implementasi ini merupakan terjemahan perancangan yang berdasarkan hasil analisis pada bab sebelumnya kedalam bahasa pemrograman yang dapat dimengerti oleh komputer. Bahasa pemrograman yang digunakan dalam sistem ini adalah JavaScript.

4.1.1Implementasi Perangkat Keras

Perangkat Keras yang digunakan untuk mengimplementasikan sistem Analisis sentimen ini adalah sebagi berikut:

1. Processor 2.5 GHz Intel Core i5 2. Memory 8 GB 1600 MHz DDR3

3. Graphics Intel HD Graphics 4000 1024 MB 4. Hardisk 5 GB

5. Monitor

6. Modem Internet

4.1.2Implementasi Perangkat Lunak

Perangkat Lunak yang digunakan untuk mengimplementasikan sistem Analisis Sentimen ini adalah sebagai berikut:

1. Sistem Operasi Mac OS X 2. Web Browser Safari

4.1.3Implementasi Kelas

Pada Bagian ini akan ditampilkan kelas yang diimplementasikan pada sistem. Kelas merupakan deskripsi sekelompok objek dari property (atribut), sifat (operasi), relasi antar objek dan semantik yang umum. Kelas-Kelas yang diimplementasikan pada sistem dapat dilihat pade table berikut.


(34)

Tabel 4.1 Implementasi Kelas

No Nama Class Nama File Keterangan

1 socket Socket.io.js Class yang digunakan pada saat komunikasi

data antara server dan client

2 twit Twit.js Class untuk komunikasi data dari twitter.

3 index index.js Class yang digunakan untuk tampilan di client

dan class utama pada client.

4 extend extend.js Class yang digunakan sebagai logic di server.

4.1.4Implementasi Antarmuka

Implementasi merupakan tahap dimana sistem siap dioperasikan pada tahap yang sebenarnya, sehingga akan diketahui apakah sistem yang telah dibuat benar-benar sesuai dengan yang direncanakan. Pada implementasi perangkat lunak ini akan dijelaskan bagaimana program sistem ini bekerja, dengan memberikan tampilan sistem atau aplikasi yang dibuat. Pada bagian ini akan ditampilkan Implementasi antarmuka dari sistem analisis sentimen ini:

1. Implementasi Antarmuka Menu Utama

Tampilan Menu Utama adalah tampilan yang muncul pertama kali saat mengakses aplikasi. Terdapat tombol mulai yang berfungsi untuk mengambil data tweet dari twitter. Sebelum pengguna meng-klik tombol mulai, pengguna memasukka keyword acara televisi terlebih dahulu.Untuk lebih jelasnya Implementasi antarmuka Mnut utama dapat dilihat pada Gmabar 4.1.


(35)

Gambar 4.1 Implementasi Antarmuka Menu Utama

2.Tampilan Crawling Tweet

Tampilan ini setelah pengguna memasukkan keyword nama acara televisi dan menekan tombol mulai. Pada tampilan ini ditampilkan hasil preprocessing, ekstraksi fitur dan klasifikasi sentimen. Implementasi Antarmuka Crawling Tweet dapat dilihat pada Gambar 4.2 berikut.


(36)

3. Implementasi Antarmuka Show Diagram

Setelah mendapatkan sentimen masing-masing tweet, pada tampilan ini ditampilkan persentasi sentimen positif dan negatif. Implementasi Antarmuka Show Diagram dapat dilihat pada Gambar 4.3 berikut.

Gambar 4.3 Implementasi Antarmuka Show Diagram

4.2 Pengujian Perangkat Lunak

Pengujian perangkat lunak merupakan tahapan untuk melakukan serangkaian tes untuk mencoba sistem yang telah dibangun dengan tujuan untuk menemukan kesalahan-kesalahan atau kekurangan-kekurangan pada perangkat lunak yang diuji. Adapun metode pengujian yang digunakan pada perangkat lunak ini adalah metode pengujian black box.

4.2.1Pengujian Blackbox

Pengujian black box merupakan pengujian yang berfokus pada spesifikasi fungsional dari perangkat lunak. Pengujian black box yang dilakukan pada aplikasi ini dibagi menjadi tiga bagian, yaitu skenario pengujian, kasus dan hasil pengujian, dan kesimpulan pengujian.


(37)

1. Skenario Pengujian

Skenario pengujian menjelaskan pengujian terhadap sistem yang ada pada aplikasi analisis sentimen ini. Skenario pengujian dapat dilihat pada tabel 4.1 berikut ini.

Table 4.1 Skenario Pengujian

No Komponen Yang Diuji Butir Uji Jenis Pengujian

1 Crawling Tweet Pengisian text box acara televisi Black Box

Tampilkan Tombol mulai Black Box

Tampilkan jumlah tweet Black Box

2 Preprocessing dan ekstraksi fitur Tampilkan sejumlah Kata Kerja Black Box

Tampilkan sejumlah Kata Sifat Black Box

Tampilkan sejumlah Negasi Black Box

3 Klasifikasi Tampilan tweet Positif Black Box

Tampilan tweet Negatif Black Box

4 Diagram Tampilkan Tombol berhenti Black Box

Tampilan Persentasi Tweet Positif Black Box

Tampilan Persentasi Tweet Negatif Black Box

2. Kasus dan hasil Pengujian

Kasus dan hasil pengujian berisi pemaparan dari rencana pengujian yang telah disusun pada skenario pengujian. Pengujian ini dilakukan secara black box dengan hanya memperhatikan masukan ke dalam sistem dan keluaran dari masukan tersebut. Berikut ini pemaparan dari setiap butir pengujian yang terdapat pada skenario pengujian:


(38)

Tabel 4.2 Kasus dan Data Uji Kasus dan Hasil Uji

No Kasus/Diuji Skenario Uji Hasil yang diharapkan Hasil

Pengujian

1 Crawling Tweet Pengisian text box

acara televisi

Menampilkan text box [√] diterima [ ] ditolak

Tampilkan Tombol

mulai

Menampilkan tombol

mulai

[√] diterima

[ ] ditolak

Tampilkan jumlah

tweet

Menampilkan jumlah

tweet

[√] diterima

[ ] ditolak 2 Preprocessing dan

Ekstraksi Fitur

Tampilkan sejumlah kata kerja

Menampilkan sejumlah kata kerja

[√] diterima

[ ] ditolak Tampilkan sejumlah

kata sifat

Menampilkan sejumlah kata sifat

[√] diterima

[ ] ditolak Tampikan sejumlah

kata negasi

Menampilkan sejumlah kata negasi

[√] diterima

[ ] ditolak

3 Klasifikasi Tampilkan tweet

positif

Menampilkan tweet

positif

[√] diterima

[ ] ditolak

Tampilkan tweet

negatif

Menampilkan tweet

negatf

[√] diterima

[ ] ditolak

4 Diagram Tampilkan tombol

berhenti

Menampilkan tombol

berhenti

[√] diterima

[ ] ditolak Tampilkan persentasi

tweet positif

Menampilkan persentasi tweet positif

[√] diterima

[ ] ditolak Tampilkan persentasi

tweet negatif

Menampilkan persentasi tweet negatif

[√] diterima

[ ] ditolak

3. Kesimpulan Pengujian blackbox

Berdasarkan hasil pengujian terhadap butir uji yang telah dilakukan memberikan kesimpulan bahwa pada proses sudah benar.

4.2.2Pengujian Confussion Matrix 1. Skenario Pengujian


(39)

Dilakukan pengujian untuk acara akun twitter televisi Junior Masterchef Indonesia dari tanggal 19 sampai 20 Februari 2015. Data sample akan diklasifikasikan ke dalam kategori positif, negatif dan netral yang dilakukan oleh sistem kemudian dibandingkan dengan hasil klasifikasi secara manual.

2. Kasus Data Pengujian

Berikut ini pemaparan dari setiap data tweet dapat dilihat pada Tabel 4.3. Tabel 4.3 Kasus Data Pengujian

No. Tweets

Sentimen Klasifikasi Secara Manual Klasifikasi Oleh Sistem

1 @SukmaniesThu Feb 19 11:12:12 +0000 2015

@Junior_MCI black team cp aja min? White team jg cp aja min? Aku ga nonton :-(

Negatif Negatif

2 @IfwanyThu Feb 19 07:52:27 +0000 2015

RT @Junior_MCI: Top 3 nih Tweeps! ada Fina, Akbar dan Curt!!! woohooww! :D:D:D #JuniorMCI2

Positif Positif

3 @megawati9411Thu Feb 19 07:55:27 +0000 2015

RT @Junior_MCI: Top 3 nih Tweeps! ada Fina, Akbar dan Curt!!! woohooww! :D:D:D #JuniorMCI2

Positif Positif

4 @hartinah28Thu Feb 19 11:27:37 +0000 2015

RT @Junior_MCI: Blackteam on fire nih, tweeps! mereka senang balik ke Galeri MasterChef karena bisa ketemu temen2 lagi :) #JuniorMCI2

Positif Positif

5 @hartinah28Thu Feb 19 10:30:40 +0000 2015

RT @Junior_MCI: Wah tantangan apanih Tweeps?? Challenge selanjutnya pasti seru bgt nih! #JMCI2

Positif Positif

6 @Sabil_Salma1Thu Feb 19 10:45:27 +0000 2015

RT @Junior_MCI: Fina,Curt dan Akbar lg liburan, Mimin makin deg2an siapa yang bakal nyusul mrk buat jadi the real TOP 6 :D all the best, Ch…

Positif Positif

7 @Sabil_Salma1Thu Feb 19 10:57:27 +0000 2015

RT @Junior_MCI: Top 3 nih Tweeps! ada Fina, Akbar dan Curt!!! woohooww! :D:D:D #JuniorMCI2


(40)

8 @rahminrftr_Thu Feb 19 09:57:27 +0000 2015

@Junior_MCI white team ga gantii kan?jangan pls;'')

Negatif Negatif

9 @Lalityahap_ Thu Feb 19 07:55:25 +0000 2015

RT @Junior_MCI: Top 3 nih Tweeps! ada Fina, Akbar dan Curt!!! woohooww! :D:D:D #JuniorMCI2

Positif Positif

10 @sulis_dolis0302Thu Feb 19 10:06:59 +0000 2015

Akhirnya @alliya_jmci2 bisa masak lagi di kitchen @Junior_MCI. Tapi sayang sang kakak @Putri_JMCI2 gak bisa nemeni sang adik.

Negatif Negatif

11 @AlfiyatrisyaniThu Feb 19 08:37:19 +0000 2015

RT @Junior_MCI: Top 3 nih Tweeps! ada Fina, Akbar dan Curt!!! woohooww! :D:D:D #JuniorMCI2

Positif Positif

12 @ts_ikeThu Feb 19 09:17:26 +0000 2015

mw dong tayangan @Junior_MCI season 2 kemaren 15 Feb 2015,, lgii otewe,, jd ktggalann :'(

Negatif Negatif

13 @F42haanThu Feb 19 10:37:27 +0000 2015

RT @AjengDapa03: Bsk Minggu @Junior_MCI jam 16.00 ya jangan sampe gak nonton.. Tim mana yg akan menang ?? Kita liat bsk #JuniorMCI2 http://…

Negatif Negatif

14 @AnaNanda29Thu Feb 19 09:57:22 +0000 2015

@Junior_MCI #JUNIORMCI2 The Real TOP SIX : @akbarmoriaputra, @audrey_jmci2, @Chacha_JMCI2, @Curt_JMCI2, @Fina_JMCI2, @yosua_jmci2

Positif Positif

15 @riskaaperah

RT @Junior_MCI: Top 3 nih Tweeps! ada Fina, Akbar dan Curt!!! woohooww! :D:D:D #JuniorMCI2

Positif Positif

16 @partamotorPMThu Feb 19 10:56:27 +0000 2015

Saya suka video @YouTube dari @junior_mci http://t.co/f9M86jUIRg Junior MasterChef Indonesia - Eps. 10 - Seg 3

Positif Positif

17 @DudutNandaThu Feb 19 10:44:22 +0000 2015

Siang audrey! Ga sabar nunggu @Junior_MCI mau liat kamu @audrey_jmci2

Positif Negatif

18 @yumiunaaaThu Feb 19 10:55:27 +0000 2015

RT @Junior_MCI: Suka masak & pgn jd koki handal? SEGERA daftarkan dirimu di http://t.co/EA6rpl5GEe


(41)

#MCI4

19 @Adelnatasya1Thu Feb 19 10:57:27 +0000 2015

RT @Junior_MCI: Suka masak & pgn jd koki handal? SEGERA daftarkan dirimu di http://t.co/EA6rpl5GEe #MCI4

Positif Positif

20 @Susannti11Thu Feb 19 13:00:15 +0000 2015

RT @Junior_MCI: Waktunya yg besar bersuara! Klik dan daftar di http://t.co/EA6rpl5GEe utk menjadi koki handal! #MCI4

Positif Netral

21 @rachel_difamiliThu Feb 19 13:03:34 +0000 2015 @Junior_MCI min kapan Ya jmci S 3 mcjus aja udahS 3 mau keseason 4 loh min

Netral Netral

22 @AbbiFerdyThu Feb 19 13:11:39 +0000 2015

RT @Junior_MCI: Waktunya yg besar bersuara! Klik dan daftar di http://t.co/EA6rpl5GEe utk menjadi koki handal! #MCI4

Positif Netral

23 @pujanggafadli2Thu Feb 19 13:59:50 +0000 2015 RT @Junior_MCI: #JuniorMCI2 Eps. 11 Seg 5 Saksikan @Junior_MCI Setiap Hari Minggu Pukul 16.00 WIB Hanya di RCTI http://t.co/CcnG4CMBHX

Netral Netral

24 @pujanggafadli2Thu Feb 19 14:00:06 +0000 2015 RT @Junior_MCI: #JuniorMCI2 Eps. 11 Seg 3 Saksikan @Junior_MCI Setiap Hari Minggu Pukul 16.00 WIB Hanya di RCTI http://t.co/8oPnIkXCxK

Netral Netral

25 @pujanggafadli2Thu Feb 19 14:00:16 +0000 2015 RT @Junior_MCI: #JuniorMCI2 Eps. 11 Seg 4 Saksikan @Junior_MCI Setiap Hari Minggu Pukul 16.00 WIB Hanya di RCTI http://t.co/Kiub4sMVTv

Netral Netral

26 @pujanggafadli2Thu Feb 19 14:00:27 +0000 2015 RT @Junior_MCI: #JuniorMCI2 Eps. 11 Seg 1 Saksikan @Junior_MCI Setiap Hari Minggu Pukul 16.00 WIB Hanya di RCTI http://t.co/Gn8S6AZ7BO

Netral Netral

27 @pujanggafadli2Thu Feb 19 14:00:41 +0000 2015 RT @Junior_MCI: Tweeps! #JMCI2 kali ini tantanganya Mimpi Buruk! Nah loh! Jgn sampe kelewatan ya! #JMCI2 Minggu (15/2) pkl 16.00WIB http://


(42)

28 @pujanggafadli2Thu Feb 19 14:01:21 +0000 2015 RT @Junior_MCI: "Whoaaa, Chaha aman, aku harus berhati2 karena she has a very good skills" - Yosua #JuniorMCI2

Netral Netral

29 @pujanggafadli2Thu Feb 19 14:01:44 +0000 2015 RT @Junior_MCI: Congrats Black team welcome back to the White Team! :D #JuniorMCI2

Positif Netral

30 @JalilaNataliaThu Feb 19 14:02:18 +0000 2015

RT @Junior_MCI: Waktunya yg besar bersuara! Klik dan daftar di http://t.co/EA6rpl5GEe utk menjadi koki handal! #MCI4

Netral Netral

31 @pujanggafadli2Thu Feb 19 14:02:24 +0000 2015 RT @Junior_MCI: Time is ticking! Black Team still on fire! Semangat semangat semangaat! :D #JuniorMCI2

Positif Positif

32 @ChefBloemThu Feb 19 15:18:49 +0000 2015

RT @Junior_MCI: Kalo kamu jago masak dan berumur 18-55 th, saatnya km utk #MCI4 ! Caranya lgsg klik http://t.co/EA6rpl5GEe

Netral Netral

33 @hermainThu Feb 19 16:40:18 +0000 2015

RT @Junior_MCI: Kalo kamu jago masak dan berumur 18-55 th, saatnya km utk #MCI4 ! Caranya lgsg klik http://t.co/EA6rpl5GEe

Netral Positif

34 @Enolicious_IDFri Feb 20 02:17:49 +0000 2015

RT @Junior_MCI: Buktikan keahlian memasak kamu di #MCI4 ! Daftarkan diri kamu SEKARANG di http://t.co/EA6rpl5GEe

Netral Netral

35 @pujanggafadli2Fri Feb 20 02:19:03 +0000 2015

RT @Junior_MCI: Buktikan keahlian memasak kamu di #MCI4 ! Daftarkan diri kamu SEKARANG di http://t.co/EA6rpl5GEe

Netral Netral

36 @yuliachalumutzFri Feb 20 02:28:39 +0000 2015

RT @Junior_MCI: Buktikan keahlian memasak kamu di #MCI4 ! Daftarkan diri kamu SEKARANG di http://t.co/EA6rpl5GEe

Netral Netral

37 @DesiMC2Fri Feb 20 03:13:14 +0000 2015

RT @Junior_MCI: #JuniorMCI2 Eps. 11 Seg 3 Saksikan


(43)

@Junior_MCI Setiap Hari Minggu Pukul 16.00 WIB Hanya di RCTI http://t.co/8oPnIkXCxK

38 @Biie_FebhyeFri Feb 20 05:06:39 +0000 2015 @Junior_MCI waww, bagus bgr dek฀

Positif Netral

39 @mursidaahFri Feb 20 07:00:50 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

40 @Yunida_arFri Feb 20 07:01:31 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

41 @Sabil_Salma1Fri Feb 20 07:03:15 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

42 @ajengvannyFri Feb 20 07:05:20 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

43 @Citrale1Fri Feb 20 07:09:07 +0000 2015

RT @Junior_MCI: Ngaku jago masak? Buktikan dan daftarkan dirimu SEGERA di http://t.co/EA6rpl5GEe

Netral Netral

44 @Rya_Renrey2Fri Feb 20 07:16:25 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

45 @ndrie_09Fri Feb 20 07:44:55 +0000 2015 @Chacha_JMCI2 come back to @Junior_MCI

Netral Netral

46 @ChachAddict_JBRFri Feb 20 07:55:39 +0000 2015 RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

47 @anggun_CJR1Fri Feb 20 08:41:02 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!


(44)

Minggu (22/2) pkl 16.00 WIB! ;) http:/… 48 @anggun_CJR1Fri Feb 20 08:41:15 +0000 2015

RT @Junior_MCI: Buktikan keahlian memasak kamu di #MCI4 ! Daftarkan diri kamu SEKARANG di http://t.co/EA6rpl5GEe

Netral Netral

49 @aliyah_liyahhFri Feb 20 08:43:10 +0000 2015

RT @Junior_MCI: Jgn lewatkan kesempatan emas mnjd MasterChef Indonesia ke 4! Daftarkan dirimu di http://t.co/EA6rpl5GEe #MCI4

Netral Netral

50 @onih_dhFri Feb 20 08:53:43 +0000 2015

Pengen :) RT @Junior_MCI: Jgn lewatkan kesempatan emas mnjd MasterChef Indonesia ke 4! Daftarkan dirimu di http://t.co/stYaXDadso #MCI4

Netral Netral

51 @curt_loversFri Feb 20 09:00:26 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

52 @ari_LemperrFri Feb 20 09:02:01 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

53 @KurdiyanFri Feb 20 09:08:16 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

54 @gitaaprilia24Fri Feb 20 09:13:46 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya! Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

55 @gitaaprilia24Fri Feb 20 09:17:30 +0000 2015

Iy,udh gasbar:g "@junior_mci : Tweeps!! #JuniorMCI2 Black Team vs White Team! djmin tgang bgt! jgn klwtann ya! Minggu (22/2) pkl 16.00 WIB!"

Netral Netral

56 @curt_loversFri Feb 20 09:18:25 +0000 2015

@Junior_MCI WhiteTime pasti menang lah!.. kan ada curt akbar hehe tp gatau.฀


(45)

57 @gracia_emorFri Feb 20 09:22:47 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

58 @ayudaaapFri Feb 20 09:23:02 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

59 @ViscaAlkadrieFri Feb 20 09:39:44 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

61 @Norma_fitrianiFri Feb 20 10:37:21 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

62 @Chacha_JMCI2Fri Feb 20 10:42:43 +0000 2015

RT @ndrie_09: @Chacha_JMCI2 come back to @Junior_MCI

Netral Netral

63 @enchyyyyFri Feb 20 11:13:33 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

64 @JalilaNataliaFri Feb 20 11:35:23 +0000 2015

RT @Junior_MCI: Ikuti kuis #MasterKLOP setiap Jumat

di @KLOPcookies dan menangkan hadiahnya!

#JuniorMCI2

Netral Positif

65 @JalilaNataliaFri Feb 20 11:36:10 +0000 2015

RT @Junior_MCI: Jgn lewatkan kesempatan emas mnjd MasterChef Indonesia ke 4! Daftarkan dirimu di http://t.co/EA6rpl5GEe #MCI4

Netral Netral

66 @JalilaNataliaFri Feb 20 11:36:16 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Negatif


(46)

RT @Junior_MCI: Suka masak & pgn jd koki handal? SEGERA daftarkan dirimu di http://t.co/EA6rpl5GEe #MCI4

68 @NurulAlamandaAMFri Feb 20 11:57:09 +0000 2015 RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

69 @NurulAlamandaAMFri Feb 20 11:57:13 +0000 2015 RT @Junior_MCI: Jgn lewatkan kesempatan emas mnjd MasterChef Indonesia ke 4! Daftarkan dirimu di http://t.co/EA6rpl5GEe #MCI4

Netral Netral

70 @NurulAlamandaAMFri Feb 20 11:57:38 +0000 2015 RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

71 @NurulAlamandaAMFri Feb 20 11:57:41 +0000 2015 RT @Junior_MCI: Ikuti kuis #MasterKLOP setiap Jumat

di @KLOPcookies dan menangkan hadiahnya!

#JuniorMCI2

Netral Positif

72 @NurulAlamandaAMFri Feb 20 11:57:43 +0000 2015 RT @Junior_MCI: Ngaku jago masak? Buktikan dan daftarkan dirimu SEGERA di http://t.co/EA6rpl5GEe

Netral Netral

73 @NurulAlamandaAMFri Feb 20 11:57:45 +0000 2015 RT @Junior_MCI: Buktikan keahlian memasak kamu di #MCI4 ! Daftarkan diri kamu SEKARANG di http://t.co/EA6rpl5GEe

Netral Netral

74 @NurulAlamandaAMFri Feb 20 11:57:47 +0000 2015 RT @Junior_MCI: Kalo kamu jago masak dan berumur 18-55 th, saatnya km utk #MCI4 ! Caranya lgsg klik http://t.co/EA6rpl5GEe

Netral Netral

75 @NurulAlamandaAMFri Feb 20 11:57:53 +0000 2015 RT @Junior_MCI: Waktunya yg besar bersuara! Klik dan daftar di http://t.co/EA6rpl5GEe utk menjadi koki handal! #MCI4

Netral

76 @NurulAlamandaAMFri Feb 20 11:57:56 +0000 2015 RT @Junior_MCI: Suka masak & pgn jd koki handal?


(47)

SEGERA daftarkan dirimu di http://t.co/EA6rpl5GEe #MCI4

77 @NurulAlamandaAMFri Feb 20 11:57:58 +0000 2015 RT @Junior_MCI: Jgn lewatkan kesempatan emas mnjd MasterChef Indonesia ke 4! Daftarkan dirimu di http://t.co/EA6rpl5GEe #MCI4

Netral Netral

78 @NurulAlamandaAMFri Feb 20 11:58:05 +0000 2015 RT @Junior_MCI: Ngaku jago masak? Buktikan dan daftarkan dirimu SEGERA di http://t.co/EA6rpl5GEe

Netral Netral

79 @NurulAlamandaAMFri Feb 20 11:58:07 +0000 2015 RT @Junior_MCI: Buktikan keahlian memasak kamu di #MCI4 ! Daftarkan diri kamu SEKARANG di http://t.co/EA6rpl5GEe

Netral Netral

80 @NurulAlamandaAMFri Feb 20 11:58:09 +0000 2015 RT @Junior_MCI: #JuniorMCI2 Eps. 11 Seg 5 Saksikan @Junior_MCI Setiap Hari Minggu Pukul 16.00 WIB Hanya di RCTI http://t.co/CcnG4CMBHX

Netral Netral

81 @NurulAlamandaAMFri Feb 20 11:58:13 +0000 2015 RT @Junior_MCI: #JuniorMCI2 Eps. 11 Seg 3 Saksikan @Junior_MCI Setiap Hari Minggu Pukul 16.00 WIB Hanya di RCTI http://t.co/8oPnIkXCxK

Netral Netral

82 @NurulAlamandaAMFri Feb 20 11:58:13 +0000 2015 RT @Junior_MCI: #JuniorMCI2 Eps. 11 Seg 2 Saksikan @Junior_MCI Setiap Hari Minggu Pukul 16.00 WIB Hanya di RCTI http://t.co/Ba7M7p9a1m

Netral Netral

83 @NurulAlamandaAMFri Feb 20 11:58:15 +0000 2015 RT @Junior_MCI: #JuniorMCI2 Eps. 11 Seg 4 Saksikan @Junior_MCI Setiap Hari Minggu Pukul 16.00 WIB Hanya di RCTI http://t.co/Kiub4sMVTv

Netral Netral

84 @NurulAlamandaAMFri Feb 20 11:58:17 +0000 2015 RT @Junior_MCI: #JuniorMCI2 Eps. 11 Seg 1 Saksikan @Junior_MCI Setiap Hari Minggu Pukul 16.00 WIB Hanya di RCTI http://t.co/Gn8S6AZ7BO

Netral Netral

85 @FajrianHCFri Feb 20 12:49:34 +0000 2015

RT @ndrie_09: @Chacha_JMCI2 come back to @Junior_MCI


(48)

86 @ReniAgustinaCKNFri Feb 20 13:02:20 +0000 2015 RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

87 @mdava234Fri Feb 20 13:05:17 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

88 @AinulRafi_Fri Feb 20 13:06:15 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

89 @WahyuLovers_DpkFri Feb 20 13:08:35 +0000 2015 RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya! Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

90 @Uswahica26Fri Feb 20 13:11:17 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

91 @akbaraddict_FBFri Feb 20 13:11:55 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

92 @fabiansyah5Fri Feb 20 13:14:15 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

93 @AbbiFerdyFri Feb 20 13:15:36 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

94 @JalilaNataliaFri Feb 20 13:52:04 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya! Minggu (22/2) pkl 16.00 WIB! ;) http:/…


(49)

Berikut pada Tabel 4.4 merupakan Tabel dari Confussion Matrix. Tabel 4.4 Tabel Confussion Matrix

Predicted Class Positif Negatif Netral

Actual Class

Positif 16 0 4

Negatif 0 5 0

Netral 2 0 73

Dari tabel tersebut, lalu dihitung akurasi totalnya dan precision untuk setiap kelas. Hasilnya adalah sebagi berikut.

Akurasi =

95 @JalilaNataliaFri Feb 20 13:52:19 +0000 2015

RT @Junior_MCI: Waktunya yg besar bersuara! 95Klik dan daftar di http://t.co/w0US4RKQzr utk menjadi koki handal! #MCI4

Netral Netral

96 @Enolicious_IDFri Feb 20 13:56:12 +0000 2015

RT @Junior_MCI: Waktunya yg besar bersuara! Klik dan daftar di http://t.co/w0US4RKQzr utk menjadi koki handal! #MCI4

Netral Netral

97 @Enolicious_IDFri Feb 20 13:56:21 +0000 2015

RT @Junior_MCI: Tweeps!! #JuniorMCI2 Black Team vs White Team! dijamin tegang bgt! jgn kelewatan ya!

Minggu (22/2) pkl 16.00 WIB! ;) http:/…

Netral Netral

98 @Dita_JMCI2Fri Feb 20 14:31:55 +0000 2015

T O CurtLovers: Black Team฀ vs White Team฀ . Don't forget to watch @Junior_MCI this sunday at 4pm on RCTI ฀ http://t.co/vcEH5bJqRP

Netral Netral

99 @YosuaA_JMCI2Fri Feb 20 15:10:06 +0000 2015

T O CurtLovers: Black Team฀ vs White Team฀ . Don't forget to watch @Junior_MCI this sunday at 4pm on RCTI ฀ http://t.co/vcEH5bJqRP

Netral Netral

100 @Frans_OrdiFri Feb 20 15:16:26 +0000 2015 @junior_mci mau ikut tapi jauh saya di kalimantan...


(50)

Precision Positif =

Precision Negatif =

Precision Netral =

3. Kesimpulan Pengujian Matrix

Berdasarkan pengujian diatas, didapatkan hasil akurasi klasifikasi tweets dari sistem analisis sentimen dengan menggunakan Decision Tree sebesar 94%. Pengujian secara Real-Time pada data sample memperlihatkan jumlah positif, negatif dan netral yang tidak seimbang. Dimana dari 100 tweet yang menjadi data sample, 73 diantaranya adalah tweet netral yang tidak mengandung sentimen. Oleh karena itu untuk penelitian selanjutnya sebaiknya sistem tidak dilakukan secara real-time tetapi mengambil jumlah data sample positif, negatif dan netral secara seimbang.


(51)

93 5.1 Kesimpulan

Berdasarkan implementasi dan pengujian yang dilakukan dalam mengklasifikasikan sentimen untuk acara televisi dapat disimpulkan bahwa: 1. Decision Tree dapat mengklasifikasikan sentimen publik ke dalam kelas

positif dan negatif.

2. Pengujian yang dilakukan menggunakan Decision Tree menghasilkan akurasi sebesar 94%.

5.2 Saran

Penulis memberikan saran bagi yang akan mengembangkan tugas akhir ini, yaitu sebagai berikut:

1. Menambahkan atau merubah atribut. 2. Menambah data latih.

3. Membandingkan Algoritma C4.5 dengan algoritma lain yang bisa digunakan dalam pengklasifikasian seperti Algoritma Genetika dalam hal melakukan analisis sentimen.


(52)

(53)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

HIZBULLAH MULSY

10109638

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2015


(54)

vi

KATA PENGANTAR ... iv

DAFTAR ISI ... vi

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xi

DAFTAR SIMBOL ... xiii

DAFTAR LAMPIRAN ... xix

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan 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 Pembangunan Perangkat Lunak ... 4

1.6 Sistematika Penulisan ... 5

BAB 2 TINJAUAN PUSTAKA ... 7

2.1 Program Acara Televisi... 7

2.2 Twitter ... 9

2.3 Text Mining ... 10

2.4 Analisis Sentimen ... 11

2.4.1 Preprocessing ... 11

2.4.2 Ekstraksi Fitur (Feature Extraction) ... 15

2.4.3 Klasifikasi ... 16

2.4.3.1 Decision Trees (Pohon Keputusan) ... 17


(55)

vii

2.7.3 Class Diagram ... 27

2.7.4 Sequence Diagram ... 27

2.8 Web Browser ... 27

2.9 Web Server ... 28

2.10 JavaScript ... 28

2.11 MongoDB ... 29

2.12 TwitterAPI ... 30

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 33

3.1 Analisis Sistem ... 33

3.1.1 Analisis Masalah ... 33

3.1.2 Analisis Arsitektur Sistem ... 34

3.1.3 Analisis Sumber Data ... 35

3.1.4 Analisis Preprocessing ... 37

3.1.5 Analisis Ekstraksi Fitur ... 44

3.1.6 Analisis Metode Klasifikasi ... 45

3.1.4.1 Proses Learning Algoritma C4.5 ... 45

3.1.4.2 Proses Testing Algoritma C4.5 ... 50

3.2 Analisis Spesifikasi Kebutuhan Perangkat Lunak ... 52

3.2.1 Kebutuhan Non-Fungsional ... 52

3.2.2 Kebutuhan Fungsional ... 52

3.3 Analisis Kebutuhan Non-Fungsional ... 52

3.3.1 Analisis Kebutuhan Perangkat Lunak ... 53

3.3.2 Analisis Kebutuhan Perangkat Keras ... 53

3.3.3 Analisis Kebutuhan Perangkat Pikir ... 54

3.4 Analisis Kebutuhan Fungsional ... 54

3.4.1 Identifikasi Aktor ... 54


(56)

viii

3.4.5 Diagram Sequence ... 61

3.5 Perancangan Sistem ... 63

3.5.1 Perancangan Antarmuka ... 63

3.5.2 Perancangan Pesan ... 65

3.5.3 Perancangan Jaringan Semantik ... 66

3.6 Perancangan Method ... 66

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 75

4.1 Implementasi Sistem ... 75

4.1.1 Implementasi Perangkat Keras ... 75

4.1.2 Implementasi Perangkat Lunak ... 75

4.1.3 Implementasi Kelas ... 75

4.1.4 Implementasi Antarmuka ... 76

4.2 Pengujian Perangkat Lunak... 78

4.2.1 Pengujian Blackbox ... 78

4.2.2 Pengujian Confussion Matrix ... 80

BAB 5 KESIMPULAN DAN SARAN... 93

5.1 Kesimpulan ... 93

5.2 Saran ... 93


(57)

95

Available: http://socialmediatoday.com/jonathanbernstein/1894441/social-media-stats-facts-2013

[2] Liu, Bing. 2012. Sentiment Analysis And Opinion Mining. Chicago: Morgan & Claypool Publisher.

[3] S. Menaka, R. Radha, Text Classification using Keyword Extraction Technique, Desember 2013: Peelamedu, Coimbatore, India

[4] Pressman RS. Software Engineering : A Practitioner’s Approach, 7th ed.Mc Grow Hill. 2010.

[5] Feldman, R & Sanger, J. 2007. The Text Mining Handbook : Advanced Approaches in Analyzing Unstructured Data. Cambridge University Press: New York.

[6] Berry, M.W. & Kogan, J. 2010. Text Mining Aplication and Theory. WILEY : United Kingdom.

[7] Han, J & Kamber, M. 2006 Data Mining: Concepts and Techniques Second Edition. Morgan Kaufmann publisher : San Francisco.

[8] E. Turban, R. Sharda dan D. Delen, Decision Support and Business Intelligence Systems, 2011: Pearson, New Jersey

[9] Larose, Daniel T. (2005). Discovering Knowledge in Data: an Introduction to Data Mining. John Wiley and Sons, USA.

[10] Marshall Sponder, author of Social Media Analytics: Effective Tools for Building, Interpreting, and Using Metrics.

[11] Berry, M. and Linoff, G. 2004. Data Mining Techniques, 2nd edition. New York: Wiley.

[13] Santosa, B. (2007). Data mining Terapan. Surabaya: Graha Ilmu.

[14] Provost, Fawcett & Kohawi. The Case Against Accuracy Estimation for Comparing Induction Algorithm. 1998.


(58)

Informatika Bandung.

[16] Prasetio, Adhi. “Buku Pintar Pemograman Web”.

[17] Jelita Asian , Hugh E. Williams , S. M. M. Tahaghoghi. Stemming Indonesia. 2005.

Available:


(59)

iv

dan rahmat yang diberikan, penulis dapat menyelesaikan laporan tugas akhir dengan judul “Penerapan Metode Decision Tree untuk analisis sentimen pada acara TV” ini dengan baik.

Tujuan dari penulisan laporan tugas akhir ini adalah sebagai salah satu syarat kelulusan pada program Strata 1 Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika di Universitas Komputer Indonesia.

Penulis mendapatkan banyak sekali doa, bantuan dan dukungan dari berbagai pihak dalam menyelesaikan laporan Tugas Akhir ini. Atas berbagai bantuan dan dukungan tersebut, pada kesempatan ini penulis menghaturkan ucapan terima kasih yang sebesar-besarnya kepada:

1. Allah SWT, Tuhan sekaligus Pengatur Kehidupan yang telah memberikan kesempatan bagi penulis untuk menyelesaikan Tugas Akhir hingga selesai. 2. Kedua orang tua, terutama almarhum ayah yang tak henti-hentinya

memberikan semangat dan kasih sayang yang luar biasa kepada penulis walaupun hanya sampai di tengah-tengah masa proses kegiatan skripsi Penulis.

3. Saudara-saudara dan kakek-nenek, yang telah memberikan semangat dan doa kepada penulis agar cepat selesai.

4. Ibu Ednawati Rainarli, S.Si., M.Si. selaku pembimbing yang selalu memberikan pengarahan yang baik dan dukungan moril kepada penulis selama dua semester.

5. Bapak Eko Budi Setiawan, S.Kom., M.T. selaku reviewer yang telah memberikan masukan yang sangat berarti bagi penulis.

6. Ibu Ken Kinanti, S.Kom. selaku penguji 3 yang telah memberikan masukan yang sangat berarti bagi penulis.

7. Ibu Utami Dewi Sartika, S.Kom., M.T. selaku dosen wali yang senantiasa mendukung mahasiswa didiknya.


(60)

v

dengan segala kekurangannya. Oleh karena itu penulis menerima setiap masukan dan kritik yang diberikan. Semoga tugas akhir ini dapat memberikan manfaat.

Amin ya Allah ya Rabbal a’lamin.

Wasalammu'alaikum Wr. wb.

Bandung, 24 Februari 2015


(61)

(62)

Nama : Hizbullah Mulsy

Alamat : Jalan Teduh Bersinar, Perum Griya Fajar Mas Blok D/4. Makassar, Sul-Sel. 90221

Telepon : 085777333887

Tempat Tgl Lahir : Ujung Pandang, 07 Agustus 1991 Jenis Kelamin : Laki-laki

Agama : Islam

Kewarganegaraan : Indonesia

Email : hizbullahmulsy@gmail.com

PENDIDIKAN FORMAL

2009 – 2015 Strata 1 – Teknik Informatika, Universitas Komputer Indonesia Bandung

2008 – 2009 SMA Negeri 2 Makassar 2006 – 2008 SMA Negeri 16 Makassar

2003 – 2006 Tsanawiyah Negeri Model Makassar

2002 – 2003 Colonel Light Garden Adelaide of South Australia 2001 – 2002 Gilles Street Primary School Adelaide of South Australia 2000 – 2001 Belleveu Heights Primary School Adelaide of South Australia 1997 – 2000 SD Negeri IKIP Makassar

1995 – 1997 TK Al-Ikhlas BTN Minasa Upa

KEAHLIAN PEMROGRAMAN

Bahasa Pemrograman PHP, Javascript, CSS, HTML5, SQL, Java, Pascal, C, C++


(63)

(64)

(1)

iv

KATA PENGANTAR

Assalamu'alikum Wr. Wb

Segala puji dan syukur penulis panjatkan ke hadirat Allah SWT, atas berkat dan rahmat yang diberikan, penulis dapat menyelesaikan laporan tugas akhir dengan judul “Penerapan Metode Decision Tree untuk analisis sentimen pada acara TV” ini dengan baik.

Tujuan dari penulisan laporan tugas akhir ini adalah sebagai salah satu syarat kelulusan pada program Strata 1 Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika di Universitas Komputer Indonesia.

Penulis mendapatkan banyak sekali doa, bantuan dan dukungan dari berbagai pihak dalam menyelesaikan laporan Tugas Akhir ini. Atas berbagai bantuan dan dukungan tersebut, pada kesempatan ini penulis menghaturkan ucapan terima kasih yang sebesar-besarnya kepada:

1. Allah SWT, Tuhan sekaligus Pengatur Kehidupan yang telah memberikan kesempatan bagi penulis untuk menyelesaikan Tugas Akhir hingga selesai. 2. Kedua orang tua, terutama almarhum ayah yang tak henti-hentinya

memberikan semangat dan kasih sayang yang luar biasa kepada penulis walaupun hanya sampai di tengah-tengah masa proses kegiatan skripsi Penulis.

3. Saudara-saudara dan kakek-nenek, yang telah memberikan semangat dan doa kepada penulis agar cepat selesai.

4. Ibu Ednawati Rainarli, S.Si., M.Si. selaku pembimbing yang selalu memberikan pengarahan yang baik dan dukungan moril kepada penulis selama dua semester.

5. Bapak Eko Budi Setiawan, S.Kom., M.T. selaku reviewer yang telah memberikan masukan yang sangat berarti bagi penulis.

6. Ibu Ken Kinanti, S.Kom. selaku penguji 3 yang telah memberikan masukan yang sangat berarti bagi penulis.

7. Ibu Utami Dewi Sartika, S.Kom., M.T. selaku dosen wali yang senantiasa mendukung mahasiswa didiknya.


(2)

v

8. Berserta teman-teman di lingkungan penulis yang telah memberikan dorongan positif sehingga tugas akhir ini dapat terlaksana.

Penulis sadar bahwa pada laporan tugas akhir ini masih jauh dari sempurna dengan segala kekurangannya. Oleh karena itu penulis menerima setiap masukan dan kritik yang diberikan. Semoga tugas akhir ini dapat memberikan manfaat.

Amin ya Allah ya Rabbal a’lamin.

Wasalammu'alaikum Wr. wb.

Bandung, 24 Februari 2015


(3)

(4)

RIWAYAT HIDUP

DATA PRIBADI

Nama : Hizbullah Mulsy

Alamat : Jalan Teduh Bersinar, Perum Griya Fajar Mas Blok D/4. Makassar, Sul-Sel. 90221

Telepon : 085777333887

Tempat Tgl Lahir : Ujung Pandang, 07 Agustus 1991 Jenis Kelamin : Laki-laki

Agama : Islam

Kewarganegaraan : Indonesia

Email : hizbullahmulsy@gmail.com

PENDIDIKAN FORMAL

2009 – 2015 Strata 1 – Teknik Informatika, Universitas Komputer Indonesia

Bandung

2008 – 2009 SMA Negeri 2 Makassar

2006 – 2008 SMA Negeri 16 Makassar

2003 – 2006 Tsanawiyah Negeri Model Makassar

2002 – 2003 Colonel Light Garden Adelaide of South Australia

2001 – 2002 Gilles Street Primary School Adelaide of South Australia

2000 – 2001 Belleveu Heights Primary School Adelaide of South Australia

1997 – 2000 SD Negeri IKIP Makassar

1995 – 1997 TK Al-Ikhlas BTN Minasa Upa

KEAHLIAN PEMROGRAMAN

Bahasa Pemrograman PHP, Javascript, CSS, HTML5, SQL, Java, Pascal,


(5)

(6)