• Tidak ada hasil yang ditemukan

Pembangunan Sistem Analisa Pangsa Pasar Berbasis Data Twitter Berskala Besar.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan Sistem Analisa Pangsa Pasar Berbasis Data Twitter Berskala Besar."

Copied!
19
0
0

Teks penuh

(1)

ABSTRAK

Dokumen teks tergolong dalam data tidak terstruktur. Jika dibandingkan dengan informasi dalam bentuk yang terstruktur seperti dalam tabel pada sebuah database. Maka data tidak terstruktur cukup sulit dalam proses pengelolaan, penyimpanan dan pencarian. Salah satu metode untuk memudahkan dalam proses pencarian teks adalah Inverted Index. Secara intuitif, indexing mirip dengan indeks yang terdapat pada buku. Pada buku

yang cukup tebal sering dijumpai halaman “Indeks” yang cara kerjanya sama dengan inverted index. Tujuan menggunakan Inverted Index adalah untuk meningkatkan kecepatan dan efisiensi dalam proses pencarian pada sekumpulan dokumen. Dengan mengindeks dokumen yang akan dicari, maka pencarian dokumen dengan query tertentu tidak perlu dilakukan secara sekuensial atau diperiksa satu persatu. Proses Indexing terdiri dari beberapa tahapan yaitu, cleansing, lower case kalimat, stopword removal, stemming, dan pembentukan index. Proses dilakukan pada data Twitter yang diambil setiap detik oleh sistem pada regional Indonesia. Indeks yang dihasilkan digunakan dalam proses pencarian dokumen teks. Baik hasil pencarian maupun waktu yang dibutuhkan semua di uji dan dicatat untuk mengukur performa sistem. Hasil menunjukan bahwa setelah di indexing proses pencarian menjadi lebih cepat dan efisien. Untuk menampung data yang besar diperlukan sebuah sistem yang mumpuni. Pada umumnya, Perusahaan besar seperti Twitter tidak menggunakan Relational DataBase Management System (RDBMS) dalam pengolahan datanya, melainkan menggunakan NoSQL. Kelebihan utama dari NoSQL adalah untuk menangani Big Data dimana data terus-menerus berkembang, dimana data tersebut sangat kompleks sehingga sebuah database relational tidak lagi bisa mengakomodir. Harus ada cara lain untuk menanggulangi masalah ini, dan NoSQL lah solusinya. NoSQL menyederhanakan proses yang terjadi dalam sistem basis data relasional. Dimana hal-hal yang menyebabkan redudansi, dihilangkan sehingga trafik server akan seimbang. Salah satu produk NoSQL yang mumpuni adalah MongoDB. dilakukan juga pengujian dan dicatat mengenai perbedaan performa dalam penggunaan MySQL untuk RDBMS dan MongoDB untuk NoSQL. Hasil menunjukan penggunaan NoSQL lebih cepat dibandingkan RDBMS.

(2)

ABSTRACT

Text documents classified in unstructured data. When compared with information in a form that is structured like a table in a database. Then the unstructured data is quite difficult in process management, storage and search. One method to simplify the search process is the text of Inverted Index. Intuitively, indexing similar to the index contained in the book. In the book thick enough often encountered the "Index" which works the same way with the inverted index. The purpose of using Inverted Index is to improve the speed and efficiency in the process of searching in a collection of documents. By indexing the documents to be searched, then the search documents with certain query does not need to be done sequentially or checked one by one. Indexing process consists of several stages, namely, cleansing, lower case sentence, stopword removal, stemming, and the formation index. The process is done on the Twitter data is taken every second by the system at the regional Indonesia. The resulting index is used in the process of searching text documents. Both the search results and the time required all tested and recorded to measure system performance. Results showed that after indexing search process becomes faster and more efficient. To accommodate the large data needed a system that qualified. In general, a large company like Twitter do not use the Relational DataBase Management System (RDBMS) in data processing, but instead use NoSQL. The main advantages of NoSQL is to handle Big Data where data is constantly evolving, where the data is so complex that a relational database can no longer accommodate. There must be another way to tackle these problems, and NoSQL is a solution. NoSQL simplify the processes that occur in a relational database system. Where are the things that cause redundancies, eliminated so that traffic will be balanced server. One product is the MongoDB NoSQL qualified. do also test and note the difference in performance in the use of MySQL to MongoDB's RDBMS and NoSQL. The results showed use of NoSQL faster than RDBMS.

