PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER...

59
PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER MENGGUNAKAN SKYLINE QUERY DALAM MAPREDUCE FRAMEWORK AHMAD LUKY RAMDANI SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2016

Transcript of PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER...

Page 1: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

PEMILIHAN AKUN BERPENGARUH PADA DATA

TWITTER MENGGUNAKAN SKYLINE QUERY DALAM

MAPREDUCE FRAMEWORK

AHMAD LUKY RAMDANI

SEKOLAH PASCASARJANA

INSTITUT PERTANIAN BOGOR

BOGOR

2016

Page 2: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana
Page 3: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

PERNYATAAN MENGENAI TESIS DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa tesis berjudul Pemilihan Akun

Berpengaruh pada Data Twitter Menggunakan Skyline Query dalam MapReduce

Framework 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 tesis ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut

Pertanian Bogor.

Bogor, September 2016

Ahmad Luky Ramdani

NIM G651130391

Page 4: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

RINGKASAN

AHMAD LUKY RAMDANI. Pemilian Akun Berpengaruh pada Data Twitter

Menggunakan Skyline Query dalam MapReduce Framework. Dibimbing oleh

TAUFIK DJATNA dan HERU SUKOCO.

Twitter merupakan salah satu aplikasi jejaring dan media sosial yang sangat

populer di Indonesia. Twitter di Indonesia banyak digunakan sebagai media

penyebaran opini dan propaganda. Setiap pengguna Twitter menyampaikan opini

dan propaganda dengan batasan 140 karakter disebut dengan tweet. Tweet yang

berupa opini dan propaganda banyak ditemukan pada massa pemilihan umum dan

pemasaran suatu produk. Pada pemilihan umum propaganda dilakukan terkait

tokoh nasional atau calon pemimpin. Sedangkan pada bidang pemasaran

propaganda berhubungan dengan merek suatu produk. Teknik propaganda yang

menggunakan media sosial Twitter disebut dengan viral marketing.

Salah satu konsep yang digunakan untuk mengoptimalkan viral marketing

adalah pengetahuan akun berpengaruh. Akun berpengaruh merupakan akun pada

media sosial Twitter yang mampu mempengaruhi akun lain dalam penentuan

keputusan. Akun berpengaruh disebut juga opinion leader (OL). Fitur yang

digunakan untuk mengidentifikasi akun berpengaruh di antaranya adalah matriks

Twitter (MT) dan analisis isi tweet. MT merupakan matriks yang menyediakan

informasi tentang akun dan aktifitasnya dengan akun lain pada jejaring sosial

Twitter dalam nilai numerik. Sedangkan analisis isi tweet melihat pengaruh yang

ditimbulkan dari tweet yang disampaikan akun. Sentimen reply terhadap tweet yang

disampaikan akun dapat menunjukan pengaruh akun tersebut. Analisis isi tweet

yang digunakan adalah analisis sentimen.

Di sisi lain, penggunaan algoritme pembelajaran mesin pada mengidentifikasi

akun berpengaruh sangat tergantung pada variasi data. Data yang bebeda

memungkinkan ketidakakuratan dalam menentukan akun berpengaruh. Skyline

query merupakan algoritme untuk mendapatkan objek yang tidak didominasi objek

lain dalam suatu data. Sehingga algoritme tersebut tidak terpengaruhi oleh variasi

data. Oleh sebab itu, pada penelitian ini mencoba menggunakan fitur MT dan

analisis isi tweet untuk identifikasi dan pemilihan akun berpengaruh dengan skyline

query berbasis pada karakteristik OL. Karakteristik penting OL yang digunakan

adalah komunikasi eksternal, aksesibilitas dan inovasi. Pada Twitter nilai

karakteristik tersebut tidak terdapat langsung data Twitter. Di samping itu, data

Twitter terus meningkat dalam ukuran data. Pengolahan data Twitter untuk

mendapatkan nilai karakteristik tersebut tidak dapat dilakuakan dengan pendekatan

konvensional, seperti menggunakan satu komputer dan model pemrogrman

berorientasi objek. MapReduce framework dalam kelompok komputer merupakan

solusi masalah tersebut. Sehingga penelitian menggunakan MapReduce framework

untuk mengoptimalkan proses identifikasi dan pemilihan akun berpengaruh. Hasil

identifikasi dan pemilihan akun berpengaruh menunjukan bahwa penggunaan

MapReduce framework dapat mengoptimalkan waktu eksekusi proses identifikasi

dan pemilihan. Skyline query dapat menunjukan akun yang berperngaruh pada data.

Kata kunci: akun berpengaruh, skyline query, MapReduce framework, opinion

leader,

Page 5: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

SUMMARY

AHMAD LUKY RAMDANI. Selecting User Influence on Twitter Data Under

MapReduce Framework. Supervised by TAUFIK DJATNA and HERU SUKOCO.

Twitter has been a leading networking application and social media in

Indonesia that is widely used for sharing opinion and propaganda. The users deliver

their opinion and propaganda with less than 140 characters as called by tweet. The

propaganda-related tweet is commonly found in voters of a public election and a

product marketing. In the public election, propaganda is addressed to national

figures or prospective leaders, while, in marketing, it is related to product branding.

The use of social media Twitter to blow up propaganda is called by viral marketing.

One of the concepts used in the viral marketing is user influence. It is a user

in Twitter that is capable to influence other users in making decision. User influence

is also called as opinion leader. Feature used for identifying user influence are

matrix Twitter and tweet content analysis. Matrix Twitter (MT) contains numerical

values which provide information about the user and its activity with other users in

Twitter. Analysis of tweet content is investigation on the impacts of shared tweet.

The reply sentiment in a tweet demonstrates the influence of the user. Hence,

sentiment analysis is applied to analyze tweet content.

On the other hand, machine learning algorithm highly depends on variation

of data model for determining user influence. Different data may induce inaccuracy

in selecting user influence. Skyline query is an algorithm to obtain an object that is

not dominated by other objects, thus this algorithm is unaffected by data model

variation. Therefore, this study employs MT feature and tweet content analysis to

select user influence using skyline query based on characteristics of opinion leader.

The characteristics include external communication, accessibility, and innovation.

These characteristics are not directly presence in Twitter. However, Twitter data is

increase in data size. Data processing to obtain the characteristics is unable to

process by a simple approach, thus MapReduce framework in computer group is

the solution. For this reason, this research uses MapReduce model in identifying

and selecting user influence. The result of identification and selection of user

influence shows that MapReduce framework enables to shorten execution time,

while skyline query successfully determines the user influence on data.

Keywords: user influence, skyline query, MapReduce framework, opinion leader

Page 6: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

© Hak Cipta Milik IPB, Tahun 2016

Hak Cipta Dilindungi Undang-Undang

Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau

menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan,

penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau

tinjauan suatu masalah; dan pengutipan tersebut tidak merugikan kepentingan IPB

Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis ini

dalam bentuk apa pun tanpa izin IPB

Page 7: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

Tesis

sebagai salah satu syarat untuk memperoleh gelar

Magister Komputer

pada

Program Studi Ilmu Komputer

PEMILIHAN AKUN BERPENGARUH PADA DATA

TWITTER MENGGUNAKAN SKYLINE QUERY DALAM

MAPREDUCE FRAMEWORK

SEKOLAH PASCASARJANA

INSTITUT PERTANIAN BOGOR

BOGOR

2016

AHMAD LUKY RAMDANI

Page 8: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

Penguji Luar Komisi pada Ujian Tesis: Irman Hermadi, SKom MS PhD

Page 9: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

Judul Tesis : Pemilihan Akun Berpengaruh pada Data Twitter Menggunakan

Skyline Query dalam Mapreduce Framework

Nama : Ahmad Luky Ramdani

NIM : G651130391

Disetujui oleh

Komisi Pembimbing

DrEng Ir Taufik Djatna, MSi

Ketua

DrEng Heru Sukoco, SSi MT

Anggota

Diketahui oleh

Ketua Program Studi

Ilmu Komputer

Dr Ir Sri Wahjuni, MT

Dekan Sekolah Pascasarjana

Dr Ir Dahrul Syah, MScAgr

Tanggal Ujian: 31 Agustus 2016

Tanggal Lulus:

Page 10: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas

segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang

dipilih dalam penelitian yang dilaksanakan sejak bulan Januari 2015 ini ialah social

media dan optimasi dengan judul Pemilihan Akun Berpengaruh pada Data Twitter

Menggunakan Skyline Query dalam MapReduce Framework.

Terima kasih penulis ucapkan kepada Bapak DrEng Ir Taufik Djatna, MSi

dan DrEng Heru Sukoco, SSi MT selaku pembimbing, serta Irman Hermadi, Skom

MS PhD yang telah banyak memberi saran. Di samping itu, penghargaan penulis

sampaikan kepada istri dan anak tercinta, rekan-rekan pasca ILKOM IPB 2014 dan

laboratorium komputer TIP. Ungkapan terima kasih juga disampaikan kepada ayah,

ibu, serta seluruh keluarga, atas segala doa dan kasih sayangnya.

Semoga karya ilmiah ini bermanfaat.

Bogor, Septermber 2016

Ahmad Luky Ramdani

Page 11: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

DAFTAR ISI

DAFTAR TABEL vi

DAFTAR GAMBAR vi

DAFTAR LAMPIRAN vi

1 PENDAHULUAN 1

Latar Belakang 1

Perumusan Masalah 2

Tujuan Penelitian 2

Manfaat Penelitian 2

Ruang Lingkup Penelitian 3

2 TINJAUAN PUSTAKA 4

Opinion Leader 4

Akun Berpengaruh 4

Analisis Sentimen 5

MapReduce Framework 7

Sort Filter Skyline Query 8

Top-k Query 9

3 METODE 11

Tahapan Penelitian 11

Alat dan Data 11

Pengumpulan Data Berdasarkan Topik 11

Analisis Sentimen 12

Identifikasi Akun Berpengaruh 15

Skyline Query 16

Top-k Query 17

4 HASIL DAN PEMBAHASAN 18

Data 18

Model Klasifikasi Sentimen 19

Nilai Karakteristik Akun Berpengaruh 20

Akun Berpengaruh 24

Kelebihan dan Kekurangan Hasil Penelitian 26

5 SIMPULAN DAN SARAN 26

Simpulan 26

Saran 26

DAFTAR PUSTAKA 27

LAMPIRAN 31

RIWAYAT HIDUP 47

Page 12: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

DAFTAR TABEL

1 Matriks Twitter 5 2 Ilustrasi vektor ciri sentiemn berdasarkan kamus dan ciri sentimen 15

3 Tokoh nasional dan kata kunci 18 4 Data Twitter opini 19 5 Kamus Sentimen 19 6 Kelas sentimen pada data reply 20 7 Id matriks Twitter dan atribut data Twitter 20

8 Waktu eksekusi proses identifikasi akun berpengaruh 23 9 Hasil pemilihan akun berpengaruh dengan k = 5 25

DAFTAR GAMBAR

1 Metode analisis sentimen 6 2 Komponen Hadoop 7

3 Ilustrasi data dan skyline 9 4 Diagram alir tahapan penelitian 11 5 Tampilan kamus sentimen pada database 14

6 Langkah-langkah algoritme SFS dalam MapReduce framework 16 7 TFF ratio 18

8 BPMN untuk identifikasi nilai karakteristik akun berpengaruh. 20 9 Arsitektur MapReduce framework 23

10 Perbandingan waktu eksekusi pada node dan data yang bebeda pada

perhitungan nilai setiap karakteristik OL 24

11 Ilustrasi distrubusi akun berpengaruh 24 12 Perbandingan waktu eksekusi model konvensional dan MapReduce pada

pemilihan akun dengan skyline dan top-k query 25

DAFTAR LAMPIRAN

1 Daftar fitrur kontekstual pada data tokoh nasional 32

2 Portal berita online dan situs resmi partai politik 32 3 Aturan kalimat opini berdasarkan kelas kata (Rozi et al. 2012) 32

4 Daftar emoticon. 33 5 Daftar contoh stopword. 33 6 Class java untuk klasifikasi sentimen dengan NBC dengan 10-fold cross

validation 34 7 Contoh data Twitter dan atributnya 35

8 Contoh data matriks Twitter 41 9 Contoh data akun dan karakteristik OL 41

10 Class dan fungsi algoritme SFS dalam MapReduce framework. 42

Page 13: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

1 PENDAHULUAN

Latar Belakang

Twitter terus berkembang sejak dirilis pada tahun 2006. Perkembangan

tersebut dimulai dari pengguna hingga fasilitas yang tersedia pada Twitter. Twitter

merupakan salah satu aplikasi jejaring dan media sosial yang sangat populer di

Indonesia. Menurut Nico (2013), Indonesia menempati urutan ketiga jumlah

pengguna Twitter dengan persentase 6.5% dari seluruh pengguna. Di Indonesia

Twitter banyak digunakan sebagai media penyebaran opini dan propaganda.

Berdasarkan motivasi “Apa yang terjadi?”, setiap pengguna Twitter dapat

menyampaikan informasi, opini atau propaganda dengan batasan 140 karakter yang

disebut dengan tweet. Tweet yang berupa propaganda sering ditemukan pada massa

pemilihan umum (Maynard dan Funk 2011) dan pemasaran suatu produk (Jansen

et al. 2009). Pada pemilihan umum propaganda dilakukan terkait tokoh nasional

atau calon pemimpin. Sedangkan pada bidang pemasaran propaganda berkaitan

dengan brand suatu produk. Teknik propaganda yang memanfaatkan media sosial

Twitter disebut dengan viral marketing (Kiss dan Bichler 2008).

Salah satu konsep yang digunakan pada viral marketing adalah pengetahuan

tentang akun berpengaruh (Cha el al. 2010). Akun berpengaruh adalah akun pada

media sosial Twitter yang dapat mempengaruhi akun lain dalam proses

pengambilan suatu keputusan. Fitur yang digunakan untuk mengukur akun

berpengaruh di antaranya adalah dengan menggunakan matriks Twitter (MT). MT

adalah simbol matematika berupa matriks yang berisi informasi terkait akun pada

Twitter dalam suatu nilai numerik seperti jumlah follower, following, reply, mention

dan tweet (Riquelme dan González-Cantergiani 2015). Nilai-nilai tersebut

dikombinasikan pada formula atau algoritme seperti pada pengunaan algortime

PageRank dalam pemilihan akun berpengaruh (Huang dan Xiong 2013).

Penggunaan fitur MT dalam mengidentifikasi akun berpengaruh dilakukan

oleh Septiandri dan Purwarianti (2013) dengan berbasis karakteristik opinion leader

