## Implementasi Algoritma Approximate Pada Aplikasi Paritta Suci Pada Kitab Tripitaka Berbasis Android
Mei Indah Trinanci Siahaan
Program Studi Teknik Informatika, STMIK Budi Darma, Medan, Indonesia Jalan Sisingamangaraja No. 338 Medan, Indonesia

## Abstrak
Kata  Paritta  dalam  bahasa  Paliatau  Pirit,  secara  literal  berarti“penuh  perlindungan”.  Buddha  dalam  berbagai  kesempatan dengan bahasa paliyang suci merangkai Paritta atau Pirit, pastilah terdapat salah pengertian yang menyamakan Paritta sebagai tuah  yang  misterius atau  mantra, tetapi sebenarnya terdapat penganjuran asli  yang  etis dan  mengandung nilai filosofis dari ajaran Buddha, yang berkaitan dengan aspek-aspek Dhamma.. Dan kitab Tripitaka adalah kitab suci budha  yang merupakan kumpulan khotbah, keterangan, perumpamaan, dan percakapan yang pernah dilakukan sang Buddha dengan para siswa dan pengikutnya. Demikian halnya dengan Paritta Suci bagian dari Kitab Tripitaka yang  sangat diperlukan dalam pencarian ayat dari  kata  Paritta  Suci  tersebut.  Sehingga  mempermudah  para  pengguna  dalam  Membaca  dari  kitab  tersebut.    Untuk  itu dibutuhkan suatu aplikasi yang dapat membantu pengguna dalam menterjemahkan suatu bahasa yang mudah dibawa dan dapat digunakan kapan dan dimana pun. Aplikasi tersebut berupa aplikasi android yang dapat dipasang pada handphone. Aplikasi kitab  tripitaka  memerlukan  proses  pencarian  yang  mendukung  kinerja  aplikasi  tersebut  sehingga  proses  pencarian  dapat mempersingkat  waktu  dalam  pencarian  itu  sendiri.  Pada  penelitian  ini  Algoritma  Approximate  Levensthein  Distance merupakan algoritma  yang  dapat digunakan untuk  melakukan perhitungan beda  jarak antara dua string. Jarakatau distance adalah jumlah minimum dari operasi hapus, insert atau subsitusi yang dibutuhkan untuk merubah string asal (s) menjadi string target  (t).  Dan  Algoritma  Approximate  string  matching  merupakan  pencocokan  string  dengan  dasar  kemiripan  dari  segi penulisannya  (jumlah  karakter,  susunan  karakter  dalam  dokumen).  Sehingga  dapat  membantu  pengguna  aplikasi  tersebut dalam mencari kata dari kitab tersebut.
Kata Kunci :Paritta Suci, Kitab Tripitaka, Levensthein Algoritma, Approximate string matching dan Android .

## Abstract
The word Paritta in Paliatau Pirit, literally means "full of protection". Buddhas on various occasions with the holy pali language compose Paritta or Pirit, there must be a misunderstanding that equates Paritta as a mysterious blessing or mantra, but actually there are genuine advocates that are ethical and contain philosophical values from Buddhism, which are related to aspects of the  Dhamma.  And  the  Tripitaka  is  a  Buddhist  scripture  which  is  a  collection  of  sermons,  statements,  parables,  and conversations that the Buddha had done with his students and followers. Likewise with the Paritta Suci part of the Book of Tripitaka which is very necessary in the search for verses from the word Paritta Suci. Making it easier for users to read from the book. For that we need an application that can help users in translating a language that is easy to carry  and can be used anytime and anywhere. The application is in the form of an android application that can be installed on a mobile phone. The book Tripitaka application requires a search process that supports the performance of the application so that the search process can shorten the time in the search itself. In this study Approximate Levensthein Distance Algorithm is an algorithm that can be used to calculate distance differences between two strings. Distance or distance is the minimum number of delete operations, insert or substitution needed to change the origin string (s) to the target string (t). And Algorithm Approximate string matching is matching strings  with the basis of similarity in terms of  writing (number of  characters, arrangement of  characters in the document). So that it can help users of the application in searching for words from the book.
Keywords : Holy Paritta, Book of Tripitaka, Levensthein Algorithm, Approximate string matching and Android.

