You are on page 1of 63

Nama : Nuriyadi

MIM : 10751000260
Jur/Lok : TIF/ VI D
B.study : Data mining

1. Iterative Dichotomiser 3 (ID3)


Algoritma ID3
Iterative Dichotomiser 3 (ID3) merupakan sebuah metode yang
digunakan untuk membangkitkan pohon keputusan. Algoritma pada
metode ini berbasis pada Occam’s razor: lebih memilih pohon keputusan
yang lebih kecil (teori sederhana) dibanding yang lebih besar. Tetapi tidak
dapat selalu menghasilkan pohon keputusan yang paling kecil dan
karena itu occam’s razor bersifat heuristik. Occam’s razor diformalisasi
menggunakan konsep dari entropi informasi. Berikut algoritma dari ID3,

Input : sampel training, label training, atribut


• Membuat simpul akar untuk pohon yang dibuat
• Jika semua sampel positif, berhenti dengan suatu pohon dengan satu
simpul akar, beri label (+)
• Jika semua sampel negatif, berhenti dengan suatu pohon dengan satu
simpul akar beri label (-)
• Jika atribut kosong, berhenti dengan suatu pohon dengan satu simpul
akar, dengan label sesuai nilai yang terbanyak yang ada pada label
training
• Untuk yang lain, Mulai
- A atribut yang mengklasifikasikan sampel dengan hasil terbaik
(berdasarkan gain ratio)
- Atribut keputusan untuk simpul akar A
- Untuk setiap nilai, vi, yang mungkin untuk A,
o Tambahkan cabang dibawah akar yang berhubungan dengan A =vi
o Tentukan sampel Svi sebagai subset dari sampel yang mempunyai
nilai vi untuk atribut A
o Jika sampel Svi kosong,
- Dibawah cabang tambahkan simpul daun dengan label = nilai
yang terbanyak yang ada pada label training
- Yang lain, tambah cabang baru dibawah cabang yang
sekarang
- C4.5(sampel training, label training, atribut-[A])
• Berhenti

Permasalahan
Berdasarkan latar belakang diatas salah satu pokok permasalahan yang
diangkat adalah memperoleh pengetahuan dan mengidentifikasi mahasisiwa
baru yang akan diterima disebuah universitas sehingga akan memberikan
kemudahan bagi pihak universitas untuk menentukan siapa saja yang berhak
masuk atau diterima berdasarkan kriteria tertentu dalam hal ini nilai SPMB,
nilai UAN (Ujian Akhir Nasional) dan nilai psikotest. Metode atau cara
yang digunakan adalah membentuk pohon keputusan dengan algoritma
Iterative Dichotomicer 3 (ID3).

Entropy dan Information Gain


Sebuah obyek yang diklasifikasikan dalam pohon harus dites nilai
entropinya. Entropy adalah ukuran dari teori informasi yang dapat
mengetahui karakteristik dari impuryt ,dan homogenity dari kumpulan data.
Dari nilai entropy tersebut kemudian dihitung nilai information gain (IG)
masing-masing atribut.
Entropy(S) = -p+log2p+-p-log2p-
dimana :
S adalah ruang (data) sample yang digunakan untuk training.
P+ adalah jumlah yang bersolusi positif (mendukung) pada data sample
untuk kriteria tertentu.
P+ adalah jumlah yang bersolusi negatif (tidak mendukung) pada data
sample untuk kriteria tertentu.
Dari rumus entropy diatas dapat disimpulkan bahwa definisi entropy adalah,
entropy (S) adalah jumlah bit yang diperkirakan dibutuhkan untuk dapat
mengekstrak suatu kelas (+ atau -) dari sejumlah data acak pada suatu ruang
sampel S. Entropy bisa dikatakan sebagai kebutuhan bit untuk menyatakan
suatu kelas. Semakin kecil nilai entropy maka semakin baik digunakan dalam
mengekstraksi suatu kelas. Panjang kode untuk menyatakan informasi secara
optimal adalah –log2p bits untuk messages yang mempunyai probabilitas p.
Sehingga jumlah bit yang diperkirakan untuk mengekstraksi S ke dalam
kelas adalah : - p+log2 p+ - p- log2 p-
Information Gain
setelah mendapat nilai entropy untuk suatu kumpulan data, maka kita dapat
mengukur efektivitas suatu atribut dalam mengklasifikasikan data. Ukuran
efektifitas ini disebut information gain. Secara matematis, infomation gain
dari suatu atribut A,dituliskan sebagai berikut :
Gain(S,A) = Entropy(S) – Entropy(Sv),
dimana :
A : atribut
V : menyatakan suatu nilai yang mungkin untuk atribut A
Values(A) : himpunan yang mungkin untuk atribut A

|Sv| : jumlah sampel untuk nilai v


|S| : jumlah seluruh sampel data
Entropy(Sv): entropy untuk sampel-sampel yang memilki nilai v
METODE
a. Mencari sampel data yang akan digunakan untuk melaksanakan proses
transformasi menjadi pengetahuan
b. Menghitng nilai entropy dan information gain untuk menentukan the best
classifier
c. Melakukan konstruksi pohon keputusan
d. Lakukan operasi conjunction ( ^ ) pada setiap simpul yang dikunjungi
sampai ditemukan leaf node.
PEMBAHASAN
DESKRIPSI PERMASALAHAN
Data penerimaan Mahasiswa
Terdapat 11 orang mahasiswa yang mengikuti seleksi penerimaan mahasiswa
baru (SPMB) dengan memperhatikan 3 parameter / atribut penilaian
Tiga parameter / atribut :
1. Nilai SPMB dikelompokkan dalam 3 kategori (Tinggi, sedang, Rendah )

2. UAN dikelompokkan dalam 3 kategori ( bagus, cukup, kurang )

3. Psikotest dikelompokkan dalam 2 kategori ( baik dan buruk)

Untuk data yang lengkap seharusnya terdapat 3 x 3 x 2 = 18 kombinasi


sampel data, tetapi dalam tabel kombinasi dibawah hanya terdapat 11 sampel
data artinya masih ada 7 sampel data lain yang belum diketahui. Contoh : [
nilai SPMB „Tinggi” UAN „Kurang” Psikotest „Buruk” ]. Kita tidak bisa
menetukan peserta SPMB tersebut diterima atau tidak.
Dengan Decision Tree menggunakan algoritma ID3 aturan atau data yang
belum diketahui bisa kita temukan sehingga kita bisa menentukan seoarang
peserta tes diterima atau tidak.
pada data penerimaan mahasiswa, jumlah kelas adalah 2, yaitu : „ya” dan
„tidak” (c = 2 ).
Jumlah sampel kelas 1 („ya”) adalah 8 dan jumlah sampel untuk kelas 2
(„tidak) adalah 3 . jadi p1 = 8 dan p2 = 3. Dengan demikian entropy untuk
kumpulan sampel data S adalah :
Entropy (S) = - ( 8/11) log2 ( 8/11) – (3/11) log2 (3/11)
= 0,8454
Dari table missal atribut Diterima=“ya” merupakan sampel (+), dan atribut
Diterima=“Tidak” merupakan sampel (-) , dari sampel data pada table
didapat :
Values (nil.SPMB) = Tinggi, Sedang, Rendah
S = [ 8+ , 3- ] , | S | = 11
STinggi = [ 3+ , 1- ] , | STinggi | = 4
Ssedang = [ 3+ , 1- ] , | Ssedang | = 4
SRendah = [ 2+, 1- ] , | SRendah | = 3
Hitung entropy STinggi , Ssedang , SRendah dan Information Gain Untuk
nilai SPMB adalah :
Entropy (S) = 0,8454
Entropy (STinggi) = (-3/4) log2 (3/4) - (1/4) log2 (1/4) = 0,8113
Entropy (Ssedang ) = (-3/4) log2 (3/4) - (1/4) log2 (1/4) = 0,8113
Entropy (SRendah) = (-2/3) log2 (2/3) - (1/3) log2 (1/3) = 0,9183
Information Gain (S, Nil.SPMB)

=Entropy(S)–
= 0,8454 – (4/11)0,8113 – (3/11) 0,9183
= 0,8454 – 0,2950 – 0,2950 – 0,25044
= 0,0049
Values( UAN) = Bagus, Cukup, Kurang
SBagus = [ 3+, 0- ] , | SBagus | = 3
SCukup = [ 4+, 1- ] , | SCukup | = 5
SKurang = [ 1+, 2- ] , | SKurang | = 3
Entropy (SBagus) = (-3/3) log2 (3/3) - (0/3) log2 (0/3)
=0
menunjukkan entropy minimum karena jumlah sampel pada salah satu kelas
adalah = 0 (keberagaman data minimum).
Entropy (SCukup) = (-4/5) log2 (4/5) - (1/5) log2 (1/5) = 0,72192
Entropy (SKurang) = (-1/3) log2 (1/3) - (2/3) log2 (2/3) = 0,91829
IG (S, UAN) = Entropy ( S) –
= 0,8454 – 0 – (5/11) 0,7219 – (3/11) 0,9183
= 0,8454 – 0,32814 – 0,25044
= 0,26682
SBaik = [ 6+, 0- ] , | SBaik | = 6
SBuruk = [ 2+, 3- ] , | SBuruk | = 5
Entropy (SBaik) = (-6/6) log2 (6/6) – (0/6) log2 (0/0)
= 0 ( kebergaman data minimum )
Entropy (SBuruk) = (-2/5) log2 (2/5) – (3/5) log2 (3/5)
= 0,97094
IG ( S, Psikotest ) = 0,8454 – 0 – (5/11) 0,97094
= 0,8454 – 0,44134
= 0,40406
Dari perhitugan diatas didapat nilai Information Gain dari ketiga atribut (
Nil.SPMB, UAN, dan Psikotest )
IG ( S, Nil.SPMB) = 0,0049
IG ( S, UAN) = 0,26682
IG ( S, Psikotest) = 0,40406
Dari ketiga nilai Information Gain diatas Gain ( S, Psikotest ) adalah yang
terbesar sehingga atribut Psikotest merupakan the best classifier dan harus
diletakkan sebagai root.
Rekursi Level O iterasi ke-1

Memanggil fungsi ID3 dengan kumpulan sampel berupa semua sampel data
= [ 8+ , 3- ];
Atribut target = „Diterima” dan kumpulan atribut [nil.SPMB, UAN,
Psikotest]
Hitung entropy dan Information Gain untuk menentukan the best classifier
dan meletakkannya sebagai root.
Dari penjelasan sebelumnya didapat nilai Information Gain (S, Psikotest )
sebgai the best classifier karena IG nya terbesar. Setelah mendapat the best
classifier langkah selanjutnya adalah setiap nilai pada atribut Psikotest akan
di cek apakah perlu dibuat subtree di level berikutnya atau tidak.. atribut
Psikotest, ada 2 sampel ( baik dan buruk ). Untuk nilai „Baik” terdapat 6
sampel, berarti sampel baik tidak kosong. Sehingga perlu memanggil fungsi
ID3 dengan kumpulan sampel berupa sampel baik = [6+, 0-] , atribut target
=“Diterima” dan kumpulan atribut ={ nil.SPMB, Psikotest }
Rekursi level 1 iterasi ke 1
Memanggil fungsi ID3 dengan kumpulan sampel berupa sampel baik [6+, 0-]
atribut target = „Diterima” dan kumpulan atribut (nil.SPMB, UAN). Semua
sampel baik termasuk dalam kelas “ya” maka fungsi ini akan berhenti dan
mengembalikan satu simpul tunggal Root dengan label „ya” .
Rekursi level 0 , Itersi ke 2

Pada proses rekursi level 0 , iterasi ke 1, sudah dilakukan pengecekan untuk


atribut „Psikotest” dengan nilai „baik”. Untuk nilai „buruk”, terdapat 5
sampel, berarti Sampelburuk tidak kosong. Sehingga, perlu memanggil
fungsi ID3 dengan kumpulan sampel berupa Sampelburuk = [ 2+, 3- ],
AtributTarget =“Diterima”, dan KumpulanAtribut = { nil.SPMB, UAN }.
Rekursi level 1 iterasi ke 2

