<<

IMPLEMENTASI NATURAL LANGUAGE PROCESSING

PADA PERIBAHASA

INDONESIA

SKRIPSI

DEWI WIRANDA SARI

141401133

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2018

Universitas Sumatera Utara

IMPLEMENTASI NATURAL LANGUAGE PROCESSING

PADA CHATBOT PERIBAHASA

INDONESIA

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar

Sarjana Komputer

DEWI WIRANDA SARI

141401133

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2018

Universitas Sumatera Utara

Universitas Sumatera Utara

Universitas Sumatera Utara ABSTRAK

Chatbot Natural language Processing (NLP) memberikan solusi padapermasalahan belum tersedianya media interaktif untuk pencarian makna peribahasa Indonesia, pencarian penggalan kata dari peribahasa dan pencarian peribahasa melalui artinya. Tujuan dari bidang NLP adalah melakukan proses pembuatan model komputasi dari bahasa sehingga dapat terjadi suatu interaksi antara manusia dengan komputer dengan perantara bahasa alami. Inputan pengguna akan diproses menggunakan metode . Respon yang dihasilkan merupakan pencocokan pattern pada knowledge base dengan menggunakan algoritma boyermoore dan menghasilkan respon balasan yang dianggap paling cocok. Algoritma boyer moore hanya dapat menangani keyword yang tepat sesuai knowledge base. Selain itudigunakan algoritma levenshtein sebagai spelling correction yang digunakan jika terjadi kesalahan pengetikan pada masukkan pengguna dengan cara membandingkan dua buah string dan mengambil nilai perbedaan yang terkecil. Pada penelitian ini dapat disimpulkan bahwa sistem ini dapat digunakan sebagai media interaktif untuk mendapatkan informasi peribahasa Indonesia dengan persentase keberhasilan chatbot sebesar 83,3% dimana hasil yang diperoleh dari respon chatbot tergantung pada kelengkapan kata kunci. Tingkat kesulitan pada pembuatan sistem lebih ke penyesuaian inputan pengguna dengan knowledge base.

Katakunci: Natural Language Processing, Algoritma Boyer Moore, Chatbot, TextMining, Peribahasa Indonesia,Algoritma Levenshtein Distance, PHP.

Universitas Sumatera Utara NATURAL LANGUAGE PROCESSING IMPLEMENTATION TO INDONESIAN PROVERB CHATBOT

ABSTRACT

Natural language Processing (NLP) Chatbot provides a solution on the issue of unavailability of interactive media to search for meaning Indonesian proverb, to search part of word from proverbs and to search proverb from it means. The goal of NLP is to model the computation process on languages so it could enable an interaction between a user and computer with natural language as its medium. User’s input will be processed using text mining method. The resulting response is a with the knowledge base by using the Boyer-Moore algorithm and generates the most matching response. Boyer-Moore algorithm could only handle the exact keyword which is matching the knowledge base. In addition to the system, Levenshtein distance algorithm is used as a spelling correction which is used when there are typos from user’s input by comparing two strings and picks its smallest difference value. From this research, it can be The conclusion from this research is this system can be used as an interactive media to get information about Indonesian proverb with chatbot’s success rate up to 83,3% where the results are obtained from the response of a chatbot that depends on the entire keywords. The level of difficulty in creating the system are more to the adjustment of user input with the knowledge base.

Keywords: Natural Language Processing, Boyer Moore Algorithm, Chatbot, Text Mining, Indonesian Proverb, Algoritma Levenshtein Distance, PHP.

Universitas Sumatera Utara DAFTAR ISI

Halaman

Persetujuan ii Pernyataan iii Penghargaan iv Abstrak vi Abstract vii Daftar Isi viii Daftar Tabel x Daftar Gambar xi

Bab 1 Pendahuluan 1.1. Latar Belakang 1 1.2. Rumusan Masalah 2 1.3. Batasan Penelitian 2 1.4. Tujuan Penelitian 3 1.5. Manfaat Penelitian 3 1.6. Metodologi Penelitian 3 1.7. Sistematika Penulisan 4

Bab 2 Landasan Teori 2.1. Chatbot 6 2.2. Natural Language Processing 7 2.3. Text Mining 8 2.4. String Matching 10 2.5.1. Algoritma Boyer Moore 11 2.5. Algoritma Levenshtein Distance 15 2.6. Penelitian yang Relevan 16

Bab 3 Analisis dan Perancangan Sistem 3.1. Analisis Sistem 18 3.1.1. Analisis Masalah 18 3.1.2. Analisis Sumber Data Peribahasa Indoesia 19 3.1.3. Diagram Sistem 20 3.1.4. Analisis Data untuk Knowledge Base 21 3.1.5. Analisis Case Folding 53 3.1.6. Analisis Tokenizing 53 3.1.7. Analisis Filtering 54 3.1.8. Analisis Kebutuhan Sistem 55 3.1.8.1. Kebutuhan Fungsional 55 3.1.8.2. Kebutuhan Non-Fungsional Sistem 55 3.2. Pemodelan 56 3.2.1. Use Case Diagram 56 3.2.2. Activity Diagram 57 3.2.3. Sequence Diagram 58 3.2.4. Flowchart 59

Universitas Sumatera Utara 3.2.5. Pseudocode 63 3.3 Perancangan Sistem 65

Bab 4 Implementasi dan Pengujian Sistem 4.1. Implementasi 68 4.1.1. Implementasi Knowledge Base 68 4.1.2. Halaman Cover 69 4.1.3. Halaman Chat 70 4.1.4. Implementasi Metode dan Algoritma 70 4.2. Pengujian Sistem 73

Bab 5 Kesimpulan dan Saran 5.1. Kesimpulan 84 5.2. Saran 84

Daftar Pustaka 86

LAMPIRAN Listing Program A-1 Daftar Riwayat Hidup B-1

Universitas Sumatera Utara DAFTAR TABEL

Halaman Tabel 3.1 Daftar Peribahasa Indonesia 22 Tabel 3.2 Daftar Kata Sapaan 44 Tabel 3.3 Daftar stopword 46 Tabel 3.4 Tabel Transisi 48 Tabel 3.5 Tabel Transisi Filtering 49 Tabel 3.6 Tabel Use Case Proses Input Kalimat 52 Tabel 3.7 Pseudocode Suffix 63 Tabel 3.8 Pseudocode prebmGs 64 Tabel 3.9 Pseudocode prebmBc 64 Tabel 3.10 Pseudocode Boyer Moore 64 Tabel 3.11 Pseudocode Levenshtein 65 Tabel 4.1 Pencocokan Boyer Moore pertama 72 Tabel 4.2 Pencocokan Boyer Moore kedua 72 Tabel 4.3 Pencocokan Boyer Moore ketiga 72 Tabel 4.4 Hasil Pengujian Menanyakan Arti Peribahasa Indonesia 73 Tabel 4.5 Hasil Pengujian Menyapa Chatbot 74 Tabel 4.6 Hasil Pengujian Melengkapi Penggalan Peribahasa 75 Tabel 4.7 Hasil Pengujian Mencari Peribahasa Melalui Artinya 76 Tabel 4.8 Database Pencocokan 1 78 Tabel 4.9 Tabel Pencocokan 1 78 Tabel 4.10 Database Pencocokan 2 79 Tabel 4.11 Tabel Pencocokan 2.1 79 Tabel 4.12 Tabel Pencocokan 2.2 79 Tabel 4.13 Tabel Pencocokan 2.3 79

Universitas Sumatera Utara DAFTAR GAMBAR

Halaman Gambar 2.1 Tahap Text Mining 9 Gambar 2.2 Tahap Case Folding 9 Gambar 2.3 Tahap Tokenizing 10 Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem 19 Gambar 3.2 Kamus Lengkap 2200 Peribahasa Indonesia 19 Gambar 3.3 Website Peribahasa Indonesia 20 Gambar 3.4 Diagram Umum Chatbot 21 Gambar 3.5 Analisis Case Folding 53 Gambar 3.6 Tahap Tokenizing 53 Gambar 3.7 Tahap Filtering 54 Gmabar 3.8 Use Case Diagram Sistem 49 Gambar 3.9 Activity Diagram Sistem 58 Gambar 3.10 Sequence Diagram Sistem 59 Gambar 3.11 Flowchart Sistem Gambaran Umum Chatbot 60 Gambar 3.12 Flowchart Algoritma Boyer Moore 61 Gambar 3.13 Flowchart Pemeriksaan Spelling Correction 62 Gambar 3.14 Rancangan Antarmuka Halaman Cover 65 Gambar 3.15 Rancangan Antarmuka Halaman Chat 66 Gambar 4.1 Database Peribahasa 68 Gambar 4.2 Database Kata Sapa 69 Gambar 4.3 Database Stopword 69 Gambar 4.4 Halaman Cover 70 Gambar 4.5 Halaman Chat 70 Gambar 4.6 Diagram Preprocessing 71 Gambar 4.7 Pengujian Boyer Moore 1 77 Gambar 4.8 Pengujian Boyer Moore 2 78 Gambar 4.9 Pengujian Boyer Moore 3 80 Gambar 4.10 Pengujian Boyer Moore 4 81 Gambar 4.11 Pengujian Levenshtein Distance 81

Universitas Sumatera Utara BAB 1 PENDAHULUAN

1.1. Latar Belakang Peribahasa merupakan kelompok kata yang mempunyai susunan yang tetap dan mengandung nasihat, prinsip hidup atau aturan tingkah laku yang biasanya digunakan pada kehidupan masyarakat jaman dulu. Dahulu, peribahasa dianggap cara yang paling mudah untuk memberikan nasihat, teguran maupun sindiran. Saat ini, peribahasa masih lestari dalam bentuk lisan maupun tulisan. Dalam bentuk tulisan peribahasa masih dapat ditemukan pada kata pengantar sebuah karya ilmiah, slogan maupun media cetak. Peribahasa yang masih sering digunakan antara lain tak ada gading yang tak retak, sedikit demi sedikit, lama – lama kian membukit. Pergantian masa mempengaruhi peribahasa yang ditandai dengan hilangnya sebagian kecil peribahasa. Seringnya peribahasa Indonesia yang jarang terdengar dan terbaca tidak diketahui artinya oleh masyarakat. Di era digital saat ini, pengguna tentunya menginginkan sebuah media informasi yang interaktif dan dapat menggunakan bahasa alami (dalam hal ini bahasa Indonesia) untuk pencarian informasi.

Dalam pencarian informasi peribahasa Indonesia, seseorang dapat menggunakan kamus peribahasa Indonesia baik berbentuk cetak maupun digital atau mencari di mesin pencari seperti Google. Seiring dengan perkembangan zaman dan peningkatan teknologi, kamus peribahasa Indonesia versi cetak sudah mulai ditinggalkan oleh masyarakat. Kamus cetak dianggap bukan cara yang efektif untuk menemukan arti peribahasa karena harus membuka lembar demi lembar untuk menemukan arti peribahasa Indonesia. Untuk itu, diperlukan media informasi peribahasa Indonesia yang interaktifdengan menggunakan bahasa sehari-hari yaitu implementasi Natural Language Processing (NLP) pada chatbot. Denganchatbot dapat memudahkan pengguna untuk mencari dan memahami arti dari peribahasa yang sudah sangat jarang didengar. Dibanding kamus digital ataupun mesin pencari, chatbot memiliki banyak kelebihan yaitu chatbot dapat memberikan respon yang cepat terhadap setiap pertanyaan dan memberikan kemudahan dalam berinteraksi. Selain itu, chatbot dapat menangani query pada knowledge base. Ketika sistem diberitahu untuk mengeksekusi suatu topik, ia mulai mengeksekusi aturan ditopik itu

Universitas Sumatera Utara sampai menghasilkan keluaran. Di dalam topik, aturannyadieksekusi secara berurutan baris perbaris (Emanuela, H and Traian, R, 2013).

Sistem ini dibangun agar pengguna dapat mencari tahu tentang peribahasa dengan cara tanya jawab kepada chatbot.Respon yang dihasilkan merupakan hasil pemindaian kata kunci pada inputan user dan menghasilkan respon balasan yang dianggap paling cocok dari database, sehingga percakapan yang terjadi seakan-akan dilakukan oleh dua pribadi manusia yang saling berkomunikasi. Saat ini, aplikasi chatbot berkembang pesat akan tetapi belum ada chatbot yang bertemakan peribahasa Indonesia. Chatbot tersebut hanya digunakan untuk tujuan tertentu seperti Frequently Ask Question (FAQ), Call Center Cerdas maupun sebagai media hiburan.

1.2. Rumusan Masalah Peribahasa merupakan suatu kekayaan sastra Indonesia yang harus dilestarikan, namun seiiring perkembangan zaman penggunaan peribahasa sudah mulai ditinggalkan. Salah satu permasalahannya belum tersedianya media interaktif untuk pencarian makna peribahasa Indonesia, pencarian peribahasa melalui penggalan peribahasa, pencarian peribahasa melalui artinya. Kamus digital tidak begitu efektif diterapkan untuk pencarian peribahasa serta media interaktif karena kamus seyogyanya merupakan kumpulan kata yang dicari maknanya dengan susunan alphabet. Untuk itu pada penelitian ini kami membangun chatbot peribahasa Indonesia yang mampu memberikan solusi untuk permasalahan ini.

1.3. Batasan Masalah Agar fokus penelitian tidak menyimpang dari rumusan masalah yang telah ditetapkan, maka dibuat batasan masalah sebagai berikut:

1. Chatbot hanya melayani percakapan dalam bahasa Indonesia. 2. Topik pembicaraan hanya dibatasi seputar peribahasa Indonesia. 3. Diberikan kemampuan dasar untuk merespon mengenai sapaan. 4. Pada database hanya terdapat 500 peribahasa. 5. Implementasi Natural Language Processing menggunakan metode Text Mininguntuk memproses masukan untuk mendapatkan keyword, pencocokan keyword menggunakan Algoritma Boyer Moore dan menggunakan Algoritma Levenshtein Distance sebagai Spelling Correction. 6. Chatbot tidak dapat melakukan pembaruan pengetahuan secara otomatis.

Universitas Sumatera Utara 7. Bahasa pemrograman yang digunakan adalah PHP dan MySql sebagai penyimpanan knowledge base.

1.4. Tujuan Penelitian Tujuan yang akan dicapai dalam penelitian ini adalah:

1. Menerapkan pendekatan Natural Language Processingpada aplikasi chatbotsehingga pengguna dapat bertanya menggunakan bahasa sehari-hari. 2. Memberikan informasi mengenai peribahasa Indonesia kepada pengguna dengan media yang interaktif.

1.5. Manfaat Penelitian Adapun manfaat dari penelitian ini adalah :

1. Penelitian ini diharapkan mampu membantu pengguna mencari informasimengenai peribahasa Indonesia. 2. Penelitian ini diharapkan memudahkan pengguna untuk mencari informasi mengenai peribahasa Indonesia.

1.6. Metodologi Penelitian

Penelitian ini dilakukan dengan menerapkan beberapa metode penelitian sebagai berikut:

1. Studi Literatur Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang diperlukan untuk penulisan skripsi ini. Referensi yang digunakan dapat berupa buku, jurnal, artikel, situs internet yang berkaitan dengan penelitian ini.

2. Analisis dan Perancangan Pada tahap ini digunakan untuk mengolah data dari hasil studi literatur yangkemudian dilakukan analisis dan perancangan sistem. Kemudian sistemdirancang dengan membuat gambaran sistem menggunakan flowchart, UML,dan user interface.

Universitas Sumatera Utara 3. Implementasi Sistem Pada tahap ini perancangan diimplementasikan dalam pembuatan suatuaplikasi berbasis webdengan menggunakan Bahasa Pemrograman PHP danmenggunakan DBMS MySqlsebagai knowledge base. 4. Pengujian Sistem Pada tahap ini akan dilakukan pengujian kinerja sistem yang telah dikembangkan.

5. Dokumentasi Sistem Pada tahap ini dilakukan pembuatan dokumentasi sistem mulai dari tahap awal hingga pengujian sistem, untuk selanjutnya dibuat dalam bentuk laporan penelitian (skripsi).

1.7. Sistematika Penulisan Penyusunan skripsi ini dibagi ke dalam beberapa bab sesuai dengan pokok permasalahan yang dibahas. Adapun sistematika dalam penulisan skripsi ini adalah sebagai berikut:

BAB 1 PENDAHULUAN

Pada Bab ini akan dijelaskan latar belakang masalah dari penelitian yang dilakukan, batasan penelitian, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan.

BAB 2 TINJAUAN PUSTAKA

Pada Bab ini akan dijelaskan teori-teori dasar yang mendukung penelitian seperti Chatbot, Natural Language Processing,Text Mining, Algoritma Boyer Moore dan Algoritma Levenshtein Distance.

BAB 3 ANALISIS DAN PERANCANGAN

Pada Bab ini akan dijelaskan analisis serta perancangan Aplikasi ChatbotPeribahasa Indonesia. Model Unified Modeling Language (UML)yang

Universitas Sumatera Utara digunakan antara lain adalah use case diagram, activity diagram, sequence diagramdan perancangan tampilan antarmuka sistem.

BAB 4 IMPLEMENTASI DAN PENGUJIAN APLIKASI

Pada bab ini membahas tentang hasil implementasi dan pengujian sistem serta pembahasan dari hasil yang diperoleh.

BAB 5 KESIMPULAN DAN SARAN

Pada Bab ini akan dijelaskan hasil penelitian yang berisi kesimpulan dan saran yang nantinya akan dikembangkan atau melanjutkan penelitian yang berkaitan dengan masalah dalam penelitian ini.

Universitas Sumatera Utara BAB 2 TINJAUAN PUSTAKA

2.1. Chatbot

Chatbotterdiri dari dua kata yaitu “chat” dan “bot”. Chat yang berarti percakapan sedangkan bot diambil dari kata “robot”. Dengan kata lain, chatbot merupakan robot virtual atau mesin yang dapat melakukan percakapan dengan pengguna melalui sebuah media seperti web chat, messenger, forum web atau bahkan melalui suara seperti telepon. Menurut Fatimah Choirunnisa (2014) Chatbot adalah salah satu sistem cerdas yang dihasilkan dari Pemrosesan Bahasa Alami atau Natural Language Processing (NLP) yang merupakan salah satu cabang dari Kecerdasan Buatan atau Artificial Intelligence (AI).

Pada mulanya, chatbot diuji melalui test yang disebut turing test.Turing Test merupakan sebuah metode pengujian kecerdasan yang dibuat oleh Alan Turing. Proses uji ini melibatkan seorang penanya (manusia) dan dua obyek yang ditanyai. Yang satu adalah seorang manusia dan yang satunya adalah sebuah mesin yang akan diuji. Penanya tidak dapat melihat langsung kepada obyek yang ditanyai. Penanya diminta untuk membedakan mana jawaban komputer dan mana jawaban manusia berdasarkan jawaban kedua obyek tersebut. Jika penanya tidak dapat membedakan mana jawaban mesin dan mana jawaban manusia maka Turing berpendapat bahwa mesin yang diuji tersebut dapat diasumsikan Cerdas (Kristanto, Andri. 2004).

