Aplikasi Mobile untuk Identifikasi Emosi Manusia Berbasis Teks pada Jejaring Sosial Twitter dengan Klasifikasi Decision Tree

APLIKASI MOBILE UNTUK IDENTIFIKASI EMOSI MANUSIA
BERBASIS TEKS PADA JEJARING SOSIAL TWITTER
DENGAN KLASIFIKASI DECISION TREE

JEFRI PAKPAHAN

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

PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Aplikasi Mobile untuk
Identifikasi Emosi Manusia Berbasis Teks pada Jejaring Sosial Twitter dengan
Klasifikasi Decision Tree 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, Juni 2014
Jefri Pakpahan

ABSTRAK
JEFRI PAKPAHAN. Aplikasi Mobile untuk Identifikasi Emosi Manusia Berbasis
Teks pada Jejaring Sosial Twitter dengan Klasifikasi Decision Tree. Dibimbing
oleh FIRMAN ARDIANSYAH.
Manusia adalah makhluk sosial yang butuh berkomunikasi dengan orang
lain. Manusia dalam berkomunikasi tidak jarang mengungkapkan suatu emosi
secara langsung maupun tidak langsung. Kesadaran akan emosi orang yang
berkomunikasi merupakan salah satu alasan identifikasi emosi. Teknologi
identifikasi emosi dibagi ke dalam 3 kategori, yaitu sinyal fisiologis, ekspresi
wajah dan suara. Akan tetapi identifikasi tersebut mempunyai keterbatasan dalam
penggunaan ataupun biaya. Solusi yang mungkin adalah komputasi afektif yang
dapat mengidentifikasi emosi melalui perilaku pengguna dan konteks pengguna
dari data sensor touchscreen, accelerometer, dan global positioning system (GPS)
pada smartphone. Penelitian ini diaplikasikan pada aplikasi smartphone Android
pada layanan jejaring sosial Twitter. Penelitian ini menerapkan metode klasifikasi

decision tree untuk melakukan identifikasi 7 tipe emosi senang, kaget, marah,
muak, sedih, takut, dan netral dengan menggunakan 10 fitur. Data yang digunakan
dalam penelitian ini sebanyak 300 dataset. Akurasi tertinggi yang dihasilkan
adalah sebesar 44%.
Kata kunci: decision tree, identifikasi emosi, komputasi afektif

ABSTRACT
JEFRI PAKPAHAN. Mobile Application for Human Emotion Recognition Based
on Text on Twitter Social Network with Decision Tree Classification. Supervised
by FIRMAN ARDIANSYAH.
Humans are social beings that need to communicate with others. Humans in
communication often reveal emotions either directly or indirectly. Awareness of
people’s emotions when communicating is one of the reasons of emotion
recognition. Emotion recognitions divided into 3 categories, namely physiological
signals, facial expressions, and voice. However the existing method has
limitations in use or cost. A potential solution is affective computing, which can
recognize emotion through typing patterns by collecting and analyzing user
behavior and context from touchscreen, accelerometer, and GPS on the
smartphone. This method was implemented as an Android app on Twitter social
networking service. This research used decision tree classification method to

identify 7 types of emotions i.e. happiness, surprise, anger, disgust, sadness, fear,
and neutral by using 10 features. The data used in this study consisted 300
datasets. The highest accuracy in the research produced 44%.
Keywords: affective computing, decision tree, emotion recognition

APLIKASI MOBILE UNTUK IDENTIFIKASI EMOSI MANUSIA
BERBASIS TEKS PADA JEJARING SOSIAL TWITTER
DENGAN KLASIFIKASI DECISION TREE

JEFRI PAKPAHAN

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

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

BOGOR
2014

Judul Skripsi : Aplikasi Mobile untuk Identifikasi Emosi Manusia Berbasis Teks
pada Jejaring Sosial Twitter dengan Klasifikasi Decision Tree
Nama
: Jefri Pakpahan
NIM
: G64104018

Disetujui oleh

Firman Ardiansyah, SKom MSi
Pembimbing

Diketahui oleh

Dr Ir Agus Buono, MSi MKom
Ketua Departemen


Tanggal Lulus:

