Sistem Pengklasifikasian Entitas pada Pesan Twitter Menggunakan Ekspresi Regular dan Naïve Bayes

SISTEM PENGKLASIFIKASIAN ENTITAS PADA PESAN
TWITTER MENGGUNAKAN EKSPRESI REGULAR
DAN NAÏVE BAYES

AHMAD THORIQ ABDUL AZIZ

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013

PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Sistem
Pengklasifikasian Entitas pada Pesan Twitter Menggunakan Ekspresi Regular dan
Naïve Bayes adalah benar karya saya dengan arahan dari komisi pembimbing dan
belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber
informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak
diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam
Daftar Pustaka di bagian akhir skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.
Bogor, Agustus 2013
Ahmad Thoriq Abdul Aziz
NIM G64090008

ABSTRAK
AHMAD THORIQ ABDUL AZIZ. Sistem Pengklasifikasian Entitas pada Pesan
Twitter Menggunakan Ekspresi Regular dan Naïve Bayes. Dibimbing oleh
AHMAD RIDHA.
Makin maraknya penggunaan jejaring sosial seperti Twitter mendorong
beberapa instansi untuk mengetahui entitas yang diperbincangkan dan sentimen
dari entitas tersebut. Penelitian ini bertujuan membangun sistem yang dapat
mengekstraksi entitas pada tweet dan mengklasifikasikan sentimen dari tweet.
Proses ekstraksi entitas dilakukan menggunakan ekspresi regular. Ekspresi regular
mampu menangkap penulisan entitas yang beragam. Klasifikasi sentimen dilakukan
menggunakan metode klasifikasi naïve Bayes model Multinomial dan model
Bernoulli. Sentimen dalam penelitian ini terdiri atas 3 kelas yaitu positif, negatif,
dan netral. Sebelum masuk tahap klasifikasi, tweet dinormalisasi dengan cara
mengganti kata yang tidak baku dengan kata yang baku. Hasil pengujian

menunjukkan bahwa ekspresi regular cukup efektif untuk proses ekstraksi entitas.
Adapun hasil klasifikasi, metode naïve Bayes memberikan nilai akurasi sebesar
96.75% untuk Multinomial dan 96.33% untuk Bernoulli. Namun, nilai akurasi yang
didapatkan bergantung pada kelas netral yakni sebesar 97.88% untuk Multinomial
dan 99.95% untuk Bernoulli, sedangkan kelas positif masing-masing sebesar
85.66% dan 33.13% dan kelas negatif masing-masing sebesar 33.67% dan 0%.
Kata kunci: Analisis Sentimen, Ekstraksi Entitas, Sistem, Twitter.

ABSTRACT
AHMAD THORIQ ABDUL AZIZ. Entity Classification System for Twitter
Message Using Regular Expression and Naïve Bayes. Supervised by AHMAD
RIDHA.
The widespread use of social networks like Twitter encourages some
institutions to find out the entities that are discussed and the sentiment toward the
entities. This research aims to build a system that can extract entities in tweets and
classify the sentiment from the tweets. Entity extraction process is done using
regular expressions. Writing regular expressions can capture the diverse entities.
Sentiment classification is performed using naïve Bayes classification with
Multinomial and Bernoulli models. Sentiment in this research consists of three
classes, namely positive, negative, and neutral. Before entering the classification,

tweets are normalized by replacing the non-standard words with the standard ones.
The test results show that regular expression is quite effective for the entity
extraction process. As for the results of the classification, naïve Bayes method
produces high accuracy (96.75% for Multinomial and 96.33% for Bernoulli).
However, the accuracy obtained depends on the neutral class which amounts to
97.88% for Multinomial and 99.95% for Bernoulli, while the positive class are
85.66% and 33.13% and negative class are 33.67% and 0%.
Key words: Entity Extraction, Sentiment Analyst, System, Twitter.

SISTEM PENGKLASIFIKASIAN ENTITAS PADA PESAN
TWITTER MENGGUNAKAN EKSPRESI REGULAR
DAN NAÏVE BAYES

AHMAD THORIQ ABDUL AZIZ

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Ilmu Komputer pada
Departemen Ilmu Komputer


DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013

Penguji : 1 Dr Imas S Sitanggang, SSi MKom
2 Sony Hartono Wijaya, SKom Mkom

Judul Skripsi: Sistem Pengklasifikasian Entitas pada Pesan Twitter Menggunakan
Ekspresi Regular dan Naïve Bayes
Nama
: Ahmad Thoriq Abdul Aziz
NIM
: G64090008

Disetujui oleh

Ahmad Ridha, SKom MS
Pembimbing


Diketahui oleh

Dr Ir Agus Buono, MSi MKom
Ketua Departemen

Tanggal Lulus:

PRAKATA
Segala puji bagi Allah subhanahu wata’ala atas segala limpahan rahmat serta
karunia-Nya sehingga penulis mampu menyelesaikan karya ilmiah ini dengan baik.
Shalawat dan salam semoga senantiasa tercurah kepada Nabi Muhammad
shallallahu ‘alaihi wasallam serta kepada keluarganya, sahabatnya, serta para
pengikutnya yang selalu berpegang kepada Al-Quran dan As-Sunnah.
Terima kasih penulis ucapkan kepada Bapak Ahmad Ridha, SKom MS selaku
pembimbing yang telah memberikan banyak ide, saran, bantuan, serta dukungan
sampai selesainya karya ilmiah ini, serta Ibu Dr Imas S Sitanggang, SSi MKom dan
Bapak Sony Hartono Wijaya, SKom MKom yang telah berkenan menjadi penguji
dan telah banyak memberikan saran. Ungkapan terima kasih juga disampaikan
kepada ayah, ibu, adik, serta seluruh keluarga, atas doa dan kasih sayangnya.

Terima kasih juga disampaikan kepada rekan satu bimbingan Galih Kenang
Avianto serta rekan-rekan seperjuangan di Ilmu Komputer IPB angkatan 46 atas
segala kebersamaan, bantuan, dukungan, serta kenangan bagi penulis selama
menjalani masa studi.
Semoga karya ilmiah ini bermanfaat.
Bogor, Agustus 2013
Ahmad Thoriq Abdul Aziz