Chatbot yang dikenal sebagai chatbot intelejensia buatan pertama adalah chatbot Eliza. Eliza dikembangkan oleh profesor MIT bernama Joseph Weizenbaum pada tahun 1966(Fatima, 2014). Eliza merupakan chatbot yang berprofesi sebagai psikiater. Eliza yang berperan sebagai psikolog dapat menjawab pertanyaan pasien atau menjawab dengan pertanyaan kembali.

Chatbot merupakan sistem yang diciptakan manusia untuk dapat berkomunikasi dengan manusia. Chatbotdirancang untuk dapat berkomunikasi langsung dengan

Universitas Sumatera Utara manusia menggunakan bahasa sehari-hari. Chatbot dapat memberikan respon sesuai dengan inputan yang diberikan pengguna menggunakan bahasa manusia.

Meskipun banyak bots yang tampaknya dapat menginterpretasikan dan menanggapi masukan dari manusia, sebenarnya bots tersebut hanyamenganalisis kata kunci dalam masukan dan membalasnya dengan kata kunci yang paling cocok, atau pola kata-kata yang paling mirip dari basis data tekstual (Elisabet& Irawan, 2015).

2.2. Natural Languge Processing

Natural language processing atau pengolahan bahasa alami biasanya disingkat dengan NLP, merupakan bidang kecerdasan buatan dimana komputer didesain untuk dapat berkomunikasi dengan manusia menggunakan bahasa alami, seperti Bahasa Indonesia. NLP tidak bertujuan untuk mentransformasikan bahasa yang diterima dalam bentuk teks atau suara menjadi data digital dan/atau sebaliknya pula; melainkan bertujuan untuk memahami arti dari kalimat yang diberikan dalam bahasa alami dan memberikan respon yang sesuai, misalnya dengan melakukan suatu aksi tertentu atau menampilkan data tertentu (Fendy Ridwan, 2013).

Menurut Ema Utami dan Sri Hartati (2007) terdapat beberapa karakteristik yang menyulitkan pemrosesan bahasaalami diantaranya adalah: 1. Sering terjadi ambiguitas dalam bahasa alami seperti kata “bisa” dalam bahasa Indonesia yang memiliki banyak arti . 2. Jumlah kosa kata dalam bahasa alami sangat banyak dan berkembang pesat dari waktu ke waktu.

Dalam melakukan proses NLP terdapat lima langkah yaitu , Syntax Analysis, Semantic Analysis, Discourse Integration dan Pragmatics Analysis. Pada lexical analysis, mengidentifikasi dan menganalisis text atau kalimat menjadi kata per kata. Kedua, syntax analysis, yaitu menganalisis kata-kata dalam kalimat berdasarkan tata bahasa atau grammar. Ketiga, semantic analysis, dimana pada langkah tersebut dilakukan penentuan makna dari sebuah kata. Keempat, discouse integration, yaitu menganalisis kalimat sebelumnya yang akan memepengaruhi kalimat selanjutnya.

Universitas Sumatera Utara Sedangkan yang terakhir, pragmatics analysis merupakan proses penggalian makna atau informasi yang lebih dalam dari teks.

Pengolahan bahasa alami, lebih dari sekedar analisis ucapan. Ada berbagai pendekatan untuk mengolah bahasa alami, yaitu (Expertsystem, 2016): 1. Pendekatan simbolis (Symbolic Approach), yaitu pendekatan yang didasarkan pada aturan manusia dan leksikon. Dengan kata lain, dasar di balik pendekatan ini adalah aturan ucapan yang diterima secara umum dalam bahasa tertentu dan dicatat oleh pakar linguistik untuk diikuti sistem komputer. 2. Pendekatan statistik (Statistical Approach), yaitu pendekatan yang didasarkan pada contoh fenomena linguistik yang dapat diamati. 3. Pendekatan koneksionis (Connectionist Approach), yaitu pendekatan yang kombinasi dari pendekatan simbolis dan statistik.

2.3. Text Mining

Text Mining merupakan proses pencarian pola atau penggalian informasi baru. Tujuan dari text mining adalah menemukan informasi yang penting dari teks dengan mengubah teks menjadi data yang dapat digunakan untuk analisis yang lebih lanjut (Elisabet, 2015). Secara umum tahapan yang dilakukan pada text mining, yaitucase folding,tokenizing, filtering, , tagging dan analyzing.

Universitas Sumatera Utara

Gambar 2.1 Tahap Text Mining a. Case Folding Case Folding merupakan proses penghilangan karakter selain huruf ‘a’ sampai ‘z’. Karakter seperti tanda ‘.’, ’,’ ,’:’ dan lain sebagainya akan di hilangkan. Proses case folding dapat dilihat pada Gambar 2.2.

Gambar 2.2Tahap Case Folding

Universitas Sumatera Utara b. Tokenizing Tokenizing adalah proses mengurai kalimat menjadi kata-kata yang menyusunnya. Pada tahap ini juga dilakukan proses merubah semua huruf menjadi huruf kecil. Hanya huruf ‘a’ sampai ‘z’ yang diterima. Proses Tokenizing seperti Gambar 2.3.

Gambar 2.3 Tahap Tokenizing c. Filtering Filtering merupakan tahap pengambilan kata – kata penting dari hasil proses tokenizing. Pada tahap filtering terdapat dua algoritma yang dapat digunakan yaitu algoritma stoplist/stopword (membuang kata yang kurang penting) atau wordlist (menyimpan kata penting). Contoh stopwords adalah “apa”, “di”, pada” dan seterusnya. Jika terdapat kata stoplist dalam kalimatmaka kata-kata tersebut akan di-remove dari kalimat sehingga kata-kata yang tersisa di dalam deskripsi di anggap sebagai kata-kata penting atau keywords.

2.4. String Matching

String Matching (Pencocokan string) merupakan metode yang digunakan untuk pencocokan dua buah string, dimana string pendek (pattern) dengan string lebih yang lebih panjang (teks) (Charras, C & Lecroq, T, 2004). Cara kerja untuk mencari pattern yang cocok dengan teks adalah dengan mencoba mencari di setiap posisi awal dari teks dan mengabaikan pencarian secepat mungkin jika karakter yang salah ditemukan (Knuth, 1977). Proses pertama adalah menyelaraskan bagian paling kiri dari pattern dengan teks. Kemudian dibandingkan karakter yang sesuai dari teks dan pattern. Setelah seluruhnya cocok maupun tidak cocok dari pattern, window digeser ke kanan sampai posisi ( − +1) pada teks.

𝑛𝑛 𝑚𝑚

Universitas Sumatera Utara

2.4.1. Algoritma Boyer Moore

Algoritma Boyer Moore merupakan algoritma pencocokan string yang paling efiesien. Algoritma ini mencocokan karakter mulai dari karakter paling kanan hingga karakter paling kiri pada pola (pattern). Jika terjadi ketidakcocokan (mismatch), maka akan dicek nilai pergeserannya berdasarkan tabel bad character shift dan good suffix shif. Algoritma Boyer-Moore menggunakan dua buah tabel untuk mengolah informasi saat terjadi kegagalan pencocokan pattern. Tabel pertama disebut badcharacter shift juga sering disebut occurrence heuristic (OH). Tabel kedua disebut dengan istilah good suffix shift juga disebut match heuristic (MH) (Charras & Lecroq, 2004)

Secara sistematis, langkah-langkah yang dilakukan Algoritma Boyer Moore pada saat mencocokkan string: 1. Algoritma Boyer-Moore mulai mencocokkan pattern pada awal teks. 2. Dari kanan ke kiri, algorima ini akan mencocokan karakter per karakter pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi: a) Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch). b) Semua karakter di pattern cocok kemudian algoritma akan memberitahukanpenemuan diposisi ini. 3. Algoritma kemudian menggeser pattern dengan memaksimalkan nilai penggeserangood suffix dan penggeseran bad-character, lalu mengulangi langkah 2 sampai patternberada di ujung teks (Susanto, 2014).

Perhitungan dengan algoritma Boyer-Moore dapat dilihat pada contoh berikut ini. Contoh : Pattern (y) = “asa” → n = 3 Text (x) = “putus asa” a. Perhitungan pergeseran bad-character i 0 1 2

c a s a

Universitas Sumatera Utara bmBc [c] 2 1 0

Nilai pergeseran pada tabel didapat dengan perhitungan sebagai berikut : bmBc[y[i]] = n – 1 – i bmBc[y[0]] = 3– 1 – 0 = 2 bmBc[y[1]] = 3– 1 – 1 = 1 bmBc[y[2]] = 3– 1 – 2 = 0 Dan untuk karakter selain yang terdapat pada pattern, karakter tersebut bernilai sejumlah karakter pattern yaitu 3.Jika ada karakter yang berulang ambil nilai BmBcterkecil, dalam kasus ini adalah karakter “a” yang bernilai 2 dan 0. Maka jadikan karakter “a” bernilai 0.

i 0 1 2

c a s a

bmBc [c] 0 1 0

b. Perhitungan nilaiSuffix

i 0 1 2

c a s a

Suff (i) 1 0 3

Langkah-langkah untuk menghitung nilai Suffix adalah sebagai berikut : 1. Isi kolom Suffix paling kanan dengan nilai n yaitupanjang karakter pattern i 0 1 2

c a s a

Suff (i) 3

2. Membandingkan karakter dari kanan ke kiri

Universitas Sumatera Utara Bandingkan karakter a dan s jika tidak cocok maka beri nilai 0 Bandingkan karakter a dan a jika cocok maka jangan beri nilai i 0 1 2

c a s a

Suff (i) 0 3

3. Pengisian kolom yang tidak bernilai dilakukan dengan memakai rumusi – i – s . s adalah nilai berapa kali pergeseran karakter yang sama.i – (i – s) = 1 – (1 – 1) = 1 i 0 1 2

c a s a

Suff (i) 1 0 3

d. Perhitungan pergeseran good suffix i 0 1 2

c a s a

bmGs 1 0 3

Langkah-langkah untuk menghitung nilai bmGs adalah sebagai berikut : 1. Isi bmGs sesuai dengan panjang karakter yaitu 3. i 0 1 2

c a s a

Suff (i) 1 0 3

bmGs 3 3 3

2. Lakukan pengecekan dari kanan, lakukan pengecekan hingga i = 0 i = 2, jika i + 1 = 3 dan ternyata Suffix bernilai 3 maka tandai kolom i = 1, jika i + 1 = 2 dan ternyata Suffix bernilai 0 maka jangan beri tanda pada

Universitas Sumatera Utara kolom i = 0, jika i + 1 = 1 dan ternyata Suffix bernilai 1 maka tandai kolom i 0 1 2

c a s a

Suff (i) 1 0 3

bmGs 3 3 3

3. Masukkan rumus n– 1 – i pada nilai yang telah diberi ceklisn – 1 – i = 3 – 1 – 2 = 0. Karena hasilnya 0 maka tidak melakukan perhitungann – 1 – i = 3 – 1 – 1 = 1. Karena hasilnya 1 maka perhitungan indeks 0 saja. 4. Ubahlah nilai indeks 0 dengan rumus n- 1 – i,n- 1 – i = 3 – 1 – 0 = 2

i 0 1 2

c a S a

Suff (i) 1 0 3

bmGs 2 3 3

5. Lakukan pengecekan sampai n– 2 = 3 – 2 = 1, artinya menghitung indeks dari0 sampai 1 6. Masukkan rumus n – 1 – suffix untuk mengisi kolom bmGs  i = 0 3 – 1 – 0 = 2, 2 adalah nilai i yang akan diisi pada kolom bmGs n – 1 – i = 3 – 1 – 0 = 2 i 0 1 2

c a S a

Suff (i) 1 0 3

bmGs 2 3 2

Universitas Sumatera Utara  i = 1 3 – 1 – 1 = 1, 1 adalah nilai i yang akan diisi pada kolom bmGs n – 1 – i = 3 – 1 – 1 = 1 i 0 1 2

c a S a

Suff (i) 1 0 3

bmGs 2 1 2

Contoh implementasi pencarian pada teks proses ke-1 Teks p u t u s a s a

Pattern a s a

Indeks 0 1 2 bmBc = t ; (teks) = 3 bmGs = indeks (2); pattern = 2 3 > 2 dengan begitu pattern digeser 3 karakter

Contoh implementasi pencarian pada teks proses ke-2 Teks p u t u s a s a

Pattern a s a

Indeks 0 1 2 bmBc = spasi; (teks) = 3 bmGs = indeks (2); pattern = 2 3 > 2 dengan begitu pattern digeser 3 karakter

Contoh implementasi pencarian pada teks proses ke-3 Teks p u t u s a s a

Pattern a s a

Universitas Sumatera Utara Indeks 0 1 2 semua karakter telah cocok, artinya pattern telah ditemukan di dalam teks.

2.5. Algoritma Levenshtein Distance

Algoritma Levenshtein Distance atau Edit Distancemerupakan salah satu algoritma yang digunakan untuk mengukur kesamaan antara dua string. Algoritma ini ditemukan oleh Vladimir Losifovich Levenshtein yang merupakan ilmuan dari Rusia pada tahun 1965. Sebagai contoh hasil penggunaan algoritma ini, string “algoritma” dan “algorithm” memiliki perbedaan 2 karena perbedaan antara kedua string terletak di huruf yang kedelapan dan kesembilan. Dalam kasus dua string di atas, string “algorithm” dapat menjadi “algoritma” hanya dengan melakukan dua penukaran karakter “h” menjadi “m” dan karakter “m” menjadi “a”.

Algoritma Levenshtein Distance digunakan secara luas dalam berbagai bidang, misalnya mesin pencari, pengecek ejaan (spell checking), pengenal pembicaraan (), pengucapan dialek, analisis DNA, pendeteksi pemalsuan, dan lain-lain. Algoritma ini menghitung jumlah operasi stringpaling sedikit yang diperlukan untuk mentransformasikan suatu stringmenjadi stringyang lain (Adiwidya, 2009).

Selisih perbedaan antar stringdapat diperoleh dengan memeriksa apakah suatu stringsumber sesuai dengan stringtarget. Nilai selisih perbedaan ini disebut juga Editdistance/ jarak Levenhstein. Jarak Levenshtein antar strings dan stringt tersebut adalah fungsi D yang memetakan (s,t) ke suatu bilangan real nonnegatif, sebagai contoh diberikan dua buah strings = 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 strings dan t(i) adalah karakter pada posisi ke-i pada stringt. Sehingga jarak Levenshtein dapat didefinisikan sebagai (Primadani, 2014).

D(s,t) = d(s1,t1)+d(s2,t2)+...+d(s1,t1) (1)

Universitas Sumatera Utara D(s,t) = ( , ) (2) 𝑖𝑖=1

dimana �𝑖𝑖 𝑑𝑑 : 𝑠𝑠𝑠𝑠 𝑡𝑡𝑡𝑡 si, ti €V untuk i = 1,2,…,l

d( si, ti ) = 0 jika si = ti dan

d( si, ti ) = 1 jika si ≠ ti D( s, t) adalah banyaknya operasi minimum dari operasi penghapusan, penyisipan dan penukaran untuk menyamakan strings dan t. Pada implementasi pencocokan antar string, ketiga operasi tersebut dapat dilakukan sekaligus untuk menyamakan string sumber dengan stringtarget seperti pada contoh berikut ini. Jika diberikan string sumber (S) = “algorithm” dan (T) = “algoritma” merupakan stringtarget, dengan | s | = 9, | t | = 9, maka proses pencocokan string dapat diilustrasikan sebagai berikut : 1 2 3 4 5 6 7 8 9 T = a l g o r i t m a S = a l g o r i t hm ma

Pada contoh di atas terlihat bahwa proses penukaran karakter ‘h’ pada indeks ke-8, ‘m’ pada indeks ke-9. Maka jarak Levenshtein antara s dan t adalah sebagai berikut : 9 D(s,t) = ( , ) =1

�𝑖𝑖 = 𝑑𝑑 d(𝑠𝑠𝑠𝑠 a,a𝑡𝑡𝑡𝑡 ) + d( l,l ) + d( g,g ) + d( o,o ) + d( r,r ) + d( i,i ) + d( t,t) + d( m,h ) + d( a,m ) = 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 = 2 Sehingga jarak Levenshtein antara string s dan t adalah D(s,t) = 2.

2.6. Penelitian yang relevan Berikut ini beberapa penelitian terdahulu yang relevan dengan penelitian yang akan dilakukan oleh penulis antara lain adalah sebagai berikut: 1. Hadi Suhendro (2014), dalam skripsi yang berjudul Pembangunan Aplikasi Chatbot Dokter Virtual dengan Pendekatan Natural Language Processing (Studi Kasus di Klinik dr. Iin Hartinah Kabupaten Cirebon) Menyatakan bahwa dengan pendekatan Natural Language Processing pada aplikasi dokter virtual percakapan dan diskusi yang terjadi layaknya manusia dengan manusia.

Universitas Sumatera Utara 2. Fendy Ridwan (2014), dalam skripsi yang berjudul Pembangunan Aplikasi Natural Language Processing untuk Pembuatan Chat Bot Berbasis Web (Di Universitas Komputer Indonesia) Menyatakan bahwa aplikasi chatbot dapat memberikan layanan informasi pada suatu bidang sehingga pencarian informasi lebih interaktif. 3. Elisabet Nila S. C. P (2013), dalam skripsi yang berjudul Rancang Bangun Aplikasi Chatbot Informasi Objek Wisata Kota Bandung dengan Pendekatan Natural Language Processing (Studi Kasus di Dinas Kebudayaan dan Pariwisata Kota Bandung) menyatakan bahwa dengan menggunakan metode text mining sebagai penalaran kalimat, lebih mudah dalam pencarian keyword (pattern) 4. Teuku Ighfar Hajar (2015), dalam skripsi yang berjudul Implementasi Algoritma Levenshtein Distance dan Boyer Moore untuk fitur Autocomplete dan Autocorrect pada aplikasi katalog perpustakaan daerah Aceh Timur Menyatakan bahwa Algorima Boyer Moore termasuk algoritma string matching yang paling efisien dibandingkan algoritma-algoritma string matching lainnya karena sifatnya efisien maka banyak dikembangkan algoritma string matching dengan bertumpu pada konsep algoritma Boyer Moore dansemakin kecil nilai jarak levenshtein yang diperoleh dari proses maka dianggap semakin mendekati atau mirip(Hajar, T.I. 2015). 5. Mego Suntoro (2015) dalam skripsi yang berjudul Implementasi Algoritma Pecocokan String Boyer-Moore dalam Pembuatan Contact Manager Pada platform android Menyatakan bahwa Algoritma Boyer Moore pergeseran Bad Character paling baik digunakan dari pada pergeseran Good Suffix (Suntoro, M. 2015).

Universitas Sumatera Utara BAB 3

ANALISIS DAN PERANCANGAN SISTEM