PRAKATA
Puji syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas berkat dan
hikmat-Nya sehingga penulis dapat menyelesaikan tugas akhir ini. Judul yang
dipilih dalam penelitian ini ialah Aplikasi Mobile untuk Identifikasi Emosi
Manusia Berbasis Teks pada Jejaring Sosial Twitter dengan Klasifikasi Decision
Tree.
Penulis sadar bahwa tugas akhir ini tidak akan terselesaikan tanpa bantuan
dari berbagai pihak. Pada kesempatan ini, penulis ingin mengucapkan terima
kasih kepada:
1 Orang tua tercinta Bapak Saut Pakpahan dan Ibu Lina Sitorus, adik penulis
Junita Pakpahan, SPd, dan Riko Pakpahan atas segala doa dan dukungan yang
tiada hentinya.
2 Bapak Firman Ardiansyah, SKom MSi selaku dosen pembimbing yang telah
memberikan saran, bimbingan, dan dukungan dalam penyelesaian tugas akhir
ini.
3 Deniary Lusiana Purba atas dukungan, bantuan dan semangat yang diberikan
kepada penulis.
4 Seluruh dosen pengajar Departemen Ilmu Komputer FMIPA IPB dan staf

yang telah membantu selama proses pembelajaran hingga selesai.
5 Teman-teman Alih Jenis Ilmu Komputer X5 atas kebersamaan dan
dukungannya selama ini.
6 Seluruh teman-teman Kosan White House dan Ilkomerz Angkatan 5 atas
persahabatan, dukungan, bantuan, semangat, dan kekeluargaannya selama ini.
Penulis menyadari bahwa masih terdapat kekurangan dalam penulisan tugas
akhir ini. Semoga penelitian tugas akhir ini dapat bermanfaat.

Bogor, Juni 2014
Jefri Pakpahan

DAFTAR ISI
DAFTAR TABEL

vii

DAFTAR GAMBAR

vii


DAFTAR LAMPIRAN

vii

PENDAHULUAN

1

Latar Belakang

1

Tujuan Penelitian

2

Manfaat Penelitian

2


Ruang Lingkup Penelitian

2

METODE

3

Pengumpulan Data

3

Pembentukan Model

4

Evaluasi

4


Lingkungan Pengembangan

4

HASIL DAN PEMBAHASAN

5

Pengumpulan Data

5

Pembentukan Model

6

Implementasi

7


Evaluasi

8

SIMPULAN DAN SARAN

9

SIMPULAN

9

SARAN

9

DAFTAR PUSTAKA

10


LAMPIRAN

11

RIWAYAT HIDUP

17

DAFTAR TABEL
1
2
3
4
5
6
7
8

Daftar fitur
Daftar lokasi dalam kategori
Daftar keadaan cuaca
Daftar fitur waktu
Susunan kelas emosi dari data yang terkumpul
Susunan data latih dan uji
Confusion matrix 10-fold cross validation (Akurasi 44%)
Confusion matrix 3-fold cross validation (Akurasi 39%)

4
5
5
6
7
7
8
9

DAFTAR GAMBAR
1 Metode penelitian
2 Antarmuka aplikasi pengumpulan data
3 Alur kerja sistem

3
6
8

DAFTAR LAMPIRAN
1 Algoritme C4.5 untuk membangun decision tree
2 Tree yang dihasilkan dari pengujian 10-fold cross validation
3 Tree yang dihasilkan dari pengujian 3-fold cross validation

11
12
15

1