DAFTAR ISI
DAFTAR TABEL

viii

DAFTAR LAMPIRAN

viii

PENDAHULUAN

1


Latar Belakang

1

Perumusan Masalah

1

Tujuan Penelitian

1

Manfaat Penelitian

2

Ruang Lingkup Penelitian

2


METODE

2

Pengumpulan Data

2

Ekstraksi Entitas Menggunakan Ekspresi Regular

3

Normalisasi Teks

3

Evaluasi Normalisasi Teks

4


Klasifikasi Menggunakan Naive Bayes

4

Evaluasi Klasifikasi Naïve Bayes

5

Lingkungan Implementasi

5

HASIL DAN PEMBAHASAN

6

Pengumpulan Data

6


Ekstraksi Entitas Menggunakan Ekspresi Regular

6

Normalisasi Teks

7

Evaluasi Normalisasi Teks

8

Klasifikasi Menggunakan Naive Bayes

8

Evaluasi Klasifikasi Naïve Bayes

9


SIMPULAN DAN SARAN

10

Simpulan

10

Saran

11

DAFTAR PUSTAKA

11

RIWAYAT HIDUP

18

DAFTAR TABEL
1 Hasil confusion matrix naive Bayes model Multinomial
2 Hasil confusion matrix naive Bayes model Bernoulli

10
10

DAFTAR LAMPIRAN
1
2
3
4
5

Contoh tabel keyword dalam ekstraksi entitas
Contoh tabel kamus dalam normalisasi teks
Contoh sampel hasil normalisasi teks
Contoh tabel kata dan frekuensi pada tiap kelas
Contoh tabel kata dan peluang pada tiap kelas

12
13
14
16
17

PENDAHULUAN
Latar Belakang
Situs jejaring sosial adalah layanan berbasis web yang memungkinkan
individu untuk (1) membangun profil publik atau semi-publik di dalam suatu sistem
yang terbatas, (2) menghubungkan para pengguna yang terdaftar dalam hubungan
saling berbagi, dan (3) melihat dan melintasi hubungan-hubungan yang dibuat oleh
sistem (Boyd dan Ellison 2007). Twitter merupakan salah satu situs jejaring sosial
yang populer di Indonesia. Berdasarkan penelitian Semiocast, suatu lembaga riset
media sosial yang berpusat di Paris, Prancis, jumlah pemilik akun Twitter yang
berasal dari Indonesia sebelum tanggal 1 Januari 2012 menempati urutan kelima di
dunia dengan jumlah 19.5 juta. Pemanfaatan jejaring sosial memiliki tujuan yang
beragam. Ada yang menggunakan Twitter sebagai media iklan, media berniaga,
sampai media mencurahkan isi perasaan. Hal ini mendorong beberapa instansi
untuk mengetahui informasi yang sedang ramai diperbincangkan di media Twitter
ini.
Setiap harinya, ada sekitar 2 juta pesan Twitter atau tweet di Indonesia
(Tempo 2012). Jumlah tweet yang banyak ini tentu membutuhkan waktu yang lama
jika ingin diperiksa isi masing-masing tweet untuk mengetahui topik yang sedang
ramai diperbincangkan. Hal ini dapat diatasi dengan sebuah sistem yang dapat
menyaring atau mengambil entitas tertentu dalam tweet secara otomatis.
Pengambilan entitas tententu dari suatu input dapat menggunakan bahasa ekspresi
regular. Bahasa ekspresi regular dapat memeriksa ada atau tidaknya suatu kata pada
input yang dengan jumlah sangat banyak dalam waktu yang lebih singkat.
Selanjutnya, dari tweet ini juga dapat diambil informasi seperti ekspresi atau
sentimen dari pengguna Twitter terhadap entitas tersebut. Namun, dalam
memproses tweet untuk mendapatkan informasi tambahan seperti sentimen tentu
diperlukan praproses terlebih dahulu. Hal ini disebabkan oleh banyaknya penulisan
kata yang tidak baku di dalam tweet. Sehingga, diperlukan adanya normalisasi teks.
Setelah tweet dinormalisasi, selanjutnya analisis sentimen dapat lebih mudah
dilakukan. Analisis sentimen dapat dilakukan menggunakan klasifikasi naïve
Bayes.

Perumusan Masalah
Rumusan masalah dalam penelitian ini adalah cara penentuan entitas dan
sentimen dalam tweet secara otomatis. Di samping itu, banyaknya kata yang tidak
baku di dalam tweet membutuhkan praproses sebelum dilakukan analisis sentimen.

Tujuan Penelitian
Penelitian ini bertujuan membuat sistem yang mampu menyaring adanya
suatu entitas tertentu yang ada di dalam tweet dan mengklasifikasikan sentimen
tweet tersebut.

2

Manfaat Penelitian
Penelitian ini diharapkan dapat membantu entitas yang ingin mengetahui
perbincangan tentangnya di Twitter. Selain itu, penelitian ini diharapkan dapat
memberikan informasi perbincangan tersebut mengandung sentimen positif,
negatif, atau netral.

Ruang Lingkup Penelitian
Ruang lingkup penelitian ini menggunakan data statis dari Twitter yang
berbahasa Indonesia yang telah dikumpulkan. Penyaringan keberadaan entitas tidak
menangani kasus pengenalan entitas yang ambigu. Analisis sentimen hanya
mencakup 3 kelas yaitu positif, negatif, dan netral.

METODE
Metode yang digunakan dalam penelitian ini terdiri atas 6 tahap. Tahap
pertama adalah pengumpulan data. Data yang digunakan berasal dari jejaring sosial
Twitter. Setelah data didapatkan, langkah selanjutnya ialah melakukan ekstraksi
entitas terhadap data tersebut. Kemudian, data dianalisis untuk mendapatkan
sentimennya. Namun, sebelum dilakukan analisis sentimen, data harus masuk ke
dalam tahap praproses terlebih dahulu, yaitu normalisasi teks. Normalisasi teks
bertujuan mengubah tweet yang awalnya sulit dimengerti menjadi tweet yang
mudah dimengerti. Untuk mengetahui tingkat efektivitas proses normalisasi teks
ini, dilakukan evaluasi terhadap hasil normalisasi. Selanjutnya dilakukan analisis
sentimen menggunakan klasifikasi naïve Bayes terhadap hasil normalisasi teks.
Tahap terakhir adalah evaluasi hasil klasifikasi naïve Bayes. Diagram alir penelitian
ini dapat dilihat pada Gambar 1.

