You are on page 1of 29

BAB 2

TINJAUAN PUSTAKA
2.1.

Artificial inteligence
Menurut Russell dan Norvig (2010), AI atau kecerdasan buatan dibagi ke
dalam beberapa aspek dimensi yang direpresentasikan sebagai 4 jendela, pada
aspek pertama pada baris 1 berkaitan dengan bagaimana proses berpikir dan
memberikan sebuah pendapat, lalu aspek kedua pada baris 2 berkaitan dengan
tingkah perilaku, pada baris kolom 1 berfokus tentang hal humanisme /
manusiawi, kemudian pada kolom 2 berkaitan tentang hal rasionalitas. Berikut
representasi yang terbagi menjadi 4 aspek penting:

Humanisme

Rasionalitas

Proses
Berpikir

Tingkah
Perilaku
Gambar 2.1 Kategorisasi Kecerdasan Buatan
( Russell
dan Norvig,
2010) tersebut dapat diambil kesimpulan yaitu bahwa
Berdasarkan
representasi
kecerdasan buatan terbagi menjadi 4 kategori utama yaitu, bagaimana sebuah
sistem dapat berpikir layaknya seperti manusia pada umumnya dapat memahami
suatu pola permasalahan dan bisa memberikan solusi atas permasalahan, lalu
bagaimana sebuah sistem yang ada dapat berpikir secara rasional berdasarkan
komputasi - komputasi tertentu yang memberikan hasil yang valid dan
tepercaya.
Sebuah sistem dalam kecerdasan buatan dituntut untuk mampu bertindak
seperti manusia dan harus memiliki beberapa kapabilitas yang memenuhi standar
untuk menciptakan sebuah sistem dengan kecerdasan buatan yang baik, berikut

10
beberapa contoh implementasi bidang yang menjadi kewajiban kapabilitas yang
harus dipenuhi dari sebuah sistem kecerdasan buatan:

Natural Language Processing : melalui bidang ini sistem diharapkan


mampu melakukan komunikasi dalam bahasa apapun yang digunakan oleh

manusia.
Knowledge representation : sistem diharapkan untuk bisa menyimpan
berbagai informasi yang akan digunakan dalam sebuah proses inti dalam

kecerdasan buatan.
Automated Reasoning : sistem dapat menggunakan informasi yang sudah
disimpan untuk menjawab sebuah pertanyaan yang diberikan atau

merancang sebuah kesimpulan yang baru.


Machine Learning : sistem yang memiliki kemampuan untuk beradaptasi
dengan suatu keadaan yang baru dan menciptakan pola baru yang
digunakan untuk penyelesaian suatu permasalahan.

2.2.

Machine learning
Menurut Shwartz dan David (2014) Machine Learning merupakan sebuah
studi tentang algoritma untuk mempelajari sesuatu dalam melakukan beberapa
hal tertentu yang dilakukan oleh manusia secara otomatis. Belajar dalam hal ini
berkaitan dengan bagaimana menuntaskan berbagai tugas yang ada, atau
membuat suatu prediksi kesimpulan baru yang akurat dari berbagai pola yang
sudah dipelajari sebelumnya.
Machine Learning merupakan salah satu bidang yang termasuk dalam
kecerdasan buatan yang dapat mempengaruhi berbagai aspek yang lain yaitu
statiska, matematika dan berbagai aspek teoritikal dari komputer sains. Pada
dasarnya Machine Learning memiliki tujuan untuk mempelajari sebuah
algoritma untuk melakukan sistem belajar secara otomatis dengan kontribusi
yang sangat minimal yang dilakukan oleh manusia pada umumnya.
Berikut beberapa contoh implementasi dari Machine Learning yang pada
umumnya diterapkan :

Face Detection

: Sebuah sistem yang mampu mengenali wajah dari

seseorang untuk memberikan representasi identitas dari orang tersebut.

11

Spam Filtering

Sebuah sistem yang memiliki kemampuan untuk

melakukan penyaringan sebuah pesan apakah termasuk spam atau non

spam.
Customer Segmentation

: Sebuah sistem yang melakukan sebuah

prediksi pola perilaku konsumen yang berguna bagi produsen untuk


implementasi dan pengaturan biaya dalam hal tertentu misalnya bidang
pemasaran.
Machine Learning terbagi menjadi 2 macam konsep pembelajaran, yaitu
pertama Supervised Learning yang merupakan teknik pembelajaran mesin yang
membuat suatu fungsi berdasarkan data latihan yang sudah ada, dalam hal ini
dapat dikatakan untuk teknik ini sudah tersedia data latihan secara detil dan
terklasifikasi dengan baik yang akan dijadikan sebuah model data saat dilakukan
proses ujicoba dengan data tes yang baru dan menghasilkan hasil keluaran yang
sesuai diharapkan sebelumnya berdasarkan data latihan yang ada. Kedua adalah
Unsupervised Learning yang merupakan teknik pembelajaran mesin yang
berusaha untuk melakukan representasi pola sebuah input yang berasal dari data
latihan dan salah satu yang menjadi perbedaan dengan Supervised Learning
adalah tidak adanya pengklasifikasian dari input data. Dalam Machine Learning
teknik Unsupervised Learning menjadi esensial karena sistem kerja yang
diberikan sama dengan cara kerja otak manusia dimana dalam proses
pembelajaran tidak ada role model atau informasi dan contoh yang tersedia
untuk dijadikan sebagai model dalam melakukan proses ujicoba untuk
penyelesaian sebuah masalah dengan data yang baru.
Berikut beberapa contoh algoritma dari konsep pembelajaran Supervised
Learning dan Unsupervised Learning menurut Vishwanathan dan Smola (2010):
a. Supervised Learning

Logistic Regression : merupakan suatu teknik statistik yang juga


digunakan untuk penyelesaian masalah dengan menghasilkan sebuah
prediksi variabel baru berdasarkan beberapa variabel yang sudah ada dan
ditentukan sebelumnya dan mencari hubungan keterkaitan antara variabel
input data variabel yang sudah ditentukan dengan variabel output atau
variabel prediksi yang baru.

12

K-Nearest Neighbors Algorithm (KNN) : merupakan sebuah metode yang