dan algoritme pembelajaran terbimbing. Terdapat kekurangan pada penelitian

tersebut di antaranya adalah identifikasi akun berpengaruh hanya berdasarkan pada

nilai MT. Nilai MT berisi informasi suatu akun dan hubunganya dengan akun lain.

Menurut Septiandri dan Purwarianti (2013) terdapat kemungkinan bahwa

keberpengaruhan suatu akun disebabkan pada hal yang disampaikan pada tweet.

Sentimen reply terhadap opini atau propaganda yang disampaikan pada media

sosial dapat menunjukan keberpengaruhan akun (Raamakirtinan dan Livingston

2016).

Selain itu, penggunaan algoritme pembelajaran mesin sangat tergantung pada

data yang digunakan pada proses pelatihan dan pengujian. Sehingga selalu

dilakukan uji konsistensi model pada variasi data yang bebeda. Data yang berbeda

memungkinkan ketidakakuratan dalam penentuan akun berpengaruh. Zaman et al.

(2015) menggunakan skyline query untuk mengidentifikasi dan memilih akun pada

media sosial Facebook. Skyline query merupakan algoritme untuk mendapatkan

objek yang tidak didominasi objek lain dalam suatu data (Djatna dan Morimoto

2009). Suatu akun dikategorikan sebagai akun berpengaruh, jika akun tersebut tidak

didominasi oleh akun-akun lain. Akun dikategorikan tidak didominasi oleh akun-

Page 14: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

2

akun lain, jika akun tersebut lebih baik pada setiap karakteristik-karakteristik

tertentu. Sehingga berdasarkan hal tersebut, penelitian ini mencoba menggunakan

fitur MT dan analisis sentimen reply untuk identifikasi dan pemilihan akun

berpengaruh dengan skyline query berbasis karakteristik opinion leader (OL). OL

merupakan individu yang dapat mempengaruhi suatu komunitas dalam masyarakat

(Tong dan Xuecheng 2010). Oleh karena itu, akun berpengaruh pada Twitter

memiliki kesamaan dengan OL (Ziang et al. 2016). Menurut Rogers (1995),

seorang OL dapat dilihat dari karakteristik-karakteristik yaitu komunikasi eksternal,

inovasi, aksesibilitas dan status sosial ekonomi.

Berbeda dengan skyline query pada umumnya, pemilihan akun berpengaruh

berdasarkan karakteristik OL tidak sederhana. Hal ini karena nilai setiap

karakteristik tersebut tidak terdapat langsung pada data Twitter. Jumlah data

Twitter yang terus meningkat, pemrosesan data tidak dapat dilakukan dengan

pendekatan model konvensional seperti penggunaan model pemrograman

prosedural atau berorientasi objek pada satu komputer. MapReduce framework

pada kelompok komputer adalah solusi masalah tersebut. Sehingga penelitian

menggunakan MapReduce framework untuk mengoptimalkan proses identifikasi

dan pemilihan akun berpengaruh. MapReduce framework adalah model

pemrograman dan perangkat lunak yang berhubungan dengan pengolahan data

berukuran besar (Dean dan Ghemawat 2004). Selain itu, MapReduce framework

dapat melakukan pemrosesan data terdistribusi dalam kelompok komputer

(cluster).

Perumusan Masalah

Matriks Twitter dan pendekatan analisis sentimen banyak digunakan dalam

proses identifikasi akun berpengaruh. Penelitian ini mengadopsi pendekatan-

pendekatan tersebut pada karakteristik OL dalam identifikasi dan pemilihan akun

berpengaruh. OL memiliki multi-karakteristik sehingga proses pemilihan dapat

dilakukan dengan menggunakan skyline query. Akan tetapi, terdapat tantangan

yang dihadapi ketika melakukan identifikasi dan pemilihan akun berpengaruh

menggunakan data Twitter, salah satunya adalah data Twitter yang terus meningkat

dalam ukuran data. Sehingga penelitian menggunakan MapReduce framework.

Tujuan Penelitian

Tujuan penelitian ini di antaranya:

1. Mengidentifikasi akun berpengaruh berbasis karakteristik OL berdasarkan fitur

MT dan analisis sentimen dalam MapReduce framework.

2. Menerapkan algoritme skyline query dalam MapReduce framework untuk

melakukan pemilihan akun berpengaruh.

Manfaat Penelitian

Manfaat dari dilaksanakannya penelitian ini ialah didapatkannya metode

pemilihan akun berpengaruh dengan algoritme skyline query dan identifikasi akun

Page 15: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

3

berpengaruh yang berbasis pada fitur MT dan analisi sentimen reply dalam

MapReduce framework.

Ruang Lingkup Penelitian

Beberapa batasan yang ditetapkan pada penelitian ini, di antaranya:

1. Menggunakan Application Programming Interface (API) Twitter versi 1.1 untuk

proses pengumpulan data Twitter.

2. Penggumpulan data berdasarkan kata kunci dari nama tokoh nasional yang

sedang dibicarakan pada media online dan situs partai politik.

3. Data yang digunakan adalah data jejaring sosial Twitter yang berisi opini

berbahasa Indonesia kecuali majas dan sarkasme.

4. Algoritme skyline query yang digunakan adalah Sort Filter Skyline (SFS).

Page 16: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

4

2 TINJAUAN PUSTAKA

Opinion Leader

Istilah opinion leader (OL) pertama dikemukakan oleh Paul Lazarfield dalam

penelitian terkait pengaruh media masa (Goldsmith 2015). Penelitian tersebut

menemukan bahwa seseorang tidak langsung percaya dan menerima apa yang

disampaikan oleh media massa, akan tetapi mereka akan menerima informasi

tersebut ketika disampaikan oleh individu-individu yang mereka percayai.

Individu-individu tersebut dinamakan dengan OL.

OL ditemukan juga pada teori two-step flow comunication yang merupakan

teori yang menjelaskan bagaimana proses penerimaaan informasi dari media

sampai pada masyarakat. Pada teori tersebut, OL dapat dikatakan sebagai perantara

atau penghubung dari media massa atau sumber informasi kepada masyarakat. Pada

teori tersebut OL bukan hanya sebagai perantara informasi akan tetapi juga

menambahkan unsur persuasip ketika menyampakan informasi kepada masyarakat.

Menurut Roger (1995), terdapat empat karakteristik yang terdapat pada

seorang OL yaitu: 1) komunikasi eksternal, 2) aksesibilitas, 3) inovasi dan 4) status

ekonomi yang baik. Komunikasi eksternal mengindikasikan bahwa seseorang lebih

dikenal dalam masyarakat. Hal ini berari bahwa seorang OL memiliki pengikut

lebih banyak atau lebih populer dibandingkan dengan orang lain. Aksesibilitas

mengidikasikan keakraban seseorang dalam berinteraksi di masyrakat. Aksesibiltas

menunjukan intensitas komuniasi antara individu. Seorang OL memiliki intensitas

komunikasi yang tinggi dibandingkan dengan orang lain. Karakteristik inovasi

menunjukan kecepatan seseorang dalam menemukan dan membagikan informasi

kepada orang lain. Sehingga seorang OL lebih inovatif dan dipercaya sebagai

sumber informasi. Sedangkan status ekonomi menunjukan kondisi perekomonian

seorang individu. Seorang individu dikategorikan sebagai OL jika memiliki status

ekonomi yang baik.

Akun Berpengaruh

Keberadaan akun berpengaruh erat hubunganya dengan karakteristik aplikasi

media online. Twitter adalah aplikasi pada media oline yang memiliki karakteristik

sebagai jejaring sosial (Yuk dan Kak 2012). Twitter sebagai jejaring sosial karena

pada Twitter terdapat individu-individu yang berelasi dan saling berinteraksi.

Relasi pada Twitter di antaranya dapat berupa pertemanan, kesamaan minat,

follower, retweet, reply dan metion. Selain itu, Twitter menggunakan model jearing

sosial yang disebut dengan following. Model following artinya bahwa pengguna

Twitter dapat melihat tweet atau update informasi yang disampaikan oleh pengguna

lain. Model jejaring sosial seperti ini, memungkinkan setiap pengguna Twitter

(akun) memiliki potensi untuk mempengaruhi akun lain (Kiss dan Bichler 2008).

Akun yang memiliki kemampuan untuk mempengaruhi akun lain pada Twitter

disebut akun berpengaruh (user influence).

Pengukuran pengaruh akun salah satunya dilakukan dengan menggunakan

matriks Twitter (MT). MT yaitu suatu matriks yang berisi informasi dalam suatu

nilai numerik dari jejaring sosial Twitter (Requelme dan González-Cantergiani

Page 17: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

5

2015). Nilai-nilai tersebut dikombinasikan pada formula atau algoritme untuk

mengukur pengaruh akun. Tabel 1 adalah MT yang banyak digunakan untuk

mengukur akun berpengaruh. Nilai-nilai tersebut didapatkan dengan melakukan

peerhitungan pada data Twitter, Namun ada juga yang didapatkan langsung

menggunakan API. Pengukuran akun berpengaruh dengan menggunakan MT

dilakukan oleh Pal dan Counts (2011) dengan menggunakan nilai pada Id RT2,

RT3, M4 dan M2.

Selain pendekatan MT, pendekatan lain seperti analisis sentimen digunakan

dalam mengukur akun berpengaruh. Raamakirtinan dan Livingston (2016)

mengukur pengaruh suatu akun pada Facebook berdasarkan algoritme PageRank

dan melihat sentimen terhadap akun melalui reply. Sentimen positif terhadap suatu

akun, menunjukan keberpengaruhan akun tersebut dan sebaliknya. Analisis

sentimen menggunakan algoritme Suport Vector Model (SVM).

Analisis Sentimen

Analisis sentimen disebut juga sebagai klasifikasi sentimen. Menurut

Medhata et al. (2014), analisis sentimen merupakan studi komputasi kata pada opini,

sikap, dan emosi seseorang terhadap suatu entitas. Entitas tersebut dapat berupa

orang, benda, kejadian atau suatu topik tertentu. Fungsi dasar dari analisis sentimen

adalah mengklasifikasikan kecenderungan kata, kalimat atau dokumen ke dalam

Tabel 1 Matriks Twitter (Requelme dan González-Cantergiani 2015)

Id Deskripsi

M1 Jumlah mention akun lain oleh akun

M2 Jumlah akun yang di-mention oleh akun

M3 Jumlah mention terhadap akun A oleh akun lain

M4 Jumlah akun yang me-mention akun

F1 Jumlah follower akun

F2 Jumlah follower yang aktif akun

F3 Jumlah following akun

F4 Jumlah following yang aktif akun

F5 Jumlah follower yang me-tweet topik yang sama setelah akun

F6 Jumlah following yang me-tweet topik yang sama sebelum akun

OT1 Jumlah tweet yang di-post oleh akun

OT2 Jumlah URL tautan yang disebarkan pada tweet oleh akun

OT3 Jumlah hashtag yang terdapat pada tweet oleh akun

RP1 Jumlah reply yang di-post oleh akun

RP2 Jumlah tweet akun yang di-reply oleh akun lain.

RP3 Jumlah akun lain yang me-reply tweet akun

RT1 Jumlah retweet yang dilakukan oleh akun

RT2 Jumlah tweet akun yang di-retweet oleh akun lain

RT3 Jumlah akun yang mer-retweet tweet akun

FT1 Jumlah tweet akun lain yang disukai (like) oleh akun

FT2 Jumlah tweet akun yang disukai oleh akun lain

FT3 Jumlah akun lain yang menyukai tweet akun

Page 18: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

6

kelompok sentimen positif, negatif dan netral (Vinodhini dan Chandrasekaran

2012).

Penelitian analisis sentimen berdasarkan Medhata et al. (2014) terdiri dari dua

metode yaitu algoritme pembelajaran mesin dan kamus. Pertama metode algoritme

pembelajaan mesin. Metode tersebut terdiri dari algoritme pembelajaran terbimbing

(supervised learning) dan pembelajaran tidak terbimbing (unsupervised learning).

Algoritme pembelajaran mesin yang digunakan seperti Naive Bayes (Chinthala et

al. 2015), Support Vector Machines (Mullen dan Collier 2004), Neural Network

(Ghiassi et al. 2013), dan Artificial Neural Network (Rodrigo et al. 2013).

Kedua metode kamus atau lexicon. Metode tersebut menggunakan kumpulan

kata atau frasa serta metode statistik dan semantik untuk menentukan

kecenderungan sentimen (Liu 2010). Sumber kamus yang dapat digunakan berasal

dari bahasa Inggris di antranya adalah opinion lexicon (Hu dan Liu 2004),

SentiWordNet (Esuli dan Sebastiani 2006) dan AFINN (Nielsen 2011). Analisis

sentimen dengan metode kamus pada data berbahasa Indonesia dilakukan oleh

Lunando dan Purwarianti (2013) untuk mengidentifikasi sarkasme dengan

menerjemahkan kamus SentiWordNet. Proses penerjemahan menggunakan Google

Translate. Diagram metode analisis sentimen secara umum dapat dilihat pada

Gambar 1.

Selain kedua metode yang dijelaskan sebelumnya, terdapat pendekatan yang

menggabungkan metode algoritme pembelajaran mesin dan kamus. Metode

tersebut dinamakan hybrid (Medhata et al. 2014). Metode hybrid dilakukan oleh

Denecke (2008), Khan et al. (2015) dan Khuc et al. (2012) untuk mendapatkan

akurasi yang lebih baik dalam menentukan sentimen dokuemen text.

Sentiment

Analysis

Machine Learning

Approach

Lexicon-based

Approach

Supervised

Learning

Unsupervised

Learning

Directory-based

Approach

Corpus-based

Approach

Decision Tree

Classifiers

Linear

Classifiers

Rule-Base

Classifiers

Probabilistic

Classifiers

Support Vector

Machines

Neural Network

Naive Bayes

Bayesian Network

Maximum Entropy

Statistical

Semantic

Gambar 1 Metode analisis sentimen (Medhata et al. 2014)

Page 19: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

7

MapReduce Framework

MapReduce framework adalah perangkat lunak dan model pemrograman

yang digunakan untuk melakukan pengolahan data yang berukuran besar (Dean dan

Ghemawat 2004). Menurut DeRoos et al. (2014), MapReduce framework

merupakan perangkat lunak yang dapat melakukan pemrosesan dengan terdistribusi

pada kelompok komputer (cluster). Pada suatu cluster MapReduce framework

terdiri dari satu master node dan beberapa slave node. Master node merupakan

komputer yang bertanggung jawab mengatur berjalanya distribusi proses dan data

