• Tidak ada hasil yang ditemukan

Penggunaan Struktur Data SOTrieIT untuk Pemangkasan Transaksi dengan Algoritme Data mining FOLD - Growth

N/A
N/A
Protected

Academic year: 2017

Membagikan "Penggunaan Struktur Data SOTrieIT untuk Pemangkasan Transaksi dengan Algoritme Data mining FOLD - Growth"

Copied!
56
0
0

Teks penuh

(1)

1

PENGGUNAAN STRUKTUR DATA

SOTrieIT

UNTUK

PEMANGKASAN TRANSAKSI DENGAN

ALGORITME

DATA MINING

FOLD

-

GROWTH

DENY PRASTOWO

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

2

PENGGUNAAN STRUKTUR DATA

SOTrieIT

UNTUK

PEMANGKASAN TRANSAKSI DENGAN

ALGORITME

DATA MINING

FOLD

-

GROWTH

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

DENY PRASTOWO

G64104063

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

i

Judul

: Penggunaan Struktur Data

SOTrieIT

untuk Pemangkasan

Transaksi dengan Algoritme

Data mining

FOLD

-

Growth

Nama

: Deny Prastowo

NIM

: G64104063

Menyetujui :

Pembimbing I,

Pembimbing II,

Rindang Karyadin, S. T., M. Komp.

Wisnu Ananta Kusuma, S. T., M. T.

NIP 132 311 915

NIP 132 312 485

Mengetahui :

Dekan Fakultas Matematika Dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

Dr. drh. Hasim, DEA

NIP 131578806

(4)

ii

ABSTRAK

DENY PRASTOWO. Penggunaan Struktur Data SOTrieIT Untuk Pemangkasan Transaksi Dengan Algoritme Data Mining FOLD – Growth. Dibimbing oleh Rindang Karyadin dan Wisnu Ananta Kusuma.

Penelitian ini menggunakan salah satu teknik penggalian data yang dikenal dengan teknik aturan asosiasi (Association Rule) dan menggunakan algoritme FOLD – Growth untuk mengekstrak korelasi antar itemset yang terbentuk. Data yang digunakan dalam penelitian kali ini ialah suatu data transaksi penjualan sebuah toko di daerah kota Bogor.

Kombinasi yang terjadi pada dataset yang dipakai memperlihatkan bahwa itemset dengan kombinasi susu snack (support 6,58% ; confidence 44,64%) merupakan kombinasi yang paling banyak dilakukan dalam keseluruhan transaksi dalam basis data. Selanjutnya itemset dengan kombinasi permen mie instant (support 1% ; confidence 11,76%) merupakan kombinasi terkecil untuk penetapan nilai minimum support sebesar 1%. Sementara itu kombinasi dengan item susu.permen snack merupakan kombinasi itemset dengan nilai confidence tertinggi sebesar 70,44% dan kombinasi item permen mie instant merupakan kombinasi dengan nilai confidence terkecil. Dari penelitian ini diperoleh juga suatu kesimpulan bahwa pemangkasan menggunakan large 2 – itemset tidak merubah atau merusak kombinasi yang terjadi dalam database transaksi yang digunakan. Dengan demikian pemangkasan dengan acuan large 1 – 2 itemset dapat dilakukan.

(5)

iii

RIWAYAT HIDUP

Penulis dilahirkan di Jakarta pada tanggal 20 Mei 1986 sebagai anak kedua dari tiga bersaudara dari pasangan Sukento dan Wahyu Widayati. Penulis menyelesaikan masa studinya di Sekolah Menengah Umum Negeri 54 Jakarta pada tahun 2004.

Pada tahun yang sama penulis berkesempatan untuk melanjutkan studinya di Departemen Ilmu Komputer Institut Pertanian Bogor (IPB) melalui jalur Undangan Seleksi Masuk IPB (USMI). Penulis pernah melaksanakan praktek lapang selama dua bulan di SCTV. Tugas yang diberikan selama penulis melakukan praktek lapang ialah pembuatan sistem inventarisasi komputer di SCTV dan O Channel.

(6)

iv

PRAKATA

Alhamdulillahi Rabbil ‘alamin, puji dan syukur penulis panjatkan kepada Allah SWT atas segala curahan rahmat dan karunia-Nya sehingga tugas akhir ini dengan judul Penggunaan Struktur Data SOTrieIT untuk Pemangkasan Transaksi dengan algoritme FOLD - Growth, dapat diselesaikan. Dalam menyelesaikan karya tulis ini penulis mendapatkan banyak sekali bantuan, bimbingan dan dorongan dari berbagai pihak. Oleh karena itu, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu kelancaran penelitian ini, antara lain kepada:

1 Orangtuaku tercinta, Bapak Sukento dan Mama Wahyu Widayati, Alm. atas segala do’a, kasih sayang, dan dukungannya.

2 Kakak Cahya Priyanugraha dan Adik Windy Kurniasari tercinta yang selalu memberikan motivasi dalam penyelesaian karya tulis ini.

3 Bapak Rindang Karyadin, S.T, M.Kom selaku pembimbing pertama atas bimbingan dan arahannya selama penyusunan karya tulis ini.

4 Bapak Wisnu Ananta Kusuma S.T, M.T selaku pembimbing kedua atas bimbingan dan arahannya selama penyusunan karya tulis ini.

5 Ibu Annisa, S.Kom, M.Kom selaku moderator dan penguji serta seluruh arahannya pada penelitian ini.

6 Ima Kusumanti atas bantuan dan dorongan motivasinya. 7 Martin, Toro, Putri, Halida, Arief selama konsultasi bersama.

8 Syadid, Lewe, Ina, Trie dan seluruh rekan seperjuangan Ilkomerz 40, 41, 42 dan 43. Kepada semua pihak lainnya yang telah memberikan kontribusi yang besar selama pengerjaan penelitian ini yang tidak dapat disebutkan satu-persatu, Penulis ucapkan terima kasih banyak. Semoga penelitian ini dapat memberi manfaat.

Bogor, Juli 2008

(7)

v

DAFTAR ISI

Halaman

DAFTAR TABEL ... vi

DAFTAR GAMBAR ... vi

DAFTAR LAMPIRAN ... vi

PENDAHULUAN ... 1

Latar Belakang ... 1

Tujuan ... 1

Ruang Lingkup ... 1

Manfaat ... 1

TINJAUAN PUSTAKA ... 1

Penggalian Data (Data mining) ... 1

Pola Asosiasi (Association Rule) ... 1

FP – Tree ... 2

Algoritme FP-Growth... 3

SOTrieIT ... 3

Algoritme FOLD – Growth ... 4

METODOLOGI PENELITIAN ... 5

Studi Literatur ... 5

Pengumpulan Data ... 5

Data mining ... 5

Tahap Penggalian L1 dan L2 Dengan Menggunakan SOTrieIT ... 6

Tahap Pemangkasan Item – Item yang Tidak Frequent ... 6

Tahap Pembangunan FP – Tree ... 6

Tahap Penggalian Itemset Frequent ... 6

Pengujian dan Analisis ... 6

HASIL DAN PEMBAHASAN ... 6

Tahap Pembentukan Large Itemset ... 6

Pembentukan Large Itemset dengan Minimum Support Sebesar 1% - 5% ... 6

Tahap Pembentukan Aturan Asosiasi ... 7

Update Transaksi ... 9

KESIMPULAN DAN SARAN ... 9

Kesimpulan ... 9

Saran ... 9

DAFTAR PUSTAKA ... 10

(8)

vi

DAFTAR TABEL

DAFTAR GAMBAR

Halaman

1 FP – Tree pembacaan transaksi 100 ... 2

2 FP – Tree pembacaan transaksi 200 ... 3

3 FP – Tree utuh ... 3

4 (a) Pembacaan transaksi 100 pada SOTrieIT (b) Pembacaan Transaksi 200 pada SOTrieIT .. 4

5 SOTrieIT utuh ... 4

6 Algoritme universal update itemset ... 5

7 Metode Penelitian ... 5

... Halaman 1 Transaksi dalam database D ... 2

2 Frequent Itemset Terbentuk ... 3

3 Contoh transaksi dalam basisdata D ... 4

4 Large Itemset dengan minsup 1% ... 7

5 Pembentukan large itemset dengan algoritme FOLD - Growth ... 7

6 Hasil aturan asosiasi terbentuk dengan minimum confidence 10% dan minsup 1% ... 8

7 Hasil aturan asosiasi terbentuk dengan minimum confidence 20% dan minsup 1% ... 8

8 Hasil aturan asosiasi terbentuk dengan minimum confidence 10% dan minsup 2% - 5% ... 8

DAFTAR LAMPIRAN

Halaman 1 Contoh Transaksi ... 12

2 Kode pengelompokan barang ... 13

3 Hasil penggalian dengan minsup 1% dan mincof 10% ... 15

4 Hasil penggalian dengan minsup 2% dan mincof 10% ... 17

5 Hasil penggalian dengan minsup 3% dan mincof 10% ... 18