Memanggil fungsi ID3 dengan kumpulan sampel berupa Sampelburuk = [2+,


3-], AtributTarget = „Diterima”, dan KumpulanAtribut = { nil.SPMB,
Psikotest }. Pada tahap ini dilakukan perhitungan information gain untuk
atribut nil.SPMB dan UAN . tetapi kumpulan sampel yang diperhitungkan
adalah Sampelburuk dengan 5 sampel data, yaitu [ 2+ , 3- ]. Dengan kata lain
S = Sampelburuk.
Value (nil.SPMB) = Tinggi, Sedang, rendah
S = Sampelburuk = [2+, 3- ] , | S | = 5
STinggi = [1+, 1-] , | STinggi | = 2
SSedang = [1+, 1-] , | SSedang | = 2
SRendah = [0+, 1-] , | SRendah | = 1
Hitung nilai entropy untuk S, STinggi , SSedang , SRendah dan Information
Gain untuk nil.SPMB adalah :
Entropy (S) = - ( 2/5) log2 (2/5) – (3/5) log2 (3/5
= 0,9710
Entropy (STinggi) = - (1/2) log2 (1/2) – (1/2) log2 (1/2)
=1
Entropy (SSedang) = - (1/2) log2 (1/2) – (1/2) log2 (1/2)
=1
Entropy (SRendah) = - (0/1) log2 (0/1) – (1/1) log2 (1/1)
=0
Gain (S, nil.SPMB) = Entropy (S) – Entropy (Sv)
= Entropy (S) – (2/5) Entropy (STinggi) – (2/5)Entropy (SSedang) –
(1/5)Entropy (SRendah)
= 0,9710 – (2/5) 1 – (2/5)1 – 0
= 0,1710
Value (UAN) = Bagus, Cukup, Kurang
S = SampleBuruk = [2+, 3-] , | S | = 5, Entropy (S) = 0,9710
SBagus = [ 0+, 0-] , | SBagus | = 0
SCukup = [2+, 1-] , | SCukup | = 3
SKurang = [0+, 2-] , | SKurang | = 2
Entropy (SBagus) = 0
Entropy (SCukup)= - (2/3) log2 (2/3) – (1/3) log2 (1/3)
= 0,9183
Entropy (SKurang) = 0
Gain (S, UAN) = Entropy (S) – Entropy (Sv)
= Entropy (S) – (0/5) Entropy (STinggi) – (3/5)Entropy (SSedang) –
(2/5)Entropy (SRendah)
= 0,9710 – 0 – (3/5) 0,9183 – 0
= 0,4200
Dari kedua nilai Information Gain diatas, Gain (S, UAN) adalah yang
terbesar. Sehingga UAN adalah atribut yang merupakan the best classifier
dan harus diletakkan sebagai simpul dibawah simpul „Psikotest” pada cabang
nilai „buruk”. Selanjutnya, setiap nilai pada atribut UAN akan dicek apakah
perlu dibuat subtree dilevel berikutnya atau tidak. Untuk nilai „bagus” ( pada
kumpulan sample berupa SampleBuruk = [2+, 3-] ) terdapat 0 sample berarti
SampleBagus kosong. Sehingga, perlu dibuat satu simpul daun (leaf
node,simpul yang tidak punya anak dibawahnya).
Dengan label yang paling sering muncul pada SampleBuruk, yaitu „Tidak„.
Kemudian dilakukan pengecekap untuk atribut „UAN” bernilai „Cukup”.
Untuk nilai „Cukup” ( pada kumpulan sample berupa SampleBuruk = [2+, 3-
] ). Terdapat 3 sample, berarti sample „Cukup” tidak kosong. Sehingga perlu
memanggil fungsi ID3 dengan kumpulan Sample berupa SampleCukup =
[2+, 1-] , AtributTarget = „Diterima”. Dan kumpulan Atribut = { nil.SPMB}.
Rekursi level 2 iterasi ke-1

Memanggil fungsi ID3 dengan kumpulan Sample berupa SampleCukup =


[2+, 1-] AtributTarget = „Diterima” , dan KumpulanAtribut = {nil.SPMB}.
karena kumpulan atribut hanya berisi satu atribut { yaitu nil.SPMB } , maka
atribut yang menjadi the best classifier adalah nil.SPMB dan harus
dilettakkan sebagai simpul dibawah simpul „UAN” pada cabang nilai
„Cukup” . selanjutnya setiap nilai pada atribut nilai.SPMB akan dicek
apakah dibuat subtree dilevel berikutnya atau tidak. Untuk nilai „Tinggi” (
pada kumpulan berupa SampleCukup = [2+, 1-] ), terdapat 1 sampel , berarti
SampleTinggi tidak kosong. Sehingga, perlu memanggil fungsi ID3 dengan
kumpulan sample berupa SampleTinggi = [ 1+, 0-] , AtributTarget =
„Diterima” dan kumpulan atribut = {}.
Rekursi level 3 iterasi ke-1

Memanggil fungsi ID3 dengan kumpulan sample berupa SampleTinggi = [


1+, 0-] , AtributTarget = „Diterima” dan kumpulan atribut = {}. Karena
semua sample pada SampleTinggi termasuk dalam kelas „ya” , maka fungsi
ini akan berhenti dan mengembalikan satu simpul tunggal Root dengan label
„ya”.Selanjutnya, proses akan kembali ke rekursi level 2 iterasi ke-2.

Rekursi level 2 iterasi ke-2


Pengecekan atribut nil.SPMB untuk nilai „Tinggi” sudah dilakukan pada
rekursi level 2 itersi ke-1. Selanjutnya, pengecekan dilakukan pada atribut
nil.SPMB untuk nilai „Sedang” . ternyata terdapat 1 sampel pada kumpulan
sampel dimana psikotest bernilai „Buruk” dan UAN bernilai „Cukup” .
karena SampleSedang tidak kosong maka perlu memanggil fungsi ID3
dengan KumpulanSampel berupa SampleSedang = [ 1+, 0- ], AtributTarget =
„Diterima”, dan KumpulanAtribut = {}.

Rekursi level 3 iterasi ke-2


Memanggil fungsi ID3 dengan KumpulanSampel berupa SampleSedang = [
1+, 0- ], AtributTarget = „Diterima”, dan KumpulanAtribut = {}. Karena
sample pada SampleSedang termasuk kedalam kelas „Ya” , maka fungsi ini
akan berhenti dan mengembalikan satu simpul tunggal Root dengan label
„Ya”
Selanjutnya proses akan kembali pada rekursi level 2 iterasi ke-3.

Rekursi level 2 iterasi ke-3


Pada rekursi level 2 iterasi ke-1 dan ke-2, sudah dilakukan pengecekan
atribut nil.SPMB untuk nilai „Tinggi” dan „Sedang”. Selanjutnya,
pengecekan dilakukan pada Atribut nil.SPMB untuk nilai „Rendah”.
Ternyata terdapat 1 sample pada KumpulanSample dimana Psikotest bernilai
„Buruk” dan UAN bernilai „Cukup” . karena SampleRendah tidak kosong,
maka perlu memanggil fungsi ID3 dengan KumpulanSample berupa
SampleRendah = [ 0+, 1-] , AtributTarget = „Diterima”, dan
KumpulanAtribut = {}.

Rekursi level 3 iterasi ke-3


Memanggil fungsi ID3 dengan kumpulanSample berupa SampleKurang = [
0+, 1- ], AtributTarget = „Diterima”, dan kumpulanAtribut = {}. Karena
semua sample pada SampleKurang termasuk dalam kelas „Tidak”, maka
fungsi ini akan berhenti dan mengembalikan satu simpul tunggal Root
dengan label „Tidak”
Rekursi level 1 iterasi ke-3
Pengecekan atribut UAN untuk nilai „Bagus” dan „Cukup” yaitu pada
rekursi level 1 iterasi ke-2. Selanjutnya pengecekan dilakukan pada atribut
UAN untuk nilai „Kurang” . ternyata terdapat 2 sample pada
KumpulanSample dimana Psikotest bernilai ”Buruk” dan UAN bernilai
”Rendah”. Karena SampleRendah tidak kosong sehingga perlu memanggil
fungsi ID3 dengan KumpulanSample berupa SampleRendah = [ 0+, 2- ],
AtributTarget = „Diterima”, dan KumpulanAtribut = { IPK } Selanjutnya
proses akan kembali ke rekursi level 2 iterasi ke-4

Rekursi level 2 iterasi ke-4


Memanggil fungsi ID3 dengan KumpulanSample berupa SampleRendah = [
0+, 2- ], AtributTarget = „Diterima”, dan KumpulanAtribut = { IPK }.
Karena semua sample pada SampleRendah termasuk kedalam kelas „Tidak” ,
maka fungsi ini akan berhenti dan mengembalikan satu simpul tunggal Root
dengan label „Tidak”

Dilihat dari langkah-langkah diatas bahwa ID3 melakukan strategis


pencarian yaitu dimulai dari pohon kosong, kemudian secara progresif
berusaha menemukan sebuah pohon keputusan yang mampu
mengklasifikasikan sampel-sampel data secara akurat tanpa kesalahan. Dan
dari akhir proses ID3 didapat pohon keputusan akhir di dapat 7 sampel data
lain yang belum diketahui sebelumnya, ketujuh sampel itu adalah sebagai
berikut :

Sebelumnya kita melakukan penelusuran mulai dari simpul Root menuju


ketiga leaf node tersebut. Lakukan operasi conjunction ( ^ ) pada setiap
simpul yang dikunjungi sampai ditemukan leaf node ‘Ya’. Kemudian,
lakukan operasi disjunction ( v ) pada penelusuran tersebut. Dengan
demikian 7 sampel yang belum diketahui adalah sebagai berikut :
(Psikotest = ‘Buruk’) ^ (UAN=’Bagus’) ^ (nil.SMB=’Tinggi’) à
Diterima=’Tidak’ (Psikotest = ‘Baik’) ^ (UAN=’Kurang’) ^
(nil.SMB=’Tinggi’) Diterima=’ Ya’
(Psikotest = ‘Buruk’) ^ (UAN=’Bagus’) ^ (nil.SMB=’Sedang’) à
Diterima=’Tidak’
(Psikotest = ‘Baik’) ^ (UAN=’Kurang’) ^ (nil.SMB=’Sedang’) à
Diterima=’ Ya’

(Psikotest = ‘Buruk’) ^ (UAN=’Bagus’) ^ (nil.SMB=’ Rendah’) à


Diterima=’Tidak’
(Psikotest = ‘Baik’) ^ (UAN=’ Cukup’) ^ (nil.SMB=’ Rendah’) à
Diterima=’ Yas’
(Psikotest = ‘Buruk’) ^ (UAN=’ Kurang’) ^ (nil.SMB=’ Rendah’)à
Diterima=’Tidak’
Psikotest
Baik
Psikotest
Baik
Ya Peserta Nil.SPMB UAN Psikotest Diterima
SPMB
P12 Tinggi Bagus Buruk Tidak
P13 Tinggi Kurang Baik Ya
P14 Sedang Bagus Buruk Tidak
P15 Sedang Kurang Baik Ya
P16 Rendah Bagus Buruk Tidak
P17 Rendah Cukup Baik Ya
P18 Rendah Kurang Buruk Tidak
Pohon keputusan akhir yang dihasilkan oleh fungsi ID3.
Dengan demikian 7 sampel yang belum diketahui adalah sebagai berikut :
(Psikotest = ‘Buruk’) ^ (UAN=’Bagus’) ^ (nil.SMB=’Tinggi’)
Diterima=’Tidak’
(Psikotest = ‘Baik’) ^ (UAN=’Kurang’) ^ (nil.SMB=’Tinggi’) à Diterima=’
Ya’
(Psikotest = ‘Buruk’) ^ (UAN=’Bagus’) ^ (nil.SMB=’Sedang’) à
Diterima=’Tidak’
(Psikotest = ‘Baik’) ^ (UAN=’Kurang’) ^ (nil.SMB=’Sedang’) à
Diterima=’ Ya’
(Psikotest = ‘Buruk’) ^ (UAN=’Bagus’) ^ (nil.SMB=’ Rendah’) à
Diterima=’Tidak’
(Psikotest = ‘Baik’) ^ (UAN=’ Cukup’) ^ (nil.SMB=’ Rendah’) à
Diterima=’ Yas’
(Psikotest = ‘Buruk’) ^ (UAN=’ Kurang’) ^ (nil.SMB=’ Rendah’) à
Diterima=’Tidak’

Peserta SPMB Nil. UAN Psiko Di terima


SPMB test

P12 Tinggi Bagus Buruk Tidak


P13 Tinggi Kurang Baik Ya
P14 Sedang Bagus Buruk Tidak
P15 Sedang Kurang Baik Ya
P16 Rendah Bagus Buruk Tidak
P17 Rendah Cukup Baik Ya
P18 Rendah Kurang Buruk Tidak
2. Metode C4.5
ALGORITMA C4.5
Salah satu algoritma induksi pohon keputusan yaitu ID3 (Iterative
Dichotomiser 3). ID3 dikembangkan oleh J. Ross Quinlan. Dalam prosedur
algoritma ID3, input berupa sampel training, label training dan atribut.
Algoritma C4.5 merupakan pengembangan dari ID3. Sedangkan pada
perangkat lunak open source WEKA mempunyai versi sendiri C4.5 yang
dikenal sebagai J48.
Algoritma C4.5
Algoritma C4.5
Input : sampel training, label training, atribut
• Membuat simpul akar untuk pohon yang dibuat
• Jika semua sampel positif, berhenti dengan suatu pohon dengan satu
simpul akar, beri label (+)
• Jika semua sampel negatif, berhenti dengan suatu pohon dengan satu
simpul akar beri label (-)
• Jika atribut kosong, berhenti dengan suatu pohon dengan satu simpul
akar, dengan label sesuai nilai yang terbanyak yang ada pada label
training
• Untuk yang lain, Mulai
- A atribut yang mengklasifikasikan sampel dengan hasil terbaik
(berdasarkan gain ratio)
- Atribut keputusan untuk simpul akar A
- Untuk setiap nilai, vi, yang mungkin untuk A,
o Tambahkan cabang dibawah akar yang berhubungan dengan A =vi
o Tentukan sampel Svi sebagai subset dari sampel yang mempunyai
nilai vi untuk atribut A
o Jika sampel Svi kosong,
- Dibawah cabang tambahkan simpul daun dengan label = nilai
yang terbanyak yang ada pada label training
- Yang lain, tambah cabang baru dibawah cabang yang
sekarang
- C4.5(sampel training, label training, atribut-[A])
• Berhenti

Kasus :
Untuk memudahkan penjelasan mengenai algoritma C4.5 berikut ini
disertakan contoh kasus yang dituangkan dalam Tabel

Dalam kasus yang tertera pada Tabel 3.1, akan dibuat pohon keputusan untuk
menentukan main tenis atau tidak dengan melihat keadaan cuaca, temperatur,
kelembaban dan keadaan angin.
Secara umum algoritma C4.5 untuk membangun pohon keputusan adalah
sebagai berikut:

1. Pilih atribut sebagai akar


2. Buat cabang untuk masing-masing nilai
3. Bagi kasus dalam cabang
4. Ulangi proses untuk masing-masing cabang sampai semua kasus pada
cabang memiliki kelas yang sama.
Untuk memilih atribut sebagai akar, didasarkan pada nilai gain tertinggi dari
atribut-atribut yang ada. Untuk menghitung gain digunakan rumus seperti
tertera dalam Rumus 1 (Craw, S., ---).

Sedangkan penhitungan nilai entropy dapat dilihat pada rumus 2


berikut(Craw, S., ---):

Berikut ini adalah penjelasan lebih rinci mengenai masing-masing langkah


dalam pembentukan pohon keputusan dengan menggunakan algoritma C4.5
untuk menyelesaikan permasalahan pada Tabel 3.1.

1. Menghitung jumlah kasus, jumlah kasus untuk keputusan Yes, jumlah


kasus untuk keputusan No, dan Entropy dari semua kasus dan kasus
yang dibagi berdasarkan atribut OUTLOOK, TEMPERATURE,
HUMIDITY dan WINDY. Setelah itu lakukan penghitungan Gain
untuk masing-masing atribut. Hasil perhitungan ditunjukkan oleh
Tabel
Baris TOTAL kolom Entropy pada Tabel dihitung dengan rumus 2,
sebagai berikut:

Dari hasil pada Tabel 3.2 dapat diketahui bahwa atribut dengan Gain
tertinggi adalah HUMIDITY yaitu sebesar 0.37. Dengan demikian
HUMIDITY dapat menjadi node akar. Ada 2 nilai atribut dari
HUMIDITY yaitu HIGH dan NORMAL. Dari kedua nilai atribut
tersebut, nilai atribut NORMAL sudah mengklasifikasikan kasus menjadi
1 yaitu keputusan-nya Yes, sehingga tidak perlu dilakukan perhitungan
lebih lanjut, tetapi untuk nilai atribut HIGH masih perlu dilakukan
perhitungan lagi. Dari hasil tersebut dapat digambarkan pohon keputusan
sementara-nya tampak seperti Gambar 3.1

1.

2. Menghitung jumlah kasus, jumlah kasus untuk keputusan Yes, jumlah


kasus untuk keputusan No, dan Entropy dari semua kasus dan kasus
yang dibagi berdasarkan atribut OUTLOOK, TEMPERATURE dan
WINDY yang dapat menjadi node akar dari nilai atribut HIGH.
Setelah itu lakukan penghitungan Gain untuk masing-masing atribut.
Hasil perhitungan ditunjukkan oleh Tabel 3.3.
Dari hasil pada Tabel 3.3 dapat diketahui bahwa atribut dengan Gain
tertinggi adalah OUTLOOK yaitu sebesar 0.67. Dengan demikian
OUTLOOK dapat menjadi node cabang dari nilai atribut HIGH. Ada 3
nilai atribut dari OUTLOOK yaitu CLOUDY, RAINY dan SUNNY. Dari
ketiga nilai atribut tersebut, nilai atribut CLOUDY sudah
mengklasifikasikan kasus menjadi 1 yaitu keputusan-nya Yes dan nilai
atribut SUNNY sudah mengklasifikasikan kasus menjadi satu dengan
keputusan No, sehingga tidak perlu dilakukan perhitungan lebih lanjut,
tetapi untuk nilai atribut RAINY masih perlu dilakukan perhitungan lagi.
Pohon keputusan yang terbentuk sampai tahap ini ditunjukkan pada
gambar 3.2 berikut:

3. Menghitung jumlah kasus, jumlah kasus untuk keputusan Yes, jumlah


kasus untuk keputusan No, dan Entropy dari semua kasus dan kasus
yang dibagi berdasarkan atribut TEMPERATURE dan WINDY yang
dapat menjadi node cabang dari nilai atribut RAINY. Setelah itu
lakukan penghitungan Gain untuk masing-masing atribut. Hasil
perhitungan ditunjukkan oleh Tabel 3.4.
Dari hasil pada tabel 3.4 dapat diketahui bahwa atribut dengan Gain tertinggi
adalah WINDY yaitu sebesar 1. Dengan demikian WINDY dapat menjadi
node cabang dari nilai atribut RAINY. Ada 2 nilai atribut dari WINDY yaitu
FALSE dan TRUE. Dari kedua nilai atribut tersebut, nilai atribut FALSE
sudah mengklasifikasikan kasus menjadi 1 yaitu keputusan-nya Yes dan nilai
atribut TRUE sudah mengklasifikasikan kasus menjadi satu dengan
keputusan No, sehingga tidak perlu dilakukan perhitungan lebih lanjut untuk
nilai atribut ini.

Pohon keputusan yang terbentuk sampai tahap ini ditunjukkan pada Gambar
3.3.
Dengan memperhatikan pohon keputusan pada Gambar 3.3, diketahui bahwa
semua kasus sudah masuk dalam kelas. Dengan demikian, pohon keputusan
pada Gambar 3.3 merupakan pohon keputusan terakhir yang terbentuk.

3. Metode C5.0
Algoritme C5.0

Algoritme C5.0 adalah salah satu algoritme yang terdapat dalam


klasifikasi data mining disamping algoritme CART, yang khususnya
diterapkan pada teknik decision tree. C5.0 merupakan penyempurnaan
algoritme terdahulu yang dibentuk oleh Ross Quinlan pada tahun 1987, yaitu
ID3 dan C4.5. Dalam algoritme C5.0, pemilihan atribut yang akan diproses
menggunakan information gain. Secara heuristik akan dipilih atribut yang
menghasilkan simpul yang paling bersih (purest). Kalau dalam cabang suatu
decision tree anggotanya berasal dari satu kelas maka cabang ini disebut
pure. Kriteria yang digunakan adalah information gain. Jadi dalam memilih
atribut untuk memecah obyek dalam beberapa kelas harus kita pilih atribut
yang menghasilkan information gain paling besar.
Ukuran information gain digunakan untuk memilih atribut uji pada setiap
node di dalam tree. Ukuran ini digunakan untuk memilih atribut atau node pada
pohon. Atribut dengan nilai information gain tertinggi akan terpilih sebagai
parent bagi node selanjutnya. Formula untuk information gain adalah
(Kantardzic, 2003):
m

I (s1 , s2 ,...., sm )= pi log 2 ( pi ) (2.1)


i =1

S adalah sebuah himpunan yang terdiri dari s data sampel. Diketahui


atribut class adalah m dimana mendefinisikan kelas-kelas di dalamnya, Ci (for
i= 1, …, m), si adalah jumlah sampel pada S dalam class Ci. untuk
mengklasifikasikan sampel yang digunakan maka diperlukan informasi dengan
menggunakan aturan seperti di atas (2.1). Dimana pi adalah proporsi kelas dalam
output seperti pada kelas Ci dan diestimasikan dengan si /s. Atribut A memiliki
nilai tertentu {a1, a2, …, av}. Atribut A dapat digunakan pada partisi S ke dalam
v subset, {S1, S2, …, Sv}, dimana Sj berisi sample pada S yang bernilai aj pada A.
Jika A dipilih sebagai atribut tes (sebagai contoh atribut terbaik untuk split),
maka subset ini akan berhubungan pada cabang dari node himpunan S. Sij adalah
jumlah sample pada class Ci dalam sebuah subset Sj. Untuk mendapatkan
informasi nilai subset dari atribut A tersebut maka digunakan formula,
s1 j +... + smj
E( A) =
y
I (s
1 j ,...smj )
(2.2)

j =1 s

s1 j +.. + smj
s adalah jumlah subset j yang dibagi dengan jumlah sampel pada S,
maka untuk mendapatkan nilai gain, selanjutnya digunakan formula

Gain(A)=I(s1,s2,...,sm)–E(A) (2.3)

C5.0 memiliki fitur penting yang membuat algoritme ini menjadi lebih
unggul dibandingkan dengan algoritme terdahulunya dan mengurangi
kelemahan yang ada pada algoritme decision tree sebelumnya. Fitur tersebut
adalah (Quinlan, 2004) :
1. C5.0 telah dirancang untuk dapat menganalisis basis data subtansial yang
berisi puluhan sampai ratusan record dan satuan hingga ratusan field
numerik dan nominal.
2. untuk memaksimumkan tingkat penafsiran pengguna terhadap hasil yang
disajikan, maka klasifikasi C5.0 disajikan dalam dua bentuk, menggunakan
pohon keputusan dan sekumpulan aturan IF-then yang lebih mudah untuk
dimengerti dibandingkan neural network.
3. C5.0 mudah digunakan dan tidak membutuhkan pengetahuan tinggi
tentang statistik atau machine learning.

K-Nearest Neighbor Algorithm

Seperti halnya decision tree, K-Nearest Neighbor sangat sering


digunakan dalam klasifikasi dengan tujuan dari algoritme ini adalah untuk
mengklasifikasi objek baru berdasarkan atribut dan training samples (Larose,
2002 ).
Algoritme k-nearest neighbor (k-NN atau KNN) adalah sebuah metode
untuk melakukan klasifikasi terhadap objek berdasarkan data pembelajaran yang
jaraknya paling dekat dengan objek tersebut. Teknik ini sangat sederhana dan
mudah diimplementasikan. Mirip dengan teknik klastering, pengelompokkan
suatu data baru berdasarkan jarak data baru itu ke beberapa data/tetangga
(neighbor) terdekat. Dalam hal ini jumlah data/tetangga terdekat ditentukan oleh
user yang dinyatakan dengan k. Misalkan ditentukan k=5, maka setiap data
testing dihitung jaraknya terhadap data training dan dipilih 5 data training yang
jaraknya paling dekat ke data testing. Lalu periksa output atau labelnya masing-
masing, kemudian tentukan output mana yang frekuensinya paling banyak. Lalu
masukkan suatu data testing ke kelompok dengan output paling banyak.
Misalkan dalam kasus klasifikasi dengan 3 kelas, lima data tadi terbagi atas tiga
data dengan output kelas 1, satu data dengan output kelas 2 dan satu data dengan
output kelas 3, maka dapat disimpulkan bahwa output dengan label kelas 1
adalah yang paling banyak. Maka data baru tadi dapat dikelompokkan ke dalam
kelas 1. Prosedur ini dilakukan untuk semua data testing (Santosa, 2007).
Gambar 4 berikut ini adalah bentuk representasi K-NN dengan 1, 2 dan 3
tetangga data terhadap data baru x (Pramudiono, 2003).

- - - - - - - - - -
- - ++ - - - +- ++ - - + -
++
- - + - x + - x +
+
- x + + - + - + +

(a)1-nearest neighbor (b)2-nearest neighbor (c)3-nearest neighbor

Gambar 4. Ilustrasi 1-, 2-, 3-nearest neighbor terhadap data baru (x)

Untuk mendefinisikan jarak antara dua titik yaitu titik pada data training
(x) dan titik pada data testing (y) maka digunakan rumus Euclidean,

n
2
d ( x, y ) = ( xi yi ) (2.4)
i =1

dengan d adalah jarak antara titik pada data training x dan titik data testing
y yang akan diklasifikasi, dimana x=x1,x2,…,xi dan y=y1,y2,…,yi dan I
merepresentasikan nilai atribut serta n merupakan dimensi atribut (Han &
Kamber, 2001). Sebagai ilustrasi, pada Tabel 1 berikut ini disajikan contoh
penerapan rumus Euclidean, pada empat data klasifikasi kualitas baik dan tidak
baik sebuah kertas tisu yang dinilai berdasarkan daya tahan kertas tersebut dan
fungsinya. Sebanyak tiga data yang sudah terklasifikasi yaitu data no 1,2, dan 3
masing-masing data dihitung jaraknya ke data no 4 untuk mendapatkan
kelas yang sesuai bagi data no 4 maka k=1 (Teknomo, 2006).

Tabel 1. Tabel klasifikasi kualitas baik atau tidak baik sebuah


kertas tisu

No Fungsi Daya Tahan Klasifikasi


1 7 7 Tidak baik
2 7 4 Tidak baik
3 3 4 Baik
4 1 4 ?

Berikut ini disajikan pula perhitungan yang dilakukan terhadap


tiga data yang sudah terklasifikasi dengan data yang belum terklasifikasi
pada Tabel 1 di atas.
Jarak data no satu ke data no empat:
2 2 2 2
d1,4 = (7 1) +(7 4) = 6 +3 = 45 =6.07

Jarak data no dua ke data no empat:

d2,4 = (7 1)2 +(4 +4)2 = 62 +02 = 36 = 6


Jarak data no tiga ke data no empat:

d 3 , 4 = (3 1) 2 + ( 4 + 4 ) 2 = 22 +02 = 4 =2

Dari hasil perhitungan di atas diperoleh jarak antara data no tiga dan data
no empat adalah jarak yang terdekat maka kelas data no empat adalah
baik.
Teknik ini akan diujicobakan terhadap dataset akademik yang
belum terklasifikasi atau data yang belum dikenal, untuk menemukan
kelas yang sesuai dengan berdasarkan pada data tetangga terdekatnya
yang sudah terklasifikasi. Tingkat ketepatan klasifikasi terhadap data dari
kedua algoritma yang digunakan menjadi titik fokus analisa dalam
penelitian.

Membangun Model Prediksi

Secara umum, proses dasar dalam membangun model prediksi


adalah sama, terlepas dari teknik data mining yang akan digunakan.
Keberhasilan dalam membangun model lebih banyak tergantung pada
proses bukan pada teknik yang digunakan, dan proses tersebut sangat
tergantung pada data yang digunakan untuk menghasilkan model. Hal ini
terkait dengan tahapan praproses data dalam data mining yaitu
pembersihan data (data cleaning) yang harus dikerjakan sebelum
melakukan tahap pengolahan data dengan tujuan membersihkan data
yang akan diolah dari redudancy dan missing value.
Tantangan utama dalam membangun model prediksi adalah
mengumpulkan data awal yang cukup banyak jumlahnya. Data
preclassified, hasilnya sudah diketahui, dan oleh karena itu data
preclassified digunakan untuk melatih model, sehingga disebut model
set. Data dibagi secara acak menggunakan teknik 3-fold cross
validation ke dalam kelompok data training dan data testing. Masing-
masing kelompok akan diujicobakan ke dalam kedua algoritma yang
dipakai.

Alat ukur dalam evaluasi

Evaluasi model merupakan tahapan yang juga dikerjakan dalam


penelitian dengan tujuan untuk memperoleh informasi yang terdapat
pada hasil klasifikasi terhadap kedua algoritma yang digunakan. Dalam
weka classifier hasil klasifikasi yang diperoleh disertakan dengan
beberapa alat ukur yang tersedia di dalamnya, diantaranya adalah
sebagai berikut :

- Confusion matrix

Dalam penelitian ini dipilih alat ukur evaluasi berupa confusion


matrix yang terdapat pada weka classifier dengan tujuan untuk
mempermudah dalam menganilisis performa algoritma karena
confusion matrix memberikan informasi dalam bentuk angka
sehingga dapat dihitung rasio keberhasilan klasifikasi. Confusion
matrix adalah salah satu alat ukur berbentuk matrik 2x2 yang
digunakan untuk mendapatkan jumlah ketepatan klasifikasi
dataset terhadap kelas aktif dan tidak aktif pada kedua algoritma
yang dipakai. Dalam kasus dengan dua klasifikasi data keluaran
seperti contoh : ya dan tidak, pinjam atau tidak pinjam, atau
contoh lainnya, tiap kelas yang diprediksi memiliki empat
kemungkinan keluaran yang berbeda, yaitu true positives (TP)
dan true negatives (TN) menunjukkan ketepatan klasifikasi. Jika
prediksi keluaran bernilai positif sedangkan nilai aslinya adalah
negative maka disebut dengan false positive (FP) dan jika prediksi
keluaran bernilai negatif sedangkan nilai aslinya adalah positif
maka disebut dengan false negative (FN). Berikut ini pada Tabel 2
disajikan bentuk confusion matrix seperti yang telah dijelaskan
sebelumnya.

Tabel 2. Perbedaan hasil yang diperoleh dari dua kelas


prediksi

Predicted Class
Yes No
Actual Yes
True Positive False Negative
Class
No False Positive True Negative

Beberapa kegiatan yang dapat dilakukan dengan


menggunakan data hasil klasifikasi dalam confusion matrix
diantaranya :

- menghitung nilai rata-rata keberhasilan klasifikasi (overall


success rate) ke dalam kelas yang sesuai dengan cara
membagi jumlah data yang terklasifikasi dengan benar,
dengan seluruh data yang diklasifikasi.

- Selain itu dilakukan pula penghitungan persentase kelas


positif ( true positive & false positive ) yang diperoleh dalam
klasifikasi, yang disebut dengan lift chart.
- Lift chart terkait erat dengan sebuah tehnik dalam
mengevaluasi skema data mining yang dikenal dengan ROC
(receiver operating characteristic) yang berfungsi
mengekspresikan persentase jumlah proporsi positif dan
negatif yang diperoleh.

- Recall precision berfungsi menghitung persentase false


positive dan false negative untuk menemukan informasi di
dalamnya .

Review Riset yang Relevan

Moertini (2003) melakukan penelitian menggunakan algoritma


C4.5 yang merupakan algoritma pendahulu dari C5.0. Hasil dari
penelitian tersebut menyebutkan bahwa algoritma C4.5 memiliki
performa yang baik dalam mengkonstruksi sebuah pohon keputusan dan
menghasilkan aturan-aturan yang dapat digunakan pada waktu yang akan
datang. Salah satu kesimpulan yang diperoleh mempertegas alasan
bahwa algoritma ini digunakan untuk klasifikasi data yang memiliki
atribut-atribut numerik dan kategorikal.
Sufandi (2007) melakukan penelitian untuk memprediksi kemajuan
belajar mahasiswa aktif yaitu dengan melakukan pengujian
menggunakan data dengan kategori mahasiswa aktif dengan metode
Neural Network Multi Layer Perceptron namun tidak selesai dikejakan
karena hasil klasifikasi mahasiswa aktif & tidak aktif tidak diperoleh
dengan jelas .

Contoh Soal Algoritma C5.0


DATA DAN METODE
Data

Sumber data yang digunakan dalam penelitian berasal dari data


mahasiswa tahun angkatan 2000 sampai dengan 2005, dan dari tiga
program studi yaitu S1-Sistem Informasi, S1-Teknik Informatika, serta
D3-Manajemen Informatika. Beberapa jenis data diperoleh dari sistem
yang berjalan namun hanya data identitas mahasiswa dan data IPK
mahasiswa saja yang digunakan untuk penelitian, dikarenakan informasi
yang terkandung di dalamnya sudah mewakili informasi yang dibutuhkan
untuk dijadikan indikator penentu dalam klasifikasi data keluaran yang
diinginkan.
Jumlah data yang diperoleh adalah sebanyak 2.115 record data
yang berasal dari dataset identitas mahasiswa dan 1.088 record data
yang berasal dari dataset IPK. Dataset mahasiswa terdiri dari 64
atribut yang menjelaskan identitas diri mahasiswa dan informasi
tentang keadaan mahasiswa yang bersangkutan saat mendaftarkan diri
pada UPNVJ. Atribut-atribut tersebut diantaranya adalah nama,
tanggal lahir, alamat, asal sekolah, nama orangtua, pekerjaan
orangtua, gelombang daftar, no ujian, dan no registrasi pokok (NRP).
Sedangkan dataset IPK hanya terdiri dari 7 atribut, dimana
memberikan informasi mengenai prestasi akademik dan beban studi
yang sudah diambil mahasiswa yang bersangkutan. Atribut-atribut
tersebut adalah NRP, tahun akademik, semester, sks semester, IP
semester, sks kumulatif, dan IP Kumulatif. Keterangan atribut pada
dataset mahasiswa dan contoh datanya dapat dilihat pada lampiran
yang terdapat dalam tesis ini. Dan untuk keterangan atribut pada
dataset IPK dan contoh datanya dapat dilihat pula pada lampiran yang
terdapat dalam tesis ini.
Seluruh atribut pada kedua dataset di atas selanjutnya akan
diseleksi untuk mendapatkan atribut-atribut yang berisi nilai yang
relevan, tidak missing value, dan tidak redundant, dimana ketiga syarat
tersebut merupakan syarat awal yang harus dikerjakan dalam data mining
sehingga akan diperoleh dataset yang bersih untuk digunakan pada tahap
mining data. Dikatakan missing value jika atribut- atribut dalam dataset
tidak berisi nilai atau kosong, sementara itu data dikatakan redundant
jika dalam satu dataset yang sama terdapat lebih dari satu record yang
berisi nilai yang sama. Relevan tidaknya sebuah atribut dapat ditentukan
oleh keluaran yang ingin dihasilkan, misalnya untuk mengetahui bahwa
seorang mahasiswa tidak aktif, tidak relevan jika indikator yang dilihat
adalah agamanya. Contoh dataset dengan atribut yang missing value
dapat dilihat pada Tabel 3 di bawah ini.

Tabel 3. Contoh instances dengan missing value pada sebagian


atributnya

NAMA TGLHR ALMHS KDPOS


MAYA YULIETNA 7/19/1982 PERUM. I KARAWACI
RACHMAD NUR RIFAI 10/23/1981 12520
MUHAMNAD ICHSAN KURNIA 8/31/1983 JL.MENTENG 14270
ATIKAH 4/10/1985 KEL. BAKTI JAYA 16418
WAHMI ARDIANSYAH 10/31/1984 16418
MULTARINI
CHANDRA SEVILLA 1/7/1983 GG.ALI ANDONG 16516
URUPAN MAGDALENA 1/10/1984 12320
OVIRINA PUTRI WARDHANI 10/31/1984 BLOK AA XI, RENI JAYA 15417
HARDIANTO 1/26/1985 12790

Pada tabel di atas terlihat bahwa record ke 1, 2, 5, 6, 8 dan


10, beberapa atributnya tidak berisi data atau kosong. Maka
keadaan seperti diatas dikatakan bahwa atribut tersebut missing
value. Selain atribut yang missing value, disajikan pula contoh
dataset dengan data yang redundant seperti pada Tabel 4 di
bawah ini.

Tabel 4. Contoh redundancy data


NAMA TGLHR ALMHS KOTA NMSLA ALMSLA
Widya sitha P 11/16/1981 komp. Kehakiman Tangerang SMU 7 Tangerang
M.arya B 4/9/1984 Halim PK Jak-Tim SMUN 42 Halim PK
Andri suhardi 1/18/1982 Jak-Pus SMK Bahariwan 45-3 Jak-Ut
Bondan andira 9/15/1981 Cibubur Jak-Tim STM TELKOM Jak-bar
M.arya B 4/9/1984 Halim PK Jak-Tim SMUN 42 Halim PK
Siti komalasari 9/24/1983 Jak-Sel SMU Darul Ma’arif Jak-Sel

Record 2 dan record 5 pada tabel di atas berisi data yang sama, maka
dikatakan record tersebut redundant.
Metode

Kerangka Pemikiran
Sebagai langkah awal maka perlu adanya identifikasi masalah
berkenaan dengan masalah yang di bahas. Kemudian dilakukan
pengumpulan data berkaitan dengan permasalahan yang akan diteliti dan
studi literatur untuk menentukan metode data mining untuk pengolahan
data dan penentuan alternatif solusi. Selanjutnya dilakukan pengumpulan
data untuk menentukan parameter-parameter yang menyebabkan
berkurangnya jumlah mahasiswa FIK-UPNVJ dalam hampir tiap
semesternya. Kerangka pemikiran dalam pengembangan model sistem
pada penelitian ini dapat digambarkan dalam suatu diagram alir
penelitian seperti pada Gambar 5.

Mulai

Identifikasi Masalah

Pengumpulan Data Studi Literatur

Data Praproses

Feature Selection

Dataset KNN
C5.0

Selesai Hasil Evaluasi

Gambar 5. Kerangka pemikiran penelitian


Dengan demikian diharapkan dapat diperoleh gambaran yang lengkap
dan menyeluruh tentang tahap-tahap penelitian yang akan dilaksanakan
serta keterkaitan antara satu tahap dengan tahap selanjutnya.
1. Identifikasi Masalah
Menggali permasalahan yang ditemukan pada obyek yang di teliti guna
mencari alternatif solusi yang terkait dengan permasalahan, diantaranya,
a. Jumlah mahasiswa tidak aktif yang bertambah.
b. Karakteristik mahasiswa tidak aktif yang tidak tersedia.

2. Studi Literatur
Kegiatan mempelajari dan memahami fungsi-fungsi data mining,
teknik-teknik dan algoritma yang digunakan dalam data mining.
Adapun literatur yang digunakan berasal dari buku-buku data mining
dan jurnal penelitian bidang data mining untuk teknik klasifikasi
dengan algoritma C5.0 dan K-Nearest Neighbor. Penelitian yang
dilakukan sebelumnya oleh Moertini, Beikzadeh dan Phon
menggunakan C5.0 & KNN menunjukkan bahwa kedua algoritma ini
dapat melakukan klasifikasi data di atas 80%.
3. Pengumpulan data
Tahap pengumpulan data untuk mendapatkan sejumlah informasi yang
dibutuhkan dengan mengambil data akademik mahasiswa pada Sistem
Informasi Akademik FIK-UPNVJ. Maka diperolehlah dataset mahasiswa
dan dataset IPK untuk digunakan dalam penelitian karena kedua dataset
ini sudah mewakili informasi yang dibutuhkan.

4. Data Praproses
Adalah tahap seleksi data bertujuan untuk mendapatkan data yang
bersih dan siap untuk digunakan dalam penelitian. Tahapan yang
dikerjakan adalah dengan melakukan perubahan terhadap beberapa
tipe data pada atribut dataset dengan tujuan untuk mempermudah
pemahaman terhadap isi record, juga melakukan seleksi dengan
memperhatikan konsistensi data, missing value, dan redundant pada
data. Beberapa atribut yang bertipe numeric diubah menjadi string,
dan atribut Tgllhr yang bertipe data date menjadi numeric. Untuk atribut
Tgllhr selanjutnya berubah nama menjadi Usia. Atribut Anakke dan Dari
digabung dengan nama Anakke dan tipe data string. Sebanyak 6 atribut
terpilih yang berasal dari 64 atribut dataset mahasiswa dan 7 atribut
dataset IPK.

5. Feature Selection
Adalah tahapan seleksi atribut, dimana atribut-atribut yang
diperoleh dari tahap praproses selanjutnya diseleksi lagi menggunakan
formula Information Gain yang menghasilkan nilai Gain dari seluruh
atribut dalam dataset yang mana formula ini terdapat dalam algoritma
C5.0 dengan fungsinya untuk mendapatkan atribut yang berfungsi
sebagai root atau akar pada decision tree, node dan leaf .

6. Teknik Data Mining


Tahap pengolahan data dengan memfungsikan algoritma dan
teknik yang telah ditentukan sebelumnya, yaitu klasifikasi menggunakan
algoritma C5.0 dan KNN. Algoritma C5.0 bekerja untuk menghasilkan
aturan-aturan klasifikasi dalam bentuk pohon keputusan (decision tree)
yang selanjutnya aturan-aturan tersebut akan digunakan pada dataset
yang baru. KNN berfungsi sebagai algoritma pembanding yang akan
melakukan prediksi klasifikasi data dengan menentukan sejumlah data
tetangga yang sudah terklasifikasi.

7. Dataset
Tahap seleksi atribut menghasilkan himpunan data akhir yang
digunakan untuk tahap klasifikasi data berupa dataset akademik. Dataset
akademik adalah data yang sudah tidak lagi mengandung data dengan
missing value dan redundant. Dengan menggunakan teknik 3-fold cross
validation, data dibagi menjadi dua bagian sebagai data training dan satu
bagian sebagai data testing, yang mana training dan testing dilakukan
sebanyak 3 kali.

8. Hasil
Klasifikasi dengan algoritma C5.0 memberikan hasil berupa
aturan-aturan klasifikasi dalam bentuk if-then dan dalam bentuk pohon
keputusan (decision tree) serta menunjukkan karakteristik data yang
diklasifikasi, sedangkan KNN hanya memberikan hasil berupa jumlah
ketepatan dan ketidaktepatan data yang diklasifikasi namun tidak dapat
menunjukkan karakterisitk dari data yang di klasifikasi. Sehingga dapat
dikatakan bahwa telah diperoleh sebanyak dua model yang berasal dari
kedua penerapan algoritma yang dipilih.

9. Evaluasi
Analisis terhadap hasil klasifikasi yang diperoleh dengan
menggunakan kedua algoritma menunjukkan bahwa rata-rata lama waktu
yang dibutuhkan sangat singkat yaitu 0.01 seconds. Dilakukan pula
analisis dengan beberapa alat evaluasi yang lain dengan menggunakan
tabel confusion matrix, yaitu hasil klasifikasi dengan proporsi positif dan
negatif yang diperoleh akan dievaluasi sehingga diperoleh persentase
kelas positif dalam lift chart, persentase jumlah proporsi positif dan
negatif dalam ROC, dan nilai rata-rata keberhasilan klasifikasi ke dalam
kelas yang sesuai dalam overall success rate.
Tata Laksana

Kegiatan yang dilakukan dalam penelitian ini diantaranya adalah


pembentukan model klasifikasi untuk memperoleh aturan-aturan yang
dibutuhkan. Proses dimulai dengan pendefinisian masalah serta
mempelajari bisnis proses dari sistem yang sedang berjalan. Pada tahap
selanjutnya melakukan uji coba terhadap dataset baru yang belum
terklasifikasi dengan menggunakan aturan-aturan yang diperoleh dari
tahap sebelumnya.
Metodologi data mining didasarkan pada tiga tahapan yang
dilakukan untuk mendeteksi mahasiswa yang berpotensi untuk tidak aktif
pada waktu yang akan datang dengan memperhatikan karakteristik data
dalam dataset. Ketiga tahapan tersebut adalah a) seleksi atribut dataset b)
menangani data yang tidak konsisten, redundant dan missing value c) rule
mining dan klasifikasi.
Pada tahap pertama, seleksi atribut dalam dataset untuk mendapatkan
atribut dengan record yang relevan terhadap keluaran yang diinginkan. Pada
tahap kedua, pemrosesan awal data mahasiswa dilakukan untuk menghapus
data atau record yang tidak konsisten, redundant dan missing value dan
mengekstrak data yang akan digunakan untuk mengelompokkan mahasiswa
ke dalam klas aktif dan tidak aktif. Pada tahap ketiga, algoritme decision tree
classifier digunakan untuk menghasilkan aturan-aturan yang berguna untuk
mendeteksi mahasiswa yang tidak aktif.

