IMPLEMENTASI ALGORITMA-ALGORITMA ASSOCIATION RULES SEBAGAI BAGIAN DARI PENGEMBANGAN DATA MINING ALGORITHMS COLLECTION

dokumen-dokumen yang mirip
ANALISA PENCARIAN FREQUENT ITEMSETS MENGGUNAKAN ALGORITMA FP-MAX

BAB II TINJAUAN PUSTAKA

PENGGALIAN TOP-K CLOSED FREQUENT ITEMSETS BERBASIS ALGORITMA PEMETAAN TRANSAKSI

ALGORITMA PARALEL FP-GROWTH UNTUK PENGGALIAN KAIDAH ASOSIASI PADA JARINGAN KOMPUTER

Penerapan Stuktur FP-Tree dan Algoritma FP-Growth dalam Optimasi Penentuan Frequent Itemset

BAB 2 TINJAUAN PUSTAKA

2.2 Data Mining. Universitas Sumatera Utara

Mining Association Rules dalam Basis Data yang Besar

FREQUENT ITEMSET MINING MENGGUNAKAN ALGORITMA PIE

Cust. 1 : milk, bread, cereal. Cust. 2 : milk, bread, Sugar, eggs. Cust. 3 : milk, bread, butter

BAB I PENDAHULUAN 1.1 Latar Belakang

PENGGALIAN TOP-K FREQUENT CLOSED CONSTRAINED GRADIENT ITEMSETS TANPA BATASAN MINIMUM SUPPORT PADA BASIS DATA RETAIL

ANALISIS DAN IMPLEMENTASI ALGORITMA CT-APRIORI UNTUK ASOSIASI TRANSAKSI BARANG

Journal of Informatics and Telecommunication Engineering. Analisa Algoritma Data Mining Eclat Dan Hui Miner

PENERAPAN DATA MINING MENGGUNAKAN ALGORITMA FP-TREE DAN FP-GROWTH PADA DATA TRANSAKSI PENJUALAN OBAT

IMPLEMENTASI ALGORITMA APRIORI UNTUK MENEMUKAN FREQUENT ITEMSET DALAM KERANJANG BELANJA

PENGEMBANGAN ALGORTIMA APRIORI UNTUK PENGAMBILAN KEPUTUSAN THE DEVELOPMENT APRIORI ALGORITHM FOR DECISION- MAKING

Penggunaan Struktur FP-Tree dan Algoritma FP- Growth dalam Rekomendasi Promosi Produk pada Situs Belanja Online

ANALISIS DAN IMPLEMENTASI DATA MINING DENGAN CONTINUOUS ASSOCIATION RULE MINING ALGORITHM (CARMA) UNTUK REKOMENDASI MATA KULIAH PADA PERWALIAN

JURNAL TEKNOLOGI TECHNOSCIENTIA ISSN: Vol. 7 No. 2 Februari 2015

BAB I PENDAHULUAN. Teknologi Informasi sekarang ini telah digunakan hampir di semua aspek

PENERAPAN ALGORITMA APRIORI DALAM PERANGKAT LUNAK DATA BASE Amroni, S.Kom, M.Kom

PENGGALIAN FREQUENT CLOSED ITEMSETS DENGAN MULTIPLE MINIMUM SUPPORT PADA BASISDATA RETAIL

SISTEM REKOMENDASI PAKET MAKANAN DENGAN ALGORITMA FP-GROWTH PADA RESTORAN SEAFOOD XYZ

IMPLEMENTASI ALGORITMA CT-PRO UNTUK MENEMUKAN POLA PADA DATA SISWA SMA (STUDI KASUS: MADRASAH ALIYAH NEGERI (MAN) KARANGANON KLATEN)

BAB I PENDAHULUAN 1.1 Latar Belakang

PENGEMBANGAN ALGORTIMA APRIORI UNTUK PENGAMBILAN KEPUTUSAN TEKNIK INFORMATIKA

BAB I PENDAHULUAN. Data mining memungkinkan penemuan pola-pola yang menarik, informasi yang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

FREQUENT ITEMSET MINING MENGGUNAKAN ALGORITMA DF-APRIORI

ANALISA POLA DATA HASIL PEMBANGUNAN KABUPATEN MALANG MENGGUNAKAN METODE ASSOCIATION RULE

IMPLEMENTASI ALGORITMA ECLAT UNTUK FREQUENT PATTERN MINING PADA PENJUALAN BARANG