digunakan dalam penyelesaian masalah klasifikasi sebuah objek dengan
melakukan implementasi feature space dimana sebuah objek yang
menjadi data training dan

dijadikan sebuah model data diberikan

pembobotan nilai dan direpresentasikan ke dalam n-dimensional vektor.


Kemudian penyelesaian masalah dilakukan dengan mengukur jarak
terdekat objek baru dengan model data yang ada di dalam n-dimensional
vektor lalu dilakukan proses pemberian sebuah kategori pada objek baru
tersebut.
b. Unsupervised Learning

Clustering : suatu metode pembentukan pola dasar dari sebuah objek


yang digunakan untuk melakukan penyelesaian permasalahan dalam
kasus machine learning seperti klasifikasi atau kategorisasi objek ke
dalam sebuah kelas / kategori. Terbentuknya pola dasar ini dilakukan
dengan menggunakan beberapa feature yang ditentukan dan hal ini
dilakukan karena data yang dijadikan sebagai model data belum
terdefinisi kelompok datanya sehingga tidak bisa menentukan klasifikasi
sebuah objek, setelah mendapatkan pola dasar yang terbentuk kemudian
dapat dijadikan sebuah model data dan dijadikan data training dalam
kasus kategorisasi objek baru.

2.3.

Natural language processing (NLP)


Menurut Chopra, Prashar dan Sain (2013) Natural Language Processing
merupakan salah satu cabang dari ilmu kecedasan buatan yang dapat melakukan
proses penerjemahan antara komputer dengan bahasa manusia. Metode tersebut
digunakan dalam komputer untuk dapat memahami dalam membaca suatu baris
dari kumpulan kata tanpa memberikan sebuah petunjuk atau bahan belajar bagi
komputer dalam melakukan proses kalkulasi penerjemahan.
Sistem Natural Language Processing atau NLP memiliki sebuah input data
berupa kumpulan dari beberapa kata yang menjadi sebuah kalimat dan akan
menghasilkan representasi yang terstruktur dengan tujuan untuk mencari sebuah
makna dari input data yang diberikan dan makna yang dihasilkan dari proses
tersebut dijadikan sebagai data output.

13
Terdapat beberapa langkah yang digunakan dalam melakukan proses Natural
Language Processing yaitu :

Morphological and Lexical Anaysis


Merupakan proses yang dapat melakukan sebuah analisis dan identifikasi
struktur morfologi dari sebuah kata, dan digunakan untuk melakukan
pembagian sebuah teks menjadi sebuah paragraf, kumpulan kata - kata,
atau sebuah kalimat.

Syntactic Analysis
Merupakan sebuah proses analisis terhadap kumpulan kata - kata yang
ada di dalam sebuah kalimat untuk mengidentifikasi struktur gramatikal
yang terkandung dalam kalimat tersebut. Pada proses ini sebuah
kumpulan kata dilakukan proses transformasi menjadi sebuah struktur
yang dapat menggambarkan bagaimana kumpulan kata saling memiliki
keterkaitan antara kata yang lain.

Semantic Analysis
Merupakan proses yang digunakan untuk melakukan proses pengecekan
akhir dalam hal memeriksa kebenaran makna yang telah diberikan pada
setiap kata yang ada pada proses sebelumnya, dalam proses ini dilakukan
proses pengkoreksian relasi dan kesesuaian dengan berbagai kata yang
lainnya.

Discourse Integration
Makna dari sebuah kalimat bergantung kepada kumpulan kata yang ada
di dalam kalimat tersebut, misalnya Dia menginginkan itu kata itu
sangat bergantung pada konteks kalimat itu sendiri atau kalimat yang
lain.

Pragmatic Analysis
Merupakan sebuah proses untuk melakukan pemisahan atau penurunan
terhadap suatu kalimat yang ada untuk menghasilkan suatu interpretasi
makna yang sesuai, misal : closethewindow? seharusnya memiliki
intepretasi makna yang bersifat permintaan dibanding dengan sebuah
perintah.

2.4.

Automatic text classification

14
Automatic Text Classification merupakan salah satu cabang dari kecerdasan
buatan yang bertugas untuk melakukan proses pengelompokkan sebuah teks atau
dokumen ke dalam sebuah kategori atau topik tertentu yang sudah ditentukan.
Menurut Ikonomakis, Kotsiantis, dan Tampakas (2005) Automatic Text
Classification termasuk didalamnya yaitu klasifikasi teks berdasarkan topik dan
genre teks. Secara umum proses klasifikasi sebuah teks merupakan sebuah
proses yang mengelompokkan sebuah teks yang baru dengan menggunakan teks
yang sudah memiliki kategori untuk menjadi komparasi terhadap teks yang akan
dikelompokkan.
Menurut Ikonomakis, Kotsiantis, dan Tampakas (2005) terdapat alur proses
dari klasifikasi teks secara umum sebagai berikut:

Gambar 2.2 Proses Klasifikasi Teks


(Ikonomakis, Kotsiantis, dan Tampakas, 2005)
Terdapat 2 bagian penting dari proses klasifikasi sebuah teks yaitu
Preprocess dan Process Data. Pada Preprocess Data terdapat proses stemming
yang bertugas untuk menghilangkan imbuhan pada kata - kata yang ada di
dalam sebuah teks. Kemudian terdapat proses delete stopwords yang bertugas
untuk menghilangkan kata - kata yang tidak memiliki makna sama sekali di
dalam sebuah dokumen yang ada seperti kata hubung (dan, ini, itu, tetapi dll.),
atau kata depan dan sejenisnya.
Kemudian pada bagian Process Data terdapat proses Vector Representation
of Text yang memiliki tugas untuk membentuk sebuah feature dimana dapat
digunakan untuk pembentukan sebuah model data yang akan dijadikan bahan
komparasi dengan teks baru yang belum diberikan sebuah kategori.
Pembentukan sebuah feature terdiri dari berbagai macam bentuk mulai dari yang
bersifat leksikal yang tidak memperhatikan pola kalimat sebuah teks dan

