You are on page 1of 12

Rancang Bangun Aplikasi Search Engine Tafsir Al-Qur’an Menggunakan Teknik Text

Mining Dengan Algoritma VSM (Vector Space Model)

1)
Heru Adi Darmawan 2)Tutut Wurijanto 3)Akh. Masturi

1) Program Studi Sistem Informasi, STIKOM Surabaya. Email: thedreamer.19@gmail.com


2) Program Studi Sistem Informasi, STIKOM Surabaya. Email: tutut@stikom.edu
3) Fakultas Syariah Jurusan Fiqih, Al Ahzar Tafahna el Asyraf Kairo – Mesir. Email: -

Abstract
Learning media religion today actually has a lot available in the form of organized instruction or
spiritual impression on television that examines the content of verses of the Qur'an. But on the other side
of this medium has limitations and may only be held in time, place, and specific topics only, the process of
interaction between the giver and Juma'ah material as a whole is also very limited. Therefore takes a
media or means of learning about the religion that is not limited by place and time, where everyone can
learn about religion whenever and wherever, but does not waive the speed, quality of information
presented, and of course could be more interactive. This application is designed by adapting the workings
of a search engine like Google to find information about the content of the holy verses of the Qur'an. In
order to get detailed information and more specifically the source of data for this application is the
interpretation of each verse of the Qur'an. Text Mining Techniques used in making the text more
structured verse, TF-IDF as a method of term weighting, and the Vector Space Model as an algorithm in
modeling the relationship between paragraphs with keywords through Cosine Similarity calculation.
Based on the results of testing and evaluation indicates the level of the average value of accuracy
(precision) application search engines interpretations of the Qur'an has reached 73.8%, while the ability
of applications to find all the relevant paragraph (recall) achieved an average rating of 96, 3% of the 35
queries tested. User satisfaction levels reached an average value of 71.67% of the 30 respondents who
have tried the application search engines this interpretation of the Qur'an.

Keyword: Text Mining, Vector Space Model, Search Engine

Ada ungkapan dari seorang fisikawan terkenal pengetahun secara umum yang banyak
pemenang hadiah Nobel, Albert Einstein, “Ilmu diselenggarakan dalam berbagai bentuk
pengetahuan tanpa agama adalah timpang. Agama pendidikan-pendidikan formal.
tanpa ilmu pengetahuan adalah buta” (Naik, Ajaran atau tuntunan sebuah agama pada
2008:13). Ungkapan ini mengindikasikan bahwa umumnya dituangkan dalam bentuk kitab suci.
butuh keseimbangan antara dua hal tersebut di Salah satunya adalah al-Qur’an yang merupakan
mana ilmu pengetahuan dan agama saling kitab suci sebagian besar masyarakat di Indonesia.
menyempurnakan satu sama lain. Dalam hal ini Media atau sarana pembelajaran agama secara
penekanan terletak pada aspek media meluas sebenarnya telah banyak tersedia dalam
pembelajaran tentang agama (terhadap masyarakat bentuk pengajian-pengajian yang terorganisir, atau
secara meluas), di mana yang terjadi akhir-akhir tayangan-tanyangan rohani di televisi yang
ini cenderung memiliki porsi lebih sedikit mengkaji serta menjelaskan kandungan ayat-ayat
dibandingkan dengan media pembelajaran ilmu al-Qur’an. Namun di sisi lain media ini memiliki

1
sedikit keterbatasan di mana hanya (dalam hal ini adalah ayat-ayat al-Qur’an)
diselenggarakan dalam waktu, tempat, dan topik dengan user query atau permintaan user. Dalam
tertentu saja. Di samping itu proses interaksi penelitian yang dilakukan oleh Heninggar
antara si pemberi materi dan jema’ah secara Septiantri yang membandingkan metode LSA
keseluruhan juga sangat terbatas. Dibutuhkan (Latent Semantic Analysis) dan VSM (Vector
sebuah media atau sarana pembelajaran mengenai Space Model) mengenai sistem penilai jawaban
agama yang tidak terbatas oleh tempat dan waktu, esai otomatis Bahasa Indonesia, didapatkan dari
di mana setiap orang dapat belajar mengenai hasil uji coba bahwa secara keseluruhan rata-rata
agama kapanpun dan dimanapun, namun tidak korelasi nilai VSM-manusia lebih tinggi dari LSA-
mengenyampingkan kecepatan, kualitas informasi manusia (Septiantri, 2009).
yang disajikan, serta tentu saja bisa lebih Dalam teknik text mining ada sebuah tahapan
interaktif. proses untuk mengolah kata-kata yang terdapat
Dalam penelitian ini media atau sarana dalam dokumen menjadi bentuk kata dasar atau
pembelajaran yang akan dikembangkan akar dari kata itu sendiri (tanpa ada awalan,
mengadaptasi cara kerja sebuah aplikasi search akhiran, atau sisipan), proses ini disebut proses
engine seperti, Google, Yahoo, bing, atau Alta stemming. Enhanced Confix Stripping Stemmer
Vista. Mengingat sisi interaksi antara user merupakan salah satu algoritma yang dapat
(pengguna) dengan aplikasi harus berjalan dengan mengatasi proses stemming yang spesifik untuk
baik, dimana informasi yang disajikan lebih tepat Bahasa Indonesia. Pemilihan algoritma Enhanced
sasaran dan serelevan mungkin sesuai dengan Confix Stripping Stemmer merujuk pada penelitian
keinginan user. Bahan atau materi yang menjadi I Putu Adhi Kerta Mahendra yang merupakan
informasi atau output dari aplikasi ini merujuk salah satu mahasiswa Institut Teknologi Sepuluh
pada ayat-ayat al-Qur’an yang merupakan November (ITS) – Surabaya mengenai metode
tuntunan dan pedoman bagi penganut agama atau algoritma stemming yang spesifik untuk
Islam, yang mana agama ini di peluk sekitar Bahasa Indonesia (Mahendra, 2008).
86,1% penduduk Indonesia (bersasarkan data Aplikasi ini dapat membantu dan
sensus penduduk tahun 2009). Untuk dapat mempermudah dalam proses pencarian informasi
memberikan informasi yang lebih berkualitas dan mengenai kandungan ayat - ayat suci al-Qur’an
mudah dipahami oleh user, maka informasi yang secara lebih spesifik dan mendalam bagi siapa saja
diberikan tidak sebatas pada terjemahan ayat saja, yang membutuhkan.
namun juga lebih mendetail hingga tafsir per ayat
bahkan per kata dari ayat-ayat tersebut. METODE
Berdasarkan pertimbangan bahwa aplikasi ini Text Mining
dikembangkan di Indonesia, materi atau bahan Text Mining merupakan proses otomatis atau
yang menjadi rujukan untuk output aplikasi ini sebagian proses otomatis untuk teks. Ini
adalah karya salah seorang ahli tafsir Indonesia melibatkan pembentukan text yang lebih
ternama, Prof. Dr. Muhammad Quraish Shihab terstruktur dan penggalian informasi yang relevan
yang berjudul “TAFSÎR AL-MISBÂH Pesan, dari teks. (Miller, 2005;104). Text Mining selalu
Kesan, dan Keserasian al-Qur’an”. berurusan dengan kata – kata, jutaan kata – kata
Aplikasi ini dibangun menggunakan konsep yang disimpan dalam bentuk file elektronik. File
text mining dimana algoritma yang digunakan elektronik ini biasa berbentuk beberapa dokumen
adalah algoritma VSM ( Vector Space Model ). yang akan diproses, namun tentu saja dokumen –
VSM adalah salah satu metode atau algoritma dokumen ini belum dalam bentuk yang terstruktur.
yang sering digunakan untuk sebuah sistem temu Butuh mekanisme untuk menambang teks - teks
kembali informasi yang biasa dikenal dengan IRS yang ada dalam koleksi dokumen sehingga
(Information Retrieval System). Menurut Arifin didapatkan informasi – informasi yang lebih
(dalam Salton, 1989), “salah satu model IRS yang bernilai dan terstruktur. Mekanisme tersebut
paling sederhana namun paling produktif adalah dibagi dalam beberapa tahapan (fase pre-
model ruang vektor” (Arifin, 2002). Algoritma ini processing) yang dilakukan secara umum dalam
merupakan sebuah model yang digunakan untuk text mining, yaitu: Tokenizing, Filtering,
mengukur kemiripan antar beberapa dokumen Stemming, Tagging, dan Analyzing (Riza, 2008).

