• Tidak ada hasil yang ditemukan

CHATBOT TANYA JAWAB ISLAMIC APP MENGGUNAKAN ALGORITMA ENHANCED CONFIX STRIPPING DAN ALGORITMA FUZZY STRING MATCHING SKRIPSI M.TOHIR SIHOTANG

N/A
N/A
Protected

Academic year: 2022

Membagikan "CHATBOT TANYA JAWAB ISLAMIC APP MENGGUNAKAN ALGORITMA ENHANCED CONFIX STRIPPING DAN ALGORITMA FUZZY STRING MATCHING SKRIPSI M.TOHIR SIHOTANG"

Copied!
78
0
0

Teks penuh

(1)

CHATBOT TANYA JAWAB ISLAMIC APP MENGGUNAKAN ALGORITMA ENHANCED CONFIX STRIPPING DAN

ALGORITMA FUZZY STRING MATCHING

SKRIPSI

M.TOHIR SIHOTANG 141402110

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

2019

(2)

CHATBOT QUESTION ANSWER ISLAMIC APP USING ENHANCED CONFIX STRIPPING ALGORITHM AND

FUZZY STRING MATCHING ALGORITHM

SKRIPSI

M.TOHIR SIHOTANG 141402110

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

2019

(3)

CHATBOT TANYA JAWAB ISLAMIC APP MENGGUNAKAN ALGORITMA ENHANCED CONFIX STRIPPING DAN

ALGORITMA FUZZY STRING MATCHING

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

M.TOHIR SIHOTANG 141402110

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

2019

(4)
(5)

ii

PERNYATAAN

CHATBOT TANYA JAWAB ISLAMIC APP MENGGUNAKAN ALGORITMA ENHANCED CONFIX STRIPPING DAN

ALGORITMA FUZZY STRING MATCHING

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 15 Agustus 2019

Muhammad Tohir Sihotang 141402110

(6)

UCAPAN TERIMA KASIH

Puji dan syukur kehadirat Allah Subhanahu wa Ta’ala, karena rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada program studi S1 Teknologi Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Banyak rasa terima kasih yang ingin penulis ucapkan kepada seluruh pihak yang turut serta terlibat dalam masa perkuliahan dan masa pengerjaan skripsi ini:

1. Penulis mengucapkan terima kasih kepada orang tua penulis atas cinta, pengorbanan dan doa yang selalu diberikan.

2. Penulis mengucapkan terima kasih kepada Bapak Ivan Jaya, S.Si., M.Kom selaku dosen pembimbing pertama dan kepada Bapak Ainul Hizriadi, S.Kom., M.Sc. selaku dosen pembimbing kedua. Terima kasih telah meluangkan waktu, ide dan tenaganya untuk membimbing penulis baik dalam pembuatan program maupun dalam penulisan skripsi.

3. Penulis mengucapkan terima kasih kepada Bapak Dani Gunawan, S.T, M.T. selaku dosen pembanding pertama dan Bapak fahrurrozi, B.IT, M.Sc.IT selaku dosen pembanding kedua yang telah memberikan kritik dan saran yang bermanfaat.

4. Penulis mengucapkan terima kasih kepada Dekan, Wakil Dekan, Ketua Program Studi Teknologi Informasi, Sekretaris Program Studi Teknologi Informasi, seluruh dosen dan staff di Program Studi Teknologi Informasi USU yang telah mengajar, membimbing dan membantu penulis selama proses perkuliahan dan proses pengerjaan skripsi.

(7)

iv

5. Penulis mengucapkan terima kasih kepada teman-teman angkatan 2014 yang telah menemani, memotivasi, memahami dan menerima sifat serta perilaku penulis, memberikan kritik dan saran yang baik selama proses perkuliahan maupun dalam masa pengerjaan skripsi, terkhusus bagi M.Fadly Tanjung, Putra Hafizhan, Melky Raymondo, Dipos Marolop, Sarah Elisabeth, Andreas Putra Wijaya dan Aulia Amirullah.

6. Penulis tentunya tak lupa mengucapkan terima kasih kepada seluruh abang, kakak dan adik dari Angkatan 2012, 2013 dan 2015 Teknologi Informasi USU.

7. Penulis juga mengucapkan terima kasih kepada rekan-rekan orgnisasi UKMI Al- Khuwarizmi Fasilkom-TI USU, UKMI Ad-Dakwah USU, yang selalu mendoakan dan memberikan semangat agar penulis senantiasa berjuang dalam kebaikan.

8. Terima kasih penulis ucapkan untuk semua pihak yang telah terlibat dalam pengumpulan data maupun pengujian sistem.

Semoga Allah Subhanahu wa Ta’ala melimpahkan berkah kepada semua pihak yang telah memberikan bantuan secara langsung maupun tidak, serta perhatian, dukungan, dan motivasinya kepada penulis dalam menyelesaikan skripsi ini.

Medan, Agustus 2019

Penulis

(8)

ABSTRAK

Permasalahan dalam hal agama untuk menanyakan akan suatu hal masih menjadi fenomenal belakangan ini, dikarenakan banyaknya informasi yang didapat tidak tahu referensinya dari Al-Qu’ran ataupun hadits dan sering terjadi perubahan kosakata didalamnya sehingga menimbulkan makna berbeda. Sering kali ketika pengguna internet menanyakan suatu hal mengenai agama khususnya Islam maka pengguna internet tersebut harus membaca website yang penuh paragraf di dalamnya ataupun membaca pdf / word.

Salah satu teknologi terkait yang bisa digunakan adalah tanya jawab chatbot.Chatbot adalah suatu program computer yang membuat seolah-olah pengguna bisa berkomunikasi dengan mesin dan chatbot juga merupakan terapan dari Natural Language Processing.

Proses pencarian jawaban pada chatbot di penelitian ini menerapkan dua teknik yaitu stemming dan string matching. Data uji penelitian ini merupakan responden dari pengguna chatbot, apakah jawaban yang dihasilkan sesuai dengan pertanyaan atau tidak. Hasil dari pengujian data uji menunjukkan bahwa chatbot dengan menerapkan fuzzy string matching kurang efisien karena menghasilkan tingkat akurasi 70,37 % dengan jawaban yang benar sebanyak 19 dari 27 responden.

Kata Kunci : Tanya Jawab Chatbot, Stemming, String Matching

(9)

vi

CHATBOT QUESTION OF ISLAMIC ANSWER APP USING ENHANCEDCONFIX STRIPPING ALGORITHM AND

FUZZY STRING MATCHING ALGORITHM

ABSTRACT

The problem in terms of religion to ask for something is still phenomenal lately, because the amount of information obtained does not know the reference from the Qur’an or the hadith and often changes in vocabulary in it, giving rise to different meanings. Often when internet users ask something about religion, especially Islam, the internet user must read a website full of paragraphs in it or read pdf / word. One related technology that can be used is chatbot.Chatbot is a computer program that makes it seem as if the user can communicate with the machine and chatbot is also an application of Natural Language Processing. The process of finding answers to chatbot in this study applies two techniques namely stemming and string matching. Test data of this study were respondents of chatbot users, whether the answers generated were in accordance with the questions or not. The results of testing the test data show that chatbot by applying fuzzy string matching is less efficient because it produces an accuracy rate of 70.37% with correct answers of 19 of 27 respondents.

Keywords : Chatbot FAQs, Stemming, String Matching

(10)

DAFTAR ISI

Halaman

PERSETUJUAN i

PERNYATAAN ii

UCAPAN TERIMA KASIH iii

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL x

DAFTAR GAMBAR xi

BAB 1 PENDAHULUAN 1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 4

1.6 Metodologi Penelitian 4

1.7 Sistematika Penulisan 5

BAB 2 LANDASAN TEORI 2.1 Natural Language Processing 7

2.1.1 Stemming 8

(11)

vii

2.1.2 Chatbot 9

2.2 Algoritma Enhanced Confix Stripping 10

2.3 Algoritma Fuzzy String Matching 13

2.4 Penelitian Terdahulu 14

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1 Data Yang Digunakan 19

3.2 Arsitektur Umum 19

3.2.1 Input 20

3.2.1 Proses 21

3.2.1 Output 23

3.3 Diagram Aktivitas 23

3.3.1 Diagaram Aktivitas Home 23

3.3.2 Diagram Aktivitas Chatbot 24

3.4 Perancangan Antarmuka Sistem 26

3.4.1 Rancangan Tampilan Home 26

BAB 4 IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Sistem 28

4.1.1 Spesifikasi Perangkat Lunak Yang Digunakan 28

4.1.2 Implemetasi Perancangan Antarmuka 28

a) Tampilan Halaman Home 29

b) Tampilan Halaman Chatbot 29

(12)

4.1.3 Prosedur Operasional 30

4.2 Pengujian Sistem 31

BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan 36

5.2 Saran 37

DAFTAR PUSTAKA 38

LAMPIRAN I : Contoh Inputan Untuk Chatbot 40

(13)

x

DAFTAR TABEL

TABEL 2.1 Aturan Pemenggalan awalan Stemmer Nazief dan Adriani 12 TABEL 2.2 Modifikasi dan Tambahan Aturan pada Tabel 2.1 oleh 12 Algoritma ECS Stemmer

