• Tidak ada hasil yang ditemukan

PENGGUNAAN METODE DECISION TREE PADA PEMBERIAN BONUS BERDASARKAN KINERJA KARYAWAN

Dalam dokumen Seminar Nasional Informatika SNIf 2013 (1) (Halaman 136-142)

Nita Syahputri

Sistem Informasi, STMIK Potensi Utama Jl.K.L.Yos Sudarso KM 6,5 Tj.Mulia Medan

nieta20d@gmail.com ABSTRAK

Proses pemberian bonus yang ada saat ini diberikan karena kerajinan, keuletan atau prestasi dari karyawan. Letak masalah adalah bagaimana cara menentukan apakah kinerja dari karyawan telah memenuhi standar pemberian bonus tersebut. Pada penelitian ini proses penentuan pemberian bonus akan dilakukan dengan menggunakan metode Decision Tree. Decision Tree merupakan sebuah struktur yang dapat digunakan untuk membagi kumpulan data yang besar menjadi himpunan-himpunan record yang lebih kecil dengan menerapkan serangkaian aturan keputusan, maka akan mudah untuk mendapatkan data dari karyawan yang mendapatkan bonus. Dengan penerapan metode ini proses pengambilan keputusan pemberian bonus karyawan tidak lagi mengalami kesulitan dan hasil dari keputusan adalah benar-benar valid.

Kata kunci : Decision Tree, Bonus, SPK

1. Pendahuluan

Pengambilan keputusan pada dasarnya merupakan kegiatan manusia yang bertugas untuk mengambil keputusan terhadap suatu permasalahan. Seperti dalam perusahaan, manajer perusahaan harus mengetahui tentang seluk-beluk informasi yang diperlukan untuk pengambilan keputusan, agar keputusan tepat dan berimplikasi menguntungkan perusahaan.

Pada sisi yang lain, pengambilan keputusan adalah suatu pendekatan yang sistematis pada hakekat suatu masalah, pengumpulan fakta-fakta, penentuan yang matang dari alternatif-alternatif yang dihadapi, dan pengambilan tindakan yang menurut perhitungan merupakan tindakan yang paling tepat. Pembuat keputusan kerap dihadapkan pada kerumitan dan lingkup pengambilan keputusan dengan data yang begitu banyak. Sebagian besar perusahaan selalu mengalami kesulitan dalam hal membuat keputusan karena mempertimbangkan rasio manfaat/biaya.

Dalam proses kerja, perbedaan gaji itu sudah biasa, walaupun bentuk perbedaan tersebut dialami oleh pekerja atau karyawan yang berada pada posisi setara atau setingkat. Perbedaan tersebut terjadi karena ada beberapa karyawan yang mendapatkan bonus atau tambahan gaji dari pimpinannya. Bonus diberikan bisa karena kerajinan, keuletan, prestasi dari karyawan itu sendiri atau bahkan dari penilaian lainnya oleh perusahaan. Letak masalah adalah bagaimana cara menentukan apakah kinerja dari karyawan tersebut telah memenuhi penilaian tersebut. Dengan kata lain, perusahaan harus benar-benar

telah memperhitungkan apa yang menjadi keputusan atas kinerja karyawannya dalam pemberian bonus.

Decision tree adalah salah satu tool untuk klasifikasi yang sangat populer dalam data mining. Decision tree sangat mudah di pahami dalam hal ide dasarnya dan implementasinya. Tool ini terutama cocok untuk kasus dimana nilai atribut dan output-nya berupa nilai diskrit.

Decision tree merupakan 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 (Budi Santosa; 2007: 71).

2. Metode Penelitian

Dalam penelitian ini penulis menggunakan 2 (dua) metode studi yaitu (i) Studi Lapangan dengan pengamatan langsung terhadap kegiatan yang sedang berjalan dan wawancara mengenai beberapa hal yang terkait dengan materi yang akan diangkat serta mengumpulkan sampel data yang diperlukan seperti data karyawan, absensi dan gaji karyawan (ii) Studi Kepustakaan (Library Research) dengan melakukan studi pustaka untuk memperoleh data-data yang berhubungan dengan penelitian dari berbagai sumber bacaan seperti: buku tentang SPK, internet, dan lain – lain. 3. Persamaan Matematika

(1) Rumus mencari information gain dari

decision tree : (2) (3) (4) Contoh

