Algoritma Apriori LANDASAN TEORI

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