ANALISIS KETERKAITAN DATA TRANSAKSI PENJUALAN BUKU MENGGUNAKAN ALGORITMA APRIORI DAN ALGORITMA CENTROID LINKAGE HIERARCHICAL METHOD (CLHM)

Nusantara of Engginering (NoE)/Vol. 1/No. 2/ISSN:

Aplikasi Data Mining dengan Menggunakan Teknik ARM untuk Pengolahan Informasi Rendemen Obat

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

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

PERBANDINGAN ALGORITMA APRIORI DAN ALGORITMA CT-Pro PADA KOMODITAS EKSPOR DAN IMPOR SKRIPSI ELISA SEMPA ARIHTA KABAN

PENGEMBANGAN APLIKASI PENGGALIAN TOP-K FREQUENT CLOSED CONSTRAINED GRADIENT ITEMSETS PADA BASIS DATA RETAIL

Pembentukan Temporal Association Rules Menggunakan Algoritma Apriori (Studi Kasus:Toko Batik Diyan Solo)

Implementasi Algoritme Modified-Apriori Untuk Menentukan Pola Penjualan Sebagai Strategi Penempatan Barang Dan Promo

ANALISA POLA KEYWORD PENCARIAN PADA GOOGLE MENGGUNAKAN MARKET BASKET ANALYSIS. (STUDI KASUS : STIKOM Wireless Connection)

PERBANDINGAN ALGORITMA APRIORI DAN ALGORITMA FP-GROWTH UNTUK PEREKOMENDASI PADA TRANSAKSI PEMINJAMAN BUKU DI PERPUSTAKAAN UNIVERSITAS DIAN NUSWANTORO

Pembuatan Perangkat Lunak Data Mining Untuk Penggalian Kaidah Asosiasi Menggunakan Metode Apriori

Cross-Selling: Perangkat Utama Customer Relationship Managem. Meningkatkan Loyalitas Pelanggan

Pola Kompetensi Mahasiswa Program Studi Informatika Menggunakan FP-Growth

Analisis Efisiensi Algoritma Data Mining

PEMBUATAN PERANGKAT LUNAK DATA MINING UNTUK PENGGALIAN KAIDAH ASOSIASI MENGGUNAKAN METODE APRIORI

PENERAPAN ALGORITMA APRIORI ASSOCIATION RULE UNTUK ANALISA NILAI MAHASISWA DI UNIVERSITAS GUNADARMA

PENGEMBANGAN APLIKASI PENENTUAN TINGKAT KEUNTUNGAN PADA E- COMMERCE DENGAN MENGGUNAKAN ALGORITMA K-MEANS DAN APRIORI

PENGENALAN POLA TRANSAKSI SIRKULASI BUKU PADA DATABASE PERPUSTAKAAN MENGGUNAKAN ALGORITMA GENERALIZED SEQUENTIAL PATTERN