## 1. PENDAHULUAN
Kitab Tripitaka/tipitaka atau “Tiga Keranjang” terdiri dari vinaya pitaka (Kumpulan Disiplin Vihara), sutra pitaka (Kumpulan Ceramah/Dialog), dan abhidharma pitaka (Kumpulan Doktrin), dimana merupakan kitab suci yang di pakai dalam agama Budha, dapat di temukan dalam bahasa Pali dan bahasa Sanskerta. Perbedaan bahasa dalam kitab suci yang di pakai tersebut, akhirnya menjadi ciri khas masing-masing aliran yang ada dalam Buddhisme. Selain  yang  berbahasa pali (Tipitaka), ada juga kitab agama budha  yang  menggunakan bahasa sanskerta, yaitu yang disebut Tripitaka. Namun banyak orang yang terkadang tidak mengerti arti dari kata-kata yang terkandung di dalam kitab Tripitaka karena Tripitaka menggunakan bahasa sanskerta atau pali. Karena tripitaka susah untuk dimengerti oleh umat budha yang ada di Indonesia. Kata Paritta tidak asing lagi bagi umat Buddha, yang selalu diucapkan  setiap  kebaktian  bahkan  ketika  dirumah  atau  dikantor  dan  dimana  saja.  Mudah  bagi  kita  untuk menghafalkan Paritta tetapi dalam kontek sini bahwa Paritta sesungguhnya harus dimengerti dan diterapkan dalam arti yang sebenarnya. Kata Paritta dalam bahasa Pali atau Pirit, secara literal berarti “penuh perlindungan”. Buddha dalam  berbagai kesempatan dengan  bahasa pali  yang suci  merangkai Paritta atau  Pirit, pastilah terdapat salah pengertian  yang  menyamakan  Paritta  sebagai  tuah  yang  misterius  atau  mantra,  tetapi  sebenarnya  terdapat penganjuran asli yang etis dan mengandung nilai filosofis dari ajaran Buddha, yang berkaitan dengan aspek-aspek Dhamma.
Membaca paritta suci terkadang merupakan hal yang menjemukan bagi  anak-anak ataupun orang dewasa Karena parittasuci  menggunakan  bahasa  pali    yang  mungkin  agak  susah  dalam  pelafalannya.  Selain  pembelajaran membaca  perlua  dan  ya  mengenai  pembelajaran  mengenai  mendengarkan  yang  merupakan  suatu  proses memahami dan mengingat dengan sebaik-baiknya apa yang didengar. Parittasuci merupakan sabda-sabda Sang Buddha  yang  berfungsi  sebagai    dharma  yang    juga  merupakan    doa  pemujaan    dalam  agama  Buddha  yang dipanjatkan    ketika  menjalankan  kebaktian.  Paritta  suci  ini  menggunakan  bahasa  pali  beserta  terjemahannya. penulis berniat membuat suatu program aplikasi yang dapat memudahkan siapa saja untuk membaca paritta suci. Algoritma  ini  digunakan  dalam  pencarian  string  dengan  pendekatan  perkiraan(Approximate  string  matching). Dengan  pendekatan  perkiraan  ini,  pencarian  string target  menjadi  tidak  harus  sama  persis  dengan  yang  ada  di dalam  string  sumber.  Tentu  saja  pendekatan  tersebut  menjadi  bahan  analisis  untuk  pengaplikasiannya  dalam aplikasi  yang  nyata,  seperti  untuk  mesin  pencari,  pengecek  ejaan,  pendektesian  suatu  rantai  dalam  DNA, pendektesian  pemalsuan,  dan  lain-lain.  Tentu  saja  penulis  bermaksud  untuk  memperoleh  informasi  yang mengandung  kedua  kata  meskipun  penulis  hanya  mengetik  “rate”.  Bahkan,  penulis  dapat  saja  salah mengetikkannya seperti “rate”. Oleh karena itu, diperlukanlah suatu metode pendekatan pencariaan string yang dapat  memenuhi  keinginan  tersebut.Untuk  melakukan  pencarian  kemungkinan  kata  yang  diinginkan  tersebut, diperlukanlah  suatu  pendekatan  pencarian  string   khusus.  Dalam  pencarian  string    biasa,  yaitu  pencarian  yang eksak, terdapat berbagai algoritma  yang sangat dikenal seperti Knuth Morris Pratt, Boyer Moore, Rabin Karp, dan  lain-lain.  Sedangkan  pencarian  string  khusus  itu  adalah  yaitu  dengan  pendekatan  perkiraan  (Approximate String Matching). Dalam pendekatan tersebut, ada tiga macam operasi yang digunakan untuk mentransformasikan suatu  string  menjadi  string    yang  lain.  Operasi  tersebut  antara  lain  operasi  penghapusan,  penyisipan,  dan penggantian.  Operasi-operasi  ini  digunakan  untuk  menghitung  jumlah  perbedaan  yang  perlukaan  untuk pertimbangan kecocokan suatu string dengan string sumber[1] .

