• Tidak ada hasil yang ditemukan

TINJAUAN PUSTAKA

Pada bab ini dijelaskan beberapa hal mengenai teori yang berkaitan dengan sistem yang diimplementasikan. Hal ini ditujukan untuk memberikan gambaran secara umum terhadap sistem yang akan dibuat. Selain itu, hal tersebut berguna untuk menunjang pembuatan sistem sehingga kebutuhannya dapat diketahui.

2.1. Twitter

Twitter adalah layanan jejaring sosial yang memungkinkan penggunanya untuk mengirim dan membaca pesan berbasis teks hingga 140 karakter, yang dikenal dengan sebutan kicauan (tweet). Twitter didirikan pada bulan Maret 2006 oleh Jack Dorsey, dan situs jejaring sosialnya diluncurkan pada bulan Juli. Sejak diluncurkan, Twitter telah menjadi salah satu dari sepuluh situs yang paling sering dikunjungi di internet. Di Twitter, pengguna tidak terdaftar hanya dapat membaca tweet, sedangkan pengguna terdaftar bisa mengirim tweet melalui antarmuka situs web, pesan singkat (SMS), atau melalui berbagai aplikasi untuk perangkat seluler [3].

Melalui Twitter seorang pemilik akun dapat melakukan update status atau berinteraksi dengan pemilik akun lainnya. Terdapat beberapa istilah yang umum digunakan pada jejaring sosial Twitter, istilah-istilah tersebut diantaranya:

a. http://t.co/ merupakan layanan dari Twitter untuk menyusutkan URL dan berbentuk unik antara pengguna satu dengan yang lain, hal ini dikarenakan panjang karakter maksimal pada tweets hanya 140 karakter, sehingga ketika pengguna mengirimkan URL pada tweet-nya, Twitter menghasilkan shorthing URL tersebut.

b. Direct message, lebih dikenal dengan sebutan DM atau pesan yang merupakan sebuah fitur untuk berkirim pesan dari pengirim kepada penerima secara private.

c. Follow, mengikuti kebiasan seorang pengguna dalam mengirimkan tweet atau update status.

d. Hashtag, ditandai dengan simbol ‘#’ yang digunakan untuk menandai suatu keyword atau topik.

e. Home, sekumpulan tweet dari pemilk akun lain yang di-follow oleh pengguna dan ditampilkan secara real-time. f. Mention, ditandai dengan simbol ‘@’ yang berarti

memberikan pesan atau seruan yang ditujukan kepada pengguna Twitter.

g. OAuth, suatu metode untuk memberikan akses kepada pihak ke-3 (dapat berupa sebuah aplikasi) dari seorang pengguna tanpa memberikan sandi yang dimiliki pengguna.

h. Profile, halaman Twitter yang berisi semua informasi pengguna dan menampilkan informasi tentang pengguna, serta semua tweet yang telah dikirim dari akun pengguna. i. Reply, sebuah tweet yang dikirim untuk membalas pesan yang dikirimkan oleh pengguna lainnya dan dimulai dengan username ‘@’.

j. Timeline, sekumpulan tweet yang ditampilkan secara real-time.

Username, digunakan untuk mengidentifikasi seorang pengguna atau pemilik akun Twitter dan setiap username bersifat unik dan terdiri dari 15 karakter.

2.2. URL (Uniform Resource Locator)

Uniform Resource Locator yang dahulu disebut Universal Resource Locator adalah alamat unik sebuah file yang dapat diakses di Internet. Secara umum URL digunakan untuk mendapatkan website yang dikunjungi adalah dengan memasukan file URL di baris alamat pada web browser [4].

URL pertama kali diciptakan oleh Tim Berners-Lee pada tahun 1991 agar para penulis dokumen mereferensikan pranala ke World Wide Web. Sejak tahun 1994, konsep URL diperkembangkan dan diistilahkan Uniform Resource Identifier (URI) agar lebih umum sifatnya. Meskipun begitu, istilah URL masih tetap dipergunakan secara luas.

2.3. Analisis URL Redirect Conditional Chains

URL redirection merupakan suatu URL yang terlihat bukanlah URL yang sebenarnya ingin dituju. URL tersebut melakukan banyak pengalihan halaman yang telah ditentukan oleh seorang attackers. Biasanya mereka memanfaatkan layanan untuk menyusutkan URL dengan mengurangi panjang dari karakter sebuah URL, seperti bit.ly dan tinyURL.com. selain itu pada Twitter itu sendiri juga mempunyai layanan memperkecil ukuran karakter dari suatu URL seperti t.co, dan mereka mempunyai halaman yang dapat mengalihkan lebih dari satu tujuan agar membedakan pengunjung yang menggunakan browser yang normal atau Crawler.