Link Analysis (Superset) 3 Kategori Link Analysis (#1) 3 Kategori Link Analysis (#2) Association Rule Mining. 3 Kategori Link Analysis (#3)

IMPLEMENTASI ALGORITMA FP- GROWTH MENGGUNAKAN ASSOCIATION RULE PADA MARKET BASKET ANALYSIS

BAB II LANDASAN TEORI

Jurnal Sistem Informasi (Journal of Information Systems). 2/13 (2017), DOI:

1 st Seminar on Application and Research in Industrial Technology, SMART Yogyakarta, 27 April 2006

Kata kunci : Perpustakaan, Sistem Rekomendasi, Knowledge Discovery from Database (KDD), Association Rule Mining, Algoritma CT-PRO

BAB II LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

ANALISA POLA PEMILIHAN PROGRAM STUDI BAGI CALON MAHASISWA DI UNIVERSITAS ABDURRAB MENGGUNAKAN ASSOCIATION RULE

BAB 1 PENDAHULUAN. 1 Universitas Indonesia. Implementasi algoritma clustering..., Adolf Pandapotan

DATA MINING DENGAN ALGORITMA APRIORI PADA RDBMS ORACLE

PENERAPAN DATA MINING DALAM ANALISIS KEJADIAN TANAH LONGSOR DI INDONESIA DENGAN MENGGUNAKAN ASSOCIATION RULE ALGORITMA APRIORI

BAB 2 LANDASAN TEORI. Pada bab ini akan dibahas tentang konsep dasar dan teori-teori pendukung yang berhubungan dengan sistem yang akan dibangun.

SISTEM SISTEM REKOMENDASI BIDANG MINAT MAHASISWA MENGGUNAKAN METODE ASSOCIATION RULE DAN ALGORITMA APRIORI

ASSOCIATION RULES PADA TEXT MINING

IMPLEMENTASI DATA MINING DENGAN ALGORITMA APRIORI PADA TOKO BANGUNAN UD. RUFI SENTOSA JAYA SAMBIREJO - PARE

Penentuan Pola Kunjungan Wisatawan Ke Berbagai Objek Wisata Di Pulau Ambon Menggunakan Frequent Pattern Growth

PENDAHULUAN TINJAUAN PUSTAKA

BAB II LANDASAN TEORI. Anindita Dwi Respita,2015. a. Penelitian ini menjelaskan tentang tujuan : menggunakan metode market basket analysis.

IMPLEMENTASI ALGORITMA FOLD-GROWTH PADA PEMODELAN POLA PEMBELIAN BARANG SEBAGAI PENDUKUNG PENENTUAN LETAK BARANG

2.1 Penelitian Terkait

Aplikasi Data Mining untuk meneliti Asosiasi Pembelian Item Barang di Supermaket dengan Metode Market Basket Analysis

PENERAPAN METODE ASSOCIATION RULE MENGGUNAKAN ALGORITMA APRIORI PADA SIMULASI PREDIKSI HUJAN WILAYAH KOTA BANDUNG

LEMBAR PENGESAHAN Batam, 21 Februari 2011 Pembimbing, Mir atul K. Mufida, S. ST NIK

DATA MINING UNTUK MENGGALI POLA MAHASISWA BARU MENGGUNAKAN METODE FREQUENT PATTERN GROWTH (STUDI KASUS : INSTITUT TEKNOLOGI ADHI TAMA SURABAYA)

Pengembangan Aplikasi Market Basket Analysis Menggunakan Algoritma Generalized Sequential Pattern pada Supermarket

BAB II LANDASAN TEORI

Penelitian ini melakukan pencarian

Timor Setiyaningsih, Nur Syamsiah Teknik Informatika Universitas Darma Persada. Abstrak

EFEKTIVITAS ALGORITMA FREQUENT PATTERN GROWTH PADA CROSS MARKET ANALYSIS

PENERAPAN ASSOCIATION RULE MINING PADA DATA NOMOR UNIK PENDIDIK DAN TENAGA KEPENDIDIKAN

ALGORITMA GENERALIZED SEQUENTIAL PATTERN UNTUK MENGGALI DATA SEKUENSIAL SIRKULASI BUKU PADA PERPUSTAKAAN UK PETRA

PEMBANGKITAN KAIDAH ASOSIASI DARI TOP-K FREQUENT CLOSED ITEMSET YANG DIDASARKAN PADA STRUKTUR DATA BERBASIS LATTICE

Association Rule. Ali Ridho Barakbah

ALGORITMA ATURAN ASOSIASI APRIORI-TID DENGAN METODE KLASTERISASI HIERARKI AGLOMERATIF. Tri Khairul I.A 1 ABSTRAK

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ALGORITMA GENERALIZED SEQUENTIAL PATTERN UNTUK MENGGALI DATA SEKUENSIAL SIRKULASI BUKU PADA PERPUSTAKAAN UK PETRA

ANALISA POLA PEMILIHAN PROGRAM STUDI BAGI CALON MAHASISWA DI UNIVERSITAS ABDURRAB MENGGUNAKAN ASSOCIATION RULE

JURNAL TEKNIK ITS Vol. 1, (Sept, 2012) ISSN: A-445

PENERAPAN ALGORITMA APRIORI DALAM MEMPREDIKSI PERSEDIAAN BUKU PADA PERPUSTAKAAN SMA DWI TUNGGAL TANJUNG MORAWA

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN Latar Belakang

Lili Tanti. STMIK Potensi Utama, Jl. K.L. Yos Sudarso Km. 6,5 No. 3A Tj. Mulia Medan ABSTRACT

REKOMENDASI SOLUSI PADA COMPUTER MAINTENANCE MANAGEMENT SYSTEM MENGGUNAKAN ASSOCIATION RULE, KOEFISEN KORELASI PHI DAN CHI-SQUARE

DATA MINING UNTUK MENGGALI POLA MAHASISWA BARU MENGGUNAKAN METODE FREQUENT PATTERN GROWTH (STUDI KASUS : INSTITUT TEKNOLOGI ADHI TAMA SURABAYA)

Abstrak. Data Mining, Algoritma Apriori, Algoritma FP-Growth, Mata Pelajaran, Pemrograman, Web Programming, Matematika, Bahasa Inggris.

PENCARIAN ASSOCIATION RULES PADA DATA LULUSAN MAHASISWA PERGURUAN TINGGI MENGGUNAKAN ALGORITMA FP-GROWTH SKRIPSI SHARFINA FAZA

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB IV HASIL DAN UJICOBA. Penerapan Data Mining Market Basket Analysis Terhadap Data Penjualan Produk

Transkripsi:

IMPLEMENTASI ALGORITMA-ALGORITMA ASSOCIATION RULES SEBAGAI BAGIAN DARI PENGEMBANGAN DATA MINING ALGORITHMS COLLECTION Yova Ruldeviyani 1), Muhammad Fahrian 2) Fakultas Ilmu Komputer - Universitas Indonesia yova@cs.ui.ac.id, Muhammad.fahrian@cs.ui.ac.id ABSTRACT One famous data mining technique is association rules. Association rules is used to see the relationship between items in a transaction, so that it can be studied how each item or a group of items effects other items. A number of algorithms have been proposed by experts in accelerating the searching process of an association rule. This research aims to implement association rules algorithms, and at the same time, integrating the algorithms into a data mining workbench. Algorithms integrated include Apriori, FP-Growth, and CT-Pro. This research also compares the performances of each algorithm. Keywords: Association rules, Apriori, FP-Growth, CT-Pro 1. Pendahuluan Saat ini banyak sekali jenis algoritma data mining yang sudah dikembangkan dengan keunggulan masing-masing. Dalam implementasinya, bahasa C atau C++ diyakini lebih cepat eksekusinya daripada bahasa yang lebih high level seperti Java. Data mining workbench seperti WEKA telah dibangun dengan menggunakan bahasa Java [8], namun demikian sampai saat ini belum ada workbench yang berbasis C++. Penelitian ini merupakan bagian dari usaha untuk membangun workbench berbasis C++ dimana beberapa algoritma dari berbagai teknik data mining diimplementasikan dan diintegrasikan. Makalah ini mengulas khusus di bagian implementasi algoritma yang masuk dalam teknik association rules. 2. Landasan Teori 2.1 Association Rules Association rules digunakan untuk menemukan hubungan di antara data atau bagaimana suatu kelompok data mempengaruhi suatu keberadaan data yang lain [6]. Metode ini dapat membantu mengenali pola-pola tertentu di dalam kumpulan data yang besar. Dalam association rules, suatu kelompok item dinamakan itemset. Support dari itemset X adalah persentase transaksi di D yang mengandung X, biasa ditulis dengan supp(x). Pencarian association rules dilakukan melalui dua tahap yaitu pencarian frequent itemset dan penyusunan rules. Jika support suatu itemset lebih besar atau sama dengan minimum support σ, maka itemset tersebut dapat dikatakan sebagai frequent itemset atau frequent pattern; yang tidak memenuhi dinamakan infrequent. Confidence adalah nilai ukuran seberapa besar valid tidaknya suatu association rules. Confidence suatu rule R (X=>Y) adalah proporsi dari semua transaksi yang mengandung baik X maupun Y dengan yang mengandung X, biasa ditulis sebagai conf(r). Sebuah association rule dengan confidence sama atau lebih besar dari minimum confidence γ dapat dikatakan sebagai valid association rule [1]. 2.2 Algoritma-Algoritma Association Rules 2.2.1 Algoritma Apriori Algoritma ini dicetuskan oleh Agrawal [1]. Ide dasarnya adalah menghitung pola kemunculan item yang muncul dalam data transaksi dengan beberapa iterasi. Iterasi ke i berarti mendapatkan semua frequent i-itemset (suatu itemset yang jumlah item anggotanya sejumlah i). Langkah umum tiap iterasi adalah menghasilkan candidate itemset kemudian dihitung nilai support dari tiap candidate. Untuk menghasilkan candidate, pada dasarnya dapat dilakukan dengan menyusun kombinasi item-item yang sudah ditemukan sebelumnya. Algoritma ini didasari oleh hukum apriori, jika sebuah itemset ternyata infrequent, maka seharusnya superset-nya juga infrequent sehingga tidak perlu diperiksa lagi. Pada iterasi pertama, setiap jenis item yang ditemukan dalam data dijadikan candidate untuk frequent 1-itemsets. Sedangkan candidate di iterasi berikutnya didapatkan dari frequent itemset yang ditemukan di iterasi sebelumnya. Proses akan berhenti jika tidak ada lagi kombinasi candidate yang bisa dibuat. Selain algoritma Apriori yang diimplementasikan sendiri, dalam data mining workbench yang dibangun juga diintegrasikan implementasi algoritma Apriori oleh Christian Borgelt [3] yang sering diacu dan digunakan oleh peneliti di bidang algoritma data mining. 2.2.2 Algoritma FP-Growth Algoritma FP-Growth merepresentasikan transaksi dengan menggunakan struktur data FP-Tree [5]. Gambar 1. memperlihatkan proses penyusunan FP-Tree dari mulai representasi awal transaksi, pengurutan dengan hanya mempertahankan frequent 1-itemset, dan penyimpanannya di FP-Tree. Setelah FP-Tree terbentuk, langkah selanjutnya adalah memperoleh frequent itemset tanpa melakukan candidates generation. Sebagai contoh, path a-b-c-d, mengandung 244