di dalam cluster. Slave node berfungsi untuk menyimpan block data dan

menjalankan proses map dan reduce. MapReduce framework yang banyak

digunakan salah satunya adalah Hadoop. Pada hadoop terdiri dari dua komponen

utama, yaitu komponen MapReduce dan Hadoop Distributed File System (HDFS).

Komponen Hadoop dapat dilihat pada Gambar 2.

MapReduce terdiri dari fungsi map dan reduce yang banyak digunakan pada

functional programming. Fungsi map, memproses setiap masukan data untuk

menghasilkan pasangan kunci dan nilai sementara. Sedangkan fungsi reduce

menggabungkan semua nilai sementara sesuai dengan kunci sementaranya. Model

pemrograman seperti ini memungkinkan pemrosesan data dapat dilakukan secara

terdistribusi pada banyak komputer (parallel). MapReduce merupakan salah satu

bagian utama dari Hadoop, sehingga disebut Hadoop MapReduce (Dittrich dan

Quiane-Ruiz 2012). Berikut langkah-langkah pemprosesan data pada MapReduce.

1. Input dan pembagian data. MapReduce membagi data menjadi m bagiam,

dengan m adalah jumlah fungsi map yang didefinisikan berdasarkan ukuran

data. Misalkan terdapat data dengan ukuran 256 MB, m = 5 jika ukuran blok

data adalah 64 MB.

2. Map. Fungsi map membaca file yang telah mengalai proses pembagian. Fungsi

tersebut menghasilkan pasangan kunci dan nilai sementara.

3. Shuffle and sort. Setelah proses map dilakukan proses shuffle and sort, yaitu

proses pengelompokan dan pengurutan nilai sementaranya berdasarkan kunci

sementaranya.

4. Reduce. Semua pasangan kunci dan nilai sementara, digunakan sebagai input

pada fungsi reduce. Fungsi reduce menggabungkan seluruh nilai sesuai dengan

Hadoop

Secondary

NameNodeNameNode

DataNode DataNode

JobTracker

TaskTracker TaskTracker

HDFS MapReduce

Gambar 2 Komponen Hadoop

Page 20: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

8

kunci sementaranya. Fungsi tersebut dapat berupa fungsi aggregation dan

fungsi matematika lain.

5. Output. Output merupakan data dari proses reduce yang dapat diisimpan pada

file atau database.

MapReduce pada Hadoop terdiri dari dua komponen utama yaitu jobtracker

dan tasktracker. Jobtracker berfungsi untuk memecah pekerjaan menjadi beberapa

pekerjaan yang lebih kecil berdasarkan jumlah slave. Tasktracker berfungsi

menerima tugas dari JobTracker yang kemudia mengerjakanya pekerjaan tersebut

ke dalam java virtual machine (JVM) yang terpisah.

HDFS merupakan file system terdistribusi berbasi java yang terdapat pada

Hadoop. File system terdistribusi pada Hadoop dapat diartikan sebagai file system

yang menyimpan data tidak dalam satu media penyimpanan, tetapi data dipecah

(file dipecah dalam bentuk block) dan disimpan tersebar dalam suatu cluster yang

terdiri dari beberapa komputer. HDFS memiliki komponen-komponen utama

berupa NameNode, DataNode dan Secondary NameNode. NameNode terdapat

pada komputer yang bertindak sebagai master yang mengkordinasikan DataNode

untuk melakukan pekerjaan. NameNode merupaka pusat dari HDFS. DataNode

berfungsi untuk menyimpan dan mengambil kembali data pada slave node pada

setiap permintaan yang dilakukan oleh NameNode. Sedangkan scondary

NameNode, berfungsi melakukan monitoring kondisi pada cluster HDFS. Scondary

NameNode terdapat pada master node.

Sort Filter Skyline Query

Skyline query merupakan metode untuk mendapatkan skyline. Skyline

merupakan kumpulan objek yang tidak didominasi oleh objek yang lainnya

berdasarkan pada kriteria-kriteria tertentu. Objek dikategorikan sebagai objek yang

tidak didominasi oleh objek lain, jika nilai objek tersebut pada setiap atributnya

lebih baik dari akun lain dan minimal satu atribut pada objek lebih baik dari akun

lain. Ilustrasi pada Gambar 3, terdapat hotel yang memiliki kriteria harga (y) dan

jarak dari pantai (x). Skyline adalah hotel yang memiliki harga paling rendah dan

jaraknya paling dekat dari pantai. Skyline objek dari data tersebut adalah a, i, dan k.

Suatu objek dikatakan tidak didominasi oleh objek lain, jika nilai suatu objek lebih

baik pada semua kriteria dan lebih baik minimal pada satu kriteria (Djatna dan

Morimoto 2009).

Algoritme skyline query di antaranya adalah Block Nested Loops (BNL)

(Borzsonyi et al. 2001), Sort Filter Skyline (SFS) (Chomicki et al. 2003), Nearest

Neighbor Skyline (NN) (Kossmann et al. 2002), Bitmap, Index (Tan et al. 2001)

dan Branch-and-Bound Skyline (Papadias et al. 2005). Algoritme Sort Filter

Page 21: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

9

Skyline (SFS) merupakan pengembangan dari algoritme Block Nested Loops (BNL).

Algoritme BNL membutuhkan iterasi waktu yang cukup lama dan memory yang

besar. Karena BNL melakukan pencarian dan pembandingan dengan setiap nilai

pada data (scaning), dan menyimpan kandidat skyline di dalam memory. SFS

memperbaiki hal tersebut dengan melakukan proses pengurutan data (sorting)

untuk mengurangi proses pencarian dan pembandingan. Berikut langkah-langkah

algoritme SFS.

1. Pertama, lakukan pengurutan data berdasarkan hasil fungsi terhadap nilai pada

setiap atribut data. Fungsi nilai dapat berupa penjumalah, perkalian atau

berdasarkan perspektif skyline.

2. Untuk p nilai pada data lakukan langkah-langkah berikut:

a. Jika p didominasi oleh nilai lain pada data, hapus p karena bukan

kandidat skyline.

b. Jika p mendominasi nilai lain pada data, simpan p sebagai kandidat

skyline pada memory. Semua nilai yang didominasi p hapus dari data.

c. Jika p tidak didominasi atau mendominasi nilai lain pada data, maka tidak

dilakuakn penghapusan nilai pada data dan penyimpanan kandidat

skyline pada memory.

Top-k Query

Top-k query merupakan algoritme untuk menemukan k objek yang lebih baik

(mendominasi) pada data berdasarkan suatu fungsi nilai. Top-k query merupakan

kelanjutan dari proses skyline query. Hal itu karena skyline query tidak dapat

mengontrol jumlah objek yang ingin didapatkan berdasarkan perspektif pengguna.

Selain itu, skyline query akan sangat sulit mengidentifikasi objek terbaik pada data

besar. Oleh sebab itu, dilakukan proses top-k query. Penelitian top-k query

dilakukan oleh Papadias et al. (2005) dan Tao et al. (2009). Akan tetapi top-k query

pada penelitiann tersebut sangat tergantung pada fungsi terhadap nilai. Siddique

dan Morimoto (2014) membuat algoritme top-k query tanpa tergantung pada fungsi

nilai pada setiap atribut data.

Algoritme top-k query Siddique dan Morimoto (2014) berdasarkan peringkat

objek pada setiap atributnya (dimensi data) untuk mendapatkan k objek terbaik.

Berikut langkah-langkah algoritme top-k berdasarkan Siddique dan Morimoto

(2014).

Gamber 3 Ilustrasi data dan skyline (Papadias et al. 2005)

Page 22: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

10

1. Berdasarkan data hasil proses skyline query, lakukan proses pembagian data

(splitting) berdasarkan atribut data

2. Lakukan pengurutan data berdasarkan fungsi meningkat (ascending) dan

lakukan pemeringkatan pada setiap bagian data.

3. Lakukan pengelompokan data berdasarkan objek dari setiap bagian data.

4. Jumlahkan nilai peringkat dari setiap objek. Objek dengan nilai terendah

merupakan objek terbaik.

5. Simpan objek sejumlah nilai k.

Page 23: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

11

3 METODE

Tahapan Penelitian

Tahapan penelitian terdiri dari tiga bagian yaitu 1) praproses, 2) identifikasi

akun berpengaruh, dan 3) pemilihan akun berpengaruh. Tahapan praproses terdiri

dari proses pengumpulan data berdasarkan topik dan analisis sentimen. Proses

analisis sentimen bertujuan mendapatkan model klasifikasi yang digunakan pada

tahapan identidikasi akun berpengaruh. Kemudian tahapan pemilihan akun

berpengaruh terdiri dari proses skyline dan top-k query. Tahapan identifikasi dan

pemilihan akun berpengaruh dilakukan dalam lingkungan MapReduce framework.

Diagram alir tahapan penelitian dapat dilihat pada Gambar 4.

Alat dan Data

Data yang digunakan dalam penelitian adalah data Twitter publik berbahasa

Indonesia yang berupa opini. Adapun alat yang digunakan adalah tiga komputer

dengan prosesor AMD 64 bit dan RAM 8 Gigabyte. Perangkat lunak yang

digunakan adalah library weka 3.8, Eclipse Mars.1 Release (4.5.1), Mariadb 10.1.9,

mongodb v3.2.3, java versi 1.8.0 dan Hadoop versi 2.3 sebagai perangkat lunak

MapReduce framework.

Pengumpulan Data Berdasarkan Topik

Tahapan ini merupakan bagian dari tahapan praproses. Pada tahap ini

dilakukan proses identifikasi tokoh untuk mendapatkan nama tokoh nasional yang

akan menjadi topik dan kata kunci pada pengumpulan data. Proses tersebut

menggunakan fitur kontekstual dan morfologi pada data artikel dari portal berita

Pemilihan Akun Berpengaruh

MapReduce framework

Praproses

Identifikasi Akun BerpengaruhIdentifikasi Akun Berpengaruh

Skyline querySkyline query Top-k queryTop-k query

Pengumpulan Data Berdasarkan TopikPengumpulan Data Berdasarkan Topik Analisis SentimenAnalisis Sentimen

Gambar 4 Diagram alir tahapan penelitian

Page 24: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

12

online dan portal resemi partai politik seperti detikcom. Fitur morfologi yang

digunakan adalah TitleCase, yaitu kata yang diawal dengan huruf kapital. Data

artikel didapatkan dengan menggunakan HTML parser dan Real Simple

Syndication (RSS) menggunakan library jsoup1. Aturan kontekstual dan morfologi

dipilih karena memiliki akurasi lebih baik dibandingkan dengan association mining

rule dalam mengidentifikasi nama tokoh (Budi et al. 2015). Adapun daftar fitur

kontekstual yang digunakan terdapat pada Lampiran 1. Sedangkan daftar tautan dari

portal berita online dan situs resmi partai politik yang digunakan terdapat pada

Lampiran 2.

Nama tokoh yang didapatkan kemudian digunakan pada proses pengumpulan

data Twitter menggunakan Application Programming Interface (API). API

merupakan suatu fungsi, protokol dan alat yang digunakan untuk membangun suatu

aplikasi atau fasilitas komunikasi pada suatu layanan (Riquelme dan González-

Cantergiani et al. 2016). API berfungsi sebagai pihak ketiga yang menjembatani

aplikasi dengan Twitter, sehingga aplikasi dapat mengambil data dan memiliki

kemampuan menjalankan fungsi-fungsi yang terdapat pada jejaring sosial. Untuk

dapat menggunakan API Twitter, dibutuhkan proses pendaftaran terlebih dahulu

untuk mendapat secret key dan ID key yang berfungsi sebagai parameter

penghubung antara aplikasi dengan dengan API. API Twitter terdiri dari REST API

dan streaming API. Tahapan pengumpulan data menggunakan library Twitter4j2

dengan bahasa pemrograman java pada streaming API (firohose). Hal ini karena

REST API memiliki keterbatasan akses. Berbeda REST API pada umumnya,

streming API memungkinkan komunikasi secara persisten antara aplikasi dengan

Twitter, sehingga data bisa didapatkan secara real-time. Data Twitter disimpan

pada database MongoDb3. Hal ini karena format data yang didapatkan berupa json

sehingga untuk memudahkan proses penyimpanan dan analisis.

Data Twitter pada penelitian menggunakan data tweet berupa opini. Sehingga

dilakukan filter opini. Proses filter opini menggunakan Part of Speech Tagging

(POS-tagging) dengan algoritme Hidden Markov Model (HMM) beserta aturan

kalimat opini (Rozi et al. 2004). POS-tagging dengan algoritme HMM

diimplementasikan dengan menggunakan bantuan library IPOSTAgger versi 1.14.

Adapun aturan kalimat opini yang digunakan terdapat pada Lampiran 3. Hasil dari

tahapan ini adalah data Twitter berisi opini yang berisi topik tokoh nasional.

Analisis Sentimen

Proses analisis sentimen bertujuan untuk mendapatkan model klasifikasi

sentimen yang akan digunakan pada tahapan identifikasi akun berpengaruh.

Analisis sentimen pada tahapan ini menggunakan metode hybrid, yaitu

penggabungkan algoritme Naive Bayes Clasification (NBC) dengan kamus. Kamus

digunakan untuk mengidentifikasi fitur ciri sentimen yang terdapat pada data.

Metode hybrid pada penelitian ini terdiri dari beberapa bagian yaitu pembentukan

korpus, normalisasi, reduksi ciri, penerjemahan, validasi dan normalisasi kamus,

1 https://jsoup.org 2 https://github.com/yusuke/twitter4j/ 3 https://www.mongodb.com/ 4 https://dl.dropboxusercontent.com/u/55174954/software/IPOSTAgger_v1.1.rar

Page 25: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

13

ekstraksi ciri dan klasifikasi. Pembentukan data korpus berdasarkan penelitian Go

et al. (2009), yaitu dengan menggunakan karakter emoticon. Hal ini karena

emoticon efektif dalam merepresentasikan sentimen tweet. Emoticon yang

digunakan terdapat pada Lampiran 4. Tweet yang mengandung emoticon positif dan

negatif dikategorikan sebagai tweet bersentimen netral.

Proses normalisasi bertujuan untuk memperbaiki data tidak baku yang banyak

terdapat pada data Twitter (Adityawan 2014). Sehingga salah satu tantangan

analisis sentimen pada data Twitter adalah data yang tidak terstruktur. Maka

dilakukan normalisasi data yang terdiri atas:

1. Case folding yaitu membuat setiap karakter menjadi huruf kecil. Hal ini

dilakukan untuk mempermudah dalam proses ekstraksi fitur.