Hal tersebut dipengaruhi oleh user-agent yang dipakai pengguna. Sehingga attacker membuat redirect path dari URL tersebut apabila requester dari URL tersebut merupakan browser normal, maka akan diarahkan ke situs yang diinginkan, namun apabila requester dari URL tersebut merupakan crawler maka akan diarahkan ke situs yang jinak seperti www.google.com [1]. Hal ini ditunjukan pada Gambar 2.1.

2.4. Basis Data

Basis data pada server digunakan untuk menampung seluruh kebutuhan data pada sistem. Dalam sistem ini akan digunakan basis data MySQL. MySQL merupakan sebuah perangkat lunak Database Management System (DBMS) yang sudah banyak digunakan dari sebuah sistem dengan skala kecil sampai skala besar.

2.5. TweetSharp

TweetSharp merupakan library dari Twitter API yang digunakan menggunakan bahasa C#. Application Programming Interface atau yang biasa disebut dengan API sendiri merupkan sekumpulan perintah, fungsi, dan protokol yang dapat digunakan oleh programmer saat membangun perangkat lunak untuk sistem operasi tertentu. API memungkinkan programmer untuk menggunakan fungsi standar untuk berinteraksi dengan sistem operasi [5]. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 using TweetSharp;

var service = new TwitterService(_consumerKey, _consumerSecret); service.AuthenticateWith(_accessToken, _accessTokenSecret); var tweets = service.ListTweetsOnHomeTimeline(new ListTweetsOnHomeTimelineOptions()); foreach (var tweet in tweets) {

Console.WriteLine("{0} says '{1}'", tweet.User.ScreenName, tweet.Text); }

Gambar 2.2 Contoh kode program menggunakan TweetSharp

Dengan adanya TweetSharp, kita dengan mudah melakukan pengambilan data Twitter pada aplikasi desktop, web bahkan aplikasi berbasis mobile. Kita dapat membangun mulai dari widget yang sederhana hingga kompleksitas yang kita inginkan.

Saat ini untuk library yang telah digunakan adalah TweetSharp-Unofficial versi 2.3.1.2. dimana telah dikembangkan oleh Timothy-Makarov [5].Contoh program sederhana dengan menggunakan TweetSharp Library ditunjukan pada Gambar 2.2. 2.6. User-Agent

User-agent merupakan perangkat lunak yang bertindak sebagai identitas saat melakukan request lokasi situs. User-agent berupa sederatan kode string informasi yang dikirim ke web server dari browser yang kita gunakan saat mengakses sebuah halaman web [6]. Dalam beberapa kasus kerap kali dalam mengakses sebuah halaman web juga kadang tidak terbuka atau di-redirect ke halaman lain, itu dikarenakan user-agent browser yang kita gunakan tidak diizinkan oleh web server untuk mengakses halaman tersebut. Web server juga menggunakan informasi dari user-agent pada browser dalam mengakses sebuah halaman yang kemudian menyesuaikannya dengan browser yang digunakan, misalnya user-agent pada peramban Mozilla Firefox akan memunculkan kode string yang ditunjukan pada Gambar 2.3, sedangkan bila menggunakan crawler [7] akan memunculkan Gambar 2.4 saat mengakses halaman.

2.7. Greasemonkey Mozilla add-ons

Greasemonkey merupakan salah satu add-ons peramban Mozila Firefox yang digunakan untuk memanipulasi atau mengustomisasi tampilan web aslinya menjadi web yang dinginkan melalui skrip. Proyek ini dimulai sejak 28 November