15
semantik serta sintaktis yang membentuk feature berdasarkan adanya hubungan
tertentu antar suatu kata dengan kata yang lain yang dapat dijadikan sebuah
feature pembanding di dalam sebuah matriks dokumen yang terbentuk antara
dokumen yang akan dijadikan sebuah model dengan feature - feature yang
sudah terbentuk.
Proses selanjutnya adalah feature selection yang merupakan sebuah proses
yang membantu untuk memilih feature - feature yang memberikan pengaruh
yang banyak dalam proses klasifikasi, hal ini bertujuan untuk mengurangi
tingkat komputasi yang tinggi dari sebelumnya memiliki feature yang kurang
memberikan peran yang banyak menjadi lebih ringkas.
Pada tahap berikutnya adalah pembentukan model data dan melakukan proses
klasifikasi teks dengan menggunakan algoritma dari Machine Learning untuk
diujicobakan dengan data yang baru. Proses yang sama dilakukan saat menerima
data yang baru yaitu dengan melakukan pembentukan sebuah feature kemudian
dilakukan proses feature selection lalu pada tahap selanjutnya melalui
implementasi algoritma Machine Learning akan terjadi adanya perhitungan dan
komparasi antar dua set data yaitu model data dengan data yang baru yang
kemudian akan keluar hasilnya berupa dokumen yang terklasifikasi.

2.5.

Algoritma stemming
Algoritma Stemming yang digunakan adalah algorima Stemming Nazief dan
Adriani yang dicetus oleh Nazief dan Adriani yang merupakan dosen dari
Universitas Indonesia yang memberikan berbagai pemahaman dan penelitian
baru tentang algoritma Stemming dan dideskripsikan pertama kali dalam sebuah
laporan teknikal yang tidak dibuka secara umum di media Internet. Cara kerja
dari algoritma ini adalah menggunakan aturan morfologi untuk menghilangkan
awalan dan akhiran dari sebuah kata lalu menggunakan basis data kata dasar
untuk menjadi perbandingan apakah sudah sama antara kata yang ingin
dilakukan proses stem dan yang ada di basis data kata dasar.

16
Fokus utama dari algoritma ini adalah adanya penggunaan basis data kata
dasar dalam Bahasa Indonesia semakin lengkap daftar kata yang tersedia maka
semakin tinggi hasil akurasi yang diberikan jika menggunakan algoritma ini.
Berikut langkah - langkah dalam penggunaan algoritma Nazief dan Adriani :
1. Melakukan proses pengecekan kata yang ingin dilakukan proses stem
dalam basis data kata dasar, jika kata tersebut ditemukan di dalam basis
data tersebut maka proses algoritma berhenti dan mengambil asumsi
bahwa kata tersebut merupakan kata dasar yang sudah dihilangkan
berbagai imbuhan yang ada.
2. Melakukan proses pembuangan Infection Suffixes (-lah, -kah, -ku,
-mu, atau -nya). Jika berupa particles (-lah, -kah, -tah atau pun) maka langkah ini diulangi lagi untuk menghapus Possesive
Pronouns (-ku, -mu, atau -nya) apabila ada.
3. Melakukan pembuangan Derivation Suffixes (-i, -an atau -kan),
kemudian melakukan pengecekan kata dalam basis data kata dasar, jika
kata ditemukan maka algoritma berhenti, jika tidak maka ke langkah 3a :
a)
Jika -an telah dihapus dan huruf terakhir dari kata tersebut
adalah -k, maka -k juga ikut dihapus. Jika kata tersebut ditemukan
dalam kamus maka algoritma berhenti. Jika tidak ditemukan maka
lakukan langkah 3b.
b)
Akhiran yang dihapus (-i, -an atau -kan) dikembalikan,
lanjut ke langkah 4
4. Menghilangkan Derivation Suffixes {di-,ke-,se-,me-,be-,pe,
te-} dengan perulangan maksimum 3 kali :
a)
Langkah 4 berhenti jika :
Terjadi kombinasi awalan dan akhiran yang terlarang seperti

pada Tabel 1.3.


Awalan yang dideteksi saat ini sama dengan awalan yang

dihilangkan sebelumnya.
Tiga awalan telah dihilangkan.

17

Gambar 2.3 Kombinasi Awalan Akhiran yang Tidak Diijinkan


(Keke, Chikita dan Prayogo ,2012)

Melakukan identifikasi dan menghilangkan tipe awalan.

b)

Awalan memiliki berbagai tipe yaitu:


Standar: di-, ke-, se- yang dapat langsung dihilangkan

dari kata.
Kompleks: me-, be-, pe, te- adalah tipe-tipe awalan
yang

dapat

bermorfologi

sesuai

kata

dasar

yang

mengikutinya. Oleh karena itu, gunakan aturan pada Tabel


1.4 untuk mendapatkan pemenggalan yang tepat.

Gambar 2.4 Aturan Pemenggalan Awalan


(Keke, Chikita dan Prayogo ,2012)

18

c) Melakukan pencarian kata yang telah dihilangkan awalannya dalam


basis data kata dasar apabila tidak ditemukan maka langkah 4
diulangi kembali. Apabila ditemukan maka algoritma dihentikan.
5. Melakukan proses Recoding atau adanya pengubahan kata yang ingin
dilakukan proses stem atau penambahan karakter sesuai dengan kaedah
dalam Bahasa Indonesia.
6. Jika semua langkah telah dilakukan dan input kata yang ada tetap tidak
juga berhasil maka kata tersebut diasumsikan menjadi kata dasar dan
proses algoritma ini selesai.

2.6.

Stopwords
Pada proses Stopwords, kata - kata yang termasuk kata depan, kata hubung

dan sejenisnya akan dihilangkan, hal ini dikarenakan agar dapat melakukan
transformasi sebuah feature yaitu N-Gram dan juga menghilangkan noise data
sehingga komputasi menjadi lebih cepat. Berikut hasil modifikasi setelah sebuah
kalimat melakukan proses Stopwords :

Melakukan pembuangan kata hubung seperti : dan, tetapi, jika dll dan juga
kata - kata yang tidak berhubungan dan tidak memiliki makna seperti: loh,

2.7.

nah, noh, bener, lo, gue dll.


Contoh :
Ternyata memang Andi suka sepakbola sejak lama
Menjadi :
andi suka sepakbola
Bag of concept
Metode representasi feature dengan konsep Bag Of Concepts (BOC)

