pemodelan topik lesbian, gay, biseksual, dan transgender di ...

68
PEMODELAN TOPIK LESBIAN, GAY, BISEKSUAL, DAN TRANSGENDER DI INDONESIA MENGGUNAKAN LATENT DIRICHLET ALLOCATION SKRIPSI Arsy Arlina 11140940000023 PROGRAM STUDI MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UIN SYARIF HIDAYATULLAH JAKARTA 2018 M/1440 H

Transcript of pemodelan topik lesbian, gay, biseksual, dan transgender di ...

PEMODELAN TOPIK LESBIAN, GAY, BISEKSUAL, DAN

TRANSGENDER DI INDONESIA MENGGUNAKAN

LATENT DIRICHLET ALLOCATION

SKRIPSI

Arsy Arlina

11140940000023

PROGRAM STUDI MATEMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UIN SYARIF HIDAYATULLAH JAKARTA

2018 M/1440 H

PEMODELAN TOPIK LESBIAN, GAY, BISEKSUAL, DAN

TRANSGENDER DI INDONESIA MENGGUNAKAN

LATENT DIRICHLET ALLOCATION

SKRIPSI

Diajukan kepada

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Fakultas Sains dan Teknologi

Untuk Memenuhi Persyaratan dalam

Memperoleh Gelar Sarjana Matematika (S.Mat)

Oleh :

Arsy Arlina

11140940000023

PROGRAM STUDI MATEMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UIN SYARIF HIDAYATULLAH JAKARTA

2018 M/1440 H

Scanned by CamScanner

Scanned by CamScanner

Scanned by CamScanner

iv

PERSEMBAHAN DAN MOTTO

Segala Puji dan Syukur ku persembahkan kepada Allah Subhanahu Wata‟ala.

Seiring shalawat serta salam kepada sang pembangun peradaban manusia, Nabi

Muhammad Shallallahu „Alaihi Wassalam.

Persembahan kecil ku lantunkan untuk mereka yang dalam diamnya turut

mendoakan atas dasar cinta tanpa paksaan sedikitpun terutama kepada mamah dan

papah.

Skripsi ini juga ku persembahkan untuk para sahabat serta mereka yang mencintai

saya dengan tulus untuk memberikan doanya untuk saya.

“Al-hayatuy Ar-Rabbaniyyah, yakni menjalani kehidupan selalu berorientasi

kepada Allah Subhanahu Wata‟ala, Selalu libatkan Allah dalam setiap langkah.”

“Ridha Allah tergantung pada ridha orang tua dan murka Allah tergantung pada

murka orang tua.” (Hasan. At-Tirmizi: 1899, HR. al-Hakim: 7249, ath-Thabrani

dalam al-Mu‟jam al-Kabiir: 14368, Al-Bazzar: 2394)

“Bila kamu tak tahan lelahnya belajar, maka kamu akan menanggung perihnya

kebodohan. Bersabarlah dalam menuntut ilmu.”

“Kita yang tidak memiliki waktu atau kita yang tidak memprioritaskan.”

v

ABSTRAK

Arsy Arlina, Pemodelan Topik Lesbian, Gay, Biseksual, Dan Transgender Di

Indonesia Menggunakan Latent Dirichlet Allocation, dibawah bimbingan Dr.

Taufik Edy Sutanto, MscTech dan Muhaza Liebenlito, M.Si.

Pada penelitian pengamatan terhadap perubahan pola perbincangan

masyarakat di media sosial twitter ketika membicarakan topik LGBT dengan

jumlah teks mencapai 18.552 tweet akan dilihat pengaruh topik ini terhadap isu-

isu lainnya terutama isu politik yang sering kali muncul di media sosial setiap

periode pergantian pemerintahan. Pengamatan dilakukan dengan melihat

kemungkinan atau peluang topik yang dibahas pada masing-masing teks terhadap

seluruh data twitter mengenai LGBT yang berbahasa Indonesia pada tahun 2015

sampai dengan bulan Juni 2018 dan kemudian melihat penyebaran topik serta

visualisasinya. Hasil penelitian menunjukan bahwa terdapat tujuh kategori topik

yang dominan muncul. Topik-topik tersebut adalah politik, agama, pemerintahan,

keasusilaan, kewarganegaraan, budaya dan teknologi yang masing-masingnya

tidak ada kecenderungan dalam pembicaraan mengenai LGBT. Hal ini

memperlihatkan bahwa pembicaraan LGBT dari waktu ke waktu secara umum

memiliki pola perbincangan dengan topik yang beragam kecuali pada topik

politik. Isu politik ternyata memiliki peningkatan pada periode-periode tertentu,

khususnya pada periode ketika pergantian pemerintahan terjadi. Hal ini

menunjukan adanya kemungkinan pengaruh digunakannya isu LGBT dalam

kehidupan politik di Indonesia.

Kata Kunci: LDA, LGBT, Topic Modelling, twitter.

vi

ABSTRACT

Arsy Arlina, Topic Modelling Lesbian, Gay, Bisexual, and Transgender in

Indonesia Using Latent Dirichlet Allocation, under the guidance of Dr. Taufik

Edy Sutanto, MscTech and Muhaza Liebenlito, M.Sc.

In a review of changes in the pattern of public conversation on social

media twitter compilation of LGBT topics with the number of texts reaching

18,552 tweets will be seen as a topic of discussion on other issues relating to

political issues that often appear on social media every period of government

change. Observations were made by looking at the announcement or discussion of

the topics discussed in each text on all twitter data about LGBT which discussed

Indonesia in 2015 until June 2018 and then looked at distributing the topic and its

visualization. The results showed that there were seven dominant categories that

emerged. These topics are politics, religion, government, morality, citizenship,

culture and technology, each of which has no development in talks about LGBT.

LGBT from time to time has topics of conversation with topics that are different

on political topics. Political problems turned out to have an increase in certain

periods, especially in the period of change of government occurred. This shows

the possible influence of the use of LGBT issues in political life in Indonesia.

Keywords: LDA, LGBT, Topic Modeling, twitter.

vii

KATA PENGANTAR

Alhamdulillah, puji syukur kehadirat Allah Subhanahu Wata‟ala atas

segala limpahan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan

penyusunan skripsi dengan judul “Pemodelan Topik Lesbian, Gay, Biseksual,

Dan Transgender Di Indonesia Menggunakan Latent Dirichlet Allocation”.

Shalawat serta salam senantiasa tercurah kepada Nabi Muhammad Sallalahu

Alaihi Wassalam, para sahabat, keluarga serta muslimin dan muslimat. Semoga

kita mendapatkan syafaat baginda Rasul kelak diakhirat. Penulis dapat

menyelesaikan skripsi ini karena adanya banyak bimbingan, saran, kerjasama dan

bantuan dari berbagai pihak. Untuk itu, pada kesempatan ini penulis ingin

menyampaikan terima kasih kepada:

1. Bapak Dr. Agus Salim, S.Ag., M.Si, selaku Dekan Fakultas Sains dan

Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.

2. Ibu Dr. Nina Fitriyati, M. Kom, selaku Ketua Program Studi Matematika

Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta, dan Bapak

Muhaza Liebenlito, M.Si, selaku Sekretaris Program Studi Matematika

Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.

3. Bapak Dr. Taufik Edy Sutanto, MScTech selaku Pembimbing I yang telah

memberikan ilmu pengetahuan, pengarahan, bimbingan dan membantu penulis

dalam menyelesaikan skripsi ini serta memberikan inspirasi dari mulai

pemilihan topik hingga metode penelitian yang digunakan.

4. Bapak Muhaza Liebenlito, M.Si selaku Pembimbing II yang telah

memberikan ilmu pengetahuan, pengarahan, bimbingan dan membantu penulis

dalam menyelesaikan skripsi ini.

5. Ibu Dr. Nina Fitriyati, M. Kom selaku Penguji I dan Ibu Yanne Irene, M.Si

selaku Penguji II yang telah memberikan saran yang membangun untuk skripi

ini.

6. Bapak Saleh Hasan dan Ibu Andi Yuliyani sebagai orang tua penulis yang

telah memberikan dukungan baik moril ataupun materil untuk penulis.

Scanned by CamScanner

ix

DAFTAR ISI

LEMBAR PENGESAHAN ................................................................................... I

PERNYATAAN .................................................................................................... II

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH

UNTUK KEPENTINGAN AKADEMIS .......................................................... III

ABSTRAK ............................................................................................................. V

ABSTRACT ......................................................................................................... VI

KATA PENGANTAR ....................................................................................... VII

DAFTAR ISI ........................................................................................................ IX

DAFTAR TABEL ............................................................................................... XI

DAFTAR GAMBAR ......................................................................................... XII

DAFTAR NOTASI ........................................................................................... XIII

BAB I PENDAHULUAN ..................................................................................... 1

1.1. LATAR BELAKANG .................................................................................... 1

1.2. PERUMUSAN MASALAH ............................................................................. 4

1.3. TUJUAN PENELITIAN ................................................................................. 5

1.4. BATASAN MASALAH ................................................................................. 5

1.5. MANFAAT PENELITIAN .............................................................................. 5

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI ........................... 6

2.1. LESBIAN, GAY, BISEKSUAL, DAN TRANSGENDER ...................................... 6

2.2. SCRAPING ................................................................................................... 7

2.3. STOPWORD FILTERING / STOPWORD REMOVAL ............................................ 8

2.4. PART-OF-SPEECH TAGGING / POSTAGGING ................................................. 8

2.5. PEMODELAN TOPIK ................................................................................... 9

BAB III METODOLOGI PENELITIAN ......................................................... 11

3. 1. SUMBER DATA ........................................................................................ 11

3. 2. TAHAPAN PENELITIAN ............................................................................. 14

3.2.1. Preprocessing ...................................................................................... 15

3.2.2. Model................................................................................................... 16

x

3.2.2.1. Pelabelan kategori topik .............................................................. 16

3.2.2.2. Melakukan Postagging ................................................................ 16

3.2.2.3. Menghapus duplikasi ................................................................... 17

3.2.2.4. Melakukan Stop Word Filtering .................................................. 17

3.2.2.5. Pembobotan Kata atau Term Weighting ...................................... 17

3.2.2.6. Latent Dirichlet Alocation ........................................................... 18

3.2.3. Visualisasi dan Interpretasi ................................................................ 25

BAB IV HASIL DAN PEMBAHASAN ............................................................ 27

4. 1. PREPROCESSING DATA ............................................................................. 27

4. 2. WORDCLOUD DAN WORDLINK KATEGORI TOPIK ...................................... 28

4. 3. HASIL PEMODELAN LATENT DIRICHLET ALLOCATION ............................... 32

4. 4. DISTRIBUSI TOPIK TERHADAP WAKTU .................................................... 35

4. 5. ANALISIS KATEGORI TOPIK TERHADAP WAKTU ...................................... 36

4. 6. RINGKASAN ANALISA TOPIK SECARA KESELURUHAN ............................ 38

BAB V PENUTUP ............................................................................................... 40

5.1. KESIMPULAN .......................................................................................... 40

5.2. SARAN ..................................................................................................... 40

REFERENSI ........................................................................................................ 41

LAMPIRAN ......................................................................................................... 45

A1. LAMPIRAN I SCRIPT PYTHON SCRAPPING DAN PREPROCESSING ............ 45

A2. LAMPIRAN II SCRIPT PYTHON POSTAGGING, TF DAN LDA ................... 50

xi

DAFTAR TABEL

Tabel 3.1. Data hasil scraping dan preprocessing pada CSV. .............................. 13

Tabel 3.2. Statistik deskriptif tweet LGBT. .......................................................... 14

Tabel 3.3. Hasil pemberian tag pada kata. ............................................................ 16

Tabel 3.4. Contoh data yang akan ditetapkan topik secara acak .......................... 21

Tabel 3.5. Contoh tabel topik untuk setiap kata dalam setiap dokumen/tweet ..... 22

Tabel 3.6. Contoh tabel topik kategori topik untuk setiap kata dalam masing-

masing dokumen/tweet .......................................................................................... 22

Tabel 3.7. Jumlah token tweet pada topik untuk setiap dokumen ......................... 23

Tabel 3.8. Hasil probabilitas distribusi kata untuk setiap topik. ........................... 25

Tabel 4.1. Data hasil preprocessing. ..................................................................... 27

xii

DAFTAR GAMBAR

Gambar 1.1. Jumlah infeksi HIV/AIDS menurut faktor risiko. .............................. 2

Gambar 1.2. Jumlah pengguna twitter di Indonesia pada tahun 2014-2018. .......... 3

Gambar 1.3. Jumlah tweet Indonesia terkait LGBT. ............................................... 4

Gambar 2.1. Himpunan data tag ............................................................................. 9

Gambar 2.2. Diagram keterhubungan penelitian .................................................. 10

Gambar 3.1. Jumlah tweet LGBT persemester pada tahun 2015-2018................. 19

Gambar 3.2. Contoh model grafik probabilistik. .................................................. 19

Gambar 3.3. Representasi model grafis dari LDA. ............................................... 20

Gambar 3.4. Algoritma gibbs sampling untuk LDA. ............................................ 21

Gambar 3.5. Diagaram alur klasifikasi pembelajaran. .......................................... 26

Gambar 3.6. Percobaan yang dilakukan dalam memperoleh model. .................... 26

Gambar 4.1. Wordcloud dan Wordlink kategori topik agama. .............................. 29

Gambar 4.2. Wordcloud dan Wordlink kategori topik budaya. ............................ 29

Gambar 4.3. Wordcloud dan Wordlink kategori topik pemerintahan. .................. 30

Gambar 4.4. Wordcloud dan Wordlink kategori topik kewarganegaraan. ............ 30

Gambar 4.5. Wordcloud dan Wordlink kategori topik politik. .............................. 31

