Rough Set

Metode Rough Set: Contoh Perhitungan Reduct dan Decision Rule Lengkap

Diterbitkan 28 September 2026

Rough Set adalah metode data mining untuk menganalisis ketidakpastian, melakukan reduksi atribut, dan membentuk aturan keputusan (decision rule) dari sebuah decision table. Berbeda dengan fuzzy set yang menggunakan derajat keanggotaan, Rough Set bekerja menggunakan hubungan ketidakmampuan membedakan objek atau indiscernibility relation.

Tutorial ini menggunakan studi kasus kelayakan penerima beasiswa dengan tiga condition attribute: IPK, Penghasilan, dan Tanggungan, serta satu decision attribute yaitu Keputusan. Perhitungan dilakukan lengkap mulai dari equivalence class, lower dan upper approximation, boundary region, positive region, dependency degree, reduct, core, sampai pembentukan decision rule.

Untuk metode klasifikasi lain, lihat juga ID3. Untuk metode clustering, tersedia Fuzzy C-Means.


Daftar Isi


Pengertian Rough Set

Rough Set adalah teori yang diperkenalkan oleh Zdzisław Pawlak untuk menangani data yang tidak dapat dibedakan secara sempurna berdasarkan atribut yang tersedia.

Sebuah objek dapat memiliki atribut yang sama dengan objek lain, tetapi belum tentu menghasilkan keputusan yang sama.

Rough Set menganalisis kondisi tersebut menggunakan:

Equivalence Class
Lower Approximation
Upper Approximation
Boundary Region
Positive Region
Dependency
Reduct
Core
Decision Rule

Salah satu tujuan penting Rough Set adalah menemukan atribut minimum yang tetap mampu mempertahankan kemampuan klasifikasi dari seluruh atribut awal.

Atribut minimum tersebut disebut:

Reduct

Konsep Decision System

Sistem informasi dapat ditulis:

\[ S=(U,A) \]

dengan:

  • \(U\) = universe atau kumpulan objek,
  • \(A\) = kumpulan atribut.

Untuk sistem keputusan:

\[ S=(U,C\cup D) \]

dengan:

  • \(C\) = condition attributes,
  • \(D\) = decision attribute.

Pada contoh:

C = {IPK, Penghasilan, Tanggungan}
D = {Keputusan}

Istilah Penting Rough Set

Istilah Keterangan
Universe Seluruh objek yang dianalisis
Condition Attribute Atribut kondisi atau prediktor
Decision Attribute Atribut keputusan
Indiscernibility Hubungan objek yang tidak dapat dibedakan pada atribut tertentu
Equivalence Class Kelompok objek dengan nilai atribut sama
Lower Approximation Objek yang pasti termasuk sebuah konsep
Upper Approximation Objek yang mungkin termasuk sebuah konsep
Boundary Region Objek yang belum dapat dipastikan
Positive Region Objek yang dapat diklasifikasikan dengan pasti
Dependency Degree Tingkat ketergantungan decision terhadap condition attribute
Reduct Subset atribut minimum yang mempertahankan kemampuan klasifikasi
Core Atribut yang selalu muncul pada seluruh reduct

Indiscernibility Relation

Untuk subset atribut:

\[ P\subseteq A \]

hubungan indiscernibility ditulis:

\[ IND(P) = \{ (x,y)\in U\times U \mid \forall a\in P,\ a(x)=a(y) \} \]

Dua objek dianggap tidak dapat dibedakan berdasarkan \(P\) jika seluruh nilai atribut dalam \(P\) sama.

Contoh:

O1: IPK = Tinggi
O2: IPK = Tinggi

Jika hanya atribut IPK yang digunakan:

O1 ≡ O2

walaupun atribut lain mungkin berbeda.


Lower dan Upper Approximation

Misalkan:

\[ X\subseteq U \]

adalah sebuah decision class.

Lower Approximation

Lower approximation berisi equivalence class yang seluruh anggotanya berada di dalam \(X\).

\[ \underline{P}(X) = \{ x\in U \mid [x]_P\subseteq X \} \]

Lower approximation berarti:

