Anda di halaman 1dari 22

1

BAB 1
PENDAHULUAN
1.1 Latar Belakang Masalah
Sentimen analisis merupakan sebuah bidang penelitian yang meneliti
pendapat manusia, sentimen, penilaian, sikap manusia, emosi terhadap entitas dari
produk, pelayanan, organisasi, permasalahan maupun sebuah topik. Analisis
sentimen pertama kali diperkenalkan oleh Nakasuwa dan Yi pada tahun 2003.
Fokus dari analisis sentimen adalah pendapat yang mengandung kalimat positif
maupun negatif.
Klasifikasi sentimen pada level dokumen dan kalimat tidak cukup untuk di
identifikasi secara jelas. Dalam menentukan nilai positif dan negatif dari sentimen
bisa banyak terjadi kesalahan karena sentimen yang diberikan tidak semuanya
menuliskan kalimat positif maupun negatif. Analisis sentimen berbasis aspek
dapat menangani permasalahan dari analisis sentimen terhadap dokumen dan
kalimat. Dengan ditetapkannya aspek untuk penilaian positif dan negatif, sentimen
dapat diklasifikasikan berdasarkan aspek yang dinilai. Analisis sentimen berbasis
aspek memiliki dua pembahasan penting, Aspek ekstrasi dan klasifikasi sentimen
[1].
Perkembangan internet membawa evolusi dari mulut ke mulut, dimana
seseorang dapat memberikan pengalaman terkait suatu produk, pelayanan,
permasalahan yang dihadapi secara online [2]. Konsumen memanfaatkan online
review karena dianggap sebagai sumber yang berharga dan dapat dipercaya
mengenai informasi dari kekuatan dan kelemahan suatu produk, Mengurangi
keraguan dalam pembelian, dan juga dapat meningkatkan kualitas produk. Produk
yang menyediakan online review biasanya lebih sering dibeli dibanding produk
tanpa review. Online review memberikan dampak yang signifikan terhadap
pelanggan yang ingin membeli atau mencoba suatu produk dan juga terhadap
suatu perusahaan untuk mengembangkan dan meneliti permasalahan yang
dihadapi perusahaannya [3].
Penelitian terkait online review pernah dilakukan sebelumnya. Penelitian
yang dilakukan mengenai review restoran berbahasa indonesia menggunakan

1
2

algoritma naïve bayes menghasilkan akurasi sebesar 86.50%, setelah


menggunakan fitur dengan wraper yang digabungkan menghasilkan akurasi
sebesar 90.50% [4]. Penelitian terkait review juga pernah dilakukan yaitu analisis
sentimen pada teks bahasa indonesia menggunakan SVM dan KNN. Akurasi yang
dihasilkan oleh algoritma SVM adalah sebesar 67.90% dan algoritma KNN
sebesar 60.30%. Penelitian yang dilakukan untuk analisis sentimen masih berada
pada level kalimat [5].
Algoritma BLSTM merupakan pengembangan dari algoritma LSTM. Baik
pada online review dan pada kalimat sentimen tidak hanya bergantung pada
kalimat sebelumnya namun juga pada kalimat setelahnya. BLSTM mampu
memungkinkan kita untuk melihat kedepan dengan menggunakan forward LSTM,
dimana memproses urutan dalam urutan kronologis dan backward LSTM untuk
memproses urutan dalam urutan terbalik [6].
Berdasarkan uraian yang dijelaskan diatas, penulis tertarik untuk
menggunakan algoritma BLSTM dalam kasus analisis sentimen berbasis aspek.

1.2 Identifikasi Masalah


Berdasarkan permasalahan dari latar belakang diatas, dapat diambil
beberapa permasalahan sebagai berikut :
1. Analisis sentimen untuk review restoran yang sudah dilakukan masih
terbatas pada kalimat.
2. Belum diketahuinya performa dari BLSTM untuk klasifikasi sentimen
berbasis aspek.

1.3 Maksud dan Tujuan


Maksud dari penelitian tugas akhir ini adalah untuk membuat sistem yang
dapat melakukan analisis sentiment berbasis aspek. Adapun tujuannya adalah
untuk mengetahui performa BLSTM dalam mengklasifikasi sentimen berdasarkan
aspek yang telah ditentukan.

1.4 Batasan Masalah


Batasan masalah dalam pembuatan tugas akhir ini adalah :
1. File review berformat (.txt).
3

2. Review didapat dari aplikasi zomato.

