Uji algoritma probabilistic model, vector space model dan extended boolean model pada sistem rekomendasi diferential diagnose penyakit paru-paru : studi kasus Puskesmas Jebed, Pemalang.
UJI ALGORITMA PROBABILISTIC MODEL, VECTOR SPACE
MODEL, DAN EXTENDED BOOLEAN MODEL PADA
SISTEM REKOMENDASI DIFFERENTIAL DIAGNOSE
PENYAKIT PARU – PARU
(Studi Kasus: Puskesmas Jebed, Pemalang) SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh:
Vincentius Ardha Dian Rigitama 095314051
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2013
i(2)
PROBABILISTIC MODEL, VECTOR SPACE MODEL, AND
EXTENDED BOOLEAN MODEL ALGORITHMS TEST IN
LUNG DISEASE DIFFERENTIAL DIAGNOSE
RECOMMENDATION SYSTEMS
(Case Study: Puskesmas Jebed, Pemalang)
A Thesis
Presented As A Partial Fulfillment of The Requrements To Obtain The Bachelor Degree
Informatics Engineering Study Program
By:
Vincentius Ardha Dian Rigitama 095314051
INFORMATIC ENGINEERING STUDY PROGRAM
FACULTY OF SCIENCE AND TECHNOLOGY
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
(3)
HALAMAN PERSETUJUAN
SKRIPSI
UJI ALGORITMA PROBABILISTIC MODEL, VECTOR SPACE MODEL,
DAN EXTENDED BOOLEAN MODEL PADA SISTEM REKOMENDASI
DIFFERENTIAL DIAGNOSE PENYAKIT PARU - PARU
Oleh:
Vincentius Ardha Dian Rigitama NIM: 095314051
Telah disetujui oleh:
Dosen Pembimbing Tugas Akhir
Puspaningtyas Sanjoyo Adi, S.T., M.T. Tanggal: ………
(4)
HALAMAN PENGESAHAN
SKRIPSI
UJI ALGORITMA PROBABILISTIC MODEL, VECTOR SPACE MODEL,
DAN EXTENDED BOOLEAN MODEL PADA SISTEM REKOMENDASI
DIFFERENTIAL DIAGNOSE PENYAKIT PARU - PARU
Dipersiapkan dan ditulis oleh Vincentius Ardha Dian Rigitama
NIM: 095314051
Telah dipertahankan di depan Panitia Penguji Pada tanggal 18 Juli 2013
Dan dinyatakan memenuhi syarat Susunan Panitia Penguji
Nama lengkap Tanda Tangan
Ketua Sri Hartati Wijono, S.Si., M.Kom. ………. Sekretaris JB. Budi Darmawan, S. T., M. Sc. ………. Anggota Puspaningtyas Sanjoyo Adi, S.T., M.T. ……….
Yogyakarta, …….. Faklutas Sains dan Teknologi
Universitas Sanata Dharma Dekan,
(Paulina Heruningsih Prima Rosa, S.Si., M.Sc.)
(5)
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, 18 Juli 2013 Penulis,
Vincentius Ardha Dian Rigitama
(6)
HALAMAN MOTO
“Jalan yang berlubang itu bukan sebuah hambatan, tetapi
jalan yang harus dilalui. Tidak ada sesuatu yang tidak
mungkin, everything is possible.”
(7)
HALAMAN PERSEMBAHAN
Kupersembahkan skripsi ini kepada:
Tuhan Yesus Kristus dan Bunda Maria atas lindungan dan kasih – Nya. Keluarga saya, Bapak Iwan, Ibu Yudhia, kakak Andreas dan Mita, dan adik Tika yang selalu mendoakan dan memberi dukungan saya.
Orang – orang spesial yang selalu membantu, memberikan semangat, kritik, dan saran:
Bp. Puspaningtyas, Ibu Tatik, & Pak Wawan selaku trio tim penguji
pendadaran yang hebat, “usted hace todo el mundo tiene miedo”.
Yosefina Agustin, Agustinus Wikrama, & Benediktus Eki yang selalu
menjadi senasib seperjuangan.
J.S Wulandari, Aden, Henfry, Unggul, Jenny, Audris, & Ageng yang
selalu mendukung, memotivasi, dan membantu dalam pengerjaan, gracias!!
TIM DEJ yang sangat memotivasi dan menginspirasi.
Teman – teman TI 2009, Ustedes son lo máximo!
muchas gracias por todo, @vincentiusardha
(8)
ABSTRAKSI
Differential diagnose adalah penentuan dua atau lebih penyakit atau kondisi yang diderita pasien dengan membandingkan dan mengontraskan secara sistematis hasil – hasil tindakan diagnostik. Petugas pelayanan kesehatan, dengan berdasarkan pada pengamatan gejala pasien, akan menemukan sejumlah penyakit yang mungkin terjadi. Hal ini tidak menutup kemungkinan adanya kesalahan
differential diagnose penyakit pasien. Masalah tersebut kemudian akan diselesaikan menggunakan sebuah solusi dengan membuat sebuah aplikasi yang mampu memberi urutan penyakit yang mungkin menjadi differential diagnose.
Dengan berdasar pada gejala – gejala umum yang ada dalam pedoman yang telah dijadikan menjadi dokumen pendek, differential diagnose dihitung menggunakan 3 (tiga) algoritma information retrieval, yakni extended boolean model, vector space model, dan probabilistic model. Sistem akan diuji oleh 4 orang dokter, dengan mengisi kuesioner yang berisi gejala umum pasien dan membandingkannya dengan hasil sistem. Hasil dari sistem kemudian dihitung menggunakan algoritma recall – precision.
EBM mempunyai unjuk kerja paling tinggi diantara ketiga model dengan rerata penurunan terhadap titik optimal sebesar 0,32473871. Rerata penurunan terhadap titik optimal VSM adalah 0,3031798. PM mempunyai rerata penurunan terhadap titik optimal sebesar 0,3676046. Algoritma EBM merupakan algoritma terbaik yang dapat diterpakan pada sistem yang mampu memberikan akurasi sebesar 81%.
(9)
ABSTRACT
Differential diagnose is the determination of two or more diseases or conditions suffered by patients, with comparing and contrasting the results of diagnostic measures in systematic way. A doctor, based on the observations of the patient's symptoms, will make a differential diagnosis. There is a possibility of a wrong differential diagnosis. Based on that problem, will be solved by creating an application that is able to provide feedback to the user the sequence of diseases that may be included in the differential diagnosis.
Based on general symptoms that written in the guidelines, thats will be present as a short document. Few of short documents, will be use as a collections. Differential diagnosis will be calculated using three (3) information retrieval algorithms, the extended Boolean models, the vector space models, and the probabilistic models. We can define a short document is a document with number of maximal term is 30. The system will be tested by 4 doctors. Testing method is by filling out a questionnaire and then compared with the results of the system. After that, the results will be calculated using recall – precision algorithm.
EBM has the highest performance among the three models, with a mean decrease from the optimal point is a 0,2473871. The mean decrease from the optimal point of VSM is a 0,3031798. PM has the lowest performance, with a mean decrease from the optimal point is a 0,3676046. Extended Boolean Models is the best algorithm that will be used in system and able to provide an accuracy at 81%.
(10)
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPERLUAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma: Nama : Vincentius Ardha Dian Rigitama
Nomor Mahasiswa : 095314051
Demi mengembangkan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:
UJI ALGORITMA PROBABILISTIC MODEL, VECTOR SPACE MODEL,
DAN EXTENDED BOOLEAN MODEL PADA SISTEM REKOMENDASI
DIFFERENTIAL DIAGNOSE PENYAKIT PARU – PARU
Beserta perangkat yang diperlukan. 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 izin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya. Dibuat di Yogyakarta,
Pada tanggal: 18 Juli 2013 Yang menyatakan,
Vincentius Ardha Dian Rigitama
(11)
KATA PENGANTAR
Puji dan syukur kepada Tuhan karena atas segala berkat dan bimbingan-Nya, penulis dapat menyelesaikan tugas akhir ini dengan baik. Tugas akhir ini ditulis untuk memenuhi salah satu syarat untuk memperoleh gelar Sarjana Komputer dari Program Studi Teknik Informatika Universitas Sanata Dharma. Penulis menyadari bahwa selesainya tugas akhir ini tak lepas dari bantuan orang – orang di sekitar penulis. Oleh sebab itu, penulis mengucapkan terima kasih kepada:
1. Tuhan Yesus Kristus yang selalu membimbing dan menuntun penulis dalam menyelesaikan tugas akhir ini dan juga karena telah mengabulkan doa penulis sehingga tugas akhir ini dapat selesai dengan baik.
2. Bapak Puspaningtyas Sanjoyo Adi, S. T., M. T., selaku dosen pembimbing yang telah meluangkan waktu, ide, serta pikiran untuk membantu penulis dalam menyelesaikan tugas akhir ini.
3. Ibu Sri Hartati Wijono, S.Si., M.Kom., selaku ketua dosen penguji yang telah meluangkan waktu untuk menguji tugas akhir ini.
4. Kepala Puskesmas Jebed, dr. Setiawan Raharjana, dan seluruh keluarga besar Puskesmas Jebed, yang telah membantu saya dalam mendapatkan data penelitian.
5. Keluarga saya, Bapak Iwan, Ibu Yudhia, kakak Andreas dan Mita, dan adik Tika yang selalu mendoakan dan memberi dukungan
(12)
kepada penulis sehingga tugas akhir ini dapat selesai dengan baik dan tepat pada waktunya.
6. Yosefina Agustin Nugraheni Bere, wanita spesial yang juga selalu memberikan yang terbaik untuk memberi dukungan tak terbatas kepada penulis agar tidak menyerah dan selalu bersemangat untuk menyelesaikan tugas akhir ini dengan baik dan tepat waktu.
7. Tim DEJ, yang selalu menjadi inspirasi dan motivasi kepada penulis.
8. J.S. Wulandari, Tinus, Eki, Audris, Aden, Unggul, Henfry, Surya, mb. Anas, dan teman yang tidak bisa saya sebutkan, yang selalu menyemangati, menghibur, memberi inspirasi, dan membantu penulis dalam menyelesaikan tugas akhir ini.
Yogyakarta, 18 Juli 2013
Penulis
(13)
DAFTAR ISI
HALAMAN PERSETUJUAN ... ii
HALAMAN PENGESAHAN ... iii
PERNYATAAN KEASLIAN KARYA ... iv
HALAMAN MOTO ... v
HALAMAN PERSEMBAHAN ... vi
ABSTRAKSI ... vii
ABSTRACT ... viii
LEMBAR PERNYATAAN PERSETUJUAN ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR GAMBAR ... xvi
DAFTAR TABEL ... xvii
DAFTAR QUERY BASIS DATA... xx
DAFTAR LIST CODE ... xxi
DAFTAR GRAFIK ... xxii
DAFTAR LAMPIRAN ... xxiii
BAB I ... 1
PENDAHULUAN ... 1
1.1. Latar Belakang Permasalahan ... 1
1.2. Rumusan Masalah ... 3
1.3. Batasan ... 4
1.4. Tujuan Penelitian ... 5
1.5. Manfaat Penelitian ... 6
(14)
1.6. Metode Penelitian ... 7
1.7. Luaran ... 8
1.8. Sistematika Penulisan ... 9
BAB II ... 10
LANDASAN TEORI ... 10
2.1. Gambaran Umum Lokasi Penelitian ... 10
2.1.1. Gambaran Umum Kondisi Kesehatan Masyarakat ... 12
2.1.2. Penyakit Paru – Paru di Puskesmas Jebed ... 12
2.2. Penyakit Paru – Paru ... 14
2.3. Information Retrieval ... 16
2.4. Indexing ... 18
2.5. Term Frequency ... 21
2.6. Tokenizing ... 24
2.7. Stemming ... 25
2.7.1. Porter Stemmer Algorithm ... 26
2.7.2. Aturan Algoritma Porter untuk Bahasa Indonesia ... 27
2.8. Vector Space Model ... 30
2.9. Extended Boolean Model ... 32
2.10. Probabilistic Model ... 36
2.10.1. Probability Ranking Principle (PRP) ... 38
2.11. Algoritma Evaluasi: Recall – Precission ... 45
BAB III ... 46
ANALISIS DAN PERANCANGAN ... 46
3.1 Deskripsi Kasus ... 46
3.2 Cara Penyelesaian Masalah ... 48
(15)
3.2.1 Indexing ... 48
3.2.2 Pemrosesan Query ... 52
3.2.3 Permodelan ... 53
3.3 Diagram dan Skenario Use Case ... 54
3.4 Perancangan Sistem ... 65
3.4.1 Langkah penelitian ... 65
3.4.2 Perancangan Basis Data ... 67
3.4.3 Desain Antarmuka ... 71
3.4.4 Cara Pengujian dan Analisa Hasil ... 73
3.4.5 Class Diagram ... 74
3.5. Perhitungan Contoh Kasus ... 77
3.5.1 Vector Space Model ... 81
3.5.2 Extended Boolean Model ... 83
3.5.3 Probabilistic Model ... 85
BAB IV ... 87
IMPLEMENTASI ... 87
4.1. Spesifikasi Perangkat Keras dan Lunak ... 87
4.2. Implementasi Tabel Basis Data ... 88
4.3. Implementasi Kelas Indexing ... 89
4.3.1. Proses Indexing ... 90
4.3.2. Pemisahan Kata (Tokenizing) ... 90
4.3.3. Stemming ... 91
4.3.4. Pembacaan File Dokumen ... 97
4.3.5. Stopword Removal ... 99
4.3.6. Penyimpanan pada Basis Data ... 100
(16)
4.3.7. Penambahan Dokumen... 104
4.3.8. Perubahan Dokumen ... 105
4.3.9. Penambahan Stopword ... 108
4.3.10. Perubahan Stopword ... 109
4.4. Implementasi Proses Query Processing ... 112
4.5. Implementasi Proses Searching ... 113
4.5.1. Probabilistic Model (PM) ... 117
4.5.2. Vector Space Model (VSM) ... 121
4.5.3. Extended Boolean Model (EBM) ... 123
BAB V ... 125
HASIL DAN PEMBAHASAN ... 125
5.1. Hasil Pengukuran (kuesioner) ... 125
5.2. Analisa Unjuk Kerja Model ... 141
5.3. Perbandingan Lama Waktu Pencarian... 151
5.4. Perhitungan Akurasi Differential Diagnose Sistem ... 155
BAB VI ... 158
KESIMPULAN DAN SARAN ... 158
6.1. Kesimpulan ... 158
6.2. Saran ... 159
DAFTAR PUSTAKA ... 160
LAMPIRAN ... 162
(17)
DAFTAR GAMBAR
Gambar 2. 1 Kerangka dari sistem IR sederhana (P. Ingwersen, 1992) ... 17
Gambar 2. 2 Operasi teks logical view dari sebuah dokumen ... 20
Gambar 2. 3 Proses tokenizing ... 24
Gambar 2. 4 Desain dari Porter Stemmer for Bahasa Indonesia ... 26
Gambar 2. 5 Vector Space Model ... 30
Gambar 2. 6 Contoh perhitungan peringkat menggunakan persamaan 26 ... 43
Gambar 2. 7 Contoh perhitungan peringkat menggunakan persamaan 27 ... 44
Gambar 2. 8 Contoh recall dan precision hasil IR... 45
Gambar 3. 1 Gambar flowchartPorter Stemmer yang diimplementasikan ... 49
Gambar 3. 2 Rancangan flowchartstored procedureindexing database ... 50
Gambar 3. 3 Rancangan proses perhitungan binary tf ... 51
Gambar 3. 4 Rancangan pemrosesan query ... 52
Gambar 3. 5 Rancangan proses pencarian ... 53
Gambar 3. 6 Diagram Use Case ... 54
Gambar 3. 7 Diagram blok (indexing) ... 66
Gambar 3. 8 Diagram blok (searching) ... 66
Gambar 3. 9 ER Diagram... 67
Gambar 3. 10 Relasi antar tabel ... 67
Gambar 3. 11 Desain menu utama MainForm ... 71
Gambar 3. 12 Desain menu DiagnoseForm ... 72
Gambar 3. 13 Desain menu DaftarForm untuk mengelola dokumen ... 72
Gambar 3. 14 Desain menu StopwordsForm untuk mengelola kata buang ... 73
Gambar 3. 15 Diagram kelas keseluruhan ... 74
Gambar 3. 16 Diagram kelas proses indexing ... 75
Gambar 3. 17 Diagram kelas untuk proses searching... 76
Gambar 5. 1 Hasil pencarian PM query 1 ... 134
Gambar 5. 2 Hasil pencarian VSM query 1 ... 134
Gambar 5. 3 Hasil pencarian EBM query 1 ... 134
(18)
DAFTAR TABEL
Tabel 2. 1 Tabel Detail Penduduk ... 11
Tabel 2. 2 Gambaran lima besar penyakit di Puskesmas Jebed ... 13
Tabel 2. 3 10 besar penyakit paru – paru Puskesmas Jebed... 13
Tabel 2. 4 Tabel gejala umum penyakit paru - paru ... 14
Tabel 2. 5 Perbedaan sistem data retrieval dan sistem information retrieval ... 16
Tabel 2. 6 Kelompok rule pertama: inflectional particles ... 27
Tabel 2. 7 Kelompok rule kedua: inflectional possesive pronouns ... 28
Tabel 2. 8 Kelompok rule ketiga: first order of derivational prefixes ... 28
Tabel 2. 9 Kelompok rule keempat: second order of derivational prefixes ... 29
Tabel 2. 10 Kelompok rule kelima: derivationalsuffixes ... 29
Tabel 2. 11 Tabel persamaan perhitungan ukuran kesamaan dalam EBM ... 35
Tabel 2. 12 Contingency Table (Baeza-Yates dan Ribeiro-Neto, 2011)... 41
Tabel 3. 1 Contoh penggunaan binary TF ... 50
Tabel 3. 2 Tabel skenario caseDifferential Diagnose ... 55
Tabel 3. 3 Tabel skenario case Melihat Dokumen ... 56
Tabel 3. 4 Tabel skenario case Menambah Dokumen ... 56
Tabel 3. 5 Tabel skenario case Mengubah Dokumen ... 58
Tabel 3. 6 Tabel skenario case Melihat Stopword ... 59
Tabel 3. 7 Tabel skenario case Mengubah Stopword ... 59
Tabel 3. 8 Tabel skenario case Mengubah Stopword ... 60
Tabel 3. 9 Tabel skenario case Memasukkan Default Stopword ... 61
Tabel 3. 10 Tabel skenario case Pengaturan Sistem: Setting General ... 62
Tabel 3. 11 Tabel skenario case Pengaturan Sistem: Setting Algoritma ... 63
Tabel 3. 12 Tabel skenario case Pengaturan Sistem: Setting Koneksi ... 64
Tabel 3. 13 Keterangan tabel dokumen pada basis data ... 68
Tabel 3. 14 Keterangan tabel kata_dasar pada basis data ... 69
Tabel 3. 15 Keterangan tabel dokumen_kata pada basis data ... 69
Tabel 3. 16 Keterangan tabel kata_stop pada basis data ... 70
(19)
Tabel 3. 17 Keterangan tabel dictionary pada basis data ... 71
Tabel 3. 18 Tabel pendataan token ... 78
Tabel 3. 19 Tabel pengurutan dan pengelompokan token ... 79
Tabel 3. 20 Tabel frekuensi kata dalam dokumen contoh ... 80
Tabel 3. 21 Perhitungan idf menggunakan persamaan log��� ... 80
Tabel 3. 22 Perhitungan w dokumen dan query contoh kasus (VSM) ... 81
Tabel 3. 23 Perhitungan w dokumen dan query contoh kasus (EBM) ... 83
Tabel 3. 24 Contingency table PM ... 85
Tabel 3. 25 Perhitungan w dokumen contoh kasus (PM)... 86
Tabel 3. 26 Tabel pengurutan dokumen PM ... 86
Tabel 5. 1 Daftar query ... 126
Tabel 5. 2 Rekap kemungkinan differential diagnose query 1 ... 128
Tabel 5. 3 Rekap differential diagnose query 2 ... 128
Tabel 5. 4 Rekap differential diagnose query 3 ... 129
Tabel 5. 5 Rekap differential diagnose query 4 ... 129
Tabel 5. 6 Rekap differential diagnose query 5 ... 129
Tabel 5. 7 Rekap differential diagnose query 6 ... 130
Tabel 5. 8 Rekap differential diagnose query 7 ... 130
Tabel 5. 9 Rekap differential diagnose query 8 ... 130
Tabel 5. 10 Rekap differential diagnose query 9 ... 130
Tabel 5. 11 Rekap differential diagnose query 10 ... 131
Tabel 5. 12 Rekap differential diagnose query 11 ... 131
Tabel 5. 13 Rekap differential diagnose query 12 ... 131
Tabel 5. 14 Rekap differential diagnose query 13 ... 131
Tabel 5. 15 Rekap differential diagnose query 14 ... 132
Tabel 5. 16 Rekap differential diagnose query 15 ... 132
Tabel 5. 17 Rekap differential diagnose query 16 ... 132
Tabel 5. 18 Rekap differential diagnose query 17 ... 132
Tabel 5. 19 Rekap differential diagnose query 18 ... 133
Tabel 5. 20 Rekap differential diagnose query 19 ... 133
Tabel 5. 21 Rekap differential diagnose query 20 ... 133
(20)
Tabel 5. 22 Rekap differential diagnose query 21 ... 133
Tabel 5. 23 Precision-Recall responden R1 pada query 1 (PM)... 135
Tabel 5. 24 Maksimal precision setiap titik recall R1 pada query 1 (PM) ... 135
Tabel 5. 25 Precision-Recall responden R1 pada query 1 (VSM) ... 135
Tabel 5. 26 Maksimal precision setiap titik recall R1 pada query 1 (VSM) ... 136
Tabel 5. 27 Precision-Recall responden R1 pada query 1 (EBM) ... 136
Tabel 5. 28 Maksimal precision setiap titik recall R1 pada query 1 (EBM) ... 136
Tabel 5. 29 Perhitungan interpolasi responden R1 untuk query 1 (PM) ... 137
Tabel 5. 30 Perhitungan interpolasi responden R1 untuk query 1 (VSM) ... 138
Tabel 5. 31 Perhitungan interpolasi responden R1 untuk query 1 (EBM) ... 138
Tabel 5. 32 Perhitungan rerata interpolasi (PM) ... 142
Tabel 5. 33 Perhitungan rerata interpolasi (VSM) ... 142
Tabel 5. 34 Perhitungan rerata interpolasi (EBM) ... 143
Tabel 5. 35 Daftar penurunan nilai precision PM ... 145
Tabel 5. 36 Daftar penurunan nilai precision VSM ... 146
Tabel 5. 37 Daftar penurunan nilai precision EBM ... 148
Tabel 5. 38 Perhitungan rerata interpolasi seluruh model beserta nilai penurunan terhadap optimal ... 148
Tabel 5. 39 Tabel perbandingan nilai penurunan precision seluruh model ... 150
Tabel 5. 40 Daftar waktu pencarian (PM) ... 152
Tabel 5. 41 Daftar waktu pencarian (VSM) ... 153
Tabel 5. 42 Daftar waktu pencarian (EBM) ... 153
Tabel 5. 43 Tabel perbandingan waktu pencarian ... 154
Tabel 5. 44 Diagnose penyakit untuk setiap query ... 156
Tabel 5. 45 Perhitungan akurasi model ... 157
Tabel 6. 1 Perbandingan rerata penurunan interpolasi model mengacu pada tabel 5.39 ... 158
Tabel 6. 2 Perbandingan algoritma mengacu pada tabel 5.39, 5.43, dan 5.45 ... 159
(21)
DAFTAR QUERY BASIS DATA
Query 4. 1 Query DDL tabel dokumen ... 88
Query 4. 2 Query DDL tabel katadasar ... 88
Query 4. 3 Query DDL tabel katastop ... 88
Query 4. 4 Query DDL tabel dokumen_kata ... 89
Query 4. 5 Query DDL tabel dictionary... 89
Query 4. 6 Query SQL_CEKKATA ... 100
Query 4. 7 Stored procedure insert_dokumen_table ... 101
Query 4. 8 Stored procedure insertKata ... 103
(22)
DAFTAR LIST CODE
List Code 4. 1 List indexingDokumen ... 90 List Code 4. 2 Penggunaan metode replaceAll ... 90 List Code 4. 3 Penggunaan metode split ... 91 List Code 4. 4 Stemming ... 92 List Code 4. 5 List rule1 ... 92 List Code 4. 6 List rule2 ... 93 List Code 4. 7 List rule3 ... 94 List Code 4. 8 List rule4 ... 95 List Code 4. 9 List rule5 ... 96 List Code 4. 10 getCountWord ... 97 List Code 4. 11 List pembacaan dokumen ... 98 List Code 4. 12 Stopword removal ... 100 List Code 4. 13 List insertDokumen ... 102 List Code 4. 14 Penambahan Dokumen ... 105 List Code 4. 15 List ubahIsiDokumen ... 107 List Code 4. 16 List penambahan stopword ... 109 List Code 4. 17 List perubahan stopword ... 111 List Code 4. 18 List pemrosesan query ... 113 List Code 4. 19 List getIndex ... 115 List Code 4. 20 List getSimilarity ... 116 List Code 4. 21 List hitungBobotPerKata ... 117 List Code 4. 22 List getDokumenRelevanByQuery ... 118 List Code 4. 23 getDFRelevan ... 119 List Code 4. 24 similarity (PM) ... 121 List Code 4. 25 similarity (VSM) ... 123 List Code 4. 26 similarity (EBM) ... 124
(23)
DAFTAR GRAFIK
Grafik 5. 1 Grafik interpolasi responden R1 untuk query 1 (PM) ... 139 Grafik 5. 2 Grafik interpolasi responden R1 untuk query 1 (VSM) ... 139 Grafik 5. 3 Grafik interpolasi responden R1 untuk query 1 (EBM) ... 140 Grafik 5. 4 Grafik unjuk kerja PM pada pencarian query ... 144 Grafik 5. 5 Grafik unjuk kerja VSM pada pencarian query ... 145 Grafik 5. 6 Grafik unjuk kerja EBM pada pencarian query ... 147 Grafik 5. 7 Grafik interpolasi seluruh model ... 149
(24)
DAFTAR LAMPIRAN
Lampiran 1 Contoh Form Kuesioner ... 163 Lampiran 2 Query Gejala ... 169 Lampiran 3 Kuesioner Responden 1 ... 171 Lampiran 4 Kuesioner Responden 2 ... 176 Lampiran 5 Kuesioner Responden 3 ... 181 Lampiran 6 Kuesioner Responden 4 ... 186 Lampiran 7 Hasil Perhitungan Precision Semua Responden (PM) ... 191 Lampiran 8 Hasil Perhitungan Precision Semua Responden (VSM) ... 199 Lampiran 9 Hasil Perhitungan Precision Semua Responden (EBM) ... 207 Lampiran 10 Tabel Interpolasi Semua Query (PM) ... 215 Lampiran 11 Tabel Interpolasi Semua Query (VSM) ... 216 Lampiran 12 Tabel Interpolasi Semua Query (EBM) ... 217 Lampiran 13 Source Code Program ... 218
(25)
BAB I
PENDAHULUAN
1.1. Latar Belakang Permasalahan
Paru – paru adalah organ tubuh manusia yang terdapat di dalam dada. Paru – paru berfungsi sebagai tempat pertukaran oksigen dan mengeluarkan karbondioksida dari darah dengan bantuan hemoglobin. Manusia membutuhkan pasokan oksigen secara terus – menerus untuk proses respirasi sel, dan membuang kelebihan karbondioksida sebagai limbah beracun produk dari proses tersebut. Pertukaran gas antara oksigen dengan karbondioksida dilakukan agar proses respirasi sel terus berlangsung. Oksigen yang dibutuhkan untuk proses respirasi sel ini berasal dari atmosfer, yang menyediakan kandungan gas oksigen sebanyak 21% dari seluruh gas yang ada. Oksigen masuk kedalam tubuh melalui perantaraan alat pernapasan yang berada di luar. Pada manusia, alveolus
yang terdapat di paru – paru berfungsi sebagai permukaan untuk tempat pertukaran gas.
Kekurangan pasokan oksigen selama selang waktu diluar ambang batas kemampuan seseorang dapat menyebabkan kematian (PDPI, 2003). Dengan demikian, mendapatkan oksigen merupakan kebutuhan primer yang harus dipenuhi oleh seseorang. Udara bersih yang kaya akan oksigen
(26)
sangat dibutuhkan oleh sistem pernapasan manusia untuk melakukan proses metabolisme. Akan tetapi, udara yang tercemar dapat merusak fungsi dari paru – paru, atau bahkan merusak paru – paru secara fisik.
Dampak kesehatan dari pencemaran udara yang paling umum dijumpai adalah INSA (infeksi saluran napas atas), termasuk di antaranya, asma, bronkitis, dan gangguan pernapasan lainnya. Beberapa zat pencemar dikategorikan sebagai toksik dan karsinogenik (PDPI, 2003). Sebagai contoh dampak dari pencemaran udara di Jakarta yang berkaitan dengan kematian prematur, perawatan rumah sakit, berkurangnya hari kerja efektif, dan INSA pada tahun 1998 senilai dengan 1,8 trilyun rupiah dan akan meningkat menjadi 4,3 trilyun rupiah di tahun 2015 (DEPKES RI,2000).
Tingginya tingkat pencemaran udara di Indonesia menjadi salah satu faktor penyebab terjangkitnya penyakit paru – paru. Penyakit paru – paru dapat menyerang manusia di segala usia. Beberapa penyakit paru – paru mempunyai gejala umum yang sama, seperti batuk, sesak nafas, mengi, ataupun nyeri di dada. Hal tersebut menyebabkan kemunculan sejumlah penyakit pada differential diagnose.
Differential diagnose merupakan tahap sebelum diagnose dan ditentukan berdasarkan pada gejala yang ditemukan pertama kali. Pada tahap ini, diagnose penyakit yang pasti belum dapat disimpulkan tetapi hanya kemungkinan – kemungkinan penyakit yang muncul dari gejala yang ditemukan (DEPKES RI,2000). Petugas pelayanan kesehatan,
(27)
khususnya pada bagian poli umum, dengan berdasarkan pada pengamatan gejala pasien, akan menemukan sejumlah penyakit yang mungkin terjadi (differential diagnose). Hal ini tidak menutup kemungkinan adanya kesalahan differential diagnose penyakit pasien. Kesalahan pada
differential diagnose akan berimbas pada kesalahan pemberian obat, dengan demikian pasien mengkonsumsi obat yang seharusnya tidak dikonsumsi.
Perkembangan teknologi dapat membantu dalam penentuan
differential diagnose. Komputerisasi dilakukan dengan memanfaatkan algoritma pada ilmu information retrieval (temu kembali informasi).
Komputerisasi pada differential diagnose ini bukan merupakan hal yang mudah. Hal ini dikarenakan gejala umum pada tiap penyakit yang akan dijadikan model bukan merupakan dokumen panjang. Model dari tiap penyakit biasanya hanya terdiri dari 5 – 10 gejala umum. Hal ini berbeda dengan penerapan ilmu information retrieval pada umumnya, yaitu menggunakan dokumen dengan jumlah kata atau kalimat dalam jumlah yang besar (dokumen panjang).
1.2. Rumusan Masalah
Berdasarkan pada latar belakang permasalahan, maka masalah yang akan dibahas pada tulisan ini adalah:
(28)
1. Bagaimana membangun sistem rekomendasi differential diagnose penyakit paru – paru yang dapat melakukan
differential diagnose dengan baik berbasis pada information retrieval dengan menggunakan dokumen pendek? Dokumen pendek adalah dokumen yang berjumlah kata maksimal 30 kata.
2. Bagaimana unjuk kerja algoritma extended boolean model,
vector space model: cosine similarity,dan probabilistic model
untuk dokumen pendek pada sistem rekomendasi differential diagnose penyakit paru – paru secara akurat?
3. Bagaimana keakuratan algoritma information retrieval
(extended boolean model, vector space model: cosine similarity,dan probabilistic model) untuk dokumen pendek pada sistem rekomendasi differential diagnose penyakit paru – paru?
1.3.Batasan
Dengan permasalahan yang terjadi dan telah diungkapkan di atas, penulis bermaksud menyusun skripsi dengan judul “Uji Algoritma
Probabilistic Model, Vector Space Model, dan Extended Boolean Model
Pada Sistem Rekomendasi Differential Diagnose Penyakit Paru - Paru”. Batasan yang akan diambil dalam skripsi ini adalah sebagai berikut:
(29)
1. Studi kasus hanya dilakukan di Puskesmas Jebed Pemalang. 2. Melakukan differential diagnose hanya pada penyakit paru –
paru yang termasuk sepuluh besar di Puskesmas Jebed. 3. Data yang digunakan dari tahun 2009 hingga tahun 2011.
4. Differential diagnose hanya dilakukan berdasarkan gejala awal, penyakit yang awal diagnose dengan cek lab tidak digunakan.
5. Differential diagnose lanjutan berdasar hasil cek lab tidak akan dibahas.
6. Sistem rekomendasi yang dibangun tidak menangani pemberian saran terkait (langkah lanjutan yang dilakukan). 7. Differential diagnose dilakukan secara terkomputerisasi
dengan penerapan teknologi informatika, ilmu information retrieval.
8. Algoritma information retrieval yang digunakan adalah
extended boolean model, vector space model: cosine similarity,dan probabilistic model.
1.4. Tujuan Penelitian
Tujuan yang akan dicapai dalam penulisan skripsi ini adalah:
1. Mengkaji algoritma extended boolean model, vector space model: cosine similarity, dan probabilistic model untuk
(30)
dokumen pendek yang akan diterapkan pada sistem rekomendasi differential diagnose penyakit paru – paru.
2. Melakukan implementasi algoritma extended boolean model,
vector space model: cosine similarity,dan probabilistic model
dengan menggunakan dokumen pendek pada sistem rekomendasi differential diagnose penyakit paru – paru.
3. Melakukan pengujian aplikasi yang telah dibangun menggunakan algoritma recall – precission untuk mengetahui algoritma information retrieval terbaik untuk menangani
differential diagnose penyakit paru – paru menggunakan dokumen pendek.
1.5. Manfaat Penelitian
Manfaat dari pembangunan perangkat lunak sistem rekomendasi
differential diagnose penyakit paru – paru ini adalah membantu mengkonversi gejala – gejala yang muncul dari pengamatan terhadap pasien menjadi sebuah rekomendasi differential diagnose penyakit paru – paru secara tepat, cepat, akurat, dan efisien dengan algoritma yang menghasilkan nilai paling baik. Tidak hanya itu, pembangunan perangkat lunak ini sekaligus menguji algoritma pada dokumen pendek. Dengan demikian pengujian algoritma extended boolean model, vector space model: cosine similarity,dan probabilistic model perlu dilakukan untuk
(31)
menentukan algoritma yang paling baik pada dokumen pendek. Dengan penerapan algoritma terbaik, sistem diharapkan dapat membantu peran pelaku pelayanan kesehatan dalam menentukan tindak lanjut sebagai penanganan serta dasar pengambilan diagnose akhir pada penyakit paru – paru.
1.6. Metode Penelitian
Metode penelitian yang digunakan adalah:
1. Studi Pustaka: metode studi pustaka ini dilakukan dengan mengambil referensi dari internet, buku, dan jurnal penelitian yang berhubungan dengan konsep information retrieval serta penyakit paru – paru.
2. Analisis dan Perancangan Sistem: melakukan analisis kebutuhan dari sistem yang akan dibangun. Dilanjutkan dengan perancangan sistem yang akan diimplementasikan menjadi sebuah sistem yang dapat berjalan dengan baik dan sesuai dengan yang diharapkan.
3. Implementasi Sistem: implementasi sistem menggunakan dasar analisa desain sistem yang telah dibuat. Melakukan eksplorasi dan penerapan algoritma extended boolean model, vector space model: cosine similarity,dan probabilistic model.
(32)
4. Evaluasi Algoritma Sistem: pengujian algoritma extended boolean model, vector space model: cosine similarity, dan
probabilistic model pada perhitungan kemiripan gejala.
5. Pengujian dan Perbaikan: perangkat lunak yang telah dibangun diuji untuk meminimalkan error dan dapat bekerja dengan baik secara akurat.
6. Analisis Luaran Sistem: melakukan pengujian perangkat lunak dan pengkajian berdasarkan data uji serta menghitung akurasi menggunakan algoritma recall – precission. Ketiga algoritma
information retrieval akan dikaji berdasarkan penurunan terhadap nilai optimal (1.0), waktu pencarian, serta akurasi untuk menentukan algoritma terbaik yang diterapkan pada perangkat lunak.
7. Kesimpulan dan Saran: membuat kesimpulan dan saran dari seluruh tahapan yang dilalui.
1.7.Luaran
Luaran dari penelitian ini adalah terciptanya perangkat lunak “Sistem Rekomendasi Differntial Diagnose Penyakit Paru - Paru” menggunakan algoritma information retrieval (extended boolean model,
vector space model: cosine similarity,dan probabilistic model) yang diterapkan pada dokumen pendek.
(33)
1.8. Sistematika Penulisan
Tulisan ini akan dibahas dalam enam (6) bab, yaitu sebagai berikut:
Bab I : berisi pendahuluan yang membahas latar belakang permasalahan, rumusan masalah yang berisi masalah yang akan dibahas pada tulisan ini, batasan yang dibahas, tujuan penelitian, manfaat penelitian, metodologi, luaran, dan sistematika penulisan.
Bab II : berisi review literatur yang digunakan sebagai sebagai acuan penulisan.
Bab III : berisi analisis dan perancangan sebagai acuan dalam implementasi sistem rekomendasi differential diagnose
penyakit paru – paru. Bab IV : berisi implementasi sistem.
Bab V : berisi hasil dan analisa dari penelitian yang telah dilakukan. BAB VI : berisi kesimpulan dari analisa berdasar metode dan literatur
yang ada, serta saran yang diberikan untuk pengembangan sistem.
(34)
BAB II
LANDASAN TEORI
Differential diagnose adalah penentuan dua atau lebih penyakit atau kondisi yang diderita pasien dengan membandingkan dan mengontraskan secara sistematis hasil – hasil tindakan diagnostik (www.kamuskesehatan.com, 2012). Perkembangan teknologi dapat diupayakan untuk berperan membantu proses differential diagnose.
Pendekatan yang digunakan adalah memanfaatkan algoritma pada
information retrieval. Pendekatan ini tergolong berbeda karena dokumen / model yang digunakan merupakan sebuah dokumen pendek. Untuk lebih jelasnya pada bab ini akan dibahas mengenai teori-teori apa saja yang akan digunakan untuk menunjang penulisan.
2.1.Gambaran Umum Lokasi Penelitian
Puskesmas Jebed adalah salah satu unit pelayanan kesehatan di Kabupaten Pemalang. Terletak di Kecamatan Taman, di desa Jebed Selatan. Wilayah kerjanya terdiri atas 11 desa dengan jumlah penduduk sekitar 78.000 jiwa. Desa yang ditangani adalah sebagai berikut:
1. Jebed Utara
(35)
2. Jebed Selatan 3. Cibelok 4. Kaligelang 5. Penggarit 6. Kejambon 7. Sokawangi 8. Pener 9. Gondang 10.Jerakah 11.Sitemu
Sedangkan dari 11 desa yang ditangani, jumlah penduduk yang ditangani oleh Puskesmas Jebed adalah sebagai berikut:
Tabel 2. 1 Tabel Detail Penduduk
Laki - Laki (Tahun) 0-4 5-14 15-44 45-64 >=65 JML Jumlah 4.375 8.706 17.709 6.031 2.160 38.960 Perempuan (Tahun) 0-4 5-14 15-44 45-64 >=65 JML
Jumlah 4.123 8.377 18.168 5.740 2.537 38.945
Detail keterangan Puskesmas Jebed adalah sebagai berikut: Nama : Pusat Kesehatan Masyarakat Jebed Kode UPK : P3327090203
Alamat : Jl. Raya Jebed Selatan, Jebed Telp : (0284) 5800082
(36)
Kepala (Plt) : dr. Paulus Setiawan R. Jumlah Desa : 11
Hari Pelayanan : Senin – Sabtu Jam Pelayanan : 07.30 – 14.00 WIB
2.1.1. Gambaran Umum Kondisi Kesehatan Masyarakat
Menurut Kepala Puskesmas Jebed, kesadaran masyarakat tentang kesehatan dapat dikatakan sangat kurang sekali. Kondisi ekonomi masyarakat yang didominasi oleh masyarakat dengan taraf menengah ke bawah, juga mempengaruhi pola hidup masyarakat yang jauh dari hidup sehat. Sebagai contoh, masyarakat Desa Sokawangi menggunakan air sungai yang kotor sebagai sarana untuk kegiatan MCK dan juga untuk kegiatan memasak. Penularan penyakit juga dapat dikatakan mudah terjadi, hal ini dikarenakan pengetahuan masyarakat tentang bahaya penyakit dan penularannya sangat kurang.
2.1.2. Penyakit Paru – Paru di Puskesmas Jebed
Menurut Kepala Puskesmas Jebed, puskesmas ini menangani beberapa jenis penyakit yang termasuk ke dalam penyakit paru – paru.
(37)
Penyakit paru – paru termasuk ke dalam penyakit yang mendapatkan perhatian khusus. Berikut adalah gambaran lima (5) besar penyakit yang ditangani Puskesmas Jebed.
Tabel 2. 2 Gambaran lima besar penyakit di Puskesmas Jebed Kategori Penyakit 2009 2010 2011 Gangguan dan Infeksi Pencernaan 2.238 2.395 2.306 Nasopharingitis Akuta (common cold) ISPA
dan Penyakit Paru 2.202 2.263 2.243 Gastrtitis 695 683 583 Rhumatoid Arthritis Lain 763 663 465 Penyakit Kulit dan Infeksi Lain 590 467 410
Berikut adalah rekapan 10 besar penyakit paru – paru yang ditangani oleh Puskesmas Jebed.
Tabel 2. 3 10 besar penyakit paru – paru Puskesmas Jebed Penyakit Paru 2009 2010 2011 Asma 607 579 600 TB Paru 189 196 207 Displasia Bronkopulmoner 175 158 159 Bronkiolitis 120 141 152 Asbestosis 143 140 139 Silikosis 138 120 133 Fibrosis Paru 112 106 94 TB Paru BTA - Rontgen + 93 98 91 Emfisema 88 94 93 Pneumonia 60 80 110
Dari tabel 2.3 dapat dilihat bahwa, penyakit asma merupakan penyumbang terbanyak pada kategori ISPA dan penyakit paru – paru.
(38)
2.2. Penyakit Paru – Paru
Penyakit paru – paru sangat bervariasi jenisnya. Penyebab penyakit paru – paru juga dapat dikatakan sangat bervariasi, dari udara yang tercemar, perpindahan bakteri penyakit, hingga masuknya virus ke dalam rongga paru – paru. Menurut pedoman penganggulangan penyakit yang dikeluarkan oleh pemerintah Indonesia, gejala – gejala umum yang ada pada penyakit paru – paru dapat dilihat pada tabel 2.2. Penyakit yang diambil merupakan penyakit yang sering ditemui pada Puskesmas Jebed.
Tabel 2. 4 Tabel gejala umum penyakit paru - paru Penyakit Gejala Umum
Bronkiolitis Batuk kering serak, batuk terus menerus, bernapas cepat, demam, denyut jantung cepat, rinorea, hidung tersumbat, sesak napas, mengi, muntah setelah makan, napas cuping hidung, ada riwayat infeksi saluran napas, retraksi dinding dada, dan riwayat kontak dengan penderita infeksi saluran napas.
Silikosis Demam, batuk kronis, bernapas cepat, tidak selera makan, mudah lelah, riwayat pekerjaan kontak dengan silikon, sesak napas, penurunan berat badan, dan sakit di dada.
Displasia
Bronkopulmoner
Batuk kronis, bernapas cepat, warna biru pada kulit, sianosis, mengi, postur leher buruk, postur bahu buruk, postur badan buruk, sesak napas, dan perkusi dada terdapat bagian yang redup.
(39)
Asbestosis Demam , batuk kronis, bernapas cepat, tidak selera makan, mudah lelah, riwayat pekerjaan kontak dengan asbes, sesak napas, penurunan berat badan, dan sakit di dada.
Fibrosis Paru Batuk kering, kelelahan, kelemahan pada tangan, nyeri otot (mialgia), pembuluh darah bengkak pada putih mata, penurunan berat badan yang tidak diinginkan, rasa sakit pada persendian, ruam kulit yang gatal, dan sesak napas.
Asma Batuk, dada sesak, warna biru pada kulit, sianosis,
mengi, sakit di dada, sesak napas, napas cuping hidung, bernapas dengan melibatkan otot bantu pernapasan, pada keadaan tenang bisa tanpa gejala dan nampak sehat, ada pemicu serangan (alergi, stress emosional, kelelahan infeksi), dan eksperium diperpanjang.
TBC Batuk terus menerus, Batuk bberdahak selama 3 (tiga) minggu atau lebih, batuk bercampur darah, sesak napas, nyeri dada, badan lemah, nafsu makan menurun, berat badan turun, kurang enak badan,
malaise, berkeringat pada malam hari, riwayat kontak dengan penderita TBC, panas nglemeng, dan pembesaran limfonodi leher.
Tabel 2.4 merupakan pedoman gejala umum untuk melakukan
differential diagnose pada penyakit paru – paru di Indonesia. Tabel 2.4 merupakan kesimpulan survei yang dilakukan Ikatan Dokter Indonesia (IDI) dan pemerintah Indonesia dari hasil pengamatan pada pasien penderita penyakit paru – paru (DEPKES RI, 2007).
(40)
2.3. Information Retrieval
ISO 2382/1 mendefinisikan Information Retrieval (IR) sebagai tindakan, metode dan prosedur untuk menemukan kembali data yang tersimpan, kemudian menyediakan informasi mengenai subyek yang dibutuhkan. Informasi termasuk pengetahuan terkait yang dibutuhkan untuk mendukung penyelesaian masalah dan akuisisi pengetahuan. Menurut Lancaster (1968), sebuah sistem information retrieval tidak memberitahu pengguna mengenai masalah yang ditanyakannya. Sistem tersebut hanya memberitahukan keberadaan atau ketidakberadaan dan keterangan dokumen – dokumen yang berhubungan dengan permintaannya (van Rijsbergen, 1979). Dengan demikian, sistem IR hanya memberitahukan keberadaan serta keterangan dokumen berdasarkan query
dari pengguna. Sifat pencarian sistem IR berbeda dengan sistem data retrieval (misalnya dalam sistem manajemen basis data) dalam beberapa segi, antara lain spesifikasi query yang tidak lengkap, dan tingkat ketanggapan kesalahan yang tidak peka (van Rijsbergen, 1979).
Tabel 2. 5 Perbedaan sistem data retrieval dan sistem information retrieval Data Retrieval Information Retrieval
Matching Exact Match Partial (best) Match
(41)
Model Deterministik Probabilistik Klasifikasi Monothetic Polythetic Bahasa Query Artificial Natural
Spesifikasi Query Lengkap Tidak Lengkap Item yang diinginkan Matching Relevan Respon Error Sensitif Tidak Sensitif
Kerangka dari sistem IR secara sederhana terbagi menjadi dua bagian. Untuk lebih jelasnya, gambar 2.1 merupakan kerangka sederhana sistem IR
Gambar 2. 1 Kerangka dari sistem IR sederhana (P. Ingwersen, 1992) Bagian pertama adalah pencari informasi atau pengguna sistem. Pengguna dari sistem IR harus menerjemahkan informasi yang dicarinya agar dapat diproses oleh sistem dengan cara memasukan kata kunci. Kata kunci tersebut akan di proses menjadi sebuah query yang dapat dimengerti
(42)
oleh sistem. Bagian kedua adalah bagian dari dokumen. Pada bagian ini dokumen – dokumen direpresentasikan dalam bentuk indeks. Query
pengguna akan diproses melalui fungsi kesamaan untuk membandingkan
query dengan indeks dari dokumen untuk mendapatkan dokumen yang relevan. Sistem IR mungkin tidak memberikan hasil apapun jika memang tidak ditemukan dokumen yang relevan.
2.4. Indexing
Mencari sebuah informasi yang relevan sangat tidak mungkin dapat dilakukan oleh sebuah komputer, meskipun dilakukan oleh sebuah komputer yang memiliki spesifikasi yang canggih. Agar komputer dapat mengetahui sebuah dokumen itu relevan terhadap sebuah informasi, komputer memerlukan sebuah model yang mendeskripsikan bahwa dokumen tersebut relevan atau tidak. Salah satu caranya adalah dengan menggunakan indeks istilah. Indeks adalah bahasa yang digunakan di dalam sebuah buku konvensional untuk mencari informasi berdasarkan kata atau istilah yang mengacu ke dalam suatu halaman. Dengan menggunakan indeks pencari informasi dapat dengan mudah menemukan informasi yang diinginkannya. Pada sistem temu-kembali informasi, indeks ini nantinya yang digunakan untuk merepresentasikan informasi di dalam sebuah dokumen.
(43)
Elemen dari indeks adalah index term yang didapatkan dari teks yang dipecah di dalam sebuah dokumen. Elemen lainnya adalah bobot istilah (term weighting) sebagai penentuan peringkat dari kriteria relevan pada sebuah dokumen yang memiliki istilah yang sama. Proses pembuatan indeks dari sebuah dokumen teks atau dikenal dengan proses analisis teks (automatic teks analysis) melalui beberapa tahap (Baeza-Yates dan Ribeiro-Neto, 1999):
1. Proses penentuan digit, tanda hubung, tanda baca dan penyeragaman dari huruf yang digunakan.
2. Penyaringan kata meliputi penghilangan kata yang memiliki arti niliai paling rendah (stopwords) untuk proses IR.
3. Penghilangan imbuhan kata, baik awalan maupun akhiran kata. Penghilangan imbuhan kata ini dikenal dengan stemming.
4. Pemilihan istilah untuk menentukan kata atau stem (atau kelompok kata) yang akan digunakan sebagai elemen indeks.
5. Pembentukan kategori istilah terstruktur seperti kelompok persamaan kata yang digunakan untuk perluasan dari query dasar yang diberikan oleh pengguna sistem IR dengan istilah lain yang sesuai.
Pengindeksan dapat dilakukan dengan dua cara yaitu manual dan otomatis. Idealnya, untuk mendapatkan indeks istilah yang sempurna sebuah pengindeksan dilakukan secara manual (konvensional). Akan tetapi, menurut Salton, sistem pencarian dan analisa teks yang sepenuhnya otomatis tidak menghasilkan kinerja temu-kembali yang lebih buruk
(44)
dibandingkan dengan sistem konvensional yang menggunakan pengindeksan dokumen manual dan formulasi pencarian. Untuk lebih jelasnya mengenai proses pengindeksan dari sebuah dokumen yang memiliki sekumpulan teks menjadi istilah dapat dilihat pada Gambar 2.2 (Baeza-Yates dan Ribeiro-Neto, 1999).
Gambar 2. 2 Operasi teks logical view dari sebuah dokumen
Inverted index adalah salah satu mekanisme untuk pengindeksan sebuah koleksi teks yang digunakan untuk mempercepat proses pencarian. Struktur dari inverted index terdiri dari dua elemen yaitu kosakata dan posisinya di dalam sebuah dokumen (Baeza-Yates dan Ribeiro-Neto, 1999). Sebagai contoh, istilah t1 terdapat dalam dokumen D1, D2, dan D3
sedangkan istilah t2 terdapat dalam dokumen D1 dan D2 maka inverted
index yang dihasilkan adalah sebagai berikut: t1→ D1, D2, D3
(45)
Penggunaan inverted index di dalam sistem IR memiliki kelemahan yaitu lambat di dalam pengindeksan, tetapi cepat di dalam proses pencarian informasi.
2.5. Term Frequency
Term Frequency (TF) adalah algoritma pembobotan heuristik yang menentukan bobot dokumen berdasarkan kemunculan term (istilah). Semakin sering sebuah istilah muncul, semakin tinggi bobot dokumen untuk istilah tersebut, dan sebaliknya. Hasil pembobotan ini selanjutnya akan digunakan oleh fungsi perbandingan untuk menentukan dokumen – dokumen yang relevan. Terdapat empat buah algoritma TF yang digunakan (Wibowo, 2011):
• Raw TF
Raw TF menentukan bobot suatu dokumen terhadap istilah dengan menghitung frekuensi kemunculan suatu istilah tersebut pada dokumen. Raw TF selanjutnya akan dituliskan sebagai tf.
• Logarithmic TF
Logarithmic TF mengurangi tingkat kepentingan kemunculan kata dalam menghitung bobot dokumen terhadap suatu istilah dengan melakukan log terhadap TF. Log TF dapat dihitung dengan persamaan:
(46)
��� = 1 + log(��) ( 1 )
• Binary TF
Binary TF menyeragamkan bobot dokumen terhadap istilah dengan memberi nilai 0 dan 1. Nilai 1 menyatakan suatu istilah muncul minimal satu kali dalam suatu dokumen, sementara 0 menyatakan sebaliknya.
��� = � 1,������ℎ������������������
0,������ℎ����������������������� ( 2 )
• Augmented TF
Augmented TF menyeragamkan bobot dokumen terhadap istilah dengan memberikan range antara 0.5 hingga 1 sebagai bobot dokumen. Augmented TF dapat dihitung dengan persamaan:
��� = 0.5 + 0.5 × ��
max������ ����� �ℎ������� ( 3 )
Pembobotan lokal (tf) hanya berpedoman pada frekuensi munculnya term dalam suatu dokumen dan tidak melihat frekuensi kemunculan term tersebut di dalam dokumen lainnya. Pembobotan global digunakan untuk memberikan tekanan terhadap term yang mengakibatkan perbedaan dan berdasarkan pada penyebaran dari term tertentu di seluruh dokumen. Banyak skema didasarkan pada pertimbangan bahwa semakin jarang suatu term muncul di dalam total koleksi maka term tersebut menjadi semakin berbeda. Pemanfaatan pembobotan ini dapat menghilangkan kebutuhan stop word removal karena stop word
(47)
pembobotan global mencakup inverse document frequency (idf), squared idf, probabilistic idf, GF-idf, entropy. Pendekatan idf merupakan pembobotan yang paling banyak digunakan saat ini. Beberapa aplikasi tidak melibatkan bobot global, hanya memperhatikan tf, yaitu ketika tf
sangat kecil atau saat diperlukan penekanan terhadap frekuensi term di dalam suatu dokumen.
Faktor normalisasi digunakan untuk menormalkan vektor dokumen sehingga proses retrieval tidak terpengaruh oleh panjang dari dokumen. Normalisasi ini diperlukan karena dokumen panjang biasanya mengandung perulangan term yang sama sehingga menaikkan frekuensi
term (tf). Dokumen panjang juga mengandung banyak term yang berbeda sehingga menaikkan ukuran kemiripan antara query dengan dokumen tersebut, meningkatkan peluang di-retrieve-nya dokumen yang lebih panjang.
Bobot lokal suatu term i di dalam dokumen j (tfij) dapat
didefinisikan sebagai (Lee D. L., 1997):
���=�������(�
��) ( 4 )
fij merupakan jumlah berapa kali termi muncul di dalam
dokumen j. Frekuensi tersebut dinormalisasi dengan frekuensi dari most common term di dalam dokumen tersebut. Bobot global dari suatu term i
pada pendekatan inverse document frequency (idfi) dapat didefinisikan
(48)
����=log (����) ( 5 )
Dimana dfiadalah frekuensi dokumen dari termidan sama dengan
jumlah dokumen yang mengandung term i. Log digunakan untuk memperkecil pengaruhnya relatif terhadap tfij. Bobot dari termi di dalam
sistem IR (wij) dihitung menggunakan ukuran tf-idf yang didefinisikan
sebagai berikut (Lee D. L., 1997):
���=���� × ���� ( 6 )
2.6. Tokenizing
Tokenizing adalah proses membagi deretan kalimat menjadi kalimat, dan kalimat menjadi token – token. Token tidak hanya terdiri dari kata – kata, tetapi juga angka – angka, tanda kutip, tanda kurung, dan tanda baca lainnya. Proses tokenizing pada gambar 2. 4 masukan (input) berupa sebuah kalimat “Ada riwayat infeksi saluran napas”. Proses tokenizing
memisah kalimat tersebut menjadi potongan – potongan kata penyusunnya. Potongan kata seperti “riwayat”, “infeksi”, “saluran”, dan “napas” akan digunakan untuk proses selanjutnya.
(49)
2.7. Stemming
Stemming merupakan suatu proses yang terdapat dalam sistem IR yang mentransformasi kata-kata yang terdapat dalam suatu dokumen ke kata – kata dasarnya (root word) dengan menggunakan aturan – aturan tertentu. Sebagai contoh, kata bersama, kebersamaan, menyamai, akan di–
stem ke rootword–nya yaitu “sama”. Proses stemming pada teks berbahasa Indonesia berbeda dengan stemming pada teks berbahasa Inggris. Pada teks berbahasa Inggris, proses yang diperlukan hanya proses menghilangkan sufiks. Sedangkan pada teks berbahasa Indonesia, selain sufiks, prefiks, dan konfiks juga dihilangkan (Agusta, 2009).
Stemming khusus bahasa Inggris yang ditemukan oleh Martin Porter. Mekanisme algoritma dalam mencari kata dasar suatu kata berimbuhan dengan membuang imbuhan – imbuhan (atau lebih tepatnya akhiran) pada kata–kata bahasa Inggris karena dalam bahasa Inggris tidak mengenal awalan. Karena bahasa Inggris datang dari kelas yang berbeda, beberapa modifikasi telah dilakukan untuk membuat Algoritma Porter
sehingga dapat digunakan sesuai dengan bahasa Indonesia. Implementasi
Porter Stemmer for Bahasa Indonesia berdasarkan English Porter Stemmer yang dikembangkan oleh W.B. Frakes pada tahun 1992. Karena bahasa Inggris datang dari kelas yang berbeda, beberapa modifikasi telah dilakukan untuk membuat algoritma Porter dapat digunakan sesuai dengan bahasa Indonesia.
(50)
Gambar 2. 4 Desain dari Porter Stemmer for Bahasa Indonesia
2.7.1. Porter Stemmer Algorithm
Algoritma atau langkah – langkah stemming pada teknik Porter Stemmer adalah sebagai berikut:
1. Menghapus partikel seperti: -kah, -lah, -tah
2. Mengapus kata ganti (Possesive Pronoun), seperti –ku, -mu, -nya
3. Mengapus awalan pertama. Jika tidak ditemukan, maka lanjut ke langkah 4a, dan jika ada maka lanjut ke langkah 4b.
(51)
b. Menghapus akhiran, jika tidak ditemukan maka kata tersebut diasumsikan sebagai kata dasar (root word). Jika ditemukan maka lanjut ke langkah 5b.
5. a. Menghapus akhiran dan kata akhir diasumsikan sebagai kata dasar (root word).
b. Menghapus awalan kedua dan kata akhir diasumsikan sebagai kata dasar (root word) (Agusta, 2009).
2.7.2. Aturan Algoritma Porter untuk Bahasa Indonesia
Terdapat 5 aturan pada Algoritma Porter untuk Bahasa Indonesia. Dasar dari aturan ini adalah membagi kata berdasarkan imbuhan yang diberikan pada kata tersebut. Aturan tersebut dapat dilihat pada tabel berikut (Tala, 2003):
Tabel 2. 6 Kelompok rule pertama: inflectional particles
Suffix Replacement Meassure Condition
Additional
Condition Contoh
-kah NULL 2 NULL bukukah buku -lah NULL 2 NULL adalah ada -pun NULL 2 NULL bukupun buku
(52)
Tabel 2. 7 Kelompok rule kedua: inflectional possesive pronouns
Suffix Replacement Meassure Condition
Additional
Condition Contoh
-ku NULL 2 NULL bukuku buku -mu NULL 2 NULL bukumu buku -nya NULL 2 NULL bukunya buku
Tabel 2. 8 Kelompok rule ketiga: first order of derivational prefixes
Prefix Replacement Meassure Condition
Additional
Condition Contoh
meng- NULL 2 NULL mengukur ukur meny- s 2 V...* menyapu sapu men- NULL 2 NULL menduga duga mem- p 2 V... memilah pilah mem- NULL 2 NULL membaca baca me- NULL 2 NULL merusak rusak peng- NULL 2 NULL pengukur ukur peny- s 2 V... penyapu sapu pen- NULL 2 NULL pendosa dosa pem- p 2 V... pemilah pilah pem- NULL 2 NULL pembaca baca di- NULL 2 NULL diukur ukur ter- NULL 2 NULL tersapu sapu ke- NULL 2 NULL kekasih kasih
(53)
Tabel 2. 9 Kelompok rule keempat: second order of derivational prefixes
Prefix Replacement Meassure Condition
Additional
Condition Contoh
ber- NULL 2 NULL berlari lari bel- NULL 2 ajar belajar ajar be- NULL 2 k*er... bekerja kerja per- NULL 2 NULL perjelas jelas pel- NULL 2 ajar pelajar ajar pe- NULL 2 NULL pekerja kerja
Tabel 2. 10 Kelompok rule kelima: derivationalsuffixes
Suffix Replacement Meassure Condition
Additional
Condition Contoh
-kan NULL 2 Prefix ∉ {ke-, peng-}
tarikkan tarik (meng)ambilkan ambil
-an NULL 2 Prefix ∉ {di-, ter-, meng-}
makanan makan (per)janjian janji
-i NULL 2
V|K...c1 c1, c1 ≠ s,
c2 ≠ i dan prefix ∉
{ber-, ke-, peng-}
tandai tanda (men)dapati dapat Pantai panta
(54)
2.8. Vector Space Model
Vector Space Model (VSM) menganalogikan dokumen sebagai vektor yang memiliki besaran. Gambar 2.6 menunjukkan perlakuan yang diterapkan VSM terhadap query pencarian.
Gambar 2. 5 Vector Space Model
Sebagai vektor yang memiliki besaran, jarak antar dokumen dapat dihitung menggunakan persamaan cosine similarity (Manning, et al,
2008).
��� (�1,�2) = � →(�1).
� →(�2)
�→�(�1)�� �
→(�2)� ( 7 )
Dimana:
• ��� (�1,�2) adalah jarak kedekatan dokumen 1 dan dokumen 2.
• D1 adalah dokumen 1.
• D2adalah dokumen 2.
•
�
(55)
•
�
→(�2)adalah reperentasi vektor dokumen 2.
Salah satu cara untuk mengukur jarak antar vektor adalah dengan menggunakan persamaan Euclidian Distance. Dengan berasumsi bahwa t
adalah komponen dari vektor, maka Euclidian Distance untuk vektor
�
→(�) dapat ditulis sebagai berikut:
�∑ �
�2 (�)
�⎯⎯�
�
�=1 ( 8 )
Dand hasil dari perkalian dot product antara 2 (dua) vektor
�
→ dan
�
→ dapat ditulis sebagai berikut:
∑ � � →. �� → �
�=1 ( 9 )
Dengan melihat persamaan 8 dan 9, persamaan 7 dapat ditulis ulang menjadi:
cos��� (�1,�2) =
∑��=1(�1.�2)
�∑ ��2 (�
1).��2 (�2)
� �=1
( 10 )
Nilai cos��� (�1,�2) menunjukkan jarak kedekatan dokumen D1
dan D2. Besaran cos��� (�1,�2) memiliki rentang dari 0,0 – 1,0.
Semakin besar nilai yang diperoleh, tingkat kemiripan dokumen yang dibandingkan akan semakin tinggi. Sebaliknya, semakin kecil nilai yang diperoleh, tingkat kemiripan dokumen yang dibandingkan semakin rendah.
Dalam membentuk model hasil pencarian, VSM membandingkan nilai kesamaan antara query pencarian terhadap setiap dokumen yang tersedia. Dengan melihat persamaan 7, perhitungan jarak antara query
(56)
��� (�,��) = →�(�).→�(��)
�→�(�)�� �
→(��)� ( 11 )
Dimana:
• ��� (�,��) adalah jarak kedekatan query dan dokumen i.
• Q adalah query pencarian.
• Di adalah dokumen i.
•
�
→(�)adalah reperentasi vektor query pencarian.
•
�
→(��)adalah reperentasi vektor dokumen i.
Dengan melihat pada persamaan 10 dan 11, dapat ditulis ulang menjadi:
cos�����,��� = ∑ ���.����
� �=1
�∑ ��2 (�
�).��2 (��) �
�=1
( 12 )
VSM akan mengurutkan dokumen berdasarkan nilai jarak kesamaan masing – masing dokumen dengan query pencarian. Semakin dekat jarak dokumen dengan query pencarian, posisi dokumen akan berada semakin atas.
2.9. Extended Boolean Model
Boolean model merupakan model IR sederhana yang berdasarkan atas teori himpunan dan aljabar. Boolean model merepresentasikan dokumen sebagai suatu himpunyan kata kunci (set of keywords). Query
(57)
direpresentasikan sebagai ekspresi boolean. Query dalam ekspresi boolean
merupakan kumpulan kata kunci yang saling dihubungkan melalui operator boolean seperti AND, OR, dan NOT serta menggunakan tanda kurung untuk menentukan scope operator. Hasil pencarian dokumen dari model boolean adalah himpunan dokumen yang relevan (Baetza - Yates dan Riberio – Neto, 1998). Karena sifatnya yang sederhana, boolean model saat ini masih dipergunakan oleh sistem IR modern, antara lain oleh www.google.com. Kekurangan model boolean diperbaiki oleh VSM dan
extended boolean model yang mampu menghasilkan dokumen – dokumen terurut berdasarkan kesesuaian query.
Extended boolean model merupakan lanjutan dari boolean model
dengan menggabungkan karakateristik dari vector space model dengan sifat – sifat aljabar boolean dan peringkat kesamaan antara query dan dokumen berdasarkan p-norm model (Salton, 1989). Cara ini dikatakan sebagai alternatif dari model klasik boolean model. Algoritma extended boolean model (EBM) pada dasarnya merupakan model pengembangan model vektor. Model vektor memberikan nilai kepada kata atau frasa yang terdapat pada dokumen indeks dimana kata tersebut mempunyai asosiasi dengan kata yang ada dalam user query (Baetza - Yates dan Riberio – Neto, 1998). Nilai ini disebut sebagai bobot dari kata atau frasa yang terdapat dalam dokumen. Bobot ini kemudian digunakan untuk membuat derajat kemiripan antara tiap dokumen yang disimpan dalam text database
(58)
Dalam EBM, bobot kata dalam dokumen harus dalam interval 0 sampai 1. Oleh karena itu bobot harus dinormalisasi (Salton, 1989). Perhitungan bobot dalam EBM dihitung menggunakan persamaan sebagai berikut:
�i,j =
���,� ��max �,� ×
����
���max � ( 13 )
Dimana:
• Wi,jmerupakan bobot kata i pada dokumen j.
• tfi,j merupakan frekuensi kata i pada dokumen j.
• tfmax i,j merupakan frekuensi maksimum kata i dalam dokumen j.
• idfi merupakan nilai idf dari kata i dalam koleksi.
• idfmax i merupakan nilai maksimum idf kata i dalam koleksi.
P-Norm model memberikan gagasan untuk memasukkan nilai p, yaitu nilai yang menunjukkan keketatan pada operator. Nilai p berkisar dari satu sampai tidak terhingga. Untuk P-Norm model ukuran kesamaan antara dokumen dan query didefinisikan sebagai berikut (Savoy, 1993):
�����,���(�)� =��1 �� �1 � + � 2 �� �2 � + …+ � � �� �� �1�+�1�+ …+ �1� �
1
�
( 14 )
�����,����(�)�= 1− ��1 �(1−�
�1)�+�2�(1−��2)�+ …+���(1−��)� �1�+�1�+ …+ �1� �
1
�
( 15 ) Dengan:
• Persamaan 13 merupakan persamaan untuk query OR.
• Persamaan 14 merupakan persamaan untuk query AND.
(59)
• dA, dBmerupakan bobot term A dan term B pada dokumen.
• 1 ≤ p ≤ ∞.
Perhitungan ukuran kesamaan dalam EBM menggunakan persamaan berikut (Savoy, 1993):
Tabel 2. 11 Tabel persamaan perhitungan ukuran kesamaan dalam EBM
Query Retrieval Status Value (RSV) A OR <p> B
����� + ����
�
�
A AND <p> B
1− �(1− ���)
� + (1− ���)�
�
�
NOT A 1 – Wia
Dimana :
• p adalah nilai p-norm yang dimasukkan pada query.
• Wia adalah bobot istilah A dalam indeks pada dokumen Di.
• Wib adalah bobot istilah B dalam indeks pada dokumen Di.
• n adalah jumlah kata yang dihubungkan menggunakan operator. Nilai P-Norm yang umum digunakan adalah 2. Pemberian peringkat dilakukan dengan cara mengurutkan nilai yang didapat dokumen dari perhitungan RSV (retrieval status value) pada tabel 2.11.
(60)
2.10. Probabilistic Model
Probabilistic model mencoba untuk menangkap masalah pada IR ke dalam kerangka probabilitas. Ide dasar dari model ini adalah, berdasarkan query dari pengguna terdapat kumpulan dokumen yang berisi sama dengan dokumen relevan dan ada yang tidak. Kumpulan dokumen relevan tersebut merupakan kumpulan hasil yang ideal (ideal answer set).
Jika di dalam prosesnya, kumpulan jawaban ideal ini diberikan, maka tidak akan ada kesulitan dalam melakukan proses IR (Baeza-Yates dan Ribeiro-Neto, 1999).
Probabilistic model yang mengasumsikan beberapa hal, yaitu: 1. Klasifikasi biner, yaitu “Ada dan tidak ada”, “Relevan dan
tidak relevan”. Sebagai contoh, suatu term dapat dikatan “ada” atau “tidak ada” dalam suatu dokumen. Dokumen juga dapat dikatakan “relevan” atau “tidak relevan” dengan query.
2. Kerelevansian suatu dokumen adalah independen, yaitu tidak tergantung dengen kerelevansian dokumen lain.
3. Term yang satu tidak memiliki kaitan (independent) dengan
term yang lain. Tetapi, van Rijsbergen menyatakan bahwa term
memiliki keterkaitan (dependent) dengan term yang lain. Rijsbergen memberikan suatu mekanisme untuk menghitung dependensi antar term yaitu dengan menggunakan pohon ketergantungan (Dependence Tree) (van Rijsbergen, 1979).
(61)
Walaupun demikian, perhitungan matematis akan jauh lebih mudah dilakukan jika term dipandang sebagai independent. 4. Term yang tersedia dalam koleksi dokumen tersebar secara
berbeda – beda di antara dokumen yang relevan dan tidak relevan. Asumsi ini dikenal sebagai Cluster Hypothesis, dan sudah dibuktikan oleh Rijsbergen dan Jones di tahun 1973.
Dapat disimpulkan pemrosesan query menjadi proses menentukan sifat – sifat kumpulan hasil yang ideal. Secara umum proses tersebut menjadi proses clustering. Permasalahan yang muncul adalah ketidak tahuan sifat – sifat dari hasil ideal tersebut, sedangkan yang diketahui hanyalah indeks yang digunakan untuk mengkarakterisasi sifat tersebut. Sifat yang tidak diketahui pada saat query diberikan membuat adanya perkiraan awal untuk menentukan hasil yang ideal.
Pada probabilistic model dokumen dapat dipresentasikan menjadi vektor biner berdasar relevan tidaknya suatu dokumen terhadap query. Secara matematis (van Rijsbergen, 1979):
��⃗= (d1, d 2, ...dj) ( 16 )
Dimana dj = 0 jika dokumen tidak relevan terhadap query, dan d1=1 jika
dokumen tersebut relevan terhadap query. Dengan demikian, term juga dapat dipresentasikan menjadi sebuah vektor biner dengan notasi ti.
ti = 0, jika term tidak berada pada dokumen ti = 1, jika term berada pada dokumen.
(62)
Perhitungan peringkat pada model ini dilakukan menggunakan persamaan pada probability ranking principle.
2.10.1.Probability Ranking Principle (PRP)
Probability Ranking Principle (PRP) merepresentasikan penilaian teoritis dari model probabilistik. Asumsi yang dipakai oleh PRP dalam memberikan ranking sebuah dokumen tidak adanya kaitan antara dokumen yang satu dengan dokumen yang lain. Tetapi, dengan mengingat karakteristik IR yang bersifat partial match dan relevant information, IR yang sempurna sulit dilakukan. PRP menyatakan bahwa sistem IR optimal tercapai ketika dokumen diurutkan menurun menurut angka kemungkinan relevansi, dimana angka kemungkinan relevansi dihitung dengan melibatkan semua data yang terlibat. Secara prinsip, Rijsbergen menyatakan PRP sebagai berikut: “Jika respon yang diberikan dari suatu sistem IR terhadap setiap query adalah ranking dari dokumen dalam urutan relevansi yang menurun, dimana kemungkinan telah diperhitungkan seakurat mungkin, maka secara umum efektifitas telah dicapai” (van Rijsbergen, 1979).
Perhitungan kemiripan dokumen dengan query dapat dihitung menggunakan persamaan sebagai berikut:
������,��= �
(�|�����⃗�)
(63)
Dimana:
• R merupakan kumpulan dokumen yang relevan terhadap queryq.
• �� merupakan kumpulan dokumen yang tidak relevan terhadap query q.
• �(�|����⃗�) merupakan probabilitas dimana dj relevan terhadap queryq.
• �(��|����⃗�) merupakan probabilitas dimana dj tidak relevan terhadap queryq.
Dengan mengaplikasikan teori Bayes pada persamaan perhitungan kemiripan pada model ini, maka persamaan perhitungan kemiripan dapat dituliskan menjadi:
������,��= �
(�����⃗�|�,�)×�(�,�) �(�����⃗�|��,�)×�(��,�)~
�(�����⃗�|�,�)
�(�����⃗�|��,�) ( 18 )
Dimana:
• �(����⃗�|�,�) merupakan probabilitas dari terpilihnya dokumen dj secara
acak dari kumpulan dokumen relevan R.
• �(�,�) merupakan probabilitas dari terpilihnya dokumen secara acak dari koleksi dokumen yang relevan terhadap queryq.
• ������⃗���� ,�� dan �(��,�) merupakan pembanding dan pelengkap.
Pada probabilistic model, bobot wi,j yang digunakan adalah biner,
yaitu hanya bernilai 1 dan 0. Dengan menggunakan bobot biner, maka persamaan perhitungan kemiripan dapat dirumuskan dalam bentuk lain menjadi:
(64)
������,�� ~
�∏��|� �,�=1�(��|�,�)�×�∏��|� �,�=0�(�̅�|�,�)� �∏��|� �,�=1�(��|��,�)�×�∏��|� �,�=0�(�̅�|��,�)�
( 19 )
Dimana:
• �(��|�,�) merupakan probabilitas term ti terdapat pada dokumen yang
terambil secara acak dari kumpulan dokumen relevan R.
• �(�̅�|�,�) merupakan probabilitas term ti tidak terdapat pada
dokumen yang terambil secara acak dari kumpulan dokumen relevan
R.
Berdasarkan pada teori peluang, maka �(�) + �(�̅) = 1 dapat diterapkan untuki menyederhanakan persamaan perhitungan kemiripan. Perumpamaan berikut dapat dipakai dalam penyederhanaan persamaan perhitungan kemiripan.
PiR = �(��|�,�), qiR =�(��|��,�),
�(��|�,�) + �(��|��,�) =1, �(��|��,�) + �(�̅�|��,�) =1 ( 20 ) Persamaan perhitungan kemiripan dapat dituliskan kembali menjadi:
������,��~
�∏��|� �,�=1����×�∏��|� �,�=0(1−���)� �∏��|� �,�=1����×�∏��|� �,�=0(1−���)�
( 21 ) Jika dirubah menjadi bentuk logaritma, persamaan diatas dapat dituliskan menjadi:
(65)
������,��~ log � ��� ��|��,�=1
+ log � (1− ���)
��|��,�=0
−
log∏��|��,�=1��� −log∏��|��,�=0(1− ���) ( 22 ) Persamaan tersebut merupakan fungsi untuk semua indek term
dan tidak bergantung pada dokumen dj. Persamaan ini menjadi sebuah
tetapan untuk query q yang diberikan dan dapat diabaikan untuk tujuan menghitung peringkat relevan. Dengan mengasumsikan ∀�� ∉ �,��� =
��� dan mengkonversi persamaan logaritma menjadi total logaritma,
maka persamaan perhitungan mengalami perubahan menjadi:
������,��~ Σti∈ q ⋀ti∈ dj log(
���
1−���) + log( ���
1−���) ( 23 )
Persamaan ini menjadi dasar untuk melakukan proses perhitungan peringkat pada probabilistic model. Dengan menghitung nilai balik relevansinya, dapat dibuat sebuah tabel kesimpulan (contingency table), yaitu:
Tabel 2. 12 Contingency Table (Baeza-Yates dan Ribeiro-Neto, 2011) relevan Tidak relevan Semua dokumen Dokumen yang mengandung ti ri ni - ri ni
Dokumen yang tidak mengandung ti
R -ri N - ni - (R -ri) N - ni
Semua dokumen R N – R N
Dimana,
• N merupakan total dokumen dari koleksi.
• nimerupakan jumlah dokumen yang mengandung ti.
(66)
• rimerupakan jumlah dokumen relevan yang mengandung ti.
Berdasarkan pada tabel kontingensi, untuk query q yang diberikan dan tersedianya informasi variabel pada tabel kontingensi, maka dapat dituliskan persamaan perhitungan untuk PiR dan qiR menjadi sebagai
berikut:
��� = ��� , ���= ��−��−�� ( 24 )
Persamaan untuk menghitung peringkat pada probabilistic model dapat dirubah menjadi persamaan lain yang sebangun. Persamaan tersebut dapat dituliskan menjadi:
������,��~ ∑ log��−���
� ×
�−��−�+ �� ��−�� � ��[�,��] ( 25 )
Dimana ����,��� merupakan penyederhanaan dari ti ∈ q ⋀ti ∈ dj.
Pada persamaan sebelumnya, perhitungan masih bergantung pada estimasi dokumen relevan dengan query q. Untuk menangani nilai ri yang
kecil, maka ditambahkan konstanta 0.5 untuk masing – masing istilah. Persamaan ini dianggap sebagai perhitungan peringkat yang klasik, dan persamaan ini dikenal sebagai persamaan Robertson-Sparck Jones. Untuk menghindari estimasi dari ri dan R, maka diasumsikan bahwa R = ri = 0,
maka persamaan akan menghasilkan idf seperti pada perhitungan peringkat. Dengan tidak adanya informasi tentang relevansi, maka persamaan berikut dapat dipakai untuk menghitung bobot sementara dalam
(67)
������,��~ ∑ log��−���+ 0.5 �+ 0.5 �
��[�,��] ( 26 )
Perhitungan menggunakan persamaan diatas memungkinkan untuk menghasilkan nilai negatif ketika ni > N/2. Sebagai contoh, akan
dilakukan perhitungan peringkat untuk query “to do” pada 4 dokumen d1, d2, d3, d4 yang dapat dilihat pada gambar 2.8 (Baeza-Yates dan
Ribeiro-Neto, 2011).
Gambar 2. 6 Contoh perhitungan peringkat menggunakan persamaan 26 Pada contoh dalam gambar 2. 7, perhitungan menghasilkan nilai negatif dikarenakan istilah “do” mempunyai nilai ni lebih besar dari nilai N/2. Untuk menghindari nilai negatif pada perhitungan, maka persamaan sebelumnya dapat dirubah menjadi:
������,��~ ∑��[�,��]log����+ 0.5+ 0.5� ( 27 )
Dengan menggunakan persamaan yang baru, istilah yang muncul dalam semua dokumen (ni = N) akan menghasilkan bobot bernilai 0.
Contoh pada gambar 2.7 akan dihitung kembali menggunakan persamaan 27 dengan dokumen dan query yang sama. Hasil perhitungan ini menunjukkan pengurutan berdasarkan bobot dokumen dan menghilangkan
(68)
nilai negatif. Perhitungan tersebut dapat dilihat pada gambar 2.8(Baeza-Yates dan Ribeiro-Neto, 2011).
Gambar 2. 7 Contoh perhitungan peringkat menggunakan persamaan 27 Perhitungan pada gambar 2.8 bernilai sama dengan persamaan menghitung idf suatu istilah, dengan menghitung log dari jumlah dokumen dibagi dengan jumlah isitilah yang terdapat pada dokumen relevan.
Persamaan 27 digunakan untuk menginisialisasi bobot. Setelah inisialisasi bobot tersebut, maka relevansi semantara tiap dokumen dapat diketahui. Dokumen yang dianggap relevan biasanya adalah dokumen yang nilainya melebihi angka tertentu, umumnya angka tersebut diisi dengan nilai 0,5 (Taufik Ramadhany,2008). Pengurutan dokumen kemudian dilakukan dengan memanfaatkan contigency table dan persamaan 25. Dokumen yang memliki bobot yang lebih besar akan ditempatkan pada urutan atas. Untuk dokumen yang memiliki bobot yang sama, akan diurutkan berdasarkan nilai idf (bobot sementara) dokumen, semakin tinggi nilai idf urutan dokumen akan semakin di atas.
(69)
2.11. Algoritma Evaluasi: Recall – Precission
Evaluasi dari sistem temu-kembali informasi dipengaruhi oleh dua parameter utama yaitu recall dan precision. Recall adalah rasio antara dokumen relevan yang berhasil di-retrieve dari seluruh dokumen relevan yang ada di dalam sistem. Precision adalah rasio dokumen relevan yang berhasil di-retrieve dari seluruh dokumen yang berhasil di-retrieve.
Recall = |relevant∩ retrieved| /|relevant|= P(retrieved | relevant) ( 28 )
Precision =|relevant∩ retrieved| / |retrieved|= P(relevant | retrieved) ( 29 ) Kejadian yang terbaik adalah jika nilai precision dan recall
bernilai 1 (satu). Dengan demikian, dapat diartikan sebagai sistem memperoleh kembali semua dokumen yang relevan tanpa menampilkan dokumen yang tidak relevan dalam hasil pencarian. (Lee D. L., 1997).
(70)
BAB III
ANALISIS DAN PERANCANGAN
Di dalam penelitian ini, pengembangan sistem IR hanya akan dibahas tahap pemodelan dan pembangunan perangkat lunak yang meliputi analisis, perancangan, pembuatan serta pengujian perangkat lunak. Pada bab ini akan dibahas adalah analisis serta perancangan mengenai sistem yang akan dibangun. Hal yang menyangkut implementasi akan dibahas pada bab selanjutnya.
3.1Deskripsi Kasus
Differential diagnose digunakan sebagai dasar penanganan pertama pada pasien, termasuk pemberian obat pada pasien. Selanjutnya petugas Poli Umum (PU) akan melakukan seleksi pada differential diagnose untuk membuat diagnose akhir. Keputusan diagnose akhir dapat secara langsung dibuat jika gejala umum suatu penyakit tertentu sebagian besar terdapat pada gejala pasien yang ditemukan. Aturan penentuan secara langsung dengan dasar persentase gejala yang ditemukan berjumlah diatas 80% dari gejala umum sebuah penyakit tertentu (DEPKES RI, 2007).
(71)
Kesalahan diagnose yang mungkin terjadi adalah ketika pada tahap differential diagnose penyakit yang seharusnya diderita pasien tidak diketemukan tetapi petugas PU sudah mengeluarkan diagnose. Dalam hal ini petugas PU melakukan kelalaian dalam melakukan diagnose. Hal tersebut dapat berdampak fatal pada penanganan pasien, karena dapat dipastikan petugas PU sudah memberikan obat yang spesifik untuk penyakit tertentu.
Selama ini penanganan pasien penderita penyakit paru – paru di Puskesmas Jebed dilakukan dengan pengamatan secara langsung pada pasien. Pasien datang ke puskesmas untuk melakukan pemeriksaan. Petugas PU melakukan pengamatan serta mengajukan pertanyaan tentang gejala yang dialami pasien secara langsung. Dari hasil pengamatan, petugas PU melakukan differential diagnose. Differential diagnose
tersebut menghasilkan kemungkinan penyakit yang diderita pasien. Hasil dari differential diagnose dapat berisi sejumlah penyakit. Banyaknya jumlah penyakit yang muncul berdasar pada variasi gejala yang didapat dari hasil pengamatan. Pemeriksaan ini berdasarkan pada pedoman pelayanan puskesmas yang mencangkup gejala umum penyakit, jenis penyakit, obat yang harus diberikan, serta informasi terkait. Gejala umum penyakit, dalam kasus ini khususnya penyakit paru – paru, mempunyai gejala yang hampir mirip satu dengan yang lainnya. Jumlah gejala umum yang terdapat pada pedoman tidak terlalu banyak, karena sudah merupakan hasil kesimpulan dari pengamatan – pengamatan yang dilakukan pihak
(1)
(2)
(3)
(4)
Lampiran 13 Source Code Program Terlampir pada CD
(5)
ABSTRAKSI
Differential diagnose adalah penentuan dua atau lebih penyakit atau kondisi yang diderita pasien dengan membandingkan dan mengontraskan secara sistematis hasil – hasil tindakan diagnostik. Petugas pelayanan kesehatan, dengan berdasarkan pada pengamatan gejala pasien, akan menemukan sejumlah penyakit yang mungkin terjadi. Hal ini tidak menutup kemungkinan adanya kesalahan
differential diagnose penyakit pasien. Masalah tersebut kemudian akan diselesaikan menggunakan sebuah solusi dengan membuat sebuah aplikasi yang mampu memberi urutan penyakit yang mungkin menjadi differential diagnose.
Dengan berdasar pada gejala – gejala umum yang ada dalam pedoman yang telah dijadikan menjadi dokumen pendek, differential diagnose dihitung menggunakan 3 (tiga) algoritma information retrieval, yakni extended boolean model, vector space model, dan probabilistic model. Sistem akan diuji oleh 4 orang dokter, dengan mengisi kuesioner yang berisi gejala umum pasien dan membandingkannya dengan hasil sistem. Hasil dari sistem kemudian dihitung menggunakan algoritma recall – precision.
EBM mempunyai unjuk kerja paling tinggi diantara ketiga model dengan rerata penurunan terhadap titik optimal sebesar 0,32473871. Rerata penurunan terhadap titik optimal VSM adalah 0,3031798. PM mempunyai rerata penurunan terhadap titik optimal sebesar 0,3676046. Algoritma EBM merupakan algoritma terbaik yang dapat diterpakan pada sistem yang mampu memberikan akurasi sebesar 81%.
(6)
ABSTRACT
Differential diagnose is the determination of two or more diseases or conditions suffered by patients, with comparing and contrasting the results of diagnostic measures in systematic way. A doctor, based on the observations of the patient's symptoms, will make a differential diagnosis. There is a possibility of a wrong differential diagnosis. Based on that problem, will be solved by creating an application that is able to provide feedback to the user the sequence of diseases that may be included in the differential diagnosis.
Based on general symptoms that written in the guidelines, thats will be present as a short document. Few of short documents, will be use as a collections. Differential diagnosis will be calculated using three (3) information retrieval algorithms, the extended Boolean models, the vector space models, and the probabilistic models. We can define a short document is a document with number of maximal term is 30. The system will be tested by 4 doctors. Testing method is by filling out a questionnaire and then compared with the results of the system. After that, the results will be calculated using recall – precision algorithm.
EBM has the highest performance among the three models, with a mean decrease from the optimal point is a 0,2473871. The mean decrease from the optimal point of VSM is a 0,3031798. PM has the lowest performance, with a mean decrease from the optimal point is a 0,3676046. Extended Boolean Models is the best algorithm that will be used in system and able to provide an accuracy at 81%.