4.1. Analisis Sistem Analisis sistem bertujuan untuk melakukan identifikasi dan evaluasi persoalan- persoalan yang akanmuncul dalam pembuatan sistem, hal ini dilakukan agar pada saat proses perancanganaplikasi tidak terjadi kesalahan yang berarti, sehingga sistem yangdirancang dapat berjalan dengan baik, tepat guna dan ketahanan dari sistem tersebut akan lebih terjaga,selesai tepat pada waktu yang telah ditentukan serta dapat ditemukan kelebihan dan kelemahan pada sistem.

4.1.1. Analisis Masalah Permasalahan utama dalam penelitian ini adalah ketidak efektifan kamus cetak dan kamus digital serta mesin pencari yang digunakan untuk mencari informasi dari peribahasa Indonesia. Dimana, jika menggunakan kamus cetak pengguna harus membuka lembar demi lembar untuk mencari peribahasa, jika menggunakan kamus digital pengguna harus menggunakan keyword yang cocok agar peribahasa dapat ditemukan dan jika menggunakan mesin pencari pengguna harus memasukan keyword kemudian memilih link yang sesuai dari beberapa link yang tersedia. Oleh karena itu, pengguna tentunya menginginkan sebuah sistem yang lebih efektif dan interaktif , yang tentunya dapat mempermudah pengguna.

Dengan adanya NLP, maka dapat dibangun sebuah sistem berbasiskan web yang lebih interaktif yang dinamakan chatbot. Chatbot merupakan salah satu cabang ilmu kecerdasan buatan yang dapat membantu pengguna melakukan percakapan dengan bahasa sehari-hari. Pengguna dapat melakukan tanya jawab kepada chatbot untuk mendapatkan informasi mengenai arti dari peribahasa.

Universitas Sumatera Utara Untuk mengidentifikasi masalah tersebut digunakan diagram Ishikawa (fishbone diagram).

Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem

4.1.2. Analisis Sumber Data Peribahasa Indonesia Sumber data diperoleh dari buku Kamus Lengkap 2200 Peribahasa Indonesia karya LH. Santoso yang diterbitkan oleh Pustaka Agung Harapan Surabaya dan media online atau yang biasa disebut website yang dapat diakses melalui alamat www.kateglo.com. Secara umum, referensi peribahasa yang dapat digunakan pengguna tidak efektif untuk mencari tahu arti peribahasa, pencarian penggalan kata peribahasa dan pencarian peribahasa melalui artinya.

Universitas Sumatera Utara

Gambar 3.2 Kamus Lengkap 2200 Peribahasa Indonesia

Pada Gambar 3.2 Kamus tersebut dirasa sudah tidak efektif lagi bagi pengguna, dimana pengguna harus membuka lembar demi lembar untuk dapat menemukan peribahasa yang dicari.

Gambar 3.3 Website Peribahasa Indonesia

Universitas Sumatera Utara

Gambar 3.3 menunjukkan bahwa sistem tersebut dirasa belum efektif bagi pengguna, dimana pengunjung mendapatkan informasi peribahasa dengan mencari di halaman tampilan peribahasa satu persatu atau mencari peribahasa melalui kotak pencarian yang tersedia, namun pengguna tidak dapat melakukan pencarian peribahasa melalui arti peribahasa dan tidak dapat menangani kesalahan ejaan.

4.1.3. Diagram Sistem

Sistem terdiri atas 3 bagian penting, yaitu bagian kalimat input,bagian untuk mengolah kalimat input, dan bagian untuk pengelolaan knowledge base. Pada saat chatbot pertama kali dijalankan, maka akan muncul halaman chatbot yang mengharuskan penggunamemasukkan kalimat agar dapat melakukan percakapan. Kemudian input yang masih dalam bentuk kalimat akan diolah dan dicari pola yang cocok dengan knowledge baseyang dimiliki oleh chatbot. Jika pola sudah ditemukan, maka proses selanjutnya adalah mencari jawaban dari input tersebut. Jika pola tidak ditemukan, sistem akan menggunakan spelling correction. Setelah jawaban ditemukan maka chatbot akan menampilkan jawaban pada chatbox sebagai respon.

Gambar 3.4 DiagramUmumSistem

4.1.4. Analisis Data untuk Knowlegde Base

Universitas Sumatera Utara Sebagaimana telah dijelaskan pada batasan masalah sebelumnya terdapat 500 peribahasa pada database dan chatbot diberikan kemampuan untuk merespon sapaan. Adapun detail informasi yang terdapat pada knowledge base adalah sebagai berikut :

Tabel 3.1 DaftarPeribahasa Indonesia

Id Input Respon

Orang yang mau enaknya sendiri Ada uang abang disayang tak ada 1 tanpa menghiraukan kepentingan uang abang melayang orang lain

Orang yang tidak tetap 2 Bagai abu diatas tanggul kedudukannya

3 Mengabui mata orang Menipu atau memperbodoh orang

Mencampuri sesuatu urusan yang 4 Terpegang di abu dingin menyusahkan atau mencelakakan diri sendiri

Meminta pertolongan kepada orang 5 Berdiang di abu dingin miskin (dan pasti tidak mendapat apa-apa)

Dalam pertengkaran, menang atau 6 Menang jadi arang kalah jadi abu kalah sama-sama menderita

7 Ada ubi ada talas Ada budi ada balas

Dimana banyak kenikmatan, disitu 8 Ada gula ada semut banyak yang berdatangan

Janganlah menghambur-hamburkan Ketika ada jangan dimakan bila habis 9 uang simpanan, agar kelah tidak maka dimakan menderita kesusahan sendiri

10 Harap pada yang ada cemas pada Orang yang kurang kesabaran

Universitas Sumatera Utara yang tiada

kalau tak ada rejeki yang banyak, 11 asal ada kecil pun pada yang sedikitpun sudah mencukupi

12 ada udang dibalik batu ada maksud yang tersembunyi

adat sepanjang jalan cupak sepanjang segala sesuatu harus dikerjakan 13 betung menurut adat istiadat yang berlaku

seseorang yang tidak 14 adat rimba raya siapa berani ditaati mempergunakan akalnya, hanya mempergunakan kekerasan

hidup hendaknya selalu menurut adat 15 hidup dikandung adat (kebiasaan) yang baik

segala perbuatan atau pekerjaan adat bersendi syarak syarak bersendi 16 hendaknya selalu mengingat aturan adat adat dan agama

adat atau kebiasaaan yang tetap atau 17 adat lama pusaka usang tidak berubah sejak dahulu hingga sekarang

bila meminta hendaknya kepada adat teluk timbunan kapal adat 18 orang yang kaya dan bila bertanya gunung tepatan kabut hendaknya kepada orang pandai

orang muda haruslah bersabar bila adat muda menanggung rindu adat menginginkan sesuatu, dan orang tua 19 tua menahan ragam pun harus sabar pula bila menghadapi kesukaran

Kehidupan manusia hendaknya 20 adat hidup tolong menolong selalu bekerja sama dalam segala hal

Universitas Sumatera Utara 21 mengadu ujung penjahit menguji kecerdasan masing-masing

seorang yang selalu tenang dalam 22 seperti air dengan kolam pembawaannya maupun tingkah lakunya

bila orang membuka aib keluarga menepuk air didulang terpercik muka 23 sendiri, sama halnya dengan sendiri membuka aib sendiri

pemberian yang kurang berharga 24 seperti air pembasuh kaki atau murahan

orang yang sombong biasanya 25 air beriak tanda tak dalam kurang ilmu

orang yang pendiam biasanya banyak 26 air tenang menghanyutkan ilmu atau membahayakan

bila terjadi perselisihan, keluarga 27 air besar batu bersibak akan bercerai-berai untuk mencari keselamatan

kebaikan yang dibalas dengan 28 air susu dibalas dengan air tuba kejahatan

bila terjadi perselisihan keluarga air sama air kelak menjadi satu 29 akan mudah berbaik kembali, atau sampah itu ke tepi juga bersatu kembali

orang yang sedang marah dapat air yang dingin juga dapat 30 diredakan dengan kelembutan atau memadamkan api kata-kata yang lemah lembut

Universitas Sumatera Utara

keadaan manusia tak akan tetap 31 air pun ada pasang surutnya (kadang kala senang, kadang kala sedih)

orang yang sedang menderita air diminum rasa duri nasi dimakan 32 kesusahan, makan atau melakukan rasa sekam apapun serba tak enak

bila bertambah pekerjaan, akan 33 tambah air tambah sagu bertambah pula upah atau gajinya

34 bagai air di daun talas orang yang tidak tetap pendiriannya

air tenang jangan disangka tiada orang yang diam jangan dikira tidak 35 berbuaya berani

memberi pekerjaan kepada orang 36 bagai kambing dihalau ke air yang tak suka mengerjakannya

sekali air basah sekali tepian setiap ada pergantian pemimpin, 37 beranjak selalu ada perubahan aturan

negeri atau daerah yang aman, rakyat 38 air jernih ikannya jinak menjadi tenang dan makmur

meminta kembali hal atau barang 39 menjilat air ludah sendiri yang telah diberikan kepada orang lain

orang akan mendapat rejeki dimana 40 ada air ada ikan ia tinggal dan berada

hendak mencuci aib, tetapi bahkan 41 membasuh muka dengan air liur menambahnya

42 sambil menyelam minum air mengerjakan suatu pekerjaan, dapat pula menyelesaikan pekerjaan atau

Universitas Sumatera Utara masalah yang lain

orang yang baik-baik biasanya akan dari telaga yang jernih, tak akan 43 mempunyai keturunan anak yang mengalir air yang keruh baik pula

menjual harta benda hanya untuk 44 tak air hujan ditampung mencapai suatu keinginan sendiri

sukar sekali memberi nasehat kepada 45 bagai air titik ke batu orang jahat

melakukan perbuatan atau pekerjaan 46 bagai mencincang air yang sia-sia

kehidupan dan kematian ditentukan 47 sebelum ajal berpantang mati oleh Tuhan

berguru kepalang ajar bagai bunga kita belajar haruslah bersungguh- 48 kembang tak jadi sungguh, jangan setengah-setengah

dangkal telah keseberangan dalam telah diketahui benar isi hati atau 49 telah keajukan perangainya

baru akan mulai melakukan 50 belum diajun sudah bertarung pekerjaan, sudah mendapatkan kemalangan

orang cerdik cendekia, (biasanya 51 lubuk akal tepian ilmu sebagai) tempat meminta nasehat

tak ada sesuatu yang terus menjadi akal tak sekali tiba, runding tak 52 sempurna, mesti secara berangsur- sekali datang angsur

53 telah berurat berakar sudah tak dapat di ubah lagi

54 jika tak ada rotan akarpun jadi kalau tak ada yang baik, yang kurang

Universitas Sumatera Utara baikpun berguna

orang pandai selalu menang dalam 55 akal akar berpulas tak patah pertengkaran

ada aku dipandang hadap, tiada aku berhadapan baik, tetapi dibelakang 56 dipandang belakang jahat perbuatannya

biar mahal harnya asal dapat dipakai 57 alah membeli menang memakai lebih lama

walaupun sudah kalah, namun masih 58 alah sabung menang sorak juga berani menyombongkan diri

orang lama dapat didesak oleh orang 59 alah limau oleh benalu pendatang baru

kebaikan harus dibalas dengan 60 alang berjawab tepuk terbalas kebaikan, kejahatan harus dibalas dengan kejahatan pula

kita yang menanggung segala 61 menjadi alas bubur resikonya

mengatakan sesuatu hal haruslah 62 dialas bagai memengat dipikirkan terlebih dahulu

untuk hadiah sebagai jasa yang telah 63 menjadi alas cakap diperbuat

64 mengaji alif-alif baru mulai belajar dari tingkat dasar

mengerjakan sesuatu pekerjaan 65 berbilang dari esa mengaji dari alif hendaknya dimulai dari permulaan atau menurut aturan

segala sesuatu hendaknya 66 jaman beralih musim bertukar disesuaikan dengan perkembangan jaman

Universitas Sumatera Utara tidur orang alim itu senantiasa tidur orang alim lebih baik dari pada 67 dengan kebaikan jua, tetapi puasa puasa orang jahil orang jahat itu dengan kejahatan

melakukan sesuatu dengan 68 main tedeng alng-aling sembunyi-sembunyi

69 alu patah lesung hilang menderita kemalangan terus-menerus

jika diselesaikan dengan cara halus 70 habis mengalur makan beralu-alu tidak berhasil, barulah ditempuh jalan kekerasan

yang diamalkan sudah pecah, yang 71 maksudnya sudah terlaksana dimaksud sudah sampai

ampang sampai ke seberang dinding mengerjakan sesuatu janganlah 72 sampai ke langit kepalang tanggung

belum berhasil sudah mengharap 73 belum beranak sudah berbesan yang bukan-bukan

74 pandang anak pandang menantu mencari menantu harus sepadan

kasihan anak tangan tangankan jika sayang dengan anak, kita harus 75 kasihan bini tinggal tinggalkan memarahi bila ia berbuat salah

menganggap sudah menguasai 76 belum beranak sudah ditimang sesuatu, tetapi syarat-syarat belum mencukupi

bila orang terkena hina, kaumnya 77 tercencang pun bergerak andilau akan ikut merasa terhina atau tersinggung

memikirkan yang bukan-bukan 78 angan-angan mengikat tubuh akhirnya susah sendiri

79 mabuk angan angan menginginkan sesuatu yang tak

Universitas Sumatera Utara mungkin tercapai

banyak sekali yang diusahakan, 80 angan lalu padam tertumbuk tetapi modal atau syaratnya yang tidak ada

81 air susu dibalas dengan air tuba kebaikan dibalas dengan kejahatan

air yang dingin juga dapat orang yang sedang marah dapat 82 memadamkan api diredakan hanya dengan kelembutan

keadaaan manusia tak akan tetap 83 air pun ada pasang surutnya (kadang sedang, kadang sedih)

kehidupan dan kematian ditentukan 84 sebelum ajal berpantang mati oleh Tuhan

berguru kepalang ajar bagai bunga kita belajar haruslah bersungguh- 85 kembang tak jadi sungguh, jangan setengah-setengah

baru akan mulai melakukan 86 belum diajun sudah bertarung pekerjaan, sudah dapat kemalangan

orang cerdik cendekia biasanya 87 lubuk akal tepian ilmu sebagai tempat meminta nasehat

kalau tak ada yang baik, yang kurang 88 jika tak ada rotan akarpun jadi baikpun berguna

mengharapkan pertolongan kepada 89 bergantung pada akar lapuk orang yang tak sanggup menolong

ada aku dipandang hadap tiada aku berhadapan baik, tetapi dibelakang 90 dipandang belakang jahat perbuatannya

mengerjakan sesuatu tak akan 91 alah bisa karena biasa merasakan kesukaran, bila sudah dikerjakan berkali-kali

Universitas Sumatera Utara biar mahal harganya asal dapat 92 alah membeli menang memakai dipakai lebih lama

walaupun sudah kalah namun masih 93 alah sabung menang sorak juga berani menyombongkan diri

orang lama dapat didesak oleh 94 alah limau oleh benalu pendatang baru

kebaikan harus dibalas dengan 95 alang berjawab tepuk terbalas kebaikan, kejahatan harus dibalas dengan kejahatan pula

mengatakan sesuatu hal haruslah 96 dialas bagai memengat dipikirkan terlebih dahulu

mengerjakan sesuatu pekerjaan 97 berbilang dari esa mengaji dari alif hendaknya dimulai dari permulaan atau menurut aturan

segala sesuatu hendaknya 98 jaman beralih musim bertukar disesuaikan degan perkembangan jaman

berkawan dengan orang alim menjadi kita berkawan haruslah pandai- 99 alim berkawan dengan pencuri pandai memilih menjadi pencuri

melakukan sesuatu dengan 100 main tedeng aling aling sembunyi-sembunyi

101 alu patah lesung hilang menderita kemalangan terus menerus

bagai guna guna alu sesudah sesuatu yang tak berguna lagi 102 menumbuk dicampakkan biasanya ditinggalkan begitu saja

tumbuh pada alur sudah ditumput 103 mengerjakan sesuatu pekerjaan tumbuh pada jalan sudah ditempuh hendaklah menurut apa yang telah

Universitas Sumatera Utara ditentukan

jika diselesaikan dengan cara halus 104 habis mengalur maka beralu alu tidak berhasil, barulah ditempuh jalan kekerasan

ampang sampai keseberang dinding mengerjakan sesuatu janganlah 105 sampai ke langit kepalang tanggung

belum berhasil sudah mengharapkan 106 belum beranak sudah berbesan yang bukan-bukan

107 pandang anak pandang menantu mencari menantu harus sepadan

kasihan anak tangan tangan kan jika sayang dengan anak, kita harus 108 kasihan bini tinggal tinggal kan memarahi bila ia berbuat salah

109 anak baik menantu molek mendapat keuntungan yang berganda

bila orang terkena hina, kaumnya 110 tercencang pun bergerak andilau akan ikut merasa terhina atau tersinggung

memikirkan yang bukan-bukan 111 angan angan mengikat tubuh akhirnya susah sendiri

112 angan lalu pahat tertumbuk keinginan besar, tetapi modal tak ada

banyak sekali yang diusahakan, 113 angan lalu padam tertumbuk tetapi modal atau syaratnya yang tidak ada

orang yang berkumpul beramai - 114 bagai anai anai bubus ramai karena adanya pertunjukan

115 ada angin baik ada harapan baik

berjalan - jalan untuk menghirup 116 makan angin udara segar

Universitas Sumatera Utara kemana angin deras disitu orang yang tidak mempunyai 117 condongnya pendirian tetap

118 angguk bukan geleng iya lain di mulut lain di hati

orang yang baik rupa, tetapi jelek 119 angkuh terbawa tampan tinggal tingkahnya

120 angus tiada berapi karam berair ditimpa musibah terus menerus

121 sudah dianjung dihempaskan sudah diangkat, kemudian dihinakan

mengerjakan sesuatu yang tak 122 bagai antan pencukil duri mungkin berhasil

waktu seribu anjing menyalak perkataan orang kecil tidak 123 gunung bolehkan runtuh mempengaruhi orang besar

orang yang sombong disanjung 124 anjing ditepuk menjungkit ekor sedikit sudah bangga

sama-sama tidak kenal takut atau 125 anjing galak babi berani pemberani

biarpun rintangan menghadapi 126 anjing menggonggong kafilah berlalu rencana jalan terus

orang yang gelisah minta 127 seperti anjing terpegang ekor pertolongan kesana kemari

anjing diberi makan nasi bilakah tak ada gunanya menanam kebaikan 128 kenyang kepada orang jahat

129 seperti anjing dengan kucing selalu bermusuhan

130 anjing menjalak tiada menggigit mulut besar, tetapi penakut

131 bagai anjing beranak enam orang yang tamak

Universitas Sumatera Utara anjing itu jika dipukul sekalipun orang jahat akan mengulang 132 berulang juga ia ke tempat yang kejahatan, meskipun sering dihukum banyak tulang

baru akan memulai pekerjaan, sudah 133 baru dianjur sudah bertarung lebih dulu mendapat rintangan

tiada merasa sadar perkataan yang 134 tiada tahu antah terkunyah tidak patut diucapkan