2
Ukuran umum yang digunakan untuk
mengukur kualitas dari text retrieval adalah
• Teks Tafsir
Filtering
• Kumpulan
Tagging
• Kumpulan
kombinasi precision dan recall. Precision
Ayat • kumpulan kata terpilih • Kumpulan bentuk kata
Al-Qur'an kata dalam bentuk kata awal mengevaluasi kemampuan sistem IR untuk
dokumen dasar
Tokenizing Stemming Analyzing menemukan kembali top-ranked yang paling
relevan, dan didefinisikan sebagai presentase
Gambar 1. Tahapan Text Mining dokumen yang di-retrieve yang benar – benar
relevan terhadap query pengguna.
Recall & Precision
Ada beberapa alasan yang berbeda mengapa 𝑋
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
tahap evaluasi IR (Information Retrieval) adalah 𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑_𝑑𝑜𝑢𝑚𝑒𝑛𝑡𝑠
sesuatu yang penting. Sebagai contoh, penyedia
sumber informasi membutuhkan informasi tentang Recall mengevaluasi kemampuan sistem IR
penggunaan sumber daya oleh user, dan organisasi untuk menemukan semua item yang relevan dari
yang bekerja untuk meningkatkan kinerja search dalam koleksi dokumen dan didefinisikan sebagai
engine perlu metode-metode yang efektif untuk presentase dokumen yang relevan terhadap query
mengevaluasi perubahan yang dilakukan untuk pengguna dan yang diterima.
algoritma dan user interface. Dengan demikian,
tujuan evaluasi adalah untuk menghasilkan 𝑋
𝑅𝑒𝑐𝑎𝑙𝑙 =
perbaikan pada proses pengambilan informasi. Di 𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡_𝑑𝑜𝑢𝑚𝑒𝑛𝑡𝑠
sisi lain, tujuan evaluasi biasanya tergantung pada
penelitian, beberapa peneliti mungkin berpendapat Pada dasarnya, nilai precision dan recall
bahwa tujuan utama dari evaluasi adalah bernilai antara 0-1. Oleh karena itu, suatu sistem
untuk mengevaluasi kekuatan metodologi IR yang baik diharapkan untuk dapat memberikan
pengindeksan dan pencarian, namun beberapa nilai precision dan recall mendekati 1. Precision
fokus lain dari penelitian evaluasi information dan recall adalah faktor penting dalam
retrieval adalah proses kognitif pengguna, mengevaluasi sistem IR, tetapi ada keadaan trade-
antarmuka manusia-komputer, dan karakteristik off (tarik-ulur) antara recall dan precision (Zhang,
database (Zhang, 2008). 2008). Kondisi trade-off antara precision dan
Information retrieval system mengembalikan recall mengakibatkan terjadi 2 situasi ekstrim
satu set dokumen sebagai jawaban atas user’s berikut (Gambar 2.8.) (Cios, 2007):
query. Terdapat dua kategori dokumen yang 1. Precision terlalu tinggi dan recall rendah.
dihasilkan oleh sistem IR terkait pemrosesan Sistem mengembalikan beberapa dokumen
query, yaitu relevant document (dokumen yang dan hampir semuanya relevan, tetapi sejumlah
relevan dengan query) dan retrieved document besar dokumen relevan lain terabaikan.
(dokumen yang diterima pengguna). Hubungan 2. Recall sangat tinggi dan precision relatif
antara kedua kategori ini digambarkan rendah. Sistem mengembalikan sejumlah besar
menggunakan diagram Venn pada gambar 2.7. dokumen yang mengikutsertakan hampir
(Cios, 2007): semua dokumen relevan tetapi juga mencakup
sebagian besar dokumen yang tak diharapkan.

Gambar 2. Relasi antara relevant dan retrieved


dokumen.
Gambar 3. Trade-off antara precision dan
recall

