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

(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

YOGYAKARTA 2013


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

6. Responden kuesioner yang merelakan waktunya dalam pengujian 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 UseCase 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 precisionuntuk 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 precisionuntuk kata kunci “data miningasosiasi” .. 106

Tabel 5.9. Perhitungan interpolasi untuk kata kunci “data miningasosiasi” ... 107

Tabel 5.10. Seluruh dokumen yang relevan berdasarkan responden untuk kata kunci “cube” ... 109

Tabel 5.11. Nilai recall dan precisionuntuk 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 precisionuntuk 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 precisionuntuk kata kunci “wireless network”... 114

Tabel 5.18. Perhitungan interpolasi untuk kata kunci “wireless network” ... 114 Tabel 5.19. Rata-rata waktu query untuk 3 kelompok dfk dengan 4 kata kunci . 118


(19)

xix

Gambar 2.1. Operasi teks logical view dari sebuah dokumen: dari fulltext 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. Objecttype 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 databasetext 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. Databasetext RDBMS pada sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia ... 63

Gambar 4.2. Databaseindex 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 “jaringan

syaraf tiruan” ... 105

Gambar 5.5. Grafik interpolasi untuk kata kunci pencarian

data miningasosiasi” ... 108

Gambar 5.6. Grafik interpolasi untuk kata kunci pencarian “cube” ... 110

Gambar 5.7. Grafik interpolasi untuk kata kunci pencarian “hardisk”... 113

Gambar 5.8. Grafik interpolasi untuk kata kunci pencarian “wireless network” 116 Gambar 5.9. Grafik rata-rata waktu query untuk 3 kelompok dfk dengan menggunakan 1 sampai 4 kata kunci ... 119


(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 Listing 4.19. Stored procedure insert_term untuk menambahkan term pada database teks RDBMS ... 79


(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 Savoy berdasarkan frekuensi kata, jumlah dokumen, dan frekuensi terbesar pada sebuah dokumen yang mampu memberikan bobot yang lebih spesifik pada dua dokumen yang mempunyai frekuensi sama, sehingga mudah untuk diperingkat


(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

Tujuan dari tugas akhir ini adalah membangun sistem pemerolehan informasi untuk pencarian makalah ilmiah. Manfaatnya memudahkan pengguna untuk mencari makalah ilmiah berbahasa Indonesia.


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

DAFTAR PUSTAKA LAMPIRAN


(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 (Baeza-Yates, 1999).


(29)

Gambar 2.1. Operasi teks logical view dari sebuah dokumen: dari fulltext 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 wordadalah 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”

memiliki root word yang berbeda, maka root word-nya adalah “bolak-balik” 2. Tambahan bentuk awalan dan akhiran serta aturannya.


(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 informasidapat 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).

Sebelum dikirimkan ke pengguna, dokumen pemerolehan informasi diperingkat dahulu berdasarkan kemungkinan relevansi. Pengguna kemudian


(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).

Representasi struktur data inverted index pada Gambar 2.3 menunjukkan dictionary berisi kumpulan term yang telah diurutkan sesuai abjad dan masing-masing term mempunyai postings list yang berisi kumpulan id dokumen terurut (Manning, 2009).


(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):

Wik = ntfik * nidfk,

dimana ntfik = dan nidfk =

ij j ik tf Max

tf

 n df

n

k

log log

       


(36)

Dimana :

Wik adalah bobot istilah k pada dokumen i.

 tfik merupakan frekuensi dari istilah k dalam dokumen i.

 n adalah jumlah dokumen dalam kumpulan dokumen.

dfk adalah jumlah dokumen yang mengandung istilah k.

Maxj tfij 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

Keefektifitasan dari pemerolehan informasi dapat diukur. Dalam pemerolehan informasi terdapat banyak metode yang digunakan untuk melakukan pengukuran. Pengukuran akan dilakukan dengan menggunakan recall dan precicion (Nugraha, 2010).


(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 tanpa perlu melacak setiap link dari outline course object. Dalam


(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

ORDBMS (Object Relational Database Management System) merupakan penerapan model berorientasi obyek pada Oracle dan perluasan dari RDBMS (Relational Database Management System). Dalam model relasional, atribut disimpan sebagai kolom dari tabel dan record yang tersimpan sebagai baris dari tabel. Seperti pada RDBMS, Oracle menggunakan perintah create-table standar dari SQL. Setelah mendeklarasikan nama tabel, didefinisikan juga nama atribut dan tipe datanya. Pada ORDBMS juga memungkinkan untuk menentukan


(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. Objecttype dan contoh object type (Oracle, 2008)

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

attribute attribute type) /


(41)

2. CollectionType

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 diperlukan. Implementasi langsung dari RDBMS akan menggunakan ruang


(44)

lebih banyak dari sebuah inverted index. Sebagai contoh, entry (t, {d1, d3,

d5}). Di RDBMS akan direpresentasikan dengan 3 tuple [t, d1], [t, d3], [t, d5]

yang akan memboroskan ruang penyimpanan. 2. Lebih banyaknya operasi I/O

Terlepas dari kebutuhan ruang penyimpanan yang lebih tinggi, yang diharapkan oleh pembuat MITOS adalah waktu respon query lebih tinggi untuk index berbasis DBMS karena lebih banyaknya operasi I/O diperkirakan akan dibutuhkan. Penggunaan set-valued attribute ditawarkan oleh ORDBMS.


(45)

22 BAB III

ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran Sistem yang Dikembangkan

Gambaran sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia yang digunakan dalam penelitian ini dapat dilihat pada Gambar 3.1. Kumpulan dokumen koleksi berupa text file dengan ekstensi file pdf. Sistem akan melakukan proses text operation (operasi teks) pada dokumen menggunakan algoritma stemming Nazief dan Adriani untuk teks Bahasa Indonesia (Agusta, 2009), dilanjutkan proses indexing untuk pembentukan inverted index yang disimpan dalam database text RDBMS dengan menggunakan teknologi RDBMS. Sistem mengambil kumpulan term hasil indexing dari database text RDBMS, kemudian menyimpan dalam bentuk inverted index ke database index ready ORDBMS dengan teknologi ORDBMS. Sedangkan, untuk proses pencarian pengguna memasukkan kebutuhan pengguna dalam bentuk kata kunci dan sistem akan melakukan proses operasi teks, dilanjutkan dengan proses query operations dan searching, kemudian dilakukan proses ranking berdasarkan bobotnya yang kemudian akan ditampilkan dokumen hasil melalui user interface.


(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

Proses indexing pada Gambar 3.1 digunakan untuk menyimpan dokumen koleksi dan term hasil operasi teks ke database text RDBMS yang dilanjutkan dengan pemberian bobot. Algoritma untuk proses indexing pada database text RDBMS ditunjukan dengan flowchart Gambar 3.2.


(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 proses 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 ditunjukkan pada flowchart Gambar 3.3.


(48)

Mulai Stemmed_word, source_word, id_doc, is_root_word Apakah source_word ada di tabel SourceTerm Apakah stemmed_word dengan id_doc ada di tabel posting Apakah stemmed_word ada

di tabel term Tidak

Insert di tabel posting

Frequency = Frequency + 1

Tidak

Ya Ya

Insert di tabel sourceTerm

Ya

Insert di tabel Term Tidak

Selesai

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 RDBMS yang kemudian akan disimpan dalam database index ready ORDBMS. Proses pertama, sistem akan mengambil koleksi dokumen pada tabel document dalam database text RDBMS dan disimpan dalam arraylist. Kemudian, dilakukan pengambilan kumpulan term pada tabel terms dan posting dalam database text RDBMS yang disimpan dalam arraylist dan dilnjutkan proses pembuatan inverted index pada database index ready ORDBMS menggunakan stored procedure


(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

Gambar 3.4. Flowchart pembentukan inverted index dari database text RDBMS ke database index ready ORDBMS


(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

Proses searching yang ditunjukkan pada Gambar 3.1 adalah proses pencarian dokumen. Algoritma untuk proses searching ditunjukkan pada Gambar 3.6.


(51)

Mulai

Query

String[] kata = Tokenizer

ArrayList<String> kataTanpaStopword =

cekStopword(kata)

Masih adakah kata dari hasil Stopword?

Apakah kataTanpaStopword.size()

== 1?

String kueri1 = stem(kataTanpaStopword.get(0) hasilCari = singleSearch(kueri1) Ranking berdasarkan bobot dokumen i=0

String kueri1 = stem(kataTanpaStopword.get(0)) String kueri2 = stem(kataTanpaStopword.get(1))

hasilCari = AND(kueri1,kueri2) Ya

Tidak

Ya Ya

String kueri1 = stem(kataTanpaStop word.get(i+1) hasilCari = AND(hasilCari,kueri2) i++ Tidak Tidak Simpan waktu akses pencarian query Selesai


(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

Insert kata1 dan kata2

ArrayList<Term> listTerm1 = aloneSearching(kata1) ArrayList<Term> listTerm2 = aloneSearching(kata2)

listTerm1.size() < listTerm2.size()

ArrayList <Term> t1=listTerm1 ArrayList <Term> t2=listTerm2

ArrayList <Term> t1=listTerm2 ArrayList <Term> t2=listTerm1

int indexT1 = 0 int indexT2 = 0

while indexT1 != t1.size()

t1.get(indexT1).getJurnal_id() = t2.get(indexT2).getJurnal_id()

t1.get(indexT1).getW + t2.get(indexT2).getW

indexT1++ indexT2++

Ya

Ya

t2.get(indexT2).getJurnal_id() < t1.get(indexT1).getJurnal_id()

indexT2++ Tidak

Ya

indexT1++ Tidak

Tidak

Selesai Dokumen

hasil


(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

Diagram use case menjabarkan kebutuhan – kebutuhan pengguna sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia. Aktor-aktor dalam sistem ini ada dua yaitu administrator dan pengguna. Administrator adalah aktor yang secara khusus mengelola koleksi dokumen makalah pada subsistem operasi teks,


(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

ID Use Case 1


(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 telah dimasukkan


(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 “Nama 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 prosesmenambahkan makalah Pra-kondisi Administrator berada di halaman administrator

Pemicu Use case ini digunakan oleh administrator untuk menambahkan data makalah


(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


(59)

3.3.2.3 Mengubah Data Dokumen Makalah

Tabel 3.4.Narasi UseCase Mengubah Data Dokumen Makalah Nama Use Case Mengubah Data Dokumen Makalah

ID Use Case 3

Prioritas High

Pelaku bisnis utama Administrator

Deskripsi Use case ini menggambarkan prosesmengubah data makalah Pra-kondisi Administrator berada di halaman administrator

Pemicu Use case ini digunakan oleh administrator untuk mengubah data makalah

Langkah utama Aksi aktor Respon sistem

Langkah 1 :

Administrator memilih menu edit makalah

Langkah 3 :

Administrator memilih data makalah yang akan diedit

Langkah 2 :

Sistem akan menampilkan halaman edit data makalah

Langkah 4 :

Sistem akan menampilkan form untuk edit data makalah


(60)

Langkah 5 :

Administrator memasukkan data baru makalah dan menekan tombol simpan

Langkah 6 :

Sistem akan mengganti data lama dengan data baru yang telah dimasukkan

Langkah alternatif Alternatif langkah 4 : Administrator batal mengganti data makalah dan kembali ke halaman beranda administrator

Kesimpulan Use case ini berhenti jika administrator telah berhasil mengedit data makalah

Pasca kondisi Data di database telah berubah

3.3.2.4 Logout

Tabel 3.5. Narasi Use Case Logout Nama Use Case Logout

ID Use Case 4

Prioritas High

Pelaku bisnis utama Administrator

Deskripsi Use case ini menggambarkan proses logout bagi administrator Pra-kondisi Administrator berada pada halaman administrator dan akan

keluar dari halaman administrator


(61)

halaman administrator

Langkah utama Aksi aktor Respon sistem

Langkah 1 :

Administrator memilih menu logout

Langkah 2 :

Sistem akan keluar dari halaman administrator

Langkah alternatif -

Kesimpulan Use case ini selesai jika administrator telah keluar dari halaman administrator

Pasca kondisi Administrator keluar dari halaman administrator

3.3.2.5 Mencari Dokumen Makalah

Tabel 3.6. Narasi Use Case Mencari Dokumen Makalah Nama Use Case Mencari DokumenMakalah

ID Use Case 5

Prioritas High

Pelaku bisnis utama Administrator dan Pengguna

Deskripsi Use case ini menggambarkan proses pencarian dokumen makalah


(62)

Pemicu Use case ini digunakan untuk mencari dokumen makalah

Langkah utama Aksi aktor Respon sistem

Langkah 1 :

Aktor memasukkan keyword dan menekan tombol cari

Langkah 2 :

Sistem akan menampilkan hasil pencarian

Langkah alternatif Alternatif langkah 1 : Pengguna batal melakukan pencarian sistem keluar dari sistem

Kesimpulan Use case ini berhenti jika pengguna telah menemukan makalah yang dicari

Pasca kondisi Aktor berhasil menemukan makalah yang dicari

Aktor tidak berhasil menemukan makalah yang dicari karena tidak sesuai dengan keyword

3.3.3 Data Flow Diagram (DFD)

DFD merupakan rancangan yang digunakan pada metodologi pengembangan sistem yang terstruktur. DFD menggambarkan arus data di dalam sistem dengan terstruktur dan jelas. Adapun rancangan DFD dari sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia adalah sebagai berikut:


(63)

3.3.3.1 Diagram Context

Diagram Context di bawah ini menggambarkan bagaimana sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia pada Gambar 3.10 bekerja.

Pengguna

0

Sistem Pemerolehan Informasi Makalah Ilmiah

Berbahasa Indonesia

Administrator Keyword pencarian

Daftar hasil pencarian

Daftar hasil pencarian Validasi login Data dokumen makalah

Keyword pencarian Username Password Data dokumen makalah

File dokumen makalah

Gambar 3.10. Diagram Context 3.3.3.2 Diagram Berjenjang

Diagram berjenjang adalah diagram yang menggambarkan struktur proses pada sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia dengan Gambar 3.11.

0 Sistem Pemerolehan Informasi Makalah Ilmiah

Berbahasa Indonesia 2 Menambah Dokumen Makalah 1 Login 5 Indexing 4 Logout 3 Mengubah Dokumen Makalah 6 Mencari Dokumen Makalah


(64)

DFD level 0 untuk sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia ditunjukkan dengan Gambar 3.12. Administrator 2 Menambah Dokumen Makalah

R3 Documents title author year file .pdf Konfirmasi tambah dokumen 1

Login R1 Administrator

username, password username, password

Halaman administrator

Konfirmasi login

R2 Stopwords stopword

R4 Terms Title Author Year path Konfirmasi tambah dokumen 4 Logout logout Halaman utama 3 Mengubah Data Dokumen Makalah Konfirmasi tambah dokumen term Title Author Year Title Author Year

Konfirmasi ubah data dokumen 5 Indexing Data dokumen update id_status_3 Data terms O1 Jurnal

O2 Term Data dokumen Konfirmasi indexing Data terms Konfirmasi indexing 1 Cari Dokumen Makalah Posting list dokumen stopword Data dokumen Pengguna Hasil pencarian Query pencarian Query pencarian Hasil pencarian

Konfirmasi ubah data dokumen


(65)

3.3.3.4 DFD Level 1 Proses 1

DFD level 1 proses 1 untuk proses pada sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia ditunjukkan dengan Gambar 3.13.

Administrator

1

Login R1 Administrator username, password username, password

halaman administrator konfirmasi login

Gambar 3.13. DFD level 1 proses 1 3.3.3.5 DFD Level 1 Proses 2

DFD level 1 proses 2 untuk proses menambahkan dokumen makalah pada sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia ditunjukkan dengan Gambar 3.14.

Administrator

2

Menambah Dokumen

Makalah

R3 Documents title

author year file .pdf

Konfirmasi tambah dokumen

R2 Stopwords

stopword

R4 Terms

Title Author

Year path

Konfirmasi tambah dokumen

Konfirmasi tambah dokumen term


(66)

3.3.3.6 DFD Level 1 Proses 3

DFD level 1 proses 3 untuk proses mengubah data dokumen makalah pada sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia ditunjukkan dengan Gambar 3.15.

Administrator

3

Mengubah Data Dokumen

Makalah

R3 Documents title

author year

Title Author

Year

Konfirmasi ubah data dokumen Konfirmasi ubah data

dokumen

Gambar 3.15. DFD level 1 proses 3 3.3.3.7 DFD Level 1 Proses 4

DFD level 1 proses 4 untuk proses logout pada sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia ditunjukkan dengan Gambar 3.16.

Administrator

4 Logout logout

halaman utama

Gambar 3.16. DFD level 1 proses 4 3.3.3.8 DFD Level 1 Proses 5

DFD level 1 proses 5 untuk proses indexing pada sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia ditunjukkan dengan Gambar 3.17.


(67)

5

Indexing

O1 Jurnal O2 Term

Data dokumen

R3 Documents R4 Terms

Data terms

id_status_3 Data Dokumen Data

term

Konfirmasi indexing

Konfirmasi indexing

Gambar 3.17. DFD level 1 proses 5 3.3.3.9 DFD Level 1 Proses 6

DFD level 1 proses 6 untuk proses pencarian dokumen makalah ilmiah pada sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia ditunjukkan dengan Gambar 3.18.


(68)

Administrator

6

Mencari Dokumen

Makalah

O1 Jurnal query pencarian

Data dokumen

hasil pencarian

O2 Term Posting list

dokumen stopword

R2 Stopwords Pengguna

query pencarian

hasil pencarian

Gambar 3.18. DFD level 1 proses 6 3.4 Perancangan Database

Pada sistem ini akan digunakan dua database, yaitu database text RDBMS untuk menyimpan hasil seluruh operasi teks logical view dokumen makalah yang berbentuk inverted index dengan teknologi RDBMS dan database index ready ORDBMS untuk menyimpan inverted index untuk proses pencarian dokumen makalah yang berteknologi ORDBMS.

3.4.1 Conceptual Database Design

Rancangan conceptual database dalam bentuk diagram ER untuk database text RDBMS ditunjukkan pada Gambar 3.19.


(69)

status id_status description punya documents id_document max_term title path year authors id_status_ready id_status_3 id_status_2 posting frequency id_term id_document terms id_term stemmed_words posting_stopword frequency id_term id_document stopwords id_stopword stopwords dictionary id_dictionary root_word administrator id_administrator username pasword

1 * *

* * * ntfik w nidfk dfk sourceterm id_sourceterm is_root_word id_term * word 1

Gambar 3.19. Diagram ER pada databasetext RDBMS

Struktur data inverted index klasik ditunjukkan pada Gambar 3.20. Pada bagian kiri menunjukkan term dengan atribut term_id, term, dfk, nidfk dan bagian kanan adalah posting list dengan atribut tfik, ntfik, w, dan jurnal_id.

Gambar 3.20. Struktur data inverted index klasik

Pada ORDBMS penerapan struktur data inverted index dapat menggunakan collection yang mirip dengan Gambar 3.21. Collection pada ORDBMS diimplementasikan menggunakan nested table. Gambaran nested table pada ORDBMS ditunjukkan pada Gambar 3.21. Tabel term memiliki nested table posting_term_table dan pada posting_term_table terdapat kolom jurnal_posting untuk menyimpan obyek dari jurnal.


(70)

Gambar 3.21. Gambaran nested table pada database index ready ORDBMS

Berdasarkan gambaran nested table pada database index ready ORDBMS pada Gambar 3.21, maka rancangan conceptual database dalam bentuk diagram kelas untuk database index ready ORDBMS ditunjukkan pada Gambar 3.22. Pada tabel term akan dibuat type dengan nama termType yang digunakan untuk membuat tabel Term, type postingListType untuk membuat nested tabel posting_term_table, dan type jurnalType untuk membuat tabel jurnal. Pada database index ready ORDBMS menggunakan relasi agregasi existence-dependent yang ditunjukkan pada Gambar 3.22, dimana ketika obyek pada term dihapus maka obyek pada posting_term_table akan ikut terhapus. Pada nested table posting_term_table obyek jurnal disimpan pada jurnal_posting.


(1)

211 PERBANDINGAN NOTASI CHEN DENGAN CROW'S FOOT

PADA PENGGAMBARAN ER-DIAGRAM X

212 ANALISIS PENERIMAAN SISTEM INFORMASI (STUDI KASUS DI

SISTEM INFORMASI TERPADU UNPAS) X

213 KLASIFIKASI EVENT PADA PROCESS LOGS MENGGUNAKAN

MODEL REGRESI LOGISTIK X

214 PERANCANGAN MODEL DINAMIS COLLABORATIVE REVIEW UNTUK MEMBENTUK PENGETAHUAN KOMUNITAS

X 215 APLIKASI SISTEM PAKAR UNTUK MENDETEKSI STATUS GIZI

DAN PSIKOLOGIS ANAK X

216 EKSPLORASI VIRTUAL PRIVATE NETWORK UNTUK KEAMANAN

INFORMASI X

217 SISTEM PENDUKUNG KEPUTUSAN DISTRIBUSI PRODUK PADA PERUSAHAAN SKALA KECIL DAN MENENGAH BERBASIS

SIMULASI X

218 KETERHUBUNGAN MODEL PBAC DENGAN MODEL DOI X

219 PERAN COGNITIVE REASONING DALAM PERANCANGAN

PERFORMANCE DASHBOARD X

220 APLIKASI MOBILE LEARNING BERBASIS MOODLE PADA

PLATFORM ANDROID X

221 CONCEPTUAL DATA MODEL HASIL REVERSE ENGINEERING MENGGUNAKAN SYBASE POWER DESIGNER (STUDI KASUS McDONALDâ฀ ™S BUAH BATU BANDUNG)

X 222 STUDI PEMANFAATAN ACTIVE DIRECTORYUNTUK

PENGELOLAAN SUMBER DAYA INFORMASI X

223 PEMBANGUNAN APLIKASI PEMESANAN BARANG MOBILE

BERBASIS JAVA 2 MICRO EDITION (J2ME) X

224 MODEL PENGGUNAAN INTERNET (MOGUNET) BERDASARKAN TPB DAN CMUA DIEVALUASI MENGGUNAKAN SEM

X 225 SISTEM PENDUKUNG KEPUTUSAN PENENTUAN KARYAWAN

TERBAIK MENGGUNAKAN METODE SAW (SIMPLE ADDITIVE WEIGHTING) STUDI KASUS PT. PERTAMINA RU II DUMAI

X 226 STRATEGIC ALIGNMENT FOR INFORMATION TECHNOLOGY-

BUSSINES X

227 SISTEM INFORMASI LAPORAN KEUANGAN X

228 MEMBANGUN PERANGKAT LUNAK MATRIKS PENILAIAN PADA

BORANG PROGRAM STUDI SARJANA X

229 PERANCANGAN PROTOKOLAKTA NOTARIS DIGITAL DI

INDONESIA X

230 SISTEM INFORMASI GEOGRAFIS PEMERATAAN PENDIDIKAN UNTUK WAJIB BELAJAR 9 TAHUN DI GUNUNG KIDUL

X 231 RANCANG BANGUN INTEGRASI SMS GATEWAY UNTUK MOBILE


(2)

255

232 APLIKASI PENDISTRIBUSIAN MATA KULIAH KEGIATAN MENGAJAR DOSEN DENGAN MENERAPKAN ALGORITMA

GENETIKA STUDI KASUS STMIK GI MDP PALEMBANG X

233 PERANCANGAN SISTEM INFORMASI GEOGRAFIS PERWAKILAN

KONSULER ASING DI JAKARTA X

234 PENGOLAHAN DATA WAREHOUSE AKADEMIK SEBAGAI

PENUNJANG KEPUTUSAN DI PERGURUAN TINGGI X

235 BANDWIDTH MANAJEMEN QUEUE TREE VS SIMPLE QUEUE

X 236 MODEL KNOWLEDGE MANAGEMENT PADA PERUSAHAAN

DISTRIBUTOR FARMASI DAN CONSUMER PRODUCT

X 237 RANCANG BANGUN SISTEM INFORMASI SPASIAL BERBASIS WEB

PADA SEBARAN PENCEMARAN UDARA PRIMER INDUSTRI BESAR ( STUDI KASUS: DKI JAKARTA )

X 238 SISTEM INFORMASI GEOGRAFIS PENILAIAN LOKASI

ALTERNATIF UNTUK PENENTUAN LOKASI WARALABA X

239 MUSIC THERAPY ISSUES ON MUSIC INFORMATION RETRIEVAL

X 240 PENELITIAN AWAL PADA RANAH PELAYANAN PUBLIK: MODEL

PERAMBATAN INSIDEN X

241 BENCHMARKING APPLICATION PADA ANDROID X

242 PITCH SHIFTING MENGGUNAKAN PHASE VOCODER UNTUK

SINTESIS NADA SARON X

243 INVERTED INDEX UNTUK MENDUKUNG MODEL PEMEROLEHANBOOLEAN MENGGUNAKAN RDBMS VS ORDBMS

X 244 PENERAPAN DATA MINING MENGGUNAKAN ALGORITMA

ASSOCIATION RULES UNTUK MEMPREDIKSI PILIHAN PROGRAM

STUDI DI SEKOLAH TINGGI XYZ X

245 PERANCANGAN PROSES BISNIS DAN SISTEM INFORMASI PEMBANGUNAN PRODUK UNTUK PERUSAHAAN START-UP

X 246 PENGEMBANGAN APLIKASI PENGELOLAAN TINGKAT

PERSEDIAAN OBAT DENGAN CONTINOUS REVIEW SYSTEM

Mahendrawathi ER1 & Abi Arga Hadityarista X

247 APLIKASI DTMC UNTUK POST-PROCESSING PENGENALAN CITRA

DOKUMEN TEKS X

248 OPTIMALISASI WEB SERVER APACHE DENGAN

MENGKONFIGURASI PARAMETER MaxClient X

249 ANALISA DAN PERANCANGAN MEDIA PEMBELAJARAN

MENGGUNAKAN M-LEARNING X

250 PENGEMBANGAN SISTEM INFORMASI PERSEDIAAN BARANG MILIK NEGARA BERBASIS WEB PADA UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA

X 251 APLIKASI OPERATOR SOBEL UNTUK MENDETEKSI GARIS TEPI


(3)

252 IMPLEMENTASI TABEL AGREGAT UNTUK MENINGKATKAN UNJUK KERJA MODEL BASISDATA MULTIDIMENSI (STUDI KASUS PERUSAHAAN PERSEWAAN BAN "XYZ")

x 253 ANALISIS DAN PERANCANGAN SISTEM INFORMASI PEMASARAN

BERBASIS WEB PADA UD AYIE X

254 PERBANDINGAN KINERJA MUTITASKING PADA SMARTPHONE

X 255 KAJIAN AWAL KONVERSI PENGETAHUAN DALAM UKM

HANDICRAFT BALI X

256 REKAYASA PERANGKAT LUNAK PEMBELAJARAN DETEKSI DAN KOREKSI KESALAHAN PADA JARINGAN KOMPUTER DENGAN

MODEL PROBLEM BASED LEARNING X

257 ANALISIS ASOSIASI HASIL EVALUASI PEMBELAJARAN

MEMPERGUNAKAN ALGORITMA APRIORI X

258 PENGEMBANGAN APLIKASI UNTUK MENGATUR DATA PADA

RAK SERVER RACKMONKEY BERBASIS ANDROID X

259 MENINGKATKAN MINAT MEMBACA SISWA SEKOLAH DASAR DENGAN METODE GLENN DOMAN BERBASIS MULTIMEDIA

X 260 IMPLEMENTASI STEGANOGRAFI MENGGUNAKAN ALGORITMA

BLOWFISH DAN LEAST SIGNIFICANT BIT X

261 ANALISIS HUBUNGAN BUDAYA ORGANISASI DAN PERILAKU INFORMASI PADA TINGKATAN PERGURUAN TINGGI

X 262 PERBANDINGAN MODEL KUALITAS PRODUK PERANGKAT

LUNAK X

263 PEMANFAATAN BLACKBERRY PUSH TECHNOLOGY SEBAGAI MEDIA ALTERNATIF PUBLIKASI INFORMASI AKADEMIK

X 264 SISTEM INFORMASI GEOGRAFIS BERBASIS WEB UNTUK

PEMANTAUAN EPIDEMIOLOGI PENYAKIT ENDEMIK x

265 PENERAPAN JARINGAN SYARAF TIRUAN DENGAN METODA BACKPROPAGATION UNTUK PERANCANGAN MEDIA PEMBELAJARAN INTERAKTIF MENULIS HURUF ARAB

x 266 PEMANFAATAN FINITE STATE MACHINE SEBAGAI DASAR

PERANCANGAN DAN IMPLEMENTASI PEMBANGKIT SOAL

x 267 SISTEM PAKAR UNTUK MENENTUKAN KEBUTUHAN KALORI

BAGI PENDERITA DIABETES MELLITUS BERBASIS MOBILE

X 268 CUSTOMER RELATIONSHIP MANAGEMENT (CRM) BERBASIS

KNOWLEDGE MANAGEMENT SYSTEM (KMS) STUDI KASUS :

PERGURUAN TINGGI X

269 SMART HOME MENGGUNAKAN SPEECH RECOGNITION X

270 PENERAPAN DIGITAL SIGNATURE STANDARD UNTUK


(4)

257

271 PEMBUATAN FORM MASUKAN APLIKASI WEB SECARA

OTOMATIS DARI PERINTAH SQL INSERT TERMODIFIKASI X

272 PENINGKATAN AKURASI SHARED NEAREST NEIGHBOR

MENGGUNAKAN MULTIPATH COMPONENT DISTANCE X

273 PEMBUATAN ONTOLOGY LEARNING OBJECT PADA X

274 RANCANG BANGUN PEMANTAU CURAH HUJAN, SUHU DAN KELEMBABAN UDARA DILENGKAPI PEREKAM DATABASE

X 275 APLIKASI MODIFIKASI SEPEDA MOTOR HARLEY DAVIDSON

BERBASIS MULTIMEDIA X

276 MANAJEMEN PERUBAHAN DALAM PENERAPAN GREEN ICT

X 277 VISUALISASI PROSES DAN ARAH ALIRAN REFLEKSOLOGI

BERBASIS MULTIMEDIA X

278 PENGGUNAAN ANALISA ASOSIASI (ASSOCIATION ANALYSIS) DALAM PEMILIHAN LOKASI WISATA BERDASARKAN KARAKTERISTIK SOSIO-DEMOGRAFIS WISATAWAN

X 279 PEMANFAATAN BUSINESS INTELLIGENCE DALAM

PERENCANAAN PEMBANGUNAN NASIONAL: STUDI KASUS BADAN PERENCANAAN PEMBANGUNAN NASIONAL

X 280 INISIATIF SERVICE ORIENTED GOVERNANCEPADA LAYANAN

PUBLIK NASIONAL X

281 ANALISIS FAKTOR FAKTOR YANG MEMPENGARUHI PENERIMAAN PAJAK BUMI DAN BANGUNAN (STUDI KASUS


(5)

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.


(6)

ix

ABSTRACT

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.