pasti termasuk X

Upper Approximation

Upper approximation berisi equivalence class yang mempunyai setidaknya satu anggota di dalam \(X\).

\[ \overline{P}(X) = \{ x\in U \mid [x]_P\cap X\neq\varnothing \} \]

Upper approximation berarti:

mungkin termasuk X

Boundary Region

Boundary region:

\[ BND_P(X) = \overline{P}(X) - \underline{P}(X) \]

Jika:

\[ BND_P(X)=\varnothing \]

maka konsep \(X\) dapat didefinisikan dengan tepat menggunakan atribut \(P\).

Jika boundary tidak kosong, terdapat ketidakpastian klasifikasi.


Positive Region

Jika decision attribute membentuk beberapa kelas:

\[ U/D \]

maka positive region:

\[ POS_P(D) = \bigcup_{X\in U/D} \underline{P}(X) \]

Positive region berisi semua objek yang dapat diklasifikasikan secara pasti menggunakan atribut \(P\).


Dependency Degree

Dependency degree:

\[ \gamma_P(D) = \frac{ |POS_P(D)| }{ |U| } \]

Nilainya:

\[ 0\leq\gamma_P(D)\leq1 \]

Interpretasi:

  • \(\gamma=1\): decision sepenuhnya bergantung pada \(P\),
  • \(0<\gamma<1\): ketergantungan parsial,
  • \(\gamma=0\): \(P\) tidak dapat menentukan decision secara pasti.

Reduct dan Core

Reduct

Subset:

\[ R\subseteq C \]

disebut reduct jika:

\[ \gamma_R(D) = \gamma_C(D) \]

dan tidak ada atribut di dalam \(R\) yang dapat dibuang lagi tanpa menurunkan dependency.

Core

Core adalah irisan seluruh reduct:

\[ CORE(C) = \bigcap RED(C) \]

Atribut dalam core merupakan atribut yang tidak dapat dihilangkan tanpa mengurangi kemampuan klasifikasi.


Tahapan Metode Rough Set

Alur umum:

Decision Table
↓
Tentukan Universe dan Atribut
↓
Hitung Equivalence Class
↓
Lower & Upper Approximation
↓
Boundary Region
↓
Positive Region
↓
Dependency Degree
↓
Uji Subset Atribut
↓
Reduct
↓
Core
↓
Decision Rule

Contoh Kasus Rough Set

Kasus yang digunakan adalah kelayakan penerima beasiswa.

Condition attributes:

IPK
Penghasilan
Tanggungan

Decision:

Layak
Tidak

#01 Menentukan Universe dan Atribut

Universe:

\[ U= \{ O1,O2,O3,O4,O5,O6,O7,O8 \} \]

Jumlah objek:

\[ |U|=8 \]

Condition attributes:

\[ C= \{ IPK, Penghasilan, Tanggungan \} \]

Decision attribute:

\[ D= \{ Keputusan \} \]

#02 Membentuk Decision Table

Objek IPK Penghasilan Tanggungan Keputusan
O1 Tinggi Rendah Banyak Layak
O2 Tinggi Rendah Sedikit Layak
O3 Tinggi Sedang Banyak Layak
O4 Sedang Rendah Banyak Layak
O5 Sedang Sedang Sedikit Tidak
O6 Rendah Rendah Banyak Tidak
O7 Rendah Sedang Sedikit Tidak
O8 Sedang Rendah Sedikit Tidak

Decision class:

\[ X_{Layak} = \{ O1,O2,O3,O4 \} \]
\[ X_{Tidak} = \{ O5,O6,O7,O8 \} \]

#03 Equivalence Class Berdasarkan IPK

Misalkan hanya digunakan:

\[ P=\{IPK\} \]

Kelompokkan objek berdasarkan IPK.

IPK Tinggi

\[ E_1= \{ O1,O2,O3 \} \]

Semua decision:

Layak

IPK Sedang

\[ E_2= \{ O4,O5,O8 \} \]

Decision:

O4 = Layak
O5 = Tidak
O8 = Tidak

Kelas ini tidak konsisten.

IPK Rendah