Gambar 4.6. Wordcloud dan Wordlink kategori topik teknologi. ......................... 31

Gambar 4.7. Wordcloud dan Wordlink kategori topik keasusilaan. ...................... 32

Gambar 4.8. Wordcloud dan Wordlink kategori topik lainnya ............................. 29

Gambar 4.9. Visualisasi LDA pada data sampel dengan penambahan proses

stopword filtering. ................................................................................................. 31

Gambar 4.10. Distribusi topik terhadap waktu ..................................................... 32

Gambar 4.11. Analisis kategori topik terhadap waktu. ......................................... 37

Gambar 4.12. Probabilitas kata masing-masing periode untuk setiap kategori

pembicaraan terkait LGBT .................................................................................... 35

xiii

DAFTAR NOTASI

: Jumlah topik

: Distribusi topik dari dokumen

: Distribusi kata dari topik

: Bobot kata unik

: Jumlah dokumen/tweet

: Jumlah kata unik

atau : Jumlah 1 dokumen/tweet

𝐷 atau : Kumpulan dokumen atau tweet

: Topik untuk setiap kata

: Probabilitas topik untuk setiap dokumen/tweet

: Distribusi probabilitas kata untuk setiap topik

: topik

: jumlah kata dalam dokumen/tweet

1

BAB I

PENDAHULUAN

Pada tahun 2014, terdapat 24 negara yang tercatat telah melegalkan

pernikahan sesama jenis. Beberapa diantaranya yaitu Belanda, Prancis, Inggris,

Brazil, Amerika Serikat dan lain sebagainya [1]. Menurut Ferdiyan Pratama [1],

Kementrian Kesehatan memperkirakan pada tahun 2012 terdapat 1.095.970

penyimpangan perilaku seksual, dan badan Perserikatan Bangsa-Bangsa (PBB)

memprediksi jumlah Lesbian, Gay, Biseksual, dan Transgender (LGBT)

meningkat yaitu tiga juta jiwa pada tahun 2011 dari sekitar 800 ribu jiwa populasi

gay pada tahun 2009. Peningkatan penyebaran jumlah LGBT ini menimbulkan

penilaian masyarakat yang beragam dari berbagai sudut pandang di beberapa

negara termasuk negara Indonesia. Saat ini seiring dengan perkembangan

kemajuan teknologi, media sosial menjadi salah satu sarana yang banyak diminati

masyarakat untuk mengutarakan pendapat ataupun melakukan perbincangan

terkait isu-isu yang terjadi, tidak terkecuali dengan isu LGBT.

Pada bab ini akan dijelaskan tentang latar belakang yang mendasari

penelitian, serta tujuan penelitian sebagai acuan yang jelas untuk dicapai. Selain

itu pada bab ini juga dijelaskan mengenai manfaat penelitian, perumusan masalah

dan batasan penulisan sesuai dengan tujuan yang diinginkan.

1.1. Latar Belakang

"Mengapa kalian mendatangi jenis lelaki di antara manusia (berbuat

homoseks), dan kalian tinggalkan (perempuan) yang diciptakan Tuhan untuk

menjadi istri-istri kamu? Kamu (memang) orang-orang yang melampaui batas.”

(QS. Asy-Syu‟ara : 165-166).

“Sesungguhnya kamu mendatangi lelaki untuk melepaskan nafsumu

(kepada mereka), bukan kepada wanita, malah kamu ini adalah kaum yang

melampaui batas.” (QS:Al-A‟raf :81).

2

Dari terjemahan kementrian agama Republik Indonesia terkait ayat-ayat

Al-Qur‟an tersebut yang menceritakan kisah kaum Nabi Luth „alaihissalam

terlihat bahwa laki-laki melepaskan nafsunya bukan kepada wanita seperti pada

umumnya. Artinya bahwa hubungan sesama jenis ini juga dijelaskan dalam Al-

Quran seperti pada kisah kaum Nabi Luth tersebut.

LGBT merupakan salah satu bentuk penyimpangan seksual yang terjadi di

Indonesia, namun untuk mengetahui jumlah pelakunya sulit untuk dipastikan

dalam catatan kependudukan karena keberadaannya yang tidak diakui oleh negara

pada umumnya terutama di Indonesia. Berdasarkan catatan Dinas Kesehatan

Provinsi dan SIHA (Sistem Informasi HIV/AIDS) [2] mengenai peningkatan

jumlah penduduk terinfeksi penyakit HIV/AIDS akibat beberapa faktor seperti

biseksual, homoseksual dan laki-laki seks dengan laki-laki (LSL) yang merupakan

bentuk dari LGBT seperti pada Gambar 1.1, memperlihatkan bahwa jumlah

LGBT ini memiliki peningkatan setiap tahunnya.

Gambar 1.1. Jumlah infeksi HIV/AIDS menurut faktor risiko.

Peningkatan jumlah LGBT ini menimbulkan berbagai penilaian baik

dalam bentuk penolakan ataupun pembelaan. Kemudian para pembela LGBT

melakukan berbagai cara untuk mendapatkan pembelaan yang kuat terhadap

keberadaannya, seperti pada penelitian Pan dkk [3] yang mengatakan bahwa

media berita dijadikan sarana para pembela LGBT agar LGBT mendapatkan

pengakuan hukum. Pada era globalisasi seperti saat ini, berita tidak lagi sulit

0

2000

4000

6000

8000

10000

12000

14000

16000

Jum

lah

Ter

infe

ksi

Tahun

Jumlah Infeksi HIV/AIDS Menurut Faktor Risiko

Biseksual

Homoseks

Jumlah LSL

Sumber: Dinas Kesehatan Provinsi dan SIHA, 2017

3

untuk diperoleh. Hal ini dikarenakan adanya media komunikasi yang

jangkauannya lebih luas dan mudah diakses seperti media sosial.

Salah satu media sosial yang cukup populer di Indonesia adalah twitter.

Meskipun twitter memiliki kapasitas kata 280 karakter, namun hal ini tidak

membatasi minat masyarakat Indonesia terhadap media sosial ini. Dimana

pengguna twitter di Indonesia pada bulan Juli 2009 sudah mencapai 41 juta

pengguna dan terus mengalami peningkatan dengan cepat [4]. Perkembangan

pengguna aktif twitter yang terus mengalami peningkatan setiap tahunnya dalam

hitungan miliaran sejak tahun 2014 dapat dilihat pada Gambar 1.2.

Gambar 1.2. Jumlah pengguna aktif twitter di Indonesia pada tahun 2014-2018.

Peningkatan jumlah pelaku LGBT dan pengguna twitter menimbulkan

pertanyaan, bagaimana perkembangan jumlah tweet tentang LGBT di twitter. Jika

dilihat dari perkembangan pembicaraan LGBT di media sosial twitter seperti pada

Gambar 1.3 ternyata jumlah tweet mengenai LGBT mengalami peningkatan. Hal

ini menjadi ketertarikan tersendiri untuk mengamati topik LGBT di media sosial

twitter. Dari Gambar 1.3, topik LGBT mulai banyak diperbincangkan pada tahun

2015 dan meningkat pesat ketika 2016, akibatnya menimbulkan pertanyaan hal

apa yang diperbincangkan pada periode tersebut.

Manusia berdasarkan pengetahuan yang dimilikinya dapat memahami isi

yang dibicarakan dari kumpulan tweet tersebut. Dengan jumlah tweet yang tidak

sedikit mengenai LGBT ini akan mempersulit manusia dalam memahami topik

pembicaraannya dan membutuhkan waktu yang lama, karena topik yang muncul

12 14.3 16.8 18.9 20.9

0

10

20

30

2014 2015 2016 2017 2018

Jum

lah

Pen

ggu

na

akti

f (M

ilia

r)

Tahun

Jumlah Pengguna Aktif Twitter di Indonesia Pada

Tahun 2014-2018

Jumlah Pengguna

4

akan saling berisisan satu sama lain. Agar tidak dilakukan secara manual, objektif,

dan dapat dilakukan lebih cepat, manusia dapat menggunakan mesin untuk

memahami kumpulan tweet dengan cara menyatukan kata, topik dan konteks

dalam waktu yang bersamaan. Hal ini salah satunya dapat dilakukan dengan

pemodelan topik menggunakan Latent Dirichlet Allocation (LDA) yang

melakukan pengidentifikasian informasi topik laten (tersembunyi) dengan

menyatukan kata, topik dan konteks secara bersamaan.

Gambar 1.3. Jumlah tweet Indonesia terkait LGBT.

Menurut para peneliti sebelumnya, LDA efektif dalam pemodelan topik,

mudah dipahami, bahkan terdapat banyak pengembangan aplikasi dari LDA [5]

[6] [7]. Maka penelitian kali ini akan mencoba melakukan hal serupa dalam

pemahaman teks media sosial twitter secara otomatis menggunakan LDA namun

bedanya yaitu pada topik terkait LGBT di Indonesia.

1.2. Perumusan Masalah

Berdasarkan latar belakang diatas, maka didapatkan perumusan masalah sebagai

berikut:

1. Apa saja kategori topik yang cenderung dibicarakan masyarakat terkait LGBT

di Indonesia?

2 4 21 48 88 366 459 442 1258

8057

3872 3912

0

2000

4000

6000

8000

10000

Jum

lah

Tw

ee

t

Tahun

Jumlah Tweet LGBT di Indonesia

Jumlah Tweet

5

2. Bagaimana distribusi topik LGBT dari waktu ke waktu?

3. Apakah isu LGBT mempengaruhi perpolitikan di Indonesia?

1.3. Tujuan Penelitian

Tujuan yang ingin dicapai dalam penelitian ini adalah sebagai berikut:

1. Memperoleh topik utama yang berkaitan dengan perbincangan LGBT di

media sosial twitter Indonesia.

2. Mengetahui distribusi pembicaraan LGBT dalam perubahan waktu yang ada.

3. Mengetahui pengaruh topik LGBT terhadap perpolitikan di Indonesia.

1.4. Batasan Masalah

Agar pembahasan tidak menyimpang dari apa yang telah ditetapkan, maka dibuat

pembatasan masalah pada skripsi ini adalah:

1. Topik permasalahan yang diamati yaitu data media sosial terkait LGBT di

Indonesia dari 01 Januari 2015 sampai 30 Juni 2018 dimana data dianalisis

dalam periode waktu 6 bulan.

2. Data yang diolah hanyalah data teks yang berasal dari pengguna media sosial

twitter (gambar, video, alamat sumber dan informasi lainnya diabaikan).

3. Data yang diamati hanya data teks tweet berbahasa Indonesia saja, selain itu

diabaikan seperti retweet, likes, replies dan lain sebagainya.

4. Kata kunci pencarian data yang digunakan dalam penelitian yaitu “LGBT”.

1.5. Manfaat Penelitian

Melalui penelitian ini diharapkan dapat menjadi acuan untuk penelitian

atau pengembangan dalam penanganan tingginya jumlah LGBT di Indonesia.

Masyarakat atau pemerintah dapat melakukan pencegahan LGBT dalam aspek

kehidupan dengan melihat aspek mana yang memiliki kemungkinan

terindikasinya penyebaran LGBT lebih besar, sehingga dapat mengurangi

kegiatan dalam aspek tersebut atau mungkin dialihkan dengan kegiatan yang lebih

aman dari LGBT serta lebih bermanfaat.

6

BAB II

TINJAUAN PUSTAKA DAN LANDASAN TEORI

Penelitian terkait isu “LGBT” di media sosial dari berbagai negara dapat

terbagi menjadi beberapa kategori diantaranya yaitu terkait hukum [3], kesehatan

[8][9][10], pendidikan [11], sosial [12] dan politik [13]. Bab ini akan membahas

pendekatan dari masing-masing kategori yang berkaitan satu sama lain serta

pendekatan dengan penelitian yang akan dilakukan pada skripsi ini. Adapun teori-

teori dalam bab ini meliputi pengetahuan tentang LGBT, beberapa metode yang

berkaitan dan beberapa istilah lainnya yang digunakan dalam penelitian.

2.1. Lesbian, Gay, Biseksual, dan Transgender

Pada tahun 1999, penelitian terkait LGBT di Indonesia mulai terlihat [14]

dengan pembahasan tentang bagaimana LGBT di Indonesia dan terus

dikembangkan oleh beberapa peneliti, salah satunya yaitu oleh Boellstorf yang

mengembangkan dari segi keagamaan[15], budaya[16], pemerintahan[17] dan lain

sebagainya. Dalam waktu 13 tahun (2005-2018) [15], penelitian mengenai LGBT

di Indonesia memiliki jumlah sitasi mencapai 162, sedangkan jumlah sitasi

penelitian LGBT di negara lain dalam waktu 15 tahun (2003-2018) [10] sudah

memperoleh jumlah sitasi mencapai 5685. Terlihat bahwa penelitian LGBT di

Indonesia masih berkembang cukup lambat dibandingkan negara lain. Sedikitnya

penelitian tentang LGBT ini menandakan bahwa Indonesia masih memerlukan

perhatian khusus untuk kasus terkait seksual terutama didunia penelitian agar

terciptanya solusi yang dapat mengurangi jumlah LGBT di Indonesia.

Menurut Kamus Besar Bahasa Indonesia (KBBI) beberapa kata-kata yang

berkaitan dengan LGBT dapat dijelaskan sebagai berikut [18]:

1. Lesbian adalah wanita yang mencintai atau merasakan rangsangan seksual

sesama jenisnya.

7

2. Biseksual memiliki dua arti yaitu mempunyai sifat kedua jenis kelamin (laki-

laki dan perempuan) atau tertarik kepada kedua jenis kelamin (baik kepada

laki-laki maupun kepada perempuan).

3. Homoseksual merupakan dalam keadaan tertarik terhadap orang dari jenis

kelamin yang sama.

