Algoritma ID3 Metode Perancangan Sistem

56 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 57 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. ID3Learning 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. EntropyrootNode.subset first 9. If EntropyrootNode.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 EntropyrootNode.subset=0, then 16. compute information gain for each 17. attribute lefthave not been used in 18. splitting, find attribute A with MaximumGainS,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. ID3S,A,V recursively until reach 23. node that has entropy=0 or reach 24. leaf node. 25. End ID3. 58 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 ID3S, A, V secara rekursif sampai mencapai simpul yang memiliki entropy 0 atau mencapai simpul daun.

3.8. Perancangan Aplikasi