pola itemset: 1-itemsets: a,b,c,d; 2-itemsets: a-b,a-c,a-d,b-c,b-d,c-d; 3-itemsets: a-b-c, a-c-d, b-c-d; dan 4-itemsets: a-b-cd. Setiap pattern yang ditemukan dikumpulkan dan diakumulasikan dengan pattern yang telah ditemukan sebelumnya. TID Itemset 01 f,a,c,d,g,i,m,p 02 a,b,c,f,l,m,o 03 b,f,h,j,o 04 b,c,k,s,p 05 a,f,c,e,l,p,m,n TID Itemset 01 f,c,a,m,p 02 f,c,a,b,m 03 f,b 04 c,b,p 05 f,c,a,m, p (a) Transaksi sebelum diurutkan (b) Transaksi setelah diurutkan (c) FP-Tree yang dihasilkan Gambar 1. Pengolahan Transaksi dalam Algoritma FP-Growth 2.2.3 Algoritma CT-Pro Algoritma ini berakar dari FP-Growth dimana modifikasi yang dilakukan adalah pada struktur data yang digunakan [7]. Struktur data yang digunakan adalah Compressed FP-Tree (CFP-Tree) dimana informasi dari sebuah FP-Tree diringkas dengan struktur yang lebih kecil, sehingga baik pembentukan tree maupun frequent itemset mining dapat dilakukan lebih cepat (lihat Gambar 2). (a) FP-Tree (b) Compressed FP-Tree Gambar 2. FP-Tree dan Compressed FP-Tree (CFP-Tree) 3. Analisa dan Penerapan Algoritma 3.1 Algoritma Apriori Untuk penerapan algoritma Apriori, secara umum dibutuhkan struktur data untuk menyimpan candidate frequent itemset untuk suatu iterasi ke k dan untuk menyimpan frequent itemset yang dihasilkan. Ketika membaca tiap item dari seluruh transaksi, selain mendapatkan item-item baru juga dilakukan perhitungan nilai support item-item yang sudah ditemukan, sehingga untuk mendapatkan candidate 1-itemset beserta nilai support-nya cukup membutuhkan satu kali pembacaan data. Candidate Generation: Dengan memanfaatkan struktur itemset yang ber-prefix sama, dari frequent itemset beranggotakan n item dapat dihasilkan candidate berukuran n+1 item. Sebagai contoh, dari frequent itemset beranggotakan 3 item (3-itemset) dapat dihasilkan candidate beranggotakan 4 item. Jadi misalnya dari frequent itemset abc, untuk mendapatkan candidate 4-itemset, dicari frequent 3-itemset lainnya yang prefix-nya ab, sehingga cukup menambahkan item terakhir frequent 3-itemset yang lain tersebut ke abc. Sebagai contoh, dari frequent itemset abc dan abd dapat dihasilkan candidate abcd. Jadi untuk tiap itemset, dicari pasangan frequent itemset yang sama prefix-nya untuk menghasilkan candidate. Frequent Itemset Mining: Pada tahapan ini tiap kali melakukan matching terhadap suatu transaksi, matching dilakukan kepada setiap candidate secara paralel [4]. Bila semua item pada candidate tersebut ditemukan semua, maka candidate tersebut ada pada transaksi 245

