ABSTRAK Kebutuhan informasi secara cepat dan tepat sangat dibutuhkan dalam era globalisasi. Pencarian informasi hari baik atau sering disebut dengan dewasa ayu di Bali memang menjadi hal yang sangat diperlukan oleh masyarakat penganut Agama Hindu. Telekonsultasi merupakan suatu cara yang digunakan untuk mencari informasi yang biasa diterapkan pada bidang kedokteran. Metode ini dapat digunakan untuk mencari informasi dewasa ayu di Bali. Natural Language Processing merupakan suatu metode yang digunakan dalam pengolahan bahasa natural sehingga komputer dapat mengerti bahasa tersebut. Gabungan antara telekonsultasi dan Natural Language Processing menghadirkan suasana komunikasi interaktif dan efisien. Penggunaan telekonsultasi dengan menggunakan Metode Natural Language Processing akan menggantikan sistem yang menggunakan pencarian manual. Pencocokan dilakukan dengan memanfaatkan Fulltext Search Boolean Mode dari MySQL sehingga mendapatkan kata yang paling relevan. Telekonsultasi yang diimplementasikan mampu menanggapi pertanyaan dalam konteks pencarian tanggal dewasa ayu perkawinan, potong gigi dan membangun rumah. Telekonsultasi tentang dewasa ayu perkawinan mampu menampilkan seberapa baik hari baik perkawinan tersebut dan menampilkan tanggal yang dihindari dalam bulan tertentu. Kata kunci: dewasa ayu, telekonsultasi, Natural Language Processing, Fulltext Search Boolean Mode. viii
ABSTRACT The need for quick and precise information is reallu required in the era of globalization. The search for good day or so-called dewasa ayu is reallu important especially for Hindu s people. Teleconsultation is a method used to find information which commonly applied in the field of medicine. This method can be used to search for dewasa ayu information in Bali. Natural Language Processing is a method used in the processing of natural language so that computers can understand the language. The combination of teleconsultation and Natural Language Processing presents an interactive and efficient communication atmosphere. The use of teleconsultation using Natural Language Processing Method will replace a system that uses manual search. Matching is done by using Boolean Mode Fulltext from MySQL so that it can get the most relevant word. Implemented teleconsultation is able to respond to questions in the context of searching for marriage, potong gigi (a ceremony to neutralise someone's bad character) and house-building dewasa ayu dates. Teleconsultation on marriage dewasa ayu can show how good a good marriage day is and display the avoided date of the month. Keyword: dewasa ayu, teleconsultation, Natural Language Processing, Boolean Mode Fulltext. ix
DAFTAR ISI HALAMAN SAMPUL... i HALAMAN JUDUL... ii PERNYATAAN... iii LEMBAR PENGESAHAN TUGAS AKHIR... iv BERITA ACARA TUGAS AKHIR... v KATA PENGANTAR... vi ABSTRAK... viii ABSTRACK... ix DAFTAR ISI... x DAFTAR GAMBAR... xiii DAFTAR TABEL... xv DAFTAR KODE PROGRAM... xvii BAB I PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 3 1.3 Tujuan... 3 1.4 Manfaat Penelitian... 3 1.5 Batasan Masalah... 3 1.6 Sistematika Penulisan... 4 BAB II TINJAUAN PUSTAKA... 6 2.1 State of the Art... 6 2.2 Telekonsultasi... 10 2.3 Chatbot... 10 2.4 Struktur Morfologi Bahasa Indonesia... 11 2.5 Natural Language Processing... 13 2.5.1 Tokenisasi... 13 2.5.2 Stemming... 14 2.5.3 Filtering... 18 2.5.4 Pattern Matching... 18 2.5.5 Algoritma Brute Force String Matching... 19 2.5.6 Pattern-Matching MySQL... 20 2.6 Sentence Similarity Measurement... 21 x
2.7 Dewasa Ayu... 22 2.8 Basis Data... 28 2.9 MySQL Fulltext Search... 29 2.9.1 MySQL Fulltext Boolean Mode... 29 2.9.2 MySQL Fulltext Natural Language Mode... 34 2.9.3 Perbandingan Natural Language dan Boolean Mode Fulltext Search... 37 2.10 JSON... 42 BAB III METODOLOGI PENELITIAN... 44 2.1 Tempat dan Waktu Penelitian... 44 2.2 Alur Penelitian... 44 2.3 Data... 46 2.3.1 Sumber Data... 46 2.3.2 Jenis Data... 46 2.3.3 Metode Pengumpulan Data... 47 2.4 Instrumen Pembuatan Sistem... 47 2.5 Perancangan Sistem... 48 2.5.1 Gambaran Umum Sistem... 48 2.5.2 Diagram Konteks... 49 2.5.3 Standart Operational Procedure (SOP)... 49 2.5.4 Flowchart Sistem... 53 2.6 Perancangan Basis Data... 69 2.6.1 Normalisasi Data... 69 2.6.2 Struktur Data... 75 2.6.2 Physical Data Model (PDM)... 88 2.7 Perancangan Mockup Aplikasi... 89 BAB IV PENGUJIAN DAN ANALISA SISTEM... 92 4.1 Pembuatan Sistem... 92 4.2 Pengujian Fitur dan Implementasi Aplikasi... 92 4.2.1 Uji Coba Tampilan Pembuka... 92 4.2.2 Uji Coba Percakapan Pembuka... 96 4.2.3 Uji Coba Telekonsultasi Dewasa ayu... 97 4.3 Pengujian Metode... 107 4.4 Pengujian Tanggapan Telekonsultasi... 109 4.5 Keterbatasan Sistem... 118 BAB V PENUTUP... 120 5.1 Simpulan... 120 5.2 Saran... 120 DAFTAR PUSTAKA... 122 xi
LAMPIRAN... 125 xii
DAFTAR GAMBAR Gambar 2.1 Proses Matching Algoritma Brute... 19 Gambar 2.2 Proses Karakter Pada Algoritma Brute... 19 Gambar 2.3 Hasil Matching dengan Operator LIKE... 21 Gambar 2.4 Isi Data tb_articles... 33 Gambar 2.5 Hasil Sintaks Boolean Mode... 33 Gambar 2.6 Nilai Relevansi Boolean Mode... 34 Gambar 2.7 Hasil Sintaks Boolean dengan Relevansi Pada MySQL... 35 Gambar 2.8 Hasil Sintaks Natural Language dengan Relevansi pada MySQL... 36 Gambar 2.9 Hasil Sintaks Natural Language dengan Relevansi pada MySQL... 36 Gambar 2.10 Operator Boolean Mode... 37 Gambar 2.11 Operator Natural Language Mode... 38 Gambar 2.12 Hasil Pencarian Boolean Mode... 38 Gambar 2.13 Hasil Pencarian Natural Language Mode... 40 Gambar 3.1 Bagan Urutan Langkah Penelitian... 45 Gambar 3.2 Gambaran Umum Sistem... 48 Gambar 3.3 Diagram Konteks Aplikasi... 49 Gambar 3.4 SOP Login... 50 Gambar 3.5 SOP Signup... 51 Gambar 3.6 SOP Telekonsultasi... 52 Gambar 3.7 Alur Proses Keseluruhan... 53 Gambar 3.8 Alur Proses Text Processing... 54 Gambar 3.9 Alur Hapus Tanda Baca... 55 Gambar 3.10 Alur Proses Filtering... 56 Gambar 3.11 Alur Proses Stemming... 57 Gambar 3.12 Alur Proses Cek Ketersediaan... 60 Gambar 3.13 Tampilan Tabel tb_textprocessing... 62 Gambar 3.14 Tampilan hasil data pada tb_textprocessing... 62 Gambar 3. 15 Hasil Matching Langsung... 63 Gambar 3.16 Template Pattern... 64 Gambar 3.17 Alur Proses Create Tanggapan... 65 Gambar 3.18 Hasil Tanggapan Sesuai Fakta... 66 Gambar 3.19 Alur Pembuatan Tanggapan Dewasa Ayu... 67 Gambar 3.20 Tanggapan dengan Fakta Lengkap... 68 Gambar 3.21 Normalisasi tb_textprocessing... 70 Gambar 3.22 Tabel Normal tb_inbox dan tb_outbox... 71 Gambar 3.23 Tabel Normal tb_patterntemplate... 72 Gambar 3.24 Tabel Normal tb_katadasar... 72 Gambar 3.25 Tabel Normal tb_stopword... 73 Gambar 3.26 Tabel Normal tb_awalan... 73 Gambar 3.27 Tabel Normal tb_akhiran... 73 xiii
Gambar 3.28 Tabel Normal tb_saptawara... 74 Gambar 3.29 Tabel Normal tb_sasih... 74 Gambar 3.30 Tabel Normal tb_penanggal... 75 Gambar 3.31 Tabel Normal tb_ketkawin... 75 Gambar 3.32 Rancangan Database Aplikasi... 89 Gambar 3.33 Mockup Aplikasi... 90 Gambar 3.34 Mockup Login... 90 Gambar 3.35 Mockup ChatRoom... 91 Gambar 4.1 Halaman Splashscreen... 92 Gambar 4.2 Peringatan Cek Koneksi Internet... 93 Gambar 4.3 Halaman Login... 93 Gambar 4.4 Halaman Signup... 94 Gambar 4.5 Peringatan Data belum Lengkap... 95 Gambar 4.6 Peringatan Password tidak Sama... 95 Gambar 4.7 Percakapan Pembuka... 96 Gambar 4.8 Uji Coba Parameter Lengkap... 97 Gambar 4.9 Tanggapan Tidak Ada Dewasa ayu... 98 Gambar 4.10 Tampilan Tanggapan Parameter Nama Dewasa ayu... 99 Gambar 4.11 Tampilan Tanggapan Parameter Nama Bulan... 100 Gambar 4.12 Tampilan Tanggapan Parameter Tahun... 101 Gambar 4.13 Tampilan Tanggapan Parameter Dewasa ayu dan Bulan... 102 Gambar 4.14 Tampilan Tanggapan Parameter Dewasa ayu dan Tahun... 103 Gambar 4.15 Tampilan Tanggapan Parameter Bulan dan Tahun... 104 Gambar 4.16 Tampilan Tanggapan Kata tidak Bermakna... 105 Gambar 4.17 Tampilan Tanggapan Menanyakan Dua Dewasa ayu... 106 Gambar 4.18 Tanggapan Hari Baik Perkawinan... 107 Gambar 4.19 Memasukkan Pertanyaan Urutan Kata Acak... 118 xiv
DAFTAR TABEL Tabel 2.1 Penelitian Terdahulu yang Terkait... 8 Tabel 2.2 Pembentukan konfiks yang tidak diperbolehkan... 12 Tabel 2.3 Stemming dengan Menghapus Akhiran... 14 Tabel 2.4 Stemming dengan Menghapus Awalan... 15 Tabel 2.5 Kombinasi Awalan Akhiran yang tidak Diijinkan... 17 Tabel 2.6 Cara Menentukan Tipe Awalan untuk Kata yang Diawali te-... 17 Tabel 2.7 Contoh Bigram... 21 Tabel 2.8 Contoh Data untuk Perhitungan Bigram... 22 Tabel 2.9 Data Dewasa Ayu... 23 Tabel 2.10 Keterangan Saptawara... 25 Tabel 2.11 Keterangan Sasih... 26 Tabel 2.12 Keterangan Penanggal... 26 Tabel 2.13 Data Hari yang Dilarang... 27 Tabel 2.14 Operator pada Boolean Mode... 31 Tabel 2.15 TF IDF Data ID 7 dan 6... 39 Tabel 2.16 Nilai Relevansi Data ID 7 dan 6... 39 Tabel 2.17 Keterangan Variabel pada Persamaan... 41 Tabel 2.18 Perhitungan data ID 7... 41 Tabel 2.19 Perhitungan data ID 6... 42 Tabel 3.1 Penerapan Hapus Tanda Baca... 56 Tabel 3.2 Tokenisasi... 58 Tabel 3.3 Proses Filtering... 58 Tabel 3.4 Proses Stemming... 59 Tabel 3.5 Hasil Pengecekan Setiap Kata pada Kalimat Proses Text Processing.. 61 Tabel 3.6 Matching dengan Pattern... 63 Tabel 3.7 Hasil Kombinasi Hari Baik Perkawinan... 68 Tabel 3.8 Rentangan Nilai Keterangan Hari Baik Perkawinan... 69 Tabel 3.9 Struktur Tabel Kata Dasar... 75 Tabel 3.10 Struktur Tabel Stopword... 76 Tabel 3.11 Struktur Tabel Awalan... 77 Tabel 3.12 Struktur Tabel Akhiran... 77 Tabel 3.13 Struktur Tabel Dewasa Ayu... 78 Tabel 3.14 Struktur Tabel Outbox... 79 Tabel 3.15 Struktur Tabel Inbox... 80 Tabel 3.16 Struktur Tabel Bulan... 80 Tabel 3.17 Struktur Tabel Tahun... 81 Tabel 3.18 Struktur Tabel Text Proccessing... 82 Tabel 3.19 Struktur Tabel Pattern Basa Basi... 83 Tabel 3.20 Struktur Tabel Template Basa Basi... 83 Tabel 3.21 Struktur Tabel Pattern Template... 84 Tabel 3.22 Tabel tb_users... 85 xv
Tabel 3.23 Tabel tb_saptawara... 85 Tabel 3.24 Tabel tb_sasih... 86 Tabel 3.25 Tabel tb_penanggal... 87 Tabel 3.26 Tabel tb_ketkawin... 87 Tabel 4.1 Perbandingan Stemming... 108 Tabel 4.2 Pengujian Percakapan... 110 xvi
DAFTAR KODE PROGRAM Kode Program 2.1 Contoh Penggunaan LIKE... 20 Kode Program 2.2 Sintaks Pembuatan Tabel... 32 Kode Program 2.3 Sintaks Dasar Boolean Mode Fulltext... 33 Kode Program 2.4 Sintaks Dasar Natural Language Mode Fulltext... 35 Kode Program 2.5 Sintaks Dasar Natural Language Mode Fulltext... 35 Kode Program 2.6 Sintaks Modifikasi Natural Language Mode Fulltext... 36 xvii
BAB I PENDAHULUAN 1.1 Latar Belakang Bali merupakan salah satu provinsi di Indonesia yang memiliki budaya, tradisi dan keunikan tersendiri. Tradisi yang ada di Pulau Bali beberapa diantaranya yaitu Ngerebong dari Kota Denpasar, Mekotek, Perang Tipat dari Kabupaten Badung, Okokan dari Kabupaten Tabanan, Makepung dari Kabupaten Jembrana, Ngedeblag dari Kabupaten Gianyar, Megibung, Tertekan, Gebug Ende dari Kabupaten Karangasem dan Ngocang, Bukakak dari Kabupaten Buleleng (Putu, Sanjaya, Purnawan, Kadek, & Rusjayanthi, 2016). Bali memiliki pedoman dalam melaksanakan suatu aktifitas. Pedoman pelaksanaan kegiatan biasanya dilakukan dengan memperhitungkan hari baik yang kemudian disebut dewasa ayu. Dewasa ayu digunakan sebagai acuan dalam melakukan berbagai hal seperti penentuan piodalan di suatu pura, perjodohan melalui hari lahir penentuan hari baik untuk berbagai macam kegiatan dan dalam melaksanakan Yadya. Yadnya adalah persembahan suci yang dilakukan dengan hati yang tulus bagi pencipta alam semesta atau Ida Sang Hyang Widhi Wasa (Oka Sudana, Sujana, Kadek, & Rusjayanthi, 2017). Penentuan hari baik ini biasanya terdapat pada sebuah Kalender Saka Bali. Kalender Saka Bali memiliki perhitugannya sendiri yang didasari oleh Tahun Caka. Kalender ini mulai dikenal pada jaman 78 Masehi di India, namun Kalender Caka yang digunakan di Indonesia telah dimodifikasi oleh suku Jawa dan Bali dengan menambahkan unsur-unsur lokal dan masih dipakai sampai saat ini oleh sebagian besar penganut agama Hindu (Pradnyani, 2014). Seiring berjalannya waktu, penggunaan kalender dirasakan kurang menghadirkan suasana interaktif. Penggunaan kalender juga dirasa kurang praktis dalam pemakaian. Permasalahan ini menunjukkan perlu adanya suatu aplikasi yang mampu mengadopsi algoritma dalam penentuan hari baik atau dewasa ayu, upacara 1
2 agama dengan cepat dan dilakukan dengan cara lebih menarik dan efisien. Penyedia layanan pencarian informasi dewasa ayu dapat dilihat pada situs kalenderbali.org. Situs kalenderbali.org menyediakan fitur untuk memperoleh informasi tentang dewasa ayu. Proses pencarian dewasa ayu yang dilakukan masih menggunakan cara filter biasa melalui menu dan tombol yang disediakan. Pencarian yang dimaksud yaitu pencarian dengan memanfaatkan menu yang tersedia. Kebutuhan saat ini yaitu diperlukan suatu media yang lebih nyaman dalam mencari informasi dan dapat diakses dimana saja. Telekonsultasi dan penggunaan Natural Language Processing dapat diterapakan untuk memudahkan dalam menikmati suatu aplikasi. Telekonsultasi (Vladzymyrskyy 2004) merupakan suatu istilah yang digunakan dalam dunia kedokteran, yaitu berkonsultasi dengan ahlinya. Percakapan akan terjadi antara seseorang dengan ahlinya. Metode ini sering digunakan dan sukses dalam penerapannya untuk membantu permasalahan jarak komunikasi. Telekonsultasi dalam suatu aplikasi dapat diimplementasikan dengan memadukannya dengan Metode Natural Language Processing. Natural Language Processing merupakan suatu metode yang digunakan untuk pengolahan bahasa natural sehingga dapat dimengerti oleh komputer. Natural Language Processing akan bermanfaat untuk telekonsultasi yang akan direncanakan dalam dewasa ayu. Penerapan tersebut akan menghasilkan efisiensi dan kemudahan dalam proses pencarian informasi dewasa ayu. Telekonsultasi dewasa ayu dengan menggunakan bahasa natural akan mengubah cara menemukan dewasa ayu yang biasanya dilakukan secara manual. Telekonsultasi dilakukan dengan menggunakan Bahasa Indonesia. Pencarian manual yang dimaksud yaitu pencarian harus dilakukan dengan ketentuan sesuai aplikasi atau melalui kalender. Telekonsultasi ini akan menghadirkan suasana baru yang lebih menarik dan tetap berpedoman kepada perhitungan ahli dewasa ayu. Aplikasi yang akan dibangun menghadirkan suatu solusi dalam mendapatkan informasi lebih cepat dan praktis seperti melakukan konsultasi dengan ahlinya. Berdasarkan hal tersebut penulis berusaha membuat tugas akhir dengan judul: Telekonsultasi Dewasa Ayu Berbasis Android.
3 1.2 Rumusan Masalah Berdasarkan latar belakang di atas, terdapat beberapa rumusan masalah sebagai berikut. 1. Bagaimana cara merancang dan membuat Telekonsultasi Dewasa Ayu dalam aplikasi berbasis Android. 2. Bagaimana efektivitas Telekonsultasi Dewasa Ayu Berbasis Android sebagai sarana sumber informasi interaktif dalam menemukan tanggal dewasa ayu. 1.3 Tujuan Tujuan yang diharapkan dicapai dalam perancangan dan pembangunan Telekonsultasi Dewasa Ayu Berbasis Android ini adalah sebagai berikut: 1. Merancang dan membangun Telekonsultasi Dewasa Ayu pada platform Android. 2. Memberikan informasi yang dilakukan dengan cepat dan efisien, serta dapat diakses dimana saja. 1.4 Manfaat Penelitian Manfaat yang diharapkan dicapai dalam perancangan dan pembangunan Telekonsultasi Dewasa Ayu Berbasis Android ini adalah sebagai berikut: 1. Mendapatkan Informasi tentang proses pembuatan aplikasi Telekonsultasi Dewasa Ayu Berbasis Android. 2. Membangun aplikasi yang mampu memberikan informasi secara cepat dan efisien. 1.5 Batasan Masalah Ruang lingkup dan batasan masalah dalam penelitian ini antara lain sebagai berikut: 1. Aplikasi Telekonsultasi Dewasa Ayu ini menggunakan koneksi internet (online). 2. Perancangan aplikasi menggunakan Android Studio dan MySQL.
4 3. Bahasa Pemrograman yang digunakan yaitu PLSQL, pemrograman mobile Android dan PHP. 4. Database yang digunakan MySQL. 5. Aplikasi yang dirancang tidak termasuk perhitungan dewasa ayu. 6. Bahasa yang digunakan untuk memasukkan pertanyaan yaitu Bahasa Indonesia. 7. Dewasa Ayu yang dijadikan basis pengetahuan yaitu mengenai perkawinan, membangun rumah dan potong gigi. 1.6 Sistematika Penulisan Sistematika penulisan merupakan bagian yang menjelaskan gambaran pembuatan laporan dari semua dasar teori dan metode yang digunakan serta hasilhasil yang diperoleh selama pengerjaan Tugas Akhir. Laporan Tugas Akhir ini terbagi menjadi lima bab sebagai berikut: BAB I : Pendahuluan Bagian ini berisikan ide yang menjadi dasar dari pembuatan Telekonsultasi Dewasa Ayu Berbasis Android, meliputi latar belakang, rumusan masalah, batasan masalah, tujuan, manfaat dan sistematika penulisan. BAB II : Tinjauan Pustaka Bagian ini berisikan teori-teori penunjang yang dijadikan sebagai acuan dalam pembuatan Telekonsultasi Dewasa Ayu Berbasis Android, meliputi pemrograman Android, MySQL dan proses didalamnya. BAB III : Metode dan Perancangan Sistem Bagian ini berisikan metode yang digunakan selama melakukan penelitian dan penulisan laporan penelitian ini, meliputi tempat dan waktu penelitian, alur penelitian, permodelan sistem, perancangan sistem, pengembangan aplikasi dan jadwal kegiatan. BAB IV : Pengujian dan Analisis Hasil
5 BAB V Bagian ini berisikan aplikasi dan rancangan aplikasi yang telah dibuat, pengujian yang telah dilakukan serta hasil pengujian aplikasi. : Penutup Bab penutup berisi kesimpulan yang mengacu pada rumusan masalah dan tujuan dalam penelitian serta saran untuk pengembangan aplikasi selanjutnya.