APLIKASI PERSONAL STUDY ASSISTANCE BERBASIS CHATBOT MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER
VIVE VIO PERMANA 41513010081
PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2017
APLIKASI PERSONAL STUDY ASSISTANCE BERBASIS CHATBOT MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER
Laporan Tugas Akhir Diajukan Untuk Melengkapi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
VIVE VIO PERMANA 41513010081
PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2017
ii
KATA PENGANTAR
Puji Syukur selalu dipanjatkan kepada Tuhan Yang Maha Esa atas karunia yang telah diberikan sehingga Laporan Tugas Akhir ini dapat diselesaikan tepat pada waktunya, dimana Laporan Tugas Akhir ini merupakan salah satu persyaratan untuk dapat menyelesaikan Program Studi Strata Satu (S1) pada Jurusan Informatika Universitas Mercu Buana. Laporan Tugas Akhir ini masih belum dapat dikatakan sempurna. Karena itu, kritik dan saran akan diterima dengan senang hati. Laporan Tugas Akhir ini juga tidak akan selesai tepat pada waktunya tanpa bantuan, bimbingan, dan motivasi dari berbagai pihak. Maka dari itu, dengan segala kerendahan hati, ucapan terima kasih akan disampaikan kepada: 1. Raka Yusuf, ST, MTI., selaku Pembimbing Tugas Akhir yang telah membimbing dengan semua nasihat, semangat dan ilmunya dalam penyusunan laporan tugas akhir ini. 2. Ibu Afiyati, S.Si, MT., selaku Dosen Pembimbing Akademik, yang selalu memberikan nasihat kepada mahasiswa/i bimbingan beliau. 3. Bapak Diky Firdaus, S.Kom, MM., selaku Koordinator Tugas Akhir Teknik Informatika Universitas Mercu Buana. 4. Ibu Desi Ramayanti, S.Kom, MT., selaku Kaprodi Informatika Universitas Mercu Buana. 5. Kedua orang tua yang selama ini telah membesarkan penulis, adik yang selalu menyemangati. 6. Fajar Aziz Rasyidi, S.Kom, Achmad Kurniawan, S.Kom, dan Agus sella Iis Ariska yang selalu memotivasi dan turut membantu dalam penyusunan laporan tugas akhir ini. 7. Teman-teman sekaligus keluarga kedua; Informatika angkatan 2013 yang sangat saya sayangi, terima kasih untuk waktu-waktu bersama kalian. 8. Semua pihak yang telah memotivasi dan ikut memberikan bantuan yang namanya tidak dapat disebutkan satu per satu. iii
Semoga Tuhan Yang Maha Esa membalas kebaikan yang telah diberikan dan semoga laporan tugas akhir ini dapat memberikan manfaat bagi kita semua. Amin. Jakarta, 08 Agustus 2017
Penulis
iv
ABSTRAK
Mercu Buana saat ini memiliki sistem informasi akademik(SIA) yang bisa diakses secara daring di https://sia.mercubuana.ac.id. Dari beberapa fitur yang ada, pengguna dapat melihat jadwal perkuliahan baik perkuliahan sehari-hari, ujian tengah semester, atau ujian akhir semester melaui SIA dengan beberapa proses yang harus dilalui. Namun, SIA berbasis website saat ini belum memberikan media yang dapat menjembatani mahasiswa dan dosen berdiskusi diluar jam perkuliahan. Aplikasi chatbot dapat menjadi cara alternatif untuk mahasiswa dan dosen melihat jadwal perkuliahan dan berdiskusi diluar jam kuliah. Dengan aplikasi ini, jika ingin melihat jadwal perkuliahan cukup mengirim pesan ke program komputer yang dibuat. Chatbot atau Chatterbot adalah sebuah jenis program komputer yang dirancang untuk menstimulasikan percakapan. Dengan mengirim permintaan berupa teks atau audio dan mereka akan mengirim kembali respon spesifik berdasarkan query yang dikirim. Dari berbagai algoritma yang digunakan untuk aplikasi chatbot adalah Naïve Bayes classifier. Algoritma ini akan mencari sekumpulan kata yang sering muncul berdasarkan kunci yang di masukkan oleh pengguna kemudian dapat diambil kesimpulan maksud dari si pengguna. Dari aplikasi yang dibangun, pengguna yang berasal dari mercubuana dapat mendaftarkan akun SIA mereka ke https://meepo.id kemudian verifikasi melaui aplikasi Line menggunakan kode verifikasi yang didapat saat pendaftaran. Dengan mengirim pesan dengan kata kunci tertentu ke akun Meepo di aplikasi Line, pengguna dapat memperoleh jadwal perkuliahan dan berdiskusi dengan dosen atau mahasiswa. Kata kunci: chatbot, diskusi, jadwal, line, naïve bayes classifier, personal assistance
v
ABSTRACT
Mercu Buana currently has an academic information system that can be accessed by online in https:/sia.mercubuana.ac.id. From several available features, users can view their daily college schedule, like midterm exams, final exams with some processes to go through. However, SIA web based currently does not support students and lectures to discuss outside of the class. Chatbot application can be an alternative way for students and lecturers view the schedule and discuss outside of the class. To get the schedule, user just send a message to the application. Chatbot or chatterbot is kind of computer program designed to stimulate conversations. By sending requests text and audio and it will send back a specific response based on the query. From several algorithms that used for chatbot application is Naïve Bayes Classifier. This algorithms will find a collection of words that frequently appear based on the keyword that gives by users than can be summarize what users mean. From the built application, users from Mercu Buana University can register their SIA account by accessing https://meepo.id then verify through Line Application using code verification that got from register process. By sending a message with certain keywords to Meepo account in Line application, users can get their course schedule and discuss with student or lectures. Keywords: chatbot, duscussion, line, naïve bayes classifier, personal assistance, schedule
vi
DAFTAR ISI
LEMBAR PERNYATAAN ......................................................................................i LEMBAR PENGESAHAN .................................................................................... ii KATA PENGANTAR ........................................................................................... iii ABSTRAK ............................................................................................................... v ABSTRACT............................................................................................................vi DAFTAR ISI......................................................................................................... vii DAFTAR GAMBAR ............................................................................................... x DAFTAR TABEL................................................................................................. xii BAB I PENDAHULUAN ........................................................................................ 1 1.1
Latar Belakang ............................................................................................... 1 Rumusan Masalah .......................................................................................... 2
1.3
Tujuan dan Manfaat ....................................................................................... 2
1.4
Batasan Masalah ............................................................................................ 3
1.5
Metode Penelitian .......................................................................................... 3
1.6
Sistematika Penulisan .................................................................................... 4
BAB II LANDASAN TEORI .................................................................................. 6 Informasi ........................................................................................................ 6 Media Sosial................................................................................................... 6 Chatbot ........................................................................................................... 7 Algoritma Naïve Bayes Classifier ................................................................. 7 Rekayasa Perangkat Lunak .......................................................................... 10 Siklus Hidup Pengembangan Sistem ........................................................... 11 Metode Perancangan/Unified Modeling Language ..................................... 12 2.7.1
Use Case Diagram.................................................................................... 13 vii
2.7.2
Activity Diagram ..................................................................................... 14
2.7.3
Sequence Diagram ................................................................................... 15
2.7.4
Entitiy Relationship Diagram (ERD) ....................................................... 17 Flowchart ..................................................................................................... 19
2.9
Perangkat Lunak yang mendukung .............................................................. 19
2.9.1
Laravel Framework .................................................................................. 19
2.9.2
MySQL .................................................................................................... 20
2.10
Pengujian.................................................................................................. 21
2.11
Web Service ............................................................................................. 21
2.12
Antarmuka Pemrograman Aplikasi.......................................................... 22
BAB III ANALISIS SISTEM ................................................................................ 23 Analisis Proses Berjalan .............................................................................. 23 Konsep Aplikasi ........................................................................................... 24 Analisis Tujuan Aplikasi.............................................................................. 25 Analisis Kebutuhan Fungsional ................................................................... 25 Pengguna Aplikasi ....................................................................................... 25 BAB IV PERANCANGAN SISTEM.................................................................... 26 4.1
Perancangan Sistem Usulan ......................................................................... 26
4.1.1
Usecase Diagram ..................................................................................... 26
4.1.2
Activity Diagram ..................................................................................... 30
4.1.3
Sequence Diagram ................................................................................... 37
4.2
Perancangan Algoritma Naïve Bayes Classifier .......................................... 42
4.3
Perancangan Basis Data ............................................................................... 43
4.3.1
Class diagram ........................................................................................... 43
4.3.2
Struktur tabel............................................................................................ 43
4.4
Rancangan Antarmuka Aplikasi .................................................................. 46 viii
BAB V IMPLEMENTASI DAN PENGUJIAN .................................................... 50 5.1
Implementasi Pembuatan Basis Data ........................................................... 50
5.1.1
Implementasi tabel user ........................................................................... 50
5.1.2
Implementasi tabel chat_logs ................................................................... 51
5.1.3
Implementasi tabel kelas .......................................................................... 51
5.1.4
Implementasi tabel perkuliahans.............................................................. 52
5.1.5
Implementasi tabel jadwal_uts ................................................................. 52
5.1.6
Implementasi tabel jadwal_uas ................................................................ 53
5.2
Implementasi Antarmuka dan Penggunaan aplikasi .................................... 53
5.2.1
Implementasi antarmuka halaman utama................................................. 53
5.2.2
Implementasi antarmuka halaman daftar ................................................. 54
5.2.3
Implementasi antarmuka halaman jadwal perkuliahan ............................ 55
5.2.4
Implementasi antarmuka halaman memasukkan nama panggilan ........... 56
5.2.5
Implementasi selesai pendaftaran ............................................................ 57
5.2.6
Implementasi proses verifikasi ................................................................ 57
5.2.7
Implementasi antarmuka jadwal perkuliahan hari ini .............................. 59
5.2.8
Implementasi menampilkan jadwal perkuliahan besok ........................... 61
5.2.9
Implementasi mengirim pesan ke dosen .................................................. 61
5.2.10
Implementasi mengirim pesan ke kelas ............................................... 63
5.2.11
Implementasi mengganti nama panggilan ........................................... 65
5.3
Pengujian...................................................................................................... 66
5.4
Analisa Hasil Pengujian ............................................................................... 67
BAB VI KESIMPULAN DAN SARAN ............................................................... 68 6.1
Kesimpulan .................................................................................................. 68
6.2
Saran ............................................................................................................ 68
DAFTAR PUSTAKA ............................................................................................ 69 ix
DAFTAR GAMBAR
Gambar 2.1 Lapisan Rekayasa Perangkat Lunak (Pressman, 2010) .......................... 10 Gambar 2.2 Model Proses Waterfall (Pressman, 2010) ............................................. 11 Gambar 2.3 Jenis Diagram UML (A.S & Shalahuddin, 2013) .................................. 12 Gambar 2.4 Simbol-simbol Use case Diagram (A.S & Shalahuddin, 2013) ............. 14 Gambar 2.5 Simbol-simbol Activity Diagram (A.S & Shalahuddin, 2013) .............. 15 Gambar 2.6 Simbol-simbol Sequence Diagram (A.S & Shalahuddin, 2013) ............ 17 Gambar 2.7 Simbol-simbol ERD (Geeta, 2007) ........................................................ 18 Gambar 4.2 Usecase diagram pada aplikasi chatbot. ................................................. 26 Gambar 4.3 Activity diagram daftar ........................................................................... 30 Gambar 4.4 Activity diagram ganti panggilan............................................................ 31 Gambar 4.5 Activity diagram jadwal hari ini ............................................................. 32 Gambar 4.6 Activity diagram jadwal besok ............................................................... 33 Gambar 4.7 Activity diagram jadwal UTS ................................................................. 34 Gambar 4.8 Activity diagram jadwal UAS ................................................................ 35 Gambar 4.9 Activity diagram kirim pesan ke dosen .................................................. 36 Gambar 4.10 Activity diagram kirim pesan ke kelas.................................................. 37 Gambar 4.11 Sequence diagram daftar ...................................................................... 38 Gambar 4.12 Sequence diagram ganti panggilan ....................................................... 38 Gambar 4.13 Sequence diagram jadwal kuliah hari ini ............................................. 39 Gambar 4.14 Sequence diagram jadwal kuliah besok ............................................... 39 Gambar 4.15 Sequence diagram jadwal uts ............................................................... 40 Gambar 4.16 Sequence diagram jadwal uas .............................................................. 40 Gambar 4.17 Sequence diagram kirim pesan ke dosen.............................................. 41 Gambar 4.18 Sequence diagram kirim pesan ke kelas ............................................... 41 Gambar 4.19 Flowchart naive bayes classiffier ......................................................... 42 Gambar 4.20 Class diagram aplikasi chatbot Meepo ............................................... 43 Gambar 4.21 Halaman utama meepo.id ..................................................................... 47 Gambar 4.22 Form daftar ........................................................................................... 47 Gambar 4.23 Daftar perkuliahan ................................................................................ 48 Gambar 4.24 Memasukkan nama panggilan .............................................................. 48 x
Gambar 4.25 Selesai pendaftaran ............................................................................... 49 Gambar 4.26 Jadwal kuliah pada aplikasi chatbot ..................................................... 49 Gambar 5.1 Implemetasi tabel user ............................................................................ 50 Gambar 5.2 Implementasi tabel chat_logs ................................................................. 51 Gambar 5.3 Implementasi tabel kelas ........................................................................ 51 Gambar 5.4 Implementasi tabel perkuliahans ............................................................ 52 Gambar 5.5 Implementasi tabel jadwal_uts ............................................................... 52 Gambar 5.6 Implementasi tabel jadwal_uas............................................................... 53 Gambar 5.7 Implementasi antarmuka halaman utama ............................................... 53 Gambar 5.8 Implementasi antamuka halaman daftar ................................................. 54 Gambar 5. 10 Implementasi antamuka halaman jadwal perkuliahan ......................... 55 Gambar 5.12 Implementasi antamuka halaman input nama panggilan...................... 56 Gambar 5.14 Implementasi antamuka halaman selesai pendaftaran .......................... 57 Gambar 5.15 Implementasi antamuka halaman proses verifikasi .............................. 57 Gambar 5.17 Implementasi antamuka halaman jadwal kuliah hari ini ...................... 59 Gambar 5.19 Implementasi antamuka halaman jadwal besok ................................... 61 Gambar 5.21 Implementasi antamuka halaman kirim pesan ke dosen ...................... 61 Gambar 5.22 Implementasi antamuka halaman pesan berhasil dikirim ..................... 62 Gambar 5.24 Implementasi antamuka halaman kirim pesan ke kelas ....................... 64 Gambar 5.25 Implementasi antamuka halaman pesan berhasil dikirim ..................... 64 Gambar 5.27 Implementasi antamuka halaman ganti panggilan ............................... 65
xi
DAFTAR TABEL
Tabel 4.1 Spesifikasi tabel chat log ............................................................................. 44 Tabel 4.2 Spesifikasi tabel jadwal UAS ...................................................................... 44 Tabel 4.3 Spesifikasi tabel jadwal UTS ...................................................................... 45 Tabel 4.4 Spesifikasi tabel kelas ................................................................................. 45 Tabel 4.5 Spesifikasi tabel perkuliahans ..................................................................... 46 Tabel 4.6 Spesifikasi tabel user ................................................................................... 46 Tabel 5.1 Tabel skenario pengujian aplikasi ............................................................... 66
xii