Berikut adalah contoh studi kasus penerapan metode decision tree :

Kasus

14 Minggu Permainan Tenis pada Setiap Sabtu Pagi

Minggu Ramalan

Cuaca Suhu Kelembaban Angin Bermain Tenis

M1 Cerah Panas Tinggi Lemah Tidak

M2 Cerah Panas Tinggi Kuat Tidak

M3 Mendung Panas Tinggi Lemah Ya

M4 Hujan Sejuk Tinggi Lemah Ya

M5 Hujan Dingin Normal Lemah Ya

M6 Hujan Dingin Normal Kuat Tidak

M7 Mendung Dingin Normal Kuat Ya

M8 Cerah Sejuk Tinggi Lemah Tidak

M9 Cerah Dingin Normal Lemah Ya

M10 Hujan Sejuk Normal Lemah Ya

M11 Cerah Sejuk Normal Kuat Ya

M12 Mendung Sejuk Tinggi Kuat Ya

M13 Mendung Panas Normal Lemah Ya

M14 Hujan Sejuk Tinggi Kuat Tidak

Atribut Tujuan adalah Bermain Tenis yang memiliki value ya atau tidak.

Atribut adalah Ramalan_Cuaca, Suhu, Kelembaban, dan Angin

Algoritma Dan Flowchart

Entropy adalah formula untuk menghitung homogenitas dari sebuah sample/contoh. Solusi menggunakan entropy dari contoh kasus di atas :

S adalah koleksi dari 14 contoh dengan 9 contoh positif dan 5 contoh negatif, ditulis dengan notasi [9+,5-].

Positif di sini maksudnya value Bermain_Tenis = Ya sedangkan negatif sebaliknya. Entropy dari S adalah :

Entropy(S) =

c

i 1 - pi log2pipi =

N

Zi

Zi = contoh positif + contoh negatif

N = jumlah data Entropy ([9+,5-]) = - (9/14) log2 (9/14) - (5/14) log2 (5/14) = - (0.6429) ((log (9/14))/log 2) - (0.3571) ((log (5/14))/log 2) = - (0.6429) (-0.1919/0.3010) - (0.3571) (-0.4472/0.3010) = - (0.6429) (-0.6375) - (0.3571) (- 1.4857) = 0.4098 + 0.5305 = 0.94029 Catatan :

a. Entropy(S) = 0, jika semua contoh pada S berada dalam kelas yang sama.

b. Entropy(S) = 1, jika jumlah contoh positif dan jumlah contoh negatif dalam S adalah sama.

c. 0 < Entropy(S) < 1, jika jumlah contoh positif dan jumlah contoh negatif dalam S tidak sama.

Gain(S,A) adalah Information Gain dari sebuah atribut A pada koleksi contoh S :

Gain(S,A) = Entropy(S) -

 ( )

|

|

|

|

A Values v

S

Sv

Entropy(Sv)

1. Values(Angin) = Lemah, Kuat SLemah = [6+,2-]

SKuat = [3+,3-]

Gain(S,Angin)

= Entropy(S) - (8/14)Entropy (SLemah)

- (6/14)Entropy(SKuat)

= 0.94029 - (8/14)0.81128 –(6/14)1.0000 = 0.04813

2. Values(Kelembaban) = Tinggi, Normal

STinggi = [3+,4-]

SNormal = [6+,1-]

Gain (S,Kelembaban)

= Entropy(S) - (7/14) Entropy (STinggi) -

(7/14)Entropy(SNormal)

= 0.94029 - (7/14)0.98523 - (7/14)0.59167

= 0.15184

3. Values(Suhu) = Panas, Sejuk, Dingin SPanas = [2+,2-]

SSejuk = [4+,2-]

Gain(S,Suhu)

= Entropy(S) - (4/14)Entropy(SPanas) –

(6/14)Entropy(SSejuk)(4/14)Entropy(SDingin)

= 0.94029 - (4/14)1.00000 - (6/14)0.91830 - (4/14)0.81128

= 0.02922

4. Values(Ramalan_Cuaca) = Cerah, Mendung, Hujan

SCerah = [2+,3-]

SMendung = [4+,0-]

SHujan = [3+,2-]

Gain(S,Ramalan_Cuaca)

= Entropy(S) - (5/14)Entropy(SCerah) –

(4/14)Entropy(SMendung) - (5/14)Entropy(SHujan)