135 tiada berpisah antah dan beras tiada tentu lawan atau kawan

antah berkumpul sama antah beras setiap orang akan mencari teman 136 berkumpul sama beras yang sederajat, agar mudah bergaul

datang tak berjemput pulang tak tidak diperlakukan sebagaimana 137 diantar mestinya

terantuk batu dihindari terantuk kata orang yang bijaksana selalu dipikir 138 dipikiri dalam berbuat sesuatu

kejahatan yang tidak kelihatan, 139 seperti api dalam sekam karena dirahasiakan

jawaban yang tidak sesuai dengan 140 jauh panggang dari api persoalan

ingin ternama, kemudian melakukan 141 meletakkan api di bubungan perbuatan yang sangat berbahaya bagi diri sendiri

dipelihara tidak, dibuangpun tidak ( diapit tidak bersangit ditambat tidak 142 memelihara sesuatu atau isteri yang bertali tidak dihiraukan)

terapung tak hanyut terendam tak sesuatu perkara yang belum ada 143 basah kesputusannya

144 terapung sama hanyut terendam sama selalu sehidup semati, dan sehina

Universitas Sumatera Utara basah semalu

145 menantikan ara tak bergetah mengharapkan sesuatu yang mustahil

146 utang kayu ara utang yang tak akan terbayar lagi

orang yang bergembira karena 147 elok ara di hari panas tercapai cita-citanya

cita-cita sama, tetapi berbeda cara 148 arah bertukar jalan mencapainya

melakukan sesuatu sudah menurut 149 bearak arak tidak berlari sebagaimana mestinya

150 patah arang sudah tiada harapan lagi

151 arang dimuka arang dikening orang yang mendapat malu besar

152 membasuh arang dimuka menghilang malu

arang itu jika dibasuh dengan air orang yang dasarnya jahat itu sukar 153 mawar sekalipun tidak akan putih untuk diperbaiki

sesuatu yang dapat dipergunakan, 154 colek colek ganti asah walaupun hanya bersifat sementara saja

155 diasak kayu dicabut mati sesuatu yang tetap, dan tak berubah

kelakuan seseorang dapat 156 usul menunjukkan asal menunjukkan dari mana asal keturunannys

biarpun jauh tempat tinggalnya, asam digunung garam dilaut bertemu 157 kalau memang sudah jodohnya pasti dalam belanga akan menjadi suami istri

158 bagai melihat asam keinginan yang sangat besar

Universitas Sumatera Utara 159 bagai melihat asam keinginan yang sangat besar

sudah dapat diketahui seluk-beluknya 160 sudah tahu asam garamnya atau keadaan yang sebenarnya

sudah tidak ada cacat dan celanya 161 sudah seasam segaram lagi

162 belum dipanjat asap kemenyan belum pernah kawin

perihal orang miskin yang tidak 163 tungkunya tak berasap memasak

164 menggantang asap mengukir langit pekerjaan yang sia-sia

merasai atau merasakan asinnya 165 orang yang telah banyak pengalaman garam

selalu dalam keadaan yang berlainan 166 asing lubuk asing ikannya atau berbeda

lain tujuan, lain pula yang dapat 167 asing maksud asing sampai dicapainya

mencampur adukkan yang baik 168 atap ijuk kerabung upih dengan yang buruk akhirnya menjadi jelek

jangan melihat ke atas melihat jangan memperbandingkan orang 169 kebawah yang kaya dengan kita

170 seperti aur ditarik sungsang pekerjaan yang sulit diselesaikan

mendapatkan keuntungan lebih apa 171 aur ditanam, betung tumbuh yang diharapkan

orang yang selalu menderita 172 aus telunjuk mencolek ragam kemiskinan

173 awak menangis diberi pisang memberi kesenangan kepada orang

Universitas Sumatera Utara yang sedang susah

awak yang tiada pandai menari untuk menutupi kebodohannya, 174 dikatakan lantai yang terjungkat dicarinya alasan pada orang lain

seseorang yang mengatakan 175 awak sakit daging menimbun kekurangan, padahal banyak harta

176 awal dikenal akhir tidak tiada menimbang baik buruknya

mengharapkan keuntungan, akhirnya 177 ayam ditambat disambar elang rugi yang diperoleh

seseorang yang merasa sama dengan 178 seperti babi merasa gula orang besar atau berpangkat

179 menanti batu terapung mengharap yang tak mungkin terjadi

orang tua yang membuang anaknya, 180 badak makan anak karena takut hancur kehormatannya

janganlah dengan sengaja mencari 181 anak badak dihambat hambat malapetaka

hancur badan dikandung tanah budi budi bahasa yang baik itu tidak akan 182 baik tekenang jua dilupakan selama-lamanya

orang yang kecil akan meniru-niru 183 main badar main gerundang perbuatan orang besar akhirnya susah sendiri

besar pendapatan, besar pula besar kayu besar bahannya kecil 184 pengeluaran, kecil pendapatan kecil kayu kecil bahannya pula pengeluaran

bahasa dan bangsa tidak diperjual kita akan dihormati orang lain, jika 185 belikan budi bahasa kita baik

186 tangan mencencang bahu memikul orang yang bertanggung jawab atas

Universitas Sumatera Utara perbuatannya

187 dahulu bajak daripada jawi pekerjaan yang tak menurut aturan

barang yang tanggung, tak dapat 188 bahan baji oleh keledai dipergunakan

189 menyingsing lengan baju bekerja keras

orang yang dalam kebingungan tak 190 bagai kebakaran janggut keruan

janganlah sengaja mencari 191 bala lalu dibawah singgah malapetaka

orang akan lupa bahaya, tetapi jerat tak melupakan balam tetapi 192 bahaya takkan lupa dengan balam melupakan jerat mangsanya

193 balik dibelakang lain bicara orang yang mengingkari janji

194 bagai baling baling di atas bukit mudah kena pengaruh

melakukan usaha yang tidak sesuai 195 musim kemarau menghilirkan baluk lagi dengan waktu atau keadaannya

orang yang lemah-lembut, tetapi tak 196 seperti pohon bambu ditiup angin mudah kena pengaruh

pekerjaan yang hanya menderita 197 upah lalu bandar tak masuk kerugian saja

setinggi tinggi terbang bangau kemana saja kita merantau, akhirnya 198 jatuhnya kepelimbahan juga akan kembali juga ketempat semula

menceritakan keahlian diri sendiri 199 menjemur bangkai ke atas bukit kepada orang lain

200 bangsat tak tahu disukainya orang kecil berlagak seperti orang besar dan tak menginsafi akan

Universitas Sumatera Utara kekurangannya

orang yang tidak mempunyai tempat 201 bertiraikan banir tinggal yang tetap

orang laki-laki yang kawin dengan 202 lepas bantal berganti tikar keluarga isterinya yang telah meninggal

tak ada gunanya mengajar anak yang 203 terajar pada banteng pincang keras kepala

cukup dan tidaknya tergantung 204 banyak habis sedikit sedang kepada boros dan hematnya seseorang

sebagai duduk di atas bara, duduk 205 serba salah salah tegakpun salah

orang yang tak tahu atau mengenal 206 tak tahu di basa basi sopan santun

menderita kesusahan bertumpuk- 207 sudah basah kehujanan tumpuk

kita harus berusaha mengerjakan berjalan sampai ke batas berlayar 208 ssesuatu untuk mencapai suatu sampai ke pulau maksud

209 tak payah basuh kaki tangan barang murah dan mudah didapat

mengerjakan pekerjaan yang mudah 210 menggolekkan batang terguling sekali

kita harus bekerja keras untuk berjalan sampai ke batas berlayar 211 mencapai cita-cita (mengerjakan sampai ke pulau sesuatu haruslah sampai tuntas)

Universitas Sumatera Utara dari keluarga yang baik itu, bila umpama batik lasum makin dimasuh 212 dididik terus menerus yang baik akan makin berbau menjadi lebih baik lagi

213 tiada berbau telunjuk saja tidak percaya kepada cerita orang

hendaklah kita selalu berbudi bahasa berkata di bawah bawah mandi di serta bertingkah laku yang halus 214 hilir hilir terhadap siapapun, agar orang sayang kepada kita

bayang bayang sepanjang badan perbuatan kita harus sesuai dengan 215 selimut sepanjang tubuh kemampuan kita sendiri

216 makan bayang marah di dalam hati

anak perempuan yang menjelang 217 beban sudah di pintu dewasa sudah pantas untuk berumah tangga

membantu musuh untuk 218 menjual bedil kepada lawan membinasakannya

219 sebagai membekali budak lari rugi dua kali

bagai belacan dikerat dua yang pergi menderita air dari dua jurusan atau 220 busuk yang diam anyir arah

bersuara keras atau mempunyai 221 suara membelah bumi pengaruh yang besar

orang bodoh sekalipun, bila rajin belakang parang lagi bila diasah 222 belajar pasti akan dapat menjadi niscaya tajam pandai

orang bodoh telah menjadi orang 223 belalang telah menjadi elang besar

224 bagai belanda minta tanag diberi orang tamak, diberi sedikit minta

Universitas Sumatera Utara sejengkal hendak seharta banyak

225 matahari bagai membelah benak hari yang sangat panas

orang yang memperlihatkan 226 harimau menunjukkan belangnya kekuasaanya

berusaha mendapatkan sesuatu, 227 memancing dalam belanga sesungguhnya sudah tahu akan menjadi miliknya

punggur tumbang belatuk seseorang yang terlibat dalam 228 menumpang mati persoalan, padahal ia tidak berbuat

membeli tak memakai memasak tak kita yang bersusah payah tetapi orang 229 memakan lain yang beruntung

segala sesuatu yang tak akan 230 turun ijuk turun beliung ditangguhkan

pindah dari suatu tempat ke tempat 231 dari semak kebelukar lain yang sama-sama jeleknya

232 belut kena ranjau orang cerdik kena tipu orang lain

perihal anak angkat mengalahkan 233 alah benali oleh benalu anak kampung

dalam hal ketiadaan, apa yang ada 234 tak benang batu di gelas dipakai

seseorang pedagang yang berpegang 235 naik juga benderanya peranan

jika benih yang baik jatuh kelaut keturunan orang yang baik, kemana 236 menjadi pulau ia pergi akan tetap baik juga

berani mengerjakan pekerjaan yang 237 berani malu takut mati terlarang, akhirnya menyesal

Universitas Sumatera Utara simpanlah rahasia orang lain, supaya 238 ada beras taruh didalam padi dia tidak kecewa

berat sama dipikul ringan sama sama-sama menderita dan sama-sama 239 dijinjing berbahagia

suami istri, bila siang bertengkar berek berek laga siang malam 240 tetapi kalau malam tidur bersama- sekelapan sama

berudu besar dikubangan, buaya kekuasaan tiap-tiap orang itu 241 besar dilautan ditempatnya masing-masing

orang yang kesakitan selalu berkeluh 242 bagai beruk kena ipuh kesah

besar pendapat, besar pula 243 besar periuk besar keraknya pengeluaran

sedencing bagai besi seciap bagai 244 seia-sekata, senasib sepenanggungan ayam

supaya selamat janganlah 245 baik jadi ayam betina supaya selamat menyombongkan diri

246 diberi betis hendak paha diberi sedikit minta yang banyak

orang hina menjadi mulia, lalu 247 bungkuk baru betul berbuat yang bukan-bukan

248 bagai membela betung berat sebelah

249 biang menanti tembuk perkara yang hampir putus

250 biawak kudung masuk kampung tersesat di daerah pertahanan musuh

apa yang dikatakan tida keluar dari 251 hanya sampai dibibir saja isi hatinya

252 banyak bicara sedikit kerja orang yang banyak bicaranya,

Universitas Sumatera Utara biasanya sedikit sekali kerjanya

menderita kesusahan karena 253 beranak tiada berbidan kebodohannya

menunggu nasib karena sudah tidak 254 biduk tiris menanti karam ada daya uapaya lagi

kebaikan yang kita berikan kepada menaburkan bijan ke tasik tiada akan 255 orang yang tak tahu diri tiada tumbuh gunanya

256 bagai meremas biji cempedak orang yang pandai, dukar dikalahkan

mengerjakan sesuatu harus kita mulai 257 berbilang dari esa mengaji dari alif dari permulaan, berangsur-angsur sampai selesai

bila hanya menurutkan hawa nafsu 258 ikut hati mati ikut sara binasa belaka akhirnya akan celaka

mengajar binatang dengan pukulan, binatang tahan palu manusia tahan 259 tetapi kalau manusia cukup dengan kias sindiran

istri meninggal dapat diganti, tetapi hilang bini boleh dicari hilang budi 260 akal yang hilang mendatangkan badan celaka celaka

orang yang berlagak pandai dan tak bingung tak dapat diajar cerdik tak 261 mau mendengarkan nasihat orang dapat diikut lain

262 ia mendapat bintang ia mendapatkan juara

dua orang yang tampan, tetapi 263 bak birah dengan keladi hatinya berlainan

264 pisau senjata tiada bisa bisa lagi dilukai dengan kata-kata lebih sakit

Universitas Sumatera Utara mulut manusia daripada tikam dengan pisau

orang yang malu tak dapat bagai si bisu berasi terasa ada 265 mengeluarkan isi hatinya, meskipun terkatakan tidak tahu apa yang akan dikatakan

sedang menghadapi kesulitan yang 266 sebagai bisul hampir memecah hampir dapat diatasi

pemimpin selalu diturutkan anak 267 bondong air bondong ikan buahnya

diaman buah masak disitu burung bila kita banyak rejeki, banyak 268 banyak tampil kawan yang berdatangan

membuang jauh jauh menggantung jika mengadili seseorang hendaklah 269 tinggi tinggi seadil-adilnya

berbuat baik secukupnya, jangan berbuat baik pada padai berbuat jahat 270 berlebihan jauhkanlah dirimu dari jangan sekali perbuatan kejahatan

lepas dari mulut buaya masuk ke 271 sama-sama berbahaya dalam mulut harimau

272 nasi telah menjadi bubur sesuatu yang tak dapat diperbaiki lagi

orang yang gemar berteriak-teriak, 273 bagai anai anai bubus terutama diluar rumah

274 bagai budak sapu ingus orang yang mendapat malu

jatuh kehormatannya, karena 275 sebab budi boleh kedapatan perbuatannya yang jelek

mengebat erat erat membuhul mati bila membuat perjanjian, hendaklah 276 mati diatur sebaik-baiknya

jika keras mengerjakan sesuatu 277 kalau pandai maniti buih selamat pekerjaan yang sukar pasti akan

Universitas Sumatera Utara badan keseberang terlaksana apa yang diharapkan

278 sebagai bujang dengan gadis malu-malu tapi mau

279 seperti bujuk lepas dari bubu cepat-cepat menghilang

kehendak yang keras tak ada yang 280 terbujur lalu terbelintang patah menghambat

ke bukit sama mendaki ke lurah sama sama-sama senang dan sama-sama 281 nenuruni susah

karena memilih-milih, akhirnya 282 bayak dipilih dapat buku mendapatkan yang buruk

putri yang cantik dengan didampingi 283 bagai bulan dipagar bintang kawan-kawannya yang cantik pula

284 bagai bulan kesiangan muka yang pucat karena kurang tidur

285 kerbau pembulang tali orang yang tak berpendirian tetap

bulat telah dapat digulingkan pipih 286 mufakat yang telah ditetapkan telah dapat dilayangkan

287 berbulu mata melihat ulat sangat benci sekali melihatnya

orang yang terlalu ramai bila sedang 288 bagai buluh dibakar berbicara

289 bumi mana yang tak kena hujan manusia mana yang tak pernah khilaf

bukan salah bunda mengandung 290 menyesali nasib yang malang salah oleh badan buruk pinta

berbuat kebaikan terhadap orang 291 bagai membuang bunga ke jirat yang tak tahu tentang budi

burung gagak itu jikalau dimandikan 292 orang yang jahat itu walaupun dengan air mawar sekalipun tidaklah

Universitas Sumatera Utara akan putih warnya dinasehati, tetapi akan berbuat jahat

orang yang tak pernah menyatakan 293 buruk siku tentang kebaikan atau pemberian orang lain

yang busuk itu lama lama berbau perbuatan jahat itu lama kelamaan 294 juga akan ketahuan juga

orang yang miskin menjadi sombong 295 orang buta mendapat tongkat karena baru mendapat kemuliaan

tidak pernah akan keurangan suatu 296 pecah buyung tempayan ada apa (terutama perempuan atau istri)

siapa yang makan cabe dialah terasa barang siapa berani berbuat, harus 297 pedas berani menanggung akibatnya

orang yang berselisih dengan 298 cabik cabik bulu ayam keluarganya, tak lama lagi akan baik kembali

mencacakkan seperti lembing 299 tegak dan terdiam karena terhenyak tergadai

orang kecil meniru kelakuan orang 300 cacing hendak menjadi ular naga besar

calak calak ganti asah menunggu menunggu-nunggu yang lebih 301 tukang belum tiba pandai, sambil mengerjakan sesuatu

campak bunga di balas dengan 302 kebaikan dibalas dengan kejahatan campak tahi

seperti orang memakan candu perbuatan yang telah menjadi 303 dengan candu sampai mati kebiasaan, sukar untuk meninggalkan

304 cekel berhabis lapuk berteduh berlaku kikir tak baik, sebab

Universitas Sumatera Utara akhirnya akan habis juga hartanya

305 bagai cekur jerangan di ubun ubun masih terlalu muda

306 bagai cembul dengan tutupnya sudah amat sesuai atau cocok

seorang saja makan cempedak semua seorang saja yang berbuat salah, satu 307 kena getahnya keluarga dianggap salah

mengerjakan sesuatu harus mencencang berlandasan, melompat 308 menyiapkan terlebih dulu apa yang bersetumpu diperlukan, agar jangan sia-sia

dimana cendawan tumbuh di situ dimana perkara itu timbul distulah 309 tembilang terentak penyelesaiannya

bila sedang diberi kekuasaan, lalu 310 burung elang cengkreram anak ayam berbuat sewenang-wenang

pekerjaan yang dikerjakan tergesa- 311 terlampau cepat jadi lambat gesa, akhirnya jadi lambat

orang yang pandai menutupi siapa cerdik tinggal naik siapa calak 312 kesalahannya, sehingga orang menang berhitung percaya bahwa ia benar

313 jangan bercermin air keruh jangan meniru perbuatan yang buruk

seciap bagai ayam sedencing bagai mengerjakan sesuatu dengan cara 314 besi bersama-sama

315 seperti cina karam percakapan yang sangat ramai

316 seperti cincin dengan permata sesuai benar dalam segala hal

mati terhormat atau dengan nama 317 mati berkafan cindai baik/harum

cinta itu tidak memandang bangsa, 318 cinta itu buta derajat dan harta

Universitas Sumatera Utara sudah dikuasai oleh orang lain, 319 termakan cirit terendang karena terkena guna-guna

320 bagai tercocok hidung orang yang kena tipu mentah-mentah

menjadi miskin atau hina/turun 321 jatuh coloknya derajat

