• Tidak ada hasil yang ditemukan

Implementasi Metode FP Growth dengan apl

N/A
N/A
Protected

Academic year: 2018

Membagikan "Implementasi Metode FP Growth dengan apl"

Copied!
13
0
0

Teks penuh

(1)

BAB I

PENDAHULUAN

1.1 Algoritma FP-Growth

Algoritma FP-Growth merupakan pengembangan dari algoritma Apriori.

Sehingga kekurangan yang dimiliki oleh algoritma Apriori diperbaiki oleh

algoritma FP-Growth. Frequent Pattern Growth (FP-Growth) adalah salah satu

alternatif algoritma yang dapat digunakan untuk menentukan himpunan data yang

paling sering muncul (frequent itemset) dalam sebuah kumpulan data. Pada

algoritma Apriori diperlukan generate candidate untuk mendapatkan frequent

itemset, tetapi algoritma FP-Growth generate candidate tidak dilakukan kerena

FP-Growth menggunakan konsep pembangunan tree dalam pencarian frequent

itemset. Hal inilah yang menyebabkan algoritma FP-Growth lebih cepat jika

dibandingkan dengan algoritma Apriori. Algoritma Apriori harus melakukan

pattern matching berulang-ulang sedangkan dalam algoritma FP-Growthterdapat

banyak kelebihan yang terbukti efisien karena hanya melakukan pemetaan data

atau scan database sebanyak 2 kali untuk membangun struktur tree. Dengan

menggunakan struktur tree algoritma FP-Growth dapat langsung mengekstrak

frequent itemsetdari susunan FP-Treeyang telah terbentuk.

Penggalian frequent itemset menggunakan algoritma FP-Growth akan

dilakukan dengan cara membangkitkan struktur data treeatau disebut dengan

FP-Tree. Algoritma FP-Growthdapat dibagi menjadi tiga tahapan utama yaitu :

1. Tahapan pembangkitan conditional pattern base

2. Tahapan pembangkitan conditional FP-Tree

3. Tahapan pencarian frequent itemset

1.2 Perbandingan Algoritma FP-Growthdan Algoritma Apriori

1. Algoritma FP-Growthlebih cepat karena hanya melakukan scan database

dua kali sedangkan algoritma Apriorimelakukan scan database

berulang-ulang

2. Algoritma FP-Growth menggunakan kode barang pada prosesnya

sedangkan algoritma Apriorimenggunakan nama barang.

3. Algroritma FP-Growth memliliki akurasi rules yang lumayan sedangkan

(2)

BAB II

PEMBAHASAN

2.1 Data

Misalnya data yang digunakan adalah data transaksi penjualan sebuah

supermarket dalam satu periode waktu, datanya sebagai berikut :

Tabel 2.1 Data Transaksi

1401 20015838 POCARI SWEAT,MINUMAN ISOTONIK 350mL BTL

20009722 POCARI SWEAT,MINUMAN ISOTONIK 500mL BTL

10006861 UBM,BISCUIT ARROW BRAND SQUAREPUFF 400g PCK

1402 20045099 DIPLOMAT,ROKOK PREMIUM MILD FILTER 16'S BKS

10006861 UBM,BISCUIT ARROW BRAND SQUAREPUFF 400g PCK

1403 10000316 BENG-BENG,WAFER CHOCOLATE 20g PCK

10023789 SEDAAP MIE,MIE INSTANT GORENG 90g PCK

10006861 UBM,BISCUIT ARROW BRAND SQUAREPUFF 400g PCK

14701 20009722 POCARI SWEAT,MINUMAN ISOTONIK 500mL BTL

10023789 SEDAAP MIE,MIE INSTANT GORENG 90g PCK

10006861 UBM,BISCUIT ARROW BRAND SQUAREPUFF 400g PCK

