• Tidak ada hasil yang ditemukan

View of Pemanfaatan Text Mining Menggunakan Algoritma Knuth Morris Pratt untuk Fitur Pencarian pada Aplikasi Kuliner

N/A
N/A
Protected

Academic year: 2018

Membagikan "View of Pemanfaatan Text Mining Menggunakan Algoritma Knuth Morris Pratt untuk Fitur Pencarian pada Aplikasi Kuliner"

Copied!
5
0
0

Teks penuh

(1)

91

Pemanfaatan Text Mining Menggunakan

Algoritma Knuth Morris Pratt untuk Fitur

Pencarian pada Aplikasi Kuliner

Muhammad Iqbal Amaludin

1

, Wildan Budiawan Zulfikar

2

, Cepy Slamet

3

Jurusan Teknik Informatika, Fakultas Sains dan Teknologi UIN Sunan Gunung Djati Bandung

Jl A.H. Nasution No. 105, Cipadung, Cibiru, Kota Bandung

1

[email protected],

2

[email protected],

3

[email protected]

Abstract- In this digital era the use of information technology is most important, technology is striving rapidly including in culinary sector. Jawa Barat has 4.032 SMEs every political district administered by the lurah which moving food and beverages sector that are potential economic activator in Indonesia The emergence of many applications that provide restaurant advertising services are a new way to market culinary products. Unfortunately which were inputted by them that most are large restaurants while the businessman's of SMEs were left behind. When large restaurants are already marketed by shipping applications, businessmans of SMEs still survive with traditional marketing methods. This final task application present to help the businessmans of SMEs to be able to compete with large restaurants in the ordering sector. By using KMP algorithm the process of searching menu and restaurant become faster, and more accurate in data search process. so that applications running smoothly.

Keywords- KMP, SMEs, Text Mining

Abstrak- Di era digital ini penggunaan teknologi informasi sangat penting, teknologi berekembang pesat termasuk dibidang kuliner. Jawa Barat mempunyai 4.023 UKM perkelurahan yang bergerak dibidang makanan dan minuman yang menjadi potensi penggerak ekonomi di Indonesia. Munculnya banyak aplikasi yang menyediakan jasa pengiklanan rumah makan pun menjadi cara baru utuk memasarkan produk kuliner. Sayangnya para penyedia aplikasi lebih tertarik untuk mengiklan produk kuliner yang berasal dari rumah makan besar, sementara para pelaku UKM seakan tertinggal. Pada saat rumah makan dipasarkan dengan metode pengiriman yang bermacam-macam, seperti aplikasi delivery, para pelaku UKM masih bertahan dengan metode pemasaran tradisionalnya. Aplikasi tugas akhir ini hadir untuk membantu para pelaku UKM supaya bisa ikut bersaing dengan rumah makan besar dibidang pemesanan dan periklanan. Metode text mining dengan menggunakan algoritma KMP digunakan untuk menganilis data dan melakukan pencarian menu dan rumah makan sesuai dengan kata kunci. Dengan menggunakan algoritma KMP ini, hasil pencarian lebih cepat dan akurat.

Kata kunci- UKM, Text Mining, KMP

I. PENDAHULUAN

Sebanyak 56 juta usaha kecil menengah(UKM) tumbuh di Indonesia, 70% diantaranya bergerak dibidang makanan dan minuman. Provinsi Jawa Barat menempati peringkat kedua dalam jumlah atau jenis UKM per Desa atau Kelurahan dengan jumlah 16.405. Bidang makanan dan minuman menempati urutan pertama dengan jumlah 4.023 UKM [1]. Dizaman yang serba digital semua dilakukan secara online, belanja online, pembayaran online, bahkan pemesanan makanan pun dilakukan dengan online. Muculnya banyak aplikasi yang menyediakan jasa pengiklanan rumah makan menjadi cara baru untuk memasarkan rumah makan, para penyedia aplikasi pun berlomba-lomba untuk mengiklankan produk-produk kuliner di aplikasi mereka. Namun sayangnya para penyedia aplikasi pun lebih tertarik untuk mengiklankan rumah makan besar, sementara para pelaku UKM seakan tertinggal. Pada saat rumah makan besar dipasarkan dengan metode pemesanan secara online, para pelaku UKM masih bertahan dengan metode tradisional nya. 56 juta UKM tumbuh di Indonesia dan 70% nya bergerak

