Merancang Chat Bot Menggunakan Python [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

BAB IV HASIL DAN PEMBAHASAN A. Analisis Hasil Pada proses pembuatan alat prototipe dan sistem, memerlukan beberapa langkah dalam perancangan, antara lain pengumpulan data, analisis kebutuhan sistem, pembuatan prototipe, dan pengujian prototipe. Pada pembahasan ini peneliti akan menganalisis sistem yang telah dibuat untuk melengkapi data yang mendasari sistem yang dirancang, sebagai berikut: 1. Pengumpulan Data Pengumpulan data dilakukan untuk mengetahui masalah dan solusi yang harus diselesaikan, dalam pengumpulan data dilakukan dengan dua cara yaitu identifikasi masalah dan penyelesaian masalah. a. Identifikasi Masalah Keterbatasan waktu dan akurasi informasi yang dibutuhkan calon mahasiswa b. Identifikasi Penyelesaian Masalah Pembuatan Chatbot dengan mengimplementasikan algortima Ngram fitur yaitu Bi-gram dan Jaccard similarity di karenakan setiap pengguna memiliki bahasa yang berbeda dalam melakukan percakan namun



meiliki



maksud



dan



tujuan



yang



sama.



Untuk



itu



pengimplementasian algoritma Bi-gram dan Jaccard similarity sangat cocok untuk mengatasi masalah dan identifikasi teks yang di masukan oleh pengguna.



44



45



2. Analisis Kebutuhan Sistem Analisis kebutuhan sistem bertujuan untuk mengetahui kebutuhan yang akan digunkan dalam merancang sebuah sistem Chatbot smart assistant berbasis website, menggunakan metode prototipe a. Requerment definition Dalam penelitian ini terdapat dua aktor yaitu user dan admin dalam hal ini calon mahasiswa yang melakukan pencarian informasi di Universitas Amikom Purwokerto sebagai user atau pengguna dan pengelola Chatbot adalah admin yang akan memperbarui informasi pada Chatbot. Sistem dibangun dengan melihat sisi pengguna dan admin, yaitu sisi pengguna untuk mendapatkan informasi dan sisi admin untuk mengelola Chatbot. Kebutuhan sistem dalam membuat Chatbot berbasis web yaitu: 1) Analisis kebutuhan fungsional Kebutuhan fungsional merupakan fungsi-fungsi yang akan digunakan dalam sistem informasi (Mahaseptiviana, 2014). Analisis kebutuhan fungsional mengambarkan proses kegiatan sistem dan menjelaskan kebutuhan yang akan digunakan sistem agar sistem dapat berjalan dengan baik sesuai dengan kebutuhan. Berikut ini kebutuhan fungsion al aplikasi Chatbot smart assistant berbasis website: i) Kebutuhan fungsional pengguna



46



a) Sistem



mampu



memberikan



jawaban



sesuai



dengan



pertanyaan yang ditanyakan user b) Sistem akan memberikan response “maaf saya tidak megerti, silahkan hubungi kami via whatssap di 085848888445 untuk info lebih lanjut kak” apabila pertanyaan yang diajukan tidak ada jawabannya dalam database. c) Sistem mampu mengimplementasiskan algoritma Bi-gram dan Jaccard similarity. 2) Kebutuhan Nonfungsional Kebutuhan nonfungsional merupakan kebutuhan yang tidak ada hubungan secara langsung dengan fitur tertentu. Kebutuhan non fungsional



memberikan



batasan



pada



kebutuhan



fungsional



(Mahaseptiviana, 2014). Analisis kebutuhan non fungsional mengambarkan kebutuhan sistem dengan menitik beratkan pada properti dan prilaku yang di miliki sistem diantarnya adalah kebutuhan perangkat keras, perangkat lunak, user dan knowledge dari Chatbot sebagai bahan analisis kebutuhan yang harus dipenuhi dalam sebuah perancangan sistem yang akan diterapkan. Berikut ini merupakan kebutuhan nonfungsional aplikasi Chatbot berbasis website:



47



a) Analisa kebutuhan perangkat lunak : i) Bahasa pemrograman : pyhton 3, HTML ii) Apliasi editor : PyCharm iii) Software pendukung : MongoDB community,web browser iiii) Windows 10 profesional 64-bit b) Analisa kebutuhan perangkat keras i) AMD E1-2100 APU( 1,0 GHz ) ii) 4 GB RAM DDR3L iii) Redeon HD grapic c) Knowledge Chatbot Merupakan data yang akan dijadikan kecerdasan dari Chatbot itu sendiri, dalam membuat data kecerdasan dari Chatbot mengunkan library dari chatterbot-corpus dengan menggunakan extension yml. Di dalam data kecerdasan tersebut dibagi menjadi beberapa extensi “--“ merupakan data pertanyaan yang akan dibandingkan dengan pertanyaan yang diinputkan oleh user, “-“ merupakan data jawaban dari pertanyaan yang dimasukan user, dengan menggunakan library chatterbot-corpus dapat merubah dan membuat sendiri corpus yang di sesuai dengan kebutuhan berikut merupakan sample data knowledge atau coprus dari Chatbot ASA yang dapat dilihat pada gambar 4.1 sebagai berikut:



48



Gambar 4.1 data kecerdasan chatbot Pada gambar 4.1 merupakan data kecerdasan Chatbot ASA 3. Pengembangan Sistem a. Tokenize Salah satu tahap pertama dari solusi Chatbot adalah tentang "membersihkan" variasi yang alami untuk cara manusia berkomunikasi berikut ini merupakan kode dari tokenisasi terlihat pada gambar 4.2 berikut ini:



49



Gambar 4.2 Sorce code tokenize



50



Pada gambar 4.2 merupakan sorce code proses tokeninzer dari corpus dan inputan user b. Hapus Tanda Baca Hapus tanda baca seperti sepasi, titik koma dan lainya dari baris teks input contoh : kapan pendaftaran mahasiswa amikom purwokerto ? maka akan menjadi kapanpendaftaranmahasiswaamikompurwokerto c. StopWord Menghilangkan kata dari kalimat input yang tidak memiliki makna contoh : kapan pendaftaran mahasiswa amikom purwokerto ? akan dirubah menjadi pendaftaran mahasiswa amikom purwokerto d. Stemming proses stemming ini menggunakan library bawaan dari python yaitu NLTK, berikut ini merupakan sorce code dari steming yang di tunjukan pada gambar 4.3



51



Gambar 4.3 Proses steming



52



Gambar 4.3 Steming (Lanjutan)



Gambar 4.3 Sorce code steming e. Lemmatision Lemmatision dilakukan dengan melihat bentuk kamus kata dan karenanya dapat menangkap lebih banyak variasi. Seperti dalam mengidentifikasi kata “go” dan “get” sebagai kata dasar yang hempir memiliki kesamaan. Berikut merupakan sorce code dari Lemmatision pada gambar 4.3 berikut:



Gambar 4.4 Lemmatizon



53



f.. Tagging Tagging



digunakan untuk mengambil kata kata dari sebuah



kalimat dan mengelompokannya berdasarkan konteks. Dan kemudian mengelompokannya berdasarkan tag atau kata-kata untuk memudahkan program akapakah kata tersebut mengandung kata benda, kata sifat dan kata kerja. Pada prosses tagging ini dengan meenggunakan library dari NLTK dari python berikut ini merupakan potongan darai kode tagging pada gambar 4.5 berikut:



Gambar 4.5 Proses Tagging



54



g. Implementasi Bi-gram Setelah



melakukan



tahap



text-processing



maka



dilakukan



pemotongan karakter dengan n = 2, berikut merupakan tabel hasil pemotongan karakter Bi-gram Tabel 4.1 Proses pemecahan kata mengunakan Bi-gram No



Kata



Bi-gram



1



Kapan



_k,ka,ap,pa,an,n_



2



Pendaftaran



_p,pe,en,nd.da.af,ft,tr,ra,an,n_



3



Mashasiswa



_m,ma,ah,ha,as,si,is,sw,wa,a_



4



Amikom



_a,am,mi,ik.ko,om,m_



5



Purwokerto



_p,pu,ur,rw,wo,ok,ke,er,rt,to,o_



Pada tabel 4.1 merupakan proses pemecahan kata kedalam Bigram denagna nilai n=2 h. Implementatisi Jaccard Similarity Pada tahapan ini dilakukan perhitungan secara manual dengan jaccard similarity pada text Ngram. Berikut ini kusunya pada Bi-gram dengan jumlah n = 2. d1 = kapan pendaftran mahasiswa baru amikom dibuka? d2 = pendaftaran mahasiswa amikom dibuka kapan?



55



d3 = pendaftran di amikom dibuka kapan ? J = (d1/d2) = |A n B / A U B | = 2 / 7 = 0.285 d1 = { kapan pendaftaran, pendaftaran mahasiswa, mahasiswa baru, baru amikom, amikom dibuka } jumlah anggota himpunan n pada d satu adalah 5 d2 = { pendaftaran mahasiswa, mahasiswa amikom, amikom dibuka, dibuka kapan} jumlah anggota himpunan n pada d2 adalah 4 maka d1 n d2 berjumlah N = 2 karena terdapat jumlah kata yang sama sebanyak 2, dan d1 U d2 jumlah semua anggota himpunan d1 dan d2 = 7. J = (d2/d3) = |A n B / A U B | = 2 / 4 = 0,5 d2 = { pendaftaran mahasiswa, mahasiswa amikom, amikom dibuka, dibuka kapan} jumah angota hompunan N pada d2 adalah 4 d3 = {pendaftaran di, di amikom, amikom dibuka, dibuka kapan } jumlah anggota himpunan N pada d3 adalah 4. Dari dua perhitungan diatas dapat disimpulkkan bahwa kemiripan kata dengan data petanyan yang ada didalam kenowledge base. berikut ini merupakan perhitungan jaccard dengan menggunakan siste yang terlihat pada gambar 4.6 berikut ini:



56



Gambar 4.6 Perhitungan jaccard similarity Pada gambar 4.6 merupakan proses perhitungan jaccard similarity mengunaknan jupyter dengan membandingkan dua kalimat berdasarkan tingakat kemiripan dari pertanyaan yang ada didalam corpus dan dengan pertanyaan yang di inputkan oleh user. 4. Pengujian Prototype a. Tampilan utama Chatbot



Gambar 4.7 Halaman Cahbot



57



Pada gambar 4.7 merupakan halaan chatting dari Chatbot ASA, disini merupakan halaman user dimana user dapat mengetikan pesan pada input filed yang telah disediakan dan menginputkan pertanyaan yang ingin ditanyakan terkait dengan pendaftaran calon mahasiswa Universitas Amikom Purwokerto. b. Respon



Gambar 4.8 Respon Chatbot Pada gambar 4.8 merupakan hasil dari respon yang diberikan Chatbot



ASA



berdasarkan



inputan



user



dengan



mengimplementasikan algorima Bi-gram dan Jaccard similarity



58



c. Default Respon



Gambar 4.9 Defalut respon Chatbot Pada gambar 4.9 merupakan hasil dari respons chatbot apabila chatbot tidak memiliki data atas pertanyaan yang ditanyakan oleh user maka sistem akan memberikan jawaban “maaf saya tidak megerti, silahkan hubungi kami via whatssap di 085848888445 untuk info lebih lanjut kak”.



59



d. Tampilan utama admin



Gambar 4.10 Tampilan halaman utama admin Merupakan halaman utama admin yang terdapat menu utama yaitu tambah data pelatihan, user atau profil yang memiliki sub menu, list dari admin, dan ganti password, logout. e. Tampilan tambah data



Gambar 4.11 Tampilan tambah data Pada gambar 4.11 Merupakan halaman menu dari tambah data dimana terdapat file input dengan extension .yml, untuk menambah



60



data kecerdasan dari Chatbot, upload, dan tabel unutk menampilkan data yang di tambahkan. f. Tampilan detail profil admin



Gambar 4.12 Tampilan detail profil admin Pada gambar 4.12 merupakan halaman detail profil dimana admin bisa mengedit data dirinya dan menghapusnya. g. Edit password



Gambar 4.13 Tampilan halaman ganti password Pada gambar 4.13 merupakan halaman untuk menganti password dari admin dengan cara memasukan password lama dan memasukan kembai password baru yang akan di gunakan



61



sebelumnya juga harus melakukan konfirmasi password baru kemudian klik tombol update kemudian tunggu pesan keberhasilan penggantian passwword baru h. Login



Gambar 4.14 Tampilan login admin Pada gambar 4.14 merupakan tampilan login dari admin untuk masuk kedalam sistem admin dengan menggunakan username dan password yang sudah terdaftar sebelumnya i. Logout



Gambar 4.15 Tampilan halaman logout admin Pada gambar 4.15 merupakan tampilan logut dari admin ketika admin keluar dari sistem control Chatbot.



62



j. Unit Testing pengujian software sangat diperlukan guna mengetahui aplikasi atau sistem dapat berjalan secara fungsional sesuai dengan yang diharapkan. Pengembangan atau pengujian software harus melalui sesi khusus untuk menguji program yang sudah dibuat dapat agar kesalahan atau kekurangan dapat terdeteksi diawal dan koreksi secepatnya. Pengujian atau testing sendiri merupakan elemen kritis dari jaminan kualitas perangkat lunak dan merupakan bagian



yang



tidak



dapat



dipisahkan



dari



siklus



hidup



pengembangaan software seperti halnya analisis desain dan pengkodean (Shi dalam Mustaqbal dkk. 2015). Black Box testing berfokuskan pada spesifikasi fungsional dari perangkat lunak. Tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada sistem (Mustaqbal dkk 2015).



63



Tabel 4.2 Tabel pengujian black box testing Chatbot No Komponene penggujian 1 Halaman chatbot 2



Input pesan



3



Response



4



Respon



Respon



Kinerja algoritma



Input Menampilkan halaman chatbot Menginputkan pesan pada teks filed Response pertanyaan



Output



