IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB...

56
IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN UNTUK DETEKSI KEJADIAN BENCANA ALAM PADA MICROBLOGGING TWITTER (Skripsi) Oleh M. JUAN SHAPUTERA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG BANDAR LAMPUNG 2019

Transcript of IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB...

Page 1: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN UNTUK

DETEKSI KEJADIAN BENCANA ALAM PADA MICROBLOGGING

TWITTER

(Skripsi)

Oleh

M. JUAN SHAPUTERA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS LAMPUNG

BANDAR LAMPUNG

2019

Page 2: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

ABSTRACT

CLUSTERING IMPLEMENTATION USING DBSCAN ALGORITHM TO

DETECT NATURAL DISASTER ON MICROBLOGGING TWITTER

By

M. JUAN SHAPUTERA

Social media is one of media or outlet which uses computer that mainly used by

people for giving, sharing, or writing information in any form such as

document,image, or video to others using internet connection. Nowadays, many

social media offered to people for use, with Twitter being one of them. Twitter is

a microblogging social media where its user are capable of writing maximum 140

character of short message which can be embedded with image or video that we

called as tweet. In this paper, we focused on detecting tweet that contains word

relating to natural disaster, and using cl8ustering method supported by DBSCAN

algorithm, we try to cluster them and find the overall similarity value of the

cluster, while also seeing the difference of value between cluster which uses

classification and cluster which doesn’t use classification. The testing afterwards

giving good result, where mainly cluster that uses classification giving bigger

overall similarity value.

Keywords : DBSCAN, cluster, natural disaster, classification, Twitter.

Page 3: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

ABSTRAK

IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN UNTUK

DETEKSI KEJADIAN BENCANA ALAM PADA MICROBLOGGING

TWITTER

Oleh

M. JUAN SHAPUTERA

Media sosial adalah salah satu sarana atau outlet menggunakan komputer yang

banyak digunakan masyarakat untuk mengirim, men-share, atau menulis

informasi dalam berbagai bentuk seperti dokumen, gambar, atau video untuk

orang lain. Di era modern ini, banyak media social bermunculan dan digunakan

oleh masyarakat umum, salah satunya adalah Twitter. Twitter adalah salah satu

media sosial microblogging dimana penggunanya dapat menulis tweet, yaitu

pesan pendek dengan panjang maksimum 140 karakter dan dapat disertai dengan

video atau gambar. Dalam penelitian ini, dilakukan pendeteksian tweet yang

mengandung kata yang berhubungan dengan bencana alam, dan dengan

menggunakan metode clustering dengan algoritma DBSCAN, dilakukan

perbandingan antara overall similarity cluster tweet yang menggunakan klasifikasi

dan cluster tweet yang tidak menggunakan klasifikasi. Pengujian yang dilakukan

memberikan hasil yang baik, dimana kebanyakan cluster yang menggunakan

klasifikasi memiliki overall similarity value yang lebih besar dari cluster yang

tidak menggunakan klasifikasi.

Kata kunci : DBSCAN, cluster, bencana alam, klasifikasi, Twitter.

Page 4: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN UNTUK

DETEKSI KEJADIAN BENCANA ALAM PADA MICROBLOGGING

TWITTER

Oleh

M. JUAN SHAPUTERA

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar

SARJANA KOMPUTER

pada

Jurusan Ilmu Komputer

Fakultas Matematika dan Ilmu Pengetahuan Alam

JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS LAMPUNG

2019

Page 5: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada
Page 6: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada
Page 7: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada
Page 8: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

RIWAYAT HIDUP

Penulis dilahirkan pada tanggal 26 Juni 1993 di Bandung,

sebagai anak pertama dari dua bersaudara dari ayah yang

bernama M. Shafei dan ibu yang bernama Dian Mirawati.

Penulis menyelesaikan pendidikan sekolah dasar di SD

Fransiskus 2 Bandar Lampung pada tahun 2004. Pendidikan

menengah pertama di SMP Xaverius 2 Bandar Lampung dan lulus pada tahun

2007. Kemudian, penulis melanjutkan pendidikan menengah atas di SMA Negeri

3 Bandar Lampung dan lulus pada tahun 2010. Pada tahun 2012 penulis terdaftar

sebagai mahasiswa di Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu

Pengetahuan Alam Universitas Lampung.

Page 9: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

SANWACANA

Alhamdulillahirabbil’alamin, puji syukur kehadirat Allah SWT atas berkat

rahmat, hidayah, dan karunia-Nya sehingga penulis dapat menyelesaikan

penulisan skripsi ini. Skripsi ini disusun sebagai syarat untuk memperoleh gelar

Sarjana Komputer di Jurusan Ilmu Komputer Universitas Lampung.

Penyelesaian skripsi ini tidak terlepas dari bantuan banyak pihak, baik secara

materi maupun moril dan juga saran serta bimbingan dari banyak pihak. Penulis

mengucapkan terimakasih kepada:

1. Ibu Anie Rose Irawati, S.T, M.Cs. sebagai pembimbing utama, yang telah

membimbing penulis dan memberikan kritik serta saran sehingga

penulisan skripsi ini dapat diselesaikan.

2. Bapak Ir. Machudor Yusman, M.Kom. sebagai pembahas pertama, yang

telah memberikan saran, bantuan, dan membimbing penulis sehingga

penulisan skripsi ini dapat diselesaikan.

3. Bapak Aristoteles, S.Si, M.Si. sebagai pembahas kedua, yang telah

memberikan masukan yang bermanfaat dalam penulisan skripsi ini.

4. Bapak Prof. Warsito, S.Si., D.E.A., Ph.D. selaku Dekan FMIPA Unila.

5. Bapak Dr. Ir. Kurnia Muludi, M.S.Sc. selaku Ketua Jurusan Ilmu

Komputer.

6. Bapak Didik Kurniawan, S.Si., M.T. selaku Sekretaris Jurusan Ilmu

Komputer FMIPA Unila.

Page 10: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

7. Muhammad Ganer, Muhammad Shandy Putra, Dipa Fitra Rachmanda,

Alfabet Setiawan, Afrizka Amidya, Muhaqiqin, dan Arif Al-Furqon yang

telah memberi dorongan, bantuan, serta motivasi untuk menyelesaikan

skripsi ini.

8. Almamater Tercinta.

Bandar Lampung, Januari 2018

Penulis

M. Juan Shaputera

Page 11: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

PERSEMBAHAN

Dengan mengucap puji dan syukur kehadiarat Allah SWT

kupersembahkan karya kecilku ini untuk:

Keluarga yang telah memberi dorongan,dan arahan serta

menjadi motivasi terbesarku selama ini

Dosen Pembimbing dan Penguji yang sangat berjasa

dalam membantu dan menyelesaikan skripsi ini

Serta seluruh sahabat-sahabatku yang membantu secara mental

dan fisik

Page 12: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

MOTTO

“Memento Mori”

-Latin Philospoher-

Page 13: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