PENDAHULUAN
Latar Belakang
Twitter merupakan layanan jejaring sosial online yang bertujuan untuk
membangun dan mengelola hubungan sosial antara manusia. Pengguna layanan
jejaring sosial dapat berinteraksi kepada sesama pengguna dengan beragam cara
seperti messaging, share file, diskusi grup, dan lain-lain. Tidak sedikit pula
pengguna jejaring sosial Twitter menggunakan berbagai macam aplikasi pada
perangkat mobile untuk berbagi ide, ketertarikan atau kegiatan setiap saat dan di
mana saja dengan teman-teman mereka melalui sebuah tweet.
Pada saat pengguna mengetikkan sebuah tweet, pengguna secara tidak
langsung mengungkapkan suatu emosi. Emosi ini juga dapat diungkapkan secara
langsung dengan emoticon sehingga para follower akan menanggapi tweet yang
dimilikinya dengan lebih aktif atau lebih berempati. Akan tetapi, terkadang
beberapa pengguna hampir tidak menunjukkan apa yang sedang mereka rasakan
sehingga teman-teman mereka tidak dapat merasakan atau bereaksi terhadap
emosi mereka dengan tepat.
Kesadaran akan emosi orang yang berkomunikasi dengan orang lain melalui
teks merupakan tantangan mendasar dalam membangun sistem cerdas yang dapat
mengenali emosi. Teknologi identifikasi emosi dibagi dalam 3 kategori
berdasarkan jenis data yang dianalisis untuk mengenali emosi manusia, yaitu
sinyal fisiologis, ekspresi wajah, dan suara.
Identifikasi emosi fisiologis memiliki kinerja yang baik, namun memiliki
beberapa kelemahan yakni pengguna harus menggunakan skin conductance sensor,
monitor tekanan darah atau electrocardiography (ECG) yang memantau denyut
jantung pada tubuh mereka dan jelas tidak hanya mengganggu tetapi juga
membutuhkan biaya (Knapp et al. 2011).
Di sisi lain, identifikasi emosi dengan menggunakan ekspresi wajah atau
suara juga memiliki keterbatasan penggunaan. Hal ini disebabkan perangkat harus
diposisikan di depan wajah pengguna atau harus selalu mendengarkan suara dari
pengguna. Padahal perangkat tersebut tidak selalu digunakan pada kehidupan
sehari-hari seperti halnya penggunaan pesan teks.
Solusi yang mungkin untuk menentukan emosi pengguna tanpa
menggunakan sensor tambahan adalah mengadopsi teknologi identifikasi emosi
yang sedang dipelajari secara ekstensif oleh para peneliti komputasi afektif.
Komputasi afektif adalah studi tentang teknologi untuk mengenali emosi, suasana
hati, sikap, dan kepribadian sifat manusia. Picard (1995) adalah peneliti yang
pertama kali mengusulkan dasar konsep komputasi afektif dalam identifikasi
emosi manusia dan membangun model untuk mengidentifikasi emosi manusia di
komputer.
Dalam teknologi identifikasi emosi, Epp et al. (2011) mengusulkan solusi
identifikasi emosi pengguna komputer dengan menganalisis irama pola mengetik
pada keyboard standar. Dalam studi lapangan, mereka mengumpulkan penekanan
tombol dari berbagai peserta dan membangun decision tree C4.5 untuk 15 tipe
emosi. Percobaan tersebut berhasil memodelkan menjadi 6 tipe emosi yaitu

2
percaya diri, keraguan, gugup, santai, sedih, dan kelelahan dengan tingkat akurasi
berkisar antara 77.4% sampai 87.8%.
Lee et al. (2012) menggunakan penelitian Epp et al. (2011) dengan
pendekatan machine learning klasifikasi Bayesian Network untuk mengenali
emosi pengguna smartphone dengan cara mengumpulkan berbagai jenis data
sensor dari smartphone. Data sensor dikategorikan menjadi dua jenis yakni
perilaku dan konteks pengguna. Penelitian tersebut menghasilkan dan
mengklasifikasi pengguna dalam 7 tipe emosi senang, kaget, marah, muak, sedih,
takut, dan netral menggunakan 10 fitur dengan akurasi rata-rata sebesar 67.52%.
Penelitian ini dilakukan berdasarkan kedua penelitian tersebut yaitu aplikasi
smartphone untuk identifikasi emosi manusia dengan menganalisis irama pola
mengetik pada jejaring sosial Twitter dengan menggunakan klasifikasi decision
tree C4.5 menggunakan sistem operasi Android. Meskipun ada banyak algoritme
klasifikasi, decision tree digunakan karena merupakan solusi sederhana dan cepat
untuk mengidentifikasi emosi. Decison tree adalah sebuah struktur yang dapat
digunakan untuk membagi kumpulan data yang besar menjadi himpunanhimpunan record yang lebih kecil dengan menerapkan serangkaian aturan
keputusan. Algoritme C4.5 adalah pengembangan algoritme ID3 (Iterative
Dichotomiser 3) dasar yang dirancang oleh Quinlan (1993) untuk membangun
decision tree. Algoritme C4.5 mampu menangani atribut dengan tipe diskret atau
kontinu dan mampu menangani atribut kosong. Algoritme C4.5 untuk membangun
decision tree dapat dilihat pada Lampiran 1.

Tujuan Penelitian
Tujuan penelitian ini adalah membangun aplikasi mobile pada smartphone
Android untuk mengidentifikasi emosi manusia berbasis teks dengan metode
klasifikasi decision tree C4.5.

Manfaat Penelitian
Manfaat penelitian ini adalah untuk mengenali emosi manusia melalui
perangkat smartphone. Pengenalan emosi pada perangkat smartphone kedepannya
diharapkan dapat digunakan untuk seseorang yang mengalami kesulitan
komunikasi sosial dalam mengenali dan mengekspresikan emosi.