= 0.94029 - (5/14)0.97075 - (4/14)1.00000 - (5/14)0.97075

= 0.24675

Jadi, information gain untuk 3 atribut yang ada adalah :

Gain(S,Angin) = 0.04813 Gain(S,Kelembaban) = 0.15184 Gain(S,Suhu) = 0.02922

Gain(S,Ramalan_Cuaca) = 0.24675 Tampak bahwa attribute Ramalan_Cuaca

akan menyediakan prediksi terbaik untuk target attribute Bermain_Tenis.

Untuk node cabang Ramalan_Cuaca = Cerah,

SCerah = [M1, M2, M8, M9, M11] Mingg u Ramalan Cuaca Suhu Kelembab an Angin Bermain Tenis M1 Cerah Panas Tinggi Lema

h Tidak M2 Cerah Panas Tinggi Kuat Tidak M8 Cerah Sejuk Tinggi Lema

h Tidak M9 Cerah Dingi

n Normal Lemah Ya M11 Cerah Sejuk Normal Kuat Ya 1. Values(Suhu) = Panas, Sejuk, Dingin

SPanas = [0+,2-]

SSejuk = [1+,1-]

SDingin = [1+,0-]

Gain(SCerah,Suhu)

= Entropy(SCerah) - (2/5)Entropy(SPanas) –

(2/5)Entropy(SSejuk) - (1/5)Entropy(SDingin)

= 0.97075 - (2/5)0.00000 - (2/5)1.00000 - (1/5)0.00000

= 0.57075

2. Values(Kelembaban) = Tinggi, Normal

STinggi = [0+,3-]

SNormal = [2+,0-]

Gain(SCerah,Kelembaban)

= Entropy(SCerah) - (3/5)Entropy(STinggi) –

(2/5)Entropy(SNormal)

= 0.97075 - (3/5)0.00000 - (2/5)0.00000 = 0.97075

3. Values(Angin) = Lemah, Kuat

SLemah = [1+,2-]

SKuat = [1+,1-]

Gain(SCerah,Angin)

= Entropy(SCerah) - (3/5)Entropy(SLemah) –

(2/5)Entropy(SKuat)

= 0.97075 - (3/5)0.91830 - (2/5)1.00000 = 0.01997

Atribut Kelembaban menyediakan prediksi terbaik pada level ini.

Untuk node cabang Ramalan_Cuaca = Hujan,

SHujan = [M4, M5, M6, M10, M14] Mingg u Ramalan Cuaca Suhu Kelembab an Angin Bermain Tenis M4 Hujan Sejuk Tinggi Lema

h Ya

M5 Hujan Dingi

n Normal Lemah Ya M6 Hujan Dingi

n

Normal Kuat Tidak M10 Hujan Sejuk Normal Lema

h Ya

M14 Hujan Sejuk Tinggi Kuat Tidak 1. Values(Suhu) = Sejuk, Dingin (Tidak ada suhu

= panas saat ini)

SSejuk = [2+,1-]

SDingin = [1+,1-]

Gain(SHujan,Suhu)

= Entropy(SHujan) - (3/5)Entropy(SSejuk) –

(2/5)Entropy(SDingin)

= 0.97075 - (3/5)0.91830 - (2/5)1.00000 = 0.01997

2. Values(Kelembaban) = Tinggi, Normal

STinggi = [1+,1-]

SNormal = [2+,1-]

Gain(SHujan,Kelembaban)

= Entropy(SHujan) - (2/5)Entropy(STinggi) –

(3/5)Entropy(SNormal)

= 0.97075 - (2/5)1.00000 - (3/5)0.91830 = 0.01997

3. Values(Angin) = Lemah, Kuat

SLemah = [3+,0-]

SKuat = [0+,2-]

Gain(SHujan,Angin)

= Entropy(SHujan) - (3/5)Entropy(SLemah) –

= 0.97075 - (3/5)0.00000 - (2/5)0.00000 = 0.97075

Atribut Angin menyediakan prediksi terbaik pada level ini.

Algoritma :

If Ramalan_Cuaca = Cerah AND Kelembaban = Tinggi THEN Bermain_Tenis = Tidak If Ramalan_Cuaca = Cerah AND Kelembaban

= Normal THEN Bermain_Tenis = Ya If Ramalan_Cuaca = Mendung

