PENETAPAN POLA KONSUMEN MENGGUNAKAN ALGORITMA FREQUENT PATTERN GROWTH PADA CROSS MARKET ANALYSIS

  

PENETAPAN POLA KONSUMEN MENGGUNAKAN

ALGORITMA FREQUENT PATTERN GROWTH

PADA CROSS MARKET ANALYSIS

1) 2) 3)

  

Bain Khusnul Khotimah , Andharini Dwi Cahyani , Nurwahyu Alamsyah

1,2,3

  Jurusan Teknik Informatika, Fakutas Teknik, Universitas Trunojoyo Madura Jl. Raya Telang PO. BOX 2 Kamal, Bangkalan, Madura, 691962 2 [email protected]

  

ABSTRAK

  Pertumbuhan data yang semakin cepat dan sulit dikontrol hanya akan menjadikan sebuah tumpukan data yang tidak berguna, untuk mengatasi permasalahan tersebut data mining adalah solusinya. Data

  

mining dapat mengubah tumpukan data yang tidak berguna tersebut menjadi sebuah informasi yang

  berharga. Penelitian ini akan memberikan informasi pola konsumen mini market dengan menggunakan algoritma FP-Growth, salah satu algoritma pada teknik data mining, Association Rules. FP-Growth merupakan salah satu algoritma yang cukup efisien karena hanya melakukan dua kali scanning

  

database . Hasil dari analisa diketahui semakin besar transaksi yang diproses, maka semakin banyak

  kombinasi juga semakin lama waktu prosesnya. Dari hasil kombinasi tersebut dapat diketahui pola- pola atau rules tentang kebiasaan konsumen dalam berbelanja setelah dihitung support dan confidence dari setiap kombinasi. Semakin besar jumlah transaksi juga semakin besar subsets (kombinasi) yang dihasilkan juga membuat waktu proses akan semakin lama. Informasi tersebut dapat menjadi bahan pertimbangan dalam menentukan kebijakan perusahaan. Kata kunci : Data mining, FP-Growth, FP-Tree

  

ABSTRACT

Growth data faster and harder to control, will only make a pile of useless data, to overcome the

problem data mining is the solution. By data mining we can turn a pile of useless data into valuable

information. This research will provide information on patterns of mini market consumers with data

mining techniques. FP-Growth is one of the algorithm is quite efficient because it only made two

database scanning. The results of analysis in mind the larger transactions processed, the more

combinations are also the longer time process. From the combined result can be discovered patterns

or rules about the shopping habits of consumers after the calculated support and confidence of every

combination. The greater the number of transactions also the larger subsets (combinations) that are

generated will also make the process longer. Such information can be taken into consideration in

