DFD Level 2

3.2.2 DFD Level 2

3.2.2.1 DFD Level 2 Proses 1 Mesin Indeks

Pada Gambar 3.3 DFD Level 2 Proses 1 Mesin Indeks di bagi menjadi 4 sub proses. Akan tetapi proses utama pada mesin indeks ini hanya terdiri dari 3 proses utama yaitu :

1. Parsing

2. Penghilangan Stopwords

3. Penghitungan bobot

Ketiga proses tersebut yang akan digunakan oleh sistem temu-kembali informasi untuk mengubah teks menjadi indeks istilah untuk digunakan dalam proses pencarian dokumen.

File Storage

Dokumen Teks

Administrator Parsing

Dokumen yang

Index

dipilih

Array Kata

1.3 Penghilangan Stopwords

Indeks Istilah

Gambar 3.3 Data Flow Diagram Level 2 Proses 1 Mesin Indeks

3.2.2.1.1 Proses 1.2 Parsing

Parsing merupakan proses pengenalan kata di dalam rangkaian teks. Input pada proses ini merupakan teks mentah yang masih dalam bentuk paragraf. Nanti teks ini akan diproses dengan menggunakan algoritma tokenizer untuk dipecah menjadi unit-unit yang lebih kecil misalnya berupa kata (token).

Tokenizer menerima masukan berupa rangkaian karakter dan memilahnya menjadi token dengan aturan sebagai berikut:

• Suatu kata dimulai oleh huruf atau angka

• Kata dipisahkan oleh karakter whitespace (spasi, tabulasi, baris baru, dll)

• Karakter-karakter khusus yang mengikuti huruf atau angka dianggap bagian dari kata (misalnya tanda persen dalam 125%) namun dianggap

sebagai pemisah kata jika tidak.

Awal proses pada parsing adalah proses case folding yaitu membuat semua huruf pada teks yang akan di-parsing menjadi huruf kecil, hal ini dilakukan untuk memperkecil ukuran basis data pada indeks, lalu dilanjutkan dengan pemrosesan penghilangan tanda baca. Selanjutnya akan dilakukan pemisahan teks menjadi array kata. Untuk lebih jelasnya mengenai pemrosesan parsing dapat dilihat pada bagan alir di Gambar 3.4. Keluaran yang dihasilkan adalah array kata yang akan digunakan pada pemrosesan selanjutnya.

Mulai

Case Folding

Penghilangan

tanda baca

Pembentukan

array Kata

Selesai

Gambar 3.4 Bagan Alir Proses 1.2 Parsing

3.2.2.1.2 Proses 1.3 Penghilangan Stopwords

Proses penghilangan stopwords ini berfungsi sebagai penyaring kata-kata umum yang hampir selalu ada pada dokumen dan tidak signifikan untuk dijadikan indeks suatu dokumen. Kata-kata umum ini telah didefinisikan sebelumnya sehingga pada proses ini hanya membandingkan kata yang merupakan hasil proses parsing dengan stopwords.

Input pada proses 1.2 Penghilangan Stopwords (Gambar 3.5) adalah array kata hasil dari proses parsing. Algoritmanya adalah sebagai berikut :

1. Baca array kata yang didapat dari proses parsing.

2. Ambil daftar stopwords

3. Bandingkan array kata dengan daftar stopwords

Jika kata termasuk ke dalam daftar stopwords, maka buang kata dari array.

4. Ulangi ke langkah no.3 sampai array kata paling terakhir.

Mulai

Array Kata

sebuah dokumen

i=0

Daftar

Bandingkan isi

stopwords

array ke-i dengan

daftar stopwords

i=i+1

Isi array ke-I =

frekuensi token

Ya

Tidak

Hapus data array

ke-i

i = jumlah array

Ya

Pembuatan array Token

selesai

Gambar 3.5 Bagan Alir Proses 1.3 Penghilangan Stopwords

