kemungkinan seorang pelanggan membeli kopi bersamaan dengan gula. Dengan pengetahuan tersebut, pemilik pasar swalayan dapat mengatur penempatan
produknya atau merancang kampanye pemasaran dengan memakai kupon diskon untuk korelasi barang tertentu.
Analisis asosiasi dikenal juga sebagai salah satu teknik data mining yang menjadi dasar dari berbagai teknik data mining lainnya. Secara khusus, salah satu
tahap analisis asosiasi yang menarik banyak peneliti untuk menghasilkan algoritma yang efisien adalah analisis pola frekuensi tinggi frequent pattern mining. Penting
tidaknya suatu aturan asosiatif dapat diketahui dengan dua parameter, yaitu support
dan confidence. Support
adalah presentasi kombinasi item tersebut dalam database,
sedangkan confidence adalah nilai probability suatu item akan dibeli bersama item
lain.
2.4 Algoritma Apriori
Apriori adalah suatu algoritma yang sudah sangat dikenal dalam
melakukan pencarian frequent itemset dengan menggunakan teknik association rule
. Algoritma Apriori menggunakan knowledge mengenai frequent itemset yang telah diketahui sebelumnya untuk memproses informasi selanjutnya pada
algoritma Apriori untuk menentukan kandidat-kandidat yang mungkin muncul dengan cara memperhatikan minimum support[1].
Adapun dua proses utama yang dilakukan dalam algoritma Apriori, yaitu: 1. Join penggabungan.
Pada proses ini setiap item dikombinasikan dengan item yang lainnya sampai tidak terbentuk kombinasi lagi.
2. Prune pemangkasan. Pada proses ini, hasil dari item yang telah dikombinasikan tadi lalu dipangkas
dengan menggunakan minimum support yang telah ditentukan oleh user. Dua proses utama tersebut merupakan langkah yang akan dilakukan untuk mendapat
frequent itemset Erwin. Contoh:
{kopi, gula} {roti} support = 40, confidence = 50
Universitas Sumatera Utara
Aturan tersebut berarti “50 dari transaksi di database yang memuat item kopi dan gula dan juga memuat item roti. Sedangkan 40 dari seluruh transaksi yang
ada di database memuat ketiga item tersebut. Langkah-langkah algoritma Apriori dibuat dengan diagram alir sebagai berikut. Secara terperinci, berikut adalah langkah-
langkah proses pembentukan Association Rule dengan algoritma apriori [6]: 1. Di iterasi pertama ini, support dari setiap item dihitung dengan men-scan database.
Support artinya jumlah transaksi dalam database yang mengandung satu item dalam
C1. Setelah support dari setiap item diperoleh, kemudian nilai support tersebut dibandingkan dengan minimum support yang telah ditentukan, jika nilainya lebih
besar atau sama dengan minimum support maka itemset tersebut termasuk dalam large itemset
. Item yang memiliki support di atas minimum support dipilih sebagai pola frekuensi tinggi dengan panjang 1 atau sering disebut Large 1-itemset atau
disingkat L1. 2. Iterasi kedua menghasilkan 2-itemset yang tiap set-nya memiliki dua item. Sistem
akan menggabungkan dengan cara, kandidat 2-itemset atau disingkat C2 dengan mengkombinasikan semua candidat 1-itemset C1. Lalu untuk tiap item pada C2 ini
dihitung kembali masing-masing support-nya. Setelah support dari semua C2 didapatkan, Kemudian dibandingkan dengan minimum support. C2 yang memenuhi
syarat minimum support dapat ditetapkan sebagai frequent itemset dengan panjang 2 atau Large 2-itemset L2.
3. Itemset yang tidak termasuk dalam large itemset atau yang tidak memenuhi nilai minimum support tidak diikutkan dalam iterasi selanjutnya prune.
4. Setelah itu dari hasil frequent itemset atau termasuk dalam Large 2-itemset tersebut, dibentuk aturan asosiasi association rule yang memenuhi nilai minimum support
dan confidence yang telah ditentukan.
Pseudocode Algoritma Apriori Erwin, 2009:
Ck : Candidate itemset of size k
Lk : frequent itemset of size k
Input : D, a database of a transactions;
Min_support, the minimum support count
Universitas Sumatera Utara
threshold Output : L, frequent itemsets in D
Mtehod : L1 = find_frequent_1_itemsetsD;
for k = 2; Lk-1 ;k | | { Ck = Apriori_genL1-1;
for each transaction t D {scan D for counts
Ct = subset Ck,t; get the subsets of t that are candidates
for each candidate c Ct c.count | |;
} Lk = {c Ck | c.counts min_sup}
} return L = k Lk;
2.5 Algoritma FP Growth