Meskipun kata-kata gay dan transgender di Indonesia sering terdengar namun

kata-kata tersebut tidak terdaftar di KBBI. Jika dilihat dari Oxford Living

Dictionaries [19] bahwa gay merupakan bentuk dari homoseksual dan

transgender menunjukkan seseorang yang memiliki identitas pribadi dan jenis

kelamin tidak sesuai dengan seks kelahiran mereka. Di media sosial twitter LGBT

sudah tidak asing lagi disebutkan dalam perbincangan masyarakat, dan karena

sebagian besar orang Indonesia memiliki media sosial twitter maka seharusnya

mereka dapat memahami dengan baik makna LGBT ini agar dapat mengetahui

bahwa LGBT merupakan hal penyimpangan sosial sehingga dapat menghindari

pengaruh LGBT tersebut dari media sosial twitter yang mereka miliki.

2.2. Scraping

Banyaknya perbincangan tentang LGBT di media sosial twitter

mengakibatkan informasi terkait LGBT dapat diperoleh dengan mudah. Dari

sekumpulan data tweet tersebut yang dapat dijadikan sebagai bahan penelitian

untuk memperoleh informasi berharga dalam upaya mengurangi penyebaran

LGBT. Untuk mengambil data tweet tersebut dibutuhkan teknik pengambilan data

dari halaman web twitter (scraping). Scraping merupakan teknik untuk

mengumpulkan data online secara langsung, dengan kata lain scraping merupakan

teknis secara langsung mengekstraksi informasi dari kumpulan data pada situs

web [20]. Tujuan dari web scraper adalah mencari jenis informasi tertentu,

mengekstrak, dan menggabungkannya ke dalam halaman baru web [21]. Oleh

sebab itu, sehubungan dengan data yang ingin digunakan pada penelitian kali ini

yaitu data media sosial twitter, dimana data ini merupakan data berbasis online

maka diperlukan teknik scraping untuk membantu dalam mengekstraksi informasi

8

agar dapat dilanjutkan menjadi sebuah informasi berharga sebagai bahan

penelitian.

2.3. Stopword Filtering / Stopword Removal

Setelah data diambil dengan teknik scraping, kita dapat mengetahui bahwa

data twitter biasanya mengandung unsur noisy (singkatan, bentuk tidak beraturan)

yang mempersulit dalam analisa maksud dari teks sesungguhnya, sehingga untuk

mengurangi noisy pada data teks dibutuhkan penghapusan stopwords dengan

menggunakan daftar stopword yang telah disusun [22]. Contoh isi dari daftar

stopword seperti “adalah”, “ini”, “itu”, “jangan”, dan lain sebagainya. Namun

efektivitas penghapusan stopword bergantung terhadap kebutuhan penelitian.

Maka dalam penelitian kali ini, akan diselidiki apakah menghapus stopword dapat

membantu dalam klasifikasi teks dengan baik atau justru sebaliknya.

2.4. Part-of-Speech Tagging / Postagging

Noisy bukanlah satu-satunya permasalahan kualitas data dari perolehan

hasil scraping, permasalahan lainnya yaitu banyaknya bermunculan kata-kata

yang kurang informatif untuk topik yang diamati seperti kata kerja, kata

keterangan dan lain sebagainya. Hal ini dapat mengakibatkan berkurangnya

frekuensi kata yang lebih informatif dalam menggambarkan topik. Maka

dibutuhkan salah satu proses penyaringan data seperti mengambil kata-kata yang

informatif terhadap topik saja menggunakan Part-of-Speech (POS) Tagging. POS

Tagging, juga disebut grammatical tagging, adalah proses menetapkan POS tag

ke kata-kata dalam teks [23]. POS tag adalah kategori gramatikal, biasanya

termasuk kata kerja, kata benda, kata sifat, kata keterangan, dan sebagainya [23].

Namun perlakuan POS tagging ini menimbulkan kekhawatiran dalam

representasi teks sesungguhnya dari pengguna twitter karena banyaknya kata yang

terbuang. Maka berdasarkan kebutuhan penelitian, akan dilakukan percobaan

apakah POS tag ini membantu atau justru menghambat proses pengklasifikasian

teks. Pendefinisan tag untuk kata-kata berbahasa Indonesia memiliki beberapa

referensi. Maka daftar tag yang dijadikan pendefinisian tag kali ini yaitu dengan

9

mendefinisikan 45 tag untuk kata-kata bahasa Indonesia termasuk tanda baca.

Data pendefinisan tag penelitian kali ini terlihat pada Gambar 2.1.

Gambar 2.1. Himpunan data tag [24].

2.5. Pemodelan Topik

Pemodelan topik (Topic Modelling) adalah algoritma untuk menemukan

tema utama yang meliputi koleksi dokumen yang besar dan tidak terstruktur, serta

dapat mengatur koleksi dokumen tersebut sesuai dengan tema yang ditemukan

[25]. Algoritma ini dapat diadaptasikan ke banyak jenis data seperti data genetik,

gambar, dan jaringan sosial [25]. Beberapa bentuk algoritma pemodelan topik

seperti pada Gambar 2.2 diantaranya yaitu Latent Semantic Analysis (LSA) yang

melakukan pendekatan untuk pengindeksan otomatis dan pengambilan informasi

yang mencoba untuk mengatasi masalah perbedaan penggunaan kata dengan

memetakan dokumen serta istilah untuk representasi [26][27][28], kemudian

dilakukan pendekatan baru untuk memperkuat landasan statistik didalamnya dan

melakukan analisis faktor yang disebut dengan Probabilistic Latent Semantic

10

Analysis (PLSA) [29][30][31]. Dari kedua algoritma tersebut ditemukan suatu

permasalahan apabila terdapat matriks pembobotan masing-masing kata memiliki

nilai yang negatif, maka dikembangkanlah metode yang disebut dengan Non-

Negative Matrix Factorization (NMF) [32][33].

Seiring dengan perkembangannya, algoritma pemodelan topik ini terus

mengalami perkembangan guna memperoleh hasil pemodelan topik yang baik.

Dengan keunggulan dalam memperlihatkan topik yang mungkin lebih dari satu

pada teks oleh Latent Dirichlet Allocation (LDA) membuat salah satu bentuk

algoritma pemodelan topik ini banyak diminati didunia penelitian terkait

pemodelan topik. Menurut David Blei dalam penelitiannya yang berbeda [25][34]

LDA ini mudah dipahami dan memiliki hasil yang baik dalam pemodelan topik,

LDA memiliki banyak pengaplikasian baru, mereka mengembangkan LDA

dengan mengkorelasikan pesan twitter dengan berbagai aplikasi kesehatan. Pada

tahun 2006 [35], LDA kembali dikembangkan untuk data yang memiliki struktur

berubah-ubah dari waktu ke waktu. Memasuki tahun 2010, LDA semakin banyak

digunakan dalam analisa topik khususnya pada media sosial twitter seperti yang

dilakukan oleh Hong [7] yang mengamati kumpulan user dan teks pada twitter,

kemudian yang dilakukan Wayne Xin Zhao [6] untuk menemukan topik dari

twitter dengan menggunakan info user. Keterhubungan antar penelitian ini dapat

dilihat pada Gambar 2.2.

Gambar 2.2. Diagram keterhubungan penelitian terdahulu dengan penelitian yang

dilakukan.

Topic Modelling

Latent Dirichlet

Allocation (LDA)

Non-Negative Matrix

Factorization (NMF)-

2007

LDA sederhana-2003

[20]

Ailment Topic Aspect

Model (ATAM)-2003 [3]

Topics Over Time- 2006

[21]

The Author-Topic Model

(AT Model)-2010 [5]

Twitter-LDA-2011 [4] Supervised Latent

Dirichlet Allocation

(LDA)

Latent Semantic

Analysis (LSA)-1990

Probabilistic Latent

Semantic Analysis

(PLSA)-1999

11

BAB III

METODOLOGI PENELITIAN

Beberapa penelitian yang menggunakan data twitter dan memanfaatkan

informasi waktu telah dilakukan oleh para peneliti dengan berbagai tahapan untuk

mendapatkan hasil pengolahan data terbaik [5] [6] [7]. Dari ketiga referensi

tersebut, secara garis besar penelitian pada kali ini akan melakukan hal yang

serupa, namun bedanya yaitu penelitian ini akan dipadukan dengan pengamatan

secara periodikal seperti pada penelitian [35]. Oleh sebab itu, untuk lebih jelasnya

pada bab ini akan dipaparkan mengenai bagaimana bentuk sumber data dan

tahapan penelitian yang dipilih penulis atas berbagai pertimbangan permasalahan

yang dihadapi.

3. 1. Sumber Data

Data yang digunakan dalam penelitian ini adalah data sekunder berupa

tweet berbahasa Indonesia yang ditulis oleh para pengguna layanan twitter. Data

diambil mulai tanggal 01 Januari 2015 sampai dengan 30 Juni 2018 melalui

fasilitas pencarian data tingkat lanjut (Twitter Search Advance) [36] menggunakan

akun twitter pribadi yang sudah terdaftar dengan kata kunci pencarian yaitu

“LGBT” karena kata kunci ini sedang populer dalam pembahasan terkait lesbian,

gay, biesksual dan transgender. Dari fasilitas pencarian tersebut, data diambil

dalam rentang waktu perbulan dengan lengkap sampai dengan tweet terakhir pada

bulan tersebut, kemudian disimpan kedalam bentuk halaman web atau HyperText

Markup Language (HTML). Kemudian data HTML tersebut diekstraksi

menggunakan teknik scraping agar menjadi kumpulan informasi dan dapat

dianalisa lebih lanjut.

Dalam proses penyimpanan, proses preprocessing data diikutsertakan

untuk membersihkan tweet dari singkatan, simbol, dan huruf kapital yang tidak

beraturan, data terkumpul sebanyak 10.562 baris tweet yang masing-masing baris

berisikan kolom Time menunjukan waktu pengguna membagikan tweetnya,

12

Username menunjukan akun pengguna, Replies menunjukan berapa jumlah yang

membalas tweet, Retweets menunjukan jumlah yang membagikan atau

mempublikasikan kembali tweet, Likes menunjukan jumlah yang menyukai tweet ,

Language menunjukan bahasa yang digunakan dalam tweet, Tweet menunjukan

isi dari tweet dan Cleaned_Tweet berisikan tweet yang sudah melalui tahap

preprocessing seperti pada Tabel 3.1. Kemudian data disimpan kedalam bentuk

Comma Separated Values (CSV). Data 2015-2018 yang terkumpul dipecah

dengan jangka waktu persemester (setiap 6 bulan) untuk diamati. Diperoleh

jumlah tweet persemester yang berbeda-beda seperti pada Gambar 3.1.

Gambar 3.1. Jumlah tweet LGBT persemester pada tahun 2015-2018.

Pada data terdapat beberapa kata unik yaitu satu kata memiliki dua arti

seperti “dr” bermakna “dari” dan ada juga yang bermakna “dokter”, “u” yang

berarti “untuk” dan ada juga yang berarti “anda”, kemudian “tk” berarti “taman

kanak-kanak” dan “ tidak”. Karena jumlah kata yang memiliki arti lebih dari satu

tidak banyak, maka cara untuk mengatasinya dengan melakukan perubahan secara

manual sesuai dengan kalimat pada tweetnya. Tidak hanya itu, data ini juga

memiliki permasalahan dalam bahasa yang digunakan, dimana dalam tweet

mengandung bahasa asing ataupun campuran bahasa diantaranya terdapat bahasa

Malaysia, Spanyol, dan Filipina.

525 733

4607

978 838 1351 1502

01 Jan –

30 Juni

2015

01 Juli –

31 Des

2015

01 Jan –

30 Juni

2016

01 Juli–

31

Des2016

01 Jan –

30 Juni

2017

01 Juli –

31 Des

2017

01 Jan –

30 Juni

2018

Jumlah tweet LGBT Persemester Tahun 2015-2018

Jumlah Tweet Persemester

13

Tabel 3.1. Data hasil scraping dan preprocessing pada CSV.

Time Username Replies Retweets Likes Language Tweet Cleaned_Tweet

27-Jan-15 @pancuniyoldas 1 3 12 #çare

#LGBT Bakanligi

care lgbt

bakanligi

27-Jan-15 @PutraREFORMASI 1 10 5 Indonesian

Alhamdulillah merayu kes LGBT? kegilaan

apakah umno ni? Skrg anda tahu siapakah Pejuang

LGBT pic.twitter.com/4UlUIiPS48

alhamdulillah

rayu kes lgbt

gila umno juang

lgbt 4uluiips48

25-Jan-15 @yourPlainJean 1 4 2 Indonesian

@twt_LGBT punyalah susah trans nak dapat

rights pastu citer bodoh macam ni bagi pulak

lulus. pic.twitter.com/SOi0C0NzKR

lgbt punyalah

susah trans

pastu citer

bodoh lulus

soi0c0nzkr

25-Jan-15 @BACK2STONEWALL 0 2 3 Indonesian

Barbaric Anti-Gay Saudi King Abdullah DEAD

http://www.back2stonewall.com/2015/01/barbaric-

anti-gay-saudi-king-abdullah-dead.html … #p2

#WorldNews #lgbt #gay

barbaric anti

gay saudi king

abdullah mati

worldnews lgbt

gay

24-Jan-15 @prosadio 3 8 26 Indonesian

Wala kaming pake sa sinasabi niyo na pagiging

LGBT IS A SIN, Kasi ganito talaga kami simula

nung pinanganak kami. Sinasayang mo lang oras

mo

wala kaming

sinasabi niyo

pagiging lgbt

sin kasi ganito

talaga simula

nung

pinanganak

sinasayang lang

oras