3
untuk mengkombinasikan kedua metode
Untuk kasus-kasus normal akan berada pembobotan tersebut, dengan mempertimbangkan
pada kurva solid. Umumnya, sulit bahkan frekuensi inter-dokumen dan frekuensi intra-
tidak mungkin untuk mencapai ideal case. dokumen dari suatu term. Dengan menggunakan
Dimana semua dokumen yang diambil relevan frekuensi term pada suatu dokumen dan
distribusinya pada keseluruhan dokumen, yakni
dan tidak ada dokumen relevan yang hilang kemunculan pada dokumen-dokumen lain (IDF).
dalam list yang diterima oleh user. Salton menarik suatu kesimpulan melalui
eksperimennya bahwa term-term dengan total
TF-IDF (Term Frequency - Inverse Document
frekuensi menengah, lebih berguna dalam retrieval
Frequency) Weighting
Metode pembobotan yang paling sederhana jika dibandingkan dengan term-term yang total
terhadap suatu term (term wighting) adalah dengan frekuensinya terlalu tinggi atau terlalu rendah.
menggunakan frekuensi kemunculan term (kata) / Konsep frekuensi intra-dokumen dan inter-
term frequency (TF) yang bersangkutan pada suatu dokumen ini kemudian dikenal sebagai metode
dokumen. Experimen-experimen pre-processing TF-IDF. (Mahendra, 2008)
dokumen berbasiskan frekuensi term, telah banyak Rumus yang digunakan untuk menyatakan
dilakukan dalam bidang information retrieval. bobot (w) masing-masing dokumen terhadap kata
Namun, dalam kaitannya dengan performa recall kunci adalah:
dan precision, penggunaan frekuensi term saja
ternyata hanya dapat memenuhi fungsi recall. Wd,t = tf d,t × IDFt
Fungsi precision yang baik sayangnya tidak dapat
dicapai dengan representasi frekuensi term saja Dimana:
pada suatu dokumen. Precision yang tinggi d = dokumen ke-d
mengisaratkan kemampuan untuk membedakan t = kata ke-t dari kata kunci
suatu dokumen dengan dokumen yang lain untuk Wd,t = bobot dokumen ke-d terhadap kata ke-t
mencegah retrieval yang tidak diinginkan.
Frekuensi term yang tinggi dapat digunakan dalam VSM (Vector Space Model)
pre-processing, hanya jika frekuensi kemunculan Dalam IRS, kemiripan antar dokumen
term bersangkutan tidaklah tinggi pada dokumen – didefinisikan berdasarkan representasi bag-of-
dokumen yang lainnya. Nilai precision yang baik words dan dikonversi ke suatu model ruang vector
pada kenyataannya dihasilkan oleh term-term yang (Vector Space Model). Model ini diperkenalkan
kemunculannya tergolong jarang pada suatu oleh Salton dan telah digunakan secara luas. Pada
dokumen, karena term-term bersangkutan VSM, setiap dokumen di dalam database dan
seringkali menjadi pembeda signifikan antara query pengguna direpresentasikan oleh suatu
dokumen-dokumen yang memiliki term-term vector multi-dimensi. Dimensi sesuai dengan
tersebut dengan dokumen yang tidak memiliki jumlah term dalam dokumen yang terlibat (Cios,
term-term bersangkutan. (Mahendra, 2008) 2007):
Untuk meningkatkan precision, digunakanlah  Vocabulary merupakan kumpulan semua term
representasi Inverse Document Frequency (IDF) berbeda yang tersisa dari dokumen setelah
untuk term-term, yang didefinisikan sebagai preprocessing dan mengandung t term index.
logaritma dari rasio jumlah keseluruhan dokumen kumpulan term ini membentuk suatu ruang
yang diproses dengan jumlah dokumen yang vektor.
memiliki term bersangkutan. Ini berarti bahwa  Setiap term i di dalam dokumen atau query j,
term-term yang tingkat kemunculannya jarang diberikan suatu bobot (weight) bernilai real
akan memiliki nilai IDF yang tinggi. Experimen wij.
yang dilakukan oleh Spärck Jones membuktikan  Dokumen dan query diekspresikan sebagai
bahwa penggunaan IDF akan menghasilkan vektor t dimensi dj = (w1, w2, ..., wtj) dan
performa retrieval yang lebih efektif jika terdapat n dokumen didalam koleksi, yaitu j =
dibandingkan dengan penggunaan frekuensi term 1, 2, ..., n.
saja. Ini yang kemudian menginspirasi Salton Berikut merupakan contoh dari vector space
model tiga dimensi untuk dua dokumen D1, dan

4
D2, satu query pengguna Q1, dan tiga term T1, T2, dokumen di-ranking, sejumlah tetap dokumen top-
T3: scoring dikembalikan kepada pengguna.
T3 Alternatifnya, suatu threshold dapat digunakan
D1 = 2T1 + 6T2 + 5T3
D2 = 5T1 + 5T2 + 2T3
untuk memutuskan berapa banyak dokumen akan
5
Q1 = 0T1 + 0T2 + 2T3 dikembalikan. Threshold dapat juga digunakan
D1 = 2T1 + 6T2 + 5T3
untuk mengontrol tarik-ulur antara presicion dan
2
Q1 = 0T1 + 0T2 + 2T3 recall. Nilai threshold tinggi biasanya akan
D2 = 5T1 + 5T2 + 2T3
menghasilkan precision tinggi dan recall rendah
T1
(Cios, 2007).
2 5
Terdapat empat fungsi untuk mengukur
5
kemiripan (similarity measure) yang dapat
6 digunakan untuk model ini:
T2
 Cosine distance / cosine similarity
Gambar 4. Contoh model vector space model  Inner similarity
dengan dua dokumen D1, dan D2, serta query  Dice similarity
pengguna Q1  Jaccard similarity
Salah satu ukuran kemiripan teks yang paling
Dalam Vector Space Model, koleksi dokumen populer adalah cosine similarity. Ukuran ini
direpresentasikan sebagai sebuah matrik term- menghitung nilai cosinus sudut antara dua vektor.
document (atau matrik term-frequency). Setiap sel Jika terdapat dua vektor dokumen dj dan query q,
dalam matrik bersesuaian dengan bobot yang serta t term diekstrak dari koleksi dokumen maka
diberikan dari suatu term dalam dokumen yang nilai cosinus antara dj dan q didefinisikan sebagai
ditentukan. Nilai nol berarti bahwa term tersebut berikut (Cioz, 2007):
tidak hadir dalam dokumen. Berikut merupakan
gambaran matrik dari term-document:

𝑇1 𝑇2 … 𝑇𝑡

𝐷1 𝑤11 𝑤21 … 𝑤𝑡1


PERANCANGAN
𝐷2 𝑤12 𝑤22 … 𝑤𝑡2 Gambaran Umum Aplikasi
Sesuai dengan namanya, aplikasi search
… … … … … engine tafsir al-Qur’an ini digunakan untuk
membantu dalam pencarian informasi
[𝐷𝑛 𝑤1𝑛 𝑤2𝑛 … 𝑤𝑡𝑛 ] mengenai kandungan ayat suci al-Qur’an.
Gambar 2.11. Contoh matrik term- Blok diagram pada gambar 5. menunjukkan
document untuk database dengan n representasi secara umum dari aplikasi. User
dokumen dan t term di sini adalah sebagai administrator yang
berguna untuk mengolah data-data yang
Melalui vector space model dan TF-IDF
mendukung proses pencarian. Tafsir ayat al-
weighting maka akan didapatkan representasi nilai
numerik dokumen sehingga kemudian dapat
Qur’an merupakan input sebagai sumber
dihitung kedekatan antar dokumen. Semakin dekat informasi untuk output pencarian.
dua vektor di dalam suatu VSM, maka semakin Administrator berperan dalam maintenance
mirip dua dokumen yang diwakili oleh dua vektor dari data-data ayat tafsir al-Qur’an sebagai
tersebut. kemiripan antar dokumen dapat dihitung input, data kamus kata dasar, data stoplist
menggunakan suatu fungsi ukuran kemiripan untuk tahap pre-processing, serta kontrol
(similarity measure). Ukuran ini memungkinkan terhadap proses stemming dan pembobotan
perankingan dokumen sesuai dengan kemiripan term. terakhir administrator mengontrol proses
atau relevansinya terhadap query. Setelah perhitungan VSM dan cosine similarity untuk

5
menghasilkan sebuah matrik term-document Flowchart
sebagai model khusus untuk proses pencarian 1. Text Mining (preprocessing)
tafsir ayat al-Qur’an.
Start

Teks tafsir
ayat
ayat

Proses
pencocokan
index + 1 List Token
teks[index]
dengan token

false

(index > (teks[index] ==


false
text.length()) token)

true

Proses simpan
kumpluan karakter
menjadi daftar
tokenTerm dalam tipe
data vektor

true Daftar
tokenTerm
dalam tipe
data vektor

Finish

Gambar 7. Flowchart Tokenizing

Dalam flowchart pada gambar 7., teks tafsir


menjadi input yang di-load dari database ayat
diteruskan pada proses pencocokan teks pada
index tertentu (karakter) dengan token list yang
ada pada database (kumpulan karakter tertentu).
Jika cocok karakter itu akan disimpan dalam
Gambar 5. Blok Diagram Gambaran Umum sebuah variable dengan tipe data Vector, jika
Aplikasi (by Administrator) tidak akan dilakukan pengecekan ulang
terhadap index teks yang berikutnya. Proses itu
Gambaran umum dari aplikasi ini terhadap terus berulang hingga index terakhir dari teks
user ditunjukkan pada gambar 6, user akan inputan. Jika telah mencapai akhir index dari
memberikan input berupa query atau kata teks, maka proses tokenizing berakhir dengan
kunci kepada aplikasi yang berhubungan tersimpannya kumpulan kata dalam variabel
tokenTerm yang menjadi input untuk proses
dengan informasi yang ingin diketahui oleh
berikutnya.
user. selanjutnya aplikasi akan memberikan
output berupa daftar ayat al-Qur’an yang telah Start

di-index sebagai hasil pencarian yang


dianggap paling relevan dengan user’s query. Daftar
tokenTerm
dalam tipe
data vektor

Proses
pencocokan
index + 1 Stoplist
tokenTerm[index]
dengan stoplist

false

(index >
false (tokenTerm[index] == token)
tokenTerm.size())

true

Proses simpan
kumpluan tokenTerm
Ke filterTerm dalam
tipe data vektor

Daftar
filterTerm
true
dalam tipe

Gambar 6. Blok Diagram Gambaran Umum data vektor

Aplikasi (by User) Finish

Gambar 7. Flowchart Filtering

6
Berdasarkan daftar tokenTerm, proses rulePrecedence mengembalikan nilai true
Filtering dilakukan sebagai lanjutan tahapan proses reduksiAwalan dilakukan dan
dari teknik text mining, dimana proses ini hanya selanjutnya melakukan pencocokan kembali
menyaring kata/term yang dianggap penting. terhadap database kamus, jika benar term
Tiap element yang terdapat pada tokenTerm disimpan jika tidak lakukan proses recording
dicocokan dengan daftar stoplist di database bila perlu. Proses reduksiAkhiran dan proses
yang menyimpan kumpulan kata yang dianggap loopPengembalianAkhiran dilakukan jika
tidak penting (stopword). Proses pencocokan proses reduksiAwalan sudah dilakukan dan
ini terus berulang hingga element terakhir dari term yang bersangkutan tidak cocok dengan
tokenTerm. Kata-kata yang tidak cocok dengan database kamus. jika semua proses itu tidak
stoplist disimpan dalam variable filterTerm berhasil, maka term yang ada langsung
dalam bentuk tipe data Vector dimana ini juga disimpan dalam variable dan dianggap sebagai
mengakhiri proses filtering. sebuah kata dasar. Proses ini terus berulang
pada setiap elemen yang mengandung term di
Start
variable filterTerm hingga akhir elemen
Daftar
filterTerm
variable ini. Gambar 8. memaparkan diagram
dalam tipe
data vektor
alir dari proses stemming.
Proses
pencocokan
index + 1 Kamus
fliterTerm[index]
dengan kamus
2. Pembobotan
false Recording ? true
Start
(Term ==
(filterTerm[index] == token)
kamus)

false recording

false
Cek Proses (Term ==
true
rulePrecedence() reduksiAwalan() kamus) ayat term term

false
false

Proses
reduksiAkhiran()
false

(Term ==
kamus)

