Implementasi question answering system Bahasa Indonesia berbasis mobile domain farmasi obat-obatan

BIODATA PENULIS

  NAMA : Adi Muhammad Nura N NIM : 10109924 Tempat/tgl lahir : Garut, 17 Januari 1987 Jenis kelamin : Pria Alamat : Jl. Titiran no.27 Bandung Agama : Islam Email

RIWAYAT PENDIDIKAN

  1993

  SD Negeri 1 Malangbong, Garut 1999

  • – 1999

  SLTP Negeri 1 Malangbong, Garut 2002

  • – 2002

  SMF Bumi Siliwangi, Bandung 2009

  • – 2005

  Universitas Komputer Indonesia Program Studi S1 Teknik Informatika

  • – 2014

  

IMPLEMENTASI QUESTION ANSWERING SYSTEM

BAHASA INDONESIA BERBASIS MOBILE DOMAIN

FARMASI OBAT-OBATAN

  

SKRIPSI

  Diajukan untuk Menempuh Ujian Akhir Sarjana

  

ADI MUHAMMAD NURA

10109924

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

  

2014

KATA PENGANTAR

  Puji dan syukur penulis panjatkan kehadirat Allah SWT atas limpahan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul “Implementasi Question Answering System Bahasa Indonesia Berbasis Mobile Domain Farmasi Obat-Obatan

  ” untuk memenuhi salah satu syarat kelulusan program studi Strata I program studi Teknik Informatika. Penyusunan skripsi ini tidak akan terwujud tanpa mendapat dukungan, bantuan dan masukan dari berbagai pihak. Untuk itu, penulis ingin mengucapkan terimakasih yang sebesar-besarnya kepada: 1.

  Dr. Ir. Eddy Soeryanto Soegoto, M.Sc selaku Rektor Universitas Komputer Indonesia (UNIKOM).

  2. Prof. Dr. Ir. Denny Kurniadie, M.Sc selaku Dekan Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia (UNIKOM).

  3. Bapak Irawan Afrianto, S.T., M.T. selaku Ketua Program Studi Teknik Informatika Universitas Komputer Indonesia (UNIKOM).

  4. Bapak Alif Finandhita S.Kom selaku dosen wali IF17K.

  5. Bapak Edi Mulyana, M.T. selaku pembimbing yang telah memberikan arahan dan bimbingannya.

  6. Bapak Galih Hermawan, S.Kom., M.T., selaku reviewer.

  7. Kedua orang tua serta kakak-kakak yang selalu mendukung saya secara materil dan moril.

  8. Kepada Nisa nurul inayah yang selalu ada dan mendukung, juga teman- teman seperjuangan seperti Nurul, Eka, Desy, Angga, Asep, Andri, Chandra dan semua teman-teman IF-17K/2009 yang selalu memberikan dukungan, semangat dan motivasi dalam pengerjaan tugas akhir ini.

  9. Dan seluruh teman-teman yang tidak dapat disebutkan satu persatu, terimakasih telah memberikan segala bentuk bantuan untuk menyelesaikan

  Penulis menyadari bahwa penulisan skripsi ini masih jauh dari sempurna. Untuk perbaikan dan pengembangan, penulis mengharapkan saran dan kritik yang bersifat membangun.

  Akhir kata, semoga apa yang disampaikan dapat bermanfaat bagi penulis khususnya dan semua yang berkepentingan pada umumnya.

  Bandung, 22 Februari 2014 Penulis

  DAFTAR ISI

  ABSTRAK ........................................................................................................... i ABSTRACT ........................................................................................................ ii KATA PENGANTAR ....................................................................................... iii DAFTAR ISI ....................................................................................................... v DAFTAR GAMBAR ......................................................................................... xi DAFTAR TABEL ............................................................................................ xiv DAFTAR SIMBOL .......................................................................................... xvi DAFTAR LAMPIRAN ..................................................................................... xx

  BAB 1 PENDAHULUAN .................................................................................. 1

  1.1. Latar Belakang Masalah ....................................................................... 1

  1.2. Identifikasi Masalah ............................................................................. 2

  1.3. Maksud dan Tujuan .............................................................................. 3

  1.4. Batasan Masalah ................................................................................... 3

  1.5. Metode Penelitian ................................................................................. 4

  1.5.1. Teknik pengumpulan data .................................................................... 4

  1.5.2. Model pembuatan perangkat lunak ...................................................... 5

  1.6. Sistematika Penulisan ........................................................................... 6

  BAB 2 TINJAUAN PUSTAKA ......................................................................... 9

  2.1. Closed Domain Question Answering System ...................................... 9

  2.2. Skema Question Answering ............................................................... 11

  2.3. Pendekatan Dan Metode Dalam Question Answering........................ 11

  2.3.1. Komponen Question Analyzer ............................................................ 12

  2.3.3. Komponen Answer Finder ................................................................. 16

  2.4. Unified Modeling Language (UML) .................................................. 19

  2.4.1 Diagram UML .................................................................................... 20

  2.4.1.1 Use Case Diagram .............................................................................. 22

  2.4.1.2 Class Diagram .................................................................................... 23

  2.4.1.3 Sequence Diagram .............................................................................. 23

  2.4.1.4 Activity Diagram ................................................................................ 25

  2.5 Mobile Android .................................................................................. 26

  2.5.1 Arsitektur Pada Android ..................................................................... 30

  2.5.1.1 Linux kernel........................................................................................ 31

  2.5.1.2 Libraries .............................................................................................. 32

  2.5.1.3 Android Runtime ................................................................................ 33

  2.5.1.4 Framework Aplikasi ........................................................................... 33

  2.5.1.5 Applications ........................................................................................ 34

  2.5.2 XML pada Android ............................................................................ 34

  2.6 Java ..................................................................................................... 35

  2.7 Database (Basis data) ......................................................................... 36

  2.7.1 Entity Relationship Diagram (ERD) .................................................. 37

  2.8 Object Oriented Programming (OOP) ................................................ 37

  2.8.1 Konsep Objek ..................................................................................... 38

  2.8.2 Konsep Kelas ...................................................................................... 38

  2.8.3 Kelas Konstruktor ............................................................................... 38

  2.8.4 Enkapsulasi ......................................................................................... 38

  2.8.5 Pewarisan ............................................................................................ 39

  2.9 Tools Pendukung Pembuatan Aplikasi Android ................................ 40

  2.9.1 Java Development Kit (JDK) ............................................................. 40

  2.9.2 Software Development Kit (SDK) ..................................................... 40

  2.9.3 Eclipse ................................................................................................ 41

  2.9.4 Android Development Tools (ADT) .................................................. 41

  BAB 3 ANALISIS DAN PERANCANGAN SISTEM .................................... 43

  3.1 Analisis Masalah ................................................................................ 43

  3.1.1 Analisis Masalah Pada Question Answering System ......................... 43

  3.1.1.1 Analisis Pada Komponen Question Analyzer ..................................... 46

  3.1.1.1.1 Penentuan Tipe Pertanyaan / Question Type...................................... 46

  3.1.1.1.2 Pemilihan Kata Kunci Dan Penentuan Topik Pertanyaan .................. 50

  3.1.1.1.3 Analisis Solusi Untuk Komponen Question Analyzer ....................... 50

  3.1.1.2 Analisis pada komponen answer finder .............................................. 53

  3.1.1.2.1 Penentuan Corpus ............................................................................... 53

  3.1.1.2.2 Pencarian Dan Pengembalian Jawaban Dari Corpus.......................... 54

  3.1.1.2.3 Analisis Solusi Untuk Komponen Answer Finder ............................. 55

  3.2 Penelitian Dan Kajian Terkait. ........................................................... 56

  3.2.1 Pendekatan Machine Learning Untuk Question Answering Dalam Bahasa Indonesia ................................................................................ 56

  3.2.2. Question Answering System Dan Penerapannya Pada Alkitab ......... 58

  3.2.3. Eksperimen non-factoid question answering pada NTCIR-6: menuju answer type detection untuk real world questions .............................. 61

  3.3. Analisis Sistem ................................................................................... 64

  3.3.1. Deskripsi Umum Sistem ..................................................................... 64

  3.3.3. Deskripsi proses.................................................................................. 66

  3.3.4. Deskripsi keluaran .............................................................................. 67

  3.3.5. Analisis Sumber Data Farmasi Obat-Obatan ..................................... 67

  3.3.6. Analisis Data Untuk Database/Corpus .............................................. 68

  3.3.6.1. Analisis basis data .............................................................................. 68

  3.4. Analisis Kebutuhan Non Fungsional .................................................. 69

  3.4.1. Analisis Kebutuhan Perangkat Lunak ................................................ 70

  3.4.2. Analisis Kebutuhan Perangkat Keras ................................................. 70

  3.4.3. Analisis Pengguna (user) .................................................................... 70

  3.5. Analisis Kebutuhan Fungsional .......................................................... 71

  3.5.1. SKPL (Spesifikasi Kebutuhan Perangkat Lunak) .............................. 72

  3.5.2. Use Case Diagram .............................................................................. 73

  3.5.2.1. Use Case Diagram .............................................................................. 73

  3.5.2.2. Use Case Scenario .............................................................................. 74

  3.5.2.3. Activity Diagram ................................................................................ 78

  3.5.3. Class Diagram .................................................................................... 82

  3.5.4. Sequence Diagram .............................................................................. 83

  3.5.4.1. Sequence Diagram About ................................................................... 83

  3.5.4.2. Sequence Diagram Home ................................................................... 83

  3.5.4.3. Sequence diagram memasukan pertanyaan ........................................ 84

  3.5.4.4. Sequence Diagram Question Analyzer ............................................... 84

  3.5.4.5. Sequence Diagram Answer Finder ..................................................... 85

  3.6. Perancangan Sistem ............................................................................ 85

  3.6.1 Perancangan Database ........................................................................ 85

  3.6.1.2 Struktur Tabel ..................................................................................... 86

  3.6.2 Perancangan Antarmuka ..................................................................... 88

  3.6.2.1 Perancangan Antarmuka Halaman Utama.......................................... 88

  3.6.2.2 Perancangan Antarmuka Hasil Jawaban ............................................ 89

  3.6.2.3 Perancangan Antarmuka halaman About ........................................... 90

  3.6.2.4 Perancangan Pesan aplikasi ................................................................ 90

  3.6.3 Jaringan Semantik .............................................................................. 91

  3.6.4 Perancangan Method .......................................................................... 91

  BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ................................. 93

  4.1. Implementasi ....................................................................................... 93

  4.1.1. Implementasi Perangkat Keras ........................................................... 93

  4.1.2. Implementasi Perangkat Lunak........................................................... 93

  4.1.3. Implementasi Basis Data..................................................................... 93

  4.1.4 Implementasi Antarmuka .................................................................... 95

  4.2 Pengujian............................................................................................. 96

  4.2.1 Rencana Pengujian .............................................................................. 96

  4.2.2 Skenario pengujian Blackbox .............................................................. 97

  4.2.2 Kasus dan Hasil Pengujian.................................................................. 97

  4.2.2.1 Pengujian Aplikasi question answering berbasis mobile Android ..... 97

  4.2.3 Kesimpulan hasil pengujian Blackbox ................................................ 98

  4.2.4 Pengujian akurasi jawaban dari aplikasi question answering ............. 98

  4.2.5 Kesimpulan akurasi jawaban yang dikembalikan oleh aplikasi ....... 102

  4.2.6 Kasus dan Hasil Pengujian Beta ....................................................... 103

  4.2.7 Kesimpulan Hasil Pengujian Beta .................................................... 104

  5.1 Kesimpulan ....................................................................................... 111

  5.2 Saran ................................................................................................. 111 DAFTAR PUSTAKA ..................................................................................... 113