24-Jan-15 @gmanews 0 4 24 Indonesian Suporta sa LGBT, ipininta sa kalsada sa Mandaue

City http://gmane.ws/18akChlÂ

suporta lgbt

ipininta kalsada

mandaue city

14

Dari data, diperoleh beberapa informasi terkait LGBT,seperti pada Tabel

3.2 yang menunjukan bahwa jumlah tanggapan dari pengguna pada satu tweet

tentang LGBT maksimal sebanyak 938 tanggapan dengan rata-rata sebesar 5,82

dari total 61.422 tanggapan. Jika kita amati tweet yang disebarkan kembali oleh

pengguna yang lain terkait LGBT dengan melihat jumlah dari reweet,

mengartikan bahwa tweet tersebut terdapat beberapa pengguna yang sependapat,

dimana pada data jumlah dari reweet paling tinggi yaitu sebesar 17.077 dengan

rata-rata 50,14 dari jumlah 529.528 jumlah reweet. Untuk jumlah pengguna

twitter yang menyukai satu tweet tentang LGBT paling tinggi yaitu sebesar 10.327

dengan rata-rata 46,65 dari 492.720 jumlah likes. Hal ini memperlihatkan bahwa

tanggapan dan penilaian masyarakat terkait LGBT di media sosial twitter masih

termasuk rendah.

Tabel 3.2. Statistik deskriptif tweet LGBT.

Descriptive Statistics

N Minimum Maximum Sum Mean

Replies 10562 0 938 61422 5.82

Retweet 10562 0 17077 529528 50.14

Likes 10562 0 10327 492720 46.65

Valid N (listwise) 10562

3. 2. Tahapan Penelitian

Sub bab tahapan penelitian ini berisikan tentang tahapan-tahapan yang

dilakukan atau metode yang digunakan mulai dari mempersiapkan data, membuat

model sampai dengan evaluasi serta interpretasi hasil penelitian sehingga dapat

disimpulkan suatu hal yang bermanfaat. Pada skripsi ini penulis menggunakan

aplikasi python versi 3.6.1 dengan bantuan beberapa modul diantaranya seperti

sklearn [37], spacy [38] dan nltk [39]. Sklearn yang digunakan untuk analisis data

ini memiliki beberapa alat berupa modul didalamnya seperti NumPy untuk

melakukan pembersihan data menjadi data siap olah, SciPy untuk penghapusan

duplikasi data, dan matplotlib untuk membantu dalam visualisasi distribusi topik.

Kemudian nltk digunakan untuk pengolahan data terkait kebahasaan seperti

15

tokenisasi dan POS tagging, dan spacy untuk membantu dalam tahapan mengubah

setiap kata menjadi kata dasarnya.

3.2.1. Preprocessing

Data media sosial yang mengandung noisy (singkatan, bentuk tidak

beraturan), isi teks kosong atau missing value, bahkan banyak karakter yang sulit

terbaca oleh komputer mengakibatkan data sulit untuk diolah dan rendahnya

kualitas interpretasi data. Maka untuk menghadapi persoalan tersebut, diperlukan

pembersihan data atau biasa dikenal dengan preprocessing data. Pembersihan data

terdiri dari berbagai macam perlakuan dan masing-masing perlakuan akan berbeda

sesuai dengan kebutuhan penelitian. Pada penelitian kali ini akan digunakan

tahapan preprocessing seperti penggunaan Lemmatizer, tokenisasi, penghapusan

simbol kecuali “,” (koma) dan “.” (titik), serta penjabaran singkatan atau

memperbaiki kesalahan tipografi (typo).

3.2.1.1. Lemmatizer / Lemmatization

Lemmatization adalah proses transformasi untuk menemukan bentuk

normalisasi satu kata [40]. Lemmatization ini akan mengubah kata menjadi kata

dasarnya, sehingga akan lebih mudah menemukan inti kata pada teks. Penelitian

ini menggunakan lemmatization untuk memudahkan pencarian informasi dari teks

menggunakan kata dasar dalam proses analisa.

3.2.1.2. Tokenization / Tokenizing / Tokenisasi

Pada data teks terdiri dari rangkaian kata yang terpisahkan satu sama lain

oleh karakter seperti spasi. Sebelum melakukan analisis teks setiap kalimat pada

teks harus melakukan isolasi atau pemecahan kata, isolasi kata dari teks ini

disebut tokenisasi [41]. Pemecahan kata diperlukan dalam penelitian kali ini untuk

dapat membantu dalam preprocessing, proses pembobotan kata, dan POS tagging.

Untuk tokenize sebuah document banyak alat yang dapat digunakan seperti

Nlpdotnet Tokenizer, Mila Tokenizer, NLTK Word Tokenize, TextBlob Word

Tokenize, MBSP Word Tokenize, Pattern Word Tokenize, dan Word Tokenization

16

with Python NLTK [42]. Pada penelitian kali ini alat yang digunakan yaitu

TextBlob Word Tokenize.

3.2.2. Model

Setelah data siap diolah, data dibagi sesuai periodenya yaitu satu semester

untuk kemudian mulai dianalisa persemester. Langkah pertama penganalisaan

yaitu dengan membentuk model. Pembentukkan model yang dilakukan sebagai

berikut:

3.2.2.1. Pelabelan kategori topik

Pelabelan kategori topik seperti politik, pemerintahan, keasusilaan dan lain

sebagainya pada masing-masing tweet bergantung pada isi teks, kemudian dipilih

kategori topik yang dominan muncul dari seluruh tweet yang ada, kemudian

masing-masing kategori di visualisasikan menggunakan wordcloud dan wordlink.

3.2.2.2. Melakukan Postagging

Postagging yang dilakukan seperti pada Tabel 3.3 dan mengambil kata

dengan tanda NN, NNP, NNS, dan NNPS berdasarkan data himpunan POS tag,

karena dengan tag tersebut kita dapat lebih mudah menemukan kata-kata penting

sesuai kategori topik.

Tabel 3.3. Hasil pemberian tag pada kata.

Tweet Kata Dengan Tag

'saya tengah cari part waktu sosial

media marketer rm1500 perempuan

seorang aktivis hak asasi manusia

lgbt dan lain lain tweet lgbt

mention',

[('saya', 'PRP'),

('tengah', 'MD'),

('cari', 'VB'),

('part', 'NN'),

('waktu', 'NN'),

('sosial', 'JJ'),

('media', 'NN'),

('marketer', 'NN'),

('rm1500', 'CD'),

('perempuan', 'NN'),

('seorang', 'NND'),

('aktivis', 'NN'),

('hak', 'NN'),

('asasi', 'NN'),

('manusia', 'NN'),

('lgbt', 'NN'),

17

('dan', 'CC'),

('lain', 'JJ'),

('lain', 'JJ'),

('tweet', 'FW'),

('lgbt', 'FW'),

('mention', 'FW')],

3.2.2.3. Menghapus duplikasi

Hapus duplikasi tweet biasa dilakukan untuk menghindari adanya tweet

yang sama dari satu pengguna namun muncul berkali-kali agar termasuk tweet

yang penting dimedia sosial twitter. Maka dari itu perlu diamati terlebih dahulu

apakah penghapusan duplikasi ini berpengaruh baik terhadap pengamatan atau

sebaliknya.

3.2.2.4. Melakukan Stop Word Filtering

Pada bab dua telah dipaparkan mengenai stopword filtering, dan pada

penelitian kali ini akan dilakukan proses dengan menambahkan stopword filtering

ataupun tidak untuk diamati bagaimana hasil model yang diperoleh dan kemudian

akan diambil model yang terbaik.

3.2.2.5. Pembobotan Kata atau Term Weighting

Pembobotan kata merupakan hal yang diperlukan dalam proses

pengolahan data teks untuk memunculkan kata-kata penting pada teks, dimana

komponen yang mempengaruhi pentingnya sebuah kata yaitu faktor frekuensi kata

atau term frequency ( ), inverse document frequency ( ), dan normalisasi

panjang dokumen [43]. Pada penelitian kali ini pembobotan kata yang akan

digunakan yaitu Term Frequency ( ) dan normalisasi panjang dokumen. Term

Frequency merupakan banyaknya term atau kata yang muncul pada dokumen

[44]. Rumus perhitungan pembobotan kata untuk probabilitas dapat dituliskan

sebagai berikut [45]:

(

). (3. 1)

Dokumen yang dimaksud dalam rumus perhitungan pembobotan kata pada

penelitian kali ini yaitu tweet hasil preprocessing. Hasil perhitungan pembobotan

18

kata kemudian disimpan kedalam bentuk vektor dengan baris menunjukan indeks

tweet. Selain itu, teknik normalisasi pada proses pembobotan yang digunakan

pada penelitian diantaranya yaitu Maximum . Teknik maximum ini

merupakan teknik yang populer dalam normalisasi dengan batas maksimum faktor

yaitu 1.0 [43]. Setelah melakukan beberapa kali percobaan nilai maximum ,

pada penelitian kali ini dipilih sebesar 0.75.

Selain itu, pembobotan kata ini juga digunakan untuk penghapusan data

yang rangkap (duplikasi) dengan menggunakan Cosine. Teknik cosine digunakan

untuk percobaan penghapusan duplikasi data dengan menghitung

dimana merupakan bobot pada setiap kata [43].

Duplikasi teks pada data diperlukan atau tidak bergantung pada tujuan penelitian,

dan pada penelitian kali ini akan menerapkan keduanya (dengan penghapusan

duplikasi dan tidak) untuk melihat hasil terbaik. Proses penghapusan duplikasi

dilakukan dengan membandingkan nilai antar vektor term frequency yang

terbentuk. Perbandingan ini dilakukan dengan menentukan nilai ambang batas

terlebih dahulu sebagai standar penentuan penghapusan vektor, yaitu jika nilai

perhitungan cosine dari satu elemen pada vektor memiliki nilai kurang dari

ambang batas maka elemen tersebut akan dihapus dari vektor. Nilai ambang batas

ini berkisar 0 sampai 1, dimana 0 mengartikan bahwa tidak ada kesamaan antar

vektor yang dibandingkan dan 1 untuk sebaliknya. Maka penelitian kali ini

memilih ambang batas sebesar 0.99 yang artinya teks akan dihapus jika isinya

benar-benar sama.

3.2.2.6. Latent Dirichlet Alocation

Jika masing-masing teks yang sudah dibobotkan sebelumnya mengandung

lebih dari satu topik, maka untuk mendapatkan informasi dari teks tersebut dapat

dilakukan pengelompokan secara halus (soft clustering). Salah satu contoh metode

dengan soft clustering yang sering digunakan dalam data teks yaitu Latent

Dirichlet Allocation (LDA) dengan teknik mengidentifikasi informasi topik laten

(tersembunyi) dalam koleksi dokumen besar menggunakan pendekatan bag of

words (cara representasi data teks) yang memperlakukan setiap dokumen sebagai

19

vektor jumlah kata dan direpresentasikan sebagai distribusi probabilitas atas

beberapa topik, sementara setiap topik direpresentasikan sebagai distribusi

probabilitas atas sejumlah kata [7]. Probabilitas disini merupakan suatu nilai yang

digunakan untuk mengukur tingkat terjadinya suatu kejadian yang acak [46].

Distribusi probabilitas dapat dituliskan dengan struktur bebas bersyarat

antar variabel menggunakan grafik agar lebih mudah, atau biasa disebut dengan

probabilistic graphical model seperti pada contoh Gambar 3.2. Pada Gambar 3.2

mengartikan bahwa tanah basah terjadi akibat adanya hujan dan cuci motor

terlebih dahulu, lalu tanaman tumbuh disebabkan oleh tanah yang basah. Sehingga

dari grafik tersebut kita dapat melihat probabilitasnya dengan gabungan distribusi

seperti:

𝑃(𝐶,𝐷|𝐴,𝐵)=𝑃(𝐴)𝑃(𝐵)𝑃(𝐶|𝐴,𝐵)𝑃(𝐷|𝐶). (3.2)

Sehingga dari persamaan dan grafik model probabilistik kita dapat lebih mudah

untuk mengetahui variabel mana yang diberikan atau diketahui terlebih dahulu

sesuai kejadian, dan keterkaitan antar variabel untuk melihat probabilitasnya.

Gambar 3.2. Contoh model grafik probabilistik (probabilistic graphical model).

Model grafik probabilitas LDA pada Gambar 3.3 kurang lebih memiliki

gambaran proses kerja seperti probabilistic graphical model.

Tanah Basah (C)

Hujan (A)

Tanaman

Tumbuh (D)

Cuci Motor (B)

20

(a) (b)

Gambar 3.3. Representasi model grafis dari LDA (a) Representasi model grafis

LDA (2002) [34] (b) Representasi model grafis LDA (2008) [47].

Berikut pemaparan langkah kerja dari LDA sesuai pada Gambar 3.3:

1. Penentuan parameter utama ( , )

Dari Gambar 3.3 dengan cara yang sama menggunakan probabilistic

graphical model dapat diketahui terdapat beberapa parameter yang dibutuhkan

diantaranya yaitu variabel dan yang biasa disebut dengan parameter prior

dirichlet, serta penentuan jumlah topik ( ). Nilai dan merupakan bilangan

rill positif yang tidak lebih dari 1 atau dapat dituliskan , dan

untuk nilai optimalnya didekati secara numerik menggunakan algoritma gibbs

sampling dalam menentukan jumlah topik terlebih dahulu seperti pada

Gambar 3.4, dimana untuk setiap dari satu sampai banyaknya jumlah kata

( ) akan dilakukan penarikan suatu nilai yang didefinisikan dengan variabel

yang seragam dari nol sampai satu, kemudian untuk setiap topik satu sampai

banyaknya topik ( ) akan dihitung peluang masing-masing topik atau .

Hal ini dilakukan sampai dengan

, maka jumlah topiknya ( ) yaitu