Ruang Lingkup Penelitian
Ruang lingkup pada penelitian ini adalah:
1 Klasifikasi decision tree untuk identifikasi emosi.
2 Perangkat smartphone dengan sistem operasi Android.
3 Jumlah fitur yang digunakan sebanyak 10 fitur dan klasifikasi 7 jenis emosi
senang, kaget, marah, muak, sedih, takut, netral berdasarkan penelitian Lee et
al (2012).
4 Klasifikasi jenis emosi berdasarkan perilaku dan konteks pengguna.

3

METODE
Metode yang digunakan pada penelitian ini adalah decision tree. Alur
penelitian yang dilakukan dapat dilihat pada Gambar 1. Langkah awal yang
dilakukan dalam penelitian ini adalah pengumpulan data. Data yang digunakan
pada penelitian ini adalah data sensor touchscreen, accelerometer, dan global
positioning system (GPS) pada smartphone. Kemudian data dibagi menjadi data
latih dan data uji. Pelatihan pada data latih dan pengujian pada data uji dilakukan
menggunakan decision tree untuk menghasilkan model. Evaluasi dilakukan
dengan cara menganalisis hasil dari model untuk menguji tingkat akurasi
klasifikasi decision tree.

Decision Tree C4.5

Gambar 1 Metode penelitian
Pengumpulan Data
Data dalam penelitian ini didapatkan dari berbagai data sensor yang pada
smartphone. Sensor yang dibutuhkan adalah smartphone yang memiliki sensor
touchscreen, accelerometer, dan global positioning system (GPS).
Data
dikategorikan ke dalam 2 jenis. Pertama, data perilaku pengguna yaitu data yang
mencakup kebiasaan mengetik pengguna seperti kecepatan mengetik, frekuensi
menekan tombol yang spesifik, panjang maksimum teks, banyaknya teks yang
dihapus dan jumlah sentuhan. Kedua, data konteks pengguna yaitu data yang
menggambarkan lingkungan di sekitar pengguna seperti lokasi, zona waktu, dan
kondisi cuaca. Seluruh daftar fitur ditunjukkan pada Tabel 1.

4
Tabel 1 Daftar fitur
Nama Atribut

Deskripsi

Kecepatan mengetik

Semua fitur diambil berdasarkan perilaku mengetik
pada bawaan widget Android bernama EditText.
Semua nilai adalah numerik.

Frekuensi backspace ditekan
Frekuensi simbol spesial ditekan
Panjang maksimum teks
Panjang teks yang dihapus

Lokasi

Berapa kali pengguna memanggil edit window di
EditText untuk melakukan berbagai fungsi seperti
perpindahan cursor, seleksi kata, copy & paste.
Semua nilai adalah numerik.
Berapa sering perangkat digoyang. Nilainya adalah
numerik.
Rumah, Kantor, Perjalanan, Hiburan, Lainnya.

Waktu

Pagi, Siang, Sore, Malam.

Cuaca

10 kondisi cuaca.

Penghitungan sentuhan

Perhitungan perangkat digoyang

Pembentukan Model
Pada tahap ini sebanyak 300 dataset akan dianalisis dengan mengekstraksi
10 fitur berdasarkan penelitian Lee et al. (2012). Semua fitur diformalisasi sebagai
attribute-relation file format (arff). Berikutnya data latih dan uji akan diproses
menggunakan 10-fold cross validation dan 3-fold cross validation secara manual
sebagai pembanding tingkat akurasi. Pengujian 3-fold cross validation data dibagi
menjadi dua subset untuk data latih dan satu subset untuk data uji. Hasil pengujian
akan menghasilkan model klasifikasi.
Evaluasi
Evaluasi dari kinerja aplikasi mobile dilakukan pada data uji yang
didasarkan pada banyaknya prediksi data uji secara benar dan tidak benar oleh
model.
Lingkungan Pengembangan
-

Perangkat lunak yang digunakan dalam penelitian ini adalah :
Eclipse berguna sebagai IDE (Integrated Developmet Environment) untuk
mengembangkan perangkat lunak
Android SDK (Software Development Kit) berguna sebagai perkakas untuk
mengembangkan aplikasi Android
Java 1.6 berguna sebagai bahasa pemrograman untuk mengembangkan
perangkat lunak
MySQL berguna sebagai perangkat lunak manajemen basis data

5

-