6 Hasil penggalian dengan minsup 4% dan 5% dengan mincof 10% ... 19

(9)

1

PENDAHULUAN

Latar Belakang

Begitu banyaknya fungsionalitas dalam penggalian data terkadang membuat kita harus memilih secara seksama. Pemilihan fungsionalitas yang tepat dalam melakukan suatu penggalian data menentukan keefektifan serta keefisienan waktu yang dibutuhkan dalam mengekstrak data tersebut.

Penggalian data dengan pola asosiasi merupakan salah satu pilihan fungsionalitas yang dapat kita cermati karena kegunaanya yang dapat diterapkan pada berbagai macam situasi seperti e-commerce, klasifikasi, pengelompokan dan lain sebagainya. Dalam penggalian data dengan pola asosiasi ditemukan atribut – atribut yang menunjukkan kondisi di mana atribut – atribut tersebut muncul secara bersama – sama dalam suatu data yang diberikan. Penggalian data dengan pola asosiasi ini lebih sering digunakan dalam pengolahan dan analisis data transaksi, selanjutnya lebih dikenal dengan nama market – basket analysis. Ada beberapa algoritme yang dapat digunakan untuk memperbaiki kinerja penggalian data dengan pola asosiasi, namun algoritme tersebut hanya dapat menangani kondisi tertentu saja dan memiliki kekurangan dalam kondisi lainnya. Sementara itu dalam penggalian data keefektifan serta keefisienan sumber daya yang digunakan sangat diperlukan.

Pada penelitian yang dilakukan oleh Woon et al. (2004), penggabungan dua buah algoritme FP GROWTH dengan FOLDARM pada metode assosiasi menghasilkan sebuah algoritme baru (FOLD - Growth) yang memiliki kinerja yang lebih baik. Algoritme ini menggunakan struktur data SOTrieIT. Kinerja dari algoritme tersebut menghasilkan proses yang lebih fleksibel dan efisien jika dibandingkan dengan algoritme – algoritme aturan asosisiasi lainnya seperti Apriori dan FP - Growth. Dengan demikian penggunaan algoritme ini diharapkan dapat memperbaiki kinerja algoritme sebelumnya dan dapat diimplementasikan pada kasus penggalian data transaksi berdasarkan market - basket.

Tujuan

Penelitian ini bertujuan untuk menerapkan pemangkasan transaksi dengan

menggunakan struktur data SOTrieIT serta algoritme FOLD - Growth.

Ruang Lingkup

Ruang lingkup dari penelitian ini adalah : 1 Penggunaan metode association rule

untuk melakukan proses update menggunakan algoritme FOLD – Growth hanya terbatas pada penambahan data transaksi.

2 Pembahasan meliputi analisis hasil penggalian yang meliputi confidence serta support suatu item terhadap item yang lain.

Manfaat

Diharapkan dengan adanya penelitian ini, maka dapat menjadi sebuah referensi terhadap pemilihan algoritme dalam metode association rule. Penelitian ini juga memberikan sedikit gambaran mengenai proses update suatu transaksi saat dilakukan penggalian data.

TINJAUAN PUSTAKA

Penggalian Data (Data mining)

Data mining adalah proses pencarian suatu korelasi - korelasi baru suatu data yang mempunyai makna, pola dan tren tertentu dengan cara menyelidiki atau meneliti suatu data yang berukuran besar yang terdapat di dalam suatu gudang data dengan menggunakan teknologi pengenalan pola serta teknik statistik dan matematika (Larose 2005).

Pola Asosiasi (Association Rule)

Pola asosiasi ialah salah satu teknik dalam penggalian data yang bertujuan untuk mengekstrak korelasi yang menarik, pola – pola yang sering muncul, hubungan kumpulan item di dalam suatu basis data atau gudang data yang berisi record transaksi (Zhao et al. 2003).

Terdapat dua hal utama yang melandasi teknik ini yaitu support dan confidence (Zhao et al. 2003). Support dari suatu association rule didefinisikan sebagai persentase dari record X Y terhadap seluruh jumlah transaksi di dalam basis data. Support dapat dihitung dengan menerapkan rumus sebagai berikut :

Support (XY) =

tion rOfTransac TotalNumbe

Y SupportOfX

(10)

2 transaksi yang mengandung X Y terhadap

jumlah total transaksi yang mengandung X. Confidence dapat dihitung dengan menggunakan rumus sebagai berikut :

Confidence (X|Y) =

