Anda di halaman 1dari 48

BAB IV

METODE KLASIFIKASI
4.1 Metode Pohon Keputusan (Decision tree method)
Pada bab ini akan dibahas salah satu metode klasifikasi dalam data
mining. Salah satu metode klasifikasi yang menarik melibatkan
pembangunan pohon keputusan, koleksi node keputusan, terhubung oleh
cabang-cabang, memperluas ke bawah dari simpul akar sampai berakhir di
node daun. Pohon Keputusan adalah flowchart yang berbentuk seperti
struktur pohon, dimana setiap simpul internal (node keputusan) menunjukkan
test pada atribut, setiap cabang merupakan keluaran dari test dan setiap simpul
daun (simpul terminal) adalah merupakan sebuah class. Metode pohon
keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang
merepresentasikan rule. Secara umum metode membangun pohon keputusan
antara lain menentukan atribut sebagai akar, membuat cabang untuk masingmasing nilai, membagi data dalam cabang dan mengulangi proses untuk
masing-masing cabang sampai semua data pada cabang memiliki kelas yang
sama.
Bagian awal dari pohon keputusan ini adalah akar (root) dan setiap cabang
dari pohon keputusan merupakan pembagian berdasarkan hasil perhitungan,
dan titik akhir (leaf) merupakan pembagian kelas yang dihasilkan.
Pohon keputusan mempunyai 3 tipe simpul yaitu:
1. Simpul akar, dimana tidak memiliki cabang yang masuk dan memiliki
cabang keluar lebih dari satu, terkadang tidak memiliki cabang sama sekali.
Simpul ini biasanya berupa atribut yang paling memiliki pengaruh terbesar
pada suatu kelas tertentu.
2. Simpul keputusan, dimana hanya memiliki 1 cabang yang masuk, dan
memiliki lebih dari 1 cabang yang keluar.
3. Simpul daun, atau simpul akhir dimana hanya memiliki 1 cabang yang
masuk, dan tidak memiliki cabang sama sekali dan menandai bahwa simpul
tersebut merupakan label kelas.

Gambar 4.1 Pohon Keputusan untuk konsep pembelian komputer.


(Jiawei Han, 2006)

Pada gambar 4.1 menunjukkan sebuah pohon keputusan dalam membeli


komputer, yaitu memprediksi apakah pelanggan kemungkinan akan membeli
komputer. Node keputusan ditandai dengan persegi panjang, dan node daun
ditandai dengan oval. Simpul akar pada tersebut adalah umur yang memiliki
tepat dua simpul keputusan dibawah nya. Beberapa algoritma pohon
keputusan hanya menghasilkan pohon biner (di mana setiap cabang simpul
keputusan memilik tepat dua simpul daun atau simpul keputusan dibawah
nya), sedangkan yang lain dapat menghasilkan pohon non biner.
Pohon keputusan dengan mudah dapat dikonversi ke aturan
klasifikasi. Pembangunan pengklasifikasi pohon keputusan tidak
memerlukan pengetahuan domain atau pengaturan parameter, dan karena itu
cocok untuk eksplorasi penemuan pengetahuan. Pohon keputusan dapat
menangani data dimensi tinggi. Ketika pohon keputusan dibangun,
banyaknya jumlah cabang dapat mencerminkan noise atau outlier dalam data
pelatihan. Upaya pemangkasan pohon dilakukan untuk mengidentifikasi dan
menghapus cabang dengan tujuan meningkatkan akurasi klasifikasi pada
data. Secara umum, pengklasifikasi pohon keputusan memiliki akurasi yang
baik. Namun, keberhasilan tergantung pada data yang ada. Algoritma induksi
pohon keputusan telah digunakan untuk klasifikasi dalam banyak area
aplikasi, seperti kedokteran, manufaktur dan produksi, analisis keuangan,
astronomi, dan biologi molekuler. Pohon keputusan merupakan dasar dari
beberapa sistem induksi aturan komersial.
4.1.1

ID3

Pada tahun 1970 dan awal 1980, J. Ross Quinlan, seorang peneliti
dalam machine learning mengembangkan algoritma decision tree yang
dikenal sebagai ID3 (Iterative Dichotomiser). Algortima ID3 merupakan
algortima yang sering digunakan karena kemudahan dan kefektifannya.
Algoritma ID3 membentuk decision tree dari beberapa data simbolik yang
bersifat tetap ataupun historikal untuk melakukan pembelajaran
mengklasifikasikan data tersebut dan memprediksi klasifikasi data yang baru.
Data harus memiliki beberapa atribut dengan nilai yang berbeda. Selain itu
data ini juga harus memiliki beragam standar, class yang diskrit (misal:
Yes/No). Decision tree memilih atribut untuk pengambilan keputusan dengan
menggunakan Information Gain. Algoritma ID3 adalah algoritma decision
tree learning (algoritma pembelajaran pohon keputusan) yang paling dasar.
Algoritma ini melakukan pencarian secara rakus/menyeluruh (greedy) pada
semua kemungkinan pohon keputusan.
Struktur dasar dari ID3 adalah iteratif. Sebuah subset dari training set
disebut window, dipilih secara acak dan dibentuk pohon keputusan. Pohon
ini mengklasifikasikan semua objek pada window, kemudian objek-objek lain
pada training set ini kemudian diklasifikasikan menggunakan pohon tersebut.
Jika pohon tersebut memberikan jawaban yang benar untuk semua objek,
maka dinyatakan benar juga untuk seluruh training set dan selanjutnya
seluruh proses dihentikan. Jika tidak, objek terpilih yang belum
terklasifikasikan akan ditambahkan ke window dan proses berlanjut.
Algoritma ini membentuk pohon keputusan dengan cara pembagian
dan menguasai sampel secara rekursif dari atas ke bawah. Algoritma ID3
dimulai dengan semua data yang ada sebagai akar dari pohon keputusan.
Sebuah atribut yang dipilih akan menjadi pembagi dari sampel tersebut.
Untuk setiap atribut dari cabang yang telah dibentuk, semua sampel yang
memiliki nilai yang sama dengan atribut cabang akan masuk dalam
anggotanya dan dinamakan anak cabang.
Tujuan dari pengukuran nilai Information Gain adalah untuk memilih atribut
yang akan dijadikan cabang pada pembentukan pohon keputusan. Atribut
yang memiliki nilai Information Gain yang tertinggi akan dipilih menjadi
atribut uji untuk dijadikan cabang pohon.

ENTROPY & INFORMATION GAIN


Metode dasar ID3 adalah memilih atribut-atribut untuk klasifikasi
dengan menggunakan metode statistik dimulai dari tree bagian atas. Cara
memilih atribut adalah dengan menggunakan properti statistikal yang disebut
dengan Information Gain, yang didefinisikan untuk menentukan ukuran nilai
dari suatu atribut. Sebelumnya sebuah objek yang diklasifikasikan dalam

pohon harus dites nilai entropinya. Entropy adalah ukuran dari teori informasi
yang dapat mengetahui karakteristik dari impurity dan homogenity dari
kumpulan data. Dari nilai entropy tersebut kemudian dihitung nilai
Information Gain (IG) masing-masing atribut. Nilai entropy didefinisikan
sebagai berikut:

() = log 2 ( )

Dimana Pi adalah rasio dari class Ci didalam set data sampel


S = {x1,x2,... xk}
=

Sebagai contoh, set sampel S mempunyai 14 members, dimana didalamnya


ada 9 sampel positif dan 5 sampel negatif. Entropy dari S adalah :

(9 + ,5 ) = (

9
9
5
5
) log 2 ( ) ( ) log 2 ( ) = 0.940
14
14
14
14

Pada beberapa kasus, jika semua member dari set sampel S memiliki
nilai yang sama, maka nilai entropy adalah nol. Hal itu berarti tidak ada
klasifikasi yang mempunyai ketidakpastian (uncertainty). Namun jika jumlah
sampel positif sama dengan jumlah sampel negatif, maka entropy bernilai 1,
berarti ketidakpastian bernilai maksimum. Ini berarti set sampel tidak
mempunyai ketidakpastian (keputusan dari decision tree sudah jelas). Jika
jumlah sampel positif tidak sama dengan jumlah sampel negatif, maka nilai
entropy akan berada diantara 0 dan 1.
Dari rumus entropy diatas dapat disimpulkan bahwa definisi 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. 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 :