HASIL DAN PEMBAHASAN

Praproses Data

Tahap pertama yang dilakukan adalah menyeleksi seluruh


data pada kedua dataset dengan memperhatikan keberadaan setiap
record data pada keduanya. Jika terdapat record tertentu pada
salah satu dataset namun record tersebut tidak terdapat pada
dataset yang lain, maka record yang dimaksud akan dihapus
karena record tersebut dinilai tidak konsisten. Pada Tabel 5 dan
Tabel 6 di bawah ini berisi contoh ketidak-konsistenan data pada
dataset mahasiswa dan dataset IPK.

Tabel 5. Contoh data pada dataset mahasiswa

NRP NAMA TGLHR ALMHS1 KOTA NMSLA


200502113 Ikrar Achmad B 10/28/1981 Komp. Kopassus Depok SMU 105 Jkt
200502114 Cindy Rahmawati 7/23/1982 Delima I Blok K-3 Depok SMUN 103
200502115 Dyah Andri M 1/4/1981 Sukatani Cimanggis Depok SMU Islam PB.Sudirman
200502116 Siti Maesaroh 10/19/1981 Jakarta SMUN 97 Ciganjur
200502117 Yanuar Tri P 1/8/1982 Pinang Kp. Baru Jakarta SMU Borobudur
200502118 Fransiskus Ony F 2/23/1983 Laki Cimanggis Bogor SMUN I Cimanggis