Hasil dari proses ini berupa array token yang berwujud dua dimensi dengan format : Array ( Array ( kata → banyaknya kata , kata → posisi kata dalam dokumen ) , kata → banyaknya kata )). Array pada dimensi yang pertama Hasil dari proses ini berupa array token yang berwujud dua dimensi dengan format : Array ( Array ( kata → banyaknya kata , kata → posisi kata dalam dokumen ) , kata → banyaknya kata )). Array pada dimensi yang pertama

3.2.2.1.3 Proses 1.4 Penghitungan Bobot

Setelah proses penghilangan stopwords proses pengindeksan dokumen dilanjutkan dengan proses berikutnya yaitu proses penghitungan bobot. Proses 1.4 Penghitungan Bobot menggunakan array token hasil dari Proses 1.3 Penghilangan Stopwords sebagai masukannya. Token pada dimensi pertama dari hasil dari Proses 1.3 ini juga yang menjadi indeks istilah yang akan digunakan dalam proses pencarian.

Dalam proses 1.4 Penghitungan bobot akan menggunakan algoritma bobot tf·idf. Terdapat 2 variabel utama yang digunakan dalam pembobotan ini, yaitu tf (term frequency) dan idf (inverse document frequency). Proses ini akan menghitung nilai dari dua variabel tersebut, sedangkan untuk nilai dari bobot akhirnya akan dilakukan pada saat pencarian dokumen. Hal ini dilakukan untuk sedikit mempercepat proses pengindeksan dokumen. Hasil akhir dari pemrosesan bobot adalah indeks istilah yang disimpan ke dalam basis data.

Array token Dokumen ke-i

Array token ke-j

j=0

dokumen ke-i

Tidak

sudah ada

i=i+1

Tambah data token ke-j ke

Tabel t_terms

Ya

term

Penghitungan tf

j=j+1

Tambah data indeks ke tabel

indeks

Basis

t_index

data

Tidak

j= jumlah array

Tidak

i=0 Ambil term dari tabel t_term

Ya

i=jumlah dokumen

Hitung idf

term

term ke-i

i=i+1

Update tabel t_term

Tidak

i=jumlah term

Ya

Selesai

Gambar 3.6 Bagan Alir Proses 1.4 Penghitungan Bobot

Algoritma penghitungan variabel tf setiap kata didalam sebuah dokumen adalah sebagai berikut :

1. Ambil sebuah dokumen

2. Baca array token

3. Cek tabel t_term, jika kata belum ada di dalam basis data, maka tambahkan informasi kata ke dalam basis data.

4. Hitung nilai tf

5. Tambahkan id_data, id_term, tf dan posisi ke tabel t_index.

6. Ulangi dari nomor 2 sampai array token terakhir

7. Ulangi dari nomor 1 sampai dokumen terakhir

Algoritma penghitungan variabel idf setiap kata adalah sebagai berikut :

1. Ambil kata dari tabel t_term pada basis data

2. Hitung nilai idf

3. Update tabel t_term berdasarkan kata yang diambil

4. Ulangi dari nomor 1 sampai kata terakhir di dalam basis data.

Dilihat pada bagan alir proses penghitungan bobot (Gambar 3.6), perhitungan variabel idf dapat dilakukan jika seluruh dokumen sudah selesai dihitung nilai variabel tf-nya yang berarti seluruh indeks istilah sudah diinputkan ke dalam basis data. Apabila diinputkan satu dokumen baru maka penghitungan idf-nya harus dilakukan ke seluruh indeks istilah yang terdapat di dalam tabel t_term. Hal ini tidak dapat dihindari sehingga membuat proses pengindeksan dokumen memakan waktu yang cukup lama.

3.2.2.2 DFD Level 2 Proses 2 Proses Cari

2.2 User

2.1 Array

Kata Kunci

Parsing

Kata

Penghilangan Stopwords

Token Query

2.3 cek Frasa

Vektor Dokumen

2.4 Fungsi kesamaan

Query Pencarian

Database Penyimpanan Data

Gambar 3.7 DFD Level 2 Proses 2 Proses Cari