(3)

DAFTAR ISI

LEMBAR PENGESAHAN ... i

PERNYATAAN ORISINALISTAS LAPORAN PENELITIAN ... ii

PERNYATAAN PUBLIKASI LAPORAN PENELITIAN ... iii

PRAKATA ... iv

ABSTRAK ... vi

ABSTRACT ... vii

DAFTAR ISI ... viii

DAFTAR GAMBAR ... xi

DAFTAR TABEL ... xii

DAFTAR NOTASI/ LAMBANG ... xiii

DAFTAR SINGKATAN ... xvi

DAFTAR ISTILAH ... xvii

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Tujuan Pembahasan ... 2

1.4 Ruang Lingkup ... 3

1.5 Sumber Data ... 3

1.6 Sistematika Penyajian ... 3

BAB 2 KAJIAN TEORI ... 5

2.1 Scalability ... 5

2.2 Inverted Index... 5

2.3 Twitter ... 5

(4)

2.5 Mongo Database ... 6

2.6 ERD(Entity Relationship Diagram) ... 7

2.7 Unified Modelling Language(UML) ... 7

BAB 3 ANALISIS DAN RANCANGAN SISTEM ... 8

3.1 Rancangan Eksperimen ... 8

3.1.1 Crawling / Pengumpulan Data ... 8

3.1.2 Langkah Pendaftaran Aplikasi Twitter ... 8

3.1.3 Aturan twitter ... 9

3.1.4 Batasan pada Twitter API ... 9

3.1.5 Indexing ... 10

3.2 Rancangan Basis Data ... 13

3.2.1 Entity Relationship Diagram ... 13

3.2.2 Transformasi ERD ke dalam Table ... 13

3.3 Desain Perangkat Lunak ... 14

3.3.1 Pemodelan Perangkat Lunak ... 14

3.3.1.1 UseCaseDiagram ... 15

3.3.1.1.1 Rancangan Use Case Diagram ... 15

3.3.1.1.2 Deskripsi Use Case Diagram ... 15

3.3.1.2 Activity Diagram ... 16

3.3.1.2.1 Setting Crawling ... 16

3.3.1.2.2 Setting Indexing ... 17

3.3.1.2.3 Start Crawling ... 18

3.3.1.2.4 Start Indexing ... 19

3.3.1.2.5 Stop Crawling ... 20

3.3.1.2.6 Stop Indexing ... 21

(5)

BAB 4 IMPLEMENTASI ... 25

4.1 Class Diagram ... 25

4.2 Implementasi Antarmuka Search ... 25

4.3 Implementasi Antarmuka Crawling ... 26

4.4 Implementasi Antarmuka Indexing ... 26

BAB 5 PENGUJIAN ... 28

5.1 Pengujian Search Inverted Index ... 29

5.2 Pengujian Perbandingan MongoDB dan MySQL dalam konteks Scalability ... 29

5.2.1 Select Data ... 30

5.2.2 Insert Data ... 32

5.2.3 Perbandingan Pengambilan Data Setelah Indexing dan Sebelum Indexing ... 33

BAB 6 SIMPULAN DAN SARAN ... 34

6.1 Simpulan ... 34

6.2 Saran ... 34

(6)

DAFTAR GAMBAR

Gambar 3.1 Tahap indexing ... 10

Gambar 3.2 Entity Relationship Diagram ... 13

Gambar 3.3 Use Case Diagram ... 15

Gambar 3.4 Activity Diagram Setting Crawling ... 17

Gambar 3.5 Activity Diagram Setting Indexing ... 18

Gambar 3.6 Activity Diagram Start Crawling ... 19

Gambar 3.7 Activity Diagram Start Indexing ... 20

Gambar 3.8 Activity Diagram Stop Crawling ... 21

Gambar 3.9 Activity Diagram Stop Indexing ... 22

Gambar 3.10 Rancangan Antarmuka Search ... 23

Gambar 3.11 Rancangan Antarmuka Crawling ... 24