2. Mengganti karakter unicode5 dan HTML6.

3. Konversi karakter angka ke dalam huruf. Proses ini mengganti angka yang

banyak digunakan sebagai pengganti huruf. contoh angka “4” yang digunakan

sebagai pengganti huruf “a”. Seperti pada kata s4ya. Daftar konversi angka

berdasarkan penelitian Naradhipa dan Purwarianti (2011). Proses validasi

dilakukan dengan menggunakan API KBBI7. Proses tersebut bertujuan untuk

memeriksa makna kata terdapat dalam kamus bahasa indonesia.

4. Konversi kata informal menjadi kata formal. Proses ini menggunakan

modifikasi kamus kata informal dari penelitian Khotimah (2014) dengan

melakukan penambahan kata berdasarkan observasi pada data.

5. Menghapus tanda baca yang terdapat antar huruf seperti “a.k.u” menjadi “aku”.

6. Menghapus huruf vokal/konsonan yang berulang.

Reduksi ciri bertujuan mengurangi karakter yang tidak digunakan dalam

analisis sentimen, di antaranya adalah tanda baca, stopwords, dan tautan. Daftar

stopwords yang digunkan berdasarkan penelitian Ridha et al. 2004. Contoh

stopwords terdapat pada Lampiran 5.

Proses penerjemahan kamus dilakukan dengan menggunakan library

TextBlob8 pada kamus AFINN (Nielsen 2011), Opinion Lexicon (BL) (Hu dan Liu

2004), SentiStrength Emoticons (SE) (Vilares et al. 2015), SentiWords (SW)

(Guerini et al. 2013), dan MPQA Subjectivity (MPQA-S) (Wilson et al. 2005).

Proses validasi menggunakan API KBBI. Proses ini bertujuan untuk memastikan

bahwa hasil penerjemahan memliki makana dalam bahasa indonesia. Kata yang

memiliki makna dalam bahasa indonesia disimpan pada database MySql. Selain itu

setiap kamus memiliki rentang nilai sentimen yang berbeda. Kamus AFINN

memiliki nilai maksimum 5 dan minimum -5, SentiStrength Emoticons memiliki

nilai maksimum 1 dan minimum -1, SentiWords memiliki nilai maksimum 0.88257

dan minimum -0.935, Bing Liu menggunakan label positif dan negatif untuk kata

bersentimen positif dan negatif, dan MPQA Subjectivity memiliki nilai maksimum

1 dan minimum -1. Sehingga dilakukan normalisasai nilai sentimen kamus pada

rentang nilai 0 dan 1 dengan menggunakan Persamaan 1 (Witten et al. 2011). Proses

normalisasi nilai sentimen (𝑥�̂�) pada kamus sangat tergantung pada nilai maksimum

dan minimum pada setiap kamus.

5 http://www.fileformat.info/info/unicode/block/emoticons/index.htm 6 http://www.ascii.cl/htmlcodes.htm 7 http://fws.cs.ui.ac.id/RESTKBBI/kbbi?wsdl 8 https://textblob.readthedocs.org

Page 26: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

14

𝑥�̂� = 𝑥𝑖 - min (𝑥𝑖)

max (𝑎𝑖)- min (𝑏𝑖)

Nilai normalisasi 𝑥�̂� pada setiap kamus tergantung pada nilai minimum dan

maksimum dari seluruh kata yang terdapat pada suatu kamus. Contoh proses

normalisasi nilai sentimen -4 pada kamus AFINN adalah 𝑥�̂� = -4-(-5)/5-(-5) = 0.1.

Pada kamus Bing Liu, proses normalisasi dilakukan dengan mengganti label positif

dan negatif dengan nilai 1 dan 0.Hasil dari proses penerjemahan, validasi dan

normalisasi pada kamus sentimen didapatkan kamus sentimen berbahsa indonesia

beserta nilai sentimenmya yang merupakan gabungan dari kamus-kamus sentimen

berbahasa inggris. Gambar 5 adalah contoh kamus sentimen yang disimpan pada

database MySql. Pembagian range nilai sentimen pada setiap kelompok sentimen

berdasarkan penelitian Illecker (2015). Kata yang memiliki nilai sentimen lebih dari

0,55 (>0,55) merupakan kata bersentimen positif. Kata dengan nilai sentimen

kurang dari 0,45 (<0,45) merupakan kata bersentimen negatif. Sedangkan kata

bersentimen netral memiliki rentang nilai sentimen antara 0,45 dan 0,55

(0,45≤x≤0,55).

Kamus yang telah diterjemahkan dan dinormalisasi, digunakan dalam proses

ekstraksi ciri untuk mengidentifikasi ciri sentimen pada reply. Proses ini bertujuan

untuk mendapatkan vektor ciri sentimen yang akan digunakan pada proses

klasifikasi sentimen. Ciri yang digunakan merupakan modifikasi penelitian Illecker

(2015) yaitu:

1 Jumlah kata sentimen positif

2 Jumlah kata sentimen netral

3 Jumlah kata sentimen negatif

4 Jumlah kata bersentimen

5 Jumlah nilai kata bersentimen

6 Jumlah nilai maksimal positif

7 Jumlah nilai maksimal negatif, dan

8 Jumlah kata negasi seperti kata “tidak” dan “bukan”

Berdasarkan ciri-ciri tersebut didapatkan vektor ciri sentimen yang kemudian

digunakan dengan algoritme NBC untuk mendapatkan model klasifikasi sentimen.

NBC mampu menghasilkan akurasi yang lebih baik pada klasifiaksi dokumen text

(Pang et al. 2002). Implementasi analisis sentimen menggunakan library weka 3.8

dan bahasa pemrograman java. Tabel 2 adalah ilustrasi vektor ciri sentimen

berdasarkan delapan ciri sentimen.

Gambar 5 Tampilan kamus sentimen pada database

(1)

Page 27: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

15

Identifikasi Akun Berpengaruh

Identifikasi akun berpengaruh dilakukan pada data dari hasil tahapan

pengumpulan data. Tahapan identifikasi didasarkan pada karakteristik OL, MT dan

model klasifikasi sentimen. Sehingga dilakukan proses analisis atribut data,

perhitungan nilai MT dan bobot sentimen akun. Tahapan ini menggunakan BPMN

workflow untuk menganalisis dan memodelkan suatu proses. Bahasa pemrograman

java dan Hadoop9 digunakan untuk implemetasi. Perangkat lunak BPMN yang

digunakan adalah Sybase Power Designer 16.5. BPMN merupakan notasi yang

mudah dimengerti untuk melakukan analisis, pemodelan, dan merepresentasikan

aliran suatu proses. Adapun karakteristik OL yang digunakan adalah komunikasi

eksternal, aksesibilitas dan inovasi. Adapun status sosial ekonomi tidak digunakan

karena asumsi bahwa pengguna Twitter memiliki status sosial ekonomi yang baik

(Septiandri dan Purwarianti 2013). Keluaran dari tahap ini adalah daftar akun

beserta ketiga nilai karakteristik.

Analisis Atribut Data

Analisis atribut bertujuan untuk menentukan atribut data yang akan

digunakan dalam perhitungan setiap Id MT pada Tabel 1. Tahapan ini dilakukan

dengan observasi pada data hasil tahapan pengumpulan data

Perhitungan Nilai MT

Perhitungan nilai MT berdasarkan MT pada Tabel 1. Proses ini dilakukan

karena terdapat beberapa nilai pada MT yang tidak langusng didapatkan dari data

Twitter, seperti Id RP2, RP3 dan RT3. Proses perhitungan berdasarkan hasil analisis

atribut data. Hasil dari proses ini adalah akun Twitter beserta nilai MT.

Perhitungan Bobot Sentimen

Perhitungan bobot sentimen menggunakan model kelasifikasi hasil analisis

sentimen. Pengunaan model klasifikasi sentimen pada tahapan ini hanya berfokus

pada nilai sentimen reply terhadap tweet suatu akun atau akun yang memiliki nilai

Id RP3 pada MT lebih dari nol.

9 http://hadoop.apache.org/

Tabel 2 Ilustrasi vektor ciri sentiemn berdasarkan kamus dan ciri sentimen

Contoh Tweet Vektor

@jokowi semangat pak presiden terima

masukan ekonom pro kesejahteraan rakyat :)

semoga berjalan lancar

[1.0, 0.0, 0.0, 0.7, 1.0, 0.7, 0.7,

0.0, 0.0]

Page 28: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

16

Skyline Query

Skyline query pada penelitian ini menggunakan algoritme SFS pada data hasil

identifikasi akun berpengaruh. Algoritme SFS dalam MapReduce framework

dilakukan oleh Zhang et al. (2011). Algoritme tersebut terdiri dari dua tahapan,

yaitu tahapan menentukan skyline lokal dan global. Tahapan penentuan skyline

lokal diawali dengan membagi data menjadi beberapa bagian data. Untuk setiap

bagian data dilakukan perhitungan untuk mendapatkan skyline berdasarkan

algoritme SFS. Skyline dari setiap bagian digabungkan dan difilter untuk

mendapatkan skyline global. Langkah-langkah algoritme SFS dalam MapReduce

framework dapat dilihat pada Gambar 6.

Proses pembagian data menggunakan teknik yang digunakan pada algoritme

Nearest Neighbor (Kossmann et al. 2002) dan Divide & Conqure (Borzsonyi et al.

2001). Data dibagi menjadi 2d bagian dengan d adalah jumlah atribut data dan nilai

median dari setiap atribut data. Atribut data dalam penelitian ini adalah karakteristik

OL. Oleh karena itu, data dibagi menjadi 23 = 8 bagian. Setiap bagian

didefinisikan dengan 3-bit tanda, yaitu 000, 001, 011, 010, 111, 100, 110, 111 dan

101. Tanda tersebut digunakan pada pasangan key-value pada fungsi map dan

reduce. Hasil dari pemilihan skyline lokal adalah skyline/akun berpengaruh dari

setiap bagian. Data tersebut digunakan pada pemilihan skyline global untuk

mendapatkan akun berpengaruh dari keseluruhan data. Nilai null pada proses map

karena digunakan hanya satu proses reduce dalam skyline global.

D = data

S = skyline

Skyline lokal

map:

- D dibagi menjadi 2d bagian

- Untuk setiap bagian diberika tanda.

- Keluaran dari proses map adalah tanda dan bagian data yang merupakan

pasangan kunci dan nilai sementara.

reduce:

- Untuk setiap data berdasarkan tanda, hitung skyline dengan SFS (SL)

- Keluaran dari proses reduce adalah tanda dan nilai SP dari setiap bagian

yang disimpan pada file .

- Pasangan tanda dan nilai SP digunakan pada proses skyline global.

Skyline global

map:

- Untuk setiap SL pada file, pasangkan nilai null dengan setiap SL

- Keluaran proses map adalah pasangan nilai null dan nilai SL.

reduce:

- Hitungan nilai skyline global dari dari null dan nilai SL (SG).

- Keluaran proses reduce adalah nilai SG (S) dan null.

Gambar 6 Langkah-langkah algoritme SFS dalam MapReduce framework

Page 29: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

17

Top-k Query

Berdasarkan data akun berpengaruh yang didapatkan dari proses skyline

query, dilakukan pengurutan untuk mendapatkan akun yang paling berpengaruh.

Proses tersebut dilakukan dengan algoritme top-k query. Algoritme top-k query

yang digunakan berdasarkan penelitian Siddique dan Morimoto (2014). Hal ini

karena algoritme tersebut tidak tergantung pada fungsi nilai pada data dan efektif

dalam menentukan objek terbaik. Selain itu algoritme tersebut dapat dijalankan

dalam MapReduce framework.

Langkah-langkah algoritme top-k query dalam MapReduce framework pada

penelitian ini dengan jumlah akun yang ingin didapatkan sebanyak k adalah sebagai

berikut:

1. Data hasil tahapan skyline query dilakukan proses pebagian data (spliting)

berdasarkan jumlah atribut data m = 3 {S1, S2, S3}.

2. Buat satu bagian data m+1 {Sm+1} yang nilainya merupakan penjumlahan dari

tiga atribut sebelumnya.

3. Pada proses map, lakukan pengurutan data pada setap bagian berdasarkan

fungsi menaik (ascending) dan lakukan pe-rangking-an.

4. Keluaran proses map adalah pasangan akun dan nilai hasil pe-ranking-an (r)

pada setiap bagian data yang merupakan pasangan key-value sementara.

5. Pasangan akun dan r hasil proses map, dilakukan proses combiner. Proses

combine mengelompokan data berdasarkan akun.

6. Keluaran proses combiner adalah kelompok pasangan akun dan r dengan akun

yang sama. Keluaran tersebut merupak pasangan key-value sementara yang

akan digunakan dalam prose reduce.

7. Pada proses reduce, untuk setiap kelompok berdasarkan akun lakukan proses

penjumlahan nilai r (sum-r).

8. Keluaran proses reduce adalah pasangan akun dan sum-r.

9. Lakukan pengurutan berdasarkan fungsi menaik (ascending) pada nilai sum-r.

Akun dengan nilai sum-r rendah merupakan akun berpengaruh pada data.

10. Simpan pasangan akun dan sum-r sebanyak nilai k.

Page 30: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

18

4 HASIL DAN PEMBAHASAN

Data

Tokoh nasional yang dijadikan topik dalam pengumpulan data adalah Joko

Widodo, Jusuf Kalla, Ridwan Kamil dan Basuki Tjahaja Purnama. Nama tokoh

tersebut didapatkan dari hasil proses identifikasi tokoh pada Januari 2016. Nama

tokoh nasional yang didapatkan umumnya banyak diberitakan pada portal media

online. Pengunaan aturan morfologi berupa posisi organisasi (leader location),

banyak mendapatkan nama tokoh nasional dibandingkan dengan prefiks, sufiks dan

jabatan nama tokoh. Berdasarkan nama tokoh nasional yang didapatkan, ditentukan

kata kunci yang berhubungan dengan nama tokoh tersebut. Pada Tabel 3 merupakan

pasangan nama tokoh nasional dan kata kunci yang digunakan pada penelitian ini.

Penelitian ini membangun dua kelompok data, yaitu data korpus dan

pemilhan akun berpengaruh dalam format json. Data korpus, yaitu data yang

digunakan sebaga korpus untuk membangun model klasifikasi sentimen. Data

berisi tweet yang dikumpulkan pada April 2016 dengan menggunakan kumpulan

emoticon pada Lampiran 4. Hasil filter sebanyak 1281 tweet yang terdiri dari 891

tweet positif, 289 tweet negatif dan 101 tweet netral. Kedua adalah data pemilihan,