DAFTAR ISI

halaman

DAFTAR ISI…………………………………………………………….. iv

DAFTAR GAMBAR……………………………………………………. vii

DAFTAR TABEL……………………………………………………….. ix

BAB I. PENDAHULUAN

1.1. Latar Belakang 1

1.2. Perumusan Masalah…………………………………………... 2

1.3. Batasan Masalah……………………………………………… 3

1.4. Tujuan Penelitian……………………………………………... 3

1.5. Manfaat Penelitian……………………………………………. 4

BAB II. TINJAUAN PUSTAKA

2.1. Text Preprocessing…………………………………………………. 5

2.1.1. Tokenisasi……………………………………………… 5

2.1.2. Penghilangan stopword ……………………………… 5

2.1.3. Stemming…………………………………………………….. 6

2.1.4. Menentukan TfIdf……………………………………… 8

2.2. Classification……………………………………………………… 10

2.3. Text Clustering ……………………………………………… 10

Page 14: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

2.4. Algoritma DBSCAN………………………………………… 11

2.5. Overall Similarity Value…………………………………………. 13

2.6. Bencana……………………………………………………… 13

2.7. Twitter……………………………………………………….. 16

2.8. Twitter API………………………………………………….. 17

2.9. Extreme Programming…………………………………………… 18

2.10. Unified Modelling Language ……………………………….. 19

BAB III. METODOLOGI PENELITIAN

3.1. Waktu dan Tempat Penelitian………………………………… 21

3.2. Metode Penelitian……………………………………….......... 21

3.2.1. Langkah 1……………………………………………… 22

3.2.1.1. Identifikasi Masalah…………………………… 22

3.2.1.2. Studi Literatur…………………………………. 23

3.2.1.3. Planning…………………………………………….. 23

3.2.1.4. Design………………………………………….. 23

3.2.2. Langkah 2……………………………………………… 27

3.2.2.1. Pengumpulan data……………………………... 27

3.2.2.2. Text Preprocessing………………………………… 28

3.2.2.3. Clustering…………………………………………... 29

3.2.3. Langkah 3……………………………………………… 31

3.2.3.1. Pengujian………………………………………. 31

3.2.3.2. Analisis Hasil Pengujian………………………. 32

BAB IV. HASIL DAN PEMBAHASAN

4.1. User Interface……………………………………………….... 33

Page 15: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

4.2. Pengujian dengan membandingkan overall similarity value

cluster…………………………………………………………......

34

BAB V. KESIMPULAN

5.1. Kesimpulan………………………………………………........ 52

5.2. Saran………………………………………………………….. 55

Page 16: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

DAFTAR GAMBAR

Gambar halaman

2.1. Representasi teks ke dalam bentuk vector…………………. 11

2.2. Grafik jumlah pengguna aktif pada layanan jejaring sosial.. 17

2.3. Tahap Metode Extreme Programming……………………….. 19

3.1. Diagram alir penelitian…………………………………….. 22

3.2. Use case diagram………………………………………….. 24

3.3. Activity diagram mencari hastag…………………………... 25

3.4. Sequence diagram mencari hastag…………………….…... 26

3.5. Rancangan tampilan interface utama………………….…... 27

3.6. Alur penghitungan algoritma DBSCAN………...…….…... 30

4.1. Tampilan awal menu………………..………...……….…... 33

4.2 Bentuk cluster tweet banjir (e = 1 dan MinPts = 8)………... 34

4.3 Bentuk cluster tweet banjir (e = 1.5 dan MinPts = 8)……… 35

4.4 Bentuk cluster tweet banjir (e = 2 dan MinPts = 8)………... 35

4.5 Bentuk cluster tweet gempa (e = 1 dan MinPts = 8)……….. 36

4.6 Bentuk cluster tweet gempa (e = 1.5 dan MinPts = 8)……... 37

4.7 Bentuk cluster tweet gempa (e = 2 dan MinPts = 8)……….. 37

4.8 Bentuk cluster tweet erupsi (e = 1 dan MinPts = 8)…….….. 38

4.9 Bentuk cluster tweet erupsi (e = 1.5 dan MinPts = 8)……… 39

Page 17: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

4.10 Bentuk cluster tweet erupsi (e = 2 dan MinPts = 8)…….… 39

4.11 Bentuk cluster tweet tsunami (e = 1 dan MinPts = 8)……. 40

4.12 Bentuk cluster tweet tsunami (e = 1.5 dan MinPts = 8)…... 41

4.13 Bentuk cluster tweet tsunami (e = 2 dan MinPts = 8)…….. 41

4.14 Bentuk cluster tweet banjir (e = 1 dan MinPts = 8)………. 42

4.15 Bentuk cluster tweet banjir (e = 1.5 dan MinPts = 8)…….. 43

4.16 Bentuk cluster tweet banjir (e = 2 dan MinPts = 8)………. 43

4.17 Bentuk cluster tweet gempa (e = 1 dan MinPts = 8)……… 44

4.18 Bentuk cluster tweet gempa (e = 1.5 dan MinPts = 8)……. 45

4.19 Bentuk cluster tweet gempa (e = 2 dan MinPts = 8)……… 45

4.20 Bentuk cluster tweet erupsi (e = 1 dan MinPts = 8)………. 46

4.21 Bentuk cluster tweet erupsi (e = 1.5 dan MinPts = 8)…….. 47

4.22 Bentuk cluster tweet erupsi (e = 2 dan MinPts = 8)…...….. 47

4.23 Bentuk cluster tweet tsunami (e = 1 dan MinPts = 8)…….. 48

4.24 Bentuk cluster tweet tsunami (e = 1.5 dan MinPts = 8)…... 49

4.25 Bentuk cluster tweet tsunami (e = 2 dan MinPts = 8)…...... 49

Page 18: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

DAFTAR TABEL

Tabel halaman

4.1. Hasil pengujian hashtag banjir………………………………. 34

4.2. Hasil pengujian hashtag gempa bumi……………..…………. 36

4.3. Hasil pengujian hashtag erupsi……..……………..…………. 38

4.4. Hasil pengujian hashtag tsunami…...……………..…………. 40

4.5. Hasil pengujian hashtag banjir………………………………. 42

4.6. Hasil pengujian hashtag gempa bumi……………..…………. 44

4.7. Hasil pengujian hashtag erupsi……..……………..…………. 46

4.8. Hasil pengujian hashtag tsunami…...……………..…………. 48

4.9. Perbandingan overall similarity value antar cluster………….. 50

Page 19: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Layanan jejaring sosial atau social media adalah salah satu sarana atau alat

yang menggunakan komputer yang berfungsi untuk membantu atau

memberi akses kepada masyarakat untuk menyebarkan, membuat, atau

berbagi informasi, ide, gambar atau video kepada masyarakat lainnya

melalui internet. Sekarang ini, semakin banyak jenis social media yang

muncul, seperti Instagram, Facebook, Line, Whatsapp, dan Twitter.