3. Review yang digunakan dalam penelitian ini adalah review berbahasa


indonesia.

4. Aspek yang digunakan dalam penelitian sudah ditentukan yaitu :


Makanan, Harga, Pelayanan dan Suasana.

5. Sistem hanya mengklasifikasi sentimen dengan nilai positif dan negatif


sesuai dengan aspeknya.

1.5 Metode Penelitian


Metode penelitian merupakan cara ilmiah atau proses untuk mendapatkan
data dengan tujuan dan kegunaan tertentu (Sugiyono 2013). Metode penelitian
yang digunakan dalam pembuatan makalah ini adalah metode Deskriptif, yaitu
metode yang berusaha mendeskripsikan, menginterpretasikan kondisi atau
hubungan yang ada, pendapat yang berkembang, dan proses yang sedang
berlangsung.

1.5.1 Metode Pengumpulan Data


Metode pengumpulan data yang digunakan untuk penelitian ini adalah
sebagai berikut :
1. Studi Literatur
Teknik pengumpulan data dengan cara menghimpun data-data yang
berhubungan dengan topik yang diangkat dalam penelitian. Studi
literatur dapat diperoleh dari jurnal, buku dokumentasi, internet dan
pustaka
2. Dokumentasi
Metode untuk mencari dokumen atau data-data dari sumber-sumber
yang dianggap penting melalui artikel, koran, majalah, jurnal, pustaka
buku yang berkaitan dengan penelitian
4

1.5.2 Metode Analisis Data


Berdasarkan pengkajian dan evaluasi dari jurnal dan buku-buku yang telah
dibaca, Analisis data pada penelitian ini adalah :
1. Menganilisis review, menganilisis pola dan bentuk kalimat dari review,
review yang dianalisis merupakan opini pelanggan restoran dari
aplikasi zomato dengan menggunakan tahapan preprocessing.
2. Menganalisis klasifikasi, melakukan perhitungan terhadap data latih
sehingga menghasilkan nilai yang digunakan untuk tahapan pengujian,
tahapan klasifikasi menggunakan metode BLSTM, hasil dari tahapan
ini adalah nilai parameter BLSTM terhadap data yang akan diuji.
3. Menganalisis pengujian, bagaimana sistem setelah diterapkan analisa
dari metode BLSTM untuk analisis sentimen berbasis aspek. Hasil
akhir dari tahap ini adalah sistem yang dapat mengklasifikasi sentimen
berdasarkan aspek yang telah ditentukan sebelumnya.
4. Menganalisis output, menganalisis dari nilai akhir yang didapat pada
tahap pengujian. Nilai akhir yang didapat akan diuji apakah memiliki
akurasi yang baik atau kurang baik.

1.5.3 Metode Pembangunan Perangkat Lunak


Pembangunan perangkat lunak membutuhkan suatu metode yang dapat
mengatur setiap tahapan pekerjaan pembuatan sistem. Pada penelitian ini
menggunakan metode Waterfall.
Metode waterfall adalah suatu proses pengembangan perangkat lunak
berurutan, di mana kemajuan dipandang sebagai sesuatu yang terus mengalir ke
bawah (seperti air terjun) melewati fase-fase requirement, design, implementation
(konstruksi), testing, dan maintenance. Berikut ini adalah beberapa tahapan dari
model waterfall [7] :
1. Requirement

Sistem service, kendala, dan tujuan ditetapkan dengan cara berkonsultasi


bersama pengguna. Pengguna kemudian mendefinisikan secara rinci untuk
spesifikasi sistem yang akan dibangun.
5

2. Design

Proses desain sistem mengalokasikan persyaratan untuk sistem perangkat


keras maupun perangkat lunak dengan cara membangun keseluruhan
arsitektur sistem. Desain sistem melibatkan identifikasi dan penjabaran
secara mendasar abstraksi sistem perangkat lunak dan hubungannya.
3. Implementation

Pada tahap ini desain sistem diwujudkan sebagai satu set program atau
unit program. Pengujian unit melibatkan verifikasi untuk memenuhi
spesifikasinya.
4. Testing

Unit program maupun program yang telah terintegrasi akan diuji sebagai
sistem yang lengkap untuk memastikan bahwa program telah memenuhi
persyaratan. Setelah memenuhi persyaratan program akan dikirimkan ke
pelanggan.
5. Maintenance

Merupakan siklus hidup terpanjang (tidak harus). Pemeliharaan dilakukan