DAFTAR PUSTAKA

  [1] Tiedemann, J. Information Retrieval, Information Extraction, Question

  Answering : Overview of Methods for Information Access. Department of Linguistic and Phililigy Uppsala University. 2010

  [2] Toto, S.N., Nanang G., Metode Penelitian Kuantitatif. Jakarta:Pustaka setia, 2012.

  [3] Pressman. Roger S, software Engineering – A practitioner’s Approach (7th Edition), McGraw-Hill Higher Education, 2010.

  [4] Kangavari, M.R., Ghandchi, S., Golpour, M. Information Retrieval :

  Improving Question Answering Systems by Query Reformulation and Answer Validation. World Academy of Science, Engineering and

  Technology. 2008. [5]

  Prabawa, W. Tugas Akhir: Studi Dan Implementasi List Question

  Answering System Untuk Bahasa Indonesia. Bandung: Program Studi

  Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung. 2011. [6]

  Harabagiu, S. M., Maiorano, S. J., & Pasca, M. A. Experiments With Open-

  Domain Textual Question Answering. Dallas: Department of Computer Science and Engineering, Southern Methodist University. 2000.

  [7] Fukumoto, J. Question Answering System for Non-factoid Type Question and Automatic Evaluation based on BE Method. Proceedings of NTCIR-6

  Workshop Meeting. Tokyo, Japan. 2007. [8]

  Zulen, A. A. Tugas Akhir : Studi dan Implementasi Pendekatan

  Monolingual pada question Answering Bahasa Indonesia untuk tipe pertanyaan Factoid dan Non-Factoid. Bandung: Program Studi Teknik

  Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung. 2011.

  [9] Zhang, G., Zhang, W., Bai, Y., Kang, S., & Wang, P. An Open-Domain

  Question Answering System for NTCIR-8 C-C Task. Proceedings of NTCIR-8 Workshop Meeting. Tokyo, Japan. 2010. [10]

  Purwarianti, A., Tsuchiya, M., & Nakagawa, S. A Machine Learning Approach for Indonesian Question Answering System. Proceeding of the

  IASTED International Conference on Artificial Intelligence and Its Application (AIA 2007). Innsbruck, Austria. 2007.

  [11] Harabagiu, S. M., Maiorano, S. J., & Pasca, M. A. Open-Domain Textual Question Answering Techniques. Natural Language Engineering, volume 9.

  2001. [12]

  Larasati, S. D., & Manurung, R. Towards a Semantic Analysis of Bahasa Indonesia for Question Answering. Proceedings of the 10th Conference of

  the Pacific Association for Computational Linguistics. Melbourne, Australia. 2007.

  [13] Mahendra, R., Larasati, S. D., & Manurung, R. Extending an Indonesian

  Semantic Analysis-based Question Answering System with Linguistic and World Knowledge Axioms. Proceedings of 22nd Pacific Asia Conference