\[ E_3= \{ O6,O7 \} \]

Semua decision:

Tidak

Maka:

\[ U/IND(IPK) = \{ \{O1,O2,O3\}, \{O4,O5,O8\}, \{O6,O7\} \} \]

#04 Lower dan Upper Approximation

Target:

\[ X= X_{Layak} = \{ O1,O2,O3,O4 \} \]

Lower Approximation

Periksa equivalence class yang seluruh anggotanya termasuk Layak.

\[ E_1= \{ O1,O2,O3 \} \]

seluruhnya Layak.

Sedangkan:

\[ E_2= \{ O4,O5,O8 \} \]

tidak seluruhnya Layak.

Maka:

\[ \underline{IPK}(X) = \{ O1,O2,O3 \} \]

Upper Approximation

Ambil equivalence class yang memiliki irisan dengan decision Layak.

\[ E_1\cap X\neq\varnothing \]

dan:

\[ E_2\cap X\neq\varnothing \]

Maka:

\[ \overline{IPK}(X) = \{ O1,O2,O3,O4,O5,O8 \} \]

Boundary Region

\[ BND_{IPK}(X) = \overline{IPK}(X) - \underline{IPK}(X) \]
\[ = \{ O4,O5,O8 \} \]

Artinya O4, O5, dan O8 tidak dapat dipastikan hanya menggunakan atribut IPK.


#05 Menghitung Accuracy of Approximation

Accuracy of approximation:

\[ \alpha_P(X) = \frac{ |\underline{P}(X)| }{ |\overline{P}(X)| } \]

Untuk decision Layak:

\[ \alpha_{IPK}(X) = \frac{3}{6} \]
\[ = 0.5 \]

atau:

\[ 50\% \]

Artinya jika hanya menggunakan IPK, konsep Layak masih memiliki ketidakpastian yang cukup besar.


#06 Menghitung Positive Region

Gunakan equivalence class berdasarkan IPK:

Tinggi → seluruhnya Layak
Sedang → campuran
Rendah → seluruhnya Tidak

Kelas yang dapat diklasifikasikan pasti:

\[ \{ O1,O2,O3 \} \]

dan:

\[ \{ O6,O7 \} \]

Maka:

\[ POS_{IPK}(D) = \{ O1,O2,O3,O6,O7 \} \]

Jumlah:

\[ |POS_{IPK}(D)|=5 \]

#07 Menghitung Dependency Degree

\[ \gamma_{IPK}(D) = \frac{ |POS_{IPK}(D)| }{ |U| } \]
\[ = \frac58 \]
\[ = 0.625 \]

atau:

\[ 62.5\% \]

Jadi decision hanya 62,5% dapat ditentukan secara pasti menggunakan IPK saja.


#08 Menguji Kombinasi Atribut

Sekarang dependency dihitung untuk beberapa subset condition attribute.

Atribut Positive Region Dependency
{IPK} 5 0.625
{Penghasilan} 0 0.000
{Tanggungan} 0 0.000
{IPK, Penghasilan} 6 0.750
{IPK, Tanggungan} 8 1.000
{Penghasilan, Tanggungan} 3 0.375
{IPK, Penghasilan, Tanggungan} 8 1.000

Seluruh condition attribute:

\[ C= \{ IPK, Penghasilan, Tanggungan \} \]

menghasilkan:

\[ \gamma_C(D)=1 \]

Tetapi kombinasi:

\[ \{ IPK,Tanggungan \} \]

juga menghasilkan:

\[ \gamma_{\{IPK,Tanggungan\}}(D)=1 \]

Artinya atribut Penghasilan dapat dihilangkan tanpa menurunkan kemampuan klasifikasi.


#09 Menentukan Reduct

Gunakan:

\[ R= \{ IPK,Tanggungan \} \]

Equivalence class:

IPK Tanggungan Objek Decision
Tinggi Banyak O1, O3 Layak
Tinggi Sedikit O2 Layak
Sedang Banyak O4 Layak
Sedang Sedikit O5, O8 Tidak
Rendah Banyak O6 Tidak
Rendah Sedikit O7 Tidak