## 2. LANDASAN TEORI

## 2.1 Kitab Tripitaka
Agama  Buddha  di  Indonesia  secara  bertahap  Theravada,  Mahayana dan Vajrayana dalam perkembangannya telah  tumbuh  kembali  di  bumi  nusantara.  Oleh  karena  itu  Sangha  Agung  Indonesia  sebagai  maha  sangha  dari ketiga  aliran  tersebut  telah  menetapkan  bahwa  kitab  suci  yang  dijadikan  pegangan  Agama  Buddha  Indonesia adalah Tripitaka yang terdiri dari :
1. Pali Pitaka atau keranjang yang berisi Tripitaka yang bahasa pertamanya Pali ( Tipitaka Pali ). Selama berabad- abad  ajaran  Buddha  pada  awal  masa  lalu  tetap  dijaga  keberadaannya  dan  dituturkan  kembali  kepada  umat Buddha oleh Sangha ,  yaitu komunitas rahib-rahib (biarawan-biarawati) Buddha.  Ajaran-ajaran  ini  ditulis dalam  bahasa  Pali  di  atas  manuskrip daun palma di Sri Langka. Buddha sendiri tentunya berbahasa dengan dialek pali. Kitab suci ini dikenal sebagai Pali Cammon. Kitab suci ini kemudian  dibagi  menjadi  tiga  bagian yang  disebut  sebagai Tipitaka (tiga bakul): a. Viyana Pitaka , berbicara mengenai Sangha b. Sutta  Pitaka ,  terdiri  dari  bermacam-macam  ceramah  yang  diberikan  oleh Buddha. c. Abbimdhamma Pitaka , berisi analisis ajaran Buddha [4].
2.    Sanskerta  Pitaka  atau  keranjang  yang  berisi  Tripitaka  dan  kitab-kitab  suci  agama  Buddha  yang  bahasa pertamanya Sanskerta. Pitaka ini sekarang lebih   dikenal   dalam   bentuk   Mahapitaka   (Mandarin)   atau Kaghyur (Tibet) [5]. Kitab  Suci  Mahayana  pada  masa-masa  awalnya  ditulis  dalam bahasa Sanskerta, yaitu bahasa  India  pertama.  Kebanyakan  isinya  dapat  dijumpai  dengan    penambahan    kitab-kitab    lainnya. Dinyatakan    bahwa  kitab-kitab  tambahan  itu  sebagai  “sabda  Buddha”.  Salah  satu  diantaranya  yang  paling terkenal adalah Vimalakirti Sutra , yang berisi tentang seseorang yang berumah tangga tetapi hidupnya lebih suci daripada semua Bodhisattva .
3.    Kawi  Pitaka,  atau  keranjang  Kawi  yang  berisi  kitab-kitab  suci  agama  Buddha  peninggalan  nenek  moyang bangsa Indonesia sendiri yang ditulis dalam bahasa Kawi (Jawa Kuno) [6].
2.2 Algoritma Approximate String Matching
Algoritma  Approximate (Perkiraan  pencocokan string )  adalah masalah  dalam  ilmu  komputer  yang  diterapkan dalam pencarian teks, pengenalan pola dan aplikasi pemrosesan sinyal. Untuk teks T [1..n] dan pola P [1 ... m], kita diharapkan menemukan semua kemunculan pola pada teks yang jarak editnya paling banyak adalah K. Jarak edit antara dua senar didefinisikan sebagai  jumlah minimal penyisipan karakter, penghapusan dan penggantian yang diperlukan untuk membuatnya sama [8].
Inexact  string  matching atau Fuzzy  string matching , merupakan pencocokan string secara samar,   maksudnya pencocokan string dimana string yang  dicocokkan    memiliki    kemiripan  dimana      keduanya      memiliki susunan      karakter  yang  berbeda  (mungkin  jumlah  atau  urutannya)  tetapi string - string tersebut    memiliki
kemiripan baik kemiripan  tekstual/penulisan  ( approximate string matching )  atau kemiripan ucapan ( phonetic string matching ). Inexact  string matching masih  dapat  dibagi  lagi  menjadi   dua yaitu [10] : 1 . Pencocokan string berdasarkan  kemiripan  penulisan  ( approximate  string  matching )  merupakan pencocokan string dengan dasar kemiripan dari segi penulisannya (jumlah karakter, susunan karakter dalam dokumen).  Tingkat  kemiripan  ditentukan  dengan  jauh  tidaknya  beda  penulisan  dua  buah string yang dibandingkan  tersebut dan nilai tingkat kemiripan  ini ditentukan  oleh pemrogram ( programmer ). Contoh: c mpuler dengan compiler ,    memiliki    jumlah   karakter    yang sama   tetapi   ada  dua  karakter yang  berbeda. Jika  perbedaan   dua  karakter  ini  dapat ditoleransi  sebagai  sebuah  kesalahan penulisan maka dua string tersebut dikatakan cocok.
2. Pencocokan string berdasarkan  kemiripan  ucapan  ( phonetic  string  matching )  merupakan  pencocokan string dengan dasar kemiripan dari segi pengucapannya  meskipun ada perbedaan penulisan dua string yang dibandingkan tersebut.   Contoh : step dengan steb dari tulisan berbeda tetapi dalam pengucapannya  mirip sehingga dua string tersebut dianggap cocok. Contoh yang lain adalah step ,   dengan steppe , sttep , stepp, stepe .
Langkah-langkah yang  dilakukan  algoritma Approximate string matching pada saat mencocokan string adalah Mencari tempat dimana P cocok dengan huruf T sampai jumlah tertentu ketidakcocokan atau suntingan  masing- masing tempat tersebut merupakan perkiraan pertandingan [11] .