on Language, Information, and Computation. Cebu, Philippines. 2008.

  [14] Salton, G., Wong, A., & Yang, C. S. A Vector Space Model for Automatic Indexing. 1975.

  [15] Mizuno, J., Akiba, T., Fuuji, A., & Itou, K. Non-Factoid Question

  Answering Experiments at NTCIR-6: Towards Answer Type Detection for Real World Questions. Proceedings of NTCIR-6 Workshop Meeting. Tokyo, Japan. 2007.

  [16] Watson, I., & Marir, F. Case-Based Reasoning : A review. The Knowledge Engineering Review, 327-254. 1994.

  [17] Dharwiyanti, Sri dan Wahono, Satria , Pengantar Unified Modelling Language (UML) 2003.

  [18] N. S. H, Android Pemrograman Aplikasi Mobile Smatphone dan Tablet PC

  [19] B. Hermawan, Menguasai Java 2, Yogyakarta: Andi, 2004. [20] H. Kristanto, Konsep dan Perancangan Database, Yogyakarta: Andi, 2004. [21]

A. Kadir, Dasar Perancangan dan Implementasi Database Relasional, Yogyakarta: Andi, 2009.

  [22] Suarga, Dasar Pemrograman Komputer dalam Bahasa Java, Yogyakarta: Andi, 2012.

  [23] A. Kadir, Pengenalan Sistem Informasi, Yogyakarta: Andi, 2002. [24]

  Wicaksono, A. F., & Purwarianti, A. HMM-Based Part-Of-Speech Tagger for Bahasa Indonesia. Proceeding of the Fourth International MALINDO

  Workshop (MALINDO2010). Jakarta: Indonesia. 2006.

  [25] Adriani, M., J., Nazief, B., Tabaghoghi, S., & Williams, H. E. Stemming

  Indonesian: A confix-stripping approach. ACM Transactions on Asian Language Information Processing (TALIP), 1-33. 2007. [26]

  Gunawan & Gita, L. Question Answering System Dan Penerapannya Pada Alkitab. Jurnal informatika vol.7. Surabaya. 2006. [27]

  Martono W, dkk. ISO Indonesia vol 41. Jakarta: PT.Anem kosong anem, 2006.

BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah Pengetahuan farmasi khususnya obat-obatan yang digunakan untuk

  menyembuhkan orang sakit saat ini menjadi satu kebutuhan tersendiri untuk masyarakat yang ingin tahu lebih tentang obat yang digunakannya agar tidak salah informasi. Tidak sedikit orang yang harus mendatangi apotek atau klinik terlebih dahulu hanya untuk menanyakan tentang suatu obat baik itu indikasi ataupun dosisnya juga tentang istilah-istilah farmasi atau kedokteran. Ada juga yang harus pergi ke toko buku atau perpustakaan hanya untuk mencari informasi tentang obat yang dimaksud. Pada era media internet saat ini pun, banyak yang mencoba mencarinya di mesin pencari seperti Google dan tidak jarang hanya menemukan jawaban dalam bahasa inggris dan istilah-istilah farmasi atau kedokteran yang tidak dimengerti. Lalu, dengan terlalu banyaknya informasi di internet menyebabkan user harus memilih dan mencari lagi tentang informasi yang sesuai dengan kebutuhannya. Selain itu juga, referensi yang tepat guna dan lengkap tentang obat untuk masyarakat Indonesia di internet masih terhitung sedikit.

  Internet telah berkembang menjadi salah satu media elektronik yang menyediakan informasi yang luas mengenai segala bidang kehidupan. Oleh karena ketersediaan informasi yang memadai dan cara akses yang begitu mudah, sebagian besar masyarakat di dunia kerap kali memanfaatkan internet untuk memenuhi kebutuhan informasinya terutama akses internet di smartphone karena sifatnya yang mobile atau mudah dibawa kemana-mana dan memang kebanyakan orang sekarang sudah tidak bisa dipisahkan lagi dengan perangkat bergeraknya.

  Namun, timbul masalah yang disebabkan oleh terlalu banyaknya informasi yang terdapat di internet yaitu sulitnya menemukan informasi yang tepat

  2 dimana belum tentu seluruhnya diperlukan pengguna, hal ini tentu tidak efisien baik dari segi waktu maupun dari segi keakuratan jawaban yang diinginkan. Maka dari itu berkembanglah teknologi question answering system (QAS). QA system adalah sebuah sistem komputer yang dapat menjawab pertanyaan yang diajukan dalam bahasa alami (natural language) dengan memanfaatkan berbagai teknik pemrosesan bahasa alami (natural language processing) yang dapat memberikan jawaban spesifik dan jelas sesuai dengan apa yang diperlukan oleh user[1].

  Adapun satu aplikasi berbasis mobile Android yang penulis temukan di Android market atau Google Play yang bisa menjadi salah satu referensi informasi obat-obatan dan berbahasa Indonesia. Aplikasi tersebut merupakan aplikasi kamus yang diambil dari buku ISO yang bernama ISO medicine. ISO

  

