bab iii analisa dan perancanganeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 bab iii...

21
20 BAB III ANALISA DAN PERANCANGAN Pada bab ini berisi tentang analisa dan perancangan sistem yang meliputi pengumpulan data tweet, pengelompokan data, tagging data, serta pembuatan model berdasarkan dari data training yang sudah melalui proses tagging dan pengelompokan data yang akan diklasifikasikan menggunakan random forest. 3.1. Analisa Tweet Tweet adalah postingan pesan yang berisikan informasi tertentu. Berdasarkan bahasa yang digunakan, tweet berbahasa Indonesia dibagi ke dalam dua bagian yaitu tweet bahasa Indonesia formal dan tweet bahasa Indonesia informal. Tweet bahasa Indonesia formal pada umumnya memiliki bahasa yang baku serta penulisannya sesuai dengan kaidah menurut EYD dan kamus besar bahasa Indonesia. Tweet dengan bahasa Indonesia formal ini terdapat pada akun resmi seperti instansi pemerintahan, media berita, lembaga masyarakat, kementerian, serta tokoh masyarakat. Sedangkan penggunaan tweet dalam bahasa Indonesia informal banyak ditemui dalam akun artis Indonesia dan masyarakat umum. 3.1.1. Tweet Bahasa Indonesia Formal Beberapa contoh tweet menggunakan bahasa Indonesia formal: @Berita_Jakarta : Bertemu Jokowi, Pangdam dan Kapolda Metro: Jakarta Aman! https://t.co/dk3gu5SUff @Beritasatu : Lahan Rizieq di Megamendung Tak Terdaftar di Kantor Pertanahan Bogor https://t.co/3q9N981gUE @Beritasatu : Penyuap Patrialis Pernah Diperiksa soal Kasus Suap Impor Daging Sapi https://t.co/hjyPlJ6NuJ @Kompascom : Tol Bawen - Salatiga Ditargetkan Rampung Akhir Februari. https://t.co/KmffSE0Wu2 @Kompascom : Jasad Wanita Asal Jerman Ditemukan dalam Kondisi Terikat di Sungai di Bali. https://t.co/Ebt5swpcrr

Upload: others

Post on 27-Sep-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

20

BAB III

ANALISA DAN PERANCANGAN

Pada bab ini berisi tentang analisa dan perancangan sistem yang meliputi

pengumpulan data tweet, pengelompokan data, tagging data, serta pembuatan

model berdasarkan dari data training yang sudah melalui proses tagging dan

pengelompokan data yang akan diklasifikasikan menggunakan random forest.

3.1. Analisa Tweet

Tweet adalah postingan pesan yang berisikan informasi tertentu. Berdasarkan

bahasa yang digunakan, tweet berbahasa Indonesia dibagi ke dalam dua bagian

yaitu tweet bahasa Indonesia formal dan tweet bahasa Indonesia informal. Tweet

bahasa Indonesia formal pada umumnya memiliki bahasa yang baku serta

penulisannya sesuai dengan kaidah menurut EYD dan kamus besar bahasa

Indonesia. Tweet dengan bahasa Indonesia formal ini terdapat pada akun resmi

seperti instansi pemerintahan, media berita, lembaga masyarakat, kementerian,

serta tokoh masyarakat. Sedangkan penggunaan tweet dalam bahasa Indonesia

informal banyak ditemui dalam akun artis Indonesia dan masyarakat umum.

3.1.1. Tweet Bahasa Indonesia Formal

Beberapa contoh tweet menggunakan bahasa Indonesia formal:

@Berita_Jakarta : Bertemu Jokowi, Pangdam dan Kapolda Metro: Jakarta

Aman! https://t.co/dk3gu5SUff

@Beritasatu : Lahan Rizieq di Megamendung Tak Terdaftar di Kantor

Pertanahan Bogor https://t.co/3q9N981gUE

@Beritasatu : Penyuap Patrialis Pernah Diperiksa soal Kasus Suap Impor

Daging Sapi https://t.co/hjyPlJ6NuJ

@Kompascom : Tol Bawen - Salatiga Ditargetkan Rampung Akhir Februari.

https://t.co/KmffSE0Wu2

@Kompascom : Jasad Wanita Asal Jerman Ditemukan dalam Kondisi Terikat di

Sungai di Bali. https://t.co/Ebt5swpcrr

Page 2: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

21

3.1.2. Tweet Bahasa Indonesia Informal

Beberapa contoh tweet menggunakan bahasa Indonesia informal:

@Jo2hyunrl : @jstdean jahatku tanda syg kok kl kangen mah tggl bilang tggal

samperin aa wkwk

@oshenxo : @seulgiiec lah kok dibilang sesat? Kan gua malah ngasih jalan yg

bener buat lu

@Newgroho_Aji : Senyum kamu kadar alkoholnya berapa persen sih? kok

memabukkan?

@rdninda : Aku gabakal baper kok kalo fotoku kamu love, ya paling cm deg-

degan.

@YunitaFatma3 Ada temen lo yang ngiri ? Lo ngambil nganan aja :)

3.2. Analisa Kebutuhan Hardware

Hardware (perangkat keras) merupakan perangkat yang digunakan sebagai alat

dalam memproses atau menjalankan perangkat lunak (software). Minimal

kebutuhan perangkat keras yang akan penulis gunakan dalam pembuatan file model

pada tugas akhir ini adalah sebagai berikut :

