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

  INSIGHT

  Volume 1 No. 1 | April 2018 : 91-95

  

Pemanfaatan Text Mining Menggunakan

Algoritma Knuth Morris Pratt untuk Fitur

Pencarian pada Aplikasi Kuliner

  1

  2

  3 Muhammad Iqbal Amaludin , Wildan Budiawan Zulfikar , Cepy Slamet

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

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

  1

  2

  3

platzetikbal@gmail.com, wildan.b@uinsgd.ac.id, Cepy_lucky@uinsgd.ac.id

  

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 dibidang kuliner [1], data tersebut menunjukan potensi Sebanyak 56 juta usaha kecil menengah(UKM) perkembangan UKM rumah makan bisa meningkat, karena tumbuh di Indonesia, 70% diantaranya bergerak dibidang para pemilik UKM rumah makan bisa mengiklankan makanan dan minuman. Provinsi Jawa Barat menempati produk makanan dan minuman mereka di sebuah market peringkat kedua dalam jumlah atau jenis UKM per Desa place khusus kuliner. Para calon pembeli juga bisa atau Kelurahan dengan jumlah 16.405. Bidang makanan mengetahui produk UKM tersebut lewat sebuah market dan minuman menempati urutan pertama dengan jumlah khusus kuliner, dengan semakin banyaknya

  place

  4.023 UKM [1]. Dizaman yang serba digital semua masyarakat tahu produk makanan dan minunan yang dijual dilakukan secara online, belanja online, pembayaran oleh UKM tersebut maka diharapkan penjualan produknya online, bahkan pemesanan makanan pun dilakukan dengan bisa meningkat. Oleh karena itu dibangun sebuah market online. Muculnya banyak aplikasi yang menyediakan jasa place yang khusus untuk menyediakan makanan dan pengiklanan rumah makan menjadi cara baru untuk minuman yang dapat memberikan keuntungan baik bagi memasarkan rumah makan, para penyedia aplikasi pun pihak rumah makan karena mereka bisa mengiklankan berlomba-lomba untuk mengiklankan produk-produk produk mereka, dan juga pihak pengguna karena mereka kuliner di aplikasi mereka. Namun sayangnya para bisa mencari makanan dan minuman yang sesuai kantong. penyedia aplikasi pun lebih tertarik untuk mengiklankan Aplikasi market place pasti mempunyai data yang rumah makan besar, sementara para pelaku UKM seakan sangat banyak, data tersebut berupa teks yang sangat tertinggal. Pada saat rumah makan besar dipasarkan banyat. Text mining digunakan untuk menganalisis teks- dengan metode pemesanan secara online, para pelaku teks tersebut, proses tokenizing, filtering harus dilakukan UKM masih bertahan dengan metode tradisional nya. 56 terlebih dulu sebelum dilakukan proses pattern discovery juta UKM tumbuh di Indonesia dan 70% nya bergerak [2][3]. Proses pattern discovery yaitu proses pencocokan

  91

  INSIGHT

  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].

  function ) [14]. Sehingga dengan menggunakan algorirma

  Algorima KMP merupakan penyempurnaan dari algoritma pencocokan string brute force. Bedanya di algoritma brute force pergesaran kata dilakukan tiap karakter. Sementara algoritma KMP, data hasil pergeseran akan disimpan untuk dijadikan fungsi lompatan (prefix

  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.

  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].

  Text mining juga dapat disebut sebagai Text Data Mining (TDM) dan Knowledge Discovery in Tetxtual Dtabase (KDT) [7][11][12]. Text Mining merupakan

  kemudian dilakukan proses clustering berdasarkan kesamaan string. Teknik yang dilakukan ditahap ini yaitu menggunakan algoritma KMP.

  mining [10]. Data yang sudah melewati proses diatas

  3. Pattern Discovery Tahapan ini merupakan tahapan inti dari proses text

  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 tahap ini. Stemming merupkan proses mereduksi kata ke bentuk dasarnya [10].

  Tokenizing yaitu memecahkan sekumpulan karakter dari suatu teks kedalam suatu kata [10].

  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.

  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]:

  Text mining

  Text minig dapat didefinisikan sebagai proses menggali

  ISSN 2620-5467 (Online)

  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 Mining Text mining adalah proses penambangan data berupa

  B.

  4. Transition yaitu tahapan akhir yang meliputi instalasi aplikasi, pengujian, serta penyerahan aplikasi dan dokumentasinya .

  3. Construction yaitu tahapan implementasi sistem.

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

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

  RUP memiliki 4 fase yaitu [5]:

  (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].

  A. Metode Pengembangan Perangkat Lunak Metode pembangunan sistem yang digunakan yaitu RUP

  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.

  II. METODE PENELITIAN Penelitian tugas akhir ini berobjek kepada para pelaku

  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.

  Pemanafa’atan Text Mining Menggunakan Algoritma Knuth-Morris Pratt untuk fitur pencarian menu makanan pada apalikasi kuliner 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].

  KMP waktu pencarian data dikurangi secara signifikan INSIGHT | Volume 1 No. 1 | April 2018 : 91-95 [14]. pencarian berupa teks

  Dalam algoritma Knuth-Morris-Pratt ini kita akan

  2. Proses, sistem akan melaukan pengolahan terhadap menemui beberapa definisi yang nantinya akan digunakan teks. Dimulai dengan pemisahan kata, stemming, dan dalam algoritma ini. Proses yang pertama dilakukan yaitu terakhir proses pencocokan kata dengan algoritma menentukan tabel lompatan (prefix function), Sebelum KMP. melakukan proses pencocokan string, algoritma KMP akan

  3. Output, sistem akan menampilkan hasil pencarian berdasarkan kata kunci. Berikut adalah proses melakukan proses awal terhadap pola dengan menghitung pemanfaatan text mining menggunakan algoritma tabel lompatan, yang mengindikasikan pergeseran string KMP. 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 4 : Proses text mining menggunakan KMP

  III. HASIL DAN PEMBAHASAN Pemanfaatan text mining dengan menggunakan algoritma KMP ini berfungsi untuk melakukan pencarian

  Gambar 2 : proses prefix function data menu makanan dan rumah makan. Pencarian Setelah menentukan tabel lompatan barulah masuk ke berdasarkan kata kunci yang dimasukan oleh pengguna. inti dari algoritma KMP ini yaitu pencocokan string, proses

  Kata kunci yang dimasukan bisa berupa kalimat yang pencocokan string akan dijelaskan melalui pseudocode kemudian akan dirposes hingga menghasilkan hasil berikut: 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

  TABEL

  1 H ASIL P ROSES T OKENIZING

  Setelah itu, kita kembali membandingkan karakter per No Input Pencarian Hasil Tokenizing karakter seperti di proses sebelumnya sampai kita

  1 Ayam dibakar ayam menemukan teks yang sama dengan pattern hingga di karakter terakhir. bakar

  2 Sate padang sate

  padang Gambar 3: hasil akhir pencocokan pencarian rumah makan dengan mengubah huruf teks

  Setelah dilakukan pergeseran yang dilakukan menjadi kecil semua, memisahkan kalimat menjadi kata, berdasarkan fungsi pinggiran, maka akhirnya ditemukan menghapus tanda baca dan simbol. Berikut adalah hasil kecocokan dalam string diatas. proses tokenizing:

  Proses pencarian menu dan rumah makan akan dijelaskan sebagai berikut: 2)

  Proses filtering

  1. Input, yaitu pengguna memasukan kata kunci

  93

  INSIGHT

  ISSN 2620-5467 (Online)

  TABEL

