T1__BAB II Institutional Repository | Satya Wacana Christian University: Analisis Sentimen untuk Komentar pada Sistem Pencarian Kost Menggunakan Metode Support Vector Machine (SVM) T1 BAB II

BAB II
DASAR TEORI
Pada bab ini akan dibahas teori-teori pendukung yang digunakan sebagai acuan
dalam merancang algoritma.

2.1. Microsoft Visual Studio
Microsoft Visual Studio adalah sebuah software yang digunakan untuk membuat
aplikasi berbagai macam jenis. Microsoft Visual Studio digunakan sebagai aplikasi
untuk membuat web pencari kost. Karena Visual Studio mendukung banyak bahasa
pemrograman dan mudah untuk digunakan. Pada sistem web menggunakan bahasa C#,
HTML, Javascript dan CSS dalam bentuk MVC. MVC merupakan singakatan dari
model view dan controller yang merupakan bentuk pemrograman yang memisahkan
berdasarkan logika penanganan tampilan, logika pengontrolan dan logika model. MVC
dipilih karena pada pengembangan web yang besar mudah untuk dilakukan perbaikan.
Pada model berisi kode program yang menangani database. Kemudian pada view
berisi kode program yang mengatur tampilan web yang diatur oleh controller.
Sedangkan Controller merupakan bagian yang menjembatani model dan view. Disini
MVC dipakai karena memungkinkan melakukan pembaruan, penambahan atau
penghapusan suatu fungsi dengan cepat. Selain itu juga MVC dalam proses pembuatan
sistem tidak perlu menggangu sistem lain, karena sudah terpisah satu sama lain yang
memudahkan dalam proses pembuatannya.


2.2. Microsoft SQL Server
Microsoft SQL Server pada sistem digunakan untuk menyimpan data – data pada
web pencari kost berupa data kost, data user dan data rating. Disini SQL Server
berfungsi untuk melakukan insert, update dan delete database. SQL Server juga dapat
dikoneksikan dengan banyak bahasa pemrograman seperti C#, C++, Java, PHP, dan
Python. Selain itu juga mudah dilakukan proses Backup dan Restore Database dari satu
sistem ke sistem lainnya.
Microsoft SQL Server digunakan karena memiliki sintaks yang tidak terlalu sulit
untuk dipahami dan juga SQL Server memilik banyak tipe data seperti float, double,
varchar, char, date, time, datetime, dan lain lain. Selain itu juga SQL Server dapat

1

memudahkan dalam proses sortir dengan menggunakan SQL Group By dan Order by
yang akan sangat memudahkan dalam perancangan web.

2.3. Google Maps
Google Maps merupakan aplikasi peta berbasis online yang disediakan gratis oleh
Google. Google Maps berfungsi untuk menampilakn lokasi kost berada. Google Maps

karena memiliki basis data yang cukup lengkap dan memiliki interface yang menarik
dan mudah digunakan. Selain itu Google Maps memberikan fitur yang cukup lengkap
yang dapat memberikan pentunjuk arah pada pengguna ke suatu lokasi sehingga akan
sangat memudahkan dalam proses pencarian tempat kost tersebut.

2.4. UML (Unified Modeling Languange)[9]
Unified Modeling Languange (UML) adalah sebuah metode untuk memberikan
gambaran tentang desain dari sebuah software yang akan dibuat. UML merupakan
standar pemodelan untuk visualisasi sistem berorientasi objek dan juga sebagai platform
untuk mempercepat proses pengembangan aplikasi. UML akan sangat membantu dalam
perancangan sebuah sistem. Seperti pada perancangan sistem dibuat diagram use case
sistem dan diagram aktivitas sistem. Sehingga memudahkan dalam perancang sistem.

2.5. Hyper Text Markup Language[7]
Hyper Text Markup Language (HTML) merupakan bahasa pemrograman guna
membuat sebuah halaman web. HTML digunakan pada sistem ini karena lebih fleksibel
sehingga dapat digunakan pada berbagai macam sistem operasi. HTML disini sebagai
fondasi sistem untuk membuat header, navigasi, footer, form, tampilan gambar,
informasi dalam bentuk tabel, tulisan dan berbagai jenis kebutuhan web.
HTML digunakan karena mudah diakses oleh pembuat dengan fitur – fitur yang

