• Tidak ada hasil yang ditemukan

Sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia menggunakan struktur data inverted index dengan metode pembobotan TF-IDF berbasis ordbms.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia menggunakan struktur data inverted index dengan metode pembobotan TF-IDF berbasis ordbms."

Copied!
282
0
0

Teks penuh

(1)

i

BERBAHASA INDONESIA MENGGUNAKAN STRUKTUR DATA

INVERTED INDEX DENGAN METODE PEMBOBOTAN TF-IDF

BERBASIS ORDBMS

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh:

Justina Septiani Wulandari

NIM : 085314031

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

ii

PAPERS USING INVERTED INDEX DATA STRUCTURE WITH TF-IDF

WEIGHTING METHOD BASED ON ORDBMS

THESIS

Presented as Partial Fullfilment of the Requirements

To Obtain the Computer Bachelor Degree

In Informatics Engineering

By:

Justina Septiani Wulandari

Student Number : 085314031

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

(3)
(4)
(5)

v

Penulis menyatakan dengan sesungguhnya bahwa skripsi yang ditulis ini

tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan

dalam kutipan dan daftar pustaka, sebagaimana layaknya sebuah karya ilmiah.

Yogyakarta, 13 Februari 2013

Penulis,

(6)

vi

LULUS ITU PILIHAN..

MAU CEPAT ATAU LAMBAT SEMUA DITENTUKAN OLEH DIRI

SENDIRI..

CINTAILAH SKRIPSI SEPERTI MENCINTAI PACARMU, MAKA

SKRIPSI AKAN LEBIH MUDAH UNTUK DITAKLUKAN..

JUST FOCUS AND SAY “I CAN DO IT!!”

(7)

vii

HALAMAN PERSEMBAHAN

Kupersembahkan skripsi ini kepada:

Tuhan Yesus Kristus dan Bunda-Nya atas lindungan dan kasih-Nya

ε(˘ʃƪ˘)з

Keluargaku Mama Anastasia. W, Bapak FX. Suwarli, Adik F. Desylita. C,

Bulik T. Suwarni, Romo Paulus Sarmono, SCJ atas dukungan, kasih, doa

dan materi sehingga aku bisa menyelesaikan skripsiku (

ɔ

˘

˘)˘

˘ c)

Kekasih hati AG. Hari Jati Nugraha, S.T yang mau menjadi tempat

sharing, memberikan masukkan dan kritik, memberikan support dalam

penyelesaian skripsiku, menjadi alarm pengingat untuk cepat lulus, waktu

dan cutinya utk menemani saat ujian

˘)

ε

˘`)

beserta keluarganya

yang memberikan doa serta dukungan

Sahabat-sahabatku yang selalu mau membantu, memberikan semangat

dan kritik:

~@rezaEmde yang menjadi teman seperjuangan dalam penyelesaian

skripsi dan seminar nasional ReTII~ (*

)

(

*)

~Friends Photography crew: @petrav69, @puutripuut, @iamdewangga,

@SuryaAtmajaDB, @DeviiSinaga, @rosadell, @eesyyyyyy, Ndul,

@nezines22 yang memberikan pengalaman yang sangat berharga bekerja

sama, profesional, dan mendapatkan hal baru

(^o^)

~Kos Pak Kuat: @xtina_itha, @Little_Lan91, @yuliachann yang

menjadi teman seperjuangan dalam menyelesaikan skripsi~

(

`)

~@xvienz yang membantu dalam menggunakan sistem operasi open

source dan sharing skripsiku~

-

˘)

~@bebh_beth, @endra_prasetya, @virtualservers, @gadissssssss,

@frendars, @batistagempil, @fidisiledif, @roysyahputra,

@cellathiodore, @stmita, @exseminaris2007~

( ▽ )

~Teman-teman Laskar TI 2008, SaOS atas persahabatannya~ (

ʃƪ

˘˘

)

Teman-teman yang sedang menyelesaikan skripsi, tetap semangat YOU

CAN DO IT!!

ƪ