Gambar 3.12 Rancangan Antarmuka Indexing ... 24

Gambar 4.1 Class Diagram... 25

Gambar 4.2 Implementasi Antarmuka Search ... 26

Gambar 4.3 Implementasi Antarmuka Crawling ... 26

Gambar 4.4 Implementasi Antarmuka Indexing ... 27

Gambar 5.1 Contoh Crawling ... 28

Gambar 5.2 Contoh Indexing ... 29

Gambar 5.3 Contoh Pengujian Select Data MySQL dan MongoDB ... 30

(7)

DAFTAR TABEL

Tabel 3.1 Contoh Kasus ... 10

Tabel 3.2 Hasil Cleansing ... 11

Tabel 3.3 Hasil Lower Case Kalimat ... 11

Tabel 3.4 Hasil Stop Word Removal / Filtering ... 11

Tabel 3.5 Hasil Stemming ... 12

Tabel 3.6 Contoh Sample Hasil Pembangunan Index ... 12

Tabel 3.7 Tabel User ... 13

Tabel 3.8 Tabel Tweet... 14

Tabel 3.9 Tabel Index ... 14

Tabel 3.10 Use Case Diagram Setting Crawling ... 15

Tabel 3.11 Use Case Setting Indexing ... 15

Tabel 3.12 Use Case Start Crawling ... 16

Tabel 3.13 Use Case Start Indexing ... 16

Tabel 3.14 Use Case Stop Crawling ... 16

Tabel 3.15 Stop Indexing ... 16

Tabel 5.1 Pengujian Search Inverted Index ... 29

Tabel 5.2 Pengujian Select Data ... 31

Tabel 5.3 Pengujian Pengambilan Data Dengan Query ... 31

Tabel 5.4 Pengujian Insert Data Dengan Query... 32

(8)

DAFTAR NOTASI/ LAMBANG

Jenis Notasi/Lambang Nama Arti

Flowchart Simbol arus /

flow

Menyatakan jalannya arus suatu proses

Flowchart Simbol process Menyatakan suatu tindakan

(proses) yang dilakukan oleh komputer

Flowchart Simbol manual Menyatakan suatu tindakan (proses) yang tidak dilakukan oleh komputer

Flowchart Simbol decision Menujukkan suatu kondisi tertentu yang akan menghasilkan dua kemungkinan

Flowchart Simbol terminal Menyatakan permulaan atau akhir suatu program

Flowchart Simbol hard disk Menunjukkan input/output

menggunakan harddisk.

Flowchart Simbol Penghubung

Menunjukkan penghubung ke halaman yang masih sama atau ke halaman lain.

(9)

Jenis Notasi/Lambang Nama Arti

Flowchart Simbol drum magnetik

Menunjukan input / output

menggunakan drum magnetik

Flowchart Simbol Display Menunjukkan output yang ditampilkan di monitor.

ERD Entitas Menunjukkan sebuah

objek yang dapat

dibedakan dengan objek lainnya

ERD Atribut Mendeskripsikan karakter

entitas

ERD Relasi Menunjukkan adanya

hubungan diantara dan entitas dimana satu entitas dapat memiliki

DFD Alur Data Menunjukkan alur data

(informasi/objek) yang

DFD Proses Menunjukkan tugas atau

proses yang dilakukan baik secara manual atau

(10)

Jenis Notasi/Lambang Nama Arti

DFD Entitas Eksternal Merupakan simbol entitas

eksternal untuk

menunjukkan tempat asal data (sumber) atau tempat tujuan data (Tujuan). Nama entitas eksternal (terminator) ditulis dalam bentuk tunggal.

DFD Penyimpanan

Data

Simbol ini menunjukkan gudang informasi atau data.

Sangat sering terjadi bahwa unsur-unsur data tidak berjalan dari suatu proses ke proses

(11)

DAFTAR SINGKATAN

CSS Cascading Style Sheet

ERD Entity Relationship Diagram

HTML Hyper Text Markup Language

(12)

DAFTAR ISTILAH

Aplikasi suatu perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan sesuatu tugas.

Form tempat untuk mengontrol proses masukan data, menampilkan data, memeriksa, dan memperbaharui data.