sejumlah topik dalam kata ke dokumen ke ( ).

21

Gambar 3.4. Algoritma gibbs sampling untuk LDA.

Semakin tinggi nilai maka mengartikan bahwa setiap dokumen

mengandung sebagian besar topik, dan semakin rendah nilai maka dokumen

memiliki kemungkinan diwakili oleh beberapa topik saja. Sementara semakin

tinggi nilai maka suatu topik mengandung campuran sebagian besar kata-

kata, sedangkan semakin rendahnya nilai maka suatu topik hanya

mengandung campuran dari beberapa kata-kata.

2. Secara acak menetapkan topik untuk setiap kata dalam setiap dokumen/tweet

seperti pada Tabel 3.1.

Tabel 3.4. Contoh data yang akan ditetapkan topik secara acak [48]

No Data/Tweet ( )

Kata dalam

Tweet (Token

tweet)

Kata Unik ( )

terhadap

kata dalam

Tweet

1

makan kalkun

pada hari

libur kalkun

"makan"

"kalkun"

"pada"

"hari"

"libur"

"kalkun"

1. "makan"

2. "kalkun"

3. "pada"

4. "hari"

5. "libur"

6. "saya"

7. "suka"

8. "kue"

9. "di”

1

2

3

4

5

2

2 saya suka makan

kue di hari libur

"saya"

"suka"

"makan"

6

7

1

22

"kue"

"di"

"hari"

"libur"

8

9

4

5

Kata unik dalam tweet untuk keseluruhan dokumen/tweet yang ada dapat

diperoleh dari hasil pembobotan kata, kemudian penetapan topik dapat

dilakukan untuk setiap kata dalam setiap dokumen/tweet secara acak. Hal ini

dapat dituliskan dengan matriks sebagai berikut:

[

]

dimana berarti topik ke- untuk kata unik ke- , dapat dilihat contoh

lebih lanjutnya seperti pada Tabel 3.2.

Tabel 3.5. Contoh tabel topik untuk setiap kata dalam setiap dokumen/tweet

Kata Unik ( )

1 2 3 4 5 6 7 8 9

Topik ( )

1 2 1 0 1 1 1 1 1 1

2 0 1 1 1 1 0 0 0 0

3. Menentukan kategori topik untuk setiap kata dalam masing-masing

dokumen/tweet seperti contoh pada Tabel 3.3.

Tabel 3.6. Contoh tabel topik kategori topik untuk setiap kata dalam masing-

masing dokumen/tweet

Tweet 1 ( ) Tweet 2 ( )

Token Tweet Kategori Topik Token Tweet Kategori Topik

"makan"

"kalkun"

"pada"

"hari"

"libur"

"kalkun"

1

2

2

2

1

1

"saya”

"suka"

"makan"

"kue"

"di"

"hari"

"libur"

1

1

1

1

1

1

2

23

4. Membuat matriks topik untuk setiap dokumen di mana jumlah tersebut sesuai

dengan jumlah token yang ditetapkan untuk setiap topik untuk setiap dokumen

seperti pada Tabel 3.4.

Tabel 3.7. Jumlah token tweet pada topik untuk setiap dokumen

Topik

Dokumen 1 2

1 3 3

2 6 1

Jumlah token tweet pada topik untuk setiap dokumen tersebut kemudian

dihitung probabilitasnya menggunakan persamaan berikut:

(3.3)

Sedemikian sehingga diperoleh sebagai kumpulan campuran topik yang

berbentuk matriks probabilitas topik terhadap dokumen seperti pada matriks

berikut:

[

]

yang mengartikan bahwa berarti kumpulan campuran topik ke- pada

dokumen ke- . Seperti pada contoh sebelumnya, matriks probabilitas topik

terhadap dokumen diperoleh sebagai berikut:

*

+

5. Memperbarui topik secara acak ke dalam satu token pada satu waktu. Dari

kumpulan campuran topik ( ), dapat dipisahkan masing-masing topik ( ) dari

campuran topik tersebut. Sehingga diperoleh sebuah matriks baru yang

berisikan nilai probabilitas kata terhadap dokumen untuk masing-masing topik

sebagai berikut:

24

[

]

dimana nilai mengartikan topik untuk dokumen ke- pada kata ke- ,

dengan atau dapat diartikan terdapat sebanyak jumlah topik yang

ada dari campuran topik, dan nilai masing-masing probabilitasnya dapat

dihitung menggunakan persamaan berikut:

∏ ∏

. (3.4)

Variabel dan ini biasa disebut dengan parameter laten atau parameter

posterior dirichlet. Berikut contoh perubahan topik yang terjadi pada data

contoh yang sebelumnya digunakan:

[1] "doc:1 token:2 topic:2=>1" [1] "doc:1 token:3 topic:2=>1" [1] "doc:1 token:4 topic:2=>1" [1] "doc:1 token:5 topic:1=>2" [1] "doc:2 token:1 topic:1=>2" [1] "doc:2 token:2 topic:1=>2" [1] "doc:2 token:5 topic:1=>2" [1] "doc:2 token:1 topic:2=>1" [1] "doc:1 token:3 topic:1=>2" [1] "doc:2 token:4 topic:1=>2" [1] "doc:2 token:5 topic:2=>1"

6. Probabilitas topik yang diperoleh ( ) dan distribusi kata pada topik ( )

menghasilkan probabilitas kata-kata yang muncul sebagai hasil akhir

pembentukan model ( ). Sehingga hasil dari model untuk satu dokumen ini

akan memunculkan kata-kata dari kelompok topik yang terbentuk, dan kata-

kata ini dapat membantu dalam pendefinisian kategori setiap kelompok.

Sehingga total probabilitas berdasarkan grafik model LDA dapat dihitung

menggunakan persamaan berikut:

∏ ( )

∏ ( | ) ( | )

(3.5)

25

Distribusi diformulasikan sebagai berikut:

(3.6)

dimana merupakan banyaknya kata. Kemudian probabilitas kata untuk

setiap topik dapat dihitung menggunakan persamaan berikut:

∏ ∏

. (3.7)

Dengan menggunakan contoh yang sama, diperoleh hasil akhir pemodelan

dengan LDA sebagai berikut:

Tabel 3.8. Hasil probabilitas distribusi kata untuk setiap topik.

Topik ( )

Kata Unik ( )

makan kalkun pada hari libur saya suka kue di

1

0.2498439256

0.2498439256

0.0001248595

0.2498439256

0.0001248595

0.1249843926

0.0001248595

0.0001248595

0.1249843926

2

0.0001996406

0.0001996406

0.1998402875

0.0001996406

0.3994809343

0.0001996406

0.1998402875

0.1998402875

0.0001996406

3.2.3. Visualisasi dan Interpretasi

Model yang telah terbentuk kemudian siap untuk divisualisasikan dan

diinterpretasikan terhadap data sesungguhnya. Pada penelitian kali ini, visualisasi

yang digunakan yaitu menggunakan Bar Plot dengan interpretasi untuk

menggambarkan hasil distribusi topik dari waktu ke waktu, Radar Plot untuk

analisis kategori topik terhadap waktu dan Petal Plot sebagai ringkasan analisa

topik secara keseluruhan. Kemudian dari hasil visualisasi dapat dilakukan

interpretasi terhadap data. Proses penelitian yang dilakukan dapat dilihat pada

gambar 3.5. Untuk mendapatkan model terbaik dilakukan beberapa perlkuan

tambahan seperti pada Gambar 3.5.

26

Gambar 3.5. Diagaram alur klasifikasi pembelajaran.

Gambar 3.6. Percobaan yang dilakukan dalam memperoleh model.

27

BAB IV

HASIL DAN PEMBAHASAN

Pada bab ini preprocessing data, pembentukan model dari topik LGBT,

dan hasil implementasi model dalam bentuk radar plot dijabarkan lebih lanjut.

4. 1. Preprocessing Data

Prepocessing dilakukan setelah proses penyimpanan hasil scrapping, yang

terdiri dari proses URL removals, Symbol Removals (kecuali “,” dan “.”),

Lemmatizer, penjelasan singkatan (slang) atau typo, serta filtering tweet yang

bukan bahasa Indonesia. Hasil dari preprocessing tersebut berbentuk Comma

Separated Value (CSV) seperti pada Tabel 4.1.

Tabel 4.1. Data hasil preprocessing.

Tweet Cleaned_Tweet

#çare

#LGBT Bakanligi care lgbt bakanligi

Saya tengah cari part-time social media marketer,

RM1500. Perempuan. Seorang aktivis Hak Asasi

Manusia- LGBT dll. @twt_LGBT mention me.

cari part sosial media marketer

rm1500 perempuan orang aktivis hak

asasi manusia lgbt dll. lgbt mention

Alhamdulillah merayu kes LGBT? kegilaan apakah umno

ni? Skrg anda tahu siapakah Pejuang LGBT

pic.twitter.com/4UlUIiPS48

alhamdulillah rayu kes lgbt gila

umno juang lgbt 4uluiips48

@twt_LGBT punyalah susah trans nak dapat rights pastu

citer bodoh macam ni bagi pulak lulus.

pic.twitter.com/SOi0C0NzKR

lgbt punyalah susah trans pastu citer

bodoh lulus soi0c0nzkr

Barbaric Anti-Gay Saudi King Abdullah DEAD

http://www.back2stonewall.com/2015/01/barbaric-anti-

gay-saudi-king-abdullah-dead.html … #p2

#WorldNews #lgbt #gay

barbaric anti gay saudi king abdullah

mati worldnews lgbt gay

Wala kaming pake sa sinasabi niyo na pagiging LGBT IS

A SIN, Kasi ganito talaga kami simula nung pinanganak

kami. Sinasayang mo lang oras mo

wala kaming sinasabi niyo pagiging

lgbt sin kasi ganito talaga simula

nung pinanganak sinasayang lang

oras

Suporta sa LGBT, ipininta sa kalsada sa Mandaue City

http://gmane.ws/18akChlÂ

suporta lgbt ipininta kalsada mandaue

city

MMU film season celebrates LGBT cinema

http://www.mmu.ac.uk/news/news-items/3208/ …

#Shortbus @ManMetUnipic.twitter.com/iDh3d4NfSn

mmu film season celebrates lgbt

bioskop shortbus

manmetunipic.twitter.com

idh3d4nfsn

28

Karena penelitian ini diamati persemester dari tujuh semester yang ada, maka

akan dilakukan pengambilan sampel pada semester pertama yang kemudian akan

dilatih untuk mendapatkan topik model LDA. Model yang sudah dilatih tersebut

akan digunakan untuk melihat distribusi topik pada semester lainnya.

4. 2. Wordcloud dan Wordlink Kategori Topik

Dari hasil pelabelan topik secara manual pada teks yang sudah

dibersihkan, diperoleh 14 topik yang sering dikaitkan dengan pembicaraan LGBT

di media sosial twitter yaitu Politik, Agama, Pemerintahan, Pendidikan,

Keasusilaan, Kewarganegaraan, Olahraga, Budaya, Adat, Teknologi, Makanan,

Trend, Ekonomi dan Barang. Namun dari 14 kategori tersebut dipilih menjadi

delapan kategori yang sering muncul saja diantaranya Politik, Agama,

Pemerintahan, Keasusilaan, Kewarganegaraan, Budaya, Teknologi dan Lainnya

(berisikan kategori topik yang tidak terpilih). Kemudian masing-masing tweet

dengan label kategori tersebut divisualisasikan menggunakan wordcloud dan

wordlink dengan aplikasi voyant tools [49] untuk melihat kata-kata yang dapat

dijadikan sebagai ciri-ciri dari kategori topik sehingga lebih mudah untuk

mengetahui isu yang dibicarakan.

Seperti pada Gambar 4.1, isu agama yang beredar terkait pembahasan

LGBT yaitu bahwa persepsi masyarakat mengenai dukungan terhadap LGBT

merupakan hal yang salah dari segi keagamaan, seperti pada tweet

“!!@onlyaidee: Istri nabi Luth ga diselamatin Allah krn mendukung

gay,dibinasakan Allah. Siapa Loe pede banget dukung LGBT? Yakin selamat?”

dan masih banyak lagi penilaian masyarakat lainnya yang sebagian besar tidak

membenarkan tindakan dukungan terhadap LGBT.

29

Gambar 4.1. Wordcloud dan Wordlink kategori topik agama.

Tidak jauh berbeda dengan isu agama, isu budaya yang beredar dalam

pembicaraan tentang LGBT pada Gambar 4.2 juga memperlihatkan bentuk

ketidak nyamanan masyarakat terhadap hal-hal yang dianggap sebagai ciri dari

pendukung LGBT dan sering dijadikan suatu kebiasaan atau budaya seperti pada

tweet “Wallahi, kaum LGBT telah merusak indahnya warna dan dalamnya makna

PELANGI. - (via herricahyadi) bener... http://tmblr.co/ZsTayt1oTMo-7”.

Gambar 4.2. Wordcloud dan Wordlink kategori topik budaya.

Isu pemerintahan yang muncul dalam pembicaraan LGBT seperti pada Gambar

4.3 juga memperlihatkan bahwa adanya dukungan dari anggota pemerintah

terhadap LGBT merupakan hal yang tidak dibenarkan masyarakat dan

menimbulkan berbagai penolakan, seperti yang disampaikan pada salah satu tweet

“dulu LGBT dicibir, skrg diterima di seluruh AS. kaum pedofili sdg menempuh

jalan yg sama yg ditempuh kaum LGBT”.

30

Gambar 4.3. Wordcloud dan Wordlink kategori topik pemerintahan.

Dalam pembicaraan LGBT juga sering kali dikaitkan dengan adanya

pengakuan kedudukan para pelaku LGBT. Akibatnya isu kewarganegaraan ini