medicine mempunyai data yang cukup lengkap tentang obat-obatan yang beredar

  di Indonesia dan bisa menjadi salah satu referensi aplikasi mobile tentang obat- obatan di Indonesia. Secara fungsional, ISO medicine cukup bisa memberikan informasi yang penggunanya perlukan namun ISO medicine memiliki terlalu banyak menu atau pilihan untuk mendapatkan informasi yang diinginkan dan masih terlihat kurang menarik baik secara tampilan maupun fiturnya.

  Berdasarkan kondisi di atas, maka diperlukan suatu aplikasi berbasis mobile yang bisa memberikan informasi farmasi khususnya obat-obatan yang mudah, cepat, tepat guna, menarik, dan bisa dilakukan dimana saja serta berbahasa Indonesia agar mudah dimengerti oleh masyarakat Indonesia.

1.2. Identifikasi Masalah

  Berdasarkan latar belakang masalah diatas, maka permasalahan yang diangkat dalam tulisan ini adalah:

  1. Masih jarang adanya referensi lengkap tentang kefarmasian khususnya obat- obatan dalam bahasa Indonesia di Internet ataupun aplikasi mobile.

  2. Terlalu banyaknya informasi di internet pada search engine membutuhkan

  3 kebutuhan. Hal ini tentu menjadi tidak efisien baik dari segi waktu maupun dari segi keakuratan jawaban yang diinginkan.

3. Masih jarang tersedia aplikasi berbasis mobile android yang berbahasa

  Indonesia dan khusus memberikan informasi tentang obat-obatan yang beredar di Indonesia dan yang bisa dengan spesifik memberikan jawaban atau informasi yang tepat diperlukan oleh user dan mudah digunakan.

  1.3. Maksud dan Tujuan

  Berdasarkan permasalahan yang diteliti, maka maksud dari penelitian tugas akhir ini adalah untuk mengimplementasikan Question Answering System pada mobile android dengan domain kefarmasian obat-obatan.

  Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah: 1. Untuk menyediakan referensi lengkap tentang kefarmasian khususnya obat- obatan pada perangkat mobile dan berbahasa Indonesia.

  2. Untuk membuat suatu sistem pencarian dengan pengembalian jawaban lebih spesifik yg bisa memberikan informasi yang sesuai pertanyaan user dan sesuai apa yang dibutuhkan.

  3. Menyediakan aplikasi berbasis mobile android dan berbahasa Indonesia yang mengimplementasikan question answering system dan memberikan informasi obat-obatan kepada masyarakat di Indonesia.

  1.4. Batasan Masalah

  Batasan masalah dari tugas akhir ini adalah: 1. Tipe masukan pertanyaan dalam bahasa Indonesia yang jelas dan berupa teks.

  2. Informasi obat-obatan atau perkiraan jawaban yang diberikan terbatas pada nama dagang, kandungan zat aktifnya, indikasi atau kegunaan, dosis, efek samping, harga nett, bentuk kemasan, penggolongan obat serta nama pabrik

  4

  3. Menggunakan metode Matching Pattern dalam sistem question answering ini.

  4. Dilihat dari jawaban yang dikembalikan, QA system yang digunakan hanya mengembalikan jenis jawaban factoid dan non factoid.

  5. Keluaran dari aplikasi ini berupa teks.

1.5. Metode Penelitian

  Metodologi yang digunakan dalam penelitian tugas akhir ini adalah metode analisis deskriptif, yaitu metode penelitian yang dimaksudkan untuk mengumpulkan informasi mengenai status suatu gejala yang ada, yaitu keadaan gejala menurut apa adanya pada saat penelitian dilakukan[2].

1.5.1. Teknik pengumpulan data

  Teknik pengumpulan data dilakukan untuk memperoleh hasil penelitian yang valid. Teknik pengumpulan data yang dilakukan adalah sebagai berikut.

  a.

  Studi lapangan 1.

  Wawancara Teknik pengumpulan data dengan mengadakan tanya jawab secara langsung yang ada kaitannya dengan kebutuhan informasi tentang farmasi khususnya obat-obatan yang mudah didapat di masyarakat pada umumnya.

2. Observasi

  Observasi adalah teknik pengumpulan data dengan cara melibatkan pewawancara (observer) dalam kegiatan objek yang diobservasi, dalam hal ini melakukan pengamatan terhadap sistem question answering yang telah ada b.

  Kajian Pengetahuan / Studi Literatur Tahap pengumpulan informasi seperti jurnal, paper, literatur dan bacaan-

  5

1.5.2. Model pembuatan perangkat lunak

  Tahapan dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall karena menghasilkan sistem yang terstruktur dengan baik ditiap prosesnya. Adapun proses-proses yang terdapat dalam model

  waterfall dapat dilihat pada gambar 1.1 berikut:

Gambar 1.1 waterfall [3]

  Adapun penjelasan dari gambar 1.1 mengenai tahap-tahap pembangunan perangkat lunak yang digunakan diantaranya adalah sebagai berikut:

1. Requirements definition

  Merupakan tahap pengumpulan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk menghasilkan desain yang lengkap.

  6

  2. System and software design

  Merupakan tahap desain yang dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.

  3. Implementation and unit testing

  Merupakan tahap desain program yang diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun lansung diuji secara unit.

  4. Integration and system testing

  Merupakan tahap penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).

  5. Operation and maintenance

  Merupakan tahap mengoperasikan program di lingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.

1.6. Sistematika Penulisan

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

  BAB I PENDAHULUAN Berisi latar belakang masalah, identifikasi masalah, maksud dan tujuan yang ingin dicapai, batasan masalah, metodologi penelitian yang diterapkan dalam memperoleh dan mengumpulkan data serta sistematika penulisan.

  7

  BAB II LANDASAN TEORI Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan.

  BAB III ANALISIS MASALAH DAN PERANCANGAN Berisi analisis kebutuhan untuk sistem yang akan dibangun sesuai dengan metode pengembangan metode perangkat lunak yang digunakan. Sedangkan perancangan sistem berupa tahapan-tahapan yang dilakukan dalam perancangan struktur antar muka untuk aplikasi yang akan dibangun.

  BAB IV IMPLEMENTASI DAN PENGUJIAN Berisi hasil implementasi analisis dari perancangan sistem yang dilakukan, serta hasil pengujian sistem untuk mengtahui apakah aplikasi yang dibangun sudah memenuhi kebutuhan.

  BAB V KESIMPULAN DAN SARAN Berisi kesimpulan dari implementasi dan uji coba yang dilakukan. Selain itu juga berisi saran yang diharapkan dapat menjadi masukan untuk pengembangan aplikasi dimasa yang akan datang.

  8

BAB 2 TINJAUAN PUSTAKA

2.1. Closed Domain Question Answering System

  Closed Domain Question Answering System merupakan sistem pemrosesan

  teks yang digunakan untuk menjawab pertanyaan dengan format bahasa sehari- hari yang diberikan oleh pengguna dari sistem. Question Answering System kemudian mengekstraksi jawaban dari koleksi dokumen yang terbatas[4].

  Bila dilihat dari jenis pertanyaan yang diberikan dan jawaban yang dikembalikan, QAS dapat dibagi menjadi lima jenis [5], yaitu:

  1. Factoid, pertanyaan dengan jawaban berupa sebuah fakta singkat yang biasanya terdiri dari beberapa kata saja.

  Contoh: pertanyaan : “siapakah presiden pertama Republik Indonesia?” Jawaban: “Soekarno” 2.

   Non factoid, pertanyaan dengan jawaban fakta yang cukup panjang yang biasanya terdiri dari satu klausa atau lebih.

  3. Definition, pertanyaan yang menanyakan definisi dari sesuatu.

  Contoh: pertanyaan : “apakah ular itu?” Jawaban : “ular adalah reptil yang tak berkaki dan bertubuh panjang”

  4. How, pertanyaan yang menanyakan cara.

  10 Jawaban : “cara menggunakan sedotan adalah dengan memasukan sedotan ke air, kemudian hisap dari ujung lubangnya

  ” 5.

   Why, pertanyaan mengenai penyebab.

  Contoh: pertanyaan : “mengapa indonesia miskin?” Jawaban : “banyak pejabat yang koruptor” 6.

   Hypothetical, pertanyaan hipotesis yaitu penjelasan yang belum bisa dibuktikan.

  Contoh: pertanyaan: “bila seluruh hutan habis menjadi pemukiman manusia, apa yang akan terjadi?” Jawaban: “aneka ragam flora dan fauna yang berhabitat di hutan tersebut akan punah”

7. List, pertanyaan dengan jawaban berupa daftar atau beberapa jawaban lebih dari satu.

  Contoh: pertanyaan : “apa saja tim yang memenangkan liga champion 3 tahun terakhir?” Jawaban : “Barcelona, inter milan, Bayern Muenchen” 8.

   Yes / No, pertanyaan yang jawabannya terdiri dari dua jawaban “ya” atau “tidak”.

  Contoh: pertanyaan : “apakah Soeharto adalah presiden ke 2 Republik Indonesia?”

  Jawaban : “ya” 9.

   Opinion, pertanyaan yang mengharapkan jawaban berupa pendapat.

  11 Jawaban : “menurut beberapa orang, mengerjakan skripsi itu sangat susah karena banyak yang tidak lulus karena belum sanggup mengerjakannya”

