BAB IV ANALISA DAN PENERAPAN
ANALISA DAN PERANCANGAN
4.3.1 Perancangan sistem dengan Entity Relationship Diagram
Desain sistem dengan entity relationship diagram dilukiskan dengan conceptual data model (gambar 4-4). Pada awal setiap tabel selalu dituliskan jenis tabel yaitu master atau dituliskan dengan “m” dan proses ditulis dengan “p”. Kedua penanda ini yang menjadi acuan bahwa bila sebuah tabel dikatakan master maka nilai yang ada didalamnya tidak akan mengalami perubahan. Sedangkan bila sebuah tabel diawali dengan proses atau “p” maka tabel tersebut merupakan tabel proses dan isi dari tabel tersebut sering mengalami perubahan.
62 4.3.2 Pembuatan Physical Database serta hubungannya dengan sistem indexing
dan searching
Pembuatan database dengan sistem indexing dan searching mempunyai hubungan yang cukup erat dimana sistem indexing merupakan sistem yang memasukkan data ke database dan sistem searching adalah sistem yang mencari kedalam database. Oleh karena kedua alasan itulah maka desain database dibuat agar dapat mengakomodir dua kepentingan tersebut. Berikut ini adalah daftar tabel yang digunakan beserta dengan tipedatanya:
mempunyai
Gambar 4-4 Conceptual Data Model
63
Tabel 4.3 m_document berisi daftar dokumen yang ada pada direktori penyimpan
dokumen / paper.
Nama Field Type Field Keterangan
Fnkd_document Bigint(6) Kode dokumen
Fc_path_document Varchar(255) Path dokumen Fc_jenis_document Varchar(100) Jenis dokumen
Fc_have_text_file Char(1) Status mempunyai text file Fc_indexed Char(1) Status telah ter - index
Fd_tgl_updt Datetime Tanggal update
Fc_extensi_document Varchar(4) Ekstensi dokumen Fc_nama_file Varchar(25) Nama file tanpa ekstensi
Tabel 4.3 Tabel m_document
Tabel 4.4 m_kata berisi daftar kata yang telah masuk ke dalam sistem (baik dari
index maupun dari searching).
Nama Field Type Field keterangan Fnkd_kata Bigint(6) Kode kata Fc_kata Varchar(255) Keterangan kata Fd_tgl_updt Datetime Tanggal update
Tabel 4.4 Tabel m_kata
Tabel 4.5 m_library berisi daftar kata kunci / keyword yang telah masuk pada sistem. Disimpan dalam bentuk kode kata. Bila inputan berupa phrase maka akan diapit dengan tanda petik ganda (“).
Nama Field Type Field Keterangan
Fnkd_library Bigint(6) Kode library
Fc_library Varchar(255) Keterangan library
Fd_tgl_updt Datetime Tanggal update
Tabel 4.5 Tabel m_library
64
Tabel 4.6 m_stop_word berisi daftar kata yang termasuk pada kata yang sering
muncul (stop word) dan tidak diikutkan pada proses indexing.
Nama Field Type Field Keterangan
Fnkd_stop_word Bigint(6) Kode stop word Fc_stop_word Varchar(255) Keterangan stop word
Fd_tgl_updt Datetime Tanggal update
Tabel 4.6 Tabel m_stop_word
Tabel 4.7 m_keyword_attach_to_paper berisi daftar kata kunci / keyword yang
memang dituliskan oleh penulis dokumen (paper)
Nama Field Type Field Keterangan
Fnkd_library Bigint(6) Kode library
Fnkd_document Bigint(6) Kode dokumen
Tabel 4.7 Tabel m_keyword_attach_to_paper
Tabel 4.8 p_indexing berisi daftar kata yang di-index
Nama Field Type Field Keterangan
Fnkd_Kata Bigint(6) Kode kata
Fnkd_Document Varchar(255) Kode dokumen
Fnkd_Kata_Kanan Bigint(6) Kode kata yang ada dikanan posisi kata saat ini
Fnkd_Posisi Bigint(6) Posisi kata
Fd_Tgl_Updt Datetime Tanggal update
Tabel 4.8 Tabel p_indexing
Tabel 4.9 p_jml_kata_pd_document berisi daftar jumlah keluaran (occurance) kata.
Nilai yang ada pada tabel ini didapatkan dari tabel p_indexing
Nama Field Type Field Keterangan
Fnkd_kata Bigint(6) Kode kata
Fnkd_document Varchar(255) Kode dokumen
Fn_jml_kata_pd_document Bigint(6) Jumlah kata pada dokumen (word occurance)
Fd_tgl_updt Datetime Tanggal update
Tabel 4.9 Tabel p_jml_kata_pd_document
65
Tabel 4.10 keyword_to_paper berisi relasi dari keyword terhadap paper Nama Field Type Field Keterangan
Fnkd_document Bigint(6) Kode dokumen
Fnkd_kata Bigint(6) Kode library
Fn_fuzzy_value double Nilai fuzzy Fd_tgl_updt Datetime Tanggal update
Tabel 4.10 Tabel p_keyword_to_paper
Tabel 4.11 paper_to_paper berisi relasi dari paper terhadap paper Nama Field Type Field Keterangan Fnkd_document1 Bigint(6) Kode dokumen 1 Fnkd_document2 Bigint(6) Kode dokumen 2 Fn_fuzzy_value double Nilai fuzzy Fd_tgl_updt Datetime Tanggal update
Tabel 4.11 Tabel p_paper_to_paper
Tabel 4.12 keyword_to_keyword berisi relasi dari keyword terhadap keyword Nama Field Type Field Keterangan
Fnkd_kata1 Bigint(6) Kode library 1 Fnkd_kata2 Bigint(6) Kode library 2 Fn_fuzzy_value double Nilai fuzzy Fd_tgl_updt Datetime Tanggal update
Tabel 4.12 Tabel p_keyword_to_keyword
Tabel 4.13 paper_to_keyword berisi relasi dari paper terhadap keyword
Nama Field Type Field Keterangan
Fnkd_kata Bigint(6) Kode library
Fnkd_document Bigint(6) Kode dokumen
Fn_fuzzy_value double Nilai fuzzy
Fd_tgl_updt Datetime Tanggal update
Tabel 4.13 Tabel p_paper_to_keyword
66
Tabel 4.14 published berisi tentang detail sebuah dokumen dan juga berisi keyword
yang sudah ditentukan oleh penulis
Nama Field Type Field Keterangan PublishedID Varchar(25) Kode publisher
Title Varchar(225) Judul dokumen
Keyword Varchar(255) Kata kunci dokumen ke-1 Author Varchar(50) Pengarang
Keyword2 Varchar(255) Kata kunci dokumen ke-2 Tabel 4.14 Published
Tabel yang menjadi perhatian dalam kepentingan kedua sistem ini (indexing dan searching) adalah tabel 4.8 p_indexing. Tabel ini merupakan tabel inti dari seluruh proses. Pada tabel inilah semua data yang di-index akan disimpan dan dicari.
Tabel 4.8 p_indexing dibuat dengan meniru metode link – listed (dimana satu objek bisa menjadi acuan untuk objek yang lain). Dengan meniru metode link – listed inilah maka tabel 4.8 p_indexing dibuat agar asumsi bahwa dengan data satu kata maka kita bisa mengetahui data kata berikutnya. Sehingga proses pembacaan dapat mengikuti pola n-1 dimana n adalah jumlah kata yang dicari. Selengkapnya mengenai pengisian (inserting data) tabel p_indexing dijelaskan sebagai berikut :
Pembacaan dari file teks. Hasil pembacaan dari file teks adalah seluruh isi dari file teks termasuk tanda baca dan new line (\n)
Dilakukan pembersihan terhadap semua new line. Sehingga setelah dibersihkan
seluruh isi teks akan tertampung dalam satu variabel. (satu variabel dengan string yang sangat panjang yang berisi seluruh isi file)
Kemudian dilakukan pembersihan terhadap tanda baca dan stop word
67
Setelah melewati beberapa tahap pembersihan maka proses penyimpanan data dilakukan.
Seperti yang tertera diatas bahwa seluruh isi file tertampung pada satu variabel maka
dengan memisahkan dengan tanda spasi akan didapatkan posisi kata (dihitung dari kiri).
Dimulailah proses pemasukan data (insert data) dengan urutan yaitu kata (word in
current positon), kode dokumen, kata berikut (word in the next position), posisi kata (current word position).
Gambar 4-5 menggambarkan dengan jelas cara kerja pembuatan tabel p_indexing.
Kemudian bila dilihat dari sistem searching maka bentuk tabel seperti yang tergambar pada gambar 4-5 akan mempersingkat jumlah pembacaan ke database. Hal ini bisa dilihat dengan ilustrasi sebagai berikut.
Kata pencarian : aku belajar
Gambar 4-5 Gambar pembuatan tabel p_indexing
File Aku belajar menggunakan search engine
Filter
aku belajar menggunakan search engine
Database
kata dokumen kata_berikut posisi aku 1 belajar 0 belajar 1 menggunakan 1 menggunakan 1 search 2 search 1 engins 3 engine 1 4
68 Proses searching “hanya” mencari dimana kata adalah “aku” dan kata_berikut adalah
“belajar” mengacu pada gambar 4-5 maka proses pencarian hanya perlu dilakukan pada 1 record.
Kata pencarian : menggunakan search engine
Proses searching “hanya” mencari dimana kata adalah “menggunakan” dan kata_berikut adalah “search”, mengacu pada gambar 4-5 maka proses pencarian akan dilanjutkan dengan mencari kata “search” pada dokumen 1 dan kata_berikutnya adalah
“engine”. Maka hasil akan ditemukan dalam 2 record. Sehingga dapat disimpulkan bahwa pencarian hanya akan membutuhkan jumlah fetch ke database sebesar n-1 kali dimana n adalah jumlah kata yang dicari.
4.3.3 Perancangan dan pembuatan sistem indexing dan searching dengan fuzzy