Perangkat keras yang digunakan dalam penelitian ini adalah :
Processor Intel(R) Core(TM) Core 2 duo CPU @ 2.40GHz
Memori SDRAM 4GB 1066 MHz DDR3 (PC3-8500)
Harddisk 750 GB.
Perangkat mobile yang digunakan dalam penelitian ini adalah :
Samsung Galaxy Ace 2
NovaThor U8500 CPU Dual-core @ 800 MHz
RAM 768MB
Sensor akselerometer, magnetometer, GPS dengan A-GPS
Sistem operasi Android 2.3 (Gingerbread)

HASIL DAN PEMBAHASAN
Pengumpulan Data
Pengumpulan data mengikutsertakan partisipasi seorang wanita berumur 22
tahun yang kesehariannya berada di rumah. Partisipan diminta untuk
menggunakan aplikasi klien Twitter yang sudah dibangun. Implementasi klien
Twitter berjalan pada sistem operasi Android 2.3 menggunakan Application
Programming Interface (API) Foursquare, API Myweather2, dan akses layanan
Twitter.
API Foursquare digunakan untuk mengambil informasi lokasi. Daftar lokasi
dalam kategori didapatkan dengan cara mengategorikan informasi lokasi yang ada
di Foursquare. Daftar lokasi dalam kategori ditunjukkan pada Tabel 2.
Tabel 2 Daftar lokasi dalam kategori
Lokasi
Rumah
Kantor

Kategori dalam Foursquare
Residences dan subkategorinya
College & University dan subkategorinya
Professional & Other Places dan subkategorinya

Hiburan

Arts & Entertainment dan subkategorinya
Nightlife Spot dan subkategorinya

Perjalanan
Lainnya

Travel & Transport dan subkategorinya
Parks & Outdoors dan subkategorinya
Shops & Service dan subkategorinya
Food dan subkategorinya

Tabel 2 merupakan pengelompokan kategori pada Foursquare, digunakan
untuk fitur lokasi. API Myweather2 digunakan untuk mengambil informasi
kondisi cuaca. Daftar keadaan cuaca ditunjukkan pada Tabel 3.
Tabel 3 Daftar keadaan cuaca
Keadaan Cuaca
Cloudy
Partly-Cloudy
Thunderstorms
Rain
Snow
Drizzle
Showers
Sleet
Fog
Sunny

6
Kedua informasi tersebut menerima masukan latitude dan longitude dari
hasil GPS pada smartphone. Daftar fitur waktu menggunakan aturan yang
mengacu pada petunjuk praktis Badan Bahasa (2013). Daftar fitur waktu
ditunjukkan pada Tabel 4.
Tabel 4 Daftar fitur waktu
Keadaan
Pagi hari
Siang hari
Sore hari
Malam hari

Waktu
Pukul 00.00 – 10.00
Pukul 10.00 – 14.00
Pukul 14.00 – 18.00
Pukul 18.00 – 00.00

Antarmuka aplikasi mobile yang digunakan dalam pengumpulan data
ditunjukkan pada Gambar 2. Adapun cara pengambilan data adalah pada saat
pengguna merasakan emosi tertentu di dalam kehidupan sehari-hari mereka akan
menulis pesan singkat/tweet dan diminta untuk menunjukkan emosi mereka
dengan memilih emoticon yang tersedia. Kemudian dari hasil tweet tersebut
seluruh daftar fitur yang dibutuhkan akan disimpan. Data yang berhasil
dikumpulkan adalah sebanyak 300 dataset.

Gambar 2 Antarmuka aplikasi pengumpulan data
Pembentukan Model
Data yang telah dikumpulkan adalah berbentuk dataset. Setiap dataset
terdiri dari 10 fitur dan memiliki 1 kelas emosi. Susunan banyaknya emosi pada
data yang telah dikumpulkan dapat dilihat pada Tabel 5.

7