2.2. Skema Question Answering

  Pada umumnya sistem QA terdiri atas tiga komponen utama[6], yaitu question analyzer, passage retriever, dan answer finder.

  1. Question analyzer

  Komponen ini berfungsi untuk menentukan beberapa informasi yang dapat diperoleh dari kalimat pertanyaan masukan, antara lain: tipe jawaban yang diharapkan / EAT (Expected answer type) dan kata-kata kunci. Kata-kata kunci yang dihasilkan oleh komponen ini selanjutnya akan digunakan oleh komponen passage retriever untuk mengambil dokumen-dokumen yang diperkirakan mengandung jawaban dari pertanyaan.

  2. Passage retriever

  Komponen ini berfungsi untuk menemukan / mengambil dokumen- dokumen (atau bagian dari dokumen) yang kemungkinan mengandung jawaban dari pertanyaan yang diberikan berdasarkan kata kunci yang dihasilkan oleh komponen question analyzer. Komponen ini menggunakan metode information retrieval (IR) untuk mengambil dokumen-dokumen tersebut.

  3. Answer finder

  Komponen ini berfungsi untuk menentukan kandidat-kandidat jawaban yang diperoleh dari dokumen-dokumen yang telah ditemukan sebelumnya oleh komponen passage retriever. Biasanya jawaban ditentukan dengan mencocokkan kandidat jawaban dengan EAT yang diperoleh sebelumnya oleh komponen question analyzer.

  12

2.3. Pendekatan Dan Metode Dalam Question Answering

  Pendekatan dan metode yang dibahas dalam subbab ini difokuskan pada pendekatan yang digunakan untuk QA yang dapat menangani pertanyaan terstruktur. Pembahasan mengenai pendekatan dan metode dalam QA ini akan dibagi menjadi tiga bagian sesuai dengan komponen yang ada pada sistem QA yaitu question analyzer, passage retriever, dan answer finder.

2.3.1 Komponen Question Analyzer

  Komponen ini berfungsi untuk mengklasifikasikan jenis pertanyaan dan menentukan informasi-informasi yang dibutuhkan dari pertanyaan yang dimasukkan tersebut. Informasi tersebut misalnya Expected Answer Type (EAT), kata-kata kunci, fokus/topik pertanyaan dan informasi lain yang dapat digunakan untuk membantu proses di komponen selanjutnya.

  Beberapa metode yang dapat digunakan untuk komponen question analyzer antara lain:

1. Question pattern matching [7] [8] [9], 2.

  Machine learning [10], 3. Parsing [11], 4. Analisis semantik [12] [13].

1. Question pattern matching

  Pada metode question pattern matching, setiap kategori pertanyaan sudah mempunyai pola tersendiri sehingga pertanyaan yang masuk hanya perlu dicocokkan dengan pola yang sudah ada tersebut. Pola yang didefinisikan sendiri ini tentu sangat bergantung pada bahasa yang digunakan oleh sistem QA. Contoh penggunaan metode ini dapat dilihat pada tabel 2.1.

  13

Tabel 2.1 contoh pattern untuk pertanyaan factoid dan non-factoid [9]

  Question type Question pattern

Non-factoid

  Definition [what]+[is]+ <term> Reason [why]+<term> Relationship [what]+[is]+[relationship]+<entity-1>+[and]+<entity-2> Biography [who]+[is]+<person> Event [what]+[is/are]+<event> Method [how]+[to]+[use+do]+<term>

  

Factoid

  Person [who]+[is]+<point-to-person> Location [where]+[is]+<point-to-location> Date [when]+<point-to-time>;[what]+[time] Organization [what/which]+<organization> quantity [how]+[many+much]+<point-to-quantity>

2. Machine Learning

  Pada metode machine learning (pembelajaran mesin), digunakan algoritma tertentu agar sistem dapat mempelajari jenis-jenis pertanyaan yang ada dan menentukan EAT dari pertanyaan tersebut. Penggunaan metode pembelajaran mesin ini memerlukan data pembelajaran (training data) agar dapat

  14 antara lain kata tanya, preposisi, kandidat EAT, WordNet distance, dan bi-gram frequency. Contoh penggunaan dan penerapan dapat dilihat pada tabel 2.2.

Tabel 2.2 Rule untuk menentukan kandidat EAT [10]

  Kata tanya preposisi frase Kandidat EAT

  Kapan Date Berapa Date, quantity, name Siapa Person, organization, location, name Mana Di, ke, dari PN Location, organization Apa Not blank NP Location, organization, name, date Apa/mana blank NP Organization, location, name, person 3.

   Parsing

  Pada metode parsing, dilakukan proses pada kalimat pertanyaan yang menjadi masukan. Dari kalimat ini kemudian dihasilkan parse tree yang menunjukan struktur kalimat ini dan posisi dari masing-masing kata (penyusun kalimat) tersebut. Kemudian parse tree yang dihasilkan akan dicocokkan dengan struktur kalimat yang ada pada koleksi dokumen. Berikut contoh parse tree yang dihasilkan dari sebuah kalimat pada gambar 2.1.

  15

4. Analisis Semantik

  Pada metode analisis semantik, dihasilkan representasi semantik dari kalimat yang diberikan. Komponen yang khusus menangani pembentukan representasi semantik dari kalimat tersebut biasanya adalah semantic analyzer. Komponen ini menghasilkan representasi semantik dari parse tree yang dihasilkan sebelumnya.