merupakan pengembangan yang baru dari konsep transformasi yang sudah ada
sebelumnya yaitu menggunakan konsep Bag Of Word model. Bentuk
representasi feature ini mengambil fokus tentang sebuah makna yang
terkandung pada suatu kata dan merupakan gabungan dari beberapa kata yang
ada di dalam sebuah dokumen yang memiliki makna atau arti yang sama.

19
Hal yang perlu dilakukan untuk menerapkan konsep transformasi feature ini
adalah dengan melakukan penjumlahan dari tiap - tiap nilai vektor yang sudah
ada yang berasal dari perhitungan jumlah kata yang muncul dari tiap - tiap
dokumen.
Penggabungan kata - kata yang memiliki makna yang sama atau konsep BOC
menurut Tckstrm (2005) terbukti dapat diimplementasi dengan baik dalam
sistem temu kembali informasi meskipun konsep ini dapat dikatakan cukup
sederhana. Namun konsep ini memiliki kelemahan yaitu sama halnya dengan
konsep Bag Of Word (BOW) model dimana keterkaitan atau relasi kontekstual
yang ada dalam suatu kata tidak diperhitungkan sama sekali.

2.8.

N-Gram
N-Gram merupakan sebuah kata baru yang dihasilkan dari teknik
pemotongan sebuah String yang lebih panjang. Ciri khas yang dimiliki oleh
sebuah N-Gram adalah adanya beberapa kata yang bertumpang tindih dengan
kata yang lain sesuai dengan urutan dari susunan kata tersebut di dalam kalimat
(Permadi,2008).
Menurut Hanafi, Whidiana dan Dayawati (2009) menggunakan metode NGram merupakan pendekatan yang sangat sederhana dalam melakukan sebuah
proses kategorisasi teks dan dokumen serta keunggulan yang diberikan oleh
metode N-Gram adalah bahwa metode ini tidak terlalu sensitif akan adanya
kesalahan sebuah penulisan yang terdapat pada suatu dokumen yang akan
dilakukan proses kategorisasi namun kelemahan dalam penggunaan N-Gram
untuk dijadikan sebuah feature adalah adanya peningkatan jumlah feature yang
secara drastis pada matriks dokumen yang ada.
Implementasi N-Gram tidak hanya berbasiskan karakter per satuan huruf
namun juga bisa berbasis satuan kata. Indeks N pada N-Gram memberikan
representasi yang berbeda yaitu jika ukuran N = 1 disebut dengan Unigram, jika
ukuran N = 2 disebut dengan Bigram dan jika ukuran N = 3 disebut dengan
Trigram dst. Berikut contoh implementasi dari penggunaan metode N-Gram
berbasis kata dan karakter huruf :

Andi suka bermain sepakbola di lapangan Senayan


Unigram
:andi, suka, bermain, sepakbola, di, lapangan, senayan

20
Bigram

:andi

suka,

suka

bermain,

bermain

sepakbola,

sepakbola di, di lapangan, lapangan senayan


Trigram
:andi suka bermain, suka bermain sepakbola, bermain
sepakbola di, sepakbola di lapangan, di lapangan senayan

2.9.

Pemerintah
Unigram
Bigram
Trigram

: p, e, m, e, r, i, n, t, a, h
: pe, em, me, er, ri, in, nt, ta, ah
: pem, eme, mer, eri, rin, int, nta, tah

WEKA open source machine learning tool

Gambar 2.5 WEKA Graphical User Interface


WEKA merupakan sebuah perangkat lunak yang menerapkan berbagai
algoritma Machine Learning untuk melakukan beberapa proses yang berkaitan
dengan sistem temu kembali informasi atau Data Mining. Berikut beberapa fitur
unggulan yang dimiliki oleh WEKA yaitu :
a) Classification
Di dalam WEKA banyak algoritma yang mendukung untuk sebuah proses
klasifikasi sebuah objek serta dimudahkan dalam melakukan implementasi
secara langsung. User dapat melakukan load dataset, melakukan
pemilihan algoritma untuk klasifikasi, kemudian diberikan beberapa
representasi data yang mewakili hasil akurasi, tingkat kesalahan dari
proses klasifikasi.
b) Regression
Regression merupakan sebuah proses yang dapat melakukan suatu prediksi
terhadap berbagai pola yang sudah terbentuk sebelumnya yang dijadikan
sebagai model data, tujuan dari Regression adalah menciptakan suatu
variabel baru yang mewakili suatu representasi perkembangan data pada

21
masa yang akan datang. WEKA mendukung proses Regression dan
dimudahkan dengan User Interface/User Experience yang sederhana.
c) Clustering
Clustering merupakan salah satu cabang konsep dari Unsupervised
Method dari Machine Learning yang bertujuan untuk melakukan
pengelompokkan data dan juga menjelaskan hubungan / relasi yang ada
diantara data tersebut dan memaksimalkan kesamaan antar satu kelas/
cluster tetapi meminimumkan kesamaan antar kelas/ cluster. Clustering
digunakan untuk analisa suatu data dan diharapkan menghasil suatu
2.6 Fitursuatu
Visualisasi
WEKA
representasi data Gambar
yang mewakili
pola yang
terbentuk akibat relasi
yang ada antar data.
Di dalam WEKA tersedia beberapa pendekatan algoritma untuk
menangani permasalahan Clustering suatu data dan pada fitur ini juga
terdapat bagian kesimpulan dari proses Clustering data yang memberikan
secara garis besar perhitungan dan hasil yang diberikan dalam
implementasi algoritma Clustering.
d) Association Rules
Association Rule merupakan sebuah metode yang digunakan untuk
menemukan berbagai relasi antara banyaknya variabel yang terdapat di
dalam sebuah basis data dengan jumlah yang besar.
e) Visualization
WEKA memiliki fitur untuk memberikan sebuah representasi data
hasil sebuah proses Data Mining dalam bentuk gambar atau chart yang
juga dapat dilakukan pemilihan berbagai parameter yang mendukung
dalam membentuk representasi data yang ada dalam aplikasi WEKA.

f) Preprocessing Data

