ANALISIS KINERJA ALGORITMA FOLD-GROWTH DAN FP-GROWTH PADA PENGGALIAN POLA ASOSIASI

ANALISIS KINERJA ALGORITMA FOLD-GROWTH DAN
FP-GROWTH PADA PENGGALIAN POLA ASOSIASI

TUGASAKHIR

f'l'..:ltP GSTAI\1\AN
J T S

Disusun Oleh :

'fcl. Tt>rl"'"

"21 - 'Z-C)£>

NI MADE ARINI

Terfm11 lJ., ri

1/

5201.100.001


-

No. Afe"d• Prp.
;A~4'J&

PROGRAM STUDI SISTEM INFORMASI
FAKULTAS TEKNOLOGI INFORMASI
INSTITUT TEKNOLOGI SEPULUH NOPEMBER
SURABAYA
2006

t-

ANALISIS KINERJA ALGORITMA FOLD-GROWTH DAN
FP-GROWTH PADA PENGGALIAN POLA ASOSIASI

TUGASAKHIR
Diajukan untuk Memenuhi Sebagian Persyaratan
Memperoleh Gelar Sarjana Komputer

Pad a
Program Studi Sistem lnformasi
Fakultas Teknologi lnformasi
Institut Teknologi Sepuluh Nopember
Surabaya

SURABAYA
JANUARI 2006

ABSTRAKSI

Penggalian data sangat penting untuk proses pengumpulan data dan
untuk penyimpanan data. Di sisi lain, data mentah yang tersedia sangatlah besar
sehingga analisis manual tidak lagi memungkinkan untuk menangani masalah
data. Permasalahan utama dari penggalian data adalah munculnya beberapa
struktur data baru yang dimaksudkan untuk memperbaiki efisiensi dari penggalian
data. Dan tidak satu pun dari struktur data tersebut yang mampu menangani
semua masalah penggalian data.
Fold-Growth mempakan salah satu dari metode penggalian pola
asosiasi dengan menggunakan struktur data SOTrieiT (Support Ordered-Trie

Itemset) dalam proses penggalian itemset yang frequent. SOTrieiT adalah sebuah
struktur data yang dapat melakukan ekstraksi 1-itemset dan 2-itemset dari semua
transaksi dalam basis data. Dengan menggunakan basis data transaksi yang terdiri
dari kode transaksi, dan kode dari barang yang di beli, algoritma ini akan diproses
untuk menghasilkan pola asosiasi. Pada penelitian ini, algoritma FOLD-growth
akan dibagi dalam empat tal1apan utama yaitu, tahapan penggalian 1-itemset
frequent dan 2-itemset frequent, tahap pemangkasan item-item yang tidak
frequent, membangun FP-tree, dan talmpan penggalian semua itern.set frequent.
Berdasarkan uji coba, yang melibatkan dataset sintetik, dapat
disimpulkan bahwa secara umum durasi eksekusi dan utilisasi memori FoldGrowth lebih kecil dibandingkan dengan FP-Growth.
Kata Kunci : FP-growth, SOTrien: J.'old-Growth, pola asosiasi, penggalian data,
struktur data..

ii

ABSTRACT
Data mining is very important for data collecting and storage tools_ On
the other hand, raw data is so abundant that manual analysis is no longer possible.
The main problem of data mining is the introduction of several novel data
structures to improve mining efficiency. And none of data structures can solve

every problems of data mining.
Fold-Growth is one of association mles mining method using
SOTrieiT (Support Ordered-Trie Itemset) data structure in mining frequent
itemset. SOTrieiT is a data stmcture that can extracting 1-itemsets and 2-itemsets
from all transactions. With transaction basis data consisted of ID Transaction, and
Code of item's bought, the algorithm will be processed to yield the association
rules. In this research, Fold-Growth algorithm will be devided in four main steps
which is, the phase of mining 1-Itemset and 2-Itemset, pruning item that is not
frequent, construct FP-tree, and phase of mining Frequent ItemseL
Reffering to the experiments, involving a wide range of synthetic data
sets, can be concluded that the execution time and memory utilization of FOLDgrowth algorithm generally more effisien than FP-growth algorithm.
Keywords : FP-growth, SOTriel1; Fold-Growth, association rules, data mining,
data structure.