yaitu data yang digunakan untuk mengidentifikasi dan pemilihan akun berpengaruh.

Data tersebut dikumpulkan pada April 2016.

Pada data pemilihan dilakukan proses identifikasi spam atau bot dengan

menggunakan Twitter follower-following (TFF) ratio. Hal ini dilakukan agar akun

yang terpilih sebagai akun berpengaruh bukanlah akun yang teridentifikasi sebagai

spam atau bot. Hasil proses TFF ratio dapat dilihat pada Gambar 7. Akun yang

teridentifikasi spam adalah akun denga nilai TFF ratio mendekati 0 atau dibawah

Tabel 3 Tokoh nasional dan kata kunci

Tokoh Nasional Kata Kunci

Joko Widodo jokowi, presiden RI

Jusuf Kalla pak_jk, pak jk, wakil presiden RI

Ridwan Kamil kang email, ridwankamil, walikota bandung

Basuki Tjahaja Purnama ahok, gubernur jakarta

Gambar 7 TFF ratio

Page 31: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

19

garis hitam. Nilai tersebut menunjukan bahwa jumlah follower lebih kecil dari

jumlah following akun. Contoh akun dengan nilai follower kecil dan following besar

adalah akun dengan nama Arista79Arista, ahmadfa37650211 dan jakapur38035945.

Selain melihat jumlah follower dan following, akun yang teridentifikasi sebagai

spam atau bot umumnya tidak memiliki avatar (foto profil akun).

Selain analisis data dengan TFF, data pemilihan dilakukan proses filter opini.

Proses ini bertujuan memisahkan tweet berupa opini. Hasil proses tersebut

didapatkan sebanyak 65702 akun dengan 551523 tweet. Lampiran 6 adalah contoh

data dan atributnya hasil proses pengumpulan data Twitter dengan topik tokoh

nasional. Tabel 4 adalah contoh data Twitter yang termasuk opini.

Model Klasifikasi Sentimen

Analisis sentimen mengunakkan metode hybrid pada data korpus untuk

mendapatkan model klasifikasi sentimen. Adapun jumlah kata dan frasa pada

kamus hasil penerjemahan dan validasi terdapat pada Tabel 5. Kata dab frasa hasil

validasi digunakan dalam penentuan vektor ciri sentimen. Metode hybrid

menunjukan hasil akurasi terbaik dengan 75.57% dengan menerapkan 10-fold cross

validation. Model digunakan pada klasifikasi data pemilihan untuk menentukan

bobot sentimen pada akun. Lampiran 6 adalah class pada pemrograman java untuk

klasifikasi sentimen dengan NBC. Model disimpan dalam file berformat dat. File

tersebut digunakan dalam memprediksi sentimen reply.

Pada data pemilihan terdapat 12213 tweet berupa reply dari 5350 akun.

Berdasarkan model kasifikasi yang didapatkan dilakukan prediksi sentimen pada

Tabel 4 Data Twitter opini

Id Tweet Tweet

722698306242146304 Setuju !!! Segera jalankan !!! Indonesia tak butuh

Ahok !!!

722699170704965637 Maaf, kalau cerdas tentu saja bisa argumen pakai data

valid. Justru krn tdk cerdas itulah makanya cuma bisa

fitnah

722699176413421570 @basuki_btp Bravo pa ahok maju terus

722699320399699969 Jika benar KPUD meminta persyaratan dukungan

KTP, bukan saja mengganjal Ahok tapi mengganjal

dan anti demokrasi

Tabel 5 Kamus Sentimen

Kamus Diterjemahkan Validasi

Positif Negatif Netral Positif Negatif Netral

AFINN 879 1.596 1 719 1.310 1

SE - - - 88 84 15

SW 20126 19796 84576 14174 14943 77616

BL 1675 3727 0 973 2114 0

MPQA-S 2442 4166 524 2.104 3643 513

Semua 25122 29285 85101 18058 22094 78145

Page 32: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

20

reply. Pada Tabel 6 merupakan hasil prediksi model klaslifikasi yaitu jumlah

sentimen reply berdasarkan kelas sentimennya.

Nilai Karakteristik Akun Berpengaruh

BPMN dalam identifikasi akun berpengaruh dapat dilihat pada Gambar 6.

Tahapan identifikasi diawal dengan proses analisis aribut data Twitter, menghitung

nilai MT, mentukan bobot sentimen akun. Hasil observasi, data Twitter terdiri dari

tiga kelompok atribut, yaitu atribut berhubungan dengan aktifitas akun, profil akun

dan isi tweet.

Atribut aktifitas akun merupakan atribut yang berhubungan dengan aktifitas

akun tersebut pada Twitter, seperti retweeted_status, retweet_count, favorite_count,

favorited, favorited, in_reply_to_screen_name, in_reply_to_status_id, id_str dan

retweeted. Atribut profil akun, merupakan atribut data yang berisi informasi tentang

akun dan hubunganya dengan akun lain seperti atribut user yang terdiri dari name,

jumlah follower, following, statuses_count, description, favorite_count, favorited,

screen_name dan location. Sedangkan atribut isi tweet, menunjukan informasi yang

terdapat pada tweet, seperti atribut entitas. Atribut entitas terdiri dari user_mention,

hashtag, url dan simbol. Contoh data Twitter berupa tweet serta atributnya terdapat

pada Lampiran 7.

Tabel 7 Id matriks Twitter dan atribut data Twitter

Id Atribut Data

F1 user:followers_count

F2 user:followers_count

F3 user: friends_count

Gambar 8 BPMN untuk identifikasi nilai karakteristik akun berpengaruh.

X

End_3

X

RP3>0

[Ya]

[Tidak]

Selesai

Mulai

Selesai

Data Twitter

Data Matrik Twitter

Data Bobot

SentimenAnalisis Atriibut

Data

Menghitung Bobot

Sentimen

Analisis Karakteristik Akun

BerpengaruhMenghitung Nilai

Matrik Twitter

Tabel 6 Kelas sentimen pada data reply

Positif Negatif Netral Total

Jumlah data reply 12213 12375 12289 36877

Jumlah akun pada data reply 5350 5420 5301 11326

Page 33: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

21

Id Atribut Data

F4 user: friends_count

F5 user:screen_name, text

F6 user:screen_name, text

OT1 user: statuses_count

OT2 url

OT3 hashtag

RP1 user:screen_name, in_reply_to_screen_name, id_str

RP2 user:screen_name, in_reply_to_screen_name, id_str

RP3 user:screen_name, in_reply_to_screen_name, id_str

RT1 retweeted_status, user: screen_name

RT2 retweeted_status, retweeted_status:user:screen_name

RT3 retweeted_status, retweeted_status:user:screen_name

FT1 user:screen_name, user:favorites_count

FT2 user:screen_name, favorited (true)

FT3 user:screen_name, user:favorites_count

M1 user:screen_name, entities: user_mentions

M2 user:screen_name, entities: user_mentions

M3 user:screen_name, entities: user_mentions

M4 user:screen_name, entities: user_mentions

Berdasarkan kelompok atribut data tersebut, Tabel 7 merupakan hasil analisis

atribut data yang dapat digunakan dalam perhitungann nilai MT. Pada Tabel 7,

atribut data berupa user:follower memiliki arti bahwa nilai Id didapatkan dari

atribut user berupa nilai follower. Perhitungan nilai MT berdasarkan setiap akun

yang terdapat pada data pemilihan dan atribut data pada Tabel 5 . Akun dengan nilai

Id RP3 lebih dari nol (RP3>0) dilakukan perhitungan nilai bobot sentimen

menggunakan Persamaan 2. Nilai tersebut merepresentasikan jumlah akun yang

mengomentasi tweet dari akun atau tweet tersebut memiliki reply.

BSu= ∑ Su-r

BSu adalah bobot sentimen akun u yang merupakan jumlah dari nilai sentimen reply

terhadap tweet akun u pada data (Su-r). Nilai sentimen 2 untuk reply bersentimen

positif, -2 untuk reply bersentimen negatif dan 0 untuk reply bersentimen netral.

Nilai sentimen reply didapatkan dengan menggunakan model klasifikasi hasil

tahapan analisis sentimen. Contoh daftar akun berserta nilai setiap Id matriks

Twitter dapat pada Lampiran 8.

Komunikasi Eksternal

Nilai komunikasi eksternal menujukan nilai popularitas. Pada Twitter

popularitas dapat dilihat dari niali F1 dan F3 pada MT yaitu jumlah follower dan

following. Akun yang memiliki follower tinggi, ada kemungkinan bukan karena

kualitas tweet yang disampaikan, akan tetapi secara sosial sangat aktif. Sehingga

memiliki banyak teman dan pada giliranya teman-temanya akan menjadi follower

akun tersebut (follower). Selain itu akun yang memiliki follower tinggi, ada

kemungkinan karena akun tersebut menyebarkan atau menyampaikan informasi

yang berguna, maka secara otomatis banyak akun yang menjadi follower-nya.

(2)

(2)

(2)

(2)

(2)

(2)

(2)

(2)

Page 34: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

22

Berdasarkan hal tersebut nilai komunikasi eksternal dihitungan menggunakan nilai

FollowerRank Persamaan 3 (Nagmoti et al. 2010). Akun dengan nilai komunikasi

eksternal mendekati nilai 1, merupakan akun terbaik pada karakteristik komunikasi

eksternal.

FollowerRank = F1

F1 + F3

Aksesibiltas

Nilai aksesibilitas pada Twitter berdasarkan pada MT dapat dilihat dari nilai

Id F3, RP1, RT1, FT1, M2 yaitu jumlah following, reply, retweet, favorite/like dan

mention yang dilakukan oleh suatu akun. Akun dengan jumlah following banyak

dapat menunjukan keinginan untuk berdiskusi dengan akun lain. Suatu akun telah

menjadi following akun lain, maka akun tersebut dapat melakukan komentar

(reply), retweet, like dan mention. Sehingga nilai aksesibilitas didapatkan dengan

menjumlahkan setiap nilai pada MT yang mencermintakan aksesibilitas suatu akun.

Nilai aksessibilitas dihitungan dengan menggunakan Persamaan 4.

aksesibilitas = F3 + RP1+ RT1 + FT1 + M2

Inovasi

Nilai Inovasi pada Twitter berdasarkan MT dapat dilihat pada nilai OT1 dan

RT2, yaitu jumlah tweet dan tweet yang di-retweet akun lain dari suatu akun. Nilai

jumlah tweet menunjukan keaktifan suatu akun dalam penyampaian dan

menyampaikan ide, opini atau informasi Selain itu, nilai inovasi juga dapat dilihat

dari sentimen tweet yang disampaikanya melalui reply dari akun lain. Sentimen

direpresentasikan dengan nilai bobot sentimen akun (BS𝑢). Sehingga nilai inovasi

didapatkan dengan menjumlahkan nilai OT1, RT2 dengan nilai bobot sentimen.

Nilai inovasi dihitung dengan menggunakan Persamaan 5.

inovasi = OT1 + BS𝑢+ RT2

Implementasi

Arsitektur MapReduce framework yang digunakan dalam penelitian ini

terdapat pada Gambar 9. Penelitian ini menggunakan cluster sederhana yang terdiri

dari tiga komputer. MapReduce frramework yang digunakan adalah Apache

Hadoop10 yang disimpan pada cluster yang disebut dengan cluster Hadoop. Cluster

Hadoop terdiri dari satu komputer sebagai master node dan dua komputer sebagai

slave node. Pada cluster dihubungkan dengan sebuah switch. Pada master node

terdapat komponen HDFS NameNode dan secondary NameNode. DataNode dan

TaskTracker masing-masing terdapat pada setiap slave node. Pada cluster Hadoop

terdapat beberapa konfigurasi yang harus dilakukan sebelum melakukan proses

pengolahan data. Penelitian ini menggunakan konfigurasi default yang terdapat

pada Hadoop. Adapun konfigurasi tersebut seperti slot map dan reduce berjumlah

2, replikasi data setiap blok berjumlah 2, ukuran setiap blok data adalah 64 Mb dan

10 http://hadoop.com

(3)

(3)

(3)

(3)

(3)

(3)

(3)

(3)

(

2)

(4)

(5)

Page 35: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

23

model distribusi job dalam cluster (Hadoop schedulers) adalah algoritme FIFO

(first-in, first-out).

Implementasi yang dilakukan pada cluster hadoop yaitu membandingkan

antara pendekatan model konvensional dan MapReduce pada perhitungan nilai

karakteristik OL. Model konvensional dilakukan pada satu komputer dan

menggunakan model pemrograman berorientasi objek dengan bantuan library

google guava 11 . Proses perbandingan dilakukan untuk mengetahui pengaruh

penggunaan model MapReduce pada pengolahan data dengan melihat nilai speed

up. Nilai speed up merupakan nilai hasil perbandingan antara waktu hasil eksekusi

model konvensional dan MapReduce pada Hadoop. Pada penelitian ini nilai speed

up dilihat pada proses perhitunga nilai setiap karakteristik OL. Tabel 8 menunjukan

perbandingan hasil eksekusi model konvensional dan MapReduce (tiga node) dalam

perhitungan nilai karakteristik OL. MapReduce framework mampu meningkatkan

kecepatan waktu eksekusi dengan signifikan. Nilai speed up 37.223 menunjukan

bahwa waktu eksekusi pada MapReduce framework, 37.223 kali lebih cepat

dibandingkan dengan model konvensional.

Selain membandingkan waktu eksekusi pada model pemrograman yang

berbeda, penelitian ini juga melakukan perbandingan waktu eksekusi proses

perhitungan nilai karakteristik OL pada jumlah data dan node yang berbeda.

Gambar 10 menunjukan grafik waktu hasil eksekusi pada cluster Hadoop dengan

11 https://github.com/google/guava

Master Node

Slave Node

Slave Node

NameNode

JobsTracker

DataNode

TaskTracker

DataNode

TaskTrackerMapreduce Job

Secondary

NameNode

IP:172.18.34.41

IP:172.18.34.225

IP:172.18.34.224

Switch

Gambar 9 Arsitektur MapReduce framework

Tabel 8 Waktu eksekusi proses identifikasi akun berpengaruh

Konvensional

(detik)

MapReduce

(detik)

Speed up

Komunikasi Eksternal 598.318 detik 16.074 detik 37.223

Aksesibilitas 3105.096 detik 23.753 detik 130.724

Inovasi 468.139 detik 17.739 detik 26.290

Page 36: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

24

jumlah node dan data yang berbeda. Variasi jumlah data yang digunakan adalah

100000, 200000, 300000, 400000 dan lebih dari 500000 tweet dari data pemilihan.