yang sedang dibaca dan nilai support untuk candidate tersebut bertambah satu. Hal ini bisa dilakukan terhadap dataset yang sudah diproses dan nilai number pada transaksi tersebut sudah terurut, sehingga pemeriksaan dapat dilakukan secara sekuensial sesuai urutan nomor atau index item. Berikut penjelasan tahapan dalam frequent itemset mining secara paralel: Matching dilakukan dengan membaca tiap item yang sudah terurut pada tiap transaksi. Tiap candidate memiliki pointer ke item berikutnya. Bila item yang sedang ditunjuk tiap pointer candidate sama dengan item yang sedang dibaca pada transaksi, maka pointer pada item candidate tersebut bergeser ke item candidate berikutnya. Pointer pada candidate menandakan sudah berapa banyak item yang ditemukan dari hasil membaca item pada transaksi Jika selesai membaca semua item pada transaksi dan semua item di candidate ditemukan berarti candidate tersebut terdapat dalam transaksi tersebut. Jika suatu candidate terdapat dalam suatu transaksi berarti nilai support candidate tersebut sama dengan satu untuk transaksi tersebut. Setelah mendapatkan nilai support untuk tiap candidate, nilai support tersebut dibandingkan dengan nilai minimum support yang telah dimasukkan sebelumnya. Struktur data yang digunakan untuk menyimpan frequent itemset adalah FItemset. Struktur ini adalah struktur yang digunakan untuk menyimpan candidate yang telah dihitung nilai support-nya dan memenuhi nilai minimum support. FItemset disimpan referensinya ke sebuah vector. Tiap FItemset yang ditemukan dimasukkan ke dalam vector (hanya referensinya) sesuai ukuran dan prefix-nya. Misalnya 1 2 4 mendahului 1 2 5 karena 4 lebih kecil dari 5. Hal ini agar lebih memudahkan proses ketika melakukan candidates generation. Dimana bila 1 2 4 dan 1 2 5 diproses, karena prefix-nya sama, maka candidate yang baru adalah 1 2 + 4 + 5. FItemset diurutkan berdasarkan ukuran dan prefix. Untuk penggunaan struktur lain seperti candidate hanya berupa array of integer yang disimpan referensinya saja pada sebuah vector untuk dihitung nilai support-nya. 3.2 Algoritma FP-Growth Algoritma FP-Growth menggunakan struktur data FP-Tree. Informasi yang disimpan sebuah node FP-Tree: Item, Index parent, Support, dan Next (Pointer). Ketika selesai membuat FP-Tree, kita tidak begitu saja bisa mendapatkan frequent itemset yang terdapat dalam dataset. Suatu kombinasi itemset bisa saja berada di beberapa path yang berbeda. Untuk mendapatkan suatu pattern dalam FP-Growth langkah yang lebih mudah adalah mencari arah dari ujung suatu path, kemudian kita mencari mulai dari header untuk item di ujung tersebut, barulah kemudian dibuat berdasarkan tiap node berisi item tersebut dicari arah path node ke atas. Hal ini tentu lebih cepat dari pada up-down karena pointer langsung yang dimiliki tiap node adalah pointer ke parent. Path-path yang dieksplorasi hanyalah path-path yang memiliki node yang sedang dicari. Jadi dalam struktur FP-Tree ada link dari suatu item ke path-path yang memiliki item tersebut, sehingga ketika dibutuhkan pencarian pattern-pattern untuk suatu item tertentu, hanya mencari dari path-path tersebut saja. Berikut adalah tahapan dari algoritma FP-Growth: 1. Membuat Header Item Header dalam hal ini selain sebagai header suatu item ke FP-Tree juga sebagai jenis item dasar yang memenuhi minimum support. Setelah mendapatkan item dan nilai support-nya, maka item yang tidak frequent dibuang dan item diurutkan berdasarkan nilai support-nya. Header untuk item, disiapkan pada suatu array tertentu dan ditambahkan ketika membuat FP-Tree. 2. Membuat FP-Tree FP-Tree dibangun dengan mencari item sesuai urutan pada item yang frequent. Data transaksi tidak perlu diurutkan, dan untuk tiap item yang ditemukan bisa langsung dimasukkan ke dalam FP-Tree. Sesudah membuat root, tiap item yang ditemukan dimasukkan berdasarkan path pada FP-Tree. Jika item yang ditemukan sudah ada, maka nilai support item tersebut yang ditambahkan. Namun jika path belum ada, maka dibuat node baru untuk melengkapi path baru pada FP-Tree tersebut. Hal ini dilakukan selama item pada transaksi masih ada yang qualified, artinya memenuhi nilai minimum support. Jadi, item-item yang ditemukan dalam transaksi akan berurutan memanjang ke bawah. Dalam struktur FP-Tree, diterapkan alur path dari child hingga ke root. Jadi, suatu path utuh dalam FP-Tree adalah dari child terbawah hingga ke root. Tiap node pada FP-Tree memiliki pointer ke parent, sehingga pencarian - harus dimulai dari bawah. 3. Pattern Extraction Pattern extraction dilakukan berdasarkan keterlibatan item pada suatu path. Di setiap path, diperiksa semua kombinasi yang mungkin dimana item tersebut terlibat. Di iterasi berikutnya dilakukan dengan melibatkan item berikutnya, tanpa melibatkan item sebelumnya, sehingga pattern yang sama tidak akan ditemukan dua kali pada path yang sama. Bila item pertama suatu hasil kombinasi bukan item terakhir (sebelum root), maka kombinasi itemset tersebut masih bisa dikembangkan lagi. 4. Memasukkan setiap pattern yang ditemukan ke dalam PatternTree Setelah mengolah FP-Tree menjadi pattern-pattern, diperlukan proses akumulasi pattern-pattern yang ditemukan mengingat pattern yang sama dapat ditemukan pada path yang berbeda. Untuk itu digunakan struktur data PatternTree (lihat Gambar 3). Setiap node di PatternTree merepresentasikan dan menyimpan frekuensi suatu 246