Semua equivalence class menghasilkan satu decision yang konsisten.

Maka:

\[ POS_R(D)=U \]

dan:

\[ \gamma_R(D)=1 \]

Jika IPK dibuang:

\[ \gamma_{\{Tanggungan\}}(D)=0 \]

Jika Tanggungan dibuang:

\[ \gamma_{\{IPK\}}(D)=0.625 \]

Jadi keduanya diperlukan.

Reduct:

\[ \boxed{ RED(C)= \{ IPK,Tanggungan \} } \]

#10 Menentukan Core

Karena pada contoh hanya terdapat satu reduct minimal:

\[ RED(C)= \{ IPK,Tanggungan \} \]

maka:

\[ CORE(C) = \{ IPK,Tanggungan \} \]

Artinya:

IPK
Tanggungan

adalah atribut inti pada decision system contoh.

Sedangkan:

Penghasilan

merupakan atribut dispensable terhadap kemampuan klasifikasi pada tabel ini.


#11 Membentuk Decision Rule

Gunakan reduct:

\[ \{ IPK,Tanggungan \} \]

Decision rule yang terbentuk:

Rule 1

IF IPK = Tinggi
AND Tanggungan = Banyak
THEN Keputusan = Layak

Didukung:

O1, O3

Rule 2

IF IPK = Tinggi
AND Tanggungan = Sedikit
THEN Keputusan = Layak

Didukung:

O2

Rule 3

IF IPK = Sedang
AND Tanggungan = Banyak
THEN Keputusan = Layak

Didukung:

O4

Rule 4

IF IPK = Sedang
AND Tanggungan = Sedikit
THEN Keputusan = Tidak

Didukung:

O5, O8

Rule 5

IF IPK = Rendah
AND Tanggungan = Banyak
THEN Keputusan = Tidak

Didukung:

O6

Rule 6

IF IPK = Rendah
AND Tanggungan = Sedikit
THEN Keputusan = Tidak

Didukung:

O7

Ringkasan:

Rule Kondisi Keputusan Objek Pendukung
1 IPK Tinggi AND Tanggungan Banyak Layak O1, O3
2 IPK Tinggi AND Tanggungan Sedikit Layak O2
3 IPK Sedang AND Tanggungan Banyak Layak O4
4 IPK Sedang AND Tanggungan Sedikit Tidak O5, O8
5 IPK Rendah AND Tanggungan Banyak Tidak O6
6 IPK Rendah AND Tanggungan Sedikit Tidak O7

Atribut Penghasilan tidak diperlukan lagi dalam rule akhir.


Discernibility Matrix

Discernibility matrix membandingkan pasangan objek yang memiliki decision berbeda.

Untuk:

\[ O_i \]

dan:

\[ O_j \]

dengan decision berbeda:

\[ m_{ij} = \{ a\in C \mid a(O_i)\neq a(O_j) \} \]

Contoh beberapa pasangan:

Pasangan Atribut Pembeda
O1 vs O5 IPK, Penghasilan, Tanggungan
O1 vs O6 IPK
O1 vs O8 IPK, Tanggungan
O2 vs O5 IPK, Penghasilan
O2 vs O8 IPK
O3 vs O5 IPK, Tanggungan
O4 vs O5 Penghasilan, Tanggungan
O4 vs O8 Tanggungan

Perhatikan terdapat pasangan:

\[ O1\text{ vs }O6 \]

yang hanya dapat dibedakan oleh:

IPK

dan pasangan:

\[ O4\text{ vs }O8 \]

yang hanya dapat dibedakan oleh:

Tanggungan

Karena itu IPK dan Tanggungan wajib dipertahankan.

Hasil ini mendukung reduct:

\[ \{ IPK,Tanggungan \} \]

Interpretasi Hasil

Dari tiga condition attribute:

IPK
Penghasilan
Tanggungan

ternyata kemampuan klasifikasi penuh tetap dapat dipertahankan hanya dengan:

IPK
Tanggungan

Dependency seluruh atribut:

\[ 1.0 \]

Dependency reduct:

\[ 1.0 \]