(, ) = ()

()

| |
( )
||

Dimana :
bobot W_i=|S_v |/|S|
set sampel

merupakan rasio dari data dengan atribut v didalam

A : atribut
V : 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
E(Sv) : entropy untuk sampel-sampel yang memilki nilai v

Contoh Penerapan Algoritma ID3


Sebagai contoh penerapan algortima ID3 akan digunakan contoh data sebagai
berikut. Sebuah perusahaan akan memberikan bonus tahunan kepada seluruh
karyawannya. Untuk memberikan bonus ini, departemen kepegawaian
perusahaan ini melakukan pembagian karyawan ke dalam tiga buah golongan
yaitu, Golongan A, Golongan B, dan Golongan C. Berikut adalah bonus yang
diperoleh oleh masing-masing golongan karyawan.
Golongan

Bonus Tahunan

Rp 10.000.000,00

Rp 5.000.000,00

Rp 2.500.000,00

Dalam melakukan klasifikasi karyawan ke dalam tiga golongan ini,


departemen kepegawaian menggunakan lima buah parameter, yaitu:
1. Tingkat kehadiran karyawan (Tinggi, Sedang, Rendah)
2. Prestasi karyawan (Tinggi, Rendah)
3. Lama karyawan bekerja di perusahaan ini (Lama, Baru)

4. Jumlah tanggungan karyawan (Banyak, Menengah, Sedikit, Tidak


Ada)
5. Pendidikan karyawan (Tinggi, Sedang, Rendah).
Berikut ini adalah data arsip karyawan yang sudah terklasifikasi secara valid.
Kehadiran

Prestasi

Tinggi
Sedang
Rendah
Tinggi
Sedang
Tinggi
Tinggi
Rendah
Sedang
Sedang
Rendah
Tinggi
Tinggi
Tinggi
Tinggi
Rendah
Sedang
Sedang
Rendah
Tinggi

Tinggi
Rendah
TInggi
Rendah
Tinggi
Tinggi
Rendah
Tinggi
Tinggi
Rendah
Tinggi
Tinggi
Tinggi
Rendah
Tinggi
Rendah
Rendah
Tinggi
Tinggi
Tinggi

Lama
Bekerja
Lama
Baru
Lama
Baru
Baru
Baru
Lama
Lama
Baru
Lama
Lama
Lama
Lama
Baru
Baru
Lama
Baru
Baru
Lama
Lama

Tanggungan

Pendidikan

Gol

Tidak Ada
Sedikit
Menengah
Banyak
Menengah
Menengah
Menengah
Tidak Ada
Tidak Ada
Tidak Ada
Banyak
Banyak
Banyak
Tidak Ada
Tidak Ada
Menengah
Menengah
Menengah
Menengah
Menengah

Tinggi
Sedang
Rendah
Tinggi
Rendah
Rendah
Rendah
Tinggi
Tinggi
Sedang
Sedang
Tinggi
Rendah
Tinggi
Sedang
Tinggi
Rendah
Rendah
Tinggi
Sedang

A
C
B
C
B
B
C
A
B
C
A
A
B
C
B
C
C
B
A
A

Pembentukan Akar
Langkah pertama dalam algortima ini adalah pembentukan akar dengan
memilih atribut dengan nilai gain tertinggi. Sebelum melakukan hal tersebut,
harus dilakukan perhitungan jumlah objek data sampel dengan golongan
(kelas data) A, B, dan C serta dibagi berdasarkan atribut kehadiran, prestasi,
lama bekerja, tanggungan, dan pendidikan. Tabel berikut menggambarkan
hasil penghitungan jumlah objek data sampel tersebut.

Atribut

Jumlah Kasus

Total

20

A
6

Golongan
B
7

C
7

Kehadiran

Prestasi
Lama Bekerja

Tanggungan

Pendidikan

Tinggi
Sedang
Rendah
Tinggi
Rendah
Lama
Baru
Banyak
Sedikit
Menengah
Tidak Ada
Tinggi
Sedang
Rendah

9
6
5
13
7
11
9
4
1
9
6
8
5
7

3
0
3
6
0
6
0
2
0
2
2
4
2
0

3
3
1
7
0
2
5
1
0
4
2
1
1
5

3
3
1
0
7
3
4
1
1
3
2
3
2
2

Selanjutnya adalah melakukan perhitungan entropi dari seluruh partisi atribut


data. Berikut perhitungannya:
Entropi Total :
6
6
7
7
7
7
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
20
20
20
20
20
20
= 1,581

Entropi Kehadiran :
3
3
3
3
3
3
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
9
9
9
9
9
9
= 1,585
0
0
3
3
3
3
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
6
6
6
6
6
6
= 1,000
3
3
1
1
1
1
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
5
5
5
5
5
5
= 1,371

Entropi Prestasi :

6
6
7
7
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
13
13
13
13
13
13
= 0,996
0
0
0
0
7
7
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
7
7
7
7
7
7
= 0,000

Entropi Lama Bekerja :


6
6
2
2
3
3
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
11
11
11
11
11
11
= 1,435
0
0
5
5
4
4
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
9
9
9
9
9
9
= 0,991

Entropi Tanggungan :
2
2
1
1
1
1
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
4
4
4
4
4
4
= 1,500
0
0
0
0
1
1
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
1
1
1
1
1
1
= 0,000
2
2
4
4
3
3
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
9
9
9
9
9
9
= 1,530
2
2
2
2
2
2
( ) = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
6
6
6
6
6
6
= 1,585

Entropi Pendidikan :

4
4
1
1
3
3
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
8
8
8
8
8
8
= 1,406
2
2
1
1
2
2
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
5
5
5
5
5
5
= 1,522
0
0
5
5
2
2
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
7
7
7
7
7
7
= 0,863

Selanjutnya adalah melakukan perhitungan nilai gain dari seluruh atribut data.
Berikut perhitungannya:
9
6
5
(, ) = 1,581 (( ) 1,585 + ( ) 1,000 + ( ) 1,371)
20
20
20
= 0,225
13
7
(, ) = 1,581 (( ) 0,996 + ( ) 0,000)
20
20
= 0,934
11
9
(, ) = 1,581 (( ) 1,435 + ( ) 0,991)
20
20
= 0,346
4
1
( ) 1,500 + ( ) 0,000
20
(, ) = 1,581 ( 20
)
9
6
+ ( ) 1,530 + ( ) 1,585
20
20
= 0,117
(, )
8
5
7
= 1,581 (( ) 1,406 + ( ) 1,522 + ( ) 0,863)
20
20
20
= 0,336

Hasil perhitungan entropi dan gain dapat dilihat pada tabel berikut:

Atribut

Entropi

Gain

Total
Kehadiran

Prestasi
Lama Bekerja

Tanggungan

Pendidikan

1.581
1.585
1.000
1.371
0.996
0.000
1.435
0.991
1.500
0.000
1.530
1.585
1.406
1.522
0.863

Tinggi
Sedang
Rendah
Tinggi
Rendah
Lama
Baru
Banyak
Sedikit
Menengah
Tidak Ada
Tinggi
Sedang
Rendah

0.225

0.934
0.346

0.117

0.336

Dari hasil perhitungan di atas, tampak bahwa atribut dengan nilai gain
tertinggi adalah Prestasi, yaitu sebesar 0,934. Oleh karena itu atribut Prestasi
dijadikan sebagai akar.
Ada dua nilai atribut ini, yaitu Tinggi dan Rendah yang dijadikan sebagai
cabang dari akar Prestasi. Data dari prestasi tinggi dan rendah dipisah seperti
tabel berikut.
Tabel Data Prestasi Tinggi

Kehadiran

Prestasi

Tinggi
Rendah
Sedang
Tinggi
Rendah
Sedang
Rendah
Tinggi
Tinggi
Tinggi
Sedang
Rendah
Tinggi

Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi

Tabel Data Prestasi Rendah

Lama
Bekerja
Lama
Lama
Baru
Baru
Lama
Baru
Lama
Lama
Lama
Baru
Baru
Lama
Lama

Tanggungan

Pendidikan

