implementasi pembentukan kalimat valid pada sistem chatbot

79
Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot TUGAS AKHIR Disusun dalam rangka memenuhi salah satu persyaratan Untuk menyelesaikan program Strata-1 Departemen Teknik Informatika Fakultas Teknik Universitas Hasanuddin Makassar Disusun Oleh ARMIANI PUTRI D42114016 DEPARTEMEN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS HASANUDDIN MAKASSAR 2018

Upload: others

Post on 02-Jan-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

Implementasi Pembentukan Kalimat Valid Pada

Sistem Chatbot

TUGAS AKHIR

Disusun dalam rangka memenuhi salah satu persyaratan

Untuk menyelesaikan program Strata-1 Departemen Teknik Informatika

Fakultas Teknik Universitas Hasanuddin

Makassar

Disusun Oleh

ARMIANI PUTRI

D42114016

DEPARTEMEN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS HASANUDDIN

MAKASSAR

2018

Page 2: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

ii

Page 3: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

iii

ABSTRAK

Bahasa sebagai bagian terpenting dalam kehidupan manusia untuk

berkomunikasi dalam bentuk tulisan maupun lisan. Sehingga dalam

percakapan secara tertulis belum tahu persis dengan baik dan benar dalam

tata Bahasa Indonesia yang mulai dilupakan akibat perkembangan Bahasa

populer. User sering mencampurkan tata Bahasa tanpa memperhatikan

kalimat yang digunakan. Selain itu, dalam percakapan sering dilakukan

kesalahan dengan mempersingkat kata sehingga dapat menyebabkan arti

kata tersebut tidak sesuai dengan yang diinginkan oleh user dalam

percakapan. Oleh sebab itu, maka penulis beinisiatif untuk menerapkan

proses pembentukan kalimat valid pada sistem chatbot yang bertujuan untuk

mempermudah apabila user menggunakan kata singkatan maupun

kesalahan pengetikan (typo) dalam percakapan menggunakan chatbot.

Sistem diimplementasikan menggunakan Algoritma Levenshtein dalam

pengkoreksian kata yang mengandung unsur kesalahan dengan

menggunakan metode Approximate String Matching yang berfungsi untuk

menghitung jumlah proses yang dibutuhkan dan membanding antara kata

target yang memenuhi dengan memilih bobot yang terkecil. Pada proses

pengujian yang dilakukan menghasilkan tingkat akurasi tertinggi 90% dari

empat pengujian dengan data sebanyak 40 kalimat.

Keywords : Bahasa Indonesia, Algoritma Levenshtein, Approximate

String Matching, Typographical Error, Chatbot

Page 4: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

iv

KATA PENGANTAR

Assalamu Alaikum Wr. Wb.

Dengan memanjatkan puji syukur kehadirat Tuhan Yang Maha Esa yang telah

melimpahkan segala rahmat-Nya kepada penulis sehingga Tugas Akhir dengan judul

“IMPLEMENTASI PEMBENTUKAN KALIMAT VALID PADA SISTEM CHATBOT” dapat

diselesaikan sebagai salah satu syarat dalam menyelesaikan jenjang Strata-1 pada

Departemen Teknik Informatika Fakultas Teknik Universitas Hasanuddin.

Penulis menyadari bahwa dalam penyusunan dan penulisan skripsi ini tidak lepas

dari bantuan, bimbingan serta dukungan dari berbagai pihak, dari masa perkuliahan

sampai dengan masa penyusunan tugas akhir, sangatlah sulit untuk menyelesaikan tugas

akhir ini. Oleh karena itu, penulis dengan senang hati menyampaikan terima kasih kepada:

1) Allah SWT atas segala kuasa-Nya.

2) Kedua Orang tua saya, Bapak M. Arsyad dan Ibu Hasmida M, yang selalu

memberikan dukungan, doa, dan semangat serta selalu sabar dalam

mendidik saya sejak kecil serta saudara saya Armansyah dan Nur Aliyah

Zhakina;

3) Bapak Dr. Amil Ahmad Ilham, ST., M.IT, selaku Ketua Departemen

Teknik Informatika Fakultas Teknik Universitas Hasanuddin;

4) Bapak Dr. Amil Ahmad Ilham, ST., M.IT, selaku pembimbing 1 dan Bapak

Dr. Eng. Zulkifli Tahir, S.T., M.Sc, yang selalu menyediakan waktu,

tenaga, perhatian, pikiran dan ide dalam penyusunan Tugas Akhir;

Page 5: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

v

5) Bapak dan Ibu Dosen serta Staf Departemen Teknik Informatika

Universitas Hasanuddin;

6) Terima kasih untuk teman- teman Sarjana Sukses, Winda Astiyanti, Saqiraz

Nurbaitil Atik Cahyati, Fitriani Idrus, Nurindasari, Rizka Iriyanti.

7) Keluarga LAB Cloud Computing Unhas yang telah memberikan dukungan

dan diskusi progress penyusunan dalam Tugas Akhir;

8) Terima kasih kepada teman kost seperjuangan saya, Adzhani Riska Putri,

Riska Savitri, Tiwi Nursafitri, Winda Astiyanti;

9) Terima kasih kepada Trio Gowa, Zulfahmi Haeril, Muh. Fachrial, dan

David Renhard;

10) Keluarga Twister atas doa dan semangat yang siberikan selama ini;

11) Terima kasih kepada teman SMA saya, Nur Permatasari, Rita Wahdania

Saragi, Nurul Octaviani, Andi Fitratul Ramadhani, yang sampai sekarang

memberikan motivasi dan semangat;

12) Kepada teman pasangan Tugas Akhir saya Muh. Aryandi yang selalu

membantu dan memberikan solusi dalam penyusunan Tugas Akhir;

13) Keluarga angkatan 2014 Departemen Teknik Informatika FT UH atas

semua bantuan dan semangat yang diberikan selama ini;

14) Teman-teman Rectifier FT UH atas dukungan dan semangat yang diberikan

selama ini;

15) Orang-orang berpengaruh lainnya yang tanpa sadar telah menjadi inspirasi

penulis.

Page 6: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

vi

Akhir kata, penulis berharap semoga Allah SWT. berkenan membalas segala

kebaikan dari semua pihak yang telah banyak membantu. Semoga Tugas Akhir ini dapat

memberikan manfaat bagi pengembangan ilmu. Aamiin.

Wassalam

Makassar, Agustus 2018

Penulis

Page 7: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

vii

DAFTAR ISI

halaman

HALAMAN JUDUL ................................................................................................. i

LEMBAR PENGESAHAN ........................................................................................ ii

ABSTRAK ............................................................................................................... iii

KATA PENGANTAR ................................................................................................ iv

DAFTAR ISI ............................................................................................................ vii

DAFTAR GAMBAR ................................................................................................. ix

DAFTAR TABEL ..................................................................................................... x

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

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

1.2 Rumusan Masalah .............................................................................. 3

1.3 Tujuan Penelitian .............................................................................. 3

1.4 Manfaat Penelitian ........................................................................... 4

1.5 Batasan Masalah Penelitian .............................................................. 4

1.6 Sistematika Penulisan ........................................................................ 5

BAB II TINJAUAN PUSTAKA ................................................................................... 6

Page 8: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

viii

2.1 Pengertian Kalimat ............................................................................. 6

2.2 Teks .................................................................................................... 7

2.3 Kata Baku Bahasa Indonesia ............................................................... 8

2.4 Typographical Error ............................................................................ 8

2.5 Algoritma Levenshtein ....................................................................... 9

2.6 Langkah – Langkah Algoritma Levenshtein ........................................ 10

2.7 Approximate String Matching ............................................................ 12

2.8 MySQL ................................................................................................ 14

2.9 Bahasa Pemprograman ...................................................................... 15

2.10 XAMPP ............................................................................................. 19

BAB III METODOLOGI PENELITIAN ........................................................................ 21

3.1 Tahapan Penelitian............................................................................. 21

3.2 Waktu dan Lokasi Penelitian ............................................................. 22

3.3 Pengumpulan Data ............................................................................ 22

3.4 Instrumen Penelitian .......................................................................... 22

3.5 Perancangan Implementasi Sistem .................................................... 23

3.6 Analisis Kinerja Sistem ........................................................................ 28

BAB IV HASIL DAN PEMBAHASAN ......................................................................... 31

4.1 Hasil Penelitian ................................................................................... 31

Page 9: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

ix

4.2 Pembahasan ...................................................................................... 49

BAB V PENUTUP ................................................................................................... 53

A. Kesimpulan ......................................................................................... 53

B. Saran ................................................................................................... 54

DAFTAR PUSTAKA ................................................................................................ 55

LAMPIRAN ............................................................................................................ 57

Page 10: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

x

DAFTAR GAMBAR

Nomor halaman

Gambar 2.1 Pseudocode Algoritma Levenstein Distance ................................... 12

Gambar 2.2 MySQL (My Strukture Query Language ) ........................................ 14

Gambar 2.3 PHP (Perl Hypertext Preprocessor) ....................................... 15

Gambar 2.4 JavaScript ............................................................................... 17

Gambar 2.5 XAMPP................................................................................... 19

Gambar 3.1 Diagram tahapan penelitian .................................................... 21

Gambar 3.2 Proses input - output ............................................................... 23

Gambar 3.3 Proses kalimat ......................................................................... 24

Gambar 3.4 Flowxhart Levenshtein ........................................................... 26

Page 11: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

xi

DAFTAR TABEL

Nomor halaman

Tabel 3.1 Tabel Matriks Edit Distance ........................................................ 29

Tabel 4.1 Proses peleburan kalimat / tokonezing ......................................... 31

Tabel 4.2 Proses identifikasi kesalahan kata ................................................ 32

Tabel 4.3 Matriks Edit Distance .................................................................. 32

Tabel 4.4 Jumlah Data Uji .......................................................................... 34

Tabel 4.5 Rincian Hasil pengujian sistem pada kalimat pertanyaan............ 36

Tabel 4.6 Rincian Hasil pengujian sistem pada kalimat pertanyaan............ 39