Processor : AMD A8-4500M with Radeon(tm) 1.90GHz

Memori : 4,00GB RAM

3.3. Analisa Kebutuhan Software

Software (Perangkat lunak) adalah aplikasi yang nantinya akan digunakan

untuk membuat file model. Untuk membuat file model pada tugas akhir ini yang

akan digunakan adalah software sebagai berikut:

Sistem Operasi: Windows 7 Professional 64bit

Java Development Kit (JDK) Versi 1.8

Java Runtime Environment (JRE) Versi 1.8

Stanford NER versi 3.5.0

Stanford POS Tagger versi 3.7.0

Notepad ++ Versi 7.2.2

Eclipse JEE Neon 3

Weka Versi 3.8.1

Page 3: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

22

3.4. Perancangan Sistem

Perancangan sistem pada tugas akhir ini dimodelkan sebagai berikut:

Gambar 3.1. Rancangan Sistem

3.4.1. Pengumpulan Data

Data tweet yang digunakan pada tugas akhir ini menggunakan penelitian

[5][6][7] dan ditambahkan data tweet baru untuk memperkaya corpus.

Pengumpulan data tweet baru menggunakan bahasa pemrograman PHP yang

dipadukan dengan TwitterOauth. TwitterOauth merupakan sebuah library PHP

yang digunakan untuk melakukan proses autentikasi untuk menggunakan layanan

pencarian tweet. Pengumpulan data tweet formal dilakukan dengan mencari nama

akun pengguna (username) sedangkan data tweet informal dilakukan pencarian

berdasarkan kata kunci. Kode program yang digunakan untuk pengumpulan data

tweet baru adalah sebagai berikut:

Page 4: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

23

Gambar 3.2. Kode Program Untuk Pencarian Berdasarkan Username

Gambar 3.3. Kode Program Untuk Pencarian Berdasarkan Kata Kunci

Berikut data tweet yang digunakan pada penelitian ini, ditampilkan dalam

tabel dibawah ini:

Tabel 3.1. Data Tweet Penelitian [5]

Username Tweet

@Ayu_sarisartika/O Akuntansi/O "/O @MentionsKEPO/O :/O paling/O

semangat/O kalau/O belajar/O matapelajaran/O

apa/O ?/O "/O

<?php require_once 'twitteroauth/twitteroauth.php'; define('CONSUMER_KEY', 'jhXcPKKOcfTgu5s4ICUogtx0D'); define('CONSUMER_SECRET', 'ZB09mG1H1TxLRTn8IKXMjFpwptlPc4zekZVETx6c9PT9pH38wx'); define('ACCESS_TOKEN', '238865708-NjkHsSEX6GqXpfW23XCqmcTz1ulRm8gzMoU28U6o'); define('ACCESS_TOKEN_SECRET', '86TVmgeRVUHAUSvCzJYwZ4AvndPIr45V71RWaQmJ4CjcD'); $toa = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET); $user = 'CumaaTweet'; //isikan nama user $timeline = $toa->get('statuses/user_timeline', array('screen_name' => $user, "count" =>200, "lang" => "id")); foreach ($timeline as $i => $tweet) { echo "@" . $user . " : " . "$tweet->text" . PHP_EOL . "<br/>"; }

<?php require_once 'twitteroauth/twitteroauth.php'; define('CONSUMER_KEY', 'jhXcPKKOcfTgu5s4ICUogtx0D'); define('CONSUMER_SECRET', 'ZB09mG1H1TxLRTn8IKXMjFpwptlPc4zekZVETx6c9PT9pH38wx'); define('ACCESS_TOKEN', '238865708-NjkHsSEX6GqXpfW23XCqmcTz1ulRm8gzMoU28U6o'); define('ACCESS_TOKEN_SECRET', '86TVmgeRVUHAUSvCzJYwZ4AvndPIr45V71RWaQmJ4CjcD'); function search($query) { $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET); return $connection->get('search/tweets', $query); } $query = array( "q" => "GUE ", "count"=>200, "lang" => "id" ); $results = search($query); foreach ($results->statuses as $result) { echo "@" . $result->user->screen_name . " : " . $result->text . "<br/>"; } ?>

Page 5: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

24

@PersBirama/O Besok/O ./O ./O !/O HIMPUNAN/ORGANIZATION

MAHASISWA/ORGANIZATION

Akuntansi/ORGANIZATION

UNIKOM/ORGANIZATION "/O SEMINAR/O

NASIONAL/O AKUNTANSI/O "/O

@JagoAkuntansi/O Department/O Akuntansi/O Fakultas/O Ekonomika/O

dan/O Bisnis/O UGM/ORGANIZATION

@HotlanNova/O Akuntansi/O biaya/O */O hoam/O */O

@Kurniawati_21/O XII/O Akuntansi/O 2/O angkatan/O 2015-2016/O

@hanimartis/O apa/O alasan/O kamu/O pilih/O Akuntansi/O ,/O

@IniBisnis/O Usul/O Gaji/O Rp/O 4,5/O Juta/Bulan/O Bebas/O

Pajak/O

@bisnisviabb/O Kebijakan/O Ekonomi/O XI/O Diklaim/O Mampu/O

Turunkan/O Harga/O

@ElshintaDotCom/O

KAI/ORGANIZATION kembali/O turunkan/O tarif/O

KA/O ekonomi/O bersubsidi/O