ditawarkan oleh HTML dalam pembuatan web dalam bentuk tag seperti ,
dan . Sehingga akan sangat memudahkan dalam proses pembuatan web
tersebut. Selain itu hampir semua browser mendukung HTML dalam bahasa
pemrograman web dan mendukung perangkat smartphone untuk mengaksesnya.

2

2.6. Javascript
JavaScript adalah bahasa yang digunakan untuk membuat halaman web yang
ditampilkan menjadi lebih interaktif. JavaScript pada web digunakan untuk memanggil
fungsi – fungsi dalam bentuk script yang akan membantu proses penyempurnaan web
seperti fungsi validasi. Fungsi validasi membatu saat user ingin melakukan login akan
dicek apakah valid atau tidak. Kemudian saat memanggil fungsi, maka perintah yang
ada dalam fungsi tersebut akan dijalankan.

2.7 Cascading Style Sheet[6]
Cascading Style Sheet (CSS) digunakan untuk mengatur komponen - komponen
dalam sebuah web sehingga akan lebih terstruktur dan seragam. CSS dapat
mengatur ukuran gambar, warna pada teks, ukuran border, warna border, dan parameter
yang diperlukan untuk mempercantik tampilan web. Dengan adanya CSS, halaman dan

tampilan web akan mudah dibedakan, sehingga pembuatan halaman web yang banyak
akan lebih cepat.
Pada pembuatan web disini CSS berfungsi untuk membuat tempilan menjadi
lebih menarik. Seperti saat melakukan login tampilan terasa lebih bagus dengan ada
warna dan bentuk tulisan yang cocok serta ukuran yang tidak terlalu besar dan cukup
untuk memasukkan username dan password. Seperti ditampilkan pada Gambar 2.1.

Gambar 2.1. Halaman Login

2.8 Analisis sentimen
Analisis sentimen merupakan sebuah sistem untuk mengelompokkan polaritas
dari teks yang berada dalam sebuah dokumen atau kalimat dan menentukan apakah

3

pendapat yang berada dalam dokumen atau kalimat tersebut bersifat positif, negatif atau
netral.
2.9 Support Vector Machine (SVM)[3]
Konsep SVM merupakan sebuah metode untuk mencari hyperplane terbaik yang
berfungsi sebagai pemisah dua buah class. Gambar 2.2.a memperlihatkan beberapa

pattern yang terbagi dalam dua buah class : +1 dan –1. Pattern yang tergabung pada
class –1 yang digambarkan dengan kotak berwarna merah, dan pattern pada class +1,
digambarkan dengan lingkaran berwarna kuning. Masalah mengklasifikasi merupakan
suatu cara untuk mencari garis (hyperplane) yang membedakan antara kedua kelompok
tersebut. Berbagai alternatif garis pemisah ditunjukkan pada Gambar 2.2.a. Hyperplane
dapat ditemukan dengan mencari margin hyperplane tersebut dan mencari titik paling
tingginya. Margin adalah jarak yang paling dekat antara hyperplane terdekat dari
masing - masing class. Garis solid pada Gambar 2.2.b menunjukkan hyperplane yang
paling bagus, yaitu yang berada diantara kedua class, kemudian titik merah dan titik
kuning di dalam lingkaran hitam disebut support vector.

(b)

(a)

Gambar 2.2.b. SVM Berusaha Menemukan Hyperplane Terbaik yang
Memisahkan Kedua Class –1 dan +1 [3]
Data – data yang ada disimbolkan dengan

dengan masing – masing label


disimbolkan untuk dimana l merupakan jumlah data. Dianggap kedua class –1 dan +1
dapat berhasil dipisah secara sempurna oleh hyperplane dengan dimensi yang
disimbolkan d, yang dijabarkan sebagai
(1)

4

Pattern

yang termasuk class –1 dianggap sebagai pattern yang memenuhi

pertidaksamaan
(2)
sedangkan pattern termasuk class +1 memenuhi pertidaksamaan
(3)
Margin yang paling besar akan didapatkan dengan menambahkan jarak antara
hyperplane dengan titik terdekatnya, yaitu . Sehingga dapat dirumuskan sebagai
masalah Quadratic Programming (QP), yang berarti mencari titik minimal persamaan
4, dengan memperhatikan constraint persamaan 5.

(4)
(5)
Masalah ini dapat diatasi dengan berbagai cara seperti menggunakan Lagrange
Multiplier.

(6)
adalah Lagrange multipliers, yang bernilai nol atau positif . Nilai paling bagus
dari persamaan 6 dapat dilihat dengan mengurangi nilai L terhadap