22
WEKA menyediakan fitur dalam hal Preprocessing data yaitu
Stemming dan Stopword Removal. Proses Stemming dan Stopword
Removal yang ada di dalam perangkat lunak WEKA berbasiskan Bahasa
Inggris, sehingga untuk implementasi bahasa diluar bahasa Inggris
diharuskan untuk melakukan proses Preprocessing Data diluar aplikasi
WEKA. Beberapa algoritma Stemming yang telah disediakan oleh WEKA
adalah Iterated Lovins Stemmer, Lovins Stemmer dan Snowball Stemmer.

Gambar 2.7 WEKA : Algoritma Stemming

23

2.10.

Naive bayes
Nave Bayes merupakan salah metode dari Machine Learning

yang

memanfaatkan konsep probabilitas dan konsep statistika untuk menghasilkan


sebuah prediksi atau variabel baru dalam suatu permasalahan. Algoritma Nave
Bayes pertama kali dikemukakan oleh Thomas Bayes pada tahun yang memiliki
tujuan agar bisa memberikan suatu prediksi probabilitas di masa depan
berdasarkan pola - pola serta pengalaman yang terbentuk sebelumnya. Nave
Bayes juga merupakan sebuah algoritma klasifikasi yang berakar pada Teorema
Bayes.
Menurut Natalius(2010) implementasi rumus dasar Teorema Bayes adalah
sebagai berikut :

Gambar 2.8 Teorema Bayes


Keterangan : Terdapat 2 kejadian yaitu A dan B terjadi secara terpisah.
Teorema Nave Bayes yang juga merupakan hasil kombinasi antara Teorema
Nave dan Teorema Bayes, maka dari itu perlu adanya suatu penambahan yang
dapat memberikan suatu kelas dari sampel data yang akan dilakukan analisis
yang kemudian pengembangan implementasi rumus dasar Naive Bayes menjadi
seperti berikut :

Gambar 2.9 Teorema Naive Bayes


Keterangan : terdapat variabel C yang mewakili suatu kelas, sementara
variabel F1....Fn mewakili berbagai karakteristik atau feature yang
dibutuhkan dalam proses klasifikasi suatu objek. Kesimpulan dari
implementasi rumus dasar Teorema Naive Bayes adalah bahwa peluang
masuknya suatu sampel data dengan memiliki berbagai karakteristik yang

24
ada dalam suatu kelas C (Posterior) merupakan peluang munculnya kelas C
(Sebelum masuknya sampe tersebut atau Prior), dikalikan dengan peluang
kemunculan karakteristik sampel data pada kelas C atau Likehood, dibagi
dengan peluang kemunculan dari berbagai karakteristik dari suatu data
secara global atau Evidence.
Berikut penulisan sederhana dari implementasi rumus dasar Teorema Naive
Bayes :

Gambar 2.10 Teorema Naive Bayes Versi Sederhana


Nilai yang terkandung di dalam Evidence adalah selalu tetap untuk setiap kelas
pada suatu data. Nilai - nilai yang mewakili Posterior yang nantinya akan
dilakukan proses perbandingan dengan nilai Posterior kelas yang lain untuk
menentukan hasil klasifikasi dari suatu sampel data.

2.11.

Support vector machine


Menurut Nugroho, Witarto, Handoko (2013), Support Vector Machine

merupakan suatu metode yang digunakan untuk menjalankan proses Pattern


Recognition, metode ini terbilang bukan metode terbaru lagi dalam machine
learning namun metode ini sangat penting dan sering digunakan dalam berbagai
riset teknologi. SVM merupakan salah satu metode Machine Learning yang
memiliki prinsip kerja Structural Risk Minimization yang bertujuan untuk
mencari sebuah Hyperplane atau pemisah antar 2 buah kelas pada suatu input
space. Berikut contoh implementasi pencarian Hyperplane terbaik antar 2 kelas
yang berbeda pada suatu input space:

25

Gambar 2.11 Hyperplane pada Support Vector Machine


Melalui representasi gambar tersebut dijelaskan bahwa pada gambar kiri
terdapat beberapa pattern yang terbentuk yang merupakan keanggotaan dari 2
buah kelas yang berbeda yaitu +1 dan -1. Beberapa pattern yang terbentuk yang
keanggotaannya oleh kelas -1 ditandai oleh warna merah (kotak), sementara
pattern milik kelas +1 ditandai oleh warna kuning(Lingkaran). Suatu proses
klasifikasi objek yang menggunakan metode Support Vector Machine berusaha
untuk mencari sebuah Hyperplane atau pemisah berupa garis yang memisahkan
antar kelas, berbagai Hyperplane yang terbentuk dalam representasi gambar
tersebut dinamakan Discrimination Boundaries.
Hyperplane atau pemisah yang terbaik dimana memisahkan antar kedua
kelompok kelas dapat diukur dengan mengukur margin atau jarak antara
Hyperplane yang terbentuk dengan pattern terdekat dari kedua kelas yang ada.
Pattern yang terdekat dengan garis pemisah atau Hyperplane disebut dengan
Support Vector. Pada representasi gambar kanan diperlihatkan bahwa adanya
garis solid yang menunjukkan Hyperplane terbaik yang terletak pada tengah tengah antara kedua kelas yang ada. Usaha untuk mencari garis pemisah atau
Hyperplane antar kedua kelas yang ada ini merupakan inti dari konsep metode
Support Vector Machine.

2.12.

Decision tree
Decision Tree merupakan sebuah metode klasifikasi dan pembentukan suatu

model prediksi dari suatu objek yang menggunakan struktur pohon atau struktur
hierarki.

Metode

klasifikasi

ini

memiliki

konsep

untuk

melakukan

26
penyederhanaan dari suatu proses permasalahan yang lebih kompleks dan rumit
menjadi lebih mudah untuk direpresentasikan oleh manusia sehingga
berpengaruh terhadap kemudahan dalam proses pengambilan sebuah keputusan.
Berikut contoh representasi gambar dari metode klasifikasi Decision Tree dan
terminologi yang menjelaskan representasi Decisiion Tree menurut Adityana
(2009) :

Gambar 2.12 Representasi Decision Tree


Keterangan :

Anak (Child atau Children) dan Orangtua (Parent)