Pengumpulan Data
Tahap pertama adalah pengumpulan data. Data berupa kumpulan tweet yang
sudah terklasifikasi secara manual berdasarkan entitas beserta sentimennya. Data
diperoleh dari Binokular sebanyak 53 619 tweet. Tiap tweet dilengkapi dengan
atribut seperti identitas, sentimen, topik, isi pesan, keyword, kode bahasa, nama
pengguna Twitter, nama entitas, tanggal, jumlah dibagikan, dan identitas editor.

3

Pengumpulan Data

Ekstraksi Entitas
Menggunakan
Ekspresi Regular

Evaluasi
Klasifikasi Naïve
Bayes

Klasifikasi
Menggunakan Naïve
Bayes

Normalisasi
Teks

Evaluasi
Normalisasi
Teks

Gambar
1 Metode penelitian
Ekstraksi Entitas
Menggunakan
Ekspresi Regular
Ekstraksi entitas adalah proses ekstraksi dokumen metadata dari dokumen
teks yang tidak terstruktur secara otomatis. Entitas yang dimaksud dapat berupa
nama orang, nama lembaga, lokasi, tanggal, dan sebagainya. Ekstraksi entitas
dalam penelitian ini dilakukan menggunakan ekspresi regular dengan mengacu
pada keyword atau kata kunci yang sudah ada di tabel (contoh pada Lampiran 1).
Keyword didapatkan dari data yang sudah terklasifikasi.
Ekspresi regular mampu menjelaskan sebuah set string tanpa
menyebutkannya secara eksplisit (Yu et al. 2006). Penggunaan ekspresi regular
dalam pembuatan keyword ini bertujuan menangkap (matching) entitas yang
penulisannya beragam. Misalnya, entitas indosat dapat ditulis oleh pengguna
Twitter dengan beragam kata seperti indosat, indosaaat, atau indosaatt. Kasus
semacam ini dapat diselesaikan dengan menggunakan ekspresi regular yaitu
indo.*t.*.

Normalisasi Teks
Tweet hasil pengumpulan data selanjutnya dinormalisasi. Hal ini bertujuan
mempermudah proses analisis sentimen terhadap entitas-entitas tadi mengingat
banyaknya kata yang tidak baku di dalam tweet seperti singkatan, tanggal, jumlah
mata uang, dan akronim. Kata yang tidak baku memiliki kecenderungan yang lebih
tinggi dalam hal ambiguitas interpretasinya atau pelafalannya dibanding kata yang
sudah baku. Misalnya, kata saya atau aku bisa ditulis dengan kata q, aq, ak, sy, gw,
gue, gua, dan masih banyak lagi. Jika tidak dilakukan normalisasi, kata-kata
tersebut akan berdiri sendiri. Padahal, seharusnya kata-kata tersebut
terkelompokkan ke dalam konteks yang sama, yaitu saya. Kasus semacam ini dapat
diselesaikan dengan normalisasi teks dengan cara mengganti kata yang tidak baku
dengan kata yang sesuai konteksnya (Sproat et al. 2001). Proses normalisasi teks
dilakukan menggunakan penggantian dengan kata baku dan fungsi penghilangan
karakter berulang. Sebelum dilakukan penggantian dengan kata baku, harus dibuat
terlebih dahulu sebuah kamus yang berisi kata yang tidak baku berikut kata bakunya
(contoh pada Lampiran 2) sehingga fungsi penggantian dengan kata baku ini
mencari kata yang tidak baku dan kemudian menggantinya dengan kata baku yang
ada di kamus.

4

Evaluasi Normalisasi Teks
Tweet hasil normalisasi teks dievaluasi secara manual. Evaluasi ini bertujuan
menghitung tingkat akurasi dari hasil normalisasi. Proses evaluasi dilakukan
terhadap 1000 tweet yang diambil secara acak mengingat banyaknya jumlah tweet
yang ada (contoh pada Lampiran 3).
Klasifikasi Menggunakan Naive Bayes
Tweet yang sudah dinormalisasi dilakukan proses klasifikasi. Klasifikasi
dilakukan untuk mengelompokkan entitas berdasarkan respon terhadap entitas
tersebut atau analisis sentimen. Respon atau sentimen pada penelitian ini terdiri atas
3 kelas, yaitu positif, negatif, dan netral. Tweet yang termasuk di dalam kelas positif
contohnya: "Ok. Thanks! @XLCare: @fit_star Pagi mba Fitta, sudah kami
follow back ya, silahkan DM :) #thanX ^DS". Adapun untuk kelas negatif
contohnya: @XLCare Halooo baru isi pulsa dipake smsan aja kok bisa habis ya
pulsa nya. Bisa minta detail pemakaian pulsa saya dr kmrn sore?. Kelas netral
contohnya: RT @XL123: RT @XL123: RT @xlcare: Tweepscare,RIM adl jalur
khusus layanan Blackberry,shg dampak maintenance tjd pd slrh pngguna
Blackberry tdk hany.
Sebelum diklasifikasi, data dibagi 2, yakni data latih dan data uji. Data latih
digunakan untuk memberi pengetahuan kepada sistem tentang ciri-ciri suatu kelas.
Untuk mengambil ciri-ciri suatu kelas, dilakukan proses ekstraksi fitur yang di
dalamnya terdapat pembobotan kata berdasarkan kemunculan kata. Fungsi
klasifikasi yang digunakan adalah fungsi klasifikasi dengan basis peluang yaitu
naïve Bayes. Pada klasifikasi naïve Bayes terdapat 2 model, yaitu model
Multinomial dan model Bernoulli. Penelitian ini mengujicobakan kedua model
tersebut.
Pada model Multinomial, setiap data uji dihitung frekuensi kata t pada tiap
data latih kelas c (Tct). Kemudian dari data latih, jumlah kata (∑t’€vTct’) dan jumlah
vocabulary (B) dihitung. Setelah frekuensi kata, jumlah kata, dan jumlah
vocabulary didapatkan, akan dihitung nilai peluang untuk kata t masuk pada kelas
c (� �|� ). Perhitungan peluang ini dapat bernilai nol apabila frekuensi kata pada
data uji di kelas c (Tct) bernilai nol. Untuk mengatasi masalah ini, dimasukkan
koreksi seperti Laplace smoothing di semua probabilitas perkiraan sehingga
peluang tidak bernilai nol (Manning et al. 2008). Perhitungan peluang ini dapat
dilihat pada persamaan berikut:
P t|c =

