Implementasi Metode Generalized Vector Space Model (GVSM) Menggunakan Algoritma Lesk Pada Sistem Temu Kembali

(1)

IMPLEMENTASI METODE

GENERALIZED VECTOR SPACE

MODEL

(GVSM) MENGGUNAKAN ALGORITMA LESK

PADA SISTEM TEMU KEMBALI

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

ABDURRAHMAN AULIYA FATAHILLAH

10111587

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2016


(2)

iii

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Allah SWT karena berkat rahmat dan karunia-Nya, penulis dapat menyelesaikan skripsi yang berjudul “IMPLEMENTASI METODE GENERALIZED VECTOR SPACE MODEL (GVSM) MENGGUNAKAN ALGORITMA LESK PADA SISTEM TEMU KEMBALI”.

Skripsi ini disusun dengan maksud untuk memenuhi syarat kelulusan ujian akhir Sarjana Program Strata Satu Program Studi Teknik Informati Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

Pada proses penyusunan skripsi ini, penulis mendapat banyak bantuan, dorongan, bimbingan, dan arahan serta dukungan yang sangat berarti dari berbagai pihak, oleh karena itu, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Allah SWT atas rahmat, berkah, dan izin-Nya sehingga penulis mampu menyelesaikan penulisan laporan skripsi ini.

2. Nabi Muhammad SAW, yang menjadi figur teladan bagi penulis untuk tetap sabar dan berserah diri kepada Allah atas permasalahan yang dihadapi. 3. Keluarga tercinta khususnya Ayah saya Drs. H. Slamet Heryadi, M.Pd, Ibu

saya Ani Hendayati yang saya cintai dan saya hormati, adik-adik saya Ibrahim, Bramanta, Taufiq, Murtiani yang sangat saya cintai yang telah memberikan kasih sayang, doa dan motivasi yang tidak ternilai, dorongan moril dan materil yang sangat besar untuk menempuh tugas akhir.

4. Ibu Ednawati Rainarli, S.Si., M.Si. selaku pembimbing dan dosen wali kelas IF-13 angkatan 2011, atas bimbingan, arahan, serta sarannya yang sangat membantu dalam pembuatan tugas akhir.

5. Ibu Nelly Indriani W, S.Si., M. T. selaku reviewer/penguji atas sarannya yang sangat membantu dalam penyempurnaan tugas akhir ini.

6. Ibu Ken Kinanti, S.Kom, M.T. selaku reviewer/penguji atas sarannya yang sangat membantu dalam penyempurnaan tugas akhir ini.


(3)

iv

8. Erin, Aldio, Maulana, Rhendy, Ichsan, Rizky, Rizki, Oky, Wildan, Indra, Arie, atas dukungan, perhatian, dorongan dan masukan yang telah diberikan. 9. Semua teman-temanku di Organisasi SADAYA UNIKOM, METALMIX Percussion, IWBC, BEW Arena, dan kelas IF-13 angkatan 2011 yang tidak bisa disebutkan satu-persatu, atas perhatian, dukungan, dorongan, dan bantuan yang telah diberikan.

10.Teman teman bimbingan Ibu Ednawati Rainarli, S.Si., M.Si., yang terdiri dari Adhisty, Nindy, Nurhalim dan kawan kawan yang selalu kompak dan saling membatu untuk mencapai kelulusan bersama-sama.

11.Seluruh Dosen yang telah memberikan ilmunya dan staff UNIKOM yang telah membantu

12.Seluruh pihak yang membantu penulis dalam menyelesaikan skripsi ini.

Penulis menyadari bahwa skripsi ini jauh dari sempurna, karena keterbatasan kemampuan, pengetahuan, dan pengalaman penulis, oleh karena itu penulis mengharapkan saran dan kritik yang membangun yang diharapkan sebagai bahan perbaikan di masa yang akan datang.

Penulis juga berharap semoga kelak skripsi ini dapat bermanfaat bagi para pembaca dan dapat dijadikan pertimbangan bagi pihak-pihak yang berkepentingan, Amin.

Bandung, Februari 2016


(4)

v

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xii

DAFTAR SIMBOL... xvi

DAFTAR LAMPIRAN... xix

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah ... 2

1.5 Metodologi Penelitian ... 3

1.5.1 Metode Pengumpulan Data ... 3

1.5.2 Menganalisis Metode ... 3

1.5.3 Implementasi Metode ... 3

1.5.4 Pengujian ... 3

1.5.5 Penarikan Kesimpulan ... 4

1.6 Sistematika Penulisan ... 4

BAB 2 LANDASAN TEORI... 7

2.1 Informasi... 7

2.2 Sistem Temu Kembali (Information Retrieval System) ... 9

2.2.1 Generalized Vector Space Model (GVSM) ... 12

2.2.2 Preprocessing ... 14

2.2.2.1 Indexing ... 15

2.2.2.2 Tokenization ... 16

2.2.2.3 Filtering / Stop Word ... 16


(5)

vi

2.3.1.1 Use case Diagram ... 27

2.3.1.2 Activity Diagram ... 29

2.3.1.3 Sequence Diagram ... 29

2.3.1.4 Class Diagram ... 29

2.4 Pengujian ... 30

2.4.1 Pengujian Black Box ... 30

2.4.1.1 Equivalence Class Testing... 30

2.4.1.2 Sample Testing ... 31

2.4.1.3 Robustness Testing ... 32

2.4.1.4 Behavior Testing ... 32

2.4.1.5 Requirement Testing ... 32

2.4.2 Pengujian Recall dan Precission ... 32

2.5 Perangkat Lunak Pendukung ... 34

2.6.1. C# (C sharp) ... 34

2.6.2. Microsoft Visual Studio... 37

2.6.3. SQL ... 37

2.6.4. SQL Server ... 39

2.6.5. StarUML ... 41

BAB 3 ANALISIS DAN KEBUTUHAN ... 43

3.1 Analisis Sistem ... 43

3.1.1 Analisis Masalah ... 43

3.1.2 Analisis Metode ... 44

3.1.2.1 Data Masukan ... 44

3.1.2.2 Preprocessing ... 45

3.1.2.3 Algoritma Lesk... 51

3.1.2.4 Generalized Vector Space Model (GVSM) ... 54

3.1.2.4.1 Generalized Vector Space Model (GVSM) Menggunaka Algoritma Lesk...54


(6)

vii

3.1.4 Analisis Kebutuhan Non Fungsional ... 65

3.1.4.1 Kebutuhan Perangkat Keras ... 65

3.1.4.2 Kebutuhan Perangkat Lunak ... 66

3.1.4.3 Analisis Pengguna ... 66

3.2. Pemodelan Sistem ... 66

3.2.1 Use Case Diagram ... 64

3.1.2.1 Definisi Aktor ... 67

3.1.2.2 Definisi Use Case ... 68

3.2.2 Skenario Diagram ... 69

3.2.3 Activity Diagram ... 93

3.2.4 Class Diagram ... 109

3.2.5 Sequence Diagram ... 109

3.3 Perancangan Sistem ... 125

3.3.1 Rancangan Menu... 125

3.3.2 Rancangan Antar Muka ... 125

3.3.3 Rancangan Antar Muka Pesan ... 128

3.3.4 Jaringan Semantik ... 131

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 133

4.1. Implementasi Sistem ... 133

4.2.1. Spesifikasi Implementasi Perangkat Keras ... 133

4.2.2. Spesifikasi Implementasi Perangkat Lunak ... 134

4.2.3. Implementasi Basis Data ... 134

4.2.4. Implementasi Antarmuka ... 135

4.2. Pengujian Sistem ... 141

4.2.1. Pengujian Black-box ... 141

4.2.2. Pengujian Recall, Precission dan Bobot Similiaritas. ... 152

BAB 5 KESIMPULAN DAN SARAN ... 193


(7)

(8)

137 Indonesia

[2] Chairul Furqon, Konsep Informasi (diakses tanggal 5/10/2015)

[3] http://widuri.raharja.info/index.php?title=BAB_II_ROOSTER_(KKP) diakses tgl 5/10/2015 pukul 20.26

[4] Sahirul Alim Tri Bawono, Information Retrieval Meningkatkan Pencarian Data yang Relevan, Universitas Gadjah Mada.

[5] Jasman Pardede, Mira Musrini Barmawi, Wildan Denny Pramonor “IMPLEMENTASI METODE GENERALIZED VECTOR SPACE MODEL PADA APLIKASI INFORMATION RETRIEVAL”, Institut Teknologi Nasional Bandung 2013

[6] Baeza, Ricardo, B. Ribeiro. 1999. Modern Information Retrieval. ACM Press. United States of America. 1999.

[7] Nazief, B. d. Approach to Stemming Algorithm. Confix-Stripping.

[8] Salton, G. (1989). Automatic Text Processing,The Transformation, Analysis, andRetrieval of Information by Computer. United States of America: Addison – Wesly Publishing Company,Inc. All rights reserved.Nadirman, S, 2006, [9] Sistem Temu-Kembali Informasi dengan Metode Vector Space Model pada

Pencarian File Dokumen Berbasis Teks, Yogyakarta, Universitas Gadjah Mada. [10] Jasman Pardede, IMPLEMENTASI MULTITHREADING UNTUK MENINGKATKAN KINERJA INFORMATION RETRIEVAL DENGAN METODE GVSM”, Jurnal Sistem Komputer Vol. 4 No. 1, Mei 2014

[11] Abdul Rouf, Pengujian Perangkat Lunak Dengan Menggunakan Metode White box dan Black box, Sistem Informasi – STMIK HIMSYA Semarang [12] SQL Server Official Site (www.microsoft.com/sql/default.asp) diakses


(9)

[13] Stanjeev Banerjee and Ted Pedersen, “An Adapted Lesk Algorithm For Word Sense Disambiguition Using WordNet”, University of Minnesota, Duluth, MN 55812 USA


(10)

1

Sistem Temu Kembali (Information Retrieval System) dirancang untuk menemukan data (file) atau informasi yang diperlukan. Sistem Temu Kembali (Information Retrieval System) bertujuan untuk menjembatani kebutuhan informasi dengan sumber informasi yang tersedia secara relevan. Generalized Vector Space Model (GVSM) merupakan salah satu model Sistem Temu Kembali (Information Retrieval System).