THEN Bermain_Tenis = Ya

If Ramalan_Cuaca = Hujan AND Angin = Kuat THEN Bermain_Tenis = Tidak

If Ramalan_Cuaca = Hujan AND Angin = Lemah THEN Bermain_Tenis = Ya

4. Keterangan Tabel Tabel 1. Data Pegawai

Tabel 2. Aturan

Tabel 3. Data Training

Tabel 4. Data Testing

5. Hasil dan Pembahasan

Dalam penelitian ini penulis menggunakan bahasa pemrograman Java dan SQL Server

sebagai databasenya. Perintah-perintah yang ada

pada program yang penulis buat juga cukup mudah untuk dipahami karena user/pengguna hanya perlu mengklik tombol-tombol yang sudah tersedia sesuai kebutuhan. Dengan ini dapat menjadi tujuan untuk meningkatkan efektivitas kerja dan bisa lebih memaksimalkan sumber daya yang terkait dengan pnentuan pemberian bonus karyawan.

5.1 Konsep Pengujian Sistem

Pengujian sistem adalah sederetan pengujian yang berbeda yang tujuan utamanya adalah sepenuhnya menggunakan sistem berbasis komputer, salah satu konsep pengujian sistem adalah debugging, debugging terjadi sebagai akibat dari pengujian yang berhasil. Jika test case

mengungkap kesalahan, maka debugging adalah proses yang menghasilkan penghilangan kesalahan. Meskipun debugging dapat dan harus merupakan suatu proses yang berurutan. Perekayasa perangkat lunak yang mengevaluasi hasil suatu pengujian sering dihadapkan pada

indikasi “simtomatis” dari suatu masalah

perangkat lunak, yaitu bahwa manifestasi eksternal dari kesalahan dan penyebab internal kesalahan dapat tidak hubungan yang jelas satu dengan yang lainnya. Proses mental yang dipahami secara buruk yang menghubungkan sebuah simpton dengan suatu penyebab disebut

debugging.

Debugging tetap merupakan suatu seni.

Debugging bukan merupakan pengujian, tetapi selalu terjadi sebagai bagian akibat dari pengujian. Proses debugging dimulai dengan eksekusi

terhadap suatu test case. Hasilnya dinilai dan ditemukan kurangnya hubungan antar harapan dan yang sesungguhnya. Dalam banyak kasus data yang tidak berkaitan merupakan gejala dari suatu penyebab pokok tetapi masih tersembunyi sehingga ada koreksi kesalahan.

5.2 Algoritma Logika Pembentukan Pohon keputusan

Algoritma Decition Tree (ID3) :

1. Tentukan kelas target → A

2. Hitung total entropy untuk masing-masing proporsi negatif dan positif

3. Hitung entropy dan information gain masing- masing atribut

4. Pilih atribut dengan information gain tertinggi sebagai node akar

Untuk setiap atribut value pada node akar : 4.1. Jika label kelas positif ≠ 0 dan kelas negatif

= 0. Buat node daun dengan label ” ya ”

4.2. Jika label kelas positif = 0 dan kelas negatif

4.3. Jika label positif dan negatif ≠ 0, ulangi

langkah 3 dengan kondisi berdasarkan node parent.

Dalam aplikasi yang penulis rancang, informasi gain atribut yang dihasilkan adalah sebagai berikut :

Information Gain Atribut: Gain(S, Keuntungan) = 0.36885834 Gain(S, Jabatan) = 0.058871806 Gain(S, Presensi) = 0.3149798

Perhitungan Node :

<akar gain = "0.36885834" kelas =

"Tidak:12,Ya:8" entropy = "0.97095054" induk = "Keuntungan">IF Keuntungan =

<cabang gain = "0.86312056" kelas = "Tidak:2,Ya:5" entropy = "0.86312056" induk = "Presensi" Keuntungan = "Naik">'Naik' AND Presensi =

<daun kelas = "Ya:3" entropy = "0.0" Presensi = "Sangat Rajin">'Sangat Rajin' THEN 'Ya'</daun>

<daun kelas = "Ya:2" entropy = "0.0" Presensi = "Rajin">'Rajin' THEN 'Ya'</daun>

<daun kelas = "Tidak:2" entropy = "0.0" Presensi = "Kurang Rajin">'Kurang Rajin' THEN 'Tidak'</daun>

</cabang>