System suatu kesatuan yang terdiri komponen yang dihubungkan bersama untuk memudahkan aliran informasi.

Admin pengguna yang memiliki hak akses untuk pengelolaan suatu data dan dapat memberikan akses kepada pengguna tertentu.

User pengguna.

(13)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Dunia teknologi informasi sudah semakin berkembang, teknologi informasi digunakan dibanyak elemen kehidupan salah satunya di bidang bisnis. Dalam penerapannya teknologi informasi diterapkan dalam banyak hal di bidang bisnis seperti penjualan, pembelian, menganalisis potensi konsumen di wilayah tertentu, dan lain-lain. Pada topik ini akan membahas mengenai analisis potensi konsumen di wilayah tertentu dengan mengambil data dari media sosial ‘Twitter’. Penggunaan media sosial seperti ‘Twitter’ merupakan alat yang ampuh untuk memahami sikap, preferensi dan opini publik di berbagai sumber online. Bagi sebuah pelaku bisnis analisis media sosial dapat memberikan keunggulan atas persaingan mereka melalui pengetahuan menyeluruh tentang bagaimana produk dan layanan mereka disarankan oleh pelanggan atau calon pelanggan potensial.

Aplikasi semacam itu sudah ada, namanya sasbuzz, sasbuzz sendiri memiliki banyak fitur yang membantu pengguna dalam proses marketing secara mudah dan tertarget, dengan sazbuzz pengguna dapat melakukan analisis marketing, salah satunya menganalisis brand image, dan mendeteksi negative statement terkait brand atau produk tertentu di Twitter. Namun pada aplikasi yang akan dibuat hanya beberapa fitur yang akan diimplementasikan seperti pengambilan data dari media sosial Twitter, dan negative statement terkait brand

atau produk. Terdapat perbedaan dengan sasbuzz dimana pengguna dapat mengambil data secara multi-thread sesuai dengan kata kunci atau user yang akan di ambil datanya. Pada sistem akan ada 2 preferensi pencarian yaitu, pencarian berdasarkan kata kunci dan bisa diatur pengambilan data lama atau baru atau keduanya, dan pencarian berdasarkan target user yang akan di multi-thread.

Untuk menunjang proses pengambilan dan penyimpanan dari Twitter

(14)

2

pencarian dokumen dengan query tertentu tidak perlu dilakukan secara sekuensial atau diperiksa satu-persatu, untuk menunjang proses indeksing digunakan

MongoDB, keuntungan menggunakan MongoDB diantaranya, banyak digunakan untuk pengolahan Big Data dapat menangani pengelolaan data yang besar dikarenakan MongoDB mengambil memori dari ketersediaan server, mempermudan proses indeksing dikarenakan MongoDB menggunakan hash table

yang memiliki sebuah key unik dan pointer ke item tertentu dari data.

1.2Rumusan Masalah

Berdasarkan latar belakang maka terdapat rumusan masalah antara lain:

1. Bagaimana menganalisis proses kerja dan batasan-batasan yang terdapat pada Twitter API.

2. Bagaimana merancang skalabilitas aplikasi, mulai dari perancangan basis data, proses kerja sistem sampai dengan perancangan antar muka untuk pengguna akhir sesuai dengan kebutuhan instansi?

3. Bagaimana mengimplementasikan sistem berdasarkan hasil rancangan dan sesuai dengan permintaan instansi, mengimplementasikan fitur-fitur pengambilan data mulai dari pengolahan pengguna Twitter, pengolahan data Twitter, penanganan Rate Limit, penanganan pengulangan data, dan skalabilitas sistem.

4. Bagaimana melakukan pengujian terhadap sistem yang telah berhasil diimplementasikan

1.3Tujuan Pembahasan

Berdasarkan rumusan masalah, maka tujuan pembuatan sistem adalah:

1. Menganalisis proses kerja Twitter API, untuk mengetahui batasan dan kelemahan yang terdapat pada Twitter API.

(15)

3

3. Mengimplementasikan aplikasi berdasarkan hasil rancangan dan analisis