Maka Penghasilan tidak menambah kemampuan klasifikasi pada decision table contoh.

Hal ini tidak berarti Penghasilan selalu tidak penting pada kasus beasiswa.

Kesimpulan tersebut hanya berlaku untuk:

decision table
dan data contoh yang digunakan

Pada dataset berbeda, reduct dapat berubah.


Pseudocode Rough Set

input:
    decision_table
    condition_attributes C
    decision_attribute D

# 1. Dependency seluruh atribut

full_dependency =
    dependency(C, D)

# 2. Cari reduct

candidate_reducts = []

for setiap subset R dari C:

    if dependency(R, D)
       == full_dependency:

        if tidak ada subset R yang
           lebih kecil dengan dependency sama:

            candidate_reducts.add(R)

# 3. Core

core =
    intersection(candidate_reducts)

# 4. Decision Rules

for setiap equivalence_class
    berdasarkan reduct:

    if seluruh decision sama:

        bentuk rule:
            conditions -> decision

return:
    reduct
    core
    rules

Rough Set vs Fuzzy Set

Aspek Rough Set Fuzzy Set
Ketidakpastian Approximation Membership
Derajat keanggotaan Tidak diperlukan 0 sampai 1
Informasi utama Equivalence class Membership function
Reduksi atribut Salah satu kekuatan utama Bukan fokus utama
Rule Dapat dibentuk dari reduct Umumnya ditentukan atau dipelajari
Batas konsep Lower dan upper approximation Fungsi keanggotaan

Rough Set tidak memerlukan fungsi membership seperti pada metode fuzzy.


Rough Set vs Decision Tree

Aspek Rough Set Decision Tree
Fokus Approximation dan reduct Pemisahan data bertingkat
Feature selection Reduct Pemilihan atribut node
Struktur hasil Decision rules Pohon
Ketidakpastian Boundary region Distribusi pada node/leaf
Dasar atribut Indiscernibility Gain, Gini, dan sejenisnya

Keduanya dapat menghasilkan aturan keputusan, tetapi mekanismenya berbeda.


Kelebihan dan Kekurangan

Kelebihan Rough Set

  • Tidak membutuhkan probabilitas awal.
  • Tidak membutuhkan fungsi membership.
  • Dapat melakukan reduksi atribut.
  • Dapat mengidentifikasi atribut inti.
  • Menghasilkan decision rule yang mudah dibaca.
  • Dapat menganalisis ketidakpastian berdasarkan data.
  • Cocok untuk data kategorikal atau data yang telah didiskretisasi.

Kekurangan Rough Set

  • Data numerik sering perlu didiskretisasi.
  • Hasil sangat dipengaruhi kualitas decision table.
  • Dataset besar dapat menghasilkan banyak kombinasi atribut.
  • Pencarian seluruh reduct dapat mahal secara komputasi.
  • Noise dan inconsistency dapat memperbesar boundary region.
  • Reduct dapat berbeda ketika data berubah.

Kapan Rough Set Cocok Digunakan?

Rough Set cocok digunakan untuk:

  • feature selection;
  • attribute reduction;
  • rule extraction;
  • klasifikasi berbasis rule;
  • analisis decision table;
  • sistem pendukung keputusan;
  • analisis data kategorikal;
  • knowledge discovery.

Contoh kasus:

  • kelayakan beasiswa,
  • diagnosis,
  • klasifikasi pelanggan,
  • penilaian kredit,
  • evaluasi pegawai,
  • keputusan penerimaan,
  • dan analisis data berbasis atribut.

Kesalahan Umum

1. Menganggap reduct adalah atribut dengan jumlah nilai paling sedikit

Reduct ditentukan berdasarkan kemampuan mempertahankan klasifikasi, bukan jumlah kategori.

2. Tidak menghitung dependency penuh terlebih dahulu

Reduct harus dibandingkan dengan kemampuan condition attribute lengkap.

3. Menganggap lower dan upper approximation sama

Lower:

pasti termasuk

Upper:

mungkin termasuk

4. Menganggap boundary sebagai error

Boundary menunjukkan ketidakpastian berdasarkan atribut yang digunakan.

