BAB II KAJIAN PUSTAKA
Dalam pengembangan sistem ini diperlukan dasar–dasar teori yang digunakan untuk proses pengembangan sistem. Berikut adalah dasar–dasar teori yang digunakan menunjang dalam proses pengembangan sistem.
2.1 Sistem Temu Balik Informasi
Temu balik informasi (information retrieval) adalah mendapatkan bahan (biasanya dokumen) dari sesuatu tak terstruktur (biasanya teks) yang memenuhi kebutuhan informasi dari sekumpulan besar data (biasanya yang tersimpan di komputer) (Manning, Raghavan and Schutze, 2009). Salah satu aplikasi yang merupakan sistem temu balik informasi adalah mesin pencari. Pengguna menggunakan mesin pencari untuk memperoleh halaman-halaman web yang memuat informasi yang dibutuhkan. Sistem temu balik tidak memberikan dokumen yang sama persis dengan apa yang dibutuhkan oleh pengguna. Namun sistem menampilkan dokumen yang memiliki kemiripan informasi dengan apa yang diinginkan oleh pengguna. Pengguna ingin selalu melihat beberapa dokumen, dan dapat dianggap mempunyai toleransi terhadap dokumen yang kurang akurat tetapi memperoleh informasi yang bermanfaat (Manning, Raghavan and Schutze, 2009).
2.2 Latent Semantic Analysis
Latent Semantic Analysis (LSA) merupakan teknik matematika/statistika untuk mengekstraksi dan menyimpulkan hubungan kontekstual arti kata yang diaplikasikan pada bagian teks yang dibutuhkan(Landauer, Foltz and Laham, 1998). Pada LSA, dilakukan preprocessing yang salah satunya berfungsi sebagai penentu kumpulan term untuk direpresentasikan dalam sebuah matriks semantik dan kemudian diolah secara matematis menggunakan teknik aljabar linier Singular Value Decomposition (SVD), sehingga dalam hal ini, query dapat dibandingkan dengan hasil SVD untuk menghitung similaritas antara querydocument (Baker, 2005).
5
BAB II Kajian Pustaka
6
Beberapa keunggulan LSA (Deerwester et al., 1990): 1.
Sinonim : mampu memperoleh dokumen yang memiliki perbedaan kata namun mempunyai topik yang serupa 2. Polisemi : kata yang memiliki banyak makna akan mengurangi keakuratan pencarian dokumen. Teknik reduced representation yang digunakan LSA diharapkan dapat menghilangkan noise pada data 3. Keterkaitan kata: LSA memperhatikan keterkaitan kata antar dokumen
2.2.1
Preprocessing
Preprocessing merupakan tahapan awal dalam mengolah data input sebelum memasuki proses tahapan utama dari metode Latent Semantic Analysis (LSA). Preprocessing text dilakukan untuk tujuan penyeragaman dan kemudahan pembacaan serta proses LSA selanjutnya (Aji P., Baizal SSi. and Firdaus S.T., 2011). Preprocessing terdiri dari beberapa tahapan. Adapun tahapan preprocessing berdasarkan (Triawati, 2009) , yaitu: case folding, tokenizing / parsing, filtering, stemming. Berikut penjelasan empat tahapan dalam proses preprocessing adalah sebagai berikut.
1. Case Folding Case folding merupakan tahapan yang mengubah semua huruf dalam dokumen menjadi huruf kecil. Hanya huruf ‘a’ sampai dengan ‘z’ yang diterima. Karakter selain huruf dihilangkan dan dianggap delimiter (pembatas)(Triawati, 2009).Contoh penggunaan case folding adalah sebagai berikut. Bagaimana cara menenangkan hati ? data input
bagaimana cara menenangkan hati hasil case folding
Penjelasan: Input Kalimat/kata input dari pengguna
Output Kalimat/kata input menjadi huruf kecil serta tanpa karakter lain selain karakter huruf ‘az’
2. Tokenizing Tahap tokenizing / parsing adalah tahap pemotongan string input berdasarkan tiap kata yang menyusunnya(Triawati, 2009). Selain itu, spasi digunakan untuk memisahkan antar kata tersebut. bagaimana cara menenangkan hati
bagaimana cara menenangkan hati data input
hasil tokenizing / parsing
Penjelasan: Input
Output
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
7
Kalimat/kata input hasil dari proses Kumpulan kata case folding
3. Filtering Tahap filtering adalah tahap mengambil kata - kata penting dari hasil tokenizing. Proses filtering dapat menggunakan algoritma stoplist (membuang kata yang kurang penting) atau wordlist (menyimpan kata penting). Stoplist / stopword adalah kata kata yang tidak deskriptif yang dapat dibuang dalam pendekatan bag-of-words. Contoh stopword adalah “yang”, “dan”, “di”, “dari” dan lain – lain.(Triawati, 2009).
bagaimana cara menenangkan hati
cara menenangkan hati
data input
hasil filtering
Penjelasan: Input Output Kumpulan kata hasil dari proses Kumpulan term yang siap untuk diolah dengan proses svd tokenizing/parsing
4. Stemming Stemming merupakan suatu proses yang terdapat dalam sistem IR yang mentransformasi kata-kata yang terdapat dalam suatu dokumen ke kata-kata akarnya (root word) dengan menggunakan aturan-aturan tertentu (Agusta, 2009). Stemming kebanyakan digunakan pada teks berbahasa inggris dikarenakan teks berbahasa inggris memiliki struktur imbuhan yang tetap dan mudah untuk diolah sementara stemming untuk proses bahasa Indonesia memiliki struktur imbuhan yang rumit / kompleks sehingga agak lebih susah untuk diolah. Algoritma stemming untuk teks berbahasa Indonesia, diantaranya: Algortima Porter, Algoritma Nazief & Adriani. Berdasarkan hasil penelitian yang dilakukan(Agusta, 2009), kesimpulan dari perbandingan antara Algoritma Porter dengan Algoritma Nazief & Adriani, adalah: 1. 2. 3.
Proses stemming dokumen teks berbahasa Indonesia menggunakan Algoritma Porter membutuhkan waktu yang lebih singkat dibandingkan dengan stemming menggunakan Algoritma Nazief & Adriani. Proses stemming dokumen teks berbahasa Indonesia menggunakan Algoritma Porter memiliki prosentase keakuratan (presisi) lebih kecil dibandingkan dengan stemming menggunakan Algoritma Nazief & Adriani. Pada proses stemming menggunakan Algoritma Nazief & Adriani, kamus yang digunakan sangat mempengaruhi hasil stemming. Semakin lengkap kamus yang digunakan maka semakin akurat pula hasil stemming. Kamus yang digunakan mempengaruhi perhitungan presisi. Semakin lengkap kamus yang digunakan maka semakin akurat pula nilai presisinya. Contoh penggunaan stemming:
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
8
cara menenangkan hati
cara tenang hati
2.2.2
Singular Value Decomposition
Pemodelan yang dilakukan pada SVD adalah representasi komponen terms dan dokumen ke dalam bentuk matriks, sehingga dari hasil dekomposisi SVD, terdapat tiga jenis operasi perbandingan yang dapat dilakukan yaitu: 1. Membandingkan dua kata (terms) 2. Membandingkan dua dokumen (documents) 3. Membandingkan kata (terms) dengan dokumen (documents) Berbeda dari dua operasi sebelumnya yang memerlukan penghitungan cosine similarity, untuk membandingkan kata i dengan dokumen j dapat diketahui dari nilai cell(i,j) dari matriks aproksimasi kata-dokumen yang didapat dari perhitungan SVD (Deerwester et al., 1990).
Gambar 1 Representasi Geometri 2 Dimensi Dari Term dan Dokumen Pada SVD
Pada gambar di atas, kumpulan term yang ada dipetakan keberadaannya ke tiap dokumen, sehingga didapatkan nilai keberadaan tiap term pada dokumen-dokumen yang ada, sehingga isu yang muncul adalah “seberapa dekat hubungan antara term i dengan dokumen j?”. Melalui standar informasi pendekatan sistem temu balik, untuk membandingkan dua baris, kolom, atau menguji cell digunakan matriks X, yang terdiri dari term pada dokumen Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
9
(Deerwester et al., 1990). Namun digunakan X^ yang merepresentasikan pola dari X dan nilainya mendekati X yang sebenarnya. Menurut (Deerwester et al., 1990), rumus X^ adalah sebagai berikut: …(Pers. 1)
Gambar 2 Matriks Representasi Rumus SVD
T S D t d m
: mendeskripsikan baris asli sebagai vektor turunan nilai faktor ortogonal : adalah matriks diagonal yang memuat nilai skala jika ketiga komponen matriks dikalikan : mendeskripsikan kolom seperti matriks T : adalah jumlah baris pada X : adalah jumlah kolom pada X : adalah rank pada X (≤min(t,d))
Menurut (Garcia, 2006), pemilihan nilai m dan penggunaan jumlah nilai singular dalam S masih merupakan open area dalam penelitian. Namun, studi awal dengan menggunakan beberapa ratus dokumen menyarankan m bernilai pada kisaran 100, karena akan cenderung memberikan hasil temu balik yang lebih baik. Berikut merupakan contoh pengimplementasian rumus di atas. Misal, X = 1 1 1 0 0 0 0 0 0 0
0 0 1 1 1 1 1 0 1 0
0 1 0 1 1 0 0 1 0 1
1 0 0 0 2 0 0 1 0 0
0 0 0 1 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 0
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
10
0 0
0 0
0 0
0 0
0 0
0 0
1 0
1 1
1 1
Dengan, T : (9 dimensi vektor singular kiri untuk 12 term) S : (matriks diagonal dari 9 nilai singular) D : (9 dimensi vektor singular kanan untuk 9 dokumen) Untuk mencari X^, maka perlu untuk mencari matriks T, S, dan DTyang kemudian dihitung ke dalam rumus yang telah disebutkan di atas.
Untuk mencari T, dilakukan :
1. 2.
3.
Mencari hasil dari XXT Mencari eigenvalue dan eigenvector dari XXT Eigenvector adalah vektor tak nol yang memenuhi persamaan dimana A adalah matriks segiempat, λ bernilai skalar, dan v adalah eigenvector / vektor karakteristik. λadalah eigenvalue / akar karakteristik nya. Konversi matriks vektor ke matriks ortogonal menggunakan proses Gram-Schmidt orthonormalization 0.22 0.2 0.24 0.4 0.64 0.27 0.27 0.3 0.21 0.01 0.04 0.03
-0.11 -0.07 0.04 0.06 -0.17 0.11 0.11 -0.14 0.27 0.49 0.62 0.45
0.29 0.14 -0.16 -0.34 0.36 -0.43 -0.43 0.33 -0.18 0.23 0.22 0.14
-0.41 -0.55 -0.59 0.1 0.33 0.07 0.07 0.19 -0.03 0.03 0 -0.01
-0.11 0.28 -0.11 0.33 -0.16 0.08 0.08 0.11 -0.54 0.59 -0.07 -0.3
-0.34 0.5 -0.25 0.38 -0.21 -0.17 -0.17 0.27 0.08 0.39 0.11 0.28
Gambar 3 Hasil Matriks T
0.52 -0.07 -0.3 0 -0.17 0.28 0.28 0.03 -0.47 -0.29 0.16 0.34
-0.06 -0.01 0.06 0 0.03 -0.02 -0.02 -0.02 -0.04 0.25 -0.68 0.68
-0.41 -0.11 0.49 0.01 0.27 -0.05 -0.05 -0.17 -0.58 -0.23 0.23 0.18
Untuk mencari D, dilakukan: 1. 2. 3. 4.
Mencari hasil dari XTX Mencari eigenvalue dan eigenvector dari XTX Konversi matriks vektor ke matriks ortogonal menggunakan proses Gram-Schmidt orthonormalization Didapatkan D, namun yang dibutuhkan adalah DT, maka dilakukan transpose terhadap D 0.2 0.61 0.46 0.54 0.28 0 0.02 0.02 0.08 -0.06 0.17 -0.13 -0.23 0.11 0.19 0.44 0.62 0.53
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
0.11 -0.95 0.05 -0.08 0.18 -0.01 -0.06
-0.5 -0.03 -0.21 -0.26 -0.43 0.05 0.24
11
0.21 0.04 0.38 0.72 -0.24 0.01 0.02
0.57 0.27 -0.21 -0.37 0.26 -0.02 -0.08
-0.51 0.15 0.33 0.03 0.67 -0.06 -0.26
0.1 0.02 0.39 -0.3 -0.34 0.45 -0.62
0.19 0.02 0.35 -0.21 -0.15 -0.76 0.02
0.25 0.01 0.15 0 0.25 0.45 0.52
0.08 -0.03 -0.6 0.36 -0.04 -0.07 -0.45
Gambar 4 Hasil Matriks D Transpose
Untuk mendapatkan S, hanya perlu mengakarkan nilai eigenvalue yang sudah didapatkan dan merangkaikan dalam matriks secara diagonal.
3.34 0 0 0 0 0 0 0 0
0 2.54 0 0 0 0 0 0 0
0 0 2.35 0 0 0 0 0 0
0 0 0 1.64 0 0 0 0 0
0 0 0 0 1.5 0 0 0 0
0 0 0 0 0 1.31 0 0 0
0 0 0 0 0 0 0.85 0 0
Gambar 5 Hasil Matriks S
0 0 0 0 0 0 0 0.56 0
0 0 0 0 0 0 0 0 0.36
Jika dilakukan perkalian terhadap ketiga matriks di atas, maka akan dihasilkan nilai sebagai berikut. Dan jika kita perhatikan, pembulatannya akan menghasilkan nilai awal X. 0.99 1.00 0.99 0.00 0.01 0.01 0.01 0.00 -0.01 -0.09 0.00 0.00
0.00 0.00 1.00 1.00 1.00 1.02 1.02 0.00 1.02 -0.27 0.02 0.00
0.00 1.01 0.00 0.98 0.99 0.00 0.00 0.99 0.00 0.73 -0.01 -0.01
0.99 0.00 0.01 -0.01 1.99 0.00 0.00 1.00 0.01 -0.38 0.01 0.00
0.00 -0.01 0.00 1.00 -0.01 1.01 1.01 -0.01 0.00 0.03 0.01 0.00
0.00 -0.01 -0.01 -0.01 0.00 -0.01 -0.01 0.00 -0.01 0.68 0.00 0.00
0.00 0.00 0.00 0.01 0.01 0.01 0.01 0.00 0.00 0.78 1.00 0.00
Gambar 6 Hasil Perkalian Matriks TSD'
0.00 0.00 -0.01 0.00 -0.02 0.00 0.00 -0.01 -0.01 1.00 1.00 1.00
-0.02 0.02 0.03 0.00 0.00 -0.02 -0.02 0.00 1.02 0.39 0.99 0.98
Hasil di atas hanya digunakan untuk membuktikan bahwa pembagian komponen matriks dalam rumus X = TSD’ adalah benar, sehingga komponen matriks untuk pencarian similaritas antar dokumen dapat dilakukan dengan mengambil tiap komponen matriks, yaitu T, S, dan D. Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
12
2.2.3
Cosine Similarity
Cosine Similarity dikenal sebagai rumus yang umumnya digunakan untuk pengukuran similaritas, dengan menentukan sudut antara vektor dokumen dengan vektor query dalam dimensi V ruang Euclidean, dengan V adalah ukuran input kata (Lee, Chuang and Seamons, 1997). Hasil cosine similarity bernilai antara -1 sampai 1. Nilai -1 menunjukkan bahwa dokumen tidak terkait atau tidak berhubungan dengan query. Dan jika hasil cosine similarity bernilai 1, berarti keterhubungan antara dokumen dengan query tinggi.
…(Pers.2)
Dan menurut
Dimana, q : matriks vektor query; d : matriks vektor dokumen untuk mencari nilai q, digunakan rumus: …(Pers.3)
2.3 Struktur Kata Bahasa Indonesia Dalam bahasa Indonesia, terdapat struktur kata sebagai berikut. [awalan-1] + [awalan-2] + dasar + [akhiran] + [kepunyaan] + [sandang] (Oguds, 2007) Berikut ini imbuhan yang sering digunakan dalam bahasa Indonesia bersumber dari (Oguds, 2007). 1. 2. 3. 4.
Kata sandang: -lah, -kah, -pun, -tah. Kata kepunyaan: -ku, -mu, -nya. Akhiran: -i, -an, -kan. Awalan: me-, ber-, pe-, di-, ke-, ter-, se-.
Dalam penggabungan antara imbuhan dengan kata dasar pun tidak sembarangan, terdapat aturan yang tersedia. Berikut ini aturan pengabunggan kata dasar dengan imbuhan awalan. Tabel 2 Pola Imbuhan Awalan Bahasa Indonesia
No
Awalan
Aturan
Hasil Penggabungan
+ Vokal (a,i,u,e,o) | Konsonan 1
Se-
2
Ke-
3
Se+ Vokal (a,i,u,e,o) | Konsonan + Vokal (a,i,u,e,o)
Me-
KeMeng-
Contoh Se + bungkus sebungkus Se + ekor = seekor Ke + kasih = kekasih Ke + atas = keatas Me + inap = menginap Me + asuh = mengasuh
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
=
BAB II Kajian Pustaka
+ Konsonan b + Konsonan(c,d,j)
13
MemMen-
+ Konsonan (g,h) Meng-
+ Konsonan k
+ Konsonan p menjadi Mem- (luluh)
Meng- (luluh)
+ Konsonan s + Konsonan t
Meny- (luluh) Men- (luluh)
+ Konsonan (l,m,n,r,w)
Me-
+ Konsonan (h,g,k) Per-
+ Konsonan t 4
+ Konsonan (j,d,c,z) Pe-
+ Konsonan (b,f,v)
Pen- (luluh) Pen-
Pem-
+ Konsonan p
Pem- (luluh)
+ Konsonan s
Peny- (luluh)
Me + beri = memberi Me + cuci = mencuci Me + dengkur = mendengkur Me + jemput = menjemput Me + gosok = menggosok Me + hukum = menghukum Me + kukus = mengukus Me + pukul = memukul Me + pesona = mempesona Me + sapu = menyapu Me + tukar = menukar Me + lempar = melempar Me + masak = memasak Me + naik = menaik Me + rawat = merawat Me + warna = mewarna Pe + hitung + an = perhitungan Pe + gelar + an = pergelaran Pe + kantor + = perkantoran Pe + tukar = penukar Pe + tikam = penikam Pe + jahit = penjahit Pe + didik = pendidik Pe + cuci = pencuci Pe + zina = penzina Pe + beri = pemberi Pe + bunuh = pembunuh Pe + pikir = pemikir Pe + potong = pemotong Pe + siram = penyiram
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
14
+ Konsonan (l,m,n,r,w,y)
Pe-
+ Vokal (a,i,u,e,o) | Konsonan
5
Di
6
Keter-
7
Be-
+ Konsonan + Vokal (a,i,u,e,o) + Konsonan
DiKeterBelBer-
Pe + lamar = pelamar Pe + makan = pemakan Pe + nanti = penanti Pe + wangi = pewangi Di + bawa = dibawa Di + dorong = didorong Keter + lalu + an = keterlaluan Be + ajar = belajar Be + janji = Berjanji
Dalam penggabungan kata dasar dengan imbuhan juga mempunyai kriteria imbuhan awalan dan imbuhan akhiran yang tidak diijinkan untuk digabungkan. Berikut daftar imbuhan awalan dan akhiran bersumber dari (Agusta, 2009). Awalan bedi kemeSe
Akhiran
-i -an -i, -kan -an -i, -kan
2.4 Pembobotan Term
Pembobotan term dilakukan untuk menghitung frekuensi kemunculan kata atau term pada dokumen. Pembobotan ini dimaksudkan agar dapat menentukan peringkat dokumen terhadap query. Peringkat didasarkan pada tingkat relevansi atau kemiripan isi dokumen yaitu termterm atau kata-kata pada dokumen dengan query. Dari sekian banyak dokumen, pengguna menginginkan dokumen yang sesuai atau mempunyai relevansi dengan apa yang pengguna cari. Sehingga pemberian peringkat dokumen adalah penting. Metode pembobotan yang digunakan adalah tf-idf (term frequency-inverse document frequency).
2.4.1
TF-IDF
Bobot TF–IDF (term frequency-inverse document frequency) adalah suatu bobot yang sering digunakan dalam information retrieval dan text mining. Metode TF-IDF merupakan suatu cara untuk memberikan bobot hubungan suatu kata (term) terhadap dokumen. Metode ini menggabungkan dua konsep untuk perhitungan bobot yaitu, frekuensi kemunculan sebuah kata di dalam sebuah dokumen tertentu dan inverse frekuensi dokumen yang mengandung kata tersebut (Nirwana, Nurachma and Pambudi, 2009). Adapun rumus tf-idf adalah sebagai berikut: …(Pers.4) …(Pers.5) …(Pers.6) Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
15
Keterangan: = bobot kata term terhadap dokumen = jumlah kemunculan kata / term dalam N = jumlah semua dokumen yang ada dalam database n = jumlah dokumen yang mengandung kata / term
2.5 Structure Query Language
Structure Query Language (SQL) adalah sebuah bahasa query untuk basis data relasional(Dobre et al., n.d.). SQL adalah salah satu alasan utama untuk kesuksesan komersil basis data relasional. ANSI (American National Standards Institute) dan ISO (International Standards Organization) mengembangkan versi pertama SQL pada tahun 1986 dengan nama SQL-86 atau SQL1. Pada tahun 1992 standar kedua dan standar yang lebih diperluas dengan nama SQL-92 atau SQL2 diciptakan. SQL merupakan bahasa deskriptif dan beriorientasi entitas untuk manipulasi data dengan akarnya pada algebra relasional(Dobre et al., n.d.). Saat ini SQL digunakan sebagai bahasa pemrograman yang berdiri sendiri atau digabung dengan bahasa pemrograman lain seperti C, C++, Java, ADA, COBOL, FORTRAN, PL/1, PASCAL etc. SQL terdiri dari tiga sub bahasa, yaitu:
DDL – Data Definition Language: digunakan untuk membuat database dan tabel-tabel untuk mempertahankan struktur. DML – Data Manipulation Language: digunakan untuk mengakses dan mengekstraksi data dari sebuah basis data (add, update, delete, etc.). DCL – Data Control Language: digunakan untuk mengontrol akses basis data sehingga sangat penting untuk keamanan sistem.
2.5.1
Data Definition Language
2.5.2
Data Manipulation Language
Pada SQL istilah tabel, baris, dan kolom adalah sinonim untuk relasi, baris (tuple), dan atribut. Untuk membuat sebuah skema relasi baru di basis data dibutuhkan perintah create table. Bersamaan dengan pembuatan tabel baru harus disediakan relasi untuk atribut dan domainnya (number, char, atau date). Selain itu dapat pula ditambahkan constraint, checks dan keys. Kata kunci NOT NULL memberitahu sistem bahwa atribut tersebut tidak boleh kosong. Primary keys dideklarasikan menggunakan klausa spesial “table constraint”. Berikut contoh membuat sebuah tabel baru.
Ada dua tipe perintah SQL pada manipulasi data. Tipe pertama hanya digunakan untuk query basis data (select) dan tidak mengubah tabel. Tipe kedua digunakan untuk menambah (insert), mengubah (update), atau menghapus (delete) nilai dalam basis data.
Select
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
16
Perintah select digunakan untuk memperoleh informasi dari satu atau lebih tabel. Ketika ingin memperoleh informasi lebih dari satu tabel perintah join diperlukan. Berikut sintaks untuk perintah select:
SELECT [DISTINCT] {columnlist,*} FROM tablename [WHERE condition [AND condition]] [ORDER BY columnlist];
Insert Perintah insert digunakan untuk menambah baris pada tabel. Berikut sintaks untuk perintah insert: INSERT INTO tablename (attributelist)
VALUES (valuelist);
Update
Perintah update digunakan untuk mengubah satu atau lebih baris pada tabel. Klausa WHERE menentukan baris mana yang harus diubah. Klausa SET menentukan nilai baru yang akan diberikan. Berikut sintaks untuk perintah update:
UPDATE tablename
SET tttributevalues [WHERE condition];
Delete
Perintah delete menghapus satu atau lebih baris dari tabel. Klausa WHERE menentukan baris mana yang akan dihapus. Jika tidak ada klausa WHERE, semua baris akan terhapus.Berikut sintaks untuk perintah delete: DELETE FROM tablename [WHERE condition];
2.5.3
Data Control Language
Perintah data control pada SQL mengatur hak akses (privilege) dan persoalan keamanan sebuah sistem basis data. Perintah-perintah ini sangat erat hubungannya dengan DBMS (Database Management System) dan oleh karena itu dapat berbeda-beda dalam implementasi SQL-nya. Beberapa perintah umum adalah: GRANT – memberikan pengguna hak akses pada basis data DENY – meniadakan akses untuk pengguna REVOKE menarik kembali hak akses yang diberikan perintah GRANT atau yang diambil oleh perintah DENY
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
17
2.6 Penerapan Dasar Teori
Preprocessing
Database ayat Alquran
Hitung frekuensi
TF-IDF
MATRIKS PEMBOBOTAN TERM DAN DOKUMEN
SVD
Preprocessing
Cosine Similarity
Gambar 7 Alur Proses Sistem
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
18
Misal, dokumen ayat yang digunakan adalah:
D1: Katakanlah: "Jika kamu (benar-benar) mencintai Allah, ikutilah aku, niscaya Allah mengasihi dan mengampuni dosa-dosamu." Allah Maha Pengampun lagi Maha Penyayang.(QS.3:31) D2: Katakanlah: "Ta'atilah Allah dan Rasul-Nya; jika kamu berpaling, maka sesungguhnya Allah tidak menyukai orang-orang kafir." (QS.3:32) D3: Sesungguhnya Allah telah memilih Adam, Nuh, keluarga Ibrahim dan keluarga 'Imran melebihi segala umat (di masa mereka masing-masing),.(QS.3:33) dan hasil ekstraksi ayat-ayat di atas adalah sebagai berikut.
Tabel 3 Kumpulan Term
Terms
Adam Allah Berpaling Dosa Ibrahim Ikutilah Imran Kafir Katakanlah Keluarga Maha Masa Melebihi Mencintai Memilih Mengampuni Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
19
Mengasihi
Menyukai Nuh Orang
Pengampun Penyayang
Rasul
Sesungguhnya Taatilah
Umat
Preprocessing juga dilakukan terhadap query* (*akan dijelaskan pada poin selanjutnya) yang diinputkan oleh pengguna. Hal ini disebabkan oleh kemungkinan pengguna menginput kalimat yang memiliki kata yang tidak termasuk ke dalam daftar term hasil ekstraksi ayat Alquran, sehingga kumpulan term dapat diproses lebih lanjut. Hitung Bobot (Weight) Term Tahap ini dilakukan untuk mengetahui bobot kemunculan term pada tiap dokumen. Tiap-tiap term dihitung berdasarkan jumlah kemunculannya pada tiap dokumen. Hasil perhitungan jumlah kemunculan term kemudian akan diproses dalam rumus term weight seperti yang telah disebutkan pada Bab Kajian Pustaka, lalu disimpan pada matriks bobot term terhadap dokumen. Misal, dokumen ayat yang digunakan adalah: D1: Katakanlah: "Jika kamu (benar-benar) mencintai Allah, ikutilah aku, niscaya Allah mengasihi dan mengampuni dosa-dosamu." Allah Maha Pengampun lagi Maha Penyayang.(QS.3:31) D2: Katakanlah: "Ta'atilah Allah dan Rasul-Nya; jika kamu berpaling, maka sesungguhnya Allah tidak menyukai orang-orang kafir." (QS.3:32) D3: Sesungguhnya Allah telah memilih Adam, Nuh, keluarga Ibrahim dan keluarga 'Imran melebihi segala umat (di masa mereka masing-masing),.(QS.3:33) Maka matriks frekuensi tiap terms terhadap beberapa dokumen ayat adalah sebagai berikut.
Tabel 4 MatrikFrekuensi Tiap Terms Terhadap Beberapa Dokumen Ayat
Terms/Document
Dokumen Ayat
n
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
20
D1(3:31)
D2(3:32)
D3(3:33)
F1
F2
F3
Adam
0
0
1
1
Allah
3
2
1
3
Berpaling
0
1
0
1
Dosa
1
0
0
1
Ibrahim
0
0
1
1
Ikutilah
1
0
0
1
0
0
1
1
Kafir
0
1
0
1
Katakanlah
0
1
1
2
Keluarga
0
0
2
1
Maha
2
0
0
1
Masa
0
1
1
2
Melebihi
0
0
1
1
Mencintai
0
0
0
1
Memilih
0
0
1
1
Mengampuni
1
0
0
1
Mengasihi
1
0
0
1
Menyukai
0
1
0
1
Nuh
0
0
1
1
Orang
0
2
0
1
Pengampun
1
0
0
1
Penyayang
1
0
0
1
Rasul
0
1
0
1
Sesungguhnya
0
1
1
2
Imran
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
21
Taatilah
Umat
0
1
0
1
0
0
1
1
Dari data frekuensi masing-masing term terhadap tiap dokumen ayat, lalu dicari masing masing bobot term tersebut. Berdasarkan (Pers. 6) pada Bab Kajian Pustaka, untuk mendapatkan bobot masing-masing term adalah dengan rumus sehingga didapatlah nilai matriks bobot term sebagai berikut.
Tabel 5 Matriks Bobot Tiap Terms Terhadap Beberapa Dokumen Ayat
Dokumen Ayat
Terms/Document
D1(3:31)
D2(3:32)
D3(3:33)
W1
W2
W3
Adam
0
0
1.477121
Allah
3
2
1
Berpaling
0
1.477121
0
1.477121
0
0
Ibrahim
0
0
1.477121
Ikutilah
1.477121
0
0
Imran
0
0
1.477121
Kafir
0
1.477121
0
Katakanlah
0
1.176091 1.176091
Keluarga
0
0
2.954243
Maha
2.954243
0
0
Masa
0
Melebihi
0
0
1.477121
Mencintai
1.477121
0
0
0
0
1.477121
Dosa
Memilih
1.176091 1.176091
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
,
BAB II Kajian Pustaka
22
Mengampuni
1.477121
0
0
Mengasihi
1.477121
0
0
Menyukai
0
1.477121
0
Nuh
0
0
1.477121
0
2.954243
0
Pengampun
1.477121
0
0
Penyayang
1.477121
0
0
0
1.477121
0
Sesungguhnya
0
1.176091 1.176091
Taatilah
0
1.477121
0
Umat
0
0
1.477121
Orang
Rasul
Matriks diatas yang selanjutnya akan diproses ke dalam matriks SVD. SVD dan Query SVD menggunakan matriks bobot term terhadap dokumen untuk menghasilkan matriks U, matriks S, dan matriks VT. Matriks-matriks tersebut dibutuhkan untuk proses perhitungan selanjutnya, yaitu mencari similarity antara query dengan dokumen. Misal, dari matriks frekuensi di atas, dengan menggunakan SVD dihasilkan matriksmatriks berikut. U= 0.114
-0.191
0.171
0.569
0.179
-0.049
0.131
-0.062
-0.254
0.155
0.193
0.088
0.114
-0.191
0.171
0.155
0.193
0.088
0.114
-0.191
0.171
0.131
-0.062
-0.254
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
23
0.195
-0.201
-0.066
0.228
-0.383
0.341
0.31
0.386
0.177
0.195
-0.201
-0.066
0.114
-0.191
0.171
0.155
0.193
0.088
0.114
-0.191
0.171
0.155
0.193
0.088
0.155
0.193
0.088
0.131
-0.062
-0.254
0.114
-0.191
0.171
0.262
-0.123
-0.507
0.155
0.193
0.088
0.155
0.193
0.088
0.131
-0.062
-0.254
0.195
-0.201
-0.066
0.131
-0.062
-0.254
0.114
-0.191
0.171
S= 6.346
0
0
0
5.302
0
0
0
4.643
VT = 0.666
0.562
0.49
0.692
-0.221
-0.687
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
24
0.277
-0.797
0.536
Query adalah input berupa kata atau kalimat dalam bahasa Indonesia yang dilakukan oleh pengguna. Query akan menghasilkan sebuah matriks q atau matriks query terhadap dokumen. Matriks ini berisi nilai frekuensi kemunculan term pada query terhadap daftar-daftar term yang ada. Sebelumnya daftar-daftar term sudah diperoleh dari hasil preprocessing terhadap dokumen. Misal, jika query nya adalah “Mengapa perlu mencintai Allah?”, maka berikut adalah matriks frekuensi query terhadap daftar terms.
Tabel 6 Matriks Frekuensi Tiap Terms Terhadap Query
Terms/Document
q
Adam
0
Allah
1
Berpaling
0
Dosa
0
Ibrahim
0
Ikutilah
0
Imran
0
Kafir
0
Katakanlah
0
Keluarga
0
Maha
0
Masa
0
Melebihi
0
Mencintai
1
Memilih
0
Mengampuni
0
Mengasihi
0
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
25
Menyukai
0
Nuh
0
Orang
0
Pengampun
0
Penyayang
0
Rasul
0
Sesungguhnya
0
Taatilah
0
0
Umat
Tahap
selanjutnya
adalah melakukan perhitungan menggunakan rumus untuk menghasilkan vektor query. Kemudian dengan menggunakan perhitungan cosine similarity akan dihasilkan nilai kemiripan antara query dengan dokumen. Keterangan: Matriks U = matriks vektor singular kiri Matriks S = matriks diagonal dari nilai singular Matriks V = matriks vektor singular kanan k = nilai singular, yang jika semakin besar jumlahnya akan memberikan hasil temu balik yang lebih akurat
-
Misal, dengan menggunakan matriks-matriks di atas, untuk mendapatkan nilai vektor q, dilakukan tahap sebagai berikut. 1. Transpose matriks q yang sudah didapatkan. 01000000000001000000000000 2. Untuk mengalikan matriks qT dengan matriks U, terlebih dahulu harus memperhatikan berapa nilai k yang ingin diambil. Menurut (Garcia, 2006), untuk dokumen yang berjumlah ribuan, disarankan k bernilai sekitar 100 karena nilai k akan mempengaruhi keakuratan hasil temu balik. Untuk kasus ini, misal kita ambil k = 3, sehingga hasil vektor q ( )adalah sebagai berikut.
01000000000001000000000000
0.114
-0.191
0.171
0.158
0
0
0.569
0.179
-0.049
0
0.189
0
0.131
-0.062
-0.254
0
0
0.215
0.155
0.193
0.088
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
26
Sehingga, q =
3.
0.114
0.07
0.114
-0.191
0.171
0.155
0.193
0.088
0.114
-0.191
0.171
0.131
-0.062
-0.254
0.195
-0.201
-0.066
0.228
-0.383
0.341
0.31
0.386
0.177
0.195
-0.201
-0.066
0.114
-0.191
0.171
0.155
0.193
0.088
0.114
-0.191
0.171
0.155
0.193
0.088
0.155
0.193
0.088
0.131
-0.062
-0.254
0.114
-0.191
0.171
0.262
-0.123
-0.507
0.155
0.193
0.088
0.155
0.193
0.088
0.131
-0.062
-0.254
0.195
-0.201
-0.066
0.131
-0.062
-0.254
0.114
-0.191
0.171
0.008
Hasil matriks vektor q lalu dimasukkan ke dalam rumus Cosine Similarity , untuk diketahui similaritasnya dengan kumpulan ayat yang tersedia. Dari matriks VT di atas, didapatkan koordinat dari masing-masing vektor dokumen (tiap kolom mewakili satu dokumen), yaitu: D1(0.666, 0.692, 0.277) D2(0.562, -0.221, -0.797) D3(0.490, -0.687, 0.536)
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
27
Dari hasil perhitungan di atas, didapatkan bahwa D1 > D2 > D3, sehingga D1 memiliki ranking tertinggi dan menjadi rekomendasi ayat yang utama terhadap query yang diinputkan.
2.7 Teknologi Pendukung
Berikut ini teknologi pendukung yang digunakan dalam pembuatan aplikasi ini.
2.7.1
Java
Bahasa java didesain di Sun Microsystems selama lima tahun. Para pengembang, diketuai oleh James Gosling, awalnya ingin membangun sebuah bahasa pemrograman untuk mengontrol peralatan rumah sederhana dengan menanamkan microcomputer. Dengan demikian, mereka memulai dengan konsep orientasi objek dari C++, menyederhanakannya, dan menghilangkan beberapa fitur, seperti pointer, yang menyebabkan kesalahan pemrograman serius (Cooper, 2000). Java memiliki beberapa karakteristik. Dari karakteristik tersebut terdapat kelebihan-kelebihan yang tidak dimiliki oleh bahasa pemrograman lain. Berdasarkan white paper resmi dari Sun, karakteristik bahasa Java adalah sebagai berikut: a.
b.
c.
d.
e.
f.
Berorientasi objek Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut. Sederhana Bahasa Java secara parsial meniru C++, tetapi sudah banyak disederhanakan dan diperbaiki. Misalnya, pointer dan inheritance (warisan) yang banyak sering membuat pemrograman menjadi rumit. Java mengganti inheritance pada C++ dengan sebuah kontruksi bahasa sederhana yang disebut interface, dan menghilangkan pointer. Terdistribusi Komputasi terdistribusi melibatkan beberapa komputer bekerja bersama pada sebuah jaringan. Java didesain untuk memudahkan komputasi terdistribusi. Karena kemampuan jaringan secara inheren diintegrasikan ke Java, menulis program jaringan seperti mengirim dan menerima data ke file dan dari file. Interpreted Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda. Robust Java mempunyai reliabilitas yang tinggi. Compiler pada Java dapat mendeteksi masalahmasalah yang mungkin muncul pada saat eksekusi program. Java memiliki runtime exception-handling untuk membantu mengatasi error pada pemrograman. Aman Sebagai bahasa pemrograman internet, Java digunakan pada jaringan dan lingkungan terdistribusi. Java mengimplementasikan beberapa mekanisme keamanan untuk
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
28
melindungi sistem dari program berbahaya ketika menjalankan program yang berasal dari internet. g.
Architectural-Neutral Program Java merupakan platform independent. Program cukup mempunyaisatu buah versi yang dapat dijalankan pada platform berbeda dengan JavaVirtual Machine. h. Portable Program-program Java dapat dijalankan pada platform apapun tanpa perlu dikompilasi ulang. i. Performa Performa Java sering dikritik. Eksekusi bytecode tidak akan pernah secepat dengan bahasa yang terkompilasi, seperti C++. Namun, banyak cara untuk meningkatkan performa Java. Java Virtual Machine (JVM) saat ini sudah bertambah cepat dengan memanfaatkan teknologi berupa just-in-time compilation. Sun baru-baru ini mengembangkan Java HotSpot Performance Engine yang dapat ditancapkan ke JVM untuk meningkatkan performanya secara drastis. j. Multithreaded Java mampu membuat program yang dapat menjalankan beberapa tugas secara bersamaan. k. Dinamis Java didesain agara beradaptasi dengan lingkungan yang berubah. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut. Pengembangan sistem dengan berbasis desktop diharapkan dapat lebih banyak menyerap pengguna. Sehingga sistem dapat memberikan manfaat ke sebanyak mungkin orang. Selain itu sistem masih berupa prototype dan lebih memungkinkan dikembangkan berbasis dekstop.
2.7.2
Pemodelan UML
UML adalah bahasa pemodelan visual yang memungkinkan pengembang sistem membuat cetak biru yang menangkap visi standar mereka, cara yang mudah dipahami, dan menyediakan sebuah mekanisme efektif untuk berbagi dan berkomunikasi visi mereka kepada orang lain (Schmuller, 2004). UML adalah standar bahasa pemodelan yang terdiri dari penggabungan kumpulan diagramdiagram, dikembangkan untuk membantu sistem dan pengembang perangkat lunak menyelesaikan beberapa tugas berikut (Chonoles and Schardt, 2003): 1. 2. 3. 4. 5. 6.
Spesifikasi Visualisasi Desain arsitektur Konstruksi Simulasi dan test Dokumentasi
UML memiliki beberapa macam diagram untuk merepresentasikan arsitektur pengembangan perangkat lunak. Tiap diagram memiliki deskripsi dan fungsi yang berbeda-beda. Berikut adalah jenis-jenis diagram pada UML: Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
29
Class diagram: menunjukkan kelas-kelas pada sistem, atribut, dan metode tiap kelas dan hubungan antara tiap kelas. Component diagram: menampilkan struktur hubungan komponen-komponen sebuah sistem perangkat lunak. Deployment diagram: menampilkan perangkat keras sistem dan perangkat lunak yang terdapat pada perangkat keras tersebut. Object diagram: sangat mirip dengan class diagram, menunjukkan hubungan antara objek, dan menunjukkan bagaimana keadaan sistem pada saat tertentu. Package diagram: menunjukkan ketergantungan antara paket (package) yang berbeda pada suatu sistem. Profile diagram: menggambarkan mekanisme ekstensi ringan pada UML. Composite structure diagram: menunjukkan struktur internal sebuah kelas. Use case diagram: memberikan sebuah gambaran grafis keterhubungan aktor dalam sistem, fungsi berbeda yang dibutuhkan aktor tersebut, dan bagaimana fungsi berbeda tersebut berinteraksi. Activity diagram: menggambarkan alur kerja ke dalam sebuah gambar grafis. State machine diagram: menjelaskan perilaku objek-objek yang bertindak berbeda menurut keadaan mereka saat itu. Sequence diagram: menunjukkan bagaimana objek berinteraksi dengan yang lainnya dan urutan kemunculan interaksi-interaksi tersebut. Communication diagram: mirip dengan sequence diagram tetapi fokusnya adalah pada pesan yang disampaikan antara objek. Interaction overview diagram: sangat mirip dengan activity diagram namun interaction overview diagram menampilkan rangkaian urutan interaksi diagram. Timing diagram: menggambarkan perilaku objek-objek dalam suatu bingkai waktu.
2.7.3
MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis dataSQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL(MySQL-Wikipedia, 2012). MySQL memiliki beberapa keistimewaan, antara lain (MySQL-Wikipedia, 2012) : 1. 2. 3. 4. 5.
Portabilitas MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. Perangkat lunak sumber terbuka MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis. Multi-user MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 'Performance tuning' MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. Ragam tipe data
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran
BAB II Kajian Pustaka
30
6.
MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, double, char, text, date, timestamp, dan lain-lain. float, Perintah dan Fungsi MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
7. 8.
9.
10. 11. 12. 13.
Keamanan MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. Skalabilitas dan Pembatasan MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. Konektivitas MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT). Lokalisasi MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya. Antar Muka MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). Klien dan Peralatan MySQL dilengkapi dengan berbagai peralatan (tool)yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. Struktur tabel MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
Sistem Temu Balik Informasi Menggunakan Analisis Latent Semantik Untuk Perekomendasian Terjemahan Ayat Alquran