Aditya Herdianto
Jurusan Teknik Informatika, Dosen Pembimbing
Politeknik Elektronika Negeri Surabaya
Institut Teknologi Sepuluh Nopember Surabaya
Kampus PENS-ITS Keputih Sukolilo Surabaya 60111
Telp (+62)31-5947280, 5946114, Fax. (+62)31-5946114
Email: joedith_archilles@yahoo.com
1
desktop. Karena lebih efisien dan dapat digunakan proyek akhir ini tidak memperhatikan keterkaitan
tanpa koneksi internet. kata, kalimat, ataupun sejenisnya jadi kata dianggap
berdiri sendiri.
Dengan masalah diatas, maka dapat digunakan
sebuah proses pengenalan teks yang di sebut Text Pengubahan dari Huruf Besar ke Huruf Kecil
Mining. Dengan proses tersebut maka masalah yang semua
di inputkan user dilakukan dengan beberapa method
seperti, parsing, steamming, dan morphing sehingga Dimaksudkan agar mudah dalam proses pencarian
dapat mengenali masalah yang ada. dalam sistem yang akan dibuat.
Teori-teori yang digunakan dalam penyelesaian Dimulai dengan perhitungan jumlah kata dalam
proyek akhir akan dibahas dalam bab ini sesuai setiap dokumen, yang kemudian akan dihitung
kaitannya dengan text mining. Serta membahas menggunakan skema pembobotan yang dikehendaki.
software - software yang digunakan dalam
pembuatan proyek akhir ini. 2.2 Metode Korelasi
2
Keterangan tentang dua jenis dari bahasa tersebut offset dan jumlaj karakter
adalah sebagai berikut: jum
ValueOf(boolean b) Menghasilkan objek
Applet string yang berisi true
Adalah program yang dibuat dengan Java, dapat kalau argument berupa
diletakkan pada web server dan diakses melalui web true begitu juga
browser. Dalam hal ini browser yang digunakan sebaliknya
adalah yang memiliki kemampuan Java (misalnya: ValueOf(char c) Menghasilkan objek
Netscape Navigator, Internet Explorer, dan HotJava). string yang berisi sebuah
Aplikasi karakter yang sesuai
Adalah program yang dibuat dengan Java dan bersifat dengan c
perangkat umum. Aplikasi adalah program yang ValueOf(double d) Menghasilkan objek
dibuat dengan Java yang bersifat umum. Aplikasi string yang berisi sebuah
dapat dijalankan secara langsung, tidak perlu bilangan yang sesuai
perangkat lunak browser untuk menjalankannya. dengan d
Aplikasi dapat dieksekusi secara langsung setelah ValueOf(float f) Menghasilkan objek
dilakukan kompilasi terlebih dahulu. string yang berisi sebuah
bilangan yang sesuai
Class - class yang menyimpan fungsi proses dengan f
String dan Karakter pada bahasa pemrograman yang ValueOf(int i) Menghasilkan objek
digunakan adalah sebagai berikut: string yang berisi sebuah
Class java.lang.String bilangan yang sesuai
Class java.lang.StringBuffer dengan i
Class java.lang.Character ValueOf(Object obj) Menghasilkan objek
Class java.util.StringTokenizer string yang berisi sebuah
Tabel 2.1 Tabel konstruktor class string objek yang sesuai dengan
Konstruktor Keterangan obj, biasanya
String() Menciptakan objek String() yang menggunakan to_string()
berisi string kosong (jumlah CharAt(int indeks) Menghasilkan karakter
karakter sama dengan). dalam posisi index
String(byte[] v, Menciptakan objek String yang Compare to(String s) Menghasilkan nilai
int ofset, int berasal dari array yang dirujuk bertipe int yang berupa :
jumlah) oleh v. Offset menentukan Bilangan positif kalau
posisi dalam array yang akan string ini lebih besar
diberikan ke objek string. Int daripada string
jumlah menentukan jumlah Nol jika string ini
karakter yang ingin di ambil sama dengan string
dari array dari posisi offset. s
String ( char v Menciptakan objek string yang Bilangan negatif
[] ) diiambil dari array v. kalau string ini lebih
String(char[] v , Sama dengan String(byte[] v, int kecil daripada string
int ofset, int offset, int jumlah). s
jumlah) Catatan :
String ( String v Menciptakan objek string dari Pengertian lebih besar
) objek string v. atau lebih kecil dari
perbandingan karakter.
Tabel 2.2 Tabel metode class string Concat (String s) Menghasilkan objek
Metode Keterangan string yang meru[pakan
Copy Value Of (char Menghasilkan kelas gabungan dari string ini
data[]) berobjek String yang dengan string s
berisi data yang sama EndWith(String s) Menghaslkan nilai true
dengan array data kalau string ini berakhiran
Copy Value Of (char Serupa dengan Copy dengan string s
data[],int offset,int jum) Value Of (char data[]) Equals (Object obj) Menghasilkan nilai true
namun dimulai dari posisi jika string sama dengan
3
object obj Substring ( int index ) Menghasilkan objek
equaslIgnoreCase(String Menghasilkan nilai true string yang berisi
s) jika string berakhiran substring dimulai dari
dengan string s tanpa karakter pada posisi index
memperhatikan hurug hingga karakter terakhir.
besar atau kecil Substring (int Menghasilkan objek
Get bytes() Menghasilkan array indexawal,indexakhir ) string yang berisi
bertipe byte yang nilai substring dimulai dari
dari setiap karakter dalam karakter pada posisi
string ini. indexawal hingga karakter
Indexof(int ch) Menghasilkan nilai index indexakhir
bertipe int yang toCharArray() Menghasilkan array
menyatakan posisi bertipe karakter yang
pertama untuk karakter berisi karakter dari objek
yang nilainya ch string
Indexof(String s) Menghasilkan nilai To_string() Menghasilkan objek
bertipe int yang string ini
menyatakan posisi Trim() Menghasilkan objek
pertama untuk substring string yang menghilngkan
yang nilainya s seluruh spasi ataupun
Indexof(String s, int Menghasilkan nilai int karakter control yang
index) dari posisi pertama terletak di awal dan di
substring dari string s akhir ini.
dimulai dari posisi index countTokens() Memberikan nilai balik
LastIndex(int ch) Menghasilkan nilai berupa int yang
bertipe int yang menyatakan jumlah token
menyatakan posisi yang belum diproses
terakhir untuk karakter hasMoreElements() Memberikan nilai balik
yang nilainya ch bertipe booelean yang
LastIndex(String s) Menghasilkan nilai menyatakan belum ada
bertipe int yang token yang di proses
menyatakan posisi nextElement() Memberikan nilai balik
terakhir untuk substring bertipe object yang
yang nilainya s menyatakan token
LastIndex(String s, int Menghasilkan nilai int berikutnya
index) dari posisi pertama nextToken() Memberikan nilai balik
substring dari string s berupa String yang
dimulai dari posisi index. menyatakan token
Jika tidak ditemukan berikutnya
nilainya -1 nextToken(String Memberikan neilai balik
Length () Menghasilkan int panjang delim) bertipe String yang
string menyatakan token
Replace(char lama,char Menghasilkan string berikutnya dengan
baru) dengan nilai dimana pemisah token berupa
karakter lama diganti delim
dengan karakter baru
startWith(String s) Menghasilkan nilai true 2.4 Stemming Bahasa Indonesia
kalau string ini berawalan Stemming adalah proses untuk menggabungkan
dengan string s atau memecahkan setiap varian - varian suatu kata
startWith(String s,int Menghasilkan nilai true menjadi kata dasar. Stem (akar kata) adalah bagian
subset) kalau string ini berawalan dari kata yang tersisa setelah dihilangkan
dengan string s dimulai imbuhannya (awalan dan akhiran). Metode stemming
dari posisi offset memerlukan input berupa term yang terdapat dalam
dokumen. Sedangkan outputnya berupa stem.
Algoritma ini diawali dengan pembacaan tiap kata
4
dari sampel. Sehingga input dari algoritma ini adalah Akhiran imbuhan -nya
sebuah kata yang kemudian dilakukan :
Pemeriksaan kemungkinan bentuk kata. Setiap Akhiran imbuhan -kah
kata diasumsikan memiliki 2 awalan (prefiks) dan
2 akhiran (sufiks). Sehingga bentuknya menjadi: 2.5.3 Pemotongan Imbuhan Gabungan
Yang dimaksud dengan imbuhan gabungan
adalah imbuhan yang diletakkan didepan dan
dibelakang kata dasar. Jenis-jenis yang termasuk
dalam imbuhan gabungan:
Seandainya kata tersebut tidak memiliki imbuhan
sebanyak imbuhan di atas, maka imbuhan yang Imbuhan gabungan ber-an dan ber-kan
kosong diberi tanda x untuk prefiks dan diberi
tanda xx untuk sufiks. Imbuhan gabungan di-kan dan di-i
Pemotongan dilakukan secara berurutan sebagai Imbuhan gabungan diper-kan dan diper-i
berikut:
Imbuhan gabungan ke-an
Akhiran imbuhan -i
5
Selain proses di atas ada proses lain yaitu, proses
untuk menghilangkan karakter tanda baca. Flowchart
proses tersebut adalah:
6
Stop_list Kata yang akan di stop Varchar(10)
list Membuat Semua Kata Huruf Kecil Semua
Penulisan huruf besar dan kecil tidak
diperhatikan dalam Text Mining (Non
CaseSensitive). Dengan begitu kita harus
3.4 Perancangan Proses menyeragamkan huruf pada kalimat. Hal itu
berfungsi pada pembobotan dan pengecekan
3.4.1 Preprocessing keyword pada database, yang notabene
memperhatikan huruf besar dan kecil (case
Dalam Preprocessing terdapat beberapa langkah sensitive).
yang dilakukan yaitu:
7
Contoh :
3.4.5 Pembobotan
Setelah semua kata diasumsikan sudah dalam
bentuk kata dasar, maka selanjutnya adalah proses
pembobotan. Proses ini adalah mengelompokkan kata
yang sama dan mencari jumlahnya. Hal ini berfungsi
untuk mengetahui kata - kata apa saja yang paling
banyak muncul, yang nantinya bisa masuk seleksi
untuk menjadi keyword. Berikut adalah proses dalam
pembobotan :
3.4.6 Korelasi
Untuk mencari keterkaitan antara masalah
dengan ayat Al-Quran maka digunakan metode
korelasi. Metode ini menggunakan penghitungan
matematis yang menghasilkan sebuah bilangan yang
menunjukkan keterkaitan antara masalah dan ayat
ayat Al-Quran. Jadi setiap masalah akan
dikorelasikan terhadap Al-Quran. Proses pada
korelasi yaitu:
8
4. Melakukan proses korelasi terhadap ayat ayat 3. 6 Implementasi Interface (Tatap Muka)
Al-Quran. Inputan masalah di atas adalah halaman untuk
5. Mendapatkan nilai korelasi. mengisikan masalah. Sisipan adalah masalah yang
sudah tersimpan dalam format *.txt. Dengan hal ini
3.4.7 Mencari Keyword user bisa mengetikkan nama file langsung yang akan
Setelah kata - kata tersebut dikelompokkan diupload.
dan dirangking, proses selanjutnya adalah mencari Halaman hasil adalah ayat Al-Quran yang
dan menentukan keyword untuk masalah yang di berhubungan dengan masalah yang inputkan oleh
inputkan oleh user. Keyword adalah sebuah kata yang user.
muncul 2 kali atau lebih. Namun sebelumnya kata
yang tidak perlu disimpan di stop list. 4. Pengujian dan Analisa Sistem
4.1 Pengujian Sistem
Berikut proses dalam mencari keyword: Uji coba fungsionalitas dilakukan untuk
melihat apakah fungsifungsi dasar aplikasi berjalan
1) Mengambil kata yang muncul lebih dari sebagai mana mestinya. Hasil uji coba ditunjukkan
minimal 1 kali. dengan hasil screenshoot aplikasi. Berikut adalah
2) Memeriksa kata tersebut dalam tabel stop macam uji coba dalam bab ini :
list, jika ada maka di hilangkan kata
tersebut. 4.1.1 Keyword Berupa Kata Dasar
3) Jika tidak ada, maka kata tersebut menjadi
keyword. File masukan misalnya :
9
4.1.2 Keyword dengan Awalan 4.1.2.3 Awalan men
Gambar 4.2 Halaman hasil dengan keyword awalan Gambar 4.4 Halaman hasil dengan keyword awalan
me - men -
Dari proses ditas kita lihat bahwa kata melihat Dari proses diatas dapat diketahui bahwa
menjadi lihat denga rumus : me + lihat. Dan dapat keyword yang didapat adalah tegur. Salah satu kata
dilihat juga bahwa percobaan berhasil. yang menentukan adalah menegur yang diuraikan
menjadi tegur seperti rumus berikut: men + (t)+egur
4.1.2.2 Awalan mem (terjadi morphing dengan huruf t menjadi huruf
Berikut contoh masukan untuk keyword yang depan). Dari tampilan hasil di atas dapat disimpulkan
mengandung awalan mem-: bahwa percobaan berhasil.
Memilih = me + pilih ( proses morphing dengan Dari tampilan hasil di atas dapat disimpulkan bahwa
menambah huruf p menjadi huruf pertama ) percobaan berhasil.
Dari hasil tampilan hasil pada gambar 4.3 4.1.2.5 Awalan meny
dapat disimpulkan bahwa percobaan berhasil.
Berikut contoh masukan untuk keyword
yang mengandung awalan meny-:
10
Dari proses diatas dapat dilihat pemotongan
pada awalan se,ke,di tidak terjadi morphing.
Senikmat = se + nikmat
Kehati = ke + hati
Dicipta = di + cipta
4.1.2.6 Awalan se, ke, di Dari tampilan hasil diatas dapat di simpulkan bahwa
percobaan berhasil.
Sifat dari 3 jenis awalan ini sama persis,
yaitu tidak terjadi Morphing. Berikut adalah contoh
input masalah sebuah masalah dimana keywordnya 4.1.2.7 Contoh untuk kata yang memiliki 2
berimbuhan jenis ini: Awalan
Gambar 4.7 Halaman masukan dengan keyword Dari rumus tersebut didapatkan hasil sebagai berikut:
awalan se-, ke-, di-
11
Gambar 4.9 Halaman hasil dengan keyword 2
awalan
Dari tampilan hasil diatas dapat di simpulkan bahwa Gambar 4.10 Halaman hasil dengan keyword yang
percobaan berhasil. mempunyai akhiran 1 karakter
12
AmpunkanNya = ampun + kan + Nya
Hasilnya adalah:
Yang dimaksud dengan kondisi ini adalah jika 4.2 Analisa Sistem
sebuah kata memiliki awalan dan akhiran sekaligus,
baik itu 1 atau 2 awalan dan 1 atau 2 akhiran. Proses Setelah melakukan pengujian sistem, didapatkan
dalam gabungan ini secara umum tidak terjadi analisa bahwa sistem telah berjalan sesuai dengan
morphing, jadi tinggal mengecek awalan dan yang diharapkan.
akhirannya, yang kemudian dipotong. Satu satunya
kondisi yang terjadi morphing adalah kondisi pada 5. Kesimpulan dan Saran
sebuah imbuhan pen an. Misalnya adalah : 5.1 Kesimpulan
Berdasarkan hasil percobaan dan analisa yang
Penataan = pen + (t)ata+an dilakukan pada Proyek Akhir ini maka dapat
disimpulkan bahwa :
Terjadi morphing dengan menambahkan karakter t
sebagai huruf pertama kata dasar. 1) Pada sistem ini, data ayat yang di dalam Al-
Quran sudah tersimpan di dalam database.
Namun ada juga kondisi dimana kombinasi 2) Solusi dari permasalahan yang dibutuhkan
pen an tidak terjadi morphing. Misalkan : user dapat langsung ditampilkan tiap lima
ayat.
Pencarian = pen + cari + an 3) Dengan metode korelasi, semua masalah
dapat dikenali oleh sistem.
Berikut adalah contoh masukan untuk sebuah
4) Pada sistem ini, bahasa yang harus
masalah dimana kata keyword memiliki akhiran dan
digunakan user harus menggunakan bahasa
awalan sekaligus: Indonesia baku. Jika tidak, maka data solusi
yang ditampilkan tidak sesuai dengan
harapan user.
5) Nilai korelasi menentukan makna masalah
dari inputan user.
5.2 Saran
13
1) Menyempurnakan sistem dengan pencarian
waktu yang lebih cepat
2) Sistem ini hanya dapat digunakan dengan
Bahasa Indonesia yang baku, jadi di masa
mendatang akan diharapkan bisa
6. Daftar Pustaka
1) Abdul Kadir,Bahasa Pemograman
JAVA,Andi Yogyakarta, Tahun 2004.
2) Buya Hamka , tafsir Al quran,majelis
ulama indonesia, 1950
3) Brigitte Mathiak dan Silke Eckstein, Five
Steps to Text Mining in Biomedical
Literatur, http://www.cs.tubs.de/idb/,, 2007
4) Help Microsoft Excel, Correlation
Method, Microsoft Corp, 2010
5) Igg Adwijaya, Text Mining dan Knowledge
Discovery, EMC Corporations, 2006
6) JISC, What Text Mining Can Do ,
http://www. jisc.ac.uk/publications, 2006
7) Marti Hearst, What Is The Text Mining,
hearst@sims.berkeley.edu, 2003
8) Mohamad Hairiyanov, Data Mining Email
,ITB Bandung, 2004
9) Rizal, M. Syaiful, Pencarian ayat ayat Al
Quran tentang Permasalahan Akidah
berdasarkan content menggunakan Text
Mining
10) http://www.alqurandigital.com/, Al
Quran Digital, 2004, diakses pada tanggal
12 September 2009
14