Dalam hal ini, sistem temu kembali informasi berkaitan dengan representasi, penyimpanan, dan akses terhadap representasi file. File yang ditemukan harus relevan dengan kebutuhan informasi yang dinyatakan dalam query. Terkadang apa yang dicari tidak relevan dengan apa yang diinginkan, terdapat beberapa penyebab yang mengakibatkan apa yang dicari tidak relevan dengan apa yang diinginkan, salah satunya adalah kata kunci (keyword) yang ambigu[13]. Solusi yang dapat digunakan untuk mengoptimalkan kata kunci (keyword) adalah dengan mengimplementasikan algoritma lesk. Algoritma lesk merupakan algoritma yang digunakan untuk menemukan makna kata yang berkaitan dengan kata kunci utama, dengan kata lain terdapat kata yang tidak dimasukan kedalam query tapi masuk kedalam kata pencarian.

Berdasarkan latar belakang yang telah diuraikan, tujuan dari tugas akhir ini yaitu untuk menilai efektifitas algoritma lesk dalam melakukan pencarian kata atau kalimat yang ambigu. Penelitian sebagain topik untuk tugas akhir ini mengangkat judul “IMPLEMENTASI METODE GENERALIZED VECTOR SPACE MODEL (GVSM) MENGGUNAKAN ALGORITMA LESK PADA SISTEM TEMU KEMBALI”.


(11)

1.2. Perumusan Masalah

Berdasarkan penjelasan yang dipaparkan dalam latar belakang sebelumnya, maka rumusan dalam masalah ini adalah menghitung efektifitas algoritma lesk dalam melakukan pencarian pada sekumpulan data (file) di dalam perangkat komputer berdasarkan kata atau kalimat menggunakan metode Generalized Vector Space Model (GSVM) pada Sistem Temu Kembali (Information Retrieval System).

1.3. Maksud dan Tujuan

Berdasarkan masalah yang telah diuraikan pada bagian latar belakang dan perumusan masalah, maka maksud dari penelitian ini adalah melakukan implementasi algoritma lesk pada metode Generalized Vector Space Model (GVSM).

Tujuan dari penelitian ini adalah untuk menilai efektifitas recall, precission, dan bobot similiaritas pada algoritma lesk dalam melakukan pencarian kata atau kalimat yang ambigu di dalam data (file) atau informasi menggunakan metode Generalized Vector Space Model (GVSM).

1.4. Batasan Masalah

Aplikasi yang dibangun adalah aplikasi dengan batasan masalah sebagai berikut:

1. Dokumen yang dicari menggunakan format *.doc

2. Data masukan (query) menggunakan bahasa Indonesia dengan Ejaan Yang Disempurnakan (EYD) berdasarkan Keputusan Menteri Pendidikan dan Kebudayaan tanggal 27 Agustus 1975 Nomor 0196/U/1975[5].

3. Isi dokumen menggunakan bahasa Indonesia.

4. Gambar dan diagram yang terdapat di dokumen tidak dapat terbaca. 5. Dokumen yang digunakan berasal dari laporan penelitian dan laporan kerja

praktek di perpustakaan UNIKOM.

6. Kamus sinonim dan makna kata diambil secara manual di Kamus Besar Bahasa Indonesia (KBBI).


(12)

1.5. Metodologi Penelitian

Metodologi yang digunakan dalam penelitian ini menggunakan beberapa tahap, yaitu tahap pengumpulan data, analisis metode, implementasi metode, pengujian dan penarikan kesimpulan yang dapat dilihat pada Gambar 1.1 berikut ini:

Gambar 1.1 Metodologi Penelitian

1.5.1. Metode Pengumpulan Data

Metode pengumpulan data yang digunakan adalah studi literatur, yaitu pengumpulan data yang bersumber dari buku, jurnal, paper dan situs internet yang berhubungan dengan Sistem Temu Kembali (Information Retrieval System), Generalized Vector Space Model (GVSM), tokenizing, filtration atau stop word removal, stemming, dan algoritma lesk untuk dijadikan referensi penulisan dan penelitian.

1.5.2. Menganalisis Metode

Pada tahapan ini dilakukan analisis metode yang digunakan yaitu Sistem Temu Kembali (Information Retrieval System), Generalized Vector Space Model (GVSM), tokenizing, filtration atau stop word removal, stemming dan algoritma lesk.

1.5.3. Implementasi Metode

Setelah melakukan analisis metode maka pada tahap ini dilakukan implementasi metode tersebut yang dibangun menggunakan bahasa C# dengan database SQL Server sesuai perancangan yang dibuat.

1.5.4. Pengujian

Setelah aplikasi pencarian informasi kata atau kalimat pada kumpulan dokumen yang dibangun maka tahap selanjutnya adalah melakukan pengujian Generalized Vector Space Model (GVSM), tokenizing, filtration atau stop word


(13)

removal, stemming dan algoritma lesk. Pada tahapan ini akan dilihat keefektifan aplikasi dalam melakukan pencarian informasi.

1.5.5. Penarikan Kesimpulan

Langkah selanjutnya adalah melakukan penarikan kesimpulan berdasarkan pengujian yang telah dilakukan sebelumnya. Penarikan kesimpulan dari hasil penerapan metode Generalized Vector Space Model(GVSM), tokenizing, filtration atau stop word removal, stemming dan algoritma lesk.

1.6. Sistematika Penulisan

Sistematika penulisan pada penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan penelitian ini adalah sebagai berikut:

BAB I PENDAHULUAN

Bab ini membahas tentang latar belakang masalah, perumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian dan sistematika penulisan yang dimaksudkan agar dapat memberikan gambaran tentang urutan pemahaman dalam menyajikan penelitian ini.

BAB II LANDASAN TEORI

Bab ini membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah pernah dilakukan sebelumnya yaitu mengenai Sistem Temu Kembali (Information Retrieval System), Generalized Vector Space Model (GVSM), tokenizing, filtration atau stop word removal, stemming dan algoritma lesk.

BAB III ANALISIS DAN KEBUTUHAN ALGORITMA

Bab ini berisi tentang analisis perhitungan metode Generalized Vector Space Model(GVSM), tokenizing, filtration atau stop word removal, stemming dan algoritma lesk dalam melakukan penelitian.


(14)

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi tentang implementasi darihasil analisis dan perancangan yang telah dibuat serta pengujian metode Generalized Vector Space Model (GVSM), tokenizing, filtration atau stop word removal, stemming dan algoritma lesk.

BAB V KESIMPULAN DAN SARAN

Bab ini menjelaskan tentang kesimpulan yang diperoleh dari hasil penelitian serta saran-saran untuk pengembangan kedepannya.


(15)

7

Istilah informasi berasal dari bahasa Inggris ”to inform” yang artinya dalam Bahasa Indonesia adalah ”memberitahukan”[3]. Informasi adalah data yang sudah diproses menjadi bentuk yang berguna bagi pemakai dan mempunyai nilai pikir yang nyata bagi pembuatan keputusan pada saat sedang berjalan atau untuk prospek masa depan. Definisi tersebut menekankan kenyataan bahwa data harus diproses dengan cara-cara tertentu untuk menjadi informasi dalam bentuk dan nilai yang berguna bagi pemakai[4]. Menurut para ahli, informasi adalah:

1. Informasi merupakan suatu data yang telah diproses dan mempunyai arti tertentu[4].

2. Informasi adalah sekumpulan fakta (data) yang diorganisasikan dengan cara tertentu sehingga mereka mempunyai arti bagi si penerima. Sebagai contoh, apabila memasukkan jumlah gaji dengan jumlah jam bekerja, akan mendapatkan informasi yang berguna. Dengan kata lain, informasi datang dari data yang akan diproses[4].

3. Menurut Nova[4], bahwa informasi dapat di produksi dan dipasarkan sebagai sebuah produk, pada dasarnya informasi merupakan suatu yang diproduksi dan didistribusikan, baik oleh sebuah lembaga pendidikan, radio, televisi, penerbit buku, koran dan majalah. Ketidak akuratan informasi akan menyebabkan prusahaan yangbergerak dibidang informasi dapat kehilangan reputasi dan kredibilitasnya.

4. Menurut Prasojo dan Riyanto[4], bahwa pengertian informasi sering disamakan dengan pengertian data. “Data adalah sesuatu yang belum diolah dan belum dapat digunakan sebagai dasar yang kuat dalam pengambilan keputusan”. Beberapa contoh data adalah data nama mahasiswa, jumlah kursi, jumlah siswa, dan lain-lain. Data mahasiswa relatif belum berarti, jika digunakan untuk mengambil keputusan tertentu. Data nama mahasiswa ditambah data IPK mahasiswa,dan persentase nilai “D” dapat digunakan untuk menentukan bahwa


(16)

mahasiswa tersebut dapat mengambil bebas teori atau tidak. Data bebas teori dan nilai skripsi dapat digunakan untuk mengambil keputusan bahwa mahasiswa tersebut berhak lulus atau tidak. Gabungan dari data nama mahasiswa, IPK, persentasi nilai “D”, nilai skripsi merupakan sebuah informasi.

5. Menurut Laudon & Laudon dalam Kadir[3], bahwa “informasi adalah data yang telah diolah menjadi bentuk yang bermakna dan berguna bagi manusia”.

Sumber dari informasi adalah data. Data merupakan bentuk jamak dari bentuk tunggal data, yaitu item ataupun datum. Data adalah kenyataan yang mengambarkan suatu kejadian-kejadian dan kesatuan nyata. Kejadian-kejadian nyata yang sering terjadi adalah perubahan dari suatu nilai yang disebut dengan transaksi.

Informasi akan memiliki arti manakala informasi tersebut memiliki unsur-unsur sebagai berikut:

a. Relevan artinya Informasi yang diinginkan benar-benar ada relevansi dengan masalah yang dihadapi.

b. Kejelasan artinya terbebas dari istilah-istilah yang membingungkan.

c. Akurasi artinya bahwa informasi yang hendak disajikan harus secara teliti dan lengkap.

d. Tepat waktu artinya data yang disajikan adalah data terbaru dan mutahir. Jadi, hal yang terpentinguntuk membedakan informasi dengan data, informasi itu mempunyai kandungan “makna” dan data tidak mempunyai “makna”. Makna artinya output (sebagai penunjang sistem). Pengertian makna di sini merupakan hal yang sangat penting, karena berdasarkan makna inilah penerima dapat memahami informasi tersebut dan secara lebih jauh dapat menggunakannya untuk menarik suatu kesimpulan atau bahkan mengambil keputusan.


(17)

2.2. Sistem Temu Kembali (InformationRetrievalSystem)