Tabel 6. Contoh data pada dataset IPK

I_NRP I_THAK I_SMT I_IPS I_JSKSS I_IPK I_JSKSK


200502113 0001 1 1.90 20 1.90 20
200502114 0001 1 2.00 16 2.00 16
200502116 0001 1 2.50 20 2.50 20
200502117 0001 1 2.00 14 2.00 14
200502118 0001 1 2.10 20 2.10 20
200502119 0001 1 1.70 20 1.70 20

Record dengan NRP=200502115 yang terdapat pada dataset


mahasiswa tidak terdapat pada dataset IPK, maka record tersebut
dihapus karena dinilai tidak konsisten keberadaan informasinya.
Yang dilakukan selanjutnya adalah seleksi terhadap atribut
dataset, dimana diketahui sebanyak 64 atribut terdapat pada
dataset mahasiswa dan 7 atribut pada dataset IPK. Seleksi ini
dilakukan untuk mendapatkan atribut-atribut dengan nilai yang
relevan terhadap status keaktifan studi mahasiswa sehingga untuk
selanjutnya atribut-atribut yang dinilai berisi nilai yang tidak relevan
tidak lagi disertakan dalam dataset. Di bawah ini disajikan contoh
instances dengan beberapa atribut pada dataset mahasiswa seperti
tampak pada Tabel 7.

