DAFTAR ISI HALAMAN JUDUL LEMBAR PERSETUJUAN LEMBAR PENGESAHAN LEMBAR PERNYATAAN HALAMAN PERSEMBAHAN HALAMAN RIWAYAT HIDUP HALAMAN MOTTO KATA PENGANTAR...i ABSTRAK...iii ABSTRACT...iv DAFTAR ISI...v DAFTAR GAMBAR...vii DAFTAR TABEL...viii BAB I PENDAHULUAN 1.1 Latar Belakang Masalah...1
1.2 Rumusan Masalah...2
1.3 Tujuan...2
1.4 Batasan Masalah...2
1.5.1 Teknik Pengumpulan Data...3
1.5.2 Metode Pengembangan Perangkat Lunak...4
1.6 Kerangka Pemikiran...5
1.7 Sistematika Penulisan...6
BAB II TINJAUAN PUSTAKA 2.1 Tinjauan Pustaka...8
2.1.1 State Of The Art...8
2.2 Twitter...11 2.2.1 Definisi Twitter...11 2.2.2 Fitur-fitur Twitter...12 2.3 Analisis Sentimen...15 2.4 Klasifikasi...15 2.5 Algoritma C4.5...16
2.6 Metode Pengembangan Perangkat Lunak...23
2.7 Pemodelan Sistem...24
2.8.1 Pengujian White-Box...35
2.8.2 Pengujian Black-Box...36
2.9 Android...36
2.10 Database...39
BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan Software dan Hardware...41
3.1.1 Hardware yang dibutuhkan...41
2.1.1 Software yang dibutuhkan...41
2.2 Analisis Kebutuhan Fungsional...41
2.3 Perancangan...42
2.3.1 Use Case Diagram...42
2.3.2 Skenerio Use Case...43
2.3.3 Deployment Diagram...46
2.3.4 Activity Diagram...47
2.3.5 Class Diagram...50
2.3.6 Sequence Diagram...51
2.3.7 Perancangan Antarmuka...54
2.3.8 Analisis Preprocessing data...57
2.3.9 Analisis Algoritma C4.5...59
2.3.10Flowchart Algoritma C4.5...75
2.3.11Flowchart Perhitungan Entropy dan Gain...76
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Construction...77
4.1.1 Batasan Implementasi...77
4.1.2 Implementasi Perangkat Lunak (Software)...77
4.1.3 Implementasi Perangkat Keras (Hardware)...77
4.1.4 Implementasi Basis Data...78
4.1.5 Implementasi Antarmuka...79
4.2 Implementasi Tahap preprocessing...84
4.2.1 Implementasi Algoritma C4.5...85
4.3 Pengujian Black Box...88
4.3.1 Pengujian Hasil Klasifikasi...89
5.1 Kesimpulan...93
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Media sosial adalah saluran atau sarana pergaulan sosial secara online di dunia maya (internet). Para pengguna (user) media sosial dapat saling berkomunikasi, berinteraksi, saling kirim pesan dan saling berbagi (sharing), juga membangun jaringan (networking) [1].
Salah satu media sosial yang paling sering digunakan di Indonesia adalah Twitter. Twitter adalah layanan jejaring sosial yang memungkinkan penggunaanya untuk mengirim dan membaca pesan berbasis teks hingga 140 karakter, yang dikenal dengan sebutan kicauan (tweet) [2].
Namun penggunaannya tidak sesuai dengan tujuan media sosial sebagai prantara berkomunikasi dengan baik. Kicauan (tweet) sering berisi tentang hal-hal negative atau yang tidak seharusnya dibaca oleh pengguna lain. Oleh karena itu perlunya satu cara untuk mengetahui pantas atau tidakah suatu tweet di publish untuk orang banyak
Algoritma C4.5 merupakan salah satu algoritma machine learning. Dengan algoritma ini, mesin (komputer) akan diberikan sekelompok data untuk dipelajari (learning dataset). Kemudian hasil dari pembelajaran selanjutnya akan digunakan untuk mengolah data-data (test dataset). Maka hasil dari pengolahan test dataset berupa pengelompokkan data ke dalam kelas-kelasnya [3].
Text mining merupakan variasi dari data mining yang berusaha menemukan pola yang menarik dari sekumpulan data tekstual yang berjumlah besar [4].
Berdasarkan latar belakang tersebut, diangkat sebuah judul “
Klasifikasi
Sentimen Pada Kicauan Twitter Menggunakan Algoritma C4.5”.1.2 Rumusan Masalah
Berdasarkan uraian pada latar belakang, maka didapatkan rumusan masalah, yaitu: Bagaimana menerapkan algoritma C4.5 untuk klasifikasidata kicauan twitter yang bersifat sentimen?
1.3 Tujuan
Adapun tujuan dari penelitian ini adalah menerapkan algoritma C4.5 untuk klasifikasi kicauan twitter yang bersifat sentiment.
1.4 Batasan Masalah
Berdasarkan pemaparan diatas, agar hasil penelitian dapat sesuai dengan perumusan masalah dan hasilnya sesuai dengan yang diharapkan, maka ruang lingkup pembahasan dibatasi pada:
1. Data berupa teks dari kicauan yang didapatkan dari twitter
2. Data yang akan diklasifikasi berasal dari semua teman salah satu akun twitter.
3. Data yang akan diklasifikasikan didapatkan sesuai hasil data pencarian.
4. Algoritma yang diimplementasikan untuk klasifikasi data twitter adalah algoritma C4.5.
6. Bahasa yang digunakan adalah bahasa indonesia.
1.5 Metodologi Penelitian
1.5.1 Teknik Pengumpulan Data
Guna mendapatkan data yang diperlukan untuk membantu dalam penyusunan tugas akhir yang akan dibangun, maka digunakan metodologi sebagai berikut:
1. Pengumpulan Data
Data yang digunakan pada penelitian ini berupa data dari kicauan semua teman salah satu akun twitter. Data yang digunakan untuk data training maupun pengujian didapat dari tweet dengan menggunakan key pencarian tertentu.
2. Text Mining
Text mining merupakan variasi dari data mining yang berusaha menemukan pola yang menarik dari sekumpulan data tekstual yang berjumlah besar. Text mining memiliki definisi menambang data yang berupa teks dimana sumber data biasanya di dapatkan dari dokumen, dan tujuannya adalah mencari kata-kata yang dapat mewakili isi dari dokumen sehingga dapat dilakukan
analisa keterhubungan antar dokumen. Langkah-langkah yang dilakukan dalam text mining adalah sebagai berikut: [4].
a. Text Preprocessing
Tindakan yang dilakukan pada tahap ini adalah toLowerCase, yaitu mengubah semua karakter huruf menjadi huruf kecil, dan Tokenizing yaitu proses penguraian deskripsi yang semula berupa kalimat-kalimat menjadi kata-kata dan menghilangkan delimiter-delimiter seperti tanda titik(.), koma(,), spasi dan karakter angka yang ada pada kata tersebut.
b. Feature Selection
Pada tahap ini tindakan yang dilakukan adalah menghilangkan stopword (stopword removal) dan stemming terhadap kata yang berimbuhan. Stopword adalah kosakata yang bukan merupakan ciri (kata unik) dari suatu dokumen. Misalnya “di”, “oleh”, “pada”, “sebuah”, “karena” dan lain sebagainya. Stemming adalah proses pemetaan dan penguraian berbagai bentuk (variants) dari suatu kata menjadi bentuk kata dasarnya (stem). Tujuan dari proses stemming adalah menghilangkan imbuhan-imbuhan baik itu berupa prefiks, sufiks, maupun konfiks yang ada pada setiap kata.
3. Kepustakaan
Metode penelitian dengan kepustakaan adalah merupakan metode mencari beberapa materi serta keterkaitan data ataupun perbandingan jurnal yang telah membahas kajian yang sama dengan tema penelitian ini. Biasanya kepustakaan disini lebih ke sisi pengembangan sistem yang akan dibuat serta user interface yang cocok dengan bahan kajian. Sehingga pada saat mengalami kesulitan
dalam mengembangkan masalah, dapat terpecahkan dengan beberapa studi pustaka diatas.
1.5.2 Metode Pengembangan Perangkat Lunak
Prototype adalah proses pembuatan model sederhana yang mengijinkan pengguna memiliki gambaran dasar tentang program serta melakukan pengujian awal. Proses dimulai dengan mengumpulkan kebutuhan, pengembangan dan pelanggan bertemu dan mendefinisikan keseluruhan dari perangkat lunak, mengidentifikasi segala kebutuhan yang diketahui, dan area garis besar dimana definisi lebih jauh merupakan keharusan yang kemudian dilakukan perancangan kilat, perancangan kilat berfokus pada penyajian dari aspek-aspek perangkat lunak tersebut yang akan nampak bagi pelanggan atau pemakai (contohnya pendekatan input dan format output). Perancangan kilat membawa kepada konstruksi sebuah prototype. Prototype tersebut dievaluasi oleh pelanggan atau pemakai dan dipakai untuk menyaring kebutuhan pengembangan perangkat lunak. Iterasi terjadi pada saat prototype disetel untuk memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan pengembang untuk secara lebih baik memahami apa yang harus dilakukannya.
Secara ideal prototype berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Bila prototype yang sedang bekerja dibangun, pengembang harus mempergunakan fragmen-fragmen program yang ada atau mengaplikasikan alat-alat bantu (contohnya report generation, windows manager) yang memungkinkan program bekerja secara cepat.
1.6 Kerangka Pemikiran
Kerangka pemikiran adalah dasar pemikiran dari penelitian yang disintesiskan dari fakta-fakta, observasi dan telaah kepustakaan. Kerangka yang akan dijadikan sebuah pemikiran untuk proses penyusunan kajian dapat dilihat pada Gambar 1.1.
Gambar 1. 1 Kerangka Pemikiran Buku,
Jurnal, Internet
Studi Literatur Pengumpulan Data Kicauan Twitter
Analisis Permasalahan Latar Belakang Masalah Rumusan Masalah
Text Mining
Text Preprocessing
Feature Selection
Algoritma C4.5
Klasifikasi Sentimen Pada Kicauan Twitter Menggunakan Algoritma C4.5
1.7 Sistematika Penulisan
Sistematika penulisan laporan ini disajikan dalam beberapa bab yang masing-masing bab menguraikan beberapa pokok pembahasan. Adapun sistematika penulisan laporan ini adalah sebagai berikut:
BAB I : PENDAHULUAN
Bab I merupakan pengantar yang memberikan gambaran mengenai permasalahan-permasalahan yang kemudian akan dibahas pada bab-bab selanjutnya. Bab ini berisikan tentang Latar Belakang Masalah, Rumusan Masalah, Tujuan, Batasan Masalah, Metodologi Penelitian, Kerangka Pemikiran, dan Sistematika Penulisan.
BAB II : STUDI PUSTAKA
Bab II akan dijelaskan tinjauan pustaka mengenai studi literatur dan landasan teori mengenai teori yang digunakan dalam analisis permasalahan yang ada, juga teori yang digunakan dalam perancangan dan implementasi.
BAB III : ANALISIS DAN PERANCANGAN
Bab III membahas mengenai analisis dan perancangan sesuai dengan tahapan metode pengembangan perangkat lunak yang digunakan.
BAB IV : IMPLEMENTASI DAN PENGUJIAN
Bab IV akan dijelaskan tentang lanjutan tahapan metode pengembangan perangkat lunak yang digunakan yaitu mengenai implementasi aplikasi, dan pengujian yang dilakukan terhadap aplikasi yang dibangun.
Bab V berisi kesimpulan dan saran untuk pengembangan aplikasi lebih lanjut dalam upaya memperbaiki kelemahan pada aplikasi guna untuk mendapatkan hasil kinerja aplikasi yang lebih baik dan pengembangan aplikasi selanjutnya.
BAB II
TINJAUAN PUSTAKA 2.1 Tinjauan Pustaka
Dari hasil atau teori yang pernah dilakukan sebelumnya, klasifikasi merupakan proses pembelajaran suatu fungsi tujuan (target) f yang memetakan tiap himpunan atribut x kesatu dari label kelas y yang didefinisikan sebelumnya.
Klasifikasi data berupa text dari kicauan yang didapatkan dari twitter. Data yang akan diklasifikasi didapatkan sesuai hasil pencarian. Algoritma C4.5 yang diimplementasikan untuk klasifikasi data twitter.
2.1.1 State Of The Art
a. Klasifikasi Trending Topic Twitter Dengan Penerapan Metode Naive Bayes.
Pada jurnal ini membahas tentang klasifikasi trending topic twitter dengan metode naive bayes, metode penelitian yang digunakan dalam penelitian ini
menggunakan pengumpulan data, perancangan sistem dan pengembangan sisitem. Uji coba yang di lakukan adalah dengan menggumpulan beberapa data trending topic dan dijadikan sebagai acuan kategori di dalam penelitian. Ketika data trend, kategori, dan fitur sudah dikumpulkan dan ditentukan, maka dilakukan perhitungan menggunakan metode Naive Bayes. Sebelum itu, banyaknya fitur-fitur yang saling beririsan akan membuat jumlah kesalahan klasifikasi pada kategori yang memiliki fitur yang sama sangat besar.maka Kesimpulan yang dapat diambil dari penelitan klasifikasi trending topic ini adalah dari 10 data yang dijadikan acuan, diperoleh hasil klasifikasi secara otomatis yang didapat sesuai dengan perhitungan menggunakan Metode Naive Bayes, yaitu mengambil nilai maksimal dari 5 kategori yang sudah ditentukan.
b. Analisi Sentimen Pada Data Twitter Dengan Menggunakan Text Mining
Terhadap Suatu Produk.
Pada jurnal ini membahas tentang analisis data sentiment pada twitter menggunakan metode text mining pada suatu produk dan pengklasifikasiannya menggunakan algoritma naive bayes classifier. Analisis sistem yang digunakan untuk menyelesaikan masalah pada penelitan ini terdiri dari Analisis masalah, Pengumpulan data, Proses Text Mining, dan Penerapan metode Klasifikasi naïve Bayes Classifier. Setelah dilakukan analisa dan perancangan sistem maka akan dilakukan implementasi sistem analisa sentiment data twitter dengan menggunakan text mining pada suatu produk. Setelah itu pngujian sistem akan mencari nilai klasifikasi terhadap data tweet secara otomatis. Nilai yang diperoleh berupa sentimen positif, sentiment negative atau netral pada setiap tweet yang
ditampilkan. Pengujian ini menggunakan form klasifikasi dengan cara memasukkan trend dan jumlah data yang akan di analisa. Sebagai sampel data uji akan menggunakan produk makanan.
c. Analisis Sentimen Pada Twitter Menggunakan Text Mining.
Pada jurnal ini membahas klasifikasi sentiment pada twitter dengan menggunakan metode text mining, Dalam penelitian ini data terdiri dari 4 bagian yaitu data Tweet, data stopword, data kata dasar, dan data knowledge. Pada saat pengumpulan data, jurnal ini menggunakan Twitter API Search, kemudian memasukkan keyword-keyword yang berhubungan dengan Provider Telekomunikasi yang dikombinasikan dengan kata-kata sentiment. Setelah itu dibuat keyword untuk menentukan kategori yang diinginkan yaitu negative word, poditif word, negative emoticon dan positif emoticon. Setelah di dapat data dan keyword maka data tersebut di klasifikasikan menggunakan algoritma naïve bayes classifier dan n-gram untuk karakter sleksi fitur.
Tabel 2.1 State Of The Art
No Nama metode Data Teknologi Hasil
1 Putri Alpita Agustina Naïve bayes Twitter Analisis sitem berbasis dekstop
Hasil dari analis dan uji coba adalah klasifikasi trending topic ini adalah dari 10 data yang dijadikan acuan, diperoleh hasil klasifikasi secara otomatis yang didapat sesuai dengan perhitungan menggunakan Metode Naïve Bayes 2 Eka retnawiyati, dkk Naïve bayes classifie r Data twitter terhadap suatu Analisis sitem berbasis
Dari hasil uji analisis sentimen pada data twitter didapat tweet dengan tiga kategori
produk desktop yaitu kategori positif, negatif dan netral, Analisis sentiment dengan menggunakan text mining yang didalamnya terdapat tahapan preprocessing dan ekstraksi fitur untuk menghasilkan tweet kotor menjadi tweet bersih, Semakin banyak data latih atau data yang ditoken saat training maka nilai sentimen yang didapat akan semakin akurat.
Tabel 2.1 State Of The Art (Lanjutan)
No Nama Metode Data Teknologi Hasil
3 Boy utomo
manalu Naïvebayes dan N-gram Data sentiment twitter Analisi system berbasis desktop
Aplikasi ini mampu melakukan
mengklasifikasi
sentimen yang ada pada sebuah Tweet secara otomatis, Proses klasifikasi semakin akurat jika data latih yang digunakan dalam pembelajaran
berjumlah banyak, akan tetapi dapat juga mengurangi keakuratan jika kata-kata yang terdapat pada Tweet tersebut mengalami bias atau bermakna ganda, Seleksi fitur menggunakan N-gram
kata dapat
meningkatkan
sentimen pada Tweet
2.2 Twitter
2.2.1 Definisi Twitter
Twitter adalah layanan jejaring sosial dan mikrobloging daring yang memungkinkan pengguna 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, dan dijuluki dengan "pesan singkat dari Internet." Di Twitter, pengguna tak terdaftar hanya bias membaca kicauan, sedangkan pengguna terdaftar bisa menulis kicauan melalui antarmuka situs web, pesan singkat (SMS), atau melalui berbagi aplikasi untuk perangkat seluler.
Twitter mengalami pertumbuhan yang pesat dan dengan cepat meraih popularitas di seluruh dunia. Hingga bulan Januari 2013, terdapat lebih dari 500 juta pengguna terdaftar di Twitter, 200 juta di antaranya adalah pengguna aktif. Lonjakan penggunaan Twitter umumnya berlangsung saat terjadinya peristiwa-peristiwa populer. Pada awal 2013, pengguna Twitter mengirimkan lebih dari 340 juta kicauan per hari, dan Twitter menangani lebih dari 1,6 miliar permintaan pencarian per hari. Hal ini menyebabkan posisi Twitter naik ke peringkat kedua sebagai situs jejaring sosial yang paling sering dikunjungi di dunia, dari yang sebelumnya menempati peringkat dua puluh dua.
Tingginya popularitas Twitter menyebabkan layanan ini telah dimanfaatkan untuk berbagai keperluan dalam berbagai aspek, misalnya sebagai sarana protes, kampanye politik, sarana pembelajaran, dan sebagai media komunikasi darurat [5].
2.2.2 Fitur-fitur Twitter
Penguna media sosial dapat menggunakan twitter sebagai sarana untuk menciptakan konten media dengan memanfaatkan fitur-fitur yang berada didalamnya. Menurut Brian J.Dixion fitur yang terdapat dalam twitter sebagai berikut : [6]
a. Followers dan Following
Followers (pengikut) merupakan akun atau orang yang mengikuti akun yang lain, sedangkan following (mengikuti) merupakan akun atau orang yang diikuti akun yang lain. Cara lain untuk menggunakan twitter adalah untuk berbagi informasi dengan pengikut akun sendiri. Pengguna twitter yang mengikuti akun itu akan menerima update dari akun tersebut, yang diposting di halaman utama mereka di twitter.
b. Direct Message
Twitter juga memungkinkan untuk mengirim pesan pribadi kepengguna yang mengikuti akun tersbut. Ini pada dasarnya adalah program e-mail yang diterapkan ke twitter. Jika pengguna twitter tidak mengikuti akun tersebut, mereka tetap dapat saling mengirim pesan lewat pesan pribadi.
c. Twitter Search
Salah satu fitur yang paling kuat dari twitter adalah memberi kemudahan pengguna untuk mencari untuk orang-orang tertentu, kata kunci, subjek, dan tempat-tempat.
d. Trending Topics
Salah satu bagian yang paling menarik dari twitter adalah trending topics. Trending topics ini adalah terdiri sepuluh topik yang sering disebut atau dibicarakan di twitter pada waktu tertentu. Trending topics akan berkisar dari berita, olahraga, dan barang-barang hiburan yang menghibur.
e. Latest News
Twitter memungkinkan penggunanya dengan cepat mengejar ketinggalan berita terbaru. Begitu seseorang tahu tentang berita terbaru, dia dapat memposting informasi tersebut di twitter, dan dalam beberapa detik konten yang dibagi muncul di internet. (Dixion, 2012: 43 – 45). Untuk jenis sosial media seperti twitter dapat menciptakan serta menggerakan komunitas, mengendalikan traffic di blog, atau website. Sedangkan untuk kekuatan twitter sendiri adalah:
a. Following: Twitter dapat mengidentifikasikan jumlah akun yang diikuti
b. Followers: Twitter dapat mengidentifikasikan jumlah akun yang mengikuti
d. Men-tag nama (Mention): beberapa orang akan terlibat dalam pembicaraan apabila mencantumkan akun pada setiap status yang ditulis
e. Retweet: dengan me-retweet status followers lain menunjukkan tweet tersebut menarik untuk dibahas. Tweet tersebut dapat dibaca oleh seluruh followers
f. Keterlibatan: brand harus mampu untuk meningkatkan keterlibatan para konsumen dalam berbagai percakapan
g. Kecepatan: konsistensi dan frekuensi diperlukan untuk mengimbangi kecepatan perubahan informasi yang beredar di twitter. (Puntoadi, 2011: 129-131).
2.3 Analisis Sentimen
Analisis sentimen dapat dikatakan sebagai opinion mining.Analisis sentiment dapat digunakan dalam berbagai kemungkinan domain, dari produk, konsumen, jasa kesehatan, jasa keuangan, peristiwa sosial politik pada pemilu. Kecenderungan penelitian tentang analisis sentiment berfokus pada pendapat yang menyatakan atau menyiratkan suatu sentiment positif atau negatif. Pendapat mewakili hampir semua aktivitas manusia, karena pendapat dapat mempengaruhi terhadap perilaku seseorang [17].
2.4 Klasifikasi
Klasifikasi merupakan proses pembelajaran suatu fungsi tujuan (target) f yang memetakan tiap himpunan atribut x ke satu dari label kelas y yang didefinisikan sebelumnya. Fungsi target disebut juga model klasifikasi.
Teknik klasifikasi cocok untuk memprediksi atau menggambarkan data-set dengan tipe biner atau nominal.Teknik ini kurang efektif digunakan untuk tipe data ordinal (missal untuk mengklasifikasi anggota yang berpenghasilan rendah, sedang atau tinggi) karena teknik ini tidak mempertimbangkan secara implicit urutan dalam kategori data.
Teknik klasifikasi merupakan suatu pendekatan sistematis untuk membangun model klasifikasi dari suatu himpunan data masukan. Tiap teknik menggunakan suatu algoritma pembelajaran untuk mendapatkan suatu model yang paling memenuhi hubungan antara himpunan atribut dan label klas dalam data masukan. Tujan dari algoritma pembelajaran adalah untuk membangun model yang sama secara umum berkemampuan baik, yaitu model yang dapat memprediksi label kelas dari record yang tidak diketahui kelas sebelumnya dengan lebih akurat [7].
2.5 Algoritma C4.5
Algoritma data mining C4.5 merupakan salah satu algoritma yang digunakan untuk melakukan klasifikasi atau segmentasi atau pengelompokan dan bersifat prediktif. Dasar algoritma C4.5 adalah pembentukan pohon keputusan (decision tree).Cabang-cabang pohon keputusan merupakan pertanyaan klasifikasi dan daun-daunnya merupakan kelas-kelas atau segmen-segmennya.
Algoritma C4.5 merupakan salah satu algoritma machine learning. Dengan algoritma ini, mesin (computer) akan diberikan sekelompok data untuk dipelajari yang disebut learning dataset. Kemudian hasil dari pembelajaran selanjutnya akan digunakan untuk mengolah data-data yang baru yang disebut test dataset berupa pengelompokkan data ke dalam kelas-kelasnya.
Berikut adalah uraian langkah-langkah dalam algoritma C4.5 untuk menyelesaikan kasus suatu pertandingan tenis akan dilakukan atau tidak, berdasarkan keadaan cuaca, suhu, kelembaban, dan angin. Data yang telah ada pada Tabel 2.2 Akan digunakan untuk membentuk pohon keputusan. [3]
Pada Tabel 2.2 Atribut yang digunakan adalah cuaca, suhu, kelembaban, dan berangin.Setiap atribut memiliki nilai.Sedangkan kelasnya ada pada kolom Main yaitu kelas “Tidak” dan kelas “Ya”.Kemudian data tersebut dianalisis.Dataset tersebut memiliki 14 kasus yang terdiri dari 10 “Ya” dan 4 “Tidak” pada kolom Main.
Tabel 2.2 Learning Dataset
No Cuaca Suhu Kelembaban Berangin Main
1 Cerah Panas Tinggi Salah Tidak
2 Cerah Panas Tinggi Benar Tidak
3 Berawan Panas Tinggi Salah Ya
4 Hujan Sejuk Tinggi Salah Ya
5 Hujan Dingin Normal Salah Ya
6 Hujan Dingin Normal Benar Ya
7 Berawan Dingin Normal Benar Ya
8 Cerah Sejuk Tinggi Salah Tidak
10 Hujan Sejuk Normal Salah Ya
11 Cerah Sejuk Normal Benar Ya
12 Berawan Sejuk Tinggi Benar Ya
13 Berawan Panas Normal Salah Ya
14 Hujan Sejuk Tinggi Benar Tidak
Kemudian hitung entropi dengan rumus sebagai berikut:
Gambar 2. 1 Rumus Menghitung Entropy Keterangan:
1. S adalah himpunan (dataset) kasus
2. K adalah banyaknya partisi S
3. pj adalah probabilitas yang didapat dari Sum (Ya) dibagi Total Kasus
Jadi:
Hasil dari perhitungan pada dataset dapat dilihat pada Tabel 2.3.
Tabel 2.3 Hasil Perhitungan Pada Dataset
Total Kasus Sum (Ya) Sum (Tidak) Entropi Total
14 10 4 0.863120569
Setelah mendapatkan entropi dari keseluruhan kasus, dilakukan analisis pada setiap atribut dan nilai-nilainya dan hitung entropinya seperti yang
Tabel 2.4 Analisis Atribut, Nilai Entropi dan Gain
Node Atribut Nilai Sum
(Nilai) Sum (Ya) Sum (Tidak) Entropi Gain 1 Cuaca Berawan 4 4 0 0 Hujan 5 4 1 0.721928095 Cerah 5 2 3 0.970950594 0.258521037 Suhu Dingin 4 4 0 0 Panas 4 2 2 1 Sejuk 6 4 2 0.918295834 0.183850925 Kelembaban Tinggi 7 3 4 0.985228136 Normal 7 7 0 0
Tabel 2.4 Analisis Atribut (Lanjutan)
0.370506501
Berangin Salah 8 6 2 0.811278124
Benar 6 2 4 0.918295834
0.005977711
Untuk menghitung gain setiap atribut rumusnya adalah:
Jadi:
Dihitung pula Gain (Suhu), Gain (Kelembaban), dan Gain (Berangin). Hasilnya dapat dilihat pada Tabel 2.3.Karena nilai gain terbesar adalah Gain (Kelembaban).Maka kelembaban menjadi node akar (root node). Kemudian pada kelembaban normal, memiliki 7 kasus dan semuanya memiliki jawaban Ya
Gambar 2.3 Rumus Menghitung Gain
(Sum(Total / Sum(Ya) = 7/7 = 1). Dengan demikian kelembaban normal menjadi daun atau leaf.Dapat dilihat pada Tabel 2.3 yang selnya berwarna biru.
Gambar 2.5 Pohon Keputusan Node 1.1 (root node)
Berdasarkan pembentukan pohon keputusan node 1.1 (root node), node 1.1 akan dianalisis lebih lanjut. Untuk mempermudah, Tabel 1 difilter dengan mengambil data yang memiliki Kelembaban = Tinggi, sehingga jadilah Tabel 2.5.
Tabel 2.5 Data yang Memiliki Kelembaban = Tinggi
No Cuaca Suhu Kelembaban Berangin Main
1 Cerah Panas Tinggi Salah Tidak
2 Cerah Panas Tinggi Benar Tidak
3 Berawan Panas Tinggi Salah Ya
4 Hujan Sejuk Tinggi Salah Ya
5 Cerah Sejuk Tinggi Salah Tidak
6 Berawan Sejuk Tinggi Benar Ya
7 Hujan Sejuk Tinggi Benar Tidak
Kemudian data di Tabel 2.5 dianalisis dan dihitung kembali entropi atribut Kelembaban Tinggi dan entropi setiap atribut serta gainnya sehingga hasilnya
Gambar 2.6 Pohon Keputusan Analisis Node 1.1.2
akan seperti data pada Tabel 2.6. Setelah itu tentukan pilih atribut yang memiliki gain tertinggi untuk dibuatkan node berikutnya.
Tabel 2.6 Hasil Analisis Node 1.1.2
Kelembaban Tinggi Sum(Ya) Sum(Tidak) Entropi
7 3 4 0.985228136
Tabel 2.7 Perhitungan Gain 1.1
Node Atribut Nilai Sum
(Nilai) Sum (Ya) Sum (Tidak) Entropi Gain 1.1 Cuaca Berawan 2 2 0 0 Hujan 2 1 1 1 Cerah 3 0 3 0 0.69951385 Suhu Dingin 0 0 0 0 Panas 3 1 2 0.918295834 Sejuk 4 2 2 1 0.02024207 Berangin Salah 4 2 2 1 Benar 3 2 1 0.918295834 0.020244207
Dari Tabel 2.7 gain tertinggi ada pada atribut Cuaca dan Nilai yang dijadikan daun atau leaf adalah Berawan dan Cerah. Maka pohon keputusan tampak seperti Gambar 2.7.
Untuk menganalisis node 1.1.2, dilakukan kembali langkah-langkah yang sama seperti sebelumnya Hasilnya ditampilkan pada Tabel 2.8 dan Gambar 2.7.
Tabel 2.8 Hasil Analisis Node 1.1.2
1 Hujan Sejuk Tinggi Salah Ya
2 Hujan Sejuk Tinggi Benar Tidak
Tabel 2.9 Hasil Perhitungan Node 1.1.2 Kelembaban Tinggi
dan Hujan
Sum(Ya) Sum(Tidak) Entropi
2 1 1 1
Tabel 2.10 Perhitungan Gain 1.1.2
Node Atribut Nilai Sum
(Nilai) Sum (Ya) Sum (Tidak) Entropi Gain 1.1.2 Suhu Dingin 0 0 0 0 Panas 0 0 0 0 Sejuk 2 1 1 1 0 Berangin Salah 1 1 0 0 Benar 1 0 1 0 1
2.6 Metode Pengembangan Perangkat Lunak
Prototype adalah proses pembuatan model sederhana yang mengijinkan pengguna memiliki gambaran dasar tentang program serta melakukan pengujian awal. Proses dimulai dengan mengumpulkan kebutuhan, pengembangan dan pelanggan bertemu dan mendefinisikan keseluruhan dari perangkat lunak, mengidentifikasi segala kebutuhan yang diketahui, dan area garis besar dimana definisi lebih jauh merupakan keharusan yang kemudian dilakukan perancangan kilat, perancangan kilat berfokus pada penyajian dari aspek-aspek perangkat lunak tersebut yang akan nampak bagi pelanggan atau pemakai (contohnya pendekatan input dan format output). Perancangan kilat membawa kepada konstruksi sebuah prototype.Prototype tersebut dievaluasi oleh pelanggan/pemakai dan dipakai untuk menyaring kebutuhan pengembangan perangkat lunak. Iterasi terjadi pada saat prototype disetel untuk memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan pengembang untuk secara lebih baik memahami apa yang harus dilakukannya.
Secara ideal prototype berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Bila prototype yang sedang bekerja
dibangun, pengembang harus mempergunakan fragmen-fragmen program yang ada atau mengaplikasikan alat-alat bantu (contohnya report generation, windows manager) yang memungkinkan program bekerja secara cepat.
Alur dari metode prototype digambarkan pada Gambar 2.8.
Gambar 2.8 Prototype [8]
2.7 Pemodelan Sistem
Pemodelan adalah gambaran dari realita yang simpel dan dituangkan dalam bentuk pemetaan dengan aturan tertentu. Pemodelan dapat menggunakan bentuk yang sama dengan realitas misalnya jika seorang arsitek ingin memodelkan sebuah gedung yang akan dibangun, maka dia akan memodelkannya dengan membuat sebuah maket (tiruan) arsitektur gedung yang akan dibangun. Dimana maket itu akan dibuat semirip mungkin dengan desain gedung yang akan dibangun agar arsitektur gedung yang diinginkan dapat terlihat. Seperti yang pengguna ketahui bahwa manusia akan lebih memahami suatu hal dengan menggunakan visual agar sekelompok manusia yang berkepentingan dapat mengerti bagaimanakah ide yang akan dikerjakan. Pemodelan juga banyak
digunakan untuk merencanakan suatu hal agar kegagalan dan risiko yang mungkin terjadi dapat diminimalisir.
Pada dunia pembangunan perangkat lunak sistem informasi juga diperlukan pemodelan.Pemodelan perangkat lunak digunakan untuk mempermudah langkah berikutnya dari pengembangan sebuah sistem informasi sehingga lebih terencana. Seperti halnya maket, pemodelan pada pembangunan perangkat lunak digunakan untuk memvisualkan perangkat lunak yang akan dibuat.
Perangkat pemodelan adalah suatu model yang digunakan untuk menguraikan sistem menjadi bagian-bagian yang dapat diatur dan mengkomunikasikan ciri konseptual dan fungsional kepada pengamat [9].
Peran perangkat pemodelan adalah sebagai berikut:
1. Komunikasi
Perangkat pemodelan dapat digunakan sebagai alat komunikasi antara pemakai dengan analis sistem maupun developer dalam pengembangan sistem.
2. Eksperimentasi
Pengembangan sistem bersifat “trial and error”.
3. Prediksi
Model meramalkan bagaimana suatu sistem akan bekerja.
Salah satu perangkat pemodelan adalah Unified Modelling Language (UML).UML muncul karena adanya kebutuhan pemodelan visual untuk
menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung.
UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek.
1. Use Case Diagram
Use case diagram merupakan pemodelan untuk kelakukan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih actor untuk mengetahui fungsi apa saja yang ada dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut.
Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut actor dan use case.
a. Actor merupakan orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi meskipun simbol dari actor adalah gambar orang, akan tetapi actor belum tentu merupakan orang.
b. Use case merupaan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau actor.
Simbol-simbol yang ada pada use case diagram dapat dilihat pada Tabel 2.11
Tabel 2.11 Simbol Pada Use Case Diagram
Simbol Nama Deskripsi
Use Case
Fungsionalitas yang
disediakan sistem sebagai unit-unit yang sering bertukar pesan antar unit atau actor, biasanya dinyatakan dengan menggunakan kata kerja di awal frase nama use case.
Actor
Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi meskipun simbol dari actor adalah gambar orang, akan tetapi actor belum tentu merupakan orang, biasanya dinyatakan menggunakan kata benda di awal frase nama actor.
Association
Komunikasi antar actor dan usecase yang berpartisipasi pada use case atau use case memiliki interaksi dengan actor.
2. Activity Diagram
Activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Activity diagram menggambarkan aktivitas sistem bukan apa yang dilakukan actor. Activity diagram juga banyak digunakan untuk mendefinisikan hal-hal berikut:
a. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.
b. Urutan atau pengelompokan tampilan dari system atau user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
c. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya.
Simbol-simbol yang ada pada activity diagram dapat dilihat pada Tabel 2.12.
Tabel 2.12 Simbol Pada Activity Diagram
Simbol Nama Deskripsi
Status Awal
Status awal aktivitas sistem, sebuah diagram aktivitas memiliki status awal.
Activity
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja
Decision
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu.
Simbol Nama Deskripsi
Status Akhir
Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir.
Swimline
Memisahkan pelaku yang bertanggung jawab terhadap aktivitas yang terjadi.
3. Class Diagram
Class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki atribut dan metode atau operasi.
a. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas.
b. Metode atau operasi merupakan fungsi-fungsi yang dimiliki oleh suatu kelas.
Kelas-kelas yang ada pada struktur sistem dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem. Susunan struktur kelas yang baik pada diagram kelas sebaiknya memiliki jenis-jenis kelas berikut:
Kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan.
b. Kelas yang menangani tampilan sistem
Kelas yang mendefinisikan dan mengatur tampilan ke pemakai.
c. Kelas yang diambil dari pendefinisian use case
Kelas yang menangani fungsi-fungsi yang harus ada. Kelas ini diambil dari pendefinisian use case.
d. Kelas yang diambil dari pendefinisian data
Kelas yang digunakan untuk memegang atau membungkus data menjadi sebuah kesatuan yang diambil maupun akan disimpan ke basis data.
Jenis-jenis tersebut juga dapat digabungkan satu sama lain sesuai dengan pertimbangan yang dianggap baik asalkan fungsi-fungsi yang sebaiknya ada pada struktur kelas tetap ada. Susunan kelas juga dapat ditambahkan kelas utilitas seperti koneksi ke basis data, membaca file teks, dan lain sebagainya sesuai kebutuhan.
Dalam mendefinisikan metode yang ada didalam kelas perlu memperhatikan apa yang disebut dengan cohesion dan coupling. Cohesion adalah ukuran seberapa dekat keterkaitan instruksi didalam sebuah metode terkait satu sama lain, sedangkan coupling adalah ukuran seberapa dekat keterkaitan instruksi antara metode yang satu dengan metode yang lain dalam sebuah kelas. Sebagai aturan secara umum, maka sebuah metode yang dibuat harus memiliki
kadarcohesion yang kuat dan kadar coupling yang lemah. Simbol-simbol yang ada pada class diagram dapat dilihat pada Tabel 2.13.
Tabel 2.13 Simbol Pada Class Diagram
Simbol Nama Deskripsi
Class
Kelas pada struktur system
Association
Relasi antar kelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity
4. Sequence Diagram
Sequence Diagram menggambarkan kelakukan objek pada use case dengan mendeskripsikan waktu hidup obek dan message yang dikirimkan dan diterima antarobjek. Oleh karena itu untuk menggambar sequence diagram harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.
Banyaknya sequence diagram yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri. Simbol-simbol yang ada pada sequence diagram dapat dilihat pada Tabel 2.14.
Tabel 2.14 Simbol Pada Sequence Diagram
nama aktor
atau
Actor
Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat. Meskipun simbol dari actor adalah gambar orang, akan tetapi belum tentu merupakan orang. Biasanya dinyatakan menggunakan kata benda diawal frase nama actor.
Tabel 2.15 Simbol Pada Sequence Diagram (Lanjutan)
Simbol Nama Deskripsi
Lifeline Menyatakan kehidupan suatu objek.
Objek Menyatakan objek yang berinteraksi pesan.
Waktu Aktif Menyatakan objek dalam
keadaan aktif dan
berinteraksi pesan.
Pesan tipe create Menyatakan suatu objek nama aktor
<<create>> membuat objek yang lain, arah panah mengarah pada objek yang dibuat.
1: masukan
Pesan tipe send Menyatakan bahwa suatu objek mengirimkan data, masukan, informasi ke objek lainnya, arah panah mengarah pada objek yang dikirimkan.
2.8 Pengujian Perangkat Lunak
Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan mempresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean [10].
Pentingnya pengujian perangkat lunak mengacu pada kualitas perangkat lunak yang melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan karena ketidakmampuan manusia dalam melakukan komunikasi dengan sempurna terhadap kebutuhan yang diinginkan user maka pengembangan perangkat lunak harus diiringi dengan aktivitas jaminan kualitas dengan melakukan pengujian terhadap perangkat lunak tersebut. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkatlunak unuk mencari kesalahan yang terdapat pada perangkat lunak sebelum perangakat lunak tersebut digunakan.
Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah :
1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.
2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya. 3. Pengujian yang sukses adalah pengujian yang mengungkap semua
kesalahan yang belum pernah ditemukan sebelumnya.
Sasaran itu berlawanan dengan pandangan yang biasanya dipegang yang menyatakan bahwa pengujian yang berhasil adalah pengujian yang tidak ada kesalahan yang ditemukan.Data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai reliabilitas perangkat lunak dan beberapa menunjukkan kualitas perangkat lunak secara keseluruhan.
Sebelum mengaplikasikan metode untuk mendesain test case yang efektif, perekayasa perangkat lunak harus memahami prinsip dasar yang menuntun pengujian perangkat lunak, yaitu:
1. Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan, maksudnya mengungkap kesalahan dari cacat yang meneybabkan program gagal.
2. Pengujian harus direncanakan lama sebelum pengujian itu dimulai, maksudnya semua pengujian dapat direncanakan dan dirancang sebelum semua kode dijalankan.
3. Prinsip Pareto berlaku untuk pengujian perangkat lunak, maksudnya dari 80% kesalahan yang ditemukan selama pengujian dapat ditelusuri sampai 20% dari semua modul program.
4. Pengujian harus mulai “dari yang kecil” dan berkembang ke pengujian “yang besar”. Selagi pengujian berlangsung maju, pengujian mengubah fokus dalam usaha menemukan kesalahan pada klaster modul yang terintegrasi dan akhirnya pada sistem.
5. Pengujian yang mendalam tidak mungkin karena tidak mungkin mengeksekusi setiap kombinasi jalur skema pengujian dikarenakan jumlah jalur permutasi untuk program menengah pun sangat besar.
6. Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independen.
Dalam lingkungan yang ideal, perekayasa perangkat lunak mendesain suatu program komputer, sebuah sistem atau produk dengan testabilitas dalam pikirannya.Hal ini memungkinkan individu yang berurusan dengan pengujian mendesain test case yang efektif secara lebih mudah.Testabilitas adalah seberapa mudah sebuah program komputer dapat diuji. Karena sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi lebih mudah.
Sasaran utama desain test case adalah untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi di dalam pengungkapan kesalahan pada perangkat lunak
Untuk mendapatkan kesalahan pada perangkat lunak, digunakan beberapa teknik pengujian diantaranya:
2.8.1 Pengujian White-Box
White-Box Testing adalah sebuah metoda perancangan kasus uji yang menggunakan struktur kontrol dari perancangan prosedur. Pengguna metoda pengujian akan membuat software enginer dapat :
a. Menjamin bahwa semua jalur independen dalam sebuah modul telah dilewati paling tidak satu kali
b. Memeriksa semua keputusan logika baik pada sisi sebenarnya maupun pada sisi salahnya
c. Mengeksekusi semua loop pada nilai batasnya dan dalam nilai dimana dia harus beroperasi
d. Menguji struktur data internal untuk menjamin validasinya.
2.8.2 Pengujian Black-Box
Black-Box Testing adalah metode pengujian perangkat lunak yang menguji fungsionalitas dari aplikasi.Pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan pemrograman pada umumnya tidak diperlukan. Cara pengujian dilakukan dengan hanya menjalankan atau mengeksekusi unit atau modul kemudian diamati apakah hasil dari unit itu sesuai dengan proses bisnis yang diinginkan. Dari sini dapat diketahui keinginan client terhadap perangkat lunak tersebut, misal client ingin tampilannya diubah atau proses penjalanan perangkat lunak tersebut agar lebih dimengerti.
Ujicoba black-box berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :
1. Fungsi-fungsi yang salah atau hilang. 2. Kesalahan interface.
3. Kesalahan dalam struktur data atau akses database eksternal. 4. Kesalahan performa.
5. Kesalahan inisialisasi dan terminasi. 2.9 Android
Beberapa penjelasan mengenai android yaitu sebagai berikut: a. Definisi Android
Android adalah sistem operasi berbasis linux yang digunakan untuk telepon seluler (mobile) seperti telepon pintar (smartphone) dan computer tablet (PDA).
Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri yang digunakan oleh bermacam peranti bergerak.Android kini telah menjelma menjadi sistem operasi mobile terpopuler didunia. Perkembangan Android tidak lepas dari peranan sang raksasa Google. Android pada mulanya didirikan oleh Andy Rubin, Rich Miner, Nick Sears dan Chris White pada tahun 2003 [11].
a. Android SDK (Software Development Kit)
Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk mengembangkan aplikasi pada Platform Android menggunakan bahasa pemograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang direlease oleh google. Saat ini disediakan Android SDK (Software Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan aplikas pada platform android menggunakan bahasa pemrograman java. Sebagai paltform
aplikasi-netral, anroid memberi anda kesempatan untuk membuat aplikasi yang kita butuhkan yang bukan merupakan bawaan handphone Atau smartphone.[12] b. Android Studio
Android Studio merupakan sebuah Integrated Development Environment (IDE) yang bisa digunakan untuk pengembangan aplikasi Android, dan dikembangkan oleh Google, Ellie Powers. Android Studio merupakan pengembangkan dari Eclipse IDE, dan dibuat berdasarkan IDE Java populer, yaitu Intellij IDEA. Android Studio direncanakan untuk menggantikan Eclipse ke depannya sebagai IDE resmi untuk pengembangan aplikasi Android.
Sebagai pengembangan dari Eclipse, Android Studio mempunyai banyak fitur-fitur baru dibandingkan dengan Eclipse IDE. Berbeda dengan Eclipse yang menggunakan Ant, Android Studio menggunakan Gradle sebagai build environment. [13]
c. Arsitektur Android
Arsitektur android menggambarkan komponen-komponen yang membangun sebuah aplikasi android. Berikut ini adalah gambaran arsitektur android yang dikutip dari buku “Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android”.
Secara garis besar arsitektur Android dapat dijelaskan sebagai berikut: [14] 1. Application dan Widgets
Application dan Widgets merupakan puncak dari diagram arsitektur android.Lapisan aplikasi ini merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pada lapisan ini terdapat aplikasi inti
yang dipergunakan pengguna, yaitu email, client, program SMS, kalender, peta, browser, kontak dan lain-lain.
2. ApplicationFramework
Android merupakan Open Development Platform yakni developer dapat melakukan pengembangan dengan membangun aplikasi yang bagus dan inovatif. Dalam android terdapat kerangka aplikasi yang menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi. Selain itu, android juga menyediakan abstraksi generik untuk mengakses perangkat, serta mengatur tampilan (User Interface) dan sumber daya aplikasi.
2.10 Database
Berikut adalah beberapa penjelasan mengenai database yaitu: a. Definisi Database
Database merupakan kumpulan file-file yang mempunyai kaitan antara satu file dengan file yang lainnya sehingga membentuk satu bangunan data untuk menginformasikan satu perusahaan, instansi dalam batasan tertentu.
Model data yang dibentuk bisa berbasis objek, record atau lainnya. Perancangan model data ini sudah didukung oleh paket-paket program yang ada dalam Database Management System (DBMS). Dukungan yang diberikan adalah Data Definition Language (DDL) untuk mendifinisikan struktur data, dan Data Manipulation Language (DML) untuk pengolahan data (operator) [15].
b. Database SQLite
SQLite adalah database opensource yang ditanam pada android. SQLite merupakan salah satu dari SQL database engine yang paling banyak digunakan sebagai Embedded database. Tidak seperti kebanyakan database SQL lainnya,
SQLite tidak memiliki proses server yang terpisah dan dapat membaca serta menulis secara langsung kedalam file biasa. SQLite dapat digunakan secara bebas, baik kepentingan personal maupun komersial. [16]
Kelebihan dari SQLite yaitu:
1. Database dengan konfigurasi nol. Artinya tidak ada konfigurasi database untuk para developer. Ini membuatnya relatif mudah digunakan.
2. Tidak memiliki server. Tidak ada proses database SQLite yang berjalan. Pada dasarnya satu set libraries menyediakan fungsionalitas database.
3. Single-file database. Ini membuat keamanan database secara langsung.
4. Opensource. Hal ini membuat developer mudah dalam pengembangan aplikasi.
Sedangakan kekurangan dari SQLite yaitu:
1. Security, karena berdasar operasi baca/tulis maka security yang dimiliki oleh SQLite hanya read dan write yang didasarkan pada security file system environment yang digunakan.
2. Reliability, untuk ukuran data yang kecil, reliability atau ketahanan database SQLite mungkin lebih baik daripada database konvensional. Tapi untuk data besar hal ini akan sulit, karena SQLite menggunakan operasi read atau write secara langsung ke file. Sehingga ketika operasi write terjadi, seluruh file akan di-lock dan menyebabkan operasi yang lain tidak bisa berjalan. Meskipun proses locking ini terjadi hanya dalam hitungan mili bahkan mungkin micro second. Tapi kalau frekuensi
performansi aplikasi. Dalam beberapa kasus hal ini bisa diakali dengan memecah data menjadi beberapa file yang lebih kecil.
BAB III
ANALISIS DAN PERANCANGAN
Berdasarkan hasil pengumpulan data yang telah dilakukan dengan berbagai metode yang telah ditentukan dari mulai wawancara, penelitian kepustakaan (landasan teori), serta penelitian langsung terhadap pakar yang dianggap berkompeten dalam permasalahan yang telah dirumuskan, menghasilkan berbagai perancangan yang sebaiknya dibuat untuk memenuhi berbagai kebutuhan.
3.1 Analisis Kebutuhan Software dan Hardware
Software dan hardware yang digunakan untuk menjalankan aplikasi yang akan dibuat ini harus memiliki spesifikasi sebagai berikut:
3.1.1 Hardware yang dibutuhkan
1. Layar : Minimal 720 x 1280 px 2. RAM : Minimal 512 MB 2.1.1 Software yang dibutuhkan
1. Operating System Android
2.2 Analisis Kebutuhan Fungsional
Dalam analisis kebutuhan fungsional ini, berbagai tahapan pengumpulan data khususnya dalam wawancara terhadap para pakar yang telah mengaplikasikan teknik diagnose ini secara manual. Dari hasil wawancara tersebut maka munculah berbagai kebutuan fungsional sistem yang seharusnya ada di dalam aplikasi yang akan dibuat ini, dan berikut dapat dijelaskan pada Tabel 3.1.
Tabel 3.1. Analisis kebutuhan fungsional No Kode Requirement Nama Modul Keterangan
1 req1 Login
Masuk Aplikasi dengan menggunakan Username dan Password Twitter
2 req2 Menu Pilihan
Menampilkan Pilihan-pilihan menu yang tersedia
3 req3 Ambil Data Tweet
Mengambil data tweet sesuai dengan kata yang di inputkan
4 req4 Klasifikasi Data
Menampilkan hasil data yang yang telah diklasifikasi dengan algoritma C.45
2.3 Perancangan
Perancangan aplikasi ini menggunakan pendekatan berorientasi objek dengan menggunakan metode Unified Modeling Language (UML), dan berikut ini gambarannya .
System
Aktor
Login
Mengambil data kicauan dari twitter
Mengklasifikasi data kicauan <<include>>
2.3.1 Use Case Diagram
Mendeskripsikan kelakuan sistem dari sudut pandang pengguna, berguna untuk membantu memahami kebutuhan.
Berdasarkan Gambar 3.1 tentang use case yang dirancang untuk aplikasi ini, maka ada beberapa use case yang dapat dijelaskan sebagai berikut :
a. Masuk Kedalam Aplikasi
Use case ini merupakan cara untuk masuk kedalam aplikasi ini dengan menggunakan authentifikasi dari account twitter sehingga mendapatkan izin untuk mengambil data tweet dari twitter.
b. Mengambil Data Kicauan Dari Twitter
Use case ini merupakan cara untuk mengambil data kicauan dari twitter dengan menggunakan authentifikasi account twitter yang telah dilakukan di use case sebelumnya.
c. Mengklasifikasi Data Kicauan
Pada use case ini kita mengklasifikasikan data yang di dapatkan dari twitter dengan menggunakan algoritma C.45 sehingga didapatkan data tweet yang terklasifikasi sebagai data sentiment atau tidak.
2.3.2 Skenerio Use Case
Skenario use case digunakan untuk menjelaskan dari gambaran use case yang ada dengan menggambarkan identifkasinya dan scenario per use case. a. Use Case Scenario Login
Tabel 3.2. Tabel Use Case Scenario Login IDENTIFIKASI
No UCS01
Nama Login
Tujuan Untuk masuk kedalam aplikasi dengan
menggunakan akun twitter
Deskripsi Proses pada use case ini system meminta
inputan User name dan Password lalu saat akun berhasil login system
menyimpan session Id User IDENTIFIKASI
Aktor User
SKENARIO UTAMA
Kondisi Awal Tampilan menu awal aplikasi
Aksi actor Reaksi Sistem
1. User membuka aplikasi 2. Meminta input username dan password
Aksi actor Reaksi Sistem
3. User memasukan username dan password
4. Mengaunthetifikasi akun twitter 5. Menyimpan session id user 6. Menampilkan hasil pencarian
7. Sukses masuk kedalam aplikasi
b. Use Case Scenario Menu Ambil Data
Tabel 3.3. Tabel Use Case Scenario Menu Ambil Data IDENTIFIKASI
No UCS02
Nama Menu Ambil Data
Tujuan Untuk untuk mengambil data tweet
Deskripsi Proses pada use case ini sistem akan
melakukkan pengambilan data sesuai dengan key yang ingin dicari oleh user IDENTIFIKASI
Aktor User
SKENARIO UTAMA
Kondisi Awal Tampilan menu pilihan
Aksi actor Reaksi Sistem
1. User mengklik menu ambil data
2. Memastikan usertelah terautentifikasi
3. Menampilkan halaman pengambilan data
4. User memasukan key atau data yag ingin dicari
5. Meminta data tweet sesuai key yang dicari
6. Menampilkan hasil pencarian data tweet
7. User mengklik tombol simpan data
8. Sistem akan melakukan processing data tweet 9. System melakukan
10. Selesai melakikan pengambilan data
c. Use Case Scenario Klasifikasi
Tabel 3.4. Tabel Use Case Scenario Klasifikasi IDENTIFIKASI
No UCS03
Nama Klasifikasi
Tujuan Untuk mengelompokan data dan
menampilkan hasil klasifikasi
Deskripsi Proses pada use case ini sistem akan
melakukan penghitungan algoritma c.45 lalu memberikan hasil perhitungan IDENTIFIKASI
Aktor User
SKENARIO UTAMA
Kondisi Awal Tampilan menu awal aplikasi
Aksi actor Reaksi Sistem
1. User memilih menu klasifikasi
2. System melakukan pengecekan data tweet yang tersimpan 3. Sistem menampilkan data tweet
yang tersimpan 4. User menekan tombol
klasifikasi data
5. Melakukan penghitungan dengan algoritma c45
6. Lalu sistem mengklasifikasikan data sesuai dengan hasil algoritma c4.5
7. Menampilkan data tweet yang termasuk sentiment
2.3.3 Deployment Diagram
Pada gambar 3.2 device atau aplikasi menggunakan satu library atau depedencies yang bernama twitter SDK, twitter sdk tersebut menghubungkan aplikasi dengan server twitter. Di dalamnya terdapat API get tweet yang digunakan untuk mengambil data tweet. Pada aplikasi juga terdapat juga database yang berfungsi untuk menyimpan data tweet yang diambil dan di proses pada algoritma c4.5
2.3.4 Activity Diagram
Gambar 3.3 Activity diagram login
Gambar 3.3 merupakan alur aktifitas yang dilakukkan aktor dengan sistem, dimana dalam gambar tersebut dijelaskan bagaimana tahap saat akan melakukan login. Interaksi aktor dan user digambarkan bahwa user haru memasukan username dan password untuk masuk kedalam aplikasi yang terhubung dengan twitter, dan bila sukses melakukan login system akan menyimpan session ID user.
Gambar 3.4 Activity diagram ambil data
Gambar 3.4 merupakan alur aktifitas antara userdan system pada saat mengambil data tweet dari twitter, dimana dalam tahap ini user atau actor akan menginputkan kata sebagai key yang akan dicari di dalam data tweet, setelah itu pada saat data telah didapatkan dan user bersedia untuk menyimpan data. Data akan melalui proses preprocessing yang didalamnya memiliki tahap seperti case
folding, steaming, stopwords dan lain-lain. Hasil data yang telah di preprocessing tadi selanjutnya akan disimpan ke dalam database.
User System
Memilih menu klasifikasi Mengecek data tweet yang tersimpan
Menampilkan data tweet yang tersimpan menekan tombol klasifikasi data
melakukan penghitungan algoritma c4.5
mengklasifikasikan data sesuai dengan hasil algo
menampilkan data tweet yang termasuk sentimen Selesai melakukan aplikasi
Gambar 3.5 Activity diagram klasifikasi
Gambar 3.5 merupakan alur aktifitas antara userdan system pada saat mengklasifikasi data tweet dari twitter, dimana dalam tahap ini user akan masuk kedalam menu klasifikasi yang akan menampilkan data tweet yang telah disimpan. Selanjutnya setelah user menyetujui untuk memulai klasifikasi, system akan membuat suatu pohon keputusan dengan menggunakan metode C4.5. Setelah mendapatkan pohon keputusan maka selanjutnya tinggallah mengklasifikasi data sesuai dengan pohon klasifikasi yang terbentuk sebelumnya. Hasil dari klasifikasi
atau tweet yang dianggap sebagai tweet sentimen akan ditampilkan sebagai output dari proses ini.
2.3.5 Class Diagram
Menu Pilihan
+int pilihan menu +SQLHelper sqlHelper +onCreat() +importDatabase() +menuAmbildata() +MenuKlasifikasi() login +String username +String Password +String SessonID +onCreat() +authentifikasiData() +SimpanSession() +TampilkanMenu() klasifikasi +SQLHelper sqiHelper +Lis data wee +onCrea() +amilkanData() +prosesAlgoC4.5() +setKlasifikasiData() +TampilkanHasil() SQL Helper +DBHandler dbHandler +File fileName +setDatabase(DBHandler) +copyDatabaseIfExist(File) +SimpanNode() +SimpanData() +getDataStopword() +getDataTweet() +getDataKeyword() +getTotalKeyword() +setKlasifikasiData() +updateKategori() Algo C4.5 +List Data +SQLHelper sqlHelper +int jumlahKategori +double entropyTotal +double Gain +HitungEntropy() +HitungGain() +BuatTabelGain() +UrutkanGain() +SimanNode() +KlasifikasiSesuaiNode() Ambil Data
+List data tweet +SearchService Search +Int jumlahData +SQLHelper sqlHelper +String Key +onCreat() +ambilDataTweet(Key) +TamilkanDataTweet() +SimpanData() +preprocessingData() Text peocessing +List StopwordList +StringService Search +int jumlahData +SQLHelper sqlHelper +String Key +HapusTagURL() +HapusTandaBaca() +tokenisasi() +caseFolding() +steamming() +stopword()
Gambar 3.6 Class diagram aplikasi
Gambar 3.6 menjelaskan tentang berbagai class yang akan terdapat dalam aplikasi yang akan dibangun. Dapat dilihat terdapat tujuh buah class, yang pertama adalah Class Login yang berfungsi untuk mengauthentifikasi akun yang dipakai oleh user, dimana akun yang dipakai adalah akun twitter. Selanjutnya adalah class Menu Pilihan yang berisi tentang menu-menu yang tersedia di dalam
aplikasi ini, dan yang ketiga adalah Class Ambil Data yang berfungsi sebagai Class pengambilan data tweet dari twitter yang selanjutnya melalui tahap preprocessing.
Pada class diagram diatas ada pula class Klasifikasi yang merupakan class inti dari aplikasi ini yang berfungsi untuk melakukan klasifikasi dari data tweet menggunakan algoritma C4.5. Lalu selanjutnya ada class SQL Helper sebagai class yang berfungsi untuk menghubungkan aplikasi dengan database, dan ada pula class Algoritma C4.5 yang berisi tentang tahapan perhitungan algoritma C45 hingga membuat pohon keputusan yang ada. Class Text processing adalah class yang berfungsi untuk memproses suatu data dengan tahapan-tahapan pemprosesan text seperti case folding, steaming dan lain-lain.
2.3.6 Sequence Diagram
a. Sequence diagram untuk Login
Gambar 3.7 Sequence diagram Login
Pada Gambar 3.7 dapat terlihat bahwa untuk masuk kedalam aplikasi (login) user berinteraksi dengan dua buah class yaitu class menu pilihan dan class
login. Pada class login terdapat satu method yaitu authetifikasiData() yang berfungsi untuk mendapat session ID dari twitter. Lalu pada class menu pilihan terdapat berbagai method salah satunya adalah importDB() yang akan import file database yang telah disediakan aplikasi
b. Sequence diagram untuk ambil data
Gambar 3.8 Sequence diagram untuk ambil data.
Pada Gambar 3.8 menjelaskan tentang bagaimana interaksi berbagai class saat melakukkan penambilan data dari twitter, dimana pada flownya terdapat 4 class yang digunakan yaitu menu pilihan yang menamplkan menu-menu aplikasi lalu class ambil data yang terdapat method ambilDatatTweet() yang diberikan parameter key sebagai key yang dicari. Lalu ada class Text Processing yang
terdapat berbagai method untuk mengolah text menjadi lebih bisa diproses. Lalu ada juga class SQL Helper yang adanya method simpanData() yang berfungsi untuk menyimpan data tweet yang dipilih ke database.
c. Sequence Diagram Untuk Mengklasifikasi data
Gambar 3.9 Sequence diagram Klasifikasi
Pada Gambar 3.9 dapat terlihat bahwa dalam sebuah proses pengklasifikasian data kita memerlukan 4 class yaitu menu pilihan, klasifikasi, Algoritma C4.5, dan SQL Helper. Seperti yang dijelaskan di sequence sebelumnya bahwa class menu pilihan hanya menampilkan menu yang bias dipilih, lalu SQL Helper adalah class yang menghubungkan ke dalam database baik menyimpan atau mengupdate data. Selanjtnya fokus tahap ini ada pada class Algoritma C4.5 yang memiliki berbagai method seperti hitung Entropy dan hitung Gain yang memang method inti perhitungan algoritma C4.5.
2.3.7 Perancangan Antarmuka
a. Rancangan Antarmuka Tampilan Awal
Tampilan halaman awal dapat dilihat pada Gambar 3.10.Pada tampilan ini user dapat mengklik button login.
b. Rancangan Antarmuka Login
Tampilan halaman login dapat dilihat pada Gambar 3.11 Pada tampilan login ini user dapat menginputkan e-mail dan password twitter yang sudah terdaftar.
c. Rancangan Antarmuka Menu
Tampilan halaman menu dapat dilihat pada Gambar 3.112. Pada tampilan menu menampilkan semua menu yang dapat di pilih pada aplikasi ini. Pertama menu ambil data, untuk mengambil data dari twitter.
Gambar 3.11 Mockup Login
Pada rancangan halaman ambil data dapat dilihat pada Gambar 3.13. Pada tampilan ambil data user menginputkan kata atau key yang ingin di cari lalu klik button search, ketika sudah mendapatkan data tweet klik button simpan data.
e. Rancangan antarmuka Klasifikasi
Untuk rancagan antarmuka klasifikasi dapat dilihat pada Gambar 1.14.
Pada halaman klasifikasi
menampilkan hasil data yang
sudah disimpan.
f. Rancangan Antarmuka Hasil Klasifikasi
Tampilan untuk halaman hasil klasifikasi dapat dilihat pada Gambar 3.15 Pada halaman hasil klasifikasi menampilkan hasil data yang sudah yang sudah di klasifikasi sesuai dengan algoritma c.45 atau pohon keputusan yang telah terbentuk.
2.3.8 Analisis Preprocessing data
Preprocessing dilakukan untuk menghindari kata yang kurang sempurna, gangguan pada data, dan data-data yang tidak konsisten. Berikut ini contoh tahapan text preprocessing untuk contoh tweet“@pitrazulfikar:kebangetan itu pemain, gawang udah kosong gak masuk, pemain BODOH !!!“.
a. Menghapus URL
URL (http://situs.com) dan email ([email protected]) dihapus dalam tahapan ini.
Hasil : “@pitrazulfikar:kebangetan itu pemain, gawang udah kosong gak masuk, pemain BODOH !!!“.
b. Menghapus Karakter Khusus
Proses ini dilakukan dengan menghapus karakter khusus seperti hastag (#hastag), dan username (@username).
Hasil :“kebangetan itu pemain, gawang udah kosong gak masuk, pemain BODOH !!!“.
c. Menghapus Simbol
Tahapan ini dilakukan untuk membuang simbol dan tanda baca dalam status.
Hasil :“kebangetan itu pemain gawang udah kosong gak masuk pemain BODOH“.
d. Tokenisasi