Definisi Sistem Temu Kembali (Information Retrieval System) adalah bagaimana menemukan suatu dokumen dari dokumen-dokumen tidak terstruktur yang memberikan informasi yang dibutuhkan dari koleksi dokumen yang sangat besar yang tersimpan dalam komputer[5]. Tujuan dari Sistem Temu Kembali (Information Retrieval System) adalah untuk memenuhi kebutuhan informasi pengguna dengan meretrieve semua dokumen yang mungkin relevan, pada waktu yang sama me-retrieve sesedikit mungkin dokumen yang tidak relevan. Sistem Temu Kembali (Information Retrieval System) yang baik memungkinkan pengguna menentukan secara cepat dan akurat apakah isi dari dokumen yang diterima memenuhi kebutuhannya.

Tujuan yang harus dipenuhi adalah bagaimana menyusun dokumen yang telah didapatkan tersebut ditampilkan terurut dari dukumen yang memiliki tingkat relevansi tinggi ke tingkat relevansi yang lebih rendah. Penyusunan dokumen tersebut disebut sebagai perangkingan dokumen.

Model Sistem Temu Kembali (Information Retrieval System) adalah model yang digunakan untuk melakukan pencocokan antara term-term kata (query) dengan term-term dalam document collection (folder file), model yang terdapat dalam Sistem Temu Kembali (Information Retrieval System) terbagi dalam 3 model besar, yaitu:

a. Set-theoritic models, model merepresentasikan dokumen sebagai himpunan kata atau frase. Contoh model ini ialah Standard Boolean model dan Extended Boolean model.

b. Algebraic model, model merepresentasikan dokumen dan query sebagai vektor similarity antara vektor dokumen dan vektor query yang direpresentasikan sebagai sebuah nilai skalar. Contoh model ini ialah Vektor Space Model (model ruang vektor) , Latent Semantic Indexing (LSI) dan Generalized Vector Space Model (GVSM).

c. Probabilistic model, model memperlakukan proses pengambilan dokumen sebagai sebuah probabilistic inference. Contoh model ini ialah penerapan teorema bayes dalam model probabilistik.


(18)

Sebagai suatu sistem, Sistem Temu Kembali (Information Retrieval System) memiliki beberapa bagian yang membangun sistem secara keseluruhan. Gambaran bagian-bagian yang terdapat pada suatu Sistem Temu Kembali (Information Retrieval System) digambarkan pada Gambar 2.1.

Gambar 2.1. Bagian-bagian Information Retrieval System

Dari gambar 2.1. terlihat bahwa terdapat dua proses operasi dalam Sistem Temu Kembali (Information Retrieval System). Proses pertama dimulai dari koleksi dokumen dan proses kedua dimulai dari query pengguna. Proses pertama yaitu pemrosesan terhadap koleksi dokumen menjadi basis data indeks tidak ada ketergantungan dengan proses kedua. Sedangkan proses kedua tergantung dari keberadaan basis data indeks yang dihasilkan pada proses pertama. Bagian-bagian dari Sistem Temu Kembali (Information Retrieval System) menurut gambar 2.1. meliputi :

1. Text Operations (operasi terhadap teks) yang meliputi pemilihan kata-kata dalam query maupun dokumen (term selection) dalam pentransformasian dokumen atau query menjadi term index (indeks dari kata-kata).

2. Query formulation (formulasi terhadap query) yaitu memberi bobot pada indeks kata-kata query.


(19)

3. Ranking (perangkingan), mencari dokumen-dokumen yang relevan terhadap query dan mengurutkan dokumen tersebut berdasarkan kesesuaiannya dengan query.

4. Indexing (pengindeksan), membangun basis data indeks dari koleksi dokumen. Dilakukan terlebih dahulu sebelum pencarian dokumen dilakukan.

Sistem Temu Kembali (Information Retrieval System) menerima query dari pengguna, kemudian melakukan perangkingan terhadap dokumen pada koleksi berdasarkan kesesuaiannya dengan query. Hasil perangkingan yang diberikan kepada pengguna merupakan dokumen yang menurut sistem relevan dengan query. Namun relevansi dokumen terhadap suatu query merupakan penilaian pengguna yang subjektif dan dipengaruhi banyak faktor seperti topik, pewaktuan, sumber informasi maupun tujuan pengguna. Salah satu model Sistem Temu Kembali (Information Retrieval System) adalah model vektor. Beberapa karakteristik dalam model vektor adalah :

1. Model vektor berdasarkan index term

2. Model vektor mendukung partial matching dan penentuan peringkat dokumen 3. Prinsip dasar vektor model adalah sebagai berikut :

a. dokumen direpresentasikan dengan menggunakan vektor index term b. Ruang dimensi ditentukan oleh index term

c. Query direpresentasikan dengan menggunakan vektor index term

d. Kesamaan document-query dihitung berdasarkan hasil kali titik (cross product) antara vektor – vektor tersebut

4. Model vektor memerlukan :

a. Bobot index term untuk vektor dokumen b. Bobot index term untuk query

c. Perhitungan cross product untuk vektor document-query 5. Kinerja

a. Efisien

b. Mudah dalam representasi


(20)

2.2.1. Generalized Vector Space Model (GVSM)

Generalized Vector Space Model (GVSM) merupakan perluasan dari Vector Space Model (VSM) yaitu dengan menambahkan jenis informasi tambahan, disamping term, dalam merepresentasikan dokumen[6]. Sistem Temu Kembali (Information Retrieval System) dengan Generalized Vector Space Model (GVSM) merepresentasikan dokumen dengan similiaritas vektor terhadap semua dokumen yang ada.

Pada tahun 1985, Wong et al[6], menyajikan suatu alternatif terhadap Sistem Temu Kembali (Information Retrieval System) Vector Space Model (VSM), yang disebut Generalized Vector Space Model (GVSM). Deskripsi ringkas mengenai Generalized Vector Space Model (GVSM) diberikan oleh Carbonell dkk. Asumsikan term dari Vector Space Model (VSM) adalah liniearly independent. Generalized Vector Space Model (GVSM) menghindari pengasumsian dengan penggunaan dokumen-dokumen sebagai dasar ruang vektor dari pada term. Dalam “Dual Space” suatu dokumen direpresentasikan oleh suatu vektor dimana dimensinya merujuk terhadap dokumen.

Algoritma Generalized Vector Space Model yang dibahas menggunakan konsep ruang vektor. Masukan dari pengguna dan kumpulan dokumen diterjemahkan menjadi vektor-vektor, kemudian vektor-vektor tersebut dikenakan operasi perkalian titik dan hasilnya menjadi acuan dalam menentukan relevansi masukan pengguna (query) terhadap kumpulan dokumen.

Ada beberapa langkah atau proses untuk mendapatkan hasil dari query yang dimasukkan, yang disebut algoritma Generalized Vector Space Model[6]:

1. Membuang kata depan dan kata penghubung.

2. Menggunakan stemmer pada kumpulan dokumen dan query, yaitu aplikasi yang digunakan untuk menghilangkan imbuhan (awalan, akhiran). Contoh: ketampanan: tampan, kesalahan: salah.

3. Menentukan minterm untuk menentukan kemungkinan pola frekuensi kata. Panjang minterm ini didasarkan pada banyak kata yang diinput pada query. Kemudian diubah menjadi vektor orthogonal sesuai dengan pola minterm yang muncul. Kemungkinan pola yang akan muncul adalah :


(21)

4. Menghitung banyaknya frekuensi atau kemunculan kata dalam kumpulan dokumen yang sesuai dengan query

5. Menghitung index term yang dapat dinyatakan dengan :

��

⃑⃑⃑⃑ =

∀�.�� �� =

� , .�

⃑⃑⃑⃑⃑⃑

√∑

∀�.�� �� =

� ,

…. (

2.1)

Dimana :

��

⃑⃑⃑⃑

: Indeks term ke-i

⃑⃑⃑⃑⃑

: Vektor ortogonal sesuai pola minterm yang terpakai

��,

: Faktor korelasi antara indeks term ke-i dengan minterm r Sedangkan faktor korelasi sebagai berikut:

,

= ∑

� |� (�⃑⃑⃑⃑ )=� �

,

…. (

2.2)

Dimana:

, : Vektor dokumen ke-j

�� �

: Bobot indeks term Ki dalam minterm Mr 6. Mengubah dokumen dan query menjadi vector

�⃑⃑⃑ = ∑

=1

,

× �

⃑⃑⃑⃑

…. (

2.3)


(22)

Dimana:

�⃑⃑⃑

: Vektor dokumen ke-j : Vektor query

, : Berat indeks term i pada dokumen j : Berat indeks term pada query i : Jumlah indeks term

7. Mengurutkan dokumen berdasarkan similaritas, dengan menghitung perkalian vector

�� (�⃑⃑⃑ . ) =

|�

⃑⃑⃑⃑ .⃑

⃑⃑⃑⃑⃑⃑ | | |

⃑⃑⃑

…. (

2.5)

Dimana :

�⃑⃑⃑

: Vektor dokumen ke-J : Vektor query

2.2.2. Preprocessing

Proses yang terjadi pada Generalized Vector Space Model (GVSM) terbagi menjadi dua yaitu tahapan preprocessing yang terdiri dari reading text (*.doc) menggunakan indexing, tokenizing, filtration atau stop word removal, stemming, sedangkan proses yang kedua adalah menghitung relevansi antara kumpulan dokumen yang telah di-preprocess dengan query yang diinginkan pengguna. Banyaknya kemunculan kata dalam kumpulan dokumen yang sesuai dengan query akan dihitung.

Query yang dimasukan oleh pengguna dan dokumen diterjemahkan menjadi vektor-vektor kemudian vektor-vektor tersebut dikenakan operasi perkalian titik dan hasilnya menjadi acuan dalam menentukan relevansi masukan pengguna (query) terhadap kumpulan dokumen.


(23)

2.2.2.1. Indexing

Mencari sebuah informasi yang relevan sangat tidak mungkin dapat dilakukan oleh sebuah komputer, meskipun dilakukan oleh sebuah komputer yang memiliki spesifikasi yang canggih. Agar komputer dapat mengetahui sebuah dokumen itu relevan terhadap sebuah informasi, komputer memerlukan sebuah model yang mendeskripsikan bahwa dokumen tersebut relevan atau tidak. Salah satu caranya adalah dengan menggunakan indeks istilah.