sering kali muncul pada pembicaraan LGBT seperti pada Gambar 4.4 mengenai

kebebasan para pelaku LGBT merupakan hal yang tidak bisa diterima masyarakat,

seperti salah satu tweet “wkwkwk pake dikultwit in pula pro kontranya

"@hilaz_28: LGBT disahkan di USA, yang kebakaran jenggot orang Indonesia

:)"”.

Gambar 4.4. Wordcloud dan Wordlink kategori topik kewarganegaraan.

Dilain sisi, hal yang tidak asing lagi sering kali muncul dalam perbincangan

masyarakat termasuk dalam pembicaraan LGBT yaitu isu politik seperti pada

Gambar 4.5 memperlihatkan bahwa isu politik yang muncul dalam isu LGBT

sebagian besar berupa penolakan masyarakat terhadap para pendukung LGBT

yang berusaha mendapatkan dukungan para petinggi partai politik pada setiap

pemilihan pemerintahan seperti pada salah satu tweet “saat pilpres si artis ngetwit

dukung jokowi, diblowup media jokower. nah kalo skrg ditulis 'Artis Pendukung

Jokowi Dukung LGBT' kok sewot?”.

31

Gambar 4.5. Wordcloud dan Wordlink kategori topik politik.

Hal lain yang muncul dalam pembicaraan LGBT sebagai upaya mendapatkan

dukungan kedudukan yaitu adanya isu teknologi yang dapat dilihat pada Gambar

4.6. Hasil pada Gambar 4.6 memperlihatkan bahwa berbagai media dijadikan

sarana penyebaran bentuk LGBT agar penyimpangan seksual ini dianggap hal

yang sudah tidak asing lagi dikalangan masyarakat sehingga dapat diakui

keberadaannya, seperti pada tweet “Perusakan Perilaku Publik Oleh Media

Dengan Penayangan Perilaku Banci/LGBT" by @SrigalaPagi has been Chir..

http://chirpstory.com/li/262370”.

Gambar 4.6. Wordcloud dan Wordlink kategori topik teknologi.

Karena LGBT ini merupakan salah satu bentuk penyimpangan seksual,

maka tidak heran terdapat beberapa penolakan yang mengakibatkan adanya

tindakan-tindakan asusila yang diterima para pelaku LGBT dari lingkungannya

baik itu dari teman atau bahkan anak mereka seperti diskriminasi, tidak adanya

kebebasan hak kemanusiaan, dan lain sebagainya seperti pada Gambar 4.7.

Tertera pada salah satu tweet yang memperlihatkan bahwa adanya tindakan

keasusilaan seperti “LGBT itu dianggap kriminal buat mereka, lha iya kalo trs

mereka melakukan kejahatan thd orang lain. Lha kalo hidup tenang2 aja?”.

32

Gambar 4.7. Wordcloud dan Wordlink kategori topik keasusilaan.

Selebihnya dalam perbincangan LGBT ini sering kali dikaitkan dengan berbagai

isu seperti pada tweet “Selepas buku kerja mesra-LGBT, muncul satu lagi buku

kerja cerita pengalaman "diraba punggung". [Pix @hydir_ruslin]

pic.twitter.com/OdOno4GLMi”, memperlihatkan bahwa dukungan LGBT ini

dilakukan dalam berbagai bentuk dan tidak disukai oleh masyarakat lantaran

memiliki bahaya dan dampak yang misteri tersendiri dibaliknya seperti yang

muncul pada Gambar 4.8.

Gambar 4.8. Wordcloud dan Wordlink kategori topik lainnya.

4. 3. Hasil Pemodelan Latent Dirichlet Allocation

Setelah melihat pembicaraan isu-isu yang ada pada perbincangan LGBT di

media sosial menggunakan Wordcloud dan Wordlink, diperoleh acuan kata-kata

yang dapat dijadikan ciri-ciri kelompok topik dalam pendefinisian topik, maka

pengelompokkan dilanjutkan menggunakan LDA. Untuk menghasilkan

pengelompokan yang baik, maka dilakukan percobaan memodelkan topik

menggunakan LDA dengan beberapa perlakuan penambahan preprocessing yang

33

berbeda. Perlakuan yang berbeda ini terdiri dari kombinasi tiga perlakuan yaitu

hapus duplikasi, pengambilan kata dengan POS tag, dan stopword filtering.

Perbedaan yang terjadi setelah melakukan beberapa percobaan dari tiga

kombinasi tersebut yaitu adanya perubahan ukuran Vector Space Model (VSM)

dimana VSM berbentuk vektor dengan nilai baris menunjukan jumlah dokumen

atau pada penelitian ini yaitu jumlah tweet dan kolom menunjukan jumlah kata

yang muncul. Vektor ini dihitung dengan pembobotan kata seperti pembahasan

sebelumnya. Secara garis besar diperoleh bahwa perlakuan dengan hapus

duplikasi mengakibatkan berkurangnya jumlah tweet namun jumlah kata-kata

yang muncul tidak berubah karena perlakuan ini hanya menghapus salah satu

tweet yang memiliki isi sama. Sehingga frekuensi munculnya tweet yang penting

menjadi berkurang, padahal tweet yang sama justru mempengaruhi probabilitas

tweet yang penting. Selain itu, kata-kata yang muncul justru memperlihatkan kata

yang tidak mengandung makna seperti kata “yang”, “atau”, “dengan”, dan lain

sebagainya sehingga sulit dalam pendefinisian kelompok oleh kata-kata tersebut.

Pada percobaan menggunakan POS tag mengakibatkan adanya perubahan

jumlah tweet dan jumlah kata yang muncul dikarenakan perlakuan ini hanya

mempertahankan tweet yang memiliki kata dengan tag yang dipilih yaitu kata

benda. Percobaan ini mengakibatkan terhapusnya kata-kata yang bukan

merupakan tag terpilih, sehingga kurangnya kata-kata didalam kelompok yang

terbentuk dan akan mempersulit proses pendefinisian kelompok. Akan tetapi

dengan POS tag, hasil kata-kata yang muncul lebih bersih jika dibandingkan

dengan hasil hapus duplikasi, namun belum bisa dikatakan model yang terbentuk

dengan POS tag merupakan model terbaik karena pendefinisian kelompok masih

belum jelas.

Dilain perlakuan yaitu dengan stopword filtering mengakibatkan adanya

perubahan pada jumlah tweet dan kata yang muncul. Kata yang muncul jauh lebih

bersih dari POS tag dan hapus duplikasi. Hal ini menunjukan bahwa hasil dengan

penambahan perlakuan stopword filtering jauh lebih baik dalam hal menampilkan

kata-kata yang muncul, dengan begitu kita memiliki 4 kemungkinan perlakuan

untuk memperoleh model terbaik diantaranya yaitu:

34

1. Dengan POS tag, hapus duplikasi dan stopword filtering.

2. Dengan POS tag dan stopword filtering.

3. Dengan hapus duplikasi dan stopword filtering.

4. Dengan stopword filtering saja.

Perbedaan lainnya setelah melakukan pengelompokan menggunakan LDA

yaitu terlihat pada hasil visualisasi LDA. Hasil visualisasi terbaik diperoleh pada

perlakuan yang hanya menambahkan proses stopword filtering. Hal ini

dikarenakan, pendefinisian masing-masing kelompok oleh kata-kata yang muncul

pada hasil visualisasi LDA dapat terlihat, sehingga memudahkan dalam penentuan

kategori kelompok seperti pada Gambar 4.9. Secara berturut-turut pada model

LDA dengan stopword filtering mendefinisikan kategori kelompok yang terbentuk

dari 1 sampai dengan 8 masing-masing terkait topik agama, lainnya,

pemerintahan, teknologi, keasusilaan, budaya, politik dan kewarganegaraan.

Gambar 4.9. Visualisasi LDA pada data sampel dengan penambahan proses

stopword filtering.

35

Kemudian model terbaik ini akan dijadikan sebagai data training untuk dijadikan

acuan langkah berikutnya pada testing data dan visualisasi serta interpretasi

keseluruhan data.

4. 4. Distribusi Topik terhadap Waktu

Model terbaik yang terpilih dari pengujian pada sampel (semester pertama

2015) menghasilkan distribusi topik yang tidak normal, maka dari itu untuk

melihat distribusi topik dilakukan penormalan data sehingga diperoleh distribusi

topik seperti pada Gambar 4.10. Dari Gambar 4.10 terlihat bahwa adanya

perbedaan yang jelas pada probabilitas kata dalam pembicaraan LGBT yang

mengalami fluktuatif cukup beragam dan tidak memiliki pola tertentu dari waktu

ke waktu. Hal ini mengartikan bahwa ragam penggunaan kata yang dikaitkan

dengan isu LGBT cenderung tidak berubah meskipun pada periode Januari-Juni

2015 perbincangan LGBT pada media sosial twitter banyak dikaitkan dengan

kata-kata terkait budaya. Untuk kategori “lainnya” dihilangkan pada visualisasi

berikutnya karena terlalu beragam dan kurang berkontribusi.

Gambar 4.10. Distribusi topik terhadap waktu.

0

0.05

0.1

0.15

0.2

0.25

Pro

bab

ilita

s

Kategori Topik

Pembicaraan Topik LGBT dari Waktu ke Waktu

smt1 2015

smt2 2015

smt1 2016

smt2 2016

smt1 2017

smt2 2017

smt1 2018

36

4. 5. Analisis Kategori Topik terhadap Waktu

Perubahan perbincangan LGBT dari waktu ke waktu dapat dilihat dari

probabilitas distribusi kata menggunakan radar plot seperti pada Gambar 4.11.

Dari Gambar 4.11, dapat disimpulkan beberapa informasi penting seperti pada

kategori topik terkait politik, probabilitas keragaman katanya memiliki jumlah

yang cukup tinggi pada periode semester satu tahun 2015 dan semester dua tahun

2017. Jika diamati lebih lanjut pada periode semester satu tahun 2015 sedang

terjadi peristiwa paska adanya pemilihan presiden dan pelegalan kasus LGBT di

Amerika Serikat yang mempengaruhi pergerakan LGBT di seluruh dunia, dan hal

dianggap kasus ini menjadi tugas baru bagi presiden yang terpilih saat itu.

Sementara pada semester dua tahun 2017 peristiwa yang terjadi adanya salah satu

calon kepala daerah Jawa Barat yang dinilai mendukung LGBT dan sering kali

memberikan tanggapan terhadap LGBT sehingga hal ini dianggap masyarakat

sebagai pengalihan isu menjelang pemilihan kepala daerah (pilkada) Jawa Barat

pada tanggal 27 Juni 2018 [50]. Keterkaitan dengan adanya peristiwa Pilkada

Jawa Barat tersebut mengindikasikan adanya kemungkinan pengaitan isu LGBT

dengan isu politik di Indonesia.

00.20.40.60.8

1smt1 2015

smt2 2015

smt1 2016

smt2 2016smt1 2017

smt2 2017

smt1 2018

Teknologi

00.20.40.60.8

1smt1 2015

smt2 2015

smt1 2016

smt2 2016smt1 2017

smt2 2017

smt1 2018

Agama

37

Gambar 4.11. Analisis kategori topik terhadap waktu.

00.20.40.60.8

1smt1 2015

smt2 2015

smt1 2016

smt2 2016smt1 2017

smt2 2017

smt1 2018

Pemerintahan

00.20.40.60.8

1smt1 2015

smt2 2015

smt1 2016

smt2 2016smt1 2017

smt2 2017

smt1 2018

Keasusilaan

00.20.40.60.8

1smt1 2015

smt2 2015

smt1 2016

smt2 2016smt1 2017

smt2 2017

smt1 2018

Kewarganegaraan

00.20.40.60.8

1smt1 2015

smt2 2015

smt1 2016

smt2 2016smt1 2017

smt2 2017

smt1 2018

Budaya

00.20.40.60.8

1smt1 2015

smt2 2015

smt1 2016

smt2 2016smt1 2017

smt2 2017

smt1 2018

Politik

38

4. 6. Ringkasan Analisa Topik Secara Keseluruhan

Untuk melihat pola atau gambaran probabilitas kata pada semua kategori

terpilih disetiap periode, kita dapat melihat menggunakan petal plot seperti pada

Gambar 4.12. Hasil petal plot pada Gambar 4.12 menunjukan bahwa dari ketujuh

kategori terpilih jika diamati setiap tahunnya memiliki pola probabilitas

keberagaman kata yang berbeda, terlihat bahwa keragaman kata terbanyak pada

semester satu tahun 2015 yaitu memuat tentang politik. Sedangkan pada periode

semester dua tahun 2015, semester satu tahun 2016 dan semester satu tahun 2018

keragaman kata terbanyak mengenai isu pemerintahan. Pada semester dua tahun

2016 dan semester satu tahun 2017 kata terbanyak mengenai isu

kewarganegaraan, semester dua tahun 2017 mengenai isu agama. Oleh sebab itu,

dapat disimpulkan bahwa topik LGBT ini tidak memiliki pola tertentu dari waktu

ke waktu, dan kurang menggambarkan adanya indikasi kuat kecenderungan

kategori topik yang dikaitkan dengan isu LGBT.

39

Gambar 4.12. Probabilitas kata masing-masing periode untuk setiap kategori pembicaraan terkait LGBT.

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

PolitikBudaya

TeknologiKeasusilaan

Pemerintahan

Agama

kewarganegaraan

Pemerintahan

kewarganegaraan

Teknologi

Politik

Budaya

Agama

Keasusilaan

Pemerintahan

Teknologi

Agama

Politik

kewarganegaraan

Budaya

Keasusilaan

kewarganegaraanTeknologi

PemerintahanPolitikAgamaBudayaKeasusilaan

kewarganegaraan

Pemerintahan

Teknologi

Agama

Keasusilaan

Budaya