Tabel 5 Susunan kelas emosi dari
data yang terkumpul
Emosi
Jumlah
Senang
119
Kaget
34
Marah
16
Muak
7
Sedih
30
Takut
25
Netral
69
Tabel 5 merupakan kelas susunan banyaknya kelas emosi pada tiap dataset.
Pembentukan model dilakukan dengan menggunakan semua data yang sudah
dikumpulkan sebelumnya yang tersimpan dalam database, untuk kemudian
diubah ke attribute-relation file format (arff). Penelitian ini menggunakan 10-fold
cross validation dan 3-fold cross validation secara manual. Pada 3-fold cross
validation data yang terkumpul akan dibagi menjadi 3 subset, masing-masing
subset berisi 7 kelas emosi yang telah dibagi secara merata. Percobaan pertama
(fold I) menggunakan 200 data sebagai data latih yang berisi subset 1, 2. Subset 3
yang berisi 100 data dijadikan sebagai data uji. Percobaan terus dilakukan hingga
setiap subset pernah menjadi data uji. Susunan data pelatihan dan data pengujian
untuk 3-fold cross validation disajikan pada Tabel 6.
Tabel 6 Susunan data latih dan uji
Fold
Pelatihan
Pengujian
Fold I
S1, S2
S3
Fold II
S1, S3
S2
Fold III
S2, S3
S1
Pada Tabel 6 merupakan susunan pembagian data latih dan uji pada 3-fold
cross validation, sehingga menghasilkan 3 percobaan yang berbeda-beda. Hasil
percobaan yang memiliki akurasi tertinggi akan dipilih untuk menjadi model
klasifikasi. Pada fase pembentukan model akan menghasilkan model klasifikasi
berupa tree. Tree yang dihasilkan dapat dilihat pada Lampiran 2 dan Lampiran 3.
Implementasi
Penelitian ini menghasilkan sebuah aplikasi klien Twitter yang berjalan pada
platform Android. Aplikasi ini menggunakan library Twitter4J untuk dapat
mengakses API Twitter. Web service digunakan untuk memproses data masukan
dengan memanggil API Myweather2 dan API Foursquare, seluruh data masukan
akan diklasifikasikan dengan model klasifikasi yang sudah terbentuk sehingga
menghasilkan prediksi emosi. Gambar 3 memperlihatkan alur kerja sistem yang
dikembangkan.

8

Web Service

Perangkat

API

Gambar 3 Alur kerja sistem
Evaluasi
Pada penelitian ini dilakukan evaluasi model untuk menguji tingkat akurasi
klasifikasi decision tree. Untuk melihat akurasi dari setiap percobaan dari
perhitungan confusion matrix. Pada penelitian ini terdapat 7 kelas, sehingga
confusion matrix yang terbentuk berukuran 7x7. Pengenalan emosi dianggap
benar apabila kelas asal dan kelas prediksi dari data uji terletak pada indeks dan
kolom yang sama. Selain itu pengenalan dianggap salah apabila kelas prediksi
tidak sama dengan kelas asal. Untuk lebih jelasnya confusion matrix dapat dilihat
pada Tabel 7 dan Tabel 8.
Tabel 7 Confusion matrix 10-fold cross validation (Akurasi 44%)
Emosi
Kelas Asal

S
K
Ma
Mu
Se
T
N
Keterangan :
S : Senang
K : Kaget
Ma: Marah
Mu: Muak

S
77
19
5
4
16
6
24
Se: Sedih
T : Takut
N : Netral

K
14
4
0
1
3
7
4

Ma
2
1
4
1
0
0
1

Kelas Prediksi
Mu
Se
5
5
0
1
2
1
0
0
0
4
0
1
0
13

T
2
3
1
1
3
7
1

N
14
6
3
0
4
4
36

9
Tabel 7 menunjukkan confusion matrix pada pengujian 10-fold cross
validation, rata-rata akurasi yang diperoleh sebesar 44%. Jenis emosi yang
dikenali adalah senang, kaget, marah, sedih, takut, dan netral.
Tabel 8 Confusion matrix 3-fold cross validation (Akurasi 39%)

Kelas Asal

Emosi
S
K
Ma
Mu
Se
T
N

S
28
6
2
1
5
4
11

K
2
0
0
0
1
0
0

Ma
3
0
0
0
2
0
1

Kelas Prediksi
Mu
Se
0
0
0
0
0
0
0
0
0
0
0
0
0
0

T
0
1
0
1
2
0
0

N
6
5
3
0
0
5
11

Tabel 8 menunjukkan confusion matrix pada pengujian 3-fold cross
validation, menghasilkan akurasi tertinggi hanya sebesar 39%. Jenis emosi yang
paling banyak dikenali adalah senang dan netral. Dari hasil percobaan pada
evaluasi terlihat bahwa emosi yang memiliki klasifikasi yang buruk adalah emosi
muak. Hal ini dikarenakan faktor kecepatan mengetik, panjang teks, jumlah
perangkat digoyang serta lokasi dari pengguna sangat mempengaruhi hasil
prediksi dari emosi. Data yang diperoleh dari partisipan kurang memperkaya
dataset, karena data partisipan rata-rata berada di lingkungan rumah.