lll

KATA PENGANTAR
Puji syukur penulis panjatkan ke hadirat TUHAN YME yang hingga saat ini telah
memberikan karunia berupa beribu nikmat kepada penulis.
Dengan mengucapkan astunkarah, akhirnya tugas akhir berjudul " ANALISIS

KINERJA

ALGORlTMA

FOLD-GROWTH

DAN

FP-GROWTH

P ADA

PENGGALIAN POLA ASOSIASf' dapat diselesaikan. Berjuta ucapan terima kasih
penulis sampaikan kepada berbagai pihak yang telah membantu penulis, baik dalam
pelaksanaan tugas akhir maupun dalam pembuatan laporan tugas akhir ini:
1. Kedua orang tua penulis yang selalu memberikan dukungan moral dan material
dalam pelaksanaan tugas akhir.
2. Bapak Rully Soelaiman, S.Kom M . Kom selaku dosen pembimbing yang telah
memberikan bimbingan dan motivasi kepada penulis.
3. Bapak Dr. Ir. Arif Djunaidy, M.Sc Ph.D selaku dosen wali yang telah

memberikan motivasi kepada penulis.
4. Semua Bapak dan Ibu Dosen Pengajar di Program Studi Sis tern Informasi ITS
yang telah memberikan ilmu yang berharga kepada penulis.
5. Adikku tercinta, Dhimas, terima kasih atas dukungannya, walaupun sukanya
selalu minta traktiran. Mbak Dewi sekeluarga, terutama Nayu, makasih udah
selalu bikin Ayu ketawa.
6. Bli ~

makasih atas dukungannya, coklatnya enak lho.

7. Dyah, Ratih, Eka, Risa, dan semua anak SI 2001 , terima kasih dukungannya.
Penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna. Oleh karena
itu penulis senantiasa terbuka terhadap kritik dan saran.

Surabaya, 2 Februari 2006

Penulis

DAFTARISI


LEMBAR PENGESAifAN ..... ..... .............................. .... .. . ........... ......... ..
ABS'fRAKSI .......................................................................................... ... .......... ii

ABSTRACT .....................................................................

.. .... . . .... n1

KATA PENGANTAR ... .. ... ... ............ ... ..... ... ..... .. ................................ .......... ... .. iv
DAFTAR lSI.... .........................................

... .... .. .. .. . .. .. ... .. .. .. . v

DAFT AR GAMBAR ..... .. ................. ........ .......................... .. ............................. vii

DAFTA..R TABEL ................................................................... .. .. ... " .... ..

IX

DAFT AR LAMPIRAN .................................................... .. ....... .. .. ... ................. .. . X
BAB I PENDAHUT ,UAN ................. ............................. .... ............ .. .. .. .... ........ .... 1

1.1

Latar Belakang ....... .... ............................................................. .... .... ... ..... 1

1.2

Permasalahan . . . . .. . . . . . . .. . . . . . . . . .. . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .

1.3

Batasan Masalah ............. .... ............... ... .. ...... .......... ..... .......... ..... ....... ...... 3

1.4

Tujuan ........................... ....................... ...........

1.5

Metodolog1 .. ............................ ................. ...... .... ... ........................ ........... 3


1.6

Sistematika Penulisan Tugas Akhir ......................................................... 4

. .......... ....... ... .. .. 2

. ......... ........... 3

BAB II PENGGALIAN KAIDAH ASOSIASI DENGAN ALGORITMA FOLDGROWTH ..... ..... .. ... .... ... ............ ......................... .. .. . . . . .

...... ......... 6

2.1

Penggalian Data .................................... .... .. ......... .. ..... ... .. .. ... .......... ... .... . 6

2.2

Penggalian Kaidah Asosiasi ............................. .... .... .... ... .


2.3

Definisi Permasalahan .. ..... ........ ...... ...... .... .... .. ....... ..... ........ ..... .... ...... ...... 9

2.4

Penggalian Kaidah Asosiasi dengan Pendekatan Frequent Pattern-Growth

.. ...... 6