@WartaEkonomi/O DPRD/ORGANIZATION Jabar/LOCATION Minta/O

Mobil/O Baru/O

@PengejarBerita/O Pipa/O Gas/O PGN/ORGANIZATION Capai/O

7.026/O Kilometer/O

@GmtdGroofy/O KPK/ORGANIZATION Jadikan/O Tata/O Kelola/O

Surabaya/LOCATION Percontohan/O

@PengejarBerita/O REI/O Minta/O Pemda/ORGANIZATION Bisa/O

Turunkan/O BPHTB/O

@AaronJitta/O Hadirkan/O Promo/O Super/O Cintaku/O Bersama/O

@Mitha_Wijaya01/O Lippo/LOCATION Cikarang/LOCATION Rombak/O

Direksi/O &/O Komisaris/O

Pada Tabel 3.1. menampilkan data tweet yang digunakan pada penelitian

[5]. Data tweet yang digunakan berjumlah 10.000 data dengan pembagian 4.814

data tweet bahasa Indonesia formal dan 5.186 data tweet bahasa Indonesia informal.

Data tweet ini telah dilakukan anotasi dengan menggunakan aturan (tagset) NER.

Tabel 3.2. Data Tweet Penelitian [6]

Username Tweet

@detikcom_@ Kebakaran_NN Rumah_NN di_IN Pondok_NN

Bambu_NN ,_, 16_$ Unit_NN Damkar_FW

Diterjunkan_VBT http://detik.id/VjAuOQ_U

@Beritasatu_@ Pesantren_NN Akan_MD Tampung_VBI 231_$

Anak_NN Yatim_NN Pengungsi_NN Rohingya_NNP

http://brt.st/4G0v_U

@Bumi_Dinasti_@ Roda_NN hidup_VBI bisa_MD berputar_VBT ._.

#RenunganSuper_#

Page 6: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

25

@VIVAcoid_@ Aneh_JJ ,_, Ratusan_CDC Cacing_NNP

Teronggok_VBT Rapi_JJ di_IN Jalan_NN

http://dlvr.it/B77r4l_U

@temponewsroom_

@

Ramadan_NNP ,_, Produksi_NN Busana_NN

Dian_NNP Pelangi_NNP Melonjak_VBT

200_$ Persen_NN http://bit.ly/1HSTo9B/_U

@VIVAcoid_@ Bahaya_NN Mendidihkan_VBT Ulang_VBI Air_NN

yang_SC Sudah_RB Dimasak_VBT

http://dlvr.it/B78MNH_U

@KampusPsikologi

_@

71_$ persen_NN wanita_NN menilai_VBT pria_NN

pertama_CDO kali_NN dari_IN kebersihan_NN

giginya_NNG ._. #Psikologi_#

@Bumi_Dinasti_@ Waktunya_NNG menggunting_VBT kuku_NN ._.

@republikaonline_

@

Muslimah_NN di_IN Inggris_NNP Diserang_VBT

dan_CC Jilbabnya_NNG Dirobek_VBT

http://rol.co.id/r/npjgn1_U

@PsikologID_@ Menurut_VBT penelitian_NN ,_, cegukan_VBT

yang_SC terlalu_RB Sering_JJ dan_CC tiba-tiba_RB

bisa_MD menandakan_VBT bahwa_SC Anda_PRP

sedang_RB stres_JJ ._. #Psikologi_#

@HEROSupermarke

t_@

2_$ Siapa_WP di_IN sini_PRL yang_SC suka_JJ

Yogurt_NNP ?_.

@HEROSupermarke

t_@

3_$ harus_RB memperhatikan_VBT kecukupan_NN

protein_NNP karena_SC mereka_PRP

menghindari_VBT protein_NNP hewan_NN ._.

@republikaonline_

@

Ledakan_VBT Bom_NN Mobil_NN terjadi_VBT di_IN

Irak_NNP ,_, Tewaskan_VBT 14_$ Orang_NN

http://rol.co.id/r/npjh4j_U

@netmediatama_@ Tiap_JJ episode_NN akan_MD diupload_FW 2_$

hari_NN setelah_RB tayang_VBI ;)_E

@InfoSuperIndo_@ Siang-siang_NN begini_DT enaknya_JJ buat_VBI

es_NN kopyor_NNP nih_UH ._. Cocok_JJ juga_RB

untuk_SC menu_NN saat_NN masuk_VBI Bulan_NN

Ramadhan_NNP nanti_NN ._.

Pada Tabel 3.2. menampilkan data tweet yang digunakan pada penelitian

[6]. Data tweet yang digunakan berjumlah 5.000 data tweet menggunakan bahasa

Indonesia formal. Data tweet telah dilakukan anotasi dengan menggunakan aturan

(tagset) POS Tagger.

Tabel 3.3. Data Tweet Penelitian [7]

Username Tweet

@DandRoeBot_@ kangen_VBI ma_CC km_PRP ._. ._. harsnya_RB

sore_NN gni_DT kn_RP jalan_VBI ._. ._. ._. trs_RB

makan_VBI trs_RB tdr_VBI ._. ._. trs_RB pulang_VBI

._. ._. ._.

Page 7: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

26

@DandRoeBot_@ tdur_VBI aj_RB deh_RP ._. ._.

@meewmiiuuw_@ mata_NN panda_NN (O.O)_E

@andine_@ tapi_CC cinta_NN tahu_JJ kemana_WP ia_PRP

