BAB 3
ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini akan dibahas mengenai beberapa hal, diantaranya data yang digunakan,
flowchart
dan
activity diagram
sistem serta analisis perancangan sistem baik dalam mengimplementasikan algoritma
Manber
serta teknik
stemming
dan
Synonym Recognition
maupun tampilan sistem.
3.1 Data Yang Digunakan
Ada beberapa data yang diperlukan dalam melakukan pendeteksian pada dokumen teks sesuai dengan algoritma dan teknik yang digunakan pada penelitian ini, yaitu :
1. Data uji dan pembanding, berupa data dengan format pdf atau teks biasa yang
di-
input
secara manual. 2.
Data mengenai kata dasar yang berasal dari Kamus Besar Bahasa Indonesia KBBI dan disimpan ke dalam satu tabel MySql. Tabel terdiri atas id kata
dasar dan kata dasar. 3.
Data mengenai sinonim kata yang bersumber dari Kamus Tesaurus Indonesia dan disimpan ke dalam satu tabel Mysql. Terdiri atas id kata sinonim, sinonim,
dan kata.
3.2
F lowchart
Sistem
F lowchart
sistem menggambarkan tahapan dari penyelesaian masalah yang dilakukan oleh sistem. Tahapan diuraikan secara terstruktur sehingga dapat memberikan suatu
Universitas Sumatera Utara
gambaran dan membantu pengguna untuk lebih memahami rancangan sistem yang akan dibuat.
F lowchart
sistem yang dirancang akan menjelaskan bagaimana proses pendeteksian kemiripan dokumen teks dilakukan. Pendeteksian dimulai dari peng-
input
-an teks kemudian tahap
P reprocessing
Gambar 3.1,
Text Transformation
Gambar 3.2,
F eature Selection
, dan tahap terakhir yaitu
pattern discovery
yang terangkum dalam satu algoritma, yaitu algoritma
Manber
Gambar 3.3 berikut:
START
BACA TEKS
KATA TOKENIZING
FILTERING INPUT
DATA
Pr e
p ro
c e
s s
in g
KALIMAT
HURUF, ANGKA, DAN
WHITESPACE
CASE FOLDING
KALIMAT
LOWER CASE
FINISH
Gambar 3.1
F lowchart Preprocessing
Universitas Sumatera Utara
DB KATA
DASAR STEMMING
KATA DASAR DITEMUKAN
KATA DASAR
DB KATA SINONIM
KATA SINONIM
DITEMUKAN UBAH KATA
KATA SINONIM
NO
YES
NO YES
T e
x t
T ra
n s
fo rm
a ti
o n
Syn o
n ym
R e
co g
n iti
o n
KATA
HASIL TOKENIZING
FINISH START
Gambar 3.2
F lowchart Text Transformation
Universitas Sumatera Utara
KALIMAT
HAPUS WHITESPACE
KALIMAT
HURUF DAN ANGKA
F e
a tu
re Se
le
c ti
o n
Al g
o ri
tma Ma
n
b e
r
START
KATA SINONIM
HAPUS NOISE
KATA KARAKTER 3
GABUNG KATA
METODE N-GRAM
RANGKAIAN GRAM
FUNGSI HASH
NILAI HASH
H MOD P = 0
FINGERPRINT
PERS. JACCARD
COEF.
PERSENTASE SiMILARITAS
FINISH
Pa tte
rn
D is
c o
v e
ry
A
A
Gambar 3.3
F lowchart F eature Selection Pattern Discovery
Universitas Sumatera Utara
3.3
Activity Diagram
Activity Diagram
sistem menggambarkan urutan aktivitas dari sistem yang dirancang. Aktivitas sistem digambarkan secara umum artinya tetap terstruktur namun tidak
secara mendetail seperti pembuatan
F lowchart
.
Activity Diagram
diharapkan dapat membantu pemahaman proses rancangan sistem, baik
interface
maupun aktivitas yang dilakukan oleh sistem dengan lebih ringkas.
Activity Diagram
yang dibuat akan menampilkan bagaimana aktivitas pada
interface
dan proses kerja sistem yang dirancang, seperti pada Gambar 3.4:
INTERFACE SISTEM
Stemming
Sinonim
Algoritma Manber
Input File Pdf Teks, N-Gram, dan Modulo
Output : Hasil Proses Stemming, Sinonim, Rangkaian Gram,
Fingerprint, Dan Similaritas
Gambar 3.4
Diagram Activity
Berdasarkan Gambar 3.4, maka proses dimulai dengan
user
meng-
input
kedua file pdf ataupun teks yang akan dibandingkan beserta nilai N yang digunakan sebagai panjang
rangkaian gram dan nilai pembagi yang digunakan pada pemilihan
fingerprint
. Data
Universitas Sumatera Utara
yang sudah diterima sistem, diproses menggunakan teknik
stemming
, kemudian dilanjutkan dengan proses
Synonym Recognition
, dan diakhiri dengan menggunakan algoritma
Manber
.
Output
yang diterima oleh
user
adalah : 1.
Hasil
stemming
, 2.
Hasil
Synonym Recognition
, 3.
Hasil
Noise Reduction
, 4.
Rangkaian gram, 5.
Nilai
hash
, 6.
F ingerprint
, dan 7.
Persentase similaritas.
3.4
Stemming
Proses
stemming
yang digunakan adalah
Stemming P orter
. Berdasarkan penelitiannya mengenai perbandingan
Stemming P orter
dengan
Stemming Nazief Adriani
, Agusta 2009 menyimpulkan bahwa
Stemming P orter
memiliki waktu proses yang sangat cepat namun tingkat keakuratannya lebih kecil daripada
Stemming Nazief Adriani
yang menggunakan kamus kata dasar. Meskipun keakuratan kata dasar yang dihasilkan dengan menggunakan
Stemming Nazief Adriani
sangat baik, namun hal ini berbanding terbalik dengan waktu prosesnya yang sangat lama. Oleh karena itu,
maka digunakanlah
Stemming P orter
dengan menambahkan kamus kata dasar, sehingga nantinya akan menghasilkan proses
stemming
yang cepat dan akurat. Pada Tabel 3.1, dipaparkan mengenai bubuhan yang akan dideteksi pada
proses
Stemming P orter
Agusta, 2009, yaitu :
Tabel 3.1 Bubuhan Kata
Stemming Porter
No. Jenis
Bubuhan
1. Partikel
-kah, -lah, -pun 2.
Kata Ganti Orang
P ossessive P ronoun
-ku, -mu, -nya
3. Awalan 1
meng-, meny-, men-, mem-, me-, peng-, peny- , pen-, pem-, di-, ter-, ke-
Universitas Sumatera Utara
4. Awalan 2
ber-, bel-, be-, per-, pel-, pe- 5.
Akhiran -kan, -an, -i
Ada satu imbuhan lainnya, yaitu sisipan. Kata sisipan sangat jarang digunakan dan memiliki arti yang cenderung sama sehingga sisipan akan digabung ke dalam proses
Synonym Recognition
. Ada beberapa kasus dimana keakuratan kata dasar yang terbentuk tidak sesuai
dengan kata yang berasal dari kamus jika menggunakan bubuhan kata pada Tabel 3.1, salah satu contohnya adalah :
“sepengetahuanku” Ka
ta “sepengetahuanku” merupakan hasil gabungan dari : 1.
Satu kata dasar : “tahu”
2. Satu imbuhan akhir
: “an” 3.
Satu kata ganti orang : “ku”
Berdasarkan contoh di atas, terdapat beberapa imbuhan yang tidak tercantum pada Tabel 3.1 sehingga tidak menghasilkan kata dasar yang sesuai dan masih banyak
kasus lainnya. Oleh karena itu, dibentuk satu bubuhan kata yang lebih sesuai pada Tabel 3.2 berikut :
Tabel 3.2 Penambahan Bubuhan Kata No.
Jenis Bubuhan
1. Partikel
-kah, -lah, -tah, -pun 2.
Kata Ganti Orang -ku, -mu, -nya
3. Awalan 1
menge-, meng-, meny-, men-, mem-, me-, peng-, peny-, pen-, pem-, di-, ber-, ke-, se-
4. Awalan 2
penge-, ber-, bel-, be-, per-, pel-, pe-, ter-, se- 5.
Akhiran -kan, -an, -i
Ada beberapa awalan yang diberikan dua posisi yaitu sebagai awalan 1 dan awalan 2 karena terkadang awalan ini digunakan sebanyak dua kali, contohnya “sesekali”.
Dengan menggunakan contoh yang sama, yaitu kata “sepengetahuanku” maka dihasilkan kata dasar “tahu” yang merupakan hasil gabungan dari :
Universitas Sumatera Utara
1. Satu kata ganti orang
: “-ku” 2.
Satu awalan 1 : “se-“
3. Satu awalan 2
: “penge” 4.
Satu akhiran : “an”
5. Satu kata dasar
: “tahu”
Di dalam imbuhan bahasa Indonesia, terdapat beberapa peleburan huruf pada kata dasar. Peleburan tersebut hanya berasal dari prefiks atau awalan, contoh :
“me-“ + “tari” = “menari” Oleh karena itu, maka diberikan beberapa aturan atau
rules
ke dalam proses
stemming
yang dapat dilihat pada Tabel 3.3 berikut :
Tabel 3.3
Rules
Peleburan Huruf No.
Rules
Keterangan
1. mem- + -r
Menghasil kata dasar yang dimulai dengan huruf p-
2. men- + huruf vokal -a, -i, -u, -e, o
Menghasil kata dasar yang dimulai dengan huruf t-
3. meny- + huruf apapun
Menghasil kata dasar yang dimulai dengan huruf s-
4. meng- + huruf vokal -a, -i, -u, -e, o
+ kata dasar tidak dimulai dengan huruf vokal
Menghasil kata dasar yang dimulai dengan huruf k-
5. pem- + -r
Menghasil kata dasar yang dimulai dengan huruf p-
.6. pen- + huruf vokal -a, -i, -u, -e, o Menghasil kata dasar yang dimulai
dengan huruf t- 7.
peny- + huruf apapun Menghasil kata dasar yang dimulai
dengan huruf s- 8.
peng- + huruf vokal -a, -i, -u, -e, o + kata dasar tidak dimulai dengan
huruf vokal Menghasil kata dasar yang dimulai
dengan huruf k-
Universitas Sumatera Utara
Awalan “bel-” dan “pel-” merupakan imbuhan yang hanya berasal dari peleburan awalan “ber” atau “per-“ + kata dasar “ajar”, sehingga dapat diasumsikan bahwa
awalan “bel-” dan “pel-” bukan peleburan melainkan awalan. Sama halnya dengan awalan “ber-“, ”per”, atau “ter-“ + dengan kata dasar yang dimulai dengan huruf “r”,
yaitu terjadi peleburan huruf “r”. Oleh karena itu, akan diasumsikan pula bahwa awalan “be-”, “pe”, atau “te” merupakan awalan.
Secara singkat, proses
Stemming
dapat dilihat pada gambar 3.5:
KATA HASIL TOKENIZING
CEK KATA PADA DATABASE KATA
DASAR KATA DASAR
DITEMUKAN KATA DASAR TIDAK
DITEMUKAN CEK PARTIKEL
CEK KATA GANTI ORANG
PENGHAPUSAN AWALAN 1
PENGHAPUSAN AWALAN 2
PENGHAPUSAN AKHIRAN
KATA DASAR
CEK 2
CEK 3
CEK 4
CEK 5
CEK 6 HAPUS BUBUHAN
TIDAK ADA ADA
TIDAK ADA TIDAK ADA
TIDAK ADA
ADA ADA
ADA ADA
TIDAK ADA CEK 1
Gambar 3.5 Proses
Stemming
Universitas Sumatera Utara
Berikut ini merupakan penjelasan dari Gambar 3.5, yaitu : 1.
Setiap kata hasil
tokenizing
dicek ke dalam database kata dasar. Pengecekan pertama dilakukan untuk mengetahui apakah kata merupakan kata dasar.
a. Jika ya, maka kata merupakan kata dasar.
b. Jika tidak, maka dilakukan pengecekan ke-2.
2. Pengecekan ke-2 dilakukan untuk mengetahui apakah kata memiliki partikel.
a. Jika ya, maka dilakukan penghapusan partikel kemudian melakukan
pengecekan ke dalam database, apakah kata merupakan kata dasar atau tidak. Jika ya, maka kata merupakan kata dasar. Jika tidak, maka dilakukan
proses ke-3. b.
Jika tidak, maka dilakukan pengecekan ke-3. 3.
Pengecekan ke-3 dilakukan untuk mengetahui apakah kata memiliki kata ganti orang.
a. Jika ya, maka dilakukan penghapusan kata ganti orang kemudian
melakukan pengecekan ke dalam database, apakah kata merupakan kata dasar atau tidak. Jika ya, maka kata merupakan kata dasar. Jika tidak, maka
dilakukan proses ke-4. b.
Jika tidak, maka dilakukan pengecekan ke-4. 4.
Pengecekan ke-4 dilakukan untuk mengetahui apakah kata memiliki awalan 1. a.
Jika ya, maka dilakukan penghapusan awalan 1 kemudian melakukan pengecekan ke dalam database, apakah kata merupakan kata dasar atau
tidak. Jika ya, maka kata merupakan kata dasar. Jika tidak, maka dilakukan proses ke-5.
b. Jika tidak, maka dilakukan pengecekan ke-5.
5. Pengecekan ke-5 dilakukan untuk mengetahui apakah kata memiliki awalan 2.
a. Jika ya, maka dilakukan penghapusan awalan 2 kemudian melakukan
pengecekan kembali ke dalam database, apakah kata merupakan kata dasar atau tidak. Jika ya, maka kata merupakan kata dasar. Jika tidak, maka
dilakukan proses ke-6. b.
Jika tidak, maka dilakukan pengecekan ke-6. 6.
Pengecekan ke-6 merupakan proses terakhir. Selain untuk mengetahui apakah kata memiliki akhiran, juga sebagai pengasumsian kata dasar.
Universitas Sumatera Utara
a. Jika ya, maka dilakukan penghapusan akhiran dan diasumsikan bahwa kata
merupakan kata dasar. b.
Jika tidak, maka kata diasumsikan sebagai kata dasar.
3.5
Synonim Recognition
Synonim Recognition
merupakan proses yang dilakukan setelah proses
stemming
. Hal ini dilakukan karena banyaknya kata sinonim yang berasal dari kata dasar meskipun
beberapa sinonim kata menggunakan imbuhan. Untuk mengatasi permasalahan tersebut maka sinonim kata yang terdapat di dalam database merupakan kata dasar
meskipun makna yang dari kata menjadi berubah. Proses pengenalan sinonim ini dilakukan hanya sekali untuk setiap
array
kata yang ada sehingga apabila
array
kata merupakan kata bersinonim maupun tidak, maka
array
kata akan tetap dicetak sama seperti
array
kata sebelum proses
Synonym Recognition
. Hal ini dapat diakibatkan oleh tiga faktor, yaitu : 1.
Kata adalah kata utama sinonim kata, maksudnya kata merupakan bentuk ubahan yang terjadi pada kata yang memiliki sinonim.
2. Kata memang tidak memiliki sinonim.
3. Sinonim tidak terdapat di dalam database.
Secara ringkas, proses
Synonym Recognition
dapat dilihat pada gambar 3.6:
KATA HASIL STEMMING
CEK DATABASE KATA DITEMUKAN
KATA TIDAK DITEMUKAN
UBAH KATA
KATA SINONIM
Gambar 3.6 Proses
Synonym Recognition
Berdasarkan Gambar 3.6, dapat dijelaskan bahwa
array
kata hasil proses
stemming
yaitu kata dasar akan dilakukan pengecekan ke dalam database sinonim.
Universitas Sumatera Utara
1. Jika kata ditemukan, maka kata diubah sesuai dengan sinonim katanya dan
menghasilkan kata sinonim. Jika kata sudah merupakan sinonimnya, maka kata tidak mengalami perubahan dan tetap menghasilkan kata sinonim.
2. Jika kata tidak ditemukan, maka kata tidak mengalami perubahan dan tetap
menghasilkan kata sinonim.
3.6 Algoritma