Tabel 7. Contoh instances dengan beberapa atribut pada dataset


mahasiswa

NoForm NoUjiGel NoUji NRP Nama PilJur1 PilJur2 TglDft TryOut


0049 30076 WIDYA SIST 311 511 3/30/2001 FALSE
0067 50013 M.ARYA NUG 511 512 4/3/2001 TRUE
0070 50016 ANDRI SUHA 512 502 4/3/2001 FALSE
0082 50005 BONDAN AND 511 414 4/4/2001 FALSE
0088 50026 SITI KOMAL 512 502 4/5/2001 FALSE
0097 30038 ASNIDA RAT 311 511 4/6/2001 TRUE
0120 5 ACHMAD DJO 502 4/10/2001
0122 5 EDO TIAS R 511 4/10/2001
0131 50039 IKA MARYAN 512 4/10/2001 FALSE
0147 50062 ANGELA RUS 512 112 4/12/2001 FALSE

NoForm, NoUjiGel, NoUji, NRP, Nama adalah atribut-atribut


yang tidak digunakan dalam penelitian karena menjadi tidak relevan jika
seorang mahasiswa berpotensi tidak aktif pada waktu yang akan datang
ditentukan oleh atribut-atribut tersebut. PilJur1, PilJur2, TglDft dan
TryOut dapat dipilih sebagai atribut dalam penelitian, namun tidak
terdapat keterangan atau penjelasan yang berkaitan dengan atribut-
atribut tersebut baik berupa nilai hasil ujian masuk, lama waktu yang
disediakan untuk mendaftar pada setiap gelombang daftar, dan lembaga
yang melaksanakan tryout serta kapan dilaksanakannya, maka atribut-
atribut yang tertera pada tabel di atas tidak dipilih untuk digunakan
dalam penelitian. Pada Tabel 8 di bawah ini, disajikan contoh instances
dengan atribut pada dataset IPK.