TABEL 2.3 Modifikasi Aturan Untuk Tabel 2.1 oleh Algoritma 13 ECS Stemmer

TABEL 2.4 Penelitian Terdahulu 16

TABEL 4.1 Hasil Pengujian Chatbot dengan algoritma ECS dan 32 Fuzzy String Matching

(14)

DAFTAR GAMBAR

Gambar 3.1 Arsitektur Umum 20

Gambar 3.2 Diagram Aktivitas Home 23

Gambar 3.3 Diagram Aktivitas Chatbot 25

Gambar 3.4 Rancangan Tampilan Home 26

Gambar 4.1 Tampilan Home 29

Gambar 4.2 Tampilan Halaman Chatbot 30

Gambar 4.3 Tampilan Operasional Chatbot 31

(15)

BAB 1 PENDAHULUAN

1.1. Latar Belakang

Permasalahan dalam hal agama untuk menanyakan akan suatu hal masih menjadi fenomenal belakangan ini, dikarenakan banyaknya informasi yang didapat tidak tahu referensinya dari Al-Qur’an ataupun hadits dan sering terjadi perubahan kosakata didalamnya sehingga menimbulkan makna berbeda. Sering kali ketika pengguna internet menanyakan suatu hal mengenai agama khususnya Islam maka pengguna internet tersebut harus membaca website yang penuh paragraf di dalamnya ataupun membaca pdf / word.

Atas dasar keluhan tersebut, maka diperlukan suatu teknologi baru yang dapat membantu pengguna internet untuk bertanya secara langsung dan mendapat jawaban yang sesuai dengan website maupun pdf / word. Salah satu teknologi terkait yang bisa digunakan adalah chatbot.

Chatbot adalah suatu program computer yang membuat seolah-olah pengguna bisa berkomunikasi dengan mesin dan chatbot juga merupakan terapan dari Natural Language Processing. Chatbot sendiri untuk saat ini sudah banyak diterapkan seperti weather bot jika anda ingin bertanya mengenai cuaca, news bot jika anda membutuhkan informasi terbaru saat ini. Sebuah chatbot dapat dikaitkan dengan sebuah avatar,animasi yang juga mencakup sintesis pidato sehingga mungkin muncul lebih hidup melalui animasi virtual reality dan suara.

Sebelumnya penelitian dengan menggunakan chatbot telah banyak digunakan untuk membantu mempermudah mendapat informasi. Salah satu dari penelitian tersebut digunakan oleh Irawan Afrianto pada tahun 2015 yang berjudul Rancang Bangun Aplikasi Chatbot Informasi Objek Wisata Kota Bandung dengan Pendekatan Natural Language Processing. Penelitian dengan studi kasus kota Bandung ini menghasilkan suatu informasi bahwa chatbot bisa dijadikan sebagai suatu alat untuk mempermudah wisatawan yang datang ke Bandung untuk mengetahui daerah wisata secara instan tanpa harus mencari di

(16)

peta ataupun membuka website. Lalu penelitian yang lain adalah penelitian oleh Bahartyan dan Waspada pada tahun 2012 yang menghasilkan suatu informasi bahwa chatbot bisa menjadi virtual assistant menggantikan customer service selama 24 jam dan juga memudahkan pengunjung website e-commerce untuk mencari barang yang diinginkan.

Salah satu metode yang digunakan dalam pembuatan chatbot ini adalah dengan stemming.

Algoritma enhanced confix stripping merupakan algoritma untuk melakukan stemming.Stemming adalah proses pembentukan kata dasar dari kata-kata yang telah mendapatkan modifikasi dalam penggunaannya. Penggunaan kata yang terdapat pada kalimat terstruktur diantaranya sudah mendapat imbuhan yang terdiri dari imbuhan awalan, akhiran atau sisipan. Pada perbandingan yang dilakukan antara stemming dengan lemmatization mana yang lebih akurat ternyata setelah dilakukan uji coba stemming lebih akurat dibandingkan lemmatization (Balakrishnan, 2014). Setelah proses stemming maka selanjutnya akan dilakukan proses pencarian jawaban yang berupa dalil dengan menerapkan metode string matching.

Algoritma pencarian merupakan suatu metode yang digunakan untuk mencari dengan cara atau teknik tertentu. Algoritma pencarian dapat diterapkan pada string matching, salah satu algoritma yang dapat digunakan ialah algoritma Fuzzy String Matching yang merupakan salah satu algoritma dasar dalam pencarian. Dengan penerapan algoritma ini dilakukan pencocokan string secara samar, maksudnya pencocokan string dimana string yang dicocokkan memiliki kemiripan memiliki susunan karakter yang berbeda, tetapi string tersebut memiliki kemiripan baik kemiripan tekstual atau kemiripan.

Dengan menerapkan string matching kita bisa melakukan pencarian terhadap string yang sama dan juga string yang mendekati dengan string lain yang terkumpul dalam sebuah penampung atau kamus(Gurning, 2016). Dengan latar belakang di atas,dibutuhkan suatu alternatif yakni membuat sebuah sistem yang mampu melakukan komunikasi interaktif seputar dunia Islam dan tanpa perlu khawatir akan jawaban yang ditampilkan tidak valid.

Dengan adanya aplikasi ini, akan mempermudah masyarakat umum untuk melakukan klarifikasi atas suatu hal dalam islam sehingga tidak terjadi kebimbangan dalam melihat suatu hal.

(17)

3

Oleh karena itu penulis mengembangkan sebuah penelitian dengan judul ” CHATBOT TANYA JAWAB ISLAMIC APP MENGGUNAKAN ALGORITMA ENHANCED CONFIX STRIPPING DAN ALGORITMA FUZZY STRING MATCHING”.

1.2. Rumusan Masalah

Untuk melakukan tanya jawab seputar Islam di internet, ada kendala yang harus dihadapi diantaranya tidak tahu jawaban yang dihasilkan apakah sesuai Al-Qur’an dan Sunnah. Oleh karena itu, diperlukan suatu bot untuk mempermudah pengguna dalam melakukan tanya jawab seputar Islam secara lebih interaktif untuk mendapatkan jawaban yang sesuai Al- Qur’an dan Sunnah.

1.3. Batasan Masalah

Untuk membatasi cakupan permasalahan, penulis membuat batasan :

1. Data yang diambil berupa pdf seputar sholat dan zakat seperti 99 Tanya Jawab seputar sholat dari Ustad Abdul Somad dan Panduan Zakat dari salah satu lembaga zakat yaitu Dompet Dhuafa

2. Aplikasi hanya bisa dijalankan secara online

3. Pada saat melakukan stemming (perubahan kata menjadi kata dasar), kamus yang menjadi acuan adalah KBBI

4. Bot hanya bisa melakukan diskusi interaktif seputar Islam 5. Topik Islam dalam aplikasi ini hanya seputar Shalat dan Zakat 6. Bot hanya bisa melakukan tanya jawab dengan Bahasa Indonesia

(18)

1.4. Tujuan Penelitian

Tujuan penelitian ini adalah untuk menghasilkan chatbot yang mampu menjawab pertanyaan pengguna sesuai dengan Al-Qur’an dan Hadits dengan menerapkan algoritma Enhanced Confix Stripping dan Fuzzy String Matching

1.5. Manfaat Penelitian

Manfaat yang diperoleh dari penelitian ini adalah:

1. Memberikan kemudahan pada orang-orang yang ingin bertanya seputar Islam tanpa perlu khawatir jawabaan tidak valid

2. Memberikan rasa nyaman dalam berdiskusi dengan menggunakan bot sehingga bisa terjadi komunikasi yang interaktif

3. Dapat menghemat waktu dalam melakukan tanya jawab tanpa harus masuk ke website atau link-link tertentu

4. Menjadi referensi dalam pengembangan selanjutnya dalam bidang bot

1.6. Metodologi Penelitian

Adapun tahapan - tahapan yang akan dilakukan pada penelitian ini adalah :

1. Studi Literatur

Pada tahapan ini dilakukan pengumpulan dan mempelajari informasi yang diperoleh dari buku, skripi, jurnal, dan berbagai sumber informasi lainnya.

Informasi yang berkaitan dengan algoritma yang berhubungan terhadap penelitian tersebut seperti algoritma Enhanced Confix Stripping, natural language processing, bot dan algoritma Fuzzy String Matching.

2. Analisis Permasalahan

Pada tahap ini dilakukan analisis terhadap bahan referensi yang telah dikumpulkan pada tahap sebelumnya untuk mendapatkan pemahaman mengenai metode yang

(19)

5

diterapkan yakni algoritma Enhanced Confix Stripping dan algoritma Fuzzy String Matching untuk melakukan stemming (merubah ke kata dasar) pada inputan pertanyaan pengguna dan melakukan string matching untuk mencari kata yang cocok atau mirip dari pertanyaan pengguna tersebut pada dokumen yang telah disediakan.

3. Implementasi

Pada tahap ini dilakukan proses implementasi chatbot dengan menggunakan metode ECS(Ehanced Confix Stripping) dan FSM(Fuzzy String Matching) dalam aplikasi komputer menggunakan pemogramman Python.

4. Pengujian

Pada tahap ini dilakukan pengujian chatbot guna memastikan bahwa algoritma Enhanced Confix Stripping dan Fuzzy String Matching dapat menjawab pertanyaan pengguna seputar dunia Islam dengan baik dan benar.