untuk memperbaiki kesalahan yang tidak ditemukan sebelumnya, dan
dapat meningkatkan pelayanan sistem ketika persyaratan baru ditemukan.

Gambar 1.1 Metode Waterfall


1.5.4 Metode Pengujian
Pengujian dilakukan terhadap metode BLSTM yang sudah
diimplementasikan ke sistem analisis sentimen berbasis aspek untuk review
6

restoran menggunakan confusion matrix dengan 3 keluaran, yaitu : accuracy,


precision dan recall.

1.6 Sistematika Penulisan


Penyusunan skripsi dibuat dalam 5 bab. Sistematika penulisan skripsi yang
dibuat adalah sebegai berikut :
BAB I PENDAHULUAN
Pada bab ini menjelaskan tentang latar belakang masalah, identifikasi
masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, dan
sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Pada bab ini membahas tentang teori dan tinjauan mengenai analisis
sentimen, analisis sentimen berbasis aspek, text mining, zomato, preprocessing,
bahasa pemograman, metode terstruktur, algoritma BLSTM, confusion matrix.
BAB III ANALISIS DAN PERANCANGAN
Pada bab ini berisi tentang analisis masalah, analisis sistem, analisis data
masukan, analisis klasifikasi BLSTM, analisis kebutuhan fungsional dan non
fungsional.
BAB IV IMPELMENTASI DAN PENGUJIAN
Pada bab ini berisi gambar dari hasil implementasi dan pengujian pada
sistem yang diuji menggunakan data training, data uji, proses klasifikasi
menggunakan BLSTM dan pengujian terakhir menggunakan metode confusion
matrix untuk mendapatkan nilai accuracy, precision dan recall.
BAB V KESIMPULAN DAN SARAN
Pada bab ini diberikan kesimpulan mengenai penelitian yang dilakukan
dan juga saran untuk pengembang selanjutnya.
7

BAB 2
TINJAUAN PUSTAKA
2.1 Analisis Sentimen
Analisis sentimen merupakan studi tentang analisis pendapat manusia,
sentimen, evaluasi, sikap, dan emosi yang dituangkan dalam kalimat. Sentimen
analisis banyak digunakan untuk kebutuhan bisnis dan kehidupan sosial.
Pertumbuhan mengenai analisis sentimen sejalan dengan bertumbuhnya review,
diskusi forum, blog, twitter, dan sosial media lainnya. Analisis sentiment termasuk
dalam bidang natural language processing (NLP) namun baru banyak
dikembangkan diatas tahun 2000. Analisis sentimen berdampak besar tidak hanya
pada bidang NLP namun juga terhadap bidang Ekonomi, Ilmu Manajemen, Ilmu
Politik, dan Ilmu Sosial [1].
2.2 Analisis Sentimen berbasis aspek
Analisis sentimen berbasis aspek merupakan perkembangan dari analisis
sentimen yang hanya mengacu pada sebuah kalimat. Analisis sentimen berbasis
aspek dari opini berbasis teks mengacu pada entitas yang spesifik dan aspek yang
dibahasnya. Analisis yang dilakukan dengan mengacu pada spesifik entitas dan
aspek dapat membantu pelanggan memutuskan untuk membeli sesuatu atau
perusahaan dalam mengembangkan bisnisnya, perusahaan pun dapat mengontrol
perkembangan perusahaanya dan mengetahui dengan pasti apa yang
dibutuhkannya. Pada kasus penelitian yang sedang dilakukan, kategori yang
dibahas mengenai review yang diterima oleh restoran dengan memperhitungkan
aspek – aspek seperti : makanan, harga, suasana dan pelayanan. Data yang didapat
dari review yang dilakukan oleh pelanggan dapat dijadikan masukan dan evaluasi
untuk perusahaan dalam mengembangkan usahanya [1].
2.3 Text Mining
Menurut R. Feldman dan J. Sanger, text mining adalah suatu proses untuk
menggali informasi dimana seorang pengguna atau user berinteraksi dengan
dokumen menggunakan tool analisis. Sedangkan menurut O. Maimon dan L.

7
8