Sistrm mampu menampilkan halaman chatbot Sistem mampu dengan baik merespon inputan Sistem mampu dengan baik memberikan respons pertanyan Akurasi dari Chatbot mampu jawaban memberikan Chatbot jawaban yang berdasarkan sesuai dengan inputan user pertanyaan yang ditanyakan oleh user Jawaban Chatbot mampu default memberikan jawaban default ketika jawaban tidak ada dalam data kenowledge Kinerja Chatbot atau sistem algoritma Bi- berjalan gram dan jaccard similarity



Status Diterima



Diterima



Diterima



Diterima



Diterima



Diterima



64



Tabel 4.3 Pengujian respon chatbot No 1



input



Pencarian kata Respon sistem kunci Kapan Pendaftran Pedaftaran mahasiswa pendaftaran amikom dibuka amikom dimulai dari 2 amikom dibuka desember 2019 - 12 kak? september 2020 kak, yang dibagi menjadi beberapa gelombang sebagai berikut: 1.gelombang prestasi dibuka dari tanggal 2 Desember 2019 s/d 2 Maret 2020, 2.gelombang khusus dibuka dari tanggal 1 Januari 2020 s/d 31 Maret 2020, 3. gelombang 1 dibuka dari tanggal 1 April 2020 s/d 30 mei 2020, 4. gelombang 2 dibuka mulai tanggal 1 Juni 2020 s/d 31 juli 2020, 5. gelombang 3 dibuka mulai 1 agustus 2020 s/d 12 september 2020



2



Apa keuntungan mendaftar di amikom purwokerto jika dilakukan di awal ?



3



persyaratan pendaftaran amikom



Keuntungan tanpa tes tertulis mendaftran di (kesempatan diterima di amikom Universitas amikom purwokerto lebih besar, biaya lebih terjangkau langsung tes (wawancara) Persyaratan untuk persyartan pendaftran pendaftran di Amikom Purwokerto ada 1. FC KTP/KK, 2. FC Ijazah dan Transkip nilai(menyusul),



65



Tabel 4.3 Pengujian respons Chatbot (Lanjutan) No



Input



Pencarian kata



Respon system Chatbot



kunci 3



4



Apakah di Universitas Amikom Purwokerto ada fasilitas beasiswa untuk mahasiswa ?



5



pelayanan pendaftaran di amikom dibuka dari jam berapa



3. Biyaya pendaftran Rp. 150000. untuk lebih detailnya bisa hubungi kami via telepon (0281)623321 atau whatsapp di 085848888445 kak Beasiswa Di Universitas Amikom Purwokerto terdapat beberapa beasiswa kak yaitu 1.Beasiswa Bidikmisi, 2.Beasiswa Peningkatan Prestasi Akademik 3.Beasiswa Yayasan 4.Beasiswa Perbankan Pelayananan Pelayanan pendaftaran pendaftran dibuka setipa hari seninamikom dibuka sabtu pukul 08:00 - 16:00 wib kak



Dari hasil sekenario pengujian black box testing dapat sistem berjalan dengan baik mulai dengan menu-menu dan tampillan yang sesuai dengan yang telah dibuat dan pengujian yang telah dilakukan sesuai dengan fungsi masing-masing berikut ini hasil pengujian dari sistem Chatbot Smart Assistant dan untuk pengujian respon dari Chatbot dengan pengujian Chatbot ini dilakukan dengan menginputkan 30 pertanyaan.



66



Pengujian dilakukan dengan menjalakan aplikasi Chatbot, dan kemudian memasukan pesan pada teks file yang sediakan kemudian tekan tombol kirim untuk mendapatkan sebuah respon atau jawaban. Berdasarkan dari 30 pertanyaan yang dimasukan user terjawab 24 pertanyaan yang sesuai, berdasarkan hasil tersebut maka untuk mengetahui tingkat keberhasilan dari algoritma Bi-gram dan jaccard similarity adalah dengan mengunakan perhitungan sebagai berikut ini: Accuracy =



Jumlah pertanyaan yang diujikan X 100% Jumlah keberhasilan respon benar



30 X 100%



Accuracy =



25 Accuracy = 83,3% Maka presentase keberhasilan Chatbot ini dengan mengunkan algoritma Bi-gram dan Jaccard Index adalah 83,3 %. Berdasakan hasil dari perhitungan diatas tingkat keberhasilan algoritma Bi-gram dan jaccard similarity adalah sebesar 83,3%, ini sudah cukup bagus meski tidak bisa memberikan jawaban atas pertanyaan yang ditanyakan oleh user dengan tingkat keakuratan sempurna, namun algoritma Bi-gram dan jaccard similarity dapat mengenali kata berdasarkan kemiripan dari kata-kata yang di inputkan oleh user dengan data kecerdasan dari Chatbot.