Perkembangan teknologi informasi telah memberikan kontribusi pada cepatnya pertumbuhan jumlah data yang dikumpulkan dan disimpan dalam basis data berukuran besar (gunung data). Dibutuhkan sebuah metode atau teknik yang dapat merubah gunungan data tersebut menjadi sebuah informasi berharga atau pengetahuan (knowledge) yang bermanfaat untuk mendukung pengambilan keputusan bisnis. Suatu teknologi yangdapat digunakan untuk mewujudkannya adalah data mining.
Data mining adalah proses mencari pola atau informasi menarik dalam data terpilih dengan menggunakan teknik atau metode tertentu.Salah satu metode yang seringkali digunakan dalam teknologi data mining adalah metode asosiasi atau association rule mining.
Metode association rule mining ini lebih dikenal dengan istilah analisa Market basket analysis adalah suatu metode analisa atas perilaku konsumen secara spesifik dari suatu golongan / kelompok tertentu. Sumber data dari market basket analysis antara lain dapat bersumber dari transaksi kartu kredit, kartu lotere, kupon diskon, panggilan keluhan pelanggan. Market basket analysis umumnya dimanfaatkan sebagai titik awal pencarian pengetahuan dari suatu transaksi data ketika kita tidak mengetahui pola spesifik apa yang kita cari. Kebutuhan market basket analysis berawal dari keakuratan dan manfaat yang dihasilkannya dalam wujud aturan assosiasi (association rules). Yang dimaksud dengan association rules adalah pola-pola keterkaitan data dalam basis data.
Adapun rumusan masalah dalam tugas akhir ini adalah sebagai berikut: 1. Bagaimana menganalisa sistem basis data menggunakan metode association rule? 2. Bagaimana mengimplementasikan metode association rule? 3. Bagaimana mendesain sistem basis data menggunakan metode association rule?
Adapun tujuan dari penelitian ini adalah untuk mengetahui bagaimana pengimplementasian dari metode association rule.
Data mining adalah proses yang mempekerjakan satu atau lebih teknik pembelajaran komputer (machine learning) untuk menganalisis dan mengekstraksi pengetahuan (knowledge) secara otomatis. Definisi lain diantaranya adalah pembelajaran berbasis induksi (induction-based learning) adalah proses pembentukan definisi – definisi konsep umum yang dilakukan dengan cara mengobservasi contoh – contoh spesifik dari konsep – konsep yang akan dipelajari.
Association Rule adalah suatu metode data mining yang bertujuan untuk mencari sekumpulan items yang sering muncul bersamaan. Umumnya association rule ini dianalogikan dengan keranjang belanjaan. Dari keranjang belanjaan para pengunjung supermarket akan dapat diketahui, barang apa saja yang sering dibeli bersamaan dan barang mana saja yang tidak.
Analisis asosiasi atau association rule mining adalah teknik data mining untuk menemukan aturan suatu kombinasi item. Salah satu tahap analisis asosiasi yang menarik perhatian banyak peneliti untuk menghasilkan algoritma yang efisien adalah analisis pola frenkuensi tinggi (frequent pattern mining). penting tidaknya suatu asosiasi dapat diketahui dengan dua tolak ukur, yaitu : support dan confidence. Support (nilai penunjang) adalah persentase kombinasi item tersebut dalam database, sedangkan confidence (nilai kepastian) adalah kuatnya hubungan antar item dalam aturan asosiasi
Algoritma apriori termasuk jenis aturan asosiai pada data mining. Selain apriori, yang termasuk pada golongan ini adalah metode generalized Rule Induction dan Algoritma Hash Based. Aturan yang menyatakan asosiasi antara beberapa atribut disebut affinity analysis atau market basket analysis.
Algoritma apriori merupakan salah satu metode untuk mengenali kaidah asosiasi yang paling sederhana dan paling terkenal untuk menemukan pola frekuensi tinggi. Pola frekuensi tinggi adalah pola – pola item di dalam suatu database yang memiliki frekuensi atau support di atas ambang batas tertentu yang disebut dengan istilah minimum support. Polafrekuensi tinggi ini digunakan untuk menyusun aturan assosiatif dan juga bebrapa teknik data mining lainnya. Analisis asosiasi atau association rule mining adalah teknik data mining untuk menemukan aturan asosiatif antara suatu kombinasi item.
Proses Algoritma Apriori dilakukan menggunakan Software R dengan bantuan editor Rstudio, minimal support dan confidance ditentukan dengan cara membangdingkan nilai support dan cofidance dari yang tertinggi hingga yang terendah sehingga didapatkan nilai support dan confidance yang efektif dan memiliki aturan assosiasi yang kuat. Proses analisis menggunakan algortima apriori terbagi menjadi dua tahap yaitu melakukan analisa pola frekuensi tinggi dan pembentukan aturan assosiatif (association rule).
Library yang digunakan adalah arules packages.
# Use this R-Chunk to load all your libraries!
library(arules)
## Warning: package 'arules' was built under R version 4.1.3
## Loading required package: Matrix
##
## Attaching package: 'arules'
## The following objects are masked from 'package:base':
##
## abbreviate, write
Data yang digunakan adalah data transaksi dari suatu market. Data terdiri dari 7501 transaksi. Adapun data tersebut sebagai berikut.
#Create data
data = read.csv("D:/AAA SEM 6/data mining/data-market-basket (1).csv", header=FALSE)
data
#force data into transaction
dataa = read.transactions("D:/AAA SEM 6/data mining/data-market-basket (1).csv",sep=",",rm.duplicates=TRUE)
## distribution of transactions with duplicates:
## 1
## 5
## Table
table = as(dataa,"transactions")
table
## transactions in sparse format with
## 7501 transactions (rows) and
## 119 items (columns)
Berikut merupakan hasil output dari summary data.
summary(table)
## transactions as itemMatrix in sparse format with
## 7501 rows (elements/itemsets/transactions) and
## 119 columns (items) and a density of 0.03288973
##
## most frequent items:
## mineral water eggs spaghetti french fries chocolate
## 1788 1348 1306 1282 1229
## (Other)
## 22405
##
## element (itemset/transaction) length distribution:
## sizes
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
## 1754 1358 1044 816 667 493 391 324 259 139 102 67 40 22 17 4
## 18 19 20
## 1 2 1
##
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 2.000 3.000 3.914 5.000 20.000
##
## includes extended item information - examples:
## labels
## 1 almonds
## 2 antioxydant juice
## 3 asparagus
Berdasarkan output diatas, didapatkan bahwa jumlah data transaksi paling kecil adalah 1 item, sedangkan transaksi paling banyak adalah sebanyak 20 item.
Adapun selanjutnya dihitung nilai relativ dari seluruh item.
itemFrequency(table, type="relative")
## almonds antioxydant juice asparagus
## 0.0203972804 0.0089321424 0.0047993601
## avocado babies food bacon
## 0.0333288895 0.0045327290 0.0086655113
## barbecue sauce black tea blueberries
## 0.0107985602 0.0142647647 0.0091987735
## body spray bramble brownies
## 0.0114651380 0.0018664178 0.0337288362
## bug spray burger sauce burgers
## 0.0086655113 0.0058658845 0.0871883749
## butter cake candy bars
## 0.0301293161 0.0810558592 0.0097320357
## carrots cauliflower cereals
## 0.0153312892 0.0047993601 0.0257299027
## champagne chicken chili
## 0.0467937608 0.0599920011 0.0061325157
## chocolate chocolate bread chutney
## 0.1638448207 0.0042660979 0.0041327823
## cider clothes accessories cookies
## 0.0105319291 0.0083988801 0.0803892814
## cooking oil corn cottage cheese
## 0.0510598587 0.0047993601 0.0318624183
## cream dessert wine eggplant
## 0.0009332089 0.0043994134 0.0131982402
## eggs energy bar energy drink
## 0.1797093721 0.0270630583 0.0266631116
## escalope extra dark chocolate flax seed
## 0.0793227570 0.0119984002 0.0090654579
## french fries french wine fresh bread
## 0.1709105453 0.0225303293 0.0430609252
## fresh tuna fromage blanc frozen smoothie
## 0.0222636982 0.0135981869 0.0633248900
## frozen vegetables gluten free bar grated cheese
## 0.0953206239 0.0069324090 0.0523930143
## green beans green grapes green tea
## 0.0086655113 0.0090654579 0.1321157179
## ground beef gums ham
## 0.0982535662 0.0134648714 0.0265297960
## hand protein bar herb & pepper honey
## 0.0051993068 0.0494600720 0.0474603386
## hot dogs ketchup light cream
## 0.0323956806 0.0043994134 0.0155979203
## light mayo low fat yogurt magazines
## 0.0271963738 0.0765231302 0.0109318757
## mashed potato mayonnaise meatballs
## 0.0041327823 0.0061325157 0.0209305426
## melons milk mineral water
## 0.0119984002 0.1295827223 0.2383682176
## mint mint green tea muffins
## 0.0174643381 0.0055992534 0.0241301160
## mushroom cream sauce napkins nonfat milk
## 0.0190641248 0.0006665778 0.0103986135
## oatmeal oil olive oil
## 0.0043994134 0.0230635915 0.0658578856
## pancakes parmesan cheese pasta
## 0.0950539928 0.0198640181 0.0157312358
## pepper pet food pickles
## 0.0265297960 0.0065324623 0.0059992001
## protein bar red wine rice
## 0.0185308626 0.0281295827 0.0187974937
## salad salmon salt
## 0.0049326756 0.0425276630 0.0091987735
## sandwich shallot shampoo
## 0.0045327290 0.0077323024 0.0049326756
## shrimp soda soup
## 0.0714571390 0.0062658312 0.0505265965
## spaghetti sparkling water spinach
## 0.1741101187 0.0062658312 0.0070657246
## strawberries strong cheese tea
## 0.0213304893 0.0077323024 0.0038661512
## tomato juice tomato sauce tomatoes
## 0.0303959472 0.0141314491 0.0683908812
## toothpaste turkey vegetables mix
## 0.0081322490 0.0625249967 0.0257299027
## water spray white wine whole weat flour
## 0.0003999467 0.0165311292 0.0093320891
## whole wheat pasta whole wheat rice yams
## 0.0294627383 0.0585255299 0.0114651380
## yogurt cake zucchini
## 0.0273296894 0.0094654046
Kemudian dibuatkan plot item frequency untuk 15 item dengan frekuensi terbanyak menggunakan nilai relative. Dapat dilihat pada plot dibawah item yang memiliki nilai relative paling tinggi adalah item mineral water.
itemFrequencyPlot(table,topN = 15, main="Item Frequency")
rules<- apriori(table[1:15])
## Apriori
##
## Parameter specification:
## confidence minval smax arem aval originalSupport maxtime support minlen
## 0.8 0.1 1 none FALSE TRUE 5 0.1 1
## maxlen target ext
## 10 rules TRUE
##
## Algorithmic control:
## filter tree heap memopt load sort verbose
## 0.1 TRUE TRUE FALSE TRUE 2 TRUE
##
## Absolute minimum support count: 1
##
## set item appearances ...[0 item(s)] done [0.00s].
## set transactions ...[39 item(s), 15 transaction(s)] done [0.00s].
## sorting and recoding items ... [11 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 done [0.00s].
## writing ... [2 rule(s)] done [0.00s].
## creating S4 object ... done [0.00s].
inspect(table[1:15]) #display transaction
## items
## [1] {almonds,
## antioxydant juice,
## avocado,
## cottage cheese,
## energy drink,
## frozen smoothie,
## green grapes,
## green tea,
## honey,
## low fat yogurt,
## mineral water,
## olive oil,
## salad,
## salmon,
## shrimp,
## spinach,
## tomato juice,
## vegetables mix,
## whole weat flour,
## yams}
## [2] {burgers,
## eggs,
## meatballs}
## [3] {chutney}
## [4] {avocado,
## turkey}
## [5] {energy bar,
## green tea,
## milk,
## mineral water,
## whole wheat rice}
## [6] {low fat yogurt}
## [7] {french fries,
## whole wheat pasta}
## [8] {light cream,
## shallot,
## soup}
## [9] {frozen vegetables,
## green tea,
## spaghetti}
## [10] {french fries}
## [11] {eggs,
## pet food}
## [12] {cookies}
## [13] {burgers,
## cooking oil,
## eggs,
## mineral water,
## turkey}
## [14] {champagne,
## cookies,
## spaghetti}
## [15] {mineral water,
## salmon}
inspect(rules) #display association
## lhs rhs support confidence coverage lift count
## [1] {burgers} => {eggs} 0.1333333 1 0.1333333 5.00 2
## [2] {salmon} => {mineral water} 0.1333333 1 0.1333333 3.75 2
Penelitian ini berhasil menganalisa data transaksi peminjaman buku untuk mengetahui buku-buku yang sering dipinjam secara bersamaan menggunakan algoritma Apriori. Hasil dari analisa pada semua data transaksi belanja disuatu supermarket dapat disimpulkan bahwa jika pengunjung membeli burger maka akan membeli eggs dengan nilai support 13.33% dan confidents 100%. dan jika pengunjung membeli salmon maka pengunjung akan membeli juga mineral water yang mana memiliki nilai support 13,3% dan confidence 100%.