Market Basket Analysis dengan Metode
Fuzzy C-Covering untuk Menentukan
Pola Pembelian pada Toko Buku
Yessica Nataliani
Fakultas Teknologi Informasi
Jl. Diponegoro 52-60
Salatiga
(0298) 3419240
yessica_24@yahoo.com
Yos Richard Beeh
Fakultas Teknologi Informasi
Jl. Diponegoro 52-60
Salatiga
(0298) 3419240
yos.fti.uksw@gmail.com
Athanasia O.P. Dewi
Fakultas Teknologi Informasi
Jl. Diponegoro 52-60
Salatiga
(0298) 3419240
aopd_9@yahoo.co.id
ABSTRACT
Market Basket Analysis adalah kumpulan asosiasi yang terdiri dari item-item yang saling berhubungan satu dengan yang lain dalam satu waktu tertentu. Fuzzy C-Covering adalah salah satu metode untuk menentukan keterkaitan antar produk.
Data yang dikumpulkan merupakan data transaksi dari sebuah toko buku selama kurang lebih satu tahun. Tingkat asosiasi dari
association rules berguna untuk mengambil kebijakan dalam pemasaran.
Semakin besar max item threshold, maka semakin banyak
kombinasi item yang terbentuk. Semakin kecil nilai minimum
confidence, maka semakin banyak association rule yang dihasilkan. Selain itu, jika data transaksi yang digunakan semakin banyak, maka proses pengolahan juga semakin lama.
Keywords
Market Basket Analysis, Fuzzy C-Covering, Association Rule.
1.
PENDAHULUAN
Dalam dunia bisnis, pelanggan berperan penting dalam menentukan sebuah kesuksesan dari pelaku bisnis itu sendiri. Kualitas dan kebutuhan merupakan faktor pemotivasi seorang
customer untuk melakukan sebuah transaksi. Kualitas dari produk itu sendiri ditentukan mulai dari pemilihan barang baku, proses
pembuatan, sampai dengan proses finishing barang tersebut
diproduksi. Dalam memproduksi sebuah atau beberapa barang, produsen harus mengetahui berapa banyak penjualan yang dilakukan sebelumnya sehingga ini akan menjadi tolok ukur pada saat produksi selanjutnya dilakukan. Analisa kebutuhan juga bisa dilakukan dengan menggunakan data penjualan bulan-bulan sebelumnya. Hal ini dilakukan untuk memperkecil resiko
kerugian dalam memproduksi barang.
Berbagai macam toko buku yang tersedia sekarang ini telah melakukan upaya-upaya untuk menarik perhatian konsumen. Persaingan ini semakin ketat karena para pembeli buku tidak sebatas orang dewasa saja, tetapi dari semua kalangan usia. Ada yang mencari buku karena hobi, tuntutan pelajaran atau ilmu, tuntutan kemajuan teknologi, untuk wirausaha yang akan dirintis, dan masih banyak lagi. Berbagai alasan inilah, maka sebuah toko buku ingin memenuhi kebutuhan pembeli dengan baik.
Untuk memenuhi kebutuhan-kebutuhan tersebut, maka para penjual tidak hanya menyediakan buku-buku yang berkualitas dan lengkap saja, akan tetapi sebuah toko buku juga dapat melakukan analisa yang berguna untuk memaksimalkan kepuasan pelanggan dan juga mendapatkan keuntungan. Dari penjualan-penjualan sebelumnya, penjual dapat menemukan sebuah pola belanja dari beberapa pelanggannya. Pola tersebut dapat membantu penjual untuk melakukan sebuah analisa jika suatu barang dibeli, maka barang-barang apa saja yang biasa dibeli oleh pelanggan.
Penelitian dilakukan di Toko Buku Andi Star Salatiga. Andi Star adalah toko buku Penerbit Andi. Toko Buku Andi Star Salatiga sendiri berdiri sejak tanggal 12 Mei 2008. Toko ini merupakan anak cabang dari Toko Buku Andi Star Jogja, anak cabang yang lain berada di Solo. Produk-produk yang dijual adalah berbagai macam buku dan juga alat tulis. Penganalisaan ini dapat
dilakukan dengan menggunakan metode Fuzzy C-Covering.
2.
KAJIAN PUSTAKA
Metode Fuzzy C-Covering merupakan metode yang dapat
digunakan dalam menentukan keterkaitan antar produk. Metode ini biasa digunakan dalam menentukan keterkaitan antar produk dalam sebuah supermarket.
Pada penelitian Market Basket Analysis ini digunakan metode
Dalam proses pencarian data, digunakan metode Fuzzy C-Covering. Fuzzy C-Covering merupakan metode yang digunakan dalam menentukan keterkaitan antar produk. Dalam mencari
hubungan antar item, metode ini berdasarkan persepsi bahwa
semakin banyak item yang dibeli dalam satu transaksi, maka
hubungan antar item yang terdapat dalam transaksi tersebut
semakin lemah [1]. Terdapat dua hak akses, yaitu admin dan user.
Dimana admin dapat mengatur koneksi dan dapat menentukan
user yang dapat mengakses sistem. Digunakan file .txt dalam
menyimpan password admin dan user, dalam penyimpanan
tersebut dilakukan enkripsi untuk keamanan data admin dan user.
Jadi user yang masuk tidak dapat mengetahui passwordadmin
maupun user yang lain. Penentuan minimum support dilakukan
secara otomatis, jadi user tidak perlu memasukkan manual pada
saat ganti jumlah kombinasi item. Output program berupa
associationrule dengan nilai confidence dan nilai support yang telah dihitung.
2.1
Market Basket Analysis
Market Basket Analysisadalah asosiasi dalam datamining yang dapat menemukan atribut yang muncul dalam satu waktu. Proses ini menganalisis pola pembelian pelanggan dengan cara menemukan hubungan antara item-item yang berbeda yang
diletakkan konsumen dalam shopping basket. Hasil yang telah
didapatkan ini nantinya dapat dimanfaatkan oleh perusahaan retail seperti toko atau swalayan untuk mengembangkan strategi pemasaran dengan melihat item-item mana saja yang kemungkinan dibeli secara bersamaan oleh konsumen.
Untuk beberapa kasus, pola dari item-item yang dibeli secara bersamaan oleh konsumen dapat ditebak, misalnya selai dibeli secara bersamaan dengan roti. Akan tetapi juga tidak menutup
kemungkinan tercipta pola pembelian item yang belum pernah
terpikirkan. Misalnya pembelian sabun mandi dengan makanan ringan. Bisa saja pola seperti ini terbentuk ketika suatu transaksi berlangsung. Karena kebutuhan customer berbeda-beda dan tidak dapat diprediksi sehingga tidak ada jalan keluar, misalnya seperti stok sabun mandi di gudang habis. Oleh karena itu Market Basket Analysis diharapkan dapat membantu dalam penyelesaian masalah ini. Dengan menggunakan aplikasi ini seorang penjual bisa dengan cepat dan tepat dalam menentukan pola pembelian dari beberapa customer.
2.2
Association Rule
Analisis asosiasi atau association rule mining adalah teknik data mining untuk menemukan aturan asosiasi antara suatu kombinasi
item. Contoh asosiasi yang biasa terjadi seperti seberapa besar kemungkinan pembeli membeli roti dengan selai secara bersamaan.
Penting tidaknya suatu aturan asosiatif dapat diketahui dengan dua parameter, yaitu support (nilai penunjang) yang merupakan
persentase kombinasi item tersebut dalam database dan
confidence (nilai kepastian) yang merupakan kuatnya hubungan antar item dalam aturan asosiasi
Aturan asosiasi biasanya dinyatakan dalam bentuk: {roti, mentega}→{susu} (support=40%, confidence=50%), yang berarti
“50% dari transaksi di database yang memuat item roti dan
mentega juga memuat item susu. Sedangkan 40% dari seluruh
transaksi yang ada di database memuat ketiga item itu.” Dapat juga diartikan: ”Seorang konsumen yang membeli roti dan mentega punya kemungkinan 50% untuk juga membeli susu. Aturan ini cukup signifikan karena mewakili 40% dari catatan transaksi selama ini.”
Analisis asosiasi didefinisikan suatu proses untuk menemukan
semua aturan asosiasi yang memenuhi syarat minimum untuk
support (minimumsupport) dan syarat minimum untuk confidence
(minimum confidence) [2]. Jika support≥ minimum support dan
confidence ≥ minimum confidence, maka rule tersebut bisa dikatakan sebagai interesting rule.
2.3 Metode
Fuzzy C-Covering
Fuzzy C-Covering merupakan salah satu metode yang dipakai untuk mengklasifikasikan elemen-elemen dari suatu himpunan universal menjadi partisi-partisi berupa fuzzy sets. Fuzzy C-Covering sendiri merupakan generalisasi dari metode fuzzy c-partition yang telah dikenal sebelumnya. Fuzzy c-partition dapat didefinisikan sebagai berikut [3].
Misalkan I = {i1, i2, …, in} adalah domain dari data, maka fuzzy
c-partition dari I adalah fuzzy subset atau fuzzy classes dari T, ditunjukkan oleh T = {t1, t2, …, tc}, yang memenuhi Rumus 1 dan Rumus 2.
∑
= =
c
m k tm i
1
1 ) (
μ
, untuk semua k∈Nn (Rumus 1)0 <
∑
=
n
k k tm i
1 ) (
μ
< n, untuk semua m∈Nc (Rumus 2)dimanac bilangan bulat positif (0 < c ≤n) dan
μ
tm(ik)∈ [0,1].Di dalam Fuzzy C-Covering, Rumus 1 dari teori fuzzy c-partition
tersebut digeneralisasi menjadi Rumus 3 [4]:
∑
= ≥
c
m k tm i
1
1 ) (
μ
, untuk semua k∈Nn (Rumus 3)2.4
Degree of Similarity in
Fuzzy C-Covering
Setiap crisp element dari data pada I juga dapat direpresentasikan sebagai fuzzy set dari fuzzy classes (T) dengan Rumus 4 [4]:
∑
∈
=
I i
t m t j i
i i t
j j m
) (
) ( ) (
μ
μ
μ
(Rumus 4)2.5
Fuzzy Conditional Probability Relation
Umumnya, dalam mengukur derajat kesamaan antara dua fuzzy
set digunakan fuzzy conditional probability relation dengan
rumusan yang terdapat pada Rumus 5 [4]:
=
∑
∑
∈ ∈ = ∩
I i
Y I
i
Y X
i i i
Y Y X
) (
)} ( ), ( min{
μ
μ
μ
(Rumus 5)
dimana: μX dan μY adalah fungsi anggota dari domain I untuk masing-masing X dan Y dari himpunan universal U.
Dalam prakteknya, fuzzy conditional probability relation dapat
digunakan sebagai dasar untuk merepresentasikan degree of
similarity relationship antara dua fuzzy set dalam universe U.
Dalam definisi fuzzy conditional probability relation, nilai
probabilitas bisa diperkirakan berdasarkan hubungan semantik
antar fuzzy set dengan menggunakan pandangan subjektif dari
teori probabilitas.
Jika sering terlibat dalam kelompok yang sama, maka elemen-elemen akan memiliki hubungan yang lebih kuat jika. Di sisi lain, dengan semakin meningkatnya jumlah elemen pada suatu kelompok akan mengurangi degree of similarity antar tiap elemen dalam kelompok tersebut.
3.
IMPLEMENTASI SISTEM
Perhitungan Market Basket Analysis dengan metode Fuzzy
C-Covering dapat dilihat pada Gambar 3.
Pertama, user memilih jangka waktu perhitungan yang terdiri dari
bulan dan tahun. Kemudian user diminta memasukkan max item
threshold, max item threshold adalah maksimal jumlah item yang terdapat di dalam satu transaksi. Setelah itu data disaring sesuai dengan bulan, tahun, dan max item threshold. Data yang dipilih
adalah yang jumlah transaksinya lebih kecil dari max item
threshold.
Data yang dipakai adalah data bulan Oktober tahun 2008 dan max item threshold yang dimasukkan sebanyak tiga item. Pertama sistem akan memilih data dengan jumlah sekali transaksi kurang dari sama dengan tiga transaksi. Setelah itu data yang telah disaring tersebut dimasukkan ke dalam QT.
QT = {t | |t| ≤ith, ith∈ bilangan bulat positf}
dimana:
QT : Qualified Transaction adalah himpunan transaksi yang memenuhi max item threshold
t : transaksi
|t| : jumlah item dalam suatu transaksi
ith : max item threshold
Kemudian k diset menjadi bernilai 1 atau k=1 (k adalah variabel untuk menentukan jumlah kombinasi item). Nilai k berhenti jika
k>max item threshold. Pada saat k=1 dicari perhitungan support
dengan menggunakan data yang telah disimpan di dalam QT.
Rumus perhitungan support dapat dilihat pada Rumus 6.
n T u s k T k
T
n T u s C u
n
i
t t
t n
t kT t
t
∑
∑
== −
= =
1
1 !( )! ( , )
! 1
) , ( 1
) ( support
(Rumus 6)
dimana:
u : kombinasi k-item yang dicari support-nya. Jika I adalah
universal set of items, maka u⊆I |u| = k : jumlah item dalam u
Tt : transaksi ke-t (Tt⊆I) |Tt| : jumlah item dalam Tt
k Tt
C : kombinasi k-item terhadap |Tt|
n : jumlah record/tuple dalam QT;
s(u,Tt) ∈ {0,1} adalah suatu fungsi dimana jika u ⊆ Tt, maka
s(u,Tt) =1, selain itu s(u,Tt) = 0.
[image:3.612.83.273.74.112.2]Dari 130 data nota pembelian (terdiri dari nomor nota dan kode barang) di toko buku yang dijadikan penelitian, akan dihitung nilai support untuk salah satu kode barang. Tabel 2 menunjukkan nomor nota yang menunjukkan kode 000773.
Tabel 1 Nota dan Kode yang Menunjukkan Kode 000773
Nota Kode
000354 000773
000385 000773
Dari Tabel 2 ditunjukkan bahwa kode 000773 terdapat dalam nota 000354 dan nota 000385. Pada nota tersebut memang hanya ada satu kode, yaitu masing-masing kode 000773.
Contoh perhitungan support sesuai dengan Rumus 6 untuk Kode
000773:
0153846154 .
0 130
1 1!0!
1! 1
1 1!0!
1! 1
130
1 1)! -(1 1!
1! 1
1 1)! -(1 1!
1! 1
000773 =
× + × = × +
× =
Setelah itu dilakukan seleksi kode item yang yang akan digunakan untuk perhitungan selanjutnya dengan syarat:
support(u) ≥minimum support ke-1
Dari perhitungan support k=1 yang didapat, maka dapat
ditentukan minimumsupport sebagai berikut:
6 0.00606060 165
0.9999999 item kode banyak
) 1 ( support hasil 1
support minimum
= =
=
=
∑
kSet k=2, dilakukan pengecekan apakah k>ith. Karena k tidak lebih
besar dari ith, maka dilanjutkan pencarian support untuk
kombinasi dua item.
Dari nota-nota yang memenuhi syarat untuk dilakukan kombinasi
k=2, maka dapat dibentuk kombinasi dua item. Kombinasi item
yang terbentuk sebanyak 3655, didapat dari
)!
2
86
(
!
2
!
86
286
−
=
C
.769 0.00769230 130 1 2!0! 2! 1 130 1 2)! -(2 2! 2! 1 000207) (000200, = × = × = 459 0.00000210 3655 769 0.00769230 item kode banyak ) 1 ( support hasil 2 support minimum = = =
=
∑
kSetelah didapatkan minimumsupport, kemudian dilakukan seleksi kode item untuk proses selanjutnya.
support (000200, 000207) ≥minimumsupport ke-2
Karena 0.00769230769 > 0.00000210459, maka kode item
000200 dan 000207 dipakai untuk perhitungan selanjutnya.
Nilai k ditambah dengan satu, jadi sekarang k=3. Kemudian
dilakukan pengecekan apakah k>ith. Jika k<ith, maka perhitungan
supportk=3 akan dilanjutkan, tetapi jika k>ith, maka perhitungan
support selesai dan dilanjutkan dengan perhitungan confidence. Karena 3(k)>3(ith) adalah benar, maka perhitungan support
selesai dengan nilai k=2 dan dilanjutkan dengan perhitungan
confidence.
Setiap kode item yang telah didapat dari support terakhir, yaitu
kode item 000200 dan 000207 didefinisikan sebagai fuzzy set
terhadap fuzzy classes (T). Dalam kasus ini didefinisikan kode
item 000200 sebagai fuzzyset terhadap T=000377 dan T=000399. Untuk kode item 000207 sebagai fuzzyset terhadap T=000399 dan
T=000436. 2 1 = 2 1 + 2 1 2 1 = ) 004601 ( μ + ) 000200 ( μ ) 000200 ( μ = ) 000377 ( μ 000377 000377 000377 000200 2 1 = 2 1 + 2 1 2 1 = ) 000200 ( μ + ) 000207 ( μ ) 000200 ( μ = ) 000399 ( μ 000399 000399 000399 000200 2 1 = 2 1 + 2 1 2 1 = ) 000200 ( μ + ) 000207 ( μ ) 000207 ( μ = ) 000399 ( μ 000399 000399 000399 000207 1 = 1 1 1 1 = ) 000207 ( μ ) 000207 ( μ = ) 000436 ( μ 000436 000436 000207
Dari perhitungan tersebut, maka kode item 000200 dan 000207
dapat didefinisikan sebagai berikut:
μ000200={(1/2)/000377, (1/2)/000399} μ000207={(1/2)/000399, (1)/000436}
Untuk kombinasi 2 item, didapatkan:
5 . 0 1 2 1 | | ) 000207 000200 ( 000200 000207
000200 ∩ = = = → ∑μ μ μ confidence 33 . 0 2 1 1 2 1 | | ) 000200 000207 ( 000207 000200 000207 = + = ∩ = → ∑μ μ μ confidence
Karena tidak memungkinkan adanya kombinasi yang lain, maka pencarian confidence berhenti pada kombinasi dua item.
Nilai confidence ini digunakan untuk mencari rule yang nantinya dapat dipakai dalam penentuan keterkaitan antar produk. Nilai
minimum confidence didapat dari nilai yang dimasukkan oleh
pengguna dan diseleksi yang nilai confidence-nya ≥ minimum
confidence.
Misal minimumconfidence yang dimasukkan adalah 30%, maka
hasil associationrule yang didapat adalah sebagai berikut:
>> jika [FAKTA TOP : PLANET BUMI] (kode: 000200) dibeli, kemungkinan [FAKTA TOP : ALAM KITA] (kode: 000207) juga dibeli adalah 50.0% (support= 0.7692307692307693%)
Angka 50% menunjukkan nilai confidence-nya, yaitu jika
pelanggan membeli kode 000200 (FAKTA TOP: PLANET BUMI), kemungkinan kode 000207 (FAKTA TOP: ALAM KITA) juga dibeli adalah 50%.
Sedangkan 0.7692307692307693% adalah nilai support-nya,
yaitu mewakili 0.7692307692307693% dari catatan transaksi selama bulan Oktober tahun 2008.
>> jika [FAKTA TOP: ALAM KITA] (kode: 000207) dibeli, kemungkinan [FAKTA TOP: PLANET BUMI] (kode: 000200)
juga dibeli adalah 33.33333333333333% (support =
0.7692307692307693%)
Angka 33.33333333333333% menunjukkan nilai confidence-nya,
yaitu jika pelanggan membeli kode 000207 (FAKTA TOP: ALAM KITA), kemungkinan kode 000200 (FAKTA TOP: PLANET BUMI) juga dibeli adalah 33.33333333333333%.
Sedangkan 0.7692307692307693% adalah nilai support-nya,
yaitu mewakili 0.7692307692307693% dari catatan transaksi selama bulan Oktober tahun 2008.
Perbandingan Hasil Perhitungan
Support
dan
Confidence
[image:4.612.55.298.405.572.2]Dengan menggunakan data penjualan di Andi Star Salatiga pada bulan Oktober tahun 2008, didapatkan perbandingan hasil perhitungan support dan confidence dapat dilihat pada Tabel 3.
Tabel 2 Perbandingan Hasil Perhitungan Support dan Confidence
Max item threshold 3 5 7
Support yang
dihasilkan 166 196 213
Confidence yang
dihasilkan 2 2 2
Waktu perhitungan 30 detik 38 detik 41 detik
Association rule (AR) yang terbentuk jika
minimum confidence
30% 2 AR 30% 1AR 30% 1 AR
Dari Tabel 2 didapat bahwa semakin tinggi max item threshold
yang digunakan maka semakin tinggi pula support yang
dihasilkan, tetapi tidak mempengaruhi confidence yang
dihasilkan. Sementara itu, waktu perhitungannya juga semakin lama.
Dengan max item threshold 3, didapatkan:
association rule (AR)
yang terbentuk
jika
minimum confidence
30%
2 AR support Confi- dence
000200 → 000207 0.76923076
92307693% 50%
000207 → 000200 0.76923076
92307693% 30%
50%
1 AR support Confi- dence
000200 → 000207 0.76923076
92307693% 50%
Dengan max item threshold 5, didapatkan:
association rule (AR)
yang terbentuk
jika
minimum confidence
30%
1 AR support Confi- dence
000200 → 000207 0.72463768
11594203% 50%
50%
1 AR support Confi- dence
000200 → 000207 0.72463768
11594203% 50%
Dengan max item threshold 7, didapatkan:
association rule (AR)
yang terbentuk
jika
minimum confidence
30%
1 AR support Confi- dence
000200 → 000207 0.70921985
81560284% 50%
50%
1 AR support Confi- dence
000200 → 000207 0.70921985
81560284% 50%
4.
SIMPULAN
Market Basket Analysis digunakan untuk mengetahui keterkaitan
antar produk dalam suatu waktu. Metode Fuzzy C-Covering
merupakan salah satu cara untuk mendapatkan nilai support dan
confidence dari keterkaitan tersebut. Nilai support digunakan
untuk menentukan layak atau tidaknya n item untuk dicari
keterkaitannya, dimana n adalah banyaknya item yang memenuhi
minimum support pada kombinasi terakhir. Semakin tinggi nilai
confidence, maka semakin kuat keterkaitan antar item yang terjadi. Dari kedua nilai inilah, nanti didapatkan keterkaitan mana yang paling kuat di antara banyak produk yang terdapat di dalam suatu transaksi yang nantinya berguna untuk menentukan kebijakan pemasaran maupun untuk mengatur letak produk. Penataan produk bisa saja dilakukan berdekatan agar pelanggan dapat menemukan dengan mudah, atau sengaja dijauhkan supaya dalam mencari produk yang saling berkaitan tersebut pelanggan juga ingin membeli produk yang lain.
Dari hasil penelitian yang telah dilakukan, metode Fuzzy
C-Covering dapat menghasilkan association rule dan tingkat
asosiasinya. Semakin besar max item threshold, maka semakin
banyak kombinasi item yang terjadi dan waktu yang dibutuhkan
untuk mencari kombinasi semakin lama. Semakin banyak jumlah
item di dalam suatu kombinasi, maka semakin sedikit waktu yang dibutuhkan untuk mencari tingkat kombinasi. Semakin kecil
minimum support yang dihasilkan, semakin banyak rule yang terjadi dalam menentukan tingkat confidence. Selain itu, semakin kecil nilai confidence, semakin banyak association rule yang
dihasilkan. Sebagai tolok ukur, dalam pembahasan sistem, max
item threshold 3, dan nota yang memenuhi max item threshold
sebanyak 130 transaksi dibutuhkan waktu untuk mencari support
dan confidence 30 detik.
5.
DAFTAR PUSTAKA
[1] Budhi, G. S., Resmana L., dan Osmand P. 2005. Penggunaan Metode Fuzzy c-Covering untuk Analisa Market Basket pada Supermarket. 6(1). http://petra.ac.id.
[2] Kusrini dan Emha T. L. 2009. Algoritma Data Mining.
Yogyakarta: Penerbit Andi.
[3] Klir, G. J. dan Bo Y. 2001. Fuzzy Sets and Fuzzy Logic –
Theory and Applications. India: Prentice Hall.
[4] Intan, R. dan Masao M. 2003. A Proposal of Fuzzy
Thesaurus Generated by Fuzzy Covering p. 167-172.