b, c, dan d adalah anak dari simpul a dan a merupakan orangtua dari simpul
b, c, dan d
Lintasan
Lintasan dari simpul a ke j adalah a, b, e, j dan memiliki panjang lintasan
yaitu 3
Saudara Kandung (Sibling)
e dan merupakan sibling karena memiliki parent yang sama
Daun (Leaf Node)
Simpul yang tidak menjadi parent dari suatu Decision Tree.
Simpul Dalam
Simpul yang menjadi parent dan memiliki child yang ada dibawahnya

27

2.13. Implementasi programming


2.13.1. Postgresql
Postgresql merupakan sebuah sistem manajemen database objek
relasional yang juga bersifat open source dimana semua orang dapat
melakukan implementasi dari sistem basis data ini dan melakukan adanya
berbagai penambahan, melakukan modifikasi serta dapat didistribusi oleh
siapapun dan dengan tanpa biaya untuk tujuan tertentu.
Postgresql dikembangkan pertama kali oleh Professor Michael
Stonebraker pada tahun 1986 yang merupakan inisialisasi konsep
pengembangan yang pertama. Postgresql tetap terus berkembang seiring
berjalannya waktu dan tetap sebagai database relasional dengan memiliki
lisensi GPL(General Public License) dan hingga periode Januari 2016
Postgresql telah merilis versi terbarunya yaitu versi 9.5.0 dengan berbagai

a)
b)
c)
d)
e)

penambahan fitur baru serta adanya perbaikan secara major.


Beberapa fitur modern yang diberikan oleh Postgresql yaitu :
Complex Queries
Foreign Keys
Triggers
Transactional Integrity
Multiversion Concurrency Control
Postgresql juga memiliki dukungan terhadap teknologi basis data
pada versi yang lama dengan memberikan adanya penambahan fitur baru

a)
b)
c)
d)
e)
f)

pada beberapa hal yakni :


Data Type
Functions
Operators
Aggregate Function
Index Methods
Procedural Languages

2.13.2. Java spring MVC framework


Spring merupakan sebuah kerangka kerja yang menyediakan berbagai
infratruktur yang komprehensif didalam mengembangkan suatu aplikasi
maupun program yang berbasis bahasa pemrograman Java. Spring pada
implementasinya

memberikan

beberapa

keunggulan

dalam

hal

fleksibilitas yaitu dapat berjalan pada sistem berbasis JVM(Java Virtual


Machine) dimanapun, serta dalam pengembangan suatu aplikasi dapat
memberikan suatu proses build yang sederhana dan cepat pula.
Berikut beberapa fitur yang diberikan oleh Java Spring Framework :

28
a) Transaction Management : Pada Spring para developer diberikan
kemudahan berupa sebuah layer abstrak khusus yang generic dan
bertugas untuk manajemen sebuah transaksi.
b) JDBC Exception Handling : Para developer diberikan kemudahan dalam
menangani sebuah error dalam aplikasi, Spring memberikan sebuah layer
JDBC (Java Database Connectivity) abstrak.
c) Spring MVC Framework : Spring memberikan kemudahan dalam
pengembangan sebuah aplikasi MVC (Model View Controller), dan
Spring juga bersifat fleksibel dalam hal pengaturan sebuah interface dari
sebuah aplikasi, Spring mendukung beberapa teknologi untuk pengaturan
sebuah View yaitu JSP, Velocity, Thymeleaf Framework, iText dll.
Berikut beberapa arsitektur yang dimiliki oleh Spring Framework :
1. Spring ORM (Object Relational Management)
Berhubungan dengan koneksi dengan basis data dan menyediakan sebuah
layer terintegrasi dengan konsep ORM seperti Hibernate dan iBatis.
2. Spring AOP (Aspect Oriented Programming)
Berhubungan dengan penerapan sistem AOP dalam penggunaan
OOP(Object Oriented Programming)
3. Spring Web
Arsitektur ini merupakan bagian dari modul pengembangan Web Spring
termasuk di dalamnya terdapat Spring MVC
4. Spring DAO (Data Access Object)
Arsitektur ini mendukung adanya standarisasi dalam hal akses suatu data
dengan menggunakan beberapa teknologi akses data seperti JDBC,
Hibernate dan JDO (Java Data Object).
5. Spring Context
Spring mendukung

adanya

pengaturan

suatu

API

(Application

Programming Interface) dalam suatu aplikasi Java.


6. Spring Web MVC (Model View Controller)
Spring mendukung implementasi konsep MVC pada pengembangan
sebuah Web
7. Spring Core
Spring menyediakan fitur adanya pengaturan sebuah aplikasi dalam hal
Dependency Injection yang berarti adanya separasi pengaturan objek atau
komponen dan kelas yang akan diimplementasikan dalam sebuah aplikasi.

29

Gambar 2.13 Arsitektur Spring Framework


2.13.3. Spring boot starter project
Spring Boot merupakan salah satu kompilator yang menjadi bagian
terpenting dalam kerangka kerja dari Spring. Spring Boot dibentuk
bertujuan untuk melakukan proses kompilasi atau build production dari
projek yang telah dibuat didalam kerangka kerja Spring dengan mudah
dan cepat. Melalui Spring Boot juga tersedia fitur auto-configuration
untuk

pengaturan

beberapa

dependency

yang

diinginkan

untuk

pengembangan sebuah aplikasi.


Berikut representasi gambar untuk pengaturan secara otomatis dari
dependency yang diinginkan dalam membangun sebuah aplikasi melalui
kerangka kerja Spring:

Gambar 2.14 Konfigurasi Spring Boot


Dengan menggunakan implementasi dari Spring Boot ini sebuah
produksi aplikasi dapat dengan mudah dilakukan terutama saat
konfigurasi berbagai pengaturan dalam hal penambahan fitur yang
diinginkan.

30
2.13.4. Spring JDBC framework
Spring JDBC merupakan salah satu fitur yang dimiliki oleh kerangka
kerja Spring mengenai akses data ke suatu database. Penggunaan untuk
dapat melakukan hak akses terhadap suatu database terlebih dahulu harus
melakukan inisialisasi sebuah variabel yang mewakili database yang
diinginkan. Berikut representasi yang menunjukkan cara melakukan
sebuah inisialisasi Spring JDBC di dalam konfigurasi Spring Boot dan
dalam sebuah file XML :

Gambar 2.15 Konfigurasi JDBC dalam XML