pattern. PatternTree terdiri atas PatternTreeNode yang menyimpan nilai item, nilai support dan dilengkapi dengan dua pointer yaitu untuk horisontal dan vertikal. Gambar 3. PatternTree Misalnya pada node d:1 di atas, berarti terdapat pattern a-c-d bernilai support 1. Kemudian bila ada pattern a-c-d lagi bernilai support n yang ditemukan dari FP-Tree maka nilai support 1 tersebut menjadi n+1. Contoh hasil lengkap dari PatternTree tersebut: a:5 menggambarkan bahwa ada pattern a sebanyak 5 b:4 menggambarkan bahwa ada pattern a-b sebanyak 4 c:4 menggambarkan bahwa ada pattern a-b-c sebanyak 4 d:3 menggambarkan bahwa ada pattern a-b-c-d sebanyak 3 c:2 menggambarkan bahwa ada pattern a-c sebanyak 2 d:1 menggambarkan bahwa ada pattern a-c-d sebanyak 1 d:3 menggambarkan bahwa ada pattern a-d sebanyak 3 5. Mengurutkan dan Menyeleksi Pattern Pattern yang tidak memenuhi minimum support, dihapus dari daftar pattern. Pattern pattern yang tersisa kemudian diurutkan untuk memudahkan pembuatan rules. Struktur data-struktur data yang digunakan dalam algoritma FP-Growth adalah FP-Tree yang tersusun dari FPTNode, PatternTree yang terdiri dari PatternTreeNode, dan juga FItemset. FP-Tree adalah struktur tree yang menyimpan itemitem yang telah ditemukan pada saat membaca data. Kemudian FP-Tree ini terdiri atas FPTNode yang membentuk suatu path untuk dicari terdapat pattern apa saja pada path tersebut. FPTNode adalah node pada FP-Tree yang menyimpan informasi item pada node, nilai support, pointer ke parent, dan pointer ke node berikutnya yang mempunyai item yang sama (next). PatternTree adalah struktur untuk menyimpan semua pattern yang ditemukan pada FP-Tree. FItemset menyimpan frequent itemset yang telah ditemukan. Format ini digunakan terutama bila ingin menghasilkan rule, untuk membandingkan suatu frequent itemset dengan subset-nya, akan lebih mudah dengan struktur seperti ini daripada mengolah frequent itemset masih dalam bentuk tree. Struktur FItemset disini sama seperti FItemset pada Apriori. 3.3 Algoritma CT-Pro Algoritma CT-Pro [7] telah diimplementasikan dalam bahasa C++ sehingga perubahan yang dilakukan lebih berfokus kepada integrasi ke dalam workbench. Modifikasi yang dilakukan di antaranya adalah: mengubah struktur algoritma ke dalam bentuk objek, mengganti parameter nilai minimum support yang absolute agar bisa menerima input parameter minimum support dalam persentase (%), dan mengubah hasil print out algoritma agar bisa ditampilkan pada program. 3.4 Generate Rules Pada tahap ini dilakukan pemeriksaan tiap frequent itemset dengan anggota item lebih dari satu. Karena subset dari frequent itemset juga frequent, maka langkah selanjutnya adalah mencari subset itemset tersebut pada kelompok frequent itemset berukuran lebih kecil satu dari itemset tersebut, jika subset yang terbentuk merupakan subset dari itemset maka syarat pertama rule terhadap item yang tidak ditemukan pada subset terpenuhi. Misalnya item yang tidak ditemukan adalah item i. Setelah dihitung nilai confidence-nya untuk melakukan cek apakah rule tersebut valid telah terbukti benar, maka rule {subset} i adalah valid. Sebagai contoh, ketika memeriksa frequent itemset (1 2 3 4) dan (1 2 3). Karena (1 2 3) adalah subset dari (1 2 3 4) dan nilai minimum confidence dipenuhi, maka ditemukan rule baru yaitu {1,2,3} 4. 4. Hasil Uji Coba Implementasi Kedua algoritma dilihat kinerjanya pada dataset chess yang dibuat dari posisi dalam permainan catur [2]. Dataset chess terdiri dari 3196 transaksi, tiap transaksi terdiri dari 37 item, dengan item terkecil 1 dan item terbesar 75. Kedua algoritma diuji dengan nilai support dari 99 hingga 80 dengan skala 5, gambar 4 memperlihatkan hasilnya dalam satuan detik. Untuk hasil pengujian pada dataset chess, perbedaan waktu mulai terlihat pada support 85, dimana Apriori semakin lambat dibandingkan yang lain. Namun untuk FP-Growth walaupun pada awalnya mendekati CT-Pro dan bahkan sempat lebih cepat dari Apriori Christian Borgelt, terdapat nilai support dimana FP-Growth memiliki pertambahan waktu yang 247

