UNIVERSITAS BINA NUSANTARA
Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007
ANALISIS DAN PERANCANGAN CHATBOT UNTUK TANYA-JAWAB TENTANG FAQ BINUSMAYA
Astari Kartika Hadinata Novita
0700715126 0700717913
Abstrak Kemajuan dalam bidang kecerdasan buatan dapat menjawab kebutuhan akan kemudahan dalam memperoleh informasi. Chatbot dengan kelebihannya dalam bercakap-cakap layaknya manusia dapat dimanfaatkan untuk hal tersebut di atas. Kemampuan komputer dalam menyimpan banyaknya data tanpa melupakan satu pun informasi yang disimpannya digabungkan dengan kepraktisan bertanya pada sumber informasi langsung dibandingkan dengan mencari informasi sendiri serta kemampuan learning yang dimilikinya menyebabkan chatbot adalah customer service yang handal. Metode penelitian yang digunakan adalah metode studi kepustakaan dan metode perancangan. Hasil yang dicapai dari penelitian ini adalah sebuah program komputer yang dapat bercakap-cakap layaknya manusia dan menjadi sumber informasi bagi website di mana chatbot tersebut ditempatkan. Chatbot menggunakan bidang aplikasi kecerdasan buatan NLP atau Natural Language Processing dengan algoritma backward chaining untuk kemampuan reasoning-nya. Tetapi, tata bahasa dan kosakata yang digunakan, oleh chatbot yang kami beri nama Anastacia ini, masih terbatas. Hal tersebut disebabkan baik oleh terbatasnya isi knowledge base juga dikarenakan pengetahuan akan batasan bahasa manusia yang masih rendah. Untuk selanjutnya, isi dari knowledge base dapat ditambah baik dengan menggunakan proses learning ataupun penambahan sendiri oleh botmaster.
Kata Kunci chatbot, natural language processing (pemrosesan bahasa alami), backward chaining, reasoning, learning, knowledge base, website
iv
PRAKATA
Puji syukur penulis panjatkan pada Tuhan Yang Maha Esa atas kemurahan-Nya sehingga skripsi ini bisa penulis selesaikan tepat pada waktunya. Skripsi dengan judul ANALISIS DAN PERANCANGAN CHATBOT UNTUK TANYA-JAWAB TENTANG FAQ BINUSMAYA disusun dalam rangka memenuhi salah satu persyaratan untuk menyelesaikan studi Strata-1 jurusan Teknik Informatika, Universitas Bina Nusantara, Jakarta. Penulis ingin menyampaikan rasa terima kasih pada berbagai pihak yang telah mendukung kami dalam menyelesaikan skripsi ini : 1.
Bapak Tri Djoko Wahjono, Ir., MSc., selaku dosen pembimbing yang telah memberikan bantuan, bimbingan dan pengarahan bagi penulis dalam menyelesaikan skripsi ini;
2.
Para dosen Universitas Bina Nusantara yang telah memberikan penulis pengetahuan yang sangat bermanfaat dalam penulisan skripsi ini dan yang telah membimbing penulis selama menempuh pendidikan di Universitas Bina Nusantara;
3.
Rekan-rekan mahasiswa, teman-teman, dan kepada semua pihak yang telah memberikan dukungan bukan saja fisik, tapi juga moral, yang tidak dapat penulis sebutkan satu per satu;
4.
Secara khusus penulis menyampaikan rasa terima kasih pada orang tua penulis yang telah membimbing, mendidik, dan memungkinkan penulis menempuh pendidikan hingga saat ini.
v
Penulis memohon maaf bila terdapat kekurangan dan kesalahan selama proses penulisan skripsi ini dari awal hingga akhirnya. Penulis mengetahui bahwa skripsi ini masih terdapat banyak kekurangan, karena itu saran yang diberikan akan sangat membantu dalam pengembangan dan perbaikan skripsi ini dan terutama pada manfaat yang diberikan oleh aplikasi yang dibahas pada skripsi ini. Akhir kata, penulis mengharapkan agar skripsi ini dapat memenuhi kehausan akan informasi dari berbagai pihak yang membutuhkan atau memiliki ketertarikan yang sama dengan aplikasi yang dibahas dalam skripsi ini.
Jakarta, Januari 2007
Penulis
vi
DAFTAR ISI
Halaman Halaman Judul Luar…………………………………………………….....……...….. i Halaman Judul Dalam…………………………………………………………........... ii Halaman Persetujuan..................………………………………………………....….. iii Abstrak…………………………………………………………………………...….. iv Prakata.............………………………………………………………………………..v Daftar Isi....................................................................................................................... vii Daftar Gambar.............................................................................................................. xii
BAB 1 PENDAHULUAN 1.1 Latar Belakang...............…………………………………………………. 1 1.2 Ruang Lingkup…………………………………………………………... 3 1.3 Tujuan dan Manfaat Penelitian………………………………………….. 4 1.4 Metode Penelitian……………………………………………………….. 5 1.5 Sistematika Penulisan…………………………………………………… 6
BAB 2 LANDASAN TEORI 2.1 Kecerdasan Buatan………………………………………………………. 8 2.1.1 Turing Test…………………………………………………….…… 12 2.1.2 Bidang-bidang Aplikasi Kecerdasan Buatan……………………… 16
vii
Halaman 2.1.2.1
Permainan………………………………………….…….. 15
2.1.2.2 Pembuktian Teori dan Penalaran Otomatisasi…….……... 16 2.1.2.3
Sistem Pakar……………………………………………... 16
2.1.2.4 Pemrosesan Bahasa Alami (Natural Language Processing)…………………………..17 2.1.2.5
Modelling Human Performance…………….…………….17
2.1.2.6 Robotik……………………………….…………………...18 2.1.2.7 Bahasa dan Lingkungan untuk Kecerdasan Buatan.……... 19 2.1.2.8
Machine Learning……………………………….……….. 19
2.1.2.9
Neural Networks……………………………….………… 20
2.1.2.10 Filosofi dan Kecerdasan Buatan……………….………….20 2.1.2.11 Computer Vision dan Scene Recognition……….………... 20 2.2 Chatbot…………………………………………………………………... 21 2.2.1 Pemrosesan Bahasa Alami (Natural Language Processing)….…… 23 2.2.1.1 Analisis Morfologi………………………………….……… 25 2.2.1.2 Analisis Lexical…………………………………….………. 25 2.2.1.3 Sintaks……………………………………………….……... 26 2.2.1.4 Semantik…………………………………………….……... 36 2.2.1.5 Discourse Integration……………………………………... 38 2.2.1.6 Pragmatik………………………………………….……….. 40 2.2.2 Knowledge Base………………………………………….………… 40 2.2.3 Reasoning…………………………………………………….……..41 2.2.3.1 Forward Chaining............………………………….……… 41 viii
Halaman 2.2.3.2 Backward Chaining…………………………….………….. 45 2.2.4 Learning…………………………………………………….……… 47 2.3 Rekayasa Piranti Lunak……………………………………….…………. 49 2.4 Java…………………………………………………………….……….... 52 2.4.1 Java Applet……………………………………………….…………53
BAB 3 ANALISIS DAN PERANCANGAN PROGRAM 3.1 Analisis Program……………………………………………….…………54 3.1.1 Permasalahan.……………………………………………….……... 54 3.1.2 Analisis ELIZA………………………………………………..…… 54 3.1.3 Analisis Algoritma…………………………………………………. 60 3.1.4 Analisis Aplikasi Chatbot Pada Website dan FAQ Binusmaya......... 60 3.1.5 Usulan Pemecahan Masalah…………………………………..…… 61 3.2 Perancangan Program………………………………………….………… 63 3.2.1 Rancangan Program…………………………………….………….. 63 3.2.1.1 Memasuki Halaman Percakapan……………….…………... 66 3.2.1.2 Proses Pendeteksian Kalimat Masukan.....................……… 66 3.2.1.3 Proses Parsing……………………………………………... 66 3.2.1.4 Proses Kata Kunci………………….………………………. 70 3.2.1.5 Proses Reasoning………………..…….…………………… 71 3.2.1.6 Proses Learning……………………….…………………… 75 3.2.1.7 Response dan Keluar dari Layar Percakapan….……………………………………….……... 77 ix
Halaman 3.2.2 Knowledge Base Anastacia………………………….……………... 77 3.2.3 Rancangan Tampilan……………………………….……………… 78 3.2.4 Rancangan Program………………………………….…………….. 79 3.2.5 Class Diagram Anastacia………………………………………….. 80 3.2.6 STD (State Transition Diagram)………………….……………….. 81
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Perangkat yang Digunakan......................................................................... 82 4.2 Petunjuk Penggunaan Sistem...................................................................... 82 4.2.1 Contoh 1………………………………………….………………… 85 4.2.2 Contoh 2………………………………………….………………… 86 4.2.3 Contoh 3…………………………………………….……………… 87 4.2.4 Contoh 4…………………………………………….……………… 88 4.2.5 Contoh 5…………………………………………………………..... 90 4.3 Petunjuk Pemeliharaan…………………………………….……………...91 4.4 Evaluasi………………………………………………….……………….. 92
BAB 5 SIMPULAN DAN SARAN 5.1 Simpulan………………………………………………………………… 93 5.2 Saran…………………………………………………………………….. 94
DAFTAR PUSTAKA……………………………………………………….………. 96 x
DAFTAR RIWAYAT HIDUP……………………………………………………... 99
Halaman LAMPIRAN -
Rancangan Proses Program Chatbot Anastacia……………….………… L1
xi
DAFTAR GAMBAR
Gambar 2.1 Parse Tree untuk Kalimat “Mary likes John”………………………….…35 Gambar 2.2 Waterfall Model…………………………………………….……………. 50 Gambar 3.1 Proses Program Utama………………………………………………..…..65 Gambar 3.2 Proses Parsing...................………………………………………….…… 69 Gambar 3.3 Proses Pencarian Kata Kunci……………………………………….……. 70 Gambar 3.4 Parse Tree Contoh Kasus………………………………………………... 73 Gambar 3.5 Proses Learning…………………………………………………….……. 76 Gambar 3.6 Rancangan Tampilan Halaman Percakapan Anastacia…………….…….. 79 Gambar 3.7 Class Diagram Anastacia……………………………………………..…. 80 Gambar 3.8 State Transition Diagram Program Chatbot Anastacia……………..…... 81 Gambar 4.1 Tampilan Layar Percakapan...………………………………….………... 84 Gambar 4.2 Contoh 1……………………………………………………….…………. 85 Gambar 4.3 Contoh 2…………………………………………………………..……… 86 Gambar 4.4 Contoh 3…………………………………………………………..……… 87 Gambar 4.5 Contoh 4…………………………………………………………..……… 88 Gambar 4.6 Contoh 5………………………………………………………………….. 90
xii