Tct+1
( ∑t'∈V Tct')+B

(1)

Setelah didapatkan nilai peluang tiap kata, selanjutnya adalah mengalikan
nilai peluang tiap kata dengan memberikan pangkat (n) sesuai nilai frekuensi
kemunculan kata tersebut pada data uji. Hasilnya dikalikan kembali dengan nilai
peluang tiap kelas P(c) (persamaan 2). Di sinilah hasil Laplace smoothing sangat
berpengaruh karena apabila nilai peluang kata adalah nol, maka nilai peluang data
uji menjadi nol juga. Hasil yang diambil adalah hasil perkalian yang terbesar.

5

N

P c|d = ∏ P t|c n *P c

(2)

i=1

Sementara itu, pada model Bernoulli, setiap data uji dihitung nilai peluang
tiap kata terhadap masing-masing kelas. Perbedaannya dengan model yang pertama
yaitu perhitungan peluang menggunakan jumlah data yang mengandung kata t
(Tct), bukan frekuensi kemunculan kata t (Manning et al. 2008). Selain itu, jika
model Multinomial menggunakan jumlah kata dan jumlah vocabulary, model
Bernoulli menggunakan jumlah data latih tiap kelas (Tc) dan jumlah kelas (∑c).
Peluang tiap kata dihitung menggunakan persamaan:
P t|c =

Tct+1
Tc+∑c

(3)

Setelah peluang tiap kata didapatkan, nilai dari hasil perkalian invers untuk
tiap peluang kata pada data latih selain kata pada data uji dihitung. Misalnya ada
sekumpulan kata pada data latih D dan sekumpulan kata pada data uji T. Selanjutnya
dicari kata-kata pada data latih D yang independen dengan kata-kata pada data uji
T . Dari kata-kata tersebut kemudian diambil nilai peluang kata (dalam hal ini diberi
simbol P(t’|c)) dan jumlah kata (M). Nilai peluang kalimat terhadap suatu kelas
dihitung dengan persamaan:
N

M