Hitung ada berapa


Sudah melakukan proses Hitung jumlah Hitung jumlah ayat
jumlah ayat yang
reduksiAwalan() term dalam ayat dalam database
memiliki term
true

Proses
loopPengembalianAkhiran() true
TF DF D
true
Cek apakah term
merupakan kata ulang

Proses ambil sub Lakukan proses Hitung DF / D


stemming pada true
kata di sebelah
kanan dan kiri dua sub kata
setelah tanda “-”

Proses simpan Proses pengembalian IDF


(Index >
term ke variabel true Sama ? false kata ulang sebelum
filterTerm.size())
stemTerm proses stemming

true
Daftar
stemTerm
Finish
dalam tipe
data vektor
Proses
Matrik term-document pembobotan
Gambar 8. Flowchart Stemming W = TF * IDF

Selanjutnya proses stemming dilakukan Finish

berdasarkan input daftar filterTerm, proses Gambar 9. Flowchart Pembobotan


stemming ini menggunakan algoritma
Enhanced Confix Stripping Stemmer seperti Berdasarkan term dari database dilakukan
yang disebutkan pada analisa permasalahan dua proses secara paralel yakni menghitung
sebelumnya. Langkah pertama pada algoritma jumlah term dalam ayat dan menghitung jumlah
stemmer ini adalah mencocokkan term pada ayat yang mengandung term tersebut. Jumlah
elemen di index tertentu dengan daftar “kata ayat keseluruhan juga dihitung sebagai variabel
dasar” dalam database kamus. Jika cocok maka pendukung algoritma ini dan data-data ayat
term tersebut langsung disimpan dalam variable diakses berasal dari database ayat. Ketiga
stemTerm, jika tidak maka dilakukan proses tersebut secara berturut-turut disimpan
pengecekan rulePrecedence yakni larangan dalam variable TF, DF, dan D. berdasarkan
kombinasi awalan dan akhiran. Jika proses pembagian nilai dari variabel DF dan D,

7
didapatkan sebuah nilai yang disimpan dalam dalam variable kk, penjumlahan dari nilai
variabel IDF. Setelah semua variabel yang kuadrat bobot masing-masing term dari ayat
dibutuhkan untuk proses pembobotan tertentu disimpan di variabel Di, dan terakhir
didapatkan, maka nilai bobot dari term tersebut summary dari hasil perkalian nilai bobot dari
dihitung dengan rumus (TF * IDF) yang keyword dan nilai bobot term terhadap ayat
kemudian disimpan dalam matrik term- tertentu disimpan pada variable sum(kk*Di).
document. proses ini dilakukan pada semua Nilai dari akar kata kunci “sqrt(kk)” dan akar
term yang terdapat pada database term. dari Di “sqrt(Di)”, serta nilai dari sum(kk*Di)
menjadi variable-variabel dalam proses
3. VSM (Vector Space Model) perhitungan cosine similarity untuk tiap ayat
terhadap keyword. Nilai dari cosine similarity
Start untuk tiap dokumen dilakukan proses indexing
Query /
secara descending yakni dari nilai yang terbesar
keyword
hingga yang terkecil. Terakhir ditampilkan list
Proses extrectKeyword
(melalui proses
ayat sebagai hasil dari proses pencarian dengan
preprocessing)
vector space model.
Keyword[index] == term
Matrik term-frekuensi false
(dalam database)

Use Case Diagram


Index >
Ada ? false
keyword.length()

true

Hitung bobot
Insert, update, delete Kamus
masing-masing Insert, update, delete Tafsir Ayat
term dari keyword
<<include>> Insert, update, delete Stoplist
<<include>>

<<include>>

<<include>>
Insert, update, delete Token
Hitung sqrt(sum(kk2)) Hitung sqrt(sum(Di2))
kk = bobot masing-masing term Di = bobot masing-masing term Hitung sum(kk ∙ Di) Maintenance
dari keyword dari ayat atau dokumen ke-i
<<include>>
Load tafsir ayat <<extend>>
<<include>>

Sqrt(kk) Sqrt(Di) sum(kk ∙ Di) true


<<include>> Tokenizing Load Token
Preprocessing <<extend>>

<<include>> Load Stoplist


Filtering
Administrator <<extend>>
Proses perhitungan Cosine Similarity
Cosine(Di) = sum(kk ∙ Di) / [Sqrt(kk) * Sqrt(Di)]
Pembobotan TF-IDF
Stemming Load Kamus

Proses peng-index-an
(shorting) dari tiap ayat
atau dokumen (Di) secara <<extend>>
descending
<<extend>> Indexing

<<extend>>
List ayat yang sesuai
dengan query / keyword <<extend>> Evaluasi

Vector Space Model (pembentukan matrik term-


frekuensi)
No list result Perhitungan Cosine Similarity
(tidak ada ayat yang
Finish
sesuai dengan query /
keyword)

Gambar 10. Flowchart VSM (Vector Space Pencarian Tafsir Ayat al-Qur'an

Model) User

Term dari keyword akan melalui proses Membaca Detail dari Tafsir Ayat

extractKeyword (melalui proses preprocessing)


untuk selanjutnya dicek pada database matrik
Gambar 11. Use Cas Diagram Aplikasi
term-document. Jika salah satu dari term ada
pada database, maka dilakukan proses Dalam representasi gambar di atas terdapat
pembobotan pada tiap masing-masing term
dua actor yakni Administrator dan User. dua actor
keyword, Jika tidak ada maka proses pencarian ini berperan sebagai objek yang menggunakan
tidak dilakukan. Setelah dilakukan pembobotan
aplikasi. Administrator berperan sebagai
pada tiap term kata kunci, selanjutnya
pengontrol utama dari aplikasi search engine ini
dijalankan 3 proses paralel dalam mendapatkan
yang dapat mengakses semua fasilitas yang ada
variable-variabel untuk menghitung tingkat
dalam aplikasi. Sedangkan User adalah pengguna
kemiripan sebuah ayat terhadap kata kunci secara umum dalam proses melakukan pencarian
yang menjadi input. Hasil jumlah (Summary)
terhadap tafsir ayat al-Qur’an. berikut merupakan
nilai kuadrat bobot dari keyword disimpan
penjelasan dari setiap use case berdasarkan actor:

8
nilai dari precision dan recall untuk
mengetahui tingkat kinerja dari aplikasi.
1. Maintenance (by Administrator) Tabel 1. merupakan daftar query yang
Pada use case ini administrator dapat digunakan untuk tahap uji coba:
melakukan proses input, update, dan delete
terhadap data-data ayat, stoplist, dan kamus. Tabel 1. Daftar Query
2. Preprocessing (by Administrator) No Query No Query
Dalam preprocessing ada 4 proses yang 1 Shalat 19 Haid
dilakukan, yaitu load tafsir ayat yang akan 2 Zakat 20 'Iddah
3 Puasa 21 Talak
melalui tahap preprocessing; proses tokenizing 4 Haji & umrah 22 Ila' dan hukum susuan;
yang melakukan load terhadap data token 5 Qishash 23 Melamar
6 Halal 24 Mahar
sebagai pemecah setiap kata dalam teks; proses 7 Haram 25 Larangan mengawini
filtering yang melakukan load pada data wanita musyrik dan
stoplist sebagai penyaring term yang dianggap sebaliknya
8 Nafkah di jalan Allah 26 Perang
kurang penting; proses stemming melakukan 9 Khamar & judi 27 Kisah penciptaan Nabi
load terhadap data Kamus untuk membentuk Adam a.s.
term ke dalam bentuk kata dasarnya. 10 Menyantuni anak 28 Kisah Nabi Ibrahim a.s.
yatim
3. Pembobotan TF-IDF (by Administrator) 11 Larangan riba 29 Kisah Nabi Musa a.s
Use case ini melakukan pembobotan terhadap dengan Bani Israil
12 Utang piutang 30 Sifat-sifat orang yang
term yang telah melalui preprocessing. bertakwa
4. Vector Space Model (by Administrator) 13 Wasiyat kepada dua 31 Sifat orang-orang munafik
Proses ini membentuk sebua bag-of-words orang ibu bapa dan
kaum kerabat
yang direpresentasikan dalam matrik term- 14 Hukum sumpah 32 Sifat-sifat Allah
document dengan value berupa bobot dari tiap 15 Amanat 33 Perumpamaan-
term terhadap dokumen (ayat). ada 3 proses perumpamaan
16 Sihir 34 Kiblat
yang menjadi turunan atau super class dari use 17 Merusak mesjid 35 Kebangkitan sesudah mati.
case ini. proses perhitungan cosine similarity 18 Merubah kitab-kitab
Allah
untuk menghitung sudut tingkat kemiripan
antar ayat dengan query; proses evaluasi
sebagai penilai kinerja dari aplikasi; dan proses Hasil uji coba dipaparkan dalam tabel 3.
indexing yang meranking hasil pencarian dimana terdapat 6 point pokok yang
sebagai representasi dari hasil perhitungan direpresentasikan sebagai nilai dari uji coba
cosine similarity dan evaluasi. untuk setiap kata kuncinya. Pertama adalah
5. Pencarian Tafsir Ayat al-Qur’an (by User) “jumlah ayat diterima”, nilai untuk point ini
Use case pencarian tafsir ayat al-Qur’an adalah didapatkan dari jumlah hasil pencarian
proses pencarian yang dilakukan oleh pengguna keseluruhan berdasarkan kata kunci. Kedua
aplikasi ini secara umum dengan menginputkan adalah “jumlah ayat relevan”, nilai untuk point
query atau kata kunci oleh pengguna.
ini berdasarkan rekomendasi ahli kitab (selaku
6. Membaca Detail dari Tafsir Ayat (by User)
User dapat melihat detail tiap tafsir ayat al- pembimbing kedua) untuk tiap query-nya.
Qur’an dari hasil pencarian yang dihasilkan Ketiga “jumlah ayat hilang”,nilai dari point ini
oleh aplikasi berdasarkan user’s query. didapatkan berdasarkan kecocokan hasil
pencarian dengan jumlah ayat relevan dari
HASIL DAN PEMBAHASAN rekomendasi ahli kitab, apakah hasil pencarian
Kinerja Aplikasi mencakup semua dari rekomendasi ahli kitab
Uji coba untuk mengukur kemampuan atau tidak, jika tidak maka jumlah ayat yang
atau tingkat kinerja aplikasi dilakukan dengan tidak dicakup yang menjadi nilai untuk point
35 kata kunci atau query yang telah ini. Point Keempat dan Kelima didapatkan
ditetapkan, dimana hasil pencarian dari dari “nilai rata-rata precision” dan “nilai
masing-masing query tersebut akan dievaluasi maksimal recall”, contoh rincian dari