mengambil contoh kepada yang sesuatu yang baik pada waktu silam, 322 sudah mengambil tuah kepada yang hendaklah dipakai sebagai teladan menang

323 condong yang akan menimpa suatu perbuatan yang membahayakan

bila berbuat salah, harus mau 324 sudah cotoj melantingkan membetulkannya

cuaca di langit tanda akan panas barang sesuatu, pasti ada tanda 325 gabah di hulu tanda akan hujan kekhususannya

siapa yang kena cubit akan merasa siapa yang kena sindiran berarti 326 pedih dialah orang yang bersalah

cupak sepanjang betung adat kita mengerjakan sesuatu haruslah 327 sepanjang jalan menurut aturan yang telah ada

328 dabik menampung darah orang yang sangakat loba atau tamak

329 membusungkan dada orang yang angkuh sombong

menghambur-hamburkan harta benda 330 dahan pembaji batang majikannya atau pemimpinnya

biar dahi berluluk asal tanduk biar menderita bagaimanapun, 331 mengena asalkan maksudnya dapat tercapai

yang dahulu mendapat yang pimpinan yang pertama bijaksana, 332 kemudian ketinggalan tetapi penggantinya bodoh

333 dalam lautan dapat diduga dalam hati kita tak dapat mengetahui isi hati

Universitas Sumatera Utara siapa yang tahu orang lain

jika tak lalu dandang di air di gurun segala daya upaya dipergunakan 334 dirangkakkan untuk menyampaikan maksudnya

mendapat sama berlaba kehilangan 335 seia dan sekata sama merugi

masih sangat muda, kurang 336 darah setampuk pinang pengalaman

datang tampak muka pergi tampak datang dan pergi harus sama-sama 337 punggung menunjukkan lagi

mendapat bahaya yang tidak 338 jatuh pada yang datar disangka-sangka, karena dianggap biasa

339 bersembunyi di balik daun sehelai pekerjaan yang sia-sia

sekali merengkuh dayung dua tiga menyelesaikan dua, tiga pekerjaan 340 pulau terlampaui dalam satu waktu

meminta dedak kepada orang minta pertolongan kepada orang 341 mengubik yang tak mampu

pimpinan yang terjerumus karena 342 dedap di bawah cengkering perbuatan bawahannya

perselisihan dalam keluarga yang 343 degar degar merpati berakibat merepotkan keluarga itu sendiri

344 seperti delima merekah bibirnya merah dan bagus

orang yang tak mau mengindahkan 345 didengar ada dipakai tidak nasehat

346 sambil berdendang biduk hilir melakukan dua pekerjaan dalam satu

Universitas Sumatera Utara waktu

pekerjaan yang tergesa-gesa akan 347 deras datang dalam kena merugikan juga

348 habis destar kopiah luluh banyak memberikan kerugian

perkara yang sudah tidak dapat 349 bagai denai gajah lalu ditutup-tutupi

sudah tidak menurutkan nasihat 350 didengar ada dipakai tidak orang lagi

diam dibandar tak meniru diam di orang yang tinggal dinegeri tetapi tak 351 laut asin tidak menurut adat kebiasaan yang ada

orang yang miskin itu tak berdaya, 352 kalau tak beriam baiklah diam terimalah seadanya

353 bagai diiris dengan sembilu sesuatu yang sangat menyedihkan

kaki mendorong lidah mendorong segala janji harus ditepati, karena 354 emas pdahannya janji sama halnya dengan utang

355 dalam dua tengah tiga orang yang tak dapat dipercaya

bergirang hari sebelum maksud 356 belum duduk belunjur dulu tercapai

suami istri yang sangat elok dan 357 bagai dulang dengan tudung saji cocok

mau bersuka ria tetapi tak mau keluar 358 dunia diadang saku saku dijahit uang

orang yang pandai tak usah diberi 359 adakah duri dipertajam nasehat

mendapatkan keuntungan yang besar, 360 mendapat durian runtuh tanpa susah payah

Universitas Sumatera Utara 361 dilepas tetapi dipegang ekor menyuruh dengan setengah hati

sepantun elang dengan ayam lambat jangan dibiarkan bujang bergaul 362 laun disambar juga dengan gadis, akibatnya kurang baik

orang yang selalu baik budi elok bahasa akan hidup elok budi bahasanya akan disayang selama 363 akan bekal mati hidup, bahkan setelah matipun akan selalu dipuji juga

364 bagai emak mandul baru beranak sangat sayang terhadap anaknya

karena orang miskin, ia disangka 365 emas disangka loyang orang jahatm, padahal baik budinya

berbau bagai embacang berjejak terdapat tanda-tanda untuk 366 bagai berkik membuktikan kejahatan

seseorang kasih sayang yang tidak 367 seperti embun diujung rambut menetap pada orang

persengketaan yang telah empang sampai keseberang dinding 368 memutuskan persaudaraan selama- sampai kelangit lamanya

sesuatu yang sama saja atau tiada 369 pergi berempap pulang eban bedanya

menderita kecelakaan yang terus 370 sudah diempas dihela pula menerus

kalau baik maka sangat baik, kalau 371 pahit bagai empedu jahat makan terlalu jahat

enak makan dikunyah enak kata sesuatu hal haruslah diperhitungkan 372 diperkataan terlebih dahulu

jika orang hina dina mati tidak 373 mati enau tinggal di rimba dikenang orang

Universitas Sumatera Utara menyembunyikan sesuatu yang 374 mengendap di balik lalang sehelai mudah diketahui orang

bila sedang tidak menyukai sesuatu, 375 enggan seribu daya mau sepatah kata akan banyak memberi alasan

376 seperti pipit dengan burung enggang jodoh yang tidak sepadan

seperti pucuk eru kemaba angin keras 377 orang yang tidaj tetap pendiriannya ke situlah condongnya

berbuat tak kepalang tanggung, 378 esa hilang kedua terbilang sehingga maksud dapat tercapai

379 tak ada gading yang tak retak tak ada sesuatu yang sempurna

380 bagai gadis jolong bersubang sombong karena sudah menjadi kaya

suaminya hitam dan buruk, tetapi 381 bagai gagak mengggonggong telur istinya cantik

382 seperti sirih pulang ke gagangnya telah kembali ke asalnya atau aslinya

sedang memperlihatkan 383 seperti buku gaharu keunggulannya

gajah berjuang sama gajah pelanduk kalau orang-orang besar berselisih, 384 mati ditengah tengah sasarannya kepada orang-orang kecil

perbuatan tak berguna, tentu akan bergalah hilir tertawa buaya bersuluh 385 dicemoohkan oleh orang yang di bulan terang tertawa harimau berakal

lain yang dimaksud lain pula yang 386 asing biduk galang diletak dikerjakan

melakukan perkerjaan yang ringan, 387 bagai menyandang galas tiga tetapi sukar dikerjakan

388 gali lubang tutup lubang mencari pinjaman untuk membayar

Universitas Sumatera Utara utang

389 gamak gamak seperti menyambal baru dalam taraf percobaan

orang yang mengerjakan sesuatu orang penggamang mati jatuh orang 390 haruslah berani dan jangan takut- pendingin mati hanyut takut

segala sepak terjangnya, tak pernah 391 keluar ganjil masuk tak genap dibenarkan atau tak ada gunanya

392 bagai menggantang anak ayam pekerjaan yang sulit dikerjakan

selalu ada penggantinya (bila ada 393 patah tumbuh hilang berganti yang hilang)

anggota keluarga atau istri yang tak 394 bergantung tak bertali terurus

garam di laut asam di gunung perjodohan tidak mengindahkan jauh 395 akhirnya bertemu dalam belaga dekat keadaan

cita-cita ada tetapi bekal kurang 396 hendak menggaruk tiada berkuku mencukupi

orang yang menurutkan hawa 397 diturutkan gatal tiba ditulang nafsunya saja, akhirnya menyesal

tiap perkataan pasti ada jawabnya, 398 gayung disambut kata dijawab tetapi hendaknya didengarkan terlebih dahulu

tak pernah masuk gelanggang 399 sangat canggung/kaku bergung

kecil kita panggil namanya, setelah 400 kecil bernama besar bergelar besar dipangkatnya

401 geleng bagai sepasung kenyang orang yang selalu bergembira

Universitas Sumatera Utara seakan-akan tidak kurang suatu apa

orang yang banyak cakapnya, 402 tinggi gelepur rendah laga biasanya tak pandai

menerima sesuatu tak bisa 403 bagai gembala diberi keris mempergunakannya

orang yang berharga dalam 404 masuk genap keluar ganjil pergaulan

bagaimana bunyi gendang begitulah mengerjakan sesuatu harus menurut 405 tarinya peraturan yang telah ada

barang yang telah ada kemudian tiba- 406 burung tergenggam terlepas tiba hilang

sesuatu yang telah diputuskan tak 407 genting putus biang tembuk dapat diubah lagi

mendapatkan untung dari dua belah 408 seperti gergaji bermata dua pihak

409 geruh tak mencium bau celaka akan tiba sewaktu-waktu

suatu perkara yang sudah semakin 410 bagai getah dibawa ke semak berbaur

jangan mengajar kepada orang jangan mengajar orang yang bergigi 411 pandai dengan pengetahuan yang makan bubur gampang

412 gila di abun abun mengharapkan sesuatu yang mustahil

jika orang asing telah kembali, 413 teras berunjam gubal melayang penghuni akan (menengah) kembali

dimana banyak penghasilan, disitu 414 ada gula ada semut banyak orang berdatangan

Universitas Sumatera Utara gulai sedap nasi mentah nasi sedap sesuatu yang kurang memuaskan, 415 gulai mentah karena ada-ada saja kekurangannya

416 tak tahu membalas guna tidak mengenal (membalas) budi

membanggakan harta benda yang 417 gung gung pesuk telah tiada

mengharapkan keuntungan yang mengharapkan guntur dilangit air 418 besar, yang belum pasti keuntungan ditempayan dicurahkan yang telah ada dilepaskan

maksud hati memeluk gunung apa cita-cita tinggi tetapi tak mampu 419 daya tangan tak sampai untuk melaksanakannya

mengerjakan sesuatu pekerjaan 420 biar lambat asal selamat hendaklah berhati-hati, dan tidak perlu tergesa-gesa agar selamat

tajamnya perkataan orang yang 421 seperti gunting makan di ujung bijaksana itu tidak tampak karena tutur katanya

mengharapkan sesuatu yang besar mengharapkan guntur di langit air 422 dan belum tentu hasilnya yang ditempayan ditumpahkan dikuasai ditinggalkan

guru kencing berdiri murid kencing guru harus memberi contoh yang 423 berlari baik, supaya muridnya meniru

tak ada guruh bagai orang pekak tak orang yang bodoh tidak mengerti 424 ada kilat bagai orang buta perkataan sindiran

berusaha dengan sungguh-sungguh 425 menjangkau habis tangan atau sekuat tenaga

sariat palu menalu hakekat balas kebaikan seseorang harus kita balas 426 membalas dengan kebaikan juga

Universitas Sumatera Utara yang hampa biar terbang yang bernas yang tidak berguna biasanya tidak 427 biar tinggal dihiraukan lagi

428 hangat hangat cirit ayam kemauan yang tidak begitu kuat

hangus tiada berapi hanyut tiada menderita kesusahan yang amat 429 berair sangat

celaka karena takut kepada sesuatu 430 takut hantu terpeluk bangkai yang sebenarnya tidak ada

terapung tak hanyut terendam tak 431 perkara yang tiada berkesudahan basah

nilai barang akan bergantung kepada 432 ada rupa ada harga keadaan barangnya sendiri

waktu yang baik tidak dimanfaatkan hari pagi dibuang buang hari petang 433 tetapi setelah terdesak baru bekerja dikejar kejar keras-keras

434 harimau ditakuti karena giginya orang ditakuti karena kekuasaannya

sedang menyelidiki keeratan 435 mencari yang sehasta sejengkal hubungan keluarga

hati gajah sama dilapah hati kuman 436 perbuatan yang sangat adil sama dicecah

harus pandai menjaga hawa nafsu 437 hawa berpantang kerendahan karena jahat

menderita berbagai kesusahan yang 438 sudah diheban dihela pula terus menerus

harus selalu berusaha agar jangan ingat sebelum kena hemat sebelum 439 terlambat mendapat celaka atau habis kesusahan

Universitas Sumatera Utara orang bodoh akan selalu ikut apa 440 seperti kerbau dicolok hilang yang dikatakan orang lain

hidup dikandung adat mati hidup harus menurut kehendak adat 441 dikandung tanah yang ada

teguh hatinya untuk menghadapi 442 pertama hilang kedua terbilang syatu pekerjaan yang berbahaya, terutama untuk kepentingan umum

ke hulu kena bubu ke hilir kena bahaya bila sudah datang tak dapat 443 tengkalak dielakkan lagi

dalam menghadapi masalah penting dekat mencari hindu jauh mencari 444 atau sulit terlebih dahulu mendekat suku keluarga

pantang mundur dalam mencapai 445 hitam tanpa tempa putih tahan sesah kemauan hati

446 sebagai menghitung bulu kambing melakukan pekerjaan yang sia-sia

447 menanti hujan dimusim kemarau mengharapkan yang mustahil terjadi

kesenangan atau kekayaan harus kita berakit rakit kehulu berenang renang 448 mulai dari kesengsaraan terlebih ke tepian dahulu

mengatakan kemegahan yang tanpa 449 dikatakan huma lebar bukti

tak ada gunanya menunjukkan 450 apa guna merak mengingau di hutan keahlian di depan orang bodoh (dan tak berpengalaman)

hulu mujur pandai bertengkar hulu 451 pandai hidup dan pandai pula bergaul baik pandai memakai

452 kasih ibu sepanjang jalan kasih anak kasih sayang ibu tak terbatas, tetapi

Universitas Sumatera Utara sepanjang galah cinta anak sangat terbatas

setiap orang wajib melakukan usaha 453 ikhtiar menjalani untung menyudahi sekuat-kuatnya, berhasil tidaknya tergantung pada nasib

perantau telah pulang kekampung 454 seperti ikan pulang kelubuk halamannya lagi

ikat boleh diubah takut bagaimana 455 tabiat sesorang sukar sekali diubah mengubahnya

agar tidak celaka, jangan hendaknya 456 ikut hati akan mati menurutkan hawa nafsu belaka

menunjukkan ilmu kepada orang 457 melakukan pekerjaan sia-sia menetek

458 seperti inai dengan kuku selalu bersatu, sukar dipisahkan

459 indah kabar dari rupa berita lebih bagus pada kenyataannya

perkara yang sangat sukar 460 tidak terindang dedak basah diselesaikan

461 telah menjadi indorus sudah dalam keadaan kalah

hendaklah kita pandai mengambil kalau pandai berinduk semang lebih 462 hati majikan, supaya ia sayang serasi induk kandung kepada kita

sebelum mengerjakan sesuatu harus ingat sebelum kena hemat sebelum 463 kita teliti terlebih dahulu supaya habis berhasil baik

kata-kata baik itu meskipun intan itu jika keluar dari mulut anjing 464 dikeluarkan oleh orang hina tetap sekalipun akan tetap intan juga baik juga

Universitas Sumatera Utara yang baik kita pakai dan yang buruk 465 buang sampah tinggal intinya kita tinggalkan

seiring bertukar jalan seia bertukar perkataan yang berlainan tetapi 466 sebut maksudnya sama

467 bagai diiris dengan sembilu sakit hati yang sangat pedih

468 buang kulit tampaklah isi terus terang

469 seperti itik pulang petang jalannya tak benar

habis air habislah kayu jagung tua usaha yang mendatangkan rugi 470 tak hendak masak belaka

471 jahit sudah kelindan putus selesai secara sempurna

siapa yang berkemauan, hendaknya 472 siapa jala siapa terjun melakukan usaha

mengatakan sesuatu haruslah berjalan selangkah surut berkata dipikirkan terlebih dahulu supaya tak 473 sepata dipikirkan ada hal-hal yang kurang menyenangkan

474 bagai jampuk kesiangan dalam keadaan kebingungan

kita harus menepati janji sebab janji 475 janji ditepati ikrar dimuliakan adalah sebagai hutang

sangat bersedih karena kelakukan 476 makan hati berulam jantung anaknya

tegak meninjau jarah duduk meraut orang yang sangat rajin, ada saja 477 ranjau yang dikerjakan

mencela orang lain, padahal dirinya 478 jaras dikatakan raga jarang sendiri masih ada celanya

479 sia sia menjaring angin melakukan pekerjaan yang tak

Universitas Sumatera Utara membawa hasil apa-apa

jika permintaan yang besar 480 lurus jarum lurus kelindan dikabulkan tentu permintaan yang kecil akan dikabulkan juga

481 jatuh terhimpit jenjang menderita kesusahan yang beruntun

482 jauh panggang dari api tidak ada sangkut-pautnya

hanya orang bijaksanalah yang tahu 483 jauhari pula yang mengenal manikam akan manfaat ilmu

sangat gelisah karena kurang 484 bagai jawi terkurung kebebasan

melakukan suatu pekerjaan yang sia- 485 mencari jejak di dalam air sia belaka

segala sesuatu yang serba 486 jelatang di hulu air menyusahkan

baru saja memulai pekerjaan, sudah 487 jemur terkekar ayam ada hasilnya

mengerjakan pekerjaan harus 488 berjenjang naik, bertetangga turun menurut aturan yang ada

berlebih-lebihan, karena membesar- 489 cakapan sejengkal dibawa sehasta besarkan perkara kecil

barang siapa menjerumuskan orang 490 tahan jerat sorong kepala lain, ia sendiri akan terjerumus juga

dalam keadaan yang bagaimanapun 491 tongkat patah terjermang harus melakukan usaha, tidak boleh berputus asa

492 jinak jinak merpati nampaknya mau, tetapi setelah

Universitas Sumatera Utara didekati lari

ringan sama dijinjing berat sama persahabatan yang karib, suka duka 493 dipukul bersama-sama

membuang harta (dan tenaga) yang 494 membuang bunga ke jirat sia-sia

seperti gadis jolong bersubang 495 orang yang sangat sombong bujang jolong berkeris

sebelum mengerjakan pekerjaan, 496 telah dijual maka dibeli hendaknya dipikirkan secara masak- masak

497 dari juang turun ke sampan sedang turun pangkat atau derajat

pekerjaan telah selesai, baru ingat 498 menegakkan juek juek cara mengerjakannya

kabar jauh dengar-dengaran kalau kabar yang kita terima harus kita 499 dekat pikir pikiri selidiki terlebih dahulu

jangan disesal gunung berlari hilang hal yang sudah pasti, kerjakanlah 500 kabut tampaklah dia dengan sabar

Tabel 3.2 Daftar Kata Sapaan

Id Kata sapa Kata respon

1 hai hai juga

2 halo hai

3 kabar hari baik, kamu?

4 baik juga Alhamdulillah

5 Assalammualaikum Waalaikumsalam

Universitas Sumatera Utara 14 seperti apa lagi lanjutannya ?

15 sehat kesehatan memang harus dijaga

22 selamat pagi selamat pagi juga

23 selamat siang selamat siang juga