Gol

Tidak Ada
Menengah
Menengah
Menengah
Tidak Ada
Tidak Ada
Banyak
Banyak
Banyak
Tidak Ada
Menengah
Menengah
Menengah

Tinggi
Rendah
Rendah
Rendah
Tinggi
Tinggi
Sedang
Tinggi
Rendah
Sedang
Rendah
Tinggi
Sedang

A
B
B
B
A
B
A
A
B
B
B
A
A

Kehadiran

Prestasi

Lama
Bekerja

Tanggungan

Pendidikan

Gol

Sedang
Tinggi
Tinggi
Sedang
Tinggi
Rendah
Sedang

Rendah
Rendah
Rendah
Rendah
Rendah
Rendah
Rendah

Baru
Baru
Lama
Lama
Baru
Lama
Baru

Sedikit
Banyak
Menengah
Tidak Ada
Tidak Ada
Menengah
Menengah

Sedang
Tinggi
Rendah
Sedang
Tinggi
Tinggi
Rendah

C
C
C
C
C
C
C

Prestasi

Rendah

GOL C

Tinggi

1.1
?

Pembentukan Node Keputusan 1.1


Berikutnya adalah pembentukan node keputusan 1.1 dengan memilih atribut
dengan nilai gain tertinggi, selain atribut Prestasi. Sama seperti langkah
sebelumnya, harus dilakukan perhitungan jumlah objek data sampel dengan
golongan (kelas data) A, B, dan C serta dibagi berdasarkan atribut kehadiran,
lama bekerja, tanggungan, dan pendidikan. Selain itu, jumlah objek data yang
dihitung merupakan data dengan atribut Prestasi bernilai Tinggi. Tabel
berikut menggambarkan hasil penghitungan jumlah objek data sampel
dengan atribut prestasi bernilai tinggi.

Atribut
Total
Kehadiran

Lama Bekerja

Tanggungan

Pendidikan

Tinggi
Sedang
Rendah
Lama
Baru
Banyak
Sedikit
Menengah
Tidak Ada
Tinggi
Sedang
Rendah

Jumlah
Kasus
13
6
3
4
8
5
3
0
6
4
5
3
5

A
6
3
0
3
6
0
2
0
2
2
4
2
0

Golongan
B
7
3
3
1
2
5
1
0
4
2
1
1
5

C
0
0
0
0
0
0
0
0
0
0
0
0
0

Selanjutnya adalah melakukan perhitungan entropi dari seluruh partisi atribut


data. Berikut perhitungannya:
Entropi Total :
6
6
7
7
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
13
13
13
13
13
13
= 0,996

Entropi Kehadiran :
3
3
3
3
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
6
6
6
6
6
6
= 1,000
0
0
3
3
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
3
3
3
3
3
3
= 0,000
3
3
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
4
4
4
4
4
4
= 0,811

Entropi Lama Bekerja :


6
6
2
2
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
8
8
8
8
8
8
= 0,811
0
0
5
5
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
5
5
5
5
5
5
= 0,000

Entropi Tanggungan :
2
2
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
3
3
3
3
3
3
= 0,918
0
0
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
0
0
0
0
0
0
= 0,000
2
2
4
4
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
6
6
6
6
6
6
= 0,918
2
2
2
2
0
0
( ) = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
4
4
4
4
4
4
= 1,000

Entropi Pendidikan :
4
4
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
5
5
5
5
5
5
= 0,722
2
2
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
3
3
3
3
3
3
= 0,918

0
0
5
5
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
5
5
5
5
5
5
= 0,000

Selanjutnya adalah melakukan perhitungan nilai gain dari seluruh atribut data.
Berikut perhitungannya:
6
3
4
(, ) = 0,996 (( ) 1,000 + ( ) 0,000 + ( ) 0,811)
13
13
13
= 0,285
8
5
(, ) = 0,996 (( ) 0,811 + ( ) 0,000)
13
13
= 0,496
3
0
( ) 0,918 + ( ) 0,000
13
(, ) = 0,996 ( 13
)
6
4
+ ( ) 0,918 + ( ) 1,000
13
13
= 0,052
(, )
5
3
5
= 0,996 (( ) 0,722 + ( ) 0,918 + ( ) 0,000)
13
13
13
= 0,506

Hasil perhitungan di atas dapat dilihat pada tabel berikut:


Atribut
Total

Entropi
0.996
1.000
0.000
0.811
0.811
0.000
0.918
0.000
0.918
1.000
0.722
0.918
0.000

Tinggi
Sedang
Rendah
Lama
Baru
Banyak
Sedikit
Menengah
Tidak Ada
Tinggi
Sedang
Rendah

Kehadiran

Lama Bekerja

Tanggungan

Pendidikan

Gain

0.285

0.496

0.052

0.506

Dari hasil perhitungan di atas, tampak bahwa atribut dengan nilai gain
tertinggi adalah Pendidikan, yaitu sebesar 0,506. Oleh karena itu atribut
Pendidikan dijadikan sebagai node keputusan 1.1. Ada tiga nilai atribut ini,
yaitu Tinggi, Sedang, dan Rendah yang dijadikan sebagai cabang dari node
keputusan Pendidikan. Data dari atribut pendidikan dipisah seperti berikut.
Tabel Data Prestasi Tinggi dan Pendidikan Tinggi

Kehadiran

Prestasi

Tinggi
Rendah
Sedang
Tinggi
Rendah

Tinggi
Tinggi
Tinggi
Tinggi
Tinggi

Lama
Bekerja
Lama
Lama
Baru
Lama
Lama

Tanggungan

Pendidikan

Gol

Tidak Ada
Tidak Ada
Tidak Ada
Banyak
Menengah

Tinggi
Tinggi
Tinggi
Tinggi
Tinggi

A
A
B
A
A

Tanggungan

Pendidikan

Gol

Banyak
Tidak Ada
Menengah

Sedang
Sedang
Sedang

A
B
A

Tabel Data Prestasi Tinggi dan Pendidikan Sedang

Kehadiran

Prestasi

Rendah
Tinggi
Tinggi

Tinggi
Tinggi
Tinggi

Lama
Bekerja
Lama
Baru
Lama

Tabel Data Prestasi Tinggi dan Pendidikan Rendah

Kehadiran

Prestasi

Rendah
Sedang
Tinggi
Tinggi
Sedang

Tinggi
Tinggi
Tinggi
Tinggi
Tinggi

Lama
Bekerja
Lama
Baru
Baru
Lama
Baru

Tanggungan

Pendidikan

Gol

Menengah
Menengah
Menengah
Banyak
Menengah

Rendah
Rendah
Rendah
Rendah
Rendah

B
B
B
B
B

Cabang Tinggi dan Sedang masih perlu dilakukan perhitungan lebih lanjut
lagi, karena seluruh data sampel belum terkumpul di satu kelas yang sama.
Cabang Rendah sudah dapat mengklasifikasikan objek data ke dalam
Golongan B, karena seluruh data sampel sudah terkumpul di kelas B. Berikut
adalah gambaran decision tree yang sudah terbentuk pada tahapan ini.
Prestasi

Tinggi

Rendah

GOL C

1.1
Pendidikan
Tinggi
Rendah

Sedang

GOL B

1.1.2
?

1.1.1
?

Pembentukan Node keputusan 1.1.1


Berikutnya adalah pembentukan node keputusan 1.1.1 dengan memilih
atribut dengan nilai gain tertinggi, selain atribut Prestasi dan Pendidikan.
Sama seperti langkah sebelumnya, harus dilakukan perhitungan jumlah objek
data sampel dengan golongan (kelas data) A, B, dan C serta dibagi
berdasarkan atribut kehadiran, lama bekerja, tanggungan, dan pendidikan.

Selain itu, jumlah objek data yang dihitung merupakan data dengan atribut
Prestasi bernilai Tinggi dan atribut Pendidikan bernilai Tinggi. Tabel berikut
menggambarkan hasil penghitungan jumlah objek data sampel dengan atribut
Pendidikan Tinggi.
Atribut
Total
Kehadiran

Lama Bekerja

Tanggungan

Tinggi
Sedang
Rendah
Lama
Baru
Banyak
Sedikit
Menengah
Tidak Ada