akan_MD pulang_VBI ._. Getoh_RP katanya_NNG

hahaha_UH

@andine_@ Mana_WP muternya_NNG cepet_JJ banget_RB ?_. ?_.

@DandRoeBot_@ Besok_NN d_IN apelin_VBT ._. ._. Seneng_JJ bgt_RB

saat2_NN menunggu_VBT gini_DT #Senyum_#

@af_muzakki_@ "_" hayoo_UH gak_NEG bole_MD cemberut_JJ

gitu_DT mukanya_NNG "_" ._. @elfarafm_@

hmmm_UH~_UH

@raditya_fachri_@ @vallensiregar_@ slm_NN knl_VBT ada_VBT

pin_NN bbm_NNP bggak_NEG ?_.

@meewmiiuuw_@ seadanya_RB dulu_NN dah_UH._. yg_SC penting_JJ

tetep_RB usaha_NN :'D_E

@Dena_JKT48_@ Aku_PRP denger_VBT pasti_RB ._. ._. kan_MD

dengernya_NNG lewat_IN hati_NN ppffftt_UH :v_E

dah_UH tidur_VBI udh_RB mlm_NN wkwkw_UH

@Vanka_JKT48_@ kalo_SC libur_VBI drpd_RB bosan_JJ mending_JJ

main_VBT game_FW? (_OP sepik_JJ ga_NEG

ada_VBT wifi_NN ga_NEG bisa_VBI ntn_VBT

drama_NN )_CP

@KepengenNyindir

_@

ngetweet_VBI galau_JJ bukan_NEG berarti_VBI

lagi_RB galau_JJ kan_MD ?_. sebaliknya_RB juga_RB

gitu_DT :))_E jangan_RB suka_JJ kepo_JJ !_SYM

@Cornel_OnStage_

@

satu_CDP Bintang_NNP berkedip_VBI mesra_JJ

@RrRatnaSari_@ @YoedaKoessala_@ @Tristanisme41_@ liat_VBT

y_RP gpp_G kq_UH yud_NNP :D_E

@ApilahRahma_Adi

_IN_@

kek_IN anak_NN alay_JJ lama2_RB -,-_E

Pada Tabel 3.3. menampilkan data tweet yang digunakan pada penelitian

[7]. Data tweet yang digunakan berjumlah 2.500 data tweet menggunakan bahasa

Indonesia informal. Data tweet telah dilakukan anotasi dengan menggunakan aturan

(tagset) POS Tagger.

Tabel 3.4. Data Tweet Baru

Username Tweet

@Berita_Jakarta Sandiaga Yakin OK OCE Bisa Turunkan Potensi

Kemacetan di Jakarta https://t.co/XNovh61Oeb

@Berita_Jakarta Bertemu Jokowi , Pangdam dan Kapolda Metro :

Jakarta Aman ! https://t.co/dk3gu5SUff

@Berita_Jakarta Tiara Eve Buka-bukaan tentang Perannya di Jakarta

Undercover https://t.co/vugG5a8epu

Page 8: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

27

@Berita_Jakarta Myanmar Pelajari Jakarta Smart City untuk Cegah

Korupsi https://t.co/KSxqPFtSnc

@Berita_Jakarta Harta Patrialis Tersebar dari Bekasi , Jakarta ,

sampai Padang https://t.co/1GT32biwhv

@Berita_Jakarta Soal Politik Uang , Ahok : Saya Kira Warga

Jakarta Tidak Bodoh https://t.co/rJcastLYKz

@Berita_Jakarta Jangan mengeluhkan masalah , karena Tuhan

mempunyai tujuan tuk perjuangan kita saat ini .

Pelajarilah apa yang hendak Tuhan ajarkan

@Berita_Jakarta Jangan berhenti berupaya ketika menemui

kegagalan . Karena kegagalan adalah cara Tuhan

mengajari kita tentang arti kesungguhan

@Berita_Jakarta Kalla : Gojek , Grab , Uber Muncul Karena

Jakarta Macet https://t.co/m9ipC084jB

@Berita_Jakarta Willian Pacheco & Hong Soon Hak Belum Tentu

Jadi Pilihan Utama Persija Jakarta

https://t.co/8lYpfoARYa

@sotokdy cepet bales salam gue

@routmeo @thaenggo gue ganteng .

@DemonKimee @midnitehymn gue lagi di cianjur sekarang

@tinapooty Mana gue tau . https://t.co/ahBTCsVjxZ

@widwicky @o2zone mau ke Gili Trawangan nih yeeee ~

Pada Tabel 3.4. menampilkan data tweet baru. Data tweet yang digunakan

berjumlah 8.000 data tweet yang terdiri dari bahasa Indonesia formal informal. Data

tweet ini nantinya dilakukan anotasi dengan menggunakan aturan (tagset) NER dan

POS Tagger.

3.4.2. Pengelompokan Data

Data tweet yang sudah dikumpulkan selanjutnya dibagi menjadi 2 dataset

yaitu data train dan data tes. Data train digunakan untuk membangun model untuk

Stanford NER, Stanford POS Tagger dan Random Forest. Sedangkan data tes

digunakan untuk melakukan pengujian model yang telah dibangun.

Pengelompokan data tweet dijelaskan pada tabel berikut ini:

Tabel 3.5. Pengelompokan Data

Data Bahasa Indonesia