(FP-Growth) .... .. ......... .. ......... ... .... ....... ................ ......... ..... .. .............. ................ 10
2.5

Penggalian Kaidah Asosiasi dengan Pendekatan Fast Online Dynamic

Association Rule Mining (FOLDA...ltM) .......................... ........ ........... ........ ........ 20
2.6

Algoritma FOLD-Growth ...................................................................... 34


BAB IH.PERANCANGAN DAN IMPLEMENTASI PERM~GKAT

LUNAK .. 43

3.1

Anal isis Kebutuhan Sistem ........................................................ ... .......... 43

3.2

Perancangan Data ..... ....... ........ ..... .... ... .............. ... ...... ...... ... ....... .... .... .... 44

3.3

Perancangan Sistem Aplikasi ........................................................... ... .... 46

v

vi

3.4

Implernentasi Data ..... ....... ... .. ....... ...... ..... ....... ... ... . ... ..... .. ....... ... . .. 50

3.5

Implementasi Sistem Apltkasi ... ... ....... ... ..... .................... .. ....

3.6

Implementasi Antannuka ...... , .......................................................... 61

.. .......... 53

BAB IV UJI COBA DAN EVALUASI.. ...... .... .......... ... .. .. .... .... .. .. .. ...... ...... ...... . 64
4.1

Lingkungan Pengujian ............................ ..... ... .......... ... ... ... .. .... .......... 64

4.2

Pengujian Data Kecil ......... ... ... .... .. ... .. ... .. ...... .. ........... ....... ........... .. .... ... 64

4.3

Pengujian Data Besar ......... .................................................................... 65

4.4

Uji Coba Frequent ltemset Dengan k Tertentu .. .. ....... .. ................... .. ...... 76

4.5

Pengujian Kebenaran. .......................................

. .. 82

BAB V PENUTUP .. .... ... ............... ... ..... .. .................. ............ .... ............... ...... ... 88
5.1

Simpulan .... ................ .... ......... ....... ...... ...... .... _......................... .. ___.... _... _88

5.2

Kemungkinan Pengembangan ········ ···· ···· -···· ··· -···-· ······- -- ·- -··-··-·- ·· ······· --·-· 88

DAFT AR PUSTAKA .. .. ... .. .... .. ..... ... .. ... .. ... ......... ........... .... ....... .... .......... .. .. ...... 90

DAFTAR GAMBAR
Gambar 2.1. Nilai Support dan Confidence untu.k

{J6}

-

~{Tl}

............ ......................................... 9

Gambar 2.2. FP-tree Berdasarkan Basis Data Transaksi pada Tabel2.2 ...................... ... .............. 11
Gambar 2.3. Contoh 113-·conditioual FP-tree ....................

. .. . . . .. .

12

Gambar 2.4: FP-Tree ootuk TID "" ! ................................................................... .. ............... .. ... 16
Gambar 2.5: FP-Tree untuk TID "' 2 ................................................................................ l7
Gambar 2.6: FP-Tree ootuk TID = 3 ............... ................... .. ...... ............................................ ... 17
Gambar 2.7: FP-Tree untuk TTO ,., 4 ...................................................... ..... .... .. .

lR

Gambar 2.8 : FP-Tree ootuk TID = 5 .............................................................. .... ....................... 18
Garnbar 2.9 Algoritma Construct FP-Trcc............ ....... ......................................... ......... .... ..

19

Garnbar 2.10 Fungsi insert_tree ...... ....... .............................................. ...................................... 19
Gambar 2.1 1 : Hasil SOTricJT bcrdasarkcui Basis Data Transaksi pada label 2.2 . . . . .. .. .. . .. ..

. .. 22

Gambar 2.12. Algoritma Update Itemset Universal .................................................................... 23
Gambar 2. 11 : SOTrieTT untuk TTO

= l ............................. ....................... ........ .

7.9