5. Dokumentasi dan penyusunan laporan

Pada tahap ini dilakukan dokumentasi hasil analisis dari penelitian chatbot menggunakan ECS(Ehanced Confix Stripping) dan FSM(Fuzzy String Matching) untuk dapat menjawab pertanyaan pengguna seputar Islam dengan baik dan benar.

1.7. Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut:

BAB 1: Pendahuluan

Pada bab pendahuluan ini, berisi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

(20)

BAB 2: Landasan Teori

Pada bab ini berisi teori-teori yang digunakan untuk memahami permasalahan yang dibahas pada penelitian ini.Pada bab ini dijelaskan tentang chatbot,stemming,string matching dan algoritma untuk melakukan stemming yaitu ECS(Ehanced Confix Stripping) dan algoritma untuk melakukan string matching FSM(Fuzzy String Matching) guna menjawab pertanyaan pengguna seputar Islami dengan baik dan benar.

BAB 3: Analisis dan Perancangan

Pada bab ini menjelaskan analisis dan penerapan algoritma ECS(Ehanced Confix Stripping) dan algoritma FSM(Fuzzy String Matching) untuk menjawab pertanyaan pengguna seputar Islami dengan baik dan benar.Bab ini juga membahas arsitektur umum, hingga proses algoritma ECS dan FSM dengan menggunakan pemogramman Python.

BAB 4: Implementasi dan Pembahasan

Pada bab ini menjelaskan pembahasan tentang implementasi dari analisis dan perancangan yang telah disusun pada Bab 3 dan pembahasan guna memastikan metode telah sesuai dengan yang diharapkan.

BAB 5: Kesimpulan dan Saran

Pada bab ini berisi tentang kesimpulan hasil penelitian dan saran-saran yang berkaitan dengan penelitian selanjutnya.

(21)

BAB 2 LANDASAN TEORI

2.1. Natural Language Processing (NLP)

Natural Language Processing (NLP) merupakan salah satu cabang ilmu AI yang berfokus pada pengolahan bahasa natural. Bahasa natural adalah bahasa yang secara umum digunakan oleh manusia dalam berkomunikasi satu sama lain. Bahasa yang diterima oleh komputer butuh untuk diproses dan dipahami terlebih dahulu supaya maksud dari user bisa dipahami dengan baik oleh komputer.Ada berbagai terapan aplikasi dari NLP. Diantaranya adalah Chatbot (aplikasi yang membuat user bisa seolah-olah melakukan komunikasi dengan computer), Stemming (pemotongan kata dalam bahasa tertentu menjadi bentuk dasar pengenalan fungsi setiap kata dalam kalimat), Summarization (ringkasan dari bacaan), Translation Tools (menterjemahkan bahasa) dan aplikasi-aplikasi lain yang memungkinkan komputer mampu memahami instruksi bahasa yang diinputkan oleh user.

Stubbs (2011) menjelaskan bahwa ada beberapa area utama penelitian pada field NLP, diantaranya:

1. Question Answering Systems (QAS). Kemampuan komputer untuk menjawab pertanyaan yang diberikan oleh user. Daripada memasukkan keyword ke dalam browser pencarian, dengan QAS, user bisa langsung bertanya dalam bahasa natural yang digunakannya, baik itu Inggris, Mandarin, ataupun Indonesia.

2. Summarization. Pembuatan ringkasan dari sekumpulan konten dokumen atau email. Dengan menggunakan aplikasi ini, user bisa dibantu untuk mengkonversikan dokumen teks yang besar ke dalam bentuk slide presentasi.

3. Machine Translation. Produk yang dihasilkan adalah aplikasi yang dapat memahami bahasa manusia dan menterjemahkannya ke dalam bahasa lain.

Termasuk di dalamnya adalah Google Translate yang apabila dicermati semakin membaik dalam penterjemahan bahasa. Contoh lain lagi adalah BabelFish yang menterjemahkan bahasa pada real time.

(22)

4. Speech Recognition. Field ini merupakan cabang ilmu NLP yang cukup sulit.

Proses pembangunan model untuk digunakan telpon/komputer dalam mengenali bahasa yang diucapkan sudah banyak dikerjakan. Bahasa yang sering digunakan adalah berupa pertanyaan dan perintah.

5. Document classification. Sedangkan aplikasi ini adalah merupakan area penelitian NLP Yang paling sukses. Pekerjaan yang dilakukan aplikasi ini adalah menentukan dimana tempat terbaik dokumen yang baru diinputkan ke dalam sistem. Hal ini sangat berguna pada aplikasi spam filtering, news article classification, dan movie review.

2.1.1 Stemming

Stemming adalah suatu dasar dari teknik NLP (Natural Language Processing) untuk Pengembalian Informasi (Information Retrieval) yang efektif dan efisien dan salah satu yang diterima secara luas oleh pengguna. Ini digunakan untuk mengubah kata imbuhan ke kata dasar atau stem dengan menerapkan dalam banyak kasus aturan morfologi yang ada.

Teknik stemming adalah suatu teknik pencarian bentuk dasar dari suatu term. Yang dimaksud dengan term itu sendiri adalah tiap kata yang berada pada suatu dokumen teks (Tahitoe, 2014). Stemming digunakan untuk mengganti bentuk dari suatu kata menjadi kata dasar dari kata tersebut yang sesuai dengan struktur morfologi Bahasa Indonesia yang baik dan benar. Imbuhan (affixes) pada Bahasa Indonesia lebih kompleks bila dibandingkan dengan imbuhan (affixes)pada Bahasa Inggris. Karena seperti yang telah disebutkan di atas bahwa imbuhan (affixes) pada Bahasa Indonesia terdiri dari awalan (prefixes), sisipan (infixes), akhiran (suffixes), bentuk perulangan (repeated forms) dan confixes (kombinasi dari awalan dan akhiran). Proses Stemming merupakan pengelolaan keyword menjadi keyword yang utuh yaitu dengan menghilangkan imbuhan seperti diantaranya “yang”, “di”,

“ke”, “me”, “meng”, “kan” (Hapsari, 2015).

Cara kerja stemming pada umumnya ialah mentranformasi kata-kata dalam sebuah dokumen dengan melakukan pemotongan (pembuangan) imbuhan (affix), baik prefix

(23)

9

maupun suffix, dari sebuah term untuk mendapatkan kata dasar (root atau stem) dari kata berimbuhan. Contohnya:

membetulkan -> betul, berpegangan -> pegang. Ada dua poin yang dipandang ketika menggunakan stemmer yaitu:

- bentuk morfologi dari kata diasumsikan memiliki arti yang sama dan sebab itu harusnya dipetakan pada stem yang sama

- kata yang tidak memiliki arti yang sama harusnya tetap dipisahkan (Jivani, 2011).

2.1.2 Chatbot

Chatbot atau chatterbot adalah bagian dari teknik NLP (Natural Language Processing) agar dapat berkomunikasi dengan mesin menggunakan chat. Ada dua fungsi chatbot, fungsi pertama berdasarkan pada seperangkat aturan, dan versi yang lebih canggih lainnya menggunakan machine learning. Chatbot yang berfungsi berdasarkan aturan hanya dapat memberikan respon kepada perintah yang spesifik dan tingkat kecanggihannya disesuaikan dengan programnya. Chatbot yang menggunakan machine learning juga sering disebut sebagai artificial intelligence yang dapat menghadapi bahasa, tidak sebatas perintah atau commands. Membuat bot lebih seperti menciptakan karakter untuk sebuah novel atau skenario daripada seperti menulis sebuah program komputer (Bahartyan, 2014).

Pada dasarnya bot bekerja dengan cara melihat kata kunci dalam data yang masuk dan membalasnya dengan kata kunci yang paling cocok, atau pola kata-kata yang paling mirip dari basis data tekstual. Artinya, jika pengguna mengirim suatu permintaan maka bot akan membalasnya dengan respon yang spesifik sesuai dengan kata kunci yang dikirim. Sebagai contoh, misalnya pengguna mengirim atau mengetikkan suatu pertanyaan “Jam berapa toko anda buka besok pagi?” maka dengan informasi yang sudah tersedia, bot akan segera merespon sesuai dengan pertanyaan tersebut “Toko kami besok buka jam 9 pagi dan tutup jam 5 sore”. Disini anda hanya perlu memberikan perintah atau melakukan sebuah

(24)

percakapan baik itu dalam bentuk teks maupun audio, dan bot akan mencari data yang anda butuhkan sesuai dengan kata kunci yang anda berikan. Untuk membangun sebuah chatbot dibutuhkan kemampuan pemrogramman yang tinggi dan pengalaman pengembang untuk mendapatkan hasil level sederhana yang realistis

2.2. Algoritma Enhanced Confix Stripping (ECS) Stemmer

Setelah dilakukan beberapa percobaan dan analisis, ditemukan beberapa kata yang tidak dapat di-stemming menggunakan Confix Stripping Stemmer. Analisis terhadap kata-kata yang gagal di-stemming tersebut sebagai berikut :

1. Kurangnya aturan pemenggalan awalan untuk kata-kata dengan format “mem+p...”,

“men+s...”, dan “peng+k...”. Hal ini terjadi pada kata “mempromosikan”,