Twitter API, mengimplementasikan fitur-fitur pengambilan data mulai dari pengolahan pengguna Twitter, pengolahan data Twitter, penanganan Rate Limit, penanganan pengulangan data, dan penggunaan metoda inverted index untuk skalabilitas sistem.

4. Melakukan pengujian terhadap sistem yang telah berhasil diimplementasikan.

1.4Ruang Lingkup

Ruang Lingkup yang terdapat dalam Software adalah: 1. Input: id dari indexing atau crawling.

2. Output: proses crawling atau indexing yang berhasil dilakukan

1.5Sumber Data

Sumber data yang digunakan untuk pembuatan aplikasi ini diperoleh dari dokumen-dokumen dari pihak yang terkait yaitu tweet dari pengguna yang berada di Indonesia.

1.6Sistematika Penyajian

Dalam proses penyusunan laporan, sistematika pembahasan penulisan laporan tugas akhir akan dijabarkan sebagi berikut:

BAB 1. PENDAHULUAN

Bab 1 berisi tentang pendahuluan yang terdiri dari latar belakang, rumusan masalah, tujuan pembahasan, ruang lingkup kajian, sumber data, dan sistematika penyajian Laporan Tugas Akhir.

BAB 2. KAJIAN TEORI

Bab 2 berisi tentang penjelasan teori-teori yang berkatian dengan pembuatan sistem dan mendukung pembuatan sistem yang ada

BAB 3. ANALISIS DAN RANCANGAN SISTEM

Bab 3 berisi tentang penjelasan analisis suatu keadaan, kebutuhan sistem, perancangan pembuatan sistem, ERD, dan gambaran arsitektur sistem.

(16)

4

Bab 4 berisi tentang penjelasan perencanaan tahap implementasi, proses perkembangan implementasi proyek, penjelasan mengenai realisasi fungsionalitas dan User Interface Design yang sudah dibuat.

BAB 5. PEMBAHASAN DAN UJI COBA HASIL PENELITIAN

Bab 5 berisi tentang penjelasan rencana pengujian sistem serta testing akan diuji dan dilakukan.

BAB 6. SIMPULAN DAN SARAN

(17)

BAB 6

SIMPULAN DAN SARAN

6.1Simpulan

Kesimpulan yang diperoleh dari hasil analisis, pengambilan data, implementasi, dan pengujian aplikasi ini adalah:

1. Proses pengambilan data Twitter memiliki banyak batasan yang harus di tangani salah satunya masalah data aktual dan penanganan rate limit. 2. Performa MongoDB dengan no SQL lebih cepat dibandingkan MySQL ini

disebabkan memchached dan format dokumen yang berbentuk JSON. 3. Performa pencarian dokumen lebih cepat dengan menggunakan inverted

index.

6.2Saran

Berikut ini adalah saran-saran yang bisa dipakai untuk mengembangkan aplikasi:

1. Proses pengambilan data yang mencakup hanya tweet yang terdapat di Indonesia.

(18)

DAFTAR PUSTAKA

[1] O. Ottawa, Proceedings of the 2nd international workshop on Software and performance, Canada, 2010.

[2] Baeza-Yates, Modern Information Retrieval, 2010.

[3] K. Chodorow, 50 Tips and Tricks for MongoDB Developers, O'Reilly Media, 2011.

[4] S. Bagui dan R. Earp, Database Design Using Entity-Relationship Diagrams, Boca Raton: Taylor & Francis Group, 2012.

[5] A. Nugroho, Rekayasa Perangkat Lunak Menggunakan UML dan Java, Yogyakarta: ANDI, 2009.

[6] G. Swain, Object-Oriented Analysis and Design Through Unified Modelling Language, University Science Press: New Delhi, 2010.

[7] Object Management Group, “Business Process Model and Notation Resource

Page,” 9 June 2014. [Online]. Available:

http://www.omg.org/bpmn/index.htm. [Diakses 12 Jan 2016].

[8] Bo Pang, Lillian Lee, Opinion Mining And Sentiment Analysis, Now Publishers Inc, 2008.

[9] F. Hristea, The Naïve Bayes Model for Unsupervised Word Sense Disambiguation: Aspects Concerning Feature Selection, Springer-Verlag Berlin Heidelberg, 2013.