Jumlah Formal Informal

Model NER 3.814 4.186 8.000

Model POS Tagger 7.000 2.500 10.500

Page 9: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

28

Model Random Forest 2.500 2.500 5.000

Data Test 1.000 1.000 2.000

Jumlah 25.500

3.4.3. Tagging Data

Data tweet yang sudah dikumpulkan selanjutnya dianotasi secara manual.

Ada dua jenis anotasi yang dilakukan, pertama adalah untuk mengidentifikasi jenis

entitas untuk proses NER dan yang kedua adalah untuk mengidentifikasi jenis kata

untuk proses POS Tagging. Anotasi mengacu pada aturan (tagset) sesuai dengan

rumusan masalah yang sudah ditentukan. Aturan untuk proses NER yang akan

digunakan adalah sebagai berikut:

Tabel 3.6. Aturan (Tagset) NER

NO. TAG KET. CONTOH

1 O Tidak Dikenali -

2 PERSON Nama orang Mustafa, Kemal

3 LOCATION Nama tempat Surabaya, Kantor

4 ORGANIZATION Nama organisasi PLN, BI, BCA

Sedangkan untuk anotasi proses POS Tagging, aturan yang digunakan

menggunakan penelitian [24]. Aturan tersebut adalah sebagai berikut:

Tabel 3.7. Aturan (Tagset) POS Tagger

NO. TAG KET. CONTOH

1 OP Open Parenthesis ({[

2 CP Close Parenthesis )}]

3 GM Slash /

4 ; Semicolon ;

5 : Colon :

6 “ Quotation “ ‘

7 . Sentence Terminator . ! ?

8 , Comma ,

9 - Dash -

10 ... Ellipsis ...

Page 10: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

29

11 JJ Adjective Kaya, Manis

12 RB Adverb Sementara, Nanti

13 NN Common Noun Buku, Meja

14 NNP Proper Noun Surabaya, Inggris

15 NNG Genitive Noun Rumahnya

16 VBI Intransitive Verb Pergi

17 VBT Transitive Verb Membaca

18 IN Preposition Di, Ke, Dari

19 MD Modal Bisa

20 CC Coor-Conjuction Dan, Atau, Tetapi

21 SC Subor-Conjuction Jika, Tetapi

22 DT Determiner Para, Ini, Itu

23 UH Interjection Wah, Aduh, Oi

24 CDO Ordinal Numerals Pertama, Kedua

25 CDC Collective Numerals Berdua

26 CDP Primary Numerals Satu, Dua, Tiga

27 CDI Irregular Numerals Beberapa

28 PRP Personal Pronouns Saya, Kamu

29 WP WH-Pronouns Apa, Dimana

30 PRN Number Pronouns Kedua-duanya

31 PRL Locative Pronouns Sini, Situ, Sana

32 NEG Negation Bukan, Tidak

33 SYM Symbols @#$%^&

34 RP Particles Pun, Kah

35 FW Foreign Words Foreign, Word

36 # Hastag #kerjakeras

37 @ Mention @jokowi

38 ̴ Discourse Marker RT

39 U URL or Email Address http://bit.ly/1J89w