GambarJDBC
2.16 Konfigurasi
dalam
Spring-Boot
Di dalam Spring
Framework JDBC
terdapat
4 package
utama yaitu
core, datasource, object, dan support.
Pertama, org.springframework.jdbc.core yang memiliki beberapa
kelas yang mendukung dalam hal implementasi untuk akses data menuju
sebuah database salah satunya yaitu JDBCTemplate. Kelas tersebut
secara langsung mendefinisikan query SQL secara sederhana yaitu
INSERT, UPDATE, DELETE dan berbagai sintaks query yang lain.
Kedua, org.springframework.jdbc.datasource yang memiliki peran
dalam mendefinisikan sebuah database yang ingin dilakukan proses akses
terhadap data yang ada didalamnya, contoh implementasi diperlihatkan
pada gambar 2.15.
Ketiga, org.springframework.jdbc.object

yang

berfungsi

untuk

menyediakan sebuah query yang bersifat store procedure artinya sebuah


kelompok query SQL yang disimpan pada sebuah katalog database dan
dapat dipanggil oleh sebuah aplikasi program dengan menggunakan
trigger tertentu.

31
Keempat,

org.springframework.jdbc.support

berperan

dalam

mendefinisikan SQLException yang mampu menangkap segala bentuk


error yang dihasilkan dari penggunaan sebuah query.

32
2.14.

Penelitian terkait
Terdapat beberapa penelitian yang telah dilakukan dalam hal transformasi

representasi teks yang dijadikan sebuah feature dalam proses klasifikasi sebuah
dokumen. Di dalam penelitian yang telah dilakukan terdapat berbagai macam
representasi feature yang digunakan untuk meningkatkan akurasi dalam proses
klasifikasi sebuah teks.
Berikut beberapa hasil penelitian dari para peneliti mengenai transformasi
feature sebuah teks:
1. Feature Selection on Chinese Text Classification Using Character
N-Grams
Penelitian ini dilakukan pada sebuah teks yang berbahasa Mandarin
dan dalam pembentukan feature N-Gram menggunakan sebuah korpus data
yang besar yaitu TanCorp data yang merupakan khusus dataset teks yang
menggunakan Bahasa Mandarin dengan lebih dari 14.000 teks yang ada di
dalamnya dan terbagi ke dalam 12 kelas. Hasil N-Gram yang dihasilkan
merupakan representasi yang dihasilkan dari teks yang berasal dari korpus
data yang sudah ada, menurut peneliti terdapat berbagai keuntungan yang
dihasilkan dalam penggunaan N-Gram yaitu tidak adanya segmentasi kata
dan tidak perlu adanya teknik dan kamus khusus yang dibutuhkan dalam
melakukan implementasi.
Menurut peneliti dalam proses transformasi sebuah teks menjadi NGram yang berasal dari korpus data yang besar akan menghasilkan berbagai
kemungkinan N-Gram yang besar tetapi akan hanya terdapat beberapa NGram yang memberikan nilai yang cukup signifikan dalam vektor
representasi teks dan memiliki kecenderungan berbeda yang sangat baik.
Peneliti telah melakukan 2 bentuk kontribusi dalam pembentukan N-Gram
yaitu pertama bagaimana memilih value yang dihasilkan dari tiap N-Gram
yang merepresentasikan teks berbahasa Mandarin, lalu yang kedua yaitu
memilih cara pembobotan nilai yang paling sesuai yang sudah ditentukan
sebelumnya.
Peneliti menerapkan sistem VSM (Vector Space Model) dimana setiap
dokumen akan direpresentasikan ke dalam sebuah Feature Space. Berikut
merupakan contoh tabel representasi dari suatu set dokumen dengan beberapa
feature:

33

keterangan :
Gambar 2.17 Matriks Dokumen
D1...Dn
= Documents
F1...Fn
= Feature N-Grams
Terdapat 2 bentuk representasi untuk menerapkan sistem VSM, yaitu
yang pertama melakukan perhitungan frekuensi dari tiap - tiap feature ke
dalam setiap masing - masing dokumen, yang kedua adalah menggunakan
boolean, apabila feature F1 muncul di dokumen D1 maka nilai yang muncul
adalah 1 sedangkan sebaliknya jika tidak ada akan menghasilkan nilai 0, dan
para peneliti menggunakan sistem yang pertama dengan menggunakan
frekuensi masing - masing feature.
Hasil dari penelitian ini menunjukkan bahwa dengan menggunakan 2Grams atau bigram merupakan feature terbaik untuk teks bahasa Mandarin,
dan dalam penelitian ini juga menerapkan kombinasi antar N-Gram dan
diperoleh hasil yang paling baik adalah kombinasi antara 1-, 2-, 3-, dan 4Gram, lalu kedua terbaik adalah 1-, 2-Grams, ketiga terbaik 2-Grams, dan
yang paling buruk menggunakan kombinasi 1-Grams saja. Sebagian besar
karakter dari Bahasa Mandarin adalah 1 atau 2 karakter saja dan beberapa
nama sains dalam Bahasa Mandarin mengandung lebih banyak karakter yang
menjadikan kombinasi antar N-Gram memberikan hasil akhir yang baik
dalam proses klasifikasi teks.

34

2. Using Bag of Concepts to Improve the Performance of Support Vector