(2)

Pemanafa’atan Text Mining Menggunakan Algoritma Knuth-Morris Pratt untuk fitur pencarian menu makanan pada apalikasi kuliner

(Muhammad Iqbal Amaludin, Wildan Budiawan Z, Cepy Slamet)

92

pola atau pattern didalam teks, proses ini menggunakan metode Knuth Morris Pratt (KMP). Metode KMP mampu melakukan pencarian text multiple pattern, dan juga mampu membaca dan menemukan teks dengan inputan yang sama namun beda penulisan[4]. Meningkatkan kualitas pencocokan string[5], dan mempercepat proses pencarian data[6].

Penelitian ini bertujuan untuk membantu para pelaku UKM di bidang makan dan minuman dalam memasarkan produk, dan memudahkan pengguna dalam mencari produk makanan dan minuman berbantuan algoritma KMP.

II. METODE PENELITIAN

Penelitian tugas akhir ini berobjek kepada para pelaku UKM yang beregerak dibidang makanan dan minuman di Jawa Barat. Metode yang digunakan yaitu menggunakan metode kuantitatif karena mulai dari pengumpulan data, penafsiran terhadap data yang telah didapat, serta penampilan dari hasilnya banyak menuntut penggunaan angka. Selain itu, penelitian ini bersifat uji coba atau eksperimen, dimana penelitian ini menghasilkan suatu aplikasi string matching dengan hasil akhir berupa perhitungan pencarian dan tingkat keakuratan hasi pencarian.

A. Metode Pengembangan Perangkat Lunak

Metode pembangunan sistem yang digunakan yaitu RUP (Rational Unified Process). Metode RUP merupakan pendekatan pengembangan perangkat lunak yang dilakukan berulang kali (iterative), fokus pada arsitektur (architecture-centric), lebih diarahkan ke pengguna kasus (use case driven)[7]. RUP merupakan proses rekayasa perangkat lunak dengan pendefinisian yang baik dan perstrukturan yang baik [5].

RUP memiliki 4 fase yaitu [5]:

1. Inception yaitu tahapan anaslis terhadap kebutuhan user, analisi terhadap aplikasi terdahulu, dan analisis terhadap arsitektur aplikasi.

2. Elaboration yaitu tahapan perancangan dari hasil analis sitem. Berupa perancangan UML, perancangan basis data, dan perancangan antar muka.

3. Construction yaitu tahapan implementasi sistem. 4. Transition yaitu tahapan akhir yang meliputi

instalasi aplikasi, pengujian, serta penyerahan aplikasi dan dokumentasinya .

B. Text Mining

Text mining adalah proses penambangan data berupa teks dengan sumber data biasanya dari dokumen dan tujuannya adalah mencari kata-kata yang mewakili dalam dokumen sehingga dapat dilakukan analisa keterhubungan dalam dokumen [8].

Text minig dapat didefinisikan sebagai proses menggali infomasi baru yang sebelumnya tidak diketahui menggunakan komputer, dengan cara mengambil inti dari infomasi secara otomatis dari sumber yang berbeda. Kunci

dari proses ini yaitu mengkombinasikan informasi yang sebelumnya telah diambil intinya dari beberapa sumber yang berbeda [9].

Text mining adalah sebuah proses untuk menggali, mengolah, dan mengatur informasi dengan cara menganalisa hubungan, pola, dan aturan-aturan yang ada pada data tekstual semi terstruktur dan tidak terstruktur. Kunci proses ini adalah menggabungkan informasi yang berhasil di ekstraksi dari berbagai sumber [2]. Text mining ini dibagi kedalam tiga proses utama yaitu [2]:

1. Text Processing

