PENDAHULUAN
Latar Belakang
Organisasi Kesehatan Dunia (WHO) memperkirakan, bahwa 177 juta penduduk dunia mengidap penyakit diabetes melitus atau biasa disingkat diabetes. Jumlah ini akan terus meningkat hingga melebihi 300 juta pada tahun 2025. Dr Paul Zimmet, direktur dari International Diabetes Institute (IDI) di Victoria, Australia, meramalkan bahwa diabetes akan menjadi epidemi yang paling dahsyat dalam sejarah manusia. Hasil survey
Organisasi Kesehatan Dunia (WHO) juga menyatakan bahwa jumlah penderita kencing manis (diabetes mellitus) di Indonesia sekitar 17 juta orang (8,6% dari jumlah penduduk) atau menduduki urutan terbesar ke-4 setelah India, Cina dan Amerika Serikat.
Perkembangan yang cepat dalam teknologi pengumpulan dan penyimpanan data telah memudahkan suatu organisasi untuk mengumpulkan sejumlah data berukuran besar. Kondisi ini terjadi pada sebuah rumah sakit yang mempunyai beribu-ribu record data pasien dan jenis penyakitnya, misalnya kumpulan data diabetes yang terkait dengan hasil pemeriksaan laboratorium dari pasien rumah sakit. Data berukuran besar tersebut seringkali dibiarkan menggunung tanpa digunakan secara maksimal. Hal ini disebabkan keterbatasan pengguna komputer untuk mengolah data tersebut menjadi sebuah informasi yang berguna. Padahal jika dianalisis lebih dalam akan menghasilkan informasi atau pengetahuan yang penting dan berharga sebagai penunjang pengambilan keputusan.
Data mining merupakan proses ekstraksi informasi atau pola penting dalam basis data berukuran besar (Han & Kamber 2001). Pada penelitian ini akan diterapkan salah satu teknik dalam data mining, yaitu klasifikasi terhadap data diabetes. Klasifikasi merupakan salah satu metode dalam data mining untuk mengetahui label kelas dari suatu record
dalam data. Metode yang digunakan dalam penelitian ini yaitu metode klasifikasi dengan
fuzzy decision tree. Penggunaan teknik fuzzy
memungkinkan dilakukan penentuan suatu objek yang dimiliki oleh lebih dari satu kelas. Dengan menerapkan teknik data mining pada data diabetes diharapkan dapat ditemukan aturan klasifikasi yang dapat digunakan untuk mengetahui potensi seseorang terserang penyakit diabetes.
Tujuan Penelitian
Tujuan dari penelitian ini adalah :
1. Menerapkan salah satu teknik data mining
yaitu klasifikasi menggunakan metode
fuzzy decision tree.
2. Menemukan aturan klasifikasi pada data diabetes yang menjelaskan dan membedakan kelas-kelas atau konsep sehingga dapat digunakan untuk mengetahui potensi penyakit diabetes berdasarkan nilai dari atribut lain yang diketahui.
3. Membangun aplikasi sederhana untuk membuat model atau aturan-aturan klasifikasi.
Ruang Lingkup Penelitian
Ruang lingkup penelitian dibatasi pada: 1. Membangun sebuah model untuk
mengetahui potensi pasien terserang diabetes menggunakan data pemeriksaan lab pasien dari sebuah rumah sakit yang meliputi pemeriksaan GLUN (Glukosa Darah Puasa), GPOST (Glukosa Darah 2 Jam Pasca Puasa), Tg (Trigliserida), HDL (Kolesterol HDL), serta diagnosa pasien berdasarkan nilai GLUN, GPOST, HDL, dan TG.
2. Teknik yang digunakan adalah salah satu teknik dalam data mining yaitu teknik klasifikasi dengan menggunakan metode
decision tree. Untuk menangani ketidakpastian dan ketidaktepatan, pendekatan fuzzy digunakan.
3. Penelitian dilakukan dengan mengimplementasikan salah satu teknik
fuzzy decision tree yaitu Fuzzy ID3 (Iterative Dichotomiser 3) Decision Tree
pada data hasil pemeriksaan lab pasien. Manfaat Penelitian
Model yang dihasilkan pada penelitian ini diharapkan dapat digunakan oleh pihak yang berkepentingan untuk mengetahui potensi seseorang atau pasien terserang penyakit diabetes, sehingga terjadinya penyakit ini pada seseorang dapat diketahui sedini mungkin dan dapat dilakukan tindakan antisipasi.
TINJAUAN PUSTAKA
Knowledge Data Discovery (KDD)
merupakan sebuah proses yang terdiri dari serangkaian proses iteratif yang terurut dan
data mining merupakan salah satu langkah dalam KDD (Han & Kamber 2001). Pada Gambar 1 dapat dilihat tahapan proses KDD secara berurut. Tahapan proses KDD menurut Han & Kamber (2001), yaitu :
1. Pembersihan data
Pembersihan terhadap data dilakukan untuk menghilangkan data yang tidak konsisten atau data yang mengandung
noise. 2. Integrasi data
Proses integrasi data dilakukan untuk menggabungkan data dari berbagai sumber.
3. Seleksi data
Proses seleksi data mengambil data yang relevan digunakan untuk proses analisis. 4. Transformasi data
Proses mentransformasikan atau menggabungkan data ke dalam bentuk yang tepat untuk dimining.
5. Data mining
Data mining merupakan proses yang penting dimana metode-metode cerdas diaplikasikan untuk mengekstrak pola-pola dalam data.
6. Evaluasi pola
Evaluasi pola diperlukan untuk mengidentifikasi beberapa pola-pola yang menarik yang merepresentasikan pengetahuan.
7. Presentasi pengetahuan
Penggunaan visualisasi dan teknik representasi untuk menunjukkan pengetahuan hasil peggalian gunung data kepada pengguna.
Gambar 1 Tahapan proses KDD (Han & Kamber 2001)
Data Mining
Data mining merupakan proses ekstraksi informasi data berukuran besar (Han dan Kamber 2001). Data mining merupakan
keseluruhan proses mengaplikasikan komputer dan bermacam-macam teknik untuk menemukan informasi dari sekumpulan data. Dari sudut pandang analisis data, data mining
dapat diklasifikasi menjadi dua kategori, yaitu
descriptive data mining dan predictive data mining. Descriptive data mining menjelaskan sekumpulan data dalam cara yang lebih ringkas. Ringkasan tersebut menjelaskan sifat-sifat yang menarik dari data. Predictive data mining menganalisis data dengan tujuan mengkonstruksi satu atau sekumpulan model dan melakukan prediksi perilaku dari kumpulan data yang baru. Aplikasi data mining telah banyak diterapkan pada berbagai bidang, seperti analisis pasar dan manajemen, analisis perusahaan dan manajemen resiko, telekomunikasi, asuransi dan keuangan. Klasifikasi
Klasifikasi adalah proses menemukan model (fungsi) yang menjelaskan dan membedakan kelas-kelas atau konsep, dengan tujuan agar model yang diperoleh dapat digunakan untuk mengetahui kelas atau objek yang memiliki label kelas yang tidak diketahui. Klasifikasi termasuk ke dalam kategori predictive data mining. Model yang diturunkan didasarkan pada analisis dari
training data. Teknik klasifikasi adalah pendekatan sistematis untuk pembuatan model klasifikasi (classifier) dari sebuah data set input.
Proses klasifikasi dibagi menjadi dua fase, yaitu learning dan testing (Han & Kamber 2001). Pada fase learning, sebagian data yang telah diketahui kelas datanya (training set) digunakan untuk membentuk model. Selanjutnya pada fase testing, model yang sudah terbentuk diuji dengan sebagian data lainnya (test set) untuk mengetahui akurasi dari model tersebut. Jika akurasinya mencukupi maka model tersebut dapat dipakai untuk prediksi kelas data yang belum diketahui.
Himpunan Fuzzy
Konsep logika fuzzy pertama kali diperkenalkan oleh Prof. Lotfi A. Zadeh dari Universitas California pada bulan Juni 1965. Logika fuzzy merupakan generalisasi dari logika klasik yang hanya memiliki dua nilai keanggotaan 0 dan 1. Dalam logika fuzzy nilai kebenaran suatu pernyataan berkisar dari sepenuhnya benar ke sepenuhnya salah. Inti dari himpunan fuzzy yaitu fungsi keanggotaan yang menggambarkan hubungan antara Data Cleaning
Data Integration
Databases Data
Warehouse
Task-relevant Data
Selection and Transformation
Data mining
domain himpunan fuzzy dengan nilai derajat keanggotaan. Dengan teori himpunan fuzzy
suatu objek dapat menjadi anggota dari banyak himpunan dengan derajat keanggotaan yang berbeda dalam masing-masing himpunan. Derajat keanggotaan menunjukkan nilai keanggotaan suatu objek pada suatu himpunan. Nilai keanggotaan ini berkisar antara 0 sampai 1 (Cox 2005).
Linguistic Variable (Peubah Linguistik)
Linguistic variable merupakan peubah verbal yang dapat digunakan untuk memodelkan pemikiran manusia yang diekspresikan dalam bentuk himpunan fuzzy. Peubah linguistik dikarakterisasi oleh
quintaple (x, T(x), X, G, M) dengan x adalah nama peubah, T(x) adalah kumpulan dari
linguistic term, G adalah aturan sintaks, M adalah aturan semantik yang bersesuaian dengan setiap nilai peubah linguistik. Sebagai contoh, jika umur diinterpretasikan sebagai peubah linguistik, maka himpunan dari
linguistic term T(umur) menjadi : T(umur) = {sangat muda, muda, tua} Setiap term dalam T(umur) dikarakterisasi oleh himpunan fuzzy, X menunjukkan nilai interval x. Aturan semantik menunjukkan fungsi keanggotaan dari setiap nilai pada himpunan linguistic term (Cox 2005).
Linguistic Term
Linguistic term didefinisikan sebagai kumpulan himpunan fuzzy yang didasarkan pada fungsi keanggotaan yang bersesuaian dengan peubah linguistik (Au & Chan 2001).
Jika D kumpulan dari record yang terdiri
dari kumpulan atribut ,
dengan . Atribut I dapat berupa atribut numerik atau kategorikal. Untuk setiap
recordd elemen D, menotasikan nilai i
dalam recordd untuk atribut . Kumpulan
linguistic term dapat didefinisikan pada seluruh domain dari atribut kuantitatif. ,
menotasikan linguistic term yang berasosiasi dengan atribut , sehingga himpunan fuzzy dapat didefinisikan untuk setiap .
Derajat keanggotaan dari nilai
dengan beberapa linguistic term Lvr
dinotasikan oleh
)
Fuzzy Decision Tree (FDT)
Decisiontree merupakan suatu pendekatan yang sangat populer dan praktis dalam
machine learning untuk menyelesaikan permasalahan klasifikasi. Metode ini digunakan untuk memperkirakan nilai diskret dari fungsi target, yang mana fungsi pembelajaran direpresentasikan oleh sebuah
decision tree (Liang 2005).
Decision tree sama dengan satu himpunan aturan IF…THEN. Setiap path dalam tree
dihubungkan dengan sebuah aturan, yang mana premis terdiri dari sekumpulan node
-node yang ditemui, dan kesimpulan dari aturan terdiri dari kelas yang terhubung dengan leaf dari path (Marsala 1998).
Dalam pohon keputusan, leaf node
diberikan sebuah label kelas. Non-terminal node, yang terdiri dari root dan internal node
lainnya, mengandung kondisi-kondisi uji atribut untuk memisahkan record yang memiliki karakteristik yang berbeda. Edge-edge dapat dilabelkan dengan nilai-nilai
numeric-symbolic. Sebuah atribut numeric
-symbolic adalah sebuah atribut yang dapat bernilai numeric ataupun symbolic yang dihubungkan dengan sebuah variabel kuantitatif. Sebagai contoh, ukuran seseorang dapat dituliskan sebagai atribut numeric-symbolic: dengan nilai kuantitatif, dituliskan dengan “1,72 meter”, ataupun sebagai nilai
numeric-symbolic seperti “tinggi” yang berkaitan dengan suatu ukuran (size). Nilai-nilai seperti inilah yang menyebabkan perluasan dari decision tree menjadi fuzzy decision tree (Yuan dan Shaw 1995). Penggunaan teknik fuzzy memungkinkan untuk mengetahui suatu objek yang dimiliki oleh lebih dari satu kelas.
Fuzzy decision tree memungkinkan untuk menggunakan nilai-nilai numeric-symbolic
dari teori himpunan fuzzy dalam decision tree
ialah meningkatkan kemampuan dalam memahami decision tree ketika digunakan atribut-atribut kuantitatif. Bahkan, penggunaan teknik fuzzy dapat meningkatkan ketahanan saat melakukan klasifikasi kasus-kasus baru (Marsala 1998).
Fuzzy ID3 Decision Tree
Algoritma ID3 (Iterative Dichotomiser 3) pertama kali diperkenalkan oleh Quinlan. Algoritma ini menggunakan teori informasi untuk menentukan atribut mana yang paling informatif, namun ID3 sangat tidak stabil dalam melakukan penggolongan berkenaan dengan gangguan kecil pada data pelatihan. Logika fuzzy dapat memberikan suatu peningkatan dalam melakukan penggolongan pada saat pelatihan (Liang 2005).
Algoritma fuzzy ID3 merupakan algoritma yang efisien untuk membuat suatu fuzzy decision tree. Algoritma fuzzy ID3 adalah sebagai berikut (Liang 2005):
1. Create a Root node that has a set of fuzzy data with membership value 1.
2. If a node t with a fuzzy set of data D satisfies the following conditions, then it is a leaf node and assigned by the class name.
• The proportion of class Ck is
• there are no attributes for more classifications
3. If a node D does no satisfy the above conditions, then it is not a leaf-node. And an new sub-node is generated as follow:
• For Ai’s (i=1,…,L) calculate
the information gain, and select the test attribute Amax
that maximizes them.
• Devide D into fuzzy subset
D1,…,Dm according to Amax, where
the membership value of the data in Dj is the product of
that connect between the nodes tjand t.
• Replace D by Dj (j=1,2,…,m) and
repeat from 2 recursively.
FuzzyEntropy dan Information Gain
Information gain adalah suatu nilai statistik yang digunakan untuk memilih atribut yang akan mengekspansi tree dan menghasilkan node baru pada algoritma ID3. Suatu entropy dipergunakan untuk mendefinisikan nilai information gain.
Entropy dirumuskan sebagai berikut: ) Terdapat 2 kasus kasus khusus yang terjadi pada klasifikasi boolean, yang pertama adalah jika semua anggota dari himpunan S memiliki tipe yang sama, maka nilai entropy adalah 0 (nol). Hal ini berarti tidak terjadi ketidakpastian klasifikasi.
0
Kedua, jika jumlah contoh positif sama dengan jumlah contoh negatif, maka nilai
entropy adalah 1 (satu), hal ini menandakan terjadi ketidakpastian klasifikasi maksimum.
1
Untuk melakukan perluasan atribut, yang didasarkan pada data dari himpunan contoh, terlebih dahulu harus didefinisikan ukuran standar information gain. Information gain
digunakan sebagai ukuran seleksi atribut, yang merupakan hasil pengurangan entropy
dari himpunan contoh setelah membagi ukuran himpunan contoh dengan jumlah atributnya. Information gain untuk atribut A
didefinisikan sebagai berikut:
∑
adalah rasio dari data dengan atribut v pada himpunan contoh.
entropy untuk atribut dan information gain
karena adanya ekspresi data fuzzy. Berikut adalah persamaan untuk mencari nilai fuzzy entropy dari keseluruhan data:
) ( log * )
( )
( 2 i
N i i s
f S H S P P
H = =
∑
− (4)Untuk menentukan fuzzy entropy dan
information gain dari suatu atribut A pada algoritma fuzzy ID3 (FID3) digunakan persamaan sebagai berikut:
S S
A S H
N j ij C
i N j ij f =−
∑ ∑
=∑
µ µ
2 1 log
) ,
( (5)
) , ( * | |
| | )
( )
( H S A
S S S
H S
G f v
N A v
v f
f = −
∑
⊆ (6)dengan µij adalah nilai keanggotaan dari pola
ke-j untuk kelas ke-i. Hf(S) menunjukkan
entropy dari himpunan S dari data pelatihan pada node. |Sv| adalah ukuran dari subset Sv
S dari data pelatihan xjdengan atribut v. |S|
menunjukkan ukuran dari himpunan S (Liang 2005).
⊆
Threshold
Jika proses learning dari FDT dihentikan sampai semua data contoh pada masing-masing leaf-node menjadi anggota sebuah kelas, akan dihasilkan akurasi yang rendah. Oleh karena itu untuk meningkatkan akurasinya, proses learning harus dihentikan lebih awal atau melakukan pemangkasan tree
secara umum (Liang 2005). Untuk itu diberikan 2 (dua) buah threshold yang harus terpenuhi jika tree akan diekspansi, yaitu:
• Fuzziness control threshold (FCT) / θr
Jika proporsi himpunan data dari kelas Ck
lebih besar atau sama dengan nilai
threshold θr, maka ekspansi tree
dihentikan. Sebagai contoh: jika diberikan θr adalah 85%, pada sebuah
sub-dataset rasio dari kelas 1 adalah 90% dan kelas 2 adalah 10%, maka ekspansi
tree dihentikan.
• Leaf decision threshold (LDT) / θn
Jika banyaknya anggota himpunan data pada suatu node lebih kecil dari threshold θn, maka ekspansi tree dihentikan.
Sebagai contoh: sebuah himpunan data memiliki 600 contoh dengan θn adalah
2%. Jika jumlah data contoh pada sebuah node lebih kecil dari 12 (2% dari 600), maka ekspansi tree dihentikan.
K-fold Cross Validation
K-fold cross validation dilakukan untuk membagi training set dan test set. K-fold cross validation mengulang k-kali untuk membagi sebuah himpunan contoh secara acak menjadi k subset yang saling bebas, setiap ulangan disisakan satu subset untuk pengujian dan subset lainnya untuk pelatihan (Fu 1994). Pada metode tersebut, data awal dibagi menjadi k subset atau “fold” yang saling bebas secara acak, yaitu S1,S2,…,Sk,
dengan ukuran setiap subset kira-kira sama. Pelatihan dan pengujian dilakukan sebanyak k
kali. Pada iterasi ke-i, subset Si diperlukan
sebagai data pengujian dan subset lainnya diperlukan sebagai data pelatihan. Pada iterasi pertama S2,...,Sk menjadi data pelatihan dan S1
menjadi data pengujian; pada iterasi kedua S1,S3,...,Sk menjadi data pelatihan dan S2
menjadi data pengujian dan seterusnya. Sistem Inferensi Fuzzy
Sistem inferensi fuzzy adalah suatu
framework yang didasarkan pada konsep himpunan fuzzy, fuzzy if-then rules, dan fuzzy reasoning. FIS dapat menerima input berupa bilangan crisp atau bilangan fuzzy, tapi
outputnya hampir semua berupa himpunan
fuzzy. Pada sistem inferensi fuzzy yang
outputnya berupa nilai crisp dibutuhkan metode defuzzifikasi untuk menghasilkan nilai crisp dari suatu himpunan fuzzy. Salah satu metode inferensi fuzzy yang paling umum digunakan adalah metode inferensi Mamdani (Ormos 2004).
METODE PENELITIAN
Proses dasar sistem mengacu pada proses dalam Knowledge Discovery in Database
(KDD). Proses tersebut dapat diuraikan sebagai berikut :
a. Pembersihan data, membuang data dengan nilai yang hilang dan data yang duplikat. b. Transformasi data, proses transformasi
data ke bentuk yang dapat di-mining. Sebelum di-mining, data diabetes diubah ke dalam bentuk data fuzzy.
c. Data dibagi menjadi training set dan test set dengan menggunakan metode k-fold cross validation