“memproteksi”, “mensyaratkan”, “mensyukuri” dan “pengkajian”.

2. Kurang relevannya aturan 17 untuk pemenggalan awalan pada kata-kata dengan format “menge+kata dasar” , seperti pada kata “mengerem”.

3. Adanya elemen pada beberapa kata dasar yang menyerupai suatu imbuhan. Kata-kata seperti “pelanggan”, “perpolitikan”, dan “pelaku” gagal distemming karena akhiran

“-an”, “-kan” dan “-ku” seharusnya tidak dihilangkan.

Untuk memperbaiki kesalahan-kesalahan di atas, algoritma ECS Stemmer melakukan beberapa buah perbaikan sebagai berikut :

1) Melakukan modifikasi dan penambahan aturan Tabel 2.1 (Algoritma Nazief dan Adriani) yang dapat dilihat pada Tabel 2.3. (Algoritma Enhanced Confix Stripping) 2) Menambahkan suatu algoritma tambahan untuk mengatasi kesalahan pemenggalan

akhiran yang seharusnya tidak dilakukan. Algoritma ini disebut loopPengembalianAkhiran, dan dilakukan apabila proses recoding gagal. Algoritma loopPengembalianAkhiran dideskripsikan sebagai berikut:

• Kembalikan seluruh awalan yang telah dihilangkan sebelumnya, sehingga menghasilkan model kata seperti berikut: [DP+[DP+[DP]]] + Kata Dasar.

Derivation Prefixes (DP) yakni kumpulan awalan yang dapat langsung diberikan pada kata dasar murni, atau pada kata dasar yang sudah mendapatkan penambahan sampai dengan 2 awalan. Termasuk di dalamnya adalah :

(25)

11

a. Awalan yang dapat bermorfologi (“me-”, “be-”, “pe-”, dan “te-”)

b. Awalan yang tidak bermorfologi (“di-”, “ke-” dan “se-”). Pemenggalan awalan dilanjutkan dengan proses pencarian di kamus kemudian dilakukan pada kata yang telah dikembalikan menjadi model tersebut.

• Kembalikan akhiran sesuai dengan urutan model pada bahasa Indonesia. Ini berarti bahwa pengembalian dimulai dari DS (“-i”, “-kan”, “-an”), lalu PP (“-ku”, “-mu”,

“-nya”), dan terakhir adalah P (“-lah”, “-kah”, “-tah”, “-pun”). Derivation Suffixes (DS) yakni kumpulan akhiran asli Bahasa Indonesia yang secara langsung ditambahkan pada kata dasar yaitu akhiran “-i”, “-kan”, dan “-an”. Inflection suffixes yakni kelompok akhiran yang tidak merubah bentuk kata dasar. Sebagai contoh, kata “duduk” yang diberikan akhiran “-lah” akan menjadi “duduklah”.

Kelompok ini dapat dibagi menjadi dua :

a. Particle (P) atau partikel, yakni termasuk di dalamnya “-lah”, “-kah”, “-tah”, dan

“-pun”.

b. Possessive Pronoun (PP) atau kata ganti kepunyaan, termasuk di dalamnya adalah “-ku” , “-mu”, dan “-nya”.

• Lakukan pengecekan di kamus kata dasar. Apabila ditemukan, proses dihentikan.

Apabila gagal, maka lakukan proses pemenggalan awalan berdasarkan aturan pada Tabel 2.1 (dengan revisi Tabel 2.3).

• Lakukan recoding apabila diperlukan. Recoding dilakukan dengan menambahkan karakter recoding di awal kata yang dipenggal. Pada Tabel 2.1, karakter recoding adalah huruf kecil setelah tanda hubung (“-“) dan terkadang berada sebelum tanda kurung. Sebagai contoh, kata “menangkap” (aturan 15), setelah dipenggal menjadi

“nangkap”. Karena tidak valid, maka recoding dilakukan dan menghasilkan kata

“tangkap”.

• Apabila pengecekan di kamus kata dasar tetap gagal setelah recoding, maka awalan-awalan yang telah dihilangkan dikembalikan lagi.

(26)

Tabel 2.1. Aturan pemenggalan awalan Stemmer Nazief dan Adriani

Aturan Format Kata Pemenggalan 1 berV... ber-V... | be-rV...

2 berCAP... ber-CAP... dimana C!=‟r‟ &

P!=‟er‟

3 berCAerV... ber-CaerV... dimana C!=‟r‟

4 belajar bel-ajar

5 beC1erC2... be-C1erC2... dimana

C1!={‟r‟|‟l‟}

6 terV... ter-V... | te-rV...

7 terCerV... ter-CerV... dimana C!=‟r‟

8 terCP... ter-CP... dimana C!=‟r‟ dan

P!=‟er‟

9 teC1erC2... te-C1erC2... dimana C1!=‟r‟

10 me{l|r|w|y}V... me-{l|r|w|y}V...

11 mem{b|f|v}... mem-{b|f|v}...

12 mempe{r|l}... mem-pe...

13 mem{rV|V}... me-m{rV|V}... | me-

p{rV|V}...

14 men{c|d|j|z}... men-{c|d|j|z}...

15 menV... me-nV... | me-tV

16 meng{g|h|q}... meng-{g|h|q}...

17 mengV... meng-V... | meng-kV...

18 menyV... meny-sV…

19 mempV... mem-pV... dimana V!=„e‟

20 pe{w|y}V... pe-{w|y}V...

Keterangan simbol huruf : C : huruf konsonan V : huruf vokal

A : huruf vokal atau konsonan

P : partikel atau fragmen dari suatu kata, misalnya ‘er’

Tabel 2.2 Modifikasi dan Tambahan Aturan pada Tabel 2.1 oleh Algoritma ECS Stemmer

Aturan Format Kata Pemenggalan

(27)

13

12 mempe... mem-pe...

16 meng{g|h|q|k}... meng-{g|h|q|k}...

35 terC1erC2... ter-C1erC2... dimanaC1!= „r‟

36 peC1erC2... pe-C1erC2..dimanaC1!={r|w|y|l|m|n}

Tabel 2.3 Modifikasi Aturan Untuk Tabel 2.1 oleh Algoritma ECS Stemmer

Aturan Format Kata Pemenggalan 14 men{c|d|j|s|z}... men-{c|d|j|s|z}...

17 mengV... meng-V... | meng-kV... | (mengV-... jika V=‟e‟) 19 mempA... mem-pA...denganA!=‟e‟

2.3. Algoritma Fuzzy String Matching

Fuzzy string matching merupakan pencocokan string secara samar, maksudnya pencocokan string dimana string yang dicocokkan memiliki kemiripan memiliki susunan karakter yang berbeda (mungkin jumlah atau urutannya), tetapi string tersebut memiliki kemiripan baik kemiripan tekstual / penulisan (approximate string matching) atau kemiripan ucapan (phonetic string matching).

Melakukan pencarian terhadap string yang sama dan juga string yang mendekati dengan string lain yang terkumpul dalam sebuah penampung atau kamus. Melakukan pencarian terhadap string yang sama dan juga string yang mendekati dengan string lain yang terkumpul dalam sebuah penampung atau kamus. Di dalam pencarian kata yang dilakukan oleh bot, dapat memanfaatkan metode Fuzzy String Matching yang membuat pengolahan data yang di inputkan menghasilkan output yang valid dan complete. (Wibowo, 2012) Kunci dari konsep pencarian ini adalah bagaimana memutuskan bahwa sebuah string yang dicari memiliki kesamaan dengan string tertampung di kamus, meskipun tidak sama persis dalam susunan karakternya. Untuk memutuskan kesamaan ini dipergunakan sebuah

(28)

fungsi yang diistilahkan sebagai similarity function. Fungsi ini akan bertugas memutuskan string hasil pencarian jika ditemukan string hasil pendekatan (aproksimasi). Fuzzy string matching selalu beroperasi dengan mengkonsumsi jumlah sumber komputasi yang besar (Sebastian, 2016).

Contoh

Teks : HUKUM SHALAT DI RUMAH

Pattern : HUKUMNYA SHOLAT DI RUMAH

HUKUM SHALAT DI RUMAH

HUKUMNYA SHOLAT DI RUMAH

Pada contoh di atas perbandingan karakter pertama sudah mengalami kecocokan, sebagaimana penjelasan di atas mengenai konsep fuzzy string matching ialah mencari kecocokan / kemiripan antara string yang dicari dengan string yang ada di kamus data.

Dalam kasus di atas kita bisa melihat bahwa ada kemiripan dalam beberapa kata yaitu:

HUKUM dengan HUKUMNYA SHALAT dengan SHOLAT

2.4. Penelitian Terdahulu

Beberapa penelitian sudah pernah dilakukan, diantaranya olehNila dan Afrianto (2015) dengan judul Rancang Bangun Aplikasi Chatbot Informasi Objek Wisata Kota Bandung Dengan Pendekatan Natural Language Processing. Penelitian ini dilakukan untuk memudahkan wisatawan yang ingin ke Bandung dan membantu mereka mencari

informasi objek wisata melalui chatbot tanpa harus melihat website ataupun melihat peta.

Penelitian selanjutnya dilakukan oleh Bahartyan et al. (2014) dengan judul Integrasi