determining company policy.

  Keyword : Data mining, FP-Growth, FP-Tree

  PENDAHULUAN

  Cross market analysis merupakan

  rules, terdapat tiga kriteria ukuran yaitu [4] :

  untuk pemakain data web yang berdasarkan personalitas. Pendekatan ini diadopsi dari hubungan dengan collaborative filtering [3] Dalam menggunakan metode association

  Association rules juga bermanfaat

  Teknik ini mencari kemungkinan kombinasi yang frequent (sering muncul) dari suatu itemset (sekumpulan item). Ada dua langkah di dalam algoritma ini, seperti yang diilustrasikan pada Gambar 1. Langkah pertama adalah melakukan perhitungan untuk menemukan frequent itemsets dan langkah kedua mencari kaidah association rules dari sekumpulan frequent itemsets tadi.

  satu teknik didalam data mining untuk menentukan hubungan antar item dalam suatu dataset (sekumpulan data) yang telah ditentukan. Konsep ini sendiri diturunkan dari terminologi market basket analysis, yaitu pencarian hubungan dari beberapa produk di dalam transaksi pembelian [2].

  Association Rules Association rules merupakan salah

   Cari pola penjualan IndoMie sedemikian rupa sehingga didapat mengetahui barang apa saja yang juga dibeli oleh pembeli IndoMie. Dengan demikian para pembuat keputusan bisa mengetahui dampak jika tidak lagi menjual IndoMie [1].

   Cari pola penjualan Coca Cola sedemikian rupa sehingga didapat mengetahui barang apa sajakah yang harus disediakan untuk meningkatkan penjualan Coca Cola?

  pemanfaatan data mining untuk melihat hubungan antara penjualan satu produk dengan produk lainnya. Berikut ini disajikan beberapa contoh:

  METODE Cross Market Analysis

  Penggunaan teknologi informasi sekarang ini telah digunakan hampir di semua aspek kehidupan, contohnya dalam sebuah perusahaan ritel. Dengan sistem yang telah terkomputerisasi, sebuah perusahaan ritel dapat mengumpulkan data transaksi dengan cepat serta menghasilkan data yang sangat besar. Tetapi pertumbuhan data yang pesat itu, telah menciptakan kondisi

  Contoh aturan association rules dari analisa pembelian di suatu pasar swalayan adalah dapat diketahuinya berapa besar kemungkinan seorang pelanggan membeli roti bersamaan dengan susu. Dengan pengetahuan tersebut pemilik pasar swalayan dapat mengatur penempatan barangnya atau merancang kampanye pemasaran dengan memakai kupon diskon untuk kombinasi barang tertentu. Analisis asosiasi menjadi terkenal karena aplikasinya untuk menganalisa isi keranjang belanja di pasar swalayan.

  hubungan antar item (barang) pada tabel data transaksional [2].

  itemset dan membentuk association rules dari itemset (daftar barang) tersebut. Association rules digunakan untuk menggambarkan

  Dengan adanya data mining, data transaksi yang terjadi di mini market dapat dianalisa sehingga dapat ditemukan pola-pola perilaku konsu-men. Pola-pola ini merupakan kumpulan barang-barang yang sering dibeli oleh pelanggan. Dengan mengetahui pola tersebut, proses manajemen bisnis untuk menerapkan strategi bisnis ke depan menjadi lebih mudah. Associa-tion rules mempunyai peranan penting dalam proses pengambilan keputu-san. Tahapan besar dari proses data mining adalah mengidentifikasikan frequent

  hubungan dari beberapa produk di dalam transaksi pembelian [1].

  market basket analysis , yaitu pencarian

  di dalam data mining untuk menentukan hubungan antar item dalam suatu dataset (sekumpulan data) yang telah ditentukan. Konsep ini sendiri diturunkan dari terminologi

  Association rules merupakan salah satu teknik

  terkumpul itu tidak digunakan untuk aplikasi yang berguna. Tidak jarang kumpulan data itu dibiarkan begitu saja seakan-akan menjadi “kuburan data” (data tombs). Padahal kita bisa menambang infor-masi-informasi dari data yang terkubur itu dan menjadikannya informasi penting bagi perusahan untuk mendukung keputusan ataupun membantu dalam menentukan strategi pemasaran.

  “rich of data, but poor of information”. karena data yang

  1) Support : ukuran yang menunjukkan tingkat dominasi itemset dari keseluruhan transaksi (misalkan dari seluruh transaksi yang ada, seberapa besar kemungkinan item A dan item B dibeli secara bersamaan). Support ({A,B}) = Number of

  memerlukan dua kali scanning data transaksi Transaction (A,B). yang terbukti sangat efisien.Misal I= {a1, a2,

  2) Confidence (Probability): ukuran yang

  …, an} adalah kumpulan dari item dan data menyatakan hubungan antara dua item base transaksi DB

  = {T1, T2, …, Tn}, dimana secara conditional (misalkan seberapa Ti (i € [1..n]) adalah sekumpulan transaksi sering item A dibeli, jika pelanggan yang mengandung item di I. Sedangkan membeli item B). support adalah penghitung (counter) frekuensi

  Confidence (A U B)=Probability

  kemunculan transaksi yang mengandung suatu

  (B|A) = Support (A,B)/Support (A)

  pola. Suatu pola dikatakan sering muncul

  (frequent pattern) apabila support dari pola

  3) Improvement (Importance): ukuran yang tersebut tidak kurang dari suatu konstanta menyatakan besarnya kemungkinan dua minimum support (batas ambang minimum item dapat dibeli secara bersamaan. dari support ) yang telah didefinisikan

  Importance sebelumnya.

  ({A,B})=Probability(A,B)/(Probabili

  Permasalahan mencari pola frequent ty(A)*Probability (B)). dengan batas ambang minimum support count, inilah yang dicoba untuk dipecahkan oleh FP-

  FP-Tree Tree dengan menggunakan algortima FP-

  adalah struktur penyimpanan

  FP-Tree Growth.

  data yang dipadatkan. FP-Tree dibangun Definisi FP-Tree adalah sebuah pohon dengan: dengan memetakan setiap data transaksi ke a. FP-Tree dibentuk oleh sebuah akar yang dalam setiap lintasan tertentu dalam FP-Tree. bernama null, sekumpulan cabang yang

  Karena dalam setiap transaksi yang dipetakan terdiri dari item-item tertentu, dan mungkin ada transaksi yang memiliki item sebuah tabel frequent header. yang sama, maka lintasannya memungkinkan

  b. Setiap simpul dalam FP-Tree untuk saling menimpa.

  mengandung tiga informasi penting, Semakin banyak data transaksi yang yaitu label item (menginformasikan memiliki item yang sama, maka proses jenis item yang direpresentasi-kan pemadatan dengan struktur data FP-Tree simpul tersebut), semakin efektif

  Kelebihan dari FP-Tree adalah hanya

  