40 E Emoticon :-) :b (: <3 o__O

41 $ Nominal 1, 2, 1000, 12.10

Page 11: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

30

Proses anotasi ini dilakukan dengan menggunakan aplikasi pihak ke-tiga

yaitu Notepad++. Anotasi data dilakukan untuk tiap token, format yang digunakan

untuk proses NER adalah TOKEN/TAG. Sedangkan format yang digunakan untuk

proses POS Tagging adalah TOKEN_TAG. Data yang telah dilakukan proses

anotasi, tampilannya seperti pada tabel berikut:

Tabel 3.8. Anotasi Data Tweet

Tweet Anotasi NER Anotasi POS Tagger

Sandiaga Yakin

OK OCE Bisa

Turunkan Potensi

Kemacetan di

Jakarta

https://t.co/XNovh61

Oeb

Sandiaga/PERSON

Yakin/O OK/O OCE/O

Bisa/O Turunkan/O

Potensi/O Kemacetan/O

di/O Jakarta/LOCATION

https://t.co/XNovh61Oeb

/O

Sandiaga_NNP Yakin_VBI

OK_NN OCE_NNP

Bisa_MD Turunkan_VBT

Potensi_NN

Kemacetan_NN di_IN

Jakarta_NNP

https://t.co/XNovh61Oeb_U

3.4.4. Pembuatan Model NER

Data train yang sudah dilakukan proses tagging selanjutnya akan diproses

dan akan menghasilkan sebuah file model dalam bentuk biner. Berikut ini

merupakan flowchart pembuatan file model NER:

Gambar 3.4. Flowchart Pembuatan Model NER

3.4.4.1. Tokenisasi

Data train yang sudah dilakukan proses tagging selanjutnya akan

dilakukan proses tokenisasi dan membentuk satu kata per baris. Proses ini

Page 12: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

31

menggunakan class Java yaitu WhitespaceTokenizer yang dapat ditemukan pada

direktori stanford-ner.jar. Perintah yang digunakan adalah sebagai berikut:

Gambar 3.5. Perintah Untuk Tokenisasi Data Train Model NER

Hasil dari proses tokenisasi tersebut akan membentuk file baru dengan

ekstensi .tok. berikut ini merupakan data train setelah proses tokenisasi:

Gambar 3.6. Hasil Tokenisasi Data Train Model NER

Setelah dilakukan proses tokenisasi, data train yang sudah berbentuk file

dengan ekstensi .tok, selanjutnya yang dilakukan adalah menghilangkan tanda

miring/slash (/) dan menggantinya dengan spasi. Hal ini dilakukan agar tag pada

data train dapat terbaca oleh CRFClassifier. Proses ini dapat dilakukan dengan

menggunakan aplikasi pihak ke-tiga seperti Notepad++ atau dilakukan secara

manual. Berikut ini merupakan data train yang telah dilakukan proses tersebut:

java -cp stanford-ner.jar

edu.stanford.nlp.process.WhitespaceTokenizer

ModelNER.txt > ModelNER.tok

@Ayu_sarisartika/O

:/O

Akutansi/O

“/O

@MentionKepo/O

:/O

Paling/O

Semangat/O

Kalau/O

Belajar/O

Matapelajaran/O

Apa/O

?/O

“/O

Page 13: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

32

Gambar 3.7. Hasil Penghilangan Tanda Slash Data Train Model NER

3.4.4.2. Pembuatan File PROP

Prop adalah Properties File yang berisikan pengaturan file untuk

pembuatan model dari data training. File props berisikan beberapa parameter

penting, parameter yang akan di-set dalam file ini antara lain trainFileList dan

serializeTo. Berikut adalah isi dari file Props yang akan digunakan:

@Ayu_sarisartika O

: O

Akutansi O

“ O

@MentionKepo O

: O

Paling O

Semangat O

Kalau O

Belajar O

Matapelajaran O

Apa O

? O

“ O

trainFileList = ModelNER.tok

serializeTo = ModelNER.ser.gz

map = word=0,answer=1

maxLeft=1

useClassFeature=true

useWord=true

useNGrams=true

noMidNGrams=true

maxNGramLeng=6

usePrev=true

useNext=true

useDisjunctive=true

useSequences=true

usePrevSequences=true

useTypeSeqs=true

useTypeSeqs2=true

useTypeySequences=true

wordShape=chris2useLC

Page 14: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

33

3.4.4.3. Training Data Train

Proses melatih data train dilakukan dengan menggunakan class Java yang

dapat ditemukan pada direktori stanford-ner.jar. Perintah yang digunakan adalah

sebagai berikut:

Gambar 3.8. Perintah Untuk Training Data Train Model NER

Hasil dari proses tersebut adalah sebuah file model dengan ekstensi .ser.gz.

File model tersebut berbentuk biner. Berikut merupakan hasil dari proses tersebut:

Gambar 3.9. File Model NER

3.4.5. Pembuatan Model POS Tagger

Data train yang sudah dilakukan proses tagging selanjutnya akan diproses

dan akan menghasilkan sebuah file model dalam bentuk biner. Berikut ini

merupakan flowchart pembuatan model POS Tagger:

java -cp stanford-ner.jar

edu.stanford.nlp.ie.crf.CRFClassifier -prop

ModelNER.prop

Page 15: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

34

Gambar 3.10. Flowchart Pembuatan Model POS Tagger

3.4.5.1. Pembuatan File PROP

Prop adalah Properties File yang berisikan pengaturan file untuk

pembuatan model dari data training. File props berisikan aturan tag yang

digunakan pada tweet-tweet yang telah dikumpulkan dan dijadikan file model dan

data train. Berikut adalah isi dari file Props yang akan digunakan:

model = ModelPOSTagger.model

arch = generic,suffix(4),prefix(4),unicodeshapes(-

1,1),unicodeshapeconjunction(-1,1),words(-2,-

2),words(2,2)

wordFunction =

trainFile = ModelPOSTagger.txt

closedClassTags =

closedClassTagThreshold = 40

curWordMinFeatureThresh = 2

debug = false

debugPrefix =

tagSeparator = _

Encoding = utf-8

iterations = 100

lang =

learnClosedClassTags = false

minFeatureThresh = 5

openClassTags = OP CP GM ; : " . , - ... JJ RB NN NNP NNG VBI

VBT IN MD CC SC DT UH CDO CDC CDP

CCI PRP WP PRN PRL NEG SYM RP FW # @

~ U E $

rareWordMinFeatureThresh = 10

rareWordThresh = 5

search = qn

Page 16: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

35

sgml = false

sigmaSquared = 0.5

regL1 = 1.0

tagInside =

tokenize = false

tokenizerFactory =

tokenizerOptions =

verbose = false

verboseResults = true

veryCommonWordThresh = 250

xmlInput =

outputFile =

outputFormat = slashTags

outputFormatOptions =

nthreads = 1

3.4.5.2. Training Data Train

Proses melatih data train dilakukan dengan menggunakan class Java yang

dapat ditemukan pada direktori stanford-postagger.jar. Perintah yang digunakan

adalah sebagai berikut:

Gambar 3.11. Perintah Untuk Training Data Train Model POS Tagger

Hasil dari proses tersebut adalah sebuah file model dengan ekstensi

.model. File model tersebut berbentuk biner. Berikut merupakan hasil dari proses

tersebut:

Gambar 3.12. File Model POS Tagger

java –classpath Stanford-postagger.jar

edu.stanford.nlp.tagger.maxent.MaxentTagger –prop

Indonesia.props –model Indonesia.model –train

Indonesia.train.txt

Page 17: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

36

Model NER dan model POS Tagger memiliki hasil yang sama berupa

kumpulan kata (corpus) yang telah diubah menjadi bentuk biner. Untuk perbedaan

keduanya, model NER digunakan untuk mendeteksi jenis entitas suatu kata,

sedangkan model POS Tagger digunakan untuk mengidentifikasi jenis kata.

3.4.6. Pembuatan Model Random Forest

Dalam pembuatan model random forest diperlukan beberapa file. File-file

ini nantinya akan dilakukan proses penggabungan dengan menggunakan fitur yang

sudah ada di penelitian sebelumnya. Dari penggabungan tersebut, dapat dibentuk

aturan keputusan yang dibuat menggunakan bantuan aplikasi pihak ke-tiga, yaitu

Weka. Berikut ini merupakan flowchart pembuatan model Random Forest:

Gambar 3.13. Flowchart Pembuatan Model Random Forest

3.4.6.1. File yang Digunakan

Ada beberapa file yang digunakan dalam pembuatan model random forest.

Berikut adalah file yang digunakan untuk membuat model random forest:

Page 18: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

37

3.4.6.1.1. Data Train dengan Tagging Manual

Data train yang telah dikumpulkan, selanjutnya dilakukan proses tagging

secara manual. Tagging yang dilakukan menggunakan aturan tagging NER. Berikut

adalah data train yang telah dilakukan tagging secara manual:

Tabel 3.9. Data Train dengan Tagging Manual

Username Tweet

@Berita_Jakarta/O Sandiaga/PERSON Yakin/O OK/O OCE/O Bisa/O

Turunkan/O Potensi/O Kemacetan/O di/O

Jakarta/LOCATION https://t.co/XNovh61Oeb/O

@Berita_Jakarta /O Bertemu/O Jokowi/PERSON ,/O Pangdam/O dan/O

Kapolda/O Metro/O :/O Jakarta/LOCATION Aman/O

!/O https://t.co/dk3gu5SUff/O

@Berita_Jakarta /O Willian/PERSON Pacheco/PERSON &/O

Hong/PERSON Soon/PERSON Hak/O Belum/O

Tentu/O Jadi/O Pilihan/O Utama/O

Persija/ORGANIZATION Jakarta/LOCATION

https://t.co/8lYpfoARYa/O

@Berita_Jakarta/O Kalla/PERSON :/O Gojek/ORGANIZATION ,/O

Grab/ORGANIZATION ,/O Uber/ORGANIZATION

Muncul/O Karena/O Jakarta/LOCATION Macet/O

https://t.co/m9ipC084jB/O

@Berita_Jakarta/O Jangan/O berhenti/O berupaya/O ketika/O menemui/O

kegagalan/O ./O Karena/O kegagalan/O adalah/O

cara/O Tuhan/O mengajari/O kita/O tentang/O arti/O

kesungguhan/O

@Berita_Jakarta/O Jangan/O mengeluhkan/O masalah/O ,/O karena/O

Tuhan/O mempunyai/O tujuan/O tuk/O perjuangan/O

kita/O saat/O ini/O ./O Pelajarilah/O apa/O yang/O

hendak/O Tuhan/O ajarkan/O

@Berita_Jakarta/O Soal/O Politik/O Uang/O ,/O Ahok/PERSON :/O

Saya/O Kira/O Warga/O Jakarta/LOCATION Tidak/O

Bodoh/O https://t.co/rJcastLYKz/O

@Berita_Jakarta/O Harta/O Patrialis/PERSON Tersebar/O dari/O

Bekasi/LOCATION ,/O Jakarta/LOCATION ,/O

sampai/O Padang/O https://t.co/1GT32biwhv/O

@Berita_Jakarta/O Myanmar/LOCATION Pelajari/O Jakarta/LOCATION

Smart/O City/O untuk/O Cegah/O Korupsi/O

https://t.co/KSxqPFtSnc/O

3.4.6.1.2. Data Train dengan Tagging Model NER

Data train yang telah dikumpulkan selanjutnya dilakukan proses tagging

dengan menggunakan model NER. Berikut perintah yang digunakan:

Page 19: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

38

Gambar 3.14. Perintah untuk Tagging Menggunakan Model NER

Hasil dari proses tersebut adalah data train yang telah di tag dengan

model NER yang telah dibuat sebelumnya. Berikut merupakan data train yang telah

di tag dengan model NER:

Tabel 3.10. Data Train dengan Tagging Model NER

Username Tweet

@Berita_Jakarta/O Sandiaga/O Yakin/O OK/O OCE/O Bisa/O Turunkan/O

Potensi/O Kemacetan/O di/O Jakarta/LOCATION

https://t.co/XNovh61Oeb/O

@Berita_Jakarta/O Bertemu/O Jokowi/PERSON ,/O Pangdam/O dan/O

Kapolda/O Metro/O :/O Jakarta/LOCATION Aman/O

!/O https://t.co/dk3gu5SUff/O

@Berita_Jakarta/O Willian/PERSON Pacheco/PERSON &/O

Hong/PERSON Soon/PERSON Hak/O Belum/O

Tentu/O Jadi/O Pilihan/O Utama/O

Persija/ORGANIZATION Jakarta/LOCATION

https://t.co/8lYpfoARYa/O

@Berita_Jakarta/O Kalla/O :/O Gojek/O ,/O Grab/ORGANIZATION ,/O

Uber/ORGANIZATION Muncul/O Karena/O

Jakarta/LOCATION Macet/O

https://t.co/m9ipC084jB/O

@Berita_Jakarta/O Jangan/O berhenti/O berupaya/O ketika/O menemui/O

kegagalan/O ./O Karena/O kegagalan/O adalah/O

cara/O Tuhan/O mengajari/O kita/O tentang/O arti/O

kesungguhan/O

@Berita_Jakarta/O Jangan/O mengeluhkan/O masalah/O ,/O karena/O

Tuhan/O mempunyai/O tujuan/O tuk/O perjuangan/O

kita/O saat/O ini/O ./O Pelajarilah/O apa/O yang/O

hendak/O Tuhan/O ajarkan/O

@Berita_Jakarta/O Soal/O Politik/O Uang/O ,/O Ahok/PERSON :/O

Saya/O Kira/O Warga/O Jakarta/LOCATION Tidak/O

Bodoh/O https://t.co/rJcastLYKz/O

@Berita_Jakarta/O Harta/O Patrialis/O Tersebar/O dari/O

Bekasi/LOCATION ,/O Jakarta/LOCATION ,/O

sampai/O Padang/O https://t.co/1GT32biwhv/O

@Berita_Jakarta/O Myanmar/LOCATION Pelajari/O Jakarta/LOCATION

Smart/O City/O untuk/O Cegah/O Korupsi/O

https://t.co/KSxqPFtSnc/O

java –cp stanford-ner.jar

edu.stanford.nlp.ie.crf.CRFClassifier -

loadClassifier classifiers/models ModelNER.ser -

textFile ModelRandomForest.txt > NER_Otomatis.tsv

Page 20: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

39

3.4.6.1.3. Data Train dengan Tagging Model POS Tagger

Data train yang telah dikumpulkan selanjutnya dilakukan proses tagging

dengan menggunakan model POS Tagger. Berikut perintah yang digunakan:

Gambar 3.15. Perintah untuk Tagging Menggunakan Model POS Tagger

Hasil dari proses tersebut adalah data train yang telah di tag dengan

model POS Tagger yang telah dibuat sebelumnya. Berikut merupakan data train

yang telah di tag dengan model POS Tagger:

Tabel 3.11. Data Train dengan Tagging Model POS Tagger

Username Tweet

@Berita_Jakarta_@ Sandiaga_NNP Yakin_VBI OK_NN OCE_NNP

Bisa_MD Turunkan_VBT Potensi_NN Kemacetan_NN

di_IN Jakarta_NNP https://t.co/XNovh61Oeb_U

@Berita_Jakarta_@ Bertemu_VBT Jokowi_NNP ,_, Pangdam_NN dan_CC

Kapolda_NN Metro_NN :_: Jakarta_NNP Aman_JJ !_.

https://t.co/dk3gu5SUff_U

@Berita_Jakarta_@ Willian_NN Pacheco_NNP &_SYM Hong_NNP

Soon_NNP Hak_NN Belum_RB Tentu_JJ Jadi_VBI

Pilihan_NN Utama_CDO Persija_NN Jakarta_NNP

https://t.co/8lYpfoARYa_U

@Berita_Jakarta_@ Kalla_NNP :_: Gojek_NNP ,_, Grab_NNP ,_,

Uber_NNP Muncul_VBI Karena_SC Jakarta_NNP

Macet_JJ https://t.co/m9ipC084jB_U

@Berita_Jakarta_@ Jangan_NEG berhenti_VBT berupaya_VBT ketika_SC

menemui_VBT kegagalan_NN ._. Karena_SC

kegagalan_NN adalah_VBT cara_NN Tuhan_NN

mengajari_VBT kita_PRP tentang_CC arti_NN

kesungguhan_NN

@Berita_Jakarta_@ Jangan_NEG mengeluhkan_VBT masalah_NN ,_,

karena_SC Tuhan_NN mempunyai_VBT tujuan_NN

tuk_IN perjuangan_NN kita_PRP saat_NN ini_DT ._.

Pelajarilah_VBT apa_WP yang_SC hendak_VBT

Tuhan_NN ajarkan_VBT

@Berita_Jakarta_@ Soal_NN Politik_NN Uang_NN ,_, Ahok_NNP :_:

Saya_PRP Kira_NN Warga_NN Jakarta_NNP

Tidak_NEG Bodoh_JJ https://t.co/rJcastLYKz_U

java -mx300m -cp stanford-postagger.jar

edu.stanford.nlp.tagger.maxent.MaxentTagger

-model ModelPOSTagger.model -textFile

POSTagger_Otomatis.txt

Page 21: BAB III ANALISA DAN PERANCANGANeprints.umm.ac.id/36101/4/jiptummpp-gdl-yudhawanag... · 20 BAB III ANALISA DAN PERANCANGAN . Pada bab ini berisi tentang analisa dan perancangan sistem

40

@Berita_Jakarta_@ Harta_NN Patrialis_NN Tersebar_VBT dari_IN

Bekasi_NNP ,_, Jakarta_NNP ,_, sampai_VBI

Padang_NNP https://t.co/1GT32biwhv_U

@Berita_Jakarta_@ Myanmar_NNP Pelajari_VBT Jakarta_NNP

Smart_NNP City_NNP untuk_SC Cegah_VBT

Korupsi_NN https://t.co/KSxqPFtSnc_U