signifikan. Terlihat bahwa terdapat nilai support dimana algoritma FP-Growth sangat membebani memory. Secara umum dapat dikatakan bahwa algoritma CT-Pro dan Apriori Christian Borgelt lebih cepat dari FP-Growth dan Apriori. Support Apriori FP-Growth CT-Pro Apriori Borgelt 99 0.36 0.27 0.22 0.27 95 0.66 0.28 0.23 0.42 90 2.07 0.34 0.24 0.8 85 6.2 1.09 0.26 1.57 80 22.81 11.07 3.27 3.63 25 20 Waktu(detik) 15 10 5 Apriori FP-Growth CT-Pro Borgelt 0 99 95 90 85 80 Support(%) Gambar 4. Hasil Pengujian pada Dataset Chess 5. Kesimpulan Pada penelitian ini telah diimplementasikan algoritma association rules yaitu Apriori, FP-Growth, CT-Pro, dan Apriori Cristian Borgelt sebagai bagian dari pengembangan data mining workbench. Dari hasil pengujian pada dataset chess, CT- Pro paling cepat dibandingkan dengan algoritma yang lain. Keunggulan CT-Pro adalah dari penggunaan memori yang lebih hemat dan digunakannya struktur data CFP-Tree yang memungkinkan proses pencarian frequent itemset menjadi lebih cepat. Pada support 80, algoritma FP-Growth lebih lambat jika dibandingkan dengan Apriori Christian Borgelt karena FP-Growth mengalami pertambahan ukuran FP-Tree di memori. Daftar Pustaka [1] Agrawal R, Srikant, R.(1994). Fast Algorithms for Mining Association Rules, Proceedings of the 20 th International Conference on Very Large Data Bases (VLDB), Santiago, Chile, pp. 487-499. [2] Blake, C.L., Merz, C.J. (1998). UCI Repository of Machines Learning Databases, Irvine, CA: University of California, Department of Information and Computer Sciences. [3] Borgelt C. (2003). Efficient Implementations of Apriori and Eclat. Proceeding of the 1 st IEEE ICDM Workshop on Frequent Item Set Mining Implementations (FIMI 2003, Melbourne, FL). CEUR Workshop Proceedings 90, Aachen, Germany. [4] Hamilton. Apriori Algorithm, http://www2.cs.uregina.ca/~hamilton, diakses terakhir tanggal 11 Oktober 2006. [5] Han J, Pei, J., Yin, Y. (2000). Mining Frequent Patterns without Candidate Generation, Proceedings of the ACM SIGMOD International Conference on Management of Data, Dallas, Texas, USA, pp. 1-12. [6] Kantardzic, M. (2003). Data Mining Concepts Models, Methods, and Algorithms. New Jersey: IEEE. [7] Sucahyo Y. G. (2005). Efficient Mining of Frequent Patterns and Its Extension for Classification. PhD Thesis: Departement of Computing, Curtin University of Technology. [8]. WEKA Online Documentation, http://www.cs.waikato.ac.nz/ml/weka/. University of Waikato, New Zealand. Diakses terakhir tanggal 28 Oktober 2008. 248