• Tidak ada hasil yang ditemukan

Pada alogoritma ID3 goal atau tujuan adalah pohon keputusan yang berisi aturan dalam penentuan hasil keputusan.

Tahap-tahap yang harus dilakukan untuk mencapai tujuan:

- Menentukan tujuan, kriteria dan alternatif

Dalam ID3 yang menjadi tujuan adalah pohon keputusan yang berisi aturan untuk kelayakan jalan.

Kriteria untuk kelayakan jalan adalah

1. Fungsi jalan yang meliputi arteri primer, kolektor primer, kolektor sekunder, lokal primer, lokal sekunder dan lingkungan.

2. Pengaju yang meliputi perorangan, masyarakat dan dewan.

3. Kondisi jalan yang meliputi baik, rusak ringan dan rusak berat.

- Menentukan patokan kriteria

Patokan yang ditentukan pada kriteria didapat melalui hasil wawancara yang dilakukan di Bappeda Salatiga.

Penilaian kriteria kelayakan jalan yang didapatkan dari hasil wawancara yaitu dapat dilihat pada Tabel 3.3.

Tabel 3.3. Penilaian Kelayakan Jalan

Atribut Value Ket

Fungsi Jalan Arteri Primer Jenis Kolektor Primer Jalan Kolektor Sekunder

Lokal Primer Lokal Sekunder

Lingkungan

Pengaju Perorangan Jenis

Masyarakat Pengaju

Dewan

Kondisi Jalan Baik Tingkat Rusak Ringan Kerusakan

Rusak Berat

Dalam penentuan kondisi jalan digunakan penilaian terglobal (berdasarkan nama jalan) dengan disertakan komentar untuk penjelasan persepsi, posisi dan tingkat kerusakan bagi tiap pengajuan jalan.

- Mencari sample data

Sample data diperoleh dari hasil penelaahan wawancara yang dilakukan di Bappeda Salatiga.

- Perhitungan entropy

Perhitungan nilai entropy dihitung dengan menggunakan rumus pada Persamaan 2.1.

- Perhitungan information gain untuk tiap kriteria

Perhitungan nilai information gain digunakan untuk menentukan kriteria terbaik. Perhitungan nilai information gain dihitung dengan menggunakan rumus pada Persamaan 2.2.

- Pembentukan tabel baru

Tahap perhitungan ID3 setelah memperoleh kriteria terbaik adalah pembuatan tabel baru. Tabel baru tersebut dibuat berdasarkan kriteria terbaik dari perhitungan nilai information gain. Apabila data tabel sample baru telah dibuat proses berikutnya melakukan perhitungan nilai entropy dan information gain serta membuat tabel sample baru. Proses ini dilakukan

sampai kriteria habis atau data tabel sample telah

diklasifikasikan.

- Pembuatan pohon keputusan

Tahap akhir dalam perhitungan ID3 adalah membuat pohon keputusan yang nantinya akan digunakan sebagai acuan dalam pembentukan aturan dalam penentuan kelayakan jalan.

3.6. Perhitungan ID3

Analisa dilakukan dengan data yang diperoleh dari hasil wawancara dengan Bappeda Salatiga. Pembahasan dilakukan dengan menggunakan 15 data sample dari pengajuan perbaikan jalan.

Tabel 3.4 merupakan 15 data sample kelayakan jalan yang akan dijadikan patokan dalam penentuan aturan kelayakan jalan.

Tabel 3.4. Tabel Data Sample Kelayakan Jalan

S Fungsi Jalan Pengaju Kondisi Jalan Hasil S1 Arteri Primer Masyarakat Baik True

S2 Kolektor Primer Masyarakat Rusak Ringan True

S3 Lokal Primer Perorangan Rusak Ringan False

S4 Kolektor Sekunder Dewan Rusak Ringan True

S5 Lokal Sekunder Perorangan Rusak Berat False

S6 Kolektor Sekunder Masyarakat Rusak Berat True

S7 Arteri Primer Perorangan Rusak Ringan False

S8 Lokal Sekunder Masyarakat Rusak Ringan False

S9 Kolektor Primer Dewan Rusak Ringan True

S10 Lokal Primer Masyarakat Rusak Ringan True

S11 Lingkungan Masyarakat Rusak Ringan False

S12 Lingkungan Masyarakat Rusak Berat True

S13 Lingkungan Masyarakat Baik False

S14 Lokal Sekunder Dewan Rusak Ringan True

Perhitungan Entropy S.

Entropy(S)[8+, 7-] = – (8/15) log2(8/15) – (7/15) log2 (7/15)

= – (0,533)(log (0,533)/log 2) – (0,466)((log 0,466)/log 2)

= – (0,533)(–0,906) – (0,466)(– 1,099) = 0,483 + 0,512