2 H ASIL P ROSES F

  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.

  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

  2 Sate padang sate padang

  1 Ayam dibakar ayam bakar

  No Input Pencarian Hasil Filtering

  ILTERING

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

  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.

  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

  pattern [0].

  Maka text digeser 1 ke huruf ke kanan jadi yang di bandingkannya adalah text [5] dicocokan dengan

  Langkah 3 setelah dibandingkan dan terlihat bahwa huruf di text[4] tidak sama dengan huruf di pattern[0].

  Langkah 2 kemudian lihat pattern terhenti di pattern [2]. Berdasarkan tabel lompatan yang telah dibuat, pattern [2] itu lompatannya satu, maka kembali mengulang

  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.

  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

  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

  Pattern : a y a m String S: a y a n g a y a m

  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.

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

  2)

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

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

  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-proses perhitungan KMP adalah sebagai berikut: 1) Menetukan tabel lompatan (prefix function)

  Langkah 1 bandingkan pattern dengan string, dalam

  6.08

  1.97

  3.04

  2.57 Telur

  1.18

  3.0 Ayam penyet

  2.90

  11.5 Bakso baso

  5.0

  5.0 Nasi goreng

  5.0

  11.9 Ayam bakar

  3.0

  11.5 Martabak

  1.28

  5.73 Minuman

  10.5 Seblak

  3 H ASIL P ENGUJIAN A LGORITMA KMP Kata Kunci Waktu pencarian dengan menggunakan algoirtma KMP (detik) Waktu Pencarian tanp menggunakan algoritma KMP (detik)

  2.62

  2.51

  2.27 Rata-rata

  1.70

  2.95 paha

  3.0

  2.95 Sushi

  5.33 Mie

  1.8

  1.13

  5.3 Sate

  2.11

  5.12 Bubur

  2.0

  5.3 Ceker

  Ayam

  TABLE

  INSIGHT | Volume 1 No. 1 | April 2018 : 91-95

  H. T. Sigit and K. Anwar, “Aplikasi Android Kamus Bahasa Jawa Serang

  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]

  • – Indonesia Menggunakan Algoritma Knutt Morris Pratt,”

  Darmalaksana, and M. A. R amdhani, “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.

  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.

  Bandung: ITB, 2005. [15]

  [14] R. Munir, Diktak Kuliah IF2251 Stategi Algoritmik.

  Wahyudin, “Clustering the Verses of the Holy Qur’an using K- Means Algorithm,” Asian J. Inf. Technol., vol. 15, no. 24, pp. 5159 –5162, 2016.

  , vol. 288, no. 1, p. 12037, 2018. [13] C. Slamet, A. Rahman, Mu. A. Ramdhani, and D.

  Eng.

  Lestari, W. Darmalaksana, and M. A. Ramdhani, “Automated Text Summarization for Indonesian Article Using Vector Space Model,” IOP Conf. Ser. Mater. Sci.

  [12] C. Slamet, A. R. Atmadja, D. S. Maylawati, R. S.

  ProTekInfo(Pengembangan Ris. dan Obs. Tek. Inform. ,

  [11] D. S. Maylawati, A. Rahman, M. I. N. Saputra, W.

  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-

  D. Setiawati, I. Taufik, Jumadi, and W. Z. Budiawan, “Klasifikasi Terjemahan Ayat Al-Quran Tentang Ilmu Sains Menggunakan Algoritma Decision Tree Berbasis Mobile,” J. Online Inform., vol. 1, no. 1, pp. 24–27, 2016.

  . 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.

  Qur’an Berdasarkan Konten Menggunakan Text Mining Berbasis Aplikasi Desktop