dan , dan

menambahkan nilai L terhadap . Dengan melihat sifat bahwa pada titik paling bagus
gradient L =0, persamaan 6 dapat diubah sebagai maksimalisasi masalah yang hanya
memiliki nilai saja, sebagaimana persamaan 7 di bawah.
Maksimasi :
(7)
Menggunakan constraint :
(8)
Untuk mengatasi masalah diatas, maka digunakanlah sebuah sistem LOQO
dengan hasil berupa nilai . Dari hasil perhitungan tersebut diperoleh yang biasanya

bernilai positif. Data yang berhubungan dengan yang positif inilah yang sering disebut
sebagai support vector.
Penjelasan di atas berdasarkan anggapan jika kedua class dapat dipisah secara
sempurna oleh hyperplane. Tetapi pada dasarnya, umumnya dua buah class pada input
space tidak dapat terpisah secara sempurna (non-linear separable). Sehingga
menyebabkan persamaan 5 tidak dapat terpenuhi, maka optimisasi tidak bisa dilakukan.

5

Untuk menyelesaikan masalah ini, SVM dirumuskan ulang dengan menggunakan teknik
softmargin.
Dalam softmargin, persamaan 5 diubah dengan memasukkan slack
Variable :
(9)
Maka persamaan 6 berubah menjadi:
(10)
Nilai paramater C akan dipakai untuk mengecek tradeoff antara margin dan error
klasifikasi . Nilai C yang semakin besar akan membuat penalti juga semakin besar
terhadap error tersebut[3].
2.10. LIBSVM[10]

LIBSVM adalah sebuah library yang digunakan oleh SVM untuk memudahkan
menggunakan SVM. LIBSVM mencakup beberapa bagian seperti: C- Support Vector
Classification (C-SVC), Nu-Support Vector Classification ( v-SVC), Distribution
Estimation (one class SVM), €- Support Vector Regression (€-SVR), dan Nu-Support
Vector Regression (v- SVR).

2.11. Kernel

Pada dasarnya proses pengklasifikasian memerlukan penyelesaian yang lebih
kompleks dibanding fungsi linier misalnya dengan fungsi polynomial, eksponensial,
atau fungsi periodik. Disini kernel memberikan sebuah solusi dengan memproyeksikan
data ke dalam ruang dimensi yang lebih tinggi. Dimensi di sini merupakan sebuah ruang
dimensi vektor w berada, yang akan mempengaruhi besar nilai n. Proses pemetaan ke
ruang dimensi yang lebih tinggi dilakukan untuk memetakan input ke ruang dimensi
yang baru sehingga dapat dipisahkan oleh suatu vektor sederhana.

2.12. Estimasi Parameter

6


Proses pelatihan dengan SVM akan menghasilkan sebuah nilai akurasi yang sangat
dipengaruhi oleh fungsi kernel serta parameter yang digunakan. Maka dari itu proses
pelatihan dapat dioptimasi dengan mencari sebuah parameter terbaik.
K-folds cross validation merupakan salah satu cara yang dapat digunakan untuk
menentukan nilai parameter C dan parameter kernel yang tidak overfit saat data pelatihan.
Dengan metode ini, data akan diambil secara acak yang kemudian dibagi menjadi k buah
partisi dengan ukuran yang sama. Kemudian dilakukan iterasi sebanyak k. Sehingga akan
didapat beberapa nilai parameter terbaik yang ditentukan melalui k-folds cross validation.
2.13. Contoh perhitungan SVM
Berikut ini contoh perhitungan matematis sederhana untuk menentukan
hyperplan
Tabel 2.1. Tabel Dataset
x1
1
1
-1
-1

7


x2
1
-1
1
-1

Kelas (y)
1
-1
-1
-1

Gambar 2.3. Gambar Penerapan Dataset pada Kartesius
Karena ada dua fitur (x1 dan x2), maka w juga akan memiliki 2 fitur (w1 dan w2).
Formulasi yang digunakan adalah sebagai berikut :


Meminimalkan nilai :



Syarat :

Karena ada dua fitur (x1 dan x2), maka w juga akan memiliki 2 fitur (w1 dan w2).
Formulasi yang digunakan adalah sebagai berikut :


Meminimalkan nilai margin :



Syarat :

Sehingga didapatkan beberapa persamaan berikut
1.
2.
3.
4.
Didapatkan beberapa persamaan berikut :
1.
2.
3.

8