Support(X) ) Support(XY

FP – Tree

FP – Tree atau Frequent Pattern Tree merupakan suatu algoritme yang dirancang untuk mengatasi kendala bottleneck pada proses penggalian data dengan algoritme Apriori (Zhao et al. 2003). Definisi dari FP – Tree dijelaskan sebagai berikut (Han et al. 2000) :

• Terdiri atas sebuah root dengan label “null”, sekumpulan subtree yang menjadi child dari root dan sebuah tabel frequent header.

• Setiap node dalam FP – Tree mengandung tiga informasi penting, yaitu : label item, menginformasikan jenis item yang terdapat pada node tersebut, support count, merepresentasikan jumlah lintasan transaksi yang melalui simpul tersebut dan pointer penghubung yang menghubungkan label item yang sama antar lintasan dalam FP – Tree yang ditandai dengan garis putus – putus.

• Isi dari setiap baris dalam tabel frequent – header terdiri atas label item dan head of nodelink yang menunjuk ke node pertama dalam FP – Tree yang menyimpan label item tersebut.

FP – Tree merupakan suatu struktur data berbentuk tree yang menyimpan item – item yang frequent atau nilainya lebih besar dari minimum support yang diberikan, untuk memperjelas algoritme pembentukan FP - Tree maka akan diberikan sebuah contoh pembangunan FP – Tree yang mengacu pada basis data D dengan nilai minimum support sebesar 3 (60%) sebagai berikut :

Tabel 1 Transaksi dalam database D

Proses scanning pertama akan menghasilkan large 1 – itemset yang selanjutnya akan digunakan sebagai dasar dalam pengurutan secara menurun dari transaksi pada basis data D. Hasil 1 – itemset yang didapatkan dapat seperti berikut ini : {(sabun : 4), (snack : 4), (rokok : 3), (mie : 3), (shampoo : 3), (minuman : 3) } (angka setelah karakter “:” mengindikasikan jumlah count - nya).

Gambar 1 sampai 3 berikut akan mengilustrasikan pembangunan FP – Tree setelah pembacaan transaksi 100, 200, dan keseluruhan FP – Tree yang terbentuk.

Sabun

Snack

Rokok

Mie

Minum

Gambar 1 FP – Tree pembacaan transaksi 100.

TID Item Yang

Dibeli

Item Terurut

100 sabun, rokok,

snack, buah, daging, beras, mie, minuman

sabun, snack, rokok, mie, minuman

200 rokok, shampo,

snack, sabun, pulpen, mie, tisue

sabun, snack, rokok, mie,shampoo

300 shampo, sabun,

kamper, minyak, tisue

sabun, shampoo

400 shampo, snack,

kabel, lampu, minuman

snack, shampo, minuman

500 rokok, sabun,

snack, kertas, pulpen, minuman, mie, bihun

sabun, snack, rokok, mie, minuman

null

Sabun : 1

Snack : 1

Rokok : 1

Mie : 1

(11)

3 Sabun

Snack

Rokok

Mie

Sampo

Minum

Gambar 2 FP-Tree pembacaan transaksi 200.

Sabun

Snack

Rokok

Mie

Sampo

Minum

Gambar 3 FP – Tree utuh.

Contoh di atas merupakan salah satu ilustrasi pembentukan FP – Tree dengan penggunaan nilai minimum support sebesar 3 atau 60%. Algoritme pembentukan FP – Tree ini terdiri dari dua langkah utama (Han et al. 2000), yaitu :

1. Proses scanning basis data untuk menemukan 1 – itemset (L), kemudian itemset L digunakan untuk mengurutkan transaksi

terhadap item yang frequent secara menurun.

2. Proses pembuatan tree yang diawali dengan pembuatan ROOT (T). Kemudian menjalankan fungsi insert_tree([p|P],T), di mana p adalah elemen pertama dan P merupakan sisa elemen yang ada dalam daftar transaksi.

Fungsi insert_tree([p|P],T) dijalankan sebagai berikut: Jika T mempunyai anak N dan (N.itemName = p.itemName), maka naikan counter N sebesar 1. Selainnya buat node N baru dan buat link ke parent. Serta node-nya di kaitkan ke node – node yang mempunya label yang sama. Jika P tidak kosong, panggil fungsi insert_tree(P,N) secara rekursif.

Algoritme FP-Growth

Algoritme FP – Growth merupakan salah satu algoritme penggalian data yang akan membangkitkan suatu struktur data Tree atau yang disebut dengan FP – Tree. Algoritme ini melibatkan tiga langkah utama (Han et al. 2000), yaitu :

a Tahap pembangkitan kondisional pattern base.

b Tahap pembangkitan kondisional FP – Tree.

c Tahap pencarian frequent itemset. Sehingga jika FP –Tree pada Gambar 3 menjadi masukkan untuk algoritme FP – Growth, maka akan menghasilkan frequent item sebagai berikut :

Tabel 2 Frequent Itemset Terbentuk

Item Frequent Item

Shampo Shampo

Minuman Minuman / {snack |

minuman }

Mie Mie / {sabun snack rokok

| mie}

Rokok Rokok / {sabun snack |

rokok }

Snack Snack / { sabun | snack}

Sabun Sabun

SOTrieIT

SOTrieIT atau Sub Ordered Trie Itemset merupakan suatu tree yang dibangun dengan null

Sabun : 2

Snack : 2

Rokok : 2

Mie : 2

Minum : 1 Sampo : 1

Head Table

(12)

4 mengekstrak 1 – 2 itemset dari setiap

transaksi (Zhao et al. 2003). Prinsip penelusuran dalam SOTrieIT memiliki pendekatan yang sama dengan pencarian dengan metode DFS. Cara penelusuran dilakukan dengan scanning dari node pertama yang paling kiri. Jika support count dari satu item di level ke dua tidak mencukupi dari minimum support maka proses berhenti dan pindah ke level atas lainnya. Jika nilai support count pada level atas sudah tidak lagi mencukupi nilai minimum support, maka proses berhenti dan tree terbentuk.

Algoritma pembentukan SOTrieIT bekerja dengan melakukan ekstrasi 1 – 2 Itemset dari setiap transaksi yang dibaca. Tahapan pengerjaan dari algoritma ini secara singkat dijelaskan sebagai berikut (Woon et al. 2002):

1. Menemukan semua 1 - 2 itemset dari setiap transaksi

2. Menambahkan node baru pada Trie jika node dengan nilai count ialah 1 (satu) jika node tersebut tidak terdapat pada level 1 dan level 2, jika node sudah terdapat dalam Trie maka dilakukan penambahan nilai count di node tersebut dan dilakukan rebalancing antar node dalam Trie tersebut.

Untuk memperjelas uraian di atas akan diilustrasikan pembangunan SOTrieIT dengan basis data D sebagai berikut (Woon et al. 2002) :

Tabel 3 Contoh transaksi dalam basisdata D

TID Items

100 A C

200 B C

300 A B C

400 A B C D

Setelah diperoleh transaksinya, selanjutnya akan dibaca transaksi tersebut dan diekstraksi 1 – 2 itemset-nya. Pada saat transaksi 100 dibaca maka akan diekstrak 1 – itemset : {A, C} dan 2 – itemset : {AC} (Gambar 4 a). Selanjutnya saat pembacaan transaksi 200, sistem akan mengekstrak 1 itemsetnya : {B, C} dan 2 – itemsetnya : {BC} (Gambar 4 b). Langkah ini dilakukan berturut – turut sampai pembacaan transaksi 400, sehingga akan menghasilkan SOTreeIT

yang utuh seperti pada Gambar 5.

Gambar 4 (a) Pembacaan transaksi 100 pada SOTrieIT (b) Pembacaan Transaksi 200 pada SOTrieIT.

Gambar 5 SOTrieIT utuh.

Algoritme FOLD – Growth

Algoritme FOLD – Growth merupakan hasil gabungan dari algoritme FOLDARM dan FP – Growth. Pada algoritme ini diharapkan dapat menggabungkan keuntungan dan kebaikan dari 2 (dua) algoritme antara FP – Growth dengan FOLDARM. Algoritme FOLDARM yang memiliki kinerja cepat dalam pengukuran itemset frequent maksimum (Kmax) adalah kecil atau K 10, sedangkan algoritme FP – Growth memiliki kinerja yang cepat pada saat Kmax > 10 (Woon et al. 2004). Dalam algoritme ini terdapat pembagian tahap pengerjaan sebanyak 4 (empat) tahapan utama (Soelaiman et al. 2006).

Tahapan utama dalam algoritme FOLD – Growth yaitu :

a Pengalian L1 (Large 1 - Itemset) dan L2 (Large 2 - Itemset) dengan menggunakan SOTrieIT,

b Pemangkasan item – item yang tidak frequent dalam transaksi menggunakan L1 dan L2,

c Membangun FP – Tree menggunakan transaksi – transaksi yang telah dipangkas dan,

ROO

A :1

C : 1

C : 1

ROO

C : 2 A :1

C : 1

B :1

C : 1

ROOT

C : 4

D :1

B :3

C : 3 A 3

C : 3 B :2 D: 1 D: 1

D: 1

(13)

5 d Pengalian itemset frequent dengan

algoritme FP – Growth.

Dalam algoritme FP Growth penggunaan struktur data FP – Tree memiliki kelemahan saat akan dilakukan proses update suatu data transaksi. Kendala yang terjadi ialah dilakukannya proses scanning basis data awal ditambah data transaksi yang akan ditambahkan atau dihapus. Proses ini akan memperlambat kinerja algoritme dalam proses penggalian.

Penggunaan struktur data SOTrieIT akan mempermudah proses penambahan atau pengurangan suatu transaksi terhadap suatu basis data. Penggunaan SOTrieIT dalam mengakomodasi perubahan basis data dapat mengefisienkan usaha yang dilakukan program dalam melakukan perubahan transaksi. Gambar 6 di bawah akan menunjukan algoritme yang digunakan dalam proses update transaksi yang baru (Woon et al. 2002).

Gambar 6 Algoritme universal update itemset.

METODOLOGI PENELITIAN

Penelitian ini dilakukan untuk mendapatkan analisis hasil FOLD – Growth terhadap permasalahan dalam penggalian data transaksi. Penelitian ini diharapkan dapat menjadi pembanding dari penilitian sebelumnya terhadap pilihan algoritme dalam menyelesaikan penggalian data berdasarkan metode Association Rule. Untuk memulai penelitian ini dilakukan beberapa langkah yang harus dijalani dan tertuang dalam suatu Metodologi Penelitian sesuai Gambar 7 berikut.

Gambar 7 Metode Penelitian.

Studi Literatur

Studi literatur dilakukan untuk menambah referensi terkait dengan algoritme FOLD – Growth. Pengumpulan informasi tentang proses – proses dalam algoritme ini dikumpulkan dan didapatkan dari beberapa sumber seperti : buku, jurnal, dan artikel di internet.

Pengumpulan Data

Data yang dipakai merupakan data transaksi yang berasal dari sebuah toko di daerah Bogor. Data ini merupakan data transaksi penjualan barang kebutuhan sehari – hari seperti : makanan pokok, snack, minuman, keperluan mandi dan lain – lain. Data yang diambil masih berupa transaksi biner sehingga diperlukan proses transformasi kembali supaya data dapat digunakan dengan baik.

Data mining

Implementasi association rule dengan algoritme FOLD - Growth terhadap data yang telah dilakukan preprocessing melewati beberapa tahap pengerjaan seperti yang dijelaskan pada Tinjauan Pustaka. Pada tahap

Mulai

Studi Literatur

Pengumpulan Data

Penggalian L1 & L2

DATA

Pemangkasan

Pembangunan. FP - Tree

FOLD -

GROWTH Penggalian

Analisis Hasil

Dokumentasi

Selesai 1 If a new i is added to the universal itemset

Do nothing because the SOTrietIT will be updated the moment a transaction i arrives

(14)

6 ini secara keseluruhan dibagi menjadi dua

bagian, bagian pertama ialah pembentukan Large Itemset dengan menggunakan algoritme FOLD – Growth, dan tahap selanjutnya ialah proses pembentukan aturan asosiasi dengan perhitungan support serta confidence dari masing – masing itemset.

Tahap Penggalian L1 dan L2 Dengan Menggunakan SOTrieIT

SOTrieIT yang digunakan akan melakukan scanning basis data sebanyak 1 (satu) kali. Hal ini berbeda saat kita mencoba melakukan dengan FP –Tree karena pada FP – Tree scanning basis data dilakukan sebanyak 2 (dua) kali. Pada scanning yang dilakukan ini akan dicoba membaca transaksi yang terdapat di dalam basis data. Untuk setiap transaksi akan dibangkitkan semua kemungkinan 1 – itemset dan 2 –itemset dan ditransformasikan kedalam bentuk tree.

Tahap Pemangkasan Item – Item yang Tidak Frequent

Dalam tahap ini kita akan mencoba melakukan seleksi terhadap itemset yang telah terbentuk dari SOTrieIT dengan cara menghilangkan item yang ada dalam transaksi yang tidak frequent. Sebuah item dikatakan tidak frequent jika nilai support count-nya kurang dari batas minimum support yang ditentukan. Pemangkasan ini dilakukan berdasarkan L1 dan L2 untuk setiap transaksi. Untuk itemset yang lebih dari 2 juga akan dilakukan pemangkasan berdasarkan L1 dan L2 sehingga itemset yang tidak frequent juga akan dipangkas. Setelah pemangkasan transaksi T dilakukan maka akan dilakukan pengurutan berdasarkan nilai support count – nya yang terbesar sehingga akan didapatkan Ordered Frequent Items yang telah dipangkas.

Tahap Pembangunan FPTree

Pada tahapan ini akan dilakukan pembangunan FP Tree dengan menggunakan data transaksi T yang telah dipangkas dan diurut berdasarkan nilai support count – nya.

Tahap Penggalian ItemsetFrequent

Tahap ini dilakukan setelah FP – Tree selesai dibangun, penggalian itemset ini menggunakan algoritme FP – Growth pada FP –Tree tersebut.

Pengujian dan Analisis

Hasil dari pengujian yang didapatkan dari algoritme penggalian data dalam penelitian ini akan dikaji.

Analisis dilakukan dengan mencoba melihat hasil yang didapat dari proses penggalian dengan algoritme yang digunakan. Prosses penggalian dilakukan dengan menggunakan lima buah minimum support yaitu 1% - 5 %. Pemilihan nilai minimum support sebesar 1% sampai 5% diharapkan dapat memberikan suatu kesimpulan yang konvergen. Selain itu juga digunakan nilai minimum confidence sebesar 10% dalam pembentukan aturan asosiasinya. Pengambilan nilai minimum confidence sebesar 10% dilakukan supaya hasil itemset yang didapatkan berjumlah cukup banyak sehingga layak untuk dilakukan analisis.

HASIL DAN PEMBAHASAN

Percobaan dibagi menjadi dua buah proses atau tahapan, proses yang pertama dilakukan untuk mendapatkan itemset yang dicari. Kemudian proses berikutnya ialah proses perhitungan support serta confidence-nya untuk memperoleh aturan asosiasi yang lengkap dan terpercaya.

Proses cleaning tidak dilakukan kembali pada penelitian ini, hal ini disebabkan proses tersebut telah dilakukan pada penelitian sebelumnya. Dengan demikain yang dilakukan dalam penelitian ini hanya proses transformasi data transaksi yang berjumlah 23.361 transaksi kedalam format text yang dapat dibaca oleh program. Hal ini perlu dilakukan karena data yang diperoleh masih berupa transaksi biner (Lampiran 1). Data biner akan ditransformasikan kedalam kode tertentu yang merepresentasikan kelompok barang yang dibeli (Lampiran 2).

Tahap Pembentukan Large Itemset

Pembentukan large itemset dilakukan dengan menjalankan algoritme algoritme FOLD – Growth. Algoritme tersebut akan menghasilkan kumpulan itemset dengan batas support tertentu. Pada penelitian ini digunakan 5 (lima) buah nilai minimum support yaitu sebesar 1% sampai 5% dari keseluruhan transaksi yang berjumlah 23.631 transaksi.

Pembentukan Large Itemset dengan Minimum Support Sebesar 1% - 5%

(15)

7 (Tabel 4). Hasil penggalian yang lebih

lengkapnya terdapat pada Lampiran 3.

Tabel 4 Large Itemset dengan minsup 1% Jumlah k

–Itemset

FOLD – Growth

1 -

Itemset

23 Item

2 -

Itemset

37 Kombinasi

3 -

Itemset

5 Kombinasi

Hasil percobaan pertama (Tabel 4) memperlihatkan jumlah itemset yang diperoleh dengan algoritme FOLD – Growth. Itemset ini diperoleh dari proses penggalian yang meliputi faktor pemangkasan transaksi – transaksi yang tidak relevan terhadap acuan large 2 - itemset dan large 1 - itemset dan pencarian kombinasi antara item pada algoritma FOLD – Growth. Selain disebabkan karena faktor pemangkasan, faktor pemilihan nilai minimum support juga mempengaruhi pembentukan itemset yang didapatkan.

Dari percobaan pertama terlihat untuk kriteria 1 – itemset item dengan kode 20 (baterai) merupakan item yang paling jarang dibeli dalam keselutuhan transaksi (Lampiran 3). Sementara itu untuk item yang paling banyak dibeli ialah item dengan kode 6 (minuman) dengan nilai support sebesar 7093. Keunggulan FOLD – Growth selain dapat menemukan large 1 – itemset dengan cepat algoritme ini juga dapat menemukan large 2 – itemset dengan cepat. Untuk large 2 – itemset yang didapatkan terlihat bahwa kombinasi susu dan snack merupakan kombinasi terbesar dengan nilai support sebesar 1480 (Lampiran 3).

Setelah percobaan penggalian dengan penentuan minimum support sebesar 1% selesai dilakukan, dilakukan beberapa percobaan lainnya untuk memperkuat hasil analisis yang didapatkan sebelumnya. Percobaan berikutnya ialah proses penggalian dengan menggunakan minimum support sebesar 2% - 5%. Hasil yang didapatkan dari percobaan tersebut teringkas dalam Tabel 5 berikut ini.

Tabel 5 Pembentukan large itemset dengan algoritme FOLD - Growth

No Parameter Minsup

2% 3% 4% 5% 1 1–itemset 20 15 15 13 2 2–itemset 12 5 2 2

3 Total 32 20 17 15

Tabel 5 diatas memperlihatkan hubungan pembentukan large itemset yang dibentuk dari algoritme FOLD – Growth dengan nilai minsup tertentu. Dari tabel tersebut terlihat bahwa hasil akhir yang diperoleh algoritme tersebut ternyata merupakan hasil itemset yang terdiri dari sedikit kombinasi. Hasil ini selanjutnya dijadikan landasan kesimpulan bahwa data transaksi yang digunakan ternyata tidak cukup beragam sehingga hanya menghasilkan kombinasi itemset yang kecil dan relative sedikit.

Berdasarkan kesimpulan diatas, telah dibuktikan bahwa pemangkasan yang dilakukan

oleh FOLD – Growth dengan

mengkombinasikan 1 – itemset serta 2 – itemset dapat diterapkan walaupun terhadap data transaksi yang minim. Penerapan ini dapat dilakukan karena FOLD Growth menghasilkan itemset yang dibutuhkan dalam penggalian data. Sehingga SOTrieIT dapat dimanfaatkan dalam membantu proses pemangkasan transaksi.

Tahap Pembentukan Aturan Asosiasi

Pembentukan aturan asosiasi diperlukan untuk mengetahui seberapa besar nilai kepercayaan yang didapatkan terhadap suatu kombinasi itemset yang didapatkan dalam proses penggalian. Pada percobaan kali ini nilai minimum confidence yang dipilih ialah sebesar 10% dan 20%.

(16)

8 confidence yang diperoleh untuk kombinasi

tersebut sebesar 44,64%. Sedangkan kombinasi kelompok item mie instant permen merupakan kombinasi dengan nilai support terkecil (support : 1,00%; confidence : 10,5%) dari keseluruhan itemset yang dihasilkan. Secara keseluruhan hasil yang diperoleh algoritme tersebut dalam mencari kombinasi dengan nilai minimum confidence sebesar 10% dapat dilihat pada Tabel 6 berikut.

Tabel 6 Hasil aturan asosiasi terbentuk dengan minimum confidence 10% dan minsup 1%

Kriteria FOLD - Growth

Support

terbesar

susu snack (supp : 6,58% conf : 44,64%)

Support

terkecil

Mie instant permen (supp : 1,00% conf: 10,5%)

Asosiasi terbentuk

71 Kombinasi

Tabel 6 di atas memperlihatkan hasil aturan asosiasi yang didapatkan dari keseluruhan itemset dari penggalian pada transaksi yang digunakan. Pemilihan nilai minimum support sebesar 10% ternyata meloloskan hampir semua kombinasi itemset yang didapatkan dari proses penggalian. Oleh karena itu akan dicoba proses pencarian kombinasi – kombinasi dengan nilai minimum confidence sebesar 20%. Percobaan ini dilakukan untuk meningkatkan nilai kepercayaan pengguna terhadap aturan asosiasi yang didapatkan dari proses penggalian yang telah dilakukan sebelumnya. Tabel 7 memperlihatkan hasil aturan asosiasi yang didapatkan dengan penggunaan nilai minimum confidence sebesar 20% dan minimum support sebesar 1%.

Tabel 7 Hasil aturan asosiasi terbentuk dengan minimum confidence 20% dan minsup 1%

Kriteria FOLD - Growth

Support

terbesar

susu snack (supp : 6,58% conf : 44,64%)

Support

terkecil

Pasta gigi lotion (supp : 1,03% conf: 20,58%)

Asosiasi terbentuk

45 Kombinasi

Berdasar pada nilai minimum confidence sebesar 20%, untuk kombinasi dengan nilai minimum support sebesar 1% diperoleh 45 aturan asosiasi. Dengan demikian terdapat 26 set kombinasi yang hilang karena memiliki nilai confidence dibawah 20%.

Selain itu, dalam pembentukan aturan asosiasi ini terlihat bahwa itemset dengan kombinasi susu.permen snack merupakan kombinasi dengan nilai confidence terbesar sebesar 70,44 % dan kombinasi sabun makanan pokok merupakan kombinasi dengan nilai confidence terendah sebesar 10,34%.

Pembentukan aturan asosiasi selanjutnya ialah penggunaan minimum support 2% - 5% dengan minimum confidence 10% (Lampiran 4,5, dan 6). Pada kasus minsup 2% terlihat jumlah kombinasi yang diperoleh berbeda seperti pada hasil penggalian dengan dengan minsup 1%. Hal ini dikarenakan banyak kombinasi yang memiliki nilai minimum support dibawah 2%.

Tabel 8 merupakan rangkuman hasil percobaan yang dilakukan dengan menggunakan hasil itemset yang didapatkan dari algoritme di atas.

Tabel 8 Hasil aturan asosiasi terbentuk dengan minimum confidence 10% dan minsup 2% - 5%

Minsup Kriteria FOLD – Growth

2% Support

terbesar

susu snack (supp : 6,58% conf : 44,64%)

Support

terkecil

Pelengkap roti snack (supp : 2,0% conf: 69,92%)

Asosiasi terbentuk

12 kombinasi

3% Support

terbesar

susu snack (supp : 6,58% conf : 44,64%)

Support

terkecil

snack sabun (supp : 3,22% conf :10,94%)

Asosiasi terbentuk

5 kombinasi

4% Support

terbesar

susu snack (supp : 6,58% conf : 44,64%)

Support

terkecil

minuman snack (supp : 6,26% conf : 20,87)

Asosiasi terbentuk

(17)

9

Minsup Kriteria FOLD – Growth

5% Support

terbesar

susu snack (supp : 6,58% conf : 44,64%)

Support

terkecil

minuman snack (supp : 6,26% conf : 20,87)

Asosiasi terbentuk

2 kombinasi

Berdasar pada Tabel 7 dan Tabel 8 memperlihatkan bahwa kombinasi susu snack merupakan kombinasi yang paling banyak terjadi dengan dukungan nilai support 6,58% dan nilai confidence sebesar 44,64%. Sementara kombinasi dengan nilai support terkecil ditemukan pada kombinasi mie instant mie permen (support : 1,00% ; confidence : 10,5%) saat percobaan dengan menggunakan nilai minsup sebesar 1%. Update Transaksi

Seperti yang dijelaskan pada bagian Tinjauan Pustaka, penggunaan algoritme FOLD – Growth dalam proses penggalian data memiliki beberapa kelebihan. Salah satu di antaranya ialah algoritme ini memungkinkan dilakukannya proses update transaksi baru terhadap transaksi yang lama.

Terbatasi oleh jumlah data transaksi yang dimiliki, maka dalam penelitian ini data transaksi yang diperoleh dibagi menjadi 2 (dua) bagian. Bagian pertama merupakan transaksi utama (dataset I) dan bagian selanjutnya ialah transaksi tambahan yang diperoleh dengan mengambil sebanyak 1/3 (sepertiga) bagian dari keseluruhan transaksi pada bagian awal, tengah, dan akhir basis data transaksi (dataset II). Penggalian pada proses update ini dilakukan dengan menggunakan nilai minimum support sebesar 2%.

Proses penggalian dengan dataset I dilakukan dengan menggunakan minimum support sebesar 2% dan didapatkan hasil seperti pada lampiran 5. Selanjutnya setelah proses penggalian dataset I selesai, dilakukan proses update dengan menambahkan dataset II pada sistem dengan nilai minimum support sebesar 2% kembali. Percobaan yang dilakukan menghasilkan kombinasi snack susu (support: 6,58% confidence: 44,64%) merupakan pola kombinasi pembelian yang paling banyak dilakukan.

KESIMPULAN DAN SARAN

Kesimpulan

Hasil yang diperoleh memperlihatkan kekuatan pemangkasan transaksi dalam proses penggalian data. Proses pemangkasan yang dilakukan oleh algoritme FOLD – Growth membuat transaksi menjadi lebih sederhana sehingga FP – Tree yang terbentuk akan menjadi lebih sederhana dan kompak. Dengan demikian pemangkasan yang dilakukan dalam algoritme ini disimpulkan tidak merusak susunan kombinasi yang terjadi dalam dataset yang digunakan.

Penggunaan struktur data SOTrieIT memiliki peran yang cukup penting dalam proses pemangkasan suatu transaksi. Proses pemangkasan dengan menggunakan L2 dan L1 memperlihatkan pengurangan jumlah transaksi dalam basis data yang digunakan. Sehingga saat akan dilakukan penggalian data dengan FP – Growth maka tree yang terbentuk akan menjadi lebih sederhana.

Kombinasi yang terjadi dalam dataset yang dipakai memperlihatkan itemset dengan kombinasi susu snack (support 6,58% ; confidence 44,64%) merupakan kombinasi yang paling banyak dilakukan dalam keseluruhan transaksi dalam database. Selanjutnya itemset dengan kombinasi permen mie instant (support 1% ; confidence 11,76%) merupakan kombinasi terkecil untuk penetapan nilai minimum support sebesar 1%. Untuk penetapan nilai minimum support sebesar 2% kombinasi susu snack masih menjadi kombinasi dengan nilai support terbesar dan kombinasi pelengkap roti snack (support 2% ; confidence 69,92%) merupakan kombinasi dengan nilai support mendekati nilai minsup 2% untuk penggunaan algoritme FP – Growth dan permen minuman (support 2,04% ; confidence : 23,86 %) untuk penggunaan algoritme FOLD – Growth.

Saran

(18)

10

DAFTAR PUSTAKA

Han, Jiawei., Pei, Jian., Yin, Yiwen., Mao, Runying. 2000. Mining Frequent Patterns Without Candidate Generation, School of Computing Science. Simon Fraser University.

Larose, Daniel T. 2005. Discovering Knowledge in Data : An Introduction to Data Mining. United States : Willey Publishing.

Soelaiman, Rully., Arini, Ni Made WP. 2006. Analisis Kinerja Algoritme FOLD – Growth dan FP – Growth Pada Penggalian Data Asosiasi[skripsi]. Surabaya : Institut Teknologi Sepuluh November.

Tanjung, Hilmy Q.R. 2004. Penerapan Data Mining Menggunakan Teknik Association Rule pada Data Transaksi Perpustakaan Pusat IPB[skripsi]. Bogor : Departemen Ilmu Komputer, Institut Pertanian Bogor.

Widodo, Slamet. 2004. Penerapan Data Mining dengan Metode Association Rule Untuk Analisis Cross – Market (studi kasus : Toko Sinar Bogor) [skripsi]. Bogor : Departemen Ilmu Komputer, Institut Pertanian Bogor. Woon, Yew – Kwong., Keong, Wee Ng.,

Das, Amitabha. 2002. A Fast Online Dynamic Association Rule Mining. Proc. Second Int’l Conf. Web Information System Enginering, page 278 – 287.

Woon, Yew – Kwong., Keong ,Wee Ng., Lim, E.P. 2004. A Support – Ordered Trie for Fast Frequent Itemset Discovery. IEEE Transaction on Knowledge and Data Engineering, Volume 16, No. 7, page 875 – 879.

Zhao Q, Sourav S. Bhowmick. 2003. Association Rule Mining: A survey, Singapore : Nanyang Technological University.

(19)

11

LAMPIRAN

(20)

12 Lampiran 1 Contoh Transaksi Biner

Contoh Transaksi Biner T I D 0 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 1 0 0 1 1 0 1 2 0 1 3 0 1 4 0 1 5 0 1 6 0 1 7 0 1 8 0 1 9 0 2 0 0 2 1 0 2 2 0 2 3 0 2 4 0 2 5 0 2 6 0 2 7 0 2 8 0 2 9 0 3 0 0 3 1 0 3 2 0 3 3 0 3 4 0 3 5

1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 6 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

0

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

1

0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

2

(21)

13 Lampiran 2 Kode pengelompokan jenis barang

NO_ID Nama

0 mie instant

1 minyak goreng

2 susu

3 kopi

4 makanan pokok

5 permen

6 minuman

7 snack

8 pelengkap roti

9 saus kecap

10 makanan kaleng

11 lotion

12 sabun

13 shampo

14 obat nyamuk

15 pengharum ruangan

16 bumbu dapur

17 tepung

18 susu bayi

19 rokok

20 baterai

21 eskrim

22 sosis

23 perlengkapan komputer

24 obat

25 pasta gigi

26 multivitamin

27 perlengkapan bayi

28 handuk

29 perlengkapan dapur

30 tissue

31 sandal

32 korek

33 pembersih lantai

(22)

14 Contoh transaksi yang telah di transformasi

TID ITEM

001 0 4 18

002 0 4

003 21

004 24

005 3

006 3

007 0 1 3 4 9 12 24

008 12

009 3

010 8

011 2

012 19

(23)

15 Lampiran 3 Hasil penggalian dengan menggunakan FOLD - Growth dengan minsup 1% dan

mincof sebesar 10%

No ITEM I → ITEM II Support Confidence

1 susu → snack 6.58 44.64

2 snack susu 6.58 22.39

3 snack minuman 6.26 21.31

4 minuman snack 6.26 20.87

5 permen snack 3.76 44.10

6 snack → permen 3.76 12.80

7 mie instant → snack 3.31 34.68

8 snack → mie instant 3.31 11.26

10 snack sabun 3.22 10.94

9 sabun snack 3.22 32.07

11 susu minuman 2.95 20.07

13 sabun pasta gigi 2.68 26.71

12 pasta gigi → sabun 2.68 53.64

14 sabun → susu 2.33 23.21

15 kopi → snack 2.19 27.91

16 mie instant susu 2.05 21.48

17 susu mie instant 2.05 13.92

18 permen minuman 2.04 23.86

19 pelengkap roti snack 2.00 69.92

20 mie instant → sabun 1.95 20.41

21 sabun → mie instant 1.95 19.49

22 mie instant minuman 1.79 18.78

23 lotion → snack 1.77 29.95

24 pasta gigi snack 1.76 35.25

26 susu permen 1.72 11.66

25 permen → susu 1.72 20.14

27 kopi → susu 1.70 21.66

28 susu → kopi 1.70 11.54

29 sabun → minuman 1.68 16.79

31 susu.minuman snack 1.68 56.65

32 minuman.snack susu 1.68 26.76

30 susu.snack minuman 1.68 25.47

34 mie instant → saus & kecap 1.62 16.92

33 saus & kecap → mie instant 1.62 54.88

35 tissue → snack 1.58 31.64

37 mie instant → makanan pokok 1.55 16.21

36 makanan pokok mie instant 1.55 26.51

38 kopi minuman 1.51 19.23

(24)

16

No ITEM I → ITEM II Support Confidence

40 lotion sabun 1.49 25.16

41 kopi sabun 1.43 18.27

42 sabun kopi 1.43 14.31

43 Susu Bayi snack 1.36 26.09

44 obat → snack 1.36 24.39

45 pasta gigi → susu 1.30 26.02

46 snack.permen minuman 1.28 33.97

48 minuman.snack → permen 1.28 20.41

47 permen.minuman snack 1.28 62.79

50 mie instant kopi 1.27 13.83

49 kopi → mie instant 1.27 16.16

51 makanan pokok → snack 1.26 21.58

52 sabun.snack → susu 1.24 38.55

53 susu.snack → sabun 1.24 18.84

54 susu.sabun snack 1.24 53.27

57 mie instant.susu snack 1.21 59.17

60 susu.permen snack 1.21 70.44

55 mie instan.snack → susu 1.21 36.65

58 permen.snack → susu 1.21 32.17

56 susu.snack → mie instant 1.21 18.46

59 susu.snack → permen 1.21 18.39

61 eskrim snack 1.18 27.04

63 sabun tissue 1.16 11.52

62 tissue sabun 1.16 23.10

64 lotion → susu 1.10 18.58

66 sabun → makanan pokok 1.04 10.34

65 makanan pokok → sabun 1.04 17.07

67 pasta gigi → lotion 1.03 20.68

68 lotion pasta gigi 1.03 17.44

69 permen mie instant 1.00 11.76

70 perlengkapan bayi → snack 1.00 34.10

71 mie instant permen 1.00 10.50

(25)

17 Lampiran 4 Hasil penggalian dengan menggunakan FOLD – Growth dengan minsup 2% dan

mincof sebesar 10%

No ITEM I → ITEM II Support Confidence

1 susu → snack 6.58 44.64

2 snack susu 6.58 22.39

3 snack minuman 6.26 21.31

4 minuman snack 6.26 20.87

5 permen snack 3.76 44.10

6 snack → permen 3.76 12.80

7 mie instant → snack 3.31 34.68

8 snack → mie instant 3.31 11.26

10 snack sabun 3.22 10.94

9 sabun snack 3.22 32.07

11 susu minuman 2.95 20.07

13 sabun pasta gigi 2.68 26.71

12 pasta gigi → sabun 2.68 53.64

14 sabun → susu 2.33 23.21

15 kopi → snack 2.19 27.91

16 mie instant susu 2.05 21.48

17 susu mie instant 2.05 13.92

18 permen minuman 2.04 23.86

(26)

18 Lampiran 5 Hasil penggalian dengan menggunakan FOLD – Growth dengan minsup 3% dan

mincof sebesar 10%

No ITEM I → ITEM II Support Confidence

1 susu → snack 6.58 44.64

2 snack susu 6.58 22.39

3 snack minuman 6.26 21.31

4 minuman snack 6.26 20.87

5 permen snack 3.76 44.10

6 snack → permen 3.76 12.80

7 mie instant → snack 3.31 34.68

8 snack → mie instant 3.31 11.26

9 snack sabun 3.22 10.94

(27)

19 Lampiran 6 Hasil penggalian dengan menggunakan FOLD – Growth dengan minsup 4% dan 5%

dengan mincof sebesar 10%

No ITEM I → ITEM II Support Confidence

1 susu → snack 6.58 44.64

2 snack susu 6.58 22.39

3 snack minuman 6.26 21.31

(28)

20 Lampiran 7 Hasil penggalian dataset I dengan menggunakan FOLD – Growth dengan minsup

2% dan mincof sebesar 10%

No ITEM I ITEM II Support Confidence

1 snack → minuman 6.32 21.57

2 minuman → snack 6.26 20.91

3 susu snack 6.27 43.88

4 snack → susu 6.27 21.39

5 permen snack 3.79 44.44

6 snack permen 3.79 12.93

7 mie instant → snack 3.31 34.34

8 snack → mie instant 3.31 11.29

9 sabun → snack 3.21 32.45

10 snack → sabun 3.21 10.93

11 susu minuman 2.85 19.98

12 pasta gigi sabun 2.58 52.12

13 sabun pasta gigi 2.58 26.17

14 kopi → snack 2.23 28.18

15 susu → sabun 2.21 15.47

16 sabun → susu 2.21 22.38

17 permen → minuman 2.11 24.69

18 pelengkap roti snack 2.04 71.08

19 susu mie instant 2.04 14.24

20 mie instant susu 2.04 21.12

Hasil update transaksi dataset II dengan menggunakan FOLD – Growth minsup 2% dan mincof sebesar 10%

No ITEM I → ITEM II Support Confidence

1 susu → snack 6.58 44.64

2 snack → susu 6.58 22.39

3 snack → minuman 6.26 21.31

4 minuman snack 6.26 20.87

5 permen snack 3.76 44.10

6 snack → permen 3.76 12.80

7 mie instant → snack 3.31 34.68

8 snack → mie instant 3.31 11.26

9 snack → sabun 3.22 10.94

10 sabun → snack 3.22 32.07

11 susu minuman 2.95 20.07

12 sabun pasta gigi 2.68 26.71

(29)

21

No ITEM I ITEM II Support Confidence

14 sabun susu 2.33 23.21

15 kopi → snack 2.19 27.91

16 mie instant susu 2.05 21.48

17 susu → mie instant 2.05 13.92

18 permen → minuman 2.04 23.86

19 pelengkap roti → snack 2.00 69.92

(30)

1

PENGGUNAAN STRUKTUR DATA

SOTrieIT

UNTUK

PEMANGKASAN TRANSAKSI DENGAN

ALGORITME

DATA MINING

FOLD

-

GROWTH

DENY PRASTOWO

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(31)

ii

ABSTRAK

DENY PRASTOWO. Penggunaan Struktur Data SOTrieIT Untuk Pemangkasan Transaksi Dengan Algoritme Data Mining FOLD – Growth. Dibimbing oleh Rindang Karyadin dan Wisnu Ananta Kusuma.

Penelitian ini menggunakan salah satu teknik penggalian data yang dikenal dengan teknik aturan asosiasi (Association Rule) dan menggunakan algoritme FOLD – Growth untuk mengekstrak korelasi antar itemset yang terbentuk. Data yang digunakan dalam penelitian kali ini ialah suatu data transaksi penjualan sebuah toko di daerah kota Bogor.

Kombinasi yang terjadi pada dataset yang dipakai memperlihatkan bahwa itemset dengan kombinasi susu Æ snack (support 6,58% ; confidence 44,64%) merupakan kombinasi yang paling banyak dilakukan dalam keseluruhan transaksi dalam basis data. Selanjutnya itemset dengan kombinasi permen Æ mie instant (support 1% ; confidence 11,76%) merupakan kombinasi terkecil untuk penetapan nilai minimum support sebesar 1%. Sementara itu kombinasi dengan item susu.permen Æ snack merupakan kombinasi itemset dengan nilai confidence tertinggi sebesar 70,44% dan kombinasi item permen Æ mie instant merupakan kombinasi dengan nilai confidence terkecil. Dari penelitian ini diperoleh juga suatu kesimpulan bahwa pemangkasan menggunakan large 2 – itemset tidak merubah atau merusak kombinasi yang terjadi dalam database transaksi yang digunakan. Dengan demikian pemangkasan dengan acuan large 1 – 2 itemset dapat dilakukan.

(32)

1

PENDAHULUAN

Latar Belakang

Begitu banyaknya fungsionalitas dalam penggalian data terkadang membuat kita harus memilih secara seksama. Pemilihan fungsionalitas yang tepat dalam melakukan suatu penggalian data menentukan keefektifan serta keefisienan waktu yang dibutuhkan dalam mengekstrak data tersebut.

Penggalian data dengan pola asosiasi merupakan salah satu pilihan fungsionalitas yang dapat kita cermati karena kegunaanya yang dapat diterapkan pada berbagai macam situasi seperti e-commerce, klasifikasi, pengelompokan dan lain sebagainya. Dalam penggalian data dengan pola asosiasi ditemukan atribut – atribut yang menunjukkan kondisi di mana atribut – atribut tersebut muncul secara bersama – sama dalam suatu data yang diberikan. Penggalian data dengan pola asosiasi ini lebih sering digunakan dalam pengolahan dan analisis data transaksi, selanjutnya lebih dikenal dengan nama market – basket analysis. Ada beberapa algoritme yang dapat digunakan untuk memperbaiki kinerja penggalian data dengan pola asosiasi, namun algoritme tersebut hanya dapat menangani kondisi tertentu saja dan memiliki kekurangan dalam kondisi lainnya. Sementara itu dalam penggalian data keefektifan serta keefisienan sumber daya yang digunakan sangat diperlukan.

Pada penelitian yang dilakukan oleh Woon et al. (2004), penggabungan dua buah algoritme FP GROWTH dengan FOLDARM pada metode assosiasi menghasilkan sebuah algoritme baru (FOLD - Growth) yang memiliki kinerja yang lebih baik. Algoritme ini menggunakan struktur data SOTrieIT. Kinerja dari algoritme tersebut menghasilkan proses yang lebih fleksibel dan efisien jika dibandingkan dengan algoritme – algoritme aturan asosisiasi lainnya seperti Apriori dan FP - Growth. Dengan demikian penggunaan algoritme ini diharapkan dapat memperbaiki kinerja algoritme sebelumnya dan dapat diimplementasikan pada kasus penggalian data transaksi berdasarkan market - basket.

Tujuan

Penelitian ini bertujuan untuk menerapkan pemangkasan transaksi dengan

menggunakan struktur data SOTrieIT serta algoritme FOLD - Growth.

Ruang Lingkup

Ruang lingkup dari penelitian ini adalah : 1 Penggunaan metode association rule

untuk melakukan proses update menggunakan algoritme FOLD – Growth hanya terbatas pada penambahan data transaksi.

2 Pembahasan meliputi analisis hasil penggalian yang meliputi confidence serta support suatu item terhadap item yang lain.

Manfaat

Diharapkan dengan adanya penelitian ini, maka dapat menjadi sebuah referensi terhadap pemilihan algoritme dalam metode association rule. Penelitian ini juga memberikan sedikit gambaran mengenai proses update suatu transaksi saat dilakukan penggalian data.

TINJAUAN PUSTAKA

Penggalian Data (Data mining)

Data mining adalah proses pencarian suatu korelasi - korelasi baru suatu data yang mempunyai makna, pola dan tren tertentu dengan cara menyelidiki atau meneliti suatu data yang berukuran besar yang terdapat di dalam suatu gudang data dengan menggunakan teknologi pengenalan pola serta teknik statistik dan matematika (Larose 2005).

Pola Asosiasi (Association Rule)

Pola asosiasi ialah salah satu teknik dalam penggalian data yang bertujuan untuk mengekstrak korelasi yang menarik, pola – pola yang sering muncul, hubungan kumpulan item di dalam suatu basis data atau gudang data yang berisi record transaksi (Zhao et al. 2003).

Terdapat dua hal utama yang melandasi teknik ini yaitu support dan confidence (Zhao et al. 2003). Support dari suatu association rule didefinisikan sebagai persentase dari record X Y terhadap seluruh jumlah transaksi di dalam basis data. Support dapat dihitung dengan menerapkan rumus sebagai berikut :

Support (XY) =

tion rOfTransac TotalNumbe

Y SupportOfX

(33)

1

PENDAHULUAN

Latar Belakang

Begitu banyaknya fungsionalitas dalam penggalian data terkadang membuat kita harus memilih secara seksama. Pemilihan fungsionalitas yang tepat dalam melakukan suatu penggalian data menentukan keefektifan serta keefisienan waktu yang dibutuhkan dalam mengekstrak data tersebut.

Penggalian data dengan pola asosiasi merupakan salah satu pilihan fungsionalitas yang dapat kita cermati karena kegunaanya yang dapat diterapkan pada berbagai macam situasi seperti e-commerce, klasifikasi, pengelompokan dan lain sebagainya. Dalam penggalian data dengan pola asosiasi ditemukan atribut – atribut yang menunjukkan kondisi di mana atribut – atribut tersebut muncul secara bersama – sama dalam suatu data yang diberikan. Penggalian data dengan pola asosiasi ini lebih sering digunakan dalam pengolahan dan analisis data transaksi, selanjutnya lebih dikenal dengan nama market – basket analysis. Ada beberapa algoritme yang dapat digunakan untuk memperbaiki kinerja penggalian data dengan pola asosiasi, namun algoritme tersebut hanya dapat menangani kondisi tertentu saja dan memiliki kekurangan dalam kondisi lainnya. Sementara itu dalam penggalian data keefektifan serta keefisienan sumber daya yang digunakan sangat diperlukan.

Pada penelitian yang dilakukan oleh Woon et al. (2004), penggabungan dua buah algoritme FP GROWTH dengan FOLDARM pada metode assosiasi menghasilkan sebuah algoritme baru (FOLD - Growth) yang memiliki kinerja yang lebih baik. Algoritme ini menggunakan struktur data SOTrieIT. Kinerja dari algoritme tersebut menghasilkan proses yang lebih fleksibel dan efisien jika dibandingkan dengan algoritme – algoritme aturan asosisiasi lainnya seperti Apriori dan FP - Growth. Dengan demikian penggunaan algoritme ini diharapkan dapat memperbaiki kinerja algoritme sebelumnya dan dapat diimplementasikan pada kasus penggalian data transaksi berdasarkan market - basket.

Tujuan

Penelitian ini bertujuan untuk menerapkan pemangkasan transaksi dengan

menggunakan struktur data SOTrieIT serta algoritme FOLD - Growth.

Ruang Lingkup

Ruang lingkup dari penelitian ini adalah : 1 Penggunaan metode association rule

untuk melakukan proses update menggunakan algoritme FOLD – Growth hanya terbatas pada penambahan data transaksi.

2 Pembahasan meliputi analisis hasil penggalian yang meliputi confidence serta support suatu item terhadap item yang lain.

Manfaat

Diharapkan dengan adanya penelitian ini, maka dapat menjadi sebuah referensi terhadap pemilihan algoritme dalam metode association rule. Penelitian ini juga memberikan sedikit gambaran mengenai proses update suatu transaksi saat dilakukan penggalian data.

TINJAUAN PUSTAKA

Penggalian Data (Data mining)

Data mining adalah proses pencarian suatu korelasi - korelasi baru suatu data yang mempunyai makna, pola dan tren tertentu dengan cara menyelidiki atau meneliti suatu data yang berukuran besar yang terdapat di dalam suatu gudang data dengan menggunakan teknologi pengenalan pola serta teknik statistik dan matematika (Larose 2005).

Pola Asosiasi (Association Rule)

Pola asosiasi ialah salah satu teknik dalam penggalian data yang bertujuan untuk mengekstrak korelasi yang menarik, pola – pola yang sering muncul, hubungan kumpulan item di dalam suatu basis data atau gudang data yang berisi record transaksi (Zhao et al. 2003).

Terdapat dua hal utama yang melandasi teknik ini yaitu support dan confidence (Zhao et al. 2003). Support dari suatu association rule didefinisikan sebagai persentase dari record X Y terhadap seluruh jumlah transaksi di dalam basis data. Support dapat dihitung dengan menerapkan rumus sebagai berikut :

Support (XY) =

tion rOfTransac TotalNumbe

Y SupportOfX

(34)

2 transaksi yang mengandung X Y terhadap

jumlah total transaksi yang mengandung X. Confidence dapat dihitung dengan menggunakan rumus sebagai berikut :

Confidence (X|Y) =

Support(X) ) Support(XY

FP – Tree

FP – Tree atau Frequent Pattern Tree merupakan suatu algoritme yang dirancang untuk mengatasi kendala bottleneck pada proses penggalian data dengan algoritme Apriori (Zhao et al. 2003). Definisi dari FP – Tree dijelaskan sebagai berikut (Han et al. 2000) :

• Terdiri atas sebuah root dengan label “null”, sekumpulan subtree yang menjadi child dari root dan sebuah tabel frequent header.

• Setiap node dalam FP – Tree mengandung tiga informasi penting, yaitu : label item, menginformasikan jenis item yang terdapat pada node tersebut, support count, merepresentasikan jumlah lintasan transaksi yang melalui simpul tersebut dan pointer penghubung yang menghubungkan label item yang sama antar lintasan dalam FP – Tree yang ditandai dengan garis putus – putus.

• Isi dari setiap baris dalam tabel frequent – header terdiri atas label item dan head of nodelink yang menunjuk ke node pertama dalam FP – Tree yang menyimpan label item tersebut.

[image:34.612.327.511.97.393.2]

FP – Tree merupakan suatu struktur data berbentuk tree yang menyimpan item – item yang frequent atau nilainya lebih besar dari minimum support yang diberikan, untuk memperjelas algoritme pembentukan FP - Tree maka akan diberikan sebuah contoh pembangunan FP – Tree yang mengacu pada basis data D dengan nilai minimum support sebesar 3 (60%) sebagai berikut :

Tabel 1 Transaksi dalam database D

Proses scanning pertama akan menghasilkan large 1 – itemset yang selanjutnya akan digunakan sebagai dasar dalam pengurutan secara menurun dari transaksi pada basis data D. Hasil 1 – itemset yang didapatkan dapat seperti berikut ini : {(sabun : 4), (snack : 4), (rokok : 3), (mie : 3), (shampoo : 3), (minuman : 3) } (angka setelah karakter “:” mengindikasikan jumlah count - nya).

Gambar 1 sampai 3 berikut akan mengilustrasikan pembangunan FP – Tree setelah pembacaan transaksi 100, 200, dan keseluruhan FP – Tree yang terbentuk.

Sabun

Snack

Rokok

Mie

Minum

Gambar 1 FP – Tree pembacaan transaksi 100.

TID Item Yang

Dibeli

Item Terurut

100 sabun, rokok,

snack, buah, daging, beras, mie, minuman

sabun, snack, rokok, mie, minuman

200 rokok, shampo,

snack, sabun, pulpen, mie, tisue

sabun, snack, rokok, mie,shampoo

300 shampo, sabun,

kamper, minyak, tisue

sabun, shampoo

400 shampo, snack,

kabel, lampu, minuman

snack, shampo, minuman

500 rokok, sabun,

snack, kertas, pulpen, minuman, mie, bihun

sabun, snack, rokok, mie, minuman

null

Sabun : 1

Snack : 1

Rokok : 1

Mie : 1

[image:34.612.317.517.460.654.2]
(35)

3 Sabun

Snack

Rokok

Mie

Sampo

Minum

Gambar 2 FP-Tree pembacaan transaksi 200.

Sabun

Snack

Rokok

Mie

Sampo

Minum

Gambar 3 FP – Tree utuh.

Contoh di atas merupakan salah satu ilustrasi pembentukan FP – Tree dengan penggunaan nilai minimum support sebesar 3 atau 60%. Algoritme pembentukan FP – Tree ini terdiri dari dua langkah utama (Han et al. 2000), yaitu :

1. Proses scanning basis data untuk menemukan 1 – itemset (L), kemudian itemset L digunakan untuk mengurutkan transaksi

terhadap item yang frequent secara menurun.

2. Proses pembuatan tree yang diawali dengan pembuatan ROOT (T). Kemudian menjalankan fungsi insert_tree([p|P],T), di mana p adalah elemen pertama dan P merupakan sisa elemen yang ada dalam daftar transaksi.

Fungsi insert_tree([p|P],T) dijalankan sebagai berikut: Jika T mempunyai anak N dan (N.itemName = p.itemName), maka naikan counter N sebesar 1. Selainnya buat node N baru dan buat link ke parent. Serta node-nya di kaitkan ke node – node yang mempunya label yang sama. Jika P tidak kosong, panggil fungsi insert_tree(P,N) secara rekursif.

Algoritme FP-Growth

Algoritme FP – Growth merupakan salah satu algoritme penggalian data yang akan membangkitkan suatu struktur data Tree atau yang disebut dengan FP – Tree. Algoritme ini melibatkan tiga langkah utama (Han et al. 2000), yaitu :

a Tahap pembangkitan kondisional pattern base.

b Tahap pembangkitan kondisional FP – Tree.

[image:35.612.103.313.85.725.2]

c Tahap pencarian frequent itemset. Sehingga jika FP –Tree pada Gambar 3 menjadi masukkan untuk algoritme FP – Growth, maka akan menghasilkan frequent item sebagai berikut :

Tabel 2 Frequent Itemset Terbentuk

Item Frequent Item

Shampo Shampo

Minuman Minuman / {snack |

minuman }

[image:35.612.325.506.518.650.2]

Mie Mie / {sabun snack rokok

| mie}

Rokok Rokok / {sabun snack |

rokok }

Snack Snack / { sabun | snack}

Sabun Sabun

SOTrieIT

SOTrieIT atau Sub Ordered Trie Itemset merupakan suatu tree yang dibangun dengan null

Sabun : 2

Snack : 2

Rokok : 2

Mie : 2

Minum : 1 Sampo : 1

Head Table

(36)

4 mengekstrak 1 – 2 itemset dari setiap

transaksi (Zhao et al. 2003). Prinsip penelusuran dalam SOTrieIT memiliki pendekatan yang sama dengan pencarian dengan metode DFS. Cara penelusuran dilakukan dengan scanning dari node pertama yang paling kiri. Jika support count dari satu item di level ke dua tidak mencukupi dari minimum support maka proses berhenti dan pindah ke level atas lainnya. Jika nilai support count pada level atas sudah tidak lagi mencukupi nilai minimum support, maka proses berhenti dan tree terbentuk.

Algoritma pembentukan SOTrieIT bekerja dengan melakukan ekstrasi 1 – 2 Itemset dari setiap transaksi yang dibaca. Tahapan pengerjaan dari algoritma ini secara singkat dijelaskan sebagai berikut (Woon et al. 2002):

1. Menemukan semua 1 - 2 itemset dari setiap transaksi

2. Menambahkan node baru pada Trie jika node dengan nilai count ialah 1 (satu) jika node tersebut tidak terdapat pada level 1 dan level 2, jika node sudah terdapat dalam Trie maka dilakukan penambahan nilai count di node tersebut dan dilakukan rebalancing antar node dalam Trie tersebut.

Untuk memperjelas uraian di atas akan diilustrasikan pembangunan SOTrieIT dengan basis data D sebagai berikut (Woon et al. 2002) :

Tabel 3 Contoh transaksi dalam basisdata D

TID Items

100 A C

200 B C

300 A B C

400 A B C D

Setelah diperoleh transaksinya, selanjutnya akan dibaca transaksi tersebut dan diekstraksi 1 – 2 itemset-nya. Pada saat transaksi 100 dibaca maka akan diekstrak 1 – itemset : {A, C} dan 2 – itemset : {AC} (Gambar 4 a). Selanjutnya saat pembacaan transaksi 200, sistem akan mengekstrak 1 itemsetnya : {B,

Gambar

Gambar 1 setelah pembacaan transaksi 100, 200, dan keseluruhan mengilustrasikan pembangunan sampai 3 berikut akan FP – Tree FP – Tree yang terbentuk
Tabel 2 Frequent Itemset Terbentuk
Gambar 4  (a) Pembacaan transaksi 100 pada
Gambar 7 Metode Penelitian.
+7

Referensi

Dokumen terkait

(frequent itemset) dalam sebuah kumpulan data yang besar. Algoritma

Setelah frequent itemset terbentuk,tahap selanjutnya adalah proses pembentukan aturan. Aturan asosiasi yang terbentuk adalah aturan asoisasi yang telah memenuhi minimum support

Pada penelitian ini akan dibahas bagaimana pencarian itemset mengunakan algoritma FP-Tree (Frequent Pattern Tree yang biasa dipakai dalam mencari untuk penentuan

Pengujian evaluasi dilakukan utuk membandingkan frequent itemset yang dibangkitkan algoritma fp-growth dan jumlah rule yang di hasilkan dengan menggunakan minimum support

mengidentifikasi beberapa tipe dari kaidah asosiasi yang berkaitan dengan data transaksi penjualan yaitu nilai-nilai support dan confidence , mengetahui combinasi dari item-item

Analisis frequent itemset , atau analisis pola frekuensi tinggi untuk mencari kombinasi item yang memenuhi syarat minimum dari nilai support itemset , dimana nilai

Setelah itu dari hasil frequent itemset atau termasuk dalam Large 2-itemset tersebut, dibentuk aturan asosiasi (association rule) yang memenuhi nilai minimum support

Kemudian tahapan-tahapan dalam algoritma FP-Growth yaitu: 1 menentukan nilai support dari tiap-tiap itemset, 2 itemset yang mendapatan nilai support lebih dari nilai minimum support