Jumlah
Kasus
5
2
1
2
4
1
1
0
1
3

A
4
2
0
2
4
0
1
0
1
2

Golongan
B
1
0
1
0
0
1
0
0
0
1

C
0
0
0
0
0
0
0
0
0
0

Selanjutnya adalah melakukan perhitungan entropi dari seluruh partisi atribut


data. Berikut perhitungannya:
Entropi Total :
4
4
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
5
5
5
5
5
5
= 0,722

Entropi Kehadiran :
2
2
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
2
2
2
2
2
2
= 0,000
0
0
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
1
1
1
1
1
1
= 0,000
2
2
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
2
2
2
2
2
2
= 0,000

Entropi Lama Bekerja :


4
4
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
4
4
4
4
4
4
= 0,000
0
0
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
1
1
1
1
1
1
= 0,000

Entropi Tanggungan :
1
1
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
1
1
1
1
1
1
= 0,000
0
0
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
0
0
0
0
0
0
= 0,000
1
1
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
1
1
1
1
1
1
= 0,000
2
2
1
1
0
0
( ) = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
3
3
3
3
3
3
= 0,918

Selanjutnya adalah melakukan perhitungan nilai gain dari seluruh atribut data.
Berikut perhitungannya:
2
1
2
(, ) = 0,722 (( ) 0,000 + ( ) 0,000 + ( ) 0,000)
5
5
5
= 0,722
4
1
(, ) = 0,722 (( ) 0,000 + ( ) 0,000)
5
5
= 0,722

1
0
( ) 0,000 + ( ) 0,000
5
(, ) = 0,722 ( 5
)
1
3
+ ( ) 0,000 + ( ) 0,918
5
5
= 0,171

Hasil perhitungan di atas dapat dilihat pada tabel berikut:


Atribut
Total
Kehadiran

Lama Bekerja

Tanggungan

Entropi
0.722
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.918

Tinggi
Sedang
Rendah
Lama
Baru
Banyak
Sedikit
Menengah
Tidak Ada

Gain

0.722

0.722

0.171

Dari hasil perhitungan di atas, tampak bahwa atribut dengan nilai gain
tertinggi adalah Kehadiran dan Lama Bekerja, yaitu sebesar 0,722. Oleh
karena itu dipilih salah satu dari atribut tesebut. Missal dipilih atribut
Kehadiran dijadikan sebagai node keputusan 1.1.1. Ada tiga nilai atribut ini,
yaitu Tinggi, Sedang, dan Rendah yang dijadikan sebagai cabang dari node
keputusan Kehadiran.
Tabel Data Prestasi Tinggi, Pendidikan Tinggi dan Kehadiran Tinggi

Kehadiran

Prestasi

Tinggi
Tinggi

Tinggi
Tinggi

Lama
Bekerja
Lama
Lama

Tanggungan

Pendidikan

Gol

Tidak Ada
Banyak

Tinggi
Tinggi

A
A

Tanggungan

Pendidikan

Gol

Tidak Ada

Tinggi

Tabel Data Prestasi Tinggi, Pendidikan Tinggi dan Kehadiran Sedang

Kehadiran

Prestasi

Sedang

Tinggi

Lama
Bekerja
Baru

Tabel Data Prestasi Tinggi, Pendidikan Tinggi dan Kehadiran Rendah

Kehadiran

Prestasi

Rendah
Rendah

Tinggi
Tinggi

Lama
Bekerja
Lama
Lama

Tanggungan

Pendidikan

Gol

Tidak Ada
Menengah

Tinggi
Tinggi

A
A

Cabang Tinggi, Sedang, dan Rendah sudah tidak perlu dilakukan perhitungan
lebih lanjut lagi, karena seluruh data sampel sudah terkumpul di satu kelas
yang sama. Cabang Tinggi sudah dapat mengklasifikasikan objek data ke
dalam Golongan A, karena seluruh data sampel sudah terkumpul di kelas A.
Cabang Sedang sudah dapat mengklasifikasikan objek data ke dalam
Golongan B, karena seluruh data sampel sudah terkumpul di kelas B. Cabang
Rendah sudah dapat mengklasifikasikan objek data ke dalam Golongan A,
karena seluruh data sampel sudah terkumpul di kelas A. Berikut adalah
gambaran decision tree yang sudah terbentuk pada tahapan ini.
Prestasi
Tinggi

Rendah

GOL C

1.1
Pendidikan
Tinggi
Rendah

GOL B

Sedang

1.1.2
?

1.1.1
Kehadiran

Rendah

GOL A

Pembentukan Node keputusan 1.1.2

Sedang

GOL B

Tinggi

GOL A

Berikutnya adalah pembentukan node keputusan 1.1.2 dengan memilih


atribut dengan nilai gain tertinggi, selain atribut Prestasi dan Pendidikan.
Sama seperti langkah sebelumnya, harus dilakukan perhitungan jumlah objek
data sampel dengan golongan (kelas data) A, B, dan C serta dibagi
berdasarkan atribut kehadiran, lama bekerja, tanggungan, dan pendidikan.
Selain itu, jumlah objek data yang dihitung merupakan data dengan atribut
Prestasi bernilai Tinggi dan atribut Pendidikan bernilai Sedang. Tabel berikut
menggambarkan hasil penghitungan jumlah objek data sampel tersebut.
Atribut
Total
Kehadiran

Lama Bekerja

Tanggungan

Tinggi
Sedang
Rendah
Lama
Baru
Banyak
Sedikit
Menengah
Tidak Ada

Jumlah
Kasus
3
2
0
1
2
1
1
0
1
1

A
2
1
0
1
2
0
1
0
1
0

Golongan
B
1
1
0
0
0
1
0
0
0
1

C
0
0
0
0
0
0
0
0
0
0

Selanjutnya adalah melakukan perhitungan entropi dari seluruh partisi atribut


data. Berikut perhitungannya:
Entropi Total :
2
2
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
3
3
3
3
3
3
= 0,918

Entropi Kehadiran :
1
1
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
2
2
2
2
2
2
= 1,000
0
0
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
0
0
0
0
0
0
= 0,000

1
1
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
1
1
1
1
1
1
= 0,000

Entropi Lama Bekerja :


2
2
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
2
2
2
2
2
2
= 0,000
0
0
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
1
1
1
1
1
1
= 0,000

Entropi Tanggungan :
1
1
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
1
1
1
1
1
1
= 0,000
0
0
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
0
0
0
0
0
0
= 0,000
1
1
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
1
1
1
1
1
1
= 0,000
0
0
1
1
0
0
( ) = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
1
1
1
1
1
1
= 0,000

Selanjutnya adalah melakukan perhitungan nilai gain dari seluruh atribut data.
Berikut perhitungannya:
2
0
1
(, ) = 0,918 (( ) 1,000 + ( ) 0,000 + ( ) 0,000)
3
3
3
= 0,252

2
1
(, ) = 0,918 (( ) 0,000 + ( ) 0,000)
3
3
= 0,918
1
0
( ) 0,000 + ( ) 0,000
3
(, ) = 0,918 ( 3
)
1
1
+ ( ) 0,000 + ( ) 0,000
3
3
= 0,918

Hasil perhitungan di atas dapat dilihat pada tabel berikut:


Atribut
Total
Kehadiran

Lama Bekerja

Tanggungan

Tinggi
Sedang
Rendah
Lama
Baru
Banyak
Sedikit
Menengah
Tidak Ada

Entropi
0.918
1.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000

Gain

0.252

0.918

0.918

Dari hasil perhitungan di atas, tampak bahwa atribut dengan nilai gain
tertinggi adalah Lama Bekerja dan Tanggungan, yaitu sebesar 0,918. Oleh
karena itu dipilih salah satu dari atribut tersebut. Misal dipilih atribut Lama
Bekerja dijadikan sebagai node keputusan 1.1.2.
Tabel Data Prestasi Tinggi, Pendidikan Sedang dan Lama Bekerja Lama

Kehadiran

Prestasi

Rendah
Tinggi

Tinggi
Tinggi

Lama
Bekerja
Lama
Lama

Tanggungan

Pendidikan

Gol

Banyak
Menengah

Sedang
Sedang

A
A