Penambahan jumlah node pada jumlah data yang tetap, selalu menunjukan waktu

eksekusi yang lebih cepat pada jumlah node yang lebih banyak. Penambahan

jumlah data pada jumlah node yang tetap menunjukan waktu eksekusi yang relatif

konstan. Hal ini berarti MapReduce framework mampu mendistibusikan

kompleksitas waktu eksekusi kepada setiap node yang terlibat. Keluaran pada tahap

ini adalah data akun dengan nilai dari setiap karakteristik OL. Contoh data akun

dengan nilai setiap karakteristik terdapat pada Lampiran 9.

Akun Berpengaruh

Data hasil tahapan sebelumnya terdiri dari tiga atribut yang mencerminkan

karakteristik akun berpengaruh. Berdasarkan pada data tersebut, dilakukan

perhitungan dengan menggunakan algoritme SFS pada cluster Hadoop.

Implementasi Pada tahapan pertama yaitu penentuan skyline lokal. didapatkan

adalah 186 akun yang merupakan akun berpengaruh dari setiap bagian. Pada

Gambar 10 Perbandingan waktu eksekusi perhitungan nilai karakteristik OL

pada jumlah node dan data yang bebeda

Gambar 11 Ilustrasi distrubusi akun berpengaruh

Page 37: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

25

tahapan penentuan skyline global, didapatkan 16 akun yang merupakan akun

berpengaruh pada data. Untuk mengatahui akun yang paling berpengaruh dilakuan

perhitungan top-k query pada 16 akun tersebut. Gambar 11 merupakan ilustrasi

akun berpeengaruh pada data. Tititk merah dengan ukuran lebih besar atau titik di

atas bidang adalah akun berpengaruh pada data. Lampiran 10 adalah class dan

fungsi pada pemrograman java untuk algoritme SFS dalam Mapreduce framework.

Pada Gambar 12 menunjukan berbandingan waktu eksekusi model

konvensional dan MapReduce framework pada proses pemilihan akun berpengaruh

dengan skyline dan top-k. Jumlah data yang digunakan adalah 10000, 20000, 30000,

40000 dan lebih dari 50000 akun . Nilai k yang digunakan pada adala 2, 4, 6, 8, dan

10. Proses skyline query menunjukan waktu eksekusi yang lebih kecil dan konstan

pada MapReduce framework untuk setiap variasi jumlah node dan data. Berbeda

dengan model konvensional yang menunjukan perubahan waktu eksekusi secara

eksponensial pada setiap perubahan jumlah data yang terus bertambah.

Pada algoritme top-k dengan variasi nilai k dan jumlah node, menunjukan

waktu eksekusi yang tidak berbeda signifikan dan konstan dalam model

konvensional maupun dalam Mapreduce framework. Hal ini karena nilai k yang

digunakan kecil. Akan tetapi, proses dalam MapReduce framework selalu

menunjukan waktu eksekusi yang lebih cepat pada variasi jumlah data dan node.

Tabel 9 adalah contoh akun berpengaruh pada data dengan nilai k = 5. Akun yang

didapatkan merupakan akun yang memiliki nilai paling optimal pada setiap

karakteristik OL.

Gambar 12 Perbandingan waktu eksekusi model konvensional dan MapReduce

framework pada pemilihan akun dengan skyline dan top-k query

Tabel 9 Daftar akun hasil pemilihan akun berpengaruh dengan k = 5

Akun Komunikasi Eksternal Aksesibilitas Inovasi

andreas_o_joeda 0.9996 28524 349

ridwankamil 0.9979 4862 245

beasiswaindo 0.9999 10 56

kapanlagicom 0.9987 474 789

metro_tv 0.9999 619 43

Page 38: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

26

Kelebihan dan Kekurangan Hasil Penelitian

Pada pemilihan akun berpengaruh, penelitian ini menggabungkan fitur MT

dan analisis sentimen. MT yang digunakan tidak hanya berkaitan dengan profil

akun, tetapi juga aktifitas dan hubungan antar akun. Selain itu, penelitian ini juga

menggunakan skyline dan top-k query dalam Mapreduce framework yang

digunakan untuk pemilihan akun berpengaruh pada data Twitter yang belum

dilakukan pada penelitian sebelumnya. Namun pada penelitian ini hanya

menggunakan data statis.

5 SIMPULAN DAN SARAN

Simpulan

Proses identifikasi akun berpengaruh menunjukan bahwa karakteristik OL

yaitu komunikasi eksternal, aksesibilitas dan inovasi dapat digunakan dalam

menentukan akun berpengaruh pada data Twitter. Adapun fitur MT dan sentimen

yang digunakan pada identifikasi nilai karakteristik akun berpengaruh, yaitu jumlah

follower dan following untuk komunikasi eksternal, jumlah following, reply,

mention, retweet dan like untuk aksesibilitas, jumlah tweet, tweet yang di-retweet

akun lain dan bobot sentimen akun untuk inovasi. Berdasarkan karakteristik

tersebut, diperoleh 16 akun berpengaruh dari 65702 akun yang terdapat pada data.

Proses identifikasi dan pemilihan akun dalam MapReduce framework, selalu

menunjukan waktu eksekusi yang lebih cepat dibandingan model konvensional.

Saran

Proses pemilihan akun berpengaruh dapat dilakukan pada data yang bersifat

dinamik atau real-time. Sehingga dapat diketahui akun berpengaruh pada setiap

rentang waktu tertentu.

Page 39: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

27

DAFTAR PUSTAKA

Adityawan E. 2014. Analisis sentimen dengan klasifikasi naïve bayes pada pesan

Twitter menggunakan data seimbang [skripsi]. Bogor (ID): IPB.

Borzsonyi S, Kossmann D, Stocker K. 2001. The skyline operator. Proceedings of

the 17th International Conference on Data Engineering. 421-430.

Budi I, Bressan S, Wahyudi G, Hasibuan ZA, Nazief BA. 2005. Named entity

recognition for the Indonesian language: combining contextual,

morphological and part-of-speech features into a knowledge engineering

approach. Di dalam: Huffmann A, Motoda H, Scheffer T, editor. Proceedings