Tabel 4.7 Rincian Hasil pengujian sistem pada kalimat pertanyaan............ 42

Tabel 4.8 Rincian hasil pengujian sistem dengan data uji chatbot .............. 45

Page 12: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Bahasa sebagai bagian penting dari kehidupan manusia untuk

berkomunikasi, dalam bentuk tulisan maupun lisan. Dalam penulisan tata bahasa

Indonesia memiliki dua klasifikasi kata berdasarkan tata ejaannya yaitu, kata baku

dan kata tidak baku. Penggunaan kata baku itu sendiri digunakan pada situasi yang

formal, sedangkan kata tidak baku sering digunakan dalam percakapan sehari-hari.

Faktor kebiasaan inilah, yang membuat seseorang sulit untuk membedakan mana

yang menjadi kalimat baku dan tidak baku.

Trend komunikasi telah berkembang sangat pesat dengan berkembangnya

teknologi saat ini. Dimana komunikasi dapat melalui aplikasi messenger atau video

call. Seperti yang telah kita ketahui saat ini, banyak pengguna dalam melakukan

percakapan tertulis belum tahu persis dengan baik dan benar tata bahasa Indonesia.

Mereka sering melakukan kesalahan dengan mencampurkan bahasa baku dan

bahasa populer atau mempersingkat kata karena kurangnya pemahaman mereka

tentang tata bahasa.

Menurut CEO Octane Al Matt Schicht, Chatbot merupakan sebuah layanan

yang didukung sebuah peraturan (mekanisme program) atau kecerdasan buatan

yang berinteraksi dengan pengguna melalui antarmuka chatting. Chatbot akan

menjadi salah satu trend teknologi paling atraktif. Salah satu yaitu chatbot dalam

pendidikan yang akan menjadi alat pembelajaran yang sangat berguna.

Page 13: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

2

Dalam chatbot itu sendiri dilakukan percakapan antar manusia dan

computer, sehingga diperlukan metode. Metode yang digunakan yaitu Natural

Language Processing (Pemrograman Bahasa Alami) yang merupakan pembuatan

program yang memiliki kemampuan untuk memahami bahasa manusia. Tujuan dari

pemrograman bahasa alami adalah melakukan proses pembuatan model komputasi

dari bahasa sehingga dapat terjadi suatu interaksi antara manusia dan komputer

dengan perantara bahasa alami (Nisa,dkk. 2015).

Salah satu kesalahan dalam suatu penulisan yaitu typographical error.

Typographical error merupakan kesalahan yang terjadi pada saat proses mengetik

teks dan dapat mengubah arti dari suatu kata bahkan arti dari suatu kalimat.

Kesalahan penulisan pada umumnya disebabkan karena kedekatan letak keyboard,

slip jari, ataupun dua karakter yang letaknya tertukar (Arina,dkk. 2018).

Akibat dari kesalahan ketik atau lebih dikenal dengan sebutan typo tersebut,

menyebabkan kerugian yang berakibat fatal. Dimana salah satu website

Liputan6.com memberikan informasi bahwa “Gara-Gara Typo Bikin Rugi Jutaan

Dolar, 7 Kasus Ini Buktinya”. Dalam informasi tersebut mengatakan bahwa dengan

satu huruf maupun tanda baca yang memiliki kesalahan dapat menyebabkan

perusahaan atau suatu buku merugi yang sangat tinggi. Dimana salah satunya

kesalahan ketik pada mata uang di sebuah negara. Pada tahun 2008, Chile salah

menuliskan nama negaranya sendiri pada mata uang yang menjadi ‘Cile’.

Kesalahan tersebut baru diketahui dan dilaporkan secara resmi pada akhir 2009.

Page 14: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

3

Dari kesalahan itu, perusahaan melakukan pemecatan secara massal dan segera

menyimpan koin yang memiliki kesalahan tersebut.

Sehingga, menurut Al-Ma’ruf dkk (dalam Nugrahani 2015) kesalahan-

kesalahan berbahasa Indonesia pada umumnya dapat dikategorikan dalam tiga hal,

yaitu (1) kesalahan karena struktur (tata bahasa), (2) diksi (pilihan kata), (3)

kesalahan karena kerancuan logika, dan (4) kesalahan karena ejaan.

Sehingga berdasarkan uraian tersebut penulis melakukan penelitian yang

diberi judul “Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot”.

1.2 Rumusan Masalah

Berdasarkan latar belakang diatas, penulis merumuskan permasalahan yaitu :

1. Bagaimana metode mengubah kata singkat pada sistem chatbot ?

2. Bagaimana mengimplementasikan pembentukan kalimat valid pada sistem

chatbot ?

1.3 Tujuan Penelitian

Tujuan dari penulisan ini adalah :

1. Untuk mengetahui metode yang dilakukan dalam mengubah kata singkat

pada sistem chatbot.

2. Untuk mengetahui suatu kalimat valid atau tidak sesuai pertanyaan yang

diinput pada sistem chatbot.

Page 15: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

4

1.4 Manfaat Penelitian

Manfaat dari tugas akhir ini adalah :

1. Untuk memudahkan sistem chatbot dalam mendapatkan jawaban yang

diinginkan oleh user.

2. Mempermudah user dalam penginput kalimat pertanyaan pada sistem

chatbot tanpa harus menggunakan kalimat yang yang tidak singkat atau

terstruktur.

1.5 Batasan Masalah Penelitian

Batasan masalah dalam penelitian ini adalah :

1. Kata yang diidentifikasi berupa kata dalam bahasa Indonesia.

2. Tidak dapat mengidentifikasi berupa perhitungan.

3. Menggunakan kalimat pertanyaan.

4. Inputan berupa kata singkatan.

5. Belum dapat mengidentifikasi simbol, karakter, dan lain-lain.

6. Database tentang pembelajaran Biologi Sekolah Menengah Atas (SMA).

Page 16: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

5

1.6 Sistematika Penulisan

Untuk mempermudahkan penulisan agar pembahasan yang disajikan lebih

sistematis, maka laporan ini dibagi dalam lima bab, isi masing-masing diuraikan

secara singkat dibawah ini :

BAB I PENDAHULUAN

Bab ini berisikan latar belakang, rumusan masalah, tujuan penelitian,

manfaat penelitian, batasan masalah dan sistematika penulisan.

BAB II TINJAUAN PUSTAKA

Bab ini berisi landasan teori yang berhubungan dengan pengkoreksian

kesalahan pengejaan dan metode yang digunakan.

BAB III METODOLOGI PENELITIAN

Bab ini berisi implementasi, dan penerapan algoritma yang diterapkan.

BAB IV HASIL DAN PEMBAHASAN

Bab ini dibahas tentang hasil penelitian dan pembahasan.

BAB V PENUTUP

Bab ini berisi kesimpulan yang didapatkan dari hasil penelitian dan saran-

saran untuk pengembangan selanjutnya.

Page 17: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

6

BAB II

TINJAUAN PUSTAKA

2.1. Pengertian Kalimat

Arti kalimat secara leksikal atau arti kamus bahasa Indonesia adalah:

a. Kalimat adalah susunan kata atau kelompok kata yang teratur dan

mengandung maksud atau pikiran yang jelas.

b. Kalimat adalah satuan bahasa yang berdiri sendiri dan tidak merupakan

bagian dari kesatuan yang lebih besar yang lain yang diakhiri dengan

intonasi final, terdiri atas satu atau lebih klausa.

c. Kalimat adalah kesatuan ujar yang mengungkapkan suatu konsep pikiran,

perasaan dan perkataan.

d. Kalimat adalah satuan bahasa terkecil, dalam wujud lisan atau tulisan yang

mengungkapkan pikiran yang utuh. Dalam wujud lisan kalimat diucapkan

dengan suara naik turun, dan keras lembut, disela jeda, dan diakhiri dengan

intonasi akhir. Dalam wujud tulisan berhuruf latin kalimat dimulai dengan

huruf kapital dan diakhiri dengan tanda titik. (.), tanda tanya (?) dan tanda

seru (!).

Berikut ini ada beberapa pengertian yang dikemukakan oleh para ahli mengenai

arti dari kalimat:

a. Menurut Cook, 1971; Elson dan Picket, 1969

Kalimat merupakan satuan bahasa yang secara relative dapat berdiri-sendiri,

mempunyai pola intonasi akhir dan terdiri-dari atau klausa.

Page 18: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

7

b. Menurut Bloomfield, 1955

Kalimat adalah suatu bentuk linguistis, yang tidak termasuk ke dalam suatu

bentuk yang lebih besar karena merupakan suatu konstruksi gramatikal.

c. Menurut Hockett, 1985

Menyatakan bahwa kalimat adalah suatu konstitut atau bentuk yang bukan

konstituen; suatu bentuk gramatikal yang tidak termasuk ke dalam konstruksi

gramatikal lain.

d. Menurut Lado (1968)

Mengatakan bahwa kalimat adalah satuan terkecil dari ekspresi lengkap.

Pendapat lado dipertegas lagi oleh Sutan Takdir Alisyahbana (1978) yang

mengatakan bahwa kalimat adalah satuan bentuk bahasa yang terkecil, yang

mengucapkan suatu pikiran yang lengkap.

e. Menurut Ramlan (1996)

Mengatakan bahwa kalimat adalah satuan gramatikal yang dibatasi oleh adanya

jeda panjang yang diserta nada akhir turun atau naik. (Gatot,dkk. 2002 )

2.2. Teks

Dalam teori Bahasa apa yang dinamakan teks tidak lebih dari himpunan huruf

yang membentuk kata dan kalimat, dirangkai dengan sistem tanda yang disepakati

oleh masyarakat sehingga sebuah teks ketika dibaca bisa mengungkapkan makna

yang dikandungnya (Riadi, 2015).

Page 19: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

8

2.3. Kata Baku Bahasa Indonesia

Bahasa baku merupakan salah satu bentuk ragam bahasa yang tercermin dari

penggunaan kaidah yang benar meliputi ejaan, lafal, struktur dan pemakaiannya.

Bahasa baku digunakan dalam situasi resmi yang menjadi acuan atau model oleh

