• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 TINJAUAN PUSTAKA"

Copied!
30
0
0

Teks penuh

(1)

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

Berdasarkan representasi tersebut dapat diambil kesimpulan yaitu bahwa 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

Proses Berpikir

Tingkah Perilaku

Humanisme Rasionalitas

Gambar 2.1 Kategorisasi Kecerdasan Buatan ( Russell dan Norvig, 2010)

(2)

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 :

(3)

Face Detection : Sebuah sistem yang mampu mengenali wajah dari seseorang untuk memberikan representasi identitas dari orang tersebut.

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

(4)

input data variabel yang sudah ditentukan dengan variabel output atau variabel prediksi yang baru.

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

(5)

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.

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.

(6)

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

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:

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

Gambar 2.2 Proses Klasifikasi Teks (Ikonomakis, Kotsiantis, dan Tampakas, 2005)

(7)

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

(8)

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.

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

(9)

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.

b) Melakukan identifikasi dan menghilangkan tipe awalan.

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.3 Kombinasi Awalan Akhiran yang Tidak Diijinkan (Keke, Chikita dan Prayogo ,2012)

(10)

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.

Gambar 2.4 Aturan Pemenggalan Awalan (Keke, Chikita dan Prayogo ,2012)

(11)

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, nah, noh, bener, lo, gue dll.

• Contoh :

“Ternyata memang Andi suka sepakbola sejak lama”

Menjadi :

“andi suka sepakbola”

2.7. 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.

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 Täckström (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.

(12)

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 N- Gram 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

 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

• “Pemerintah”

 Unigram : p, e, m, e, r, i, n, t, a, h

 Bigram : pe, em, me, er, ri, in, nt, ta, ah

 Trigram : pem, eme, mer, eri, rin, int, nta, tah

(13)

2.9. WEKA open source machine learning tool

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

Gambar 2.5 WEKA Graphical User Interface

(14)

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 representasi data yang mewakili suatu 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.

Gambar 2.6 Fitur Visualisasi WEKA

(15)

f) Preprocessing Data

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

(16)

2.10. Naive bayes

Naïve 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 Naïve 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. Naïve Bayes juga merupakan sebuah algoritma klasifikasi yang berakar pada Teorema Bayes.

Menurut Natalius(2010) implementasi rumus dasar Teorema Bayes adalah sebagai berikut :

Keterangan : Terdapat 2 kejadian yaitu A dan B terjadi secara terpisah.

Teorema Naïve Bayes yang juga merupakan hasil kombinasi antara Teorema Naïve 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 :

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

Gambar 2.8 Teorema Bayes

Gambar 2.9 Teorema Naive Bayes

(17)

masuknya suatu sampel data dengan memiliki berbagai karakteristik yang 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 :

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:

Gambar 2.10 Teorema Naive Bayes Versi Sederhana

(18)

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.

Gambar 2.11 Hyperplane pada Support Vector Machine

(19)

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

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 Gambar 2.12 Representasi Decision Tree

(20)

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 penambahan fitur baru serta adanya perbaikan secara major.

Beberapa fitur modern yang diberikan oleh Postgresql yaitu : a) Complex Queries

b) Foreign Keys c) Triggers

d) Transactional Integrity

e) Multiversion Concurrency Control

Postgresql juga memiliki dukungan terhadap teknologi basis data pada versi yang lama dengan memberikan adanya penambahan fitur baru pada beberapa hal yakni :

a) Data Type b) Functions c) Operators

d) Aggregate Function e) Index Methods

f) Procedural Languages

2.13.2. Java spring MVC framework

Spring merupakan sebuah kerangka kerja yang menyediakan berbagai infratruktur yang komprehensif didalam mengembangkan suatu aplikasi

(21)

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

(22)

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.

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.

Gambar 2.13 Arsitektur Spring Framework

(23)

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

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.

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.14 Konfigurasi Spring Boot

(24)

Di dalam Spring JDBC Framework 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.

Keempat, org.springframework.jdbc.support berperan dalam mendefinisikan SQLException yang mampu menangkap segala bentuk error yang dihasilkan dari penggunaan sebuah query.

Gambar 2.15 Konfigurasi JDBC dalam XML

Gambar 2.16 Konfigurasi JDBC dalam Spring-Boot

(25)

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 N- Gram yang berasal dari korpus data yang besar akan menghasilkan berbagai kemungkinan N-Gram yang besar tetapi akan hanya terdapat beberapa N- Gram 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

(26)

merupakan contoh tabel representasi dari suatu set dokumen dengan beberapa feature:

keterangan :

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 2- Grams 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 4- Gram, 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.

Gambar 2.17 Matriks Dokumen

(27)

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

(28)

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”

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.

(29)

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 N- Gram yang dihasilkan dari teks yang sudah memiliki kategori 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 :

(30)

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.

Gambar 2.18 Hasil Eksperimen Penelitian

Referensi

Dokumen terkait

Penindasan terhadap perempuan di Indonesia sampai awal abad ke-20 dalam bentuk kawin paksa (perempuan banyak yang dikawinkan dengan suami yang belum pernah

Oleh karena itu, pada pengerjaan proyek akhir ini diusulkan aplikasi yang diharapkan dapat membantu warga dalam menyalurkan pengajuan izin kegiatannya, membantu

Penelitian ini bertujuan mengevaluasi keberhasilan IB menggunakan semen beku hasil sexing dengan metode sentrifugasi gradien densitas percol (SGDP) pada sapi

Perawatan ortodonti komprehensif pada pasien dewasa dengan kondisi periodontitis kronis secara menyeluruh dapat memberikan hasil yang baik apabila dilakukan dengan

Dari uraian diatas, maka penulis tertarik untuk melakukan penelitian tentang pengaruh pemberian herbisida paraquat diklorida per−oral terhadap pembengkakan hepatosit

Dengan bertanya “siapa yang masih ingat lambang bilangan braille 1-2?”, lalu peneliti menjelaskan materi selanjutnya sesuai pengetahuan anak dalam kehidupan sehari-hari

Oleh karena itu produk (dalam hal ini lulusan) yang dihasilkan harus senantiasa menyesuaikan dengan tuntutan pelanggan/pasar. Pada kenyataannya tuntutan pasar terkait dengan

Jawaban responden terhadap item2 pernyataan tentang “Tema iklan air minum dalam kemasan merek Aqua yang ada di Televisi, Radio, Surat Kabar, Majalah, Papan Reklame, dan