Rokach, text mining adalah suatu proses ekstrasi pola tertentu dari database
dokumen teks yang besar dan bertujuan untuk menemukan pengetahuan [8].
Pada kasus text mining, konsep dan teknik yang digunakan adalah untuk
mencari informasi yang bermanfaat dengan melakukan analisa dari teks tersebut.
Jika data yang digunakan pada teks mining sudah memiliki pola yang terstruktur
tugas dari text mining hanya tinggal mengklasifikasi teks tersebut atau melakukan
pengelompokan pada teks. Jika data yang digunakan masih memiliki ketidak
strukturan pada susunannya maka dilakukan proses preprocessing untuk membuat
data menjadi terstruktur.
2.4 Zomato
Zomato merupakan aplikasi perangkat lunak untuk mencari dan menemukan
tempat makanan terbaik. Aplikasi Zomato dapat diakses melalui web dan juga
melalui android ataupun ios. Aplikasi zomato memudahkan masyarakat dalam
mecari sebuah restoran dengan berbagai ulasan terkait mengenai restoran yang
ingin mereka kunjungi. Ulasan yang terdapat di aplikasi zomato merupakan
review pengalaman yang dirasakan pengunjung sebelumnya. Zomato ingin
memberikan kesan dan mempermudah pelanggan baru yang belum pernah
mencoba restoran tertentu untuk dating kesana berdasarkan pengalaman orang lain
yang sudah pernah mengunjungi restoran tersebut.
2.5 Preprocessing
Preprocessing merupakan tahapan awal sebelum memasuki tahapan utama.
Preprocessing yang digunakan dalam text mining data review sebuah restoran
adalah Casefolding, Tokenization, Stemming, dan Stopword Removal.
Preprocessing dilakukan agar data memiliki keseragaman dan membersihkan data
dari noise yang dimiliki oleh data tersebut.
2.5.1 Casefolding
Casefolding merupakan tahapan awal pada preprocessing. Casefolding
merupakan proses mengubah kalimat dari review restoran menjadi huruf kecil
keseluruhan. Kalimat yang masih memiliki huruf kapital didalamnya akan
dikonversi secara menyeluruh agar menjadi seragam huruf kecil (lowercase).
9

2.5.2 Tokenization
Merupakan proses pemotongan string masukan berdasarkan kata
penyusunnya. Memisahkan kata yang menyusun suatu dokumen. Proses
tokenization memisahkan kata berdasarkan spasi yang terdapat didalam didalam
dokumen tersebut.
2.5.3 Stemming
Stemming merupakan proses untuk mendapatkan kata dasar dari kata yang
memiliki imbuhan, baik imbuhan awalan (prefix) maupun imbuhan akhiran
(suffix). Algoritma stemming untuk bahasa yang satu berbeda dengan bahasa
lainnya. Untuk bahasa Indonesia Algoritma Nazief dan Adriani memiliki tingkat
akurasi yang baik dikarenakan berdasar pada aturan morfologi bahasa Indonesia
yang luas [10].
2.5.4 Stopword Removal
Stop word adalah kata umum (common word) yang biasanya muncul
dalam jumlah besar dan dianggap tidak memiliki makna. Untuk analisis sentimen
berbasis aspek stopword removal digunakan untuk mengurangi jumlah kata yang
harus diproses.
2.6 Term Frequency-Invers Document Frequency
Data yang telah melalui tahap preprocessing harus berbentuk numerik.
Untuk mengubah data tersebut menjadi numerik yaitu menggunakan metode
pembobotan TF-IDF. Metode Term Frequency Invers Document Frequency (TF-
IDF) merupakan metode yang digunakan untuk menentukan seberapa jauh
keterhubungan kata (term) terhadap dokumen dengan cara memberikan bobot
pada setiap kata. Metode TF-IDF ini menggabungkan dua konsep yaitu frekuensi
kemunculan sebuah kata di dalam sebuah dokumen dan inverse frekuensi
dokumen yang mengandung kata tersebut. Dalam perhitungan bobot
menggunakan TF-IDF, dihitung terlebih dahulu nilai TF perkata dengan bobot
masing-masing kata adalah 1. Sedangkan nilai IDF diformulasikan pada
Persamaan (1)
10