Politik

Agama

Keasusilaan

Politik

kewarganegaraan

Budaya

Teknologi

Pemerintahan

Pemerintahan

kewarganegaraan

Keasusilaan

Politik

BudayaAgama

Teknologi

Probabilitas Kata Masing-Masing Periode Untuk Setiap Kategori Pembicaraan Terkait LGBT

smt1 2015

smt2 2015

smt1 2016

smt2 2016

smt1 2017

smt2 2017

smt1 2018

40

BAB V

PENUTUP

Pada bab terakhir pada penulisan skripsi ini, berisikan tentang kesimpulan

yang diambil dari penelitian serta saran bagi para peneliti selanjutnya untuk dapat

mengembangkan ilmu pengetahuan dibidang yang terkait pada masa yang akan

datang.

5.1. Kesimpulan

Dari hasil penelitian dapat disimpulkan beberapa hal yang mungkin bisa

diperhatikan dan ditelaah lebih lanjut. Berdasarkan data dan model yang

digunakan terlihat bahwa secara umum tidak ada kecenderungan topik maupun

pola tertentu pada topik dalam perbincangan LGBT di media sosial twitter di

Indonesia. Pada probabilitas keragaman kata salah satu kategori topik seperti

politik, memperlihatkan bahwa pada semester dua tahun 2017 probabilitas

keragaman kata memiliki jumlah yang cukup tinggi, artinya kategori topik politik

sering dikaitkan pada perbincangan mengenai LGBT pada periode tersebut. Hal

ini bertepatan dengan akan dilaksanakannya Pilkada Jawa Barat pada tanggal 27

Juni 2018, maka mengindikasikan adanya kemungkinan pengaitan isu LGBT

dengan isu politik di Indonesia.

5.2. Saran

Pada penelitian kali ini, terdapat beberapa hal yang mungkin dapat

dikembangkan dimasa yang akan datang. Diantaranya yaitu dengan

memperhatikan jumlah retweet pada masing-masing tweet untuk melihat

banyaknya pengguna twitter (user) sehingga mempengaruhi probabilitas tweet.

Atau dapat menggabungkan penelitian dengan memperhatikan probabilitas

distribusi kata dan jumlah retweet.Selain itu dapat dilakukan penelitian

menggunakan metode lain seperti Non-Negative Matrix Factorization (NMF) atau

Semi Supervised LDA.

41

REFERENSI

[1] F. Pratama, “Meluasnya LGBT (lesbian, gay, biseksual, dan transgender)

Akibat Lemahnnya Social Control Masyarakat,” 2016.

[2] D. J. P. dan P. Penyakit, “Laporan Perkembangan HIV-AIDS & Infeksi

Menular Seksual (IMS) Triwulan IV Tahun 2017,” Jakarta, 2017.

[3] P. L. Pan, J. Meng, and S. Zhou, “Morality or equality? Ideological framing

in news coverage of gay marriage legitimization,” Soc. Sci. J., vol. 47, no.

3, pp. 630–645, 2010.

[4] H. Kwak, C. Lee, H. Park, and S. Moon, “What is Twitter , a Social

Network or a News Media?,” Int. World Wide Web Conf. Comm., pp. 1–10,

2010.

[5] M. J. Paul and M. Dredze, “You are what you Tweet: Analyzing Twitter for

public health,” Proc. Fifth Int. AAAI Conf. Weblogs Soc. Media, pp. 265–

272, 2011.

[6] W. X. Zhao et al., “Comparing Twitter and Traditional Media Using Topic

Models,” Ecir, vol. 6611, pp. 338–349, 2011.

[7] L. Hong and B. D. Davison, “Empirical study of topic modeling in

Twitter,” Proc. First Work. Soc. Media Anal. - SOMA ‟10, pp. 80–88,

2010.

[8] L. Dean et al., “Lesbian , Gay , Bisexual , and Transgender Health :

Findings and Concerns,” vol. 4, no. 3, 2000.

[9] M. J. Eliason, S. L. Dibble, and P. A. Robertson, “Lesbian, Gay, Bisexual,

and Transgender (LGBT) Physicians‟ Experiences in the Workplace,” J.

Homosex., vol. 58, no. 10, pp. 1355–1371, 2011.

[10] I. H. Meyer, “Prejudice, social stress, and mental health in lesbian, gay, and

bisexual populations: Conceptual issues and research evidence,” Psychol.

Bull., vol. 129, no. 5, pp. 674–697, 2003.

[11] D. E. Bontempo and A. R. D‟Augelli, “Effects of at-school victimization

and sexual orientation on lesbian, gay, or bisexual youths‟ health risk

behavior,” J. Adolesc. Heal., vol. 30, no. 5, pp. 364–374, 2002.

[12] J. Almeida, R. Johnson, H. Corliss, B. Molnar, and D. Azrael, “Emotional

distress among LGBT youth: The influence of perceived discrimination

42

based on sexual orientation,” J. Youth Adolesc., vol. 38, no. 7, pp. 1001–

1014, 2009.

[13] K. Kollman and M. Waites, “The global politics of lesbian, gay, bisexual

and transgender human rights: an introduction,” Contemp. Polit., vol. 15,

no. 1, pp. 1–17, 2009.

[14] T. Boellstorff, “The emergence of political homophobia in Indonesia:

Masculinity and national belonging,” Ethnos, vol. 69, no. 4, pp. 465–486,

2004.

[15] T. Boellstorff, “Between Religion and Desire: Being Muslim and Gay in

Indonesia,” Am. Anthropol., vol. 107, no. 4, pp. 575–585, 2005.

[16] T. Boellstorff, “Dubbing culture: Indonesian gay and lesbi subjectivities

and ethnography in an already globalized world,” Am. Ethnol., vol. 30, no.

2, pp. 225–242, 2003.

[17] T. Boellstorff, “Playing Back the Nation: Waria, Indonesian Transvestites,”

Cult. Anthropol., vol. 19, no. 2, pp. 159–195, 2004.

[18] E. Setiawan, “Kamus Besar Bahasa Indonesia (KBBI) Online,” KBBI

Indonesia, 2012. [Online]. Available: https://kbbi.web.id/organisasi.

[19] Oxford Dictionaries, “English Oxford Living Dictionaries,” Oxford

University Press, 2013. [Online]. Available:

http://blog.oxforddictionaries.com/press-releases/oxford-dictionaries-word-

of-the-year-2013/.

[20] N. Marres and E. Weltevrede, “Scraping the Social? Issues in real-time

social research,” J. Cult. Econ., vol. 6, no. 3, pp. 313–335, 2013.

[21] E. Vargiu and M. Urru, “Exploiting web scraping in a collaborative

filtering- based approach to web advertising,” Artif. Intell. Res., vol. 2, no.

1, pp. 44–54, 2012.

[22] H. Saif, M. Fernandez, Y. He, and H. Alani, “On Stopwords, Filtering and

Data Sparsity for Sentiment Analysis of Twitter,” Proc. Ninth Int. Conf.

Lang. Resour. Eval., no. i, pp. 810–817, 2014.

[23] F. Pisceldo, M. Adriani, and R. Manurung, “Probabilistic Part of Speech

Tagging for Bahasa Indonesia,” Proc. 3rd Int. MALINDO Work. Coloca.

event ACL-IJCNLP, 2009.

[24] HCL, “Natural Language Processing,” Hexo. [Online]. Available:

http://gitqwerty777.github.io/natural-language-processing/. [Accessed: 30-

Jun-2018].

[25] D. M. Blei, “Probabilistic topic models(Lecture),” Commun. ACM, vol. 55,

no. 4, p. 77, 2012.

43

[26] S. Deerwester, S. T. Dumais, G. W. Furnas, T. K. Landauer, and R.

Harshman, “Indexing by latent semantic analysis,” J. Am. Soc. Inf. Sci., vol.

41, no. 6, pp. 391–407, 1990.

[27] N. E. Evangelopoulos, “Latent semantic analysis,” Wiley Interdisciplinary

Reviews: Cognitive Science, vol. 4, no. 6. pp. 683–692, 2013.

[28] N. Evangelopoulos, X. Zhang, and V. R. Prybutok, “Latent semantic

analysis: Five methodological recommendations,” Eur. J. Inf. Syst., vol. 21,

no. 1, pp. 70–86, 2012.

[29] T. Hofmann and Dan Oneata, “Probabilistic latent semantic analysis,”

UAI‟99 Proc. Fifteenth Conf. Uncertain. Artif. Intell., pp. 1–7, 1999.

[30] T. Hofmann, “Probabilistic Latent Semantic Indexing,” ACM SIGIR

Forum, vol. 51, no. 2, pp. 211–218, 2017.

[31] T. Hofmann, “Unsupervised learning by probabilistic Latent Semantic

Analysis,” Mach. Learn., vol. 42, no. 1–2, pp. 177–196, 2001.

[32] D. Lee and S. Seung, “Algorithms for Non-negative Matrix Factorization,”

in Advances in Neural Information Processing Systems 13, 2001, pp. 556–

562.

[33] L. Li and Y. J. Zhang, “Non-negative Matrix-Set Factorization,” in

Proceedings of the 4th International Conference on Image and Graphics,

ICIG 2007, 2007, pp. 564–569.

[34] D. M. Blei, B. B. Edu, A. Y. Ng, A. S. Edu, M. I. Jordan, and J. B. Edu,

“Latent Dirichlet Allocation,” J. Mach. Learn. Res., vol. 3, pp. 993–1022,

2003.

[35] X. Wang and A. McCallum, “Topics over time: A non-Markov continuous-

time model of topical trends,” Proc. 12th ACM SIGKDD Int. Conf. Knowl.

Discov. Data Min., pp. 424–433, 2006.

[36] T. Inc., “Tiwtter Search Advanced,” 2006. [Online]. Available:

https://twitter.com/search-advanced. [Accessed: 23-Jun-2018].

[37] D. Cournapeau, “About us - scikit learn,” scikit-learn developers (BSD

License). [Online]. Available: http://scikit-

learn.org/stable/about.html#citing-scikit-learn. [Accessed: 07-Nov-2018].

[38] M. H. and I. Montani, “SpaCy - Industrial Strength Natural Language

Processing.” [Online]. Available: https://spacy.io/. [Accessed: 07-Nov-

2018].

[39] E. L. and E. K. Bird, Steven, “Natural Language Processing with Python,”

O‟Reilly Media Inc, 2009. [Online]. Available: http://www.nltk.org/.

[Accessed: 07-Nov-2018].

44

[40] J. Plisson, N. Lavrac, and D. D. Mladenić, “A rule based approach to word

lemmatization,” Proc. 7th Int. Multiconference Inf. Soc., pp. 83–86, 2004.

[41] G. Grefenstette and P. Tapanainen, “What is a word, what is a sentence?

Problems of tokenization,” COMPLEX 1994 3rd Conf. Comput. Lexicogr.

text Res. Budapest, Hungary, 7-10 July, pp. 79–87, 1994.

[42] S. Karyadi, H. Yasin, M. M.-J. Gaussian, and U. 2016, “Analisis

Kecenderungan Informasi Dengan Menggunakan Metode Text Mining

(Studi Kasus: Akun Twitter@ Detikcom),” Ejournal3.Undip.Ac.Id, vol. 5,

no. 4, pp. 763–770, 2016.

[43] a. Singhal, “Normalization,” SpringerReference, pp. 21–29, 2011.

[44] W. Zhang, T. Yoshida, and X. Tang, “TFIDF, LSI and multi-word in

information retrieval and text categorization,” Conf. Proc. - IEEE Int. Conf.

Syst. Man Cybern., pp. 108–113, 2008.

[45] G. Salton and C. Buckley, “Term-weighting approaches in automatic text

retrieval,” Inf. Process. Manag., vol. 24, no. 5, pp. 513–523, 1988.

[46] J. Supranto, “Statistik teori dan aplikasi jilid 1 / oleh J. Supranto,” Stat.

Teor. dan Apl. jilid 1 / oleh J. Supranto, vol. 2000, no. 2000, pp. 1–99,

2000.

[47] I. Porteous, D. Newman, A. Ihler, A. Asuncion, P. Smyth, and M. Welling,

“Fast collapsed gibbs sampling for latent dirichlet allocation,” in

Proceeding of the 14th ACM SIGKDD international conference on

Knowledge discovery and data mining - KDD 08, 2008, p. 569.

[48] “Latent Dirichlet Allocation - under the hood – andrew brooks.” p. 2015.

[49] S. S. and G. Rockwell, “Voyant Tools,” 2003. [Online]. Available:

http://voyant-tools.org.

[50] T. Sutomonaio, “Pilgub Jabar 2018 Ridwan Kamil Yakin Menang di Pilgub

Jabar, Begini Katanya,” Tribunews.com, 2018. [Online]. Available:

http://jabar.tribunnews.com/2018/06/16/ridwan-kamil-yakin-menang-di-

pilgub-jabar-begini-katanya.

45

LAMPIRAN

A1. LAMPIRAN I Script Python Scrapping dan Preprocessing

a) Memanggil modul-modul yang akan digunakan

from bs4 import BeautifulSoup as bs

import re,csv, os, itertools, pandas as pd,docx2txt

from tqdm import tqdm

from pattern.web import PDF

from nltk.tokenize import RegexpTokenizer

from nltk.stem import WordNetLemmatizer

from nltk import sent_tokenize, word_tokenize

from spacy.lang.id import Indonesian

from html import unescape

from unidecode import unidecode

from bz2 import BZ2File as bz2

from textblob import TextBlob

b) Memanggil data yang ingin digunakan

fData = 'lgbt since 2015-01-01 until 2015-01-31 - Twitter Search.htm'

fName = 'datalgbt.csv'

fSlang = 'D:/WinPython/notebooks/skripsi/slang.dic'

