Analisis Sentimen Terhadap Telkom Indihome Berdasarkan Opini Publik Menggunakan Metode Improved K-Nearest Neighbor
1
I.1
Latar Belakang Masalah
Pengguna Internet di Indonesia semakin bertambah banyak. Menurut
Kementrian Komunikasi dan Informatika di tahun 2015 jumlah pengguna Internet
di Indonesia telah mencapai angka 150 juta orang, atau sekitar 61% dari total
penduduk[1]. Dengan jumlah sebanyak itu tentu banyak penyedia layanan internet
yang berlomba-lomba mempromosikan layanannya, salah satu contohnya
mempromosikan dengan cara menggabungkan beberapa layanan menjadi satu
seperti yang dilakukan oleh PT.Telekomunikasi Indonesia, Tbk yang membuat
produk bernama IndiHome yang didalamnya terdapat layanan internet, TV
berbayar dan telepon rumah.
PT.Telekomunikasi Indonesia, Tbk selaku penyedia layanan IndiHome
dengan menggabungkan beberapa layanan menjadi satu, saat ini memiliki promosi
layanan menarik yang mampu menarik banyak konsumen. Mulai banyaknya
jumlah pengguna membuat PT.Telekomunikasi Indonesia, Tbk ingin
menyediakan layanan berupa
feedback penilaian terhadap produk IndiHome.
Bapak Sony Budi Winarso selaku
Manager Marketing Integration Reg-3
berencana ingin mengetahui bagaimana respon konsumen terdahap produk
IndiHome dari media sosial karena menurutnya banyak konsumen Telkom yang
memberikan komentar terhadap produk Telkom di media sosial twitter. Media
online twitter saat ini menjadi sarana komunikasi
online yang sangat populer di
masyarakat, hal tersebut menyebabkan semakin banyak pengguna yang
melakukan posting tentang suatu produk dan layana yang mereka gunakan atau
hal yang lainnya. Namun pada saat ini, Telkom belum merealisasikan analisis
tersebut dan masih menggunakan analisis dengan cara pendataan langsung dari
plasa telkom, kuesioner dan diskusi secara langsung dengan konsumen telkom
yang dilakukan oleh pihak ketiga (konsultan), itupun dilakukan dalam jangka
waktu yang lama. Oleh karena itu dibutuhkan penelitian terhadap tingkat
kepuasan konsumen yang bisa diakses kapan saja secara
real time sehingga dapat
(2)
mengetahui respon konsumen terhadap produk Telkom Indihome dan dapat
menjadi bahan pertimbangan Telkom Indihome untuk mengambil langkah bisnis
selanjutnya dan bahan evaluasi untuk lebih meningkatkan kualitas layanannya.
Penilaian publik terhadap Telkom IndiHome tersebut seperti yang telah
disebutkan salah satunya dapat dilihat atau diteliti pada media sosial twitter,
karena informasi yang dilansir dari data Global Web Index, hampir semua media
sosial dimiliki oleh pengguna internet Indonesia[2]. Salah satunya twitter, twitter
telah menjadi media sosial 'sekunder' bagi para pengguna internet Indonesia.
Uniknya, Jakarta ternyata menjadi Kota yang paling gemar nge-tweets dengan
persentase 2,4% dari
tweets global dengan rata-rata 385
tweets per detik[3].
Banyak konsumen memberikan penilaian baik atau buruk suatu produk melalui
media twitter, dari jumlah banyaknya
tweets, banyak berbagai penilaian publik
terhadap layanan suatu produk salah satunya Telkom IndiHome baik itu berupa
respon positif ataupun negatif yang ditujukan kepada akun resmi Telkom
IndiHome.
Namun twitter tidak mempunyai fitur untuk mengagregasi informasi
mengenai suatu bahasan yang ada menjadi sebuah kesimpulan. Twitter hanya bisa
menampilkan topik yang sedang banyak diperbincangkan saat itu atau yang sering
disebut tranding topic, tanpa memberikan suatu kesimpulan. Diperlukan metode
khusus untuk mengolah informasi sehingga menghasilkan suatu kesimpulan dari
respon positif atau negatif dari konsumen.
Berdasarkan pembahasan sebelumnya, diperlukan cara untuk dapat
mengklasifikasikan opini publik menjadi informasi baru berupa kesimpulan dari
respon positif atau negatif para konsumen dari data yang diambil dari twitter.
Dengan demikian perlu diteliti dengan menggunakan
text mining.
Text
mining adalah menambang data yang berupa teks dimana sumber data biasanya
didapatkan dari dokumen, dan tujuannya adalah mencari kata-kata yang dapat
mewakili isi dari dokumen sehingga dapat dilakukan analisa keterhubungan antar
dokumen [4]. Sehingga, hasil dari
text mining tersebut bisa menjadi bahan
pertimbangan Telkom IndiHome untuk mengambil langkah bisnis selanjutnya dan
bahan evaluasi untuk lebih meningkatkan kualitas layanannya.
(3)
I.2
Rumusan Masalah
Berdasarkan latar belakang yang telah disusun di atas, maka dapat ditarik
beberapa permasalahan yang dirumuskan kedalam suatu rumusan masalah yaitu
bagaimana mengklasifikasi informasi sentimen publik terhadap Telkom IndiHome
dari opini publik yang ada di sosial media.
I.3
Maksud dan Tujuan
Maksud dari penelitian ini adalah mengklasifikasi informasi dari media
sosial khususnya twitter mengenai sentimen publik terhadap Telkom IndiHome.
Dengan tujuan untuk mendapatkan informasi dari hasil pengklasifikasian
data melalui twitter berupa hasil persentase kepuasan konsumen yang dapat
digunakan sebagai bahan evaluasi Telkom IndiHome agar dapat lebih
meningkatkan kualitas layanannya sehingga dapat memperbaiki dan menentukan
langkah bisnis selanjutnya yang lebih baik lagi.
I.4
Batasan Masalah
Dalam analisis ini, pembahasan dibatasi agar tidak menyimpang dari tujuan
yang ingin dicapai, adapun batasan masalahnya adalah:
1.
Penelitian ini hanya meneliti produk dari Telkom IndiHome.
2.
Tweets diambil dari produk IndiHome yang juga terdapat Telkom Care
3.
Periode tweet Indihome yang ditampilkan hanya dari tahun 2014
4.
Lokasi yang di tampilkan hanya provinsi.
5.
Penelitian ini hanya melakukan analisis terhadap
tweets berbahasa
Indonesia.
6.
Data yang digunakan, langsung diambil dari twitter dengan memanfaatkan
twitter API.
7.
Hasil klasifikasi disajikan dalam bentuk grafik.
8.
Sistem dibangun dengan pendekatan Pemrograman Berorientasi Objek.
9.
Metode yang digunakan untuk pengklasifikasian dalam penelitian ini adalah
(4)
I.5
Metodologi Penelitian
Metode penelitian yang digunakan adalah metode penelitian kualitatif.
Metode yang digunakan dalam penulisan laporan ini menggunakan metode
pengumpulan data dan metode pembangunan perangkat lunak.
1.5.1
Metode Pengumpulan Data
Metode pengumpulan data yang digunakan untuk membantu penelitian ini
adalah:
1.
Studi Literatur
Pengumpulan data yang bersumber dari buku, jurnal, paper dan situs internet
yang berhubungan dengan judul penelitian.
2.
Pengumpulan Dokumen
Sumber data diambil langsung dari sosial media twitter.
1.5.2
Metode Pembangunan Perangkat Lunak
Metode yang diterapakan dalam pembangunan perangkat lunak ini
menggunakan model
waterfall Pressman. Menurut Pressman, model
waterfall
adalah model klasik yang bersifat sintetis, berurutan dalam membangun aplikasi.
Tahapan-tahapan dari model waterfall Pressman adalah sebagai berikut:
1.
Communication
Langkah ini merupakan analisis terhadap kebutuhan sistem yang akan
diaplikasikan kedalam bentuk perangkat lunak, dan tahap untuk
pengumpulan data dengan melakukan pertemuan dengan
client atau
costumer, maupun mengumpulkan data-data tambahan yang ada di jurnal,
paper, artikel maupun dari internet.
2.
Planning
Proses
planning merupakan lanjutan dari proses
Communication. Proses ini
digunakan untuk menentukan jadwal/waktu yang diperlukan untuk
menyelesaikan setiap kegiatan yang dibutuhkan untuk menyelesaikan
pembangunan perangkat lunak ini.
(5)
3.
Modeling
Proses
Modeling ini akan menerjemahkan syarat kebutuhan ke sebuah
perancangan aplikasi yang dapat diperkirakan sebelum dibuat coding. Proses
ini berfokus pada rancangan struktur data, arsitektur
software, representasi
interface, dan detail algoritma prosedural. Tahapan ini akan menghasilkan
dikumen yang disebut software requirement.
4.
Contruction
Contruction merupakan proses membuat
code. Coding atau pengkodean
merupakan penerjemah desain dalam bahasa yang bisa dikenali oleh
komputer. Tahapan inilah yang merupakan tahapan secara nyata dalam
mengerjakan suatu aplikasi, artinya penggunaan komputer akan
dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan
dilakukan
testing terhadap sistem yang telah dibuat tadi. Tujuan
testing
adalah menemukan kesalahan-kesalahan terhadap sistem tersebut untuk
kemudian diperbaiki.
5.
Deployment
Tahapan ini bisa dikatakan tahap akhir dalam pembuatan aplikasi atau
sistem. Setelah melakukan analisis, desain dan pengkodean maka sistem
yang sudah jadi akan digunakan oleh
user. Tahapan ini juga merupakan
pemeliharaan perangkat lunak yang telah dibangun, termasuk didalamnya
adalah pengembangan, karena perangkat lunak yang dibuat tidak selamanya
dapat memenuhi kebutuhan.
(6)
Gambar III-1. Alur Model
Waterfall
Pressman. [5]
I.6
Sistematika Penulisan
Sistematika penulisan penelitian ini disusun untuk memberikan gambaran
umum mengenai penelitian. Sistematika penulisan penelitian sebagai berikut:
BAB I PENDAHULUAN
Bab ini bersisi latar belakang permasalahan, merumuskan inti permasalahan,
mencari solusi atas masalah tersebut, merumuskan masalah tersebut, menentukan
maksud dan tujuan, kegunaan penelitian, pembatasan masalah, asumsi masalah,
dan sistematika penulisan dari penelitian mengenai analisis sentimen ini.
BAB II TINJAUAN PUSTAKA
Bab ini berisi tentang bahasan berbagai konsep dasar dan teori-teori yang
berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam
proses analisis dan perancangan sistem.
BAB III ANALISIS DAN PERANCANGAN
Bab ini berisi analisis masalah, analisis sistem yang sedang berjalan, analisis
sistem yang akan dibangun, analisis kebutuhan fungsional dan analisis kebutuhan
non-fungsional dalam pembangunan sistem, serta perancangan sistem yang
meliputi perangcangan data, perancangan antarmuka, perancangan pesan dan
perancangan.
(7)
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini berisi tentang hasil implementasi dari rancangan sistem yang telah
dibangun sesuai dengan perancangan sistem yang telah dibuat, juga disertakan
pengujian dari sistem tersebut.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan dari hasil pembangunan sistem yang telah
diimplementasikan disertai juga dengan saran yang diharapkan dapat berguna
untuk tahap penelitian lanjutan dari sistem ini.
(8)
(9)
9
II.1
Sejarah Perusahaan
Telkom Group adalah satu-satunya BUMN telekomunikasi serta
penyelenggara layanan telekomunikasi dan jaringan terbesar di Indonesia. Telkom
Group melayani jutaan pelanggan di seluruh Indonesia dengan rangkaian lengkap
layanan telekomunikasi yang mencakup sambungan telepon kabel tidak bergerak
dan telepon nirkabel tidak bergerak, komunikasi seluler, layanan jaringan dan
interkoneksi serta layanan internet dan komunikasi data. Telkom Group juga
menyediakan berbagai layanan di bidang informasi, media dan edutainment,
termasuk
cloud-based
and
server-based
managed services, layanan
e-Payment
dan IT enabler, e-Commerce dan layanan portal lainnya.
Berikut penjelasan portofolio bisnis Telkom:
1.
Telecommunication
Telekomunikasi merupakan bagian bisnis
legacy Telkom. Sebagai ikon
bisnis perusahaan, Telkom melayani sambungan telepon kabel tidak bergerak
Plain Ordinary Telephone Service
(”POTS”), telepon nirkabel tidak bergerak,
layanan komunikasi data,
broadband, satelit, penyewaan jaringan dan
interkoneksi, serta telepon seluler yang dilayani oleh Anak Perusahaan Telkomsel.
Layanan telekomunikasi Telkom telah menjangkau beragam segmen pasar mulai
dari pelanggan individu sampai dengan Usaha Kecil dan Menengah (“UKM”)
serta korporasi.
2.
Information
Layanan informasi merupakan model bisnis yang dikembangkan Telkom
dalam ranah New Economy Business
(“NEB”). Layanan ini memiliki karakteristik
sebagai layanan terintegrasi bagi kemudahan proses kerja dan transaksi yang
mencakup
Value Added Services
(“VAS”) dan
Managed Application/IT
Outsourcing
(“ITO”),
e-Payment dan IT enabler Services
(“ITeS”).
(10)
3.
Media
Media merupakan salah satu model bisnis Telkom yang dikembangkan
sebagai bagian dari NEB. Layanan media ini menawarkan
Free To Air
(“FTA”)
dan Pay TV untuk gaya hidup digital yang modern.
4.
Edutaiment
Edutainment menjadi salah satu layanan andalan dalam model bisnis NEB
Telkom dengan menargetkan segmen pasar anak muda. Telkom menawarkan
beragam layanan di antaranya Ring Back Tone
(“RBT”),
SMS Content, portal dan
lain-lain.
5.
Sevices
Services menjadi salah satu model bisnis Telkom yang berorientasi kepada
pelanggan. Ini sejalan dengan
Customer Portfolio Telkom kepada pelanggan
Personal, Consumer/Home, SME, Enterprise, Wholesale, dan Internasional.
Sebagai perusahaan telekomunikasi, Telkom Group terus mengupayakan
inovasi di sektor-sektor selain telekomunikasi, serta membangun sinergi di antara
seluruh produk, layanan dan solusi, dari bisnis legacy sampai New Wave Business.
Untuk meningkatkan business value, pada tahun 2012 Telkom Group mengubah
portofolio bisnisnya menjadi TIMES (Telecommunication, Information, Media
Edutainment & Service). Untuk menjalankan portofolio bisnisnya, Telkom Group
memiliki empat anak perusahaan, yakni PT. Telekomunikasi Indonesia Selular
(Telkomsel), PT. Telekomunikasi Indonesia International (Telin), PT. Telkom
Metra dan PT. Daya Mitra Telekomunikasi (Mitratel).
Visi dan Misi
Visi :
“
To become a leading Telecommunication, Information, Media,
Edutainment and Services
(“TIMES”) player in the region
”
(11)
Misi :
1.
Menyediakan layanan “
more for less
” TIMES
2.
Menjadi model pengelolaan korporasi terbaik di Indonesia.
Corporate Culture
: The Telkom Way
Basic Belief
: Always The Best
Core Values
: Solid, Speed, Smart
Key Behaviours
: Imagine, Focus, Action
Inisiatif Strategis
:
1.
Pusat keunggulan.
2.
Fokus pada portofolio dengan pertumbuhan atau value yang tinggi.
3.
Percepatan ekspansi internasional.
4.
Transformasi biaya.
5.
Pengembangan IDN (id-Access, id-Ring, id-Con).
6.
Indonesia Digital Solution
(“IDS”) –
layanan konvergen pada solusi
ekosistem digital.
7.
Indonesia Digital Platform
(“IDP”) –
platform enabler untuk
pengembangan ekosistem.
8.
Eksekusi sistem pengelolaan anak perusahaan terbaik.
9.
Mengelola portofolio melalui BoE dan CRO.
10.
Meningkatkan sinerlagi di dalam Telkom Group.
II.2
Produk Indihome
Indihome adalah salah satu produk terbaru yang tersedia dalam bentuk
bundle yang menggabungkan tiga jenis layanan yang disebut
Triple Play
dari
Telkom yang terdiri dari Internet Speedy via jaringan serat
Optik Fiber to the
Home (FTTH) Phone (Telepon Rumah) dan IP TV (UseeTV Cable). Indie Home
memerlukan bandwitdh besar agar layanannya berjalan lancar. Untuk itu, Telkom
menggunakan jaringan serat optik agar koneksi internet bisa lebih kencang dan
layanan lainnya bisa berjalan lancar. Jaringan serat optik FTTH masih terus
dibangun secara bertahap, terutama untuk menggantikan jaringan lama yang tidak
(12)
memiliki
bandwidth cukup untuk layanan internet berkecepatan tinggi yang
dijadikan pondasi layanan IndiHome, termasuk telepon (voice over IP).
II.3
Analisis Sentimen
Analisis sentimen atau
opinion mining merupakan proses memahami,
mengekstrak dan mengolah data tekstual secara otomatis untuk mendapatkan
informasi sentimen yang terkandung dalam suatu kalimat opini untuk
menghasilkan opini yang baru [6]. Analisis sentimen dilakukan untuk melihat
pendapat atau kecenderungan opini terhadap sebuah masalah atau objek oleh
seseorang, apakah cenderung berpandangan atau beropini negatif atau positif.
Analisis Sentimen biasanya dilakukan untuk memantau perkembangan pasar atau
untuk melihat respon terhadap suatu masalah, salah satu contoh penggunaan
analisis sentimen dalam dunia nyata adalah identifikasi kecenderungan pasar dan
opini pasar terhadap suatu objek produk [7].
Pada dasarnya analisis sentimen merupakan klasifikasi, tetapi tidak semudah
proses klasifikasi biasa karena terkait penggunaan bahasa yang terus
berkembangan. Dimana media yang digunakan dalam kasus ini adalah sebuah teks
yang ambigu karena tidak ada intonasi dalam sebuah teks [8].
Manfaat sentimen analisis terhadap perkembangan suatu bisnis sangat besar,
sehingga banyak perusahaan menerapkan analisis sentimen sebagai media untuk
melihat perkembangan pasar dalam menentukan langkah bisnis yang diambil
sebagai bahan pertimbangan perusahaan tersebut.
II.4
Text Mining
Text Mining merupakan data berupa teks dimana sumber data biasanya
didapatkan dari dokuman, yang bertujuan mencari kata-kata yang dapat mewaliki
isi dari dokumen sehingga dapat dilakukan analisis keterhubungan antar dokumen
[9].
Text mining (penambangan teks) adalah penambangan yang dilakukan oleh
komputer untuk mendapatkan sesuatu yang baru, sesuatu yang tidak diketahui
sebelumnya atau menemukan kembali informasi yang tersirat secara implisit,
(13)
yang berasal dari informasi yang diekstrak secara otomatis dari sumber-sumber
data teks yang berbeda-beda.
Pada dasarnya proses kerja
Text Mining banyak mengadopsi
Data Mining
namun yang menjadi perbedaan adalah pola yang digunakan
Text Mining diambil
dari sekumpulan bahasa alami yang tidak terstruktur sedangkan dalam data
Data
Mining pola yang diambil dari database terstruktur. Oleh karena itu dalam
Text
Mining,
diperlukan proses pengubahan bentuk dari data yang tidak terstruktur
menjadi data yang terstruktur, yang biasanya akan menjadi nilai-nilai numerik.
Setelat data menjadi data yang terstruktur dan berupa nilai numerik maka data
dapat dijadikan sebagai sumber data yang dapat diolah lebih lanjut.
Text mining merupakan teknik yang digunakan untuk menangani masalah
information retrival
seperti melakukan
indexing dan mengambil informasi dari
dokumen teks, menemukan kumpulan dokumen yang relevan terhadap suatu
permintaan tertentu.
Text mining dapat digunakan juga pada
Web Mining yang
diginakan untuk proses
clastering dan classification, sedangkan
information
extraction dapat mengekstrasi sebagian informasi yang terdapat pada teks.
II.5
Regular Expression
Regular Expression atau yang biasa disingkat
regex adalah sebuah teks
khusus untuk menggambarkan pencarian sebuah pola.
Regex biasa digunakan
untuk pencarian atau manipulasi teks.
Regex didukung oleh banyak basaha
pemrograman, seperti Java, PHP, C# dan masih banyak bahasa pemrograman
lainnya. Berikut adalah aturan-aturan penulisan
Regex dalam bahasa
pemrograman Java [10].
1.
Pencocokan simbol umum
Pola yang bisa digunakan dalam
Regex untuk mencocokan simbol-simbol
yang umum pada suatu teks. Berikut contoh dan deskripsi simbol umum
Regex
pada Tabel II-1.
(14)
Tabel II-1 Daftar Simbol Umum
Regex
Regular Expression Deskripsi
. Mencocokan dengan karakter apapun
^regex Menemukan kata regex yang ada di awal baris.
regex$ Menemukan kata regex yang ada di akhir baris.
[abc] Tanda kurung siku digunakan untuk mencocokan salah
satu huruf yang ada di dalamnya. Contoh digunakan untuk mencocokan dengan huruf a atau b atau c.
[abc][de] Mencocokan dengan huruf a atau b atau c kemudian
diikuti dengan huruf d atau e.
[^abc] Tanda sisipan yang muncul dalam tanda kurung siku
sebagai tanda negasi. Contoh digunakan untuk
mencocokan dengan huruf apapun kecuali a atau b atau c.
[a-d1-7] Mencocokan dengan deretan huruf yang yang ada dari a
hingga d dan 1 sampai 7.
a|b Menemukan a atau b.
Ab Menemukan a yang kemudian diikuti dengan b.
a!b Menemukan a yang kemudian diikuti bukan dengan b
2.
Metacharacters
Metacharacter, karakter ini memiliki arti yang ditentukan dan membuat pola
umum yang lebih mudah digunakan. Berikut contoh dan deskripsi Metacharacter
Regex pada Tabel 2-2.
Tabel II-2 Daftar
Metacharacter Regex
Regular Expression Deskripsi
\d Mencocokan dengan angka, lebih sederhana dari [0-9]
\D Mencocokan dengan bukan angka, lebih sederhana dari [^0-9]
\s Mencocokan dengan spasi, lebih sederhana dari [ \t\n\x0b\r\f]
\S Mencocokan dengan bukan spasi, lebih sederhana dari [ ^\s]
\w Mencocokan dengan alphanumerik, lebih sederhana dari
[a-zA-Z_0-9]
\W Mencocokan dengan bukan alphanumerik, lebih sederhana dari
[^\w]
3.
Quantifier
Sebuah
Quantifier menentukan atau mendefinisikan seberapa sering sebuah
elemen dapat terjadi. Berikut contoh dan deskripsi
Quantifier Regex pada Tabel
II-3.
(15)
Tabel II-3 Daftar
Quantifier Regex
Regular Expression Deskripsi Contoh
* Terjadi kemunculan tidak sama
sekali atau berkali-kali. Lebih sederhana dari {0,}.
a* menemukan tidak sama
sekali atau berkali-kali
kemunculan huruf a
+ Terjadi kemunculan sekali atau
berkali-kali. Lebih sederhana dari {1,}
a+ menemukan sekali atau
berkali-kali kemunculan
huruf a
? Terjadi kemunculan tidak sama
sekali atau sekali. Lebih sederhana dari {0,1}
A? menemukan tidak sama sekali atau tepat satu kali kemunculan huruf a
{x} Terjadi kemunculan sebanyak x \d{5} mencari untuk angka
yang memiliki tiga digit.
{x,y} Terjadi kemunculan sebanyak x
hingga ke y.
\d{1-5} berarti \d harus muncul meninmal satu dan paling banyak lima kali.
4.
Backslash
Backslash digunakan di dalam
Regex memiliki arti yang ditentukan dalam
Java. Sebelumnya telah dibahas penggunaan secara implisit penggunaan backslah.
Dalam implementasinya untuk menentukan garis miring terbalik tunggal maka
harus menggunakan blackhash ganda \\, dan ketika ingin mendefiniskan \w , maka
harus menggunakan \\w di
Regex yang dibuat. Jika ingin mendefiniskan
backslahes dan tanda baca lainnya maka menggunakan double backslashes diikuti
dengan tanda baca.
II.6
Preprocessing
Text Preprocessing
yang merupakan tahap awal dari text mining
yang akan
memproses data latih dan data uji. Text Preprocessing
ini bertujuan untuk
mempersiapkan dokumen teks yang tidak terstruktur menjadi data yang terstruktur
yang siap digunakan untuk proses selanjutnya. Tahapan Text Preprocessing dalam
penelitian ini meliputi:
(16)
1.
Convert Emoticon
Emoticon adalah kata gabungan dari “
emotion
” dan “
icon
” yang berarti icon
yang digunakan untuk mengekspresikan emosi sebuah pernyataan tertulis, dan
bisa mengubah serta meningkatkan interpretasi terhadap tulisan tersebut.
Emoticon (emotion icon) merupakansalah satu cara pengungkapan perasaan secara
tekstual. Hal initentu akan membantu dalam menentukan sentimen suatu
tweet.
Emosi yang bisa menunjukan sebagai sentimen positif ataupun negatif. Oleh
karena itu setiap
emoticon
harus dikonversikan ke dalam bentuk kata yang
mewakili arti dari
emoticon tersebut agar bisa diproses. Setiap
emoticon yang
dikonversi akan diberi pemisah spasi untuk mengantisipasi
emoticon
yang
berdampingan rapat oleh spasi dengan kata sebelum atau sesudah
emoticon.
Sehingga hasil konversi menjadi lebih mudah diproses. Pada Tabel II-4,
dijelaskan hasil pengklasifikasian dari emoticon secara umum.
Tabel II-4 Daftar
Emoticon
Yang Akan Dikonversi
Emoticon Deskripsi
:-) :) :o) :] :3 :c) :> =] 8) =) :} :^) :っ) Senang :-D :D 8-D 8D x-D xD X-D XD =-D =D =-3 =3 B^D Ketawa
:-|| :@ >:( Benci
:$ >:[ :-( :( :-c :c :-< :っC :< :-[ :[ :{ ;( :'-( :'(D:< D: D8 D; D= DX v.v D-': Kecewa
<3 ;-) ;) *-) *) ;-] ;] ;D ;^) :-, Suka
Pada Tabel II-5, dijelaskan contoh penerapan dari convert emoticon menjadi kata
Tabel II-5 Contoh Penerapan Dari
Convert Emoticon
Data Latih
Input Output
Jaringan Speedy bangus banget ;) Jaringan Speedy bangus banget senang
Koneksi Speedy lagi lambat nih :-( Koneksi Speedy lagi lambat nih kecewa
2.
Cleansing
Tahap ini akan menghapus semua karakter selain alfabetis dengan tujuan untuk
mengurangi nois. Sebagaimana diketahui bahwa emoticon ini disimbolkan dengan
kombinasi karakter khusus dan juga angka, sehingga emoticon ini tidak terhapus.
Selain karakter khusus, , URL,
hashtag (#),
username (@username), tanda
(17)
koma(,), tanda titik(.), tanda seru (!), tanda titik koma (;), tanda titik dua (:), tanda
hubung (-
), tanda elipsis (…), tanda tanya (?), tanda kurung ((..)), tanda kurung
siku ({..}), tanda petik (“..”), tanda petik tunggal („..’), tanda garis miring (/) dan
(\
), dan tanda penyingkat („)
akan dihilangkan.
. Hal tersebut yang menjadi alasan tahapan
cleansing
dilakukan setelah
convert emoticon. Pada Tabel II-6, dijelaskan contoh penerapan pada Cleansing.
Tabel II-6 Contoh Penerapan
Cleansing
Data Latih
Input Output
Nonton video @YouTube
https://www.youtube.com/watch?v=W1VLMz3yI6A Tayl
or Swift Live in Manila Love Story pake Speedy lancar.
Nonton video Coldplay Taylor
Swift Live in Manila Love Story pake XL lancar.
Acara di @UseeTVcom bagus nih mendidik banget Acara di bagus nih mendidik banget
3.
Case Folding
Tahapan ini merupakan tahapan merubah semua masukkan huruf menjadi
huruf kecil semua (lower case). Karena sistem yang akan dibangun menggunakan
basaha pemrograman java, maka disamakan dahulu kedalam bentuk yang sama,
dalam hal ini menjadi huruf kecil semua. Hal tersebut agar mempermudah dalam
proses selanjutnya di
tokenizing, karena proses
tokenizing
akan dibandingkan
dengan data pada databases yang semuanya menggunakan huruf kecil. Pada Tabel
II-7, dijelaskan contoh dari penerapan proses case folding.
Tabel II-7 Contoh Penerapan
Case Folding
Data Latih
Input Output
Cuaca lagi hujan tapi sinyal SPEEDY tetap bagus
cuaca lagi hujan tapi sinyal speedy tetap bagus
Koneksi speedy LELET banget nih
(18)
4.
Convert Negation
Tahap ini dikerjakan sebelum tahap
tokenizing karena pada proses
tokenizing dilakukan proses perulangan sebanyak data.
Kata-kata yang bersifat negasi seperti
“bukan”, “bkn”, “tidak”, “enggak”,
“g”, “gak”,“tidak”, “tdk”,
“enggak”, “engga”, “ga”, “gk”, “jangan”, “jgn”,
“nggak”, “tak”
dan “gak”.
Convert negation dilakukan jika terdapat kata negasi
sebelum kata yang bernilai positif, maka kata tersebut akan diubah nilainya
menjadi negatif dan begitupun sebaliknya. Pada Tabel II-8, dijelaskan contoh
penerapan Convert Negation.
Tabel II-8 Contoh Penerapan
Convert Negation
Sebelum Convert Negation Setelah Convert Negation
koneksi speedy lagi gak bagus nih koneksi speedy lagi gak_bagus nih Acara di usee tv hari ini gak seru banget Acara di usee tv hari ini gak_seru banget
5.
Tokenizing
Tokenizing
adalah tahap pemotongan dokumen teks bedasarkan tiap kata
yang menyusunnya. Potongan kata tersebut disebut dengan token atau term.
Pada tahap ini akan dilakukan pengecekan tweets dari karakter pertama
sampai karakter terakhir. Pada Tabel II-9, dijelaskan contoh penarapan tokenizing.
Tabel II-9 Contoh Penerapan
Tokenizing
Data Latih
Input Output
Koneksi speedy lancar dipake streaming bola sama download walaupun cucaca lagi hujan
String 1 : koneksi String 2 : speedy String 3 : lancar String 4 : dipake String 5 : streaming String 6 : bola String 7 : sama String 8 : download String 9 : walaupun String 10 : cuaca String 11 : lagi String 12 : hujan
(19)
6.
Filtering
Filtering berperan untuk membuang kata-kata yang sering muncul dan
bersifat umum, kurang menunjukan relevansinya dengan teks. Proses ini akan
menghilangkan kata-kata yang sering muncul namun tidak memiliki
pengaruhapapun dalam ekstraksi sentimen suatu tweet. Kata-kata yang akan
dihilangkan tersebut didefinisikan dalam stopword list Contoh beberapa kata yang
sering masuk ke dalam
stopword list
adalah “sebuah”, “yang”, “di” “itu”.
Proses
penghilangan kata yang termasuk stopword list dengan cara melakukan pencarian
kedalam
database dimana
stopword list
itu disimpan. Berikut adalah beberapa
daftar
stopword list
yang disimpan dalam
database. Pada Tabel II-10, dijelaskan
data Stopword list pada proses Filtering.
Tabel II-10
Stopword
Proses
Filtering
Masih Dong ke Ada Yoi
Malam Ya loe Pada Yang
Ini Dan juga Kita Saya
untuk Dari bagi Iya di mana
kapan Bisa mana Itu Sih
sudah Bikin dengan Anda Begitu
entah Lalu yuk Aku Adalah
gue Nanti gw Tau Kemarin
Pada Tabel II-11, berikut adalah contoh penerapan dari tahapan
Stopword
pada
proses Filtering.
Tabel II-11 Contoh Penerapan
Filtering
Data Latih
Input Output
Entah kenapa gue setiap lagi download film koneksi speedy selalu lelet.
Kenapa setiap download film koneksi speedy selalu lelet
7.
Stemming
Tahap
Stemming adalah tahap menacari
root
kata dari setiap kata hasil
filtering. Kata-kata yang muncul didalam dokumen sering kali mengandung
imbuhan. Oleh karena itu, setiap kata yang tersisa dari proses hasil tahapan
filtering
dibentuk kedalam kata dasar dengan cara menghilangkan imbuhannya.
(20)
Algoritma
Stemming
yang digunakan pada penelitian ini yaitu algoritma
Confix
Stripping Stemmer. Algoritma ini menambahkan suatu algoritma tambahan untuk
mengatasi kesalahan pemenggalan akhiran yang seharusnya tidak dilakukan. Pada
Tabel II-12, dijelaskan penerapan pada tahapan stemming. [12]
Tabel II-12 Contoh Penerapan
Stemming
Data Latih
Input Output
lagi asik menonton film drama streaming pake speedy koneksinya lancar banget
lagi asik nonton film drama streaming pake speedy koneksinya lancar banget
II.7
Confix Stripping Stemmer
Confix stripping Stemmer
adalah metode stemming pada Bahasa Indonesia
yang diperkenalkan oleh Jelita Asian yang merupakan pengembangan dari metode
stemming yang dibuat oleh Nazief dan Adriani (1996). Kata-kata yang muncul
didalam dokumen sering kali mengandung imbuhan. Oleh karena itu, setiap kata
yang tersisa dari proses hasil tahapan
filtering
dibentuk kedalam kata dasar
dengan cara menghilangkan imbuhannya. Pada dasarnya, algoritma ini
mengelompokkan imbuhan ke dalam beberapa kategori sebagai berikut: Untuk
lebih jelasnya tahapan proses stemming adalah sebagai berikut :
1.
Inflection Suffixes yakni kelompok-kelompok akhiran yang tidak mengubah
bentuk kata dasar. Kelompok ini dapat dibagi menjadi dua:
a.
Particle
(P) atau partikel, termasuk di dalamnya adalah partikel “
-
lah”,
“
-
kah”, “
-
tah”, dan “
-
pun”.
b.
Possessive Pronoun (PP) atau kata ganti kepunyaan, termasuk di
dalamnya ada
lah “
-
ku” , “
-
mu”, dan “
-
nya”.
(21)
2.
Derivation Suffixes
(DS) yakni kumpulan akhiran yang secara langsung
dapat ditambahkan pada kata dasar. Termasuk di dalam tipe ini adalah
akhiran “
-
i”, “
-
kan”, dan “
-
an”.
3.
Tahapan
Derivation Prefixes (DP) yakni kumpulan awalan yang dapat
langsung diberikan pada kata dasar murni, atau pada kata dasar yang sudah
mendapatkan penambahan sampai dengan 2 awalan. Termasuk di dalamnya
adalah awalan yang dapat bermorfologi (“me
-
”, “be
-
”, “pe
-
”, dan “te
-
”) dan
awalan yang tidak bermorfo
logi (“di
-
”, “ke
-
” dan “se
-
”).
Berdasarkan
pengklasifikasian imbuhan-imbuhan tersebut, maka bentuk kata dalam
bahasa Indonesia dapat dimodelkan sebagai berikut:
[DP+[DP + [DP+]]] Kata Dasar [[+DS][+PP][+P]]
(II-1)
Dengan batasan-batasan sebagai berikut :
a.
Tidak semua kombinasi imbuhan diperbolehkan. Kombinasi imbuhan
yang dilarang dapat dilihat pada Tabel 1.
b.
Penggunaan imbuhan yang sama secara berulang tidak diperkenankan.
c.
Jika suatu kata hanya terdiri dari satu atau dua huruf, maka proses
stemming tidak dilakukan.
d.
Penambahan suatu awalan tertentu dapat mengubah bentuk asli kata
dasar, ataupun awalan yang telah diberikan sebelumnya pada kata dasar
bersangkutan (bermorfologi).
(22)
Tabel II-13 Kombinasi Awalan dan Akhiran
(23)
Algoritma CS stemmer bekerja sebagai berikut:
1.
Kata yang hendak di-stemming dicari terlebih dahulu pada kamus. Jika
ditemukan, berarti kata tersebut adalah kata dasar, jika tidak maka langkah 2
dilakukan.
2.
Cek rule precedence. Apabila suatu kata memiliki pasangan awalan-akhiran
“be
-
lah”, “be
-
an”, “me
-
i”, “di
-
i”, “pe
-
i”, atau “te
-
i” maka langkah
stemming
selanjutnya adalah (5, 6, 3, 4, 7). Apabila kata tidak memiliki pasangan
awalan-akhiran tersebut, langkah stemming berjalan normal (3, 4, 5, 6, 7).
3.
Hilangkan
inflectional particle P
(“
-
lah”, “
-
kah”, “
-
tah”, “
-
pun”) dan kata
ganti kepunyaan atau possessive pronoun PP
(“
-
ku”, “
-
mu”, “
-
nya”).
4.
Hilangkan Derivation Suffixes DS
(“
-
i”, “
-
kan”, atau “
-
an”).
5.
Hilangkan
Derivational Prefixes DP
{“di
-
”,“ke
-
”,“se
-
”,“me
-
”,“be
-
”,“pe”,
“te
-
”} dengan iterasi maksimum adalah 3 kali:
a.
Langkah 5 ini berhenti jika :
1.
Terjadi kombinasi imbuhan terlarang
2.
Awalan yang dideteksi saat ini sama dengan awalan yang
dihilangkan sebelumnya.
3.
Tiga awalan telah dihilangkan.
(24)
1.
Standar: “di
-
”, “ke
-
”, “se
-
” yang dapat langsung dihilangkan dari
kata.
2.
Kompleks: “me
-
”, “be
-
”, “pe”, “te
-
” adalah tipe
-tipe awalan yang
dapat bermorfologi sesuai kata dasar yang mengikutinya. Oleh
karena itu, gunakan aturan pada Tabel II-14 untuk mendapatkan
pemenggalan yang tepat.
c.
arti kata yang telah dihilangkan awalannya ini di dalam kamus.
Apabila tidak ditemukan, maka langkah 5 diulangi kembali. Apabila
ditemukan, maka keseluruhan proses dihentikan.
6.
Apabila setelah langkah 5 kata dasar masih belum ditemukan, maka proses
recoding dilakukan dengan mengacu pada aturan pada Tabel II-14.
Recoding dilakukan dengan menambahkan karakter
recoding di awal kata
yang dipenggal. Pada Tabel II-14, karakter recoding adalah karakter setelah
tanda hubung (’
-
’) dan terkadang berada sebelum tanda kurung. Sebagai
contoh, pada kata “menangkap” (aturan 15), setelah dipenggal menjadi
“nangkap”. Karena tidak valid, maka
recoding dilakukan dan menghasilkan
kata “tangkap”. Per
lu diperhatikan bahwa aturan ke-22 tidak ditemukan
dalam tesis Jelita Asian
7.
Jika semua langkah gagal, maka input kata yang diuji pada algoritma ini
dianggap sebagai kata dasar.
Apabila pada kata yang hendak di-stemming
ditemukan tanda hubung (’
-
’),
maka kemungkinan kata yang hendak di-stemming adalah kata ulang.
Stemming
untuk kata ulang dilakukan dengan memecah kata menjadi dua bagian yakni
bagian kiri dan kanan (berdasarkan posisi tanda hubung ’
-
’) dan lakukan
stemming (langkah 1-7) pada dua kata tersebut. Apabila hasil stemming keduanya
sama, maka kata dasar berhasil didapatkan.
Pada Tabel II-14, simbol C merupakan konsonan, V menandakan vokal, A
merupakan vokal atau konsonan, dan P merupakan partikel.[16]
(25)
II.8
Term Weighting
Term Weighting adalah teknik pembobotan pada setiap
term atau kata.
Tahapan ini sebagian besar teknik pembobotan pada
text mining
menggunakan
TF.IDF. TF.IDF menerapkan pembobotan kombinasi keduanya berupa perkalian
bobot lokal(term frequency)
dan bobot global (global inverse document
frequency). [13] Metode TF-IDF dapat dirumuskan sebagai berikut:
(II-2)
Dimana :
N
= Banyaknya Data
df
= document frequency
w(t, d)
tf (t, d)
IDF
(II-3)
Dimana :
tf
= term frequency
IDF
= Inverse Document Frequency
d
= dokumen ke-d
t
= kata ke-t dari kata kunci
w(t,d)
= bobot dokumen ke-d terhadap kata ke-t
II.9
Imvroved K-Nearest Neighbor
Penentuan
k-values yang tepat diperlukan agar didapatkan akurasi yang
tinggi dalam proses kategorisasi dokumen uji. Algoritma
Improved k-Nearest
Neighbors melakukan modifikasi dalam penentuan values. Dimana penetapan
k-values tetap dilakukan, hanya saja tiap-tiap kategori memiliki
k-values yang
berbeda. Perbedaan
k-values yang dimiliki pada tiap-tiap kategori disesuaikan
dengan besar-kecilnya jumlah dokumen latih yang dimiliki kategori tersebut.
Sehingga ketika
k-values semakin tinggi, hasil kategori tidak terpengaruh pada
kategori yang memiliki jumlah dokumen latih yang lebih besar.
(26)
Untuk menghitung similaritas antara dua dokumen menggunakan metode
Cosine Similarity (CosSim). Dipandang sebagai pengukuran (similarity measure)
antara vector dokumen (D) dengan vector query (Q). Semakin sama suatu vector
dokumen dengan
vector query maka dokumen dapat dipandang semakin sesuai
dengan
query. [13] Rumus yang digunakan untuk menghitung
cosine similarity
adalah sebagai berikut:
(II-4)
Dimana :
Cos(θ
QD)= Kemiripan dokumen Q terhadap D
Q
= Data Uji
D
= Data Latih
n
= Banyaknya data
Perhitungan penetapan k-values pada algoritma
Improved k-Nearest
Neighbor dilakukan dengan menggunakan persamaan (4), dengan terlebih dahulu
mengurutkan secara menurun hasil perhitungan similaritas pada setiap kategori.
Selanjutnya pada algoritma
Improved k-Nearest Neighbor,
k-values yang
baru disebut dengan n. Persamaan (4) menjelaskan mengenai proporsi penetapan
k-values (n) pada setiap kategori.
(II-5)
Dimana :
n
= k-values baru
k
= k-values yang ditetapkan
N(cm ) = Jumlah dokumen latih di kategori / kategori m
(27)
Sejumlah n dokumen yang dipilih pada tiap kategori adalah top n dokumen
atau dokumen teratas yaitu dokumen yang mempunyai similaritas paling besar di
setiap kategorinya.
Mulai
Hasil Pembobotan
Hitung Silimaritas
Selesai Urutkan hasil hitungan similaritas
Hitung n (k baru pada masing-masing kategori)
Hitung proabilitas data uji terhadap masing-masing kategori
Cari probabilitas paling besar
Tentukan sentimen dokumen uji
Sentimen dokumen uji
(28)
II.10
Unified Modeling Language
Unified modeling language (UML) adalah bahasa pemodelan standar untuk
pembangunan perangkat lunak ataupun sistem yang dibangun dengan pendekatan
object-oriented. UML adalah metodelogi untuk mengembangkan sistem
Object
Oriented Programming
(OOP) dan sekelompok tools untuk mendukung
pengembangan sistem tersebut tidak hanya merupakan sebuah bahasa
pemograman visual saja, namun juga dapat secara langsung dihubungkan ke
berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan
dihubungkan secara langsung ke dalam sebuah object-oriented database [14].
UML itu sendiri sudah mengalami beberapa generasi, dimulai dari UML 1.0,
1.5, dan yang terakhir 2.0. Versi pertama dari UML memberikan komuniasi
rancangan secara jelas, menyampaikan esensi dari suat perancangan, bahkan
menangkap peta kebutuhan fungsional dari solusi perangkat lunak. Secara
keseluruhan ada 13 diagram yang dapat dimanfaatkan dari UML 2.0 ini
diantaranya :
1.
Use Case Diagram
2.
Activity Diagram
3.
Sequence Diagram
4.
Communication Diagram (Collaboration diagram in versi 1.x)
5.
Class Diagram
6.
State Machine Diagram (Statechart diagram in versi 1.x)
7.
Component Diagram
8.
Deployment Diagram
9.
Composite Structure Diagram
10.
Interaction Overview Diagram
11.
Object Diagram
12.
Package Diagram
13.
Timing Diagram
Namun dalam penelitian ini hanya akan menerapkan empat diagram. Pada
Tabel II-13, menjelaskan mengenai diagram yang akan digunakan.
(29)
Tabel II-15 Diagram-Diagram Uml 2.0 yang Digunakan
Nama Diagram Deskripsi
Use Case Diagram Menggambarkan interaksi antara sistem yang akan dibangun dengan pengguna atau sistem eksternal. Juga membantu dalam pemetaan kebutuhan ke dalam sistem
Activity Diagram Menggambarkan aktivitas secara sekuensial dan pararel dalam sistem.
Class Diagram Menggambarkan hubungan class, interface dalam sistem.
Sequence Diagram Menggambarkan interaksi diantara object di mana urutan dari interaksinya sangat penting
II.11
Pemrograman Berorientasi Objek
Pemrograman berorientasi objek (Object-Oriented Programming) atau
sering disingkat OOP adalah merupakan paradigma pemrograman yang
berorientasikan kepada objek, jadi semua data dan fungsi didalam paradigma ini
disatukan kedalam
class-class atau objek-objek. Definisi
class yaitu
tamplate
untuk membuat objek. Class merupakan prototipe atau
blue prints yang
mendefinisikan variabel-variabel dalam method-method secara umum. Sedangkan
Objek dibangun dari sekumpulan data (atribut) yang disebut variabel untuk
menjelaskan karakteristik khusus objek, dan juga terdiri dari sekumpulan method
yang menjelaskan tingkah laku dari objek. Bisa dikatakan bahwa objek adalah
sebuah perangkat lunak yang berisi sekumpulan
variable dan
method yang
berhubungan. Sebuah objek adalah sebuah instance (keturunan) dari class.
Class
dan
Object
Class adalah cetak biru (rancangan) atau prototype atau template dari objek.
Kita bisa membuat banyak objek dari satu macam
class. Class
mendefinisikan
sebuah tipe dari objek. Di dalam class kita dapat mendeklarasikan variabel dan
menciptakan objek (instansiasi). Sebuah class mempunyai anggota yang terdiri
dari atribut dan method. Atribut adalah semua field identitas yang kita berikan
pada suatu
class, misal
class manusia memiliki
field
atribut berupa nama dan
umur. Method dapat kita artikan sebagai semua fungsi ataupun prosedur yang
merupakan perilaku (behaviour) dari suatu class.
(30)
Contructor
Tipe khusus
method yang digunakan untuk menginstansiasi atau
menciptakan sebuah objek. Nama constructor = nama kelas. Constructor TIDAK
BISA mengembalikan nilai. Tanpa membuat
constructor secara eksplisit-pun,
Java akan menambahkan constructor default secara implisit. Tetapi jika kita sudah
mendefinisikan minimal sebuah
constructor, maka Java tidak akan menambah
constructor default. Constructor
default tidak punya parameter. Constructor bisa
digunakan untuk membangun suatu objek, langsung mengeset atribut-atributnya.
Construktor seperti ini harus memiliki parameter masukkan untuk mengeset nilai
atribut. Access Modifier constructor selayaknya adalah public, karena constructor
akan diakses di luar kelasnya.
Method
Sebuah
method
adalah bagian-bagian kode yang dapat dipanggil oleh kelas,
badan program atau
method
lainnya untuk menjalankan fungsi yang spesifik di dalam
kelas. Secara umum
method
dalam java adalah sebuah fungsi.
Didalam OOP, objek memiliki data dan behaviour. Data adalah atribut yang
melekat pada objek, yang akan merepresentasikan state objek tersebut. Sedangkan
behavior adalah fungsi-fungsi yang dapat dilakukan oleh objek, yang selanjutnya
merepresentasikan sifat-sifat atau perilaku objek. OOP memiliki beberapa konsep
dasar yang digunakan dalam pengembangan aplikasi berbasis OO. Konsep konsep
tersebut antara lain adalah encapsulation, inheritance, dan polymorphism.
1.
Enkapsulasi (Encapsulation)
Enkapsulasi adalah metode untuk menggabungkan data dengan fungsi.
Dalam konsep ini data dan fungsi digabung menjadi satu kesatuan yaitu
class.
Konsep ini erat kaitannya dengan konsep penyembunyian informasi (information
hiding). Dalam OOP, konsep enkapsulasi sebenarnya merupakan perluasan dari
struktur dalam bahasa C.
(31)
Contoh Enkapsulasi (Encapsulation)
: Mobil adalah sebuah
class. Seorang
pengendara mobil tidak harus tahu bagaimana proses kerja mesin mobilnya,
pembakaran bahan bakar, proses pemindahan transmisi gigi, dan seterusnya. Yang
dia tahu adalah bahwa setir untuk mengendalikan jalannya mobil, pedal gas untuk
menambah kecepatan, pedal rem untuk mengurangi kecepatan, dan seterusnya.
Singkatnya dia hanya tahu bahwa mobilnya berjalan dengan baik.
2.
Pewarisan (Inheritance)
Pewarisan merupakan pewarisan atribut dan
method dari sebuah
class ke
class lainnya.
Class yang mewarisi disebut
superclass dan
Class yang diwarisi
disebut
subclass.
Subclass bisa berlaku sebagai superclass bagi
class lainya,
disebut sebagai multilevel inheritance.
Dari konsep penurunan ini suatu
class bisa diturunkan menjadi
class baru
yang masih mewarisi sifat-sifat
class orang tuanya. Hal ini dianalogikan dengan
class manusia. Manusia merupakan turunan dari class orang tuanya dan sifat-sifat
orang tua diwarisi olehnya. Bisa ditarik kesimpulan bahwa semua
class di dunia
selalu memiliki hirarki yang menggambarkan silsilah class tersebut.
Contoh Pewarisan (Inheritance) : Dari
class kendaraan bermotor dapat
diturunkan beberapa
class baru, misalnya: sepeda motor, sedan, pick-up,
mini-bus, dan kendaraan roda banyak. Class sepeda motor mungkin masih bisa dibagi
lagi menjadi dua class, yaitu sepeda motor 2 tak dan sepeda motor 4 tak. Sepeda
motor 2 tak mungkin masih dibagi lagi menurut pabrik pembuatnya, seperti
Honda, Suzuki, Yamaha, dan lain-lain. Masing-masing pabrik mungkin masih
mempunyai beberapa
class turunan lagi seperti Honda Astrea Star, Honda Beat,
Honda Vario dan lain-lain.
Keuntungan dari Pewarisan, Subclass menyediakan state/behaviour yang spesifik
yang membedakan dengan
superclass, sehingga memungkinkan programmer
untuk menggunakan ulang
source code dari
superclass yang telah ada.
Programmer dapat mendefinisikan superclass
khusus yang bersifat generik, yang
disebut abstract class (abstraksi), untuk mendefinisikan class dengan tingkah laku
dan state secara umum.
(32)
3.
Polimorfisme (Polymorphism)
Polimorfisme (Polymorphism) adalah kemampuan suatu objek untuk
mempunyai lebih dari satu bentuk. Polimorfisme berarti
class-class yang
berbedatetapi berasal dari satu orang tua dapat mempunyai metode yang sama
tetapi cara pelaksanaannya berbeda-beda. Atau dengan kata lain, suatu fungsi
akan memiliki perilaku berbeda jika dilewatkan ke class yang berbeda-beda.
Contoh Polimorfisme (Polymorphism) : jika sebuah burung menerima pesan
“gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa
menerima pesan yang sama
“gerak cepat”, dia akan menggerakkan kakinya dan
berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan
kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah
variabel
tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi
program berjalan, dan teks program yang sama dapat memanggil beberapa metode
yang berbeda di saat yang berbeda dalam pemanggilan yang sama. [15]
II.12
Data yang digunakan pada penelitian ini diambil dari situs media sosial
twitter. Twitter adalah sebuah situs dimiliki dan dan dioprasikan oleh twitterInc.,
yang menawarkan jaringan sosial berupa mikroblogging sehingga memungkinkan
penggunanya mengirim kucauan sebanyak 140 karakter dan membaca pesan yang
disebut tweets. Kicauan yang diambil adalah kicauan yang berhubungan dengan
tema penelitian ini yaitu kicauan yang membahas Telkom IndiHome di Indonesia.
Adapun karakteristik dari twitter adalah sebagai berikut :
1.
Kicauan/Tweets
Kicauan atau tweets adalah pesan singkat yang berisikan informasi yang
berisi maksimal 140 karakter. Kicauan yang dibuat atau dikirim oleh suatu akun
akan muncul pada halaman utama atau
timeline
akun itu sendiri dan akun yang
mengikuti akun tersebut.
(33)
Gambar II-2. Contoh Kicauan/
tweets
2.
Balas/Reply
Balas/reply
atau sering disebut dengan
mention adalah kicauan yang
bertujuan untuk menanggapi atau membalas kicauan lainnya. yang bertujuan agar
sesama pengguna bisa langsung menandai orang yang akan diajak berinteraksi.
Gambar II-3. Contoh
Mention
Reply
3.
Retweet
Retweet pada twitter digunakan apabila seseorang ingin membagikan
tweets
ke pengikut/follower akun tersebut. Retweet biasanya disingkat dengan RT yang
artinya mengulang, menulis kembali apa yang dilutis seseorang. RT ditambahkan
pada
tweets diikuti dengan @(username) ditambah dengan kata-kata yang ingin
diulang, maksudnya agar orang yang membaca
tweets tersebut tahu darimana
sumber tweets yang sebenarnya.
(34)
4.
@(username)
Simbol @ diikuti dengan
username, digunakan untuk menyebutkan atau
menandai akun lain pada sebuah kucauan, sering juga disebut mention.
Gambar II-5. Contoh
Mention
5.
Hastag (#)
Tanda # pada twitter digunakan untuk menjadikan sebuah kata menjadi kata
kunci dalam sebuah kicauan. Tanda # diikuti sebuah kata yang akan dijadikan kata
kunci, seperti #TelkomSpeedy #IndiHome #JaringanSpeedy yang bertujuan agar
pengguna lain bisa mencari topik yang sejenis yang ditulis oleh orang lain.
Gambar II-6. Contoh Kicauan
hastag
6.
URL
Twitter sebagai media sosial yang populer, banyak dimanfaatkan oleh
aplikasi lain untuk publikasi konten dari aplikasi tersebut atau biasa disebut
dengan
share
yang berupa URL yang ditautkan di dalam kicauan. Dari sekian
banyak URL yang ditautkan seperti path.com/p/XXokQ, bit.ly/1plRcT9,
goo.gl/GmAQVS , dan ow.ly/2NSfQI, dapat disumpulkan bahwa setiap
string
yang menyatu dan terdapat
string
“.com/” maka string tersebut dipastikan URL.
Selain itu setiap dua
string
yang sebelumnya terdapat titik, kemudian diikuti
backslahes dibagian selanjutnya, bisa dipastikan juga string tersebut adalah URL.
Hal tersebut diamati untuk memudahkan menghapus URL dari dokumen untuk
mengurangi noise.
(35)
Gambar II-7. Contoh Kicauan Yang Mengandung URL
7.
Lokasi
Lokasi/location
adalah salah satu fitur yang terdapat pada twitter yang
merupakan lokasi dari akun yang membuat suatu kicauan. Fitur lokasi bersifat
dinamis mengikuti lokasi pengguna twitter tersebut. Lokasi ditampilkan tepat
dibawah kicauan yang terkait.
Gambar II-8. Contoh Kicauan Mengandung Lokasi
8.
Tata Bahasa
Twitter membatasi setiap kicauan dengan maksimal hanya 140 karakter saja
dalam satu kali kicauan. Ini membuat pengguna harus sebisa mungkin
mengoptimalkan cara agar informasi yang disampaikan menjadi jelas. Sehingga
menyingkat suatu kata menjadi biasa, biasanya kata yang sering disingkat adalah
kata penghubung, seperti
“yang” menjadi “yg” dan masih banyak kata lainnya
yang sering disingkat. Dalam penggunaan tanda bacapun biasanya para pengguna
sudah tidak memperhatikan lagi aturan yang benar. Sebagai contoh pengguna
menggunakan tanda titik lebih dari satu kali (…..) ata
u tanda tanya lebih dari dua
kali (???) yang sebenarnya cukup dengan diwakili satu tanda titik dan tanda tanya.
Penulisan penyingkatan kata penghubung, penyingkatannya, dan juga penggunaan
tanda baca perlu dihilangkan dalam dokumen untuk mengurangi noise.
(36)
9.
Akses Data Twitter
Data twitter dalam penelitian ini dibutuhkan sebagai bahan baku utama
untuk melakukan analisis sentimen. Data twitter bisa didapatkan dengan berbagai
cara, salah satunya adalah dengan memanfaatkan service/library dari pihak ketiga
seperti Twitter4J. Twitter4J adalah library untuk bahasa pemrograman Java untuk
dapat mengakses API (Application Programming Interface), dengan
library
tersebut dapat dengan mudah mengintegrasikan aplikasi java dengan layanan dari
twitter.
II.13
Precision, Recall dan F-Measure
Sistem temu kembali informasi mengembalikan sekumpulan dokumen
sebagai jawaban dari
query pengguna. Terdapat dua kategori dokumen yang
dihasilkan oleh sistem temu kembali informasi terkait pemrosesan
query, yaitu
relevant documents (dokumen yang relevan dengan
query)
dan
retrieved
documents (dokumen yang diterima pengguna). Ukuran umum yang digunakan
untuk mengukur kualitas dari data retrieval adalah kombinasi precision dan recall.
Precision mengevaluasi kemampuan sistem temu kembali informasi untuk
menemukan kembali data
top-ranked
yang paling relevan, dan didefinisikan
sebagai persentase data yang dikembalikan yang benar-benar relevan terhadap
query pengguna. Precision merupakan proporsi dari suatu set yang diperoleh yang
relevan. Precision dapat dirumuskan persamaan (II-6).
Tabel II-16 Tabel Kontingensi
Predicted Class
Actual Class
+ -
+ TP FN
(37)
(II-6)
(II-7)
Dengan menjabarkan tabel II.16 diatas maka kita bisa mendapatkan
persamaan (II-6) dan (II-7) untuk mendapatkan nilai precision dan recall. Dengan
TP adalah
true positive yaitu jumlah dokumen yang di hasilkan aplikasi sesuai
dengan jumlah dokumen yang diberi oleh pakar. FP adalah
false positive yaitu
jumlah dokumen yang bagi pakar dianggap salah akan tetapi oleh aplikasi
dianggap benar (hasil yang tidak diinginkan). FN adalah
false negative yaitu
jumlah dokumen yang bagi pakar dianggap benar akan tetapi oleh aplikasi
dianggap salah (missing result).
Kombinasi precision dan recall biasa dikombinasikan sebagai harmonic
mean, biasa disebut F-measure yang mana dapat di formulasikan seperti
persamaan (2.17).
(II-8)
F-measure
biasa digunakan pada bidang sistem temu kembali informasi
untuk mengukur klasifikasi pencarian dokumen dan performa query classification.
Pada penelitian terdahulu
F-measure
lebih difokuskan untuk menghitung nilai,
namun seiring dengan perkembangan mesin pencari dengan skala besar, kini
F-measure lebih menekankan pada kinerja precision dan recall itu sendiri. Sehingga
lebih bisa dilihat pada aplikasi secara keseluruhan.
(38)
(39)
139
BAB V
KESIMPULAN DAN SARAN
V.1.
Kesimpulan
Dari hasil penelitian yang telah dilakukan terlihat bahwa algoritma
Improved K-Nearest Neighbor dapat mengklasifikasikan suatu opini yang berupa
tweet ke dalam dua kelas yaitu positif dan negatif dengan akurat. Tingkat
keakurasian dari pengklasifikasian tersebut sangat dipengaruhi oleh proses
training. Sehingga dapat disimpulkan dari hasil pengklasifikasian yang disajikan
dalam bentuk grafik di visualized tweet dapat terlihat dengan jelas informasi
sentimen publik terhadap suatu produk Indihome dan dapat dijadikan sebagai
bahan evaluasi Telkom IndiHome agar dapat lebih meningkatkan kualitas
layanannya sehingga dapat memperbaiki dan menentukan langkah bisnis
selanjutnya yang lebih baik lagi.
V.2.
Saran
Adapun saran dari penelitian ini adalah sebagai berikut:
1.
Dibutuhkannya penelitian lebih lanjut atau pengembangan untuk penelitian
analisis sentimen menggunakan metode pengklasifikasian lain seperti
Weighted
K-Nearest Neighbor atau menggabungkan metode lain dengan
metode metode
Improved K-Nearest Neighbor yang bisa lebih baik dari
metode Improved K-Nearest Neighbor agar didapat hasil pengklasifikasian
analisis sentimen yang lebih baik dan lebih akurat.
2.
Pada penelitian selanjutnya diharapakan dapat mengenali kalimat sarkasme
sep
erti “koneksi indihome lancaaarr sekali, sampai browsing aja susah :)”.
3.
Dalam penelitian ini ketika melakukan pembobotan, sistem menghitung
kemiripan berdasarkan frekuensi kemunculan kata, sehingga untuk
mendapatkan hasil yang optimal sebaiknya digunakan sistem yang dapat
mengecek kata yang bersinonim.
(40)
(41)
(42)
SKRIPSI
Diajukan untuk memenuhi Ujian Akhir Sarjana
HERDIAWAN
10110152
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2015
(43)
vi
ABSTRACT ...ii
KATA PENGANTAR ...iii
DAFTAR ISI ...vi
DAFTAR GAMBAR ...ix
DAFTAR TABEL ...xii
DAFTAR SIMBOL ...xvi
DAFTAR LAMPIRAN ...xx
BAB I PENDAHULUAN ...1
I.1 Latar Belakang Masalah ...1
I.2 Rumusan Masalah ...2
I.3 Maksud dan Tujuan ...3
I.4 Batasan Masalah ...3
I.5 Metodelogi Penelitian ...4
I.5.1 Metode Pengumpulan Data...4
I.5.2 Metode Pembangunan Perangkat Lunak ...4
1.6 Sistematika Penulisan ...6
BAB II TINJAUAN PUSTAKA ...9
II.1 Sejarah Perusahaan ...9
II.2 Produk Indihome ...11
II.3 Analisis Sentimen ...12
II.4 Text Mining ...12
II.5 Regular Expression ...13
II.6 Preprocessing ...15
II.7 Confix Stripping Stemmer ...20
II.8 Term Weighting ...25
(44)
vii
II.12 Twitter ...32
II.11 Precision, Recall dan F-Measure ...36
BAB III ANALISIS DAN PERANCANGAN ...39
III.1 Analisis Masalah ...39
III.2 Analisis Sistem Penelitian Yang Sedang Berjalan ...39
III.2.1 Prosedur Pendataan Kepuasan Konsumen Dengan Kuesioner ...40
III.2.2 Activity Diagram Penilaian Menggunakan Kuesioner ...40
III.2.3 Prosedur Pendataan Kepuasan Konsumen Diskusi Langsung ...41
III.2.4 Activity Diagram Penilaian Dengan Hasil Diskusi ...42
III.2.5 Prosedur Pendataan Kepuasan Konsumen Dari Data Plasa Telkom 42
III.2.6 Activity Diagram Penilaian Data Dari Plasa Telkom ...43
III.3 Analisis Sistem Yang Akan Dibangun ...44
III.3.1 Analisis Pengambilan Data ...45
III.3.2 Analisis Preprocessing ...46
III.3.3 Analisis Pembobotan (Term Weighting) ...66
III.3.3 Analisis Penerapan Improved K-Nearest Neighbor ...68
III.4 Analisis Kebutuhan Perangkat Lunak ...71
III.5 Analisis Kebutuhan Non Fungsional ...72
III.5.1 Analisis Kebutuhan Perangkat Lunak/Software ...72
III.5.2 Analisis Kebutuhan Perangkat Keras/hardware ...72
III.5.3 Analisis Kebutuhan Perangkat Pikir/Brainware ...73
III.6 Analisis Kebutuhan Fungsional ...73
III.6.1 Deskripsi Perangkat Lunak ...74
III.6.2 Use Case Diagram ...74
III.6.3 Activity Diagram ...86
(45)
viii
III.7.1 Perancangan Data ...107
III.7.2 Perancangan Antarmuka ...108
III.7.3 Perancangan Pesan ...111
III.7.4 Perancangan Fungsional ...113
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM ...115
IV.1 Implementasi Sistem ...115
IV.1.1 Lingkugan Implementasi ...115
IV.1.1.1 Implementasi Perangkat Lunak ...115
IV.1.1.2 Implementasi Perangkat Keras ...115
IV.1.2 Implementasi Data ...116
IV.1.2 Implementasi Antarmuka ...117
IV.2 Pengujian Sistem ...117
IV.2.1 Rencana Pengujian ...118
IV.2.2 Skenario Pengujian ...119
IV.2.3 Hasil Pengujian ...123
IV.2.4 Evaluasi Pengujian ...136
BAB IV KESIMPULAN DAN SARAN ...139
V.1 Kesimpulan ...139
V.1 Saran ...139
DAFTAR PUSTAKA ...141
(46)
DAFTAR PUSTAKA
[1]
https://dailysocial.net/post/kemenkominfo-targetkan-pengguna-internet-di-indonesia-tahun-2015-capai-150-juta-orang
[2]
http://tekno.liputan6.com/read/2164377/pengguna-internet-indonesia-kuasai-media-sosial-di-2015
[3]
http://tekno.liputan6.com/read/2164377/pengguna-internet-indonesia-kuasai-media-sosial-di-2015?p=1
[4]
Iwan
Arif,
Text
Mining
http://lecturer.eepis-its.edu/~iwanarif/kuliah/dm/6Text%20Mining.pdf
[6]
B. P. a. L. Lee, "Opinion Mining and Sentiment Analysis, Foundations and
Trends in Information Retrieval," vol. 2, no. 1-2, pp. 1-135, 2008.
[7]
Fahrur Rozi Imam, "Implementasi Opinion Mining (Analisis Sentimen)
untuk Ekstraksi Data Opini Publik pada Perguruan Tinggi", 2012
[8]
Yusuf Nur Muhammad dan Santika D. Diaz "ANALISIS SENTIMEN
PADA
DOKUMEN
BERBAHASA
INDONESIA
DENGAN
PENDEKATAN SUPPORT VECTOR MACHINE" 2011
[9]
Raymon J. Mooney. CS, Machine Learning Text Categorozation, 2006
[10] L. Vogel, "Java Regex - Tutorial, Vogella,," 14 Januari 2014.
[11] Sunni Ismail "Analisis Sentimen dan Ekstraksi Topik PenentuSentimen
pada Opini Terhadap Tokoh Publik" volume 1, nomor 2, 2012
[12] Utomo manalu Boy, "Analisis Sentimen Pada Twitter Menggunakan teks
mining" 2014
[13] Arfianda Putri Prima "IMPLEMENTASI METODE IMPROVED
K-NEAREST NEIGHBOR PADA ANALISIS SENTIMEN TWITTER
BERBAHASA INDONESIA"
[14] Kroenke M. David "Database Processing Jilid 1" edisi 9, 2005
(47)
2013/2014
[16]
Dwiyoga Tahitoe Andita “Implementasi Modifikasi Enhanced Confix
Stripping Stemmer Untuk Bahasa Indonesia Dengan Metode Corpus Based
Stemming”,
(48)
ANALISIS SENTIMEN TERHADAP TELKOM INDIHOME
BERDASARKAN OPINI PUBLIK MENGGUNAKAN METODE
IMPROVED K-NEAREST NEIGHBOR
Herdiawan
1 1Teknik Informatika
–
Universitas Komputer Indonesia
Jalan Dipati Ukur No. 112-114-116, 40132 Bandung, Indonesia
Email: if.herdiawan@gmail.com
1ABSTRAK
Indihome adalah salah satu produk layanan intenet terbaru dari PT. Telkom. Pengguna Indihome sampai saat ini mencapai 300 ribu pengguna. Banyaknya jumlah pengguna Indihome yang akan semakin bertambah, membuat PT. Telkom ingin menyediakan layanan berupa
feedback penilaian produk Indihome agar dapat mengetahui respon dari konsumen terhadap produk Indihome. Banyak konsumen yang membahas tentang Indihome di media sosial khususnya twitter, baik dari kualitas layanan internet yang bagus
ataupun sebaliknya. Sayangnya media sosial tidak
mempunyai kemampuan untuk mengagregasi informasi mengenai suatu perbincangan yang ada menjadi sebuah kesimpulan.
Salah satu cara untuk menarik kesimpulan dari
hasil agregasi adalah menggunakan text mining.
Algoritma Improved K-Nearest Neighbor adalah
salah satu algoritma yang bisa dimanfaatkan untuk
implementasi pengklasifikasiannya. Proses
penyelesaian algoritma Improved K Nearest
Neighbor diawali dengan preprocessing yang
terdiri dari Convert Emoticon, Cleansing, Case
Folding, Convert Negation, Tokenizing, Filtering,
dan Stemming. Proses selanjutnya pembobotan kata, kemudian pengkategorian yang terdiri dari
penghitungan cosine similarity, perhitungan nilai
k-values dan kalsifikasi sentimen berupa grafik. Sehingga hasil dari analisis sentimen ini bisa dijadikan evaluasi dalam menentukan langkah bisnis selanjutnya atau perbaikan kualitas yang lebih baik.
Kata kunci : analisis sentimen, text mining,
klasifikasi, Improved K-Nearest Neighbor,
Indihome
1. PENDAHULUAN
Pengguna Internet di Indonesia semakin
bertambah banyak. Menurut Kementrian
Komunikasi dan Informatika di tahun 2015 jumlah
pengguna Internet di Indonesia telah mencapai angka 150 juta orang, atau sekitar 61% dari total penduduk[1].
PT.Telekomunikasi Indonesia, Tbk selaku
penyedia layanan IndiHome dengan
menggabungkan beberapa layanan menjadi satu, saat ini memiliki promosi layanan menarik yang
mampu menarik banyak konsumen. Mulai
banyaknya jumlah pengguna membuat
PT.Telekomunikasi Indonesia, Tbk ingin
menyediakan layanan berupa feedback penilaian
terhadap produk IndiHome. Bapak Sony Budi
Winarso selaku Manager Marketing Integration
Reg-3 berencana ingin mengetahui bagaimana respon konsumen terdahap produk Indihome dari media sosial karena menurutnya banyak konsumen Telkom yang memberikan komentar terhadap produk Telkom di media sosial twitter.
Melihat permasalahan tersebut maka perlu adanya cara bagaimana mengklasifikasi informasi sentimen publik terhadap Telkom IndiHome dari opini publik yang ada di sosial media, untuk mendapatkan informasi dari hasil pengklasifikasian data melalui media sosial twitter berupa hasil
persentase kepuasan konsumen yang dapat
digunakan sebagai bahan evaluasi Telkom
Indihome agar dapat lebih meningkatkan kualitas layanannya sehingga dapat memperbaiki dan menentukan langkah bisnis selanjutnya yang lebih baik lagi.
1.1. Analisis Sentimen
Analisis sentimen atau opinion mining
merupakan proses memahami, mengekstrak dan mengolah data tekstual secara otomatis untuk mendapatkan informasi sentimen yang terkandung dalam suatu kalimat opini untuk menghasilkan opini yang baru [6]. Analisis sentimen dilakukan untuk melihat pendapat atau kecenderungan opini terhadap sebuah masalah atau objek oleh seseorang, apakah cenderung berpandangan atau beropini negatif atau positif. Analisis Sentimen biasanya dilakukan untuk memantau perkembangan pasar
(1)
iii
KATA PENGANTAR
Assalamu’alaikum wr. wb, Puji syukur penulis panjatkan kepada Allah SWT yang telah melimpahkan rahmat hidayah dan karunia-Nya, shalawat serta salam semoga selalu tercurah kepada Rasulullah SAW, sehingga penulis dapat menyelesaikan laporan tugas akhir ini
Laporan tugas akhir ini merupakan syarat untuk menyelesaikan studi jenjang strata satu (S1) di Program Studi Teknik Informatika, Universitas Komputer Indonesia yang berjudul “ANALISIS SENTIMEN TERHADAP TELKOM INDIHOME BERDASARKAN OPINI PUBLIK MENGGUNAKAN METODE IMPROVED K-NEAREST NEIGHBOR ”.
Laporan tugas akhir ini tidak akan berarti apa-apa tanpa bantuan dan dukungan semua pihak yang dengan segenap hati dan rasa tulus yang telah memberikan semua hal yang penulis butuhkan untuk penyelesaian tugas akhir ini, karena keterbatasan ilmu dan kemampuan, untuk itu penulis ingin mengucapkan terima kasih kepada: 1. Allah SWT, yang telah memberikan rahmat, hidayah, dan karunia-Nya.
2. Kedua orang tua, Bapak Cipto dan Ibu Yani serta keluarga tercinta yang selalu memberikan dorongan, semangat, doa serta bantuan baik secara moril maupun materil.
3. Ibu Rani Susanto , S.Kom., M.Kom. selaku dosen pembimbing yang telah membimbing, memberikan pengarahan, memberikan masukan dan saran selama penyusunan tugas akhir ini.
4. Bapak Sony Budi Winarsi, Bapak Aang, Bapa Suparjo dan Ibu Ririn yang telah memberikan kesempatan bagi penulis untuk melaksanakan dan membantu penelitian tugas akhir di Marketing PT.Telekomunikasi Indonesia, tbk.
(2)
iv
5. Ibu Nelly Indriani W, S.Si., M.T. dan Ibu Dian Dharmayanti, S.T., M.Kom. selaku dosen penguji yang telah memberikan masukkan dan saran kepada penulis.
6. Bapak Irfan Maliki, S.T., M.T selaku dosen wali kelas IF-4 Angkatan 2010 7. Seluruh dosen pengajar dan staff di UNIKOM khususnya pada Program Studi
Teknik Informatika yang telah memberikan ilmu dan pengetahuannya serta membantu proses perkuliahan.
8. Teman-teman seperjuangan dari kelas IF-4 angkatan 2010 seluruhnya khususnya teman seperjuangan tugas akhir Lufi Adhya, Adam Hermawan, Adi Herdiansyah, Sugiono, Cusa Danhar, Hendri Susanto, Rizky Yansyah dan Prasetyanto Dheka Putro yang telah bersama-sama melewati tugas akhir ini dengan indah, serta merasakan manis dan pahitnya masa perkuliahan, dan teman-teman yang terlebih dahulu menjadi sarjana Rijal Fauzi, Aditya Rakhmat, Ahmad Zaelani, Wydiyanto dan Aldy Ginanjar.
9. Teman-teman Himpunan Mahasiswa Teknik Informatika (HMIF) seluruhnya khususnya angkatan 2010.
10. Teman-teman Band yang selalu memberikan banyak motivasi.
11. Astri, Giska, Deni, Fauzy, Dea, Gieta, Juventus Club Indonesia Chapter Bandung, Juventni Unikom, dan semua pihak yang terlibat, yang telah ikut membantu dan memberikan semagat dalam penyusuan tugas akhir ini baik secara langsung ataupun tidak langung.
Di dalam penulisan laporan ini, penulis telah berusaha semaksimal mungkin, walaupun demikian penulis menyadari bahwa laporan tugas akhir ini masih jauh dari sempurna. Oleh karena itu, penulis menerima segala masukan, saran, dan kritik yang membangun untuk perbaikan di masa mendatang.
(3)
v
Akhir kata, semoga laporan ini dapat berguna dan bermanfaat khusunya bagi penulis, dan untuk seluruh pihak yang membutuhkan pada umumnya.
Wassalamualaikum Wr. Wb.
Bandung, Agustus 2015 Penulis
(4)
(5)
(6)