Indeks adalah bahasa yang digunakan di dalam sebuah buku konvensional untuk mencari informasi berdasarkan kata atau istilah yang mengacu ke dalam suatu halaman. Dengan menggunakan indeks, pencari informasi dapat dengan mudah menemukan informasi yang diinginkannya. Pada sistem temu-kembali informasi, indeks ini nantinya yang digunakan untuk merepresentasikan informasi di dalam sebuah dokumen.

Elemen dari indeks adalah istilah indeks (index term) yang didapatkan dari teks yang dipecah di dalam sebuah dokumen. Elemen lainnya adalah bobot istilah (term weighting) sebagai penentuan rangking dari kriteria relevan sebuah dokumen yang memiliki istilah yang sama.

Baeza-Yates dan Ribeiro-Neto[7] menjelaskan tentang proses pembuatan indeks dari sebuah dokumen teks atau dikenal dengan proses analisis teks (automatic teks analysis) melalui beberapa tahap:

a. Proses penghapusan digit, tanda hubung, tanda baca dan penyeragaman dari huruf yang digunakan.

b. Penyaringan kata meliputi penghilangan bukan kata kunci yang disebut filtering atau stopword removal.

c. Penghilangan imbuhan kata, baik awalan maupun akhiran kata. Penghilangan imbuhan kata ini dikenal dengan stemming.

d. Pemilihan istilah untuk menentukan kata atau stem (kelompok kata) yang akan digunakan sebagai elemen indeks.

e. Pembentukan kategori istilah terstruktur seperti kelompok persamaan kata yang digunakan untuk perluasan dari query dasar yang diberikan oleh pengguna sistem temu-kembali informasi dengan istilah lain yang sesuai.


(24)

Pengindeksan dapat dilakukan dengan dua cara yaitu manual dan otomatis. Idealnya, untuk mendapatkan indeks istilah yang sempurna sebuah pengindeksan dilakukan secara manual (konvensional). Akan tetapi, menurut Salton[7] sistem pencarian dan analisa teks yang sepenuhnya otomatis tidak menghasilkan kinerja temu-kembali yang lebih buruk dibandingkan dengan sistem konvensional yang menggunakan pengindeksan dokumen manual dan formulasi pencarian manual.

2.2.2.2. Tokenization

Sebelum indeks dibandingkan dengan dokumen, dilakukan tokenization terlebih dahulu, yaitu mencacah kalimat kedalam bagian-bagian. Contohnya “dia bernama rahman”, setelah kalimat dimasukan maka tugas token adalah memecah kedalam bagian-bagian menjadi “dia”, “bernama”, “rahman”.

Terlihat dari contoh diatas terdapat kalimat “dia bernama Rahman” kemudian proses tokenization dilakukan dengan memecah kata dalam kalimat tersebut menjadi 3 pecahan yaitu dia, bernama, dan rahman.

2.2.2.3. Filtering / Stop Word

Dalam sebuah dokumen terdapat banyak kata yang bukan kata kunci di dalam dokumen atau kata-kata tambahan hanya untuk menghubungkan kata, contohnya adalah kata penghubung dan juga terdapat tanda-tanda baca. Dalam proses indexing dilakukan proses untuk menghilangkan kata-kata tersebut untuk mengurangi proses peng-index-an dan mengurangi kata-kata dan tanda baca yang nantinya tidak berkaitan langsung dengan kata kunci. Selain untuk mengungari proses indexing proses tersebut dilakukan agar penerapan perhitungan kesamaan dokumen dengan dokumen yang dicari terdapat kesesuaikan karena berkurangnya noise kata penghubung dan tanda baca yang jika tidak dihilangkan akan masuk kedalam perhitungan. Pada tabel 2.1. berikut adalah contoh kata dalam bahasa indonesia yang dihilangkan[10]:


(25)

Tabel 2.1. kata Filtering / Stopwords stopwords

ada biasanya kalau menunjukkan sedang setiap

adalah bila kalian menurut sedangkan seusai

adanya bilamana kami mereka sedikit sewaktu

adapun buat kamu merupakan segera si

aduh bukan karena meski sehabis siapa

dalam kata meskipun sehingga siapakah

dan katanya misalnya sehubungan siapapun

akan dapat kau mungkin sejak suatu

aku dari ke namun sejumlah sudah

alih-alih daripada kebanyakan nanti sekarang supaya

anda dekat kecuali nyaris sekeliling tak

andai demi kemanakah oleh seketika tanpa

antar demikian kemudian pada sekitar tapi

antara dengan kenapa padahal sekonyong tatkala

apakah di kepada pasti selagi tengah

apalagi dia ketika pelbagai selain tentang

asalkan dikatakan ketimbang per selalu tentu

atas dilakukan kini peri selama tentunya

atau dkk kita perihal selanjutny

a

tergolon g

ataupun dll lagi pinggir selesai terhadap

Bagai dsb lain pula seluruh terjadi

bagaikan engkau lain-lain pun seluruhny

a

terkadan g

bagaimana hal lainnya saat semakin terlalu

bagaimanak ah


(26)

bagaimanap un

hanya lebih sambil sementara termasu

k

bagi harus lepas sampai semua ternyata

bahkan hingga lewat samping semuanya tersebut

bahwa ia maka sang seorang tertentu

balik ialah makin sangat sepanjang tetap

banyak ini manakala sangatlah seperti tetapi

barangkali itu masih saya sepertinya tiap

bawah iya

masing-masing

seakan seputar tiba-tiba

beberapa jadi

masing-masingnya

seakan-akan seraya tidak

begini jangan maupun seantero sering ujar

begitu jarang melainkan sebab seringkali ujarnya

belakang jauh melakukan sebabnya serta umumny

a

belum jika melalui sebagai sesuai untuk

berapa jikalau memang sebagaimana sesuatu walau berbagai juga mengatakan sebagainya sesudah walaupu

n bersama jumlah mengenai sebelum sesudahny

a

ya

betapa kadang menjelang sebuah setelah yakni beserta justru menjadi sebelumnya sesungguh

nya

yaitu

biar kadang-kadang


(27)

2.2.2.4. Stemming

Stemming merupakan bagian yang tidak terpisahkan dalam Sistem Temu Kembali (Information Retrieval System). Algoritma Nazief & Adriani sebagai algoritma stemming untuk teks berbahasa Indonesia yang memiliki kemampuan prosentase keakuratan (presisi) lebih baik dari algoritma lainnya. Algoritma ini sangat dibutuhkan dan menentukan dalam proses preprocessing dalam dokumen Indonesia.

Stemming adalah salah satu cara yang digunakan untuk meningkatkan performa Sistem Temu Kembali (Information Retrieval System) dengan cara mentransformasi kata-kata dalam sebuah dokumen teks ke bentuk kata dasarnya. Algoritma stemming untuk bahasa yang satu berbeda dengan algoritma stemming untuk bahasa lainnya. Sebagai contoh bahasa Inggris memiliki morfologi yang berbeda dengan bahasa Indonesia sehingga algoritma stemming untuk kedua bahasa tersebut juga berbeda. Proses stemming pada teks berbahasa Indonesia lebih rumit/kompleks karena terdapat variasi imbuhan yang harus dibuang untuk mendapatkan kata dasar (root word) dari sebuah kata. Pada umumnya kata dasar pada bahasa Indonesia terdiri dari kombinasi:

Prefiks 1 + Prefiks 2 + Kata dasar + Sufiks 3 + Sufiks 2 + Sufiks 1

Algoritma Nazief & Adriani yang dibuat oleh Bobby Nazief dan Mirna Adriani ini memiliki tahap-tahap sebagai berikut:

1. Pertama cari kata yang akan diistem dalam kamus kata dasar. Jika ditemukan maka diasumsikan kata adalah root word, maka algoritma berhenti.

2. Inflection Suffixes (“-lah”, “-kah”, “-ku”, “-mu”, atau “-nya”) dibuang. Jika berupa particles (“-lah”, “-kah”, “-tah” atau “-pun”) maka langkah ini diulangi lagi untuk menghapus Possesive Pronouns (“-ku”, “-mu”, atau “-nya”), jika ada.

3. Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”). Jika kata ditemukan di kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a

a. Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah “-k”, maka “-k” juga ikut dihapus. Jika kata tersebut ditemukan dalam kamus maka algoritma berhenti. Jika tidak ditemukan maka lakukan langkah 3b.


(28)

b. Akhiran yang dihapus (“-i”, “-an” atau “-kan”) dikembalikan, lanjut ke langkah 4.

4. Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus maka pergi ke langkah 4a, jika tidak pergi ke langkah 4b.

a. Periksa tabel kombinasi awalan-akhiran yang tidak diijinkan. Jika ditemukan maka algoritma berhenti, jika tidak

b. For i = 1 to 3, tentukan tipe awalan kemudian hapus awalan. Jika root word belum juga ditemukan lakukan langkah 5, jika sudah maka algoritma berhenti. Catatan: jika awalan kedua sama dengan awalan pertama algoritma berhenti. 5. Melakukan Recoding.

6. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal diasumsikan sebagai root word, proses selesai.

Tipe awalan ditentukan melalui langkah-langkah berikut:

1. Jika awalannya adalah: “di-”, “ke-”, atau “se-” maka tipe awalannya secara berturut-turut adalah “di-”, “ke-”, atau “se-”.

2. Jika awalannya adalah “te-”, “me-”, “be-”, atau “pe-” maka dibutuhkan sebuah proses tambahan untuk menentukan tipe awalannya.

3. Jika dua karakter pertama bukan “di-”, “ke-”, “se-”, “te-”, “be-”, “me-”, atau “pe-” maka berhenti.

4. Jika tipe awalan adalah “none” maka berhenti. Jika tipe awalan adalah bukan “none” maka awalan dapat dilihat pada Tabel 2.2. Hapus awalan jika ditemukan.

Tabel 2.2. Kombinasi Awalan Akhiran Yang Tidak Diijinkan Awalan Akhiran

be- -i

di- -an

ke- -i, -kan

me- -an


(29)

Tabel 2.3. Cara Menentukan Tipe Awalan Untuk awalan “te-”

Following Characters Tipe

Awalan

Set 1 Set 2 Set 3 Set 4

“-r-“ “-r-“ - - none

“-r-“ - - ter-luluh

“-r-“ not (vowel or “-r-”) “-er-“ vowel ter

“-r-“ not (vowel or “-r-”) “-er-“ not vowel ter-

“-r-“ not (vowel or “-r-”) not “-er-“ - ter

not (vowel or “-r-”) “-er-“ vowel - none

not (vowel or “-r-”) “-er-“ not vowel - te