Gambar 1. Dua langkah proses di dalam algoritma association rules

  support count (merepresentasikan

  pattern base ; conditional pattern base

  (Sumber : Jiawei Han dan Micheline Kamber. Data Mining: Concepts and Techniques. 2001:246) [6]

  HASIL DAN PEMBAHASAN Pembangkitan FP-Tree

  Dalam contoh kasus berikut menggunakan 5 transaksi dengan minimum support count = 3 dan minimum confidence = 75%, seperti tabel di bawah ini.

  melalui FP-Tree yang telah dibangun sebelumnya.

  prefix path (lintasan prefix) dan suffix pattern (pola akhiran). Pembangkitan conditional pattern base didapatkan

  merupakan subdatabase yang berisi

  1. Tahap pembangkitan conditional

  08: then panggil FP-Growth (Tree, β) } }

  diterapkan algoritma FP-Growth untuk mencari frequent itemset yang memenuhi syarat. Algoritma FP-Growth dibagi menjadi tiga langkah utama, yaitu:

  Tree dari sekumpulan data transaksi, akan

  Setelah tahap pembangunan FP-

  FP-Growth

  menghubungkan simpul-simpul dengan label item sama antar lintasan, ditandai dengan garis panah putus-putus) [5].

  pointer penghubung (yang

  jumlah lintasan transaksi yang

2. Tahap pembangkitan conditional

  merupakan lintasan tunggal (single

  path), maka didapatkan frequent itemset

  dengan melakukan kombinasi item untuk setiap conditional FP-Tree. Jika bukan lintasan tunggal, maka dilakukan pembang-kitan FP-Growth secara rekursif. Ketiga tahap tersebut merupakan langkah yang akan dilakukan untuk mendapat frequent itemset, yang dapat dilihat pada algoritma berikut :

  Input:FP-Tree Tree Outout:Rt sekumpulan lengkap pola frequent Method:FP-Growth (Tree,null)

  Procedure: FP-Growth (Tree,α) { 01:if Tree mengandung single path P; 02:then untuk tiap kombinasi ( dinotasikan β) dari node- node dalam path P do 03: bangkitkan pola β α dengan Support = minimum support dari node-node dalam β; 04:else untuk tiap ai dalam header dari Tree do { 05: bangkitkan pola 06: bangun β = ai α dengan support = ai . support 07: if Tree β=Ø

  itemset ; Apabila Conditional FP-Tree

  pattern base dijumlah-kan, lalu setiap item yang memiliki jumlah support count lebih besar sama dengan minimum support count akan dibangkitkan dengan conditional FP- Tree .

  dari setiap item pada setiap conditional

  FP-Tree ; Pada tahap ini, support count

  Tabel 1: Tabel data transaksi mentah

  Frekuensi kemunculan tiap item dapat dilihat pada tabel 2.

  Setelah dilakukan pemindaian pertama didapat item yang memiliki frequensi di atas support count = 3 adalah f,c,a,b,m, dan p. kelima item inlah yang akan berpengaruh dan akan dimasukkan ke dalam FP-Tree selebihnya l,o,d,e,g,h,i,u,j,k,n dan s dapat dibuang karena tidak berpengaruh signifikan. Tabel 3 menggambarkan kemunculan

  frequent items dalam setiap transaksi,

  diurut berdasarkan yang frekuensinya TID Items 1 f,a,c,d,g,i,m,p 2 a,b,c,f,l,m,o 3 b,f,h,j,o 4 b,c,k,s,p 5 a,f,c,e,l,p,m,n

  3. Tahap Pencarian frequent paling tinggi. Null Item Frekuensi c:3 c

  4 f

  4 f:2 a 3 b

  3 a:2 m 3 p 3 m:1 l 2 p: b:1 o 2 d 1 e

  1 m:1 g 1 i 1 j

  1 Gambar 3: Hasil pembentukan FP-Tree k

  1

  setelah pembacaan TID 2

  n

  1 s

  1 Nu

  c: f f:

  Tabel 3: Tabel data transaksi

  TID Items

  f:

  1 C,f,a,m,p

  b

  2 C,f,a,b,m

  a: b

  3 F,b,

  4 C,b,p

  m:

  5 C,f,a,m,p

  b p p:

  Gambar 2. memberikan ilustrasi mengenai pembentukan FP-Tree setelah

  m pembacaan TID 1. Nul c:1

  Gambar 4: Hasil pembentukan FP-Tree setelah pembacaan TID 5 f:1 a:1

  Dari lima data transaksi dengan enam jenis item seperti table 5. Gambar 5

  m:1

  sampai dengan Gambar 8 menunjukkan

  p:1

  proses terbentuknya FP-Tree setiap TID dibaca. Setiap simpul pada FP-Tree mengandung nama sebuah item dan

  counter support yang berfungsi untuk Gambar 2: Hasil pembentukan FP-Tree setelah pembacaan TID 1

  menghitung frekuensi kemunculan item tersebut dalam tiap lintasan transaksi.

  FP-Tree yang merepresentasikan data

  transaksi pada Tabel 3 dibentuk dengan

  1. Kumpulan data dipindai pertama kali untuk menentukan support count dari setiap item. Item yang tidak frequent dibuang, sedangkan frequent item dimasukkan dan disusun dengan urutan menurun, seperti yang terlihat pada Tabel 3.

  2. Pemindaian kedua, yaitu pembacaan TID pertama {c,f,a,m,p} akan membuat simpul c,f,a,m dan p, sehingga terbentuk lintasan transaksi Null→c→f→a→m→p. Support count dari setiap simpul bernilai awal 1.

  3. Setelah pembacaan transaksi kedua {c,f,a,b,m}, karena memiliki prefix transaksi yang sama dengan transaksi pertama, yaitu c, maka lintasan transaksi kedua dapat ditimpakan di c, sambil menambah support count dari a dan selanjutnya membuat lintasan baru sesuai dengan transaksi kedua. (lihat Gambar 4.6) 4. Transaksi ketiga, yaitu pembacaan transaksi ketiga {f,b} terbentuk lintasan kedua yai tu Null→f→b

  support count masing-masing count

  juga bernilai awal 1. Walaupun b ada di transaksi kedua, namun karena

  prefix transaksinya tidak sama, makan

  transaksi kedua ini tidak bisa dimampatkan dalam satu lintasan.

  5. Proses ini dilanjutkan sampai FP-Tree berhasil dibangun berdasarkan tabel data transaksi yang diberikan. (lihat Gambar 4.8)

  Penerapan Algoritma FP-Growth

  Algoritma FP-Growth merupakan algoritma pencarian frequent yang efisien karena menggunakan struktur data tree (FP-Tree). Algoritma FP-Growth menentukan frequent itemset yang berakhiran suffix tertentu dengan menggunakan metode divide dan conquer untuk memecah problem menjadi

  subproblem yang lebih kecil (David

  Samuel, 2008:4). Dari contoh kasus akan mencari semua subset yang memungkinkan dengan cara membangkitkan conditional FP-Tree dan mencari frequent itemset. Membangkitkan conditional FP-Tree dilakukan dari bawah ke atas dari item yang jumlah frekuensi kemunculannya terkecil.

  Kondisi FP-Tree Untuk Suffix p

  Ekstrak semua lintasan yang berakhiran m, selain path m, nol kan semua nilai path. Untuk lebih memperjelas, dapat dilihat di bawah ini contoh menemukan

  frequent itemset yang berakhiran dengan item m. Setelah itu, buang satu persatu path m dan nilai path m dimasukkan ke setiap path yang dilintasi dari path m sampai ke root. Hasilnya terdapat 5 subsets yang memungkinkan untuk m yang dapat dilihat pada gambar 5.

  Kondisi FP-Tree untuk suffix m

  Ekstrak semua lintasan yang berakhiran m, selain path m, nol kan semua nilai path. Untuk lebih memperjelas, dapat dilihat di bawah ini contoh menemukan frequent itemset yang berakhiran dengan item m

  Setelah itu, buang satu persatu path m dan nilai path m dimasukkan ke setiap path yang dilintasi dari path m sampai ke root. Hasilnya terdapat 5 subsets yang memungkinkan untuk m yang dapat dilihat pada gambar 6.

  Kondisi FP-Tree untuk suffix b

  Ekstrak semua lintasan yang berakhiran b, selain path b, nolkan semua nilai path, untuk lebih memperjelas, dapat dilihat dibawah ini contoh menemukan frequent itemset yang berakhiran dengan item b. Setelah itu, buang satu persatu path b dan nilai path b dimasukkan ke setiap path yang dilintasi dari path b sampai ke root. Hasilnya terdapat 5 subsets yang memungkinkan untuk m yang dapat dilihat pada gambar 7.

  Kondisi FP-Tree untuk suffix c

  Ekstrak semua lintasan yang berakhiran c, selain path c, nolkan semua nilai path, untuk lebih memperjelas, dapat dilihat dibawah ini contoh menemukan frequent itemset yang berakhiran dengan item c. Setelah itu, buang satu persatu path cdan nilai path c dimasukkan ke setiap path yang dilintasi dari path c sampai ke root. Hasilnya terdapat 5 subsets yang memungkinkan untuk m yang dapat dilihat pada gambar

  8. Lakukan hal ini juga untuk suffix f dan a.

  Gambar 6: Kondisi FP-Tree untuk suffix m Gambar 7. Kondisi FP-Tree untuk suffix b

  Gambar 8: Kondisi FP-Tree untuk suffix c

  Tree Data Mining. Universitas Kristen Petra.

  SIMPULAN

  [3] Samuel, D. 2008.Penerapan Stuktur FP-Tree dan Algoritma FP-Growth

  Setelah menyelesaikan dalam Optimasi Penentuan Frequent perancangan dan pembuatan aplikasi Itemset. Institut Teknologi Bandung. serta implementasi sistem , maka dapat

  [4] Sucahyo, Y.G. 2003.Penerapan Data ditarik kesimpulan sebagai berikut: Mining: Permasalahan Apa Saja 1. Semakin besar jumlah transaksi yang yang Bisa Diselesaikan. diproses, semakin lama waktu load IlmuKomputer.Com. proses FP-Growth.

  [5] Witten, I.H. and Frank, E. 2005.

2. Subsets (kombinasi) yang muncul

  Data Mining-Practical Machine

  berbanding lurus dengan jumlah

  Learning Tools and Techniques, 2nd transaksi. Edition . Morgan Kaufmann 3.

  Struktur pohon pada struktur data Publisher. memiliki implementasi yang sangat [6] Nakagawa, M., and Mobasher, B. beragam, khususnya dalam

  2003.. A Hybrid Web penyimpanan struktur data yang lebih Personalization Model Based on Site efektif dan efisien. Connectivity. Workshop at The ACM

  SIGKKDD International Conference

DAFTAR PUSTAKA

  on Knowledge Discovery and Data

  [1] Karim, F.A. 2006. Penggalian Mining. Washington DC.

  Kaidah Asosiasi Menggunakan [7] Tang, Z., and MacLennan, J. 2005. Metode Apriori-TFP Pada Struktur Data Mining with SQL Server 2005 . Data T-Tree dan P-Tree ”. Institut Indianapolis: Wiley Pubishing Inc. Teknologi Sepuluh Nopembe.

  [8] Han, J and Kamber, Micheline. [2] Handojo, A.Budhi, G.S., dan

  2001. Data Mining: Concepts and Dwiyono, N.A. 2008.A Decision Techniques . Morgan Kaufmann. Support System for “De Joglo” Restaurant Using Frequent Pattern