bahasa = 'id' # atau 'en'

dataPath = 'D:/WinPython/notebooks/skripsi/'

c) Membuat definisi-definisi yang dibutuhkan

def LoadStopWords(lang):

L = lang.lower().strip()

if L == 'en' or L == 'english' or L == 'inggris':

lemmatizer = WordNetLemmatizer()

stops = set([t.strip() for t in LoadDocuments(file = 'D:/WinPython/notebooks/skripsi/stopwords_eng.txt')[0]])

elif L == 'id' or L == 'indonesia' or L=='indonesian':

lemmatizer = Indonesian()

stops = set([t.strip() for t in LoadDocuments(file = 'D:/WinPython/notebooks/skripsi/stopwords_id.txt')[0]])

else:

print('Warning, language not recognized. Empty StopWords Given')

stops = set(); lemmatizer = None

return stops, lemmatizer

def crawlFiles(dPath,types=None): # dPath ='C:/Temp/', types = 'pdf'

if types:

return [dPath+f for f in os.listdir(dPath) if f.endswith('.'+types)]

else:

return [dPath+f for f in os.listdir(dPath)]

def fixTags(T):

getHashtags = re.compile(r"#(\w+)")

46

pisahtags = re.compile(r'[A-Z][^A-Z]*')

t = T

tagS = re.findall(getHashtags, T)

for tag in tagS:

proper_words = ' '.join(re.findall(pisahtags, tag))

t = t.replace('#'+tag,proper_words)

return t

def readBz2(file):

with bz2(file, "r") as bzData:

txt = []

for line in bzData:

try:

txt.append(line.strip().decode('utf-8','replace'))

except:

pass

return ' '.join(txt)

def LoadDocuments(dPath=None,types=None, file = None): # types = ['pdf','doc','docx','txt','bz2']

Files, Docs = [], []

if types:

for tipe in types:

Files += crawlFiles(dPath,tipe)

if file:

Files = [file]

if not types and not file: # get all files regardless of their extensions

Files += crawlFiles(dPath)

for f in Files:

if f[-3:].lower()=='pdf':

try:

Docs.append(PDF(f).string)

except:

print('error reading{0}'.format(f))

elif f[-3:].lower()=='txt' or f[-3:].lower()=='dic':

try:

df=open(f,"r",encoding="utf-8", errors='replace')

Docs.append(df.readlines());df.close()

except:

print('error reading{0}'.format(f))

elif f[-3:].lower()=='bz2':

try:

Docs.append(readBz2(f))

except:

print('error reading{0}'.format(f))

elif f[-4:].lower()=='docx':

try:

Docs.append(docx2txt.process(f))

except:

print('error reading{0}'.format(f))

elif f[-3:].lower()=='csv':

Docs.append(pd.read_csv(f))

else:

print('Unsupported format {0}'.format(f))

47

if file:

Docs = Docs[0]

return Docs, Files

def cleanText(T, fix={}, lang = 'id', lemma=None, stops = set(), symbols_remove = False, min_charLen = 3):

# lang & stopS only 2 options : 'en' atau 'id'

# symbols ASCII atau alnum

pattern = re.compile(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+')

t = re.sub(pattern,' ',T) #remove urls if any

t = unescape(t) # html entities fix

t = t.lower().strip() # lowercase

t = unidecode(t)

t = ''.join(''.join(s)[:2] for _, s in itertools.groupby(t)) # remove repetition

t = sent_tokenize(t) # sentence segmentation. String to list

for i, K in enumerate(t):

if symbols_remove:

K = re.sub(r'[^.,a-zA-Z0-9 \n\.]',' ',K)

cleanList = []

if lang =='en':

listKata = word_tokenize(K) # word tokenize

for token in listKata:

if token in fix.keys():

token = fix[token]

if lemma:

token = lemma.lemmatize(token)

if stops:

if len(token)>=min_charLen and token not in stops:

cleanList.append(token)

else:

if len(token)>=min_charLen:

cleanList.append(token)

t[i] = ' '.join(cleanList)

else:

if lemma:

K = lemma(K)

listKata = [token.text for token in K]

else:

listKata = TextBlob(K).words

for token in listKata:

if token in fix.keys():

token = fix[token]

if lemma:

token = lemma(token)[0].lemma_

if stops:

if len(token)>=min_charLen and token not in stops:

cleanList.append(token)

else:

if len(token)>=min_charLen:

cleanList.append(token)

t[i] = ' '.join(cleanList)

return ' '.join(t) # Return kalimat lagi

48

if __name__ == "__main__":

print('Loading StopWords & Slang ... ', flush = True)

stops, lemmatizer = LoadStopWords(bahasa)

# Loading Slangs

Slangs =LoadDocuments(file = 'D:/WinPython/notebooks/skripsi/slang.dic')[0]

SlangDict = {}

for slang in Slangs:

try:

key, value = slang.split(':')

SlangDict[key.strip()] = value.strip()

except:

pass

SlangDict

tokenizer=RegexpTokenizer(r'\w+')

urlPattern = re.compile(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+')

d) Melakukan pengambilan data dengan scraping

print('Loading Data: ', flush = True)

allData = crawlFiles(dataPath, types='htm')

Tweets, Clean_Tweets, Username, waktu, replies, retweets, likes, Language = [], [], [], [], [], [], [], []

urlStatus, D = [], []

# fData = allData[0]

for fData in tqdm(allData):

soup = bs(open(fData,encoding='utf-8', errors = 'ignore', mode='r'),'html.parser')

data = soup.find_all('li', class_= 'stream-item')

# t = data[0]

for i,t in tqdm (enumerate(data)):

# Loading tweet

T = t.find_all('p',class_='TweetTextSize')[0]

T = bs(str(T),'html.parser').text

Tweets.append(T)

# Cleaned Tweet

T2 = cleanText(T,fix=SlangDict,lemma=None, lang = 'id', stops = None , symbols_remove = True, min_charLen = 3)

Clean_Tweets.append(T2)

# Loading UserName

U = t.find_all('span',class_='username')

U = bs(str(U[0]),'html.parser').text

Username.append(U)

# Loading Time

T = t.find_all('a',class_='tweet-timestamp')[0]

T = bs(str(T),'html.parser').text

waktu.append(T)

# Loading reply, retweet & Likes

RP = t.find_all('span',class_='ProfileTweet-actionCountForAria')[0]

RT = t.find_all('span',class_='ProfileTweet-actionCountForAria')[1]

L = t.find_all('span',class_='ProfileTweet-actionCountForAria')[2]

RP = int((bs(str(RP), "lxml").text.split()[0]).replace(',',''))

RT = int((bs(str(RT), "lxml").text.split()[0]).replace(',',''))

L = int((bs(str(L), "lxml").text.split()[0]).replace(',',''))

replies.append(RP)

retweets.append(RT)

likes.append(L)

49

# Loading Bahasa

try:

L = t.find_all('span',class_='tweet-language')

L = bs(str(L[0]), "lxml").text

except:

L =''

Language.append(L)

if RT>0:

urlS = str(t.find_all('small',class_='time')[0])

urlStatus.append(re.findall(urlPattern,urlS)[0])

else:

urlStatus.append('')

e) Menyimpan data hasil scraping kedalam bentuk CSV

print('Saving Data to "%s" ' %fName, flush = True)

N = len (Tweets)

dfile = open(fName, 'w', encoding='utf-8', newline='')

dfile.write('Time,Username,Replies, Retweets,Likes,Language,Tweet,Cleaned_Tweet\n')

# Tweets, Clean_Tweets, Username, waktu, replies, retweets, likes, Language

with dfile :

writer = csv.writer(dfile)

for i in range(N):

writer.writerow([waktu[i],Username[i],replies[i],retweets[i],likes[i],Language[i],Tweets[i],Clean_Tweets[i]])

dfile.close()

print('All Finished', flush = True)

50

A2. LAMPIRAN II Script Python Postagging, TF dan LDA a) Memanggil modul-modul yang akan digunakan

from sklearn.decomposition import LatentDirichletAllocation as LDA

import pyLDAvis, pyLDAvis.sklearn; pyLDAvis.enable_notebook()

from nltk.tokenize import TweetTokenizer; Tokenizer = TweetTokenizer(reduce_len=True)

import pandas as pd, numpy as np

from nltk.stem import PorterStemmer;ps = PorterStemmer()

from sklearn.feature_extraction.text import TfidfVectorizer,CountVectorizer

from tqdm import tqdm

import matplotlib.pyplot as plt

from nltk.tokenize import word_tokenize

from nltk.tag import CRFTagger

import scipy.spatial.distance

from sklearn.metrics import silhouette_score

import scipy.spatial.distance

from collections import Counter as count

from sklearn import cluster

b) Memanggil data yang ingin digunakan

path = 'D:/WinPython/notebooks/skripsi/'

file = 'smt1_2015.csv'

dt = pd.read_csv(path+file)

#Loading Data yang akan digunakan saja

data_train = dt['Cleaned_Tweet']

K = data_train.values.tolist()

c) Melakukan training data dengan penambahan POS tagging

#Tokenisasi Data

data = []

tokenized_sents = []

for i in K:

tokenized_sents = word_tokenize(i)

data.append(tokenized_sents)

data

#memberi Tagging

ct = CRFTagger()

ct.set_model_file('D:/WinPython/scripts/all_indo_man_tag_corpus_model.crf.tagger')

51

pt = ct.tag_sents(data)

pt

#Pengambilan Kata Inti dengan POS Tag

ptN = []

noun = set(['NN','NNP', 'NNS','NNPS'])

for s in pt:

tmp = []

for w in s:

if w[1] in noun:

tmp.append(w[0])

if len(tmp)>0:

ptN.append(' '.join(tmp))

ptN

d) Melakukan training data dengan hapus duplikasi (catatan : sebelum hapus duplikasi,

hitung pembobotan kata terlebih dahulu jika ingin melakukan hapus duplikasi)

# Menghapus Duplicate

fCosine = getattr(scipy.spatial.distance,'cosine')

threshold = 0.99

delete = []

N,M = X_train.shape

for i in range(N-1):

for j in range(i+1,N):

if j not in delete:

u = X_train[i].todense()

v = X_train[j].todense()

if fCosine(u,v)<threshold:

delete.append(j)

delete = np.array(delete)

idx = np.array(range(len(data_bersih)))

idx = idx[delete]

data_bersih = [data_bersih[i] for i in idx]

X_train = X_train[delete] # Remove duplicate

X_train_terms = tf_vectorizer.get_feature_names()

print(X_train.shape)

52

e) Melakukan training data dengan stopword filtering

stops = set([t.strip() for t in LoadDocuments(file = 'D:/WinPython/notebooks/skripsi/stopwords_id.txt')[0]])

data_baru = []

for w in data_bersih :

T = cleanText(w, lemma=True, lang = 'id', stops = stops, symbols_remove = True, min_charLen = 3, fix={'\n\n':' '})

data_baru.append(T)

data_baru

f) Melakukan pembobotan kata

tf_vectorizer = TfidfVectorizer(max_df=0.75, min_df=5)

X_train = tf_vectorizer.fit_transform(data_baru) #tf dapat diganti tfidf jika ingin menggunakan tfidf

X_train_term = tf_vectorizer.get_feature_names()

print(X_train.shape)

X_train_term

g) Pemodelan dengan LDA dan visualisasinya

#Train Model

n_topics = 8

lda_train = LDA(n_components= n_topics, learning_method = 'batch', random_state = 0).fit(X_train)

lda_train

#Melihat Topics-nya

vsm_lda_train = lda_train.transform(X_train)

print('Ukuran VSM LDA TF : ',vsm_lda_train.shape)

doc_lda_hitung = [a.argmax()+1 for a in tqdm(vsm_lda_train)] # topic of docs

#pembuatan plot distribusi topik

print('Distribusi Topik dengan LDA TF'.format(len(set(doc_lda_hitung))))

plt.hist(np.array(doc_lda_hitung),bins =15, alpha=0.5)

plt.xlabel("Kategori Topik",size=20)

plt.xticks(size=10,rotation=50)

plt.ylabel("Jumlah Distribusi Topik",size=15)

plt.show()

def print_Topics(model, feature_names, Top_Topics, n_top_words):

for topic_idx, topic in enumerate(model.components_[:Top_Topics]):

print("Topic #%d:" %(topic_idx+1))

print(" ".join([feature_names[i]

for i in topic.argsort()[:-n_top_words - 1:-1]]))

53

# maknai masing-masing topik

Top_Words=8

print('Printing top {0} Topics LDA TF, with top {1} Words:'.format(n_topics, Top_Words))

print_Topics(lda_train, X_train_term, n_topics, Top_Words)

#membuat visualisasi LDA data training

pyLDAvis.sklearn.prepare(mds='tsne',lda_model=lda_train, dtm=X_train, vectorizer=tf_vectorizer)

h) Memulai testing data dengan memanggil file testing

path = 'D:/WinPython/notebooks/skripsi/'

data_test = 'smt2_2017.csv'

dts = pd.read_csv(path+data_test)

dtest = dts['Cleaned_Tweet'].values.tolist()

i) Memulai testing data dengan model yang sudah dibentuk dari hasil training

X_test = tf_vectorizer.transform(dtest)

doc_topic_dist_unnormalized = np.matrix(lda_train.transform(X_test))

doc_topic_dist_unnormalized

doc_topic_dist = doc_topic_dist_unnormalized/doc_topic_dist_unnormalized.sum(axis=1)

doc_topic_dist

#Rata-Rata Probabilitas Masing-Masing Topik

doc_topic_dist.mean(0)

doc_topic_dist.argmax(axis=1)

#Visualisasi LDA data testing

pyLDAvis.sklearn.prepare(mds='tsne',lda_model=lda_train, dtm=X_test, vectorizer=tf_vectorizer)