• Tidak ada hasil yang ditemukan

Algoritma FP-Growth merupakan salah satu algoritma data mining yang menggunakan teknik association rule. Algoritma FP-Growth sangat efisien dan

scalable untuk menentukan frequent pattern baik dalam data besar maupun kecil. Algoritma ini juga lebih cepat daripada algoritma apriori dimana pada algoritma apriori harus dilakukan iterasi secara berulang kali sehingga membutuhkan waktu yang cukup lama untuk menyelesaikan. Algoritma apriori juga tidak dapat menangani data yang besar, sehingga algoritma FP-Growth ini dapat dijadikan sebagai solusi bagi permasalahan yang terjadi pada algoritma apriori yaitu masalah pada candidate set generation and test.

Beberapa istilah yang ada dalam algoritma FP-Growth diantaranya dapat dijelaskan dengan pemisalan berikut ini :

a. merupakan kumpulan dari item – item yang ada dalam transaksi database

b. merupakan transaksi yang ada dalam database dimana merupakan sebuah transaksi yang mengandung item yang berada pada I.

c. Support( frekuensi kemunculan ) dari pattern A adalah angka dari transaksi yang mengandung item A di dalam DB.

d. A merupakan sebuah frequent pattern jika nilai dari supportA tidak kurang dari minimum support yang telah ditentukan sebelumnya.

Dalam algoritma FP-Growth dikenal pula istilah frequent pattern tree( FP-tree) yaitu sebuah struktur seperti pohon prefix yang digunakan untuk mendesain struktur frequent pattern mining secara efisien. Setiap node pada pohon diisi dengan 1 item dan di setiap anak dari node tersebut merepresentasikan item yang berbeda dengan item yang ada pada induk. Setiap node juga menyimpan informasi pendukung dari isi item di dalam path dari root hingga ke node. Sebuah root dalam pohon diinisialisasikan dengan nilai null. Dengan menggunakan FP-Tree, algoritma FP-growth dapat langsung mengekstrak

frequent Itemset.

Langkah – langkah yang dijalankan dalam algoritma FP-growth adalah sebagai berikut :

a. Menentukan minimum support yang akan digunakan untuk menentukan rule dalam mencari frequent pattern.

b. Melakukan scanning pada database untuk mendapatkan frekuensi

kemunculan suatu item.

c. Melakukan seleksi / pembuangan terhadap item yang memiliki count

kurang dari minimum support yang telah ditentukan. Untuk item yang memenuhi minimum support disimpan dalam list L, dan lakukan

sorting secara descending berdasarkan jumlah frekuensi terbesar hingga terkecil.

d. Membentuk root FP-Tree yang diberi nilai dengan “null”.

e. Melakukan scan yang kedua kalinya untuk cabang dari FP-Tree sesuai dengan urutan transaksi pada list L. Apabila item yang ada pada transaksi berikutnya sudah ada pada transaksi sebelumnya maka nilai

indeks dari item tersebut akan bertambah 1, sedangkan jika item belum ada pada transaksi sebelumnya akan membentuk cabang baru.

f. Berdasarkan list L pisahkan tiap frequent itemsets tanpa pengulangan g. Melakukan analisa FP-Tree yang telah terbentuk dengan cara mencari

frequent itemsets yang mengandung nilai ai lalu setarakan nilai

frequent itemsets tersebut dengan nilai ai. Setelah disetarakan, jumlahkan kedua nilai support frequent itemsets yang sama. Untuk nilai yang diatas maupun sama dengan minimum support lah yang menjadi rule. Langkah analisa diatas dilakukan berulang untuk semua

subset yang ada pada FP-Tree.

h. Hasil analisa FP-Tree yang sesuai dengan minimum support itulah yang digunakan sebagai rule

Berikut adalah contoh dari penerapan algoritma pada sebuah data transaksi : Tabel 2. 1 Transaksi dalam database

TID Items Bought

100 f,a,c,d,g,i,m,p 200 a,b,c,f,l,m,o 300 b,f,h,j,o 400 b,c,k,s,p 500 a,f,c,e,l,p,m,n