Mozilla/5.0 (Windows NT 6.2; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Gambar 2.3 Contoh kode string user-agent menggunakan peramban Mozilla Firefox

Gambar 2.4 Contoh kode string user-agent menggunakan Google

2004 dan ditulis oleh Aaron Boodman. Greasemonkey mengijinkan pengguna untuk menginstall skrip sehingga dapat mengubah konten dari halaman web yang menggunakan antarmuka Document Object Model menjadi seperti yang kita inginkan. Skrip tersebut menggunakan bahasa pemrograman javascript [8].

Greasemonkey dapat dibuat maupun diinstall langsung untuk keperluan tertentu, bahkan banyak pihak telah menyalahgunakannya untuk membuat malware yang dapat menyimpan data pribadi.

Gambaran umum proses yang dilakukan oleh Greasemonkey ialah ditunjukan pada Gambar 2.5.

Gambar 2.5 Sistem Kerja Greasemonkey Add-ons

2.8. JavaScript

JavaScript merupakan bahasa pemrograman yang umum digunakan dalam pemrograman web. Bahasa pemrograman ini didukung pada berbagai peramban, salah satunya Mozilla Firefox. Karena sudah umum digunakan, banyak peramban modern berbasis desktop maupun mobile saat ini memanamkan dukungan JavaScript [9].

JavaScript merupakan bahasa pemrograman yang berjalan pada sisi klien (client-side scripting). Hal ini menyebabkan setiap eksekusi perintah dilakukan oleh peramban dimana pengguna mengakses situs. Penggunaan JavaScript sendiri berdampingan dengan HTML dan CSS, dimana JavaScript dapat digunakan untuk memanipulasi konten dan desain dari situs.

2.9. Algoritma Decision Tree

Algoritma decision tree atau pohon keputusan, merupakan metode klasifikasi dengan melakukan model prediksi dengan menggunakan struktur pohon atau struktur berhirarki untuk menentukan sebuah keputusan [10]. Konsep dari decision tree adalah kemampuan untuk mem-break down proses pengambilan keputusan yang kompleks menjadi lebih simpel sehingga pengambilan keputusan akan lebih menginterpretasikan solusi dari permasalahan.

Keleibihan dari metode decision tree adalah:

1. Daerah pengambilan keputusan yang sbelumnya kompleks dan sangat global, dapat diubah menjadi lebih simpel dan spesifik.

2. Eliminasi perhitungan-perhitungan yang tidak diperlukan, karena ketika menggunakan metode decision tree maka sampel yang diuji hanya berdasarkan kriteria atau kelas tertentu.

3. Fleksibel untuk memilih fitur dari internal nodes yang berbeda, fitur yang terpilih akan membedakan suatu kriteria dibandingkan kriteria yang lain dalam node yang sama. Kefleksibelan metode decision tree ini meningkatkan kualitas keputusan yang dihasilkan jika dibandingkan ketika menggunakan metode penghitungan satu tahap yang lebih konvensional.

Kekurangan dari metode decision tree, yakni:

1. Terjadi overlap terutama ketika kelas-kelas dan kriteria yang digunakan jumlahnya sangat banyak. Hal tersebut juga dapat menyebabkan meningkatnya waktu

pengambilan keputusan dan jumlah memory yang diperlukan.

2. Pengakumulasian jumlah error dari setiap level dalam sebuah pohon keputusan yang besar.

3. Kesulitan dalam mendesain decision tree yang optimal. Hasil kualitas keputusan yang didapatkan dari metode decision tree sangat tergantung pada bagaimana pohon tersebut didesain.

Untuk lebih jelasnya dari pengimplementasian metode klasifikasi decision tree, dapat ditunjukan pada Gambar 2.6.

Gambar 2.6 Metode klasifikasi decision tree

2.10. Weka

Weka merupakan kakas yang populer dalam bidang data mining. Kakas ini dikembangkan oleh University of Waikato, New Zealand. Di dalam weka terdapat fitur untuk data pre-processing, klasifikasi, regresi, clustering, aturan asosiasi, serta visualisasi data [11].

Gambar 2.7 Perhitungan akurasi Weka

Weka dikembangkan menggunakan bahasa pemrograman Java. Aplikasi tersedia dalam bentuk GUI (Graphical User Interface) serta bisa digunakan sebagai pustaka pemrograman. Melihat dari kebutuhan sistem yang mengimplementasikan bahasa pemrograman C# dalam pengembangan, Weka digunakan untuk mendapatkan hasil akurasi yang cukup stabil dan tinggi dan menghasilkan pemodelan yang paling optimal.

Weka menggunakan dokumen berformat ARFF sebagai masukkan data training ataupun sebagai dataset. Selain menggunakan data set untuk pengujian, pustaka pemrograman Weka dapat menggunakan masukan data uji yang dibuat melalui kode sumber. Dalam pengembangan sistem, Weka digunakan untuk melihat tingkat akurasi dari suatu pemodelan yang dibuat. Contoh pengaplikasian perhitungan akurasi Weka dapat dilihat pada Gambar 2.7.

17

Dokumen terkait