Sistem pemerolehan informasi makalah ilmiah berbahasa Indonesia menggunakan struktur data inverted index dengan metode pembobotan TF-IDF berbasis ordbms.
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)