Tabel Data Prestasi Tinggi, Pendidikan Sedang dan Lama Bekerja Baru

Kehadiran

Prestasi

Tinggi

Tinggi

Lama
Bekerja
Baru

Tanggungan

Pendidikan

Gol

Tidak Ada

Sedang

Ada dua nilai atribut ini, yaitu Lama dan Baru yang dijadikan sebagai cabang
dari node keputusan Lama Bekerja. Cabang Lama dan Baru sudah tidak perlu
dilakukan perhitungan lebih lanjut lagi, karena seluruh data sampel sudah
terkumpul di satu kelas yang sama. Cabang Lama sudah dapat
mengklasifikasikan objek data ke dalam Golongan A, karena seluruh data
sampel sudah terkumpul di kelas A. Cabang Baru sudah dapat
mengklasifikasikan objek data ke dalam Golongan B, karena seluruh data
sampel sudah terkumpul di kelas B. Berikut adalah gambaran decision tree
yang sudah terbentuk pada tahapan ini.

Prestasi
Tinggi

Rendah

GOL C

1.1
Pendidikan
Tinggi

Rendah
Sedang
1.1.2
Lama Bekerja

GOL B

Lama

GOL A

1.1.1
Kehadiran

Baru
Rendah

GOL B

GOL A

Sedang

GOL B

Tinggi

GOL A

Proses pembentukan pohon keputusan sudah berakhir, karena sudah tidak ada
cabang yang perlu dilakukan perhitungan lebih lanjut lagi. Pada perhitungan
setiap cabang, seluruh objek data sampel sudah berkumpul di satu kelas yang
sama.

Berikut adalah contoh data baru. Data ini akan diklasifikasikan ke dalam
Golongan Karyawan A, B, atau C. dengan menggunakan decision tree di atas:
No

Kehadiran

Prestasi

1
2

Rendah
Sedang

Tinggi
Tinggi

Lama
Bekerja
Lama
Baru

Tanggungan

Pendidikan

Gol

Tidak Ada
Banyak

Tinggi
Tinggi

?
?

Untuk data no 1 diketahui data baru dengan atribut kehadiran bernilai rendah,
atribut pretasi bernilai Tinggi, atribut lama bekerja bernilai Lama, atribut
tanggungan bernilai Tidak Ada, dan atribut pendidikan bernilai Tinggi.
Aturan yang terjadi sesuai dengan data baru tersebut adalah
IF (Prestasi = Tinggi) ^ (Pendidikan = Tinggi) ^
(Kehadiran = Rendah) THEN (Gol = Gol A)

Dari penelusuran di atas, diketahui bahwa data baru karyawan tersebut


diklasifikasi sebagai karyawan dengan Golongan A
Untuk data no 2 diketahui data baru dengan atribut kehadiran bernilai sedang,
atribut pretasi bernilai Tinggi, atribut lama bekerja bernilai Baru, atribut
tanggungan bernilai Banyak, dan atribut pendidikan bernilai Tinggi. Aturan
yang terjadi sesuai dengan data baru tersebut adalah
IF (Prestasi = Tinggi) ^ (Pendidikan = Tinggi) ^
(Kehadiran = Rendah) THEN (Gol = Gol B)

Dari penelusuran di atas, diketahui bahwa data baru karyawan tersebut


diklasifikasi sebagai karyawan dengan Golongan B

4.1.2

C4.5

Metode klasifikasi berikutnya yang cukup popular adalah algoritma


C4.5. Algoritma C4.5 merupakan pengembangan dari algoritma ID3. Konsep
dasar algoritma C4.5 memiliki kesamaan dengan IDE. Perbedaan utama C4.5
dari ID3 adalah:
- C4.5 dapat menangani atribut kontinyu dan diskrit.
- C4.5 dapat menangani training data dengan missing value.
- Hasil pohon keputusan C4.5 akan dipangkas setelah dibentuk.
- Pemilihan atribut yang dilakukan dengan menggunakan Gain ratio.
Gain ratio
Informasi gain pada ID3 lebih memilih atribut yang memiliki data
yang besar. Sebagai contoh, mempertimbangkan atribut yang berfungsi
sebagai unique identifier, seperti product_ID akan menghasilkan keluaran
dalam jumlah yang banyak, di mana setiap keluaran hanya terdiri dari satu
tuple. Karena setiap partisi murni, informasi yang diperlukan untuk
mengklasifikasikan data set D berdasarkan partisi ini akan menjadi
Infoproduct ID (D) = 0. Sebagai akibatnya, informasi yang diperoleh oleh
partisi pada atribut ini adalah maksimal. Padahal, jelas sekali terlihat bahwa
partisi semacam ini tidaklah berguna.
C4.5 sebagai penerus dari ID3 menggunakan ekstensi untuk informasi
gain yang dikenal sebagai gain ratio untuk mengatasi bias yang terjadi pada
ID3. Ini semacam bentuk normalisasi untuk mendapatkan informasi
menggunakan split informasi yang dapat didefinisikan seperti berikut.

() =
=0

||
||
2 (
)
||
||

Dimana:
D = ruang (data) sample yang digunakan untuk training.
Dj = jumlah sample untuk atribut i
Nilai ini merupakan informasi yang potensial yang dihasilkan dengan
memisahkan set data pelatihan, D, menjadi partisi v, sesuai dengan hasil v
dari tes pada atribut A. Untuk mecari nilai gain ratio didefinisikan seperti
berikut.
() =

Contoh Penerapan Algoritma C4.5

()
()

Sebagai contoh penerapan algortima C4.5 akan digunakan contoh data


sebagai berikut. Sebuah perusahaan akan memberikan bonus tahunan kepada
seluruh karyawannya. Untuk memberikan bonus ini, departemen
kepegawaian perusahaan ini melakukan pembagian karyawan ke dalam tiga
buah golongan yaitu, Golongan A, Golongan B, dan Golongan C. Berikut
adalah bonus yang diperoleh oleh masing-masing golongan karyawan.
Golongan

Bonus Tahunan

Rp 10.000.000,00

Rp 5.000.000,00

Rp 2.500.000,00

Dalam melakukan klasifikasi karyawan ke dalam tiga golongan ini,


departemen kepegawaian menggunakan lima buah parameter, yaitu:
1.
2.
3.
4.

Tingkat kehadiran karyawan (Tinggi, Sedang, Rendah)


Prestasi karyawan (Tinggi, Rendah)
Lama karyawan bekerja di perusahaan ini (Lama, Baru)
Jumlah tanggungan karyawan (Banyak, Menengah, Sedikit, Tidak
Ada)
5. Pendidikan karyawan (Tinggi, Sedang, Rendah).
Berikut ini adalah data arsip karyawan yang sudah terklasifikasi secara valid.

No

Kehadiran

Prestasi

Lama
Bekerja

Tanggungan

Pendidikan

Gol

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Tinggi
Sedang
Rendah
Tinggi
Sedang
Tinggi
Tinggi
Rendah
Sedang
Sedang
Rendah
Tinggi
Tinggi
Tinggi
Tinggi
Rendah
Sedang
Sedang
Rendah
Tinggi

Tinggi
Rendah
Tinggi
Rendah
Tinggi
Tinggi
Rendah
Tinggi
Tinggi
Rendah
Tinggi
Tinggi
Tinggi
Rendah
Tinggi
Rendah
Rendah
Tinggi
Tinggi
Tinggi

Lama
Baru
Lama
Baru
Baru
Baru
Lama
Lama
Baru
Lama
Lama
Lama
Lama
Baru
Baru
Lama
Baru
Baru
Lama
Lama

Tidak Ada
Sedikit
Menengah
Banyak
Menengah
Menengah
Menengah
Tidak Ada
Tidak Ada
Tidak Ada
Banyak
Banyak
Banyak
Tidak Ada
Tidak Ada
Menengah
Menengah
Menengah
Menengah
Menengah

Tinggi
Sedang
Rendah
Tinggi
Rendah
Rendah
Rendah
Tinggi
Tinggi
Sedang
Sedang
Tinggi
Rendah
Tinggi
Sedang
Tinggi
Rendah
Rendah
Tinggi
Sedang

A
C
B
C
B
B
C
A
B
C
A
A
B
C
B
C
C
B
A
A