<cabang gain = "1.0" kelas =

"Tidak:3,Ya:3" entropy = "1.0" induk = "Presensi" Keuntungan = "Normal">'Normal' AND Presensi =

<daun kelas = "Ya:3" entropy = "0.0" Presensi = "Sangat Rajin">'Sangat Rajin' THEN 'Ya'</daun>

<daun kelas = "Tidak:1" entropy = "0.0" Presensi = "Rajin">'Rajin' THEN 'Tidak'</daun> <daun kelas = "Tidak:2" entropy = "0.0" Presensi = "Kurang Rajin">'Kurang Rajin' THEN 'Tidak'</daun>

</cabang>

<daun kelas = "Tidak:7" entropy = "0.0" Keuntungan = "Turun">'Turun' THEN

'Tidak'</daun> </akar>

Decition Tree IF Keuntungan =

'Naik' AND Presensi =  'Sangat Rajin' THEN 'Ya'  'Rajin' THEN 'Ya'

 'Kurang Rajin' THEN 'Tidak' 'Normal' AND Presensi =  'Sangat Rajin' THEN 'Ya'  'Rajin' THEN 'Tidak'  'Kurang Rajin' THEN 'Tidak' 'Turun' THEN 'Tidak'

Rule (Aturan)

[IF Keuntungan = 'Naik' AND Presensi = 'Rajin' THEN 'Ya']

[IF Keuntungan = 'Normal' AND Presensi = 'Rajin' THEN 'Tidak']

[IF Keuntungan = 'Turun' THEN 'Tidak']

Presensi

?

SR

Membentuk Node Cabang dari Presensi = SR a. Keuntungan Naik |+, 3| |-, 0| = -3/3 log2 (3/3) + 0/3 log2 (0/3) = 0 Keuntungan Normal |+, 3| |-, 0| = -3/3 log2 (1/3) + 0/3 log2 (0/3) = 0 Keuntungan Turun |+, 1| |-, 2| = -1/3 log2 (1/3) + -2/3 log2 (2/3) = 0.9183 Gain (T,K) = 0.9911 – (3/27 * 0) – (3/27 * 0) – (3/27 * 0.9183) = 0.8890 b. Jabatan Tinggi |+, 3| |-, 0| = -3/3 log2 (3/3) + 0/3 log2 (0/3) = 0 Jabatan Biasa |+, 2| |-, 1| = -2/3 log2 (2/3) + 1/3 log2 (1/3) = 0.9183 Jabatan Rendah |+, 3| |-, 0| = -2/3 log2 (2/3) + 1/3 log2 (1/3) = 0.9183 Gain (T,J) = 0.9911 – (3/27 * 0) – (3/27 * 0.9183) – (3/27 * 9183) = 0.7870

Pohon Keputusan Presensi Keuntungan Jabatan Keuntungan Ya Ya Ya Jabatan Jabatan Tidak Tidak Ya Ya Ya Tidak Tidak Keuntungan Sangat Rajin Rajin Kurang Rajin Naik Normal Turun Tinggi Biasa Rendah Naik Normal Turun Tinggi Tinggi Biasa Rendah Ya Tidak Tidak Naik Normal Turun Daftar Pustaka:

[1] Kadir, Abdul, 2006. Dasar Aplikasi Database SQL Server. Yogyakarta, Penerbit Andi.

[2] Kusrini. 2007. ”Konsep dan Aplikasi Sistem Pendukung Keputusan”. Yogyakarta : Andi. [3] Munawar, 2005. Pemodelan Visual Dengan

UML. Graha Ilmu, Jakarta

[4] Oetomo, Budi Sutedjo Dharma, 2006.

Perancangan dan Pengembangan Sistem Informasi. Andi Yogyakarta, Yogyakarta. [5] Shalahudin, M, 2010. Pemrograman Java.

Penerbit Informatika, Bandung.

[6] Sutabri, Tata, 2005. Analisis Sistem Informasi. Penerbit Andi, Yogyakarta [7] Cezary Z. Janikow, 1996. Fuzzy Decision

Trees: Issues and Methods. University St. Louis.

[8] Olaru C, Louis W, 2003. A complete fuzzy decision tree technique. Montefiore Institute.

Dalam dokumen Seminar Nasional Informatika SNIf 2013 (1) (Halaman 136-142)

Garis besar

Dokumen terkait