24 selamat sore ngapain kamu sore ini?

selamat malam juga, jangan 25 selamat malam begadang ya.

4.1.5. Analisis Case Folding

Case Folding merupakan proses menghilangkan karakter yang terdapat pada kalimat. Hanya huruf ‘a’ sampai ‘z’ saja yang diterima. Ilustrasi analisis case folding dapat dilihat pada Gambar 3.5.

Apa sih arti ada gula ada semut ?

Apa sih arti ada gula ada semut

Gambar 3.5. Analisis Case Folding

4.1.6. Analisis Tokenizing

Tokenizing merupakan proses penguraian kalimat menjadi kata-kata yang menyusunnya. Proses ini dilakukan agar sistem mengerti dengan masukan pengguna.

Berikut merupakan langkah-langkah umum tokenizing dalam contoh kalimat (pertanyaan) yang berisi kata-kata “Apa sih arti ada gula ada semut ” yang dapat dilihat pada Gambar 3.6.

1. Membagi setiap kata dalam teks, dan mengubahnya menjadi huruf kecil. 2. Hasilnya adalah kata-kata yang merupakan penyusun kalimat yang dimasukkan. apa Apa sih arti ada gula sih ada semut arti

ada Universitas Sumatera Utara

Gambar 3.6. Tahap Tokenizing 4.1.7. Analisis Filtering

Filtering merupakan tahap pengambilan kata – kata penting dari hasil proses tokenizing. Bisa dengan menggunakan stop list (membuang kata yang kurang penting) atau word list (menyimpan kata yang penting). Pada sistem ini menggunakan metode stopword yaitu menghilangkan kata yang tidak penting melalui pengecekan kata-kata hasil tokenizing. Jika terdapat dalam stopword maka kata tersebut akan dihapus sehingga kata-kata yang tersisa adalah kata yang dianggap penting atau keywords (pattern). Langkah-langkah pada proses filtering adalah sebagai berikut :

1. Dilakukan pengecekan apa kata hasil tokenizing sama dengan tabel stopword atau tidak 2. Jika token sama dengan tabel stopword maka akan dihapus. 3. Jika token tidak sama dengan tabel stopword maka token tersebut dianggap kata penting (keyword). Contoh dari tahap filtering terdapat pada Gambar 3.7 sebagai berikut :

apa ada sih gula arti ada

ada

Gambar 3.7 Tahap Filtering

Daftar tabel stopword dapat dilihat pada Tabel 3.3.

Tabel 3.3 Daftar stopword

Id Kata Id Kata Id Kata

Universitas Sumatera Utara 1 apa 21 peribahasa 41 artinya

2 arti 22 hi 42 bagaimana

3 sih 23 tuh 43 kata

4 kenapa 24 ya 44 nya

5 mau 25 orang 45 lanjut

6 aku 26 yang 46 lanjutkan

7 dong 27 atau 47 dan

8 maksud 28 sesuatu 48 ada

9 lagi 29 sama 49 nih

10 untuk 30 apakah

11 nanya 31 agar

12 kamu 32 segala

13 kau 33 adalah

14 berapa 34 adakah

15 tau 35 maksudnya

16 tanya 36 gak

17 jawab 37 tahu

18 ini 38 tidak

19 kalau 39 kalau

20 tentang 40 peribahasanya

4.1.8. Analisis Kebutuhan Sistem Analisis Kebutuhan Sistem meliputi analisis kebutuhan fungsional sistem dan analisis kebutuhan non-fungsional sistem.

4.1.8.1. Kebutuhan Fungsional Sistem Kebutuhan fungsional yang harus dimiliki oleh Chatbot Peribahasa Indonesia adalah: 1. Sistem dapat menerima input kalimat dari pengguna.

Universitas Sumatera Utara 2. Sistem dapat mengetahui input kalimat merupakan sapaan, peribahasa atau stopword. 3. Sistem dapat menampilkan respon yang sesuai berdasarkan inputan pengguna.

4.1.8.2. Kebutuhan Non-Fungsional Sistem Untuk mendukung kinerja sistem, sistem sebaiknya dapat berfungsi sebagai berikut : 1. Sistem memiliki tampilan yang menarik. 2. Sistem harus mudah digunakan sehingga dapat dioperasikan dengan baik oleh pengguna.

4.2. Pemodelan

Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem, serta hal-hal apa saja yang harus dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi dengan baik sesuai dengan kegunaannya.

Pada penelitian ini digunakan UML (Unified Modeling Language) sebagai bahasa pemodelan untuk mendesain dan merancangChatbot Peribahasa Indonesia. Model UML yang digunakan antara lain use case diagram, activity diagram, dan sequence diagram.

4.2.1. Use Case Diagram Use Case Diagram adalah sebuah diagram yang dapat merepresentasikan interaksi yang terjadi antara pengguna dengan sistem. Use Case Diagram dari sistem yang akan dibangun dalam dilihat pada Gambar 3.8.

Universitas Sumatera Utara

Gambar 3.8Use Case DiagramChatbot Pada Gambar 3.10 terlihat bahwa terdapat user yang akan melakukan percakapan dengan chatbot. Terlebih dahulu, user harus memilih tombol masuk agar dapat berbicara dengan sistem. Kemudian user menginputkan kalimat atau pertanyaan kedalam box pesan untuk melakukan percakapan dengan sistem. Sistem akan menampilkan respon yang tepat kepadausera sesuai dengan inputan dari user.

Tabel 3.6. Tabel Use Case Proses Input Kalimat

Name Input Kalimat / Pertanyaan

Actors User

Description Use Case ini mendeskripsikan tombol masuk agar dapat melakukan input kalimat

Basic Flow Pengguna menekan tombol masuk

Alternate Flow -

Pre Condition Pengguna belum menekan tombol masuk

Post Condition Pengguna dapat melakukan penginputan kalimat

Tabel 3.7. Tabel Use Case Proses Input Kalimat

Name Input Kalimat / Pertanyaan

Universitas Sumatera Utara Actors User

Description Use Case ini mendeskripsikan proses penginputan kalimat untuk mendapat respon dari sistem

Basic Flow Pengguna menginput kalimat

Alternate Flow -

Pre Condition Pengguna belum menginput kalimat

Post Condition Pengguna mendapatkan respon dari sistem

4.2.2. Activity Diagram

Activity diagram adalah diagram yang menggambarkan aktivitas dalam sebuah sistem yang sedang berjalan. Activity diagram dari sistem yang akan dibangun dapat ditunjukkan pada Gambar 3.9.

Gambar 3.9Activity DiagramSistem

Universitas Sumatera Utara Didalam Activity diagram pada Gambar 3.11dapat dijelaskan bahwa penggunaterlebih dahulu membuka aplikasi sistem chatbot. Kemudian sistem akan menampilkan antarmuka halaman cover, dimana pada halaman cover terdapat tombol masuk. Pengguna menekan tombol masuk, maka sistem akan menampilkan antarmuka halaman chat. Pada halaman chat, pengguna dapat memasukkan kalimat yang kemudian akan ditampilkan oleh sistem respon dari input kalimat tersebut.

4.2.3. Sequence Diagram

Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar objek pada sistem dalam sebuah urutan waktu atau rangkaian waktu. Sequencediagram dari sistem yang akan dibangun dapat ditunjukkan pada Gambar 3.10

Gambar 3.10 Sequence Diagram Sistem

4.2.4. Flowchart

Universitas Sumatera Utara Flowchart merupakan suatu bagan dengan simbol tertentu yang menggambarkan suatu proses dalam suatu program. Berikut adalah flowchart pada Chatbot Peribahasa Indonesia yang dapat dilihat pada Gambar 3.11.

Gambar 3.11Flowchart Gambaran UmumSistem

Gambar 3.11Menggambarkan alur sistem secara umum pada chatbot, dimana pengguna pertama kali memasukkankalimat untuk berkomunikasi dengan chatbot. Selanjutnya inputan pengguna dilakukan proses preprocessing, kemudian hasil

Universitas Sumatera Utara preprocessing dilakukan pencarian yang cocok dengan algoritma boyer moore. Jika dapat ditemukan dengan boyer moore, maka hasilnya akan ditampilkan sebagai respon. Jika tidak, maka dilakukan pencarian yang cocok dengan menggunakan algoritma levenshtein distance. Jika cocok, maka sistem akan menampilkan respon dan jika tidak di temukan maka sistem akan menampilkan respon default.

Gambar 3.12Flowchart Algoritma Boyer Moore

Gambar 3.12Menggambarkan alur proses pencarian Algoritma Boyer Moore, dimana proses awal input berupa dari hasil preprocessing. Proses pencarian dimulai dari karakter paling kanan ke kiri pattern. Setiap karakter akan dibandingkan satu per satu dengan knowledge base. Jika terjadi ketidakcocokan, maka akan dicek nilai pergeseran yang dilakukan dengan melihat ke tabel bad-charactershift dan good-suffix shift.sNilai terbesar yang didapat di antara kedua tabel tersebut akan diambil dan

Universitas Sumatera Utara pergeseran akan dilakukan sesuai dengan nilai tersebut. Dan jika terjadi kecocokan maka mengeluarkan hasil pencarian dan selesai.

Gambar 3.13Flowchart pemeriksaan Spelling Corecction

Gambar 3.13Menggambarkan langkah pertama sistem mengambil kalimat yang telah diproses dari proses preprocessing. Kemudian, dilakukan pemeriksaan dengan algoritma levenshtein distance berdasarkan data yang ada pada knowledge base.Proses

Universitas Sumatera Utara dilakukan hingga semua data telah diperiksa. Jika semua data telah di periksa, maka sistem akan mengambil nilai yang memiliki perbedaan terkecil. Dan sistem akan menampilkan respon ke pengguna.

4.2.5. Pseudocode Algoritma Boyer Moore memiliki empat fungsi yaitu fungsi suffix, fungsi prebmGs (pre Good-suffix shift), fungsi prebmBc (pre Bad-character suffix) dan fungsi BM(pencarian Boyer Moore). Pseudocode untuk masing-masing fungsi ditunjukkanpada Tabel 3.8, 3.9, 3.10, dan 3.11.Fungsi pseudocode Algoritma Levenshtein Distance dapat dilihat pada Tabel 3.12.

procedure suffixes (x:array of char, m:integer, suff:array of

integer)

Deklarasi :

f, g, i : integer

Algoritma :

suff[m - 1] := m

g := m - 1

for i:= m-2 downto 0 do

If (i > g && suff[i + m - 1 - f] < i - g)

suff[i] := suff[i + m - 1 - f]

Tabel 3.8Pseudocode Suffix

Universitas Sumatera Utara procedure preBmGs (x:array of char, m:integer, bmGs:array of integer)

Deklarasi : i, j : integer suf : array of integer

Algoritma :

suffixes(x, m, suff)

For i := 0 to m-1 do

bmGs[i] := m

EndFor

j := 0

For i := m-1 downto -1 do

Tabel 3.9 Pseudocode prebmGs

procedure preBmBc (x:array of char, m:integer, bmBc :array of integer)

Deklarasi : i : integer

Algoritma :

i 0 2 Tabel 3.10Pseudocode prebmBc

Universitas Sumatera Utara procedure BM (x:array of char, m:integer, y:array of char,

n:integer)

Deklarasi :

i, j : integer

bmGs, bmBc : array of integer

Algoritma :

preBmGs(x, m, bmGs)

preBmBc(x, m, bmBc)

j := 0

While (j <= n - m)

Tabel 3.11 Pseudocode Boyer Moore

int LevenshteinDistance(char s[1..m], char t[1..n])

Deklarasi :

int d[0..m, 0..n]

for i from 0 to m

d[i, 0] := i

for j from 0 to n

d[0, j] := j

for i from 1 to m

for j from 1 to n

Tabel 3.12 Pseudocode Levenshtein

4.3. Perancangan Sistem

Proses perancangansistem adalah proses yang cukup penting dalam perancangan tampilan antarmuka sistem.Sebuah antarmuka harus dirancang dengan memperhatikan

Universitas Sumatera Utara

faktor pengguna sehingga sistem yang dibangun dapat memberikan kenyamanan dan kemudahan untuk digunakan oleh pengguna. Pada sistem terdapat dua tampilan yaitu tampilan halaman cover dan tampilan halaman chat.

Gambar 3.14 Rancangan Antarmuka Halaman Cover Keterangan :

1. Textfield Menampilkan judul skripsi. 2. Textfield Menampilkan nama penelitian. 3. Textfield Menampilkan nama penulis. 4. Textfield Menampilkan nim penulis. 5. Form Menampilkan logo jurusan penulis. 6. Textfield Menampilkan nama fakultas dan prodi. 7. ButtonKirim Berupa tombol yang berfungsi untuk masuk ke halaman berikutnya.

Universitas Sumatera Utara

Gambar 3.15RancanganAntarmuka Halaman Chat Keterangan :

1. BoxChat Box ini ditujukan untuk menampilkan percakapan antara pengguna dan bot. 2. FormChat Form ini ditujukan untuk inputan kalimat dari pengguna. 3. ButtonKirim Berupa tombol yang berfungsi untuk memproses inputan pengguna.

Universitas Sumatera Utara

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem. Sistem ini dibangun dengan menggunakan bahasa pemrograman PHP dan menggunakan databaseMySQL sebagai penyimpanan data yang dibutuhkan chatbot. Pada sistem ini terdapat 2 tampilan halaman, yaitu Halaman Cover dan Halaman Chatbot.

4.1.1 Implementasi Knowledge Base Penyimpanan knowledge baseyang digunakan dalam pembuatan sistemini menggunakan database MySql. Adapun implementasi knowledge base dalam sistem ini adalah sebagai berikut : a. Knowledge Base Peribahasa Indonesia

Gambar 4.1 Database Peribahasa

Universitas Sumatera Utara b. Knowledge Base Kata Sapa

Gambar 4.2 Database Kata Sapa c. Knowledge Base Stopword

Gambar 4.3 Database Stopword 4.1.2 Halaman Cover Halaman Covermerupakan halaman yang pertama kali muncul pada saat sistem dibuka. Halaman Coverdapat dilihat pada Gambar 4.4.

Universitas Sumatera Utara

Gambar 4.4Halaman Cover

4.1.3 Halaman Chat Halaman Chat berfungsi untuk melakukan percakapan antara pengguna dengan bot. Halaman Chat dapat dilihat pada Gambar4.5.

Gambar 4.5 Halaman Chat

Universitas Sumatera Utara 4.1.4 Implementasi Metode dan Algoritma Implementasi metode dan algoritma dilakukan dengan pengkodeannya dalam bentuk program. Dalam implementasi ini, input pengguna adalah “Apa sih peribahasa yang ada kata bulu ????”. Berikut ini adalah implementasi metode dan algoritma yang digunakan untuk menyelesaikan kalimat input user. a. Metode Text Mining

Gambar 4.6 Diagram Preprocessing Pada Gambar 4.6 menjelaskan kalimat input user yaitu “Apa sih peribahasa yang ada kata bulu????”. Kemudian menampilkan hasil dari case folding yaitu menghilangkan karakter selain a-z serta mengubahnya menjadi huruf kecil, sehingga kalimat menjadi “apa sih peribahasa yang ada kata bulu”. Hasil dari case foldingakan di tokenizing hasilnya. Setelah menjadi token – tokendilakukan proses filtering yaitu penghapusan kata yang tidak penting berdasarkan kata-kata stopword yang berada di knowledge

Universitas Sumatera Utara base. Hasil filtering didapatkan kata “bulu”, karena tidak terdapat pada daftar kata stopword. Dimana kata “bulu” tersebut menjadi keyword yang akan dicari kecocokkannya dengan knowledge base peribahasa.

b. Algoritma Boyer Moore I. Pencocokkan pattern pada awal teks.

Tabel 4.1 Pencocokan Boyer Moore pertama

II. Pencocokkan karakter per karakter dari kanan kekiri. Karakter di patterndan di teks dibandingkan tidak cocok.

Tabel 4.2 Pencocokan Boyer Moore kedua

III. Karakter di pattern cocok kemudian algoritma akan memberitahukan penemuan diposisi ini. c a b i k b u l u a y a m b u l u Tabel 4.3 Pencocokan Boyer Moore ketiga

Dari Tabel 4.1, dapat dilihat bahwa karakter terakhir dari pattern adalah huruf “u” yang dicocokan dengan huruf “i” pada kata “cabik bulu ayam”. Karena huruf “u” dan “i” berbeda, maka akan dilakukan pencocokan huruf “i” dengan seluruh karakter pada pattern. Namun, pada pattern tidak terdapat huruf “i”, maka dilakukan pergeseran ke kanan sesuai dengan panjang karakter pada pattern yaitu sebanyak empat yang dapat dilihat pada Tabel 4.2. Setelah dilakukan pergeseran maka dicocokkan kembali karakter terakhir pada pattern yaitu huruf “u” dengan huruf “u” pada teks. Karena pada patternterdapat huruf “u” yang lain, maka patternakan bergeser sedemikian rupa

Universitas Sumatera Utara sehingga huruf “u” kedua pada pattern memiliki posisi yang sejajar dengan posisi dengan posisi huruf “u” pada teks yang dapat dilihat pada Tabel 4.3. Setelah itu dilakukan kembali pencocokan terakhir pada pattern, yaitu huruf “u” yang terletak sejajar dengan huruf “u” pada teks, karena karakter tersebut sama maka dicocokkan kembali karakter yang berbeda disebelah kiri huruf “u” sehingga keseluruhan karakter pada pattern ditemukan dalam teks.

4.2 Pengujian Sistem Pengujian sistem dilakukan untuk memastikan sistem yang telah dibangun dapat berjalan dengan baik sesuai dengan analisis dan perancangan. Pengujian sistem ini terletak pada proses pencarian jawaban atas masukan pertanyaan oleh pengguna sesuai batasan masalah. Berikut ini merupakan pengujian bagaimana sistem berjalan pada chatbot ini berdasarkan implementasi natural language processing dengan metode Text Mining, algoritma Boyer Moore dan algoritma Levenshtein Distance yang dapat dilihat pada Tabel 4.4, 4.5, 4.6dan 4.7.

Tabel 4.4 Hasil Pengujian Menanyakan Arti Peribahasa Indonesia

No Inputan User Respon Chatbot Hasil Percakapan 1 apakah arti belum belum beranak sudah SESUAI beranak sudah berbesan berbesan artinya belum ? berhasil sudah mengharapkan yang bukan- bukan 2 apa arti peribahasa kasih ibu sepanjang jalan SESUAI kasih ibu sepanjang kasih anak sepanjang galah jalan, kasih anak artinya kasih sayang ibu tak spanjang galah ? terbatas, tetapi cinta anak sangat terbatas 3 ada udang dibalik batu ada udang dibalik batu SESUAI artinya apa ya? artinya ada maksud yang tersembunyi