Pembentukan Akar
Langkah pertama dalam algortima ini adalah pembentukan akar dengan
memilih atribut dengan nilai gain ratio tertinggi. Sebelum melakukan hal
tersebut, harus dilakukan perhitungan jumlah objek data sampel dengan
golongan (kelas data) A, B, dan C serta dibagi berdasarkan atribut kehadiran,
prestasi, lama bekerja, tanggungan, dan pendidikan. Tabel berikut
menggambarkan hasil penghitungan jumlah objek data sampel tersebut.

Atribut

Jumlah Kasus

Total

20

A
6

Golongan
B
7

C
7

Kehadiran

Prestasi
Lama Bekerja

Tanggungan

Pendidikan

Tinggi
Sedang
Rendah
Tinggi
Rendah
Lama
Baru
Banyak
Sedikit
Menengah
Tidak Ada
Tinggi
Sedang
Rendah

9
6
5
13
7
11
9
4
1
9
6
8
5
7

3
0
3
6
0
6
0
2
0
2
2
4
2
0

3
3
1
7
0
2
5
1
0
4
2
1
1
5

3
3
1
0
7
3
4
1
1
3
2
3
2
2

Selanjutnya adalah melakukan perhitungan entropi dari seluruh partisi atribut


data. Berikut perhitungannya:
Entropi Total :
6
6
7
7
7
7
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
20
20
20
20
20
20
= 1,581

Entropi Kehadiran :
3
3
3
3
3
3
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
9
9
9
9
9
9
= 1,585
0
0
3
3
3
3
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
6
6
6
6
6
6
= 1,000
3
3
1
1
1
1
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
5
5
5
5
5
5
= 1,371

Entropi Prestasi :

6
6
7
7
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
13
13
13
13
13
13
= 0,996
0
0
0
0
7
7
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
7
7
7
7
7
7
= 0,000

Entropi Lama Bekerja :


6
6
2
2
3
3
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
11
11
11
11
11
11
= 1,435
0
0
5
5
4
4
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
9
9
9
9
9
9
= 0,991

Entropi Tanggungan :
2
2
1
1
1
1
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
4
4
4
4
4
4
= 1,500
0
0
0
0
1
1
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
1
1
1
1
1
1
= 0,000
2
2
4
4
3
3
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
9
9
9
9
9
9
= 1,530
2
2
2
2
2
2
( ) = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
6
6
6
6
6
6
= 1,585

Entropi Pendidikan :

4
4
1
1
3
3
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
8
8
8
8
8
8
= 1,406
2
2
1
1
2
2
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
5
5
5
5
5
5
= 1,522
0
0
5
5
2
2
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
7
7
7
7
7
7
= 0,863

Selanjutnya adalah melakukan perhitungan nilai gain dari seluruh atribut data.
Berikut perhitungannya:
9
6
5
(, ) = 1,581 (( ) 1,585 + ( ) 1,000 + ( ) 1,371)
20
20
20
= 0,225
13
7
(, ) = 1,581 (( ) 0,996 + ( ) 0,000)
20
20
= 0,934
11
9
(, ) = 1,581 (( ) 1,435 + ( ) 0,991)
20
20
= 0,346
4
1
( ) 1,500 + ( ) 0,000
20
(, ) = 1,581 ( 20
)
9
6
+ ( ) 1,530 + ( ) 1,585
20
20
= 0,117
(, )
8
5
7
= 1,581 (( ) 1,406 + ( ) 1,522 + ( ) 0,863)
20
20
20
= 0,336

Selanjutnya adalah melakukan perhitungan nilai Splitinfo dari seluruh atribut


data. Berikut perhitungannya:

9
9
6
6
5
5
() = ( ) log 2
( ) log 2
( ) log 2
20
20
20
20
20
20
= 1.539
() = (

13
13
7
7
) log 2
( ) log 2
20
20
20
20

= 0.934
( ) = (

11
11
9
9
) log 2
( ) log 2
20
20
20
20

= 0.993
()
4
4
1
1
9
9
6
6
= ( ) log 2
( ) log 2
( ) log 2
( ) log 2
20
20
20
20
20
20
20
20
= 1.720
8
8
5
5
7
7
() = ( ) log 2
( ) log 2
( ) log 2
20
20
20
20
20
20
= 1.559

Selanjutnya adalah melakukan perhitungan nilai Gain ratio dari seluruh


atribut data. Berikut perhitungannya:

() = 0.225 / 1.539 = 0.146


() = 0.934 / 0.934 = 1
( ) = 0.346 / 0.993 = 0.348
() = 0.117 / 1.720 = 0.068
() = 0.336 / 1.559 = 0.216

Hasil perhitungan entropi, gain, splitinfo dan gain ratio dapat dilihat pada
tabel berikut:
Atribut

Entropi

Total

1.581
1.585
1.000
1.371
0.996
0.000
1.435
0.991
1.500
0.000
1.530
1.585
1.406
1.522
0.863

Kehadiran

Prestasi
Lama Bekerja

Tanggungan

Pendidikan

Tinggi
Sedang
Rendah
Tinggi
Rendah
Lama
Baru
Banyak
Sedikit
Menengah
Tidak Ada
Tinggi
Sedang
Rendah

Gain

Split
Info

Ratio
Gain

0.225

1.539

0.146

0.934

0.934

0.346

0.993

0.348

0.117

1.720

0.068

0.336

1.559

0.216

Dari hasil perhitungan di atas, tampak bahwa atribut dengan nilai gain ratio
tertinggi adalah Prestasi, yaitu sebesar 1. Oleh karena itu atribut Prestasi
dijadikan sebagai akar.
Ada dua nilai atribut Prestasi, yaitu Tinggi dan Rendah yang dijadikan
sebagai cabang dari akar Prestasi. Data dari prestasi tinggi dan rendah dipisah
seperti tabel berikut.

Tabel Data Prestasi Tinggi

No

Kehadiran

Prestasi

1
3
5
6
8
9
11
12
13
15
18
19
20

Tinggi
Rendah
Sedang
Tinggi
Rendah
Sedang
Rendah
Tinggi
Tinggi
Tinggi
Sedang
Rendah
Tinggi

Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi

Lama
Bekerja
Lama
Lama
Baru
Baru
Lama
Baru
Lama
Lama
Lama
Baru
Baru
Lama
Lama

Tanggungan

Pendidikan

Gol

Tidak Ada
Menengah
Menengah
Menengah
Tidak Ada
Tidak Ada
Banyak
Banyak
Banyak
Tidak Ada
Menengah
Menengah
Menengah

Tinggi
Rendah
Rendah
Rendah
Tinggi
Tinggi
Sedang
Tinggi
Rendah
Sedang
Rendah
Tinggi
Sedang

A
B
B
B
A
B
A
A
B
B
B
A
A

Tanggungan

Pendidikan

Gol

Sedikit
Banyak
Menengah
Tidak Ada
Tidak Ada
Menengah
Menengah

Sedang
Tinggi
Rendah
Sedang
Tinggi
Tinggi
Rendah

C
C
C
C
C
C
C

Tabel Data Prestasi Rendah

No

Kehadiran

Prestasi

2
4
7
10
14
16
17

Sedang
Tinggi
Tinggi
Sedang
Tinggi
Rendah
Sedang

Rendah
Rendah
Rendah
Rendah
Rendah
Rendah
Rendah

Lama
Bekerja
Baru
Baru
Lama
Lama
Baru
Lama
Baru

Cabang Tinggi masih perlu dilakukan perhitungan lebih lanjut lagi, karena
seluruh data sampel belum terkumpul di satu kelas yang sama. Cabang
Rendah sudah dapat mengklasifikasikan objek data ke dalam Golongan C,
karena seluruh data sampel sudah terkumpul di kelas C. Berikut adalah
gambaran decision tree yang sudah terbentuk pada tahapan ini.

Prestasi

Tinggi

Rendah

GOL C

1.1
?

Pembentukan Node keputusan 1.1