Pada DFD Level 2 (Gambar 3.7), Proses 2 Proses Cari di pecah menjadi 4 buah subproses. Proses Cari ini merupakan proses pengubahan kata kunci menjadi query pencarian yang akan diproses untuk mencari dokumen berdasarkan kata kunci yang dimasukan oleh pengguna. Dua subproses awal pada proses cari sama dengan subproses pada pengindeksan dokumen yaitu parsing, penghilangan stopwordsI, cek frasa dan fungsi kesamaan.

Algoritma subproses penghilangan stopwords dan parsing pada Proses Cari ini sama dengan algoritma subproses pada proses Mesin Indeks, sehingga tidak akan dijelaskan lagi.

3.2.2.2.1 Proses 2.3 Cek Frasa

Input dari Proses 2.3 Cek Frasa yaitu token query hasil dari Proses 2.2 Penghilangan Stopwords. Proses ini merupakan proses pencarian frasa tepat dalam dokumen. Pencarian frasa ini menggunakan posisi token yang terdapat di dalam tabel t_index. Penentuan frasa tepat yang diberikan oleh pengguna dibatasi oleh tanda kutip dua (“) di dalam kata kunci yang dimasukan oleh pengguna.

Contoh : • Seorang pengguna ingin mencari frasa tepat “kota yogya”, maka sistem

pertama kali akan mencari seluruh dokumen yang memiliki kata kota dan yogya.

• Lalu setelah sistem menemukan dokumen memiliki kata tersebut, maka sistem akan mencari dokumen yang memiliki posisi kata “kota” dan

“yogya“ tepat bersebelahan dimulai dari kata “kota” dan diikuti kata “yogya”.

Tabel 3.1 Contoh Posisi Pencarian Dokumen

Dokumen

Posisi kata “kota”

Posisi “yogya”

Dilihat dari Tabel 3.1 untuk pencarian kata “kota yogya” akan menghasilkan Dokumen 1 karena posisi kata “kota” bersebelahan dengan posisi kata “yogya” yaitu bernilai 80 dan 81. Dokumen 2 tidak memiliki posisi kata “kota” dan kata “yogya” yang bersebelahan, sehingga Dokumen 2 tidak akan dimasukan kedalam vektor sebagai masukan pada proses selanjutnya.

Id_data

Mulai Match = false

id_term posisi

Array token

i=0 j=0

letak = posisi token-j ke i

j=j+1

i=i+1 j=0

k=0

Tidak

k=k+1

Tidak

letak+j = nilai

k= jumlah

posisi

Tidak

posisi Tidak

token-j ke-k

j= jumlah token

i = jumlah posisi token ke-0

Ya

Ya

Match=true

Add id_data

if match = true

Ya ke dalam Vektor Dokumen

Tidak

Selesai

Gambar 3.8 Bagan Alir Proses 2.3 Cek Frasa

Algoritma Proses 2.3 Cek Frasa (Gambar 3.8) adalah sebagai berikut :

1. set status match=false.

2. Ambil data id_data, id_term dan posisi term sesuai dengan array token yang diberikan dari tabel t_index.

3. Ambil posisi dari array token

4. Jika posisi array token pertama ditambah 1 tidak sama dengan seluruh posisi array token berikutnya, maka lanjutkan nomor 3 sampai posisi sama.

5. Jika posisi array token pertama ditambah 1 sama dengan salah satu posisi array token berikutnya lanjutkan dari nomor 2 sampai array token terakhir.

6. Jika posisi array token pertama sampai terakhir telah berurut ubah status match menjadi true.

7. Jika status match = true maka masukan id_data ke dalam array vektor dokumen.

3.2.2.2.2 Proses 2.4 Fungsi Kesamaan

Setelah vektor dokumen sudah dibuat maka vektor tersebut akan dimasukan ke dalam rumus fungsi kesamaan untuk dicari nilai bobot dari masing- masing dokumen berdasarkan query pengguna agar dapat diurutkan. Fungsi kesamaan disini menggunakan model ruang vektor, dengan rumus :

w qj ⋅ w ∑ ij

sim ( Q , D i ) = t

ij ) × ( w qj ∑ )

Mulai