P c|d = ∏ P t|c *P c * ∏ (1-P(t' |c))
i=1

(4)

i=1

Evaluasi Klasifikasi Naïve Bayes
Tahap terakhir adalah evaluasi untuk mengetahui tingkat akurasi dari hasil
pengklasifikasian kelas pada data uji. Perhitungan tingkat akurasi dilakukan dengan
membandingkan antara hasil pengklasifikasian menggunakan metode naïve Bayes
dan pengklasifikasian secara manual.

Lingkungan Implementasi
Lingkungan implementasi yang digunakan sebagai berikut:
Perangkat lunak:
 Microsoft Windows 8 Professional 64 bit,
 Notepad++, dan
 XAMPP 1.7.4
Perangkat keras:
 prosesor Intel® Core™ i3-2350M CPU @ 2.30GHz,
 memori 8 GB, dan
 hard disk 500 GB.

6

HASIL DAN PEMBAHASAN
Pengumpulan Data
Data tweet yang sudah terklasifikasi berjumlah 53 619 data yang terdiri atas
56 atribut. Dari 56 atribut, diambil beberapa atribut yang digunakan, seperti
identitas tweet, isi tweet, pengguna Twitter, nama entitas, serta sentimennya.
Identitas tweet digunakan sebagai identitas data, isi tweet dan pengguna Twitter
sebagai input sistem, nama entitas sebagai sumber penyusunan daftar keyword, dan
sentimen dari tweet sebagai parameter pada tahap klasifikasi.

Ekstraksi Entitas Menggunakan Ekspresi Regular
Proses ekstraksi entitas pada penelitian ini menggunakan ekspresi regular.
Akan tetapi, sebelum dilakukan ekstraksi entitas harus dibuat sebuah daftar
keyword terlebih dahulu yang terdiri atas nama entitas dan nama pelanggan dari
entitas. Nama entitas berisi daftar dari pola entitas yang dibuat menggunakan
ekspresi regular. Oleh karena itu, ekstraksi entitas ini hanya dilakukan untuk
entitas-entitas yang sudah ada di dalam keyword. Keyword yang telah dibuat terdiri
atas 131 data seperti indos.*t.*, .*ancol.*, .*kep.*seribu, sedangkan nama
pelanggan dari entitas berisi daftar nama pelanggan dari masing-masing entitas,
contohnya untuk entitas indos.*t.*, nama pelanggannya adalah ISAT.
Setelah keyword selesai dibuat, selanjutnya adalah proses pencocokan pola
entitas terhadap masing-masing tweet. Proses pencocokan ini menggunakan fungsi
preg_match yang terdapat pada bahasa pemrograman PHP. Hasilnya berupa data
tweet beserta entitasnya yang kemudian disimpan ke dalam tabel baru yang terdiri
atas identitas tweet, isi tweet, dan nama pelanggan entitasnya. Hasil ini kemudian
dibandingkan dengan data yang sudah terklasifikasi secara manual untuk
mengetahui tweet yang belum terekstraksi berdasarkan pola entitas yang ada. Tweet
yang belum terekstrasi ini dianalisis lagi karena bisa saja sebuah tweet masuk ke
dalam sebuah entitas tertentu bukan karena terdapatnya pola entitas pada tweet,
tetapi karena terdapatnya pola entitas pada pengguna Twitter. Contoh: RT
@sabrinabadawi: Now singing what makes you beautiful with Umar while Izzah
tgah cerita dekat pakcik makcik fasal kahwin dia. Tweet tersebut tidak mengandung
satu pun entitas pada keyword, namun jika dicek pada data yang sudah terklasifikasi
ternyata masuk ke dalam entitas yaris. Hal ini terjadi karena pengguna Twitter-nya
bernama firdaus_yaris. Untuk itu, perlu dilakukan pemeriksaan terhadap pengguna
Twitter pada tweet yang tidak terekstraksi. Dari sini dilakukan penambahan pola
pada keyword entitas. Setelah itu, dilakukan proses konkatenasi atau penggabungan
antara tweet dan pengguna Twitter. Hasil konkatenasi ini kemudian diekstrasi
entitas kembali hingga optimal. Proses ekstraksi entitas dikatakan optimal jika tweet
yang tidak terekstraksi memang karena tidak ditemukannya pola entitas baik pada
tweet maupun pada pengguna Twitter.
Total dari hasil ekstraksi entitas berjumlah 69 601, sedangkan total tweet yang
tidak terekstraksi sebanyak 664. Penjumlahan dari tweet hasil ekstraksi entitas dan
tweet yang tidak terekstraksi ini lebih besar dari data awal. Hal ini terjadi karena
bisa saja sebuah tweet terekstraksi ke dalam 2 atau lebih entitas. Contohnya tweet

7

ada apa dgn sinyal @Telkomsel pagi ini? AS, @simPATI dan Halo sinyalnya SOS
semua, mungkin klo 1 hp sih gpp, ini tiga-tiganya :(. Tweet tersebut terekstraksi ke
dalam 3 entitas sekaligus, yaitu telkomsel, as, dan simpati.

Normalisasi Teks
Banyak tweet yang mengandung kata yang tidak baku. Kata yang tidak baku
dapat berupa perulangan karakter sehingga sulit dikenali maupun singkatansingkatan kata, contohnya Pgn berenang deh, pgn dufan juga, eh tp pgn puncak. Tp
pgn pantai juga, eh tp...pgn kelombok bgt☹. Kasus perulangan karakter perlu
dilakukan penghilangan karakter yang berulang. Penghilangan karakter hanya
dilakukan pada perulangan karakter teks, bukan karakter angka, karena jika
dilakukan pada angka justru membuat tweet semakin sulit dipahami atau memiliki
arti yang berbeda. Contohnya pada kasus perulangan angka nomor telepon, waktu,
laju kendaraan, merek kendaraan, dan sebagainya. Pada kasus singkatan-singkatan
kata yang tidak baku, dibuat sebuah kamus yang berisi kata yang tidak baku beserta
kata bakunya.
Proses normalisasi teks melalui 3 tahap, yaitu penggantian dengan kata baku,
penghilangan karakter berulang, dan penggantian dengan kata baku. Tahap pertama
dilakukan penggantian dengan kata baku terlebih dahulu sebelum penghilangan
karakter berulang karena terdapat kasus seperti kata agree, career, ttwa, ttng, ttd,
mmuji, mmg, mmpu, dan masih banyak lagi. Jika dilakukan penghilangan karakter
berulang terlebih dahulu terhadap kata-kata tersebut, arti sebenarnya akan hilang.
Contohnya, untuk kata ttd jika langsung dihilangan karakter berulangnya akan
menjadi td. Kata ttd yang seharusnya berarti tanda tangan, justru memiliki arti baru
yaitu tadi.
Pada tahap terakhir juga dilakukan penggantian dengan kata baku kembali
karena terdapat kasus lain seperti pada kata prncanaan. Kata tersebut maksudnya
adalah perencanaan. Untuk itu jika dilakukan proses penggantian dengan kata
baku, hasilnya menjadi kata perencanaan. Namun, jika dilakukan proses
penghilangan karakter berulang, kata perencanaan berubah menjadi perencanan.
Maka, pada proses terakhir ditambahkan proses penggantian dengan kata baku lagi
dengan catatan menambahkan ke dalam kamus yaitu jika ada kata perencanan
diganti dengan kata perencanaan. Begitu juga untuk kata-kata yang lain pada kasus
yang sama. Jadi, untuk input yang telah disebutkan, yakni Pgn berenang deh, pgn
dufan juga, eh tp pgn puncak. Tp pgn pantai juga, eh tp...pgn kelombok bgt☹
setelah melalui tahap normalisasi berubah menjadi: ingin berenang deh, ingin dufan
juga, eh tetapi ingin puncak. tetapi ingin pantai juga, eh tetapi.ingin kelombok
bgt☹.
Dalam normalisasi teks juga terdapat beberapa kasus kata yang tidak
tertangani karena kata yang tidak baku memiliki makna ambigu yang artinya
memiliki makna lebih dari satu, contohnya: bet, bkn, bwt, gws, dah, dan masih
banyak lagi. Kata bet bisa berarti banget, namun bisa juga berarti nama panggilan
seseorang. Begitu juga kata bwt, bisa berarti buat/membuat, namun bisa juga berarti
untuk.
Pada penelitian ini juga sempat digunakan fungsi jarak levenshtein pada tahap
normalisasi teks. Namun, ternyata hasilnya tidak bagus. Fungsi jarak levenshtein

8

menghitung jarak kedekatan dari dua buah string melalui penambahan,
penghilangan, dan penggantian karakter hingga kedua string tersebut cocok
(Freeman et al. 2006). Dalam hal ini jarak yang dihitung adalah jarak kedekatan
kata antara kata pada tweet dan kata pada Kamus Besar Bahasa Indonesia. Hasilnya
banyak kata yang tidak sesuai harapan, seperti kata almt yang seharusnya berarti
alamat namun dengan fungsi jarak levenshtein justru lebih dekat jaraknya dengan
kata alit, kata alsn yang seharusnya berarti alasan namun lebih dekat jaraknya
dengan kata alin, dan masih banyak lagi. Selain itu, fungsi jarak levenshtein juga
membutuhkan waktu lebih lama.

Evaluasi Normalisasi Teks
Selanjutnya, untuk mengetahui tingkat akurasi dari proses normalisasi teks
dilakukan pengambilan sampel secara acak sebanyak 1000 data untuk dievaluasi.
Evaluasi dilakukan dengan cara membandingkan antara tweet sebelum normalisasi
dengan tweet hasil normalisasi. Sebuah tweet dinyatakan sukses dari tahap
normalisasi teks jika hasilnya berupa tweet yang lebih mudah dimengerti. Tweet
yang dianggap sukses diberi nilai 1, sedangkan tweet yang dianggap gagal diberi
nilai 0. Total tweet yang bernilai 1 sebanyak 911 dari 1000 data, sehingga hasil
akurasi sebesar 91.1%.
Klasifikasi Menggunakan Naive Bayes
Data hasil normalisasi teks diklasifikasikan menggunakan naïve Bayes.
Sebelumnya dilakukan praproses data yang bertujuan mengelompokkan data
berdasarkan entitas dan kelas dan membaginya menjadi data latih dan data uji
dengan proporsi pembagian 3:1. Total data latih berjumlah 40 458 yang terdiri atas
1451 dari kelas positif, 389 dari kelas negatif, dan 38 618 dari kelas netral. Total
data uji berjumlah 13 161 yang terdiri atas 495 dari kelas positif, 146 dari kelas
negatif, dan 12 520 dari kelas netral.
Model yang pertama yaitu model Multinomial, yaitu setiap data uji dihitung
nilai peluangnya terhadap tiap kelas. Nilai peluang terbesar yang diambil. Misalnya,
sebuah data memliki peluang terhadap kelas positif sebesar 0.2, kelas negatif
sebesar 0.2, dan kelas netral sebesar 0.25. Hal ini berarti bahwa data masuk ke
dalam kelas netral. Data uji dalam penelitian ini berupa kalimat sehingga harus
dipotong menjadi kata dan dihitung jumlah kata yang unik atau tidak sama (N). Dari
tiap kata tersebut dihitung nilai frekuensi kemunculannya pada keseluruhan data
latih di tiap kelas (Tct) dan frekuensi kemunculannya pada kalimat (n).
Untuk mempermudah proses perhitungan frekuensi kemunculan kata pada
keseluruhan data latih, dilakukan proses training terhadap data latih. Training ini
berupa pembuatan suatu tabel yang berisi kata beserta frekuensi kemunculannya di
dalam data latih (contoh pada Lampiran 4). Jadi, ketika ingin mencari frekuensi
kemunculan suatu kata, yang dilakukan hanya mengecek kata tersebut ada di dalam
tabel hasil training atau tidak. Jika ada, maka nilai frekuensi diambil dari nilai field
frekuensi pada tabel. Jika tidak ada, maka nilai frekuensi sebesar 0 yang berarti
bahwa kata tersebut tidak terdapat di dalam data latih. Selanjutnya, jumlah kata

9

pada data latih masing-masing kelas dihitung (Tct'). Total kata pada data latih kelas
positif sebanyak 3795, kelas negatif sebanyak 1651, dan kelas netral sebanyak 69
004. Pada keseluruhan data latih, dihitung juga jumlah kata yang unik atau
vocabulary (B) yang dalam penelitian ini berjumlah 71 178. Setelah nilai Tct, Tct',
dan B didapatkan, maka nilai peluang suatu kata terhadap suatu kelas (P(t|c)) dapat
dihitung menggunakan persamaan 1.
Setelah nilai peluang tiap kata didapatkan, selanjutnya dicari jumlah data latih
keseluruhan kelas dan jumlah data latih masing-masing kelas. Dari sini, nilai
peluang tiap kelas (P(c)) dihitung dengan cara membagi jumlah data latih tiap kelas
dengan jumlah data latih keseluruhan kelas. Terakhir, nilai peluang kalimat (d)
terhadap suatu kelas (c) dicari menggunakan persamaan 2.
Penempatan suatu data ke dalam suatu kelas dilakukan berdasarkan nilai
peluang P(c|d). Nilai P(c|d) terbesar menunjukkan bahwa peluang data untuk
masuk ke dalam kelas tersebut paling besar atau paling memungkinkan. Waktu
eksekusi yang dibutuhkan dalam proses klasifikasi menggunakan naïve Bayes
model Multinomial adalah sebesar 3.57 detik per tweet.
Model kedua yaitu model Bernoulli, yaitu setiap data uji dihitung juga nilai
peluangnya terhadap tiap kelas. Perbedaannya dengan model Multinomial,
perhitungan peluang pada model ini menggunakan jumlah dokumen yang
mengandung suatu kata. Langkah pertama, setiap data uji dipotong menjadi katakata. Tiap kata dihitung jumlah dokumen pada tiap kelas yang mengandung kata
tersebut (Tct). Kemudian, total dokumen latih tiap kelas (Tc) dan jumlah kelas (∑c)
dihitung juga. Selanjutnya, nilai peluang tiap kata dihitung dengan persamaan 3.
Untuk mempermudah perhitungan nilai peluang tiap kata, sebelumnya
dilakukan proses training seperti pada model Multinomial. Perbedaannya dengan
model Multinomial, pada training kali ini dilakukan pembuatan tabel yang berisi
kata, nilai peluang, dan kelas (contoh pada Lampiran 5). Perhitungan nilai peluang
kata didapatkan dari tabel jika ada atau menggunakan persamaan 3 jika tidak
dengan nilai Tct = 0. Setelah nilai peluang tiap kata didapatkan, selanjutnya
dihitung nilai dari hasil perkalian invers untuk tiap peluang kata pada data latih
selain kata pada data uji. Misalnya, ada sekumpulan kata pada data latih D, dan
sekumpulan kata pada data uji T. Dari sini dicari kata-kata pada data latih D yang
independen dengan kata-kata pada data uji T . Dari kata-kata tersebut diambil nilai
peluang kata (dalam hal ini diberi simbol P(t’|c)) dan jumlah kata (M). Nilai peluang
kalimat terhadap suatu kelas dihitung menggunakan persamaan 4. Rata-rata waktu
eksekusi yang dibutuhkan dalam proses klasifikasi menggunakan naïve Bayes
model Bernoulli adalah sebesar 7.14 detik per tweet.
Evaluasi Klasifikasi Naïve Bayes
Tahap terakhir adalah evaluasi hasil dari klasifikasi menggunakan naïve
Bayes. Evaluasi bertujuan mengetahui data yang tidak terklasifikasi secara benar
dan data yang terklasifikasi secara benar, sehingga tingkat akurasi dapat dihitung.
Data disebut tidak terklasifikasi secara benar jika hasil kelasnya berbeda dari kelas
yang seharusnya. Total hasil klasifikasi yang salah dari model Multinomial
sebanyak 428 dari 13 161 sehingga tingkat akurasi sebesar 96.75%. Hasil evaluasi
model Multinomial dapat dilihat pada Tabel 1. Sementara itu, total hasil klasifikasi

10

yang salah dari model Bernoulli sebanyak 483 dari 13 161 sehingga tingkat akurasi
sebesar 96.33%. Hasil evaluasi model Bernoulli ini dapat dilihat pada Tabel 2 Hasil
confusion matrix naive Bayes model Bernoulli. Meskipun tingkat akurasi yang
dihasilkan oleh kedua model ini cukup besar, namun jika dilihat tingkat akurasi per
kelas memberikan hasil yang tidak seimbang. Pada model Multinomial, tingkat
akurasi untuk kelas positif sebesar 85.66%, kelas negatif sebesar 37.67%, dan kelas
netral sebesar 97.88%, sedangkan pada model Bernoulli, tingkat akurasi kelas
positif sebesar 33.13%, kelas negatif sebesar 0%, dan kelas netral sebesar 99.95%.
Dari sini dapat dilihat bahwa tingkat akurasi keseluruhan sangat bergantung pada
tingkat akurasi salah satu kelas saja yaitu kelas netral. Hal ini terjadi karena jumlah
data kelas netral yang jauh lebih banyak dibanding kelas positif dan kelas negatif.
Tabel 1 Hasil confusion matrix naive Bayes model Multinomial
Hasil
Positif

Negatif

Netral

Positif

424

3

68

Negatif

32

55

59

Netral

201

65

12254

Dugaan

Tabel 2 Hasil confusion matrix naive Bayes model Bernoulli
Hasil
Positif

Negatif

Netral

Positif

164

0

331

Negatif

2

0

144

Netral

6

0

12514

Dugaan

SIMPULAN DAN SARAN
Simpulan
Simpulan dari penelitian ini adalah:
1 Ekspresi regular cukup efektif untuk proses ekstraksi entitas karena dapat
menangkap beragam bahasa dengan menggunakan pola.
2 Proses normalisasi teks menggunakan fungsi penggantian kata baku
menghasilkan akurasi yang cukup baik, yaitu sebesar 91.1 % (911 dari 1000
sampel data). Selain itu, proses normalisasi teks dengan penggantian kata baku
ini juga membutuhkan waktu yang lebih cepat dibandingkan dengan
menggunakan fungsi jarak levenshtein.

11

3

Sistem pengklasifikasian tweet menggunakan naïve Bayes memberikan nilai
akurasi yang cukup besar yaitu sebesar 96.75% untuk model Multinomial dan
96.33% untuk model Bernoulli.

Saran
1

2

Saran untuk penelitian selanjutnya adalah:
Pada tahap normalisasi teks masih terdapat kesalahan pada beberapa kata
seperti bet, bkn, bwt, gws, dan dah sehingga perlu dicoba menggunakan metode
normalisasi teks yang lain.
Jumlah data per kelas perlu diseimbangkan.

DAFTAR PUSTAKA
Boyd DM, Ellison NB. 2007. Social network sites: definition, history, and
scholarship. Journal of Computer-Mediated Communication. 13(1): 11.
Manning CD, Raghavan P, Schütze H. 2008. An Introduction to Information
Retrieval. Cambridge (UK): Cambridge University Press.
Semiocast. 2012. Twitter reaches half a billion accounts-more than 140 millions in
the U.S. [internet]. [diunduh 2012 Des 09]. Tersedia dari:
http://semiocast.com/publications/2012_07_30_Twitter_reaches_half_a_bill
ion_accounts_140m_in_the_US.
Sproat S, Black AW, Chen S, Kumar S, Ostendorf M, Richards C. 2001.
Normalization of non-standard words. Computer Speech and Language.
15:287-333. doi:10.1006/csla.2001.0169.
Tempo. 2012. Di Indonesia, hanya 2 juta pengguna twitter yang berkicau tiap hari
[internet].
[diunduh
2012
Des
09].
Tersedia
dari:
http://m.bisnisaceh.com/telekomunikasi/di-indonesia-hanya-2-jutapengguna-twitter-yang-berkicau-tiap-hari/index.php.
Yu F, Chen Z, Diao Y, Lakshman TV, Katz RH. 2006. Fast and memory-efficient
regular expression matching for deep packet inspection. Architecture for
Networking and Communications Systems; 2006 Des 3-5; California,
Amerika Serikat. California (US): Association for Computing Machinery.
hlm 93-102.
Freman AT, Condon SL, Ackerman CM. 2006. Cross linguistic name matching in
English and Arabic: a “one to many mapping” extension of the levenshtein
edit distance algorithm. Proceedings of the Human Language Technology
Conference of the North American Chapter of the ACL; 2006 Jun; New York,
Amerika Serikat. New York (US): Association for Computational Linguistic.
hlm 471-478.

12

Lampiran 1 Contoh keyword dalam ekstraksi entitas
No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Keyword
.*ancol.*
.*android.*
.*kep.*seribu
.*avanza.*
.*exora.*
.*pulau.*seribu
.*ragunan
.*subaru.*
.*tabloidnova.*
.*vios
.*volkswagen
.*volvo.*
hyundai tucson
im3
indos.*t.*
indos.*tjabar
infobandung
infrastruktur it
matahari .*mall
matahari .*store

Entitas
ancol
xirka
pulauseribu
tam
proton
pulauseribu
ragunan
subaru
ancol
tam
volkswagen
volvo
hyndai
isat
isat
isatjabar
isatjabar
xirka
matahari
matahari

13

Lampiran 2 Contoh tabel kamus dalam normalisasi teks
Sebelum
abis
acra
acrany
acrnya
activity
ad
aing
aj
blng
blnja
blom
blm
bnar
bner
bnr
wis
wkt
wktu
wtf
wrn
wuedan
yaolo
yaowoh
yaud
yaudah

Sesudah
habis
acara
acaranya
acaranya
aktivitas
ada
saya
saja
bilang
belanja
belum
belum
benar
benar
benar
sudah
waktu
waktu
bangsat
warna
edan
ya Allah
ya Allah
ya sudah
ya sudah

14

Lampiran 3 Contoh sampel hasil normalisasi teks
No
1

ID
2525117

2

2529402

3

2529443

4

2529468

5

2529469

6

2536346

7

2651991

Sebelum
@xl123 tarif promo data
roaming masih aktif kaga?
Ato emang sampe 7 juni
lalu
aja?
http://t.co/WJKdgrYw
@anggie_mcqueen Terima
kasih atas kepercayaannya
dalam
menggunakan
produk
Telkomseln,
semoga dapat memenuhi
harapan, tks.
@novan_parisa Flash bs
dgunakan utk aplikasi
Router (LAN), namun
memerlukan
setingan
khusus, silahkan kunjungi
Grapari terdekat, tks.
@diankrstn coba hard
restart hp, jika masih
kendala, silahkan mention
kami kembali ya. *AS
@r_indahyunita
Utk
Iphone bs gunakan Flash
Unlimited, tersedia utk krt
Simpati/As/Halo,
info
lengkap:
http://t.co/6hH9a8JN, tks.
@D4rm4nsy4h Jk sinyal
tdk stabil,Cb plh jaringn
manual lalu plh sinyal GSM
only,matikn
hp
sesaat,aktifkan
lgi&plh jaringan
otomatis.Tks
beuuh-__- wcnya kek
sekalian:pRT @ehsitin: ya
tau paling seluas selokan yg
ada di ancol haha:p RT
MFS__SFM:
(cont)
http://t.co/aq15ONQy

Sesudah
xl123 tarif promo data
roaming masih aktif tidak?
atau emang sampai 7 juni
lalu saja? htp: t.cowok
wjkdgryw
angie_mcquen terima kasih
atas kepercayaannya dalam
menggunakan
produk
telkomseln, semoga dapat
memenuhi
harapan,
terimakasih.
novan_parisa flash bisa
dgunakan untuk aplikasi
router
(lan),
namun
memerlukan
setingan
khusus, silahkan kunjungi
grapari
terdekat,
terimakasih.
diankrstn coba hard restart
hp, jika masih kendala,
silahkan mention kami
kembali ya. as
r_indahyunita untuk iphone
bisa
gunakan
flash
unlimited, tersedia untuk
kartu simpati as halo,
informasi lengkap: htp:
t.cowok
6h9a8jn,
terimakasih.
d4rm4nsy4h jika sinyal
tidak stabil,coba pilih
jaringan manual lalu pilih
sinyal gsm only,matikan hp
sesat,aktifkan
lagi
amp;amp;pilih
jaringan
otomatis.terimakasih
beuh-_- wcnya seperti
sekalian:prt ehsitin: ya tau
paling seluas selokan yang
ada di ancol haha:p rt
mfs_sfm:
(cont)
htp:
t.cowok aq15onqy

Nilai
1

1

1

1

1

0

0

15

Lampiran 3 Lanjutan
No
8

ID
2652992

9

2665070

10

2655378

Sebelum
RT @uypaaa: Android:D
RT @JawabJUJUR Lebih
milih punya HP Biasa atau
BlackBerry?
#JJ
|
@diki_of
Betul
itu
hihi
RT
@yans_Shooterrzz:
Kta
kan android qiqiqi RT
zenicristifa Emejing
#info acara off air di PRJ
besok dicancel yaa. Jadinya
off air ditanjungan plaza
surabaya.

Sesudah
Nilai
rt uypa: android:d rt 0
jawabjujur lebih milih
punya hp biasa atau
blackberry? saja | diki_of
betul
itu
hihi
rt 0
yans_shoterz: kata kan
android qiqiqi rt zenicristifa
emejing
informasi acara of air di prj 0
besok dicancel ya. jadinya
of air ditanjungan plaza
surabaya.

16

Lampiran 4 Contoh tabel kata dan frekuensi pada tiap kelas
No
1

Kata
Kamu

2

saya

3

sekarang

4

bagaimana

5

cek

6

terimakasih

7

tidak

8

bisa

9

minta

10

telepon

Frekuensi
69
79
3432
82
98
6138
10
11
667
21
16
338
124
10
98
470
12
244
262
136
5610
229
79
1340
7
1
273
33
12
78

Tone
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral

17

Lampiran 5 Contoh tabel kata dan peluang pada tiap kelas
No
1

Kata
kamu

2

saya

3

sekarang

4

bagaimana

5

cek

6

terimakasih

7

tidak

8

bisa

9

minta

10

telepon

Nilai Peluang
0.0457
0.2044
0.0733
0.0483
0.1921
0.1263
0.0072
0.0296
0.0166
0.0146
0.0419
0.0083
0.0775
0.0246
0.0025
0.3629
0.0320
0.0063
0.1291
0.2808
0.1258
0.1430
0.1650
0.0318
0.0053
0.0049
0.0064
0.0219
0.0296
0.0021

Tone
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
positif
negatif
netral
nositif
negatif
netral

18

RIWAYAT HIDUP
Penulis dilahirkan di Kudus, Jawa Tengah pada tanggal 18 April 1991.
Penulis merupakan anak pertama dari pasangan Nurhidayat dan Munawaroh. Pada
tahun 2009, penulis menamatkan pendidikan di SMA Negeri 1 Bae, Kabupaten
Kudus. Penulis lulus seleksi masuk Institut Pertanian Bogor (IPB) pada tahun yang
sama melalui jalur Undangan Seleksi Masuk IPB dan diterima sebagai mahasiswa
di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam.
Selama aktif menjadi mahasiswa, penulis pernah menjadi asisten praktikum
Penerapan Komputer (2011 dan 2012). Penulis juga melaksanakan kegiatan Praktik
Kerja Lapangan di PT. Navcore Nextology pada tahun 2012. Selain itu, penulis juga
aktif dalam berbagai pelatihan di antaranya IT CAMPS Microsoft Indonesia 2012,
Pelatihan Wirausaha Muslim CI-Best IPB 2013, dan juga berprestasi dengan meraih
penghargaan setara perunggu dalam PIMNAS (Pekan Ilmiah Mahasiswa Nasional)
ke-25 Yogyakarta 2012 untuk PKM-T Kategori Poster dengan Judul “Implementasi
Virtual Whiteboard sebagai Alat Bantu Pembelajaran Matematika Interaktif bagi
Siswa SLB B/C Tunas Kasih 2 Kota Bogor”.