Tabel 2.1 menjelaskan lima buah transaksi yang ada dalam database yaitu . Sedangkan items bought menunjukkan item yang ada pada transaksi tersebut adalah . Untuk mulai melakukan mining menggunakan algoritma FP-Growth, sebelumnya ditentukan dahulu minimum support nya. Dalam contoh ini saya tentukan minimum support nyayaitu 3.

Tabel 2. 2 Hasil scanning dan sorting dari database

Item Count f 4 c 4 a 3 b 3 m 3 p 3 l 2 o 2 d 1 g 1 i 1 h 1 j 1 k 1 s 1 e 1 n 1

Tabel 2.2 menjelaskan langkah pertama yang dijalankan yaitu melakukan

scan pada database untuk mendapatkan frekuensi kemunculan item dalam database. Lalu sorting berdasarkan jumlah frekuensi terbesar hingga terkecil. Urutan tersebut penting yang nantinya akan digunakan dalam membuat FP-Tree

Tabel 2. 3 Hasil item yang memenuhi minimum support

Item Count f 4 c 4 a 3 b 3 m 3 p 3

Tabel 2.3 menjelaskan langkah selanjutnya yaitu melakukan seleksi terhadap item yang memiliki count kurang dari minimum support yang telah ditentukan sehingga menyisakan item f, c,a,m,p dan b. Sehingga transaksi dalam

database yang berisi item yang memenuhi minimum support dapat di lihat pada table 2.4

Tabel 2. 4 Transaksi database yang berisi item yang memenuhi minimum support

TID Items Bought ( Ordered) Frequent Items 100 f,a,c,d,g,i,m,p f,c,a,m,p 200 a,b,c,f,l,m,o f,c,a,b,m 300 b,f,h,j,o f,b 400 b,c,k,s,p c,b,p 500 a,f,c,e,l,p,m,n f,c,a,m,p

Langkah selanjutnya adalah membuat root dari sebuah pohon yang

di beri label “null”. Pada tahap ini dilakukan proses scanning untuk yang kedua kalinya. Proses scan ini diawali pada transaksi pertama yaitu transaksi yang berisi item (f,c,a,m,p). Transaksi tersebut menjadi cabang pertama dari pohon, setiap item baru diberi nilai 1 sehingga menjadi

.

Pada transaksi kedua yaitu transaksi yang berisi item (f,c,a,b,m) membentuk cabang baru ketika sampai pada item (b dan m) karena item (f,c,a) sudah terbentuk pada transaksi pertama sehingga menggunakan transaksi pertama. Hanya saja nilai dari item dalam node yang telah ada pada transaksi pertama dan dilewati juga dalam transaksi kedua bertambah 1 sehingga nilainya menjadi 2. Sedangkan pada node yang sedang terbentuk pertama kali pada transaksi kedua bernilai 1 sehingga hasilnya adalah .

Pada transaksi ketiga yaitu transaksi yang berisi item (f,b) membentuk cabang baru ketika pada item (b) karena item (f) menggunakan cabang yang sudah terbentuk pada transaksi sebelumnya. Sehingga nilai dari item-item tersebut adalah .

Pada transaksi ke empat yaitu transaksi yang berisi item (c,b,p) membentuk cabang baru dari awal karena pada transaksi sebelumnya tidak ada yang melakukan scan dengan diawali item ( c ). Sehingga nilai dari masing – masing item tersebut adalah 1

Sedangkan pada transaksi terakhir yaitu transaksi yang berisi item (f,c,a,m,p ) tidak membentuk cabang baru hanya saja nilai dari masing – masing item tersebut bertambah 1. Hasil scan kedua yang dilakukan dalam database yang berupa pohon dapat dilihat pada gambar 2.2 di bawah ini.

Gambar 2. 2Header table ( Jiawei Han)

Dengan pohon yang telah terbentuk, selanjutnya akan dilakukan

mining frequent patterns. Proses ini dilakukan dengan mengoleksi patterns dari node yang dimulai dari head( kepala) dari node dan diikuti dengan item yang ada pada node-links tersebut. Proses mining dimulai dari item yang terletak paling bawah pada Header table yaitu p.

Untuk node p, mendapatkan nilai frequent pattern (p:3) dan dua