= 0,995

Perhitungan information gain untuk atribut fungsi jalan.

Value(Fungsi Jalan)=Arteri Primer, Kolektor Primer, Kolektor Sekunder, Lokal Primer, Lokal Sekunder, Lingkungan

SArteri Primer = [1+, 1-] Entropy(SArteri Primer)=1

SKolektor Primer = [2+, 0-] Entropy(SKolektor Primer)=0

SKolektor Sekunder = [2+, 0-] Entropy(SKolektor Sekunder)=0

SLokal Primer = [1+, 1-] Entropy(SLokal Primer)=1

SLokal Sekunder = [1+, 2-]

Entropy(SLokal Sekunder)= -(1/3)log2(1/3)-(2/3)log2(2/3)

=-0,33(log(0,33)/log2)-(0,667)(log(0,667)/log2) = -0,33(-1,58)-0,667(0,58) = 0,521+0,386 = 0,907 SLingkungan = [1+, 3-]

Entropy(SLokal Sekunder)=-(1/4)log2(1/4)-(3/4)log2(3/4)

=0,5 + 0,311 = 0,811

Gain(S, Fungsi Jalan) = Entropy(S) – (2/15)Entropy(SArteri

Primer) – (2/15)Entropy(SKolektor Primer) –

(2/15)Entropy(SKolektor Sekunder) –

(2/15)Entropy(SLokal Primer) -

(3/15)Entropy(SLokal Sekunder) -

(4/15)Entropy(SLingkungan) = 0,995 – (0,133)1 – (0,133)0 – (0,133)0 – (0,133)1–(0,2)0,907 – (0,266)0,811 = 0,995 – 0,133 – 0 – 0 – 0,133 – 0,181 – 0,216 =0,332

Perhitungan information gain untuk atribut pengaju. Value(Pengaju) = Perorangan, Masyarakat, Dewan

SPerorangan = [0+, 4-] Entropy(SPerorangan)=0

SMasyarakat = [5+, 3-]

Entropy(SMasyarakat)=-(5/8)log2(5/8)-(3/8)log2(3/8)