Vektor Dokumen

i=0

Array Token

j=0

Ambil nilai tf dan idf

Basis

dari t_term dan

data

t_index berdasarkan id_data dokumen ke i

dan token ke j

j=j+1 i=i+1

wij = tf·idf

atas = atas+(w ij *w qj ) bawah = bawah + (w ij *w ij ) qvektor = qvektor + (w qj *w qj )

Tidak

j= jumlah array

sqrt(bawah*qvektor)

i= jumlah vektor dokumen

Ya Urutkan Array

sim

Selesai

Gambar 3.9 Bagan Alir Proses 2.4 Fungsi Kesamaan

Algoritma dari Proses 2.4 Fungsi Kesamaan (Gambar 3.9) adalah sebagai berikut :

1. Ambil array vektor dokumen.

2. Ambil array token.

3. Ambil nilai tf dan idf dari tabel tbl_index dan t_term berdasarkan dokumen dan token. Hitung nilai w ij =tf·idf.

4. Set atas = atas + (w ij *w qj ), set bawah = bawah+(w ij *w ij ), set qvektor = qvektor + (w qj *w qj )

5. Ulangi dari nomor 2 sampai array token terakhir

atas

6. Hitung nilai : dan simpan nilainya ke dalam array sim.

bawah × qvektor

7. Ulangi dari nomor 1 sampai vektor dokumen terakhir.

8. Urutkan nilai di dalam array sim.

Dokumen yang terkait

SISTEM OTOMATISASI SONAR (LV MAX SONAR EZ1) DAN DIODA LASER PADA KAPAL SELAM

15 214 17

ANALISIS SISTEM TEBANG ANGKUT DAN RENDEMEN PADA PEMANENAN TEBU DI PT PERKEBUNAN NUSANTARA X (Persero) PABRIK GULA DJOMBANG BARU

36 327 27

ANALISIS KOMPARATIF PENDAPATAN DAN EFISIENSI ANTARA BERAS POLES MEDIUM DENGAN BERAS POLES SUPER DI UD. PUTRA TEMU REJEKI (Studi Kasus di Desa Belung Kecamatan Poncokusumo Kabupaten Malang)

23 307 16

ANALISIS SISTEM PENGENDALIAN INTERN DALAM PROSES PEMBERIAN KREDIT USAHA RAKYAT (KUR) (StudiKasusPada PT. Bank Rakyat Indonesia Unit Oro-Oro Dowo Malang)

160 705 25

i SKRIPSI AKTIVITAS HUMAS DALAM MENJALIN HUBUNGAN DENGAN MEDIA MASSA (Studi pada Perum Bulog Divre NTB Bulan November 2014)

8 126 17

DAMPAK INVESTASI ASET TEKNOLOGI INFORMASI TERHADAP INOVASI DENGAN LINGKUNGAN INDUSTRI SEBAGAI VARIABEL PEMODERASI (Studi Empiris pada perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia (BEI) Tahun 2006-2012)

12 142 22

SIMULASI SISTEM KENDALI KECEPATAN MOBIL SECARA OTOMATIS

1 82 1

ANALISIS KELAYAKAN FINANSIAL TERNAK ITIK PETELUR DENGAN SISTEM INTENSIF DAN TRADISIONAL DI KABUPATEN PRINGSEWU

10 119 159

STUDI PERBANDINGAN HASIL BELAJAR DAN KETERAMPILAN PROSES SAINS DITINJAU DARI PENGGUNAAN MODEL PEMBELAJARAN BERBASIS TEKNOLOGI INFORMASI DAN KOMUNIKASI

6 77 70

PENGGUNAAN BAHAN AJAR LEAFLET DENGAN MODEL PEMBELAJARAN THINK PAIR SHARE (TPS) TERHADAP AKTIVITAS DAN HASIL BELAJAR SISWA PADA MATERI POKOK SISTEM GERAK MANUSIA (Studi Quasi Eksperimen pada Siswa Kelas XI IPA1 SMA Negeri 1 Bukit Kemuning Semester Ganjil T

47 275 59