SIMPULAN DAN SARAN
SIMPULAN
Berdasarkan hasil penelitian yang dilakukan, metode klasifikasi decision
tree C4.5 dapat digunakan untuk mengidentifikasi emosi manusia. Hasil
identifikasi emosi manusia diperoleh dari perilaku pengguna dan konteks
pengguna dengan memanfaatkan sensor pada smartphone. Fitur yang digunakan
sebanyak 10 fitur. Nilai akurasi tertinggi yang didapatkan sebesar 44%.
SARAN
Untuk keperluan penelitian selanjutnya disarankan agar pengambilan data
lebih mobile, menyerupai kondisi sebenarnya dengan mengambil data pengguna
dari berbagai tempat, berbagai cuaca, dan suasana untuk memperunik karakteristik
emosi dan meningkatkan akurasi.

10

DAFTAR PUSTAKA
Ekman P. 1972. Universals and cultural differences in facial expressions of
emotions. Nebraska Symposium on Motivation [internet]. [diunduh 2013 Jul
5];19:207-283.
Tersedia
pada:
https://www.paulekman.com/wpcontent/uploads/2013/07/Universals-And-Cultural-Differences-In-FacialExpressions-Of.pdf.
Epp C, Lippold M, Mandryk RL. 2011. Identifying emotional states using
keystroke dynamics. Proceedings of the SIGCHI Conference on Human
Factors in Computing Systems; 2011 Mei 07-12; Vancouver, CA. New York
(US): ACM. hlm 715-724. doi: 10.1145/1978942.1979046.
[KEMDIKBUD] Kementrian Pendidikan dan Kebudayaan. 2013. Bagaimanakah
Penggunaan Kata Siang, Malam, Pagi, Dan Sore Dalam Sapaan? [internet].
[diacu
2013
Februari
6].
Tersedia
dari:
http://badanbahasa.kemdikbud.go.id/lamanbahasa/petunjuk_praktis/210.
Knapp RB, Kim J, André E. 2011. Emotion-Oriented Systems. Berlin (DE):
Springer-Verlag.
Lee H, Choi YS, Lee S, Park IP. 2012. Towards Unobtrusive Emotion
Recognition
for
Affective
Social
Communication.
Consumer
Communications and Networking Conference (CCNC); 2012 Jan 14-17; Las
Vegas, US. Las Vegas (US): IEEE. hlm 260-264. doi:
10.1109/CCNC.2012.6181098.
Picard RW. 1995. Affective Computing [internet]. [diunduh 2012 Mei 25].
Tersedia pada: http://affect.media.mit.edu/pdfs/TR-321/TR-321.pdf.
Quinlan JR. 1993. C4.5: Programs for Machine Learning. San Francisco (US):
Morgan Kaufmann Publishers Inc.

11
Lampiran 1 Algoritme C4.5 untuk membangun decision tree
Algoritme C4.5 untuk membangun decision tree dapat dijabarkan sebagai
berikut:
Langkah 0:
Pilih atribut yang memiliki nilai information gain terbesar dengan menghitung
Entropy dan Information Gain dari setiap atribut, Information Gain dapat
dituliskan dengan persamaan :
dengan:
A = atribut
S = ruang (data) sampel yang digunakan untuk training
= jumlah sampel untuk nilai i
= jumlah seluruh sampel data
= entropy untuk sampel data yang memiliki nilai i
Gain didapatkan dari perhitungan entropy dari koleksi S, dengan nilai dari entropy
setelah S di partisi menggunakan fitur A. Entropy adalah ukuran derajat
kemurnian suatu variabel. Entropy didefinisikan sebagai :

dengan :
A = ruang (data) sampel yang digunakan untuk training
= jumlah pada data sampel kriteria tertentu
Langkah 1:
Bentuk simpul yang berisi atribut tersebut
Langkah 2:
Ulangi proses perhitungan information gain yang akan terus dilakukan sampai
semua data telah termasuk kelas yang sama. Atribut yang terlah dipilih tidak
diikutsertakan lagi ke dalam perhitungan nilai information gain