IDF(word) adalah nilai IDF dari setiap kata yang akan di cari, td adalah
jumlah keseluruhan dokumen yang ada, df jumlah kemuculan kata pada semua
dokumen [9].
2.7 Bahasa Pemograman
Bahasa Pemograman (programming language) adalah sebuah instruksi
standar untuk memerintah komputer menjalankan fungsi tertentu. Bahasa
pemograman merupakan suatu himpunan dari aturan sintaks dan semantik untuk
mendifinisikan program. Bahasa ini memungkinan programmer dapat
menentukan data yang akan diolah oleh komputer.
2.7.1 Python
Python adalah bahasa yang mudah dipelajari serta berfokus pada kode.
Python dianggap memiliki kode-kode pemograman yang sangat jelas, lengkap,
dan mudah untuk dipahami. Python secara umum berbentuk pemograman berbasis
objek. Python dapat digunakan untuk pembangunan perangkat lunak yang dapat
berjalan di berbagai platform sistem informasi [10].
2.8 Bi-LSTM
Bi-LSTM menggunakan dua LSTM untuk mempelajari setiap token dari
urutan berdasarkan pada konteks masa lalu dan masa depan token. Sebagaimana
yang telah ditunjukkan pada Gambar 2, satu LSTM memproses urutan dari kiri ke
kanan, yang lain dari kanan ke kiri. Pada setiap langkah waktu t, disembunyikan
lapisan kedepan dengan fungsi unit tersembunyi - → h dihitung berdasarkan
keadaan tersembunyi sebelumnya - → h t − 1 dan input pada langkah saat ini xt
dan lapisan belakang tersembunyi dengan fungsi unit tersembunyi ← - h dihitung
berdasarkan keadaan tersembunyi di masa depan ← - h t + 1 dan input di langkah
saat ini xt. Representasi konteks maju dan mundur, dihasilkan oleh - → ht dan ←
- masing-masing, disatukan menjadi panjang vektor. Gabungan hasil adalah
prediksi teacher-given target signal. Sebagai model urutan yang banyak
digunakan, conditional random field (CRF) adalah jenis probabilistik grafis model
11

tidak diskriminatif, yang mewakili distribusi log-linear tunggal menghasilkan


output lebih terstruktur sebagai fungsi dari pengamatan tertentu urutan input.
Diberikan pengamatan variabel X yang nilainya diamati, variabel acak Y
yang nilai tugasnya memerlukan model untuk memprediksi, dan grafik G tidak
berarah di mana Y terhubung dengan tepi tidak berarah yang menunjukkan
ketergantungan. CRF mendefinisikan persyaratan probabilitas satu set nilai output
y ∈ Y diberikan satu set nilai input x ∈ X agar proporsional dengan produk fungsi
potensial pada klik grafik (McCallum, 2003),

(2.1)

Gambar 3 Bi-LSTM CRF target ekspresi dan klasifikasi kata


Zx adalah faktor normalisasi nilai output keseluruhan S (y, x) adalah
himpunan klik G, s (ys, xs) adalah potensi klik pada klik s. Setelah itu, dalam
model BiLSTM-CRF, sebuah softmax atas semua urutan tag yang mungkin
menghasilkan probabilitas untuk urutan y. Prediksi urutan output dihitung sebagai
berikut:

(2.2)
di mana σ (X, y) adalah fungsi skor didefinisikan sebagai berikut:
12

(2.3)
A adalah matriks skor transisi, Ayi, yi + 1 mewakili skor transisi dari tag yi
ke yi +1. n adalah panjang a kalimat, P adalah matriks skor keluaran oleh jaringan
BiLSTM, Pi, yi adalah skor ke-y Saya menandai kata ke-i dalam sebuah kalimat.
Seperti yang ditunjukkan pada Gambar. 2, teknik putus digunakan setelah input
lapisan BiLSTM-CRF untuk mengurangi overfitting pada data pelatihan. Teknik
ini pertama kali diperkenalkan oleh Hinton, Srivastava, Krizhevsky, Sutskever,
dan Salakhutdinov (2012) untuk mencegah kerjasama yang kompleks pada data
pelatihan. Ini telah memberikan perbaikan besar pada banyak tugas. Setelah
ekstraksi target oleh BiLSTM-CRF, semua kalimat diucapkan diklasifikasikan ke
dalam kalimat tidak-sasaran, satu-sasaran, dan kalimat multi-target, sesuai dengan
jumlah target yang diekstraksi dari mereka [11].
2.9 Confusion Matriks
Pengukuran terhadap kinerja suatu sistem klasifikasi merupakan hal yang
penting. Kinerja sistem klasifikasi menggambarkan seberapa baik sistem dalam
mengklasifikasikan data. Confusion matrix merupakan salah satu metode yang
dapat digunakan untuk mengukur kinerja suatu metode klasifikasi. Pada dasarnya
confusion matrix mengandung informasi yang membandingkan hasil klasifikasi
yang dilakukan oleh sistem dengan hasil klasifikasi yang seharusnya [12].
Berdasarkan jumlah keluaran kelasnya, sistem klasifikasi dapat dibagi
menjadi 4 (empat) jenis yaitu klasifikasi binary, multi-class, multi-label dan
hierarchical [13].
Pada klasifikasi binary, data masukan dikelompokkan ke dalam salah satu
dari dua kelas. Jenis klasifikasi ini merupakan bentuk klasifikasi yang paling
sederhana dan banyak digunakan. Contoh penggunaannya antara lain dalam
sistem yang melakukan deteksi orang atau bukan, sistem deteksi kendaraan atau
bukan, dan sistem deteksi pergerakan atau bukan.
Sementara itu, pada bentuk klasifikasi multi-class, data masukan
diklasifikasikan menjadi beberapa kelas. Sebagai contoh sistem yang dapat
13