Tahapan ini bertujuan untuk menyiapkan teks menjadi data yang akan diproses pada taha selanjutnya, salah proses nya disebut tokenizing yaitu memisahkan deretan kata didalam kalimat, termasuk menghilangkan tanda baca. Tokenizing yaitu memecahkan sekumpulan karakter dari suatu teks kedalam suatu kata [10].

2. Text Transformation

Tahapan ini merupakan tahapan filtrasi (penyaringan) dengan menghilangkan stoplist dan stopword. Stoplist yaitu kata yang sering muncul, sehingga dianggap tidak penting untuk sebuah kata kunci. Konversi term kebentuk akar juga merupakan tindakan yang dapat dilakukan di kemudian dilakukan proses clustering berdasarkan kesamaan string. Teknik yang dilakukan ditahap ini yaitu menggunakan algoritma KMP.

Text mining juga dapat disebut sebagai Text Data Mining(TDM) dan Knowledge Discovery in Tetxtual Dtabase (KDT) [7][11][12]. Text Mining merupakan proses pengekstrakan pattern dan knowledge yang bersifat menarik dan nontrivial (peting) dari dokumen-dokumen teks. Pada intinya proses kerja text mining sama dengan proses kerja data pada umumnya hanya saja data yang dimining merupakan text basis data. Ada banyak sekali kegunaan text mining, text mining dapat digunakan untuk pengklasifikasian teks, text clstering, opinion mining, dan pencarian data [13].

C. Knuth Morris Pratt

Algoritma Knuth-Morris-Pratt (KMP) ini dikembangakan oleh D. E. Knuth pada tahun 1966, kemudian J. H. Morris bersama-sama dengan V. R. Pratt pada tahun 1967, namun mereka sepakat mempublikasikannya pada tahun 1977.

(3)

93

[14].

Dalam algoritma Knuth-Morris-Pratt ini kita akan menemui beberapa definisi yang nantinya akan digunakan dalam algoritma ini. Proses yang pertama dilakukan yaitu menentukan tabel lompatan (prefix function), Sebelum melakukan proses pencocokan string, algoritma KMP akan melakukan proses awal terhadap pola dengan menghitung tabel lompatan, yang mengindikasikan pergeseran string yang mungkin dengan menggunakan perbandingan yang dibentuk sebelum pencarian string. Proses tabel lompatan ini lah yang membedakannya dengan algoritma brute force, proses penentuan tabel lompatan akan dijelaskan pada pseudocode berikut:

Gambar 1 : teks dan pola

Gambar 2 : proses prefix function

Setelah menentukan tabel lompatan barulah masuk ke inti dari algoritma KMP ini yaitu pencocokan string, proses pencocokan string akan dijelaskan melalui pseudocode berikut:

Setelah itu, kita kembali membandingkan karakter per karakter seperti di proses sebelumnya sampai kita menemukan teks yang sama dengan pattern hingga karakter terakhir.

Gambar 3: hasil akhir pencocokan

Setelah dilakukan pergeseran yang dilakukan berdasarkan fungsi pinggiran, maka akhirnya ditemukan kecocokan dalam string diatas.

Proses pencarian menu dan rumah makan akan dijelaskan sebagai berikut:

1. Input, yaitu pengguna memasukan kata kunci

pencarian berupa teks

2. Proses, sistem akan melaukan pengolahan terhadap teks. Dimulai dengan pemisahan kata, stemming, dan terakhir proses pencocokan kata dengan algoritma KMP.

3. Output, sistem akan menampilkan hasil pencarian berdasarkan kata kunci. Berikut adalah proses pemanfaatan text mining menggunakan algoritma KMP.

Gambar 4 : Proses text mining menggunakan KMP

III.HASIL DAN PEMBAHASAN

Pemanfaatan text mining dengan menggunakan algoritma KMP ini berfungsi untuk melakukan pencarian data menu makanan dan rumah makan. Pencarian berdasarkan kata kunci yang dimasukan oleh pengguna. Kata kunci yang dimasukan bisa berupa kalimat yang kemudian akan dirposes hingga menghasilkan hasil pencarian yang akurat.