12
Lampiran 2 Tree yang dihasilkan dari pengujian 10-fold cross validation
MaxTextLength 21
| Location = Rumah
| | Waktu = Pagi
| | | Weather = Cloudy: Senang (0.0)
| | | Weather = Partly-Cloudy
| | | | ErasedTextLength 5: Takut (4.0/1.0)
| | | Weather = Thunderstorms: Senang (0.0)
| | | Weather = Rain: Senang (0.0)
| | | Weather = Snow: Senang (0.0)
| | | Weather = Drizzle: Senang (0.0)
| | | Weather = Showers: Senang (0.0)
| | | Weather = Sleet: Senang (0.0)
| | | Weather = Fog: Sedih (4.0/1.0)
| | | Weather = Sunny
| | | | ErasedTextLength 7: Senang (5.0/1.0)
| | Waktu = Siang: Senang (70.0/24.0)
| | Waktu = Sore
| | | Weather = Cloudy: Senang (0.0)
| | | Weather = Partly-Cloudy
| | | | TypingSpeed 1.8095: Senang (2.0)
| | | Weather = Thunderstorms: Senang (0.0)
| | | Weather = Rain: Senang (0.0)
| | | Weather = Snow: Senang (0.0)
| | | Weather = Drizzle: Senang (0.0)
| | | Weather = Showers: Senang (0.0)
| | | Weather = Sleet: Senang (0.0)
| | | Weather = Fog: Senang (0.0)
| | | Weather = Sunny: Marah (2.0/1.0)
| | Waktu = Malam
| | | Weather = Cloudy: Senang (0.0)
| | | Weather = Partly-Cloudy
| | | | TouchCount 0: Senang (2.0/1.0)
| | | Weather = Thunderstorms: Senang (0.0)
| | | Weather = Rain: Senang (0.0)
| | | Weather = Snow: Senang (0.0)
| | | Weather = Drizzle: Senang (0.0)
| | | Weather = Showers: Senang (0.0)
| | | Weather = Sleet: Senang (0.0)
| | | Weather = Fog
| | | | BackspacePressFrequency 0
| | | | | TypingSpeed 2.3429: Senang (9.0/2.0)
| | | Weather = Sunny
| | | | ErasedTextLength 4
| | | | | MaxTextLength 34
| | | | | | BackspacePressFrequency 0.4: Kaget (2.0/1.0)
| Location = Kantor: Marah (2.0/1.0)
| Location = Hiburan: Senang (0.0)
| Location = Perjalanan: Senang (0.0)
| Location = Lainnya: Marah (4.0/1.0)

15
Lampiran 3 Tree yang dihasilkan dari pengujian 3-fold cross validation
Location = Rumah
| MaxTextLength 21
| | Waktu = Pagi
| | | Weather = Cloudy: Senang (0.0)
| | | Weather = Partly-Cloudy
| | | | ErasedTextLength 5: Takut (4.0/1.0)
| | | Weather = Thunderstorms: Senang (0.0)
| | | Weather = Rain: Senang (0.0)
| | | Weather = Snow: Senang (0.0)
| | | Weather = Drizzle: Senang (0.0)
| | | Weather = Showers: Senang (0.0)
| | | Weather = Sleet: Senang (0.0)
| | | Weather = Fog: Senang (0.0)
| | | Weather = Sunny
| | | | BackspacePressFrequency 0.1333: Senang (7.0/2.0)
| | Waktu = Siang: Senang (44.0/15.0)
| | Waktu = Sore: Senang (0.0)
| | Waktu = Malam
| | | Weather = Cloudy: Senang (0.0)
| | | Weather = Partly-Cloudy
| | | | TouchCount 0: Senang (2.0/1.0)
| | | Weather = Thunderstorms: Senang (0.0)
| | | Weather = Rain: Senang (0.0)
| | | Weather = Snow: Senang (0.0)
| | | Weather = Drizzle: Senang (0.0)
| | | Weather = Showers: Senang (0.0)
| | | Weather = Sleet: Senang (0.0)
| | | Weather = Fog: Senang (0.0)
| | | Weather = Sunny
| | | | ErasedTextLength 4
| | | | | TypingSpeed 1.7037
| | | | | | TypingSpeed 3.1143
| | | | | | | ErasedTextLength 7: Senang (5.0)
Location = Kantor: Marah (1.0)
Location = Hiburan: Senang (0.0)
Location = Perjalanan: Senang (0.0)
Location = Lainnya: Marah (4.0/1.0)

17

RIWAYAT HIDUP
Penulis dilahirkan di Jakarta pada tanggal 20 Juni 1988 dari Ibu Lina Sitorus
dan Bapak Saut Pakpahan. Penulis merupakan anak ke-1 dari 3 bersaudara. Pada
tahun 2006, penulis lulus dari Sekolah Menengah Kejuruan (SMK) SMKN 1
Cibinong dan pada tahun yang sama diterima di Program Diploma Institut
Pertanian Bogor (IPB) Program Studi Manajemen Informatika dan menyelesaikan
program diploma pada tahun 2009. Tahun 2010, penulis melanjutkan pendidikan
di Program Alih Jenis Ilmu Komputer, Institut Pertanian Bogor.