Fuzzy C-Covering: Contoh Perhitungan Market Basket Lengkap
Diterbitkan 26 September 2026
Fuzzy C-Covering (FCC) adalah metode yang dapat digunakan pada Market Basket Analysis untuk menemukan pola hubungan antar-item dalam data transaksi. Pendekatan ini mempertimbangkan bahwa hubungan antar-item dalam sebuah transaksi menjadi lebih lemah ketika jumlah item yang dibeli dalam transaksi tersebut semakin banyak.
Berbeda dengan support klasik yang hanya menghitung frekuensi kemunculan itemset, Fuzzy C-Covering memberikan bobot pada kemunculan itemset berdasarkan banyaknya kemungkinan kombinasi dalam transaksi. Metode ini juga menggunakan konsep fuzzy set ketika menghitung confidence dari candidate association rule.
Tutorial ini membahas Fuzzy C-Covering secara lengkap mulai dari max_item_threshold, Qualified Transaction, support setiap k-itemset, pembentukan item fuzzy set, perhitungan confidence, penyaringan rule, sampai interpretasi association rule menggunakan contoh transaksi minimarket.
Daftar Isi
- Pengertian Fuzzy C-Covering
- Fuzzy C-Partition dan Fuzzy C-Covering
- Konsep Fuzzy C-Covering pada Market Basket Analysis
- Istilah Penting
- Max Item Threshold
- Qualified Transaction
- Rumus Support Fuzzy C-Covering
- Item Fuzzy Set
- Rumus Confidence Fuzzy C-Covering
- Tahapan Algoritma Fuzzy C-Covering
- Contoh Kasus Fuzzy C-Covering
- #01 Menyiapkan Data Transaksi
- #02 Menentukan Max Item Threshold
- #03 Membentuk Qualified Transaction
- #04 Menghitung Support 1-Itemset
- #05 Seleksi Frequent 1-Itemset
- #06 Menghitung Support 2-Itemset
- #07 Seleksi Frequent 2-Itemset
- #08 Menghitung Support 3-Itemset
- #09 Membentuk Item Fuzzy Set
- #10 Menghitung Confidence Rule
- #11 Menentukan Association Rule
- Perbandingan Support FCC dan Support Apriori
- Pengaruh Max Item Threshold
- Pengaruh Minimum Support dan Confidence
- Pseudocode Fuzzy C-Covering
- Fuzzy C-Covering vs Apriori
- Fuzzy C-Covering vs FP-Growth
- Kelebihan dan Kekurangan
- Kapan Fuzzy C-Covering Cocok Digunakan?
- Kesalahan Umum Implementasi
- Ringkasan
- FAQ Fuzzy C-Covering
- Referensi
- Source Code Fuzzy C-Covering
Pengertian Fuzzy C-Covering
Fuzzy C-Covering adalah generalisasi konsep fuzzy c-partition yang memungkinkan elemen pada suatu domain memiliki keanggotaan pada lebih dari satu fuzzy class.
Dalam penerapan Market Basket Analysis, pendekatan Fuzzy C-Covering digunakan untuk mencari asosiasi antar-item dengan memperhatikan jumlah item pada setiap transaksi.
Gagasan utamanya:
Semakin banyak item dalam satu transaksi, semakin lemah hubungan antar-item di dalam transaksi tersebut.
Misalnya terdapat dua transaksi:
T1 = {Roti, Susu}
T2 = {
Roti,
Susu,
Kopi,
Telur,
Gula,
Minyak,
Sabun,
Teh
}
Roti dan Susu memang muncul bersama pada keduanya. Namun hubungan Roti-Susu pada T1 dianggap lebih kuat karena hanya terdapat dua item, sedangkan pada T2 terdapat banyak item lain.
Konsep tersebut menjadi pembeda penting dibanding support association rule klasik.
Fuzzy C-Partition dan Fuzzy C-Covering
Pada fuzzy c-partition, keanggotaan suatu elemen terhadap seluruh kelas memenuhi:
Fuzzy c-covering merupakan generalisasi yang memperbolehkan:
Dengan demikian fuzzy classes dapat saling overlap.
Pada Market Basket Analysis, transaksi dapat dipandang sebagai fuzzy classes dan item sebagai elemen domain.
Sebuah item dapat muncul pada banyak transaksi sekaligus sehingga secara alami terjadi covering, bukan partisi yang saling terpisah.
Konsep Fuzzy C-Covering pada Market Basket Analysis
Tujuan penggunaan FCC pada Market Basket Analysis adalah memperoleh rule seperti:
Jika membeli Telur
maka cenderung membeli Roti
atau:
Jika membeli Kopi
maka cenderung membeli Susu
Alur sederhananya:
Data Transaksi
↓
Max Item Threshold
↓
Qualified Transaction
↓
Generate k-Itemset
↓
Hitung Support FCC
↓
Filter Minimum Support
↓
Bentuk Item Fuzzy Set
↓
Hitung Confidence
↓
Filter Minimum Confidence
↓
Association Rule
Parameter utama yang perlu disiapkan:
max_item_threshold
minimum support ke-k
minimum confidence
Istilah Penting
| Istilah | Keterangan |
|---|---|
| Item | Produk yang terdapat dalam transaksi |
| Transaction | Sekumpulan item dalam satu pembelian |
| Itemset | Kombinasi satu atau beberapa item |
| k-itemset | Itemset yang berisi k item |
| ith | Max item threshold |
| QT | Qualified Transaction |
| Support | Tingkat dominasi itemset pada transaksi |
| Minimum Support | Batas minimum agar itemset dipertahankan |
| Fuzzy Set | Representasi derajat keanggotaan item terhadap transaksi |
| Confidence | Tingkat kekuatan association rule |
| Minimum Confidence | Batas minimum agar rule diterima |
| Association Rule | Pola hubungan berbentuk antecedent → consequent |
Max Item Threshold
Max item threshold atau ith adalah batas jumlah item dalam transaksi yang diperbolehkan masuk ke proses berikutnya.
Misalnya:
max_item_threshold = 4
Maka:
T1 = 2 item → digunakan
T2 = 3 item → digunakan
T3 = 4 item → digunakan
T4 = 5 item → tidak digunakan
Tujuannya adalah mengurangi kontribusi transaksi yang memiliki terlalu banyak item karena hubungan antar-item pada transaksi tersebut diasumsikan semakin lemah.
Qualified Transaction
Qualified Transaction didefinisikan sebagai:
Keterangan:
- \(QT\) = kumpulan transaksi yang lolos threshold,
- \(t\) = sebuah transaksi,
- \(|t|\) = jumlah item pada transaksi,
- \(ith\) = max item threshold.
Jika terdapat:
T1 = 2 item
T2 = 3 item
T3 = 5 item
dan:
ith = 4
maka:
QT = {T1, T2}
T3 dikeluarkan dari proses berikutnya.
Rumus Support Fuzzy C-Covering
Misalkan:
adalah sebuah kombinasi k-itemset.
Fungsi:
Support FCC dapat ditulis:
Keterangan:
- \(u\) = itemset yang dihitung,
- \(k=|u|\) = jumlah item dalam itemset,
- \(T_t\) = transaksi ke-\(t\),
- \(|T_t|\) = jumlah item pada transaksi,
- \(n\) = jumlah transaksi dalam QT,
- \({|T_t|\choose k}\) = jumlah kemungkinan kombinasi k-item pada transaksi tersebut.
Rumus kombinasi:
Intuisi Rumus
Untuk pasangan dua item pada transaksi dengan 2 item:
kontribusinya:
Untuk pasangan yang sama pada transaksi dengan 4 item:
kontribusinya hanya:
Jadi pasangan yang muncul pada transaksi kecil mempunyai kontribusi lebih kuat.
Item Fuzzy Set
Setelah frequent item diperoleh, setiap item dapat direpresentasikan sebagai fuzzy set terhadap transaksi.
Pada data transaksi crisp, membership item \(i\) terhadap transaksi \(t\) dapat ditulis:
Untuk transaksi biasa:
Karena itu, jika transaksi memiliki \(|t|\) item:
Contoh:
T1 = {Roti, Susu}
maka:
dan:
Jika:
T2 = {Roti, Susu, Kopi, Telur}
maka masing-masing item mempunyai membership:
Konsep ini kembali menunjukkan bahwa semakin banyak item dalam transaksi, semakin kecil derajat keanggotaannya.
Rumus Confidence Fuzzy C-Covering
Untuk rule:
confidence dihitung menggunakan membership fuzzy:
Keterangan:
- \(Y\) = antecedent,
- \(X\) = consequent,
- \(\mu_i(t)\) = membership item \(i\) pada transaksi \(t\),
- \(\inf\) = nilai minimum membership pada kumpulan item.
Untuk singleton antecedent seperti:
Roti → Susu
penyebut merupakan total membership Roti.
Pembilang merupakan total minimum membership Roti dan Susu pada transaksi tempat keduanya muncul.
Tahapan Algoritma Fuzzy C-Covering
Tahapan umum FCC untuk Market Basket Analysis:
- Tentukan
max_item_threshold. - Ambil transaksi dengan jumlah item tidak melebihi threshold.
- Simpan transaksi tersebut ke Qualified Transaction.
- Set \(k=1\).
- Tentukan
minimum_support_k. - Generate candidate k-itemset.
- Hitung support setiap candidate.
- Buang candidate dengan support di bawah minimum support.
- Naikkan \(k\).
- Generate itemset berikutnya dari frequent itemset sebelumnya.
- Ulangi sampai tidak ada kombinasi baru atau \(k>ith\).
- Definisikan frequent item sebagai item fuzzy set.
- Bentuk candidate association rule dari frequent itemset dengan \(k\geq2\).
- Hitung confidence.
- Pertahankan rule yang memenuhi minimum confidence.
Contoh Kasus Fuzzy C-Covering
Contoh berikut menggunakan transaksi minimarket.
Item:
Roti
Susu
Telur
Kopi
Gula
#01 Menyiapkan Data Transaksi
Data awal:
| Transaksi | Item | Jumlah Item |
|---|---|---|
| T1 | Roti, Susu | 2 |
| T2 | Roti, Susu, Telur | 3 |
| T3 | Roti, Kopi | 2 |
| T4 | Susu, Telur | 2 |
| T5 | Roti, Susu | 2 |
| T6 | Roti, Susu, Kopi, Telur | 4 |
| T7 | Susu, Kopi | 2 |
| T8 | Roti, Telur | 2 |
| T9 | Roti, Susu, Kopi, Telur, Gula | 5 |
Total transaksi awal:
#02 Menentukan Max Item Threshold
Gunakan:
max_item_threshold = 4
Artinya transaksi dengan lebih dari 4 item tidak digunakan.
T9 memiliki:
sehingga T9 tidak masuk Qualified Transaction.
#03 Membentuk Qualified Transaction
Hasil seleksi:
| Transaksi | Item | Status |
|---|---|---|
| T1 | Roti, Susu | Digunakan |
| T2 | Roti, Susu, Telur | Digunakan |
| T3 | Roti, Kopi | Digunakan |
| T4 | Susu, Telur | Digunakan |
| T5 | Roti, Susu | Digunakan |
| T6 | Roti, Susu, Kopi, Telur | Digunakan |
| T7 | Susu, Kopi | Digunakan |
| T8 | Roti, Telur | Digunakan |
| T9 | Roti, Susu, Kopi, Telur, Gula | Dikeluarkan |
Maka:
dan:
QT = {T1,T2,T3,T4,T5,T6,T7,T8}
Item Gula tidak lagi muncul dalam QT sehingga tidak masuk perhitungan berikutnya.
#04 Menghitung Support 1-Itemset
Untuk:
maka:
Support Roti
Roti terdapat pada:
T1 = 2 item
T2 = 3 item
T3 = 2 item
T5 = 2 item
T6 = 4 item
T8 = 2 item
Kontribusi:
Jumlah pembilang:
Maka:
atau:
Support Susu
Susu terdapat pada T1, T2, T4, T5, T6, dan T7.
Support Telur
Telur terdapat pada T2, T4, T6, T8:
Support Kopi
Kopi terdapat pada T3, T6, dan T7:
Ringkasan:
| Item | Support |
|---|---|
| Roti | 0.322917 |
| Susu | 0.322917 |
| Telur | 0.197917 |
| Kopi | 0.156250 |
#05 Seleksi Frequent 1-Itemset
Misalkan:
minimum_support_1 = 0.15
Semua item memenuhi:
Maka frequent 1-itemset:
{Roti}
{Susu}
{Telur}
{Kopi}
Keempat item dapat digunakan untuk membentuk candidate 2-itemset.
#06 Menghitung Support 2-Itemset
Untuk:
setiap transaksi memberikan bobot:
Support {Roti, Susu}
Pasangan Roti-Susu muncul pada:
T1 = 2 item
T2 = 3 item
T5 = 2 item
T6 = 4 item
Kontribusinya:
Maka:
atau:
Support {Roti, Telur}
Pasangan terdapat pada T2, T6, dan T8:
Support {Roti, Kopi}
Terdapat pada T3 dan T6:
Support {Susu, Telur}
Terdapat pada T2, T4, dan T6:
Support {Susu, Kopi}
Terdapat pada T6 dan T7:
Support {Telur, Kopi}
Keduanya hanya muncul bersama pada T6:
Ringkasan:
| 2-Itemset | Support |
|---|---|
| Roti, Susu | 0.312500 |
| Roti, Telur | 0.187500 |
| Roti, Kopi | 0.145833 |
| Susu, Telur | 0.187500 |
| Susu, Kopi | 0.145833 |
| Telur, Kopi | 0.020833 |
#07 Seleksi Frequent 2-Itemset
Gunakan:
minimum_support_2 = 0.14
Maka:
| 2-Itemset | Support | Status |
|---|---|---|
| Roti, Susu | 0.312500 | Lolos |
| Roti, Telur | 0.187500 | Lolos |
| Roti, Kopi | 0.145833 | Lolos |
| Susu, Telur | 0.187500 | Lolos |
| Susu, Kopi | 0.145833 | Lolos |
| Telur, Kopi | 0.020833 | Tidak lolos |
Frequent 2-itemset:
{Roti,Susu}
{Roti,Telur}
{Roti,Kopi}
{Susu,Telur}
{Susu,Kopi}
#08 Menghitung Support 3-Itemset
Candidate 3-itemset hanya dibentuk jika subset 2-itemset yang diperlukan tersedia.
Salah satu candidate:
{Roti,Susu,Telur}
Itemset ini muncul pada:
T2 = 3 item
T6 = 4 item
Untuk:
T2:
T6:
Maka:
Misalkan:
minimum_support_3 = 0.10
maka itemset:
{Roti,Susu,Telur}
lolos.
Candidate seperti:
{Roti,Telur,Kopi}
tidak dapat dipertahankan karena salah satu subsetnya:
{Telur,Kopi}
tidak lolos minimum support 2-itemset.
#09 Membentuk Item Fuzzy Set
Sekarang bentuk membership item terhadap setiap transaksi.
Jika item muncul:
Jika tidak muncul:
Hasil:
| Transaksi | Jumlah Item | μ Roti | μ Susu | μ Telur | μ Kopi |
|---|---|---|---|---|---|
| T1 | 2 | 0.5000 | 0.5000 | 0 | 0 |
| T2 | 3 | 0.3333 | 0.3333 | 0.3333 | 0 |
| T3 | 2 | 0.5000 | 0 | 0 | 0.5000 |
| T4 | 2 | 0 | 0.5000 | 0.5000 | 0 |
| T5 | 2 | 0.5000 | 0.5000 | 0 | 0 |
| T6 | 4 | 0.2500 | 0.2500 | 0.2500 | 0.2500 |
| T7 | 2 | 0 | 0.5000 | 0 | 0.5000 |
| T8 | 2 | 0.5000 | 0 | 0.5000 | 0 |
Total membership:
Roti = 2.5833
Susu = 2.5833
Telur = 1.5833
Kopi = 1.2500
#10 Menghitung Confidence Rule
Gunakan:
minimum_confidence = 0.60
atau:
Rule Roti → Susu
Antecedent:
Roti
Consequent:
Susu
Transaksi yang mengandung keduanya:
T1 = min(0.5, 0.5) = 0.5
T2 = min(0.3333, 0.3333) = 0.3333
T5 = min(0.5, 0.5) = 0.5
T6 = min(0.25, 0.25) = 0.25
Pembilang:
Penyebut adalah total membership Roti:
Maka:
atau:
Rule memenuhi minimum confidence 60%.
Rule Susu → Roti
Pembilang sama:
Total membership Susu:
Maka:
Rule juga lolos.
Rule Telur → Roti
Keduanya terdapat pada:
T2 = 0.3333
T6 = 0.2500
T8 = 0.5000
Pembilang:
Total membership Telur:
Maka:
atau:
Rule lolos.
Rule Kopi → Roti
Kopi dan Roti muncul bersama pada:
T3 = 0.5
T6 = 0.25
Pembilang:
Total membership Kopi:
Maka:
atau:
Rule tepat memenuhi minimum confidence.
Rule Telur → Susu
Telur dan Susu muncul bersama pada:
T2 = 0.3333
T4 = 0.5
T6 = 0.25
Pembilang:
Penyebut:
Maka:
atau:
Rule lolos.
#11 Menentukan Association Rule
Ringkasan beberapa candidate rule:
| Rule | Confidence | Min Confidence | Status |
|---|---|---|---|
| Roti → Susu | 61.29% | 60% | Lolos |
| Susu → Roti | 61.29% | 60% | Lolos |
| Telur → Roti | 68.42% | 60% | Lolos |
| Roti → Telur | 41.94% | 60% | Tidak |
| Kopi → Roti | 60.00% | 60% | Lolos |
| Roti → Kopi | 29.03% | 60% | Tidak |
| Telur → Susu | 68.42% | 60% | Lolos |
| Susu → Telur | 41.94% | 60% | Tidak |
| Kopi → Susu | 60.00% | 60% | Lolos |
| Susu → Kopi | 29.03% | 60% | Tidak |
Association rule yang memenuhi minimum confidence:
Roti → Susu
Susu → Roti
Telur → Roti
Kopi → Roti
Telur → Susu
Kopi → Susu
Contoh interpretasi:
Berdasarkan transaksi dan parameter pada contoh, rule
Telur → Rotimemiliki confidence fuzzy sekitar 68.42%. Artinya asosiasi Telur terhadap Roti cukup kuat menurut fungsi membership dan threshold yang digunakan.
Nilai ini harus dibaca sebagai ukuran asosiasi pada model FCC, bukan probabilitas universal bahwa setiap pembeli Telur pasti membeli Roti.
Perbandingan Support FCC dan Support Apriori
Perhatikan itemset:
{Roti,Susu}
Pasangan tersebut muncul pada 4 dari 8 Qualified Transaction.
Support Klasik
atau:
Support Fuzzy C-Covering
FCC memberikan kontribusi berbeda:
T1 = 1
T2 = 1/3
T5 = 1
T6 = 1/6
Maka:
atau:
Perbedaannya terjadi karena FCC memperhitungkan jumlah item di masing-masing transaksi.
Transaksi T1:
{Roti,Susu}
memberikan hubungan penuh untuk pasangan tersebut.
Sedangkan T6:
{Roti,Susu,Kopi,Telur}
memiliki enam kemungkinan pasangan sehingga kontribusi Roti-Susu hanya:
Pengaruh Max Item Threshold
Nilai max_item_threshold sangat memengaruhi transaksi yang digunakan.
Jika terlalu kecil:
- banyak transaksi dibuang,
- informasi dapat berkurang,
- beberapa item bahkan dapat hilang sepenuhnya.
Jika terlalu besar:
- transaksi dengan sangat banyak item tetap digunakan,
- candidate itemset dapat bertambah,
- proses dapat menjadi lebih berat,
- hubungan yang sangat lemah tetap ikut diproses.
Karena itu threshold bukan nilai universal.
Nilainya perlu disesuaikan dengan:
- karakteristik transaksi,
- rata-rata jumlah item per transaksi,
- tujuan analisis,
- periode data,
- dan hasil pengujian.
Pengaruh Minimum Support dan Confidence
Minimum Support Tinggi
Jika minimum support dinaikkan:
lebih sedikit itemset lolos
↓
candidate berikutnya berkurang
↓
rule yang mungkin terbentuk berkurang
Minimum Support Rendah
Jika diturunkan:
lebih banyak itemset lolos
↓
lebih banyak kombinasi
↓
potensi rule bertambah
Namun waktu pemrosesan dapat meningkat.
Minimum Confidence Tinggi
Hanya association rule yang kuat menurut fungsi confidence yang dipertahankan.
Minimum Confidence Rendah
Lebih banyak rule dihasilkan, tetapi tidak semuanya harus dianggap menarik secara bisnis.
Karena itu support dan confidence perlu dievaluasi bersama konteks domain.
Pseudocode Fuzzy C-Covering
input:
transactions
max_item_threshold
minimum_support[k]
minimum_confidence
# 1. Qualified Transaction
QT = []
for transaction in transactions:
if item_count(transaction)
<= max_item_threshold:
QT.add(transaction)
n = count(QT)
# 2. Frequent Itemset
k = 1
while k <= max_item_threshold:
candidates =
generate_candidates(k)
frequent[k] = []
for candidate in candidates:
total = 0
for transaction in QT:
if candidate subset transaction:
total +=
1 /
combination(
item_count(transaction),
k
)
support =
total / n
if support
>= minimum_support[k]:
frequent[k].add(
candidate,
support
)
if frequent[k] empty:
break
k = k + 1
# 3. Item Fuzzy Set
for item in frequent[1]:
for transaction in QT:
if item in transaction:
mu[item][transaction] =
1 / item_count(transaction)
else:
mu[item][transaction] = 0
# 4. Association Rule
for itemset in frequent[k >= 2]:
generate all valid rules
Y -> X
numerator = 0
denominator = 0
for transaction in QT:
numerator +=
min membership
of items in X union Y
denominator +=
min membership
of items in Y
confidence =
numerator / denominator
if confidence
>= minimum_confidence:
save rule
Pada implementasi nyata, candidate generation sebaiknya hanya menggunakan frequent itemset sebelumnya agar kombinasi yang tidak mungkin tidak perlu dihitung.
Fuzzy C-Covering vs Apriori
| Aspek | Fuzzy C-Covering | Apriori |
|---|---|---|
| Tujuan | Association rule | Association rule |
| Input | Data transaksi | Data transaksi |
| Frequent itemset | Ya | Ya |
| Support | Berbobot terhadap jumlah kombinasi dalam transaksi | Frekuensi kemunculan itemset |
| Max item threshold | Digunakan pada formulasi FCC ini | Bukan parameter utama |
| Fuzzy set | Digunakan pada confidence | Tidak |
| Persepsi transaksi besar | Hubungan dianggap lebih lemah | Semua transaksi dihitung secara crisp |
| Candidate generation | Mirip proses bertingkat | Apriori join/prune |
FCC tidak sekadar "Apriori ditambah fuzzy". Rumus support dan confidence pada pendekatan ini memiliki definisi tersendiri.
Fuzzy C-Covering vs FP-Growth
| Aspek | Fuzzy C-Covering | FP-Growth |
|---|---|---|
| Fokus | Association dengan pembobotan fuzzy | Frequent pattern mining |
| Candidate generation | Dapat menghasilkan candidate bertingkat | Tidak melakukan candidate generation seperti Apriori |
| Struktur FP-Tree | Tidak wajib | Ya |
| Max item threshold | Ya pada formulasi FCC | Tidak menjadi parameter utama |
| Fuzzy confidence | Ya | Tidak pada FP-Growth standar |
| Transaksi banyak item | Kontribusi asosiasi dilemahkan | Diproses sebagai transaksi biasa |
Terdapat penelitian yang mengombinasikan Fuzzy C-Covering dengan FP-Tree untuk mengurangi beberapa kelemahan proses pencarian kombinasi.
Kelebihan dan Kekurangan
Kelebihan Fuzzy C-Covering
- Memperhitungkan jumlah item dalam setiap transaksi.
- Hubungan item pada transaksi kecil dapat diberi kontribusi lebih besar.
- Menggunakan fuzzy membership untuk association confidence.
- Dapat menghasilkan pola pembelian untuk Market Basket Analysis.
- Memiliki parameter untuk menyaring transaksi yang terlalu besar.
- Dapat digunakan untuk membantu analisis tata letak produk atau strategi penjualan.
Kekurangan Fuzzy C-Covering
- Memerlukan penentuan max item threshold.
- Minimum support dapat berbeda untuk setiap nilai \(k\).
- Candidate combination dapat menjadi banyak pada dataset besar.
- Proses confidence memerlukan representasi fuzzy set.
- Parameter yang berbeda dapat menghasilkan rule yang berbeda.
- Tidak semua association rule yang lolos threshold otomatis penting secara bisnis.
Kapan Fuzzy C-Covering Cocok Digunakan?
FCC cocok digunakan ketika:
- data berbentuk transaksi pembelian;
- tujuan analisis adalah menemukan association rule;
- jumlah item per transaksi dianggap memengaruhi kekuatan hubungan item;
- ingin membedakan transaksi kecil dan transaksi yang sangat besar;
- ingin menerapkan pendekatan fuzzy pada Market Basket Analysis;
- atau penelitian ingin membandingkan FCC dengan Apriori maupun FP-Growth.
Contoh penerapan:
- minimarket,
- supermarket,
- toko alat tulis,
- apotek,
- toko online,
- transaksi penjualan,
- analisis keranjang belanja,
- dan pola pembelian konsumen.
Kesalahan Umum Implementasi
1. Menggunakan support Apriori untuk FCC
Support FCC pada formulasi Market Basket ini bukan sekadar:
FCC menggunakan:
sebagai kontribusi itemset pada transaksi yang mengandungnya.
2. Menghitung transaksi yang melebihi max item threshold
Transaksi yang tidak memenuhi:
harus dikeluarkan sebelum perhitungan berikutnya.
3. Membagi dengan jumlah transaksi awal
Penyebut \(n\) adalah jumlah transaksi dalam:
Qualified Transaction
bukan selalu jumlah transaksi mentah sebelum filtering.
4. Salah menggunakan nilai k
Untuk singleton:
k = 1
Untuk pasangan:
k = 2
Untuk tiga item:
k = 3
Nilai tersebut memengaruhi:
5. Candidate k-itemset dibuat tanpa frequent subset
Itemset yang subsetnya sudah gagal minimum support tidak perlu terus dikembangkan.
6. Confidence dihitung dengan rumus klasik tanpa fuzzy membership
Pada FCC, confidence menggunakan derajat membership dan operator minimum.
7. Menganggap confidence sebagai kepastian pembelian
Confidence menunjukkan kekuatan association rule menurut data dan metode yang digunakan, bukan jaminan perilaku setiap pelanggan.
8. Menggunakan threshold tanpa evaluasi
Tidak ada satu nilai max_item_threshold, support, atau confidence yang cocok untuk semua dataset.
Ringkasan
Pada contoh digunakan:
max_item_threshold = 4
Dari 9 transaksi, T9 memiliki 5 item sehingga dikeluarkan.
Qualified Transaction:
Support 1-itemset:
| Item | Support |
|---|---|
| Roti | 0.322917 |
| Susu | 0.322917 |
| Telur | 0.197917 |
| Kopi | 0.156250 |
Dengan:
minimum_support_1 = 0.15
semua item lolos.
Support 2-itemset:
| Itemset | Support |
|---|---|
| Roti, Susu | 0.312500 |
| Roti, Telur | 0.187500 |
| Roti, Kopi | 0.145833 |
| Susu, Telur | 0.187500 |
| Susu, Kopi | 0.145833 |
| Telur, Kopi | 0.020833 |
Dengan:
minimum_support_2 = 0.14
hanya Telur-Kopi yang tidak lolos.
Setelah item fuzzy set dibentuk dan digunakan:
minimum_confidence = 60%
beberapa rule yang lolos adalah:
| Rule | Confidence |
|---|---|
| Roti → Susu | 61.29% |
| Susu → Roti | 61.29% |
| Telur → Roti | 68.42% |
| Kopi → Roti | 60.00% |
| Telur → Susu | 68.42% |
| Kopi → Susu | 60.00% |
Dengan demikian FCC memungkinkan hubungan antar-item dianalisis dengan mempertimbangkan ukuran transaksi, bukan hanya jumlah kemunculan itemset.
FAQ Fuzzy C-Covering
Apa itu Fuzzy C-Covering?
Fuzzy C-Covering adalah generalisasi fuzzy c-partition. Dalam Market Basket Analysis, metode ini digunakan untuk menemukan association rule dengan mempertimbangkan bahwa semakin banyak item dalam transaksi, hubungan antar-item semakin lemah.
Apa kepanjangan FCC?
Dalam artikel ini FCC digunakan sebagai singkatan dari Fuzzy C-Covering.
Apakah Fuzzy C-Covering termasuk data mining?
Ya. FCC dapat diterapkan pada Market Basket Analysis dan association rule mining.
Apa fungsi max item threshold?
Max item threshold membatasi jumlah item maksimum dalam transaksi yang diperbolehkan masuk ke Qualified Transaction.
Apa itu Qualified Transaction?
Qualified Transaction adalah himpunan transaksi yang jumlah itemnya tidak melebihi max item threshold.
Apakah support FCC sama dengan support Apriori?
Tidak. Support FCC memberikan bobot terhadap kemunculan itemset berdasarkan jumlah kemungkinan kombinasi k-item dalam transaksi.
Apa fungsi minimum support?
Minimum support digunakan untuk menyaring itemset yang tingkat dominasinya terlalu rendah.
Apakah minimum support harus sama untuk semua k?
Tidak harus. Formulasi FCC memungkinkan minimum support ditentukan untuk setiap tingkat kombinasi k-item.
Apa itu item fuzzy set?
Item fuzzy set merepresentasikan derajat keanggotaan suatu item terhadap transaksi.
Bagaimana membership item dihitung?
Pada transaksi crisp sederhana, item yang muncul dalam transaksi dengan \(m\) item memiliki membership:
sedangkan item yang tidak muncul memiliki membership 0.
Apa fungsi confidence?
Confidence digunakan untuk mengukur kekuatan candidate association rule.
Apa perbedaan FCC dengan Apriori?
Apriori menggunakan support berbasis frekuensi transaksi. FCC pada formulasi Market Basket ini menurunkan kontribusi itemset pada transaksi yang memiliki lebih banyak kombinasi item.
Apa perbedaan FCC dengan FP-Growth?
FP-Growth menggunakan FP-Tree untuk mencari frequent pattern tanpa candidate generation seperti Apriori. FCC memiliki formulasi support dan fuzzy confidence tersendiri.
Apakah nilai threshold memiliki standar tetap?
Tidak. Nilai threshold perlu disesuaikan dengan karakteristik data, tujuan analisis, dan hasil pengujian.
Apakah FCC hanya dapat digunakan untuk supermarket?
Tidak. Metode ini dapat diterapkan pada berbagai data transaksi selama bentuk data dan tujuan analisisnya sesuai dengan association rule mining.
Referensi
- Budhi, G. S., Lim, R., & Prayitno, O. (2005). Penggunaan Metode Fuzzy c-Covering untuk Analisa Market Basket pada Supermarket. Jurnal Informatika, 6(1), 51–58.
- Klir, G. J., & Yuan, B. (1995). Fuzzy Sets and Fuzzy Logic: Theory and Applications. Prentice Hall.
- Angraini, K. N., Indwiarti, & Nhita, F. (2018). Implementasi Algoritma Fuzzy C-Covering untuk Mengetahui Pola Pembelian Produk pada Data Transaksi Swalayan. eProceedings of Engineering, 5(3).
Source Code Fuzzy C-Covering
Berikut source code yang menggunakan metode Fuzzy C-Covering pada RumahSourceCode.
Ada yang Ditanyakan?
Jika masih ada kesulitan atau kekeliruan tentang metode di atas, silakan hubungi kami melalui halaman Kontak.
Perhitungan Excel tersedia melalui halaman Download, sedangkan aplikasi terkait dapat dilihat pada halaman Daftar Source Code.
Donasi digunakan untuk biaya server dan mendukung pembuatan tutorial metode atau algoritma lainnya.