A. Analisis Proses Text Mining

Secara umum sistem ini dibagi menjadi beberapa proses, setiap proses ini memiliki peran masing-masing dalam menjalankan proses untuk mengenali kata [15]. Proses-proses tersebut adalah sebagai berikut:

1) Proses tokenizing

Proses ini melakukan preprocessing terhadap teks

pencarian rumah makan dengan mengubah huruf teks menjadi kecil semua, memisahkan kalimat menjadi kata, menghapus tanda baca dan simbol. Berikut adalah hasil proses tokenizing:

2) Proses filtering

TABEL1 HASIL PROSES TOKENIZING

No Input Pencarian Hasil Tokenizing 1 Ayam dibakar ayam

di bakar

(4)

Pemanafa’atan Text Mining Menggunakan Algoritma Knuth-Morris Pratt untuk fitur pencarian menu makanan pada apalikasi kuliner

(Muhammad Iqbal Amaludin, Wildan Budiawan Z, Cepy Slamet)

94

Merupakan proses untuk mengambil kata-kata penting dari hasil token. Bisa menggunakan algoritma stoplist

(membuang kata yang kurang penting). Jika termasuk dalam stoplist maka kata-kata tersebut akan dihapus, dan yang tersisa didalam deskripsi dianggap sebagai kata-kata penting

3) Proses Pattern Discovery

Proses ini melakukan pencocokan data dari hasil filtering, data hasil filtering tersebut sebagai pattern untuk melakukan pencocokan dengan data dari database. Pencocokan pattern dengan kata ini menggunakan algoritma KMP, pencocokan pattern akan dijelaskan di bagian B.

B. Analisis proses KMP

Proses pencocokan pertama yaitu samakan ujung kiri pattern dengan ujung kiri teks, kemudian dimulai proses pencocokan untuk karakter yang cocok. Jika ada pattern yang tidak cocok maka dilakukan pergeseran sesuai dengan tabel lompatan. Algoritma ini menemukan semua kemunculan dari pattern dengan panjang n didalam teks dengan panjang m dengan kompleksitas waktu O(m+n). Algoritma ini hanya membutuhkan O(n) ruang dari memory internal jika file dibaca dari memori eksternal. Proses-proses perhitungan KMP adalah sebagai berikut:

1) Menetukan tabel lompatan (prefix function)

Sebelum melakukan proses pencocokan string, algoritma KMP akan melakukan proses awal terhadap pola dengan menghitung tabel lompatan, yang mengindikasikan pergeseran string yang mungkin dengan menggunakan perbandingan yang dibentuk sebelum pencarian string. Proses tabel lompatan ini lah yang membedakannya dengan algoritma brute force.

Kata yang dicari adalah ayam bakar, pertama tentukan dulu length nya, diketahui length ayam.

Kemudian setelah itu tentukan tabel lompatan tiap karakter nya, setelah ditentukan maka hasilnya adalah

2) Proses pecocokan pattern

Setelah menentukan tabel lompatan barulah masuk ke inti dari algoritma KMP ini yaitu pencocokan string.

Diketahui sebuah listmenu bernama ”ayang ayam”.

Maka sesuai dengan kata kunci yang di inputkan yaitu ayam bakar, sistem akan memulai proses prefix function setelah ditentukan lompatannya, kemudian dilakukan proses string matching. Berikut adalah proses string matching.

Pattern :

a y a m

String S:

a y a n g a y a m

Langkah 1 bandingkan pattern dengan string, dalam kasus diatas string[0..2] dan pattern[0..2] mempunyai ke cocokan, perbedaan hanya terdapat di string[3], berikut adalah ilustrasinya.

a y a m

a y a n g a y a m

Langkah 2 kemudian lihat pattern terhenti di pattern[2]. Berdasarkan tabel lompatan yang telah dibuat, pattern[2] itu lompatannya satu, maka kembali mengulang ke pattern[1] yang mana pattern[1] isinya adalah 0, oleh karena itu kita bandingkan text[3] dengan pattern dimulai dari pattern[0] lagi.