mengklasifikasikan jenis kendaraan seperti sepeda, sepeda motor, mobil, bus, truk,
dan sebagainya. Bentuk klasifikasi multi-label pada dasarnya sama dengan multi-
class dimana data dikelompokkan menjadi beberapa kelas, namun pada klasifikasi
multi-label, data dapat dimasukkan dalam beberapa kelas sekaligus. Bentuk
klasifikasi yang terakhir adalah hierarchical. Data masukan dikelompokkan
menjadi beberapa kelas, namun kelas tersebut dapat dikelompokkan kembali
menjadi kelas-kelas yang lebih sederhana secara hirarkis. Contohnya dalam
penelitian ini, arah pergerakan dikelompokkan menjadi 12 arah pergerakan yang
tentunya dapat disederhanakan menjadi 4 arah.
Pada pengukuran kinerja menggunakan confusion matrix, terdapat 4 (empat)
istilah sebagai representasi hasil proses klasifikasi. Keempat istilah tersebut
adalah True Positive (TP), True Negative (TN), False Positive (FP) dan False
Negative (FN). Nilai True Negative (TN) merupakan jumlah data negatif yang
terdeteksi dengan benar, sedangkan False Positive (FP) merupakan data negatif
namun terdeteksi sebagai data positif. Sementara itu, True Positive (TP)
merupakan data positif yang terdeteksi benar. False Negative (FN) merupakan
kebalikan dari True Positive, sehingga data posifit, namun terdeteksi sebagai data
negatif.
Pada jenis klasifikasi binary yang hanya memiliki 2 keluaran kelas,
confusion matrix dapat disajikan seperti pada Tabel 1
Tabel 1 Confusion Matrix
Kelas Klasifikasi Positif Klasifikasi Negatif
Positif TP FN
Negatif FP TN
Berdasarkan nilai TP, FP, FN, TN dapat ditentukan nilai accuracy,
precision dan Recall yaitu:
1. Accuracy

(2.4)

2. Precision
14

(2.5)
3. Recall

(2.6)
2.10 OOP
OOP (Object Oriented Programming) adalah suatu metode pemrograman
yang berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk
mempermudah pengembangan program dengan cara mengikuti model yang telah
ada di kehidupan sehari-hari. Jadi setiap bagian dari suatu permasalahan adalah
objek, nah objek itu sendiri merupakan gabungan dari beberapa objek yang lebih
kecil lagi. Saya ambil contoh Pesawat, Pesawat adalah sebuah objek. Pesawat itu
sendiri terbentuk dari beberapa objek yang lebih kecil lagi seperti mesin, roda,
baling-baling, kursi, dll. Pesawat sebagai objek yang terbentuk dari objek-objek
yang lebih kecil saling berhubungan, berinteraksi, berkomunikasi dan saling
mengirim pesan kepada objek-objek yang lainnya. Begitu juga dengan program,
sebuah objek yang besar dibentuk dari beberapa objek yang lebih kecil, objek-
objek itu saling berkomunikasi, dan saling berkirim pesan kepada objek yang lain.
Konsep dari OOP adalah :

1. Abstract Class

a. Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari


sekumpulan data.

b. Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau


prototipe yang digunakan untuk menciptakan objek.

c. Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan
operasi pada data dalam suatu unit tunggal.
15

d. Kelas mendefinisikan suatu struktur yang terdiri atas data kelas (data
field), prosedur atau fungsi (method), dan sifat kelas (property).

2. Encapsulation

a. Istilah enkapsulasi sebenarnya adalah kombinasi data dan


fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk
menyembunyikan detail informasi.

b. Proses enkapsulasi memudahkan kita untuk menggunakan sebuah


objek dari suatu kelas karena kita tidak perlu mengetahui segala hal
secara rinci.

c. Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan


kata lain bagaimana menggunakan objek kelas tertentu.

d. Contoh: kelas mobil menyediakan antarmuka fungsi untuk


menjalankan mobil tersebut, tanpa kita perlu tahu komposisi bahan
bakar, udara dan kalor yang diperlukan untuk proses tersebut.

3. Inheritance

a. Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari
kelas lain yang sudah ada.

b. Penurunan sifat ini bisa dilakukan secara bertingka-ttingkat, sehingga


semakin ke bawah kelas tersebut menjadi semakin spesifik.

c. Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan


perilaku khusus dari kelas supernya.

d. Dengan konsep pewarisan, seorang programmer dapat menggunakan


kode yang telah ditulisnya pada kelas super berulang kali pada kelas-
kelas turunannya tanpa harus menulis ulang semua kode-kode itu.

4. Polymorphism
16

a. Polimorfisme merupakan kemampuan objek-objek yang berbeda


kelas namun terkait dalam pewarisan untuk merespon secara berbeda
terhadap suatu pesan yang sama.

b. Polimorfisme juga dapat dikatakan kemampuan sebuah objek untuk


memutuskan method mana yang akan diterapkan padanya, tergantung
letak objek tersebut pada jenjang pewarisan.

c. Method overriding.

d. Method name overloading.

2.10.1 UML
Sebuah teknik pengembangan sistem yang menggunakan bahasa grafis
untuk dokumentasi dan spesifikasi pada sistem. UML pertama kali diperkenalkan
pada tahun 1994 oleh Grady Booch dan James Rumbaugh dengan
menggabungkan 2 metodologi Booch dan OMT. Kemudian penemu Object
Oriented Software Engineering (OOSE) Ivar Jacobson tertarik dan ikut bergabung
dengan Booch dan Rumbaugh. Standar UML dikelola oleh Object Management
Group (OMG) [14].
1. Use Case Diagram

Menggambarkan sejumlah external actors dan hubungannya ke use case


yang diberikan oleh sistem. Use case adalah deskripsi fungsi yang
disediakan oleh sistem dalam bentuk teks sebagai dokumentasi dari use
case symbol, namun dapat juga dilakukan di dalam activity diagrams.
Use case digambarkan hanya yang dilihat dari luar oleh actor (keadaan
lingkungan sistem yang dilihat user) dan bukan bagaimana fungsi yang
ada di dalam sistem.
2. Activity Diagram

Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk


mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga
dapat juga digunakan untuk aktifitas lainnya seperti use case atau
interaksi.
17

3. Sequence Diagram

Menggambarkan kolaborasi dinamis antara sejumlah objek. Kegunaanya


untuk menunjukkan rangkaian pesan yang dikirim antara objek juga
interaksi antara objek, sesuatu yang terjadi pada titik tertentu dalam
eksekusi sistem.

4. Class Diagram

Menggambarkan struktur statis class di dalam sistem. Class


merepresentasikan sesuatu yang ditangani oleh sistem. Class dapat
berhubungan dengan yang lain melalui berbagai cara: associated
(terhubung satu sama lain), dependent (satu class
tergantung/menggunakan class yang lain), specialed (satu class
merupakan spesialisasi dari class lainnya), atau package (grup bersama
sebagai satu unit). Sebuah sistem biasanya mempunyai beberapa class
diagram.
18
BAB 3

ANALISIS DAN PERANCANGAN