14702 20037766 HANSAPLAST,PLESTER PLASTIK (10'S) MICKEY

10000316 BENG-BENG,WAFER CHOCOLATE 20g PCK

20015838 POCARI SWEAT,MINUMAN ISOTONIK 350mL BTL

14703 10006861 UBM,BISCUIT ARROW BRAND SQUAREPUFF 400g PCK

20009722 POCARI SWEAT,MINUMAN ISOTONIK 500mL BTL

1501 20037766 HANSAPLAST,PLESTER PLASTIK (10'S) MICKEY

20009722 POCARI SWEAT,MINUMAN ISOTONIK 500mL BTL

1502 10006861 UBM,BISCUIT ARROW BRAND SQUAREPUFF 400g PCK

20009722 POCARI SWEAT,MINUMAN ISOTONIK 500mL BTL

1503 10000316 BENG-BENG,WAFER CHOCOLATE 20g PCK

3001 20037766 HANSAPLAST,PLESTER PLASTIK (10'S) MICKEY

2.2 Langkah-Langkah membangun FP-Tree

1. Generate Frequent Itemset

Tabel 2.2 Generate Frequent Itemset

(3)

Misalnya telah ditentukan minimum supportnya 20% atau minimal 2 transaksi

maka kode barang 22045009 harus dieliminasi. Selanjutnya data yang memiliki

minimum support di urutkan berdasarkan frekuensinya. Hasilnya akan terlihat

seperti tabel di bawah ini :

Tabel 2.2 FP-List

minimum support. Fungsi dari TID adalah untuk memberikan nomor urut pada

transaksi setelah membuat FP-List. Urutkan item pada setiap transaksi

berdasarkan frekuensi paling tinggi ke frekuensi yang paling rendah. Kemudian

mulailah membuat treesecara urut berdasarkan TID nya.

Tabel 2.3 TID

TID No. Transaksi Kode Barang Frekuensi

(4)

3. Membentuk Frequent Pattern Tree (FP-Tree). FP-Tree merupakan struktur

penyimpanan data yang dimampatkan. FP-Tree dibangun dengan memetakan

setiap data transaksi ke setiap lintasan tertentu dalam FP-Tree. Karena dalam

setiap transaksi yang dipetakan, mungkin ada transaksi yang memiliki item

yang sama, maka lintasannya memungkinkan untuk saling menimpa. Semakin

banyak data transaksi yang memiliki item yang sama, maka proses

pemampatan dengan struktur FP-Treesemakin efektif. Kelebihan dari FP-Tree

adalah hanya memerlukan dua kali pemindaian data transaksi yang terbukti

sangat efisien. FP-Tree dibentuk oleh sebuah akar yang diberi label null,

sekumpulan pohon yang beranggotakan item-item tertentu dari sebuah tabel

frequent header. Setiap simpul dalam FP-Tree mengandung tiga informasi

penting yaitu label item yang menginformasikan jenis item yang

direpresentasikan item tersebut. Support count, merepresentasikan jumlah

lintasan transaksi yang melalui simpul tersebut. Dan pointerpenghubung yang

menghubungkan simpul-simpul dengan label item yang sama antar lintasan

ditandai dengan garis panah putus-putus. Langkah-langkah membangun

FP-Treeadalah sebagai berikut :

a. Pembacaan TID 1

Pada TID 1 terdapat nilai {10006861, 20009722, 20015838} yang kemudian

membentuk lintasan null → 10006861 → 20009722 → 20015838 dengan

support count awal bernilai 1. Untuk lebih lengkapnya dapat dilihat pada

gambar dibawah ini :

Gambar 2.1 FP-TreeTID 1 10006861:1

20009722:1

20015838:1

(5)

b. Pembacaan TID 2

Setelah pembacaan TID 1, maka selanjutnya membaca TID 2 yaitu

{10006861} sehingga nilai dari 10006861 akan bertambah satu sehingga

menjadi 2, tetapi nilai yang lainnya tetap karena tidak ada transaksi dengan

kode barang yang sama dengan pembacaan TID pertama.

Gambar 2.2 FP-TreeTID 2

c. Pembacaan TID 3

Setelah pembacaan TID 2, maka selanjutnya membaca TID 3 yaitu

{10006861, 10000316, 10023789} sehingga nilai 10006861 akan

bertambah satu, sehingga menjadi 3 dan akan membentuk cabang baru

untuk kode transaksi 10000316 dan 10023789 nilai awalnya adalah 1,

seperti gambar di bawah ini.

Gambar 2.3 FP-TreeTID 3 10006861:2

20009722:1

20015838:1

Null

10006861:3

20009722:1

20015838:1

Null

10000316:1

(6)

d. Pembacaan TID 4

Setelah pembacaan TID 3, maka selanjutnya membaca TID 4 yaitu

{10006861, 20009722, 10023789}. Nilai 10006861 akan bertambah 1 lagi

sehingga menjadi 4, dan nilai 20009722 akan bertambah 1 menjadi 2, dan

akan membentuk akar baru atau cabang baru untuk kode barang 10023789

dan nilai awalnya adalah 1. Untuk lebih jelasnya dapat dilihat pada gambar

Gambar 2.4 FP-TreeTID 4

e. Pembacaan TID 5

Setelah pembacaan TID 4, maka selanjutnya membaca TID 5 yaitu

{20037766, 10000316, 20015838}. Disini harus membuat lintasan baru

lagi dengan nilai awal 1, karena kode barang 20037766 belum pernah

terlewati sama sekali. Lebih jelasnya dapat di lihat pada gambar

Gambar 2.5 FP-TreeTID 5 10006861:4

20009722:2

20015838:1

Null

10000316:1

10023789:1 10023789:1

10006861:4

20009722:2

20015838:1

Null

10000316:1

10023789:1

10023789:1

20037766:1

20000316:1

(7)

f. Pembacaan TID 6

Setelah pembacaan TID 5, maka selanjutnya membaca TID 6 yaitu

{10006861, 20009722}, nomer transaksi ini pernah di lewati dan sudah

mempunyai nilai sehingga tinggal di tambahkan saja, nilainya menjadi

10006861 : 5 dan 20009722: 3. Lebih jelasnya langsung lihat gambar

Gambar 2.6 FP-TreeTID 6

g. Pembacaan TID 7

Setelah pembacaan TID 6, maka selanjutnya membaca TID 7 yaitu

{20009722, 20037766}. Kode barang 20009722, 20037766 sama sekali

belum terlewati, maka harus membuat cabang baru dengan nilai awal 1.

Lebih jelasnya langsung lihat pada gambar

(8)

h. Pembacaan TID 8

Setelah pembacaan TID 7, maka selanjutnya membaca TID 8 yaitu

{10006861, 20009722}. Kode barang 10006861 telah terlewati sebanyak

5x, dan kode barang 20009722 telah terlewati sebanyak 3x, maka langkah

selanjutnya tinggal menambahkan saja nilainya, sehingga menjadi

10006861 : 6 dan 20009722 : 4. Lebih jelasnya dapat langsung di lihat

pada gambar

Gambar 2.8 FP-TreeTID 8

i. Pembacaan TID 9

Setelah pembacaan TID 8, maka selanjutnya membaca TID 9 yaitu

{1000316}. Kode barang 1000316 belom pernah terlewati, sehingga harus

membuat lintasan baru lagi dengan nilai awal 1. Selengkapnya dapat di

lihat dalam gambar

Gambar 2.9 FP-TreeTID 9

(9)

j. Pembacaan TID 10

Setelah pembacaan TID 9, maka selanjutnya membaca TID 10 yaitu

{20037766}. Sebelumnya kode barang ini telah di lewati sebanyak 1x,

maka langkah selanjutnya tinggal menambahkan saja nilai nya, sehingga

menjadi 2. Selengkapnya dapat di lihat pada gambar

Gambar 2.10 FP-TreeTID 10

Pembacaan TID 10 merupakan proses pembacaan tree yang terakhir dan didapatkan hasil akhir FP-Tree.

2.3 Menentukan Frequent Itemset

Algoritma FP-Growthmenemukan frequent itemsetyang berakhiran suffix

tertentu dengan menggunakan metode divide and conquer untuk memecah

problem menjadi subproblem yang lebih kecil. Untuk lebih jelas dapat dilihat

contoh menemukan frequent itemsetyang berakhiran 10023789 sebagai berikut.

Setelah mengetahui bahwa item 10023789 adalah item yang frequent, maka

subproblem selanjutnya adalah menemukan frequent itemset dengan akhiran

{10006861,10023789},{20009722,10023789},{20037766,10023789},{10000316

,10023789},{20015838,10023789} dengan cara membangun FP-Tree yang

menyertakan lintasan 10023789 yang disebut dengan Conditional Tree.

Conditional Tree dimaksudkan untuk mencari frequent itemset yang berakhiran

item tertentu. Untuk lebih jelasnya dapat dilihat pada gambar Conditional Tree

berikut ini :

1000316:1 20009722:1

20037766:1 Null

10006861:6

20009722:4

20015838:1

10000316:1

10023789:1 10023789:1

20037766:2

20000316:1

(10)

Gambar 2.11 Conditional Tree

Setelah Conditional Tree terbentuk maka langkah selanjutnya adalah mencari

frequent itemset yang berakhiran 10023789 dengan cara menggabungkannya

dengan item yang lain yang masih dalam satu lintasan baik digabung menjadi 2

itemset maupun menjadi tiga itemset. Sehingga didapatkan hasil frequent itemset

untuk item 10023789 adalah {10023789}, {20009722, 10023789}, {10006861,

20009722,10023789}, {10000316,10023789}, {20037766, 10000316, 10023789}

Seperti itulah langkah yang harus dilakukan untuk menemukan frequent itemset

dari item-item yang lainnya. Setelah didapatkan semua frequent itemsetdari setiap

item maka dapat dilihat dalam tabel dibawah ini :

Tabel 2.4 Frequent Itemset

Item Frequent Itemset

10006861 {10006861}

20009722 {20009722},{10006861, 20009722} 20037766 {20037766},{20009722, 20037766}

10000316 {10000316},{20037766, 10000316},{10006861, 10000316}

20015838

{20015838},{20009722,

20015838},{10006861,20009722,20015838},{10000316,20015838} ,{20037766,10000316,20015838}

10023789

{10023789},{20009722,10023789},{10006861,20009722,10023789 },{10000316,10023789},{10006861,10000316,10023789}

Dengan metode divide and conquer ini, maka pada setiap langkah rekursif,

algoritma FP-Growth akan membangun sebuah Conditional Tree yang baru dan

membuang item-item yang tidak frequentlagi.

Null

10006861:6

20009722:4 10000316:1

(11)

BAB III

HASIL PEMBAHASAN

3.1 Implementasi Algoritma FP-GrowthManggunakan Software Weka 3.7.4

Data transaksi penjualan ini diolah dengan softwareweka 3.7.4, untuk bisa

menggunakan software ini, data yang digunakan sebagai masukkan harus dalam

format *.arff ataupun *.csv. untuk mengganti format data dapat digunakan

pengolah data microsoft excel untuk mengganti menjadi format *.csvdan dengan

menggunakan software weka 3.7.4 itu sendiri untuk mengganti menjadi format

*arff.

Gambar 3.1 Tamilan utama weka 3.7.4

Sebelum melakukan proses mining terlebih dahulu dilakukan tahapan

preprocessing yaitu merubah format data agar dapat digunakan dalam software.

(12)

Gambar 3.2 Preprocessing

Gambar 3.3 Hasil Algoritma FP-Growth

Dari hasil yang didapatkan menggunakan software WEKA 3.7.4 dihasilkan 10

rulesdan ditampilkan 10 rulesyang paling kuat. Berikut rulesyang ditemukan :

1. [10023789=true]: 2 ==> [10006861=true]: 2 <conf:(1)> lift:(1.67) lev:(0.08)

conv:(0.8)

2. [20045099=true]: 1 ==> [10006861=true]: 1 <conf:(1)> lift:(1.67) lev:(0.04)

conv:(0.4)

3. [10006861=true, 20015838=true]: 1 ==> [20009722=true]: 1 <conf:(1)>

lift:(2) lev:(0.05) conv:(0.5)

4. [20009722=true, 20015838=true]: 1 ==> [10006861=true]: 1 <conf:(1)>

lift:(1.67) lev:(0.04) conv:(0.4)

5. [20009722=true, 10023789=true]: 1 ==> [10006861=true]: 1 <conf:(1)>

lift:(1.67) lev:(0.04) conv:(0.4)

6. [10006861=true, 10000316=true]: 1 ==> [10023789=true]: 1 <conf:(1)>

lift:(5) lev:(0.08) conv:(0.8)

7. [10000316=true, 10023789=true]: 1 ==> [10006861=true]: 1 <conf:(1)>

lift:(1.67) lev:(0.04) conv:(0.4)

8. [20037766=true, 10000316=true]: 1 ==> [20015838=true]: 1 <conf:(1)>

(13)

9. [20037766=true, 20015838=true]: 1 ==> [10000316=true]: 1 <conf:(1)>

lift:(3.33) lev:(0.07) conv:(0.7)

10. [10000316=true, 20015838=true]: 1 ==> [20037766=true]: 1 <conf:(1)>

lift:(3.33) lev:(0.07) conv:(0.7)

3.2 Kesimpulan

Berdasarkan penelitian yang telah dilakukan, maka dapat ditarik beberapa

kesimpulan sebagai berikut :

1. FP-Tree yang terbentuk dapat memampatkan data transaksi yang memiliki

itemset yang sama, sehingga penggunaan memory komputer lebih sedikit dan

proses pencarian frequent itemsetmenjadi lebih cepat.

2. Dengan menggunakan algoritma FP-Growth maka pemindaian kumpulan

data transaksi hanya dilakukan dua kali, jauh lebih efisien dibandingkan

algoritma dengan paradigma Apriori.

3. FP-Growth merupakan salah satu algoritma yang menjadi dasar

perkembangan beberapa algoritma baru yang lebih efektif, karena

kelebihannya yaitu tidak melakukan pemindaian data transaksi secara

Gambar

Tabel 2.2 Generate Frequent Itemset
Tabel 2.2 FP-List
gambar dibawah ini :
Gambar 2.3 FP-Tree TID 3
+6

Referensi

Dokumen terkait

Dengan memanjat puji syukur kepada Allah SWT yang telah melimpahkan segala nikmat dan rahmat_Nya, sehingga penulisan skripsi dengan judul Pengaruh Pengembangan Karir

Perancangan skenario mobilitas ujicoba VANET dimulai dari perancangan peta pergerakan node , pembuatan rute lalu lintas dan pengimplementasian pergerakan. Dalam paper

PROGRES MINGGU LALU (%) NILAI KONTRAK (Rp.) MASA PELAKSANAAN KETERANGAN 24 Perbaikan Pengendalian Banjir Sungai Bodri II

Sisanya (88%) adalah pikiran bawah sadar (unconscious) yang masih dapat dimaksimalkan untuk memperoleh sesuatu yang lebih baik, menampilkan kemampuan terbaik setiap saat

The numerical values shown on the first graph in Figure 79 describe the power ratio of pyramidal horn antenna, while other two graphs represent values of return loss and VSWR....

Sarung tangan yang kuat, tahan bahan kimia yang sesuai dengan standar yang disahkan, harus dipakai setiap saat bila menangani produk kimia, jika penilaian risiko menunjukkan,

Dalam rangka mensukseskan kesejahteraan masyarakat pedesaan, salah satu sasarannya adalah peningkatan pengembangan yang dinilai dengan peningkatan

Jenis penelitian ini adalah jenis penelitian eksperimental murni dengan menggunakan tikus putih jantan yang diinduksi vaksin Difteri Pertusis Tetanus untuk melihat