Berikutnya adalah pembentukan node keputusan 1.1 dengan memilih atribut
dengan nilai gain ratio tertinggi, selain atribut Prestasi. Sama seperti langkah
sebelumnya, harus dilakukan perhitungan jumlah objek data sampel dengan
golongan (kelas data) A, B, dan C serta dibagi berdasarkan atribut kehadiran,
lama bekerja, tanggungan, dan pendidikan. Selain itu, jumlah objek data yang
dihitung merupakan data dengan atribut Prestasi bernilai Tinggi. Tabel
berikut menggambarkan hasil penghitungan jumlah objek data sampel
dengan atribut prestasi bernilai tinggi.
Atribut
Total
Kehadiran

Lama Bekerja

Tanggungan

Pendidikan

Tinggi
Sedang
Rendah
Lama
Baru
Banyak
Sedikit
Menengah
Tidak Ada
Tinggi
Sedang
Rendah

Jumlah
Kasus
13
6
3
4
8
5
3
0
6
4
5
3
5

A
6
3
0
3
6
0
2
0
2
2
4
2
0

Golongan
B
7
3
3
1
2
5
1
0
4
2
1
1
5

C
0
0
0
0
0
0
0
0
0
0
0
0
0

Selanjutnya adalah melakukan perhitungan entropi dari seluruh partisi atribut


data kecuali atribut prestasi. Berikut perhitungannya:
Entropi Total :
6
6
7
7
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
13
13
13
13
13
13
= 0,996

Entropi Kehadiran :
3
3
3
3
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
6
6
6
6
6
6
= 1,000
0
0
3
3
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
3
3
3
3
3
3
= 0,000
3
3
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
4
4
4
4
4
4
= 0,811

Entropi Lama Bekerja :


6
6
2
2
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
8
8
8
8
8
8
= 0,811
0
0
5
5
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
5
5
5
5
5
5
= 0,000

Entropi Tanggungan :
2
2
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
3
3
3
3
3
3
= 0,918

0
0
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
0
0
0
0
0
0
= 0,000
2
2
4
4
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
6
6
6
6
6
6
= 0,918
2
2
2
2
0
0
( ) = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
4
4
4
4
4
4
= 1,000

Entropi Pendidikan :
4
4
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
5
5
5
5
5
5
= 0,722
2
2
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
3
3
3
3
3
3
= 0,918
0
0
5
5
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
5
5
5
5
5
5
= 0,000

Selanjutnya adalah melakukan perhitungan nilai gain dari seluruh atribut data
kecuali atribut prestasi. Berikut perhitungannya:
6
3
4
(, ) = 0,996 (( ) 1,000 + ( ) 0,000 + ( ) 0,811)
13
13
13
= 0,285
8
5
(, ) = 0,996 (( ) 0,811 + ( ) 0,000)
13
13
= 0,496

3
0
( ) 0,918 + ( ) 0,000
13
(, ) = 0,996 ( 13
)
6
4
+ ( ) 0,918 + ( ) 1,000
13
13
= 0,052
(, )
5
3
5
= 0,996 (( ) 0,722 + ( ) 0,918 + ( ) 0,000)
13
13
13
= 0,506

Selanjutnya adalah melakukan perhitungan nilai Splitinfo dari seluruh atribut


data kecuali atribut prestasi. Berikut perhitungannya:
6
6
3
3
4
4
() = ( ) log 2
( ) log 2
( ) log 2
13
13
13
13
13
13
= 1.526
( ) = (

8
8
5
5
) log 2
( ) log 2
13
13
13
13

= 0.961
()
3
3
0
0
6
6
4
4
= ( ) log 2
( ) log 2
( ) log 2
( ) log 2
13
13
13
13
13
13
13
13
=~
5
5
3
3
5
5
() = ( ) log 2
( ) log 2
( ) log 2
13
13
13
13
13
13
= 1.549

Selanjutnya adalah melakukan perhitungan nilai Splitinfo dari seluruh atribut


data kecuali atribut prestasi. Berikut perhitungannya:
() = 0.285 / 1.526 = 0.186
( ) = 0.496 / 0.961 = 0.517
() = 0.052 / ~ = ~
() = 0.506/ 1.549 = 0.327

Hasil perhitungan di atas dapat dilihat pada tabel berikut:


Atribut

Entropi

Total

0.996
1.000
0.000
0.811
0.811
0.000
0.918
0.000
0.918
1.000
0.722
0.918
0.000

Kehadiran

Lama Bekerja

Tanggungan

Pendidikan

Tinggi
Sedang
Rendah
Lama
Baru
Banyak
Sedikit
Menengah
Tidak Ada
Tinggi
Sedang
Rendah

Gain

Split
Info

Ratio
Gain

0.285

1.526

0.186

0.496

0.961

0.517

0.052

0.506

1.549

0.327

Dari hasil perhitungan di atas, tampak bahwa atribut dengan nilai gain ratio
tertinggi adalah Lama Bekerja, yaitu sebesar 0,517. Oleh karena itu atribut
Lama Bekerja dijadikan sebagai node keputusan 1.1. Ada dua nilai atribut ini,
yaitu Lama dan Baru yang dijadikan sebagai cabang dari node keputusan
Lama Bekerja. Data dari atribut Lama Bekerja dipisah seperti berikut.
Tabel Data Prestasi Tinggi dan Lama Bekerja Baru

No

Kehadiran

Prestasi

5
6
9
15
18

Sedang
Tinggi
Sedang
Tinggi
Sedang

Tinggi
Tinggi
Tinggi
Tinggi
Tinggi

Lama
Bekerja
Baru
Baru
Baru
Baru
Baru

Tabel Data Prestasi Tinggi dan Lama Bekerja Lama

Tanggungan

Pendidikan

Gol

Menengah
Menengah
Tidak Ada
Tidak Ada
Menengah

Rendah
Rendah
Tinggi
Sedang
Rendah

B
B
B
B
B

No

Kehadiran

Prestasi

1
3
8
11
12
13
19
20

Tinggi
Rendah
Rendah
Rendah
Tinggi
Tinggi
Rendah
Tinggi

Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi

Lama
Bekerja
Lama
Lama
Lama
Lama
Lama
Lama
Lama
Lama

Tanggungan

Pendidikan

Gol

Tidak Ada
Menengah
Tidak Ada
Banyak
Banyak
Banyak
Menengah
Menengah

Tinggi
Rendah
Tinggi
Sedang
Tinggi
Rendah
Tinggi
Sedang

A
B
A
A
A
B
A
A

Data Lama Bekerja = Lama masih perlu dilakukan perhitungan lebih lanjut
lagi, karena seluruh data sampel belum terkumpul di satu kelas yang sama.
Cabang Lama Bekerja = Baru sudah dapat mengklasifikasikan objek data ke
dalam Golongan B, karena seluruh data sampel sudah terkumpul di kelas B.
Berikut adalah gambaran pohon keputusan yang sudah terbentuk pada
tahapan ini.

Prestasi

Tinggi

Rendah

GOL C

1.1
Lama Bekerja
Baru

GOL B

Pembentukan Node keputusan 1.1.1

Lama

1.1.1
?

Berikutnya adalah pembentukan node keputusan 1.1.1 dengan memilih


atribut dengan nilai gain tertinggi, selain atribut Prestasi dan Lama Bekerja.
Sama seperti langkah sebelumnya, harus dilakukan perhitungan jumlah objek
data sampel dengan golongan (kelas data) A, B, dan C serta dibagi
berdasarkan atribut kehadiran, tanggungan, dan pendidikan. Selain itu,
jumlah objek data yang dihitung merupakan data dengan atribut Prestasi
bernilai Tinggi dan atribut Lama Bekerja = Lama. Tabel berikut
menggambarkan hasil penghitungan jumlah objek data sampel dengan atribut
Prestasi bernilai Tinggi dan atribut Lama Bekerja = Lama.
Atribut
Total
Kehadiran

Tanggungan

Pendidikan

Tinggi
Sedang
Rendah
Banyak
Sedikit
Menengah
Tidak Ada
Tinggi
Sedang
Rendah

Jumlah
Kasus
8
4
0
4
3
0
3
2
4
2
2

A
6
3
0
3
2
0
2
2
4
2
0

Golongan
B
2
1
0
1
1
0
1
0
0
0
2

C
0
0
0
0
0
0
0
0
0
0
0

Selanjutnya adalah melakukan perhitungan entropi dari seluruh partisi atribut