Tabel 2.4. Jenis Awalan Berdasarkan Tipe Awalannya Tipe Awalan Awalan yang harus dihapus

di- di-

ke- ke-

se- se-

te- te-

ter- ter-

ter-luluh ter

Untuk mengatasi keterbatasan pada algoritma di atas, maka ditambahkan aturan-aturan dibawah ini:

1. Aturan untuk reduplikasi.

a. Jika kedua kata yang dihubungkan oleh kata penghubung adalah kata yang sama maka root word adalah bentuk tunggalnya, contoh : “buku-buku” root word-nya adalah “buku”.

b. Kata lain, misalnya “bolak-balik”, “berbalas-balasan, dan ”seolah-olah”. Untuk mendapatkan root word-nya, kedua kata diartikan secara terpisah. Jika keduanya memiliki root word yang sama maka diubah menjadi bentuk tunggal, contoh: kata “berbalas-balasan”, “berbalas” dan “balasan” memiliki root word


(30)

yang sama yaitu “balas”, maka root word “berbalas-balasan” adalah “balas”. Sebaliknya, pada kata “bolak-balik”, “bolak” dan “balik” memiliki root word yang berbeda, maka root word-nya adalah “bolak-balik”.

2. Tambahan bentuk awalan dan akhiran serta aturannya.

a. Untuk tipe awalan “mem-“, kata yang diawali dengan awalan “memp-” memiliki tipe awalan “mem-”.

b. Tipe awalan “meng-“, kata yang diawali dengan awalan “mengk-” memiliki tipe awalan “meng-”.

Berikut contoh-contoh aturan yang terdapat pada awalan sebagai pembentuk kata dasar.

1. Awalan Se-

Se + semua konsonan dan vokal tetap tidak berubah Contoh :

a. Se + bungkus = sebungkus b. Se + nasib = senasib c. Se + arah = searah d. Se + ekor = seekor

2. Awalan Me-

Me + vokal (a,i,u,e,o) menjadi sengau “meng” Contoh :

a. Me + inap = menginap b. Me + asuh = mengasuh c. Me + ubah = mengubah d. Me + ekor = mengekor e. Me + oplos = mengoplos

Me + konsonan b menjadi “mem” Contoh :

a. Me + beri = member b. Me + besuk = membesuk


(31)

Contoh :

a. Me + cinta = mencinta b. Me + cuci = mencuci

Me + konsonan d menjadi “men” Contoh :

a. Me + didik = mendidik b. Me + dengkur = mendengkur

Me + konsonan g dan h menjadi “meng” Contoh :

a. Me + gosok = menggosok b. Me + hukum = menghukum

Me + konsonan j menjadi “men” Contoh :

a. Me + jepit = menjepit b. Me + jemput = menjemput

Me + konsonan k menjadi “meng” (luluh) Contoh :

a. Me + kukus = mengukus b. Me + kupas = mengupas

Me + konsonan p menjadi “mem” (luluh) Contoh :

a. Me + pesona = mempesona b. Me + pukul = memukul

Me + konsonan s menjadi “meny” (luluh) Contoh :

a. Me + sapu = menyapu b. Me + satu = menyatu

Me + konsonan t menjadi “men” (luluh) Contoh :

a. Me + tanama = menanam b. Me + tukar = menukar


(32)

Me + konsonan (l,m,n,r,w) menjadi tetap “me” Contoh :

a. Me + lempar = melempar b. Me + masak = memasak c. Me + naik = menaik d. Me + rawat = merawat e. Me + warna = mewarna 3. Awalan Ke-

Ke + semua konsonan dan vokal tetap tidak berubah Contoh :

a. Ke + bawa = kebawa b. Ke + atas = keatas 4. Awalan Pe-

Pe + konsonan (h,g,k) dan vokal menjadi “per” Contoh :

a. Pe + hitung + an = perhitungan b. Pe + gelar + an = pergelaran c. Pe + kantor + = perkantoran

Pe + konsonan “t” menjadi “pen” (luluh) Contoh :

a. Pe + tukar = penukar b. Pe + tikam = penikam

Pe + konsonan (j,d,c,z) menjadi “pen” Contoh :

a. Pe + jahit = penjahit b. Pe + didik = pendidik c. Pe + cuci = pencuci d. Pe + zina = penzina

Pe + konsonan (b,f,v) menjadi “pem” Contoh :


(33)

b. Pe + bunuh = pembunuh

Pe + konsonan “p” menjadi “pem” (luluh) Contoh :

a. Pe + pikir = pemikir b. Pe + potong = pemotong

Pe + konsonan “s” menjadi “peny” (luluh) Contoh :

a. Pe + siram = penyiram b. Pe + sabar = penyabar

Pe + konsonan (l,m,n,r,w,y) tetap tidak berubah Contoh :

a. Pe + lamar = pelamar b. Pe + makan = pemakan c. Pe + nanti = penanti d. Pe + wangi = pewangi

2.2.3. Algoritma Lesk

Algoritma lesk adalah algoritma yang digunakan untuk menghilangkan ambiguitas makna kata. Algoritma lesk merupakan salah satu algoritma untuk menyelesaikan masalah ambigu atau kata yang memiliki lebih dari satu arti (word sense disambiguation) dengan berbasis kamus. Algoritma ini bekerja dengan membandingkan definisi dari kata yang berambigu dengan definisi. Definisi dari kata tetangganya berdasarkan definisi kamus[13].

Algoritma lesk merupakan implementasi dari pendekatan unsupervised atau jaringan saraf tiruan yang digunakan untuk menghilangkan ambiguitas makna kata. Algoritma ini berdasarkan intuisi bahwa kata yang bermakna ambigu yang terdapat bersamaan dalam kalimat, digunakan untuk merujuk topik yang sama dan makna yang berhubungan dengan topik tersebut didefinisikan di dalam kamus dengan menggunakan kata yang sama. Algoritma lesk memiliki fungsi relatedness (keterhubungan) akan mengembalikan jumlah kata yang tumpang tindih antara definisi dari dua kata yang dimasukan.


(34)

Algoritma lesk membandingkan kata awal (query) dengan sinonim kata itu sendiri yang disebut dengan kata pembanding. Setiap kata pembanding yang memiliki nilai terbesar maka akan diambil dan ditambahkan kedalam query untuk menghilangkan kata berambigu. Seperti “kepala cabang” memiliki kata berambigu “kepala”. Kata “kepala” memiliki 2 makna yaitu “organ” dan “pemimpin” yang nantinya akan menjadi kata pembanding. Dari kedua kata pembanding tersebut dihitung perbandingan makna kata antara query dengan kata pembanding dan hasil perbandingan tersebut dilihat bobot paling besar. Berdasarkan dari bobot paling besar tersebut menghasilkan kata yang akan dimasukan kedalam query[13].

2.3. Model Analisis Dan Perancangan

Model analisis dan perancangan yang digunakan untuk membangun aplikasi ini adalah sebagai berikut:

2.3.1. Unified Modeling Language (UML)

Unified Modeling Language (UML) merupakan bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. UML tidak berdasarkan pada bahasa pemrograman tertentu. Standar spesifikasi UML dijadikan standar defacto oleh OMG (Object Management Group) pada tahun 1997. UML yang berorientasikan obyek mempunyai beberapa notasi standar. Spesifikasi ini menjadi populer dan standar karena sebelum adanya UML, telah ada berbagai macam spesifikasi yang berbeda. Hal ini menyulitkan komunikasi antar pengembang perangkat lunak. Untuk itu beberapa pengembang spesifikasi yang sangat berpengaruh berkumpul untuk membuat standar baru. UML dirintis oleh Grady Booch, James Rumbaugh pada tahun 1994 dan kemudian Ivar Jacobson[14].

Menurut perintisnya, UML di definisikan sebagai bahasa visual untuk menjelaskan, memberikan spesifikasi, merancang, membuat model, dan mendokumentasikan aspek-aspek dari sebuah sistem. Karena tergolong bahasa visual, UML lebih mendepankan penggunaan diagram untuk menggambarkan


(35)

aspek dari sistem yang sedang dimodelkan. Memahami UML itu sebagai bahasa visual itu penting, karena penekanan tersebut membedakannya dengan bahasa pemrograman yang lebih dekat ke mesin. Bahasa visual lebih dekat ke mental model pikiran, sehingga pemodelan menggunakan bahasa visual bisa lebih mudah dan lebih cepat dipahami dibandingkan apabila dituliskan dalam sebuah bahasa pemrograman.

Seperti yang telah dipaparkan di atas, UML yang merupakan turunan dan beberapa metode mempunyai kumpulan diagram grafts sebagai kombinasi dari konsep pemodelan data (Entity Relationship Diagram), pemodelan bisnis (work flow), pemodelan obyek, dan pemodelan komponen. Diagram grafts tersebut merupakan tampiian dari beberapa level abstraksi yang dapat digunakan secara bersama oleh semua proses pada seluruh lifecycle pengembangan perangkat lunak serta pada implementasi kebeberapa teknologi yang berbeda. UML memiliki berbagai jenis diagram, diantarnya adalah:

2.3.1.1. Usecase Diagram

Use case diagram berisi mengenai interaksi antara sekelompok proses dengan sekelompok actor, menggambarkan fungsionalitas dari sebuah sistem yang dibangun dan bagaimana sistem berinteraksi dengan dunia luar[14]. Use case diagram dapat digunakan selama proses analisis untuk menangkap kebutuhan sistem dan untuk memahami bagaimana sistem seharusnya bekerja.

Use Case diagram terdiri dari beberapa elemen pemodelan utama, yaitu Actor, Use Case, Association, Dependency, dan Generalization.

a. Actor

Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor

tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man. Pada gambar 2.2. menunjukan Simbol Actor pada Use Case Diagram.


(36)

Gambar 2.2. Simbol Actor pada Use Case diagram

b. Use Case

Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun. Pada gambar 2.3. merupakan Simbol Use Case pada Use Case Diagram.

Gambar 2.3. Simbol Use Case c. Association

Associaton menghubungkan link antar element, dan bukan menggambarkan aliran data / informasi pada sistem. Association digunakan untuk menggambarkan bagaimana actor terlibat dalam use case. Ada 4 jenis relasi yang bisa timbul pada use case diagram, yaitu Association antara actor dan use case, Association antara use case, Generalization/Inheritance antara use case, Generalization/Inheritance antara actors.

d. Dependency

Dependency adalah sebuah element bergantung dalam beberapa cara ke element lainnya.


(37)

e. Generalization