Gambar 2.2 adalah contoh representasi semantik dari kalimat pernyataan

  “presiden mengumumkan susunan kabinet baru kepada wartawan di istana” dan kalimat pertanyaan “siapa mengumumkan susunan kabinet baru?”.

Gambar 2.2 Contoh representasi semantik [12]

2.3.2 Komponen Passage Retriever

  Komponen ini berfungsi untuk mengambil dokumen-dokumen yang diperkirakan mengandung kandidat-kandidat jawaban dari pertanyaan yang diberikan berdasarkan informasi yang didapat dari komponen question analyzer. Umumnya komponen ini ditunjang oleh teknik information retrieval (IR), maka untuk mendapatkan hasil yang baik dibutuhkan teknik IR yang baik. Salah satu

  16 sebagai query pencarian pada mekanisme IR yang kemudian digunakan untk mencari dokumen yang mengandung term dari query tersebut. Pada metode ruang vektor ini, query dan dokumen direpresentasikan sebagai vektor-vektor. Kedekatan antara dua vektor disebut dengan similarity atau kemiripan. Kemiripan tersebut dihitung dengan rumus kosinus. Semakin dekat jarak kedua vektor, semakin besar kemiripannya maka semakin relevan dokumen tersebut. Untuk mengukur tingkat kerelevanan dokumen-dokumen tersebut digunakan pembobotan yang biasanya menggunakan term frequency (TF), inverse document

  

frequency(IDF), dan normalisasi. Berikut persamaan (2.1) yang digunakan untuk

  menghitung similarity [14] Persamaan (2.1)

  

Similarity

  keterangan: sim(Q,D) = similarity vektor query dan vektor dokumen w qi = bobot term i dalam query w di = bobot term i dalam dokumen r = jumlat term di query s = jumlah term di dokumen

2.3.3 Komponen Answer Finder

  Komponen ini berfungsi untuk menemukan kandidat-kandidat jawaban dari dokumen atau bagian dokumen yang berhasil diambil/ditemukan oleh komponen

  

passage retriever. Kandidat jawaban kemudian akan diurutkan berdasarkan aturan

tertentu.

  17

  

machine learning/pembelajaran mesin [15], dan analisis semantik [12]. Pada

  pendekatan pencocokan pola digunakan aturan berdasarkan surface expression

  

pattern dan linguistic clue. Surface expression pattern adalah pola tertentu yang

  disusun oleh kata-kata tertentu yang sering muncul berdasarkan jenis pertanyaannya, misalnya definition, why, reason, how, dsb. Sedangkan linguistic

  

clue adalah petunjuk-petunjuk bahasa yang dapat membantu mengidentifikasi

  posisi atau klasifikasi kalimat. Beberapa contoh penerapan metode pattern

  matching untuk tipe pertanyaan non-factoid adalah sebagai berikut: 1.

  Untuk tipe pertanyaan definition, contoh pola yang digunakan dapat dilihat pada tabel 2.3 berikut ini.

Tabel 2.3 Contoh pola untuk pertanyaan Definition

  

Pattern

  <keyword> + [is/are] + <answer> <keyword> + [mean/means] + <answer> <answer>(<keyword>) 2.

  Untuk tipe pertanyaan reason, contoh pola yang digunakan dapat dilihat pada tabel 2.4 berikut ini.

Tabel 2.4 Contoh pola untuk pertanyaan reason

  

Pattern

  <keyword> + [because] + <answer> <answer> + [is reason of] + <keyword>

  18

3. Untuk tipe pertanyaan how, contoh pola yang digunakan dapat dilihat pada tabel 2.5 berikut ini.

Tabel 2.5 contoh pola untuk pertanyaan how

  

Pattern

  <step> + <keyword> + <answer> [to do] + <keyword> + <answer>

  Pada pendekatan pembelajaran mesin, salah satu aturan yang dapat digunakan adalah menentukan apakah tipe pertanyaan dengan tipe kandidat jawaban sama atau tidak. Jika tipe jawaban dan tipe kandidat jawaban cocok, maka kandidat jawaban itu dapat dimasukkan sebagai jawaban dari pertanyaan tersebut, dengan syarat topiknya sama. Algoritma pembelajaran mesin yang biasa dipakai adalah

  

Support Vector Machine (SVM). Pencocokan tipe ini dapat dilakukan setelah

  masing-masing tipe dari pertanyaan dan jawaban diklasifikasikan secara terpisah atau dapat dilakukan langsung dalam satu proses. Ilustrasi dari penggunaan metode ini dapat dilihat pada gambar 2.3 berikut.

Gambar 2.3 Ilustrasi konstruksi penentuan jawaban dengan menggunakan

  19 Pada pendek atan analisis semantik, sistem harus diberikan “pengetahuan” terlebih dahulu berupa kalimat pernyataan. Kalimat pernyataan ini akan diproses ke dalam representasi semantik, kemudian “dicocokkan” dengan representasi semantik dari kalimat-kalimat pernyataan yang ada. Penjelasan dapat dilihat pada gambar 2.4.