Salah satu media jejaring sosial yang memiliki cukup banyak pengguna

adalah Twitter. Survey yang dilakukan oleh statista.com pada bulan April

2016 menempatkan Twitter pada urutan ke-9 dengan jumlah pengguna

aktif sebanyak 320 juta orang. Twitter adalah situs layanan jejaring sosial

yang memungkinkan penggunanya untuk mengirim dan membaca pesan

pendek berukuran 140 karakter yang sering juga disebut dengan tweet.

Para pengguna Twitter umumnya menggunakan hashtag (#) pada tweet-

nya untuk menandai sesuatu yang ramai dibicarakan. Salah satu contohnya

adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

Page 20: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

2

tempat tertentu, maka pasti beberapa saat kemudian muncul tweet baik dari

masyarakat atau lembaga pemerintah yang menjelaskan atau memberikan

informasi mengenai bencana alam yang terjadi dengan hashtag yang

relevan dengan bencana alam yang terjadi (#banjir, #erupsigunung, dan

lainnya).

Dengan banyaknya tweet yang keluar setiap harinya, tweet juga menjadi

salah satu bahan yang baik bagi para peneliti untuk melakukan text mining

atau pengambilan informasi. Salah satu penelitian yang pernah dilakukan

adalah penelitian dengan menggunakan algoritma DBSCAN untuk

mengolah hasil pengumpulan hashtag mengenai bencana alam banjir dari

Twitter dan melakukan deteksi event (Rendy dkk., 2013.)

Dari penelitian tersebut diperoleh hasil yang baik, dengan nilai evaluasi

cluster 0.86 dari data sebanyak 5354 tweet dengan jumlah event yang

terdeteksi sebanyak 24 event. Penelitian tersebut masih memungkinkan

adanya pengembangan. Salah satunya adalah penambahan klasifikasi pada

tahap clustering untuk memisahkan data yang memiliki makna banjir

sebagai bencana dan makna banjir sebagai kiasan. Dari saran tersebut,

penulis mencoba untuk melanjutkan penelitian tersebut dengan

menambahkan klasifikasi pada tahap clustering pada algoritma DBSCAN.

1.2 Perumusan Masalah

Dari latar belakang di atas ditemukan beberapa permasalahan yang

dihadapi.

Page 21: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

3

1. Bagaimana cara mengambil tweet yang memiliki hashtag

mengenai bencana alam dari Twitter?

2. Bagaimana cara mengklasifikasikan hasil text mining tweet dengan

hashtag bencana alam berdasarkan makna kalimatnya?

3. Bagaimana cara memperoleh overall similarity value dari cluster

yang telah menggunakan klasifikasi pada tahap clustering pada

algoritma DBSCAN supaya lebih baik dari overall similarity value

dari cluster yang tidak menggunakan klasifikasi pada tahap

clustering?

1.3 Batasan Masalah

Batasan masalah dalam peneltian ini adalah:

1. Text mining dan clustering untuk hashtag Twitter menggunakan

bahasa pemrograman Python.

2. Hasil text mining diklasifikasikan berdasarkan makna kata untuk

membedakan mana tweet yang benar-benar berisi tentang bencana

alam dan bukan.

3. Tweet yang diambil adalah tweet yang menggunakan bahasa

Indonesia.

4. Data tweet yang diambil menggunakan format .txt

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah menambahkan klasifikasi pada tahap

clustering pada algoritma DBSCAN dan membandingkan hasil clustering

antara data yang menggunakan klasifikasi dan data yang tidak

Page 22: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

4

menggunakan klasifikasi untuk melihat peningkatan kualitas hasil text

mining pada tweet yang dikumpulkan.

1.5 Manfaat Penelitian

Manfaat dari penelitian ini adalah memberikan info dan gambaran kepada

pengguna tentang bentuk cluster dari hasil tweet yang telah diolah .

Page 23: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

5

BAB II

TINJAUAN PUSTAKA

2.1 Text Preprocessing

Text preprocessing adalah salah satu bagian penting dalam text mining.

Text preprocessing digunakan untuk mengambil intisari atau informasi-

informasi tertentu sesuai dengan batasan yang diberikan oleh pengguna. Di

bawah ini adalah beberapa macam langkah dalam text preprocessing.

2.1.1 Tokenisasi

Dalam penelitian ini, tokenisasi digunakan untuk memecah tweet

menjadi token-token. Sebagai contoh, tokenisasi dari kalimat

"Banjir rendam 6 RW di Jatinegara" menghasilkan enam token,

yakni: "Banjir", "rendam", "6", "RW”, "di", "Jatinegara".

2.1.2 Penghilangan stopword

Stopword adalah kata-kata umum(common word) yang sering

muncul dalam jumlah besar dan apabila dihilangkan dari suatu

kalimat tidak mengubah makna atau isi dari kalimat tersebut.

Beberapa contoh stopword dalam bahasa Indonesia adalah “yang”,

“di”,“ke”. Melanjutkan contoh pada 2.1.1, maka kata “di” pada

kumpulan token akan dihilangkan, sehingga menyisakan lima toke

yaitu “Banjir”, “rendam”, “6”, “RW”, dan “Jatinegara”.

Page 24: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

6

2.1.3 Stemming

Stemming adalah proses mengubah kata berimbuhan menjadi kata

dasar. Aturan-aturan bahasa diterapkan untuk menanggalkan

imbuhan-imbuhan itu.

Ada banyak persoalan yang dihadapi pada proses stemming Bahasa

Indonesia, di antaranya yaitu:

Imbuhan pada Bahasa Indonesia cukup kompleks, terdiri

dari:

1. Prefiks, imbuhan di depan kata: ber-tiga

2. Suffiks, imbuhan di akhir kata: makan-an

3. Konfiks, imbuhan di depan dan di akhir kata: per-

ubah-an

4. Infiks, imbuhan di tengah kata: kemilau.

5. Imbuhan dari bahasa asing: final-isasi, sosial-isasi

6. Aturan perubahan prefiks, seperti (me-) menjadi

(meng-, mem-, men-, meny-)

Word-Sense Ambiguity (Ambiguitas Rasa Kata), yaitu satu

kata dapat memiliki dua makna (seperti misalnya

homonim), dan berasal dari kata dasar yang berbeda.

Contohnya:

1. Berikan -> Ber-ikan

Page 25: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

7

2. Berikan -> Beri-kan

Understemming

Mengecek menjadi meng-ecek, seharusnya menge-cek. Hal

ini dapat disebabkan karena pada kamus kata dasar, ecek

juga merupakan kata dasar.

Ketergantungan terhadap kamus / daftar kata dasar

Untuk mencegah overstemming, algoritma menjadi

tergantung pada kata dasar. Adanya kekurangan atau

kelebihan pada kata dasar dapat menyebabkan

overstemming atau understemming.

Pengguna Bahasa Indonesia tidak konsisten dalam

menentukan stem (secara manual)

Kita, manusia, juga kadang berbeda pendapat dalam

menentukan stem sebuah kata. Contohnya, apakah "adalah"

merupakan kata berimbuhan dari kata dasar "ada"? Apakah

"bagian" adalah kata berimbuhan dari kata dasar "bagi"?

Kata bentuk jamak = buku-buku (kata dasar nya buku)

Kata serapan dari bahasa asing misal mengakomodir

menjadi meng-akomodir

Kesalahan penulisan seperti penambahanan, harusnya

penambahan, sehingga tidak dapat distem.

Akronim seperti pemilu distem menjadi pe-milu.

Page 26: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

8

Proper Noun (Nama Benda), misal nama kota seperti

Abdullah distem menjadi abdul, seharusnya tidak distem.

Melanjutkan contoh pada 2.1.2, pada lima token yang tersisa tidak

ada kata yang menggunakan imbuhan, sehingga tidak perlu

melakukan stemming pada token.

2.1.4 Menentukan TfIdf

Term Frequency–Inverse Document Frequency (TfIdf) adalah nilai

statistic yang menunjukkan seberapa sering dan penting suatu kata

dalam suatu kumpulan dokumen. TfIdf sering digunakan sebagai

salah satu faktor penentu dalam text mining. Nilai TfIdf naik secara

proporsional dengan jumlah suatu kata yang muncul dalam

dokumen yang dinetralkan dengan frekuensi kata dalam suatu

korpus. Tf–IDF is adalah produk dari dua perhitungan statistik

yaitu termed frequency(Tf) and inverse document frequency(Idf).

Term Frequency (Tf) adalah jumlah suatu kata yang muncul dalam

suatu dokumen . Pada Term Frequency (TF), terdapat beberapa

jenis formula yang dapat digunakan :

1. TF biner (binary TF), hanya memperhatikan apakah suatu

kata atau term ada atau tidak dalam dokumen, jika ada diberi

nilai satu (1), jika tidak diberi nilai nol (0).

Page 27: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

9

2. TF murni (raw TF), nilai TF diberikan berdasarkan jumlah

kemunculan suatu term di dokumen. Contohnya, jika muncul

lima (5) kali maka kata tersebut akan bernilai lima (5).

3. TF logaritmik, hal ini untuk menghindari dominansi

dokumen yang mengandung sedikit term dalam query, namun

mempunyai frekuensi yang tinggi.

4. TF normalisasi, menggunakan perbandingan antara

frekuensi sebuah term dengan nilai maksimum dari

keseluruhan atau kumpulan frekuensi term yang ada pada

suatu dokumen.

Inverse Document Frequency (IDF) merupakan sebuah perhitungan

dari bagaimana suatu kata didistribusikan secara luas pada koleksi

dokumen yang bersangkutan. Idf dihitung menggunakan rumus:

IDF (t, d) = ( lDl /(d )

Dimana D adalah jumlah semua dokumen dalam koleksi

sedangkan d adalah jumlah dokumen yang mengandung term (t).

tfidf ( , ) = tf( , ) x log

Nilai tf( , ) merupakan frekuensi kemunculan term dalam

dokumen , D merupakan jumlah dokumen, dan df( ) merupakan

jumlah dokumen yang memiliki term . Sebagai contoh,

menggunakan kalimat dari hasil stemming di sub-bab 2.1.2, dicari

tfidf dari kata banjir. Apabila terdapat 3 dokumen, kata banjir

muncul sebanyak 2 kali dan kata banjir muncul pada 2 dokumen,

Page 28: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

10

maka diperoleh tf sebesar 2, dan idf sebesar log 3/2 = 0,17,

sehingga diperoleh nilai tfidf dari kata banjir, yaitu 2x0,17 = 0,34.

Pada program, tfIdf ditemukan dengan menggunakan

TfIdfVectorizer menggunakan library numpy.

2.2 Classification

Classification atau klasifikasi adalah salah satu fungsi dalam data mining,

dimana data dikelompokkan dalam suatu kategori atau class yang paling

sesuai. Tujuan klasifikasi adalah untuk memprediksi kategori atau class

pada setiap data dengan tepat. Sebagai contoh, sebuah model klasifikasi

dapat digunakan untuk mengidentifikasi apakah sebuah kata termasuk verb

atau noun. Sistem klasifikasi data yang terencana dengan baik dapat

membuat data mudah ditemukan dan diambil (Jerzy Stefanowski, 2008).

Melanjutkan contoh dari sub-bab 2.1, maka kalimat “Banjir rendam 6 RW

di Jatinegara” terklasifikasi sebagai tweet yang memiliki makna bencana

alam.

2.3 Text Clustering

Text Clustering adalah proses membagi kumpulan teks menjadi beberapa

kelompok, dimana kumpulan teks yang memiliki topik yang sama

dijadikan satu kelompok (Huang dkk., 2006).

Dalam text clustering, data teks tersedia dalam berbagai macam format

(plain text, DOC, PDF, XML). Data tersebut harus dikonversi menjadi

model representasi yang umum agar bisa diproses, misalnya pemodelan

Page 29: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

11

dengan Vector Space Model (VSM). Dalam VSM, teks direpresentasikan

dalam bentuk vektor ( , , ..., , ..., ). Setiap term mewakili sebuah

kata. Kumpulan teks direpresentasikan dalam satu vektor yang dapat

ditulis sebagai matriks.

Gambar 2.1 Representasi teks ke dalam bentuk vector

Setiap baris pada matriks merepresentasikan kumpulan teks dan setiap

kolom merepresentasikan kata di dalam teks j. Setiap elemen ,

merepresentasikan bobot TFIDF.

2.4 Algoritma DBSCAN

Sub-bab 2.5 sepenuhnya disarikan dari jurnal A Density-Based Algorithm

for Discovering Clusters in Large Spatial Databases with Noise (Martin

Ester dkk., 1996).

Algoritma DBSCAN (Density-based spatial clustering of applications

with noise) adalah algoritma clustering berbasis kepadatan (density-based

clustering), dimana algoritma ini menganggap cluster sebagai suatu area

yang berisi objek-objek yang padat, yang dipisahkan oleh area yang

memiliki kepadatan rendah. DBSCAN mendefinisikan cluster sebagai

himpunan maksimum dari kumpulan titik-titik yang terhubung (density-

Page 30: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

12

connected). Semua objek yang tidak masuk ke dalam suatu cluster

dianggap sebagai noise. Pengelompokkan dilakukan terhadap titik-titik

yang berada dalam radius tertentu yang harus memenuhi jumlah titik

minimum (MinPts).

DBSCAN menggunakan konsep titik pusat (core point), titik batas (border

point), dan noise. Titik yang memiliki sejumlah titik tetangga dan

memenuhi jumlah titik minimum, serta berada dalam jarak tertentu disebut

sebagai titik pusat. Sedangkan titik batas memiliki jumlah titik tetangga

namun tidak memenuhi jumlah titik minimum. Kriteria suatu titik

dikatakan sebagai noise yaitu pada saat titik tersebut tidak termasuk titik

pusat ataupun titik batas.

Konsep yang memiliki peranan penting dalam DBSCAN adalah sebagai

berikut.

1. Directly-density reachable

Titik p dikatakan directly density-reachable dari titik q, jika titik p

berada di dalam ketetanggaan titik q dengan jarak tertentu (ε) dan

titik q merupakan titik pusat, serta jumlah ketetanggan dari titik

pusat q memenuhi MinPts. Konsep ini berlaku untuk sepasang titik

pusat.

2. Density-reachable

Titik p dikatakan density-reachable dari titik q (memenuhi syarat ε

dan MinPts) jika terdapat rantai yang menghubungkan titik p1,

Page 31: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

13

..., pn dengan p1 = q, pn = p dan pi+1 directly density-reachable

dari pi.

3. Density-connectivity

Titik p dikatakan density-connectivity terhadap titik q (memenuhi

syarat ε dan MinPts) jika titik p dan q density-reachable dari titik r.

Density-connectivity bersifat simetris terhadap suatu objek dengan

objek lainnya.

2.5 Overall Similarity Value

Overall similarity value adalah nilai yang menentukan seberapa baik

kualitas suatu cluster. Dalam penelitian ini penulis menggunakan

Silhouette Coefficient untuk menentukan overall similarity value dari

cluster data tweet. Overall similarity value dipengaruhi oleh nilai Eps dan

minPts. Hasil dari overall similarity value berkisar antara -1 sampai

dengan 1. Nilai yang mendekati 0 menandakan cluster yang saling

berhimpitan. Nilai yang mendekati -1 menandakan ada data tweet yang

masuk ke cluster yang salah. Nilai yang mendekati 1 menandakan kualitas

cluster yang baik dan kemiripan antar anggota cluster sangat dekat.

2.6 Bencana

Undang-undang Nomor 24 Tahun 2007 Tentang Penanggulangan Bencana

menyebutkan definisi bencana sebagai berikut (Republik Indonesia, 2007).

Bencana adalah peristiwa atau rangkaian peristiwa yang mengancam dan

mengganggu kehidupan dan penghidupan masyarakat yang disebabkan,

Page 32: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

14

baik oleh faktor alam dan/atau faktor nonalam maupun faktor manusia

sehingga mengakibatkan timbulnya korban jiwa manusia, kerusakan

lingkungan, kerugian harta benda, dan dampak psikologis.

Definisi tersebut menyebutkan bahwa bencana disebabkan oleh faktor

alam, non alam, dan manusia. Undang-Undang Nomor 24 Tahun 2007

juga mendefinisikan mengenai bencana alam, bencana nonalam, dan

bencana sosial.

Menurut Undang-Undang Nomor 24 Tahun 2007, bencana alam adalah

bencana yang diakibatkan oleh peristiwa atau serangkaian peristiwa yang

disebabkan oleh alam yang dapat berupa:

1. Gempa bumi

Gempa bumi adalah getaran atau guncangan yang terjadi di permukaan

bumi yang disebabkan oleh tumbukan antar lempeng bumi, patahan

aktif, akitivitas gunung api atau runtuhan batuan.

2. Tsunami

Tsunami berasal dari bahasa Jepang yang berarti gelombang ombak

lautan ("tsu" berarti lautan, "nami" berarti gelombang ombak). Tsunami

adalah serangkaian gelombang ombak laut raksasa yang timbul karena

adanya pergeseran di dasar laut akibat gempa bumi.

3. Gunung meletus

Gunung meletus adalah gunung yang memuntahkan materi-materi dari

dalam bumi seperti debu, awan panas, asap, kerikil, batu-batuan, lahar

Page 33: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

15

panas, lahar dingin dan magma. Gunung meletus biasanya bisa

diprediksi waktunya sehinggi korban jiwa dan harta benda bisa

diminimalisir.

4. Banjir

Banjir adalah peristiwa atau keadaan dimana terendamnya suatu daerah

atau daratan karena volume air yang meningkat.

5. Kekeringan

Kekeringan adalah ketersediaan air yang jauh di bawah kebutuhan air

untuk kebutuhan hidup, pertanian, kegiatan ekonomi dan lingkungan.

Yang dimaksud kekeringan di bidang pertanian adalah kekeringan yang

terjadi di lahan pertanian yang ada tanaman (padi, jagung, kedelai dan

lain-lain) yang sedang dibudidayakan.

6. Angin topan

Angin topan adalah angin kencang yang datang secara tiba-tiba,

mempunyai pusat, bergerak melingkar menyerupai spiral dengan

kecepatan 40-50 km/jam hingga menyentuh permukaan bumi dan dapat

hilang dalam waktu singkat (3-5 menit).

7. Tanah longsor

Tanah longsor merupakan salah satu jenis gerakan massa tanah atau

batuan, ataupun percampuran keduanya, menuruni atau keluar lereng

akibat terganggunya kestabilan tanah atau batuan penyusun lereng.

Page 34: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

16

2.7 Twitter

Twitter adalah situs layanan jejaring sosial yang memungkinkan

penggunanya untuk mengirim dan membaca pesan pendek berukuran 140

karakter yang sering juga disebut dengan tweet. Pengguna yang telah

terdaftar dapat membaca dan memuat tweet, sedangkan mereka yang

belum mendaftar hanya mampu membaca tweet saja. Twitter dapat diakses

melalui interface website, SMS, atau aplikasi mobile (Twitter Developer,

2016).

Twitter diciptakan pada Maret 2006 oleh Jack Dorsey, Evan Williams, Biz

Stone, dan Noah Glass dan diluncurkan pada Juli 2006. Popularitas Twitter

meningkat dengan cepat di seluruh dunia, dengan lebih dari 100 juta

pengguna memasang 340 juta tweet setiap hari pada tahun 2012. Pada

tahun 2013, Twitter menjadi salah satu website yang sering dikunjungi dan

dideskripsikan sebagai “the SMS of the internet”. Ditunjukkan pada

Gambar 2.2 Twitter telah memiliki lebih dari 310 juta pengguna aktif

setiap bulannya.

Page 35: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

17

Gambar 2.2 Grafik jumlah pengguna aktif pada layanan jejaring sosial per April

2016 (statista.com, 2016)

2.8 Twitter API

API (Application Programming Interface) umumnya digunakan untuk

menyelesaikan suatu task, biasanya dalam hal mengambil atau

memodifikasi data. Pada Twitter, API umumnya digunakan oleh para

programmer untuk membuat aplikasi, website, widget, dan proyek lainnya

yang berinteraksi dengan Twitter. API yang umum digunakan adalah

REST API, Streaming API dan Search API.(Twitter Developer, 2016)

REST API memberikan pengguna akses ke noun dan verb yang ada pada

Twitter seperti membaca timeline, tweeting, dan following. Streaming API

memungkinkan penggunanya untuk membaca Twitter secara real-time,

Page 36: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

18

sementara Search API memberikan hasil yang sesuai dengan permintaan

pengguna, yang diperoleh dari korpus tweet dalam jangka waktu tertentu.

2.9 Extreme Programming (XP)

Model proses Extreme Programming diciptakan dan dikembangkan oleh

Kent Beck. Extreme Programming (XP) adalah sebuah pendekatan atau

model pengembangan perangkat lunak yang mencoba menyederhanakan

berbagai tahapan dalam proses pengembangan tersebut sehingga menjadi

lebih adaptif dan fleksibel. Walaupun menggunakan kata programming,

XP tidak hanya terfokus pada coding tetapi meliputi seluruh area

pengembangan perangkat lunak.

Menurut Kent Beck, XP ringan, efisien, resiko rendah, mudah disesuaikan,

dapat diprediksi, ilmiah dan mudah dikembangkan. XP adalah suatu model

yang menekankan pada keterlibatan user secara langsung, pengujian dan

pay-as-you-go design.

Tahapan metode Extreme Programming adalah sebagai berikut.

1. Planning, tahap pengumpulan user stories dari klien yang klien

tetapkan prioritasnya. Setiap story ditetapkan biaya dan lama

pembuatannya. Jika terlalu besar maka story dapat dipecah

menjadi beberapa story yang lebih kecil.

2. Design, tahap ini memanfaatkan kartu CRC (Class Responsibility-

Collaborator) untuk mengidentifikasi dan mengatur class-class di

konsep Object Oriented. Jika menemui kesulitan, maka prototipe

akan dibuat untuk mengurangi resiko.

Page 37: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

19

3. Coding, tahap ini menyiapkan unit test sebelum pengkodean

dipakai sebagai fokus pemrogram untuk membuat program. Pair

programming dilakukan untuk real time program solving dan real

time quality assurance.

4. Testing, di tahap ini dilakukan pengujian menggunakan unit test

yang dipersiapkan sebelum pengkodean. Alur dari Extreme

Programming ditunjukkan pada Gambar 2.3.

Gambar 2.3 Tahap Metode Extreme Programming (Kent Beck, 2000)

2.10 Unified Modeling Language

Unified Modeling Language (UML) adalah himpunan struktur dan teknik

untuk pemodelan desain program berorientasi objek (OOP) serta

aplikasinya (Sholiq, 2006). UML adalah metodologi untuk

mengembangkan sistem OOP dan sekelompok perangkat tool untuk

mendukung pengembangan sistem tersebut. UML mulai diperkenalkan

oleh Object Management Group, sebuah organisasi yang telah

mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an.

Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP.

Page 38: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

20

UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari

IBM.

UML adalah suatu bahasa yang digunakan untuk menentukan,

memvisualisasikan, membangun, dan mendokumentasikan suatu sistem

informasi. UML dikembangkan sebagai suatu alat untuk analisis dan

desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar

Jacobson. Namun demikian UML dapat digunakan untuk memahami dan

mendokumentasikan setiap sistem informasi. Penggunaan UML dalam

industry terus meningkat. Ini merupakan standar terbuka yang

menjadikannya sebagai bahasa pemodelan yang umum dalam ndustry

peranti lunak dan pengembangan sistem.

Ada empat macam UML diagram yang sering digunakan dalam

pengembangan aplikasi beriorientasi objek, yaitu use case diagram,

activity diagram, class diagram, dan sequence diagram.

Page 39: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

21

BAB III

METODOLOGI PENELITIAN

3.1 Waktu dan Tempat Penelitian

Penelitian dilakukan di Gedung Ilmu Komputer, Fakultas Ilmu Komputer

Universitas Lampung yang berlokasi di Jalan Sumantri Boedjoenegoro

No.1 Bandarlampung, Lampung.

3.2 Metode Penelitian

Diagram alir penelitian yang dilakukan dapat dilihat pada Gambar 3.1.

Page 40: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

22

Langkah 1

Identifikasi Masalah

Studi Literatur

Planning

Design

Langkah 2

Pengumpulan data

Text Preprocessing

Clustering

Langkah 3

Pengujian

Analisis hasil pengujian

Gambar 3.1 Diagram alir penelitian

Xtreme Programming dilaksanakan pada tahap Planning dan Design di

langkah 1, tahap Coding pada text preprocessing dan clustering di langkah

2, dan tahap Testing pada pengujian dan analisis hasil pengujian di langkah

3.

3.2.1 Langkah 1

3.2.1.1 Identifikasi Masalah

Pada tahap ini dilakukan identifikasi masalah untuk

mengetahui apa saja yang menjadi tujuan dan batasan dalam

Page 41: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

23

penelitian ini. Tujuan dan batasan masalah dapat dilihat pada

bab I.

3.2.1.2 Studi Literatur

Studi literatur dilakukan untuk memperoleh informasi yang

terkait dengan penelitian, dimana informasi dapat diperoleh

dari penelitian yang pernah dilakukan sebelumnya, jurnal

penelitian yang memiliki kaitan topik dengan penelitian dan

lainnya.

3.2.1.3 Planning

Tahap selanjutnya adalah planning atau perencanaaan. Pada

tahap ini dibuat gambaran dari penelitian yang dilakukan dan

alat atau tools apa saja yang akan digunakan. Dalam Xtreme

Programming, planning dibuat sesederhana mungkin, karena

dalam metode XP yang terpenting adalah programmer

mengerti apa yang harus dilakukan, selain itu planning yang

sederhana juga dapat mengurangi dokumentasi yang

dilakukan.

3.2.1.4 Design

Dalam tahap design, dibuat desain UML diagram dan desain

GUI nya. Ini dilakukan untuk mempermudah programmer

dalam memahami penelitian yang dilakukan.

Page 42: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

24

1. UML diagram

Salah satu desain yang digunakan dalam tahap ini adalah

desain UML atau Unified Modelling Language. UML

design digunakan jika pengembangan aplikasi berbasis

objek. Ada empat diagram berbasis UML yang digunakan

yaitu use case diagram, activity diagram, sequence

diagram, dan class diagram.

1. Use case diagram

Gambar 3.2 Use case diagram

Dari Gambar 3.2, dapat dilihat bahwa user dapat

melakukan dua hal, yaitu mencari hashtag sesuai keyword

yang dimasukkan, dan mengambil data hashtag tersebut.

Page 43: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

25

2. Activity diagram

Activity diagram berfungsi untuk menjelaskan runutan

kejadian dari suatu kegiatan. Dalam activity diagram

dijelaskan awal dari alur suatu kegiatan, macam-macam

kemungkinan yang dapat terjadi, dan keadaan akhir dari

kegiatan tersebut. Alur activity diagram dapat dilihat pada

Gambar 3.3.

Gambar 3.3 Activity diagram mencari hashtag

3. Sequence diagram

Sequence diagram menggambarkan interaksi dalam

aplikasi yang disusun rapi dari awal interaksi hingga akhir.

Sequence diagram mendeskripsikan class dan object yang

terlibat dalam berjalannya suatu proses dalam program

Page 44: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

26

dengan memberikan salah satu class atau object sebuah

tugas atau role dan menjelaskan interaksinya dengan class

atau object lain menggunakan panah vertikal. Sequence

diagram penelitian ini dapat dilihat pada Gambar 3.4.

Gambar 3.4 Sequence diagram mencari hashtag

Pada Gambar 3.4, setelah mengambil data hashtag

dilakukan beberapa tahap untuk mengolah data, yaitu

mengubah format data menjadi lowercase, menghilangkan

stopword atau kata yang umum digunakan,

menghilangkan tanda baca yang tidak diperlukan, dan

memilah data antara data yang memiliki kata yang

memiliki makna bencana alam dan bukan. Kemudian data

tersebut dikelompokkan menjadi beberapa cluster sesuai

dengan parameter yang diberikan dan ditampilkan dalam

bentuk grafik.

Page 45: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

27

2. GUI design

Perancangan tampilan antarmuka atau interface dilakukan di tahap

ini. Perancangan dilakukan agar interaksi pengguna dengan aplikasi

menjadi mudah dan efisien.

Tampilan prototipe interface yang digunakan disajikan pada

Gambar 3.4.

Kolom pencarian hashtag

Kolom nama output

Proses data

Gambar 3.4 Rancangan tampilan interface utama

3.2.2 Langkah 2

3.2.2.1. Pengumpulan data

Pada tahap ini, programmer mulai membuat koding untuk

mengambil data hashtag dari twitter dan menyimpannya.

Pengumpulan data dilakukan menggunakan bahasa

pemrograman Python dan library bernama Tweepy. Di

bawah ini adalah potongan koding pengambilan data

hashtag.

Page 46: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

28

with open(savename, "w") as text_file:

for tweet in tweepy.Cursor(api.

search,q=(Entry.get(E1)),

include_rts=0,lang="id").Items

(3000):

text_file.write(tweet.text.

encode('utf8')+"\n")

3.2.2.2. Text Preprocessing

Pada tahap ini dilakukan pemrosesan teks dengan

mengklasifikasi data text untuk memisahkan mana teks

yang memiliki makna bencana alam dan mana yang bukan,

kemudian menghilangkan tanda baca, nama pengguna

(@username), hashtag (#), tokenisasi, stopword, dan

menghilangkan teks yang sama. Di bawah ini adalah

potongan koding klasifikasi data.

with open(in1, "r") as text_file,

open("temp.txt","w") as out_file:

for lines in text_file.readlines():

remove+=' '.join(re.sub("(@[A-Za-

z0- 9]+)|([^0-9A-Za-

z\t])|(RT)|(\w+:\/\/\ S+)","

",lines).split())+"\n"

out_file.write(remove)

with open("temp.txt", "r") as text_file,

open("temp2.txt","w") as out_file:

lines = text_file.readlines()

lines = list(set(lines))

str1 = ''.join(lines)

out_file.write(str1.lower())

Page 47: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

29

Setelah itu, dilakukan pembobotan pada tiap kata dengan

menggunakan vector space model. Pembobotan dihitung

menggunakan TF-IDF (Term Frequency - Inverse

Document Frequency). Contohnya, untuk kata tektonik, jika

kata tersebut muncul sebanyak 10 kali pada 150 tweet dan

kata tersebut muncul sebanyak 5 kali pada tweet yang akan

dilakukan pemodelan, maka mengacu pada persamaan (1)

nilai bobot kata tersebut adalah:

tfidf = 5 log

= 5,8804562952

Pada program, perhitungan tfidf dilakukan dengan

menggunakan TfIdfVectorizer, dimana kata-kata dalam

dokumen akan langsung diubah menjadi nilai tf idfnya dan

dikumpulkan dalam satu array, yang kemudian akan

digunakan pada algoritma clustering. Di bawah ini adalah

potongan koding TfIdfVectorizer.

data = open("banjir_3k_post.txt", 'r')

line2 = data.readlines()

vect = TfidfVectorizer()

tfidf_m = vect.fit_transform(line2)

3.2.2.3. Clustering

Pada tahap ini, dilakukan clustering terhadap data hasil

preprocessing di tahap sebelumnya. Algoritma yang

digunakan adalah DBSCAN. DBSCAN akan melakukan

clustering sesuai dengan parameter masukkannya, yaitu

epsilon (ε) dan MinPts. Jumlah cluster yang dihasilkan oleh

Page 48: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

30

DBSCAN akan bergantung pada kedua parameter tersebut.

Alur lengkapnya dapat dilihat pada Gambar 3.13.

Menentukan epsilon

Menentukan MinPts

Menghitung jumlah

cluster

Menghitung overall

similarity value

c

Gambar 3.5 Alur penghitungan algoritma DBSCAN

Pada tahap awal, DBSCAN akan mengelompokkan semua

titik sebagai kelompok UNCLASSIFIED. Lalu, secara

iteratif setiap titik diuji kedekatannya dengan titik lain.

DBSCAN akan membuat suatu region dengan radius senilai

eps sehingga region tersebut akan berisi titik-titik yang

berjarak epsilon (ε) dari titik uji. Jika di dalam region

tersebut terdapat sejumlah titik yang banyaknya lebih dari

nilai MinPts, maka semua titik di dalam region tersebut

dimasukkan ke dalam cluster yang sama.

Jika jumlah titik di dalam suatu region lebih kecil dari nilai

MinPts, maka titik uji dianggap sebagai noise. Sebelum

pergantian iterasi, setiap titik yang berada dalam region

Page 49: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

31

yang memiliki jumlah titik lebih dari nilai MinPts, diuji

kembali kedekatannya terhadap titik lain karena proses

cluster dalam DBSCAN ini adalah untuk mencari titik

density-reachable. Dalam hal ini, pemilihan parameter

epsilon (ε) dan MinPts sangat berperan terhadap hasil

cluster. Epsilon adalah parameter untuk menentukan

seberapa dekat satu data dengan yang lainnya untuk dapat

dinyatakan sebagai sebuah cluster. MinPts adalah poin yang

menentukan berapa nilai paling sedikit yang dibutuhkan

sebuah data yang memiliki neighbour untuk dimasukkan ke

dalam cluster.

3.2.3 Langkah 3

3.2.3.1 Pengujian

Pengujian yang dilakukan pada tahap ini adalah sebagai

berikut.

1. Pengujian dengan membandingkan nilai overall

similarity cluster data yang menggunakan klasifikasi dan

data yang tidak menggunakan klasifikasi. Mengacu pada

bab II, overall similarity value yang digunakan adalah

silhouette coefficient value.

2. Pengujian menggunakan epsilon dan minPts untuk

membedakan hasil akhirnya. Pengujian dilakukan

Page 50: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

32

menggunakan 3 macam kombinasi nilai epsilon dan

minPts yang berbeda.

3.2.3.2 Analisis hasil pengujian

Pada tahap ini dilakukan analisis hasil pengujian untuk

mengetahui apakah tujuan penelitian telah tercapai, yaitu

apakah hasil dari menggunakan klasifikasi pada clustering

lebih baik dari penelitian sebelumnya atau tidak.

Page 51: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

52

BAB V

KESIMPULAN

5.1 Kesimpulan

Pada tabel 4.9, diperoleh hasil overall similarity value dengan rincian di

bawah ini.

1. Cluster menggunakan klasifikasi

1.1. Banjir

1. Dengan Epsilon = 1, MinPts = 8, diperoleh value sebesar 0.13219

2. Dengan Epsilon = 1.5, MinPts = 8, diperoleh value sebesar

0.28464

3. Dengan Epsilon = 2, MinPts = 8, diperoleh value sebesar 0.37432

1.2. Gempa Bumi

1. Dengan Epsilon = 1, MinPts = 8, diperoleh value sebesar 0.67325

2. Dengan Epsilon = 1.5, MinPts = 8, diperoleh value sebesar

0.61653

3. Dengan Epsilon = 2, MinPts = 8, diperoleh value sebesar 0.67661

1.3. Erupsi

1. Dengan Epsilon = 1, MinPts = 8, diperoleh value sebesar

0.569033

Page 52: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

53

2. Dengan Epsilon = 1.5, MinPts = 8, diperoleh value sebesar

0.63548

3. Dengan Epsilon = 2, MinPts = 8, diperoleh value sebesar

0.7003224

1.4. Tsunami

1. Dengan Epsilon = 1, MinPts = 8, diperoleh value sebesar

0.457303

2. Dengan Epsilon = 1.5, MinPts = 8, diperoleh value sebesar

0.55330

3. Dengan Epsilon = 2, MinPts = 8, diperoleh value sebesar

0.610667

2. Cluster tidak menggunakan klasifikasi

1.1. Banjir

1. Dengan Epsilon = 1, MinPts = 8, diperoleh value sebesar

0.122753

2. Dengan Epsilon = 1.5, MinPts = 8, diperoleh value sebesar

0.27815

3. Dengan Epsilon = 2, MinPts = 8, diperoleh value sebesar

0.367145

1.2. Gempa Bumi

1. Dengan Epsilon = 1, MinPts = 8, diperoleh value sebesar 0.58482

2. Dengan Epsilon = 1.5, MinPts = 8, diperoleh value sebesar

0.61653

Page 53: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

54

3. Dengan Epsilon = 2, MinPts = 8, diperoleh value sebesar 0.64526

1.3. Erupsi

1. Dengan Epsilon = 1, MinPts = 8, diperoleh value sebesar

0.569033

2. Dengan Epsilon = 1.5, MinPts = 8, diperoleh value sebesar

0.63548

3. Dengan Epsilon = 2, MinPts = 8, diperoleh value sebesar

0.7003224

1.4. Tsunami

1. Dengan Epsilon = 1, MinPts = 8, diperoleh value sebesar

0.452583

2. Dengan Epsilon = 1.5, MinPts = 8, diperoleh value sebesar

0.54654

3. Dengan Epsilon = 2, MinPts = 8, diperoleh value sebesar

0.601179

Berdasarkan hasil pada tabel 4.9, dapat diperoleh kesimpulan bahwa nilai

keseluruhan atau overall similarity value dari cluster tweet yang

menggunakan klasifikasi pada tahap clustering rata-rata lebih baik dari data

yang tidak menggunakan klasifikasi. dan penggunaan klasifikasi terbukti

meningkatkan kualitas daftar kata, yang ditunjukkan dengan overall similarity

value cluster yang semakin mendekati value 1.

Page 54: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

55

5.2 Saran

Berdasarkan kesimpulan diatas, diperoleh beberapa hal yang dapat digunakan

sebagai acuan untuk mengembangkan penelitian ini kedepannya sebagai

berikut.

1. Klasifikasi yang digunakan baru terbatas pada kata-kata mengenai bencana

alam yang tidak memiliki makna bencana alam. Kedepannya, dapat

ditambahkan klasifikasi yang mengecek struktur kata dalam kalimat

sehingga mampu memisahkan kalimat yg memiliki makna bencana alam

dan yang kalimat yang tidak dengan lebih baik.

2. Melakukan penelitian menggunakan algoritma lain dari metode density-

based clustering, dan membandingkan hasilnya dengan hasil dari

DBSCAN.

3. Meningkatkan jumlah data tweet yang diolah. Semakin banyak data yang

dapat diproses maka semakin tinggi akurasi dan kualitas overall value dari

cluster nantinya.

4. Mengecualikan retweet dari data tweet yang diolah. Dengan berkurangnya

jumlah tweet yang memiliki isi yang sama maka kualitas tweet yang diolah

semakin baik sehingga overall value dari cluster semakin baik.

Page 55: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

56

DAFTAR PUSTAKA

Beck, Kent., Jeffries, R., & Cunningham, W. 2000. Extreme Programming:

Embrace Change. Addison-Wesley.

Dudziak, T. 2000. Extreme Programming: An Overview, Methods and tools for

software production. WS.

Ester, Martin,. Kriegel, Hans-Peter., Sander, Jorg., & Xu, Xiaowei. 1996. A

Density-Based Algorithm for Discovering Clusters in Large Spatial

Databases with Noise. Germany: University of Munich.

J. Z, Huang., Ng, Michael., dan L, Jing. 2006. Text Clustering: Algorithms,

Semantics, and Systems. PAKDD Tutorial.

Pressman, Roger S. 2005. Software Engineering : A Practitioner’s Approach.

Palgrave Macmillan.

Rendy., Wibisono, Yudi., & A.S, Rosa. 2013. Event Detection Banjir pada

Microblogging Twitter dengan Algoritma DBSCAN. Bandung : Universitas

Pendidikan Indonesia.

Republik Indonesia. 2003. Undang-Undang Republik Indonesia Nomor 24 Tahun

2007 Tentang Penanggulangan Bencana. Jakarta: Sekretariat Negara.

Sholiq. 2006. Pemodelan Sistem Informasi Berorientasi Objek dengan UML.

Surabaya : Graha Ilmu.

Statista, 2016. .http://www.statista.com/statistics/272014/global-social-networks-

ranked-by-number-of-users/). Diakses pada tanggal 17 Juni 2016.

Stefanowski, Jerzy. 2008. Data Mining – Clustering. Poland : Poznan University

of Technology.

Page 56: IMPLEMENTASI CLUSTERING PADA ALGORITMA DBSCAN …digilib.unila.ac.id/55994/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · adalah bencana alam. Saat suatu kejadian bencana alam timbul pada

57

Twitter Developers, 2016. Twitter Support. .http://support.twitter.com. Diakses

pada tanggal 16 Juni 2016.

Twitter Developers, 2016. Twitter FAQ. .http://dev.twitter.com/faq. Diakses pada

tanggal 16 Juni 2016.