a y a m

a y a n g a y a m

Langkah 3 setelah dibandingkan dan terlihat bahwa huruf di text[4] tidak sama dengan huruf di pattern[0]. Maka text digeser 1 ke huruf ke kanan jadi yang di bandingkannya adalah text[5] dicocokan dengan pattern[0].

a y a m

a y a n g a y a m

Karena kasusnya nya sama, maka kita langsung loncat ke text[6] di cocokan dengan pattern[0], begitu seterusnya karena text[6..9] cocok dengan pattern[0..3] maka proses pencocokan berakhir, dan kata hasil pencarain pun di tampilkan.

a y a m

a y a n g a y a m

C. Hasil Penelitian

Pengujian algoritma KMP dilakukan untuk menguji posisi string saat penemuan hasil dan menguji performa algoritma KMP. Tabel 3 merupakan tabel hasil pengujian performa algoritma KMP dan hasil pencarian yang dilakukan algorima KMP pada fitur pencarian menu dan rumah makan.

TABEL2 HASIL PROSES FILTERING

No Input Pencarian Hasil Filtering 1 Ayam dibakar ayam

bakar 2 Sate padang sate

(5)

95

Pengujian algoritma KMP diuji dengan memasukan input kata kunci yang diinginkan kedalam form pencarian rumah makan. Aplikasi pencarian rumah makan akan mengirimkan kata kunci pencarain ke service. Didalam service ini lah algoritma KMP akan mulai melakukan pencocokan string lalu hasil pencocokannya akan dikirimkan lagi ke aplikasi android. Data yang diuji terdiri dari 738 data menu dan 186 data rumah makan, dengan rata-rata waktu pencarian 2.51 detik.

IV.PENUTUP

Dari hasil penelitian, analisis, perancangan sistem, pembuatan aplikasi sampai tahap penyelesaian aplikasi, kesimpulan yang dapat diambil dari semua proses yang telah dilakukan dalam membangun aplikasi implemenstasi text mining menggunakan algortima KMP ini adalah sebegai berikut :

1) Penggunaan algortima KMP pada sistem pencarian aplikasi menu dan rumah makan ini sangat membantu proses pencarian, karena data yang dihasilkan dari algoritma KMP ini mampu menampilkan data yang sama namun berbeda kata kunci nya.

2) Kinerja algoritma KMP pada aplikasi kuliner pencarian rumah makan ini sangat memuaskan, karena algoritma KMP mampu melakukan pencarian dalam waktu yang lebih cepat dengan hasil yang lebih akurat.

Saran bagi yang akan melanjutkan penelitian ini adalah sebagai berikut:

1) Ada pesan gps error dan tidak mendapatkan lokasi untuk beberapa merk handphone, sebaiknya dilakukan perbaikan supaya pencarian lokasi nya bisa lebih akurat.

2) Aplikasi ini bisa lebih dikembangkan lagi karena respon dari para pengelola rumah makan sangat baik terhadap aplikasi ini.

3) Perlu ada nya fitur rumah makan buka dan tutup agar pengguna bisa tahu rumah makan tersebut sedang buka atau tutup.

V. REFERENSI

[1] J. Widodo, “potensi besar ukm industri makanan dan minuman,” 2016. .

[2] T. Pang Ning, Introduction to Data Mining. Boston: Pearson Addison Wesley, 2006.

[3] A. Hardiansyah, “Designing Android Based

Augmented Reality Location-Based Service