Generalization disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.

2.3.1.2. Activity Diagram

Activity diagram menggambarkan berbagai alir aktifitas dalam sistem yang sedang diarancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir[14]. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah Action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behavior internal sebuah sistem.

2.3.1.3. Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar (termasuk pengguna, display, dan sebagainya) berupa message yang disusun dalam suatu urutan waktu[14].

Secara khusus, diagram ini berasosiasi dengan use case. Sequence diagram menggambarkan behavior internal sebuah sistem. Dan lebih menekankan pada penyampaian message dengan parameter waktu.

2.3.1.4. Class Diagram

Class diagram adalah diagram yang menunjukan class-class yang ada dari sebuah sistem dan hubungannya secara logika dan menggambarkan struktur statis dari sebuah sistem[14]. Class diagram digunakan untuk menampilkan beberapa kelas serta paket-paket yang ada dalam sistem/perangkat lunak yang sedang digunakan.

Class diagram memberikan gambaran (diagram statis) tentang sistem/perangkat lunak dan relas-relasi yang ada didalamnya. Sebuah class digambarkan seperti sebuah bujur sangkar dengan tiga bagian ruangan yaitu bagian atas adalah bagian


(38)

nama dari class, bagian tengah mendefinisikan property / atribut class, bagian akhir mendefinisikan method-method dari sebuah class. Class sebaiknya diberi nama menggunakan kata benda sesuai dengan domain atau bagian atau kelompoknya.

2.4. Pengujian

Terdapat dua tahapan dalam pengujian yang dilakukan untuk perangkat lunak kali ini, pengujian yang pertama menggunakan metode Black Box. Pengujian yang kedua yaitu Recall dan Precission.

2.4.1. Pengujian Black Box

Metode Black Box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program[15]. Black Box dapat menemukan kesalahan dalam kategori berikut :

1. Fungsi-fungsi yang tidak benar atau hilang 2. Kesalahan interface

3. Kesalahan dalam strutur data atau akses basisdata eksternal 4. Inisialisasi dan kesalahan terminasi

5. Validitas fungsional

6. Kesensitifan sistem terhadap nilai input tertentu 7. Batasan dari suatu data

Tipe dari Black Box Testing : 2.4.1.1. EquivalenceClassTesting

a. Bagi domain Input ke dalam beberapa kelas yang nantinya akan dijadikan sebagai kasus uji

b. kelas yang telah terbentuk disajikan sebagai kondisi input dalam kasus uji c. Kelas tersebut merupakan himpunan nilai-nilai yang valid dan tidak valid d. kondisi input bisa merupakan suatu range, harga khusus, suatu himpunan, atau


(39)

e. Bila kondisi input berupa suatu range, maka input kasus ujinya satu valid dan dua yang invalid

f. Bila kondisi input berupa suatu harga khusus, maka input kasus ujinya satu valid dan dua yang invalid

g. Bila kondisi input berupa suatu anggota himpunan, maka input kasus ujinya satu valid dan dua yang invalid

h. Bila kondisi input berupa suatu anggota boolean , maka input kasus ujinya satu valid dan dua yang invalid

2.4.1.2. SampleTesting

a. Melibatkan sejumlah nilai yang dipilih dari data masukan kelas ekivalensi b. Integrasikan nilai tersebut ke dalam kasus uji

c. Nilai yang dipilih dapat berupa konstanta atau variabel Limit Testing d. Kasus uji yang memproses nilai batas (atau titik singular)

e. Nilai batas disimpulkan dari kelas ekivalensi dengan mengambil nilai yang sama atau mendekati nilai yang membatasi kelas akivalensi tersebut

f. Limit test juga melibatkan data keluaran dari ekivalensi kelas

g. Pada kasus segi tiga, misalnya limit testing mencoba untuk mendeteksi apakah a+b >= c dan bukan a + b > c

h. Bila kondisi input menentukan suatu range, maka kasus ujinya harus mencakup pengujian nilai batas dari range dan nilai invalid yang dekat dengan nilai batas. Misal bila range-nya antara [-1.0, +1.0], maka input untuk kasus ujinya adalah -1.0, 1.0, -1.001,1.001

i. Bila kondisi input-nya berupa harga khusus kasaus ujinya harus mencakup nilai minimum dan maksimum. Misal suatu file dapat terdiri dari 1 sampai 255 record, maka kasus ujinya harus mencakup untuk nilai 0, 1, 255 dan 256, atau uji saat keadaan record kosong dan record penuh.


(40)

2.4.1.3. RobustnessTesting

Data dipilih dari luar range yang didefinisikan. Tujuan pengujian ini adalah untuk membuktikan tidak adanya kejadian yang katastropik yang dihasilkan akibat adanya keabnormalan.

2.4.1.4. BehaviorTesting

Suatu pengujian yang hasilnya hanya dapat dievaluasi per sub program, tidak bisa dilakukan per modul

2.4.1.5. RequirementTesting

a. Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan modul b. Tiap kasus uji harus dapat di urut dengan kebutuhan perangkat lunaknya melalui

matriks berurutan

2.4.2. Pengujian Recall dan Precission

Evaluasi dari sistem temu kembali (Information Retrieval System) dipengaruhi oleh dua parameter utama yaitu recall dan precision. Recall adalah rasio antara dokumen relevan yang berhasil ditemukembalikan dari seluruh dokumen relevan yang ada di dalam sistem, sedangkan precision adalah rasio dokumen relevan yang berhasil ditemukembalikan dari seluruh dokumen yang berhasil ditemu-kembalikan[10].


(41)

Gambar 2.4. Recall dan Precision pada contoh hasil temu-kemabali informasi[7]

Berdasarkan Gambar 2.4. recall dan precision dapat dinyatakan sebagai berikut:

... (2.6)

Menurut Rijsbergen[8] relevansi merupakan sesuatu yang sifatnya subyektif. Setiap orang mempunyai perbedaan untuk mengartikan sesuatu dokumen tersebut relevan terhadap sebuah topik informasi.

Menurut Mizzaro[8], evaluasi pada sebuah sistem temu-kembali informasi dengan menggunakan recall dan precision sudah cukup baik untuk menjadi ukuran dari sistem tersebut.


(42)

2.5. Perangkat Lunak Pendukung

Pada pembangunan aplikasi pencarian informasi kata atau kalimat pada dokumen menggunakan Information Retrieval System dibutuhkan perangkat lunak pendukung, diantaranya adalah:

2.5.1. C# (C sharp)

Dalam pembangunan aplikasi ini, penulis menggunakan bahasa C#. C# dibaca: C sharp merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET Framework. Bahasa pemrograman ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic, dan lain-lain dengan beberapa penyederhanaan. Menurut standar ECMA-334 C# Language Specification, nama C# terdiri atas sebuah huruf Latin C (U+0043) yang diikuti oleh tanda pagar yang menandakan angka # (U+0023). Tanda pagar # yang digunakan memang bukan tanda kres dalam seni musik (U+266F), dan tanda pagar # (U+0023) tersebut digunakan karena karakter kres dalam seni musik tidak terdapat di dalam keyboard standar.

Pada akhir dekade 1990-an, Microsoft membuat program Microsoft Visual J++ sebagai sebuah langkah percobaan untuk menggunakan Java di dalam sistem operasi Windows untuk meningkatkan antarmuka dari Microsoft Component Object Model (COM). Akan tetapi, akibat masalah dengan pemegang hak cipta bahasa pemrograman Java, Sun Microsystems, Microsoft pun menghentikan pengembangan J++, dan beralih untuk membuat pengganti J++, kompilernya dan mesin virtualnya sendiri dengan menggunakan sebuah bahasa pemrograman yang bersifat general-purpose. Untuk menangani proyek ini, Microsoft merekrut Anders Helsberg, yang merupakan mantan karyawan Borland yang membuat bahasa Turbo Pascal, dan Borland Delphi, yang juga mendesain Windows Foundation Classes (WFC) yang digunakan di dalam J++. Sebagai hasil dari usaha tersebut, C# pun pertama kali diperkenalkan pada bulan Juli 2000 sebagai sebuah bahasa pemrograman modern berorientasi objek


(43)

yang menjadi sebuah bahasa pemrograman utama di dalam pengembangan di dalam platform Microsoft .NET Framework.

Pengalaman Helsberg sebelumnya dalam pendesain bahasa pemrograman seperti Visual J++, Delphi, Turbo Pascal dengan mudah dilihat dalam sintaksis bahasa C#, begitu pula halnya pada inti Common Language Runtime (CLR). Dari kutipan atas interview dan makalah-makalah teknisnya ia menyebutkan kelemahan-kelemahan yang terdapat pada bahasa pemrograman yang umum digunakan saat ini, misalnya C++, Java, Delphi, ataupun Smalltalk. Kelemahan-kelemahan yang dikemukakannya itu yang menjadi basis CLR sebagai bentukan baru yang menutupi kelemahan-kelemahan tersebut, dan pada akhirnya memengaruhi desain pada bahasa C# itu sendiri. Ada kritik yang menyatakan C# sebagai bahasa yang berbagi akar dari bahasa-bahasa pemrograman lain. Fitur-fitur yang diambilnya dari bahasa C++ dan Java adalah desain berorientasi objek, seperti garbage collection, reflection, akar kelas (root class), dan juga penyederhanaan terhadap pewarisan jamak (multiple inheritance). Fitur-fitur tersebut di dalam C# kini telah diaplikasikan terhadap iterasi, properti, kejadian (event), metadata, dan konversi antara tipe-tipe sederhana dan juga objek.

C# didisain untuk memenuhi kebutuhan akan sintaksis C++ yang lebih ringkas dan Rapid Application Development yang 'tanpa batas' (dibandingkan dengan RAD yang 'terbatas' seperti yang terdapat pada Delphi dan Visual Basic). Agar mampu mempromosikan penggunaan besar-besaran dari bahasa C#, Microsoft, dengan dukungan dari Intel Corporation dan Hewlett-Packard, mencoba mengajukan standardisasi terhadap bahasa C#. Akhirnya, pada bulan Desember 2001, standar pertama pun diterima oleh European Computer Manufacturers Association atau Ecma International (ECMA), dengan nomor standar ECMA-334. Pada Desember 2002, standar kedua pun diadopsi oleh ECMA, dan tiga bulan kemudian diterima oleh International Organization for Standardization (ISO), dengan nomor standar ISO/IEC 23270:2006.

Kelebihan C# yang menjadikan penulis menggunakan bahasa ini untuk membangun aplikasi ini adalah:


(44)

1. Flexible karena C# dapat di eksekusi di mesin komputer sendiri atau di transmiskan melalu web dan di eksekusi di komputer lainnya.

2. Powerful, C# memiliki sekumpulan perintah yang sama dengan C++ yang kaya akan fitur yang lengkap tetapi dengan gaya bahasa yang lebih diperhalus sehingga memudahkan penggunanya.

3. Easier to use, C# memodifikasi perintah yang sepenuhnya sama dengan C++ dan memberitahu dimana letak kesalahan bila ada kesalahan dalam aplikasi, hal ini dapat mengurangi waktu dalam mencari error Visually oriented: The .NET library code yang digunakan oleh C#.

4. Menyediakan bantuan yang dibutuhkan untuk membuat tampilan yang complicated dengan frames, dropdown, tabbed windows, group button, scroll bar, background image, dan lainnya.

5. Secure, semua bahasa pemprograman yg digunakan harus memiliki security yg benar-benar aman untuk menghindari aksi kejahatan dari pihak lain seperti hacker, C# memiliki segudang fitur untuk menanganinya.

6. Memory management lebih mudah karena adanya garbage collector, yg membebaskan memory secara otomatis sehingga dapat mencegah memory leak. 7. Type safe, konversi implisit dari tipe data hanya mensupport turunan dan operasi dari tipe data yg melebar, contohnya dari int ke long, jika int ke short tidak bisa dan ini dideteksi pas compile.

8. Banyak fungsi yang tersedia di Base Class Library .NET Framework karena berkembang cepat dan semakin banyak fitur yg membuat produktivitas bertambah contohnya linq.

9. Untuk pengembangan aplikasi bisnis / umum atau enterprise, penggunaan C# akan lebih produktif daripada bila menggunakan C++. Bahasa C# masih merupakan turunan dari bahasa C, tetapi seolah2 dibuat lebih mudah dan produktif seperti Visaul Basic dengan tetap mempertahankan fleksibilitas dan “power” dari bahasa C.

Dengan kelebihan seperti itu, maka penulis menggunakan bahasa C# untuk membangun aplikasi ini.


(45)

2.5.2. Microsoft Visual Studio

Visual Studio Merupakan sebuah perangkat lunak lengkap (suite) yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK, Integrated Development Environment (IDE), dan dokumentasi (umumnya berupa MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio antara lain Visual C++, Visual C#, Visual Basic,Visual Basic .NET, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe.

Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi dalam native code (dalam bentuk bahasa mesin yang berjalan di atas Windows) ataupun managed code(dalam bentuk Microsoft Intermediate Language di atas .NET Framework). Selain itu, Visual Studio juga dapat digunakan untuk mengembangkan aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan di atas .NET Compact Framework).

Visual Studio kini telah menginjak versi Visual Studio 9.0.21022.08, atau dikenal dengan sebutan Microsoft Visual Studio 2008 yang diluncurkan pada 19 November 2007, yang ditujukan untuk platform Microsoft .NET Framework 3.5. Versi sebelumnya, Visual Studio 2005 ditujukan untuk platform .NET Framework 2.0 dan 3.0. Visual Studio 2003 ditujukan untuk .NET Framework 1.1, dan Visual Studio 2002 ditujukan untuk .NET Framework 1.0. Versi-versi tersebut di atas kini dikenal dengan sebutan Visual Studio .NET, karena memang membutuhkan Microsoft .NET Framework. Sementara itu, sebelum muncul Visual Studio .NET, terdapat Microsoft Visual Studio 6.0 (VS1998).

2.5.3. SQL

Database yang digunakan oleh penulis dalam pembangunan aplikasi ini yaitu SQL. SQL (Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data


(46)

relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.

Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama Jhonny Oracle yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language).

Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.

Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran John Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar defacto bahasa dalam manajemen basis data.

Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD), namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI.

Kelebihan yang dimiliki SQL adalah sebagai berikut:

1. Mysql server bersifat open source dapat digunakan oleh perorangan atau instansi tanpa harus membelinya. Untuk versi komersial di tambah beberapa fitur dan dukungan technical support.

2. Multi-user, MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.

3. Performance tuning, MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.


(47)

4. Ragam tipe data, MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.

5. Perintah dan Fungsi MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).

6. Performa tinggi, walaupun menampung jumlah database yang sangat besar tapi tidak mengurangi kecepatan dalam hal akses ke databasenya.

7. Proteksi data, MySql menyediakan manajemen user dan enkripsi data. 8. Lintas Platform, bisa digunakan di sistem operasi windows maupun linux. 9. Memiliki sistem sekuriti yang cukup baik dengan verifikasi host.

10.Mendukung ODBC untuk sistem operasi Windows.