Chatbot berbasis AIML pada website e-commerce sebagai virtual assistant dalam pencarian dan pemesanan produk(studi kasus edu4indo.com). Dalam penelitian ini peneliti dengan Menggunakan AIML(Artificial Intelligence Markup Languange) yaitu Bahasa pelengkap xml yang memungkinkan user untuk meng-custom chatbot maka penelitian

(29)

15

bermaksud untuk menjadikan customer service berupa chatbot sehingga proses pemesanan dan pencarian barang lebih mudah dan juga bisa bertahan selama 24 jam.

Penelitian selanjutnya dilakukan oleh Vimala Balakrishnan dan Ethel Lloyd-Yemoh (2015) dengan judul Stemming and Lemmatization: A Comparison of Retrieval Performances.Dalam penelitian ini peneliti bermaksud untuk membandingkan,performa mana yang lebih baik antara stemming atau lemmatization dan hasil akhirnya adalah stemming lebih cepat dan akurat.

Penelitian selanjutnya dilakukan oleh Gurning et al. ( 2016) dengan judul

Penerapan Fuzzy String Matching Pada Aplikasi Pencarian Tugas Akhir Mahasiswa Jurusan Sistem Informasi Berbasis Web.Dalam penelitian ini peneliti bertujuan untuk menerapkan Fuzzy String Matching agar para mahasiswa yang mengambil tugas akhir dapat mencari referensi melalui algoritma tersebut yang berbasis web tanpa perlu mencari dan membaca mengenai tugas akhir di perpustakaan.

Penelitian selanjutnya dilakukan oleh Sebastian Anu (2016) dengan judul Fuzzy Pattern Matching Algorithm for Location Based Approximate Strings.Dalam penelitian ini peneliti bermaksud menjelaskan bahwa Fuzzy Pattern Matching berhasil diaplikasikan dalam dunia biologi terutama untuk menemukan Faktor tranksripsi DNA yang mempunyai banyak nama dengan inisial-inisial tertentu.

(30)

Tabel 2.4. Penelitian Terdahulu

No. Peneliti Judul Metode Keterangan

1 Nila dan Afrianto, 2015

Rancang Bangun Aplikasi Chatbot Informasi Objek Wisata Kota Bandung Dengan Pendekatan Natural Language Processing

Natural Languange Processing

Penelitian ini dilakukan untuk memudahkan wisatawan yang ingin ke Bandung dan membantu mereka mencari informasi objek wisata melalui chatbot tanpa harus melihat website ataupun melihat peta

2 Bahartyan et al.

2014

Integrasi Chatbot berbasis AIML pada website e- commerce sebagai virtual assistant dalam pencarian dan pemesanan produk(studi kasus

edu4indo.com)

AIML languange

Dengan Menggunakan AIML(Artificial

Intelligence Markup Languange) yaitu Bahasa pelengkap xml yang memungkinkan user untuk meng-custom chatbot maka penelitian bermaksud untuk menjadikan customer service berupa chatbot sehingga proses pemesanan dan pencarian barang lebih mudah dan juga bisa bertahan selama 24 jam.

(31)

17

No. Peneliti Judul Metode Keterangan

3 Vimala

Balakrishnan dan Ethel Lloyd- Yemoh, 2015

Stemming and Lemmatization: A Comparison of Retrieval

Performances

Term Frquency

Penelitian ini bertujuan untuk

membandingkan,performa mana yang lebih baik antara stemming atau lemmatization dan hasil akhirnya adalah stemming lebih cepat dan akurat.

4 Gurning et al.

2016

Penerapan Fuzzy String Matching Pada Aplikasi Pencarian Tugas Akhir Mahasiswa Jurusan Sistem Informasi

Berbasis Web

Fuzzy String Matching

Dalam penelitian ini peneliti bertujuan untuk menerapkan Fuzzy String Matching agar para

mahasiswa yang

mengambil tugas akhir dapat mencari referensi melalui algoritma tersebut yang berbasis web tanpa perlu mencari dan membaca mengenai tugas akhir di perpustakaan.

5 Sebastian Anu, 2016

Fuzzy Pattern Matching Algorithm for Location Based Approximate Strings

Fuzzy Pattern Matching

Dalam penelitian ini peneliti bermaksud menjelaskan bahwa Fuzzy Pattern Matching berhasil diaplikasikan dalam dunia biologi terutama untuk menemukan Faktor tranksripsi DNA yang mempunyai banyak nama

(32)

dengan inisial-inisial tertentu.

Perbedaan penelitian yang dilakukan penulis dengan penelitian terdahulu adalah pada penelitian ini, penulis akan mengimplementasikan chatbot dengan menggunakan stemming dan string matching yang berguna untuk menjawab pertanyaan islami dengan baik dan benar. Sebelumnya belum ada penelitian tentang implementasi chatbot dengan stemming dan string matching untuk melakukan tanya jawab seputar Islam

(33)

BAB 3

ANALISA DAN PERANCANGAN

3.1. Data yang Digunakan

Data yang digunakan untuk menjawab pertanyaan pengguna seputar Islam bernama data.rive, dimana data tersebut berupa kumpulan pertanyaan dan jawaban yang dirangkum dari pdf dan beberapa website islami seperti eramuslim, dakwatuna serta muslim.or.id.

Spesifikasi dari data.rive tersebut berisi cakupan pertanyaan dan jawaban seputar sholat dan zakat dengan dalil yang shahih.

3.2. Arsitektur Umum

Pada awal proses ini berjalan maka user akan bertanya seputar sholat dan zakat pada akun Line pada smartphone yang telah sediakan kemudian pertanyaan tersebut akan di stemming dengan menggunakan algoritma Enhanced Confix Stripping sehingga berubah menjadi kata dasar lalu kata dasar tersebut dicari mana yang memiliki kecocokan/kemiripan kata dengan algoritma Fuzzy String Matching kemudian jika ditemukan maka jawaban akan ditampilkan di akun Line pada smartphone tersebut.

Adapun arsitektur umum yang menggambarkan setiap langkah metode yang digunakan dalam penelitian ini ditunjukkan pada Gambar 3.1.

(34)

Gambar 3.1. Arsitektur Umum

Arsitektur umum pada penelitian ini terbagi atas tiga bagian yaitu input, proses dan output.

3.1 Input

Bagian ini merupakan tahap awal sebelum melakukan pemrosesan utama. Input yang akan diproses oleh sistem berupa pertanyaan pengguna seputar Islam pada akun line yang sudah disediakan di smartphone. Misalnya inputan seperti berikut: Apa hukumnya qunut subuh?

Setelah pertanyaan diinputkan maka akan dilakukan proses stemming

(35)

21

3.2 Process

• Stemming

Langkah-lanngkah proses stemming ialah:

1. Kata yang sudah di tokenisasi di proses sebelumnya di ulang dengan fungsi pengulangan. Setiap kata yang di ulang sebelum di stem akan di cek ke kamus kata dasar apakah ada kata yang diproses tersebut. Jika kata ada di dalam kamus kata dasar maka proses stemming akan berhenti dan kata tersebut menjadi kata yang dasar.

Contoh dari pertanyaan di atas adalah “Apa hukumnya qunut subuh”. Jika dimasukkan pada proses nomor 1 yang berupa tokenisasi(pemecahan) kata maka hasilnya menjadi

“apa” “hukumnya” “qunut” “subuh”. Ternyata ada 3 kata yang sudah menjadi kata dasar yaitu “apa” “qunut” “subuh” sehingga hanya tinggal satu kata lagi untuk dilakukan penghilangan kata berimbuhan “nya”.Untuk menghilangkan kata berimbuhan “nya” selanjutnya akan dilihat pada proses berikutnya.

2. Cek dan Hilangkan inflectional suffixes. Dimulai dari inflectional particle, kemudian possessive pronoun. Inflectional particle adalah partikel kata seperti “-lah”, “-kah”, “- tah”, dan “-pun”. Possessive pronoun atau kata ganti kepunyaan, termasuk di dalamnya adalah “-ku” , “mu”, dan “-nya”.

Setelah kata “apa hukumnya qunut subuh” ditokenisasi maka akan masuk proses inflectional suffixes untuk menghilangkan beberapa imbuhan seperti contoh di atas.

Pada contoh di atas berupa “apa hukumnya qunut subuh” ternyata ada satu kata yang berimbuhan “nya” yaitu “hukumnya”. Maka pada proses inflectional suffixes akan dilakukan proses penghilangan imbuhan “nya” pada “hukumnya” sehingga didapatkan kata dasar menjadi “hukum”. Maka hasil stemming dari kata “Apa hukumnya qunut subuh” adalah “Apa hukum qunut subuh”. Selanjutnya akan dilakukan proses pencarian jawaban dengan menggunakan string matching untuk mendapatkan dalil yang sesuai dari pertanyaan pengguna.

(36)

• String Matching

Tahap pencarian kata pada string matching ialah:

1. Tahap pertama string dicocokan oleh kamus data dan apabila memiliki kecocokan maka hasil cek ditampilkan.

2. Apabila belum ditemukan string tersebut lewat ke tahapan yang kedua yaitu string dicek kesamaan huruf awal, huruf akhir dan memiliki panjang string yang sama dan apabila ditemukan kecocokan maka akan ditampilkan.