=-(0,625(log(5/8)/log2) –

(0,375)(log(5/8)/log2)

=-(0,625)(-0,678) – (0,375)(-1,415) = 0,423 + 0,531

=0,953

Gain(S, Pengaju) = Entropy(S) – (4/15)Entropy(SPerorangan) –

(8/15)Entropy(SMasyarakat) –

(3/15)Entropy(SDewan)

= 0,995 – (0,266)0 – (0,533)0,953 – (0,2)0 = 0,487

Perhitungan information gain untuk atribut kondisi jalan. Value(Kondisi jalan) = Baik, Rusak Ringan, Rusak Berat

SBaik = [1+, 1-] Entropy(SBaik)=1

SRusak Ringan = [5+, 4-]

Entropy(SRusak Ringan)= -(5/9)log2(5/9) –(4/9)log2(4/9)

=-(0,556)(log(5/9)/log2)-(0,444)(log(4/9)/log2)

= -(0,556)(-0,848)-(0,444)(-1,17) = 0,471 + 0,519

= 0,990

SRusak Berat = [2+, 2-] Entropy(SRusak Berat)=1

Gain(S, Kondisi jalan) = Entropy(S) – (2/15)Entropy(SBaik) –

(9/15)Entropy(SRusak Ringan) –

(4/15)Entropy(SRusak Berat)

= 0,995 – (0,133)1 – (0,6)0,990 – (0,266)1

= 0,002

Berdasarkan hasil perhitungan information gain, tampak bahwa atribut pengaju akan menyediakan prediksi terbaik untuk target hasil.

Pengaju

True Fungsi Jalan False

Dewan Masyarakat Perorangan S3, S5, S7, S15 [0+, 4-] S1, S2, S6, S8, S10, S11, S12, S13 [5+, 3-] S4, S9, S14 [3+, 0-]

Gambar 3.12. Pohon Keputusan Tahap Pertama

Gambar 3.12 menjelaskan bahwa kriteria pengaju menjadi prioritas utama dalam menentukan hasil keputusan kelayakan jalan. Melalui Gambar 3.12 juga diketahui jika pengaju adalah perorangan maka hasilnya jalan tidak akan diperbaiki. Jika pengaju adalah masyarakat maka akan dilanjutkan perhitungan ID3 lebih dalam lagi untuk mencari kriteria yang menjadi penilaian. Apabila pengaju adalah dewan maka hasilnya jalan akan diperbaiki.

Tabel 3.5 menunjukan data sample kelayakan jalan dengan kriteria pengaju yang bernilai masyarakat. Data yang akan digunakan yaitu S1, S2, S6, S8, S10, S11, S12, S13.

Tabel 3.5. Tabel Data Sample Kelayakan Jalan Kriteria Pengaju Nilai

Masyarakat

S Fungsi Jalan Pengaju Kondisi Jalan Hasil S1 Arteri Primer Masyarakat Baik True

S2 Kolektor Primer Masyarakat Rusak Ringan True

S6 Kolektor Sekunder Masyarakat Rusak Berat True

S Fungsi Jalan Pengaju Kondisi Jalan Hasil S10 Lokal Primer Masyarakat Rusak Ringan True

S11 Lingkungan Masyarakat Rusak Ringan False

S12 Lingkungan Masyarakat Rusak Berat True

S13 Lingkungan Masyarakat Baik False

Perhitungan information gain untuk atribut fungsi jalan.

SArteri Primer = [1+, 0-] Entropy(SArteri Primer)=0

SKolektor Primer = [1+, 0-] Entropy(SKolektor Primer)=0

SKolektor Sekunder = [1+, 0-] Entropy(SKolektor Sekunder)=0

SLokal Sekunder = [0+, 1-] Entropy(SLokal Sekunder)=0

SLokal Primer = [1+, 0-] Entropy(SLokal Primer)=0

SLingkungan = [1+, 2-] Entropy(Slingkungan)=0,907

Gain(SMasyarakat, Fungsi Jalan) = Entropy(SMasyarakat) –

(1/8)Entropy(SArteri Primer) – (1/8)Entropy(SKolektor Primer) – (1/8)Entropy(SKolektor Sekunder) – (1/8)Entropy(SLokal Sekunder) – (1/8)Entropy(SLokal Primer) –

(3/8)Entropy(SLingkungan)

= 0,953 – (0,125)0 – (0,125)0 – (0,125)0 – (0,125)0 – (0,125)0 – (0,375)0,907

= 0,613

Perhitungan information gain untuk atribut kondisi jalan.

SRusak Ringan =[2+, 2-] Entropy(SRusak Ringan)=1

SRusak Berat =[2+, 0-] Entropy(SRusak Berat)=0

Gain(SMasyarakat, Kondisi Jalan) = Entropy(SMasyarakat) –

(2/8)Entropy(SBaik) –

(4/8)Entropy(SRusak Ringan) –

(2/8)Entropy(SRusak Berat)

= 0,953 – (0,25)1 – (0,5)1 – (0,25)0

= 0,203

Berdasarkan hasil perhitungan information gain, tampak bahwa atribut fungsi jalan akan menyediakan prediksi terbaik untuk target hasil setelah kriteria pengaju.

Pengaju

True Fungsi Jalan False

Dewan

Masyarakat

Perorangan

True True True False True ?

Arteri Primer

Kolektor Primer

Kolektor SekunderLokal SekunderLokal Primer Lingkungan S1 [1+, 0-] S2 [1+, 0-] S6 [1+, 0-] S8 [0+, 1-] S10 [1+, 0-] S11, S12, S13 [1+, 2-]

Gambar 3.13. Pohon Keputusan Tahap Kedua

Gambar 3.13 menjelaskan bahwa kriteria pengaju menjadi prioritas utama dalam menentukan hasil keputusan kelayakan jalan. Melalui Gambar 3.13 juga diketahui jika pengaju adalah masyarakat maka akan melihat dari hasil kriteria fungsi jalan. Jika nilai pengaju adalah masyarakat dan nilai fungsi jalan adalah

lingkungan maka belum dapat ditentukan hasilnya, harus dilanjutkan perhitungan lagi pada tahap ketiga.

Tabel 3.6 menunjukan data sample kelayakan jalan dengan kriteria pengaju yang bernilai masyarakat dan fungsi jalan yang bernilai lingkungan. Data yang akan digunakan yaitu S11, S12, S13.

Tabel 3.6. Tabel Data Sample Kelayakan Jalan Kriteria Pengaju Nilai

Masyarakat dan Fungsi Jalan Nilai Lingkungan

S Fungsi Jalan Pengaju Kondisi Jalan Hasil S11 Lingkungan Masyarakat Rusak Ringan False

S12 Lingkungan Masyarakat Rusak Berat True

S13 Lingkungan Masyarakat Baik False

Perhitungan information gain untuk atribut kondisi jalan

SBaik =[0+, 1-] Entropy(SBaik)=0

SRusak Ringan =[0+, 1-] Entropy(SRusak Ringan)=0

SRusak Berat =[1+, 0-] Entropy(SRusak Berat)=0

Gain(SLingkungan, Kondisi Jalan) = Entropy(SLingkungan) –

(1/3)Entropy(SBaik) –

(1/3)Entropy(SRusak Ringan) –

(1/3)Entropy(SRusak Berat)

= 0,918 – (0,333)0 – (0,333)0 – (0,333)0

Berdasarkan hasil perhitungan information gain dan ternyata sisa kriteria hanyalah satu, maka yang menjadi kriteria terbaik pada tahap ketiga ini adalah kondisi jalan.

Pengaju

True Fungsi Jalan False

Dewan

Masyarakat Perorangan

True True True False True Kondisi Jalan

Arteri Primer Kolektor Primer Kolektor Sekunder Lokal Sekunder Lokal Primer Lingkungan S11 [0+, 1-] True False False Rusak Ringan Rusak Berat Baik S12 [1+, 0-] S13 [0+, 1-]

Gambar 3.14. Pohon Keputusan Tahap Ketiga

Gambar 3.14 merupakan hasil pohon keputusan dari data sample kelayakan jalan. Dari pohon keputusan tersebut terlihat kriteria pengaju yang menjadi prioritas utama, dilanjutkan dengan fungsi utama dan kondisi jalan. Maka dapat dibuat aturan sebagai berikut :

IF pengaju = dewan THEN hasil true

IF pengaju = masyarakat AND fungsi jalan = arteri primer THEN hasil true

IF pengaju = masyarakat AND fungsi jalan = kolektor primer THEN hasil true

IF pengaju = masyarakat AND fungsi jalan = kolektor sekunder THEN hasil true

IF pengaju = masyarakat AND fungsi jalan = lokal sekunder THEN hasil false

IF pengaju = masyarakat AND fungsi jalan = lokal primer THEN hasil true

IF pengaju = masyarakat AND fungsi jalan = lingkungan AND kondisi jalan = rusak ringan THEN hasil false

IF pengaju = masyarakat AND fungsi jalan = lingkungan AND kondisi jalan = rusak berat THEN hasil true

IF pengaju = masyarakat AND fungsi jalan = lingkungan AND kondisi jalan = baik THEN hasil false

IF pengaju = perorangan THEN hasil true

3.7. Algoritma ID3

Dalam penerapan metode ID3 terhadap suatu aplikasi, diperlukan algoritma agar dapat diterapkan ke bahasa pemrograman. Algoritma dalam metode ID3 adalah sebagai berikut: (Peng, 2009)

Kode Program 3.1. Algoritma ID3

Kode program 3.1 menunjukkan algoritma ID3 agar alur kode program untuk implementasi ID3 dapat berjalan sebagaimana mestinya. Penjelasan untuk algoritma ID3 adalah sebagai berikut. Baris 1 dan 2 menunjukkan kelas yang dibuat dengan nama ID3 dengan 3 parameter yaitu sample sebagai S, Kumpulan atribut sebagai A, dan nilai dari tiap atribut sebagai V dengan nilai kembalian adalah pohon keputusan. Baris 4 sampai 6, muat seluruh data sample S dan buat pohon keputusan rootNode dan data sample S dimasukkan ke rootNode sebagai subsetnya. Baris 7 sampai 25 dilakukan dalam looping. Baris 8 lakukan hitung entropy untuk rootNode.subset. Baris 9 sampai 13 jika entropy dari rootNode.subset adalah 0 maka kembalikan pohon keputusan dengan simpul sesuai dengan nilai keputusan.

1. ID3(Learning Sets S, Attributes Sets A, Attributesvalues V) 2. Return Decision Tree.

3. Begin

4. Load learning sets first, create decision tree root 5. node 'rootNode', add learning set S into root node 6. as its subset.

7. For rootNode, we compute

8. Entropy(rootNode.subset) first

9. If Entropy(rootNode.subset)==0, then

10. rootNode.subset consists of records

11. all with the same value for the

12. categorical attribute, return a leaf

13. node with decision

14. attribute:attribute value;

15. If Entropy(rootNode.subset)!=0, then

16. compute information gain for each

17. attribute left(have not been used in

18. splitting), find attribute A with Maximum(Gain(S,A)).

19. Create child nodes of this rootNode and add to

20. rootNode in the decision tree.

21. For each child of the rootNode, apply

22. ID3(S,A,V) recursively until reach

23. node that has entropy=0 or reach

24. leaf node.

Baris 15 sampai 18 jika entropy dari rootNode.subset tidak sama dengan 0 maka hitung nilai Gain tiap atribut yang tersisa dan cari atribut dengan nilai Gain terbesar. Baris 19 sampai 20 buat childnode untuk rootNode dan tambahkan rootNode pada pohon keputusan. Baris 21 sampai 23 untuk setiap anak rootNode, lakukan ID3(S, A, V) secara rekursif sampai mencapai simpul yang memiliki entropy 0 atau mencapai simpul daun.

Dokumen terkait