9
perolehan nilai kedua point ini ditunjukkan Dimana:
pada tabel 2 dengan kata kunci ke-1 yaitu A : Query
“shalat” dan jumlah ayat relevan adalah 9 B : ∑ Ayat Diterima
ayat. Point terakhir adalah “waktu eksekusi”, C : ∑ Ayat Relevan
nilai dari point ini didapatkan dari lama proses D : ∑ Ayat Hilang
E : Precision (Rata-rata)
pencarian terhadap suatu query hingga hasil F : Recall (Maks.)
pencarian ditampilkan. G : Waktu Eksekusi (detik)
Tabel 2. Nilai Recall dan Precision
Rank Ayat Relevan ? Precision Recall Dari hasil uji coba yang dipaparkan pada tabel
1 002238 Ya 1 / 1 = 1,000 1 / 9 = 0,111 4.3 dapat dilihat rata-rata dari nilai precision dan
2 002239 Tidak - -
3 002045 Ya 2 / 3 = 0,667 2 / 9 = 0,222 recall. Nilai rata-rata precision dari aplikasi
4 002177 Ya 3 / 4 = 0,750 3 / 9 = 0,333 berdasarkan uji coba terhadap query adalah 0,738,
5 002150 Tidak - - atau bisa dikatakan aplikasi search engine tafsir al-
6 002110 Ya 4 / 6 = 0,667 4 / 9 = 0,444
7 002043 Ya 5 / 7 = 0,714 5 / 9 = 0,556
Qur’an ini memiliki tingkat keakuratan dengan
8 002005 Tidak - - persentase 73,8 %. Sedangkan tingkat
… … … … … kemampuan aplikasi untuk menampilkan semua
11 002083 Ya 6 / 11 = 0,545 6 / 9 = 0,667
ayat yang relevan dengan query adalah 0,963 atau
12 002277 Ya 7 / 12 = 0,583 7 / 9 = 0,778
14 002003 Ya 8 / 14 = 0,571 8 / 9 = 0,889 mencapai sekitar 96,3 %, dengan rata-rata
17 002153 Ya 9 / 17 = 0,529 9 / 9 = 1,000 kecepatan pencarian 5,992 detik.
Rata-rata = Maks. = Ada beberapa pola yang terlihat dari hasil uji
0,670 1,000
coba pada tabel 4.3., pada query ke-18 merupakan
Tabel 3. Hasil Uji Coba query dengan waktu eksekusi terlama yaitu 37,643
A B C D E F G
1 40 9 0 0,670 1,000 2.290
detik dimana query ke-18 adalah “Merubah Kitab-
2 16 10 0 0,933 1,000 0,820 Kitab Allah”. Query ke-18 ini mengandung kata
3 14 4 0 1,000 1,000 0,827 “Allah” dimana term ini hampir dikandung oleh
4 22 10 0 0,732 1,000 1,222 semua ayat dalam database (284 ayat dari 293 total
5 3 3 0 1,000 1,000 0,188
6 21 8 0 0,516 1,000 1,660 keseluruhan ayat dalam database). Pola ini juga
7 32 4 0 0,174 1,000 1,647 terlihat pada query ke-8 dan query ke-32 dimana
8 124 12 0 0,879 1,000 34,068 kedua query tersebut sama-sama mengandung kata
9 2 1 0 1,000 1,000 0,153
10 85 4 0 0,608 1,000 4,761 “Allah”. Tabel 3.4. juga menunjukkan pola bahwa
11 66 4 0 1,000 1,000 4,761 semakin panjang sebuah query maka semakin
12 8 3 0 0,917 1,000 0,527 lama waktu eksekusi yang dibutuhkan.
13 108 5 0 0,943 1,000 3,601
14 4 1 0 1,000 1,000 3,601
Berdasarkan hasil uji coba pada tabel 4.3.
15 1 1 0 1,000 1,000 0,328 terlihat dari query ke-1 sampai ke-20 nilai recall
16 4 1 0 1,000 1,000 0,300 bernilai 1 yang berarti tidak ada dokumen relevan
17 14 1 0 1,000 1,000 0,816
18 75 4 0 0,367 1,000 37,643
yang hilang. Namun pada query ke-21 nilai recall
19 4 2 0 1,000 1,000 0,285 berubah menjadi 0,750, berarti ada dokumen
20 9 3 0 0,540 1,000 0,499 relevan yang tidak berhasil ditemukan oleh
21 11 8 2 0,650 0,750 0,650 aplikasi dari query ini. Query ke-21 berisi kata
22 1 1 0 1,000 1,000 3,290
23 2 1 0 1,000 1,000 0,157 “Thalak”, dimana aplikasi hanya berhasil
24 3 2 0 0,583 1,000 0,650 memanggil 6 ayat dari 8 ayat relevan. Dua ayat
25 107 1 0 1,000 1,000 5,841 hilang tersebut adalah Surah al-Baqarah ayat 236
26 27 5 1 0,581 0,800 1,468
27 187 8 0 0,584 1,000 10,306
dan ayat 237. Dua ayat ini memang tidak
28 175 11 0 0,538 1,000 9,438 mengandung kata “Thalak” namun mengandung
29 175 24 3 0,572 0,875 10,147 kata “Cerai” dimana “Thalak” dan “Cerai”
30 191 2 0 0,225 1,000 12,605
31 165 7 0 0,594 1,000 12,538
memiliki makna yang sama atau hampir sama.
32 107 18 10 0,145 0,444 37,463 Karena itu ahli kitab menganggap bahwa dua ayat
33 15 6 1 0,399 0,833 0,790 yang hilang tersebut seharusnya menjadi ayat yang
34 13 3 0 0,667 1,000 0,621 juga relevan dengan kata kunci “Thalak”. Pola
35 65 2 0 1,000 1,000 3,744
Rata - rata 0,738 0,963 5,992

