diimplementasikan menggunakan fungsi rekursif fungsi yang memanggil dirinya sendiri Suyanto, 2007.
2.3.1. Langkah- langkah Algoritma ID3
Penentuan kelayakan menggunakan Algoritma ID3 dapat dilihat dalam contoh kasus berikut. Diketahui data seperti didalam tabel dibawah ini, permasalahan nya adalah
bagaimana mendapatkan ketentuanrule untuk mencari kelayakan seseorang dalam membeli sebuah motor.
Tabel 2.1. Contoh Data
Umur Pendapatan
Pelajar Pinjaman
Membeli Motor
=16 Tinggi
Tidak Tidak
Tidak =16
Tinggi Tidak
Ya Tidak
17..19 Rendah
Ya Ya
Ya 17..19
Tinggi Tidak
Tidak Ya
19 Sedang
Tidak Tidak
Ya 19
Rendah Ya
Tidak Ya
19 Rendah
Ya Ya
Tidak
Langkah-langkah untuk menentukan ketentuanrule dari tabel diatas menggunakan Algoritma ID3 :
1. Tentukan keadaan yang mungkin terjadi dari setiap atribut yang ada pada
data. 2.
Hitung Entropy awal dengan rumus Chahal, 2013: Entropy
S = −�
��
∗ � �
2
�
��
− � ∗ � �
2
� Keterangan : S = himpunan atribut
�
��
= atribut yang bernilai “Ya” � = atribut yang bernilai “Tidak”
3. Hitung Entropy dan Information Gain dari setiap atribut untuk menentukan
node awal dengan rumus Chahal, 2013:
Information Gain S. A =
� � � −
| � |
| �|
∈��� � �
� ��
Keterangan : � = atribut
� = jumlah kasus � = jumlah kasus pada partisi ke-r
| � |
| �|
∈��� � �
= menghitung jumlah partisi 4.
Node awal didapatkan dari atribut yang memiliki nilai Information Gain tertinggi.
5. Ulangi langkah ketiga untuk menentukan node cabang selanjutnnya hingga
seluruh kriteria keputusan digunakan.
Entropy awal : Jumlah Instance Total = 7
Jumlah Instance Ya = 4 Jumlah Instance Tidak = 3
Entropy S
= −�
��
∗ � �
2
�
��
− � ∗ � �
2
� =
−
4 7
� �
2 4
7
−
3 7
� �
2 3
7
= − 0.57 −0.811 – 0.43 −1.218
= 0.986 Entropy dan Information Gain per Atribut untuk node awal:
Umur Entropy Umur=16
= −
2
� �
2 2
−
2 2
� �
2 2
2
= 0 Entropy Umur 17..19
= 0 Entropy Umur 19
= 0.915 Information Gain Umur
= �
� � −
| � |
| �|
∈��� � �
� ��
= 0.986 –
2 7
x 0 –
2 7
x 0 –
3 7
x 0.915 = 0.594
Pendapatan Entropy Pendapatan = Tinggi
= 0.915 Entropy Pendapatan = Sedang
= 0 Entropy Pendapatan = Rendah
= 0.915 Information GainPendapatan
= 0.202
Pelajar Entropy Pelajar = Tidak
= 1 Entropy Pelajar = Ya
= 0.915 Information GainPelajar
= 0.023
Pinjaman Entropy Pinjaman= Tidak
= 0.811 Entropy Pinjaman= Ya
= 0.915 Information GainPinjaman
= 0.131
Hasil Information Gain dari seluruh atribut = Umur = 0.594
Pendapatan = 0.202
Pelajar = 0.023 Pinjaman
= 0.131
Karena atribut Umur memiliki nilai Information Gain paling tinggi maka atribut Umur dijadikan node awal, dan Decision Tree nya sebagai berikut :
Gambar 2.1. Node awal Decision Tree
Kemudian hitung Entropy dan Information Gain per atribut untuk menentukan node cabang dari edge 19.
Jumlah Instance untuk atribut Umur 19 = 3
Jumlah Instance Ya = 2 Jumah Instance Tidak = 1
Pendapatan Entropy Pendapatan = Tinggi
= 0 Entropy Pendapatan = Sedang
= 0 Entropy Pendapatan = Rendah
= 1 Information GainPendapatan
= 0.319
Pelajar Entropy Pelajar = Tidak
= 1 Entropy Pelajar = Ya
= 0 Information GainPelajar
= 0.319
Pinjaman Entropy Pinjaman= Tidak
= 0.915 Entropy Pinjaman= Ya
= 0 Information GainPinjaman
= 0.376
Hasil Information Gain dari seluruh atribut = Pendapatan
= 0.319 Pelajar = 0.319
Pinjaman = 0.376
Karena atribut Pinjaman memiliki nilai Information Gain paling tinggi maka atribut Pinjaman dijadikan node cabang untuk edge 19. Decision Tree nya sebagai berikut :
Gambar 2.2. Hasil Decision Tree
Dan didapatkan rules dari pohon keputusan diatas: IF Umur = =16 THEN beli = Tidak
IF Umur = 17..19 THEN beli = Ya IF Umur = 19Pinjaman = Tidak THEN beli = Ya
IF Umur = 19Pinjaman = Ya THEN beli = Tidak
2.4. Android