Tabel 8. Contoh instances dengan atribut pada dataset IPK

I_NRP I_THAK I_SMT I_IPS I_JSKSS I_IPK I_JSKSK


201511027 0102 1 2.42 19 2.42 19
201511029 0102 1 1.59 17 1.59 17
201511030 0102 1 1.63 19 1.63 19
201511031 0102 1 1.68 19 1.68 19

I_NRP I_THAK I_SMT I_IPS I_JSKSS I_IPK I_JSKSK


201511048 0102 1 2.58 19 2.58 19
201511001 0102 2 2.62 21 2.75 40
201511003 0102 2 2.48 21 2.50 40
201511004 0102 2 2.71 21 2.85 40
201511005 0102 2 3.28 25 3.41 44
201511007 0102 2 2.83 23 2.90 42

Contoh dataset di atas digunakan untuk melihat prestasi akademik


yang diperoleh oleh setiap mahasiswa pada tiap semester yang diambil.
Atribut I_IPK adalah satu-satunya atribut yang dipilih karena dinilai sudah
mewakili informasi prestasi akademik mahasiswa hingga saat masa akhir
studi yang ditempuh. Pada sistem yang berjalan, masa studi yang telah
ditempuh oleh setiap mahasiswa dapat dilihat pada atribut I_THAK, I_SMT
dan I_JSKSK. Jika mahasiswa dengan NRP tertentu tidak muncul pada tahun
akademik selanjutnya baik pada semester ganjil maupun genap maka
mahasiswa tersebut dianggap tidak menyelesaikan masa studi yang harus
ditempuh. Misal masa studi D3 adalah 7 semester dengan total sks 115 sks,
namun mahasiswa yang dimaksud tidak melakukan registrasi pada tahun
akademik dan semester yang sedang berjalan dan pada semester selanjutnya
hingga masa studi yang berlaku dan total sks yang telah diambil lebih kecil
atau sama dengan separuh dari total sks yang berlaku .
Tahap seleksi atribut tidak hanya dilakukan untuk mendapatkan
konsistensi dan relevansi isi dari atribut yang dimiliki namun juga dilakukan
seleksi terhadap atribut yang mengandung missing value atau nilai yang
hilang atau kosong, serta atribut yang mengandung data yang redudancy atau
data yang duplikat. Jika ditemukan dalam kedua dataset terdapat atribut
dengan nilai kosong atau missing value ataupun atribut dengan data yang
redudancy, maka data tersebut dihapus, demikian halnya seperti seleksi yang
dilakukan sebelumnya terhadap atribut-atribut dalam dataset. Hal ini
dilakukan karena atribut yang missing value tidak memberikan informasi
apapun jika dipertahankan keberadaannya, demikian pula dengan atribut
yang redundancy, maka cukup dipilih salah satunya saja dari data yang
redundant karena data tersebut berisi informasi yang sama. Tahap seleksi ini
disebut juga dengan tahap pembersihan data atau data cleaning yang
bertujuan mendapatkan data yang bersih, sehingga data tersebut dapat
digunakan untuk tahap selanjutnya yaitu transformasi data. Pada Gambar 2 telah
diperlihatkan bahwa proses data cleaning adalah proses awal yang dikerjakan
sebelum melakukan tahap mining.
Dari tahap seleksi atribut yang telah dilakukan di atas diperoleh beberapa
atribut sementara yang akan digunakan dalam penelitian, yaitu : NRP, Tgllhr,
Alamat, Pekerjaan Orangtua, JenisSLA, WilSMU, Anakke, dan Dari yang
berasal dari dataset mahasiswa dan atribut IPK dari dataset IPK. Dan jumlah
data akhir yang diperoleh adalah sebanyak 1.175 record data dari total data
sebelumnya adalah 3.203 record data.
Selanjutnya adalah menghapus atribut NRP , dimana pada tahap
sebelumnya atribut ini digunakan untuk melihat kemunculannya pada tiap
semester dan tahun akademik pada dataset IPK, setelah diperoleh informasi
yang dicari maka atribut ini sudah tidak lagi diperlukan. Sehingga atribut-
atribut yang digunakan hanya tinggal atribut Tgllhr, JenisSLA, PkOrtu,
Anakke dan Dari.
Tahap berikutnya adalah merubah tipe data dari beberapa atribut tadi,
diantaranya adalah atribut Tgllhr, JenisSLA, PkOrtu, Anakke dan atribut
Dari. Hal ini dilakukan dengan tujuan agar isi pada setiap atribut lebih mudah
dipahami oleh pengguna data maupun pengguna informasi. Pada Tabel 9 di
bawah ini ditampilkan contoh instances dengan atribut-atribut yang
disebutkan tadi.

Tabel 9. Contoh instances dengan atribut yang akan dirubah tipe datanya

TGLLAHIR PK_ORTU JNSSLA AKKE DARI


3/4/1983 1 1 1 2
8/3/1982 1 1 1 3
9/23/1981 3 1 2 4
9/24/1979 4 1 5 7
11/19/1981 4 1 1 2
1/11/1983 4 1 2 2
2/1/1981 2 1 3 3
9/7/1982 4 1 1 3
7/13/1982 4 1 4 4
4/1/1983 4 1 1 1
7/11/1980 2 1 3 3
5/28/1981 3 1 3 3
TGLLAHIR PK_ORTU JNSSLA AKKE DARI
10/25/1981 2 1 2 2
3/23/1981 4 1 2 4

Tipe data atribut TglLhr yang semula adalah date diubah menjadi atribut
Usia dengan tipe data numeric, sehingga tidak lagi berisi tanggal lahir
mahasiswa melainkan berisi usia mahasiswa pada saat awal kuliah pada
semester satu. Tipe data JenisSLA, PkOrtu, Anakke dan Dari diubah menjadi
bertipe data string, sehingga dapat lebih mudah dipahami isi atribut yang
dikandung dan tipe data ini dan sesuai dengan tipe data yang digunakan dalam
algoritma decision tree. Atribut Anakke dan atribut Dari dijadikan dalam satu
atribut baru bernama Anakke yang berisi informasi kategori urutan anak dalam
keluarga.
Beberapa atribut pada tabel di atas masih berisi data dalam bentuk kode
angka, seperti nampak pada atribut PkOrtu dan JenisSLA. Berikut ini pada Tabel
10 disajikan keterangan kode pada kedua atribut tersebut.

Tabel 10. Keterangan kode pada atribut PkOrtu dan JenisSLA

Atribut Kode Keterangan


PkOrtu 1 TNI
2 PNS
3 Swasta
4 Purnawirawan
JenisSLA 1 SMU
2 SMK
3 MA/MAN

Setelah perubahan tipe data dan pemberian nama baru dilakukan kepada
beberapa atribut maka isi dari atribut yang bersangkutanpun berubah. Berikut ini
tampak pada Tabel 11 adalah contoh instances dengan tipe data dan nama atribut
yang baru.

Tabel 11. Contoh instances dengan tipe data dan nama atribut yang baru

USIA PKORTU JNSSLA Anakke


17 TNI smu sulung
18 TNI smu sulung
19 SWASTA smu tengah

USIA PKORTU JNSSLA Anakke


21 PURNAWIRAWAN smu tengah
19 PURNAWIRAWAN smu sulung
17 PURNAWIRAWAN smu bungsu
19 PNS smu bungsu
18 PURNAWIRAWAN smu sulung
18 PURNAWIRAWAN smu bungsu
17 PURNAWIRAWAN smu tunggal
20 PNS smu bungsu
19 SWASTA smu bungsu
19 PNS smu tengah
19 PURNAWIRAWAN smu tengah

Beberapa tahapan yang telah dilakukan sebelumnya telah memberikan


hasil berupa dataset dengan atribut-atribut terpilih yang akan digunakan
selanjutnya pada tahap transformasi data. Selengkapnya atribut terpilih tersebut
beserta contoh datanya dapat dilihat pada Tabel 12 di bawah ini.

Tabel 12. Contoh instances dengan atribut terpilih

USIA ALAMAT PKORTU JNSSLA WILSMU Anakke IPK


17 JAKARTA TNI smu jakarta sulung 2.41
18 JAKARTA TNI smu jakarta sulung 2.64
19 TANGERANG SWASTA smu tangerang tengah 2.62
21 JAKARTA PURNAWIRAWAN smu jakarta tengah 1.64
19 JAKARTA PURNAWIRAWAN smu jakarta sulung 2.15
17 JAKARTA PURNAWIRAWAN smu jakarta bungsu 3.3
19 DEPOK PNS smu lainnya bungsu 2.19
18 LAINNYA PURNAWIRAWAN smu lainnya sulung 2.49
18 JAKARTA PURNAWIRAWAN smu jakarta bungsu 3.07
17 JAKARTA PURNAWIRAWAN smu jakarta tunggal 3.61
20 DEPOK PNS smu jakarta bungsu 3.24
19 JAKARTA SWASTA smu jakarta bungsu 2.71
19 JAKARTA PNS smu jakarta bungsu 2.95
19 JAKARTA PNS smu jakarta bungsu 2.19

Berikut ini disajikan beberapa keterangan yang berkaitan dengan atribut-


atribut pada tabel di atas, yaitu :
a. Usia
Merupakan atribut yang berisi usia mahasiswa pada saat masuk kuliah
semester satu. Atribut ini adalah atribut pengganti dari atribut sebelumnya
yaitu Tgllhr.

b. Alamat
Merupakan atribut yang berisi alamat tinggal mahasiswa pada saat
melakukan registrasi ulang. Untuk selanjutnya atribut ini dikelompokkan
dalam enam kategori kota wilayah tinggal yaitu Jakarta, Bogor, Depok,
Tangerang, Bekasi, dan Lainnya. Kategori kota lainnya memberikan arti
bahwa kota yang dimaksud adalah kota wilayah selain dari lima kota
wilayah yang sudah disebutkan tadi.

c. PkOrtu
Merupakan atribut yang menjelaskan jenis pekerjaan orang tua dari
mahasiswa, yang kemudian dikelompokkan dalam empat kategori yaitu
Purnawirawan, Swasta, TNI (yang maksud adalah anggota Tentara
Nasional Indonesia), dan PNS (Pegawai Negeri Sipil). Pengelompokkan ini
didasarkan kepada data sumber tentang jenis pekerjaan orang tua yang
dimiliki oleh FIK-UPNVJ.

d. JenisSLA
Merupakan atribut yang menjelaskan kelompok sekolah lanjutan asal
mahasiswa yang dikelompokkan ke dalam jenis sekolah kejuruan (SMK),
sekolah menengah umum (SMU), dan sekolah lanjutan atas keagamaan
(MA/Madrasah Aliyah).

e. WilSMU
Berisi alamat wilayah kota sekolah lanjutan asal mahasiswa. Kategori yang
dibuat untuk atribut ini adalah sama dengan kategori yang ada pada atribut
sebelumnya yaitu alamat, yaitu Jakarta, Bogor, Depok, Tangerang, Bekasi,
dan Lainnya.

f. Anakke
Merupakan atribut yang menjelaskan urutan anak dalam keluarga. Kategori
yang dibuat berdasarkan kepada informasi yang ada pada atribut Anakke
dan Dari, dengan menganalisa isi terhadap keduanya sehingga atribut yang
dihasilkan terbagi ke dalam empat kategori yaitu sulung, tengah, bungsu, dan
tunggal.

g. IPK
Merupakan atribut yang berisi nilai prestasi kumulatif mulai dari semester satu
hingga akhir semester yang di tempuh oleh mahasiswa. Terdapat lima kategori
IPK yang diberlakukan pada FIK-UPNVJ yaitu IPK < 1.50, 1.50 – 1.99, 2.00 –
2.49, 2.50 – 2.99, dan >= 3.00.