masyarakat pemakai bahasa. Bahasa Indonesia baku termasuk salah satu ragam

bahasa Indonesia yang bentuk bahasanya telah diterima, difungsikan dan dipakai

sebagai model oleh masyarakat Indonesia secara luas. Oleh karena itu kata baku

dalam bahasa baku sangat penting penggunaannya (Yeny.2015).

2.4. Typographical Error

Typographical error merupakan kesalahan yang terjadi pada saat proses

mengetik teks dan dapat mengubah arti dari suatu kata bahkan arti dari suatu

kalimat. Istilah ini mencakup kesalahan karena kegagalan mekanis atau slip tangan

atau jari, dan juga timbul akibat ketidaktahuan penulis seperti kesalahan ejaan.

Typographical error dapat disebabkan misalnya, jari menekan dua tombol

keyboard yang berdekatan secara bersamaan. Typographical error ini bervariasi

mulai dari kesalahan ketik bisa sampai kesalahan dalam tatanan bahasa yang

digunakan atau bahkan pengertian dari kata tersebut. Kesalahan-kesalahan tersebut

dikategorikan ke dalam 2 jenis yaitu non-word error dan realword error. Non-word

error adalah error yang tidak terdapat makna didalamnya sedangkan pada real-

word error, kata yang tertulis bernilai benar atau bisa disebut mempunyai arti dalam

kamus namun tidak dimaksudkan dalam kalimat tersebut maupun mempunyai arti

Page 20: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

9

yang berbeda dan bahkan kalimat tersebut memiliki tata bahasa yang salah

(Naradhipa et al., 2011).

2.5 Algoritma Levenshtein

Algoritma Levenshtein distance ditemukan oleh ilmuan asal Rusia bernama

Vladimir Levenshtein pada tahun 1963, algoritma ini juga disebut dengan algoritma

edit distance. Perhitungan edit distance didapatkan dari matriks yang digunakan

untuk menghitung jumlah perbedaan string antara dua string. Sebagai contoh hasil

penggunaan algoritma ini, string “komputer” dan “computer” memiliki distance 1

karena hanya perlu dilakukan satu operasi saja untuk mengubah satu string ke string

yang lain. Dalam kasus dua string di atas, string “computer” dapat menjadi

“komputer” hanya dengan melakukan satu penukaran karakter “c” menjadi “k”.

Algoritma Levenshtein distance digunakan secara luas dalam berbagai bidang,

misalnya mesin pencari, pengecek ejaan (spell checking), pengenal pembicaraan

(speech recognition), pengucapan dialek, analisis DNA, pendeteksi pemalsuan, dan

lain-lain. Algoritma ini menghitung jumlah operasi string paling sedikit yang

diperlukan untuk mentransformasikan suatu string menjadi string yang lain.

Algoritma Levenshtein distance bekerja dengan menghitung jumlah minimum

pentranformasian suatu string menjadi string lain yang meliputi penghapusan,

penyisipan, dan penukaran. Selisih perbedaan antar string dapat diperoleh dengan

memeriksa apakah suatu string sumber sesuai dengan string target. Nilai selisih

perbedaan ini disebut juga edit distance atau jarak Levenhstein. Jarak Levenshtein

antar string “s” dan string “t” tersebut adalah fungsi D yang memetakan (s,t) ke

suatu bilangan real nonnegatif, sebagai contoh diberikan dua buah string s =

Page 21: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

10

s(1)s,(2),s(3),...,s(m) dan t = t(1),t(2),t(3),...,t(n) dengan | s | = m dan | t | = n

sepanjang alfabet V berukuran r sehingga “s” dan “t” anggota dari V*. s(j) adalah

karakter pada posisi ke-j pada string “s ” dan t(i) adalah karakter pada posisi ke-i

pada string “t”. D(s,t) adalah banyaknya operasi minimum dari operasi

penghapusan, penyisipan dan penukaran untuk menyamakan string s dan t. Pada

implementasi pencocokan antar string, ketiga operasi tersebut dapat dilakukan

sekaligus untuk menyamakan string sumber dengan string target (Ardi, dkk. 2016).

2.6 Langkah – Langkah Algoritma Levenshtein

Pada dasarnya, algoritma ini menghitung jumlah minimum pentransformasian suatu

string menjadi string lain yang meliputi penggantian, penghapusan, dan penyisipan.

Algoritma ini digunakan untuk mengoptimalkan pencarian tersebut karena sangat

tidak efisien jika dilakukan pencarian setiap kombinasi operasi-operasi string

tersebut. Oleh karena itu, algoritma ini tergolong program dinamis dalam pencarian

nilai minimal tersebut. Dalam algoritma ini, dilakukan penyeleksian panjang kedua

string terlebih dahulu. Jika salah satu atau kedua string merupakan string kosong,

jalannya algoritma ini berhenti dan memberikan hasil edit distance yang bernilai

nol atau panjang string yang tidak kosong. Jika panjang string keduanya tidak nol,

setiap string memiliki sebuah karakter terakhir, misalnya c1 dan c2 (Muhammad

Bahari Ilmi, dkk).

Misalnya bagian string pertama tanpa c1 adalah s1 dan bagian string kedua

tanpa c2 adalah s2, dapat dikatakan penghitungan yang dilakukan adalah cara

mentransformasikan s1+c1 menjadi s2+c2. Jika c1 sama dengan c2, dapat diberikan

Page 22: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

11

nilai cost 0 dan nilai edit distance-nya adalah nilai edit distance dari

pentransformasian s1 menjadi s2. Jika c1 berbeda dengan c2, dibutuhkan

pengubahan c1 menjadi c2 sehingga nilai cost-nya 1. Akibanya, nilai edit distance-

nya adalah nilai edit distance dari pentransformasian s1 menjadi s2 ditambah 1.

Kemungkinan lain adalah dengan menghapus c1 dan mengedit s1 menjadi s2+c2

sehingga nilai edit distance-nya dari pentransformasian s1 menjadi s2+c2 ditambah

1. Begitu pula dengan penghapusan c2 dan mengedit s1+c1 menjadi s2. Dari

kemungkinan tersebut, dicarilah nilai minimal sebagai nilai edit distance. Untuk

lebih jelasnya, dapat dilihat pada pseudocode berikut ini. Di bawah ini digunakan s

sebagai string sumber dan t sebagai string target. Pseudocode ini berupa suatu

fungsi yang nilai kembaliannya adalah nilai edit distance (Bernardio. 2009 ).

Page 23: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

12

Gambar 2.1. Pseudocode Algoritma Levenstein Distance (Muhammad Bahari

Ilmi, dkk)

2.7 Approximate String Matching

Dalam metode ini, dilakukan suatu penghitungan perbedaan antara dua

string. Penghitungan tersebut meliputi tiga operasi string seperti di bawah ini.

function levDis (s1 : string, s2 : string) : integer kamus

i, j, cost : integer

m : array [0 .. s1.length, 0 .. s2.length] of integer algoritma

for i ←0 to s1.length do

for j ← 0 to s2.length do

if i = 0 then

m[i,j] ← j {perbandingan dengan kosong}

else if j = 0 then

m[i,j] ← i {perbandingan dengan kosong}

else {implementeasi pemrograman dinamis}

if s1[i] = s2[j] then

cost ← 0

else

cost ← 1

m[i,j] = minimum (

m[i-1, j-1] + cost, {substitusi}

m[i-1,j] + 1, {penghapusan}

m[i ,j-1] + 1, {penambahan}

)

return m[s1.length, s2.length]

Page 24: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

13

Untuk contoh yang akan digunakan, diasumsikan S adalah string sumber pencarian

dan T adalah string yang ingin dicari.

1. Operasi Penghapusan

Misalnya S = memori dan T = meri. Penghapusan dilakukan untuk karakter m

pada lokasi ke-3 dan o pada lokasi ke-4. Dua operasi penghapusan tersebut

menunjukkan transformasi S ke T yang diilustrasikan sebagai berikut.

1 2 3 4 5 6

T = m e - - r i

S = m e m o r i

2. Operasi Penyisipan

Misalnya S = brian dan T = barisan. Operasi sisip dilakukan dengan

menyisipkan a dan s pada posisi 2 dan 5 yang dapat ditunjukkan sebagai berikut.

1 2 3 4 5 6 7

T = b a r i s a n

S = b – r i – a n

a s

3. Operasi Penggantian

Misalnya S = perasa dan T = pewara. String T ditransformasikan menjadi S

dengan melakukan penggantian (subtitusi) pada posisi ke-3 dan ke-5. Huruf r dan s

pada S digantikan dengan w dan r pada T. Prosesnya dapat ditunjukkan sebagai

berikut.

1 2 3 4 5 6

T = p e w a r a

Page 25: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

14

S = p e r a s a

w r

Ketiga operasi di atas dapat digunakan dalam contoh berikut ini. Misalnya T =

abrakadabra dan S = avrakhadabah. S dapat ditransformasikan menjadi T sebagai

berikut.

1 2 3 4 5 6 7 8 9 10 11 12 13

T = a b r a k - a d a b r a -

S = a v r a k h a d a b - a h

b r

Operasi yang dilakukan yaitu:

1. mengganti v pada posisi 2

2. menghapus h pada posisi 6

3. menyisipkan r pada posisi 11

4. menghapus h pada posisi 13

Secara keseluruhan terdapat 4 operasi, yaitu 1 penggantian, 2 penghapusan, dan

1 penyisipan (Bernardino. 2009).

2.8. MySQL

Gambar 2.2. MySQL (My Strukture Query Language) (M. Rudyanto Arief,

2011)

Page 26: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

15

MySQL (My Strukture Query Language) adalah sistem manajemen database

relasi (relation data-base Management system) yang bersifat “terbuka” (open

Source). Terbuka maksudnya adalah MySQL dapat digunakan oleh siapa saja, baik

versi kode program aslinya maupun versi binernya (executable program) dan bisa

digunakan secara gratis baik untuk dimodifikasi sesuai dengan kebutuhan

seseorang maupun sebagai suatu program aplikasi komputer.