Pada contoh di atas berupa “apa hukum qunut subuh” maka proses strring matching akan memulai dengan mencari kata pertama yang cocok dengan panjang string yang sama yaitu kata “apa hukum” dan “qunut subuh”. Setelah dilakukan pengecekan pada kamus data ternyata ada kata yang cocok yaitu “ (bagaimana|apa) hukum qunut subuh”

kemudian proses string matching melihat ada kecocokan antara “apa hukum” dengan

“apa hukum” dan “qunut subuh” dengan “qunut subuh” sehingga pertanyaan pengguna dapat diambil dari pertanyaan pada kamus data yaitu “(bagaimana|apa) hukum qunut subuh) karena ada kecocokan antara kata awal dan kata akhir.

Maka jawaban dari pertanyaan “apa hukum qunut subuh” ialah

Dari Anas bin Malik, ia berkata: “Rasulullah Saw terus menerus membaca Qunut pada shalat Shubuh hingga beliau meninggal dunia”. Hadits ini riwayat Imam Ahmad, ad- Daraquthni dan al-Baihaqi. Qunut Shubuh Menurut Mazhab Syafi’i:

Adapun Qunut, maka dianjurkan pada I’tidal kedua dalam shalat Shubuh berdasarkan riwayat Anas, ia berkata: “Rasulullah Saw terus menerus membaca doa Qunut pada shalat Shubuh hingga beliau meninggal dunia”. Diriwayatkan oleh Imam Ahmad dan imam lainnya. Imam Ibnu ash-Shalah berkata,“Banyak para al-Hafizh (ahli hadits) yang menyatakan hadits ini adalah hadits shahih. Diantara mereka adalah Imam al- Hakim, al-Baihaqi dan al-Balkhi”. Al-Baihaqi berkata, “Membaca doa Qunut pada shalat Shubuh ini berdasarkan tuntunan dari empat Khulafa’ Rasyidin”.

(37)

23

3.3 Output

Outputnya adalah jawaban valid atas pertanyaan pengguna yang ditampilkan pada layar smartphone.

3.3. Diagram Aktivitas 3.3.1 Diagram Aktivitas Home

Diagram aktivitas menggambarkan aktivitas yang bisa dikerjakan pada menu home.

Ketika user masuk ke menu di smartphone berupa akun line, sistem akan menampilkan isi dari menu tersebut. Diagram aktivitas home dapat dilihat dalam Gambar 3.2

Gambar 3.2. Diagram Aktivitas Home

(38)

3.3.2 Diagram Aktivitas Chatbot

Diagram aktivitas chatbot menggambarkan aktivitas yang bisa dikerjakan pada menu chatbot. Ketika user masuk ke menu chatbot, sistem akan menampilkan halaman tampilan chatbot. User akan menginput pertanyaan seputar Islam yang akan di stemming dan di lakukan string matching dan hasilnya akan ditampilkan di layar smartphone user.Diagram aktivitas chatbot bisa dilihat dalam Gambar 3.3.

(39)

25

Gambar 3.3. Diagram Aktivitas Chatbot

(40)

3.4. Perancangan Antarmuka Sistem

3.4.1 Rancangan Tampilan Home

Tampilan home adalah halaman utama sistem. Rancangan tampilan home dapat dilihat pada Gambar 3.4

Gambar 3.4. Rancangan Tampilan Home Keterangan :

1. : Nama aplikasi berupa akun Line

Nama aplikasi dari chatbot ini adalah IslamicBot yang diaplikasikan pada akun Line smartphone agar pengguna bisa dengan mudah bertanya pada chatbot hanya dengan

(41)

27

menambahkan QR Code atau menambahkan melalui kirman dari teman yang sudah menambahkan IslamciBot sebelumnya.

2. : Akun line pengguna

Pengguna hanya bisa bertanya jika ia merupakan pengguna Line 3. :Pertanyaan pengguna

Ketika penguna akan bertanya seputar sholat dan zakat maka pertanyaan tersebut akan dilihat oleh bot dan langgsung meresponnya dengan memberikan dalil dari pertanyaan pengguna

4. :Chatbot

Merupakan avatar dari bot yang akan menjawab pertanyaan pengguna 5. :Jawaban dari chatbot berupa dalil dari pertanyaan si pengguna

Jawaban atas pertanyaan pengguna akan disampaikan dengan lengkap beserta dengan referensi yang digunakan baik itu dari Al-Quran maupun Hadits.

(42)

BAB 4

IMPLEMENTASI DAN PEMBAHASAN

Pada bab ini akan dijelaskan tentang proses pengimplementasian dari chatbot dengan algoritma Enhanced Confix Stripping dan algoritma Fuzzy String Matching pada sistem ,sesuai dengan perancangan sistem yang telah dilakukan di Bab 3 serta melakukan pengujian sistem yang telah di bangun.

4.1. Implementasi Sistem

Dalam tahap implementasi sistem sesuai dengan perancangan pada Bab 3, sistem akan diimplementasikan menggunakan Bahasa pemrograman Python.

4.1.1. Spesifikasi Perangkat Lunak yang Digunakan

Spesifikasi perangkat lunak yang digunakan untuk membangun sistem ini adalah sebagai berikut:

1. Sistem operasi Microsoft Windows 10 Enterpise 64-bit 2. JetBrains Pycharm Community Edition 2017 1.8 64-bit 3. Python: 3.7.0b2

4. Aplikasi design Flowchart Online www.draw.io

5. Aplikasiuntuk meletakkan data python pada Cloud Platform yaitu www.heroku.com

6. Adobe Ilustrator CC 2017

7. Chatbot menggunakan library dari rivescritpt.com

4.1.2. Implementasi Perancangan Antarmuka

Implementasi perancangan antarmuka berdasarkan perancangan antarmuka sistem yang telah dibahas pada Bab 3 adalah sebagai berikut.

(43)

29

a. Tampilan Halaman Home

Tampilan halaman home adalah halaman awal yang ditunjukkan ketika membuka system.

Halaman ini dibuat dengan menggunakan chatbot dari library rivescript.com sebagai wadah awal pengguna untuk melakukan tanya jawab terhadap chatbot dan cloud platform yaitu heroku.com untuk meletakkan kodingan python kemudian dibuat akun line dengan menggabungkan link dari cloud Heroku sehingga muncul tampilan halaman home berupa akun line chatbot yang siap untuk menjawab pertanyaan pengguna seputar Islam. Tampilan halaman home dapat dilihat pada Gambar 4.1

Gambar 4.1 Tampilan Halaman Home

b. Tampilan Halaman Chatbot

Halaman chatbot adalah halaman inti untuk sistem ini. Proses chatbot dilakukan dalam tampilan ini. Tampilan halaman stemming dapat dilihat pada Gambar 4.2.

(44)

Gambar 4.2. Tampilan Halaman Chatbot

4.1.3. Prosedur Operasional

Pada sistem ini, tampilan yang pertama kali muncul adalah halaman home seperti yang ditunjukkan pada Gambar 4.1. Didalam tampilan home terdapat pilihan untuk melakukan tanya jawab. Untuk melanjutkan pengujian sistem, user tinggal bertanya ke chatbot tentang pertanyaan apa yang ingin ditanyakan.

Adapun prosedur operasional yang dilakukan user ialah:

User bertanya kepada chatbot seputar pertanyaan Islam kemudian pertanyaan tersebut di stemming dengan algoritma Enhanced Confix Stripping untuk merubahnya menjadi kata dasar setelah itu kata dasar tersebut dilakukan proses Fuzzy String Matching untuk mencari jawaban pengguna dengan berdasarkan kemiripan penulisan dari kata dasar dengan kamus data yang berisi dalil-dalil seputar Islam.

(45)

31

Gambar 4.3. Tampilan Operasional Chatbot

4.2. Pengujian Sistem

Ketika sistem sudah selesai dibangun maka akan dilakukan pengujian sistem. Pengujian sistem ini bertujuan untuk mengetahui apakah sistem berfungsi dengan baik serta mengukur performa chatbot seperti kecepatan menjawab, kecepatan proses stemming, dan ketepatan jawaban dengan pertanyaan pengguna yang diimplementasikan pada sistem ini.

Hasil pengujian dibuat kedalam tabel untuk masing-masing penilaian. Hasil pengujian chatbot dapat dilihat pada tabel-tabel berikut.

(46)

Tabel 4.1. Hasil Pengujian Chatbot dengan algoritma ECS dan Fuzzy String Matching

Inputan untuk chatbot

Proses Stemming

Ketepatan jawaban dengan pertanyaan Hasil

1.berapa kali kita

melakukan sholat

berapa kali kita laku sholat

Tidak boleh,karena Rasulullah bersabda

“Rasulullah shallallahu ‘alaihi wa sallam pernah shalat bersama kami lima raka’at.

Kami pun mengatakan, “Wahai Rasulullah, apakah engkau menambah dalam shalat?” Lalu beliau pun mengatakan, “Memang ada apa tadi?”

Para sahabat pun menjawab, “Engkau telah mengerjakan shalat lima raka’at.”

Lantas beliau bersabda, “Sesungguhnya aku hanyalah manusia semisal kalian. Aku bisa memiliki ingatan yang baik sebagaimana kalian. Begitu pula aku bisa lupa sebagaimana kalian pun demikian.”