Hasil yang di peroleh dari tahap seleksi atribut di atas telah menghasilkan
sejumlah 7 atribut baru dan 1.175 record data dengan isi data yang tidak lagi
redundant, tidak missing value dan data yang digunakan adalah data yang konsisten.
Untuk selanjutnya dataset tersebut disebut dengan nama dataset akademik. Tahapan
yang akan dikerjakan kemudian adalah transformasi data, yang akan dijelaskan pada
sub bahasan selanjutnya.

Data Mining

Dengan menggunakan metode 3-fold cross validation maka dataset akademik


secara acak dibagi ke dalam tiga bagian, yaitu dua bagian sebagai data training dan
satu bagian sebagai data testing. Pada Tabel 13 berikut ini disajikan kombinasi dari
tiga bagian dataset akademik tersebut.

Tabel 13. Kombinasi dataset hasil pemisahan dengan metode 3-fold cross validation
Data Training Data Testing

Dataset 1 dan Dataset 2 (training 1) Dataset 3 (testing 1)

Dataset 1 dan Dataset 3 (training 2) Dataset 2 (testing 2)

Dataset 2 dan Dataset 3 (training 3) Dataset 1 (testing 3)

Kemudian dataset di atas digunakan untuk mengkonstruksi pohon


keputusan (decision tree) yang dimulai dengan pembentukan bagian akar,
kemudian data terbagi berdasarkan atribut-atribut yang sesuai untuk dijadikan
leaf node. Tahap ini dimulai dengan melakukan seleksi atribut menggunakan
formula information gain yang terdapat pada algoritma C5.0 seperti tampak pada
halaman 11 Formula 2.1, Formula 2.2 dan Formula 2.3, sehingga diperoleh nilai
gain untuk masing-masing atribut, yang mana atribut dengan nilai gain tertinggi
akan menjadi parent bagi node-node selanjutnya. Node-node tersebut berasal dari
atribut-atribut yang memiliki nilai gain yang lebih kecil dari nilai gain atribut
parent. Maka untuk mendapatkan nilai gain dari dua kelas output yang berbeda
yaitu ’aktif’ dan ’tidak aktif’ pada dataset akademik adalah dengan menghitung
tingkat impurity kedua kelas tersebut. Berikut ini pada Tabel 14 disajikan contoh
data kelas mahasiswa aktif dan tidak aktif berdasarkan atribut JnsSLA.

Tabel 14. Contoh data dengan kelas mahasiswa aktif dan tidak aktif berdasarkan
atribut JnsSLA

JnsSLA Aktif Tidak Aktif


SMU 801 219
SMK 104 23
MA 20 8

Selanjutnya dengan menggunakan data pada Tabel 14 di atas dicari nilai


information gainnya yaitu,

925 925 250 250


I (925,250)= 1175 log2 1175 1175 log2 1175

= 0,739

Jika dalam satu set hanya terdiri dari satu kelas maka entropinya = 0. Jika
perbandingan dua kelas rasionya sama maka nilai entropinya=1. Dengan
menggunakan formula yang sama dilakukan pemilihan atribut, dimana akan dihitung
rasio nilai kelas aktif dan tidak aktif dari seluruh atribut. Salah satu contoh
penerapan formula tersebut untuk pemilihan atribut (atribut JnsSLA) adalah sebagai
berikut,

JnsSLA = SMU,
801 801 219 219
I (801,219)= 1020 log2 1020 1020 log2 1020 = 0,75

JnsSLA = SMK,
104
I (104,23)= log 104 23 log 23 = 0,682
2 2
127 127 127 127
JnsSLA = MA,
8
20 8
20
I (20,8)= log 2
log = 0.862
2
28 28 28 28
Maka total entropi atribut JnsSLA :
1020 127 28
E( JnsSLA)= 1175 (0,75)+1175 (0,682)+1175 (0,862)=
0,745

Maka nilai Gain atribut JnsSLA : G(


JnsSLA)= 0,739 0,745 = 0,006

Hasil diatas diperoleh dengan menggunakan data 100% yang berjumlah


1175 dengan keadaan data tidak terbagi ke dalam 3-fold cross validation. Bila
diterapkan pada data yang sudah terbagi ke dalam 3-fold cross validation akan
memberikan hasil yang berbeda pada setiap kelompok datanya.
Untuk tahap selanjutnya hal yang sama yaitu penerapan formula
information gain dilakukan terhadap atribut-atribut yang lainnya dalam dataset
akademik, sehingga diperoleh atribut dengan nilai gain tertinggi yang kemudian
dipilih sebagai simpul pertama pada decision tree yang dikenal dengan nama
root/akar. Pada simpul selanjutnya secara berurutan diisi oleh atribut-atribut
yang bernilai gain lebih rendah, dan akan berhenti pada simpul akhir yang berisi
kelas output dari setiap cabangnya yang dikenal dengan nama leaf/daun. Tabel
15 di bawah ini menyajikan nilai gain dari seluruh atribut pada kelompok data
training dan data testing yang mana nilai gain atribut Alamat, PkOrtu, JnsSLA,
WilSMU, Anakke, dan IPK yang terdapat dalam tabel adalah hasil pembulatan
terhadap nilai aslinya.

Tabel 15. Nilai gain seluruh atribut pada kelompok data training dan data testing

Dataset Instances Gain

Usia Alamat PkOrtu JnsSLA WilSMU Anakke IPK

training 1 784 0 0.024 0.002 0.005 0.013 0.002 0.242


Dataset Instances Gain

Usia Alamat PkOrtu JnsSLA WilSMU Anakke IPK

training 2 783 0 0.018 0.002 0.002 0.009 0.002 0.249

training 3 783 0 0.023 0.004 0.002 0.011 0.003 0.204

rata-rata 0 0.022 0.003 0.003 0.011 0.002 0.232

Pada Tabel 15 diatas tampak bahwa atribut IPK memiliki nilai Gain
tertinggi, sehingga atribut ini menjadi atribut root pada decision tree, kemudian
dilanjutkan dengan atribut Alamat dan WilSMU yang berfungsi sebagai child
node, dan diakhiri oleh label kelas aktif dan tidak aktif yang berfungsi sebagai
leaf. Maka dapat dikatakan bahwa parameter penentu pertama seorang
mahasiswa berpotensi untuk aktif atau tidak aktif pada waktu yang akan datang
dilihat dari IPK yang diperoleh mahasiswa yang bersangkutan, kemudia Alamat
tinggal dan WilSMU mahasiswa tersebut. Atribut Usia, PkOrtu, JnsSLA dan
Anakke rata-rata nilai gain yang diperoleh sangat kecil jika dibandingkan
dengan atribut Alamat, WilSMU dan IPK, sehingga dapat disimpulkan bahwa
dukungan informasi yang terkandung dalam atribut tersebut terhadap output
yang dicapai sangat kecil. Maka atribut akhir yang terpilih hanya terdiri dari
atribut IPK, Alamat, dan WilSMU. Dengan menggunakan tiga atribut terakhir
tadi maka diperoleh dengan jelas karakteristik mahasiswa aktif dan tidak aktif
beserta aturan yang mengklasifikasikan data tersebut.
Pada Gambar 6 berikut ini disajikan hasil klasifikasi pada data testing 3
dengan menggunakan tiga atribut terakhir tadi.
Gambar 6. Gambar hasil klasifikasi data testing 3 menggunakan weka
classifier

Salah satu hasil klasifikasi decision tree seperti pada Gambar 6 diatas
menggunakan beberapa parameter yang tersedia pada weka classifier untuk
klasifikasi menggunakan algoritma C5.0 ( atau J48 pada weka ) yaitu :

- binary splits= false, jika bernilai true maka setiap level hanya terdiri dari dua
cabang (pada setiap atribut hanya terdiri dari dua kategori, kategori lain
dianggap sebagai kategori pada atibut lain)
- confidencefactor = 0.25, atribut dengan nilai gain sama dengan 0.25 atau
lebih tinggi maka terpilih sebagai atribut untuk decision tree, sedangkan
atribut dengan nilai lebih kecil dari 0.25 akan dipangkas (pruned) dan tidak
terpilih sebagai atribut untuk decision tree.
- debug = false, jika bernilai true maka classifier akan memberikan informasi
yang akan ditampilkan pada layar console.
- minnumObj = 2, jumlah minimum instances per leaf.
- numfolds=3, data yang akan diklasifikasi dibagi menjadi 3 bagian yaitu 1
bagian data digunakan untuk proses pruning sedangkan 2 bagian data yang
lainnya digunakan untuk membentuk decision tree berdasarkan hasil dari
bagian data sebelumnya .
- reducederrorpruning = false,tidak dilakukan prosedur pruning yang lain
- save instance data = false, tidak dilakukan penyimpanan data training untuk
visualisasi
- seed = 1, digunakan untuk mengacak data saat reduksi error pruning
dilakukan
- subtreeraising = true, memeriksa posisi subtree pada saat proses pruning
dilakukan
- unpruned = false, jika bernilai true maka proses pruning tidak dikerjakan.
- uselaplace = false,dengan menggunakan metode Laplace akan dihitung
jumlah true classified dan missclassified.

Pada Gambar 6 diatas terlihat bahwa weka classifier hanya memilih


atribut IPK sebagai atribut dalam decision tree, sedangkan atribut lainnya
terpangkas dari decision tree. Maka dapat disimpulkan bahwa dengan jumlah
dan jenis data yang ada pada testing 3 hanya dibutuhkan atribut IPK untuk
mendapatkan kelas output dari dataset tersebut. Hasil klasifikasi pada data
testing 3 diatas tampak pula struktur if -then yang menunjukkan susunan
aturan-aturan yang diperoleh, berikut pada Gambar 7 ditampilkan kembali
bentuk aturan yang dimaksud :

Gambar 7. Aturan-aturan klasifikasi hasil data testing 3


Adapun struktur if-then untuk aturan diatas adalah sebagai berikut :

If IPK <= 1.77 then Status = Tidak Aktif


Else
If IPK > 1.77 then Status = Aktif

Dan bentuk Gambar 7 diatas dapat pula dilihat dalam bentuk decision
tree yang dihasilkan, seperti pada Gambar 8 berikut ini :

Gambar 8. Hasil klasifikasi dengan algoritma C5.0 menggunakan weka


classifier dalam bentuk struktur pohon keputusan

Klasifikasi dengan decision tree (algoritma C5.0) telah menghasilkan


beberapa aturan, baik dalam bentuk struktur pohon keputusan maupun dalam
bentuk aturan if – then. Kegiatan selanjutnya adalah melakukan klasifikasi
dengan menggunakan metode K-Nearest Neighbor (KNN) yang mana dalam
weka classifier diberi nama IBk. Pada dasarnya tahapan yang dilakukan kali ini
menggunakan beberapa parameter yang berisi nilai yang sudah default pada
weka classifier, hanya saja untuk parameter KNN akan diisi dengan nilai ganjil
mulai dari 1, 3 dan 5. Karena jumlah data/tetangga pada KNN ditentukan oleh
user dan untuk mendapatkan hasil yang reasonable maka k berisi data dalam
bilangan ganjil, maka dipilihlah jumlah tetangga dengan angka-angka tersebut,
dengan asumsi bahwa jumlah tetangga data yang diambil adalah sebanyak 1, 3
dan 5 tetangga data. Parameter-parameter yang dimaksud yaitu :

- KNN=1,banyaknya jumlah tetangga data yang diambil.


- crossValidate = false, digunakan untuk menentukan k yang terbaik.
- debug = false, jika bernilai true maka classifier akan memberikan informasi
yang akan ditampilkan pada layar console.
- distanceWeighting =no distance weighting, setiap data tetangga yang dipilih
tidak diberi bobot.
- meanSquared = false,akan lebih baik bila digunakan untuk data-data regresi.

- nearestNeighborSearchAlgorithm=LinearNNSearch, adalah algoritma


standar yang digunakan untuk mencari tetangga data pada weka.
- windowsize = 0, jumlah maksimum data yang diklasifikasi tidak terbatas.

Hasil yang diperoleh menunjukkan kecenderungan yang lebih baik dalam