2.5.4. SQL Server

Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional atau relational database management system (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar.

Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protokol Tabular Data Stream (TDS). Selain dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering. Pada versi sebelumnya, MS SQL Server 2000 terserang oleh cacing komputer SQL Slammer yang mengakibatkan kelambatan akses Internet pada tanggal 25 Januari 2003.

Berikut ini adalah beberapa fitur yang menarik untuk diangkat dari sekian banyak fitur yang ada pada SQL Server 2000 adalah:


(48)

XML saat ini sudah menjadi standar dalam dunia bisnis untuk komunikasi dan juga sharing informasi. SQL Server dalam hal ini sudah mendukung format XML. Dengan fitur ini dapat menyimpan dokumen XML dalam suatu tabel, melakukan query data ke dalam format XML melalui Transact-SQL dan lain sebagainya. 2. Multi-Instance Support

Fitur ini memungkinkan untuk menjalankan beberapa database engine SQL Server pada mesin yang sama. Fitur ini sebelumnya sudah ada pada Oracle Database. Fitur ini sangat menarik karena memungkinkan seorang DBA (Database Administrator) untuk mengkombinasikan beberapa lingkungan misalnya untuk development, testing dan produksi dalam satu mesin yang sama.

3. Data Warehousing/Business Intelligence Improvements

SQL Server dilengkapi dengan fungsi-fungsi untuk keperluan Business Intelligence melalui Analysis Services (sebelumnya bernama OLAP Services pada versi 7.0). Analysis Services menawarkan OLAP (Online Analytical Processing) yang bisa diakses lewat web sehingga bisa diakses juga dari internet. Sebagai tambahannya SQL Server 2000 juga ditambah dengan tools untuk keperluan data mining.

4. Performance and Scalability Improvements

Dari sisi performa dan skalabilitas, SQL Server juga sudah memperhitungkannya. Ini dicapai dengan menerapkan distributed partitioned views yang mana memungkinkan untuk membagi workload ke beberapa server sekaligus. Peningkatan lainnya dicapai di sisi DBCC, indexed view dan index reorganization. 5. Query Analyzer Improvements

Ada banyak peningkatan seperti hadirnya integrated debugger untuk mendebug stored procedure, object browser untuk melihat semua objek dari database secara hirarki dan juga fasilitas object search untuk mencari suatu objek dalam database. 6. DTS Improvements

Fasilitas ini sekarang sudah mampu untuk memperhatikan primary key dan foreign key constraints yang berguna pada saat migrasi tabel dari RDBMS lain. 7. Transact SQL Enhancements


(1)

1. If the prefix is: "be", "in-", or "a" then type the prefix in a row is the "in-", "in-", or "a".

2. If the prefix is "neighbor", "him", "some" or "PE" then it takes an additional process to determine the type of the prefix.

3. If the first two characters instead of "was", "in-", "a", "neighbor", "some", "him", or "PE" then stop.

If the type of the prefix is "none" then stop. If the type of the prefix is not "none" then remove the prefix if found.

2.

RESEARCH CONTENT

This part shows the analysis of method in implementation of GVSM by using lesk algorithm in Information Retrieving System. The process can be observed in Picture 2.1.

Picture 2.1. Main System Process 2.1 Input Data

There are two kinds of input, first is query in Bahasa results based on the Ministry of Education and Culture 27 August 1975 Number 0196/U/1975[5]. second is by documents inside a computer then using text extraction with library on .net, that is Microsoft.Office.Interop.Word.

Example, there is a query (Q document 1 (D1), document 2 (D2), the document 3 (D3), the document 4 (D4), the document 5 (D5) as if:

Q : Faktor kepala cabang dalam mempengaruhi kinerja karyawan

D1: UNIKOM_AI KARTINI_BABIII

D2: UNIKOM_FERY TRI LAKSANA_BAB2 D3: UNIKOM_Fujiutama_Bab 2

D4: UNIKOM_Putri Famawati_Abstrak D5: UNIKOM_Wupi Ocktavia K_Bab 5

2.2 Preprocessing

At this stage, the data that has been entered will be done preprocessing which consists of reading text (* .doc) with tokenizing, filtration, and algorithms stemming lesk.

1. Reading text

At this stage, reading text using multi-threaded methods to improve system speed reading documents in the same way. Here are the steps to make reading text on the document can be seen in Picture 3.2. below this:

Picture 2.2. Flowchart Reading Text

2. Case Folding

In this process of checking the capitals that are in each sentence. If found the capital letters, it will be lowercase, that is, change to lowercase. Here are the steps necessary to perform case folding on the document and query can be seen in Picture 2.3. below this:

Picture 2.3. Flowchart CaseFolding

In this case, the query is converted to lowercase become “faktor pemimpin dalam mempengaruhi kinerja karyawan”.

3. Tokenizing

In this process the removal of punctuation and numbers. After the process, the document is broken down into tokens by cutting into a word (term). Here are the steps to perform tokenizing the document and query can be seen in Picture 2.4. below this:

Picture 2.4. Flowchart Tokenizing

In this case, the query is divided into six parts contained in Table 2.1.


(2)

Table 2.1. TokenizingQuery Results faktor

kepala cabang dalam

mempengaruhi kinerja karyawan 4. Filtering

Filtering process is a process of removing the words are not important are the results of tokenizing. To perform filtering can use the stoplist or word list or stopword. The data will be compared with the results of tokenizing a dictionary, if in the dictionary then the word will be deleted. The remaining words are the important words. For more details filtering process steps are as follows:

1. The word tokenizing process results compared with word filtering / stopword.

2. If the data is the same as the word tokenizing result in stopword table will be deleted.

3. If it is not the same as the table 2.1. said filtering / stopword then the word will be saved.

Here are the steps to perform tokenizing the document and query can be seen in Picture 2.5. below this:

Picture 2.5. Flowchart Filtering

In this case, the word "the" include both stopword the word "in" is deleted. Table 3.2. shows changes in query results stopword.

Tabel 2.2. query results stopword

faktor kepala cabang mempengaruhi kinerja karyawan 5. Stemming

After the filtering process, documents and queries are entered into the process of stemming. Stemming process that removes some of the front and rear so that the words be a basis. The author uses Stemming Algorithm Indonesian Nazief and Adriani. For basic word author took from Big Indonesian Dictionary (KBBI).

In this case, there is the word "mempengaruhi" that has affix mem- and -i into effect. Table 3.3.

shows the changes that have been in stemming the word.

Table 3.3. results stemming faktor

kepala cabang pengaruh kinerja karyawan 2.3 Lesk Algorithm

After preprocessing process, then the next stage to optimize the keywords (queries) so unambiguous that uses algorithms lesk. Lesk algorithmic process which compares the meaning of words in comparison with the meaning of the word input (query) to find the right words synonymous with the query. The whole meaning of the word took on a large dictionary Indonesian website and to said comparator is taken from Indonesian synonyms website. For more details, stemming process steps are as follows:

1. Picking stemming query result

2. Determine the synonym of a query which will be a benchmark

3. Taking the meaning of words from the query and said comparator

4. Conducting the process of tokenizing on the meaning of the query and said comparator 5. Calculate the weight of said comparison by

comparing the meanings of words with the meaning of the word query comparison

6. Choosing the comparison is based on the weight of the greatest Here are the steps to make the process lesk on query algorithms can be seen in Picture 2.6. below this:


(3)

In this case there are six queries that will be compared with the comparison words. Lesk algorithmic process can be seen in Table 2.4.

Table 2.4. algorithms lesk

Kata

(query) Makna

Kata Pemba-nding

Mak-na Bobot

Kepala bagian tubuh yang di atas leher (pada manus ia, bebera pa jenis hewan merup akan tempat otak, pusat jaringa n saraf, dan bebera pa pusat indra)

akal daya

pikir, jalan cara mela kuka n sesua tu, daya upay a, ikhtia r 1 pemim pin, ketua (kanto r, pekerj aan, perku mpula n) pemimp in orang yang memi mpin 2

Based on the calculation algorithm lesk, said (query) "kepala" has two said comparator is "akal" which has a weight of 0 and a "pemimpin" who has a weight of 2, then said comparator taken as a result of the calculation algorithm lesk is a leader because it has value greater weight. Results from lesk algorithm will be added to the query so that more optimal results. Table 2.5. is the result of the calculation algorithm lesk

Table 2.5. lesk algorithm results aspek pemimpin filial akibat prestasi buruh

2.4 Generalized Vector Space Model (GVSM)

There are several steps or processes to obtain the results of the query is entered, called an algorithm Generalized Vector Space Model [6]:

1. Throw prepositions and conjunctions.

2. Using Stemming the document and query, the application used to eliminate affixes (prefixes, suffixes). Example: handsome: handsome, error: wrong.

3. Determine minterm to determine possible patterns of word frequency. Long minterm is based on a lot of words that is inputted to the query. Then converted into orthogonal vectors according to minterm pattern emerging.

4. Calculate the number or frequency of occurrence of the word in the document that match the query 5. Calculate the index term

6. Change the document and query into a vector 7. Sort the documents by similarity, by calculating

the vector

2.4.1 Generalized Vector Space Model (GVSM) by Using Lesk Algorithm

Table 2.6. The results of calculations GVSM by using lesk algorithm

Document Similarity Weights

D1 0.999702951479197

D2 0.986850140318568

D3 0.913581007337747

D4 0

D5 0

Based on the results of similarity between documents by querying it can be concluded that the sequence of documents relevant to the query is: 1. Document 1 (D1) = 0.999702951479197 2. Document 2 (D2) = 0.986850140318568 3. Document 3 (D3) = 0.913581007337747 4. Document 4 (D4) = 0

5. Document 5 (D5) = 0

Since the value similiaritas document 2 is larger than the value other then similiaritas documents (�� (�⃑⃑⃑⃑ . ) > �� (�⃑⃑⃑⃑ . ) > �� (�⃑⃑⃑⃑ . ) >1

�� (�⃑⃑⃑⃑ . ) > �� (�⃑⃑⃑⃑ . ) . Based on the case can be concluded that the Generalized Vector Space Model (GVSM) calculates the correlation between queries and documents by counting all term used orthogonal


(4)

vectors to calculate the Index term and after that every term in the document generalized to vector orthogonal by multiplying the result of index term to term document and query, then each of the charged vector multiplication operation and the results become a reference point in determining the relevance of input (query) against the document. 2.4.2 Generalized Vector Space Model (GVSM)

without Lesk Algorithm

Table 2.7. The results of calculations without lesk algorithm

Document Similarity Weights

D1 0.816474545780421

D2 0.996230230720323

D3 0.653918516245756

D4 0

D5 0

Based on the results of similarity between documents by querying it can be concluded that the sequence of documents relevant to the query are: 1. Document 2 (D2) = 0.996230230720323 2. Document 1 (D1) = 0.816474545780421 3. Document 3 (D3) = 0.653918516245756 4. Document 4 (D4) = 0

5. Document 5 (D5) = 0

Since the value similiaritas document 2 is larger than the value other then similiaritas documents (�� (�⃑⃑⃑⃑ . ) > �� (�⃑⃑⃑⃑ . ) > �� (�⃑⃑⃑⃑ . ) >1

�� (�⃑⃑⃑⃑ . ) > �� (�⃑⃑⃑⃑ . ) . Based on the case can be concluded that the Generalized Vector Space Model (GVSM) calculates the correlation between queries and documents by counting all term used orthogonal vectors to calculate the Index term and after that every term in the document generalized to vector orthogonal by multiplying the result of index term to term document and query, then each of the charged vector multiplication operation and the results become a reference point in determining the relevance of input (query) against document.

2.5 Recall and Precission Test

Evaluation from Information Retrieval System is conducted by two main parameters, recall and precision. Recall is ratio between relevant document inside a system, and precision is ratio of relevant document which is successfully retrieved from all documents.

Picture 2.7. Recall dan Precision

Based on Picture 2.7. recall and precision can be expressed as

following:

... (6)

To test the precision and accuracy of applications, testing is done by calculating the recall and precission starting from documents that were 10 to 69.

Table 2.8. Results Recall and Precision

No .

Document Value

Using Lesk Algorithm

Without Lesk Algorithm Recall

(%)

Precissi on (%)

Recall (%)

Precissi on (%)

1. 10 100 60 100 60

2. 20 100 65 100 65

3. 30 100 80 79.166 63.333

4. 40 100 82.5 96.96 80

5. 50 100 94 95.744 90

6. 60 100 85 98.039 83.333

7. 69 100 82.608 94.736 78.26

3.

CONCLUSION

According to the research, adding lesk algorithm in Information Retrieval System can be implemented and can remove ambiguous words in query. Lesk algorithm can work in order as input of Information Retrieval System.

The value generated by the algorithm lesk influence on Similarity Weights. Based on the test in the previous chapter, using algorithms lesk Similarity Weights for. Not only Similarity Weights were increased, but the value of recall and precission increased, too. In the folder that contains 30 Document produce recall value and precission without using algorithms lesk for 94 736% and 78.26%, while the use of algorithms lesk of 100% and 82 608%. Lesk seen that the algorithm can improve the accuracy of search Document well.


(5)

Based on the results of research, analysis, design through to the manufacture of implementation methods Generalized Vector Space Model (GVSM) using an algorithm lesk on Retrieval System (Information Retrieval System), it can be given the following advice:

1. Stages of preprocessing such as tokenizing, filtering, stemming, and the addition of a relatively long lesk algorithm is expected to be optimized back.

2. Completeness of databases such as WordNet meenggunakan Indonesian as a reference in eliminate ambiguity, but to WordNet Indonesian until now exist and are still being developed. 3. Taking the meaning of words and synonyms that

can be done automatically by the system 4. For further development, can be equipped with

an ambiguous word in the form of an ambiguous phrase, word berimbuhan ambiguous.

5. The test can be performed on the Document collection more.

BIBLIOGRAPHY

[1] Zainal A. Hasibuan , Yofi Andri : Penerapan Berbagai Teknik Sistem Temu-Kembali Informasi Berbasis Hiperteks, Fakultas Ilmu Komputer, Universitas Indonesia

[2] Chairul Furqon, Konsep Informasi (diakses tanggal 5/10/2015)

[3] http://widuri.raharja.info/index.php?title=BAB_ II_ROOSTER_(KKP) diakses tgl 5/10/2015 pukul 20.26

[4] Sahirul Alim Tri Bawono, Information Retrieval

Meningkatkan Pencarian Data yang Relevan, Universitas Gadjah Mada.

[5] Jasman Pardede, Mira Musrini Barmawi, Wildan Denny Pramonor “IMPLEMENTASI METODE GENERALIZED VECTOR SPACE MODEL

PADA APLIKASI INFORMATION

RETRIEVAL”, Institut Teknologi Nasional Bandung 2013

[6] Baeza, Ricardo, B. Ribeiro. 1999. Modern Information Retrieval. ACM Press. United States of America. 1999.

[7] Nazief, B. d. Approach to Stemming Algorithm.

Confix-Stripping.

[8] Salton, G. (1989). Automatic Text Processing,The Transformation, Analysis, andRetrieval of Information by Computer.

United States of America: Addison – Wesly Publishing Company,Inc. All rights reserved.Nadirman, S, 2006,

[9] Sistem Temu-Kembali Informasi dengan Metode Vector Space Model pada Pencarian File Document Berbasis Teks, Yogyakarta, Universitas Gadjah Mada.

[10]Jasman Pardede, IMPLEMENTASI

MULTITHREADING UNTUK

MENINGKATKAN KINERJA

INFORMATION RETRIEVAL DENGAN METODE GVSM”, Jurnal Sistem Komputer Vol. 4 No. 1, Mei 2014

[11]Abdul Rouf, Pengujian Perangkat Lunak Dengan Menggunakan Metode White box dan Black box, Sistem Informasi – STMIK HIMSYA Semarang [12]SQL Server Official Site (www.microsoft.com/sql/default.asp) diakses tanggal 28/11/2015

[13]Stanjeev Banerjee and Ted Pedersen, “An Adapted Lesk Algorithm For Word Sense Disambiguition Using WordNet”, University of Minnesota, Duluth, MN 55812 USA


(6)