(

٥

`

´

٥

)

ʃ

(8)

viii

Setiap tahun makalah ilmiah berbahasa Indonesia semakin bertambah

banyak sehingga diperlukan sistem pemerolehan informasi untuk mencari

dokumen yang relevan. Sebagian besar sistem pemerolehan informasi dan web

pencarian menerapkan

inverted index yang terbukti efisien dalam menjawab

query. Pada penelitian sebelumnya, penggunaan

inverted index

pada

database

menawarkan beberapa keuntungan dan implementasi

inverted index dengan

Bahasa Indonesia menggunakan ORDBMS memiliki waktu akses yang lebih baik

dibandingkan menggunakan RDBMS.

Dari latar belakang tersebut, diimplementasikan sebuah pencarian makalah

ilmiah berbahasa Indonesia berdasarkan seluruh isi teks dalam dokumen

menggunakan struktur data

inverted index pada ORDBMS dengan metode

pembobotan TF-IDF (Savoy) dan

stemming menggunakan algoritma Nazief &

Adriani. Sistem ini dikembangkan menggunakan bahasa pemrograman Java,

ORDBMS pada Oracle 11g R2 Enterprise Edition dan Netbeans.

Percobaan ini menggunakan

corpus 281 dokumen makalah ilmiah

berbahasa Indonesia yang berisikan 25737 term. Waktu yang dibutuhkan untuk

proses pencarian pada operasi AND dengan 1 sampai 2 kata kunci kurang dari 0,1

detik, 3 kata kunci kurang dari 0,4 detik, dan 4 kata kunci kurang dari 1 detik.

Sedangkan, pada hasil perhitungan

recall precision pada 11 titik sistem dapat

menghasilkan nilai yang baik meskipun terdapat beberapa kelemahan yang

ditemukan.

(9)

ix

Every year, Indonesian scientific papers are multiplying so it required

information retrieval system to find relevant documents. Most of the information

retrieval system and web search implement inverted index which proven efficient

in answering queries. In previous research, the use of inverted index on database

offers several advantages and implementation of inverted index by using

Indonesian languages on ORDBMS had better access time than using RDBMS.

From these background, searching scientific paper with Indonesian

language was implemented scientific paper searching, the entire contents of the

text in a document using the inverted index data structure on ORDBMS with

TF-IDF weighting method (Savoy) and stemming algorithm Nazief & Adriani. The

system was developed using the Java programming language, ORDBMS Oracle

11g R2 Enterprise Edition and Netbeans.

This experiment uses corpus 281 Indonesian scientific papers documents

that contains 25,737 terms. The time needed to process a search on the AND

operation with 1 to 2 keywords less than 0.1 seconds, 3 keywords less than 0.4

seconds, and 4 keywords less than 1 second. Meanwhile, result on the 11-point

recall precision computation system can produce a good value despite some

weaknesses were found.

(10)

x

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma:

Nama

: Justina Septiani Wulandari

NIM

: 085314031

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma karya ilmiah yang berjudul:

SISTEM PEMEROLEHAN INFORMASI MAKALAH ILMIAH

BERBAHASA INDONESIA MENGGUNAKAN STRUKTUR DATA

INVERTED INDEX MENGGUNAKAN METODE PEMBOBOTAN TF-IDF

BERBASIS ORDBMS

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan

kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan,

mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan

data mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau

media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya

maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya

sebagai penulis.

Demikian pernyataan ini yang saya buat dengan sebenarnya.

Dibuat di Yogyakarta,

Pada tanggal: 13 Februari 2013

Yang menyatakan,

(11)

xi

Puji dan saya panjatkan kepada Tuhan Yesus Kristus atas kasih dan

lindungan-Nya sehingga saya dapat menyelesaikan tugas akhir ini.

Dalam penyelesaian tugas akhir ini ada begitu banyak pihak yang telah

memberikan bantuan dan perhatian dengan caranya masing-masing sehingga

tugas akhir ini dapat diselesaikan. Oleh karena itu saya mengucapkan terimakasih

kepada :

1.

Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc., selaku dekan Fakultas

Sains dan Teknologi Universitas Sanata Dharma.

2.

Ibu Ridowati Gunawan, S.Kom., M.T., selaku ketua jurusan Teknik

Informatika Universitas Sanata Dharma.

3.

Bapak JB. Budi Darmawan, S.T., M.Sc., selaku dosen pembimbing TA yang

selalu membimbing dan memberikan banyak masukkan.

4.

Ibu Sri Hartati Wijono, S.Si., M.Kom. dan Bapak Puspaningtyas Sanjoyo

Adi, S.T., M.T. selaku penguji TA, atas saran dan kritik yang diberikan untuk

menunjang Tugas Akhir ini.

5.

Kedua orang tua FX. Suwarli dan Anastasia. W, adik Fabiola Desylita. C,

Bulik T. Suwarni, dan kekasih AG. Hari Jati Nugraha, S.T yang selalu

memberi dukungan, kasih sayang, semangat, dan masukkan dalam proses

pengerjaan tugas akhir ini.

(12)

xii

dukungan dan persahabatannya.

8.

Semua pihak yang telah membantu penulis baik secara langsung maupun

tidak langsung, yang tidak dapat disebutkan satu persatu.

Saya menyadari masih banyak kekurangan yang terdapat pada laporan ini.

Saran dan kritik selalu saya harapkan dari pembaca untuk perbaikan

perbaikan di

masa yang akan datang.

Akhir kata, saya berharap tulisan ini dapat bermanfaat bagi kemajuan dan

perkembangan ilmu pengetahuan dan berbagai pihak pengguna pada umumnya.

Yogyakarta, 13 Februari 2013

(13)

xiii

HALAMAN JUDUL BAHASA INDONESIA ... i

HALAMAN JUDUL BAHASA INGGRIS ... ii

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

PERNYATAAN KEASLIAN KARYA ... v

HALAMAN MOTO ... vi

HALAMAN PERSEMBAHAN ... vii

ABSTRAKSI ... viii

ABSTRACT ... ix

LEMBAR PERNYATAAN PERSETUJUAN ... x

KATA PENGANTAR ... xi

DAFTAR ISI ... xiii

DAFTAR TABEL ... xvii

DAFTAR GAMBAR ... xix

DAFTAR LISTING ... xxii

BAB I PENDAHULUAN ... 1

1.1

Latar Belakang Masalah... 1

1.2

Rumusan Masalah ... 2

1.3

Tujuan ... 2

1.4

Batasan Masalah ... 3

1.5

Metodologi Penelitian ... 3

1.6

Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 5

2.1

Pemerolehan Informasi ... 5

2.1.1

Konsep Pemerolehan Informasi ... 5

2.1.2

Logical View Dokumen ... 5

2.1.4

Inverted Index... 11

(14)

xiv

2.2

Object Oriented Conceptual Model ... 14

2.2.1

Relasi Asosiasi ... 15

2.2.2

Relasi Agregrasi ... 15

2.3

Object Relational Database Management System ... 16

2.3.1

Konsep Object Relational Database Management System ... 16

2.4

Implementasi

Existence-Dependent Aggregation

menggunakan Teknik

Nesting ... 19

2.5

Penggunaan DBMS untuk Pemerolehan Informasi ... 19

BAB III ANALISA DAN PERANCANGAN SISTEM ... 22

3.1

Gambaran Sistem yang Dikembangkan ... 22

3.1.1

Gambaran Proses pada Sistem ... 23

3.1.1.1

Alur Kerja Proses Indexing ... 23

3.2

Analisa Kebutuhan ... 31

3.3

Perancangan Sistem ... 31

3.3.1

Diagram Use Case ... 31

3.3.2

Narasi Use Case ... 32

3.3.2.1

Login ... 32

3.3.2.2

Menambahkan Dokumen Makalah ... 34

3.3.2.3

Mengubah Data Dokumen Makalah ... 36

3.3.2.4

Logout ... 37

3.3.2.5

Mencari Dokumen Makalah ... 38

3.3.3

Data Flow Diagram (DFD) ... 39

3.3.3.1

Diagram Context ... 40

3.3.3.2

Diagram Berjenjang ... 40

3.3.3.3

DFD Level 0 ... 41

3.3.3.4

DFD Level 1 Proses 1 ... 42

3.3.3.5

DFD Level 1 Proses 2 ... 42

3.3.3.6

DFD Level 1 Proses 3 ... 43

3.3.3.7

DFD Level 1 Proses 4 ... 43

(15)

xv

3.4

Perancangan Database ... 45

3.4.1

Conceptual Database Design ... 45

3.4.2

Logical Database Design ... 48

3.4.3

Physical Database Design ... 48

3.4.4

Proses Query pada ORDBMS ... 54

3.5

Perancangan Antarmuka (Interface) ... 55

3.5.1

Desain Halaman Login Administrator ... 55

3.5.2

Desain Halaman Beranda Administrator ... 56

3.5.3

Desain Halaman Tambah Makalah ... 57

3.5.4

Desain Halaman Edit Makalah ... 57

3.5.5

Desain Halaman Pencarian ... 59

3.5.6

Desain Halaman Hasil Pencarian ... 59

BAB IV IMPLEMENTASI ... 61

4.1

Spesifikasi Software dan Hardware yang Digunakan... 61

4.1.1

Spesifikasi Software ... 61

4.1.2

Spesifikasi Hardware ... 61

4.2

Implementasi Basis Data ... 62

4.3

Koneksi dari Java ke Oracle ... 74

4.4

Implementasi Struktur Data Inverted Index ... 74

4.5

Pembuatan Antarmuka (Interface) ... 76

4.5.1

Halaman Login ... 76

4.5.2

Halaman Beranda Administrator ... 76

4.5.3

Halaman Tambah Makalah ... 77

4.5.5

Halaman Edit Makalah ... 88

4.5.6

Halaman Pencarian ... 89

4.5.7

Halaman Hasil Pencarian ... 96

BAB V ANALISA HASIL ... 97

5.1

Analisa Hasil Program ... 97

5.1.2

Analisa Uji Coba Pengguna ... 97

(16)

xvi

5.2.1

Kelebihan Sistem ... 119

5.2.2

Kelemahan Sistem ... 120

BAB VI KESIMPULAN DAN SARAN ... 121

6.1

Kesimpulan... 121

6.2

Saran ... 122

DAFTAR PUSTAKA ... 124

(17)

xvii

Tabel 2.1. Kombinasi Awalan Akhiran Yang Tidak Diijinkan ... 8

Tabel 2.2. Cara menentukan tipe awalan untuk

Kata yang diawali dengan “te

-

... 8

Tabel 2.3. Jenis Awalan Berdasarkan Tipe Awalannya... 9

Tabel 3.1. Tabel Analisa Kebutuhan ... 31

Tabel 3.2. Narasi Use Case Login ... 32

Tabel 3.3.Narasi Use Case Menambah Dokumen Makalah ... 34

Tabel 3.4.Narasi Use Case Mengubah Data Dokumen Makalah ... 36

Tabel 3.5. Narasi Use Case Logout ... 37

Tabel 3.6. Narasi Use Case Mencari Dokumen Makalah ... 38

Tabel 3.7. Tabel Status ... 49

Tabel 3.8. Tabel Documents ... 49

Tabel 3.9. Tabel Posting ... 50

Tabel 3.10. Tabel Terms... 50

Tabel 3.11. Tabel Posting_Stopword ... 51

Tabel 3.12. Tabel Stopwords ... 51

Tabel 3.13. Tabel Dictionary ... 51

Tabel 3.14. Tabel Administrator... 52

Tabel 3.15. Tabel Sourceterm ... 52

Tabel 3.16. Tabel Jurnal ... 53

Tabel 3.17. Tabel Term ... 53

Tabel 4.1. Tabel Status ... 64

Tabel 4.2. Tabel Documents ... 64

Tabel 4.3. Tabel Posting... 65

Tabel 4.4. Tabel Terms ... 66

Tabel 4.5. Tabel Posting_stopword ... 67

Tabel 4.6. Tabel Stopwords ... 68

Tabel 4.7. Tabel Dictionary ... 69

Tabel 4.8. Tabel Administrator ... 69

(18)

xviii

Tabel 4.11. Tabel Term ... 72

Tabel 5.1. Hasil operasi AND sebelum dijumlahkan nilai bobotnya ... 102

Tabel 5.2. Hasil operasi AND setelah dijumlahkan nilai bobotnya ... 102

Tabel 5.3. Urutan dokumen untuk kata kunci “jaringan syaraf tiruan”

... 103

Tabel 5.4. Seluruh dokumen yang relevan berdasarkan responden untuk kata

kunci “jaringan syaraf tiruan”

... 103

Tabel 5.5. Nilai recall dan precision

untuk kata kunci “jaringan syaraf tiruan”

. 104

Tabel 5.6. Perhitungan interpolasi untuk kata kunci “jaringan syaraf tiruan”

.... 105

Tabel 5.7. Seluruh dokumen yang relevan berdasarkan responden untuk kata

kunci “

data mining

asosiasi”

... 106

Tabel 5.8. Nilai recall dan precision

untuk kata kunci “

data mining

asosiasi”

.. 106

Tabel 5.9. Perhitungan

interpolasi untuk kata kunci “

data mining

asosiasi”

... 107

Tabel 5.10. Seluruh dokumen yang relevan berdasarkan responden untuk kata

ku

nci “

cube

... 109

Tabel 5.11. Nilai recall dan precision

untuk kata kunci “

cube

... 109

Tabel 5.12. Perhitungan interpolasi untuk kata kunci “

cube

... 110

Tabel 5.13. Seluruh dokumen yang relevan berdasarkan responden untuk kata

kunci “

hardisk

... 111

Tabel 5.14. Nilai recall dan precision

untuk kata kunci “

hardisk

... 112

Tabel 5.15. Perhitungan interpolasi untuk kata kunci “

hardisk

... 112

Tabel 5.16. Seluruh dokumen yang relevan berdasarkan responden untuk kata

kunci “

wireless network

... 113

Tabel 5.17. Nilai recall dan precision

untuk kata kunci “

wireless network

... 114

(19)

xix

Gambar 2.1. Operasi teks logical view dari sebuah dokumen: dari full text menjadi

sebuah set indeks term. (Baeza-Yates, 1999) ... 6

Gambar 2.2. Proses pemerolehan informasi (Baeza-Yates, 1999) ... 11

Gambar 2.3. Representasi Inverted Index (Manning, 2009) ... 12

Gambar 2.4.

Pemotongan

posting list untuk

query Brutus AND Calpuria

(Manning, 2009) ... 12

Gambar 2.5. Object (Pardede, 2006) ... 14

Gambar 2.6. Contoh relasi agregrasi (Pardede, 2006) ... 15

Gambar 2.7. Contoh relasi agregrasi existence-dependent (Pardede, 2006) ... 16

Gambar 2.8. Contoh relasi agregrasi existence-independent (Pardede, 2006) ... 16

Gambar 2.9. Object type dan contoh object type (Oracle, 2008) ... 17

Gambar 3.1. Gambaran sistem yang dikembangkan ... 23

Gambar 3.2.

Flowchart proses

indexing untuk menyimpan ke

database text

RDBMS ... 24

Gambar 3.3.

Flowchart

pada

stored procedure insert_term pada

database text

RDBMS ... 25

Gambar 3.4.

Flowchart

pembentukan

inverted index

dari

database text

RDBMS

ke database index ready ORDBMS... 26

Gambar 3.5.

Flowchart stored procedure insert_term_ordbms pada

database

index ready ORDBMS ... 27

Gambar 3.6. Flowchart untuk proses searching ... 28

Gambar 3.7. Flowchart untuk operasi AND ... 29

Gambar 3.8. Flowchart penghitungan waktu akses query ... 30

Gambar 3.9. Use Case... 32

Gambar 3.10. Diagram Context ... 40

Gambar 3.11. Diagram berjenjang ... 40

Gambar 3.12. DFD level 0 ... 41

Gambar 3.13. DFD level 1 proses 1... 42

(20)

xx

Gambar 3.16. DFD level 1 proses 4... 43

Gambar 3.17. DFD level 1 proses 5... 44

Gambar 3.18. DFD level 1 proses 6... 45

Gambar 3.19. Diagram ER pada database text RDBMS ... 46

Gambar 3.20. Struktur data inverted index klasik ... 46

Gambar 3.21. Gambaran nested table pada database index ready ORDBMS... 47

Gambar 3.22. Rancangan database index ready ORDBMS dalam bentuk diagram

kelas ... 48

Gambar 3.23. Hubungan relasi antar tabel pada database teks RDBMS ... 48

Gambar 3.24. Desain halaman login administrator ... 56

Gambar 3.25. Desain halaman beranda administrator ... 56

Gambar 3.26. Desain halaman tambah makalah ... 57

Gambar 3.27. Desain halaman edit makalah ... 58

Gambar 3.28. Desain halaman form edit makalah ... 58

Gambar 3.29. Desain halaman pencarian ... 59

Gambar 3.30. Desain halaman hasil pencarian ... 60

Gambar 4.1. Database text RDBMS pada sistem pemerolehan informasi makalah

ilmiah berbahasa Indonesia ... 63

Gambar 4.2. Database index ready ORDBMS pada sistem pemerolehan informasi

makalah berbahasa Indonesia ... 63

Gambar 4.3. Implementasi struktur data

inverted index

pada tabel posting dalam

database text RDBMS ... 75

Gambar 4.4. Implementasi struktur data

inverted index

pada tabel

term dalam

database index ready ORDBMS ... 75

Gambar 4.5. Halaman login ... 76

Gambar 4.6. Halaman beranda administrator ... 77

Gambar 4.7. Halaman tambah makalah ... 78

Gambar 4.8. Halaman edit data makalah ... 88

Gambar 4.9. Form edit data makalah... 89

(21)

xxi

Gambar 5.1. Output perintah SQL untuk kata jaring ... 98

Gambar 5.2. Output perintah SQL untuk kata syaraf ... 101

Gambar 5.3. Output perintah SQL untuk kata tiru ... 101

Gambar 5.4. Grafik interpolasi untuk kata kunci pencarian “jar

ingan

syaraf tiruan”

... 105

Gambar

5.5.

Grafik

interpolasi

untuk

kata

kunci

pencarian

data mining

asosiasi”

... 108

Gambar 5.6. Grafik interpolasi untuk kata kunci pencarian “

cube

... 110

Gambar 5.7. Grafik interpolasi untuk kata kunci pencarian “

hardisk

... 113

(22)

xxii

Listing 2.1. Perintah SQL umum untuk membuat object Type ... 17

Listing 3.1. Type untuk object type JurnalType ... 54

Listing 3.2. Type untuk object type PostingListType ... 54

Listing 3.3. Type untuk object type PostingListNestedType ... 54

Listing 3.4. Type untuk object type termType ... 55

Listing 3.5. Create tabel jurnal ... 55

Listing 3.6. Create tabel term ... 55

Listing 4.1. Create tabel status ... 64

Listing 4.2. Create tabel documents ... 65

Listing 4.3. Create tabel posting ... 66

Listing 4.4. Create tabel terms ... 67

Listing 4.5. Create tabel posting_stopword ... 67

Listing 4.6. Create tabel stopwords ... 68

Listing 4.7. Create tabel dictionary ... 69

Listing 4.8. Create tabel administrator ... 70

Listing 4.9. Create tabel sourceterm ... 70

Listing 4.10. Type untuk object type JurnalType... 71

Listing 4.11. Create tabel jurnal ... 72

Listing 4.12. Type untuk object type termType ... 73

Listing 4.13. Type untuk object type PostingListType ... 73

Listing 4.14. Create tabel term ... 73

Listing 4.15. JDBCURL untuk koneksi dari Java ke Oracle ... 74

Listing 4.16. Method getConnection ... 74

Listing 4.17. Perintah SQL untuk menampilkan struktur data

inverted index pada

database text RDBMS untuk kata syaraf ... 75

Listing 4.18. Perintah SQL untuk menampilkan struktur data

inverted index pada

database index ready ORDBMS ... 75

(23)

xxiii

stemmed word pada tabel terms database teks RDBMS ... 80

Listing 4.21.

Stored procedure

insert_sourceterm untuk menambahkan

original

word pada tabel source term database teks RDBMS ... 81

Listing 4.22. Stored procedure

counting_dfk_nidfk untuk menghitung nilai dfk

dan nidfk ... 82

Listing 4.23. Stored procedure counting_w untuk menghitung nilai ntfik dan w 83

Listing 4.24.

Method untuk penjadwalan

update

database index ready

ORDBMS ... 83

Listing 4.25. Method untuk memanggil method update dan

create inverted index

pada database index ready ORDBMS ... 84

Listing 4.26.

Method untuk

update inverted index pada

database index ready

ORDBMS ... 85

Listing 4.27.

Method

untuk

create inverted index

pada

database index ready

ORDBMS ... 85

Listing 4.28.

Stored procedure update_term_ordbms untuk update inverted index

pada database index ready ORDBMS ... 86

Listing 4.29.

Stored procedure insert_term_ordbms untuk

create inverted index

pada database index ready ORDBMS ... 87

Listing 4.30. Method searching untuk pencarian ... 90

Listing 4.31. Method singlesearch untuk pencarian dengan 1 kata kunci ... 91

Listing 4.32. Method AND untuk operasi pencarian AND ... 92

Listing 4.33. Listing untuk penghitungan waktu akses query ... 95

Listing 5.1. Perintah SQL untuk kata “jaring”

... 98

Listing 5.2. Perintah SQL untuk kata “syaraf”

... 100

(24)

1

BAB I

PENDAHULUAN

1.1

Latar Belakang Masalah

Kemajuan dunia pendidikan maupun riset dibidang teknologi cukuplah

pesat, khususnya teknologi informasi yang dapat dilihat dari banyak bermunculan

makalah penelitian. Setiap tahun makalah ilmiah akan bertambah banyak seiiring

dengan banyaknya orang yang melakukan penelitian. Pencari makalah pun ingin

menemukan makalah yang sesuai dengan kebutuhannya. Penyaringan makalah

secara manual dilakukan dengan membaca makalah yang kemudian

diklasifikasikan

dengan

kesesuaian

makalah

yang

diinginkan.

Untuk

mempermudah pencari makalah, maka diperlukan sistem pemerolehan informasi

untuk mencari dokumen makalah yang relevan.

Sebagian besar sistem pemerolehan informasi dan web pencarian

menerapkan

inverted index yang terbukti efisien dalam menjawab query

(Baeza-Yates, 1999). Penggunaan

inverted index pada DBMS (Database Management

System) menawarkan beberapa kelebihan dan kekurangannya (Papadakos P,

2008). Implementasi

inverted

index dengan Bahasa Indonesia pada ORDBMS

(Object Relational Database Management System) memiliki waktu akses yang

lebih baik dibanding menggunakan RDBMS (Relational Database Management

System) (Darmawan, 2012). Proses pembentukan indeks menggunakan rumus

(25)

(Hasibuan, 2001). Penggunaan indeks tersebut sudah pernah diterapkan pada

dokumen berbahasa Indonesia dan dapat menghasilkan dokumen pemerolehan

informasi (information retrieval) yang sesuai (Hasibuan, 2001). Penerapan

struktur data

inverted index

di ORDBMS

dapat menggunakan

collection yang

struktur datanya mirip dengan struktur data

inverted index klasik (Darmawan,

2012).

Aplikasi yang dikembangkan adalah sistem pemerolehan informasi makalah

ilmiah menggunakan struktur data

inverted index berbasis ORDBMS dengan

metode pembobotan TF-IDF.

1.2

Rumusan Masalah

Rumusan masalah tugas akhir ini adalah:

1.

Bagaimana mengimplementasikan sistem pemerolehan informasi untuk

pencarian dokumen makalah ilmiah berbahasa Indonesia?

2.

Bagaimana keakuratan pencarian dokumen makalah ilmiah berbahasa

Indonesia menggunakan

full

text dari

file pdf

dokumen makalah dengan

metode pembobotan Savoy dan stemming bahasa Indonesia?

3.

Bagaimana unjuk kerja penggunaan struktur data

inverted index berbasis

ORDBMS dengan metode pembobotan TF-IDF?

1.3

Tujuan

(26)

1.4 Batasan Masalah

Batasan masalah tugas akhir ini adalah :

1.

Sistem pemerolehan informasi ini hanya untuk pencarian dalam Bahasa

Indonesia.

2.

Koleksi dokumen yang disediakan adalah makalah ilmiah berbahasa

Indonesia dengan jumlah 281 dokumen.

3.

Kamus Bahasa Indonesia yang disediakan adalah 3278 kata.

4.

Jumlah stopword (kata buang) yang disediakan adalah 395 kata.

1.5 Metodologi Penelitian

Dalam pembuatan tugas akhir ini dilakukan tahap-tahap sebagai berikut:

1.

Studi pustaka penerapan pemerolehan informasi untuk menjawab

query

dalam ORDBMS menggunakan pembobotan TF-IDF dengan model

pemerolehan boolean AND.

2.

Analisa dan perancangan sistem. Melakukan analisis terhadap masalah dan

kebutuhan sistem yang akan dibangun. Kemudian, membuat perancangan

sistem.

3.

Pengumpulan dokumen-dokumen makalah ilmiah berbahasa Indonesia

sebagai corpus.

4.

Implementasi penerapan struktur data

inverted index dalam ORDBMS

dengan metode pembobotan TF-IDF menggunakan rumus Savoy.

5.

Pengujian dan analisa sistem.

(27)

1.6 Sistematika Penulisan

BAB I : PENDAHULUAN

Bab ini berisikan pendahuluan yang terdiri dari latar belakang, rumusan

masalah, tujuan, batasan masalah, metodologi penelitian, dan sistematika

penulisan

BAB II : LANDASAN TEORI

Bab ini berisikan konsep dasar sistem pemerolehan informasi (information

retrieval system), pembobotan TF-IDF, evaluasi sistem pemerolehan

informasi, algoritma stemming, konsep basis data relasional obyek.

BAB III : ANALISA DAN PERANCANGAN SISTEM

Bab ini berisikan analisis kebutuhan sistem dan rancangan database.

BAB IV : IMPLEMENTASI

Bab ini berisikan penjelasan dan fungsi sistem pemerolehan informasi

makalah ilmiah berbahasa Indonesia.

BAB V : ANALISA HASIL

Bab ini berisikan analisis hasil pengujian sistem.

BAB VI : KESIMPULAN DAN SARAN

Bab ini berisikan kesimpulan dan saran dari pembuatan sistem pencarian

makalah ilmiah berbahasa Indonesia.

(28)

5

BAB II

LANDASAN TEORI

2.1

Pemerolehan Informasi

2.1.1

Konsep Pemerolehan Informasi

Pemerolehan informasi adalah proses menemukan dokumen (berisikan

teks) yang tidak terstruktur untuk memenuhi kebutuhan informasi dari koleksi

yang besar (Manning, 2009).

2.1.2

Logical View Dokumen

Dokumen dalam koleksi sering dipresentasikan melalui

term

indeks atau

keyword.

Keyword tersebut dapat diekstraksi langsung dari teks dokumen atau

ditentukan secara manual (dibuat oleh spesialis seperti banyak dilakukan pada

bidang information science). Term indeks ini menyediakan suatu logical view dari

dokumen. Komputer modern memungkinkan representasi suatu dokumen dengan

menggunakan seluruh teks yang terdapat dalam dokumen tersebut. Dalam hal ini,

sistem pemerolehan informasi disebut mengadopsi

full

text logical view dari

dokumen. Jika koleksi dokumen sangat besar, maka komputer modern akan

mengurangi jumlah

term

indeks melalui proses penghapusan

stopwords,

stemming, dan indentifikasi noun groups (menghilangkan adjectives, adverbs, dan

verbs). Proses tersebut disebut text operation (operasi teks) yang akan mengurangi

kompleksitas dari representasi dokumen dan mengubah

logical view dari

full text

menjadi term indeks. Gambar 2.1 mengilustrasikan beberapa

intermediate logical

view yang akan digunakan oleh suatu sistem pemerolehan informasi

(29)

Gambar 2.1.

Operasi teks logical view dari sebuah dokumen: dari full text

menjadi sebuah set indeks term. (Baeza-Yates, 1999)

Penghapusan

stopword

adalah proses penghilangan kata-kata yang tidak

digunakan (kata buang). Contoh

stopwords pada Bahasa Indonesia adalah tetapi,

dan, atau, itu, yang (Hasibuan, 2001).

2.1.2.1

Stemming

Stemming

adalah merupakan proses mengubah kata-kata yang terdapat

dalam suatu dokumen dalam bentuk kata dasar (rootword) (Agusta, 2009).

Algoritma

stemming pada teks berbahasa Indonesia menggunakan

Algoritma Nazief & Adriani. Tahap-tahap pada Algoritma Nazief & Adriani

adalah sebagai berikut (Agusta, 2009):

1.

Cari kata yang akan di-stem dalam kamus. Jika ditemukan maka diasumsikan

bahwa kata tesebut 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 “

(30)

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.

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 (

Tabel 2.1

).

Jika ditemukan maka algoritma berhenti, jika tidak pergi ke langkah 4b.

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

(31)

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.1.

Kombinasi Awalan Akhiran Yang Tidak Diijinkan

Awalan

Akhiran yang tidak diijinkan

be-

-i

di-

-an

ke-

-i, -kan

me-

-an

se-

-i, -kan

Tabel 2.2.

Cara

menentukan tipe awalan untuk Kata yang diawali dengan “te

-

Following Characters

Tipe

Awalan

Set 1

Set 2

Set 3

Set 4

-

r”

-

r”

-

-

none

-

r”

vowel

-

-

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

(32)

Tabel 2.3.

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.

-

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”.

-

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

yang sama yaitu “balas”, maka

root word

“berbalas

-

balasan”

adalah “balas”. Sebaliknya, pada kata “bolak

-

balik”, “bolak” dan “balik”

(33)

-

Untuk tipe awalan “mem

-

“, kata yang diawali dengan awalan “memp

-

memiliki tipe awalan “mem

-

”.

-

Tipe awalan “meng

-

“, kata yang diawali dengan awalan “mengk

-

” memiliki

tipe awalan “meng

-

2.1.3

Proses Pemerolehan Informasi

Proses pemerolehan informasi

terdapat beberapa tahap. Pertama-tama,

sebelum proses pemerolehan informasi dimulai, diperlukan pendefinisian

database teks. Hal ini dilakukan dengan melakukan identifikasi terhadap

dokumen-dokumen yang akan digunakan, operasi yang akan dilakukan terhadap

teks, dan model teks (struktur teks dan elemen mana saja dari teks yang dapat

dilakukan proses pemerolehan informasi). Operasi teks (text operations)

mentransformasikan dokumen asal menjadi

logical view

dokumen tersebut.

Setelah

logical view

dokumen diperoleh, dibuatlah

term

indeks pada

database

untuk mempercepat proses pencarian terhadap jumlah data yang besar. Struktur

indeks yang paling banyak digunakan adalah

inverted file seperti pada Gambar

2.2. Database dokumen telah diindeks, maka proses pemerolehan informasi dapat

dimulai. Pengguna menentukan kebutuhannya yang kemudian ditransformasikan

oleh operasi teks yang sama digunakan pada koleksi dokumen.

Query kemudian

ditransformasi untuk mendapatkan dokumen pemerolehan informasi. Struktur

indeks

dibuat sebelumnya agar dapat mempercepat pemrosesan

query

(Baeza-Yates, 1999).

(34)

memeriksa kumpulan dokumen peringkat untuk mendapatkan informasi yang

berguna baginya (Baeza-Yates, 1999).

Gambar 2.2.

Proses pemerolehan informasi (Baeza-Yates, 1999)

2.1.4

Inverted Index

Inverted index adalah mekanisme

word-oriented untuk mengindeks

koleksi teks yang dapat mempercepat pencarian (Baeza-Yates, 1999).

Inverted

index

terdiri dari dua bagian, yaitu

dictionary

dan

posting list.

Dictionary

berisikan daftar

term dan

posting list

berisikan id dokumen yang berhubungan

dengan term (Manning, 2009). Sebagian besar sistem pemerolehan informasi dan

web pencarian menerapkan

inverted index yang terbukti efisien dalam menjawab

query (Baeza-Yates, 1999).

(35)

Gambar 2.3

.

Representasi

Inverted Index (Manning, 2009)

Inverted index pada Gambar 2.3, dapat dilakukan operasi

boolean dasar

untuk

query

Brutus AND Calpuria dengan langkah-langkah sebagai berikut

(Manning, 2009):

1.

Temukan Brutus di dictionary.

2.

Retrieve posting dari Brutus.

3.

Temukan Calpuria di dictionary.

4.

Retrieve posting dari Calpuria.

5.

Mengambil dokumen-dokumen yang terdapat pada kedua posting list dengan

melakukan pemotongan pada daftar posting list, seperti pada Gambar 2.4.

Gambar 2.4

.

Pemotongan posting list untuk query Brutus AND Calpuria

(Manning, 2009)

2.1.5

Metode Pembobotan TF-IDF

Teknik pembobotan Savoy (1993) adalah sebagai berikut (Hasibuan, 2001):

W

ik

= ntf

ik

* nidf

k

,

dimana ntf

ik

=

dan nidf

k

=

ij j ik

tf

Max

tf

 

n df

n k

log log

(36)

Dimana :

W

ik

adalah bobot istilah k pada dokumen i.

tf

ik

merupakan frekuensi dari istilah k dalam dokumen i.

n adalah jumlah dokumen dalam kumpulan dokumen.

df

k

adalah jumlah dokumen yang mengandung istilah k.

Max

j

tf

ij

adalah frekuensi istilah terbesar pada satu dokumen.

Wd= bobot sebuah dokumen

Pada teknik pembobotan ini, bobot istilah dinormalisasi. Dalam

menentukan bobot suatu istilah tidak hanya berdasarkan frekuensi

term, tetapi

juga berdasarkan frekuensi terbesar pada dokumen bersangkutan. Hal ini untuk

menentukan posisi relatif bobot dari

term dibanding dengan

term-term

lain di

dokumen yang sama. Selain itu teknik ini juga memperhitungkan jumlah

dokumen yang mengandung

term bersangkutan dan jumlah dokumen. Hal ini

untuk menentukan posisi relatif bobot

term

bersangkutan pada suatu dokumen

dibandingkan dengan dokumen-dokumen lain yang memiliki

term

yang sama.

Sehingga jika sebuah

term

memiliki frekuensi yang sama pada dua dokumen

belum tentu memiliki bobot yang sama (Hasibuan, 2001).

2.1.6

Recall dan Precision

(37)

1.

Recall adalah perbandingan jumlah dokumen relevan yang di

retrieve

terhadap jumlah dokumen yang relevan.

=

2.

Precision adalah perbandingan jumlah dokumen relevan yang di

retrieve

terhadap jumlah dokumen yang ditemukembalikan.

=

Semakin tingginya nilai

recall, jumlah dokumen yang dicari semakin banyak.

Pada mesin pencari yang baik adalah semua hasil pencarian merupakan dokumen

yang relevan atau nilai recall dan precision adalah 1 (A.H, 2004).

2.2 Object Oriented Conceptual Model

Segmen dasar dari object oriented adalah object. Setiap object memiliki satu

atau lebih

unique attributes yang membedakan dari yang lain. Beberapa

object

juga dapat memiliki struktur yang sama yaitu atribut dan operasinya. Satu set

struktur atribut dan operasi yang berlaku untuk atribut-atribut disebut kelas.

Object

sering digambarkan dengan persegi panjang yang memiliki nama

object dan properti (atribut dan

method) (Pardede, 2006). Gambar 2.5

memberikan ilustrasi tentang object dan notasinya.

(38)

2.2.1 Relasi Asosiasi

Asosiasi adalah sebuah referensi dari satu

object ke

object lain yang

memberikan akses antar object-object dalam suatu sistem. Kardinalitas pada relasi

asosiasi adalah one-to-one, one-to-many, dan many-to-many (Pardede, 2006).

2.2.2 Relasi Agregrasi

Agregrasi berkaitan erat dengan asosiasi. Agregrasi adalah komposisi atau

“bagian

-

dari” relasi, di mana obyek komposit (seluruh) terdiri dari obyek

komponen lain (bagian). Sebagai contoh untuk relasi agregrasi antara PC secara

utuh dan bagian-bagiannya yang terdiri dari

hard disk, monitor,

keyboard, dan

CPU (Gambar 2.6) (Pardede, 2006).

Gambar 2.6

.

Contoh relasi agregrasi (Pardede, 2006)

Pada agregrasi terdapat dua jenis tipe, yaitu

exitence-dependent

dan

existence-independent. Kedua tipe tersebut bergantung antara seluruh

object dan

bagian

object

yang signifikan.

Gambar 2.7 menunjukkan contoh dari

existence-dependent. Sebagai contoh,

course outline object adalah enkapsulasi dari

beberapa bagian

object, yaitu

Course Objectives,

Course Contents, dan

Course

Schedule. Ketika seluruh object diakses, bagian dari objectnya dapat diidentifikasi

(39)

existence-dependent, penghapusan course outline akan menyebabkan penghapusan

course

outline tertentu dan semua elemen-elemennya (Pardede, 2006).

Gambar 2.7.

Contoh relasi agregrasi existence-dependent (Pardede, 2006)

Gambar 2.8 menunjukkan contoh dari

existence-independent. Sebagai

contoh, jika

travel document hilang,

ticket,

itenerary, dan

passport masih tetap

ada (Pardede, 2006).

Gambar 2.8

.

Contoh relasi agregrasi existence-independent (Pardede, 2006)

2.3 Object Relational Database Management System

2.3.1 Konsep Object Relational Database Management System

(40)

keunikan dari

record dengan mendefinisikan

primary key. Selain itu, ORDBMS

juga memungkinkan penggunaan

foreign key. Atribut

foreign key tabel merujuk

ke record tabel lain.

Pada ORDBMS terdapat beberapa fitur, yaitu :

1.

Object types dan user defined types

Object type adalah jenis tipe data (Oracle, 2008). Di Oracle, perintah untuk

membuat

object type

adalah “

create type

” yang kemudian digunakan untuk

membuat table dengan perintah “

create table

”.

Perintah SQL yang digunakan

untuk membuat object type dan table adalah sebagai berikut (Pardede, 2006):

Listing 2.1.

Perintah SQL umum untuk membuat object Type

Gambar 2.9 menunjukkan contoh dengan

object type, person_typ, dan dua

contoh object type (Oracle, 2008).

Gambar 2.9.

Object type dan contoh object type (Oracle, 2008)

CREATE [OR REPLACE] TYPE <object schema> AS OBJECT (attribute attribute type, ....,

(41)

2.

Collection Type

Salah satu fitur pada ORDBMS adalah

collection.

Collection digunakan

untuk menyimpan

multiple values dalam satu kolom dari sebuah tabel yang

menghasilkan nested table dimana sebuah kolom dalam sebuah tabel berisi tabel

lain (Conolly, 2005).

Nested table

adalah

unordered set dari elemen data yang

data typenya sama

dan memiliki sebuah kolom dari

object type. Jika kolom adalah sebuah

object

type, tabel juga dapat dilihat sebagai tabel

multi-column, dengan sebuah kolom

untuk setiap atribut dari object type (Conolly, 2005).

Pada Oracle semua data

nested table disimpan dalam satu tabel, yang terkait

dengan tabel terlampir atau object type (Pardede, 2006).

3.

Object Identifier

Dalam sistem berorienterasi obyek, OID adalah sistem yang dihasilkan dan

digunakan sebagai referensi untuk menunjuk suatu obyek tertentu. Implementasi

OID menggunakan perintah “

references

” untuk menyatakan

primary key

yang

diikuti table dan kolom yang dirujuk (Pardede, 2006).

4.

Relationships using Ref

Oracle menyediakan cara untuk merujuk suatu obyek dari obyek lain

menggunakan kata kunci ref. Teknik merujuk suatu obyek dapat digunakan untuk

(42)

2.4 Implementasi Existence-Dependent Aggregation menggunakan Teknik

Nesting

Implementasi agregasi pada Oracle menggunakan

nested table. Pada teknik

ini, bagian informasi berhubungan erat dengan informasi dari seluruh obyek yang

diimplementasikan sebagai

nested table. Hal ini memberlakukan tipe agregrasi

existence-dependent. Jika data dari seluruh obyek dihapus, semua yang terkait

dengan bagian obyek akan terhapus. Selain itu, data dalam

nested table diakses

melalui seluruh obyek. Oleh karena itu, teknik

nested table hanya cocok

diimplementasikan menggunakan existence-dependent (Pardede, 2006).

2.5

Penggunaan DBMS untuk Pemerolehan Informasi

Penggunaan DBMS (Database Management System) dalam pemerolehan

informasi mempunyai beberapa kelebihan dan kekurangan. Index dengan mudah

dapat diperluas dan menampung macam-macam tipe data (Papadakos, 2008).

Kelebihan menggunakan DBMS adalah sebagai berikut :

1.

Adanya kemungkinan untuk memperluas cangkupan index

Perluasan dilakukan dengan menambahkan kolom dan relasi (column

dan

relation).

2.

Proses pembentukan index

DBMS yang menangani

physical layer mengijinkan untuk tidak harus

membuat dan menggabungkan

partial indices untuk membuat index dari

sebuah korpus besar.

(43)

Menghapus entri yang menyangkut dokumen tertentu merupakan operasi

yang mahal di

inverted index. Dengan operasi DBMS dapat dilakukan lebih

efisien.

4.

Penggunaan single index

Sistem pemerolehan informasi klasik menggunakan index yang terpisah, yaitu

index untuk menjawab

query dan

index untuk

update.

Index baru akan

menggantikan

index yang pertama dibentuk. Dengan DBMS perbedaan dan

duplikasi tidak diperlukan, menggunakan

single index untuk proses

update

dan query tanpa harus menggunakan partial index.

5.

Penggunaan distributed query processing

Dengan kemajuan DBMS untuk

multicore dan sistem

cluster secara

menguntungkan sistem pemerolehan informasi. Sebagai contoh, PostgreSQL

dapat menggunakan lebih dari satu CPU/Core (untuk melakukan pengiriman

query).

Kekurangan DBMS adalah sebagai berikut :

1.

Penggunaan ruang penyimpanan yang tinggi

Kira-kira sebuah inverted index terdiri dari form (t, occ) dimana t adalah term,

sedangkan

occ adalah

occurrence

atau dokumen (d) dari kemunculan

t di

dalam

corpus. Kemunculannya bisa dari pengindentifikasian dokumen saja,

atau juga bobot

and/or dari

t dalam setiap dokumen. Kemunculan

term

menempati sebagian besar ruang

index dan untuk alasan ini penggunaan

special number encodings digunakan untuk mengurangi ruangan yang

(44)

lebih banyak dari sebuah

inverted index. Sebagai contoh,

entry (t, {d1,

d3,

d

5

}). Di RDBMS akan direpresentasikan dengan 3

tuple [t,

d

1

], [t,

d

3

], [t, d

5

]

yang akan memboroskan ruang penyimpanan.

2.

Lebih banyaknya operasi I/O

(45)

22

BAB III

ANALISA DAN PERANCANGAN SISTEM

3.1

Gambaran Sistem yang Dikembangkan

(46)

Text operation Dokumen

Koleksi

Text RDBMS Indexing

Ranking

Index Ready ORDBMS Query

Operations User Interface

Searching

Text

retrieved docs

ranked docs

Inverted file User need

Logical view

query

Logical view

Inverted file

Gambar 3.1.

Gambaran sistem yang dikembangkan

3.1.1

Gambaran Proses pada Sistem

Pada bagian berikut ini akan dijelaskan mengenai alur kerja proses-proses

yang terdapat pada gambaran sistem pemerolehan informasi makalah ilmiah

berbahasa Indonesia pada Gambar 3.1. Alur kerja proses ini akan dijelaskan

menggunakan flowchart.

3.1.1.1

Alur Kerja Proses Indexing

(47)

Mulai

Data koleksi

tokenizer

Pengecekan stopwords

stemming

Masih adakah kata atau term hasil dari stemming

Call store procedure insert_term

Hitung bobot Ya

Selesai Tidak

Gambar 3.2. Flowchart p

roses indexing untuk menyimpan ke database text

RDBMS

Proses penambahan term pada database text RDBMS menggunakan stored

procedure insert_term. Algoritma untuk proses pada stored procedure insert_term

(48)

Mulai

Gambar 3.3. Flowchart

pada stored procedure insert_term pada database text

RDBMS

Untuk mengisikan data-data dalam bentuk

inverted index pada

database

index ready ORDBMS akan dilakukan proses pengambilan data dari database text

(49)

insert_term_ordbms. Algoritma proses pembuatan

inverted index

pada

database

index ready ready ORDBMS ditunjukan pada flowchart Gambar 3.4.

Mulai

ArrayList<document>= getAllDocuments()

Masih adakah dokumen

Call stored procedure insert_jurnal

ArrayList<Term> = getDataPostingORDBM

S(id_document)

Call stored procedure insert_term

Ya

Selesai

Tidak

Tidak

Masih adakah term

Ya

(50)

Proses mengisikan

term pada

database index ready

ORDBMS

menggunakan

stored procedure insert_term_ordbms yang ditunjukkan pada pada

Gambar 3.5.

Mulai

Id_jurnal, term, nidfk,

dfk, tfk, ntfik, w

Cek apakah term sudah ada di tabel term

INSERT INTO TABLE (SELECT posting_term FROM term WHERE term =

p_term)

VALUES (p_tfik,0,0,(new_jurnal_id));

INSERT INTO term VALUES

(v_id,p_term,p_dfk,p_nidfk,PostingListNestedType( PostingListType(p_tfik,p_ntfik,p_w,new_jurnal_id))); Ya

Tidak

Selesai

Gambar 3.5. Flowchart stored procedure insert_term_ordbms

pada database

index ready ORDBMS

3.1.1.2

Alur Kerja Proses Searching

(51)

Mulai

(52)

Pada pencarian dengan menggunakan lebih dari 1 kata kunci akan

menggunakan operasi AND. Algoritma untuk proses pencarian dengan operasi

AND ditunjukkan pada flowchart Gambar 3.7.

Mulai

(53)

3.1.1.3

Alur Kerja Proses Penghitungan Waktu Akses Query

Proses penghitungan waktu akses

query digunakan untuk melihat lama

waktu

akses

query. Algoritma yang digunakan untuk melakukan penghitungan

waktu akses query ditunjukkan pada Gambar 3.8.

Mulai

Query dan pengguna menekan tombol cari

long start = System.currentTi

meMillis();

Proses pencarian Searching(Query)

long finish = System.currentTi

meMillis();

time = (long) ((finish - start)/

1000.0);

Waktu akses query

Selesai

(54)

3.2

Analisa Kebutuhan

Kebutuhan yang dibutuhkan oleh pengguna dari sistem pemerolehan

informasi makalah ilmiah berbahasa Indonesia adalah sebagai berikut:

Tabel 3.1.

Tabel Analisa Kebutuhan

Penguna Sistem

Kebutuhan

Administrator

1.

Dapat

melakukan

login

sebagai

administrator

2.

Menangani

manajemen

data

dokumen

makalah ilmiah berbahasa Indonesia

3.

Dapat melakukan pencarian

(searching)

dokumen

makalah

ilmiah

berbahasa

Indonesia sesuai kata kunci yang dimasukan

Pengguna

1.

Dapat melakukan pencarian

(searching)

dokumen

makalah

ilmiah

berbahasa

Indonesia sesuai kata kunci yang dimasukan

3.3

Perancangan Sistem

3.3.1

Diagram Use Case

(55)

sedangkan pengguna adalah aktor yang hanya dapat melakukan pencarian makalah

pada subsistem pencarian makalah ilmiah berbahasa Indonesia dengan mengetikan

keyword

yang diinginkan. Di bawah ini adalah perencangan diagram

use case

pada

sistem pemerolehan informasi

makalah ilmiah berbahasa Indonesia yang

ditunjukkan pada

Gambar 3.9

:

Subsistem Pencarian Makalah Ilmiah Berbahasa Indonesia

Subsistem Operasi Teks

Menambahkan dokumen makalah

Mengubah data

dokumen makalah Login

Mencari dokumen makalah

Logout

Administrator

Pengguna

<< dep

end on >>

<<depend on>>

<<depend on>>

Sistem Pemerolehan Informasi Makalah Ilmiah Berbahasa Indonesia

Gambar 3.9.

Use Case

3.3.2

Narasi Use Case

3.3.2.1

Login

Tabel 3.2.

Narasi Use Case Login

Nama Use Case

Login

(56)

Pelaku bisnis utama

Administrator

Deskripsi

Use case ini menggambarkan proses login bagi administrator

Pra-kondisi

Administrator yang mempunyai username dan password

Pemicu

Use case

ini digunakan oleh administrator untuk mengelola data

dokumen makalah

Langkah utama

Aksi aktor

Respon sistem

Langkah 1 :

Administrator menge-klik

link

login administrator pada bagian

bawah halaman pencarian

Langkah 3 :

Administrator

memasukkan

username dan password

Langkah 4 :

Administrator menekan tombol

login

Langkah 2 :

Sistem akan menampilkan

halaman login

Langkah 5 :

Sistem mengecek

validasi

username dan

password yang

(57)

Langkah 6 :

Sistem akan menampilkan

halaman

beranda

administrator

Langkah alternatif

Alternatif langkah 6 : Jika

username dan

password tidak sesuai

maka sistem akan memberikan pesan “Na

ma Pengguna dan Kata

Sandi Salah”

Kesimpulan

Use case ini berhenti jika administrator

telah berhasil masuk ke

halaman administrator

Pasca kondisi

Administrator berhasil masuk ke halaman administrator

Administrator tidak jadi melakukan login

Administrator gagal melakukan login

3.3.2.2

Menambahkan Dokumen Makalah

Tabel 3.3.

Narasi Use Case Menambah Dokumen Makalah

Nama Use Case

Menambah Dokumen Makalah

ID Use Case

2

Prioritas

High

Pelaku bisnis utama

Administrator

Deskripsi

Use case ini menggambarkan proses menambahkan makalah

Pra-kondisi

Administrator berada di halaman administrator

(58)

Langkah utama

Aksi aktor

Respon sistem

Langkah 1 :

Administrator

memilih

menu tambah makalah

Langkah 3 :

Administrator memasukkan

data-data makalah dan file

pdf,

kemudian

menekan

tombol simpan

Langkah 2 :

Sistem

akan

menampilkan

halaman menambahkan makalah

Langkah 4 :

Sistem menyimpan data makalah

dan file pdf

Langkah alternatif

Alternatif langkah 3 : Administrator batal menambahkan data

makalah dan kembali ke halaman beranda administrator

Kesimpulan

Use case ini berhenti jika administrator telah berhasil

memasukkan makalah atau batal menambahkan makalah

Gambar

Tabel 2.1. Kombinasi Awalan Akhiran Yang Tidak Diijinkan
Tabel 2.3. Jenis Awalan Berdasarkan Tipe Awalannya
Gambar 2.2. Proses pemerolehan informasi (Baeza-Yates, 1999)
Gambar 2.3. Representasi Inverted Index (Manning, 2009)
+7

Referensi

Dokumen terkait

Pada tahun 1513, Demak mengerahkan kekuatan 100 kapal perang dengan ribuan prajurit untuk bergabung dengan pasukan dari Banten, Palembang, Aceh dan Johor.. Armada Demak mengambil

Aktivitas antioksidan dari asam fenolat ampas teh hitam dengan perlakuan yang berbeda, yaitu: ekstrak kasar, asam fenolat bebas, asam fenolat ikatan ester dan asam fenolat ikatan

Dampak baik dari apa yang telah dilaksanakan dari program tersebut masyarakat luas dapat dengan mudah mengetahui letak-letak tempat umum seperti kantor desa

4) Pengusul yang proposalnya dinyatakan lulus untuk didanai, akan mengikat perjanjian atau kontrak dengan pengelola anggaran PHK-PKPD FKUB. Kontrak yang dilakukan juga

Dengan hasil wawanca ra yang dilakukan peneliti tersebut di atas, didapatkan data bahwa yang bertanggungjawab penuh untuk melakukan pendampingan terhadap anak-anak

Hasil penelitian ini adalah citra Landsat MSS, TM dan ETM+ dengan menggunakan band tunggal pada saluran 4 pada TM dan ETM+ serta saluran 7 pada MSS yang mampu

Pasal 33 Peraturan Pemerintah Nomor 24 tahun 1997 tentang Pendaftaran Tanah.. 2) Peta pendaftaran, daftar tanah, surat ukur, buku tanah, daftar nama dan dokumen – dokumen

Sehingga pada diagram satu garis dapat ditulis bahwa busbar yang digunakan. adalah busbar CU 15 × 3 mm 2 per fasa dengan tambahan busbar