Setelah itu beliau melakukan dua kali sujud sahwi.” (HR. Muslim no. 572)

Tidak cocok

2.jelaskan manfaat sholat

Jelas manfaat sholat

Pewaris Surga Firdaus dan kekal didalamnya.Allah Ta’ala berfirman(yang artinya),”Sungguh beruntung orang-orang yang beriman…dan orang yang memelihara sholat mereka itulah orang- orang yang akan mewarisi,(yakni)yang akan mewarisi syurga Firdaus.mereka

Cocok

(47)

33

kekal di dalamnya”.(QS.Al Mu’minun:1- 11)

3.Kapan shalat shubuh dilaksanakan

Kapan shalat shubuh laksana

No Reply Matched Tidak Cocok

4.boleh gk bayar zakat fitrah sesudah sholat id

Boleh gk bayar zakat fitrah sudah sholat id

Tidak boleh,karena zakat fitrah hanya diserahkan pada saat akhir bulan

Ramadhan.Dari Ibnu Abbas

radhiallahu’anhu beliau

mengatakan:”Rasulullah shalallahu ‘alaihi wasallam telah mewajibkan zakat fitri,berupa 1 sha’ kurma atau satu sha’

gandum kepada hamba sahaya maupun orang merdeka,baik laki-laki atau perempuan,baik anak kecil maupun orang dewasa dari kalangan kaum muslimin.Dan beliau memerintahkan untuk menunaikannya sebelum orang-orang keluar untuk shalat id”(HR.Bukhari no.1503,Muslim no.984)

Cocok

5.bagaimana hukumnya tidak bayar zakat

bagaimana hukum tidak bayar zakat

Orang yang enggan menunaikan zakat dalam keadaan meyakini wajibnya,ia adalah orang fasik dan akan mendapatkan siksa yang pediha di akhirat.Dari abu Hurairah,Rasulullah shalallahu ‘alaihi wasallam bersabda,

Siapa saja yang memiliki emas atau perak tapi tidak mengeluarkan zakatnya melainkan pada hari kiamat nanti akan

Cocok

(48)

disepuh untuknya lempengan dari api neraka,lalu dipanaskan dalam api neraka Jahannam,lalu disetrika dahi, rusuk dan punggungnya dengan lempengan tersebut.Setiap kali dingin akan disepuh lagi dan disetrikakan kembali kepadanya pada hari yang sama ukurannya dengan lima puluh ribu tahun.Kemudian ia melihat tempat kembalinya apakah ke surga atau ke neraka”.(HR.Muslim no.987)

6.apa perbedaan zakat fitrah dan zakat mal

apa beda zakat fitrah dan zakat mal

Jika Zakat fitrah ialah zakat diri yang diwajibkan atas diri setiap individu lelaki dan perempuan muslim yang berkemampuan dengan syarat-syarat yang ditetapkan,dan dibayar di akhir bulan Ramadhan.Kata fitrah yang ada merujuk pada keadaan manusia saat baru diciptakan sehingga dengan mengeluarkan zakat ini manusia dengan izin Allah akan kembali fitrah.Sedangkan zakat mal adalah zakat yang dikenakan atas harta yang dimiliki individu dengan dua syarat yaitu mencapai nishab dan telah berlalu satu haul(satu tahun).

Cocok

Dari pengujian diatas dan lampiran yang berjumlah 27 dengan jawaban yang benar adalah 19 maka persentase dari pengujian chatbot adalah 19/27 * 100% = 70,37 %.Hal ini dikarenakan pada algoritma fuzzy string matching melakukan proses pencarian dengan melihat beberapa kata yang mirip saja baik itu di awal maupun di akhir sehingga kalimat utuh dari pertanyaan pengunna cukup banyak yang diabaikan. Misalnya ketika pengguna

(49)

35

bertanya “Apa saja yang membatalkan shalat?”. Ketika dilakukan proses string matching maka proses tersebut akan mencari mulai dari “apa saja” kemudia lanjut ke “yang membatalkan” dan yang terakhir “shalat”. Kamus data yang berisi himpunan dalil mengenai sholat serta zakat berisi pertanyaan dan jawaban, menemukan ada kata yang cocok pada bagian pertama yaitu “apa saja rukun dalam shalat”. Kata “apa saja” tersebut menjadi acuan dalam proses string matching kemudian kata “yang membatalkan shalat”

dari pertanyaan pengguna ditemukan ada kemiripan pada bagian akhir yaitu “shalat” dan

“zakat” maka kalimat pertanyaan dari pengguna “Apa saja yang membatalkan shalat”

diambil kata cocok pada “Apa saja rukun dalam shalat” dan jawaban dari “apa saja rukun dalam shalat” ialah:

Rukun pertama : Berdiri bagi yang mampu Rukun kedua : Takbiratul Ihram

Rukun ketiga : Membaca Al Fatihah di setiap rakaat Rukun keempat dan kelima : Ruku’ dan Thuma’ninah

Rukun keenam dan ketujuh : I’tidal setelah ruku’ dan thu’maninah Rukun kedelapan dan kesembilan : Sujud dan thumani’nah

Rukun kesepuluh dan kesebelas : Duduk diantara dua sujud dan thuma’ninah Rukun kedua belas dan ketiga belas : Tasyahud akhir dan duduk tasyahud

Rukun keempat belas : Shalawat kepada Nabi setelah mengucapkan tasyahud akhir Rukun kelima belas : Salam rukun keenam belas:Urut dalam rukun-rukun yang ada

(50)

BAB 5

KESIMPULAN DAN SARAN

Bab ini membahas tentang kesimpulan yang diperoleh dari implementasi algoritma enhanced confix stripping dan fuzzy string matching dalam menjawab pertanyaan pengguna seputar sholat beserta zakat dan saran-saran yang dapat digunakan sebagai referensi untuk pengembangan penelitian selanjutnya

5.1. Kesimpulan

Dari hasil pengujian sistem pada Bab 4, diperoleh kesimpulan sebagai berikut.

1. Chatbot yang mengimplementasikan algoritma fuzzy string matching memiliki jawaban dengan tingkat akurasi 70,37% dalam proses mencari jawaban pengguna yang berupa dalil tentang Islam. Ini disebabkan metode fuzzy string matching melakukan proses pencarian kata dimulai dari kata pertama yang mirip dengan panjang string yang sama kemudian lanjut ke kata terakhir dengan panjang string yang sama yang apabila sudah ditemukan maka sistem akan cenderung mengabaikan beberapa kata yang lain dari pertanyaan pengguna sehingga beberapa kata dari pertanyaan pengguna ada yang tidak diproses sehingga apabila kata pertama cocok maka sistem akan lebih mengarah ke kata pertama yang cocok tersebut dan menyebabkan jawaban yang ditampilkan tidak benar

2. Chatbot yang mengimplementasikan algoritma fuzzy string matching mampu melakukan pencarian jawaban dengan benar hanya jika kamus data yang berisi pertanyaan dan jawaban di kamus data diperbanyak kosakata pertanyaannya misal:berapakah, siapa yang berhak, dll. Sehingga kata pertama yang sering menjadi acuan dalam proses fuzzy string matching bisa mendapatkan jawaban yang sesuai dengan pertanyaan pengguna.

(51)

37

3. Chatbot dengan algoritma enhanced confix stripping dan fuzzy string matching kurang cocok dalam menjadikan chatbot sebagai teknologi untuk memudahkan pengguna dalam mencari dalil seputar Islam.

4. Penerapan algoritma fuzzy string matching pada chatbot tidak mempengaruhi hasil dari kata yang di stem, karena menggunakan algoritma stemmer sehingga tidak mengubah urutan atau langkah-langkah dalam algoritma stemming itu sendiri.

5.2 Saran

Saran yang dapat diberikan penulis untuk pengembangan penelitian selanjutnya adalah sebagai berikut:

1. Untuk mendapatkan hasil pencarian yang maksimal, maka aplikasi ini dapat dikembangkan dengan melakukan penambahan metode seperti algoritma algoritma crawling atapun algoritma pencocokan string yang lain.

2. Menggunakan metode perankingan dan pengindeksan dalam penyajian hasil pencarian sehingga hasil yang paling relevan disajikan pada urutan pertama

(52)

DAFTAR PUSTAKA

Abdul-Kader, A. S. & John Woods. 2015. Survey on Chatbot Design Techniques in Speech Conversation Systems. International Journal of Advanced Computer Science and Applications.

Akhsan, A. A. & Faizah,. 2017. Analisis dan Perancangan Interaksi Chatbot Reminder Dengan User Centered Design. Jurnal Sistem Informasi.

Anggara N, AdeR & Mahmud D. S. 2013. Implementasi Modifikasi Algoritma Enhanced Confix Stripping Stemmer Pada Teks Bahasa Indonesia. 3:1-13.

Bahartyan E, Nurdin B & Indra W. 2014. Integrasi Chatbot Berbasis AIML Pada Website E-Commerce Sebagai Virtual Assistant Dalam Pencarian dan Pemesanan Produk.

Integrasi chatbot berbasis Aiml pada Website E-Commerce.

Balakrishnan, V. and Ethel L.Y. 2014. Stemming and Lemmatization: A Comparison of Retrieval Performances. Lecture Notes on Software Engineering