10
seperti ini juga terlihat pada beberapa query yang E Kepuasan Kurang Cukup Baik
tidak menghasilkan nilai recall 1. 12 Apakah aplikasi ini
sangat membantu dan
memudahkan dalam 0,00 % 16,67 % 83,33%
Tingkat Kepuasan Pengguna proses pencarian ayat-
ayat suci al-Qur'an ?
13 Bagaimanakah
Tabel 4. Hasil Survey penilaian anda
No Pertanyaan Penilaian terhadap aplikasi 3,33 % 36,37 % 60,00%
search engine ini
A Fungsionalitas Kurang Cukup Baik secara keseluruhan ?
1 Apakah aplikasi telah Rata -rata 1,67 % 26,67 % 71,67%
memiliki fungsi yang
sesuai dengan
objektifitas dan
Melalui tabel 4. sebagai representasi hasil
0,00 % 40,00 % 60,00% survey, dapat dilihat untuk segi Fungsionalitas
spesifikasi (dalam
mencari kandungan terdapat rata-rata 63,33% dari 30 responden yang
ayat suci al-Qur'an) menilai baik, 35,56% untuk cukup, dan hanya
yang diinginkan anda ? 3,33% yang menilai kurang. Nilai rata-rata aspek
2 Apakah setiap fungsi
berjalan dengan benar 0,00 % 26,67 % 73,33%
Komunikasi masing-masing terdapat 50%
? responden yang memberi nilai baik dan cukup,
3 Apakah secara umum sedangkan untuk nilai kurang tidak ada. 45,38%
kegunaan dari aplikasi 3,33 % 40,00 % 56,67% dari jumlah responden memberi nilai baik untuk
telah jelas ? Estetika dari aplikasi ini, 41,67% menilai cukup,
Rata -rata 1,11 % 35,56 % 63,33% dan sektar 12,50% untuk nilai kurang. Performansi
B Komunikasi Kurang Cukup Baik
4 Apakah tiap page dari
dari aplikasi dianggap baik oleh 62,67% dari
aplikasi mempunyai
0,00 % 50,00 % 50,00%
jumlah responden, 38,33% untuk nilai cukup, dan
informasi yang jelas tidak ada responden yang menganggap
bagi anda ?
5 Apakah alur dari page performansi dari aplikasi bernilai kurang. Nilai
aplikasi ini sudah 0,00 % 50,00 % 50,00% rata-rata Tingkat kepuasan pengguna dapat dilihat
benar dan jelas ? dari rata-rata nilai aspek kepuasan dengan 26,67%
Rata -rata 0,00 % 50,00 % 50,00% dari 30 responden yang member nilai cukup,
C Estetika Kurang Cukup Baik
sekitar 22 responden atau 71,67% memberi nilai
6 Apakah tiap page dari
aplikasi ini terlihat 16,67 % 60,00 % 23,33% baik pada aspek ini, dan hanya 1 responden atau
aktraktif dan menarik ? 1,67% yang merasa kurang puas terhadap aplikasi.
7 Apakah layout juga
tampak konsisten, SIMPULAN
spasi ukuran huruf, 10,00 % 40,00 % 50,00% Berikut ini merupakan kesimpulan dari
perbedaan antara judul
dan body text ?
implementasi dan uji coba terhadap aplikasi
8 Apakah ada perbedaan search engine tafsir al-Qur’an yang telah
yang cukup mencolok 6,67 % 36,67 % 56,67% dirancang:
(tidak konsisten) 1. Dengan menggunakan text mining dan
antara tiap page ?
9 Apakah penggunaan algoritma Vector Space Model aplikasi ini
warna dan font sudah 16,67 % 30,00 % 53,00% mampu melakukan pencarian terhadap teks
tampak harmonis ?
Rata -rata 12,50% 41,67 % 45,38%
tafsir al-Qur’an. Berdasarkan hasil uji coba
D Performansi Kurang Cukup Baik terhadap 35 query dimana nilai rata-rata tingkat
10 Bagaimanakah tingkat keakuratan aplikasi ini terhadap hasil pencarian
ketepatan / keakuratan mencapai nilai persentase 73,8%. Sedangkan
dari hasil pencarian 0,00 % 43,33 % 56,67%
berdasarkan kata kunci tingkat kemampuan aplikasi untuk mengambil
dari anda ? semua ayat yang relevan dengan query
11 Bagaimanakah tingkat sehingga tidak ada ayat yang tertinggal atau
kecepatan dari proses 0,00 % 33,33 % 66,67%
pencarian ? hilang, mencapai nilai rata-rata hingga 96,3 %
Rata -rata 0,00 % 38,33 % 61,67% dengan rata-rata waktu eksekusi 5,992 detik.
2. Aplikasi ini membantu dan memudahkan
seseorang dalam mencari informasi mengenai

11
kandungan ayat-ayat suci al-Qur’an secara
lebih mendalam dan spesifik dengan tingkat Mahendra, I Putu Adhi Kerta., 2008, Penggunaan
kepuasan mencapai nilai rata-rata 71,67% dari Algoritma Semut Dan Confix Stripping Stemmer
30 responden. Sedangkan untuk point Untuk Klasifikasi Dokumen Berbahasa Indonesia,
pertanyaan yang menanyakan “apakah aplikasi Surabaya: Jurusan Teknik Informatika ITS
ini sangat membantu dan memudahkan dalam Surabaya.
proses pencarian ayat-ayat suci al-Qur'an ?”,
Miller, Thomas W., 2005, Data and Text Mining A
sekitar 25 (83,33 %) responden dari total 30
Bussines Applications Approach, Upper Saddle
responden menyatakan sangat terbantu dengan
River, Jersey.
memberi nilai baik untuk point pertanyaan ini
(point 12 dari angket).
Naik, Zakir., Miler, Gary., 2008, Keajaiban Al-
Qura’an Dalam Telaah Sains Modern, Media
SARAN
Ilmu, Yogyakarta.
Untuk pengembangan lebih lanjut mengenai
aplikasi search engine ini, diberikan saran-saran
Risa., 2008, Bab 11 Text Mining,
sebagai berikut:
http://student.eepisits.edu/~risa/files/DataMining/
1. Mengingat aplikasi ini masih terbatas pada
chapter11.pdf,
batasan 2 surah al-Qur’an saja yaitu al-Fatihah
diakses tanggal 12 Juni 2010.
dan al-Baqarah, maka data aplikasi ini perlu
ditambahkan dengan data tafsir al-Qur’an
Septiantri, Heninggar, 2009, Perbandingan
lengkap 30 Juz, sekitar 114 Surah dengan 6236
Metode Latent Semantic Analysis dan Vector
ayat.
Space Model untuk Sistem Penilaian Jawaban
2. Untuk pengembangan selanjutnya aplikasi
Esai Otomatis Bahasa Indonesia. Jakarta:
dilengkapi dengan fasilitas yang dapat
Fakultas Ilmu Komputer, Universitas Indonesia.
menangani kesalahan inputan dari pengguna
serta fasilitas auto complete yang dapat
Zhang, Hao., 2008, Formulating Complex
memudahkan pengguna memilih kata kunci.
Queries Templates, A thesis presented to the
3. Agar pada hasil pencarian tidak ada dokumen
University of Waterloo in fulfillment of the thesis
atau ayat relevan yang hilang, maka dibutuhkan
requirement for the degree of Master of Applied
sebuah metode yang dapat mengekspansi atau
Science in Management Science, Ohio, Canada:
mengembangkan query berdasarkan persamaan
University of Waterloo.
makna (sinonim).
4. Untuk proses pengembangan dibutuhkan
sebuah metode yang mampu mempelajari
perilaku pengguna sehingga dapat diketahui
dokumen atau ayat mana saja yang sering
diakses oleh pengguna berdasarkan kata kunci
tertentu.

RUJUKAN

Arifin, Agus Zainal, 2002, Penggunaan Digital


Tree Hibrida pada Aplikasi Information Retrieval
untuk Dokumen Berita. Proseding Seminar
Nasional Sains dan Teknologi 2002: Institut
Teknologi Sepuluh Nopember Surabaya.

Cios, Krzystof J., dkk., 2007, Data Mining A


Knowledge Discovery Approach, Springer, New
York.

12

You might also like