5. Menghilangkan atribut tanpa menguji dependency

Sebuah atribut hanya dapat dibuang jika kemampuan klasifikasi yang diperlukan tetap dipertahankan.

6. Menganggap reduct berlaku universal

Reduct hanya berlaku terhadap decision system atau dataset yang dianalisis.

7. Tidak melakukan diskretisasi pada data kontinu

Rough Set klasik umumnya lebih mudah diterapkan pada nilai kategorikal atau hasil diskretisasi.


Ringkasan

Decision table menggunakan:

8 objek
3 condition attributes
1 decision attribute

Condition:

IPK
Penghasilan
Tanggungan

Dengan IPK saja:

\[ POS_{IPK}(D)=5 \]
\[ \gamma_{IPK}(D)=\frac58=0.625 \]

Seluruh atribut:

\[ \gamma_C(D)=1 \]

Kombinasi:

\[ \{ IPK,Tanggungan \} \]

juga menghasilkan:

\[ \gamma=1 \]

Maka reduct:

\[ \boxed{ \{ IPK,Tanggungan \} } \]

Core:

\[ \boxed{ \{ IPK,Tanggungan \} } \]

Penghasilan dapat direduksi pada data contoh.

Dari reduct tersebut diperoleh enam decision rule yang dapat digunakan untuk mengklasifikasikan keputusan:

Layak
atau
Tidak

FAQ Rough Set

Apa itu Rough Set?

Rough Set adalah metode untuk menganalisis ketidakpastian data melalui equivalence class, approximation, dan reduksi atribut.

Siapa yang memperkenalkan Rough Set?

Rough Set diperkenalkan oleh Zdzisław Pawlak.

Apakah Rough Set termasuk data mining?

Ya. Rough Set banyak digunakan untuk attribute reduction, rule extraction, dan klasifikasi.

Apa itu indiscernibility relation?

Hubungan antarobjek yang mempunyai nilai sama pada sekumpulan atribut tertentu.

Apa itu lower approximation?

Kumpulan objek yang pasti termasuk sebuah konsep.

Apa itu upper approximation?

Kumpulan objek yang mungkin termasuk sebuah konsep.

Apa itu boundary region?

Selisih antara upper approximation dan lower approximation.

Apa itu positive region?

Kumpulan objek yang dapat diklasifikasikan secara pasti berdasarkan condition attribute tertentu.

Apa itu dependency degree?

Ukuran kemampuan sekumpulan condition attribute dalam menentukan decision attribute.

Apa itu reduct?

Subset condition attribute minimum yang tetap mempertahankan kemampuan klasifikasi dari atribut lengkap.

Apa itu core?

Atribut yang terdapat pada seluruh reduct.

Apakah Rough Set membutuhkan fungsi membership?

Tidak. Hal ini berbeda dari fuzzy set.

Apakah Rough Set membutuhkan data training?

Rough Set membutuhkan decision table atau data berlabel yang menjadi dasar pembentukan equivalence class dan decision rule.

Apakah data numerik bisa digunakan?

Bisa, tetapi sering dilakukan diskretisasi agar nilai numerik berubah menjadi interval atau kategori.

Apakah satu dataset dapat memiliki lebih dari satu reduct?

Bisa. Sebuah decision system dapat mempunyai beberapa reduct yang berbeda tetapi mempunyai kemampuan klasifikasi yang sama.


Referensi

  1. Pawlak, Z. (1982). Rough Sets. International Journal of Computer & Information Sciences, 11, 341–356.
  2. Pawlak, Z. (1991). Rough Sets: Theoretical Aspects of Reasoning about Data. Kluwer Academic Publishers.
  3. Komorowski, J., Pawlak, Z., Polkowski, L., & Skowron, A. (1999). Rough Sets: A Tutorial. In Rough Fuzzy Hybridization: A New Trend in Decision-Making. Springer.

Source Code Rough Set

Berikut source code yang menggunakan metode Rough Set 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.

Komentar

Belum ada komentar.

Tulis Komentar

Komentar pengunjung diperiksa sebelum ditampilkan.