4.


Menjumlahkan persamaan (1) dan (2) :



Menjumlahkan persamaan (1) dan (3) :



Menjumlahkan persamaan (2) dan (3) :

Sehingga didapatkan persamaan hyperplane :

Gambar 2.4. Gambar Garis Hyperplan Terbaik

2.14. Contoh Pengklasifikasian Kata
Proses pengklasifikasian kata sangat penting untuk dilakukan karena dengan
melakukan pengklasifikasian kata maka SVM dapat menggunakannya untuk diolah.
Contoh disini akan digunakan pengklasifikasian terhadap 2 jenis sifat yaitu positif dan

9

negatif. Tujuannya adalah untuk memprediksi apakah kalimat berikut ini termasuk positif
atau negatif.
Misal dimiliki beberapa kalimat seperti berikut ini:
1. Kost disini baik
2. Kost ini sangat jelek
3. Kost ini kelihatan baik dari luar tetapi sangat jelek kalau sudah didalam
4. Tempat kost ini memiliki fasilitas yang jelek dan pelayanannya pun jelek

Kemudian kita dapat memberikan bobot +1 jika kita pikir seharusnya kalimat di
atas bersifat positif dan memberikan bobot -1 jika bersifat negatif. Sehingga menjadi:
1. Kost disini baik, +1
2. Kost ini sangat jelek, -1
3. Kost ini kelihatan baik dari luar tetapi sangat jelek kalau sudah didalam, -1
4. Tempat kost ini memiliki fasilitas yang jelek dan pelayanannya pun jelek, -1

Lalu kata baik dan jelek diberikan label, 1 untuk baik dan 2 untuk jelek dan dilihat
banyaknya kemunculan dalam satu kalimat sehingga menjadi:
1. +1 1:1
2. -1 2:1
3. -1 1:1 2:1
4. -1 2:2

Sehingga data tersebut yang akan digunakan SVM sebagai bahan pembelajarannya.

10

Dokumen yang terkait

FREKWENSI PESAN PEMELIHARAAN KESEHATAN DALAM IKLAN LAYANAN MASYARAKAT Analisis Isi pada Empat Versi ILM Televisi Tanggap Flu Burung Milik Komnas FBPI

10 189 3

SENSUALITAS DALAM FILM HOROR DI INDONESIA(Analisis Isi pada Film Tali Pocong Perawan karya Arie Azis)

33 290 2

Analisis Sistem Pengendalian Mutu dan Perencanaan Penugasan Audit pada Kantor Akuntan Publik. (Suatu Studi Kasus pada Kantor Akuntan Publik Jamaludin, Aria, Sukimto dan Rekan)

136 695 18

DOMESTIFIKASI PEREMPUAN DALAM IKLAN Studi Semiotika pada Iklan "Mama Suka", "Mama Lemon", dan "BuKrim"

133 700 21

Representasi Nasionalisme Melalui Karya Fotografi (Analisis Semiotik pada Buku "Ketika Indonesia Dipertanyakan")

53 338 50

KONSTRUKSI MEDIA TENTANG KETERLIBATAN POLITISI PARTAI DEMOKRAT ANAS URBANINGRUM PADA KASUS KORUPSI PROYEK PEMBANGUNAN KOMPLEK OLAHRAGA DI BUKIT HAMBALANG (Analisis Wacana Koran Harian Pagi Surya edisi 9-12, 16, 18 dan 23 Februari 2013 )

64 565 20

PENERAPAN MEDIA LITERASI DI KALANGAN JURNALIS KAMPUS (Studi pada Jurnalis Unit Aktivitas Pers Kampus Mahasiswa (UKPM) Kavling 10, Koran Bestari, dan Unit Kegitan Pers Mahasiswa (UKPM) Civitas)

105 442 24

Analisis Penyerapan Tenaga Kerja Pada Industri Kerajinan Tangan Di Desa Tutul Kecamatan Balung Kabupaten Jember.

7 76 65

DAMPAK INVESTASI ASET TEKNOLOGI INFORMASI TERHADAP INOVASI DENGAN LINGKUNGAN INDUSTRI SEBAGAI VARIABEL PEMODERASI (Studi Empiris pada perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia (BEI) Tahun 2006-2012)

12 142 22

Diskriminasi Daun Gandarusa (Justicia gendarrusa Burm.f.) Asal Surabaya, Jember dan Mojokerto Menggunakan Metode Elektroforesis

0 61 6