MySQL merupakan database yang pertama kali didukung oleh bahasa

pemrograman script untuk internet (PHP dan Perl). MySQL lebih sering digunakan

untuk membangun aplikasi berbasis web. Umumnya pengembangan aplikasi

menggunakan bahasa pemrograman script PHP (M. Rudyanto Arief, 2011).

2.9. Bahasa Pemprograman

2.9.1. PHP

Gambar 2.3. PHP (Perl Hypertext Preprocessor) (Eka. 2016)

PHP (Perl Hypertext Preprocessor) Menurut Hidayatullah dan Kawistara

(2014:231), PHP singkatan dari Perl Hypertext Preprocessor yaitu bahasa

pemrograman web server-side yang bersifat open source. PHP merupakan script

yang berintergrasi dengan HTML dan berada pada server (server side HTML

embedded scripting). PHP adalah script yang digunakan untuk membuat halaman

Page 27: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

16

web dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman

itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client

selalu yang terbaru atau up to date. Semua script PHP dieksekusi pada server

dimana script tersebut dijalankan. Pengertian PHP menurut Kristanto (2010:9),

“PHP adalah bahasa pemrograman yang digunakan secara luas untuk penanganan

pembuatan dan pengembangan sebuah web dan bisa digunakan pada HTML”. PHP

merupakan singkatan dari “PHP : Perl Hypertext Preprocessor”, dan merupakan

bahasa yang disertakan dalam dokumen HTML sekaligus bekerja di sisi server

(server-server HTML-embedded scripting). Artinya sintaks dan perintah yang

diberikan akan sepenuhnya dijalankan di server tetapi disertakan pada halaman

HTML biasa, sehingga scriptnya tak tampak disisi client. PHP dirancang untuk

dapat bekerja sama dengan database server dan dibuat sedemikian rupa sehingga

pembuatan dokumen HTML yang dapat mengakses database menjadi begitu

mudah. Tujuan dari bahasa scripting ini adalah untuk membuat aplikasi dimana

aplikasi tersebut dibangun oleh PHP pada umumnya akan memberikan hasil kepada

web browser, tetapi proses keseluruhannya dijalankan di server. Adapun kelebihan-

kelebihan dari PHP yaitu:

a. PHP merupakan sebuah bahasa script yang tidak melakukan sebuah kompilasi

dalam penggunaannya. Tidak seperti halnya bahasa pemrograman aplikasi yang

lainnya.

b. PHP dapat berjalan pada web server yang dirilis oleh Microsoft, seperti IIS atau

PWS juga pada apache yang bersifat open source.

Page 28: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

17

c. Karena sifatnya yang open source, maka perubahan dan perkembangan

interpreter pada PHP lebih cepat dan mudah, karena banyak milis-milis dan

developer yang siap membantu pengembanganya.

d. Jika dilihat dari segi pemahaman, PHP memiliki referensi yang begitu banyak

sehingga sangat mudah untuk dipahami.

e. PHP dapat berjalan pada 3 (tiga) operasi sistem, yaitu: Linux, unux, dan

windows, dan juga dapat dijalankan secara runtime pada suatu console.

f. PHP bersifat bebas dipakai (free) (Eka. 2016).

2.9.2. JavaScript

Gambar 2.4. JavaScript ( Hendro. 2007 )

JavaScript digunakan oleh milyaran aplikasi web yang ada untuk desain,

validasi data, deteksi browser, membuat cookie, dan lain-lain. JavaScript

merupakan scripting language yang paling populer pada pemrograman web atau

internet. JavaScript dapat bekerja atau dieksekusi pada berbagai jenis browser

Page 29: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

18

seperti Internet Explorer, Firefox, Netscape, dan Opera. JavaScript didesain untuk

menambah interaktifitas dari sebuah aplikasi web.

Kode JavaScript biasanya disisipkan pada sebuah halaman HTML atau dapat

juga disimpan pada file terpisah dan dipanggil dari sebuah halaman HTML yang

membutuhkannya. Untuk menyisipkan JavaScript pada halaman HTML digunakan

tag <script>.

<html>

<body>

<script type=”text/javascript”>

document.write(“Hello World!”);

</script>

</body>

</html>

JavaScript juga dapat disisipkan pada tag <head> dari sebuah halaman HTML.

JavaScript yang disisipkan pada tag <body> seperti contoh di atas, akan dieksekusi

saat halaman HTML tersebut dipanggil. Sedangkan JavaScript yang disisipkan

pada tag <head> akan dieksekusi jika dipanggil.

<html>

<head>

<script type=”text/javascript”>

Page 30: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

19

function message()

{

alert(“Hello Welcome to Javascript!”)

} </script>

</head>

<body >

<input type=”button” value=”Click Me”

onclick=”message()”>

</body>

</html>

( Hendro. 2007 )

2.10. XAMPP

Gambar 2.5. XAMPP ( Eka. 2016 )

Page 31: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

20

Menurut Wicaksono (2008:7) menjelaskan bahwa “XAMPP adalah sebuah

software yang berfungsi untuk menjalankan website berbasis PHP dan

menggunakan pengolah data MYSQL di komputer lokal”. XAMPP berperan

sebagai server web pada komputer lokal. XAMPP juga dapat disebut sebuah Cpanel

server virtual, yang dapat membantu melakukan preview sehingga dapat

dimodifikasi website tanpa harus online atau terakses dengan internet. Sebagai

informasi kata XAMPP merupakan singkatan dari: X: berarti program ini dapat

dijalankan diberbagai platform, misalnya Windows, Linux, mac OS, dan Solaris.

A: Apache, merupakan aplikasi web server, dan bertugas untuk menghasilkan

halaman web yang benar kepada user berdasarkan kode PHP yang dituliskan oleh

pembuat halaman web. Jika diperlukan juga berdasarkan kode PHP yang dituliskan,

maka dapat saja suatu database diakses terlebih dahulu (misalnya dalam MySQL)

untuk mendukung halaman web yang dihasilkan. M: MySQL, merupakan aplikasi

database server. Pengembangnya disebut Structured Query Language (SQL). SQL

merupakan bahasa terstruktur yang digunakan untuk mengolah database beserta

isinya. Pengguna dapat memanfaatkan MySQL untuk menambahkan, mengubah

dan menghapus data yang berada dalam database. P: PHP, bahasa pemrograman

lainnya yang serupa, dan lain sebagainya ( Eka. 2016 ).

Page 32: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

21

BAB III

METODOLOGI PENELITIAN

3.1. Tahapan Penelitian

Tahapan pada penelitian ditunjukkan pada gambar 3.1

Gambar 3.1. Diagram tahapan penelitian

Tahapan secara garis besar dijelaskan sebagai berikut :

1. Tahap pertama yang dilakukan dalam penelitian tersebut, memasukkan inputan

berupa kalimat.

2. Setelah inputan kalimat telah dimasukkan, maka tahapan selanjutnya

normalisasi kalimat. Dalam tahapan ini menggunakan beberapa proses dan

metode algoritma yang terkait dalam cara kerja yang dibutuhkan untuk

mengkoreksi kalimat.

3. Setelah dilakukan proses normalisasi maka output yang diberikan kalimat valid

hasil dari algoritma tersebut.

Kalimat Input Normalisasi Kalimat Kalimat Valid

Page 33: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

22

3.2. Waktu dan Lokasi Penelitian

Waktu penelitian dilakukan semenjak di setujuinya proposal penelitian pada bulan

Desember 2017. Dan lokasi penelitian dilakukan di Laboratorium Departemen Teknik

Informatika Fakultas Teknik Universitas Hasanuddin.

3.3. Pengumpulan Data

Metode yang digunakan dalam pengumpulan data adalah studi pustaka mengenai

kata dasar dalam bahasa Indonesia dan mengenai metode dan algoritma yang

digunakan dalam pembentukan kalimat valid pada sistem chatbot.

Database indek untuk pengkoreksian kata, menggunakan database dari pertanyaan-

pertanyaan dari sistem chatbot dengan data sebanyak 955 kata.

3.4. Instrumen Penelitian

Instrumen yang digunakan dalam penelitian ini meliputi :

1. Software :

a. Sublime Text 3

b. Framework CodeIgniter

c. Firefox

d. XAMPP

e. Javascript

f. PHP

Page 34: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

23

2. Hadware

a. Lenovo G40-80

3.5. Perancangan Implementasi Sistem

Rancangan sistem ini bertujuan untuk memberikan gambaran terhadap sistem yang

akan dibuat, serta memperjelas detail dan alur dari sistem. Dalam perancangan ini

menggunakan flowchart.

3.5.1. Proses Input – Output

Berikut adalah flowchart dari proses input - output secara umum. Pada proses ini

terdapat beberapa metode dan algoritma dalam pengkoreksian kalimat menjadi valid.

Untuk lebih jelasnya dapat dilihat pada gambar 3.2.

Gambar 3.2. Proses Input – Output

Kalimat valid

Mulai

Proses Kalimat

Pengkoreksian Kata

Page 35: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

24

3.5.2. Proses Kalimat

Langkah pertama adalah proses kalimat, setelah user memasukkan inputan kalimat

pada sistem maka proses yang dilakukan adalah peleburan atau tokonezing setiap

kalimat menjadi kata untuk mempermudah sistem dalam mengidentifikasi kesalahan

penulisan pada setiap kata tersebut. Untuk lebih jelasnya tentang proses kalimat dapat

dilihat pada flowchart gambar 3.3.

3.5.3. Pengkoreksian Kata

Proses ini untuk mengkoreksi kata yang salah menjadi kata yang benar. Langkah

yang dilakukan yaitu, mengidentifikasi setiap kata untuk dicek ke database index.

Apabila kata tidak teridentifikasi kedalam database maka kata tersebut dinyatakan oleh

sistem kata salah atau terjadinya kesalahan pengetikan. Sehingga proses yang

dilakukan dengan Algoritma Levenshtein. Algoritma Levenshtein digunakan untuk

mengukur keterbedaan jarak antara dua sekuens. Levenshtein Distance antara dua

string ditentukan berdasarkan jumlah minimum perubahan / pengeditan yang