path dalam FP-tree yaitu dan . Dari path yang dilalui bersama dengan p hanya ada 2 kali sehingga disamakan dengan nilai dari p tersebut yaitu . Begitu juga dengan path yang kedua disamakan dengan jumlah p yang dilalui bersama yaitu . Kemudian dari dua path tersebut dijumlahkan nilai dari masing – masing item yang ada di kedua path sehingga menghasilkan satu frequent pattern yaitu (c,p) karena hanya c dan p itu sendiri yang memenuhi minimum support yang telah ditentukan.

Untuk node m, mendapatkan nilai frequent pattern (m:3) dan dua

path dalam FP-tree yaitu dan . Dari path yang dilalui bersama dengan m hanya ada 2 kali sehingga disamakan dengan nilai dari m tersebut yaitu . Begitu juga dengan path yang kedua disamakan dengan jumlah m yang dilalui bersama yaitu . Kemudian dari

dua path tersebut dijumlahkan nilai dari masing – masing item yang ada di kedua path sehingga menghasilkan satu frequent pattern yaitu (f,c,a,m) .

Untuk node b, mendapatkan nilai frequent pattern (b:3) dan tiga

path dalam FP-tree yaitu , , . Dari path yang dilalui bersama dengan b hanya ada 2 kali path pertama sehingga disamakan dengan nilai dari b tersebut yaitu . Begitu juga dengan path yang kedua disamakan dengan jumlah b yang dilalui bersama yaitu . Selanjutnya berlaku juga dengan path yang ketiga disamakan dengan jumlah b yang dilalui bersama yaitu . Kemudian dari dua path tersebut dijumlahkan nilai dari masing – masing item yang ada di ketiga path. Dari node b ternyata tidak terdapat frequent pattern karena tidak ada yang memenuhi minimum support.

Untuk node a, mendapatkan nilai frequent pattern (a:3) dan sebuah

path dalam FP-tree yaitu . Dari path yang dilalui bersama dengan a ada 3 kali sehingga disamakan dengan nilai dari m tersebut yaitu .Dari path tersebut menghasilkan satu frequent pattern yaitu (f,c,a).

Untuk node c, mendapatkan nilai frequent pattern (c:4) dan dua

path dalam FP-tree yaitu dan . Dari path yang dilalui bersama dengan c hanya ada 3 kali sehingga disamakan dengan nilai dari c tersebut yaitu . Dari path tersebut menghasilkan satu frequent pattern yaitu (f,c).

Untuk node f yang merupakan kepala dari node tidak dilakukan

Tabel 2. 5Hasil Akhir

Dari proses tersebut dapat beberapa rule yang merupakan hasil akhir dari proses mining dengan menggunakan algoritma FP-Growth yaitu { (c,p), (f,c,a,m,p), (f,c,a), (f,c)} seperti yang terlihat pada table 2.5 di atas. 2.5Lift Ratio

Lift Ratio merupakan sebuah ukuran yang digunakan dalam teknik asosiasi untuk mengukur seberapa besar tingkat keakuratan sebuah rule yang dihasilkan dari proses asosiasi.

Beberapa istilah yang digunakan dalam Lift Ratio adalah sebagai berikut :

a. Antecedent merupakan sebab. Antecedent adalah item yang menjadikan item

consequent.

b. Consequent merupakan sebuah akibat. Secara sederhana dapat dijelaskan sebagai item barang yang dibeli karena suatu barang telah dibeli.

………..(2.1)

Dimanaconfidence:

….…….(2.2)

Antecedent disimbolkan dengan A sedangkan consequent disimbolkan dengan C

Sedangkan expected confidence :

………(2.3)

Nilai dari Lift Ratio dapat dibaca sebagai berikut :

a. Apabila nilai dari Lift Ratio > 1 maka menyatakan bahwa A dan C muncul lebih sering dari yang diharapkan

b. Apabila nilai dari Lift Ratio = 1 maka menyatakan bahwa A dan C muncul hampir selalu bersamaan seperti yang diharapkan

c. Apabila nilai dari Lift Ratio< 1 maka menyatakan bahwa A dan C muncul lebih jarang dari yang diharapkan

20

BAB III

ANALISIS DAN PERANCANGAN SISTEM

Dokumen terkait