Application,” JOIN (Jurnal Online Inform., vol. 2, no. 2, pp. 110–115, 2016.

[4] A. Danusaputro, R. Whidiana, and R. N. Dayawati, “PENCOCOKAN STRING MULTI PATTERN PADA

PENGOLAH KATA MULTI,” pp. 0–6, 2007.

[5] R. Ariani Sukamto and M. Shalahudin, Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Bandung: Informatika, 2014.

[6] H. T. Sigit and K. Anwar, “Aplikasi Android Kamus Bahasa Jawa Serang – Indonesia Menggunakan Algoritma Knutt Morris Pratt,”

ProTekInfo(Pengembangan Ris. dan Obs. Tek. Inform., vol. 2, pp. 30–34, 2015.

[7] M. A. Ramdhani, Metodologi Penelitian untuk Riset Teknologi Informasi. Bandung: UIN Sunan Gunung Djati Bandung, 2013.

[8] H. Aditiya, Pencarian Ayat-Ayat Al-Qur’an Berdasarkan Konten Menggunakan Text Mining Berbasis Aplikasi Desktop. Jurusan Teknik Informatika Politeknik Surabaya, 2010.

[9] W. B. Zulfikar, M. Irfan, C. N. Alam, and M. Indra, “The comparation of text mining with Naive Bayes classifier, nearest neighbor, and decision tree to detect Indonesian swear words on Twitter,” 2017 5th Int. Conf. Cyber IT Serv. Manag. CITSM 2017, 2017.

[10] M. Syaroni and R. Munir, “Pencocokan String Berdasarkan Kemiripan Ucapan (Phonetic String Matching) dalam Bahasa Inggris,” Semin. Nas. Apl. Teknol. Inf. 2005 (SNATI 2005), pp. 7–13, 2005.

[11] D. S. Maylawati, A. Rahman, M. I. N. Saputra, W. Darmalaksana, and M. A. Ramdhani, “Model of Citation Network Analysis using Sequence of Words as Structured Text Representation,” IOP Conf. Ser. Mater. Sci. Eng., vol. 288, no. 1, p. 12048, 2018.

[12] C. Slamet, A. R. Atmadja, D. S. Maylawati, R. S. Lestari, W. Darmalaksana, and M. A. Ramdhani, “Automated Text Summarization for Indonesian Article Using Vector Space Model,” IOP Conf. Ser. Mater. Sci. Eng., vol. 288, no. 1, p. 12037, 2018.

[13] C. Slamet, A. Rahman, Mu. A. Ramdhani, and D. Wahyudin, “Clustering the Verses of the HolyQur’an using K-Means Algorithm,” Asian J. Inf. Technol., vol. 15, no. 24, pp. 5159–5162, 2016.

[14] R. Munir, Diktak Kuliah IF2251 Stategi Algoritmik. Bandung: ITB, 2005.

Gambar

Gambar 1 : teks dan pola

Referensi

Dokumen terkait

Terlihat pada perbedaan hasil rata-rata runtime setiap pengujian sampel kata pada tabel 4.7 membuktikan bahwa algoritma Knuth-Morris-Pratt (KMP) dapat menyimpan sebuah

Proses pencocokan string yang diinputkan oleh user kepada ebook tersebut menggunakan algoritma KMP, setelah kata yang ditemukan sesuai maka sistem akan menampilkan hasilnya

Implementasi Algoritma Pencocokan String pada Aplikasi Pengarsipan Berbasis Web, Jurnal Informatika.. Pembuatan Aplikasi Untuk Mendeteksi Kebenaran Perintah SQL Query

Hal inilah yang melatarbelakangi untuk membuat sebuah penelitian mengenai “Implementasi Porter Stemming menggunakan Algoritma Knuth-Morris-Pratt (KMP) Untuk Menentukan

Dari gambar di atas tampak perbedaan jelas antara algoritma brute force dengan Knutt-Morris-Pratt dalam proses pencarian string, yaitu algoritma Knutt-Morris- Pratt

Dari hasil dari tahap perancangan hingga tahap pengujian penelitian yang telah dilakukan pada aplikasi sosial DoCare yang berbasis android dengan menggunakan algoritma

Berikut ini merupakan pengujian menggunakan algoritma Boyer-Moore untuk kasus pattern yang tidak terdapat pada artikel.. Makalah IF2211 Strategi Algoritma, Semester

Halaman Pilihan Algoritma ini berisikan mengenai informasi untuk memilih algoritma yang diinginkan. Seperti di dalam menu pilihan algoritma tersebut, ada 2