AKUISISI DATA PADA SISTEM INFORMASI GEOGRAFIS BERBASIS TWITTER UNTUK KASUS PERTANIAN DI INDONESIA
FIRDAUS SAPTAHADI PRATAMA
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2015
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Akuisisi Data pada Sistem Informasi Geografis Berbasis Twitter untuk Kasus Pertanian di Indonesia adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Agustus 2015 Firdaus Saptahadi Pratama NIM G64110048
ABSTRAK FIRDAUS SAPTAHADI PRATAMA. Akuisisi Data pada Sistem Informasi Geografis Berbasis Twitter untuk Kasus Pertanian di Indonesia. Dibimbing oleh HARI AGUNG ADRIANTO. Media sosial memiliki banyak informasi beragam yang menyebar cepat, salah satunya informasi mengenai pertanian. Salah satu media sosial yang banyak digunakan adalah Twitter. Hal ini dapat digunakan untuk membangun sistem informasi geografis berbasis Twitter yaitu SIG Cabertwit. Twitter dapat digunakan sebagai sumber data. Oleh sebab itu, data perlu diakuisisi dari Twitter. Akuisisi data digunakan sebagai modul awal dalam tahapan pembuatan SIG Cabertwit. Akuisisi data mempermudah pengguna untuk pengambilan data Twitter dan mempermudah modul selanjutnya pada penelitian SIG cabertwit yaitu praproses data. Modul akuisisi data menggunakan data dari Twitter API dan dibangun dalam aplikasi berbasis web menggunakan framework Shiny. Pengembangan aplikasi akuisisi data Twitter menggunakan metode incremental. Data hasil akuisisi memiliki 19 atribut yang dapat dipilih sesuai kebutuhan dan dapat diunduh dalam CSV. Hasil dari penelitian ini mendapatkan tweets mengenai kasus pertanian di Indonesia dan membangun aplikasi akuisisi data Twitter berbasis web yang dapat mengategorikan data berdasarkan timeline, jumlah kata kunci, waktu, lokasi, dan gabungan ketiganya. Kata kunci: akuisisi data, Shiny, SIG, Twitter
ABSTRACT FIRDAUS SAPTAHADI PRATAMA. Data Acquisition in Twitter-based Geographic Information Systems for Agricultural Cases in Indonesia. Supervised by HARI AGUNG ADRIANTO. Social media have much variety of information that spreads tremendeously fast, including agricultural information. One of the most popular social media used is Twitter. It is possible to build a Twitter-based geographic information systems, called GIS Cabertwit. Twitter can be used as a data source. Therefore, the data acquisition on Twitter data is necessary. Data acquisition is used as the first module in making GIS Cabertwit. Data aquisition facilitates users to retrieve Twitter data and data preprocessing for the next module in GIS Cabertwit research. This module uses data from the Twitter API and built in web-based applications using the framework Shiny. The development of this application used incremental method. Data from this applications have 19 attributes that can be selected according to requirements and can be downloaded in CSV. This research has obtained tweets about agricultural cases in Indonesia and built Twitter data acquisition web-based application which can categorize data based on the timeline, the number of keywords, time, location, or three of them. Keywords: data acquisition, GIS, Shiny, Twitter
AKUISISI DATA PADA SISTEM INFORMASI GEOGRAFIS BERBASIS TWITTER UNTUK KASUS PERTANIAN DI INDONESIA
FIRDAUS SAPTAHADI PRATAMA
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2015
Penguji: 1 Muhammad Abrar Istiadi, SKomp MKom 2 Dr Imas Sukaesih Sitanggang, SSi MKom
Judul Skripsi: Akuisisi Data pacta Sistem In fo rmasi Geografis Berbasis Twitter untuk Kasus Pertanian di Indonesia N ama : Firdaus Saptahadi Pra tam a NIM : G64110048
Disetujui oleh
~~
/ ; ' "•'i) IO~fU\ ty D / , ' ~ ': ,- R I A N;A ..q'tt
.-/ . o"
:~
-~
T
. ~;:~~~E A- Dr It: A.
- ' ono MSi MKom : ::..-"_,J(~tufYDepartemen
,,-:~i'!i~~~~-~:.(1 Tanggal Lulus:
\_1 0 AUG 2015
PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Judul yang dipilih dalam penelitian yang dilaksanakan sejak bulan Januari 2015 ini ialah Akuisisi Data pada Sistem Informasi Geografis Berbasis Twitter untuk Kasus Pertanian di Indonesia. Penulis menyadari bahwa selama mengerjakan tugas akhir ini mengalami berbagai kendala. Namun, atas berkat kerja sama dan bimbingan dari berbagai pihak dan atas berkat rahmat Allah subhanahu wa ta’ala kendala yang dihadapi dapat diselesaikan. Untuk itu penulis ucapkan terima kasih kepada Bapak Hari Agung Adrianto, SKom MSi selaku pembimbing yang telah sabar, tulus, dan ikhlas meluangkan waktu, tenaga, dan pikiran dalam memberikan bimbingan, motivasi, arahan, dan saran yang bermanfaat bagi penulis. Serta, terima kasih kepada Bapak Muhammad Abrar Istiadi, SKomp MKom dan Ibu Dr Imas Sukaesih Sitanggang, SSi MKom selaku penguji atas segala saran dan masukan yang diberikan. Penulis juga mengucapkan terima kasih kepada rekan-rekan atas kerja samanya dan dukungannya. Ungkapan terima kasih juga disampaikan kepada ayah, ibu, serta seluruh keluarga, atas segala doa dan kasih sayangnya. Semoga karya ilmiah ini bermanfaat.
Bogor, Agustus 2015 Firdaus Saptahadi Pratama
DAFTAR ISI DAFTAR TABEL
vi
DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
2
Tujuan Penelitian
2
Manfaat Penelitian
2
Ruang Lingkup Penelitian
2
TINJAUAN PUSTAKA
3
Sistem Informasi Geografis
3
Data Geospasial
3
Big Data
3
Packages Library R
4
METODE
4
Data Penelitian
4
Tahapan Penelitian
4
Lingkungan Pengembangan
10
HASIL DAN PEMBAHASAN
11
Koneksi ke Twitter API
11
Pencarian Kata Kunci
12
Penyimpanan Data
13
Implementasi Aplikasi
13
Pengujian Aplikasi
18
Keunggulan Aplikasi
21
Kelemahan Aplikasi
22
SIMPULAN DAN SARAN
22
Simpulan
22
Saran
22
DAFTAR PUSTAKA
23
DAFTAR TABEL 1 Atribut pada data Twitter 2 Perbedaan geocode Google Maps dan geocode apilikasi akuisisi data 3 Status pengujian aplikasi akuisisi data
13 19 21
DAFTAR GAMBAR 1 Tahapan pembuatan SIG Cabertwit 2 Tahapan akuisisi data Twitter 3 Arsitektur aplikasi akuisisi data Twitter 4 Pembuatan modul akuisisi data Twitter 5 Use case modul akuisisi data Twitter koneksi ke Twitter API 6 Use case modul akuisisi data Twitter tahap pencarian kata kunci 7 Use case modul akuisisi data Twitter tahap penyimpanan data 8 Pembuatan aplikasi development pada Twitter 9 Kode koneksi ke Twitter API 10 Penyimpanan data dalam bentuk CSV 11 Tampilan aplikasi akuisisi data Twitter 12 Pilihan data yang akan dicari berdasarkan kategori 13 Pencarian data berdasarkan tweets pada timeline 14 Pencarian data berdasarkan jumlah topik yang dicari 15 Pencarian data berdasarkan tanggal 16 Pencarian data berdasarkan lokasi 17 Pencarian data berdasarkan jumlah, tanggal, dan lokasi 18 Pemilihan atribut yang dibutuhkan ketika ditampilkan 19 Geocode yang menggunakan library ggmap 20 Salah satu hasil data yang belum dilakukan pemisahan tag HTML 21 Salah satu hasil data yang sudah dilakukan pemisahan tag HTML
5 5 6 8 8 9 10 11 12 13 14 15 15 16 16 17 17 18 19 20 20
PENDAHULUAN Latar Belakang Perkembangan teknologi yang semakin modern dapat mempermudah manusia untuk mendapatkan informasi yang didukung dengan adanya internet. Internet merupakan salah satu sumber informasi dan media informasi yang paling efektif untuk saat ini. Internet dapat diakses setiap waktu dan di setiap tempat yang terkoneksi dengannya, sehingga banyak informasi yang menyebar dengan cepat dan beragam. Informasi dapat menyebar melalui email, blog, media sosial, dan perangkat lunak lainnya. Saat ini yang banyak digunakan yaitu media sosial. Kemenkominfo (2013) menyatakan bahwa pengguna internet di Indonesia mencapai 63 juta orang, 95% di antaranya mengakses media sosial. Indonesia menempati peringkat ke-4 untuk Facebook dan peringkat ke-5 untuk Twitter. Media sosial merupakan layanan berbasis web yang memungkinkan individu membangun profil dalam sistem yang terbatas, berhubungan dengan pengguna lain untuk berbagi informasi, dan melihat profil pengguna lain di dalam sistem tersebut (Boyd dan Ellison 2007). Media sosial adalah sebuah group baru dari media online yang memiliki karakteristik seperti partisipasi, keterbukaan, pembicaraan, komunitas, dan keterhubungan (Mayfield 2008). Media sosial Twitter memuat banyak informasi, salah satunya di bidang pertanian. Pertanian memegang peranan penting dalam stuktur pembangunan perekonomian nasional di Indonesia karena kekayaan sumber daya alamnya. Pertanian di Indonesia masih menunjukkan hasil yang kurang maksimal karena terdapat berbagai kendala. Oleh karena itu, dibuatlah sebuah sistem informasi geografis (SIG) yang bernama Cari Berita Pertanian Lewat Twitter (Cabertwit) untuk melihat perkembangan pertanian di Indonesia. SIG merupakan sistem komputer kompleks untuk menyimpan, memanipulasi, dan menampilkan data geospasial. Data geospasial merupakan data yang mengandung unsur lokasi di permukaan bumi yang menggunakan koordinat (Westra 2013). SIG Cabertwit ini menggunakan Twitter sebagai sumber datanya dan data geospasial ini dapat diolah dari data Twitter dengan menggunakan aplication programming interface (API) dan perangkat lunak Rstudio. API digunakan untuk menggali data, memvisualisasikannya, dan mengotomatisasi proses analisis data (Prajapati 2013). Pada tahapan pembuatan SIG Cabertwit memiliki beberapa rangkaian modul. Modul pertama merupakan akuisisi data berbasis Twitter. Modul kedua melakukan praproses data. Modul ketiga penyimpanan database menggunakan MongoDB. Modul keempat melakukan pengolahan data, dan modul terakhir pembuatan visualisasi data berupa peta. Modul yang dikerjakan pada penelitian ini terfokus pada modul akuisisi data Twitter untuk kasus pertanian di Indonesia. Internet menyediakan banyak informasi yang menyebar dengan cepat dan memiliki keragaman atau yang dikenal dengan istilah volume, velocity, dan variety. Istilah tersebut biasa dikenal dengan big data. Big data merupakan data yang melebihi kapasitas dari sistem database, datanya banyak (volume), cepat (velocity), dan tidak tepat dengan struktur database yang dibuat (variety) (Dumbill 2012). Menurut Dumbill (2012), salah satu contoh big data yaitu media sosial.
2 Salah satu dari media sosial yang banyak digunakan di Indonesia yaitu Twitter sehingga dilakukan akuisisi data pada Twitter. Penelitian ini mengembangkan suatu aplikasi untuk mengakuisisi data mengenai pertanian di Indonesia yang berbasis Twitter. Pembuatan modul akuisisi data dimaksudkan untuk mempermudah pengguna dalam pengambilan data Twitter untuk kasus pertanian di Indonesia dan mendapatkan data hasil akuisisi tersebut agar bisa digunakan untuk modul praproses data yang merupakan modul selanjutnya pada SIG Cabertwit. Perumusan Masalah Perumusan masalah dalam penelitian ini adalah: 1 Bagaimana mengakuisisi data berbasis Twitter untuk kasus pertanian di Indonesia? 2 Bagaimana membuat modul akuisisi data berbasis Twitter untuk kasus pertanian di Indonesia dalam bentuk aplikasi web?
Tujuan Penelitian Tujuan dari penelitian ini adalah: 1 Mendapatkan data dari Twitter untuk kasus pertanian di Indonesia. 2 Membuat modul akuisisi data pada Twitter untuk kasus pertanian di Indonesia dalam bentuk aplikasi web.
Manfaat Penelitian Manfaat dari penelitian ini adalah: 1 Mempermudah pengguna dalam pengambilan data berbasis Twitter untuk kasus pertanian di Indonesia. 2 Mempermudah modul praproses data pada SIG Cabertwit ini dengan mengambil data hasil akuisisi dari Twitter.
Ruang Lingkup Penelitian Lingkup dari penelitian ini, yaitu: 1 Pada penelitian ini dibatasi pada data Twitter mengenai pertanian di Indonesia dalam bentuk teks yang berupa tweets tanaman padi, tanaman jagung, tanaman kelapa, tanaman cabai, hama, dan puso. 2 Perangkat lunak yang digunakan yaitu Rstudio dan platform berupa sistem operasi Windows
3
TINJAUAN PUSTAKA Sistem Informasi Geografis Sistem informasi geografis (SIG) merupakan sistem komputer yang kompleks untuk menyimpan, memanipulasi, dan menampilkan data geospasial. Ada beberapa konsep SIG yang harus diketahui yaitu location, distance, units, projections, datums, coordinate systems, dan shapes. Ada beberapa format data bekerja pada data geospasial yaitu data raster dan vektor. Data raster merupakan data yang digunakan untuk menyimpan gambar bitmap dalam bentuk piksel contohnya pengambilan gambar melalui citra satelit. Data vektor merupakan data yang merepresentasikan data spasial mengunakan titik, garis dan poligon contoh data vektor seperti sungai dan jalan. Format vektor banyak digunakan dalam data geospasial karena datanya kecil dan mudah diubah (Westra 2013). Komponenkomponen SIG terdiri atas hardware, software, data, manusia, dan metode. Hardware berupa sistem komputer yang mengoperasikan SIG. Software berupa perangkat lunak yang menyediakan alat dan fungsi yang dibutuhkan untuk menyimpan, menganalisis, dan menampilkan informasi geografis. Data merupakan komponen terpenting dalam SIG. Manusia merupakan komponen SIG yang mengatur dan membangun sistem untuk diterapkan dalam kehidupan nyata. Metode merupakan komponen yang dapat menjalankan keberhasilan SIG dalam rencana pengembangan dan alur bisnis (Buckley 1997). Data Geospasial Geospasial merupakan informasi lokasi pada permukaan bumi yang menggunakan koordinat. Data geospasial berhubungan dengan keterangan lokasi. Data geospasial direpresentasikan dengan koordinat yang berbentuk garis lintang dan garis bujur. Contohnya posisi dari tower telepon selular, bentuk jalan, dan potongan negara. Data geospasial dapat direpresentasikan dari rangkaian koordinat misalnya atribut seperti suhu, tipe tanah, ketinggian, dan lainnya. Atribut tersebut terdapat ribuan atau jutaan titik data untuk satu set data geospasial (Westra 2013). Big Data Big data merupakan data yang melebihi kapasitas sistem basis data yang biasanya. Data sangat besar, berpindah dengan cepat, dan tidak tepat dengan arsitektur basis data yang dibangun karena beragam. Input data yang besar di antaranya jaringan sosial, citra satelit, audio stream, transaksi banking, musik, konten halaman web, GPS, dan sebagainya. Big data mempunyai tiga karakteristik yaitu volume, velocity, dan variety (Dumbill 2012). Velocity mengacu pada latency yang rendah dan kecepatan alirannya real-time misalnya situs jejaring sosial. Volume mengacu pada ukuran dataset. Ukurannya bisa KB, MB, GB, TB, atau PB berdasarkan jenis aplikasi yang menghasilkan atau menerima data. Variety mengacu pada berbagai jenis data misalnya teks, audio, video, dan foto (Prajapati 2013).
4 Packages Library R Packages R merupakan kumpulan dari fungsi R yang dapat digunakan ketika fungsi tersebut dibutuhkan. Setiap paket terdiri dari satu atau lebih fungsi R. Paket R dapat digunakan kembali dan dapat dipasang paket lain yang diperlukan (Prajapati 2013). Pada penelitian ini library dari CRAN yang digunakan sebagai berikut: 1 twitteR: menyediakan sebuah antarmuka ke web Twitter API 2 RCurl: memudahkan untuk mengambil uniform resource locator (URL), bentuk get dan post, dan hasil prosesnya dikembalikan oleh server web. 3 ROAuth: menyediakan sebuah antarmuka OAuth 1.0 sehingga pengguna dapat otoritas menggunakan OAuth ke server. 4 rjson: konversi objek R ke JavaScript object notation (JSON). 5 plyr: operasi pada masing-masing potongan dan kemudian menempatkan semua potongan kembali bersama-sama atau menggabungkan potongan/data yang terpencar. 6 RJSONIO: konversi data ke dan dari data JSON format. 7 ggplot2: menerapkan grafis dalam R. 8 Shiny: framework R yang dapat membangun aplikasi web interaktif. 9 qdapRegex: ekpresi regular untuk mengekstraksi URL. 10 httr: menyediakan alat yang berguna untuk bekerja dengan hypertext transfer protocol (HTTP).
METODE Data Penelitian Data yang digunakan dalam penelitian ini adalah data dari Twitter menggunakan API. Data ini berupa tweets mengenai pertanian di Indonesia dalam bentuk teks yang berupa tweets tanaman padi, tanaman jagung, tanaman kelapa, tanaman cabai, hama, dan puso. Alasan memilih kata kunci tersebut karena pada modul pengolahan data pada SIG Cabertwit ini akan dikelompokkan berdasarkan gagal panen dengan tanaman yang berbeda. Tahapan Penelitian Tahapan pembuatan SIG Cabertwit terbagi ke dalam beberapa modul di antaranya tahap pertama dilakukan akuisisi data dari Twitter menggunakan API. Tahap kedua dilakukan praproses data (tokenisasi, filtering, stemming, stop word removal). Tahap ketiga dilakukan penyimpanan data menggunakan MongoDB. Tahap keempat dilakukan pengolahan data. Tahap terakhir dilakukan visualisasi SIG. Tahapan pembuatan SIG Cabertwit dapat dilihat pada Gambar 1.
5
Twitter
Akuisisi
Visualisasi data
Data
Praproses data
Pengolahan data
Pembuatan database
Gambar 1 Tahapan pembuatan SIG Cabertwit Menurut Russell (2014), tahapan akuisisi data Twitter terdapat 3 tahapan yaitu koneksi ke Twitter API, pencarian kata kunci, dan penyimpanan data tweets. Tahapan akuisisi data Twitter dapat dilihat pada Gambar 2.
Gambar 2 Tahapan akuisisi data Twitter Koneksi ke Twitter API Tahap ini membuat koneksi R ke Twitter API dengan menggunakan library twitteR, ROAuth, RCurl, dan rjson. Tahap ini akan membuat aplikasi agar bisa mengakses data Twitter dan memerlukan akun untuk proses pembuatannya. R akan dimasukan consumer key dan consumer secret yang berada pada aplikasi yang telah dibuat. Consumer key dan consumer secret pada setiap aplikasi berbeda-beda sehingga kedua key tersebut merupakan identitas aplikasi yang telah dibuat. Key tersebut dibutuhkan untuk authorization. Setelah itu, R dapat terhubung dengan Twitter API. Pencarian Kata Kunci Tahap ini dilakukan pencarian data berupa kata kunci yang dicari. Pencarian kata kunci ini dapat berdasarkan empat kategori yaitu (1) timeline jika ingin mencari tweets berdasarkan username, (2) jumlah jika ingin mencari tweets global berdasarkan kata kunci sesuai jumlah yang dibutuhkan, (3) waktu jika ingin mencari tweets global berdasarkan kata kunci sesuai tanggal, dari tanggal yang dibutuhkan dan sampai tanggal yang dibutuhkan, (4) tempat jika ingin mencari tweets global berdasarkan kata kunci sesuai lokasi yang dibutuhkan dan bisa sekaligus berdasarkan jumlah, waktu, dan tempat. Hal ini digunakan jika dibutuhkan pencarian tweets global dengan jumlah, tanggal, dan lokasi yang dibutuhkan. Penyimpanan Data Twitter Data Twitter yang telah dilakukan pencarian berdasarkan kategori dapat diunduh untuk setiap kategorinya. Data Twitter memiliki beberapa atribut yang mengandung berbagai informasi tentang tweets dan dapat diunduh sesuai
6 kebutuhan. Data Twitter hasil akuisisi disimpan dalam bentuk comma separated values (CSV). Arsitektur Aplikasi Akuisisi Data Twitter Arsitektur aplikasi akuisisi data Twitter dapat dilihat pada Gambar 3. Proses dimulai ketika klien (A) mengakses server R (B) melalui jaringan (E), server R (B) membuat koneksi dengan Twitter API (D) untuk mendapatkan verifikasi dan mengambil data Twitter melalui jaringan (E). Jika terdapat URL pada data teks Twitter, server R (B) mengakses web (F) yang terdapat pada URL tersebut untuk diambil datanya. Untuk melakukan pencarian Twitter berdasarkan lokasi, server R (B) mengakses Google API (C) untuk mengambil geocode. Secara umum alur arsitektur aplikasi seperti A-E-B-E-C-E-B-E-D-E-B-E-F-E-B.
Gambar 3 Arsitektur aplikasi akuisisi data Twitter Ketika klien (A) mengakses server R melalui jaringan internet (E), server R merespon dengan menampilkan UI menggunakan library Shiny (1). Library Shiny (1) memanggil library twitteR (10) untuk mengambil data Twitter. Library twitteR melakukan otorisasi terlebih dahulu dengan memanggil RCurl (2) untuk meminta sertifikasi hak otoritas pada http://curl.haxx.se/ca/cacert.pem (F) melalui jaringan (E) dan mengembalikanya pada library twitteR dalam bentuk file. Setifikat ini yang digunakan dalam pencarian oleh library twitteR. Library ROAuth (3) melakukan otorisasi dengan Twitter menggunakan sertifikat yang telah dipanggil oleh library RCurl (2). Server R (B) meminta kode acak pada klien (A) yang dikirimkan Twitter (D) melalui jaringan (E) setelah ROAuth (3) meminta otorisasi dengan Twitter API (D). Klien (A) memasukan kode acak kemudian server R (B) menerima verifikasi tersebut maka terhubunglah server R
7 (B) dengan Twitter (D). Urutan arsitektur untuk koneksi ke Twitter API seperti AE-B(1)-B(10)-B(2)-E-F-E-B(3)-E-D-E-A-E-B(3). Klien (A) memasukan kata kunci yang akan dicari pada library Shiny (B(1)) melalui server, library Shiny (B(1)) tersebut mengirimkan kata kunci tersebut ke library twitteR (B(10)). Library twitteR memanggil library rjson (B(4)) untuk mengambil data pada Twitter. Ketika klien (A) memasukan kata kunci disertai geocode maka library Shiny (B(10)) memanggil library RJSONIO (B(9)) untuk terkoneksi dengan Google API. Library RJSONIO (B(10)) mengembalikan hasil geocode ke library Shiny (B(1)) dan mengirimkannya juga ke library twitteR (B(10)). Library twitteR (B(10)) memanggil library rjson (B(4)) untuk mengambil data pada Twitter yang mengandung geocode. Alur arsitektur untuk pencarian kata kunci seperti A-E-B(1)-B(10)-B(4), pencarian yang menggunakan geocode seperti A-E-B(1)-B(9)-E-C-E-B(1) dan B(10)-B(4). Data Twitter yang telah diambil menggunakan library rjson (B(4)) ditampilkan dengan memanggil library plyr (B(7)). Data Twitter memiliki 19 atribut, 3 di antaranya yaitu URL, URL2, dan content ditambahkan secara manual dengan menambahkan kolom baru pada library plyr. Untuk mendapatkan URL diambil dari atribut teks pada data Twitter dengan memanggil library qdapRegex (B(6)) dan mengembalikannya ke library plyr (B(4)) berupa URL yang telah dilakukan ekstraksi dari atribut teks. Untuk menampilkan URL2 sama seperti URL. Namun, URL2 mengambil URL pertama jika URL terdapat lebih dari satu. Untuk mengambil data dari setiap URL maka dilakukan pemanggilan library httr (B(5)). Library httr (B(5)) mengambil data dari web (F) untuk setiap URL yang didapat dari library qdaptRegex (B(6)). Hasil data tersebut dikembalikan ke library plyr (B(7)). Alur arsitektur untuk menampilkan data seperti A-E-B(1)B(9)-E-C-E-B(1) dan B(10)-B(4)-B(7), menampilkan data yang memiliki URL seperti A-E-B(1)-B(9)-E-C-E-B(1) dan B(10)-B(4)-B(7)-B(6)-B(7) dan B(5)-E-FE-B(7). Pemilihan setiap atribut yang akan ditampilkan pada library plyr (B(7)) dilakukan dengan menggunakan library ggplot2 (B(8)). Library ggplot2 (B(8)) ini menampilkan pemilihan atribut pada library Shiny (B(1)) berupa input checkbox dan mengembalikan data input yang akan ditampilkan sesuai yang dipilih melalui library Shiny (B(1)) ke library plyr (B(7)). Kemudian, library plyr mengirimkan data yang akan ditampilkan pada library Shiny (B(1)). Alur arsitektur pemilihan atribut seperti A-E-B(1)-B(9)-E-C-E-(B(1) dan B(10))-B(4)-B(7)-B(6)-(B(7) dan B(5))-E-F-E-B(7)-B(8)-B(7)-B(1)-B(1)-B(8)-B(7)-B(1). Ketika klien (A) melakukan pengambilan data melalui server maka library Shiny (B(1)) mengirimkan data Twitter hasil pencarian yang ditampilkan pada library plyr pada klien. Alur arsitektur pengambilan data seperti A-E-B(1)-E-A. Pembuatan Modul Akuisisi Data Twitter Modul akuisisi data memiliki beberapa tahapan yang setiap tahapannya saling ketergantungan satu sama lain. Setelah satu tahapan selesai baru mulai mengerjakan tahapan lainnya. Tahapan pertama merupakan tahapan inti dari modul. Oleh karena itu, pembuatan modul akuisisi data Twitter menggunakan model pengembangan incremental. Menurut Pressman (2010), pengembangan incremental merupakan gabungan dari unsur linier dan aliran proses paralel. Model incremental menerapkan linear sequences sebagai calendar time
8 progresses. Pengembangan incremental berguna untuk proyek kecil dengan anggota tim yang sedikit dan ketersediaan waktu yang terbatas. Untuk setiap fungsi pada software terdapat beberapa tahapan yaitu planning (P), analysis (A), design (D), implementasi (I), dan pengujian (T). Pembuatan modul akuisisi data Twitter dapat dilihat pada Gambar 4.
Gambar 4 Pembuatan modul akuisisi data Twitter Koneksi ke Twitter API Planning: pembuatan modul akuisisi data Twitter ini dimulai dengan rencana pembuatan modul dalam bentuk aplikasi. Dalam perencanaan, aplikasi dibuat berbasis web dengan bahasa pemrograman framework Shiny. Pada tahapan pertama akuisisi data yaitu koneksi ke Twitter API, tahapan ini berencana untuk mendapatkan izin resmi pengambilan data dari Twitter. Analysis: koneksi ke Twitter API dapat dilakukan secara otomatis ketika aplikasi dijalankan. Design: perancangan modul akuisisi data tahap koneksi ke Twitter API dapat dilihat pada Gambar 5.
Gambar 5 Use case modul akuisisi data Twitter koneksi ke Twitter API Implementasi dan pengujian: membuat koneksi ke Twitter API sesuai planning, analysis, dan design pada aplikasi web dan dilakukan pengujian koneksi ke
9 Twitter API pada aplikasi web agar dapat digunakan tanpa adanya masalah pada tahapan koneksi ke Twitter API. Pencarian Kata Kunci Planning: aplikasi akuisisi data dapat melakukan pencarian kata kunci. Analysis: pencarian kata kunci dapat dikategorikan berdasarkan pencarian timeline, jumlah, waktu, lokasi, dan bisa ketiganya. Design: Perancangan modul akuisisi data tahap pencarian kata kunci dapat dilihat pada Gambar 6.
Gambar 6 Use case modul akuisisi data Twitter tahap pencarian kata kunci Implementasi dan pengujian: melakukan penambahan fitur pencarian kata kunci sesuai planning, analysis, dan design pada aplikasi web dan dilakukan pengujian fitur pencarian kata kunci pada aplikasi web agar dapat digunakan tanpa adanya masalah pada tahapan pencarian kata kunci. Penyimpanan Data Twitter Planning: aplikasi akuisisi data Twitter ini dapat diunduh dalam bentuk CSV. Analysis: penyimpanan data Twitter dapat disimpan berdasarkan atribut yang dipilih. Design: Perancangan modul akuisisi data tahap penyimpanan data dapat dilihat pada Gambar 7.
10
Gambar 7 Use case modul akuisisi data Twitter tahap penyimpanan data Implementasi dan pengujian: melakukan penambahan fitur penyimpanan data sesuai planning, analysis, dan design pada aplikasi web dan dilakukan pengujian fitur penyimpanan data pada aplikasi web agar dapat digunakan tanpa adanya masalah pada tahapan penyimpanan data. Lingkungan Pengembangan Spesifikasi perangkat keras dan perangkat lunak yang digunakan untuk penelitian ini adalah sebagai berikut: Perangkat lunak: • Rstudio 0.98.1102 • R sebagai bahasa pemrograman • Sistem operasi Windows 8 Perangkat keras: • Processor Intel Core i5-450M • RAM 2 GB
11
HASIL DAN PEMBAHASAN Koneksi ke Twitter API Langkah pertama untuk membuat koneksi ke Twitter API yaitu membuat aplikasi development terlebih dahulu di https://apps.twitter.com/. Pada aplikasi development terdapat beberapa key penting seperti consumer key (API key), consumer secret (API secret), oauth token, dan oauth token secret. Contoh pembuatan aplikasi dapat dilihat pada Gambar 8.
Gambar 8 Pembuatan aplikasi development pada Twitter Pada Rstudio dibutuhkan library twitteR. Library twitteR membutuhkan library RCurl, ROAuth, dan rjson. RCurl digunakan untuk mengunduh file di http://curl.haxx.se/ca/cacert.pem dan disimpan dengan nama cacert.pem, file ini bersisi sertifikasi otoritas publik. Library ROAuth digunakan untuk proses authorization. Proses tersebut membutuhkan consumer key dan consumer secret. Ketika proses authorization, R secara otomatis membuka browser untuk verifikasi dengan aplikasi Twitter dan muncul kode numerik secara acak. Setelah proses verifikasi kode selesai, file yang sudah didaftarkan disimpan dengan nama twitteR_credentials. Ketika akan terkoneksi dengan Twitter API kembali, dapat langsung memanggil file yang sudah disimpan yaitu twitteR_credentials tanpa harus memasukan tahapan dari awal. Kemudian secara otomatis akun yang digunakan adalah akun Twitter yang dibuat untuk melakukan verifikasi saat diminta memasukan kode secara acak. Kode koneksi ke Twitter API pada modul akuisisi data Twitter dapat dilihat pada Gambar 9.
12 library(twitteR) download.file(url = 'http://curl.haxx.se/ca/cacert.pem', destfile='cacert.pem') requestURL <- "https://api.twitter.com/oauth/request_token" accessURL <- "https://api.twitter.com/oauth/access_token" authURL <- "https://api.twitter.com/oauth/authorize" consumerKey <- "Your consumer Key" consumerSecret <- "Your Consumer Secret" twitCred <- OAuthFactory$new(consumerKey=consumerKey, consumerSecret=consumerSecret, requestURL=requestURL, accessURL=accessURL, authURL=authURL) twitCred$handshake(cainfo="cacert.pem") registerTwitterOAuth(twitCred) save(list="twitCred", file="twitteR_credentials")
Gambar 9 Kode koneksi ke Twitter API Pencarian Kata Kunci Setelah berhasil membuat koneksi dari R ke Twitter API kemudian dilakukan pencarian kata kunci tweets menggunakan library twitteR yang berdasarkan query. Query pencarian tweets sebagai berikut: 1 Pencarian data berdasarkan kata kunci dan jumlah tweets. searchTwitter(searchString, n)
2 Pencarian data berdasarkan kata kunci dan waktu. searchTwitter(searchString, n, since=YYYY-MM-DD, until=YYYY-MMDD)
3 Pencarian data berdasarkan kata kunci dan lokasi. searchTwitter(searchString, n, geocode=lot,lang,mil)
4 Pencarian data berdasarkan kata kunci, jumlah, waktu dan lokasi. searchTwitter(searchString, n, since=YYYY-MM-DD, until=YYYY-MMDD, geocode=lot,lang,mil)
5 Pencarian data berdasarkan timeline. userTimeline(user, n)
Pencarian tweets terbagi 2 yaitu search twitter merupakan pencarian tweets secara global dengan kata kunci dan search timeline merupakan pencarian tweets pada timeline user. Search string merupakan masukan kata kunci. n merupakan jumlah tweets. Since merupakan tanggal untuk memulai pencarian dan until merupakan tanggal akhir pencarian, masukan tanggal berformat YYYY-MM-DD. Geocode merupakan masukan lokasi berupa radius (mil), garis lintang, dan garis bujur. User merupakan masukan nama user. Ketika melakukan pencarian kata kunci, secara otomatis diurutkan berdasarkan waktu dari yang terbaru sampai yang terlama. Tweets hanya memiliki 140 karakter. Tweets yang dicari dapat berupa status, retweets, atau balasan status tersebut. Beberapa tweets terhubung dengan media sosial lain seperti Facebook, Path, dan Instagram. Isi tweets ini dapat berupa gambar, video, dan membagikan status disertai dengan lokasi. Tweets juga dapat membagikan berita lengkap dengan menyertakan link berita tersebut.
13 Penyimpanan Data Data yang telah dicari dapat diunduh untuk setiap kategorinya dan dapat diunduh berdasarkan atribut yang dibutuhkan. Atribut tersebut terdiri atas 19 atribut yang dapat dilihat pada Tabel 1. Tabel 1 Atribut pada data Twitter No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Atribut text Favorite favoritedCount replyToSN Created Truncated replyToSID Id replyToUID statusSource ScreenName retweetCount isRetweet Retweeted Longitude Latitude URL URL2 Content
Keterangan Status yang pengguna buat True jika status merupakan favorite Jumlah status yang difavoritkan Screen name pengguna yang membalas status waktu status dibuat True jika status terpotong ID pengguna lain yang membalas status ID status ID pengguna yang membalas status Perantara sumber pengguna untuk tweets Screen name pengguna yang memasang status Jumlah status yang di-retweet True jika merupakan status yang me-retweet True jika merupakan status yang di-retweet Koordinat status di garis bujur Koordinat status di garis lintang URL yang terdapat pada tweets URL pertama jika URL lebih dari satu Pemisahan konten dengan meta data
Enam belas atribut didapatkan secara otomatis dari Twitter menggunakan library twitteR dan 3 atribut yaitu URL, URL2, dan content ditambahkan secara manual. Data yang diunduh berformat CSV. Contoh hasil data yang sudah diunduh bisa dilihat pada Gambar 10.
Gambar 10 Penyimpanan data dalam bentuk CSV Implementasi Aplikasi Pembuatan aplikasi akuisisi data Twitter ini menggunakan framework Shiny karena Shiny merupakan framework berbasis R, mudah untuk
14 mengimplementasikannya, dan lebih menguntungkan untuk bekerja di satu server dengan modul lainnya. Untuk menggunakan framework Shiny di Rstudio yaitu dengan memanggil library Shiny. Shiny mempunyai 2 bagian yang terdiri atas server dan user interface (UI). Bagian server digunakan untuk pengolahan dan bagian UI digunakan untuk pembuatan antarmuka aplikasi. Masing-masing harus diberi nama server.R dan ui.R dalam satu directory. Pada bagian server aplikasi melakukan koneksi dengan Twitter API. Pada bagian UI terdapat tiga bagian yaitu title panel, sidebar panel, dan main panel. Title panel digunakan untuk pemberian judul atau nama aplikasi. Main panel digunakan untuk tempat menampilkan tweets hasil pencarian berbentuk tabel yang terdapat 19 atribut menggunakan library plyr. Pada aplikasi akuisisi data ini secara otomatis hasil pencarian tweets yang memiliki URL diperpendek dalam bentuk http://t.co/ menggunakan library twitteR. Misalnya tweet pada Twitter seperti “Oasis Head Factory Recruitment: http://bit.ly/1J9LNsZ” dan pada aplikasi akuisisi data tweet seperti “Oasis Head Factory Recruitment: http://t.co/DzXUyeAMkN”. Atribut URL dan URL2 menggunakan library qdapRegex. Library ini bertujuan untuk mengambil URL pada teks Twitter dan untuk mengambil URL pertama jika terdapat lebih dari satu. Pada atribut content digunakan library httr untuk mengambil data dari URL. Pembersihkan data pada atribut content dari tag hypertext markup language (HTML) dan hanya berisi data teks menggunakan ekspresi regular seperti (<.*?>). Tampilan utama modul akuisisi data Twitter dapat dilihat pada Gambar 11.
Gambar 11 Tampilan aplikasi akuisisi data Twitter Sidebar panel digunakan untuk membuat antarmuka masukan yang diinginkan pengguna. Pada sidebar panel terdapat pilihan kategori untuk data yang akan dicari yaitu tweets dalam timeline atau tweets global. Pilihan kategori pada modul akuisisi data Twitter dapat dilihat pada Gambar 12.
15
Gambar 12 Pilihan data yang akan dicari berdasarkan kategori Ketika memilih timeline terdapat tempat untuk memasukan akun Twitter dan jumlah tweets pada timeline yang akan diambil. Kategori timeline pada modul akuisisi data Twitter dapat dilihat pada Gambar 13.
Gambar 13 Pencarian data berdasarkan tweets pada timeline Pada tweets keseluruhan terdapat 4 pilihan, yaitu none, date, location, dan all. None merupakan pencarian tweets berdasarkan jumlah kata kunci yang akan dicari. Kategori none pada modul akuisisi data Twitter dapat dilihat pada Gambar 14.
16
Gambar 14 Pencarian data berdasarkan jumlah topik yang dicari Date merupakan pencarian tweets berdasarkan tanggal. Kategori date pada modul akuisisi data Twitter dapat dilihat pada Gambar 15.
Gambar 15 Pencarian data berdasarkan tanggal Location merupakan pencarian tweets berdasarkan lokasi (radius, garis bujur dan garis lintang) pada Google API dengan menggunakan library RJSONIO. Kategori location pada modul akuisisi data Twitter dapat dilihat pada Gambar 16.
17
Gambar 16 Pencarian data berdasarkan lokasi All merupakan pencarian tweets berdasarkan jumlah kata kunci, tanggal, dan lokasi. Kategori all pada modul akuisisi data Twitter dapat dilihat pada Gambar 17.
Gambar 17 Pencarian data berdasarkan jumlah, tanggal, dan lokasi Pada sidebar panel terdapat pilihan atribut yang akan ditampilkan dan diambil sesuai kebutuhan pengguna dengan menggunakan library ggplot2, pemilihan atribut ini dilakukan ketika data hasil input telah tampil pada main panel dan dapat diunduh sesuai atribut yang dipiih. Pemilihan atribut pada modul akuisisi data Twitter dapat dilihat pada Gambar 18.
18
Gambar 18 Pemilihan atribut yang dibutuhkan ketika ditampilkan Pengujian Aplikasi Pengujian aplikasi dimulai dengan membuat koneksi ke Twitter API, pengujian koneksi ke twitter telah berhasil dilakukan. Pengujian selanjutnya menjalankan semua kategori pencarian dengan memasukkan jumlah tweets. Tweets secara otomatis diurutkan berdasarkan waktu yang terbaru. Ketika dilakukan pencarian untuk beberapa kata kunci, terdapat tweets yang tidak sebanyak jumlah yang diinginkan. Masalah tersebut terjadi karena jumlah tweets yang dicari kurang dari jumlah yang diinginkan. Misalnya dilakukan pencarian tweets A sebanyak 10 tweets. Akan tetapi, pencarian tweets A hanya mengembalikan 5 tweets. Pada pencarian tweets di timeline, masalah tersebut terjadi karena tweets yang berada pada timeline dihitung jika tweets tersebut langsung ditulis oleh pengguna akun. Tweets pada timeline juga tidak dapat sejumlah yang diinginkan karena tweets tersebut ada yang sudah dihapus. Akan tetapi, oleh query dari library twitteR tetap terhitung jumlah tweets-nya. Misalnya pada timeline B diambil 5 tweets tetapi pencarian tweets hanya mengembalikan 4 tweets. Kemudian ketika diambil 6 tweets maka pencarian mengembalikan 5 tweets. Hal ini yang menyebabkan error ketika menggunakan atribut content dalam pencarian. Maksimal jumlah tweets yang dapat dimasukkan tanpa menggunakan atribut content pada kategori timeline adalah sebanyak 3200 tweets. Pada pencarian beberapa kata kunci berdasarkan kategori jumlah tweets, ada yang tidak memiliki geocode karena pengguna yang memberikan tweets tidak mengaktifkan global positioning system (GPS). Pada pengambilan geocode dilakukan dua percobaan. Percobaan pertama menggunakan library ggmap. Namun, di tengah pengerjaan aplikasi, geocode mengalami over query limit, berikut geocode yang menggunakan library ggmap dapat dilihat pada Gambar 19.
19
Gambar 19 Geocode yang menggunakan library ggmap Berdasarkan pernyataan dari Google API masalah over query limit ini terjadi karena terlalu banyak permintaan geocode setiap detiknya sehingga Google API menghentikan respon permintaan geocode. Percobaan kedua yaitu menggunakan library RJSONIO dengan membuat koneksi ke http://maps.google.com/maps/api/geocode/. Geocode yang menggunakan library ini dapat diakses dengan syarat koneksi internet harus stabil. Untuk ketepatan geocode sedikit berbeda dengan Google Maps yang menggunakan Google API. Namun, ketika memasukan koordinat yang berbeda yang terdapat pada aplikasi akuisisi data ke dalam Google Maps ternyata menunjukan lokasi yang sama. Perbedaan ini terjadi karena penyimpanan desimal pada R Perbedaan geocode pada Google Maps dan aplikasi dapat dilihat pada Tabel 2. Tabel 2 Perbedaan geocode Google Maps dan geocode aplikasi akuisisi data Kota Bandung Medan
Latitude Google Maps Aplikasi -6.9034495 -6.917464 3.6422865 3.595196
Longitude Google Maps Aplikasi 107.6431575 107.6191 98.6694935 98.6722
Kecepatan untuk pencarian tweets tergantung kecepatan internet, kecepatan pencarian akan semakin lama jika jumlah data yang akan dilakukan pencarian semakin banyak. Pada aplikasi ini selain terkoneksi dengan Twitter API untuk mengambil data tweets-nya juga dilakukan pengambilan data pada tiap URL yang terdapat pada tweets, ini yang menyebabkan pengambilan data tweets semakin lama. Untuk 100 tweets membutuhkan waktu pencarian selama 3-5 menit. Pengujian untuk menyimpan data dalam bentuk CSV pada setiap kategori berdasarkan atribut yang dipilih telah berhasil dilakukan. Pada atribut content memiliki isi berupa data teks dari setiap URL yang belum dapat diambil dengan baik karena masih terdapat data selain teks yang tidak penting dan tidak ada hubungannya dengan isi dari URL yang diambil. Untuk pengambilan data teks tersebut telah dilakukan beberapa cara yaitu dengan menggunakan library RCurl dengan perintah getURL dan getURLContent. Perintah getURL merupakan fungsi untuk mengambil data lebih dari satu URL dan getURLContent sama seperti getURL namun getURLContent mengambil data yang berupa teks. Hasil yang didapatkan ternyata fungsi ini tidak bisa mengambil data dari shorten URL dari Twitter. Fungsi ini dapat mengambil hanya pada URL sumber dan data yang diunduh banyak memiliki kata dan simbol yang tidak penting selain isi dari URL tersebut seperti tag HTML. Selanjutnya pengambilan data teks pada URL dengan menggunakan library rvest dengan perintah html dan html_text. Perintah html ini merupakan fungsi untuk menguraikan HTML dari web dan html_text merupakan fungsi untuk mengekstrak atribut dan teks dari HTML. Hasil yang didapat sama dengan data
20 yang diambil mengunakan library httr ditambah ekspresi regular dengan simbol (<.*?>). Ekspresi regular ini bertujuan menghapus tag HTML yang diawali dengan symbol (<) dan yang diakhiri (>). Hasilnya hanya menghilangkan tag HTML, belum dapat menghilangkan secara keseluruhan kata dan simbol yang tidak penting. Data yang belum dilakukan pemisahan dari tag HTML dapat dilihat pada Gambar 20.
Gambar 20 Salah satu hasil data yang belum dilakukan pemisahan tag HTML Hasil data yang sudah dilakukan pemisahan tag HTML yang menggunakan library httr dan rvest dapat dilihat pada Gambar 21.
Gambar 21 Salah satu hasil data yang sudah dilakukan pemisahan tag HTML Hasil pengujian aplikasi akuisisi data secara garis besar telah berjalan, namun terdapat kondisi ketika aplikasi akuisisi data melakukan pengambilan jumlah tweets menggunakan atribut content pada timeline. Perbedaan ketepatan geocode Google Maps dan aplikasi akuisisi data tidak terlalu berpengaruh. Atribut content dapat diambil namun belum dapat mengekstraksi data teks dari script yang tidak penting secara sempurna. Status pengujian fungsi pada aplikasi digunakan black box dapat dilihat pada Tabel 3.
21 Tabel 3 Status pengujian aplikasi akuisisi data Aksi yang dilakukan Test case
Hasil yang diharapkan
Status pengujian
Mengisi username dan jumlah tweets yang akan diambil pada kategori timeline
Username: info_loker
Menampilkan tweets berdasarkan username dan jumlah tweets
Berhasil
Mengisi keyword dan jumlah tweets yang akan diambil pada kategori None
Keyword: tanaman padi
Menampilkan tweets berdasarkan keyword dan jumlah tweets
Berhasil
Mengisi keyword, tanggal, dan jumlah tweets yang akan diambil pada kategori Date
Keyword: tanaman padi
Menampilkan tweets berdasarkan keyword, tanggal, dan jumlah tweets
Berhasil
Menampilkan tweets berdasarkan keyword, jumlah tweets, lokasi, dan radius
Berhasil
The number of tweets: 10
The number of tweets: 10
Since : 2015-06-1 Until : 2015-06-18 The number of tweets: 10
Mengisi keyword, jumlah tweets, lokasi, dan radius yang akan diambil pada kategori Location
Keyword: hujan
Mengisi keyword, tanggal, jumlah tweets, lokasi dan radius yang akan diambil pada kategori All
Keyword: hujan
Input city: Jakarta Input radius: 1mil The number of tweets: 10 Input city: Bogor Since : 2015-05-8
Menampilkan tweets Berhasil berdasarkan keyword, tanggal, jumlah tweets, lokasi dan radius
Until : 2015-06-15 Input radius: 1mil The number of tweets: 10
Input checkbox pada pemilihan atribut untuk semua kategori
Hanya atribut text saja yang dipilih
Hanya data yang dipilih saja yang ditampilkan
Berhasil
Mengunduh data pada semua kategori
Menekan tombol Download
Menyimpan data hasil pencarian tweets
Berhasil
Keunggulan Aplikasi Pada aplikasi akuisisi data ini terdapat 19 atribut yang berisi informasi untuk setiap tweets dan dapat diambil berdasarkan atribut yang dibutuhkan. Salah satu
22 atribut dapat mengambil URL yang ada pada setiap tweets dan mengambil isi dari URL tersebut. Aplikasi ini juga memiliki beberapa kategori yang diinginkan yaitu pencarian berdasarkan timeline, pencarian tweets global berdasarkan jumlah, waktu pengambilan, lokasi, dan ketiganya. Tanpa atribut content pencarian tweets dapat diambil dengan jumlah tweets lebih banyak. Untuk timeline jumlah tweets yang dapat diambil maksimal adalah 3200 tweets dan untuk tweets global jumlah tweets yang dapat diambil dapat lebih dari 3200 tweets tanpa atribut content. Hasil dari data Twitter dapat diunduh berupa file berbentuk CSV. File CSV ini yang digunakan dalam modul selanjutnya pada SIG Cabertwit yaitu praproses data. Kelemahan Aplikasi Kelemahan aplikasi akuisisi data ini tergantung pada koneksi internet. Ketika koneksi internet tidak stabil data akan lama terambil bahkan data tidak bisa diambil. Ketika data diambil menggunakan atribut content dengan jumlah tweets sebanyak 100 membutuhkan pencarian selama 3 sampai 5 menit. Pada atribut content belum bisa mengekstraksi data teks secara sempurna.
SIMPULAN DAN SARAN Simpulan Kesimpulan penelitian ini yaitu pembuatan modul akuisisi data Twitter ke dalam aplikasi web telah berhasil dilakukan. Pengambilan data Twitter dapat dilakukan berdasarkan timeline, jumlah kata kunci, waktu, lokasi, dan bisa sekaligus berdasarkan jumlah kata kunci, tanggal, dan lokasi. Data hasil pencarian dapat diunduh berdasarkan atribut yang dibutuhkan untuk modul praproses data pada SIG Cabertwit. Aplikasi akuisisi data secara garis besar telah berjalan. Namun, terdapat kondisi ketika aplikasi akuisisi data melakukan pengambilan jumlah tweets menggunakan atribut content pada timeline. Perbedaan ketepatan geocode Google Maps dan aplikasi akuisisi data tidak terlalu berpengaruh. Data pada atribut content dapat diambil tetapi belum dapat mengekstraksi data teks dari script yang tidak penting secara sempurna. Saran Penelitian ini masih memiliki beberapa kekurangan. Penelitian selanjutnya dapat dilakukan pada atribut content yaitu untuk mengekstraksi data teks dari tag HTML menggunakan algoritme Readability. Kemudian untuk mengatasi lamanya pencarian menggunakan atribut content yaitu mengambil isi dari setiap URL harus dibuat tempat penyimpanan sementara seperti cache agar tidak terlalu lama dalam pencarian.
23
DAFTAR PUSTAKA Boyd DM, Ellison NB. 2007. Social network sites: definition, history, and scholarship. Journal of Computer-Mediated Communication. 13(1): 210230. Buckley DJ. 1997. The GIS Primer an Introduction to Geographic Information Systems. Fort Collins (US): Pacific Meridian Resources. Dumbill E. 2012. What is big data? Di dalam: Big Data Now. Sebastopol (US): O’Reilly. 3-10. [Kemenkominfo] Kementerian Komunikasi dan Informatika. 2013. Kominfo: pengguna internet di Indonesia 63 juta orang [internet]. [diakses 2014 Nov 24]. Tersedia pada: http://kominfo.go.id/index.php/content/detail/3415/ Kominfo+%3A+Pengguna+Internet+di+Indonesia+63+Juta+Orang/0/berita _satker. Mayfield A. 2008. What is Social Media. London (GB): iCrossing. Prajapati V. 2013. Big Data Analytics with R and Hadoop. Birmingham (GB): Packt. Pressman RS. 2010. Software Engineering a Practitioner’s Approach. Ed ke-7. New York (US): McGraw-Hill. Russell MA. 2014. Mining the Sosial Web. Ed ke-2. Sebastopol (US): O’Reilly. Westra E. 2013. Python Geospasial Development. Ed ke-2. Birmingham (GB): Packt.
24 RIWAYAT HIDUP Penulis dilahirkan di Cirebon, Jawa Barat pada tanggal 28 September 1993. Penulis merupakan anak pertama dari dua bersaudara, anak dari pasangan Ferry Meyrianto H dan Yatti Nurhayati. Penulis menempuh pendidikan Sekolah Menengah Atas di SMA Negeri 3 Cirebon pada tahun 2008 hingga 2011. Kemudian pada tahun 2011 hingga 2015 melalui jalur Undangan Seleksi Masuk IPB dan diterima sebagai mahasiswa di Program S1 Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Selama masa perkuliahan, penulis aktif menjadi anggota Divisi Kekeluargaan dan ketua Divisi Kominfo Ikatan Kekeluargaan Cirebon. Penulis juga aktif berpartisipasi dalam berbagai kegiatan kepanitiaan di antaranya pada kegiatan IPB Goes to School 2012 dan IT Today 2012 sebagai anggota Divisi Publikasi, Dekorasi, dan Dokumentasi. Pada kegiatan IPB Goes to School 2013 sebagai ketua Divisi Publikasi, Dekorasi dan Dokumentasi. Penulis pernah mengikuti kegiatan Praktek Kerja Lapang di Kominfo Bogor pada Juni-Agustus 2014.