BAB 4
IMPLEMENTASI DAN PENGUJIAN
Pada bab ini, akan dibahas mengenai implementasi dari algoritma
Manber
, teknik
stemming
, dan
Synonym Recognition
sehingga pengujian terhadap sistem dapat dilakukan, baik untuk tampilan sistem maupun hasil akhir berupa persentase
kemiripan yang dimiliki oleh dokumen teks uji dengan pembandingnya.
4.1 Implementasi
Sistem diprogram dengan menggunakan bahasa pemrograman PHP, artinya sistem akan dijalankan pada
browser
sebagai media pemrosesan dan
interface
sistem. Database yang digunakan adalah database MySql dengan menggunakan
software
XAMPP.
4.1.1 Spesifikasi Hardware Dan Software Yang Digunakan
Berikut ini merupakan spesifikasi yang digunakan dalam pembuatan sistem dapat, yaitu :
1.
P rocessor
AMD A8- 5600k APU with Radeon™ HD Grapichs 4 CPUs,
~3.6GHz. 2.
Kapasitas
hard disk
500 GB. 3.
Memori RAM yang digunakan 4 GB. 4.
Sistem operasi yang digunakan adalah
Microsoft Windows
8.0 Pro 32-bit.
Universitas Sumatera Utara
5. XAMPP 1.8.1.
6. Mozilla Firefox 30.0.
4.1.2 Database Tabel Kata Dasar
Tabel kata dasar terdiri atas dua kolom, yaitu id kata dasar dan kata dasar sesuai dengan Gambar 4.1 berikut :
Gambar 4.1 Database Tabel Kata Dasar
4.1.3 Database Tabel Kata Sinonim
Tabel kata sinonim terdiri atas tiga kolom, yaitu id kata sinonim, kata sinonim, dan sinonim kata sesuai dengan Gambar 4.2 berikut :
Gambar 4.2 Database Tabel Kata Sinonim
Universitas Sumatera Utara
4.1.4 Tampilan Awal
Tampilan awal sistem dibuat sederhana agar mudah dalam menggunakan sistem serta membuang waktu yang tidak relevan, dengan rincian sebagai berikut :
1. Tombol
Browse
untuk mencari
file
pdf yang akan diuji dan dibandingkan. 2.
Tombol
Submit
sebagai proses pembacaan
file
pdf yang sudah ditemukan. 3.
IF RAME
yang digunakan untuk membaca
file
pdf yang ditemukan. 4.
Tombol cetak pdf untuk proses pencetakan isi
iframe
ke dalam
textarea
-nya masing- masing.
5.
Textarea
yang digunakan sebagai media cetak hasil pembacaan
file
pdf dari iframe dan sebagai
input
-an teks secara manual yang tidak berasal dari
file
pdf. 6.
Textbox
yang digunakan untuk mendapatkan nilai N dalam pembuatan rangkaian gram dan nilai pembagi
modulo
pada pemilihan
fingerprint
. 7.
Tombol deteksi untuk memulai proses pendeteksian dan tombol reset untuk me-
refresh
atau mengondisikan sistem seperti semula. Semua elemen terangkum ke dalam sebuah tabel dengan ketebalan garis = 0.
Tampilan awal sistem dapat dilihat pada Gambar 4.3 berikut :
Gambar 4.3 Tampilan Awal Sistem
Universitas Sumatera Utara
4.1.5 Tampilan Hasil
Tampilan hasil sistem dimuat dalam satu tabel dengan tujuan untuk memudahkan pengguna dalam membaca hasil yang dikeluarkan, seperti pada Gambar 4.4 berikut :
Gambar 4.4 Tampilan Hasil Sistem
Pada tampilan hasil turut dicantumkan waktu proses sehingga pengguna dapat mengukur kecepatan dari gabungan algoritma dan kedua teknik pendukungnya.
Berikut ini merupakan kode program yang di implementasikan untuk menampilkan waktu proses sistem, yaitu :
1. Pada awal kode program :
mtime = microtime; mtime = explode ,mtime;
Universitas Sumatera Utara
mtime = mtime[1] + mtime[0]; starttime = mtime;
2. Pada akhir kode program :
mtime = microtime; mtime = explode ,mtime;
mtime = mtime[1] + mtime[0]; endtime = mtime;
totaltime = roundendtime - starttime , 3;
4.1.6 Stemming
Proses stemming terbagi atas lima tahap, dimana tahap ini harus dilakukan secara berturut agar mendapatkan hasil yang sesuai. Masing-masing tahap penghapusan
dibuat menjadi paket-paket untuk memudahkan proses pemanggilan fungsi, sebagai contoh :
function hapuspartikelkata{ }
Kode program yang digunakan pada penghapusan setiap bubuhan kata harus dilakukan sesingkat mungkin, salah satu caranya adalah dengan menggabungkan
bubuhan kata yang memiliki panjang
string
yang sama, seperti :
ifsubstrkata, -2 == ku || substrkata, -2 == mu{ }
else ifsubstrkata, -3== nya{ }
Dengan menggunakan cara seperti ini, tentunya sistem akan lebih cepat dalam mencari bubuhan kata yang dicari.
Di dalam pengimplementasiannya, proses stemming setiap bubuhan kata harus diselingi dengan stemming bubuhan kata selanjutnya. Berikut ini merupakan contoh
kode program yang diimplementasikan ke dalam sistem, yaitu :
ifsubstrkata, -2 == ku || substrkata, -2 == mu{ kata1 = substrkata, 0, -2;
ak1 = hapusakhiranhapusawalan2hapusawalan1kata1; ifcariak1 = 0{
kata = kata1;
Universitas Sumatera Utara
} else{
kata; }
}
Jika proses pada variable ak1 tidak dilakukan, maka proses pencarian kata dasar di dalam kamus tidak akan ditemukan, sehingga menghasilkan kata itu kembali. Gambar
4.6 berikut merupakan contoh pengimplementasian teknik
stemming
di dalam sistem :
Gambar 4.5 Hasil Implementasi
Stemming
4.1.7 Synonym Recognition
Pengimplementasian
Synonym Recognition
sangat sederhana karena proses yang dilakukan hanya mengecek database :
a = mysql_queryselect from tb_katasinonim where sinonim = c;
b = mysql_fetch_arraya;
Dan melakukan pengubahan jika kata sinonim ditemukan :
ifb{ d = b[katasinonim];
}
Jika tidak ditemukan, maka kata tidak berubah :
else{ d = c;
}
Kata sinonim yang dijadikan sebagai acuan perubahan merupakan kata dengan panjang
string
yang terkecil, sehingga proses
noise reduction
pada algoritma
Manber
Universitas Sumatera Utara
dapat berjalan. Gambar 4.6 berikut merupakan contoh implementasi
Synonym Recognition
setelah proses
stemming
:
Gambar 4.6 Hasil Implementasi
Synonym Recognition
4.1.8 Algoritma Manber
Gambar 4.7 berikut merupakan hasil dari penyelesaian algoritma
Manber
yang dilakukan secara berturut di mulai dari penghapusan
noise
dan
whitespace
hingga pemilihan
fingerprint
, yaitu :
Gambar 4.7 Hasil Proses Algoritma Manber
Proses terakhir algoritma
Manber
adalah menentukan similaritas dokumen teks dengan menggunakan persamaan
Jaccard Coefficient
dengan yang dapat dilihat pada Gambar 4.8, berikut :
Teks Uji : Tubuh saya memerlukan takaran nutrisi yang mencukupi
supaya tidak segera sakit.
Universitas Sumatera Utara
Teks Banding : Agar tubuhnya tidak cepat mengidap penyakit, maka dibutuhkan tambahan vitamin dengan dosis yang pas.
Gram : 2
Modulo
: 2
Gambar 4.8 Hasil Akhir Algoritma Manber
4.2 Pengujian Sistem