diperlukan untuk melakukan tranformasi dari satu bentuk string ke bentuk string yang

lain. Pada proses Algoritma Levenshtein digunakan metode Approximate String

Matching untuk melakukan 3 macam operasi yaitu penghapusan, penyisipan, dan

pergantian. Algoritma ini berjalan mulai dari pojok kiri atas sebuah array dua dimensi

Proses Kalimat Peleburan Kalimat

(tokenizing-> Kata

Gambar 3.3. Proses kalimat

Page 36: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

25

yang telah diisi sejumlah karakter string awal dan string target dan diberikan nilai cost.

Nilai cost pada ujung kanan bawah menjadi nilai edit distance yang menggambarkan

jumlah perbedaan dua string. Berikut flowchart algoritma Levenshtein pada gambar

3.4.

Page 37: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

26

Kata

Tentukan string Source s dan String Target t

Panjang s = n

Panjang t = m

n = 0

?

m = 0 ?

Buat matriks

0-m baris

0-n baris

Cek s[i] untuk j=0 -n

Cek t[j] unutk j=0-m

s[i] = t[j]

Cost = 1 d[i,j]=min

d[i-1,j]+1,

d[i,j-1]+1,

d[i-1,j-1]+cost

Cost = 0

Display d (n,m)

Display n

Display m

YA

TIDAK

TIDAK

YA

YA

TIDAK

Gambar 3.4. Flowchart Levenshtein

Output

Page 38: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

27

Langkah – langkah algoritma ini adalah :

1. Misalkan kata pertama adalah source = s, dan kata kedua adalah target =t.

2. Tentukan n sebagai panjang dari s.

3. Tentukan m sebagai panjang dari t.

4. Jika n=0, return m dan stop.

5. Jika m=0, return n dan stop.

6. Buat matriks yang berisi 0 sampai m baris dan 0 sampai n kolom.

7. Periksa setiap karakter dari s (i dari 1 sampai n) dan dari t (j dari sampai m).

8. Jika s[i] sama dengan t[i], maka cost = 0, jika berbeda cost = 1.

9. Tentukan sel d[i,j] dari matriks yang sama dengan angka terendah dari :

a. d[i-1,j]+1, (penghapusan)

b. d[i,j-1]+1, (penambahan)

c. d[i-1,j-1]+cost (penyisipan)

10. Setelah selesai, maka jarak akan didapatkan dari sel d [n,m].

3.5.4. Kalimat Valid

Setelah melakukan proses tersebut maka dihasilkan kalimat yang tidak singkat atau

kalimat valid.

Page 39: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

28

3.6. Analisis Kinerja Sistem

Pada sistem e-teacher sebelumnya dalam mengklasifikasi inputan pertanyaan user

harus menggunakan kalimat baku. Sehingga apabila user menginput pertanyaan

kalimat yang tidak sempurna atau kalimat singkat maka sistem tersebut tidak dapat

memberikan jawaban yang sesui terkait dengan pertanyaan yang diberikan oleh user.

Dimana, untuk membuat sistem dapat mengerti dilakukan dengan menambahkan

beberapa algoritma dan proses sehingga sistem mengerti.

a. Proses Kalimat

Tahap pertama adalah tokenizing kalimat menjadi kata. Proses kalimat ini untuk

mengetahu kasalahan yang ada pada inputan pertanyaan dari user.

Inputan : “ Jlaskan tentang biologi ?”

Tokenizing : “ Jlaskan(0) tentang(1) biologi(2) ?(3)”

b. Pengkoreksian Kata

Selanjutnya, setiap kata yang telah di tokenizing akan dibandingkan ke dalam

database indek. Dimana untuk mengetahui adakah kata terdapat pada database

tersebut. Pada proses ini menggunakan algoritma levenshtein.

Page 40: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

29

Tabel 3.1. Tabel Matriks Edit Distance

J E L A S K A N

0 1 2 3 4 5 6 7 8

J 1 0 1 2 3 4 5 6 7

L 2 1 1 1 2 3 4 5 6

A 3 2 2 2 1 2 3 3 4

S 4 3 3 3 2 1 2 3 4

K 5 4 4 4 3 2 1 2 3

A 6 5 5 5 3 3 2 1 2

N 7 6 6 6 4 4 3 2 1

Tabel di atas adalah matriks yang menunjukkan bagaimana pencarian nilai

“distance” untuk perbaikan string “jlaskan” menjadi “jelaskan”.

Apabila dilakukan pengecekan pada matriks yang terlihat pada tabel tersebut

terutama pada bagian yang berwarna kuning pada bagian yang dicek pertama

kali, terdapat karakter “J” pada string 1 dan string 2 karena itu diberi nilai “0”

yang artinya tidak ada operasi penambahan karena karakter yang sama pada

bagian tersebut.

Pada langkah berikutnya, dilakukan penyisipan yakni antara karakter “J”

dengan “E”, karena karakter tidak sama dilakukan operasi penambahan menjadi

Page 41: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

30

1. Penambahan akan dilakukan dengan cara melihat nilai terendah antara x,y,

dan z sesui operasi karakter yang dilakukan.

Begitu pula pada bagian berikutnya, apabila karakter pada kedua string adalah

sama maka operasi penambahan tidak dilakukan tetapi mengambil nilai

minimum antara x,y, dan z. Dari proses pencarian nilai “distance”-nya, didapat

bahwa jumlah modifikasi minimum yang dilakukan untuk mengubah string

“Jlaskan” menjadi “Jelaskan” adalah sebanyak 1 operasi yaitu : penambahan

karakter “e”.

c. Kalimat Valid

Kalimat yang telah diproses dan output yang dihasilkan kalimat yang tidak

singkat.

Page 42: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

31

BAB IV

HASIL DAN PEMBAHASAN

4.1. Hasil Penelitian

4.1.1. Hasil Operasi Normalisasi Kalimat

1. Proses Kalimat

Tahap pertama adalah melakukan peleburan atau tokonezing pada kalimat yang

diinputkan oleh user menjadi kata. Dalam proses ini, untuk mempermudah sistem

dalam mengidentifikasi kesalahan penulisan pada setiap kata yang di input. Untuk lebih

jelasnya dapat dilihat pada simulasi berikut :

Misalkan, user menginput kalimat pertanyaan yaitu “sbtkan tga mikrosop

elektron”. Maka proses yang dilakukan yaitu meleburkan kalimat menjadi kata. Pada

tahap ini, kalimat akan diubah dari string menjadi array yang ditunjukkan pada tabel

4.1

Tabel 4.1. Proses peleburan kalimat / tokonezing

Inputan Sbtkan Tga Mikrosop Elektron

Tokonezing Sbtkan

(0)

Tga

(1)

Mikrosop

(2)

Elektron

(3)

Pada Tabel 4.1 dapat dilihat bahwa kalimat yang ditokonezing ini untuk

mempermudah dalam mengidentifikasi kata tersebut untuk di cocokkan ke database

apabila ditemukan kata yang tidak sesuai.

Page 43: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

32

2. Pengkoreksian Kata

Tahap selanjutnya, pengkoreksian kata yang telah di tokonezing dan di cocokkan

ke database indeks. Apabila kata tidak ditemukan di database indek maka kata tersebut

teridentifikasi sebagai kata singkat atau kesalahan pengetikan teks. Maka proses yang

dilakukan untuk mengubah kata singkat atau kesalahan pengetikan teks tersebut

menggunakan algoritma levenshtein yang ditunjukkan pada tabel 4.2.

Tabel 4.2. Proses identifikasi kesalahan kata

Inputan Sbtkan Tga Mikrosop Elektron

Proses

Identifikasi

Sbtkan

(2)

Tga

(1)

Mikrosop

(1)

Elektron

(0)

Misalnya kata “Sbtkan” maka akan dilakukan proses perbaikan menjadi

“Sebutkan”. Pada proses ini, dilakukan 2 proses penambahan karakter huruf “e”

dengan “u”. Cara yang dilakukan untuk mengetahui bahwa kata tersebut melakukan

proses 2, dapat dilihat di pada tabel 4.3.

Tabel 4.3. Matriks Edit Distance

S E B U T K A N

0 1 2 3 4 5 6 7 8

S 1 0 1 2 3 4 5 6 7

B 2 1 1 1 2 3 4 5 6

T 3 2 2 2 2 2 3 4 5

K 4 3 3 3 3 3 2 3 4

A 5 4 4 4 4 4 3 2 3

N 6 5 5 5 5 5 4 3 2

Page 44: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

33

Tabel di atas adalah matriks yang menunjukkan bagaimana pencarian nilai

“distance” untuk perbaikan string “sbtkan” menjadi “sebutkan”.

Apabila dilakukan pengecekan pada matriks yang terlihat pada tabel tersebut

terutama pada bagian yang berwarna kuning pada bagian yang dicek pertama

kali, terdapat karakter “S” pada string 1 dan string 2 karena itu diberi nilai “0”

yang artinya tidak ada operasi penambahan karena karakter yang sama pada

bagian tersebut.

Pada langkah berikutnya, dilakukan penyisipan yakni antara karakter “S”

dengan “E”. karena karakter tidak sama dilakukan operasi penambahan menjadi

1. Penambaha n akan dilakukan dengan cara melihat nilai terendah antara x,y,

dan z sesui operasi karakter yang dilakukan.

Begitu pula pada bagian berikutnya, apabila karakter pada kedua string adalah

sama maka operasi penambahan tidak dilakukan tetapi mengambil nilai

minimum antara x,y, dan z. Dari proses pencarian nilai “distance”-nya, didapat

bahwa jumlah modifikasi minimum yang dilakukan untuk mengubah string

“sbtkan” menjadi “sebutkan” adalah sebanyak 2 operasi yaitu : penambahan

karakter “e” dan karakter “u”.

Kemudian dilakukan metode Approximate String Matching yang melakukan 3

proses sesuai dengan kebutuhan atau proses yang dilakukan. Operasi yang dilakukan

ada tiga yaitu penghapusan, penyisipan, dan penggantian karakter huruf. Pada contoh

kata “Sbtkn” dilakukan proses penambahan karakter huruf “e” dengan “u”. Pada proses

Page 45: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

34

ini diberikan batasan dalam menentukan berapa kali proses yang dilakukan pada kata

yang mengalami kesalahan. Jika kata yang mengalami kesalahan dengan bobot kecil

dari 3 (< 3) maka data dapat mempermudah proses tersebut dalam memilih atau

menseleksi kata target yang memenuhi dengan cara membandingkan bobot terkecil di

kata target tersebut.

4.1.2. Hasil Pengujian Sistem

Data yang digunakan untuk menguji sistem ini menggunakan data uji / testing

yang telah di skenariokan. Keakuratan dalam pengujian sistem akan diuji dengan

kalimat pertanyaan yang benar sebelum diuji dengan kesalahan teks dalam suatu

pertanyaan sehingga diperoleh hasil seberikut :

Pengujian ini bertujuan untuk menguji keakuratan sistem dalam memperbaiki

kalimat pertanyaan yang salah menjadi valid.

Pada pengujian ini, penulis melakukan pengujian pada sistem terhadap empat

kategori kalimat pertanyaan yaitu satu kata salah, dua kata salah, semua kata salah dan

data kata salah dari inputan chatbot. Pengujian sistem ini dilakukan untuk menemukan

kesalahan-kesalahan atau kekurangan pada perangkat lunak yang diuji.

Tabel 4.4. Jumlah Data Uji

KATEGORI DATA UJI

Satu kata salah 10

Dua kata salah 10

Page 46: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

35

KATEGORI DATA UJI

Semua kata salah 10

Inputan kata chatbot 10

JUMLAH 40

Dari tabel 4.4 dapat dijelaskan bahwa dalam pengujian menggunakan data uji 40.

Adapun teknik dalam pengujian yang dilakukan yaitu pengujian akurasi sistem.

Pengujian dilakukan untuk memeriksa secara singkat untuk mengetahui tingkat

keakuratan sistem. Pada pengujian akurasi sistem yang akan diuji dengan menghitung

jumlah Autocorrection sistem dimana inputan yang diperiksa dengan hasil dari sistem

lalu dibagi jumlah kunci jawaban dan dikali 100%. Rumus untuk menguji akurasi

sistem tersebut dengan formula (1) yaitu :

a) Pengujian 1 : pengujian dengan inputan satu kata salah