[10] S. Davis, Google Maps API, Texas: Pragmatic Bookshelf, 2007. [11] “FusionCharts,” [Online]. Available: http://www.fusioncharts.com/. [12] [Online]. Available: https://github.com/sastrawi/sastrawi.

[13] A. A. T. Bui dan R. K. Taira, Medical Imaging Informatics, London: Springer Science+Business Media, LLC, 2010.

[14] E. Balagurusamy, Programming With Java:A Primer 3E, New Delhi: Tata McGraw-Hill Publishing Company Limited, 2007.

(19)

Java, London: Springer-Verlag London Limited 2008, 2008.

[16] M. Sahami, S. Dumais, D. Heckerman dan E. Horvitz, “A Bayesian Approach to Filtering Junk E-Mail,” Stanford University, Stanford.

[17] A. Hamzah, “Klasifikasi Teks dengan Naive Bayes Classifier(NBC) untuk Pengelompokan Teks Berita dan Abstract Akademis,” Institut Sains dan Teknologi AKPRIND, Yogyakarta, 2012.

[18] A. Go, L. Huang dan R. Bhayani, “Twitter Sentiment Analysis,” Stanford University, Stanford, 2009.

[19] V. Metsis, I. Androutsopoulos dan G. Paliouras, “Spam Filtering with Naive Bayes - Which Naive Bayes?,” dalam CEAS 2006 - Third Conference on Email and Anti-Spam, California, 2006.

[20] T. O. Reilly dan S. Milstein, The Twitter Book, Sebastopol: O'Reilly Media, Inc., 2011.

[21] D. Wenyuan, X. Gui-Rong, Y. Qiang dan Y. Yong, “Transferring Naive Bayes Classifiers for Text Classification,” Association for the Advancement of Artificial, 2007.

[22] M. Pennacchiotti dan A.-M. Popescu, “A Machine Learning Approach to Twitter User Classification,” Association for the Advancement of Artificial, Sunnyvale, 2011.

[23] A. Pak dan P. Paroubek, “Twitter as a Corpus for Sentiment Analysis and Opinion Mining,” Universit´e de Paris-Sud, Orsay Cedex, 2010.

[24] C. D. Manning, P. Raghavan dan H. Schütze, Introduction to Information Retrieval, Cambridge: Cambridge University Press, 2008.

[25] F. W. d. S. Irawan, .Pemasaran: Prinsip dan Kasus, Yogyakarta: PT BPFE Yogyakarta, 2010.

[26] J. D. M. Rennie, “Improving Multi-class Text Classification with Naive Bayes,” Massachusetts Institute of Technology, Massachusetts, 2010.

Referensi

Dokumen terkait

pemupukan rasa tanggung jawab atas pekerjaan seseorang beserta hasilnya. Artinya kepada para pekerja diberi kebebasan untuk mengendalikan sendiri pelaksanaan tugasnya

Pengguna juga bisa dengan mudah menginstal distribusi Linux yang berbeda atau sistem operasi lain yang kurang dikenal dalam virtual machine dalam melakukan suatu

Orang dewasa tidak langsung menembak orang begitu selesai menonton acara yang menam- pilkan adegan tembak – menembak, tetapi acara ini memberikan kecen- derungan

Apabila nuklida memiliki terlalu banyak neutron dan proton (jumlah proton >83) atau yang bermassa besar akan terletak di seberang pita kestabilan, unsur tersebut akan mengalami

Meningkatkan hubungan kerjasama dari berbagai lembaga yang berkaitan dengan upaya pemasaran produk kerajinan tenun ikat Dayak, Strategi ini bermanfaat untuk

Keuntungan dari bakteri ini adalah memiliki protein yang dapat bekerja pada kondisi lingkungan dengan suhu tinggi dimana protein/ enzim lain dapat mengalami denaturasi.. Salah

Pada tabel data sumber protein nabati berisi kode inisial, nama, berat dan jumlah kalori dari sumber protein nabati seperti pada tabel 5 yang terdiri dari 3 data.

Kepada pembuat dasar dan polisi,segala keputusan dan dasar-dasar yang telah diputuskan terdahulu seperti Dasar Kebudayaan Kebangsaan, Dasar Penerapan Nilai-Nilai Islam