data Kehadiran, Tanggungan dan Pendidikan. Berikut perhitungannya:
Entropi Total :
6
6
2
2
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
8
8
8
8
8
8
= 0,811

Entropi Kehadiran :
3
3
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
4
4
4
4
4
4
= 0,811
0
0
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
0
0
0
0
0
0
= 0,000

3
3
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
4
4
4
4
4
4
= 0,811

Entropi Tanggungan :
2
2
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
3
3
3
3
3
3
= 0,918
0
0
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
0
0
0
0
0
0
= 0,000
2
2
1
1
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
3
3
3
3
3
3
= 0,918
2
2
0
0
0
0
( ) = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
2
2
2
2
2
2
= 0,000

Entropi Pendidikan :
4
4
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
4
4
4
4
4
4
= 0,000
2
2
0
0
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
2
2
2
2
2
2
= 0,000
0
0
2
2
0
0
() = (( ) log 2 ) + (( ) log 2 ) + (( ) log 2 )
2
2
2
2
2
2
= 0,000

Selanjutnya adalah melakukan perhitungan nilai gain dari seluruh atribut data
Kehadiran, Tanggungan dan Pendidikan. Berikut perhitungannya:

4
0
4
(, ) = 0,811 (( ) 0,811 + ( ) 0,000 + ( ) 0,811)
8
8
8
= 0,000
3
0
( ) 0,918 + ( ) 0,000
8
(, ) = 0,811 ( 8
)
3
2
+ ( ) 0,918 + ( ) 0,000
8
8
= 0,123
4
2
2
(, ) = 0,811 (( ) 0,000 + ( ) 0,000 + ( ) 0,000)
8
8
8
= 0,811

Selanjutnya adalah melakukan perhitungan nilai Splitinfo dari seluruh atribut


data Kehadiran, Tanggungan dan Pendidikan. Berikut perhitungannya:
4
4
0
0
4
4
() = ( ) log 2 ( ) log 2 ( ) log 2
8
8
8
8
8
8
=~
()
3
3
0
0
3
3
2
2
= ( ) log 2 ( ) log 2 ( ) log 2 ( ) log 2
8
8
8
8
8
8
8
8
=~
4
4
2
2
2
2
() = ( ) log 2 ( ) log 2 ( ) log 2
8
8
8
8
8
8
= 1.500

Selanjutnya adalah melakukan perhitungan nilai Splitinfo dari seluruh atribut


data Kehadiran, Tanggungan dan Pendidikan. Berikut perhitungannya:
() = 0.000 / ~ = ~
() = 0.123 / ~ = ~
() = 0.811/ 1.500 = 0.541

Hasil perhitungan di atas dapat dilihat pada tabel berikut:

Atribut

Entropi

Total

0.811
0.811
0.000
0.811
0.344
0.000
0.344
0.000
0.000
0.000
0.000

Kehadiran

Tanggungan

Pendidikan

Tinggi
Sedang
Rendah
Banyak
Sedikit
Menengah
Tidak Ada
Tinggi
Sedang
Rendah

Gain

Split
Info

Ratio
Gain

0.000

0.123

0.811

1.500

0.541

Dari hasil perhitungan di atas, tampak bahwa atribut dengan nilai gain
tertinggi adalah Pendidikan, yaitu sebesar 0,541. Oleh karena Pendidikan
dijadikan sebagai node keputusan 1.1.1 Ada tiga nilai atribut ini, yaitu Tinggi,
Sedang, dan Rendah yang dijadikan sebagai cabang dari node keputusan
Pendidikan.
Tabel Data Prestasi Tinggi, Lama Bekerja Lama dan Pendidikan Tinggi

No

Kehadiran

Prestasi

1
8
12
19

Tinggi
Rendah
Tinggi
Rendah

Tinggi
Tinggi
Tinggi
Tinggi

Lama
Bekerja
Lama
Lama
Lama
Lama

Tanggungan

Pendidikan

Gol

Tidak Ada
Tidak Ada
Banyak
Menengah

Tinggi
Tinggi
Tinggi
Tinggi

A
A
A
A

Tanggungan

Pendidikan

Gol

Banyak
Menengah

Sedang
Sedang

A
A

Pendidikan

Gol

Tabel Data Prestasi Tinggi, Lama Bekerja Lama dan Pendidikan Sedang

No

Kehadiran

Prestasi

11
20

Rendah
Tinggi

Tinggi
Tinggi

Lama
Bekerja
Lama
Lama

Tabel Data Prestasi Tinggi, Lama Bekerja Lama dan Pendidikan Rendah

No

Kehadiran

Prestasi

Lama
Bekerja

Tanggungan

3
13

Rendah
Tinggi

Tinggi
Tinggi

Lama
Lama

Menengah
Banyak

Rendah
Rendah

B
B

Cabang Tinggi, Sedang, dan Rendah sudah tidak perlu dilakukan perhitungan
lebih lanjut lagi, karena seluruh data sampel sudah terkumpul di satu kelas
yang sama. Cabang Tinggi sudah dapat mengklasifikasikan objek data ke
dalam Golongan A, karena seluruh data sampel sudah terkumpul di kelas A.
Cabang Sedang sudah dapat mengklasifikasikan objek data ke dalam
Golongan B, karena seluruh data sampel sudah terkumpul di kelas B. Cabang
Rendah sudah dapat mengklasifikasikan objek data ke dalam Golongan B,
karena seluruh data sampel sudah terkumpul di kelas B. Berikut adalah
gambaran decision tree yang sudah terbentuk pada tahapan ini.
Prestasi

Tinggi

Rendah

GOL C

1.1
Lama Bekerja
Baru

Lama

GOL B

1.1.1
Pendidikan
Rendah

Tinggi
Sedang
GOL A

GOL A

GOL B

Berikut adalah contoh data baru. Data ini akan diklasifikasikan ke dalam
Golongan Karyawan A, B, atau C. dengan menggunakan decision tree di atas:

No

Kehadiran

Prestasi

1
2

Rendah
Sedang

Tinggi
Tinggi

Lama
Bekerja
Lama
Baru

Tanggungan

Pendidikan

Gol

Tidak Ada
Banyak

Tinggi
Tinggi

?
?

Untuk data no 1 diketahui data baru dengan atribut kehadiran bernilai rendah,
atribut pretasi bernilai Tinggi, atribut lama bekerja bernilai Lama, atribut
tanggungan bernilai Tidak Ada, dan atribut pendidikan bernilai Tinggi.
Aturan yang terjadi sesuai dengan data baru tersebut adalah
IF (Prestasi = Tinggi) ^ (Lama Bekerja = Lama) ^
(Pendidikan = Tinggi) THEN (Gol = Gol A)

Dari penelusuran di atas, diketahui bahwa data baru karyawan tersebut


diklasifikasi sebagai karyawan dengan Golongan A
Untuk data no 2 diketahui data baru dengan atribut kehadiran bernilai sedang,
atribut pretasi bernilai Tinggi, atribut lama bekerja bernilai Baru, atribut
tanggungan bernilai Banyak, dan atribut pendidikan bernilai Tinggi. Aturan
yang terjadi sesuai dengan data baru tersebut adalah
IF (Prestasi = Tinggi) ^ (Lama Bekerja = Baru)
THEN (Gol = Gol B)

Dari penelusuran di atas, diketahui bahwa data baru karyawan tersebut


diklasifikasi sebagai karyawan dengan Golongan B
Pada data no 2 terlihat lebih cepat ditemukan nya hasil dibandingkan dengan
data no 1. Bila dibandingkan dengan algoritmaa ID3 sebelumnya, untuk
data no 2 juga lebih cepat ditemukan hasil dengan menggunakan algoritma
C4.5. Ini merupakan pengaruh dari penggunaan gain ratio pada algoritma
C4.5.

DAFTAR PUSTAKA
Quinlan, J. R. Induction of Decision trees. Machine Learning, vol. 1, pp. 81106, 1986
Han, J., Kamber, M. Data Mining: Concepts and Techniques. Morgan
Kaufmann, 2000
Larose, D.T. Discovering Knowledge in data An introduction to data
mining. John Wiley & Sons, 2005

http://nugikkool.blogspot.com/2012/08/pohon-keputusan-id3-dan-c45menggunakan.html