mengklasifikasikan data, baik dengan jumlah tetangga data=1, 3 atau 5. Setiap
data yang diuji diperhatikan tingkat ketepatan dan ketidaktepatan dalam
mengklasifikasikan data tersebut dan lama waktu yang dibutuhkan untuk
membangun model. Hasil klasifikasi dengan tingkat ketepatan klasifikasi data
yang tertinggi dan lama waktu terendah dalam membangun model akan
dijadikan sebagai model terbaik. Karena k adalah satu-satunya hyper-paramater
dalam KNN yang mana nilainya harus ditentukan dengan coba-coba, maka k
yang diambil adalah k=1, k=3 dan k=5. Angka-angka tersebut diambil bertujuan
untuk mendapatkan hasil yang reasonable yaitu hasil yang diperoleh memiliki
waktu yang singkat dalam membangun model , data terklasifikasi dengan baik.
Seperti halnya pada algoritma C5.0, penggunaan algoritme ini dalam
data training dan data testing memberikan hasil yang berbeda-beda, dan berikut
ini pada Gambar 9 ditampilkan hasil klasifikasi dengan KNN=1 atau jumlah data
tetangga yang diambil adalah sebanyak 1 pada data testing 3.
Gambar 9. Hasil klasifikasi dengan KNN=1 pada data testing 3 menggunakan
weka classifier

Pada Gambar 9 di atas sebanyak 82 record data diklasifikasikan sebagai


mahasiswa tidak aktif, 309 record data mahasiswa aktif dan 9 record data
diklasifikasikan tidak sesuai dengan kelasnya yaitu terdiri dari 3 record data
diduga sebagai mahasiswa tidak aktif ternyata adalah mahasiswa aktif serta 6
data diduga sebagai mahasiswa aktif ternyata adalah mahasiswa tidak aktif.
Selebihnya hasil uji coba klasifikasi dengan KNN dapat dilihat pada bab
lampiran yang terdapat pada tesis ini. Pengujian data dengan KNN relatif lebih
singkat untuk dilakukan dibandingkan dengan C5.0.
Pada bahasan berikutnya akan dilakukan analisis dengan menggunakan
beberapa alat ukur evaluasi seperti yang sudah dijelaskan pada bahasan
sebelumnya, terhadap hasil yang diperoleh dengan menggunakan algoritma C5.0
dan KNN.

Evaluasi
Seperti yang sudah dijelaskan pada bahasan sebelumnya, pada tahap ini
akan dilakukan evaluasi terhadap kedua algoritma yang dipakai pada dataset
akademik dengan memperhatikan beberapa parameter evaluasi yaitu correctly
classified, incorrectly classified, yang mana kedua parameter ini diwakili oleh
parameter overall success rate yang terdapat pada confusion matrix. Persentase
klasifikasi sesuai dengan kelasnya dan klasifikasi yang tidak sesuai dengan
kelasnya diukur menggunakan lift chart dan recall precision sehingga diperoleh
informasi yang tersembunyi di dalamnya. Untuk lebih mempermudah
pemahaman dalam menganalisa hasil klasifikasi yang disajikan, dilampirkan
pula beberapa visualisasi hasil tersebut dalam bentuk grafik yang akan disajikan
setelah tabel persentase hasil klasifikasi.
Berikut ini pada Tabel 16 disajikan persentase hasil klasifikasi data
sesuai dengan kelasnya berdasarkan alat ukur evaluasi berupa confusion matrix
yang terdiri dari overall success rate, lift chart, dan recall precision pada C5.0
dan KNN terhadap data training dan data testing.

Tabel 16. Persentase hasil klasifikasi berdasarkan alat ukur evaluasi confusion
matrix (overall success rate, lift chart, dan recall precision)

Dataset Overall success rate Lift chart Recall precision


C5.0 K=1 K=3 K=5 C5.0 K=1 K=3 K=5 C5.0 K=1 K=3 K=5
Training 87.91 94.21 88.64 86.94 38 41 38 37 81 90 85 84

Testing 86.98 95.83 88.17 89.03 39 42 38 37 80 90 85 85

Pada Tabel 16 diatas dapat dilihat bahwa kecenderungan hasil terbaik


diperoleh pada saat uji coba data menggunakan KNN dengan k=1. Baik pada
saat uji coba dengan data training yang jumlah datanya dua kali lebih banyak
dari data testing, hasil yang diperoleh tetap menunjukkan nilai tertinggi hingga
mencapai lebih dari 95%.
Berikut ini pada Gambar 10, Gambar 11, Gambar 12, disajikan grafik
yang menunjukkan perbandingan terhadap dua metode diatas ke dalam masing-
masing alat ukur evaluasi yang digunakan seperti disebutkan sebelumnya.
100
90
80
70
nilai (%) 60
Training
50
Testing
40
30
20
10
0
C5.0 knn=1 knn=3 knn=5

Overall success rate

Gambar 10. Grafik Overall Success Rate pada dataset akademik menggunakan metode decision
tree (C5.0) dan KNN

Pada grafik di atas terlihat bahwa keberhasilan klasifikasi yang mencapai nilai hampir
100% menunjukkan bahwa KNN dengan k=1 menjadi lebih baik dibandingkan C5.0, namun
keberhasilan tersebut tidak terulang pada saat jumlah k diberikan nilai yang lebih besar. Maka
dapat disimpulkan bahwa klasifikasi metode KNN dengan k=1 adalah model terbaik.

100
90
80
70
nilai % )

training
60
(

50 testing

40
30
20
10
0
c5.0 knn=1 knn=2 knn=3
lift chart

Gambar 11. Grafik Lift Chart pada dataset akademik menggunakan metode decision tree (5.0)
dan KNN

Pada Gambar 11 di atas, kecenderungan hasil yang sama yaitu jumlah kelas positif pada
kedua algoritma terjadi pada saat klasifikasi dilakukan dengan

menggunakan data training dan testing. Rata-rata jumlah data yang terklasifikasi ke dalam
kelas positif mencapai 40% dari seluruh data yang diklasifikasi.\

57
100
90
80
70
nilai (%)

60
Training
50 Testing
40
30
20
10
0
C5.0 knn=1 knn=3 knn=5

recall precision

Gambar 12. Grafik Recall Precision pada dataset akademik menggunakan metode decision tree
(5.0) dan KNN

Pada grafik di atas data yang di klasifikasi dan sesuai dengan kelasnya rata-rata mencapai
nilai hingga 80% lebih, yang menyatakan bahwa seluruh data yang di klasifikasi dapat dikenali
dengan sangat baik oleh kedua algoritma. Hal ini dapat disebabkan oleh karena dilakukannya
tahap seleksi data dan atribut sebelum dilakukan kegiatan klasifikasi, sehingga seluruh data yang
diolah hanyalah data yang bersih dari missing value dan redudancy. Sementara itu sejumlah data
yang diklasifikasi namun tidak sesuai dengan kelasnya (missclassified) sebanyak 5%, dan berikut
ini pada Gambar 13 disajikan grafik persentase klasifikasi sesuai dengan kelasnya (true
classified) dan klasifikasi tidak sesuai dengan kelasnya (missclassified).

ketepatan klasifikasi
100
90
80
70
nilai (%)

60 true classified
50 missclassified

40
30
20
10
0
C5.0 knn=1 knn=3 knn=5

Gambar 13. Grafik persentase true classified dan missclassified

Hasil yang diperoleh dalam penelitian ini dengan menggunakan algoritma C5.0 dan KNN
menunjukkan bahwa decision tree dengan algoritma C5.0 tetap dinilai lebih baik ini
dibandingkan dengan KNN, karena decision tree memberikan output berupa karakteristik data

58
yang terklasifikasi, baik untuk kelas aktif maupun kelas tidak aktif. Sedangkan knn tidak dapat
memberikan karakteristik tersebut sehingga tidak diperoleh informasi karakteristik data yang
dibutuhkan, melainkan hanya memberikan informasi jumlah data yang dapat terklasifikasi dan
tidak terklasifikasi saja.

4. Metode Clustering

Clustering adalah suatu metode pengelompokan berdasarkan ukuran


kedekatan(kemiripan).Clustering beda dengan group, kalau group berarti kelompok yang
sama,kondisinya kalau tidak ya pasti bukan kelompoknya.Tetapi kalau cluster tidak harus
sama akan tetapi pengelompokannya berdasarkan pada kedekatan dari suatu karakteristik
sample yang ada, salah satunya dengan menggunakan rumus jarak ecluidean.Aplikasinya
cluster ini sangat banyak, karena hamper dalam mengidentifikasi permasalahan atau
pengambilan keputusan selalu tidak sama persis akan tetapi cenderung memiliki kemiripan
saja.
Manfaat
• Identifikasi obyek (Recognition) :
Dalam bidang mage Processing , Computer Vision atau robot vision
• Decission Support System dan data mining
Segmentasi pasar, pemetaan wilayah, Manajemen marketing dll.
Prinsip dasar :
• Similarity Measures (ukuran kedekatan)
• Distances dan Similarity Coeficients untuk beberapa sepasang dari item
Ecluidean Distance:

d ( x, y) = ( x1 − y1 ) 2 + ( x2 − y2 ) 2 + ... + ( x p − y p ) 2

Atau :

59
1/ 2
 p

d ( x, y ) = ∑ | xi − yi 2
| 
 i =1 
Metode Clustering pada dasarnya mengoptimumkan pusat cluster(centroid) atau
mengoptimalkan lebar antar cluster.
Macam-macam metode clustering :
• Berbasis Metode Statistikk
a. Hirarchical clustering method : pada kasus untuk jumlah kelompok belum
ditentukan terlebih dulu, contoh data-data hasil survey kuisioner
Macam-metode jenis ini: Single Lingkage,Complete Linkage,Average Linkage dll.
b. Non Hirarchical clustering method: Jumlah kelompok telah ditentukan terlebih
dulu.Metode yang digunakan : K-Means.
• Berbasis Fuzzy : Fuzzy C-Means
• Berbasis Neural Network : Kohonen SOM, LVQ
• Metode lain untuk optimasi centroid atau lebar cluster : Genetik Algoritma (GA)

Gambar : Salah contoh 3 cluster yang terbentuk

60
Pertama akan kita bahas dulu metode cluster secara statistic untuk non hirachical method
yaitu: K-Means Clustering
Algoritma:
1. Partisi item menjadi K initial cluster
2. Lakukan proses perhitungan dari daftar item, tandai item untuk kelompok yang mana
berdasarkan pusat(mean) yang terdekat (dengan menggunakan distance dapat
digunakan Euclidean distance).Hitung kembali pusat centroid untuk item baru yang
diterima pada cluster tersebut dari cluster yang kehilangan item.
3. Ulangi step 2 hingga tidak ada lagi tempat yang akan ditandai sebagai cluster baru.

Contoh :
Dikethui data sebagai berikut:
Item Observasi
X1 X2
A 5 3
B -1 1
C 1 -2
D -3 -2

Ditanya: Lakukan cluster menjadi 2 kelompok (K=2).


• Langkah pertama:
Cluster Koordinate dari Centroid
− −
X1 X2
(AB) 5 + (−1) 3+1
=2 =2
2 2
(CD) 1 + (−3) − 2 + (−2)
= −1 = −2
2 2

• Langkah kedua :
Lakukan perhitungan jarak dengan eclidean dari masing-masing item dari
centroid(pusat) cluster dan tandai kembali setiap item berdasarkan kedekatan
group.Jika item bergerak dari initial configuration, Centroid(pusat/means) cluster
harus diupdate sebelum diproses.Kita hitung kwadrat jarak(squared distance) sbb:

61
d 2 ( A, ( AB)) = (5 − 2)2 + (3 − 2)2 = 10
d 2 ( A, (CD)) = (5 + 1)2 + (3 + 2)2 = 61

Sejak A dekat pada cluster (AB) dibandingkan pada cluster (CD), maka tidak perlu
ditandai.Lanjutkab perhitungan :

d 2 ( B, ( AB)) = (−1 + 2) 2 + (112) 2 = 10


d 2 ( B, (CD)) = (−1 + 1) 2 + (1 + 2) 2 = 9

Sehingga B akan ditandi kembali menjadi anggota baru pada cluster (CD), sehingga
membentuk cluster baru (BCD) maka koordinat dari pusat cluster terupdate sebagai berikut :

Cluster Koordinate dari Centroid


− −
X1 X2
A 5 3
(BCD) -1 -1

Selanjutnya lakukn chek untuk setiap item untuk ditandai kembali. Perhitungan kwadrat
jarak(squared distances) dibarikan sbb:

Cluster Koordinate dari Centroid


A B C D
A 0 40 41 89
(BCD) 52 4 5 5

62
Kita lihat setiap item yang baru telah ditandai untuk cluster berdasarkan centroid(pusat)
terdekat maka proses telah dihentikan.Sehingga dengan K=2 cluster maka terbentuk cluster
sebagai berikut : A dan (BCD).

63

You might also like