3.1 Analisis Masalah
Analisis masalah dapat didefinisikan sebagai suatu gambaran masalah yang
diangkat dalam penulisan skripsi tentang analisis sentimen berbasis aspek untuk
review restoran menggunakan BLSTM . Berdasarkan hasil pengamatan terhadap
review dari aplikasi zomato, terdapat beragam variasi penulisan sentimen yang
mengarah pada 4 buah aspek. Pada kasus analisis sentimen berbasis aspek ini
aspek sudah ditentukan terlebih dahulu, yaitu : makanan, harga, pelayanan, dan
suasana. Kata yang sudah dimasukkan kedalam aspeknyah diproses dengan
tahapan preprocessing untuk menyeragamkan kalimat yang nanti akan diolah
menggunakan BLSTM. Kalimat review yang telah melewati tahap preprocessing
akan diberi pembobotan agar mudah ketika data melalui proses training.
Pada penelitian sebelumnya, analisis sentimen terhadap review restaurant
masih terbatas pada kalimat. Sehingga pada penelitian ini akan dilakukan analisis
sentimen berbasis aspek yang aspeknyah sudah ditentukan diawal. Metode yang
digunakan adalah BLSTM, dikarenakan metode BLSTM dapat mengklasifikasi
kalimat dengan memungkinkan kita untuk melihat kedepan dengan menggunakan
forward LSTM dimana memproses urutan dalam urutan kronologis dan backward
LSTM untuk memproses urutan dalam urutan terbalik.
3.2 Analisis Sistem
Analisis sistem dapat didefinisikan sebagai penguraian dari sistem utama
kedalam sub sistem untuk mengidentifikasi kebutuhan yang diperlukan dalam
membangun sebuah sistem untuk mengetahui akurasi performa metode yang
digunakan.
Sistem yang akan dibangun terdiri dari beberapa tahapan. Tahapan-tahapan
tersebut yaitu proses pengambilan review dari aplikasi zomato, proses
preprocessing, proses pembobotan, proses training data, proses testing data, dan

19
20

proses pengujian. Gambaran umum dari sistem yang akan dibangun ditampilkan
pada gambar 3.1 berikut ini.
21

DAFTAR PUSTAKA
[1] Liu Bing “Sentiment Analysis and Opinion Mining” in Synthesis lecturer
on human language technologies. Chicago : Morgan & Claypool, 2012
[2] Hyaan Yoo Kung, Gretzel Ulrike, “What Motivates Consumer to Write
Online Travel Reviews”, J. Information and Technology Tourism, vol.10,
pp.283-295, 2008.
[3] Johnson Amelie, Lijenberg Caroline, Dahlgren Sara, ”Online Reviews –
What Motivates You?”, Linaeus University, Sweden, 2015.
[4] Ayu Muthia Dinda “Analisis Sentimen pada Review Restoran dengan Teks
Bahasa Indonesia menggunakan Algoritma Naïve Baiyes”, J. ilmu
pengetahuan dan teknologi komputer, vol.2, no.2, 2017
[5] Kartika Lidya, Salim Sitompul Opim, Efendi Syahril, “Sentiment Analysis
pada Teks Bahasa Indonesia menggunakan Support Vector Machine
(SVM) dan K-Nearest Neighbour (KNN), in seminar of teknologi
informasi dan komunikasi, yogyakarta, 2015.
[6] Ruder Sbastian, Ghaffari Parsa, G. Breslin John, “A Hierarchical Model of
Reviews for Aspect-Based Sentiment Analysis”, J. Computation and
Language, 2016.
[7] Sommerville Ian, “Software Engineering”, ninth ed, United States of
America : Addison Wesley, 2012.
[8] Wahyudi Dwi, Susyanto Teguh, Nugroho Didik, “Implementasi dan
Analisis Algoritma Stemming Nazief & Adriani dan Porter Pada Dokumen
Berbahasa Indonesia”, Jurnal Ilmiah Sinus, vol.15, no.2, pp.49-56. 2017.
[9] Herwijayanti Bening, Eka Ratnawati Dian, Muflikhah Lailil, “Klasifikasi
Berita Online menggunakan Pembobotan TF-IDF dan Cosine Similarity”,
J. Pengembangan teknologi informasi dan ilmu komputer, vol.2, no.1.
2018.
[10] Jubile Enterprise, “Otodidak Pemograman Python” 1st ed, Jakarta : PT
Alex Media Komputindo, 2017.
[11] Chen Tao, Xu Ruifeng, He Yulan, Wang Xuan, “Improving Sentiment
Analysis via Sentence type Classification using BiLSTM-CRF and CNN”,
Elsevier, no.72, pp 221-230. 2016.
[12] E. Prasetyo, Data Mining: Konsep dan Aplikasi menggunakan Matlab, 1
ed. Yogyakarta: Andi Offset, 2012.
22

[13] M. Sokolova dan G. Lapalme, “A systematic analysis of performance


measures for classification tasks,” Inf. Process. Manag., vol. 45, no. 4, hal.
427–437, 2009.
[14] Adi Nugroho, "Rekayasa Perangkat Lunak Berbasis Objek dengan
MetodeUSDP, Andi, Yogyakarta, 2010.

Anda mungkin juga menyukai