Pada pengujian, penulis melakukan pengujian pada sistem dengan inputan satu

kata salah dalam kalimat pertanyaan tersebut.

Tabel 4.5. Rincian Hasil pengujian sistem pada kalimat pertanyaan

X 100%

Jumlah Autocorrection Sistem Akurasi =

Kunci Jawaban

............................ (1)

Page 47: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

36

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

1

jalskan yang

dimaksud

dengan sel

hewan

jelaskan yang

dimaksud dengan sel

hewan

jelaskan yang

dimaksud

dengan sel

hewan

Valid

2

sebutkan tiga

type leukoplas

berdasarkan

fungsinya

sebutkan tiga tipe

leukoplas berdasarkan

fungsinya

sebutkan tiga

tipe leukoplas

berdasarkan

fungsinya

Valid

3

mengapa otot

disebut sebagai

alat gerak aktf

mengapa otot disebut

sebagai alat gerak aktif

mengapa otot

disebut sebagai

alat gerak aktif

Valid

4

apa fngs kantung

udara pada aves

apa fungsi kantung

udara pada aves

apa fungsi

kantung udara

pada aves

Valid

5

sbtkn ciri jamur

secara umum

sebutkan ciri jamur

secara umum

sebutkan ciri

jamur secara

umum

Valid

Page 48: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

37

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

6

dimana ltk

jaringan

parenkim pada

tumbuhan

dimana litik jaringan

parenkim pada

tumbuhan

dimana letak

jaringan

parenkim pada

tumbuhan

Tidak Valid

7

jlsk empat

peranan virus

yang

menguntungkan

jelaskan empat

peranan virus yang

menguntungkan

jelaskan empat

peranan virus

yang

menguntungkan

Valid

8

bgmn cara

bakteri

memperoleh

makanan

jelaskan

bagian cara bakteri

memperoleh makanan

jelaskan

bagaimna cara

bakteri

memperoleh

makanan

jelaskan

Valid

9

sbtn empat

peranan bakteri

yang

menguntungkan

sebutan empat peranan

bakteri yang

menguntungkan

sebutkan empat

peranan bakteri

yang

menguntungkan

Tidak Valid

Page 49: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

38

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

10

apa yang

dimksud dengan

difusi terbantu

apa yang dimaksud

dengan difusi terbantu

apa yang

dimaksud

dengan difusi

terbantu

Valid

Dari tabel 4.5 dapat dijelaskan dari 10 pertanyaan yang diinputkan dengan setiap

kata memiliki satu kata salah dan yang berhasil dinyatakan valid sebanyak 2

pertanyaan.

Rumus untuk menguji akurasi sistem dengan menggunakan formula (1) adalah :

=

= 80%

Dari hasil pengujian yang telah dilakukan, penulis dapat menyimpulkan bahwa

apabila kalimat pertanyaan yang diinputkan memiliki kesalahan kata maka sistem akan

melakukan pengkoreksian terhadap kata yang mengandung kesalahan.

b) Pengujian 2 : pengujian dengan inputan dua kata salah

Setelah melakukan pengujian dengan satu kata salah, penulis menggunakan data

yang sama dengan pengujian inputan dua kata salah dalam kalimat pertanyaan tersebut.

8 X 100%

10 ............................. (1)

Page 50: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

39

Pengujian ini bertujuan apakah sistem tersebut dapat mengkoreksi selain dengan satu

kata yang salah.

Tabel 4.6. Rincian Hasil pengujian sistem pada kalimat pertanyaan

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

1

jalskan yang

dimaksud

dengan sel hwn

jelaskan yang dimaksud

dengan sel hewan

jelaskan yang

dimaksud

dengan sel

hewan

Valid

2

sebutkan tiga

type leukoplas

brdsrkn

fungsinya

sebutkan tiga tipe

leukoplas berdasarkan

fungsinya

sebutkan tiga

tipe leukoplas

berdasarkan

fungsinya

Valid

3

mgp otot disebut

sebagai alat

gerak aktf

mirip otot disebut

sebagai alat gerak aktif

Mengapa otot

disebut

sebagai alat

gerak aktif

Valid

4

apa fngs kntg

udara pada aves

apa fungsi kantung

udara pada aves

apa fungsi

kantung

udara pada

aves

Valid

Page 51: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

40

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

5

sbtkn ciri jamur

scr umum

sebutkan ciri jamur

secara umum

sebutkan ciri

jamur secara

umum

Valid

6

dmn ltk

jaringan

parenkim pada

tumbuhan

dan litik jaringan

parenkim pada tumbuhan

Dimana letak

jaringan

parenkim

pada

tumbuhan

Tidak Valid

7

jlsk empat

peranan virus

yang

mnguntngkan

jelaskan empat peranan

virus yang

menguntungkan

jelaskan

empat

peranan virus

yang

menguntung

kan

Valid

8

bgimna cara

bakteri

memprlh

makanan

bagaimana cara bakteri

memperoleh makanan

bagaimana

cara bakteri

memperoleh

makanan

Valid

Page 52: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

41

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

9

sbtkn empat

prnn bakteri

yang

menguntungkan

sebutkan empat

peranan bakteri yang

menguntungkan

sebutkan

empat

peranan

bakteri yang

menguntungk

an

Valid

10

apa yang

dimksd dengan

difusi trbnt

apa yang dimaksud

dengan difusi terbantu

apa yang

dimaksud

dengan difusi

terbantu

Valid

Dari tabel 4.6 dapat dijelaskan bahwa 10 data uji yang sama dengan memberikan

dua kata salah untuk pengkoreksian kata mendapatkan hasil bahwa kata yang dikoreksi

oleh sistem dengan yang diinginkan oleh user sebanyak 1 kalimat.

Rumus untuk menguji akurasi sistem dengan formula (1) adalah :

=

= 90%

9 X 100%

10 ....................... (1)

Page 53: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

42

c) Pengujian 3 : pengujian dengan inputan semua kata salah

Setelah melakukan pengujian dengan satu kata salah dan dua kata salah, penulis

menggunakan data yang sama dengan pengujian inputan semua kata salah dalam

kalimat pertanyaan tersebut. Pengujian ini bertujuan apakah sistem tersebut dapat

mengkoreksi selain dengan satu kata yang salah dan dua kata salah.

Tabel 4.7. Rincian Hasil pengujian sistem pada kalimat pertanyaan

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

1

jalskan yg dmksd

dgn sl hwn

jelaskan yang dimaksud

dan sel hewan

jelaskan yang

dimaksud

dengan sel

hewan

Valid

2

sbtkn tga type

laeukopls brdsrkn

fngsnya

sebutkan tiga tipe

leukoplas berdasarkan

fungsinya

sebutkan tiga

tipe

leukoplas

berdasarkan

fungsinya

Valid

3

mngp orot disbt

sbgi alt grk aktf

mengapa otot disebut

sebagai alat gerak aktif

mengapa otot

disebut

sebagai alat

gerak aktif

Valid

Page 54: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

43

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

4

ap fngs kntg udra

pd avs

apa fungsi kantung

udara pada aves

apa fungsi

kantung

udara pada

aves

Valid

5

sbtkn cr jmr scr

uum

sebutkan ciri jamur

secara umum

sebutkan ciri

jamur secara

umum

Valid

6

dmn ltk jrngan

prnkinm pda

tmbhn

dan litik jaringan

parenkim pada

tumbuhan

Dimana letak

jaringan

parenkim

pada

tumbuhan

Tidak Valid

7

jlskn empt prnan

vrs yg

mnguntngkn

jelaskan empat peranan

virus yang

menguntungkan

jelaskan

empat

peranan virus

yang

menguntung

kan

Valid

Page 55: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

44

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

8

bgimn cr bktri

memplrh mknn

bagian ciri bakteri