## 3. ANALISA DAN PEMBAHASAN
Analisa  masalah  merupakah  tahapan  awal  dari  analisa  sistem.  Langkah  ini  diperlukan  untuk  mengetahui permasalahan apa saja  yang terjadi pada sistem  yang telah berjalan.Permasalahan  yang terjadi pada kehidupan sehari-hari  dalam  menggunakan  kitab  Paritta  Suci  adalah  kesulitan  dalam  melakukan  pencarian  terhadap terjemahan kitab Paritta Suci. Sehingga untuk melakukan pencarian dilakukan secara manual dengan membuka tiap lembaran kitab. Hal ini membutuhkan waktu yang sangat lama.  Untuk mengatasi hal tersebut maka penulis merancang sebuah aplikasi  Kitab Tripitaka berbasis android dengan  menerapkan algoritma Approximate , yaitu algoritma pencarian string untuk mencari kata yang diinginkan pada aplikasi. Sehingga pengguna dapat mencari kata pada kitab Paritta Suci berbasis android.
Algoritma Approximate adalah algoritma untuk melakukan pencarian string  matching. Penerapan algoritma  ini pada  aplikasi  Paritta  Suci  berbasis  android  dilakukan  pada  pencarian  kata  yang  dicari.  Algoritma Approximatestring  matching merupakan algoritma pencarian string khusus  itu adalah  yaitu dengan pendekatan perkiraan. Proses  pencarian  pada  aplikasi  kitab  Tripitaka  yang  akan  dibangun,  misalkan  dilakukan  pencarian dengan  kata  kunci  : KUDAKA. Kata  tersebut  tidak  ditemukan  pada  aplikasi.  Pada  kondisi  ini  sistem  akan menganggap telah terjadi kesalahan dalam proses pengejaan kata kunci sehingga sistem memberikan saran kata kunci: KHUDDAKA .  Prosesnya dapat dijelaskan sebagai berikut: Kata Kunci : KUDAKA Langakah 1: Kata kunci = KUDAKA , dipecah ke dalam array sehingga: Array ([0]=> KUDAKA) Langakah 2:
Untuk  setiap  isi  array  lakukan  pencarian  pada  table  isi_kitab.  Apabila  pencarianbernilai false maka  lakukan prosessaranKata.  Pada  kondisi  ini  kata  KUDAKA  bernilai false sehingga  proses  saranKataakan  dilakukan terhadap kata KUDAKA Langkah 3:
Filter  semua  kata  pada  tabel  isi_kitab  yang  memiliki  panjang  karakter  (P)  antaraPkatakunci-3  sampai Pkatakunci+3. Sehinggauntuk kata khuddaka dengan panjang 6 maka kata-kata yang terpilih adalah yang memiliki panjang antara 3-9.
Langkah 4 : Untuk  setiap  kata  terfilter  dari  tabel  isi_kitab  lakukan  penghitungan  jarakterhadap  kata  KUDAKA  dengan metode Levenshtein Distance .
Misalkan kata dari tabel isi_kitab yang akan dibandingkan adalah KHUDDAKA (panjang karakter = 8).
Tabel 1. Menghitung nilai jarak untuk kata KUDAKA K  H  U  D  D  A  K  A
0  1 2 3 4 5 6 7 8 K  1  0 1 2 3 4 5 6 7 U  2  1 1 1 2 3 4 5 6
D  3  2 2 2 1 2 3 4 5
A  4  3 3 3 2 2 2 3 4 K  5  4 4 4 3 3 3 2 3 A  6  5 5 5 4 4 4 1 2
Dari perhitungan yang dilakukan melalui Tabel 3.1diperoleh nilai jarak untuk setiap kata yangdibandingkan yaitu LD(KUDAKA, KHUDDAKA) = 2.
Dari  proses  pencarian  di  atas,  dapat  disimpulkan  bahwa  pencarian  kada  KUDAKA,  akan  menghasilkan  saran menjadi  kata  KHUDDAKA.  Karena  kata  KUDAKA  tidak  ada  pada  isi  kitab  sehingga  sistem  mencari  kata pembanding  melalui  proses  pencarian  dengan  metode Levenshtein  Distance maka  kata  yang  dihasilkan  adalah KHUDDAKA.

