Romauli Manullang - 5108100501
IMPLEMENTASI DECISION TREE UNTUK MEMPREDIKSI JUMLAH MAHASISWA PENGAMBIL MATAKULIAH
DENGAN MENGGUNAKAN STUDI KASUS DI JURUSAN
TEKNIK INFORMATIKA ITS
Latar Belakang
•
Pembuatan jadwal pada Jurusan Teknik lnformatika ITS harus dilakukan pada setiap pergantian semester.
•
Pembuatan jadwal ini membutuhkan waktu, tenaga dan ketelitian.
•
Adanya kesulitan untuk menentukan jumlah mahasiswa yang mengambil matakuliah tertentu pada tiap semester.
2/18/2011
Perumusan Masalah
– Bagaimana melakukan prediksi jumlah mahasiswa, yang mengambil matakuliah tertentu menggunakan pendekatan metode klasifikasi dalam decision tree?
– Bagaimana menentukan metode decision tree yang tepat berdasarkan karakteristik data?
– Bagaimana membangun rule pengklasifikasian prediksi jumlah mahasiswa pengambil matakuliah?
– Bagaimana mngimplementasikan metode klasifikasi decision tree?
– Bagaimana melakukan uji coba decision tree tersebut ke dalam Matlab.
2/18/2011
4
Tujuan
Membuat implementasi decision tree untuk memprediksi jumlah mahasiswa pengambil matakuliah dengan menggunakan studi kasus di Jurusan Teknik Informatika ITS.
2/18/2011
Batasan Masalah
Data yang diambil dari Sistem Informasi Akademik ITS telah benar.
Studi kasus yang digunakan adalah Jurusan Teknik Informatika ITS Surabaya.
Membatasi nilai mahasiswa yang mengulang matakuliah yang memiliki nilai sebelumnya BC dan C.
Metode decision tree yang digunakan adalah C4.5
Implementasi dibuat dengan menggunakan Matlab 7.1.
2/18/2011
6
Algoritma C4.5
Secara umum Algoritma C4.5 membangun pohon keputusan:
a. Pilih atribut sebagai root.
b. Buat cabang untuk masing-masing nilai.
c. Bagi kasus dalam cabang.
d. Ulangi proses untuk masing-masing cabang sampai semua kasus pada cabang memiliki kelas yang sama.
2/18/2011
Information Gain Atribut A (Gain(a))
Untuk memilih atribut sebagai akar, didasarkan pada nilai gain tertinggi dari atribut-atribut
yang ada.
Dengan:
S : Himpunan Kasus A : Atribut
n : Jumlah partisi atribut A
| S
i| : Jumlah Kasus pada partisi ke i
| S| : Jumlah kasus dalam S
2/18/2011
10
Entropy (Teori Informasi)
Kebutuhan bit untuk menyatakan suatu kelas. Semakin kecil nilai Entropy maka semakin baik untuk digunakan dalam mengekstraksi suatu kelas.
Dengan:
S : Himpunan Kasus n : Jumlah partisi S
2/18/2011
Algoritma Alpha Beta
Alpha-beta pruning adalah algoritma pencarian yang mengurangi secara drastis jumlah simpul yang dibangkitkan untuk dievaluasi pada pohon pencarian yang dieksplorasi dalam algoritma Minimax.
Simpul MIN akan dianggap sebagai simpul dengan urutan nilai dari rendah ke tinggi, dan simpul MAX dari tinggi ke rendah.
2/18/2011
12
Perancangan
2/18/2011
Blok Diagram Sistem Informasi Akademik Pengambil Matakuliah
Diagram Alir Desain Sistem Secara Umum
Mulai
Data Analisa Pengambil Matakuliah
Decision Tree dengan Prioritas pengambil Matakuliah
Decision Tree dengan Pengambil Matakuliah
Decision Tree dengan Pengambil Matakuliah
Solusi Prediksi Pengambil Matakuliah
Selesai
T Y
2/18/2011
14
Data Rule Decision Tree
2/18/2011
No. Nama Data Keterangan
1. Id ID untuk tiap kondisi.
2. Parent ID ID yang mewarisi kondisi.
3. Level Level tiap kondisi dalam tree.
4. Atribut Atribut yang ditunjuk oleh level.
5. Kondisi Nilai atribut yang ditunjuk oleh atribut.
Implementasi
Membaca file xls (read file xls).
Inisialisasi kolom file xls.
Filter, digunakan untuk mengklasifikasi data maka sesuai dengan atribut.
Get data entropy, menghitung nilai entropy dari data xls pada setiap kategori.
Get total entropy, menghitung nilai entropy total setiap atribut.
Calculate max gain, menghitung nilai gain dari setiap atribut berdasarkan nilai entropy dari kategori dan mencari nilai
maksimal dari nilai gain.
Get child node, sama tapi memanggil eliminate_category
yang berfungsi membuang kategori parent (parent sebelumnya tidak anggap).
2/18/2011
18
Pruning
1.
Memeriksa node tiap level, dimulai level terdalam.
2.
Pada tiap level mengelompokkan node sesuai parent nodenya.
3.
Pada setiap kelompok, diperiksa apakah memiliki value yg sama (mengulang/tidak mengulang)
4.
Bila sama maka parent kelompok tersebut diubah node nya menjadi value, lalu node kelompok tersebut
dipotong (pruning)
2/18/2011
Uji Coba dan Evaluasi
Data Uji Coba
Data hasil analisa dari faktor-faktor yang mendukung mahasiswa pengambil matakuliah setiap semester yang diperoleh dari Sistem Informasi Akademik jurusan Teknik Informatika ITS Surabaya.
2/18/2011
20
U JI C OBA S KENARIO 1
Berdasarkan pemilihan atribut Nilai, Jenis Kelamin, Angkatan, Tahun Lahir, Semester dan Umur dari
mahasiswa pengambil matakuliah
2/18/2011
A LJABAR L INEAR TAHUN 2007
Berdasarkan pemilihan atribut Nilai, Jenis Kelamin, Tahun Lahir, Angkatan, IPK, dan Semester .
2/18/2011
24
Node Parent Label Level Type Atribut
1 NULL 'NILAI' 0 1 'NULL'
2 1 'TDK MENGULANG' 1 0 'A-B'
3 1 'KELAMIN' 1 1 'BC-C'
4 3 'IPK' 2 1 'L'
5 4 'LAHIR' 3 1 '2-2.9'
6 5 'MENGULANG' 4 0 '1984-1985'
7 5 'MENGULANG' 4 0 '1986-1987'
8 5 'ANGKATAN' 4 1 '1988-1989'
9 8 'SEMESTER' 5 1 '2007'
10 9 'TDK MENGULANG' 6 0 'Ganjil'
11 9 'MENGULANG' 6 0 'Genap'
12 9 'MENGULANG' 5 0 '2008'
13 9 'MENGULANG' 5 0 '2009'
14 4 'TDK MENGULANG' 3 0 '3-4'
15 3 'LAHIR' 2 1 'P'
16 15 'MENGULANG' 3 0 '1984-1985'
17 15 'MENGULANG' 3 0 '1986-1987'
18 15 'ANGKATAN' 3 1 '1988-1989'
19 18 'SEMESTER' 4 1 '2007'
20 19 'IPK' 5 1 'Ganjil'
21 20 'MENGULANG' 6 0 '2-2.9'
22 20 'TDK MENGULANG' 6 0 '3-4'
23 20 'MENGULANG' 5 0 'Genap'
24 18 'MENGULANG' 4 0 '2008'
25 18 'MENGULANG' 4 0 '2009'
26 1 'MENGULANG' 1 0 'D-E'
Bentuk Tree Uji Aljabar Linear 2007
2/18/2011
P ENGENALAN P OLA T AHUN 2007
Node Parent Label Level Type Atribut
1 NULL 'ANGKATAN' 0 1 'NULL'
2 1 'NILAI' 1 1 '2007'
3 2 'MENGULANG' 2 0 'A-B'
4 2 'IPK' 2 1 'BC-C'
5 4 'KELAMIN' 3 1 '2-2.9'
6 5 'LAHIR' 4 1 'L'
7 6 'MENGULANG' 5 0 '1984-1985'
8 6 'MENGULANG' 5 0 '1986-1987'
9 6 'SEMESTER' 5 1 '1988-1989'
10 9 'MENGULANG' 6 0 'Ganjil'
11 9 'TDK MENGULANG' 6 0 'Genap'
12 5 'MENGULANG' 4 0 'P'
13 4 'TDK MENGULANG' 3 0 '3-4'
14 2 'MENGULANG' 2 0 'D-E'
15 1 'LAHIR' 1 1 '2008'
16 15 'MENGULANG' 2 0 '1984-1985'
17 15 'MENGULANG' 2 0 '1986-1987'
18 15 'IPK' 2 1 '1988-1989'
19 18 'MENGULANG' 3 0 '2-2.9'
20 18 'KELAMIN' 3 1 '3-4'
21 20 'SEMESTER' 4 1 'L'
22 21 'MENGULANG' 5 0 'Ganjil'
23 21 'NILAI' 5 1 'Genap'
24 23 'TDK MENGULANG' 6 0 'A-B'
25 23 'TDK MENGULANG' 6 0 'BC-C'
26 23 'MENGULANG' 6 0 'D-E'
27 20 'MENGULANG' 4 0 'P'
28 1 'MENGULANG' 1 0 '2009'
2/18/2011
26
Bentuk Tree Uji Pengenalan Pola 2007
2/18/2011
A n g k a t a n
N i l a i M
2 0 0 7
2 0 0 8
2 0 0 9
S e m e s t e r L a h i r
M M
1 9 8 4 - 1 9 8 5
1 9 8 6 - 1 9 8 7
1 9 8 8 - 1 9 8 9
I P K
M K e l a m i n
2 - 2 . 9 3 - 4
L a h i r
2 - 2 . 9 3 - 4
M I P K M
A - B B C - C D - E
K e l a m i n T M
T M
L P
A n g k a t a n L
P
U JI COBA S KENARIO 2
Berdasarkan pemilihan atribut Nilai, Angkatan, Selisih tahun Prediksi,
Penghasilan orangtua, IPS dan Umur dari mahasiswa pengambil matakuliah
2/18/2011
28
A
LJABARL
INEAR TAHUN2007
Node Parent Label Level Type Atribut
1 'NULL' 'NILAI' 0 1 'NULL'
2 1 'UMUR' 1 1 'BC'
3 2 'TDK MENGULANG' 2 0 '18-19'
4 2 'IPS' 2 1 '20-21'
5 4 'TDK MENGULANG' 3 0 '0-2.00'
6 4 'PENGHASILAN' 3 1 '2.01-3.0'
7 6 'MENGULANG' 4 0 '>= 5.000.000'
8 6 'ANGKATAN' 4 1 '1.000.000-5.000.000'
9 8 'TDK MENGULANG' 5 0 '2004'
10 8 'SELISIH' 5 1 '2005'
11 10 'MENGULANG' 6 0 '2007-2005'
12 10 'TDK MENGULANG' 6 0 '2007-2006'
13 8 'MENGULANG' 5 0 '2006'
14 8 'MENGULANG' 5 0 '2007'
15 6 'TDK MENGULANG' 4 0 '<= 1.000.000'
16 4 'SELISIH' 3 1 '3.01-4.0'
17 16 'PENGHASILAN' 4 1 '2007-2005'
18 17 'MENGULANG' 5 0 '>= 5.000.000'
19 17 'TDK MENGULANG' 5 0 '1.000.000-5.000.000'
20 17 'ANGKATAN' 5 1 '<= 1.000.000'
21 20 'TDK MENGULANG' 6 0 '2004'
22 20 'MENGULANG' 6 0 '2005'
23 20 'MENGULANG' 6 0 '2006'
24 20 'MENGULANG' 6 0 '2007'
25 16 'TDK MENGULANG' 4 0 '2007-2006'
26 2 'TDK MENGULANG' 2 0 '22-23'
27 1 'PENGHASILAN' 1 1 'C'
28 27 'UMUR' 2 1 '>= 5.000.000'
29 28 'MENGULANG' 3 0 '18-19'
30 28 'MENGULANG' 3 0 '20-21'
31 28 'TDK MENGULANG' 3 0 '22-23'
32 27 'UMUR' 2 1 '1.000.000-5.000.000'
33 32 'TDK MENGULANG' 3 0 '18-19'
34 32 'IPS' 3 1 '20-21'
35 34 'MENGULANG' 4 0 '0-2.00'
36 34 'TDK MENGULANG' 4 0 '2.01-3.0'
37 34 'ANGKATAN' 4 1 '3.01-4.0'
38 37 'TDK MENGULANG' 5 0 '2004'
39 37 'SELISIH' 5 1 '2005'
40 39 'MENGULANG' 6 0 '2007-2005'
2/18/2011
Bentuk Tree Aljabar linier tahun 2007
2/18/2011
30
NILAI
Umur
TM TM
Selisih IPS
Hasil TM
BC
Hasil C
18-19 20-21 22-23
0-2 2-3 3-4
M Angka TM
tan
>=5jt 1jt-5jt <=1jt
Selisih
TM M M
2004 2005 2006 2007
M TM
1 2
Hasil TM
1 2
TM
M Angk
atan
>=5jt1jt-5jt >=1jt
M M
TM M
2004 2005 2006 2007
Umur
>=5jt
Umur
M
TM IPS Selisih
Angka TM tan
18-19 20-21 22-23
0-2 3-4
2-3 TM
<=1jt
1jt-5jt
M TM
M
18-19 20-2122-23
M
Selisih M
TM
M M
2004 200520062007
2 1
TM Angka
tan
M
M M IPS
TM
M M
20042005 2006
2007
0-2 2-3 3-4
Tree Sebelum Dipruning
Pengenalan Pola tahun 2007
2/18/2011
Nod e
Paren
t Label Level Typ
e Atribut 1 'NULL' 'PENGHASILAN' 0 1 'NULL'
2 1 'UMUR' 1 1 '>= 5.000.000'
3 2 'MENGULANG' 2 0 '18-19'
4 2 'MENGULANG' 2 0 '20-21'
5 2 'MENGULANG' 2 0 '22-23'
6 2
'TDK
MENGULANG' 2 0 '24-25'
7 1
'TDK
MENGULANG' 1 0
'1.000.000- 5.000.000'
Tree Setelah Dipruning
Node Parent Label Level Type Atribut
1 'NULL' 'PENGHASILAN' 0 1 'NULL'
2 1 'MENGULANG' 1 0 '>= 5.000.000'
7 1 'TDK
MENGULANG' 1 0 '1.000.000-
5.000.000'
8 1 'TDK
MENGULANG' 1 0 '<= 1.000.000'
2/18/2011
32
Bentuk Tree Pada Uji Coba Skenario 3
Uji coba yang dilakukan pada skenario 3 ini adalah berdasarkan pemilihan atribut Nilai, Selisih tahun Prediksi, Angkatan, IPS dan Umur dari mahasiswa pengambil matakuliah.
2/18/2011
A LJABAR L INEAR TAHUN 2007
Node Parent Label Level Type Atribut
1 'NULL' 'NILAI' 0 1 'NULL'
2 1 'UMUR' 1 1 'BC'
3 2 'TDK MENGULANG' 2 0 '18-19'
4 2 'IPS' 2 1 '20-21'
5 4 'TDK MENGULANG' 3 0 '0-2.00'
6 4 'ANGKATAN' 3 1 '2.01-3.0'
7 6 'TDK MENGULANG' 4 0 '2004'
8 6 'SELISIH' 4 1 '2005'
9 6 'MENGULANG' 4 0 '2006'
10 6 'MENGULANG' 4 0 '2007'
11 4 'SELISIH' 3 1 '3.01-4.0'
12 11 'ANGKATAN' 4 1 '2007-2005'
13 11 'TDK MENGULANG' 4 0 '2007-2006'
14 2 'TDK MENGULANG' 2 0 '22-23'
15 2 'MENGULANG' 2 0 '24-25'
16 1 'SELISIH' 1 1 'C'
17 16 'IPS' 2 1 '2007-2005'
18 17 'MENGULANG' 3 0 '0-2.00'
19 17 'UMUR' 3 1 '2.01-3.0'
20 19 'MENGULANG' 4 0 '18-19'
21 19 'ANGKATAN' 4 1 '20-21'
22 19 'ANGKATAN' 4 1 '22-23'
23 19 'MENGULANG' 4 0 '24-25'
24 17 'ANGKATAN' 3 1 '3.01-4.0'
25 24 'UMUR' 4 1 '2004'
26 24 'MENGULANG' 4 0 '2005'
27 24 'MENGULANG' 4 0 '2006'
28 24 'MENGULANG' 4 0 '2007'
29 16 'IPS' 2 1 '2007-2006'
30 29 'TDK MENGULANG' 3 0 '0-2.00'
31 29 'TDK MENGULANG' 3 0 '2.01-3.0'
32 29 'ANGKATAN' 3 1 '3.01-4.0'
33 32 'TDK MENGULANG' 4 0 '2004'
34 32 'UMUR' 4 1 '2005'
35 32 'MENGULANG' 4 0 '2006'
36 32 'MENGULANG' 4 0 '2007'
2/18/2011
34
Bentuk Tree Aljabar linier tahun 2007
2/18/2011
P ENGENALAN P OLA T AHUN 2007
Node Parent Label Level Type Atribut
1 'NULL' 'IPS' 0 1 'NULL'
2 1 'TDK MENGULANG' 1 0 '0-2.00'
3 1 'TDK MENGULANG' 1 0 '2.01-3.0'
4 1 'NILAI' 1 1 '3.01-4.0'
5 4 'TDK MENGULANG' 2 0 'BC'
6 4 'UMUR' 2 1 'C'
7 6 'MENGULANG' 3 0 '18-19'
8 6 'MENGULANG' 3 0 '20-21'
9 6 'ANGKATAN' 3 1 '22-23'
10 9 'MENGULANG' 4 0 '2004'
11 9 'MENGULANG' 4 0 '2005'
12 9 'SELISIH' 4 1 '2006'
13 9 'MENGULANG' 4 0 '2007'
14 6 'TDK MENGULANG' 3 0 '24-25'
2/18/2011
36
Bentuk Tree Pengenalan Pola tahun 2007
2/18/2011
Uji Coba Skenario 1
Ringkasan untuk uji coba sebelum dan setelah tree dipruning berdasarkan pemilihan atribut. Beberapa atribut yang dipilih untuk uji coba yaitu Nilai, Jenis Kelamin, Lahir, IPK, Angkatan dan Semester.
2/18/2011
38 Matakuliah Jumlah
Data
Mengulang Sebenarnya
Prediksi Mengulang
Selisih Error (e)
Aljabar Linear 2007 68 8 4 4 50%
Aljabar Linear 2008 68 9 21 12 133,3%
Pengenalan Pola 2007 26 2 2 0 0%
Pengenalan Pola 2008 26 2 1 1 50%
Rata-rata 58,33%
Uji Coba Skenario 2
Ringkasan untuk uji coba sebelum tree dipruning
berdasarkan pemilihan atribut. Beberapa atribut yang dipilih untuk uji coba yaitu Nilai, Selisih, Hasil, IPS, Angkatan dan Umur sebelum tree dipruning.
2/18/2011
Matakuliah Jumlah
Data
Mengulang Sebenarnya
Prediksi Mengulang
Selisih Error (e)
Aljabar Linear 2007 68 8 7 1 12,5%
Aljabar Linear 2008 30 6 1 5 83,3%
Pengenalan Pola 2007 26 2 1 1 50%
Setelah tree dipruning
2/18/2011
40
Matakuliah Jumlah
Data
Mengulang Sebenarnya
Prediksi Mengulang
Selisih Error (e)
Aljabar Linear 2007 68 8 19 11 137,5%
Aljabar Linear 2008 30 6 2 4 66,6%
Pengenalan Pola 2007 26 2 1 1 50%
Pengenalan Pola 2008 30 2 2 0 0%
Rata-rata 63,5%
Uji Coba Skenario 3
Ringkasan untuk uji coba berdasarkan pemilihan atribut sebelum dan setelah tree dipruning. Beberapa atribut yang dipilih untuk uji coba yaitu Nilai, Selisih, Angkatan, IPS dan Umur. Hasil tree sebelum dipruning.
2/18/2011
Matakuliah Jumlah Data
Mengulang Sebenarnya
Prediksi Mengulang
Selisih Error (e)
Aljabar Linear 2007 68 8 16 8 100%
Aljabar Linear 2008 30 4 10 6 150%
Pengenalan Pola 2007
26 2 2 0 0%
Kesimpulan
Implementasi ini dapat digunakan untuk membangun Decision tree sesuai data training.
Implementasi ini dapat digunakan untuk mengetahui jumlah mahasiswa pengambil matakuliah.
Decision tree yang digunakan menggunakan metode C4.5, namun dalam implementasinya, pembuatan decision tree dilakukan semi-manual karena terdapat missing value.
2/18/2011
42
Uji coba berdasarkan pemilihan atribut nilai, jenis kelamin, lahir, IPK, angkatan dan semester diperoleh nilai error sebelum dan setelah tree di pruning untuk matakuliah Aljabar Linear 2007 adalah 50%, Aljabar Linear 2008 adalah 133,3%, Pengenalan Pola 2007 adalah 0% dan Pengenalan Pola 2008 adalah 50%.
Nilai rata-rata error sebelum dan setelah pruning untuk memprediksi jumlah mahasiswa pengambil matakuliah dengan pemilihan atribut Nilai, Jenis Kelamin, Lahir, IPK,
2/18/2011
Uji coba berdasarkan pemilihan atribut nilai, umur, penghaslan orangtua, selisih tahun prediksi dengan pengambilan, ips, dan angkatan diperoleh nilai error sebelum tree di pruning untuk matakuliah Aljabar Linear 2007 adalah 12,5%, Aljabar Linear 2008 adalah 83,3%, Pengenalan Pola 2007 adalah 50% dan Pengenalan Pola 2008 adalah 100% dan setelah tree di pruning untuk matakuliah Aljabar Linear 2007 adalah 137,5%, Aljabar Linear 2008 adalah 66,6%, Pengenalan Pola 2007 adalah 50% dan Pengenalan Pola 2008 adalah 0%.
Nilai rata-rata error untuk memprediksi jumlah mahasiswa pengambil matakuliah dengan pemilihan atribut nilai, umur, selisih tahun prediksi dengan pengambilan, penghasilan orangtua, ips, dan angkatan sebelum proses tree dipruning sebelum adalah 61,45% dan setelah tree dipruning adalah 63,5% untuk 4 data uji coba yaitu pada matakuliah Aljabar Linear 2007, Aljabar Linear 2008, Pengenalan Pola 2007 dan Pengenalan Pola 2008.
2/18/2011
44
Uji coba berdasarkan pemilihan atribut nilai, umur, selisih tahun prediksi dengan pengambilan, ips, dan angkatan diperoleh nilai error sebelum dan setelah tree di pruning untuk matakuliah Aljabar Linear 2007 adalah 100%, Aljabar Linear 2008 adalah 150%, Pengenalan Pola 2007 adalah 0% dan Pengenalan Pola 2008 adalah 200%.
Nilai rata-rata error untuk memprediksi jumlah mahasiswa pengambil matakuliah dengan pemilihan atribut nilai, umur, selisih tahun prediksi dengan pengambilan, ips, dan angkatan
2/18/2011
Saran
Hendaknya untuk pengembangan lebih lanjut, harap memperhatikan kelengkapan data faktor-faktor yang lain yang lebih baik agar hasil yang didapat semakin baik.
Metode decision tree yang digunakan sebaiknya mampu mengatasi keberadaan missing value.
Melakukan uji coba terbatas pada enam matakuliah saja dengan rentang tahun antara 2007 sampai 2008. Untuk pengembangan lebih lanjut diharapkan dapat melakukan uji coba pada semua matakuliah yang ada, sehingga hasilnya dapat digunakan untuk menentukan prediksi semua matakuliah yang ada
2/18/2011
46
Terima kasih
2/18/2011