memperoleh makanan

Bagaimana

cara bakteri

memperoleh

makanan

Valid

9

sbtkn empt prnn

bktri yg

mengntungkn

sebutkan empat peranan

bakteri yang

menguntungkan

sebutkan

empat

peranan

bakteri yang

menguntung

kan

Valid

10

ap yg dimksd

dngan dfsi trbnt

apa yang dimaksud

dengan difusi terbantu

apa yang

dimaksud

dengan difusi

terbantu

Valid

Page 56: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

45

Dari tabel 4.7 dapat dijelaskan bahwa 10 data uji yang sama dengan memberikan

semua kata salah untuk pengkoreksian kata sebanyak tiga kalimat. Untuk mengetahui

tingkat akurasi dari sistem dengan meggunakan rumus formula (1) sebagai berikut :

=

= 90%

4.1.3. Hasil Pengujian dengan Chatbot

Pada pengujian ini, penulis melakukan pengujian dari data chatbot yang tidak

dapat memberikan jawaban yang sesuai apabila user menginput kalimat pertanyaan

yang tidak baku. Sehingga data kalimat yang tidak teridentifikasi di chatbot tersebut

akan di uji pada sistem tersebut untuk menjadi kalimat yang baku sehingga chatbot

dapat mengerti pertanyaan yang diberikan oleh user. Selain itu, dalam pengujian ini

penulis menggunakan data uji dari chatbot untuk mengetahui keakuratan sistem

tersebut sehingga diperoleh hasil berikut :

Tabel 4.8. Rincian hasil pengujian sistem dengan data uji chatbot

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

1

sebtkn klsfksi

sistem kingdom

sebutkan klasifikasi

sistem kingdom

sebutkan

klasifikasi

Valid

9 X 100%

10

....................... (1)

Page 57: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

46

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

sistem

kingdom

2

sbtkn cnth dari

kngdom pda hwn

di bologi

sebutkan contoh dari

kingdom pada hewan di

biologi

sebutkan

contoh dari

kingdom

pada hewan

di biologi

Valid

3

Ap yg dimksud

dgan sistem monra

Apa yang dimaksud

dengan sistem monera

Apa yang

dimaksud

dengan

sistem

monera

Valid

4

cntoh mkhlk hdp

dri kngdom

monera

contoh makhluk hidup

dari kingdom monera

contoh

makhluk

hidup dari

kingdom

monera

Valid

Page 58: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

47

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

5

ap yg dmksd

dngan klsfiksi

mkhluk hdp

apa yang dimaksud

dengan klasifikasi

makhluk hidup

apa yang

dimaksud

dengan

klasifikasi

makhluk

hidup

Valid

6

jlskn tongktan

klsifiksi mkhluk

hdp

jelaskan tingkatan

klasifikasi makhluk

hidup

jelaskan

tingkatan

klasifikasi

makhluk

hidup

Valid

7

jlskn thpan

klsifiksi mkhluk

hdp

jelaskan tahapan

klasifikasi makhluk

hidup

jelaskan

tahapan

klasifikasi

makhluk

hidup

Valid

Page 59: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

48

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

8

sbtkn cri dari

klasifiksi mkhluk

hdp brdasrkan

perbdaan

sebutkan ciri dari

klasifikasi makhluk

hidup berdasarkan

perbedaan

sebutkan ciri

dari

klasifikasi

makhluk

hidup

berdasarkan

perbedaan

Valid

9

sbtkan smua ciri

dari klsifiksi

mkhluk hdp

sebutkan semula ciri

dari klasifikasi makhluk

hidup

sebutkan

semua ciri

dari

klasifikasi

makhluk

hidup

Tidak valid

10

jlskan glongan

klsfikasi sistem

buatan pda mkhluk

hdip

jelaskan bergolongan

klasifikasi sistem batang

pada makhluk hidup

jelaskan

golongan

klasifikasi

sistem

buatan pada

Tidak valid

Page 60: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

49

No Pertanyaan Autocorrection Sistem

Kunci

Jawaban

Keterangan

makhluk

hidup

Dari tabel 4.8 dapat dijelaskan bahwa 10 data yang diuji untuk pengkoreksian

didapat dari data user dalam menginput di sistem chatbot yang mengandung unsur

kesalahan sehingga chatbot tidak memahami pertanyaan tersebut dan diuji pada sistem

validasi kalimat mmeberikan tingkat keberhasilan sebanyak 8 kalimat. Rumus untuk

menguji akurasi sistem tersebut dengan formula (1) adalah :

=

= 80%

4.2. Pembahasan

Hasil rata-rata akurasi dari sistem pembetukan kalimat valid dengan beberapa

skenario yaitu user menginput satu kata salah, menginput dua kata salah, dan mengiput

semua kata salah. Skenario dalam pemgujian ini bertujuan untuk mengetahui akurasi

sistem apabila diinputkan kata yang salah. Dari kata yang teridentifikasi maka

dilakukan proses dengan menggunakan algoritma Levenshtein sebagai pengkoreksian

kata

8 X 100%

10 ....................... (1)

Page 61: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

50

Dari hasil skenario yang diuji tingkat akurasi yang capai yaitu, skenario untuk

satu kata salah dengan hasil akurasi 80% dengan data uji 10 pertanyaan, kemudian

skenario dua kata salah dengan hasil akurasi 90% dengan data uji yang sama, dan

skenario terakhir semua kata salah dengan tingkat akurasi 90% dengan data uji yang

sama.

Selain data uji skenario yang dilakukan, penulis melakukan pengujian dari data

chatbot untuk memperkuat tingkat akurasi sistem. Data dari chatbot itu sendiri

digunakan karena user yang menginput pertanyaan tersebut dan chatbot tidak dapat

mengidentifikasi pertanyaan mereka. Karena pada chatbot itu sendiri memiliki

keterbatasan yaitu tidak dapat membaca pertanyaan apabila kalimat tidak baku.

Sehingga, chatbot tidak dapat memberikan jawaban yang sesui apabila user menginput

pertanyaan yang tidak baku. Tingkat akurasi yang dihasilkan dari data uji chatbot yaitu

80% dengan 10 pertanyaan. Hasil dari ketiga uji data skenario dan uji pada chatbot

yang dihasilkan tidak mencapai 100% karena data yang diuji pada sistem tersebut

memilki keterbatasan pada kamus data kata.

Pada sistem tersendiri, telah sesuai aturan cara menggunakan algoritma yang

digunakan. Tetapi hal yang dapat menyebabkan akurasi tersebut adalah pada database

dan kata yang diinput ambigu. Apabila database yang digunakan terlalu banyak sistem

dapat memberikan jawaban yang tidak sesuai dengan prediksi user. Sehingga apabila

didalam database, kata target dengan kata input yang memiliki bobot yang sama akan

bebeda hasil sistem dengan keiingin user. Jadi, apabila menggunkan databse yang

Page 62: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

51

terlalu besar dapat menyebabkan sistem berbeda pendapat dengan user. Dan untuk kata

yang ambigu, sistem akan tidak mengerti dengan keiingin user apabila kata tersebut

tidak sesuai atau tidak ada kata target yang memenuhi dengan keiingin user.

Pada data sebelumnya, didapatkan tingkat hasil akurasi yang tidak mencapai

100% dikarenakan parameter handle sebelumnya yang digunakan 1,2,3 dimana bobot

1 merupakan penambahan, bobot 2 untuk penggantian, dan bobot 3 penghapusan.

Misalkan, user input kata “adl” dan keinginan user “adalah” tetapi output dari sistem

“ada”. Penyebab sistem memberikan jawaban tersebut karena kata “ada” memiliki

bobot penggantian nilai 2 dengan karakter huruf “a”, sedangkan untuk kata “adalah”

bobot perubahan dengan penambahan 3 karakter huruf “a”, “a”, dan “h”. Sehingga

bobot dengan nilai terkecillah yang dikatakan oleh sistem yang menjadi kata target.

Apabila, kata input dengan kata target tidak sesuai dengan keiinginan user itu

disebabkan sistem mengambil keputusan dari bobot terkecil yang memenuhi target

dimana sesuai dengan alur kerja Algoritma Levenshtein.

Sehingga dilakukan perubahan parameter handle untuk meningkatkan tingkat

akurasi sistem dalam mencapai keingan user. Parameter handle yang digunakan

sekarang pada sistem yaitu 1,4,3 dimana 1 merupakan bobot penambahan, 4

merupakan bobot penggantian, dan 3 merupakan bobot penghapusan. Jadi, jika user

menginput kata “adl” maka sistem memberikan output “adalah” dengan proses

sebagai berikut. Nilai bobot untuk kata target “adalah” menjadi 3 bobot karena

penambahan 3 karakter huruf, sedangkan nilai bobot untuk kata target “ada” menjadi

Page 63: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

52

4 karena penggantian 1 karakter huruf. Sehingga input dan ouput dari sistem sesuai

dengan keiinginan user. Dengan mengubah parameter handle tersebut tingkat akurasi

meningkat dari tingkat akurasi sebelumnya.

Page 64: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

53

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil penelitian sebagaimana telah diuraikan dalam bab

sebelumnya, maka dapat disimpulkan sebagai berikut :

1. Kata-kata yang salah pada kalimat yang diinput oleh user dapat diperbaiki

dengan menggunakan Algoritma Levenstein.

2. Pembuatan sistem pembentukan kalimat valid menggunakan beberapa

algoritma dan metode berhasil dibuat dengan tingkat akurasi sebesar 90%

hasil akurasi tidak mencapai 100%, karena kata yang di uji oleh sistem dan

database diindeks terbatas. Semakin banyak data kata yang tersimpan pada

database indeks maka tingkat akurasi sistem akan semakin tinggi.

3. Sistem ini dapat berdiri sendiri sebagai alat untuk memperbaiki kata yang

salah dan diintegrasikan pada sistem lain yang berbasis pengkoreksian

kata.

5.2 Saran

Hasil dari penelitian akhir ini belum sempurna, oleh karenanya untuk

meningkatkan hasil yang dicapai dapat dilakukan :

