Fuzzy C-Covering

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-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:

\[ \sum_{m=1}^{c}\mu_{t_m}(i_k)=1 \]

Fuzzy c-covering merupakan generalisasi yang memperbolehkan:

\[ \sum_{m=1}^{c}\mu_{t_m}(i_k)\geq1 \]

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:

\[ QT= \{ t\mid |t|\leq ith \} \]

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:

\[ u \]

adalah sebuah kombinasi k-itemset.

Fungsi:

\[ s(u,T_t) = \begin{cases} 1, & u\subseteq T_t \\ 0, & u\nsubseteq T_t \end{cases} \]

Support FCC dapat ditulis:

\[ support(u) = \frac{1}{n} \sum_{t=1}^{n} \frac{ s(u,T_t) }{ { |T_t| \choose k} } \]

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:

\[ {n\choose r} = \frac{n!}{r!(n-r)!} \]

Intuisi Rumus

Untuk pasangan dua item pada transaksi dengan 2 item:

\[ {2\choose2}=1 \]

kontribusinya:

\[ 1 \]

Untuk pasangan yang sama pada transaksi dengan 4 item:

\[ {4\choose2}=6 \]

kontribusinya hanya:

\[ \frac16 \]

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:

\[ \mu_i(t) = \frac{ \mu_t(i) }{ \sum_{j\in I}\mu_t(j) } \]

Untuk transaksi biasa:

\[ \mu_t(i) = \begin{cases} 1, & i\in t \\ 0, & i\notin t \end{cases} \]

Karena itu, jika transaksi memiliki \(|t|\) item:

\[ \mu_i(t) = \begin{cases} \frac{1}{|t|}, & i\in t \\ 0, & i\notin t \end{cases} \]

Contoh:

T1 = {Roti, Susu}

maka:

\[ \mu_{Roti}(T1)=\frac12 \]

dan:

\[ \mu_{Susu}(T1)=\frac12 \]

Jika:

T2 = {Roti, Susu, Kopi, Telur}

maka masing-masing item mempunyai membership:

\[ \frac14 \]

Konsep ini kembali menunjukkan bahwa semakin banyak item dalam transaksi, semakin kecil derajat keanggotaannya.


Rumus Confidence Fuzzy C-Covering

Untuk rule:

\[ Y\rightarrow X \]

confidence dihitung menggunakan membership fuzzy:

\[ confidence(Y\rightarrow X) = \frac{ \sum_{t\in T} \inf_{i\in X\cup Y} \mu_i(t) }{ \sum_{t\in T} \inf_{i\in Y} \mu_i(t) } \]

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:

  1. Tentukan max_item_threshold.
  2. Ambil transaksi dengan jumlah item tidak melebihi threshold.
  3. Simpan transaksi tersebut ke Qualified Transaction.
  4. Set \(k=1\).
  5. Tentukan minimum_support_k.
  6. Generate candidate k-itemset.
  7. Hitung support setiap candidate.
  8. Buang candidate dengan support di bawah minimum support.
  9. Naikkan \(k\).
  10. Generate itemset berikutnya dari frequent itemset sebelumnya.
  11. Ulangi sampai tidak ada kombinasi baru atau \(k>ith\).
  12. Definisikan frequent item sebagai item fuzzy set.
  13. Bentuk candidate association rule dari frequent itemset dengan \(k\geq2\).
  14. Hitung confidence.
  15. 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:

\[ 9 \]

#02 Menentukan Max Item Threshold

Gunakan:

max_item_threshold = 4

Artinya transaksi dengan lebih dari 4 item tidak digunakan.

T9 memiliki:

\[ 5>4 \]

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:

\[ n=8 \]

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:

\[ k=1 \]

maka:

\[ {|T_t|\choose1}=|T_t| \]

Support Roti

Roti terdapat pada:

T1 = 2 item
T2 = 3 item
T3 = 2 item
T5 = 2 item
T6 = 4 item
T8 = 2 item

Kontribusi:

\[ support(Roti) = \frac{ \frac12+ \frac13+ \frac12+ \frac12+ \frac14+ \frac12 }{8} \]

Jumlah pembilang:

\[ 2.583333 \]

Maka:

\[ support(Roti) = \frac{2.583333}{8} = 0.322917 \]

atau:

\[ 32.2917\% \]

Support Susu

Susu terdapat pada T1, T2, T4, T5, T6, dan T7.

\[ support(Susu) = \frac{ \frac12+ \frac13+ \frac12+ \frac12+ \frac14+ \frac12 }{8} \]
\[ support(Susu)=0.322917 \]

Support Telur

Telur terdapat pada T2, T4, T6, T8:

\[ support(Telur) = \frac{ \frac13+ \frac12+ \frac14+ \frac12 }{8} \]
\[ = \frac{1.583333}{8} \]
\[ =0.197917 \]

Support Kopi

Kopi terdapat pada T3, T6, dan T7:

\[ support(Kopi) = \frac{ \frac12+ \frac14+ \frac12 }{8} \]
\[ = \frac{1.25}{8} \]
\[ =0.156250 \]

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:

\[ support\geq0.15 \]

Maka frequent 1-itemset:

{Roti}
{Susu}
{Telur}
{Kopi}

Keempat item dapat digunakan untuk membentuk candidate 2-itemset.


#06 Menghitung Support 2-Itemset

Untuk:

\[ k=2 \]

setiap transaksi memberikan bobot:

\[ \frac{1}{{|T_t|\choose2}} \]

