5
Contoh implementasi Data Mining dengan Algoritma
C4.5 menggunakan PHP dan MySQL untuk analisis
prediksi masa studi mahasiswa .
Dalam artikel ini akan ditunjukkan penerapan algoritma C4.5 dengan tehnik klasifikasi yang merupakan
salah satu tehnik Data Mining untuk menganalisa prediksi masa studi mahasiswa. Akan ditunjukkan juga
langkah-langkah pembuatan aplikasinya dengan bahasa pemrograman PHP dan database MySQL.
minerva (http://cahyadsn.phpindonesia.id)
donasi (https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=K6YRM43CZ44UQ)
Pendahuluan
Aplikasi PHP
Persiapan Data
Koneksi ke Database Server
Langkah-langkah Algoritma C4.5
Simpulan
Daftar Pustaka
1. Pendahuluan
Algoritma C4.5 merupakan kelompok algoritma Decision Tree. Algoritma ini mempunyai input berupa training
samples dan samples. Training samples berupa data contoh yang akan digunakan untuk membangun
sebuah tree yang telah diuji kebenarannya. Sedangkan samples merupakan field-field data yang nantinya
akan digunakan sebagai parameter dalam melakukan klasifikasi data ( Sunjana, 2010 )
Algoritma C 4.5 adalah salah satu metode untuk membuat decision tree berdasarkan training data yang telah disediakan.
Algoritma C 4.5 dibuat oleh Ross Quinlan yang merupakan pengembangan dari ID3 yang juga dibuat oleh Quinlan
( Quinlan, 1993 ). Beberapa pengembangan yang dilakukan pada C4.5 antara lain adalah : bisa mengatasi missing value,
bisa mengatasi continue data, dan pruning.
1.1. Klasifikasi
Klasifikasi data merupakan suatu proses yang menemukan properti-properti yang sama pada sebuah himpunan obyek di
dalam sebuah basis data dan mengklasifikasikannya ke dalam kelas-kelas yang berbeda menurut model klasifikasi yang
ditetapkan. Tujuan dari klasifikasi adalah untuk menemukan model dari training set yang membedakan atribut ke dalam
kategori atau kelas yang sesuai, model tersebut kemudian digunakan untuk mengklasifikasikan atribut yang kelasnya belum
diketahui sebelumnya. Teknik klasifikasi terbagi menjadi beberapa teknik yang diantaranya adalah Pohon Keputusan
(Decision Tree).
Karena pohon keputusan memadukan antara eksplorasi data dan pemodelan, pohon keputusan sangat bagus sebagai
langkah awal dalam proses pemodelan bahkan ketika dijadikan sebagai model akhir dari beberapa teknik lain. Sebuah
pohon keputusan adalah sebuah struktur yang dapat digunakan untuk membagi kumpulan data yang besar menjadi
himpunan-himpunan record yang lebih kecil dengan menerapkan serangkaian aturan keputusan. Dengan masing-masing
rangkaian pembagian, anggota himpunan hasil menjadi mirip satu dengan yang lain ( Berry dan Linoff, 2004 ).
Sebuah model pohon keputusan terdiri dari sekumpulan aturan untuk membagi sejumlah populasi yang heterogen menjadi
lebih kecil, lebih homogen dengan memperhatikan pada variabel tujuannya. Sebuah pohon keputusan mungkin dibangun
dengan seksama secara manual atau dapat tumbuh secara otomatis dengan menerapkan salah satu atau beberapa
algoritma pohon keputusan untuk memodelkan himpunan data yang belum terklasifikasi.
Variabel tujuan biasanya dikelompokkan dengan pasti dan model pohon keputusan lebih mengarah pada perhitungan
probability dari tiap-tiap record terhadap kategori-kategori tersebut atau untuk mengklasifikasi record dengan
mengelompokkannya dalam satu kelas. Pohon keputusan juga dapat digunakan untuk mengestimasi nilai dari variabel
continue meskipun ada beberapa teknik yang lebih sesuai untuk kasus ini.
Banyak algoritma yang dapat dipakai dalam pembentukan pohon keputusan,antara lain ID3, CART, dan C4.5
( Larose, 2006 ).
Data dalam pohon keputusan biasanya dinyatakan dalam bentuk tabel dengan atribut dan record. Atribut menyatakan suatu
parameter yang dibuat sebagai kriteria dalam pembentukan pohon. Misalkan untuk menentukan main tenis, kriteria yang
diperhatikan adalah cuaca, angin, dan temperatur.
Salah satu atribut merupakan atribut yang menyatakan data solusi per item data yang disebut target atribut. Atribut memiliki
nilai-nilai yang dinamakan dengan instance. Misalkan atribut cuaca mempunyai instance berupa cerah, berawan, dan hujan
( Basuki dan Syarif, 2003 )
Proses pada pohon keputusan adalah mengubah bentuk data (tabel) menjadi model pohon, mengubah model pohon menjadi
rule, dan menyederhanakan rule ( Basuki dan Syarif, 2003 ).
Mengubah tree yang dihasilkan dalam beberapa rule. Jumlah rule sama dengan jumlah path yang mungkin dapat dibangun
dari root sampai leaf node.
Secara umum algoritma C4.5 untuk membangun pohon keputusan adalah sebagai berikut ( Craw 2005 ).
:
a. Pilih atribut sebagai akar
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.
1.3.1 Gain
Untuk memilih atribut sebagai akar, didasarkan pada nilai gain tertinggi dari atribut-atribut yang ada. Untuk menghitung gain
digunakan rumus seperti tertera dalam persamaan [C45-01] ( Quinlan 1993, Craw 2005 ).
n ∣Si ∣
Gain(S, A) = Entropy(S) − ∑ ∗ Entropy(Si )
i=1 ∣S∣
.. [C45-01]
Keterangan
S : Himpunan Kasus
A : Atribut
n : Jumlah partisi atribut A
|Si| : Jumlah Kasus pada partisi ke-i
|S| : Jumlah Kasus dalam S
1.3.2. Entropy
Sedangkan penhitungan nilai entropy dapat dilihat pada persamaan [C45-02] berikut ini ( Quinlan 1993, Craw 2005 ).
n
Entropy(S) = ∑ (−pi ) ∗ log2 (pi )
i=1
.. [C45-02]
Keterangan
S : Himpunan Kasus
n : Jumlah partisi atribut S
pi : Proporsi dari Si terhadap S
1. Pembuatan pohon keputusan. Tujuan dari algoritma penginduksi pohon keputusan adalah mengkontruksi struktur
data pohon yang dapat digunakan untuk memprediksi kelas dari sebuah kasus atau record baru yang belum memiliki
kelas. C4.5 melakukan konstruksi pohon keputusan dengan metode divide and conquer. Pada awalnya hanya dibuat
node akar dengan menerapkan algoritma divide and conquer. Algoritma ini memilih pemecahan kasus-kasus yang
terbaik dengan menghitung dan membandingkan gain ratio, kemudian node-node yang terbentuk di level berikutnya,
algoritma divide and conquer akan diterapkan lagi sampai terbentuk daun-daun.
2. Pembuatan aturan-aturan (rule set). Aturan-aturan yang terbentuk dari pohon keputusan akan membentuk suatu
kondisi dalam bentuk if-then. Aturan-aturan ini didapat dengan cara menelusuri pohon keputusan dari akar sampai
daun. Setiap node dan syarat percabangan akan membentuk suatu kondisi atau suatu if, sedangkan untuk nilai-nilai
yang terdapat pada daun akan membentuk suatu hasil atau suatu then.
2. Studi Kasus dan Perhitungan Manual
Untuk membantu pemahaman terhadap algoritma C4.5 dalam tehnik klasifikasi masalah, berikut disertakan
contoh perhitungan manual analisis prediksi masa studi mahasiswa dengan menggunakan algortima C4.5.
This document using Dynamic Content Technology ™ for enrichment sample case and reading experience
Data yang digunakan BUKAN merupakan data real, tapi data yang digenerate secara otomatis dari sistem
Data dan Nilai Perhitungan yang ditampilkan akan SELALU BERBEDA jika halaman di refresh/reload
Jumlah Dataset yang diperhitungkan, digenerate secara acak/random antara 100 s.d 400
Nilai dari masing-masing dataset ditampilkan secara acak/random
Seiring dengan berkembangnya teknologi penyimpanan data, semakin berkembang pula kemampuan seseorang dalam
mengumpulkan dan mengolah data. Data yang terkumpul dan berukuran besar tersebut merupakan aset yang dapat
dimanfaatkan untuk dianalisis yang hasilnya berupa pengetahuan atau informasi berharga untuk masa mendatang. Tidak
hanya dunia bisnis, namun instansi seperti perguruan tinggi juga mengalami penumpukan data.
Jurusan Teknik Komputer Universitas Antah Berantah adalah program pendidikan tinggi yang memiliki beban studi sekurang-
kurangnya 144 SKS (satuan kredit semester) yang dijadwalkan untuk 8 semester dan dapat ditempuh dalam waktu kurang
dari 8 semester dan paling lama 14 semester. Dari data kelulusan yang diperoleh dari sekretariat Jurusan Teknik Komputer
Program Sarjana (S1) angkatan 2020 hanya 3 orang mahasiswa yang lulus dalam 8 semester. Hal ini menunjukkan bahwa
masih banyak mahasiswa Program Sarjana (S1) reguler di Jurusan Teknik Komputer yang menempuh lama studi lebih dari 8
semester.
Melihat kondisi tersebut diperlukan penelitian untuk menggali data yang dimiliki oleh Jurusan Teknik Komputer. Data yang
akan dimanfaatkan disini adalah data nilai akademik mahasiswa baik yang sudah lulus (yang akan digunakan sebagai data
training dan data testing) maupun yang belum lulus/yang sedang menempuh studi yang akan digunakan untuk memprediksi
masa studi masing-masing mahasiswa. Penelitian ini dirasa perlu karena jika masa studi mahasiswa dapat diketahui lebih
dini, maka pihak jurusan dapat melakukan tindakan-tindakan yang dirasa perlu supaya mahasiswa dapat lulus tepat waktu
sekaligus meningkatkan kualitas jurusan itu sendiri.
Dibutuhkan suatu teknik klasifikasi yang merupakan salah satu teknik dari data mining untuk menganalisis data Jurusan
Teknik Komputer tersebut. Dengan menerapkan teknik ini akan dibangun pohon keputusan (decicion tree) untuk melihat
kemungkinan mahasiswa yang lulus lebih dari 8 semester. Pohon keputusan tersebut merupakan keluaran dari sebuah
aplikasi yang dibangun dengan menerapkan Algoritma C4.5 untuk memprediksi masa studi mahasiswa yang sedang
menempuh perkuliahan.
1 Perempuan >= 22th Dalam kota 2.76 s.d. 3.50 Mendapat beasiswa > 8 smtr
2 Perempuan < 22th Luar kota 2.76 s.d. 3.50 Mendapat beasiswa > 8 smtr
3 Laki-laki < 22th Dalam kota 2.00 s.d. 2.75 Mendapat beasiswa > 8 smtr
4 Perempuan >= 22th Luar kota 3.51 s.d. 4.00 Mendapat beasiswa <= 8 smtr
5 Perempuan < 22th Dalam kota 3.51 s.d. 4.00 Mendapat beasiswa > 8 smtr
6 Perempuan >= 22th Dalam kota 2.76 s.d. 3.50 Tidak mendapat beasiswa <= 8 smtr
7 Laki-laki < 22th Luar kota 2.76 s.d. 3.50 Mendapat beasiswa > 8 smtr
8 Laki-laki >= 22th Dalam kota 2.00 s.d. 2.75 Tidak mendapat beasiswa > 8 smtr
9 Perempuan < 22th Luar kota 2.00 s.d. 2.75 Tidak mendapat beasiswa > 8 smtr
10 Laki-laki >= 22th Luar kota 2.76 s.d. 3.50 Tidak mendapat beasiswa > 8 smtr
11 Perempuan < 22th Luar kota 2.00 s.d. 2.75 Tidak mendapat beasiswa > 8 smtr
12 Laki-laki >= 22th Dalam kota 2.76 s.d. 3.50 Tidak mendapat beasiswa > 8 smtr
13 Laki-laki >= 22th Dalam kota 2.76 s.d. 3.50 Tidak mendapat beasiswa > 8 smtr
14 Perempuan >= 22th Dalam kota 2.76 s.d. 3.50 Tidak mendapat beasiswa > 8 smtr
15 Perempuan >= 22th Luar kota 2.00 s.d. 2.75 Tidak mendapat beasiswa > 8 smtr
...
218 Laki-laki >= 22th Luar kota 3.51 s.d. 4.00 Mendapat beasiswa <= 8 smtr
219 Perempuan >= 22th Dalam kota 2.00 s.d. 2.75 Tidak mendapat beasiswa <= 8 smtr
220 Perempuan < 22th Dalam kota 3.51 s.d. 4.00 Mendapat beasiswa > 8 smtr
)* yang ditampilkan hanya beberapa data saja mengingat banyaknya data yang dipakai dan tidak memungkinkan untuk
ditampilkan semuanya. Data selengkapnya dapat diunduh di tautan pada bagian akhir artikel ini ( -- on progress-- )
Data Summary Learning Dataset pada TABEL 2 tersebut untuk selanjutnya akan diproses untuk mendapatkan suatu pohon
keputusan -- decision tree, yang akan diuraikan dibagian berikut ini.
Pada TABEL 1, atribut-atributnya adalah Jenis kelamin, Usia, Domisili, IPK, dan Beasiswa. Setiap atribut memiliki nilai.
Sedangkan kelasnya ada pada kolom Waktu Studi yaitu kelas "<= 8 smtr" dan kelas "> 8 smtr". Kemudian data tersebut
dianalisis; dataset tersebut memiliki 220 kasus yang terdiri dari 69 "<= 8 smtr" dan 151 "> 8 smtr" pada kolom Waktu Studi
(Lihat TABEL 2 baris pertama).
= 0.25831138245524 + 0.36366796309592
= 0.62197934555116
Hasil perhitungan Entropy dari Dataset (S) tersebut dapat disajikan dalam tabel sebagai berikut (TABEL 3) :
TABEL 4 : Analisis Atribut, Nilai, Banyaknya Kejadian Nilai, Entropy dan Gain
Jumlah
<= 8 >8
Node Atribut Nilai Total smtr smtr Entropy Gain
Nilai entropy dari masing-masing nilai atribut yang terdapat pada TABEL 4 diperoleh menggunakan persamaan C45-02,
sebagai contoh untuk nilai Luar kota dari atribut Domisili perhitungan entropy-nya sebagai berikut :
3. Aplikasi PHP
Sebagai pelengkap artikel data mining dengan Algoritma C4.5 pada bagian ini akan dibahas langkah-
langkah dalam implementasinya dengan bahasa pemrograman PHP dan database MySQL/MariaDB.
3.1. Persiapan Data
Sebelum melangkah ke pembuatan aplikasinya, dipersiapkan dulu untuk struktur database dan tabel-tabel yang berkaitan
dengan aplikasi yang akan dibuat berikut ini
USE db_dm;
Awalnya membuat dulu database dengan nama db_dm jika belum ada database dengan nama tersebut, kemudian gunakan
database tersebut dengan memakai sintak USE db_dm;
name VARCHAR(50),
);
name VARCHAR(50)
);
name VARCHAR(50)
);
);
);
<?php
//-- konfigurasi database
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'db_dm';
//-- koneksi ke database server dengan extension mysqli
$db = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
//-- hentikan program dan tampilkan pesan kesalahan jika koneksi gagal
if ($db->connect_error) {
die('Connect Error ('.$db->connect_errno.')'.$db->connect_error);
?>
//-- fungsi Entropy
function entropy($S){
$entropy=0;
foreach($S as $s){
$p= $s/array_sum($S);
$entropy+=(-$p)*log($p);
}
return $entropy;
//-- fungsi Gain
function gain($S,$Si){
$gain=entropy($S);
foreach($Si as $si){
$gain-=($si/array_sum($Si))*entropy($Si);
}
return $gain;
?>
4. Simpulan
5. Daftar Pustaka
Basuki A dan Syarif I, 2003. Decision Tree. Politeknik Elektronika Negeri Surabaya (PENS) – ITS
Berry, Michael J.A & Linoff, Gordon S. 2004. Data Mining Techniques For Marketing, Sales, Customer
Relationship Management Second Editon. United States of America: Wiley Publishing, Inc.
Craw, S., 2005. Case based reasoning: Lecture 3: CBR Case-Base Indexing.
Han, J., & Kamber, M., 2006. Data mining Concepts and Techniques. San Fransisco: Morgan Kaufmann.
Kusrini, & Lutfhi, E. T., 2009. Algoritma Data Mining. Yogyakarta: Andi.
Larose, T. D, 2005. An Introduction to Data Mining. Wiley~Interscience: New Jersey.
Larose D, T., 2006, Data Mining Methods and Models, Jhon Wiley & Sons, Inc. Hoboken New Jersey
Quinlan, J. R., 1993 C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers.
Santosa, B., 2007. Data mining (Teknik Pemanfaatan Data untuk Keperluan Bisnis). Surabaya: Graha Ilmu.
Santosa, B., 2007. Data mining Terapan. Surabaya: Graha Ilmu.
Sunjana, 2010. Seminar Nasional Aplikasi Teknologi Informasi 2010. Snati 2010. Aplikasi Mining Data Mahasiswa
Dengan Metode Klasifikasi Decision Tree , 24-29.
Tan, P. N., Steinbach, M., & Kumar, V., 2005. DATA MINING. New York: Addison Wesley.
6. Artikel Terkait
DSS SAW Method (saw.php)
DSS AHP Method (ahp.php)
DSS ELECTRE Method (electre.php)
DSS MFEP Method (mfep.php)
DSS MPE Method (mpe.php)
DSS CPI Method (cpi.php)
DSS MOORA Method (moora.php)
DSS SMART Method (smart.php)
DSS TOPSIS Method (topsis.php)
DSS Profile Matching Method (profile_matching.php)
DSS VIKOR Method (vikor.php)
DSS WP Method (wp.php)
DSS PROMETHEE Method (promethee.php)
DSS ANP Method (anp.php)
Code licensed under Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0), documentation under CC BY 3.0
(http://creativecommons.org/licenses/by/3.0/).