Gambar 2.14 : SOTrieiT untuk TID "" 2 ............................................ ................................... ...... 30
Gambar 2. 15 : SOTrieiT untuk TID = 3 ..... . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . .. .. ........... .... .. .. ................... . 31
Gambar 2.16 : SOTrieiT untuk TID = 4 ....................... .......... .................................................... 32
Gambar 2.17 : SOTrieTT untuk TID "' 5 ...... ............................... ............................................ 11
Gambar 2.18. Pseudocode Algoritma FOLD-growth ............................... .. .... .... ................... ...... 34
Gambar2.19: FP-Treeuntuk TfD= ! ......... .. ........... ..................................... ........................ 17
Gambar 2.20: FP-Tree untuk TID = 2 ..... .. ............ .................................................................. .. 38
Gambar 2.21 : FP-Tree untuk TrD""" 1 ............................. ,.. ......... . ..

19

Gambar 2.22 : FP-Tree untuk TID == 4 ....................... .................................................... ............ 39
Gambar 2.24 Pseudocode Algoritma FP-growtll. .. .. .................... ......................................... 41
Gambar 3.1: Algoritma Tahap Ekstraksi ........................................................ ............................ 48
Gambar 1 .2: Algoritma Tahap Pcrsinpan.

. ...... ........................................................ 48

Gambar 3. 3 : Prosedur Persiapan ............................................................................................... 49
Gambar 3.5 : Proscdur Talu1p Pcnggalian .... .... .. .... .. .. ....... ................ .

..

. .. .. .. 49

Gambar 3.6: Kode m1tuk Tahap Ekstraksi (lnisialisasi Nilai Counter) ........................................ 54
Gambar 3.7: Kodc Untuk Tahap Ekslraksi (Pemi.ndaiau Data ke Memory) .......................... .. ...55
Gambar 3.8: Kode Untuk Prosedur freqFOLD (Tahap Persiapan) .............................................. 56
Ga.mbar 3.9 : Kodc Penggalian L 1 ............................................................................... .........

..

S7

Gambar 3.10: Kode Penggalian L2 ........ ...... ... .. ............. ....... .. ...... .................................... .. ....... 58
Gambar 3.11 : Kodc PcmangkascuJ Basis Data Transa.ks.i ...... ........ ...... ................... .

. S9

Gambar 3.12 : Kode Pengga.lian Kaidah Asosiasi .... ........ ...... ..................................................... 60
Gambar 3.13 : Antannuka Penggalian Kaidah Assosiasi

....................... .. ......... .............. 62

Gambar 3.14 : Antarmuka Koneksi Basis Data............................................ .... ........................... 62

vii

viii

Gambar 3. 15 : Antarmuka Pcnggalian Ttcmsct Frequent.. .. .. ................. .. ... .............................. 61
Gambar 4. 1: Perbandingan waktu FOLDgrowth VS FPgrowth untnk dataset T25120NlOKDlOOK
dengan support minimum 0.5%- 4% ........ .... .. ..... ........... . ... ..... ...... ......... .. .

66

Gambar 4.2 : Perbandingan Jumlah Node FPtree yang Tercip1a oleh Algoritma FOLDgrowth VS
Algoritma FPgrowth dcngan Support Minimum 0.5%- 4%. .......... ............................................. 67
Gambar 4. 3 : Perbandingan wakto untuk dataset T25UON75DlK dengan support minimmn 0.250. 5 (kurang dari 1) ......... ............................................................................................... . .. 6R
Gambar 4. 4: Perbandingan Jumlah Node FPtree yang Tercip1a oleh Algoritma FOLDgromh VS
Algoritma FPgrowth dcngan Support Minimum 0 .25 - 0. 5 ....................................................... 69
Gambar 4. 5: Perbandingan waktu m1tuk dataset T25I20N75Dl00 oleh Algoril.lliU FOLDgrowUt
VS FPgrowtll dcngan support mininmm 0.3 5 - 0.& .. ..... .... ........... ...... ......... ... ........................... 70
Gambar 4. 6 : Perbandingan Jmnlah Node FPtree yang Tercip1a oleh Algoritma FOLDgrowth VS
Algoritma FPgrowth dengan Support Min.imum 0.35 - 0.8 .. ............... ............................... ......... 70
Grunbar 4. 7 : PerbatlClingan waktn untuk dataset T2I2N32KD640K oleh Algoritma FOLDgrowth
VS FPgrowtl1 dcngan support minimum 0 -0.