Support {Roti, Susu}

Pasangan Roti-Susu muncul pada:

T1 = 2 item
T2 = 3 item
T5 = 2 item
T6 = 4 item

Kontribusinya:

\[ T1: \frac1{{2\choose2}} = 1 \]
\[ T2: \frac1{{3\choose2}} = \frac13 \]
\[ T5: \frac1{{2\choose2}} = 1 \]
\[ T6: \frac1{{4\choose2}} = \frac16 \]

Maka:

\[ support(\{Roti,Susu\}) = \frac{ 1+\frac13+1+\frac16 }{8} \]
\[ = \frac{2.5}{8} \]
\[ = 0.312500 \]

atau:

\[ 31.25\% \]

Support {Roti, Telur}

Pasangan terdapat pada T2, T6, dan T8:

\[ support(\{Roti,Telur\}) = \frac{ \frac13+\frac16+1 }{8} \]
\[ = 0.187500 \]

Support {Roti, Kopi}

Terdapat pada T3 dan T6:

\[ support(\{Roti,Kopi\}) = \frac{ 1+\frac16 }{8} \]
\[ = 0.145833 \]

Support {Susu, Telur}

Terdapat pada T2, T4, dan T6:

\[ support(\{Susu,Telur\}) = \frac{ \frac13+1+\frac16 }{8} \]
\[ = 0.187500 \]

Support {Susu, Kopi}

Terdapat pada T6 dan T7:

\[ support(\{Susu,Kopi\}) = \frac{ \frac16+1 }{8} \]
\[ = 0.145833 \]

Support {Telur, Kopi}

Keduanya hanya muncul bersama pada T6:

\[ support(\{Telur,Kopi\}) = \frac{ \frac16 }{8} \]
\[ = 0.020833 \]

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:

\[ k=3 \]

T2:

\[ \frac1{{3\choose3}} = 1 \]

T6:

\[ \frac1{{4\choose3}} = \frac14 \]

Maka:

\[ support(\{Roti,Susu,Telur\}) = \frac{ 1+\frac14 }{8} \]
\[ = \frac{1.25}{8} \]
\[ = 0.156250 \]

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:

\[ \mu_i(t)=\frac1{|t|} \]

Jika tidak muncul:

\[ \mu_i(t)=0 \]

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:

\[ 60\% \]

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:

\[ 0.5+0.3333+0.5+0.25 = 1.5833 \]

Penyebut adalah total membership Roti:

\[ 2.5833 \]

Maka:

\[ confidence(Roti\rightarrow Susu) = \frac{1.5833}{2.5833} \]
\[ = 0.612903 \]

atau:

\[ 61.29\% \]

Rule memenuhi minimum confidence 60%.


Rule Susu → Roti

Pembilang sama:

\[ 1.5833 \]

Total membership Susu:

\[ 2.5833 \]

Maka:

\[ confidence(Susu\rightarrow Roti) = 61.29\% \]

Rule juga lolos.


Rule Telur → Roti

Keduanya terdapat pada:

T2 = 0.3333
T6 = 0.2500
T8 = 0.5000

Pembilang:

\[ 0.3333+0.25+0.5 = 1.0833 \]

Total membership Telur:

\[ 1.5833 \]

Maka:

\[ confidence(Telur\rightarrow Roti) = \frac{1.0833}{1.5833} \]
\[ = 0.684211 \]

atau:

\[ 68.42\% \]

Rule lolos.


Rule Kopi → Roti

Kopi dan Roti muncul bersama pada:

T3 = 0.5
T6 = 0.25

Pembilang:

\[ 0.75 \]

Total membership Kopi:

\[ 1.25 \]

Maka:

\[ confidence(Kopi\rightarrow Roti) = \frac{0.75}{1.25} \]
\[ = 0.60 \]

atau:

\[ 60\% \]

Rule tepat memenuhi minimum confidence.


Rule Telur → Susu

Telur dan Susu muncul bersama pada:

T2 = 0.3333
T4 = 0.5
T6 = 0.25

Pembilang:

\[ 1.0833 \]

Penyebut:

\[ 1.5833 \]

Maka:

\[ confidence(Telur\rightarrow Susu) = 0.684211 \]

atau:

\[ 68.42\% \]

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 → Roti memiliki 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

\[ support_{classic} = \frac48 = 0.50 \]

atau:

\[ 50\% \]

Support Fuzzy C-Covering

FCC memberikan kontribusi berbeda:

T1 = 1
T2 = 1/3
T5 = 1
T6 = 1/6

Maka:

\[ support_{FCC} = \frac{ 1+\frac13+1+\frac16 }{8} \]
\[ = 0.3125 \]

atau:

\[ 31.25\% \]

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:

\[ \frac16 \]

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:

\[ \frac{ jumlah\ transaksi\ yang\ mengandung\ itemset }{ jumlah\ transaksi } \]

FCC menggunakan:

\[ \frac1{{|T_t|\choose k}} \]

sebagai kontribusi itemset pada transaksi yang mengandungnya.

2. Menghitung transaksi yang melebihi max item threshold

Transaksi yang tidak memenuhi:

\[ |t|\leq ith \]

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:

\[ {|T_t|\choose k} \]

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:

\[ n=8 \]

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:

\[ \frac1m \]

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

  1. 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.
  2. Klir, G. J., & Yuan, B. (1995). Fuzzy Sets and Fuzzy Logic: Theory and Applications. Prentice Hall.
  3. 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.