• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2018

Membagikan "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"

Copied!
10
0
0

Teks penuh

(1)

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.

(2)

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.

(3)

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 ukurangambar, 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

(4)

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.

(a) (b)

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

(5)

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 : 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

(6)

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.

(7)

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 x2 Kelas (y)

1 1 1

1 -1 -1

-1 1 -1

(8)

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.

(9)

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

(10)

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

Gambar

Gambar 2.1. Halaman Login
Gambar 2.2.b. SVM Berusaha Menemukan Hyperplane Terbaik yang
Tabel 2.1. Tabel Dataset
Gambar 2.3. Gambar Penerapan Dataset pada Kartesius
+2

Referensi

Dokumen terkait

Setiap film memiliki esensi yang berbeda-beda, akan tetapi tujuan dalam pembuatan film sendiri agar pesan yang ingin disampaikan kepada penonton dapat ditangkap dan

ANALISIS PERCAKAPAN PADA INTERAKSI FRONT OFFICE DENGAN PASIEN DALAM PELAYANAN ADMINISTRASI REKAM MEDIK RSGM.. Universitas Pendidikan Indonesia | repository.upi.edu

Simpulan berdasarkan hasil penelitian dapat disimpulkan bahwa penggunaan tepung gathot (ketela terfermentasi) dalam ransum ayam broiler tidak memberikan pengaruh terhadap

[r]

Dengan mengelola arsip digital memungkinkan lembaga pengelola arsip memastikan informasi yang disimpan dapat format digital dapat diakses oleh masyarakat sampai kapanpun

Oleh sebab pasaran organisasi menggunakan produk yang terdiri daripada bahan mentah hinggalah ke produk siap, maka klasifikasi jenis produk adalah perlu untuk memudahkan proses

Harapan kami semoga makalah ini dapat menjadi suatu bahan pembelajaran bagi kami terkait dengan pemahaman manajemen sumber daya manusia, dan juga kami berharap makalah ini dapat

Perancangan dilakukan pada luas kamar 3x3 (9 meter persegi) sebagai luas minimal dari hasil kuesioner supaya furniture yang dirancang dapat menempati luas kamar yang lebih besar