1. Kekurangan sistem ini adalah hanya dapat mengkoreksi yang terdapat pada

database indeks dan mengambil kata target yang sesui dengan perintah di

sistem yaitu mengambil bobot terkecil dari kata target yang diberikan.

Page 65: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

54

Sehingga diharapkna agar dapat dikembangkan agar sistem tersebut dapat

menentukan kata target yang diberikan oleh sistem sesuai dengan

keiinginan user yaitu pendalaman pada algoritma levenstein itu sendiri dan

peningkatan kata pada database.

2. Pada penampilan interface yang kurang menarik, sehingga kedepannya

untuk meningkatkan sistem tersebut untuk memperbarui interface.

3. Pada sitem validasi kalimat dalam mengupdate database tersendiri belum

bisa. Karena sistem akan bekerja dua kali. Database yang digunakan ada

dua yaitu database untuk melakukan proses algoritma levenshtein dan

database update yang didalamnya ada kolom data singkat dengan tidak

singkat. Adapun kekurangan dari sistem tersebut yaitu apabila database

semakin banyak maka algoritma levenshtein susah dalam menseleksi kata

target yang sesuai dengan keiinginan user. Sehingga diperlukan teknologi

pengembangan yang kompleks dalam menseleksi database contohnya big

data.

Page 66: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

55

DAFTAR PUSTAKA

Adiwidya, Bernardino Madaharsa Dito. 2009. Algoritma Levenshtein Dalam

Pendekatan Approximate String Matching. Bandung : Institut Teknologi

Bandung.

Arief, M.R. 2011. Pemrograman Web Dinamis Menggunakan PHP Dan MySQL.

Yogyakarta : Andi Offset.

Dwipayana, Gatot. dkk. 2002. Intisari Bahasa Indonesia: Graha Cipta Pustaka,

Bandung.

Fahma, Ariani Indana., Imam Cholissodin., Rizal Setya Perdana. 2018. Identifikasi

Kesalahan Penulisan Kata (Typographical Error) pada Dokumen

Berbahasa Indonesia Menggunakan Metode N-gram dan Levenshtein

Distance. Universitas Brawijaya.

Fridayanthie, Eka Wida., Tias Mahdiati. 2016. Rancang Bangun Sistem Informasi

Permintaan Atk Berbasis Intranet (Studi Kasus: Kejaksaan Negeri

Rangkasbitung). Tangerang : AMIK BSI Tangerang

Gurning, Ardi Isbad Amar., Zarnelly., Arabiatul Adawiyah. 2016. Penerapan Fuzzy

String Matching Pada Aplikasi Pencarian Tugas Akhir Mahasiswa Jurusan

Sistem Informasi Berbasis Web (Studi Kasus: Fakultas Sains Dan Teknologi

Uin Suska Riau). Riau : UIN Suska Riau.

Page 67: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

56

Ilmy, Muhammad Bahari., Nitia Rahmi., Roland L Bu’ulolo. Penerapan Algoritma

Levenshtein Distance untuk Mengoreksi Kesalahan Pengejaan pada Editor

Teks. Bandung : Institut Teknologi Bandung.

Lisnawati, Yulia. 2017. “Gara – Gara Typo Bikin Rugi Jutaan Dolar, 7 Kasus Ini

Buktinya”, https://www.liputan6.com/citizen6/read/3107438/gara-gara-

typo-bikin-rugi-jutaan-dolar-7-kasus-ini-buktinya, diakses pada 25 Januari

2018 pukul 20.15.

Nugrahani, Farida., Ali Imron Al-Ma’ruf. 2015. Metode Penulisan Karya Ilmiah.

Yogyakarta: Nuansa Aksara.

Naradhipa, A.R., Kamayani, M., Reinanda, R., Simbolon, S., Soleh, M.Y. dan

Purwarianti, A., 2011. Application of Document Spelling Checker for Bahasa

Indonesia. ICACSIS, hal.249–252.)

Riadi. M., 2015. Pengertian dan Kriteria Teks. [online] Tersedia di:

<http://www.kajianpustaka.com/2015/09/pengertian-dan-kriteriateks.html>

[Diakses 2 Februari 2018].

Rochmawati, Yeny., Retno Kusumanigrum. 2015. Studi Perbandingan Algoritma

Pencarian String dalam Metode Approximate String Matching untuk

Identifikasi Kesalahan Pengetikan Teks. Semarang : Universitas

Diponegoro.

Tampake, Hendro Steven. 2007. Penggunaan AJAX pada Pengembangan Aplikasi

Web. Salatiga : Universitas Kristen Satya Wacana.

Page 68: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

57

LAMPIRAN

Page 69: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

58

Algoritma Levenstein

public function validasi()

{

$this->load->view('forum/validasi');

}

public function indexing_proses()

{

$pilihan = [];

$pilihan_fix = [];

$inputan = $this->input->post('input_tanya'); //

$data_input = explode(' ', $inputan); //tokonezing berdasarkan

kalimat inputan

$result = $this->Forum_models->tabel_indeks();//

//leveshtein "pengkoreksian kata"

Page 70: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

59

for ($i=0; $i < count($data_input); $i++) { //

foreach ($result as $results) { //menglooping

$lev = levenshtein($data_input[$i], $results->kata , 1

, 4, 3); //penambhan, penggantian, penghapusan

if ($lev < 3) { // approximate

$pilihan[] = array($lev , $data_input[$i],

$results->kata);

}else{

if ($lev < 6) {

$pilihan[] = array($lev , $data_input[$i], $results-

>kata);

}else{

$pilihan[] = array($lev , $data_input[$i],

$data_input[$i]);

}

}

}

if (sizeof($pilihan) > 1) { // total array (sourting)

for ($k=0; $k < sizeof($pilihan); $k++) {

Page 71: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

60

for ($j=0; $j < (sizeof($pilihan) - 1); $j++) {

if ($pilihan[$j][0] >

$pilihan[$j+1][0]) {

$temp1 = $pilihan[$j+1][1];

$pilihan[$j+1][1] = $pilihan[$j][1];

$pilihan[$j][1] = $temp1;

$temp2 = $pilihan[$j+1][0];

$pilihan[$j+1][0] = $pilihan[$j][0];

$pilihan[$j][0] = $temp2;

$temp3 = $pilihan[$j+1][2];

$pilihan[$j+1][2] = $pilihan[$j][2];

$pilihan[$j][2] = $temp3;

}

}

}

Page 72: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

61

$pilihan_fix[] = array($pilihan[0][0] , $pilihan[0][1] ,

$pilihan[0][2] );

}else{

$pilihan_fix[] = array($pilihan[0][0] , $pilihan[0][1]

, $pilihan[0][2] );

}

$pilihan = [];

}

echo json_encode($pilihan_fix);

}

public function indexing_proses_valid()

{

$result = $this->Forum_models->indexing_proses_valid();

echo json_encode($result);

}

public function indeks_tabel()

{

Page 73: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

62

$validIndex = false;

$result = $this->Forum_models->indeks_tabel();

foreach ($result as $results) {

$data = explode(' ', $results->tanya);

for ($i=0; $i < count($data); $i++) {

$tabel_indeks[$i] = $this->Forum_models-

>tabel_indeks();

foreach ($tabel_indeks[$i] as $tabelList) {

if ($tabelList->kata == $data[$i]) {

$validIndex = false;

}

}

if ($validIndex === true) {

$this->Forum_models-

>cekKataDiIndeks($data[$i]);

}

$validIndex = true;

Page 74: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

63

}

}

echo json_encode($data);

}

Tampilan Validasi Kalimat

<!DOCTYPE html>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet"

href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<link rel="stylesheet" type="text/css" href="assets/desain.css">

<script

src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script

src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></scri

pt>

<head>

<title>Validasi Kalimat</title>

</head>

Page 75: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

64

<body>

<div class="jumbotron text-center">

<h1>Validasi Kalimat </h1>

<form class="form-inline">

<div class="input-group">

<input type="text" class="form-control" size="50" placeholder="Masukkan

Pertanyaan " id="input_tanya" required>

<div class="input-group-btn">

<button id="btn_tanya" type="button" class="btn btn-

danger">Submite</button>

</div>

</div>

</form>

<div id="loading" style="display: none;">loading</div>

</div>

<div class="container">

Page 76: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

65

<div class="levehstein" style="display: none;" style="table-layout:

center">

<div class="col-sm-4" >

<h3>Proses Leveshtein </h3>

<table id="levTable" class="table table-hover" > </table>

</div>

</div>

</div>

<div id="struktur"></div>

<!-- <div id="validasi_kalimat_before" style="text-align: center"

style="vertical-align: middle">

</div> -->

<div id="validasi_kalimat" style="text-align: center" style="vertical-align:

middle" ></div>

<!-- <span id="validasi_kalimat_cek"></span> -->

<script

src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Page 77: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

66

<script type="text/javascript">

var recek;

$('#btn_tanya').on('click' , function(e) {

$('#loading').show();

$('.levehstein').show();

$('.nafiez').show();

$('.cyk').show();

e.preventDefault();

var selesai_button = {

'input_tanya' : $('#input_tanya').val(),

'<?php echo $this->security->get_csrf_token_name(); ?>':

'<?php echo $this->security->get_csrf_hash(); ?>'

}

var htmlObj = '';

var htmlRecek = '';

var htmlValid = '';

var recek_all = [];

$.ajax({

Page 78: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

67

url: '<?php echo site_url() ?>Forum/indexing_proses/',

data: selesai_button,

type: 'post',

document.getElementById('validasi_kalimat').innerHTML = validasi_kalimat;

document.getElementById('validasi_kalimat_before').innerHTML =

$('#input_tanya').val();

}

});

})

</script>

<!-- untuk indeks data -->

<script type="text/javascript">

$('#indeks_data').on('click', function() {

$.ajax({

url: '<?php echo site_url() ?>Forum/indeks_tabel/',

type: 'post',

success: function(data){

Page 79: Implementasi Pembentukan Kalimat Valid Pada Sistem Chatbot

68

alert('sukses melakukan indeks kata')

}

});

})

</script>

</body>

</html>