of the 8th international conference on Discovery Science (DS'05); 2005 okt

8-12; Berlin, Jerman (DE): Springer-Verlag. Hal 57-69.

Cha M., Haddadi H., Benevenuto F, Gummadi PK. 2010. Measuring User Influence

in Twitter: The Million Follower Fallacy. ICWSM. 10: 10-17.

Chinthala S, Mande R, Manne S, Vemuri S. 2015. Sentiment Analysis on Twitter

Streaming Data. Di dalam: Satapathy SC, Govardhan A, Raju SK, Mandal

JK, editor. Emerging ICT for Bridging the Future - Proceedings of the 49th

Annual Convention of the Computer Society of India (CSI). 2015.

Vijayawada. India (IN): Springer. hal 161-168

Chomicki J, Godfrey P, Gryz J, Liang D. 2003. Skyline with presorting. Di dalam:

Data Engineering, 2003. Proceedings. 19th International Conference on. 2003

maret 5-8; Bangalore. India (IN): IEEE. hal 717-719.

Denecke K. 2008. Using SentiWordNet for Multilingual Sentiment Analysis.

International Council for Open and Distance Education Conference. doi:

10.1109/ICDEW.2008.4498370

DeRoos DP, Zikopoulos, Brown B, Coss RB, Melnyk R. 2014. Hadoop For

Dummies. New Jersey (CA): John Wiley & Sons, Inc.

Dittrich J, Quiané-Ruiz J. 2012. Efficient big data processing in Hadoop

MapReduce. Di dalam: Proceedings of the VLDB Endowment agst 2012;

Istanbul, Turki (TR). hal 2014-2015.

Djatna T, Morimoto Y. 2009. Reviving Dominated Points in Skyline Query.

IJCSNS. 9(1):347

Esuli A, Sebastian F. 2006. SENTIWORDNET: A Publicly Available Lexical

Resource for Opinion Mining. Di dalam: Proceedings of the 5th Conference

on Language Resources and Evaluation (LREC’06). 2006 mei 22-28; Genoa.

Itali (IT): LREC. hal 417-422

Ghiassi M, Skinner J, Zimbra D. 2013. Twitter brand sentiment analysis: A hybrid

system using n-gram analysis and dynamic artificial neural

network. ESWA. 40: 6266-6282. doi:10.1016/j.eswa.2013.05.057

Guerini M, Gatti L, Turchi M. 2013. Sentiment analysis: How to derive prior

polarities from SentiWordNet. Di dalam: Proceedings of the 2013 Conference

on Empirical Methods in Natural Language Processing; 2013 okt 18-21;

Washington, Amerika Serika (US): The Association for Computational

Linguistics. hal 1259-1269

Go A, Bhayani R, Huang L. 2009. Twitter sentiment classification using distant

supervision. CS224N Project Report.1:12

Page 40: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

28

Goldsmit EB. 2015. Social Influence History and Theories . Di dalam: Social

Influence and Sustainable Consumption. Swiss (CH): Springer International

Publishing. hal 32-39

Hu M, Liu B. 2004. Opinion Lexicon. Tersedia pada:

http://www.cs.uic.edu/~liub/FBS/opinion-lexicon-English.rar

Huang L, Xiong Y. 2013. Evaluation of microblog users’ influence based on

pagerank and users behavior analysis. AIT 3(2): 34-40. doi:

10.4236/ait.2013.32005.

Illecker M. 2015. Real-time Twitter Sentimen Classification base on Apache

Storm[tesis]. Innsbruck (AT): Universitas Innsbruck.

Jansen BJ , Zhang M, Sobel K, Chowdury A. 2009. Twitter power: Tweets as

electronic word of mouth. JASIST 60(11):2169-2188. doi: 10.1002/asi.21149

Khan AZ, Atique M, Thakare VM. 2015. Combining lexicon-based and learning-

based methods for Twitter sentiment analysis. IJECSCSE. Special Issue: 89-

91.

Khotimah H. 2015. Pemodelan Rekomendasi Wisata Menggunakan Data Jejaring

Sosial[tesis]. Bogor (ID): IPB.

Khuc VN, Shivade C, Ramnath R, Ramanathan J. 2012. Towards building large-

scale distributed systems for twitter sentiment analysis. Di dalam:

Proceedings of the 27th Annual ACM Symposium on Applied Computing.

2012 maret 26-30; New York, Amerika Serika (US): ACM. Hal 459-464.

Kiss C, Bichler M. 2008. Identification of influencers—measuring influence in

customer networks. Decision Support Systems. 46(1): 233-253. doi:

10.1016/j.dss.2008.06.007

Kossmann D, Ramsak F, Rost S. 2002. Shooting stars in the sky: An online

algorithm for Skyline queries. Di dalam: VLDB '02 Proceedings of the 28th

international conference on Very Large Data Bases. 2002 agustus 20-23;

Hongkong. Cina (CN): Morgan Kaufmann. hal 275-286

Liu B. 2010. Sentiment Analysis and Subjectivity. Di dalam: Indurkhya N,

Damerau FJ, editor. Handbook of Natural Language Processing. Edisi ke-2.

Amerika Serikat (US): Chapman & Hall / CRC Press. hal:627-666

Lunando E, Purwarianti A. 2013. Indonesian social media sentimen analysis with

sarcasm detection. ICACSIS. doi: 10.1109/ICACSIS.2013.6761575.

Maynard D, Funk A. 2011. Automatic detection of political opinions in tweets. Di

dalam: Proceedings of the 8th international conference on The Semantic Web

(ESWC'11); 2012; Berlin, Jerman (GE):Springer. hal 88-99

Medhata W, Hassan A, Korashy H. 2014. Analisis sentimen algorithms and

applications: A survey. ASEJ. 5: 1093-1113. doi: 10.1016/j.asej.2014.04.011

Mullen T, Collier N. 2004. Sentiment Analysis using Support Vector Machines

with Diverse Information Sources. EMNLP. 4: 412-418

Naradhipa AR, Purwarianti A. 2012. Sentiment classification for Indonesian

message in social media. Di dalam: DCloud Computing and Social

Networking (ICCCSN), 2012 International Conference. 2012 april 26-27;

Bandung, Indonesia (ID). New York (USA): IEEE. hal 1-5

Nagmoti R, Teredesai A, Cock MD. 2010. Ranking Approaches for Microblog

Search. Di dalam: Proceedings of the 2010 IEEE/WIC/ACM International

Conference on Web Intelligence and Intelligent Agent Technology. Toronto,

Kanada (CA). Washington (USA):IEEEE. hal 153-157

Page 41: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

29

Nielsen FA. 2011. AFINN lexicon. Tersedia pada:

http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6010

Pal A, Counts S. 2011. Identifying topical authorities in microblogs. Di dalam:

Proceedings of the fourth ACM international conference on Web search and

data mining (WSDM '11). 2011 Feb 9-12; Kowloon. Hongkong (HK): ACM.

Hal 45-54

Pang B, Lee L, Vaithyanathan S. 2002. Thumbs up?: sentiment classification using

machine learning techniques. Di dalam: Proceedings of the ACL-02

conference on Empirical methods in natural language processing. 10:79-86.

doi=10.3115/1118693.1118704

Papadias D, Tao Y, Fu G, dan Seeger B. 2005. Progressive skyline computation in

database systems. TODS. 30: 41-82. doi:10.1145/1061318.1061320

Raamakirtinan S, Livingston LJ. 2016. Identifying Influential Users in Facebook A

Sentiment Based Approach. IJST. 9(10) doi: 10.17485/ijst/2016/v9i10/86735

Ridha A, Adisantoso J, Bukhari F. 2004. Pengindeksan otomatis dengan istilah

tunggal untuk dokumen berbahasa Indonesia. Prosiding Seminar Nasional

Ilmu Komputer dan Teknologi Informasi V, SNIKTI 2014; [Waktu dan

tempat pertemuan tidak diketahui]. hal 328-335

Riquelme F, González-Cantergiani P. 2015. Measuring user influence on Twitter:

A survey. IPM. 53: 949-975. doi: 10.1016/j.ipm.2016.04.003

Rodrigo M, JoãO FV, Neto W PG. 2013. Document-level sentiment classification:

An empirical comparison between SVM and ANN. ESWA.40: 621-633. doi:

10.1016/j.eswa.2012.07.059

Rogers EM. 1995. Diffusion of innovations. New York (AS): The Free Press.

Rozi FI, Pramono HS, Dahlan AE. 2008. Implementasi opinion mining (analisis

sentimen) untuk ekstraksi data opini nasional pada perguruan tinggi. Jurnal

ECCIS. 6(1):37-43.

Siddique MA, Morimoto Y. 2014. Efficient Selection of Various k-objects for a

keyword Query based on MapReduce Skyline Algorithm. Di dalam: DNIS

2014 Proceedings of the 9th International Workshop on Databases in

Networked Information Systems. 2014 maret 24-26; Aizu-Wakamatsu, Japan

(JP). New York (USA): Springer-Verlag. hal 40-52

Septiandri AA, Purwarianti A. 2013. Identifikasi Opinion Leader pada Twitter

dengan Teknik Pembelajaran Mesin. Di dalam: Konferensi Nasional

Informatika 2013.

Tan KL, Eng PK, Ooi BC. 2001. Efficient progressive Skyline computation. Di

dalam: VLDB '01 Proceedings of the 27th International Conference on Very

Large Data Bases. 2001 september 11-14; Roma. Itali (IT): Morgan

Kaufmann. Hal 301-310

Tong W, Xuecheng Y. 2010. Electronic word of mouth in online social networks.

ICCSNA. 2: 249-253. doi: 10.1109/ICCSNA.2010.5588871

Vinodhini G, Chandrasekaran RM. 2012. Sentimen analysis and opinion mining: a

survey. IJARCSSE. 2: 283-292

Vilares D, Thelwall M, Alonso MA. 2015. The megaphone of the people? Spanish

SentiStrength for real-time analysis of political tweets. JIS. 41(6): 799-813.

doi: 10.1177/0165551515598926

Wilson T, Wiebe J, Hoffmann P. 2005. MPQA Subjectivity. Tersedia pada:

http://mpqa.cs.pitt.edu/lexicons/subj_lexicon/ .

Page 42: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

30

Zaman A, Siddique MA, Morimoto Y. 2015. Selecting Key Person of Social

Network Using Skyline Query in MapReduce Framework. Di dalam:

Proceedings of the Third International Symposium on Computing and

Networking (CANDAR,15). 2015 desember 8-11; Hokkaido. Jepang (JP):

IEEE. Hal 213-219.

Zhang B, Zhou S, Guan J. 2011. Adapting Skyline Computation to the MapReduce

Framework: Algorithms and Experiments. Di dalam: Xu J, Yu G, Zhou S,

Unland R, editor. Proceeding DASFAA'11 Proceedings of the 16th

international conference on Database systems for advanced applications.

2011; Berlin, Jerman (GE): Springer. Hal 403-414

Ziang J, Dai W, Cao X, Chen L, Zheng K, Sidibe A. 2016. Research on Community

Detection Algorithm Based on the UIR-Q. TELKOMNIKA. 14(2): 725-733.

doi: 10.12928/telkomnika.v14i2.2685

Page 43: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

31

LAMPIRAN

Page 44: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

32

Lampiran 1 Daftar fitrur kontekstual pada data tokoh nasional

Prefiks nama

tokoh (PP)

Sufiks nama

tokoh (PS)

Jabatan nama

tokoh (PT)

Posisi organisasi

(PO/LL)

Dr, Drh

Kh, Pak

Drs, Ir, Mr

MARS, M.Ab,

M.Ag, Mak, Map,

M.Cs, M.Farm,

M.H, M.Hum,

M.Hut, M.Kn,

M.Kom, M.M,

M.Mpd, M.P.H,

Mpd, M.Psi, Msi,

M.Sn, M.Stat,

M.T,

M.Ti, MA, M.Msi

Menristek,

Mendagri,

Menkominfo

Gubernur,

Presiden, Wakil

Presiden,

Walikota, Mentri,

Ketua, Wakil

Ketua,

Bendaharan

Lampiran 2 Portal berita online dan situs resmi partai politik

Nama Tautan

Partai PDI http://www.pdiperjuangan.or.id/category/nasional

Partai GOLKAR -

Partai GERINDRA http://partaigerindra.or.id/info/berita-partai-gerindra

Partai DEMOKRAT http://www.demokrat.or.id/category/berita/

Partai PKB http://www.fraksipkb.com/feed/

Partai PAN http://www.pan.or.id/berita/

Partai PKS http://pks.id/rss/

Portal Detik News http://rss.detik.com/index.php/detiknews

Portal Republika http://www.republika.co.id/rss

Portal VIVA News http://rss.viva.co.id/get/politik

Portal Antara News http://www.antaranews.com/rss/news.xml

Lampiran 3 Aturan kalimat opini berdasarkan kelas kata (Rozi et al. 2012)

Aturan Kalimat opini Contoh

RB JJ sangat bagus, dengan bagus, benar-benar, bagus,

seperti jelek, begitu bagus, demikian bagus, agak

bagus, amat bagus, sungguh bagus, terlampau bagus,

tentu jelek, pasti lambat, selalu lambat,kadang-

kadang buruk,terkadang sulit, memang benar,

semoga lebih baik

RB VB semoga berjalan, semoga membawa hikmah,

seandainya datang, jika memilih

NN JJ bukunya bagus, pakaiannya rapi, perkataannya halus,

jalannya jelek

NN VB Pelajarannya membosankan, perakataannya

menjengkelkan

JJ VB mudah difahami, gampang dimaafkan, cepat

beradaptasi

Page 45: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

33

Aturan Kalimat opini Contoh

CK JJ bagus atau baik, tetapi malas

JJ BB sama bagus

VB VB membuat merinding, membikin pusing

JJ RB indah sekali, bagus sekali

VB JJ membikin bingung

NEG JJ tidak seindah, tidak semudah

NEG VB tidak mengerti, tidak memahami, bukan mengajar

PRP VBI saya menyukai, kita suka

PRP VBT kita suka

VBT NN memiliki kedekatan, memiliki kepekaan

MD VBT Perlu mengambil referensi

MD VBI Perlu dikembangkan

Lampiran 4 Daftar emoticon.

Emoticon positif Emoticon positif

:) :(

:-) :-(

: ) : (

:D

==)

Lampiran 5 Daftar contoh stopword.

ada

adalah

adanya

adapun

agak

agaknya

agar

akan

akankah

akhir

akhiri

akhirnya

akowh

aku

akulah

amat

amatlah

anda

andalah

antar

antara

antaranya

apa

apaan

apabila

apakah

apalagi

apatah

aq

artinya

asal

asalkan

atas

atau

ataukah

ataupun

awal

awalnya

bagai

bagaikan

bagaimana

bagaimanakah

bagaimanapun

bagi

bagian

bahkan

bahwa

bahwasanya

baik

bak

bakal

bakalan

balik

banyak

bapak

baru

bawah

beberapa

begini

beginian

beginikah

Page 46: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

34

Lampiran 6 Class java untuk klasifikasi sentimen dengan NBC dengan 10-fold

cross validation

public class ClassiferNbayesLearn {

Instances trainData;

NaiveBayes classifier;

public void loadDataset(String fileName) {

try (BufferedReader reader = new BufferedReader(new

FileReader(fileName))) {

ArffReader arff = new ArffReader(reader);

trainData = arff.getData();

System.out.println("= Loaded dataset: " + fileName + " =");

}

catch (IOException e) {

System.out.println("Problem found when reading: " + fileName);

}

}

public void loadDataset() throws Exception {

/**

* cretae arff from connect db

*/

InstanceQuery query;

try {

DatabaseLoader loader = new DatabaseLoader();

loader.setSource("jdbc:mysql://localhost:3306/database",

"user", "password");

query = new InstanceQuery();

query.setUsername("user");

query.setPassword("password");

query.setQuery(""); // read table query sql untuk

mendapatkan vektor sentimen dari 8 fitur ciri sentimen

trainData = query.retrieveInstances();

trainData.setClassIndex(trainData.numAttributes()-1); //

set the numberof classes (creates index)

System.out.println(trainData.toString());

System.out.println("Loaded dataset Train: From DB");

System.exit(-1);

} catch (Exception e) {

e.printStackTrace();

}

}

public void evaluate() {

/**

* evaluate model

*/

try {

Page 47: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

35

trainData.setClassIndex(trainData.numAttributes()-1);

classifier = new NaiveBayes();

Evaluation eval = new Evaluation(trainData);

eval.crossValidateModel(classifier, trainData, 10, new Random(1)); //

k=10 for cross validation

System.out.println(eval.toSummaryString());

System.out.println(eval.toClassDetailsString());

System.out.println("= Evaluating on filtered (training) dataset done =");

}catch (Exception e) {

System.out.println("Problem found when evaluating");

}

}

public void learn() {

/**

* training data

*/

try {

trainData.setClassIndex(trainData.numAttributes()-1);

classifier = new NaiveBayes();

classifier.buildClassifier(trainData);

System.out.println(classifier);

System.out.println("= Training on filtered (training) dataset done =");

}

catch (Exception e) {

System.out.println("Problem found when training");

}

}

public void saveModel(String fileName) {

/**

* save model

*/

try {

ObjectOutputStream out = new ObjectOutputStream(new

FileOutputStream(fileName));

out.writeObject(classifier);

out.close();

System.out.println("= Saved model: " + fileName + " =");

} catch (IOException e) {

System.out.println("Problem found when writing: " + fileName);

}

}

}

Lampiran 7 Contoh data Twitter dan atributnya

{ "_id" : ObjectId("56150d30e4b02a52aabd58bf"),

"created_at" : "Thu Aug 06 09:51:03 +0000 2015",

Page 48: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

36

"id" : NumberLong(629228182147870720),

"id_str" : "629228182147870720",

"text" : "Jelang Panen Raya, Presiden Gelar Ratas soal Dampak El Nino

http://t.co/YJJeV6XRKa #STMkerasbosss #MentionsFor #DoraemonPic",

"source" : "<a href=\"http://ifttt.com\" rel=\"nofollow\">IFTTT</a>",

"truncated" : false,

"in_reply_to_status_id" : null,

"in_reply_to_status_id_str" : null,

"in_reply_to_user_id" : null,

"in_reply_to_user_id_str" : null,

"in_reply_to_screen_name" : null,

"user" : {

"id" : NumberInt(411932070),

"id_str" : "411932070",

"name" : "You're a nut!",

"screen_name" : "YoureANut",

"location" : "Twitter BOT",

"url" : null,

"description" : "@STMkerasbosss @DoraemonPic @MentionsFor

@DibawaSantaiAja. ِِـِمْْْْْْْْْْْْْْْْْْْْْْس ِ ِه رِ ,"ِ َنِمـحسِ ِ َنـمحَّ

"protected" : false,

"verified" : false,

"followers_count" : NumberInt(393),

"friends_count" : NumberInt(1999),

"listed_count" : NumberInt(12),

"favourites_count" : NumberInt(90),

"statuses_count" : NumberInt(411848),

"created_at" : "Mon Nov 14 02:14:48 +0000 2011",

"utc_offset" : NumberInt(25200),

"time_zone" : "Bangkok",

"geo_enabled" : false,

"lang" : "en",

"contributors_enabled" : false,

"is_translator" : false,

"profile_background_color" : "C0DEED",

"profile_background_image_url" :

"http://abs.twimg.com/images/themes/theme1/bg.png",

"profile_background_image_url_https" :

"https://abs.twimg.com/images/themes/theme1/bg.png",

"profile_background_tile" : false,

"profile_link_color" : "0084B4",

"profile_sidebar_border_color" : "C0DEED",

"profile_sidebar_fill_color" : "DDEEF6",

"profile_text_color" : "333333",

"profile_use_background_image" : true,

"profile_image_url" :

"http://pbs.twimg.com/profile_images/463675674348494851/ZWhYW6OD_no

rmal.jpeg",

Page 49: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

37

"profile_image_url_https" :

"https://pbs.twimg.com/profile_images/463675674348494851/ZWhYW6OD_n

ormal.jpeg",

"default_profile" : true,

"default_profile_image" : false,

"following" : null,

"follow_request_sent" : null,

"notifications" : null

}, "geo" : null,

"coordinates" : null,

"place" : null,

"contributors" : null,

"retweet_count" : NumberInt(0),

"favorite_count" : NumberInt(0),

"entities" : {

"hashtags" : [

{ "text" : "STMkerasbosss",

"indices" : [

NumberInt(83),

NumberInt(97)

]

},

{ "text" : "MentionsFor",

"indices" : [

NumberInt(98),

NumberInt(110)

]

},

{ "text" : "DoraemonPic",

"indices" : [

NumberInt(111),

NumberInt(123)

]

}

], "trends" : [

], "urls" : [

{ "url" : "http://t.co/YJJeV6XRKa",

"expanded_url" : "http://ift.tt/1OSLba6",

"display_url" : "ift.tt/1OSLba6",

"indices" : [

Page 50: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

38

NumberInt(60),

NumberInt(82)

]

}

], "user_mentions" : [

], "symbols" : [

]

}, "favorited" : false,

"retweeted" : false,

"possibly_sensitive" : false,

"filter_level" : "low",

"lang" : "in",

"timestamp_ms" : "1438854663775"

}

{ "_id" : ObjectId("56150d30e4b02a52aabd58c0"),

"created_at" : "Thu Aug 06 09:51:04 +0000 2015",

"id" : NumberLong(629228184345513984),

"id_str" : "629228184345513984",

"text" : "Komisi Kejaksaan: Jika Rekomendasi Tak Dipatuhi, Kami Lapor

Presiden: Komisi Kejaksaan tidak ingin lagi hanya ...

http://t.co/K8ox7KLAkC",

"source" : "<a href=\"http://twitterfeed.com\"

rel=\"nofollow\">twitterfeed</a>",

"truncated" : false,

"in_reply_to_status_id" : null,

"in_reply_to_status_id_str" : null,

"in_reply_to_user_id" : null,

"in_reply_to_user_id_str" : null,

"in_reply_to_screen_name" : null,

"user" : {

"id" : NumberInt(1213083504),

"id_str" : "1213083504",

"name" : "BERITA TERKINI",

"screen_name" : "ROBOT_BERITA",

"location" : "Malang",

"url" : "http://la-tivi.blogspot.com/",

"description" : "Di ambil dari sumber terpercaya karena saya ROBOT

\r\nG SUKA GAK USAH FOLLOW..",

"protected" : false,

"verified" : false,

"followers_count" : NumberInt(1202),

"friends_count" : NumberInt(518),

"listed_count" : NumberInt(17),

Page 51: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

39

"favourites_count" : NumberInt(14),

"statuses_count" : NumberInt(299145),

"created_at" : "Sat Feb 23 18:14:53 +0000 2013",

"utc_offset" : NumberInt(25200),

"time_zone" : "Bangkok",

"geo_enabled" : true,

"lang" : "en",

"contributors_enabled" : false,

"is_translator" : false,

"profile_background_color" : "131516",

"profile_background_image_url" :

"http://abs.twimg.com/images/themes/theme14/bg.gif",

"profile_background_image_url_https" :

"https://abs.twimg.com/images/themes/theme14/bg.gif",

"profile_background_tile" : true,

"profile_link_color" : "009999",

"profile_sidebar_border_color" : "EEEEEE",

"profile_sidebar_fill_color" : "EFEFEF",

"profile_text_color" : "333333",

"profile_use_background_image" : true,

"profile_image_url" :

"http://pbs.twimg.com/profile_images/416576332483411968/2x0WGiww_nor

mal.jpeg",

"profile_image_url_https" :

"https://pbs.twimg.com/profile_images/416576332483411968/2x0WGiww_nor

mal.jpeg",

"profile_banner_url" :

"https://pbs.twimg.com/profile_banners/1213083504/1369266747",

"default_profile" : false,

"default_profile_image" : false,

"following" : null,

"follow_request_sent" : null,

"notifications" : null

}, "geo" : null,

"coordinates" : null,

"place" : null,

"contributors" : null,

"retweet_count" : NumberInt(0),

"favorite_count" : NumberInt(0),

"entities" : {

"hashtags" : [

], "trends" : [

], "urls" : [

Page 52: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

40

{ "url" : "http://t.co/K8ox7KLAkC",

"expanded_url" : "http://bit.ly/1DsHUxH",

"display_url" : "bit.ly/1DsHUxH",

"indices" : [

NumberInt(114),

NumberInt(136)

]

}

], "user_mentions" : [

], "symbols" : [

]

}, "favorited" : false,

"retweeted" : false,

"possibly_sensitive" : false,

"filter_level" : "low",

"lang" : "in",

"timestamp_ms" : "1438854664299"

}

Page 53: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

41

Lampiran 8 Contoh data matriks Twitter

Lampiran 9 Contoh data akun dan karakteristik OL

Akun Komunikasi Eksternal Aksesibilitas Inovasi

agung_043 0.236 407 2

Agung_2023 0.556 8 64

agung_amelia 0.410 11 2

agung_arbi 0.624 60 0

Agung_BM 0.726 175 0

agung_chanutomo 0.306 9 4

agung_dondo 0.453 82 2

agung_gal 0.142 207 4

AGUNG_GONZA 0.620 65 0

agung_joko 0.545 57 4

agung_kurniawnn 0.421 85 0

Agung_Mase 0.538 2 8

agung_nh82 0.283 42 4

Agung_NoteBook 0.214 19 0

agung_reddevils 0.372 39 0

OT1 RP1 RP2 RP3 RT1 RT2 RT3 FT1 FT2 FT3 M1 M2 M3 M4 F1 F3

asgaopko 1 1 1 - - 2 2 2 1 1 4 - 2 - 20 10

bacaankita 4 3 1 - 3 1 - 1 - - 1 1 1 - 535 232

faishal_am 2 5 3 - 4 4 1 - - 3 1 6 2 2 467 456

irasipahutar 1 - - 1 2 6 5 - 5 - - - - - 3567 70

ivan_acan 150 - - - 1 - - - - - - - - - 310 18

JakaBPranata 1 - - - - - - 1 1 - - - - - 20 59

JAMarbun 2 - - - - - - - - - 3 - 1 1 5 55

Jammamasarah 2 - - - - - - - 1 - - - - - 6 58

januar_janner 1 1 1 - 2 - - - - - 1 1 2 - 5 58

japarmalik 1 - - - - - - 1 - - - - - 1 27 58

JappyNetwork 2 3 - - - 1 1 - 1 - - - 1 - 66 64

jegosz 1 - - - - - - - - - 5 1 - - 17 58

JejakNabiBDG 1 - 1 - - - - 2 - - - - 1 1133 58

jeremey_wong 12 - 5 - - - - - 1 - 7 - - 13 13

jibotu 3 - 2 1 1 2 - - - - 1 - 1 15 8

jmamonto 1 5 1 - - - 1 - 1 - - 1 1 27 51

JobLikeID 1 - - - - - - 1 - - 8 - 637 57

joesp_2000 4 - - - - - - - - 1 - - 1 1 11 51

joharonline 20 - - - 1 - - - 1 - - 1 1 55 60

jokowi_prabowo 9 2 - - - 1 1 1 - - 2 - 1 139 60

joysye_dirk 1 - - - - - - - - - - - 1 - 12 45

Jualbajumuslimm 30 - - - 2 - 2 1 - - 1 - - 19 62

jualcitraland 3 1 - - - - - - - - - 1 1 2 16 62

judia_mandey 1 - - - - - - 1 - - 1 - - - 18 61

juna_herman 1 - 1 - - - - 1 - - 1 - - - 8 46

jupriahmad05 1 1 - - - - - - - - - 1 - - 8 51

JuwandiWijaya 1 - 1 - - - - - - - - 1 - - 11 38

mulyawira 2 7 - - - - - 4 1 1 - - - 1 45 34

AkunMatriks Twitter

Page 54: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

42

Akun Komunikasi Eksternal Aksesibilitas Inovasi

agung_rema 0.374 55 10

agung_sadono 0.154 148 0

Agung_Stealker 0.349 72 0

agung_TKR1 0.075 66 0

agung_trg 0.361 84 2

agung_triantoro 0.384 13 2

Agung_Whatever 0.563 29 6

Agung13Irnawan 0.513 75 0

agung2412 0.435 303 10

Agung372Agung 0.281 76 0

agung65789 0.518 604 2

agung982421 0.058 11 2

Lampiran 10 Class dan fungsi algoritme SFS dalam MapReduce framework.

Class Map_Grid: fungsi map pada tahapan skyline lokal

class Map_Grid extends MapReduceBase implements Mapper<LongWritable,

Text, Text, Text> {

private Text word = new Text();

private int dim;

private Tuple_id_da tupleIDA;

private BitArray bitmap;

@Override

public void configure(JobConf job) {

super.configure(job);

dim = job.getInt("dim", -1);

tupleIDA = new Tuple_id_da();

tupleIDA.vec = new double[dim];

bitmap = new BitArray(dim);

}

public void map(LongWritable key, Text value, OutputCollector<Text, Text>

output, Reporter reporter) throws IOException {

try {

CSVParser.parse_data_tuple(tupleIDA, value); //tuple, value, delimiter

for (int i = 0; i < dim; i++){

if(tupleIDA.vec[i] >= 325)

bitmap.set(i, true);

else

bitmap.set(i, false);

if(tupleIDA.vec[i] >= 460)

bitmap.set(i, true);

else

bitmap.set(i, false);

if(tupleIDA.vec[i] >= 2910)

Page 55: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

43

bitmap.set(i, true);

else

bitmap.set(i, false);

}

word.set(bitmap.toString());

output.collect(word, value);

} catch (Exception e) {

e.printStackTrace();

}

}

}

Class Cmbn_Sky_local: fungsi combiner pada tahapan skyline lokal

class Cmbn_Sky_local extends MapReduceBase implements Reducer<Text,

Text, Text, Text> {

private int dim;

private Text word = new Text();

@Override

public void configure(JobConf job) {

super.configure(job);

dim = job.getInt("dim",-1);

}

public void reduce(Text key, Iterator<Text> values, OutputCollector<Text,

Text> output, Reporter reporter) throws IOException {

ArrayList<Tuple_id_da> dataset = new ArrayList<Tuple_id_da>();

ArrayList<Tuple_id_da> result;

while(values.hasNext())

dataset.add(CSVParser.parse_data_tuple(values.next()));

result = (new Skyline_LESS()).skyline(dataset);

word.set(key);

for (Tuple_id_da tupleIDA : result){

output.collect(word, toText(tupleIDA));

//System.out.println("key : "+key.toString()+" value

:"+toText(tupleIDA).toString());

}

}

private Text toText(Tuple_id_da tupleIDA) {

String buf = "" + tupleIDA.id + "," + tupleIDA.vec[0];

for (int i = 1; i < dim; i++)

buf+=","+ tupleIDA.vec[i];

return new Text(buf);

}

}

Class Rdc_Sky_local: fungsi reduce pada tahapan skyline lokal

class Rdc_Sky_local extends MapReduceBase implements Reducer<Text, Text,

Text, Text> {

Page 56: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

44

private int dim;

@Override

public void configure(JobConf job) {

super.configure(job);

dim = job.getInt("dim",-1);

}

public void reduce(Text key, Iterator<Text> values, OutputCollector<Text,

Text> output, Reporter reporter) throws IOException {

ArrayList<Tuple_id_da> dataset = new ArrayList<Tuple_id_da>();

ArrayList<Tuple_id_da> result;

while(values.hasNext())

dataset.add(CSVParser.parse_data_tuple(values.next()));

result = (new Skyline_SFS()).skyline(dataset);

for (Tuple_id_da tupleIDA : result){

output.collect(toText(tupleIDA),null );

// combiner

//System.out.println("value :"+toText(tupleIDA).toString());

}

}

private Text toText(Tuple_id_da tupleIDA) {

String buf = "" + tupleIDA.id + "," + tupleIDA.vec[0];

for (int i = 1; i < dim; i++)

buf+=","+ tupleIDA.vec[i];

return new Text(buf);

}

}

Class Map_Simple: fungsi map pada tahapan skyline global

class Map_Simple extends MapReduceBase implements Mapper<LongWritable,

Text, Text, Text> {

private Text word = new Text("Only one");

public void map(LongWritable key, Text value,OutputCollector<Text, Text>

output, Reporter reporter) throws IOException {

output.collect(word, value);

}

}

Class Cmbn_Sky_global: fungsi combiner pada tahapan skyline global

class Cmbn_Sky_global extends MapReduceBase implements Reducer<Text,

Text, Text, Text> {

private int dim;

private Text word = new Text("Only one");

@Override

public void configure(JobConf job) {

super.configure(job);

dim = job.getInt("dim",-1);

}

Page 57: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

45

public void reduce(Text key, Iterator<Text> values,OutputCollector<Text,

Text> output, Reporter reporter) throws IOException {

ArrayList<Tuple_id_da> dataset = new ArrayList<Tuple_id_da>();

ArrayList<Tuple_id_da> result;

while(values.hasNext())

dataset.add(CSVParser.parse_data_tuple(values.next()));

result = (new Skyline_LESS()).skyline(dataset);

for (Tuple_id_da tupleIDA : result)

output.collect(word,toText(tupleIDA));

}

private Text toText(Tuple_id_da tupleIDA) {

String buf = "" + tupleIDA.id + "," + tupleIDA.vec[0];

for (int i = 1; i < dim; i++)

buf+=","+ tupleIDA.vec[i];

return new Text(buf);

}

}

Class Rdc_Sky_global: fungsi reduce pada tahapan skyline global

class Rdc_Sky_global extends MapReduceBase implements Reducer<Text,

Text, Text, Text> {

private int dim;

@Override

public void configure(JobConf job) {

super.configure(job);

dim = job.getInt("dim",-1);

}

public void reduce(Text key, Iterator<Text> values,OutputCollector<Text,

Text> output, Reporter reporter) throws IOException {

ArrayList<Tuple_id_da> dataset = new ArrayList<Tuple_id_da>();

ArrayList<Tuple_id_da> result;

while(values.hasNext())

dataset.add(CSVParser.parse_data_tuple(values.next()));

result = (new Skyline_SFS()).skyline(dataset);

for (Tuple_id_da tupleIDA : result)

output.collect(toText(tupleIDA),null );

}

private Text toText(Tuple_id_da tupleIDA) {

String buf = "" + tupleIDA.id + "," + tupleIDA.vec[0];

for (int i = 1; i < dim; i++)

buf+=","+ tupleIDA.vec[i];

return new Text(buf);

}

}

Page 58: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

46

Class Skyline_SFS: class utama algoritme SFS

public class Skyline_SFS implements SkylineOperation {

public ArrayList<Tuple_id_da> skyline(List<Tuple_id_da> dataset){

ArrayList<Tuple_id_da>newdataset=new

ArrayList<Tuple_id_da>(dataset);

SpatialOperation.sort(newdataset);

return (new Skyline_BNL()).skyline(newdataset);

}

}

Class SpatialOperation: fungsi pengurutan data

public static void sort (List<Tuple_id_da> dataset){

Collections.sort(dataset, new Comparator<Tuple_id_da>() {

public int compare(Tuple_id_da o1, Tuple_id_da o2) {

int dim = o1.vec.length;

double o1_sum =0, o2_sum =0;

for (int i = 0; i < dim; i++) {

o1_sum += o1.vec[i];

o2_sum += o2.vec[i];

}

if(o1_sum > o2_sum) return 1;

else if (o1_sum < o2_sum) return -1;

return 0;

}

});

}

Class SpatialOperation: fungsi dominasi objek pada skyline query

public static boolean isDominated_new(double[] me, double[] you) throws

Exception {

if (me.length != you.length) {

System.out.println("The Two datum ara not identical!");

return false;

}

int flags = 0;

for (int i = 0; i < me.length; i++) {

if (me[i] < you[i])

flags = 1;

else if (you[i] < me[i])

return false;

}

if (flags == 1)

return true;

return false;

}

Page 59: PEMILIHAN AKUN BERPENGARUH PADA DATA TWITTER …belantara.or.id/document/doc/d8de1c649f9d4cd47a421d5bc74ae959.pdf · belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana

47

RIWAYAT HIDUP

Penulis lahir di Majalengka pada tanggal 24 April 1988. Penulis menempuh

pendidikan sarjana di Departemen Ilmu Komputer pada tahun 2006-2011 dan pada

tahun 2013 berkesempatan mengambil program sinergi S2. Penulis merupakan

putra bungsu dari pasangan O. Sumarna dan Oon Mudiaturomdhon. Penulis

menyelesaikan pendidikan sekolah menengah pertama di SMP Negeri 1 kota

Talaga pada tahun 2003 dan pendidikan sekolah menengah atas SMA Negeri 1 di

kota yang sama pada tahun 2006.

Pada tahun 2011, penulis berkesempatan menjadi karyawan pada salah satu

media online terkenal dan terbesar di indonesia yaitu detik.com. Penulis juga pada

tahun 2014 menikah dengan Karunia Maghfiroh dan dikaruniai seorang putra

bernama Naufal Al-arkhan Ahmad pada tahun 2015. Pada saat ini penulis bekerja

sebagai staf akademik Institut Teknologi Sumatra (ITERA) dan karyawan freelance

di Petrolab Service. Selain itu, penulis juga merintis software house bernama it-

tracker yang bergerak di bidang rekayasa perangkat lunak dan pengolahan data.