Machines in Text Categorization
Penelitian ini bertujuan untuk menerapkan suatu pendekatan baru
dalam melakukan representasi sebuah feature dalam proses kategorisasi teks
yaitu dengan menggunakan sistem Bag of Concepts yang menggabungkan
beberapa beberapa kata yang memiliki kesamaan makna dalam hal tertentu
dan akan dibandingkan hasil dari proses kategorisasi teks dengan pendekatan
sistem Bag of Words yang hanya menghitung frekuensi kemunculan dari
feature yang berasal dari satuan kata terhadap dokumen - dokumen. Peneliti
melakukan eksperimen dengan penggabungan konsep dari BoW dan BoC
apakah hal tersebut membantu untuk meningkatkan performa dari proses
kategorisasi teks atau tidak.
Pendekatan dengan cara yang baru yaitu dengan menggunakan konsep
Bag Of Concepts atau Concepts Based Representation dinilai memiliki
metode yang efisien, cepat dan juga tidak membutuhkan resource ekternal.
Peneliti menggunakan metode Random Indexing dalam implementasi
transformasi Bag Of Concepts dengan tujuan untuk mempercepat proses
pemberian nilai pada Vector Space Model hal ini dikarenakan adanya
komputasi yang mahal pada implementasi Bag Of Concept untuk dijadikan
sebuah feature. Hasil dari eksperimen yang dilakukan oleh para peneliti
membuktikan bahwa jika dalam skala jumlah yang kecil dokumen yang
diujicobakan Bag Of Word memberikan performa yang baik dibandingkan
dengan Bag Of Concepts yaitu dengan hasil 82,77% berbanding dengan
82,29% dimana kondisi saat run adalah BoW menggunakan Linear Kernel
dan pembobotan nilai TF x IDF dan BoC menggunakan Polinomial Kernel
dan pembobotan nilai TF x IDF.
Pada ujicoba data dengan menggunakan 10 kategori dengan koleksi
teks terbanyak pada korpus data REUTERS-21578, performa yang dihasilkan
terbalik yaitu BoC lebih memberikan performa yang baik dibanding dengan
BoW yaitu dengan hasil 88,74% berbanding dengan 88,09%, dengan hasil ini
para peneliti menyimpulkan bahwa penerapan konsep representasi BoC
hanya dapat diterapkan pada sebuah kategori yang memiliki koleksi dokumen
yang besar.
3. Biomedical literature classification using encyclopedic knowledge: a
Wikipedia-based bag-of-concepts approach

35
Penelitian ini bertujuan untuk melakukan klasifikasi terhadap berbagai
informasi biomedikal dan literature ke dalam beberapa kategori yang sudah
ditentukan sebelumnya. Proses klasifikasi yang dipilih oleh para peneliti
adalah dengan menggunakan Supervised Learning Problem, pertama sebuah
classifier melakukan proses training data dengan beberapa sample yang telah
memiliki kategori sebelumnya, lalu kedua akan mengaplikasikan model yang
dihasilkan ke set dokumen lain yang berperan sebagai test data. Penelitian ini
juga membandingkan keuntungan dan kerugian dari penggunaan sistem Bag
of Word dan Bag of Concept dalam proses transformasi sebuah feature dalam
VSM (Vector Space Model).
Peneliti membandingkan konsep Bag of Word yang memiliki tingkat
sparse data yang tinggi sehingga menghasilkan dimensionalitas data yang
tinggi, oleh karena itu peneliti mencetuskan untuk penggunaan konsep Bag of
Concept dalam proses transformasi feature, konsep ini merupakan Unit of
Meaning yang memiliki arti kesatuan dari berbagai macam makna.
Peneliti menjabarkan 2 perbedaan dalam hal proses transformasi
feature menggunakan BoW dan BoC berikut penjelasannya:
1. Bag Of Word
a. Pertama melakukan filtering dengan menggunakan sistem
Stopword, dengan membuang kata - kata yang tidak memiliki nilai
relevansinya terhadap proses klasifikasi sebuah teks.
b. Kedua melakukan proses Stemming dengan menghilangkan
beberapa imbuhan yang ada dalam beberapa kata menjadi sebuah
kata dasar yang utuh.
c. Ketiga melakukan perhitungan dengan frekuensi kemunculan kata
yang ada di dalam Bag of Words terhadap dokumen yang akan
direpresentasikan ke dalam Vector Space Model.

2. Bag Of Concepts
Peneliti menggunakan sebuah tool untuk melakukan generate secara
langsung Bag Of Concepts yaitu Wikipedia Miner, dimana di dalam tool
ini mengadopsi teknik Natural Language Processing, Machine Learning
dan menjadikan Wikipedia sebagai Domain Pengetahuan dalam proses
klasifikasi. Berikut implementasi yang dilakukan dari algoritma yang
dilakukan oleh tool tersebut:
a. Candidate Selection : Proses ini membutuhkan input berupa NGram yang dihasilkan dari teks yang sudah memiliki kategori

36
sebelumnya, lalu melakukan perhitungan frekuensi kemunculuan
N-Gram tersebut terhadap teks tersebut. Kemudian pada tahap
akhir memilih jumlah frekuensi kemunculan N-Gram yang paling
besar atau yang sering digunakan dalam teks yang diberikan.
b. Disambiguation : Merupakan algoritma untuk menghilangkan
beberapa N-Gram yang terbentuk memiliki makna yang ambigu
apakah termasuk feature dalam kategori yang pertama atau yang
kedua, pada proses ini dijadikan menjadi 1 kategori yang sama.
Proses ini menggunakan teknik Machine Learning dan Wikipedia
Article untuk melakukan pelatihan data N-Gram untuk dicari
sebuah nilai yang menjadikan apakah N-Gram memiliki nilai
ambiguitas atau tidak.
c. Link Detection : Memberikan nilai relevansi, atau pembobotan
terhadap konsep yang sudah diekstrak dari sebuah kumpulan
kelompok N-Gram dari hasil frekuensi yang sudah diberikan
sebelumnya.
Peneliti menggunakan algoritma classifier SVM (Support Vector
Machine) dan representasi dokumen Wikipedia berbasis Bag Of Concepts
untuk melakukan klasifikasi literature biomedikal ke dalam sebuah kategori.
Eksperimen yang telah dilakukan oleh peneliti membuktikan representasi
yang dibentuk oleh Bag Of Concepts memberikan hasil yang lebih baik
dibandingkan dengan Bag Of Word, berikut hasil grafik yang dihasilkan saat
jumlah feature set training dalam jumlah yang sedikit dan lebih ringkas
memberikan dampak yang baik :

37

Gambar 2.18 Hasil Eksperimen Penelitian


Hal ini dikarenakan feature yang sebelumnya mengadopsi konsep
BoW memiliki berbagai permasalahan terutama dalam hal aturan
semantic dan banyak data yang redundan serta ambigu, dengan feature set
yang lebih ringkas dan disatukan menjadi 1 makna tersendiri berdasarkan
dari hasil yang ada menurut peneliti memberikan performa yang baik dan
berpengaruh sekali terhadap hasil evaluasi yang diberikan pada proses
klasifikasi dokumen literatur biomedikal.

You might also like