## 4.  IMPLEMENTASI
Tampilan program merupakan interface antara user dengan aplikasi kitab paritta suci yang telah dibuat. Tampilan program kitab paritta suci terdiri dari 4 (tiga) tampilan yaitu tampilan menu utama, tampilan pencarian, tampilan hasil pencarian, dan tampilan tentang penulis.
1. Menu Utama Menu  utama  pada  aplikasi  kitab  paritta  suci  yang  telah  dibuat    berfungi  untuk  memberi user kesempatan memilih menu pencarian, menu tentang penulis, ataupun Exit . Berikut tampilan menu utama dari kitab paritta suci :
Gambar 1. Menu Utama
2. Tampilan Pencarian
Tampilan Pencarian adalah tampilan atau halaman yang berfungsi untuk melakukan pencarian ayat pada kitab paritta suci . Berikut tampilan pencarian pada kitab paritta suci :

## 3. Tampilan Hasil Pencarian
Tampilan hasil pencarian merupakan tampilan yang disediakan untuk menampilkan isi dari ayat yang dicari. Berikut gambar untuk tampilan hasil pencarian :
Gambar 3. Tampilan Hasil Pencarian

## 5. KESIMPULAN
Berdasarkan  hasil  akhir  penyelesaian  masalah  pada  penelitian  ini  maka  penulis  menarik  kesimpulan,  dimana kesimpulan  tersebut  nanti  dapat  kiranya  dapat  berguna  bagi  pembaca,  sehingga  penulisan  penelitian  ini  dapat bermanfaat. Adapun kesimpulan yang penulis maksud adalah sebagai berikut :
1.  Penerapan algoritma approximate string  matching dapat mempercepat proses pencocokan string pada kitab paritta suci.
2.  Penerapan  algoritma  approximate  string  matching  yang  digunakan  pada  aplikasi  kitab  paritta  suci  dapat membantu user untuk mencari ayat pada aplikasi kitab paritta suci.
3.  Hasil penerapan algoritma approximate string matching pada aplikasi kitab paritta suci dapat mempermudah user untuk memahami ayat kitab paritta suci.