Universitas Sumatera Utara 4 mau tanya nih apa arti alah bisa karena biasa SESUAI alah bisa karena biasa ? artinya mengerjakan sesuatu tak akan merasakan kesukaran, bila sudah dikerjakan berkali-kali 5 arti telah dijual maka telah dijual maka dibeli SESUAI dibeli apa? jawab dong artinya sebelum ... mengerjakan pekerjaan, hendaknya dipikirkan secara masak-masak 6 maksud cinta itu buta cinta itu buta yang artinya SESUAI adalah ? cinta itu tidak memandang bangsa, derajat dan harta 7 adakah arti delima seperti delima merekah SESUAI merekah ? memiliki arti bibirnya merah dan bagus 8 hangat-hangat tai ayam hangat hangat cirit ayam SESUAI maksudnya apa ya ? yang artinya kemauan yang tidak begitu kuat 9 tau gak arti jinak-jinak jinak jinak merpati yang SESUAI merpatii ? artinya nampaknya mau, tetapi setelah didekati lari 10 kasih tau dong arti nasi nasi telah menjadi bubur SESUAI telah jadi bubur .. yang artinya sesuatu yang tak dapat diperbaiki lagi

Pada Tabel 4.4 dapat terlihat hasil pengujian menanyakan arti peribahasa Indonesia dari sepuluh pola pertanyaan yang diambil dapat menampilkan respon yang sesuai dengan masukan dari pengguna.

Tabel 4.5 Hasil Pengujian Menyapa Chatbot

No Inputan User Respon Chatbot Hasil

Universitas Sumatera Utara 1 asalammualaikum Waalaikumsalam SESUAI 2 hai bot Hai SESUAI 3 bagaimana kabarmu? Makan bayang yang artinya TIDAK marah didalam hati SESUAI 4 selamat pagi bot Selamat pagi juga SESUAI 5 bagaimana kabarmu hari Baik, kamu ? SESUAI ini ? 6 apa kabar ? Kabar jauh dengar-dengaran TIDAK kalau dekat pikir pikiri SESUAI memiliki arti kabar yang kita terima harus kita selidiki terlebih dahulu 7 apakah kamu sehat ? Kesehatan memang harus SESUAI dijaga 8 apa kabarmu sehat ? Baik, kamu ? SESUAI 9 apa kabarmu baik ? Ada angin baik yang artinya TIDAK ada harapan baik SESUAI 10 selamat malam mblo Selamat malam, jangan SESUAI begadang ya

Pada Tabel 4.5 dapat terlihat hasil pengujian memasukkan kata sapaan dari sepuluh pola yang dimasukkan hanya dapat menampilkan tujuh respon yang sesuai dengan masukan dari pengguna.

Tabel 4.6 Hasil Pengujian Melengkapi Penggalan Kata Peribahasa

No Inputan User Respon Chatbot Hasil 1 apa peribahasa yang ada jika tak ada rotan akarpun SESUAI kata rotan? jadi memiliki arti kalau tak ada yang baik, yang kurang baikpun berguna

Universitas Sumatera Utara

2 Lanjutkan peribahasa anjing menggonggong SESUAI anjing menggonggong ... kafilah berlalu memiliki arti biarpun rintangan menghadapi rencana jalan terus 3 peribahasa jilat ludah menjilat air ludah sendiri SESUAI sendiri yang artinya meminta kembali hal atau barang yang telah diberikan kepada orang lain 4 peribahasa yang ada kata Aku nggak ngerti maksud TIDAK anak dan menantu kamu. Sepertinya aku butuh SESUAI belajar lagi 5 peribahasa yang ada kata Air susu dibalas dengan air SESUAI susu tuba memiliki arti kebaikan yang dibalas dengan kejahatan

Pada Tabel 4.6 dapat terlihat hasil pengujian melengkapi penggalan kata peribahasa dari lima pola yang dimasukkan hanya dapat menampilkan tiga respon yang sesuai dengan masukan dari pengguna.

Tabel 4.7 Hasil Pengujian Mencari Peribahasa Melalui Artinya

No Inputan User Respon Chatbot Hasil 1 apakah peribahasa yang Belum dipanjat asam SESUAI artinya belum pernah kemenyan kawin ? 2 peribahasa untuk orang Seperti pucuk eru kemaba SESUAI yang tidak tetap angin keras ke situlah

Universitas Sumatera Utara pendiriannya condongnya 3 orang yang punya maksud Ada udang dibalik batu SESUAI tersembunyi 4 peribahasa orang yang Aku nggak ngerti maksud TIDAK membuka aib keluarganya kamu. Sepertinya aku butuh SESUAI sendiri belajar lagi 5 peribahasa "orang yang Orang yang bodoh tidak SESUAI bodoh tidak mengerti mengerti perkataan sindiran sindiran" apa ?

Pada Tabel 4.7 dapat terlihat hasil pengujian mencari peribahasa Indonesia melalui artinya dari lima pola yang dimasukkan hanya dapat menampilkan empat respon yang sesuai dengan masukan dari pengguna. a. Pengujian Boyer Moore Pertama

Gambar 4.7 Pengujian Boyer Moore 1

Universitas Sumatera Utara Pada Gambar 4.7 terlihat bahwa pengujian Boyer Moore menggunakan pattern“terpegang di abu dingin” sesuai dengan teks target yang akan ditampilkan sebagai respon sistem. Dimana respon yang ditampilkan adalah “terpegang di abu dingin memiliki arti mencampuri sesuatu urusan yang menyusahkan atau mencelakakan diri sendiri”. Dapat dilihat pada knowledge base, sistem hanya melakukan pencarian pada kolom input. Sistem sudah dipaketkan, jadi bilamana terpilih salah satu diantara kolom, Misalkan; pada pencarian teks “terpegang di abu dingin”, maka sepaket dengan

Id Input Respon 4 terpegang di abu dingin Mencampuri sesuatu urusan yang menyusahkan atau mencelakakan diri sendiri

“terpegang di abu dingin” adalah “mencampuri sesuatu urusan yang menyusahkan atau mencelakakan diri sendiri”, maka sistem akan mengeluarkan kata – kata tersebut. Berikut merupakan table data pada proses pencarian pattern “terpegang di abu dingin” yang dapat dilihat pada Tabel 4.8. Tabel 4.8 Database Pencocokan 1 T t e r p e g a n g d i a b u d i n g i n P t e r p e g a n g d i a b u d i n g i n Adapun proses pencocokan string pada Gambar 4.3 dapat diilustrasikan sebagai berikut :

Tabel 4.9 Tabel Pencocokan 1

Dari Tabel 4.9, dapat dilihat bahwa karakter terakhir dari pattern adalah huruf “n” yang dicocokan dengan huruf “n” pada teks “terpegang di abu dingin”. Karena karena semua karakter cocok, maka ditemukanlah pattern“terpegang di abu dingin”. b. Pengujian Boyer Moore Kedua

Universitas Sumatera Utara

Gambar 4.8 Pengujian Boyer Moore 2 Pada Gambar 4.8 terlihat bahwa pengujian Boyer Moore menggunakan pattern“abu dingin” sesuai dengan teks target yang akan ditampilkan sebagai respon sistem. Dimana respon yang ditampilkan adalah “terpegang di abu dingin memiliki arti mencampuri sesuatu urusan yang menyusahkan atau mencelakakan diri sendiri”. Dapat dilihat pada knowledge base, dimana pattern “abu dingin” terdapat pada dua teks yaitu “terpegang di abu dingin”yang telah dipaketkan dengan “mencampuri sesuatu urusan yang menyusahkan atau mencelakakan diri sendiri” dan “berdiang di abu dingin” yang telah dipaketkan dengan “meminta pertolongan kepada orang miskin (dan pasti tidak mendapat apa-apa)”, namun sistem hanya akan mengeluarkan teks yang pertama kali dicocokan dan sesuai dengan pattern yaitu “berdiang di abu dingin”. Berikut merupakan table data pada proses pencarian pattern “abu dingin” yang dapat dilihat pada Tabel 4.10. Tabel 4.10 Database Pencocokan 2 Id Input Respon 4 terpegang di abu dingin mencampuri sesuatu urusan yang menyusahkan atau mencelakakan diri sendiri 5 berdiang di abu dingin meminta pertolongan kepada orang miskin (dan pasti tidak mendapat apa-apa) Adapun proses pencocokan string pada Gambar 4.4 dapat diilustrasikan sebagai berikut :

Tabel 4.11 Tabel Pencocokan 2.1

T t e r p e g a n g d i a b u d i n g i n P a b u d i n g i n

Universitas Sumatera Utara Tabel 4.12 Tabel Pencocokan 2.2

T t e r p e g a n g d i a b u d i n g i n P a b u d i n g i n

Tabel 4.13 Tabel Pencocokan 2.3

T t e r p e g a n g d i a b u d i n g i n P a b u d i n g i n

Dari Tabel 4.11, dapat dilihat bahwa karakter terakhir dari pattern adalah huruf “n” yang dicocokan dengan karakter “spasi” pada kata “terpegang abu dingin”. Karena huruf “n” dan “spasi” berbeda, maka akan dilakukan pencocokan karakter “spasi” dengan seluruh karakter pada patterndari kanan ke kiri. Pada pattern, terdapat karakter “spasi” lain, sehingga karakter “spasi” yang lain pada pattern di sejajarkan dengan “spasi” pada teks yang dapat dilihat pada Tabel 4.12. Setelah dilakukan pergeseran maka dicocokkan kembali karakter terakhir pada pattern yaitu huruf “n” dengan huruf “u” pada teks. Karena huruf “n” dan “u” berbeda, maka akan dilakukan pencocokan karakter “u” dengan seluruh huruf pada pattern. Pada pattern ditemukan huruf “u”, maka dilakukan pergeseran ke kanan dengan mensejajarkan huruf “u” pada teks yang dapat di lihat pada Tabel 4.13. Karena karakter tersebut sama maka dicocokkan kembali karakter yang berbeda disebelah kiri huruf “u” sehingga keseluruhan karakter pada pattern ditemukan dalam teks. c. Pengujian Boyer Moore Ketiga

Universitas Sumatera Utara

Gambar 4.9 Pengujian Boyer Moore 3 Pada Gambar 4.9 terlihat bahwa pengujian Boyer Moore menggunakan pattern“bagai megang abu dingin” tidak sesuai dengan teks target yang akan ditampilkan sebagai respon sistem. Dapat dilihat pada knowledge base, dimana pattern “bagai megang abu dingin” tidak ditemukan, walaupun terdapat kemiripan pada teks “terpegang di abu dingin”. d. Pengujian Boyer Moore Keempat

Universitas Sumatera Utara Gambar 4.10 Pengujian Boyer Moore 4 Pada Gambar 4.10 terlihat bahwa pengujian Boyer Moore menggunakan pattern“abu dinginnnn” tidak sesuai dengan teks target yang akan ditampilkan sebagai respon sistem. Dapat dilihat pada knowledge base, dimana pattern “abu dinginnnn” tidak ditemukan, walaupun terdapat kemiripan pada teks yaitu “terpegang di abu dingin”dan “berdiang di abu dingin”.

e. Pengujian Menggunakan Algoritma Levenshtein Distance

Gambar 4.11 Pengujian Levenshtein Distance Pada Gambar 4.11 terlihat bahwa pengujian Levenshtein Distancemenggunakan pattern“memegang di abu dingin” sesuai dengan teks target yang akan ditampilkan sebagai respon sistem. Dimana respon yang ditampilkan adalah “terpegang di abu dingin memiliki arti mencampuri sesuatu urusan yang menyusahkan atau mencelakakan diri sendiri”. Dapat dilihat pada knowledge base, sistem hanya melakukan pencarian pada kolom input. Pada pencarian teks“memegang di abu dingin”, tidak terdapat pada database namun terdapat kemiripan dapat dilihat pada Tabel 4.16 teks “terpegang di abu dingin”yang telah dipaketkan dengan“mencampuri sesuatu urusan yang menyusahkan atau mencelakakan diri sendiri” dan “berdiang di abu dingin” yang telah dipaketkan dengan “meminta pertolongan kepada orang miskin (dan pasti tidak mendapat apa- apa)”, akan tetapi teks yang ditampilkan merupakan teks yang memiliki perbedaan

Universitas Sumatera Utara terkecil yaitu “terpegang di abu dingin”. Maka proses spelling correction dapat diilustrasikan sebagai berikut : a. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 T = - m e m e g a n g - d i – a b u – d i n g in S = t e r p e g a n g - d i - a b u – d i n g i n Maka jarak Levenshtein Distanceantara s dan t adalah sebagai berikut ini : 23 D(s,t) = ( , ) =1

�𝑖𝑖 𝑑𝑑 𝑠𝑠𝑠𝑠 𝑡𝑡𝑡𝑡 = d( t,- ) + d( e,e ) + d( r,e ) + d( p,m ) + d( e,e ) + d( g,g ) + d(a,a) +

d( n,n ) + d( g,g )+ d( -,- ) + d( d,d ) + d( i,i ) + d( -,- ) + d( a,a ) +

d( b,b ) + d( u,u )+ d( -,- ) + d( d,d ) + d( i,i ) + d( n,n ) + d( g,g ) +

d( i,i ) + d( n,n )

= 1 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +

0 + 0 + 0 + 0 + 0

= 4 b. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 T = m e m e g a n g - d i – a b u – d i n gin S = b e r d i a n g - d i - a b u – d i n g i n Maka jarak Levenshtein Distanceantara s dan t adalah sebagai berikut ini : 22 D(s,t) = ( , ) =1

�𝑖𝑖 𝑑𝑑 𝑠𝑠𝑠𝑠 𝑡𝑡𝑡𝑡 = d( b,m ) + d( e,e ) + d( r,m ) + d( d,e ) + d( i,g ) + d( a,a ) + d(n,n) +

d( -,- ) + d( d,d ) + d( i,i ) + d( -,- ) + d( a,a ) + d( b,b ) + d( u,u )+

d( -,- ) + d( d,d ) + d( i,i ) + d( n,n ) + d( g,g ) +

d( i,i ) + d( n,n )

= 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +

0 + 0 + 0 + 0 + 0

Universitas Sumatera Utara = 5

Dari perhitungan yang dilakukan diperoleh nilai Levenshtein Distance yang terkecil adalah 4, maka yang ditampilkan oleh sistem adalah “terpegang di abu dingin”.

Dari 30 kalimat yang telah diuji, didapatkan 25 kalimat yang menampilkan respon sesuai dengan knowledge base . Dengan menggunakan rumus berikut,

25 Presentase keberhasilan = x 100 % = x100 = 83,3 %

𝑗𝑗𝑗𝑗𝑗𝑗𝑗𝑗𝑗𝑗 ℎ 𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘 ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 30 𝑗𝑗𝑗𝑗𝑗𝑗𝑗𝑗𝑗𝑗 ℎ 𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘 𝑢𝑢𝑢𝑢𝑢𝑢 Maka persentase keberhasilan sistem chatbot ini sebesar 83,3 %.

Hasil pengujian pada Tabel 4.4, 4.5, 4.6dan 4.7, membuktikan bahwa implementasi NLP dengan metode text mining, algoritma boyer moore dan algoritma levenshtein distance mampu membantu dan memudahkan pengguna untuk mencari informasi tentang peribahasa Indonesia. Namun, hasil persentase sebesar 83,3% juga membuktikan bahwa sistem ini masih memerlukan penyempurnaan. Kelengkapan kata kunci dan penyesuaian data pada knowledge base sangat berpengaruh pada keberhasilan sistem ini yang dapat dilihat pada Tabel 4.5 pada baris 5, 6, 7, 8, 9 dimana untuk mendapatkan respon dari bertanya kabar banyak respon yang ditampilkan.

Hasil pengujian pada algrotima boyer moore menunjukkan bahwa pencocokan keyword dengan teks pada knowledge base harus tepat, tidak boleh ada kekurangan ataupun kelebihan satu hurufpun. Namun, hal tersebut dapat diatasi dengan algoritma levenshtein distance dengan menghitung perbedaan terkecil antara keyword dan teks. Secara teori hasil perhitungan spelling correction menggunakan algoritma levenshtein distance sudah tepat. Namun, secara kinerja sistem, respon yang diharapkan tidak sesuai, maka perlu dilakukan penanganan lebih lanjut agar respon yang dihasilkan sesuai dengan yang diharapkan pengguna.

Universitas Sumatera Utara BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan hasil studi literatur, analisis, perancangan, implementasi, dan pengujian sistem chatbot Peribahasa Indonesia maka kesimpulan yang didapat adalah sebagai berikut:

1. Natural Language Processing dapat diterapkan dengan metode Text Mining, Algoritma Boyer Moore dan Algoritma Levenshtein Distance pada chatbot Peribahasa Indonesia sehingga mampu memberikan respon yang sesuai dengan inputan pengguna sebagaimana terlihat dari hasil uji coba persentase sebesar 83,3%. 2. Algoritma Boyer Moore hanya dapat menangani keyword yang tepat (tidak kurang atau lebih satu huruf) untuk dapat menemukan respon yang sesuai serta respon yang diperoleh dari respon chatbot tergantung pada kelengkapan kata kunci. 3. Algoritma Levenshtein Distance dapat digunakan sebagai spelling correction. Namun, untuk dapat menemukan respon yang sesuai harus dilakukan penanganan lebih lanjut. 4. Tingkat kesulitan pada pembuatan sistem lebih ke penyesuaian inputan pengguna dengan knowledge base. 5. Sistem ini dapat digunakan sebagai media interaktif untuk mendapatkan informasi peribahasa Indonesia.

5.2 Saran Adapun saran yang dapat diberikan untuk mengembangkan penelitian ini adalah sebagai berikut : 1. Sebaiknya sistem ini ditambahkan speech recognition agar chatbot semakin interaktif serta dapat menyesuaikan dengan perkembangan jaman. 2. Untuk pengembangan tahap selanjutnya, diharapkan sistem ini mampu menangani penyesuaian masukkan dengan knowledge base. 3. Untuk pengembangan tahap selanjutnya, diharapkan sistem ini mampu melakukan pembaruan pengetahuan secara otomatis. DAFTAR PUSTAKA