Gurning Ardi I. A, Zarnelly. & Arabiatul A. 2016. Penerapan Fuzzy String Matching pada Aplikasi Pencarian Tugas Akhir Mahasiswa Jurusan Sistem Informasi Berbasis Web.

Jurnal Rekayasa dan Manajemen Sistem Informasi.

Hapsari, R.K. & Yunus J.S. 2015. Stemming Artikel Berbahasa Indonesia Dengan Pendekatan Confix - Stripping. Prosiding Seminar Nasional Manajemen Teknologi.

Surabaya, Indonesia

Jivani, A. G. 2011. A Comparative Study of Stemming Algorithms. .Int. J. Comp. Tech.

Appl.

Nabi, Sk. Abdul. & P Premchand. 2012. Effective Performance of Information Retrieval on Web by Using Web Crawling. International Journal of Web & Semantic Technology.

Nila, Elisabeth S.C.P. & Irawan Afrianto. 2015. Rancang Bangun Aplikasi Chatbot Informasi Objek Wisata Kota Bandung dengan Pendekatan Natural Language Processing. Jurnal Ilmiah Komputer dan Informatika.

(53)

39

Rajput, Brajendra S. & Nilay K. 2015.. A Survey of Stemming Algorithms for Information Retrieval. IOSR Journal of Computer Engineering.

Sebastian, A. & Joby G. 2016.Fuzzy Pattern Matching Algorithm for Location Based Approximate Strings. International Journal Of Scientific & Engineering Research.

Stubbs, A. & James P. 2011. Natural Language Annotation for Machine Learning.

O’Reilly.

Tahitoe, Andita D & Purwitasari Diana. 2014. Implementasi Modifikasi Enhanced Confix Stripping Stemmer Untuk Bahasa Indonesia Dengan Metode Corpus Based Stemmin.

Implementasi Modifikasi Enhanced Confix Stripping Stemmer. Vol. 3, No. 7.

Wibowo, P. & Ahmad Z. F. 2012. Sistem Customer Service Cerdas Menggunakan Metode Fuzzy String Matching Pada E - Commerce. Semarang, Indonesia.

Zain, M.Y & Suswati. 2016. Information Retrieval Sysrem Pada Pencarian File Dokumen Berbasis Teks Dengan Metode Vector Space Model dan Algoritma Ecs Stemmer.

Jurnal Insand Comtech.

(54)

LAMPIRAN 1

Contoh inputan untuk chatbot

Nama Pertanyaan Jawaban Hasil

1. Fajar Rasyid Jumlah raakat shalat subuh

Rukun pertama : Berdiri bagi yang mampu

Rukun kedua : Takbiratul Ihram Rukun ketiga : Membaca Al Fatihah di setiap rakaat

Rukun keempat dan kelima : Ruku’ dan Thuma’ninah

Rukun keenam dan ketujuh : I’tidal setelah ruku’ dan thu’maninah

Rukun kedelapan dan kesembilan : Sujud dan thumani’nah

Rukun kesepuluh dan kesebelas : Duduk diantara dua sujud dan thuma’ninah

Rukun keduabelas dan ketigabelas : Tasyahud akhir dan duduk tasyahud

Tidak Cocok

(55)

41

Rukun keempatbelas :

Shalawat kepada Nabi setelah mengucapkan tasyahud akhir Rukun kelima belas : Salam Rukun keenam belas: : Urut dalam rukun-rukun yang ada 2. Fajar Rasyid apa itu zakat Zakat adalah bagian tertentu

dari kekayaan yang Allah perintahkan untuk dikeluarkan dan diberikan kepada yang berhak(mustahiq).

Cocok

3. Fajar Rasyid Bisakah menitipkan zakat

Tidak boleh,karena Sujud adalah salah satu rukun salat.

Ath Thabari dalam Tafsir-nya menyebutkan:

“(Rukuklah) kepada Allah dalam shalat kalian dan (sujudlah) di dalam salat kalian” (Tafsir Ath Thabari) Dan ijma’ para ulama bahwa sujud adalah rukun salat, tidak sah salat jika sujud ditinggalkan. Imam An-

Nawawi mengatakan:

Sujud hukumnya wajib berdasarkan nash Alquran, sunnahm dan ijma.” (Al Majmu’, 3/421)

Tidak Cocok

(56)

4. Eka Syahputra apakah sholat

perlu niat

Ya, karena semua amal mesti diawali sesuai sabda Rasulullah SAW yang diriwayatkan dari Umar bin al- Khaththab:”Sesungguhnya semua amal-amal itu hanya dengan niat,seseorang akan mendapatkan sesuai dengan niatnya”. (HR.al-Bukhari dan Muslim).

Cocok

5. Eka Syahputra Siapa yang berhak menerima zakat

1. Berniat untuk shalat

2. Berdiri tegak menghadap kiblat

3. Melakukan takbiratul ihram 4. Bersedekap

5. Membaca doa istiftah

6. Membaca ta’awudz lalu basmalah

7. Membaca Al Fatihah

8. Membaca surat dari Al Quran 9. Rukuk

10. I’tidal

11. Melakukan sujud pertama 12. Duduk di antar dua sujud 13. Melakukan sujud kedua 14. Melakukan duduk istirahat dan bangun menuju rakaat kedua

15. Melakukan tata cara yang sama seperti rakaat pertama

Tidak Cocok

(57)

43

16. Cara duduk tasyahud awal 17. Cara duduk tasyahud akhir 18. Berdoa sebelum salam 19. Salam

6. Eka Syahputra jika saya mengeluarkan zakat fitrah selain Ramadhan boleh tidak

Tidak boleh karena zakat fitrah hanya akan diserahkan di akhir bulan Ramadhan. Dari Ibnu Abbas radhiallahu’anhu beliau mengatakan:

“Rasulullah shalallahu ‘alaihi wa sallam telah mewajibkan zakat fitri, berupa 1 sha’ kurma atau satu sha’ gandum kepada hamba sahaya maupun orang yang merdeka, baik laki-laki atau perempuan, baik anak kecil maupun orang dewasa dari kalangan kaum Muslimin.

Dan beliau memerintahkan untuk menunaikannya sebelum orang-orang keluar untuk shalat ‘Id” (HR. Bukhari no.1503, Muslim no. 984)

Cocok

7. Fara Gamara kalau perempuan sholat

boleh dengan beberapa catatan seperti di hadits pertama: Dari Abdullah, dari Rasulullah Saw,

Cocok

(58)

berjamaah ke masjid boleh gk?

beliau bersabda: “Shalat perempuan di dalam Bait lebih baikdaripada shalatnya di dalam Hujr. Shalat perempuan di dalam Makhda’ lebih baik daripada shalatnya di dalam Bait”. (HR. Abu Daud). Hadits ini menunjukkan makna bahwa perempuan lebih baik shalat di tempat yang jauh dari keramaian.Hadits kedua: Dari Abdullah bin Umar, sesungguhnya Rasulullah Saw bersabda: “Janganlah kamu melarang hamba Allah yang perempuan ke rumah-rumah Allah (masjid)”. (HR. al- Bukhari dan Muslim).Pendapat Imam an-Nawawi: Jika tidak menimbulkan fitnah, perempuan tersebut tidak memakai wangi-wangian (yang membangkitkan nafsu).

Rasulullah Saw bersabda:

“Janganlah kamu larang hamba Allah yang perempuan ke rumah-rumah Allah (masjid).

Hadist ini ini dan yang semakna dengannya jelas bahwa perempuan tidak dilarang ke

Gambar

Gambar 3.1. Arsitektur Umum
Gambar 3.2. Diagram Aktivitas Home
Gambar 3.3. Diagram Aktivitas Chatbot
Gambar 4.1 Tampilan Halaman Home
+4

Referensi

Dokumen terkait

Selain itu akibat hukum dari jual beli tanah tidak beserta dengan pohon kelapa di atasnya memiliki perbedaan dengan asas pemisahan horisontal yang dianut dalam

Pada perlakuan ini, tepung jagung hasil pragelatinisasi dilanjutkan dengan modifikasi fermentasi dengan kultur campuran, diduga tepung jagung termodifikasi lebih

Perlu dilakukan penelitian lebih lanjut agar didapatkan pengurangan telur yang lebih besar dari 40% dengan menggunakan konsentrasi gum xanthan yang tepat pada

Dalam menyusun skripsi ini, digunakan metode penelitian hukum normatif yang bersifat deskriptif, dimana penelitian hukum normatif yaitu penelitian yang menganalisis

- OTONOMI DAERAH, PEMERINTAHAN UMUM, ADMINISTRASI KEUANGAN DAERAH, PERANGKAT DAERAH, KEPEGAWAIAN DAN PERSANDIA 1.20.28... BETONISASI

dengan peringkat ketiga dalam hal pelaksanaan KIP.Keberhasilan ini tentu tidak lepas dari jerih payah PPID SETJEN DPR RI dalam betugas melayani masyarakat untuk memperoleh

dikategorikan prestasi belajar siswa kurang, dan skor antara 39 sampai 88 prestasi belajar siswa dikategorikan cukup.Dari tingkatan tersebut dapat diketahui bahwa

Proses pengambilan data dilakukan pada industri injection moulding meliputi arus listrik sebagai sumber energi utama yang dialirkan pada mesin terutama pada saat