## REFERENCES
[1] S.  Ipnuwati,  "PERANCANGAN  SISTEM  INFORMASI  PENJUALAN  PADA  TOKO  MINAK  SINGA,"  sistem  informasi  dan telematika, vol. 2, p. 3, 2014.
[2] a. r. r. Hasan abdurahman, "APLIKASI PINJAMAN PEMBAYARAN SECARA KREDIT PADA BANK YUDHA BHAKTI," Jurnal Computech & bisnis, vol. 8, p. 62, 2014.
[3] Nasrullah, "AHLI KITAB DALAM PERDEBATAN: Kajian survei beberapa literatur tafsiran al-qur'an," Syahadah, vol. 3, p. 3, 2015.
[4] m. keene, "Agama-agama didunia," AGAMA-AGAMA DUNIA, vol. 2, p. 72, 2011.
[5] ipmkbi, "agama budha diindonesia," members fortunity , 2 JULI 2011. [Online]. [Accessed 26 JULI 2011].
[6] m. keene, "agama-agama dunia," agama-agama dunia, vol. 2, pp. 72-73, 2011.
[7] Fince  Tinus  Waruwu  and  M.  Mesran,  "IMPLEMENTASI  ALGORITMA  KNUTH  MORRIS  PRATT  PADA  APLIKASI  KAMUS ISTILAH LATIN FLORA," Informasi dan Teknologi Ilmiah (INTI), vol. IV, no. 1, pp. 96-102, 2 September 2014.
[8] A. r. a. t. dll, "STRING MATCHING METHODOLOGIES: A COMPARATIVE ANALYSIS," JURNAL ILMU KOMPUTER DAN TEKNIK INFORMATIKA, vol. 3, p. 4, 2012.
[9] A. i. a. g. zarnelly, "PENERAPAN FUZZY STRING MATCHING PADA APLIKASI PENCARIAN TUGAS AKHIR MAHASISWA JURUSAN SISTEM INFORMASI BERBASIS WEB," jurnal rekayasa dan manajemen, vol. 2, p. 2, 2016.
[10]  r. m. Mokhamad syroni, "PENCOCOKAN STRING BERDASARKAN KEMIRIPAN UCAPAN (PHONETIC STRING MATCHING) DALAM BAHASA INGGRIS," seminar nasional aplikasi teknik informasi, vol. 6, p. 2, 2005.
[11]  B. langmead, "Approximate string matching," departement of computer science, 2007. [Online]. Available: www.langmead_lab.org/teaching-materials.
[12]  S. d. andriyani, "APLIKASI AKADEMIK ONLINE BERBASIS MOBILE ANDROID," jurnal sains dan teknologi, vol. 11, p. 3, 2016. [13]  m.  d.  g.  lauren,  "RANCANGAN  BANGUN  APLIKASI  PEMBELAJARAN  BUDAYA  INDONESIA  ANAK  SD  BERBASIS ANDROID," Ilmiah komputasi, vol. 2, p. 3, 2013.
[14]  D. R. Hipp, "SQLite," SQLite, 11 Juni 2012. [Online]. Available: https://www.sqlite.org/index.html. [Accessed 8 Agustus 2017].
[15]  A. Nugroho, Rekayasa Perangkat Lunak Berorientasi Objek dengan Metode USPD, Yogyakarta: Andi, 2010.
[16]  R. A. S and M. Shalahuddin, Rekayasa Perangkat Lunak, Bandung: Informatika, 2014.