Universitas Sumatera Utara Adiwidya, B.M.D. 2009. Algoritma Levenshtein dalam Pendekatan Approximate String Matching. Bandung : Institut Teknologi Bandung. Charras, C and Lecroq, T. 2004. Handbook of Exact String Matching Algorithm. London : King’s College Publication. Dahiya, M. 2017. A Tool of Conversation : Chatbot. International Journal of and Engineering 5(5) : 2347-2693. Emanuela, H and Traian, R. 2013. Designing a Chat-bot that Simulates anHistorical Figure. International Conference on Control Systems and Computer Science : 582-589. Expertsystem. 2016. Natural Language Processing and Text Mining. Fatima, Choirunnisa. 2014. Pencocokan String pada Aplikasi Chatbot Sederhana. Bandung : Institut Teknologi Bandung. Hajar, Teuku Ighfar. 2015. Implementasi Algoritma Levenshtein Distance dan Boyer Moore untuk fitur Autocomplete dan Autocorrect pada aplikasi katalog perpustakaan daerah Aceh Timur. Skripsi. Universitas Sumatera Utara. Harahap, B. S. 2013. Implementasi Algoritma Cocke-Younger-Kasami (CYK) dan Levenshtein untuk Mengoreksi Kesalahan Pengejaan Kalimat Bahasa Inggris. Skripsi. Universitas Sumatera Utara. Knuth, D.E. et al. 1977. Fast pattern matching in strings. SIAM J Comput 6. Kristanto, Andri. 2004. Kecerdasan Buatan. Yogyakarta: Graha Ilmu. Kusrini, Luthfi Taufiq Emha. 2009. Algoritma Data Mining. Yogyakarta : Penerbit Andi. P, Elisabet Nila S. C. 2013. Rancang Bangun Aplikasi Chatbot Informasi Objek Wisata Kota Bandung dengan Pendekatan Natural Language Processing. Skripsi. Universitas Komputer Indonesia. Primadani, Yuli. 2014. Simulasi Algoritma Levenshtein Distance untuk Fitur Autocomplete pada Aplikasi Katalog Perpustakaan. Skripsi. Universitas Sumatera Utara. Ridwan, Fendy. 2013. Pembangunan Aplikasi Natural Language Procesing Untuk Pembuatan Chat Bot Berbasis Web (Di Universitas Komputer Indonesia). Skripsi. Universitas Komputer Indonesia. Shaalan, Khaled. 2010. Rule-based Approach in Arabic Natural Language Processing. International Journal on Information and Communication Technologies 3(3) : 11-19. Shah,R., Lahoti, S and K, Lavanya. An Intelligent Chat-bot using Natural Language Processing. International Journal of Engineering Research 6(5) : 281-286. Simarmata, Janner. 2006. Pengenalan Teknologi Komputer dan Informasi. Yogyakarta : Andi.

Universitas Sumatera Utara Siswanto. 2002. Kecerdasan Tiruan. Jakarta : Universitas Budi Luhur. Suhendro, Hadi. 2014. Pembangunan Aplikasi Chatbot Dokter Virtual dengan Pendekatan Natural Language Processing (Studi Kasus di Klinik dr. Iin Hartinah Kabupaten Cirebon). Skripsi. Universitas Komputer Indonesia. Suntoro, Mego. 2015. Implementasi Algoritma Pecocokan String Boyer-Moore dalam Pembuatan Contact Manager. Skripsi. Universitas Sumatera Utara. Susanto. 2014. Perancangan Aplikasi Kamus Istilah Latin Hewan dan Tumbuhan dengan Menerapkan Algoritma Boyer-Moore Berbasis Mobile. Jurnal Informasi dan Teknologi Ilmiah (INTI) 4(3) : 88-90. Utami, E dan Hartati, S. 2007. Pendekatan Metode Rule Based dalam Mengalihbahasakan Teks Bahasa Inggris ke Teks Bahasa Indonesia. Jurnal Informatika 8(1) : 42 – 53.

Universitas Sumatera Utara LAMPIRAN A : LISTING PROGRAM

// Source Code Koneksi.php

$koneksi=new PDO('mysql:host=localhost;dbname=peribahasa','root','');

function db_select($koneksi){

$query = $koneksi->prepare("SELECT * FROM chatbot");

$query->execute();

while($row=$query->fetch()){

$id = $row['id'];

$pesan = $row['pesan'];

$waktu = $row['waktu'];

$return_arr[] = array("id" => $id,

"pesan" => $pesan,

"waktu" => $waktu);

}

return $return_arr;

}

function select_stopword($koneksi){

$data = array();

$query = $koneksi->prepare("SELECT * FROM stopword");

$query->execute();

while($row=$query->fetch()){

$kata = $row['kata'];

Universitas Sumatera Utara array_push($data, $kata);

}

return $data;

}

function select_kamus($koneksi){

$data = array();

$query = $koneksi->prepare("SELECT * FROM kamus");

$query->execute();

while($row=$query->fetch()){

$data[] = array(

"id" => $row['id'],

"input" => $row['input'],

"respon" => $row['respon'],

);

}

return $data;

}

function select_sapaan($koneksi){

$data = array();

$query = $koneksi->prepare("SELECT * FROM sapaan");

$query->execute();

while($row=$query->fetch()){

$data[] = array(

"id" => $row['id'],

"ktsapa" => $row['ktsapa'],

"ktrespon" => $row['ktrespon']

);

}

return $data;

Universitas Sumatera Utara }

function select_peribahasa($koneksi, $id){

$data = array();

$query = $koneksi->prepare("SELECT * FROM sinonim where id='".$id."'");

$query->execute();

while($row=$query->fetch()){

$data[] = array(

"id" => $row['id'],

"kata1" => $row['kata1'],

"kata2" => $row['kata2']

);

}

return $data;

}

}catch(PDOException $e){

echo "Koneksi Database gagal ".$e->getMessage();

exit;

}

?>

// Source Code ajaxku.js

$(document).ready(function()

{

//load pesan

function ambilpesan()

{

$(".boxpesan").load("ambil.php");

var con = document.getElementById("boxpesan");

Universitas Sumatera Utara con.scrollTop = con.scrollHeight;

} setInterval(ambilpesan,1000);

//kirim pesan chat

$("#formpesan").submit(function()

{

var pesan=$(".input-xlarge").val();

$.ajax({

url : 'kirim.php',

type : 'POST',

data : 'pesan='+pesan,

success : function(pesan)

{

if(pesan=="terkirim")

{

$(".input-xlarge").val("");

}

else

{

return false;

}

},

});

return false;

});

//load pesan chat function ambilpesan()

{

$("#boxpesan").load("ambil.php");

var con = document.getElementById("boxpesan");

Universitas Sumatera Utara con.scrollTop = con.scrollHeight;

}

setInterval(ambilpesan,1000);

});

// Source Code Kirim.php

$stopwords = select_stopword($koneksi);

$kamus = select_kamus($koneksi);

$sapaan = select_sapaan($koneksi);

date_default_timezone_set("Asia/Jakarta");

if(isset($_POST['pesan']))

{

$id=$_SESSION['id'];

$pesan=strip_tags($_POST['pesan']);

$waktu = date("Y-m-d H:i:s");

//Tokenization

$nlp = new NLP();

$hasil_token = $nlp->preproses($pesan);

$penggalan = preg_split("/[\s,]+/", $hasil_token);

$jml = count($penggalan) - 1;

Universitas Sumatera Utara

//-----mulai proses filtering------

$query = $koneksi->prepare( "SELECT * FROM stopword");

$query->execute();

while ($row = $query->fetch()) {

$stopword[] = trim($row['kata']);//trim untuk menghapus kata

}

for ($i = 0; $i <= $jml; $i++) {

if (in_array($penggalan[$i], $stopword)) {

unset($penggalan[$i]);

}

}

$output = implode(" ", $penggalan);

//----akhir proses filtering------

//fungsi mencari peribahasa

$ketemu = false;

if(!$ketemu){

$i = 0;

$index_ketemu;

$respon;

$input;

while(!$ketemu && $i < sizeof($kamus) && $output != null){

$token_kamus = $nlp->preproses($kamus[$i]["input"]);

$tes = $nlp->SearchString($output,$token_kamus);

if($tes){

$ketemu = true;

$index_ketemu = $i;

$peribahasa = $kamus[$index_ketemu]["input"]." memiliki arti ".$kamus[$index_ketemu]["respon"];

}

$i++;

Universitas Sumatera Utara }

//fungsi levenshtein peribahasa

if(!$tes){

$terkecil=-1;

$sql=$koneksi->prepare("SELECT input,respon from kamus");

$sql->execute();

while($data=$sql->fetch()){

$kata=$data['input'];

$katarp=$data['respon'];

$lev = levenshtein($output, $kata);

if ($lev <= $terkecil || $terkecil < 0) {

$terdekat = $kata;

$responnya = $katarp;

$terkecil = $lev;

}

}

if($output) {

$hasil = $terdekat." yang artinya ".$responnya;

}

}

}

//cek kalimat dengan sapaan

$kt=false;

$j=0;

$kt_ketemu;

if($ketemu==false){

while($j < sizeof($sapaan) && $output != null){

$token_kt = $nlp->preproses($sapaan[$j]["ktsapa"]);

$tes1 = $nlp->SearchString($output,$token_kt);

if($tes1){

$kt=true;

Universitas Sumatera Utara $kt_ketemu = $j;

$sapa=$sapaan[$kt_ketemu]["ktrespon"];

}

$j++;

}

if(!$tes1){

$terkecil1=-1;

$sql1=$koneksi->prepare("SELECT ktsapa, ktrespon from sapaan");

$sql1->execute();

while($data1=$sql1->fetch()){

$kata1=$data1['ktsapa'];

$katarp1=$data1['ktrespon'];

$lev = levenshtein($output, $kata1);

if ($lev <= $terkecil1 || $terkecil1 < 0) {

$terdekat1 = $kata1;

$responnya1 = $katarp1;

$terkecil1 = $lev;

}

}

if($output) {

$hasil1 = $responnya1;

}

}

}

//cek kalimat dari arti

if($kt==false){

$terkecil2=-1;

$sql2=$koneksi->prepare("SELECT * from kamus");

$sql2->execute();

while($data2=$sql2->fetch()){

Universitas Sumatera Utara $kata2=$data2['respon'];

$katarp2=$data2['input'];

$lev = levenshtein($output, $kata2);

if ($lev == 0) {

$terdekat2 = $kata2;

$terkecil2 = 0;

$responnya2 = $katarp2;

break;

}

if ($lev <= $terkecil2 || $terkecil2 < 0) {

$terdekat2 = $kata2;

$responnya2 = $katarp2;

$terkecil2 = $lev;

}

}

if($output) {

$hasil2 = $responnya2;

}

}

//klasifikasi peribahasa

/* $cek_sinonim=false;

$f = 0;

$index_kategori;

$kategori="";

$ktkategori = true;

$kategorikt = $koneksi->prepare("SELECT * FROM sinonim where kata2 = '".$output."'");

$kategorikt->execute();

if($ktsambung==false){

while($row =$kategorikt->fetch(PDO::FETCH_ASSOC)){

$cek_sinonim = false;

$arr[] = $row['id'];

Universitas Sumatera Utara $rand = array_rand($arr);

$hasil_rand = $arr[$rand];

$kategori = select_peribahasa($koneksi,$hasil_rand)[0]['kata1'];

if(isset($kategori)){

while(!$cek_sinonim && $f < sizeof($kamus) && $kategori != null){

$token_ks = $nlp->tokenizer($kamus[$f]["respon"]);

$tes = $nlp->SearchString($token_ks,$kategori);

if($tes){

$cek_sinonim = true;

$index_kategori = $f;

}

$f++;

}

}

}

}*/

//hasil respon dari pengecekan

if($pesan==""){

$respon="";

}else if($ketemu){

$respon = $peribahasa;

}else if($terkecil>0 && $terkecil<9){

$respon = $hasil;

}else if($kt){

$respon = $sapa;

}else if($terkecil1>0 && $terkecil1<8){

$respon = $hasil1;

}else if($kte){

Universitas Sumatera Utara $respon = $kategori;

}else if($terkecil2>0 && $terkecil2<15){

$respon = $hasil2;

}else if($cek_sinonim){

$respon = $kamus[$index_kategori]["input"]." artinya ".$kamus[$index_kategori]["respon"];

}else{

$respon = "Aku nggak ngerti maksud kamu. Sepertinya aku butuh belajar lagi";

}

json_encode($respon);

$masukan=$koneksi->prepare("insert into chatbot (id,pesan,output,waktu) values (:id,:pesan,:output,:waktu) ");

$masukan->BindParam(":id",$id);

$masukan->BindParam(":pesan",$pesan);

$masukan->BindParam(":output",$respon);

$masukan->BindParam(":waktu",$waktu);

$masukan->execute(); if($masukan->rowCount()==1)

{

print "terkirim";

} else

{

print "gagal";

}

}

?>

// Source Code NLP.php

Universitas Sumatera Utara

class NLP{

public function preproses($kalimat) {

//----mulai case folding----

$kalimat = preg_replace('/[?!:.,()*\"£€\$\\n]|[- ]|\'/','', $kalimat);

$kalimat = str_replace('/', '', $kalimat);

$kalimat = str_replace(' ', ' ', $kalimat);

$kalimat = trim(preg_replace('!\s+!', ' ', $kalimat));

$kalimat = strtolower($kalimat);

//----akhir case folding----

return $kalimat;

}

private function badCharHeuristic($str, $size, &$badchar){

for ($i = 0; $i < 256; $i++)

$badchar[$i] = -1;

for ($i = 0; $i < $size; $i++)

$badchar[ord($str[$i])] = $i;

}

function suffixes($str, $size, &$suffixes)

{

$suffixes[$size - 1] = $size;

$g = $size - 1;

for ($i = $size - 2; $i >= 0; --$i) {

if ($i > $g && $suffixes[$i + $size - 1 - $f] < $i - $g) {

$suffixes[$i] = $suffixes[$i + $size - 1 - $f];

Universitas Sumatera Utara } else {

if ($i < $g) {

$g = $i;

}

$f = $i;

while ($g >= 0 && $str[$g] == $str[$g + $size - 1 - $f]) {

$g--;

}

$suffixes[$i] = $f - $g;

}

}

}

function goodSuffixes($str, $size, &$goodchar)

{

$suff = array();

$this -> suffixes($str, $size, $suffixes);

for ($i = 0; $i < $size; $i++) {

$goodchar[$i] = $size;

}

for ($i = $size - 1; $i >= 0; $i--) {

if ($suffixes[$i] == $i + 1) {

for ($j = 0; $j < $size - $i - 1; $j++) {

if ($goodchar[$j] == $size) {

$goodchar[$j] = $size - $i - 1;

}

}

Universitas Sumatera Utara }

}

for ($i = 0; $i < $size - 2; $i++) {

$goodchar[$size - 1 - $suffixes[$i]] = $size - $i - 1;

}

}

public function SearchString($str, $teks) {

$m = strlen($teks);

$n = strlen($str);

$i = 0;

$result = array();

$this->badCharHeuristic($teks, $m, $badchar);

$this->goodSuffixes($teks, $m, $goodchar);

$s = 0;

while ($s <= ($n - $m))

{

$j = $m - 1;

while ($j >= 0 && $teks[$j] == $str[$s + $j])

$j--;

if ($j < 0)

{

$arr[$i++] = $s;

$s += ($s + $m < $n) ? $m - $badchar[ord($str[$s + $m])] : 1;

}

else

Universitas Sumatera Utara $s += max($goodchar[$j], $j - $badchar[ord($str[$s + $j])]);

}

for ($j = 0; $j < $i; $j++)

{

$result[$j] = $arr[$j];

}

return $result;

}

function levenshteinD($thiss = "", $that = "") {

// memeriksa apakah kedua kata sama

if ($thiss === $that)

return 0;

// dimensi matrix

$m = strlen($thiss);

$q = strlen($that);

// memulai membuat matrix

// kiri atas di inisialisasikan dengan nilai 0

$matrix[0][0] = 0;

//membuat array dari setiap huruf

for ($i = 1; $i <= $m; $i++) {

$matrix[$i][0] = $i;

if ($i != $m && substr($thiss, $i) === substr($that, $i))

return $i;

Universitas Sumatera Utara }

for ($i = 1; $i <= $q; $i++) {

$matrix[0][$i] = $i;

if ($i != $q && substr($thiss, $i) === substr($that, $i))

return $i;

}

// membandingkan seluruh matrix dimulai dari kiri atas untuk menemukan nilau minimum

for ($i = 1; $i <= $m; $i++) {

$piece = substr($thiss, $i - 1, 1);

for ($j = 1; $j <= $q; $j++) {

$minimum = $m + $q;

if ( ($matrix[$i - 1][$j] + 1) < $minimum)

$minimum = $matrix[$i - 1][$j] + 1;

if ( ($matrix[$i][$j - 1] + 1) < $minimum)

$minimum = $matrix[$i][$j - 1] + 1;

if ($piece === substr($that, $j - 1, 1))

$extraCost = 0;

else

$extraCost = 1;

if ( ($matrix[$i - 1][$j - 1] + $extraCost) < $minimum)

$minimum = $matrix[$i - 1][$j - 1] + $extraCost;

Universitas Sumatera Utara $matrix[$i][$j] = $minimum;

}

}

// memberikan nilai terendah pada elemen paling kanan bawah

return $matrix[$m][$q];

}

}

Universitas Sumatera Utara CURRICULUM VITAE

------

Data Pribadi Nama : Dewi Wiranda Sari Tempat/Tanggal Lahir: Medan / 30 April 1996 Tinggi/Berat Badan : 163 cm / 55 kg Agama : Islam Kewarganegaraan : Indonesia Alamat Sekarang : Jl. H.M Joni no 21, Medan Alamat Orang Tua : Jl. H.M Joni no 21, Medan Telp/ Hp : 081776922175 Email : [email protected]

------

Riwayat Pendidikan

[2010 – 2014] : S1 Ilmu Komputer Universitas Sumatera Utara, Medan

[2006 – 2009] : SMA Plus Taruna Andalan

[2003 – 2006] : SMP Taruna Andalan

[1997 – 2003] : SD Taruna Andalan

------

Keahlian/Kursus Keahlian Komputer

Pemrograman : PHP, HTML

Database : MySQL, Microsoft Access Multimedia

Universitas Sumatera Utara

Perkantoran : Adobe Photoshop, Coreldraw, Adobe Illustrator

: Microsoft Office ------

Pengalaman Organisasi

[2007 - 2008] Pramuka

[2009 - 2010] Pengurus OSIS SMP Taruna Andalan

[2012 – 2013] Bendahara OSIS SMA Taruna Andalan

[2012 – 2013] Pengurus Pusat Informasi Konseling (PIK) Remaja

[2015 – 2016] Anggota Bidang Dana dan Usaha IMILKOM USU

------

Pengalaman Kepanitiaan [2014] Bendara Computer Science Anniversary (CSA) ke 13

[2014] Anggota Dana Acara Science Competition & Festival Budaya

Nusantara 2014

[2015] Anggota Acara Olimpiade USU 2015

[2015] Wakil Bendahara Science Competition & Festival Budaya Nusantara

2016

[2015] Anggota Konsumsi Ilkomp Goes to School (IGTS) IMILKOM 2015

[2012] Anggota Peralatan PMB IMILKOM 2012

[2016] Ketua Dana Penerimaan Mahasiswa Baru (PMB) IMILKOM 2016

[2017] Anggota Konsumsi Artechno 2017

------

Pengalaman Kerja

[2017] Program Magang di Badan Penyelenggara Jaminan Sosial (BPJS) Ketenagakerjaan Cab. Medan

Universitas Sumatera Utara

------

Seminar

[2014]Seminar Nasional Literasi Informasi (SENARAI) 2014.

[2015] Seminar Nasional “TECHNO PRENEURSHIP” dalam rangka menjadi

Technopreneur sukses di usia muda.

[2017] Seminar Nasional “Melalui Inovasi Teknologi untuk menciptakan

Mahasiswa Kreatif dan Mandiri”.

[2018] Seminar Nasional IT Fest 2018 “Applied Big Data in Goverment,

Banking, and E-Commerce”.

Universitas Sumatera Utara

Universitas Sumatera Utara